diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 55d3a879a3..809e023f1d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -12,10 +12,10 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - name: Preparar Python v3.8 + - name: Preparar Python v3.9 uses: actions/setup-python@v2 with: - python-version: 3.8 + python-version: 3.9 - name: Sincronizar con CPython run: | git submodule sync diff --git a/.gitignore b/.gitignore index b172142530..9f5d8655de 100644 --- a/.gitignore +++ b/.gitignore @@ -14,6 +14,11 @@ Doc/upgrade-python-version.rst locales/ dict.txt +# Translations of our own files +coc.po +faq.po +progress.po + # Byte-compiled / optimized / DLL files __pycache__/ *.py[cod] diff --git a/.overrides/CONTRIBUTING.rst b/.overrides/CONTRIBUTING.rst index 2de4855091..a5933317d3 100644 --- a/.overrides/CONTRIBUTING.rst +++ b/.overrides/CONTRIBUTING.rst @@ -64,11 +64,11 @@ Antes de comenzar #. Selecciona un :ref:`archivo para traducir `. -#. Verifica que estás en la rama principal del repositorio, **3.8** (esto es muy - importante para evitar crear una nueva rama a partir de una traducción +#. Verifica que estás en la rama principal del repositorio, **3.9** (esto es muy + importante para evitar crear una nueva rama a partir de una traducción anterior):: - git checkout 3.8 + git checkout 3.9 #. Crea una rama nueva en base al artículo en el que vayas a trabajar. Por ejemplo, si vas a trabajar en el archivo ``library/glosario.po``, usa un nombre diff --git a/.overrides/faq.rst b/.overrides/faq.rst index 78bb6e8acc..d8e0b13621 100644 --- a/.overrides/faq.rst +++ b/.overrides/faq.rst @@ -205,9 +205,9 @@ repositorio principal de la traducción). Se hace de la siguiente manera:: Luego nos vamos a nuestra rama local, confirmamos e impactamos esos cambios:: - git checkout 3.8 - git merge upstream/3.8 - git push origin 3.8 + git checkout 3.9 + git merge upstream/3.9 + git push origin 3.9 ¡Eso es todo! diff --git a/.overrides/progress.rst b/.overrides/progress.rst index d4c84f8b0e..3acc8f529d 100644 --- a/.overrides/progress.rst +++ b/.overrides/progress.rst @@ -10,7 +10,7 @@ y otras estadísticas. .. note:: - Estas listas se actualiza automáticamente cuando Pull Requests se *mergean* a la rama ``3.8``. + Estas listas se actualiza automáticamente cuando Pull Requests se *mergean* a la rama ``3.9``. En progreso diff --git a/.readthedocs.yml b/.readthedocs.yml index 00eeaeb0f7..1793929124 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -10,11 +10,11 @@ sphinx: configuration: conf.py build: - image: latest + image: testing # Optionally set the version of Python and requirements required to build your docs python: - version: 3.8 + version: 3.9 install: - requirements: requirements.txt diff --git a/README.rst b/README.rst index ec1cbe1685..a9d73b9637 100644 --- a/README.rst +++ b/README.rst @@ -1,9 +1,9 @@ -.. image:: https://travis-ci.org/python/python-docs-es.svg?branch=3.8 +.. image:: https://travis-ci.org/python/python-docs-es.svg?branch=3.9 :target: https://travis-ci.org/python/python-docs-es :alt: Build Status -.. image:: https://readthedocs.org/projects/python-docs-es/badge/?version=3.8 - :target: https://python-docs-es.readthedocs.io/es/3.8/?badge=3.8 +.. image:: https://readthedocs.org/projects/python-docs-es/badge/?version=3.9 + :target: https://python-docs-es.readthedocs.io/es/3.8/?badge=3.9 :alt: Documentation Status diff --git a/TRANSLATORS b/TRANSLATORS index 46f1e73140..5cddf94625 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -64,6 +64,7 @@ Santiago Piccinini (@spiccinini) Julián Pérez (@jcpmmx) Victoria Perez Mola (@victoriapm) Agustina Quiros (@qagustina) +Ramón Salado (@ramsal) Juan Carlos Rojas Ortega (@juancacorps) Xavi Rambla Centellas (@xavirambla) Cristian Rengifo (@ingrengifo) diff --git a/c-api/arg.po b/c-api/arg.po index 0ac38da5aa..87cd6d47b2 100644 --- a/c-api/arg.po +++ b/c-api/arg.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-06-21 13:52+0200\n" "Last-Translator: Cristián Maureira-Fredes \n" -"Language-Team: python-doc-es\n" "Language: es\n" +"Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.8.0\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/c-api/arg.rst:6 msgid "Parsing arguments and building values" @@ -335,10 +334,11 @@ msgid "``S`` (:class:`bytes`) [PyBytesObject \\*]" msgstr "``S`` (:class:`bytes`) [PyBytesObject \\*]" #: ../Doc/c-api/arg.rst:132 +#, fuzzy msgid "" "Requires that the Python object is a :class:`bytes` object, without " "attempting any conversion. Raises :exc:`TypeError` if the object is not a " -"bytes object. The C variable may also be declared as :c:type:`PyObject\\*`." +"bytes object. The C variable may also be declared as :c:type:`PyObject*`." msgstr "" "Requiere que el objeto Python es un objeto :class:`bytes`, sin intentar " "ninguna conversión. Lanza :exc:`TypeError` si el objeto no es un objeto " @@ -349,11 +349,12 @@ msgid "``Y`` (:class:`bytearray`) [PyByteArrayObject \\*]" msgstr "``Y`` (:class:`bytearray`) [PyByteArrayObject \\*]" #: ../Doc/c-api/arg.rst:137 +#, fuzzy msgid "" "Requires that the Python object is a :class:`bytearray` object, without " "attempting any conversion. Raises :exc:`TypeError` if the object is not a :" "class:`bytearray` object. The C variable may also be declared as :c:type:" -"`PyObject\\*`." +"`PyObject*`." msgstr "" "Requiere que el objeto Python es un objeto :class:`bytearray`, sin intentar " "ninguna conversión. Lanza :exc:`TypeError` si el objeto no es un objecto :" @@ -440,10 +441,11 @@ msgid "``U`` (:class:`str`) [PyObject \\*]" msgstr "``U`` (:class:`str`) [PyObject \\*]" #: ../Doc/c-api/arg.rst:184 +#, fuzzy msgid "" "Requires that the Python object is a Unicode object, without attempting any " "conversion. Raises :exc:`TypeError` if the object is not a Unicode object. " -"The C variable may also be declared as :c:type:`PyObject\\*`." +"The C variable may also be declared as :c:type:`PyObject*`." msgstr "" "Requiere que el objeto Python es un objeto Unicode, sin intentar ninguna " "conversión. Lanza :exc:`TypeError` si el objeto no es un objeto Unicode. La " @@ -478,15 +480,15 @@ msgstr "" "caracteres. Solo funciona para datos codificados sin bytes NUL integrados." #: ../Doc/c-api/arg.rst:198 +#, fuzzy msgid "" "This format requires two arguments. The first is only used as input, and " -"must be a :c:type:`const char\\*` which points to the name of an encoding as " -"a NUL-terminated string, or ``NULL``, in which case ``'utf-8'`` encoding is " +"must be a :c:type:`const char*` which points to the name of an encoding as a " +"NUL-terminated string, or ``NULL``, in which case ``'utf-8'`` encoding is " "used. An exception is raised if the named encoding is not known to Python. " -"The second argument must be a :c:type:`char\\*\\*`; the value of the pointer " -"it references will be set to a buffer with the contents of the argument " -"text. The text will be encoded in the encoding specified by the first " -"argument." +"The second argument must be a :c:type:`char**`; the value of the pointer it " +"references will be set to a buffer with the contents of the argument text. " +"The text will be encoded in the encoding specified by the first argument." msgstr "" "Este formato requiere dos argumentos. El primero solo se usa como entrada, y " "debe ser :c:type:`const char\\*` que apunta al nombre de una codificación " @@ -547,12 +549,13 @@ msgstr "" "entrada que contienen caracteres NUL." #: ../Doc/c-api/arg.rst:221 +#, fuzzy msgid "" "It requires three arguments. The first is only used as input, and must be " -"a :c:type:`const char\\*` which points to the name of an encoding as a NUL-" +"a :c:type:`const char*` which points to the name of an encoding as a NUL-" "terminated string, or ``NULL``, in which case ``'utf-8'`` encoding is used. " "An exception is raised if the named encoding is not known to Python. The " -"second argument must be a :c:type:`char\\*\\*`; the value of the pointer it " +"second argument must be a :c:type:`char**`; the value of the pointer it " "references will be set to a buffer with the contents of the argument text. " "The text will be encoded in the encoding specified by the first argument. " "The third argument must be a pointer to an integer; the referenced integer " @@ -823,10 +826,11 @@ msgid "``O!`` (object) [*typeobject*, PyObject \\*]" msgstr "``O!`` (object) [*typeobject*, PyObject \\*]" #: ../Doc/c-api/arg.rst:323 +#, fuzzy msgid "" "Store a Python object in a C object pointer. This is similar to ``O``, but " "takes two C arguments: the first is the address of a Python type object, the " -"second is the address of the C variable (of type :c:type:`PyObject\\*`) into " +"second is the address of the C variable (of type :c:type:`PyObject*`) into " "which the object pointer is stored. If the Python object does not have the " "required type, :exc:`TypeError` is raised." msgstr "" @@ -841,10 +845,11 @@ msgid "``O&`` (object) [*converter*, *anything*]" msgstr "``O&`` (object) [*converter*, *anything*]" #: ../Doc/c-api/arg.rst:332 +#, fuzzy msgid "" "Convert a Python object to a C variable through a *converter* function. " "This takes two arguments: the first is a function, the second is the address " -"of a C variable (of arbitrary type), converted to :c:type:`void \\*`. The " +"of a C variable (of arbitrary type), converted to :c:type:`void *`. The " "*converter* function in turn is called as follows::" msgstr "" "Convierte un objeto Python en una variable C a través de una función " @@ -854,9 +859,10 @@ msgstr "" "siguiente manera::" #: ../Doc/c-api/arg.rst:339 +#, fuzzy msgid "" "where *object* is the Python object to be converted and *address* is the :c:" -"type:`void\\*` argument that was passed to the :c:func:`PyArg_Parse\\*` " +"type:`void*` argument that was passed to the :c:func:`PyArg_Parse\\*` " "function. The returned *status* should be ``1`` for a successful conversion " "and ``0`` if the conversion has failed. When the conversion fails, the " "*converter* function should raise an exception and leave the content of " @@ -1132,6 +1138,7 @@ msgstr "" "descomponer otras tuplas, y puede continuar usándose para ese propósito." #: ../Doc/c-api/arg.rst:479 +#, fuzzy msgid "" "A simpler form of parameter retrieval which does not use a format string to " "specify the types of the arguments. Functions which use this method to " @@ -1140,13 +1147,12 @@ msgid "" "should be passed as *args*; it must actually be a tuple. The length of the " "tuple must be at least *min* and no more than *max*; *min* and *max* may be " "equal. Additional arguments must be passed to the function, each of which " -"should be a pointer to a :c:type:`PyObject\\*` variable; these will be " -"filled in with the values from *args*; they will contain borrowed " -"references. The variables which correspond to optional parameters not given " -"by *args* will not be filled in; these should be initialized by the caller. " -"This function returns true on success and false if *args* is not a tuple or " -"contains the wrong number of elements; an exception will be set if there was " -"a failure." +"should be a pointer to a :c:type:`PyObject*` variable; these will be filled " +"in with the values from *args*; they will contain borrowed references. The " +"variables which correspond to optional parameters not given by *args* will " +"not be filled in; these should be initialized by the caller. This function " +"returns true on success and false if *args* is not a tuple or contains the " +"wrong number of elements; an exception will be set if there was a failure." msgstr "" "Una forma más simple de recuperación de parámetros que no utiliza una cadena " "de formato para especificar los tipos de argumentos. Las funciones que " @@ -1491,10 +1497,11 @@ msgstr "" "de objetos en la lista de argumentos." #: ../Doc/c-api/arg.rst:654 +#, fuzzy msgid "" "Convert *anything* to a Python object through a *converter* function. The " "function is called with *anything* (which should be compatible with :c:type:" -"`void \\*`) as its argument and should return a \"new\" Python object, or " +"`void*`) as its argument and should return a \"new\" Python object, or " "``NULL`` if an error occurred." msgstr "" "Convierte *anything* a un objeto Python a través de una función *converter*. " diff --git a/c-api/bool.po b/c-api/bool.po index 2595e5b8fc..ee74136864 100644 --- a/c-api/bool.po +++ b/c-api/bool.po @@ -1,23 +1,25 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. # Maintained by the python-doc-es workteam. -# docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ -# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers +# docs-es@python.org / +# https://mail.python.org/mailman3/lists/docs-es.python.org/ +# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get +# the list of volunteers # msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-06 11:59-0400\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-09 03:05+0200\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" +"Generated-By: Babel 2.8.0\n" #: ../Doc/c-api/bool.rst:6 msgid "Boolean Objects" @@ -36,10 +38,13 @@ msgstr "" "Sin embargo, los siguientes macros están disponibles." #: ../Doc/c-api/bool.rst:16 -msgid "Return true if *o* is of type :c:data:`PyBool_Type`." +#, fuzzy +msgid "" +"Return true if *o* is of type :c:data:`PyBool_Type`. This function always " +"succeeds." msgstr "Retorna verdad si *o* es de tipo :c:data:`PyBool_Type`." -#: ../Doc/c-api/bool.rst:21 +#: ../Doc/c-api/bool.rst:22 msgid "" "The Python ``False`` object. This object has no methods. It needs to be " "treated just like any other object with respect to reference counts." @@ -47,7 +52,7 @@ msgstr "" "El objeto ``False`` de Python. Este objeto no tiene métodos. Debe tratarse " "como cualquier otro objeto con respecto a los recuentos de referencia." -#: ../Doc/c-api/bool.rst:27 +#: ../Doc/c-api/bool.rst:28 msgid "" "The Python ``True`` object. This object has no methods. It needs to be " "treated just like any other object with respect to reference counts." @@ -55,7 +60,7 @@ msgstr "" "El objeto ``True`` de Python. Este objeto no tiene métodos. Debe tratarse " "como cualquier otro objeto con respecto a los recuentos de referencia." -#: ../Doc/c-api/bool.rst:33 +#: ../Doc/c-api/bool.rst:34 msgid "" "Return :const:`Py_False` from a function, properly incrementing its " "reference count." @@ -63,7 +68,7 @@ msgstr "" "Retorna :const:`Py_False` de una función, incrementando adecuadamente su " "recuento de referencia." -#: ../Doc/c-api/bool.rst:39 +#: ../Doc/c-api/bool.rst:40 msgid "" "Return :const:`Py_True` from a function, properly incrementing its reference " "count." @@ -71,7 +76,7 @@ msgstr "" "Retorna :const:`Py_True` desde una función, incrementando adecuadamente su " "recuento de referencia." -#: ../Doc/c-api/bool.rst:45 +#: ../Doc/c-api/bool.rst:46 msgid "" "Return a new reference to :const:`Py_True` or :const:`Py_False` depending on " "the truth value of *v*." diff --git a/c-api/buffer.po b/c-api/buffer.po index 5c364f7a9b..e1082fc6b9 100644 --- a/c-api/buffer.po +++ b/c-api/buffer.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-06-21 16:22+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" "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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/c-api/buffer.rst:11 msgid "Buffer Protocol" @@ -623,6 +622,10 @@ msgstr "F" msgid "C or F" msgstr "C o F" +#: ../Doc/c-api/buffer.rst:304 +msgid ":c:macro:`PyBUF_ND`" +msgstr "" + #: ../Doc/c-api/buffer.rst:309 msgid "compound requests" msgstr "solicitudes compuestas" @@ -769,11 +772,11 @@ msgstr "" "éxito. Esta función siempre tiene éxito." #: ../Doc/c-api/buffer.rst:439 +#, fuzzy msgid "" "Send a request to *exporter* to fill in *view* as specified by *flags*. If " "the exporter cannot provide a buffer of the exact type, it MUST raise :c:" -"data:`PyExc_BufferError`, set :c:member:`view->obj` to ``NULL`` and return " -"``-1``." +"data:`PyExc_BufferError`, set ``view->obj`` to ``NULL`` and return ``-1``." msgstr "" "Envía una solicitud a *exporter* para completar *view* según lo especificado " "por *flags*. Si el exportador no puede proporcionar un búfer del tipo " @@ -781,12 +784,12 @@ msgstr "" ">obj` a ``NULL`` y retorna ``-1``." #: ../Doc/c-api/buffer.rst:444 +#, fuzzy msgid "" -"On success, fill in *view*, set :c:member:`view->obj` to a new reference to " +"On success, fill in *view*, set ``view->obj`` to a new reference to " "*exporter* and return 0. In the case of chained buffer providers that " -"redirect requests to a single object, :c:member:`view->obj` MAY refer to " -"this object instead of *exporter* (See :ref:`Buffer Object Structures " -"`)." +"redirect requests to a single object, ``view->obj`` MAY refer to this object " +"instead of *exporter* (See :ref:`Buffer Object Structures `)." msgstr "" "En caso de éxito, llena *view*, establece :c:member:`view->obj` en una nueva " "referencia a *exporter* y retorna 0. En el caso de proveedores de búfer " @@ -807,9 +810,10 @@ msgstr "" "el búfer, :c:func:`PyBuffer_Release` debe llamarse exactamente una vez." #: ../Doc/c-api/buffer.rst:457 +#, fuzzy msgid "" -"Release the buffer *view* and decrement the reference count for :c:member:" -"`view->obj`. This function MUST be called when the buffer is no longer being " +"Release the buffer *view* and decrement the reference count for ``view-" +">obj``. This function MUST be called when the buffer is no longer being " "used, otherwise reference leaks may occur." msgstr "" "Libera el búfer *view* y disminuye el conteo de referencias para :c:member:" @@ -825,14 +829,15 @@ msgstr "" "c:func:`PyObject_GetBuffer`." #: ../Doc/c-api/buffer.rst:467 +#, fuzzy msgid "" "Return the implied :c:data:`~Py_buffer.itemsize` from :c:data:`~Py_buffer." -"format`. This function is not yet implemented." +"format`. On error, raise an exception and return -1." msgstr "" "Retorna el :c:data:`~Py_buffer.itemsize` implícito de :c:data:`~Py_buffer." "format`. Esta función aún no está implementada." -#: ../Doc/c-api/buffer.rst:473 +#: ../Doc/c-api/buffer.rst:475 msgid "" "Return ``1`` if the memory defined by the *view* is C-style (*order* is " "``'C'``) or Fortran-style (*order* is ``'F'``) :term:`contiguous` or either " @@ -844,7 +849,7 @@ msgstr "" "cualquiera (*order* es ``'A'``). Retorna ``0`` de lo contrario. Esta función " "siempre tiene éxito." -#: ../Doc/c-api/buffer.rst:480 +#: ../Doc/c-api/buffer.rst:482 msgid "" "Get the memory area pointed to by the *indices* inside the given *view*. " "*indices* must point to an array of ``view->ndim`` indices." @@ -852,7 +857,7 @@ msgstr "" "Obtiene el área de memoria señalada por los *indices* dentro del *view* " "dado. *indices* deben apuntar a un arreglo de índices ``view->ndim``." -#: ../Doc/c-api/buffer.rst:486 +#: ../Doc/c-api/buffer.rst:488 msgid "" "Copy contiguous *len* bytes from *buf* to *view*. *fort* can be ``'C'`` or " "``'F'`` (for C-style or Fortran-style ordering). ``0`` is returned on " @@ -862,7 +867,7 @@ msgstr "" "``'F'`` (para pedidos al estilo C o al estilo Fortran). ``0`` se retorna en " "caso de éxito, ``-1`` en caso de error." -#: ../Doc/c-api/buffer.rst:493 +#: ../Doc/c-api/buffer.rst:495 msgid "" "Copy *len* bytes from *src* to its contiguous representation in *buf*. " "*order* can be ``'C'`` or ``'F'`` or ``'A'`` (for C-style or Fortran-style " @@ -873,11 +878,11 @@ msgstr "" "Fortran o cualquiera) ``0`` se retorna en caso de éxito, ``-1`` en caso de " "error." -#: ../Doc/c-api/buffer.rst:497 +#: ../Doc/c-api/buffer.rst:499 msgid "This function fails if *len* != *src->len*." msgstr "Esta función falla si *len* != *src->len*." -#: ../Doc/c-api/buffer.rst:502 +#: ../Doc/c-api/buffer.rst:504 msgid "" "Fill the *strides* array with byte-strides of a :term:`contiguous` (C-style " "if *order* is ``'C'`` or Fortran-style if *order* is ``'F'``) array of the " @@ -887,7 +892,7 @@ msgstr "" "(estilo C si *order* es ``'C'`` o estilo Fortran si *order* es ``'F '`` ) " "arreglo de la forma dada con el número dado de bytes por elemento." -#: ../Doc/c-api/buffer.rst:509 +#: ../Doc/c-api/buffer.rst:511 msgid "" "Handle buffer requests for an exporter that wants to expose *buf* of size " "*len* with writability set according to *readonly*. *buf* is interpreted as " @@ -897,7 +902,7 @@ msgstr "" "de tamaño *len* con capacidad de escritura establecida de acuerdo con " "*readonly*. *buf* se interpreta como una secuencia de bytes sin signo." -#: ../Doc/c-api/buffer.rst:513 +#: ../Doc/c-api/buffer.rst:515 msgid "" "The *flags* argument indicates the request type. This function always fills " "in *view* as specified by flags, unless *buf* has been designated as read-" @@ -908,17 +913,18 @@ msgstr "" "designado como solo lectura y :c:macro:`PyBUF_WRITABLE` esté configurado en " "*flags*." -#: ../Doc/c-api/buffer.rst:517 +#: ../Doc/c-api/buffer.rst:519 +#, fuzzy msgid "" -"On success, set :c:member:`view->obj` to a new reference to *exporter* and " -"return 0. Otherwise, raise :c:data:`PyExc_BufferError`, set :c:member:`view-" -">obj` to ``NULL`` and return ``-1``;" +"On success, set ``view->obj`` to a new reference to *exporter* and return 0. " +"Otherwise, raise :c:data:`PyExc_BufferError`, set ``view->obj`` to ``NULL`` " +"and return ``-1``;" msgstr "" "En caso de éxito, establece :c:member:`view->obj` en una nueva referencia a " "*exporter* y retorna 0. De lo contrario, genera :c:data:`PyExc_BufferError`, " "establece :c:member:`view->obj` a ``NULL`` y retorna ``-1``;" -#: ../Doc/c-api/buffer.rst:521 +#: ../Doc/c-api/buffer.rst:523 msgid "" "If this function is used as part of a :ref:`getbufferproc `, " "*exporter* MUST be set to the exporting object and *flags* must be passed " diff --git a/c-api/bytearray.po b/c-api/bytearray.po index 20d6681e0b..2be3cc390b 100644 --- a/c-api/bytearray.po +++ b/c-api/bytearray.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-09 16:04+0200\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/c-api/bytearray.rst:6 msgid "Byte Array Objects" @@ -46,17 +45,19 @@ msgid "Type check macros" msgstr "Macros de verificación de tipos" #: ../Doc/c-api/bytearray.rst:27 +#, fuzzy msgid "" "Return true if the object *o* is a bytearray object or an instance of a " -"subtype of the bytearray type." +"subtype of the bytearray type. This function always succeeds." msgstr "" "Retorna verdadero si el objeto *o* es un objeto de arreglo de bytes o una " "instancia de un subtipo del tipo arreglo de bytes." #: ../Doc/c-api/bytearray.rst:33 +#, fuzzy msgid "" "Return true if the object *o* is a bytearray object, but not an instance of " -"a subtype of the bytearray type." +"a subtype of the bytearray type. This function always succeeds." msgstr "" "Retorna verdadero si el objeto *o* es un objeto de arreglo de bytes, pero no " "una instancia de un subtipo del tipo arreglo de bytes." diff --git a/c-api/bytes.po b/c-api/bytes.po index 4318a063b5..ff5e1ddd6c 100644 --- a/c-api/bytes.po +++ b/c-api/bytes.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-21 20:48+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" "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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/c-api/bytes.rst:6 msgid "Bytes Objects" @@ -48,17 +47,19 @@ msgstr "" "es el mismo objeto que :class:`bytes` en la capa de Python." #: ../Doc/c-api/bytes.rst:27 +#, fuzzy msgid "" "Return true if the object *o* is a bytes object or an instance of a subtype " -"of the bytes type." +"of the bytes type. This function always succeeds." msgstr "" "Retorna verdadero si el objeto *o* es un objeto bytes o una instancia de un " "subtipo del tipo bytes." #: ../Doc/c-api/bytes.rst:33 +#, fuzzy msgid "" "Return true if the object *o* is a bytes object, but not an instance of a " -"subtype of the bytes type." +"subtype of the bytes type. This function always succeeds." msgstr "" "Retorna verdadero si el objeto *o* es un objeto bytes, pero no una instancia " "de un subtipo del tipo bytes." diff --git a/c-api/call.po b/c-api/call.po new file mode 100644 index 0000000000..007082a7f6 --- /dev/null +++ b/c-api/call.po @@ -0,0 +1,573 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2021, Python Software Foundation +# This file is distributed under the same license as the Python en Español +# package. +# FIRST AUTHOR , 2021. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python en Español 3.9\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.8.0\n" + +#: ../Doc/c-api/call.rst:6 +msgid "Call Protocol" +msgstr "" + +#: ../Doc/c-api/call.rst:8 +msgid "" +"CPython supports two different calling protocols: *tp_call* and vectorcall." +msgstr "" + +#: ../Doc/c-api/call.rst:12 +msgid "The *tp_call* Protocol" +msgstr "" + +#: ../Doc/c-api/call.rst:14 +msgid "" +"Instances of classes that set :c:member:`~PyTypeObject.tp_call` are " +"callable. The signature of the slot is::" +msgstr "" + +#: ../Doc/c-api/call.rst:19 +msgid "" +"A call is made using a tuple for the positional arguments and a dict for the " +"keyword arguments, similarly to ``callable(*args, **kwargs)`` in Python " +"code. *args* must be non-NULL (use an empty tuple if there are no arguments) " +"but *kwargs* may be *NULL* if there are no keyword arguments." +msgstr "" + +#: ../Doc/c-api/call.rst:25 +msgid "" +"This convention is not only used by *tp_call*: :c:member:`~PyTypeObject." +"tp_new` and :c:member:`~PyTypeObject.tp_init` also pass arguments this way." +msgstr "" + +#: ../Doc/c-api/call.rst:29 +msgid "" +"To call an object, use :c:func:`PyObject_Call` or other :ref:`call API `." +msgstr "" + +#: ../Doc/c-api/call.rst:36 +msgid "The Vectorcall Protocol" +msgstr "" + +#: ../Doc/c-api/call.rst:40 +msgid "" +"The vectorcall protocol was introduced in :pep:`590` as an additional " +"protocol for making calls more efficient." +msgstr "" + +#: ../Doc/c-api/call.rst:43 +msgid "" +"As rule of thumb, CPython will prefer the vectorcall for internal calls if " +"the callable supports it. However, this is not a hard rule. Additionally, " +"some third-party extensions use *tp_call* directly (rather than using :c:" +"func:`PyObject_Call`). Therefore, a class supporting vectorcall must also " +"implement :c:member:`~PyTypeObject.tp_call`. Moreover, the callable must " +"behave the same regardless of which protocol is used. The recommended way to " +"achieve this is by setting :c:member:`~PyTypeObject.tp_call` to :c:func:" +"`PyVectorcall_Call`. This bears repeating:" +msgstr "" + +#: ../Doc/c-api/call.rst:57 +msgid "" +"A class supporting vectorcall **must** also implement :c:member:" +"`~PyTypeObject.tp_call` with the same semantics." +msgstr "" + +#: ../Doc/c-api/call.rst:60 +msgid "" +"A class should not implement vectorcall if that would be slower than " +"*tp_call*. For example, if the callee needs to convert the arguments to an " +"args tuple and kwargs dict anyway, then there is no point in implementing " +"vectorcall." +msgstr "" + +#: ../Doc/c-api/call.rst:65 +msgid "" +"Classes can implement the vectorcall protocol by enabling the :const:" +"`Py_TPFLAGS_HAVE_VECTORCALL` flag and setting :c:member:`~PyTypeObject." +"tp_vectorcall_offset` to the offset inside the object structure where a " +"*vectorcallfunc* appears. This is a pointer to a function with the following " +"signature:" +msgstr "" + +#: ../Doc/c-api/call.rst:73 +msgid "*callable* is the object being called." +msgstr "" + +#: ../Doc/c-api/call.rst:75 +msgid "" +"*args* is a C array consisting of the positional arguments followed by the" +msgstr "" + +#: ../Doc/c-api/call.rst:75 +msgid "" +"values of the keyword arguments. This can be *NULL* if there are no " +"arguments." +msgstr "" + +#: ../Doc/c-api/call.rst:79 +msgid "*nargsf* is the number of positional arguments plus possibly the" +msgstr "" + +#: ../Doc/c-api/call.rst:78 +msgid "" +":const:`PY_VECTORCALL_ARGUMENTS_OFFSET` flag. To get the actual number of " +"positional arguments from *nargsf*, use :c:func:`PyVectorcall_NARGS`." +msgstr "" + +#: ../Doc/c-api/call.rst:85 +msgid "*kwnames* is a tuple containing the names of the keyword arguments;" +msgstr "" + +#: ../Doc/c-api/call.rst:82 +msgid "" +"in other words, the keys of the kwargs dict. These names must be strings " +"(instances of ``str`` or a subclass) and they must be unique. If there are " +"no keyword arguments, then *kwnames* can instead be *NULL*." +msgstr "" + +#: ../Doc/c-api/call.rst:89 +msgid "" +"If this flag is set in a vectorcall *nargsf* argument, the callee is allowed " +"to temporarily change ``args[-1]``. In other words, *args* points to " +"argument 1 (not 0) in the allocated vector. The callee must restore the " +"value of ``args[-1]`` before returning." +msgstr "" + +#: ../Doc/c-api/call.rst:94 +msgid "" +"For :c:func:`PyObject_VectorcallMethod`, this flag means instead that " +"``args[0]`` may be changed." +msgstr "" + +#: ../Doc/c-api/call.rst:97 +msgid "" +"Whenever they can do so cheaply (without additional allocation), callers are " +"encouraged to use :const:`PY_VECTORCALL_ARGUMENTS_OFFSET`. Doing so will " +"allow callables such as bound methods to make their onward calls (which " +"include a prepended *self* argument) very efficiently." +msgstr "" + +#: ../Doc/c-api/call.rst:102 +msgid "" +"To call an object that implements vectorcall, use a :ref:`call API ` function as with any other callable. :c:func:`PyObject_Vectorcall` " +"will usually be most efficient." +msgstr "" + +#: ../Doc/c-api/call.rst:109 +msgid "" +"In CPython 3.8, the vectorcall API and related functions were available " +"provisionally under names with a leading underscore: " +"``_PyObject_Vectorcall``, ``_Py_TPFLAGS_HAVE_VECTORCALL``, " +"``_PyObject_VectorcallMethod``, ``_PyVectorcall_Function``, " +"``_PyObject_CallOneArg``, ``_PyObject_CallMethodNoArgs``, " +"``_PyObject_CallMethodOneArg``. Additionally, ``PyObject_VectorcallDict`` " +"was available as ``_PyObject_FastCallDict``. The old names are still defined " +"as aliases of the new, non-underscored names." +msgstr "" + +#: ../Doc/c-api/call.rst:121 +msgid "Recursion Control" +msgstr "" + +#: ../Doc/c-api/call.rst:123 +msgid "" +"When using *tp_call*, callees do not need to worry about :ref:`recursion " +"`: CPython uses :c:func:`Py_EnterRecursiveCall` and :c:func:" +"`Py_LeaveRecursiveCall` for calls made using *tp_call*." +msgstr "" + +#: ../Doc/c-api/call.rst:128 +msgid "" +"For efficiency, this is not the case for calls done using vectorcall: the " +"callee should use *Py_EnterRecursiveCall* and *Py_LeaveRecursiveCall* if " +"needed." +msgstr "" + +#: ../Doc/c-api/call.rst:134 +msgid "Vectorcall Support API" +msgstr "" + +#: ../Doc/c-api/call.rst:138 +msgid "" +"Given a vectorcall *nargsf* argument, return the actual number of arguments. " +"Currently equivalent to::" +msgstr "" + +#: ../Doc/c-api/call.rst:144 +msgid "" +"However, the function ``PyVectorcall_NARGS`` should be used to allow for " +"future extensions." +msgstr "" + +#: ../Doc/c-api/call.rst:147 ../Doc/c-api/call.rst:161 +#: ../Doc/c-api/call.rst:175 ../Doc/c-api/call.rst:259 +#: ../Doc/c-api/call.rst:346 ../Doc/c-api/call.rst:360 +#: ../Doc/c-api/call.rst:375 ../Doc/c-api/call.rst:391 +#: ../Doc/c-api/call.rst:413 +msgid "This function is not part of the :ref:`limited API `." +msgstr "" + +#: ../Doc/c-api/call.rst:153 +msgid "" +"If *op* does not support the vectorcall protocol (either because the type " +"does not or because the specific instance does not), return *NULL*. " +"Otherwise, return the vectorcall function pointer stored in *op*. This " +"function never raises an exception." +msgstr "" + +#: ../Doc/c-api/call.rst:158 +msgid "" +"This is mostly useful to check whether or not *op* supports vectorcall, " +"which can be done by checking ``PyVectorcall_Function(op) != NULL``." +msgstr "" + +#: ../Doc/c-api/call.rst:167 +msgid "" +"Call *callable*'s :c:type:`vectorcallfunc` with positional and keyword " +"arguments given in a tuple and dict, respectively." +msgstr "" + +#: ../Doc/c-api/call.rst:170 +msgid "" +"This is a specialized function, intended to be put in the :c:member:" +"`~PyTypeObject.tp_call` slot or be used in an implementation of ``tp_call``. " +"It does not check the :const:`Py_TPFLAGS_HAVE_VECTORCALL` flag and it does " +"not fall back to ``tp_call``." +msgstr "" + +#: ../Doc/c-api/call.rst:183 +msgid "Object Calling API" +msgstr "" + +#: ../Doc/c-api/call.rst:185 +msgid "" +"Various functions are available for calling a Python object. Each converts " +"its arguments to a convention supported by the called object – either " +"*tp_call* or vectorcall. In order to do as litle conversion as possible, " +"pick one that best fits the format of data you have available." +msgstr "" + +#: ../Doc/c-api/call.rst:191 +msgid "" +"The following table summarizes the available functions; please see " +"individual documentation for details." +msgstr "" + +#: ../Doc/c-api/call.rst:195 +msgid "Function" +msgstr "" + +#: ../Doc/c-api/call.rst:195 +msgid "callable" +msgstr "" + +#: ../Doc/c-api/call.rst:195 +msgid "args" +msgstr "" + +#: ../Doc/c-api/call.rst:195 +msgid "kwargs" +msgstr "" + +#: ../Doc/c-api/call.rst:197 +msgid ":c:func:`PyObject_Call`" +msgstr "" + +#: ../Doc/c-api/call.rst:197 ../Doc/c-api/call.rst:199 +#: ../Doc/c-api/call.rst:201 ../Doc/c-api/call.rst:203 +#: ../Doc/c-api/call.rst:205 ../Doc/c-api/call.rst:209 +#: ../Doc/c-api/call.rst:217 ../Doc/c-api/call.rst:219 +msgid "``PyObject *``" +msgstr "" + +#: ../Doc/c-api/call.rst:197 +msgid "tuple" +msgstr "" + +#: ../Doc/c-api/call.rst:197 ../Doc/c-api/call.rst:219 +msgid "dict/``NULL``" +msgstr "" + +#: ../Doc/c-api/call.rst:199 +msgid ":c:func:`PyObject_CallNoArgs`" +msgstr "" + +#: ../Doc/c-api/call.rst:199 ../Doc/c-api/call.rst:201 +#: ../Doc/c-api/call.rst:203 ../Doc/c-api/call.rst:205 +#: ../Doc/c-api/call.rst:207 ../Doc/c-api/call.rst:209 +#: ../Doc/c-api/call.rst:211 ../Doc/c-api/call.rst:213 +#: ../Doc/c-api/call.rst:215 +msgid "---" +msgstr "" + +#: ../Doc/c-api/call.rst:201 +msgid ":c:func:`PyObject_CallOneArg`" +msgstr "" + +#: ../Doc/c-api/call.rst:201 ../Doc/c-api/call.rst:215 +msgid "1 object" +msgstr "" + +#: ../Doc/c-api/call.rst:203 +msgid ":c:func:`PyObject_CallObject`" +msgstr "" + +#: ../Doc/c-api/call.rst:203 +msgid "tuple/``NULL``" +msgstr "" + +#: ../Doc/c-api/call.rst:205 +msgid ":c:func:`PyObject_CallFunction`" +msgstr "" + +#: ../Doc/c-api/call.rst:205 ../Doc/c-api/call.rst:207 +msgid "format" +msgstr "" + +#: ../Doc/c-api/call.rst:207 +msgid ":c:func:`PyObject_CallMethod`" +msgstr "" + +#: ../Doc/c-api/call.rst:207 +msgid "obj + ``char*``" +msgstr "" + +#: ../Doc/c-api/call.rst:209 +msgid ":c:func:`PyObject_CallFunctionObjArgs`" +msgstr "" + +#: ../Doc/c-api/call.rst:209 ../Doc/c-api/call.rst:211 +msgid "variadic" +msgstr "" + +#: ../Doc/c-api/call.rst:211 +msgid ":c:func:`PyObject_CallMethodObjArgs`" +msgstr "" + +#: ../Doc/c-api/call.rst:211 ../Doc/c-api/call.rst:213 +#: ../Doc/c-api/call.rst:215 +msgid "obj + name" +msgstr "" + +#: ../Doc/c-api/call.rst:213 +msgid ":c:func:`PyObject_CallMethodNoArgs`" +msgstr "" + +#: ../Doc/c-api/call.rst:215 +msgid ":c:func:`PyObject_CallMethodOneArg`" +msgstr "" + +#: ../Doc/c-api/call.rst:217 +msgid ":c:func:`PyObject_Vectorcall`" +msgstr "" + +#: ../Doc/c-api/call.rst:217 ../Doc/c-api/call.rst:219 +#: ../Doc/c-api/call.rst:221 +msgid "vectorcall" +msgstr "" + +#: ../Doc/c-api/call.rst:219 +msgid ":c:func:`PyObject_VectorcallDict`" +msgstr "" + +#: ../Doc/c-api/call.rst:221 +msgid ":c:func:`PyObject_VectorcallMethod`" +msgstr "" + +#: ../Doc/c-api/call.rst:221 +msgid "arg + name" +msgstr "" + +#: ../Doc/c-api/call.rst:227 +msgid "" +"Call a callable Python object *callable*, with arguments given by the tuple " +"*args*, and named arguments given by the dictionary *kwargs*." +msgstr "" + +#: ../Doc/c-api/call.rst:230 +msgid "" +"*args* must not be *NULL*; use an empty tuple if no arguments are needed. If " +"no named arguments are needed, *kwargs* can be *NULL*." +msgstr "" + +#: ../Doc/c-api/call.rst:233 ../Doc/c-api/call.rst:245 +#: ../Doc/c-api/call.rst:256 ../Doc/c-api/call.rst:269 +#: ../Doc/c-api/call.rst:281 ../Doc/c-api/call.rst:301 +#: ../Doc/c-api/call.rst:320 ../Doc/c-api/call.rst:334 +#: ../Doc/c-api/call.rst:343 ../Doc/c-api/call.rst:357 +#: ../Doc/c-api/call.rst:372 ../Doc/c-api/call.rst:410 +msgid "" +"Return the result of the call on success, or raise an exception and return " +"*NULL* on failure." +msgstr "" + +#: ../Doc/c-api/call.rst:236 +msgid "" +"This is the equivalent of the Python expression: ``callable(*args, " +"**kwargs)``." +msgstr "" + +#: ../Doc/c-api/call.rst:242 +msgid "" +"Call a callable Python object *callable* without any arguments. It is the " +"most efficient way to call a callable Python object without any argument." +msgstr "" + +#: ../Doc/c-api/call.rst:253 +msgid "" +"Call a callable Python object *callable* with exactly 1 positional argument " +"*arg* and no keyword arguments." +msgstr "" + +#: ../Doc/c-api/call.rst:266 +msgid "" +"Call a callable Python object *callable*, with arguments given by the tuple " +"*args*. If no arguments are needed, then *args* can be *NULL*." +msgstr "" + +#: ../Doc/c-api/call.rst:272 ../Doc/c-api/call.rst:284 +msgid "This is the equivalent of the Python expression: ``callable(*args)``." +msgstr "" + +#: ../Doc/c-api/call.rst:277 +msgid "" +"Call a callable Python object *callable*, with a variable number of C " +"arguments. The C arguments are described using a :c:func:`Py_BuildValue` " +"style format string. The format can be *NULL*, indicating that no arguments " +"are provided." +msgstr "" + +#: ../Doc/c-api/call.rst:286 +msgid "" +"Note that if you only pass :c:type:`PyObject *` args, :c:func:" +"`PyObject_CallFunctionObjArgs` is a faster alternative." +msgstr "" + +#: ../Doc/c-api/call.rst:289 +msgid "The type of *format* was changed from ``char *``." +msgstr "" + +#: ../Doc/c-api/call.rst:295 +msgid "" +"Call the method named *name* of object *obj* with a variable number of C " +"arguments. The C arguments are described by a :c:func:`Py_BuildValue` " +"format string that should produce a tuple." +msgstr "" + +#: ../Doc/c-api/call.rst:299 +msgid "The format can be *NULL*, indicating that no arguments are provided." +msgstr "" + +#: ../Doc/c-api/call.rst:304 +msgid "" +"This is the equivalent of the Python expression: ``obj.name(arg1, " +"arg2, ...)``." +msgstr "" + +#: ../Doc/c-api/call.rst:307 +msgid "" +"Note that if you only pass :c:type:`PyObject *` args, :c:func:" +"`PyObject_CallMethodObjArgs` is a faster alternative." +msgstr "" + +#: ../Doc/c-api/call.rst:310 +msgid "The types of *name* and *format* were changed from ``char *``." +msgstr "" + +#: ../Doc/c-api/call.rst:316 +msgid "" +"Call a callable Python object *callable*, with a variable number of :c:type:" +"`PyObject *` arguments. The arguments are provided as a variable number of " +"parameters followed by *NULL*." +msgstr "" + +#: ../Doc/c-api/call.rst:323 +msgid "" +"This is the equivalent of the Python expression: ``callable(arg1, " +"arg2, ...)``." +msgstr "" + +#: ../Doc/c-api/call.rst:329 +msgid "" +"Call a method of the Python object *obj*, where the name of the method is " +"given as a Python string object in *name*. It is called with a variable " +"number of :c:type:`PyObject *` arguments. The arguments are provided as a " +"variable number of parameters followed by *NULL*." +msgstr "" + +#: ../Doc/c-api/call.rst:340 +msgid "" +"Call a method of the Python object *obj* without arguments, where the name " +"of the method is given as a Python string object in *name*." +msgstr "" + +#: ../Doc/c-api/call.rst:353 +msgid "" +"Call a method of the Python object *obj* with a single positional argument " +"*arg*, where the name of the method is given as a Python string object in " +"*name*." +msgstr "" + +#: ../Doc/c-api/call.rst:367 +msgid "" +"Call a callable Python object *callable*. The arguments are the same as for :" +"c:type:`vectorcallfunc`. If *callable* supports vectorcall_, this directly " +"calls the vectorcall function stored in *callable*." +msgstr "" + +#: ../Doc/c-api/call.rst:381 +msgid "" +"Call *callable* with positional arguments passed exactly as in the " +"vectorcall_ protocol, but with keyword arguments passed as a dictionary " +"*kwdict*. The *args* array contains only the positional arguments." +msgstr "" + +#: ../Doc/c-api/call.rst:385 +msgid "" +"Regardless of which protocol is used internally, a conversion of arguments " +"needs to be done. Therefore, this function should only be used if the caller " +"already has a dictionary ready to use for the keyword arguments, but not a " +"tuple for the positional arguments." +msgstr "" + +#: ../Doc/c-api/call.rst:397 +msgid "" +"Call a method using the vectorcall calling convention. The name of the " +"method is given as a Python string *name*. The object whose method is called " +"is *args[0]*, and the *args* array starting at *args[1]* represents the " +"arguments of the call. There must be at least one positional argument. " +"*nargsf* is the number of positional arguments including *args[0]*, plus :" +"const:`PY_VECTORCALL_ARGUMENTS_OFFSET` if the value of ``args[0]`` may " +"temporarily be changed. Keyword arguments can be passed just like in :c:func:" +"`PyObject_Vectorcall`." +msgstr "" + +#: ../Doc/c-api/call.rst:406 +msgid "" +"If the object has the :const:`Py_TPFLAGS_METHOD_DESCRIPTOR` feature, this " +"will call the unbound method object with the full *args* vector as arguments." +msgstr "" + +#: ../Doc/c-api/call.rst:419 +msgid "Call Support API" +msgstr "" + +#: ../Doc/c-api/call.rst:423 +msgid "" +"Determine if the object *o* is callable. Return ``1`` if the object is " +"callable and ``0`` otherwise. This function always succeeds." +msgstr "" diff --git a/c-api/capsule.po b/c-api/capsule.po index fe2dc2c01b..67b8bc96f5 100644 --- a/c-api/capsule.po +++ b/c-api/capsule.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-16 23:16+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" "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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/c-api/capsule.rst:6 msgid "Capsules" @@ -34,9 +33,10 @@ msgstr "" "estos objetos." #: ../Doc/c-api/capsule.rst:17 +#, fuzzy msgid "" "This subtype of :c:type:`PyObject` represents an opaque value, useful for C " -"extension modules who need to pass an opaque value (as a :c:type:`void\\*` " +"extension modules who need to pass an opaque value (as a :c:type:`void*` " "pointer) through Python code to other C code. It is often used to make a C " "function pointer defined in one module available to other modules, so the " "regular import mechanism can be used to access C APIs defined in dynamically " @@ -65,10 +65,13 @@ msgstr "" "devoluciones de llamada de `PyCapsule_Destructor`." #: ../Doc/c-api/capsule.rst:37 -msgid "Return true if its argument is a :c:type:`PyCapsule`." +#, fuzzy +msgid "" +"Return true if its argument is a :c:type:`PyCapsule`. This function always " +"succeeds." msgstr "Retorna verdadero si su argumento es a :c:type:`PyCapsule`." -#: ../Doc/c-api/capsule.rst:42 +#: ../Doc/c-api/capsule.rst:43 msgid "" "Create a :c:type:`PyCapsule` encapsulating the *pointer*. The *pointer* " "argument may not be ``NULL``." @@ -76,11 +79,11 @@ msgstr "" "Crea un :c:type:`PyCapsule` encapsulando el *pointer*. El argumento " "*pointer* puede no ser ``NULL``." -#: ../Doc/c-api/capsule.rst:45 +#: ../Doc/c-api/capsule.rst:46 msgid "On failure, set an exception and return ``NULL``." msgstr "En caso de falla, establece una excepción y retorna ``NULL``." -#: ../Doc/c-api/capsule.rst:47 +#: ../Doc/c-api/capsule.rst:48 msgid "" "The *name* string may either be ``NULL`` or a pointer to a valid C string. " "If non-``NULL``, this string must outlive the capsule. (Though it is " @@ -90,7 +93,7 @@ msgstr "" "C válida. Si no es ``NULL``, esta cadena de caracteres debe sobrevivir a la " "cápsula. (Aunque está permitido liberarlo dentro del *destructor*)." -#: ../Doc/c-api/capsule.rst:51 +#: ../Doc/c-api/capsule.rst:52 msgid "" "If the *destructor* argument is not ``NULL``, it will be called with the " "capsule as its argument when it is destroyed." @@ -98,7 +101,7 @@ msgstr "" "Si el argumento *destructor* no es ``NULL``, se llamará con la cápsula como " "argumento cuando se destruya." -#: ../Doc/c-api/capsule.rst:54 +#: ../Doc/c-api/capsule.rst:55 msgid "" "If this capsule will be stored as an attribute of a module, the *name* " "should be specified as ``modulename.attributename``. This will enable other " @@ -108,7 +111,7 @@ msgstr "" "*name* debe especificarse como ``modulename.attributename``. Esto permitirá " "que otros módulos importen la cápsula usando :c:func:`PyCapsule_Import`." -#: ../Doc/c-api/capsule.rst:61 +#: ../Doc/c-api/capsule.rst:62 msgid "" "Retrieve the *pointer* stored in the capsule. On failure, set an exception " "and return ``NULL``." @@ -116,7 +119,7 @@ msgstr "" "Recupera el *pointer* almacenado en la cápsula. En caso de falla, establece " "una excepción y retorna ``NULL``." -#: ../Doc/c-api/capsule.rst:64 +#: ../Doc/c-api/capsule.rst:65 msgid "" "The *name* parameter must compare exactly to the name stored in the capsule. " "If the name stored in the capsule is ``NULL``, the *name* passed in must " @@ -128,7 +131,7 @@ msgstr "" "pasado también debe ser ``NULL``. Python usa la función C :c:func:`strcmp` " "para comparar nombres de cápsulas." -#: ../Doc/c-api/capsule.rst:72 +#: ../Doc/c-api/capsule.rst:73 msgid "" "Return the current destructor stored in the capsule. On failure, set an " "exception and return ``NULL``." @@ -136,7 +139,7 @@ msgstr "" "Retorna el destructor actual almacenado en la cápsula. En caso de falla, " "establece una excepción y retorna ``NULL``." -#: ../Doc/c-api/capsule.rst:75 +#: ../Doc/c-api/capsule.rst:76 msgid "" "It is legal for a capsule to have a ``NULL`` destructor. This makes a " "``NULL`` return code somewhat ambiguous; use :c:func:`PyCapsule_IsValid` or :" @@ -146,7 +149,7 @@ msgstr "" "código de retorno ``NULL`` sea algo ambiguo; use :c:func:`PyCapsule_IsValid` " "o :c:func:`PyErr_Occurred` para desambiguar." -#: ../Doc/c-api/capsule.rst:82 +#: ../Doc/c-api/capsule.rst:83 msgid "" "Return the current context stored in the capsule. On failure, set an " "exception and return ``NULL``." @@ -154,7 +157,7 @@ msgstr "" "Retorna el contexto actual almacenado en la cápsula. En caso de falla, " "establece una excepción y retorna ``NULL``." -#: ../Doc/c-api/capsule.rst:85 +#: ../Doc/c-api/capsule.rst:86 msgid "" "It is legal for a capsule to have a ``NULL`` context. This makes a ``NULL`` " "return code somewhat ambiguous; use :c:func:`PyCapsule_IsValid` or :c:func:" @@ -164,7 +167,7 @@ msgstr "" "de retorno ``NULL`` sea algo ambiguo; use :c:func:`PyCapsule_IsValid` o :c:" "func:`PyErr_Occurred` para desambiguar." -#: ../Doc/c-api/capsule.rst:92 +#: ../Doc/c-api/capsule.rst:93 msgid "" "Return the current name stored in the capsule. On failure, set an exception " "and return ``NULL``." @@ -172,7 +175,7 @@ msgstr "" "Retorna el nombre actual almacenado en la cápsula. En caso de falla, " "establece una excepción y retorna ``NULL``." -#: ../Doc/c-api/capsule.rst:95 +#: ../Doc/c-api/capsule.rst:96 msgid "" "It is legal for a capsule to have a ``NULL`` name. This makes a ``NULL`` " "return code somewhat ambiguous; use :c:func:`PyCapsule_IsValid` or :c:func:" @@ -182,7 +185,7 @@ msgstr "" "de retorno ``NULL`` sea algo ambiguo; use :c:func:`PyCapsule_IsValid` o :c:" "func:`PyErr_Occurred` para desambiguar." -#: ../Doc/c-api/capsule.rst:102 +#: ../Doc/c-api/capsule.rst:103 msgid "" "Import a pointer to a C object from a capsule attribute in a module. The " "*name* parameter should specify the full name to the attribute, as in " @@ -199,7 +202,7 @@ msgstr "" "`PyImport_ImportModuleNoBlock`). Si *no_block* es falso, importa el módulo " "convencionalmente (usando :c:func:`PyImport_ImportModule`)." -#: ../Doc/c-api/capsule.rst:109 +#: ../Doc/c-api/capsule.rst:110 msgid "" "Return the capsule's internal *pointer* on success. On failure, set an " "exception and return ``NULL``." @@ -207,7 +210,7 @@ msgstr "" "Retorna el puntero *pointer* interno de la cápsula en caso de éxito. En caso " "de falla, establece una excepción y retorna ``NULL``." -#: ../Doc/c-api/capsule.rst:115 +#: ../Doc/c-api/capsule.rst:116 msgid "" "Determines whether or not *capsule* is a valid capsule. A valid capsule is " "non-``NULL``, passes :c:func:`PyCapsule_CheckExact`, has a non-``NULL`` " @@ -221,7 +224,7 @@ msgstr "" "c:func:`PyCapsule_GetPointer` para obtener información sobre cómo se " "comparan los nombres de las cápsulas)." -#: ../Doc/c-api/capsule.rst:121 +#: ../Doc/c-api/capsule.rst:122 msgid "" "In other words, if :c:func:`PyCapsule_IsValid` returns a true value, calls " "to any of the accessors (any function starting with :c:func:`PyCapsule_Get`) " @@ -231,7 +234,7 @@ msgstr "" "verdadero, las llamadas a cualquiera de las funciones de acceso (cualquier " "función que comience con :c:func:`PyCapsule_Get`) tienen éxito." -#: ../Doc/c-api/capsule.rst:125 +#: ../Doc/c-api/capsule.rst:126 msgid "" "Return a nonzero value if the object is valid and matches the name passed " "in. Return ``0`` otherwise. This function will not fail." @@ -239,23 +242,23 @@ msgstr "" "Retorna un valor distinto de cero si el objeto es válido y coincide con el " "nombre pasado. Retorna ``0`` de lo contrario. Esta función no fallará." -#: ../Doc/c-api/capsule.rst:131 +#: ../Doc/c-api/capsule.rst:132 msgid "Set the context pointer inside *capsule* to *context*." msgstr "Establece el puntero de contexto dentro de *capsule* a *context*." -#: ../Doc/c-api/capsule.rst:133 ../Doc/c-api/capsule.rst:140 -#: ../Doc/c-api/capsule.rst:149 ../Doc/c-api/capsule.rst:157 +#: ../Doc/c-api/capsule.rst:134 ../Doc/c-api/capsule.rst:141 +#: ../Doc/c-api/capsule.rst:150 ../Doc/c-api/capsule.rst:158 msgid "" "Return ``0`` on success. Return nonzero and set an exception on failure." msgstr "" "Retorna ``0`` en caso de éxito. Retorna distinto de cero y establece una " "excepción en caso de error." -#: ../Doc/c-api/capsule.rst:138 +#: ../Doc/c-api/capsule.rst:139 msgid "Set the destructor inside *capsule* to *destructor*." msgstr "Establece el destructor dentro de *capsule* en *destructor*." -#: ../Doc/c-api/capsule.rst:145 +#: ../Doc/c-api/capsule.rst:146 msgid "" "Set the name inside *capsule* to *name*. If non-``NULL``, the name must " "outlive the capsule. If the previous *name* stored in the capsule was not " @@ -265,7 +268,7 @@ msgstr "" "nombre debe sobrevivir a la cápsula. Si el *name* anterior almacenado en la " "cápsula no era ``NULL``, no se intenta liberarlo." -#: ../Doc/c-api/capsule.rst:154 +#: ../Doc/c-api/capsule.rst:155 msgid "" "Set the void pointer inside *capsule* to *pointer*. The pointer may not be " "``NULL``." diff --git a/c-api/cell.po b/c-api/cell.po index 3b2acd6444..4ab9f94951 100644 --- a/c-api/cell.po +++ b/c-api/cell.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-09 16:47+0200\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/c-api/cell.rst:6 msgid "Cell Objects" @@ -56,11 +55,14 @@ msgid "The type object corresponding to cell objects." msgstr "El objeto tipo correspondiente a los objetos celda." #: ../Doc/c-api/cell.rst:30 -msgid "Return true if *ob* is a cell object; *ob* must not be ``NULL``." +#, fuzzy +msgid "" +"Return true if *ob* is a cell object; *ob* must not be ``NULL``. This " +"function always succeeds." msgstr "" "Retorna verdadero si *ob* es un objeto de celda; *ob* no debe ser ``NULL``." -#: ../Doc/c-api/cell.rst:35 +#: ../Doc/c-api/cell.rst:36 msgid "" "Create and return a new cell object containing the value *ob*. The parameter " "may be ``NULL``." @@ -68,11 +70,11 @@ msgstr "" "Crea y retorna un nuevo objeto de celda que contiene el valor *ob*. El " "parámetro puede ser ``NULL``." -#: ../Doc/c-api/cell.rst:41 +#: ../Doc/c-api/cell.rst:42 msgid "Return the contents of the cell *cell*." msgstr "Retorna el contenido de la celda *cell*." -#: ../Doc/c-api/cell.rst:46 +#: ../Doc/c-api/cell.rst:47 msgid "" "Return the contents of the cell *cell*, but without checking that *cell* is " "non-``NULL`` and a cell object." @@ -80,7 +82,7 @@ msgstr "" "Retorna el contenido de la celda *cell*, pero sin verificar que *cell* no " "sea ``NULL`` y que sea un objeto de celda." -#: ../Doc/c-api/cell.rst:52 +#: ../Doc/c-api/cell.rst:53 msgid "" "Set the contents of the cell object *cell* to *value*. This releases the " "reference to any current content of the cell. *value* may be ``NULL``. " @@ -92,7 +94,7 @@ msgstr "" "ser ``NULL``. *cell* no debe ser ``NULL``; Si no es un objeto de celda, se " "retornará ``-1``. En caso de éxito, se retornará ``0``." -#: ../Doc/c-api/cell.rst:60 +#: ../Doc/c-api/cell.rst:61 msgid "" "Sets the value of the cell object *cell* to *value*. No reference counts " "are adjusted, and no checks are made for safety; *cell* must be non-``NULL`` " diff --git a/c-api/code.po b/c-api/code.po index 4ac457cc2c..42ca1bb7d1 100644 --- a/c-api/code.po +++ b/c-api/code.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-09 15:55+0200\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/c-api/code.rst:8 msgid "Code Objects" @@ -53,7 +52,10 @@ msgstr "" "Python :class:`code`." #: ../Doc/c-api/code.rst:30 -msgid "Return true if *co* is a :class:`code` object." +#, fuzzy +msgid "" +"Return true if *co* is a :class:`code` object. This function always " +"succeeds." msgstr "Retorna verdadero si *co* es un objeto :class:`code`." #: ../Doc/c-api/code.rst:34 diff --git a/c-api/complex.po b/c-api/complex.po index dfea37df07..663f4154f5 100644 --- a/c-api/complex.po +++ b/c-api/complex.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-16 16:48+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" "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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/c-api/complex.rst:6 msgid "Complex Number Objects" @@ -150,17 +149,19 @@ msgstr "" "Python." #: ../Doc/c-api/complex.rst:96 +#, fuzzy msgid "" "Return true if its argument is a :c:type:`PyComplexObject` or a subtype of :" -"c:type:`PyComplexObject`." +"c:type:`PyComplexObject`. This function always succeeds." msgstr "" "Retorna verdadero si su argumento es a :c:type:`PyComplexObject` o un " "subtipo de :c:type:`PyComplexObject`." #: ../Doc/c-api/complex.rst:102 +#, fuzzy msgid "" "Return true if its argument is a :c:type:`PyComplexObject`, but not a " -"subtype of :c:type:`PyComplexObject`." +"subtype of :c:type:`PyComplexObject`. This function always succeeds." msgstr "" "Retorna verdadero si su argumento es un :c:type:`PyComplexObject`, pero no " "un subtipo de :c:type:`PyComplexObject`." diff --git a/c-api/contextvars.po b/c-api/contextvars.po index c10b5b5617..ea2531bdcd 100644 --- a/c-api/contextvars.po +++ b/c-api/contextvars.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-16 17:54+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" "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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/c-api/contextvars.rst:6 msgid "Context Variables Objects" @@ -152,19 +151,11 @@ msgstr "" "actual para el hilo actual. Retorna ``0`` en caso de éxito y ``-1`` en caso " "de error." -#: ../Doc/c-api/contextvars.rst:106 -msgid "" -"Clear the context variable free list. Return the total number of freed " -"items. This function always succeeds." -msgstr "" -"Borra la lista libre de variables de contexto. Retorna el número total de " -"artículos liberados. Esta función siempre tiene éxito." - -#: ../Doc/c-api/contextvars.rst:110 +#: ../Doc/c-api/contextvars.rst:105 msgid "Context variable functions:" msgstr "Funciones variables de contexto:" -#: ../Doc/c-api/contextvars.rst:114 +#: ../Doc/c-api/contextvars.rst:109 msgid "" "Create a new ``ContextVar`` object. The *name* parameter is used for " "introspection and debug purposes. The *def* parameter may optionally " @@ -176,7 +167,7 @@ msgstr "" "especificar opcionalmente el valor predeterminado para la variable de " "contexto. Si se ha producido un error, esta función retorna ``NULL``." -#: ../Doc/c-api/contextvars.rst:121 +#: ../Doc/c-api/contextvars.rst:116 msgid "" "Get the value of a context variable. Returns ``-1`` if an error has " "occurred during lookup, and ``0`` if no error occurred, whether or not a " @@ -186,7 +177,7 @@ msgstr "" "un error durante la búsqueda y ``0`` si no se produjo ningún error, se haya " "encontrado o no un valor." -#: ../Doc/c-api/contextvars.rst:125 +#: ../Doc/c-api/contextvars.rst:120 msgid "" "If the context variable was found, *value* will be a pointer to it. If the " "context variable was *not* found, *value* will point to:" @@ -194,23 +185,23 @@ msgstr "" "Si se encontró la variable de contexto, *value* será un puntero a ella. Si " "la variable de contexto *not* se encontró, *value* apuntará a:" -#: ../Doc/c-api/contextvars.rst:128 +#: ../Doc/c-api/contextvars.rst:123 msgid "*default_value*, if not ``NULL``;" msgstr "*default_value*, si no es ``NULL``;" -#: ../Doc/c-api/contextvars.rst:129 +#: ../Doc/c-api/contextvars.rst:124 msgid "the default value of *var*, if not ``NULL``;" msgstr "el valor predeterminado de *var*, si no es ``NULL``;" -#: ../Doc/c-api/contextvars.rst:130 +#: ../Doc/c-api/contextvars.rst:125 msgid "``NULL``" msgstr "``NULL``" -#: ../Doc/c-api/contextvars.rst:132 +#: ../Doc/c-api/contextvars.rst:127 msgid "If the value was found, the function will create a new reference to it." msgstr "Si se encontró el valor, la función creará una nueva referencia a él." -#: ../Doc/c-api/contextvars.rst:136 +#: ../Doc/c-api/contextvars.rst:131 msgid "" "Set the value of *var* to *value* in the current context. Returns a pointer " "to a :c:type:`PyObject` object, or ``NULL`` if an error has occurred." @@ -219,7 +210,7 @@ msgstr "" "puntero a un objeto :c:type:`PyObject`, o ``NULL`` si se ha producido un " "error." -#: ../Doc/c-api/contextvars.rst:142 +#: ../Doc/c-api/contextvars.rst:137 msgid "" "Reset the state of the *var* context variable to that it was in before :c:" "func:`PyContextVar_Set` that returned the *token* was called. This function " @@ -228,3 +219,10 @@ msgstr "" "Restablece el estado de la variable de contexto *var* a la que estaba antes :" "c:func:`PyContextVar_Set` que retornó el *token* fue llamado. Esta función " "retorna ``0`` en caso de éxito y ``-1`` en caso de error." + +#~ msgid "" +#~ "Clear the context variable free list. Return the total number of freed " +#~ "items. This function always succeeds." +#~ msgstr "" +#~ "Borra la lista libre de variables de contexto. Retorna el número total de " +#~ "artículos liberados. Esta función siempre tiene éxito." diff --git a/c-api/conversion.po b/c-api/conversion.po index 7c362a512c..d9fe0e4837 100644 --- a/c-api/conversion.po +++ b/c-api/conversion.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-17 19:15+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" "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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/c-api/conversion.rst:6 msgid "String conversion and formatting" @@ -33,20 +32,22 @@ msgstr "" "formateadas." #: ../Doc/c-api/conversion.rst:13 +#, fuzzy msgid "" "Output not more than *size* bytes to *str* according to the format string " "*format* and the extra arguments. See the Unix man page :manpage:" -"`snprintf(2)`." +"`snprintf(3)`." msgstr "" "Salida de no más de *size* bytes a *str* según la cadena de caracteres de " "formato *format* y los argumentos adicionales. Consulte la página de manual " "de Unix :manpage:`snprintf(2)`." #: ../Doc/c-api/conversion.rst:19 +#, fuzzy msgid "" "Output not more than *size* bytes to *str* according to the format string " "*format* and the variable argument list *va*. Unix man page :manpage:" -"`vsnprintf(2)`." +"`vsnprintf(3)`." msgstr "" "Salida de no más de *size* bytes a *str* según la cadena de caracteres de " "formato *format* y la lista de argumentos variables *va*. Página de manual " @@ -67,8 +68,9 @@ msgstr "" "(*corner cases*), que las funciones del Estándar C no hacen." #: ../Doc/c-api/conversion.rst:28 +#, fuzzy msgid "" -"The wrappers ensure that *str*[*size*-1] is always ``'\\0'`` upon return. " +"The wrappers ensure that ``str[size-1]`` is always ``'\\0'`` upon return. " "They never write more than *size* bytes (including the trailing ``'\\0'``) " "into str. Both functions require that ``str != NULL``, ``size > 0`` and " "``format != NULL``." @@ -96,19 +98,21 @@ msgstr "" "siguiente manera:" #: ../Doc/c-api/conversion.rst:39 +#, fuzzy msgid "" "When ``0 <= rv < size``, the output conversion was successful and *rv* " "characters were written to *str* (excluding the trailing ``'\\0'`` byte at " -"*str*[*rv*])." +"``str[rv]``)." msgstr "" "Cuando ``0 <= rv < size``, la conversión de salida fue exitosa y los " "caracteres *rv* se escribieron en *str* (excluyendo el byte ``'\\0'`` final " "en *str*[*rv*])." #: ../Doc/c-api/conversion.rst:43 +#, fuzzy msgid "" "When ``rv >= size``, the output conversion was truncated and a buffer with " -"``rv + 1`` bytes would have been needed to succeed. *str*[*size*-1] is " +"``rv + 1`` bytes would have been needed to succeed. ``str[size-1]`` is " "``'\\0'`` in this case." msgstr "" "Cuando ``rv >= size``, la conversión de salida se truncó y se habría " @@ -116,8 +120,9 @@ msgstr "" "es ``'\\0'`` en este caso." #: ../Doc/c-api/conversion.rst:47 +#, fuzzy msgid "" -"When ``rv < 0``, \"something bad happened.\" *str*[*size*-1] is ``'\\0'`` in " +"When ``rv < 0``, \"something bad happened.\" ``str[size-1]`` is ``'\\0'`` in " "this case too, but the rest of *str* is undefined. The exact cause of the " "error depends on the underlying platform." msgstr "" diff --git a/c-api/coro.po b/c-api/coro.po index adda617c7e..13bcd4468d 100644 --- a/c-api/coro.po +++ b/c-api/coro.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-09 03:22+0200\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/c-api/coro.rst:6 msgid "Coroutine Objects" @@ -43,14 +42,15 @@ msgid "The type object corresponding to coroutine objects." msgstr "El tipo de objeto correspondiente a los objetos corrutina." #: ../Doc/c-api/coro.rst:26 +#, fuzzy msgid "" "Return true if *ob*'s type is :c:type:`PyCoro_Type`; *ob* must not be " -"``NULL``." +"``NULL``. This function always succeeds." msgstr "" "Retorna verdadero si el tipo de *ob* es :c:type:`PyCoro_Type`; *ob* no debe " "ser ``NULL``." -#: ../Doc/c-api/coro.rst:31 +#: ../Doc/c-api/coro.rst:32 msgid "" "Create and return a new coroutine object based on the *frame* object, with " "``__name__`` and ``__qualname__`` set to *name* and *qualname*. A reference " diff --git a/c-api/datetime.po b/c-api/datetime.po index 36bcf2d871..902b836446 100644 --- a/c-api/datetime.po +++ b/c-api/datetime.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-17 20:20+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" "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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/c-api/datetime.rst:6 msgid "DateTime Objects" @@ -62,97 +61,112 @@ msgid "Type-check macros:" msgstr "Macros de verificación de tipo:" #: ../Doc/c-api/datetime.rst:30 +#, 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``." +"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``." -#: ../Doc/c-api/datetime.rst:36 +#: ../Doc/c-api/datetime.rst:37 +#, fuzzy msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_DateType`. *ob* must not " -"be ``NULL``." +"be ``NULL``. This function always succeeds." msgstr "" "Retorna verdadero si *ob* es de tipo :c:data:`PyDateTime_DateType`. *ob* no " "debe ser ``NULL``." -#: ../Doc/c-api/datetime.rst:42 +#: ../Doc/c-api/datetime.rst:43 +#, 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``." +"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``." -#: ../Doc/c-api/datetime.rst:48 +#: ../Doc/c-api/datetime.rst:50 +#, fuzzy msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_DateTimeType`. *ob* must " -"not be ``NULL``." +"not be ``NULL``. This function always succeeds." msgstr "" "Retorna verdadero si *ob* es de tipo :c:data:`PyDateTime_DateTimeType`. *ob* " "no debe ser ``NULL``." -#: ../Doc/c-api/datetime.rst:54 +#: ../Doc/c-api/datetime.rst:56 +#, 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``." +"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``." -#: ../Doc/c-api/datetime.rst:60 +#: ../Doc/c-api/datetime.rst:63 +#, fuzzy msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_TimeType`. *ob* must not " -"be ``NULL``." +"be ``NULL``. This function always succeeds." msgstr "" "Retorna verdadero si *ob* es de tipo :c:data:`PyDateTime_TimeType`. *ob* no " "debe ser ``NULL``." -#: ../Doc/c-api/datetime.rst:66 +#: ../Doc/c-api/datetime.rst:69 +#, 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``." +"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``." -#: ../Doc/c-api/datetime.rst:72 +#: ../Doc/c-api/datetime.rst:76 +#, fuzzy msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_DeltaType`. *ob* must not " -"be ``NULL``." +"be ``NULL``. This function always succeeds." msgstr "" "Retorna verdadero si *ob* es de tipo :c:data:`PyDateTime_DeltaType`. *ob* no " "debe ser ``NULL``." -#: ../Doc/c-api/datetime.rst:78 +#: ../Doc/c-api/datetime.rst:82 +#, 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``." +"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``." -#: ../Doc/c-api/datetime.rst:84 +#: ../Doc/c-api/datetime.rst:89 +#, fuzzy msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_TZInfoType`. *ob* must " -"not be ``NULL``." +"not be ``NULL``. This function always succeeds." msgstr "" "Retorna verdadero si *ob* es de tipo :c:data:`PyDateTime_TZInfoType`. *ob* " "no debe ser ``NULL``." -#: ../Doc/c-api/datetime.rst:88 +#: ../Doc/c-api/datetime.rst:93 msgid "Macros to create objects:" msgstr "Macros para crear objetos:" -#: ../Doc/c-api/datetime.rst:92 +#: ../Doc/c-api/datetime.rst:97 msgid "" "Return a :class:`datetime.date` object with the specified year, month and " "day." msgstr "" "Retorna un objeto :class:`datetime.date` con el año, mes y día especificados." -#: ../Doc/c-api/datetime.rst:97 +#: ../Doc/c-api/datetime.rst:102 msgid "" "Return a :class:`datetime.datetime` object with the specified year, month, " "day, hour, minute, second and microsecond." @@ -160,7 +174,7 @@ msgstr "" "Retorna un objeto :class:`datetime.datetime` con el año, mes, día, hora, " "minuto, segundo y micro segundo especificados." -#: ../Doc/c-api/datetime.rst:103 +#: ../Doc/c-api/datetime.rst:108 msgid "" "Return a :class:`datetime.datetime` object with the specified year, month, " "day, hour, minute, second, microsecond and fold." @@ -168,7 +182,7 @@ msgstr "" "Retorna un objeto :class:`datetime.datetime` con el año, mes, día, hora, " "minuto, segundo, micro segundo y doblez especificados." -#: ../Doc/c-api/datetime.rst:111 +#: ../Doc/c-api/datetime.rst:116 msgid "" "Return a :class:`datetime.time` object with the specified hour, minute, " "second and microsecond." @@ -176,7 +190,7 @@ msgstr "" "Retorna un objeto :class:`datetime.time` con la hora, minuto, segundo y " "micro segundo especificados." -#: ../Doc/c-api/datetime.rst:117 +#: ../Doc/c-api/datetime.rst:122 msgid "" "Return a :class:`datetime.time` object with the specified hour, minute, " "second, microsecond and fold." @@ -184,7 +198,7 @@ msgstr "" "Retorna un objeto :class:`datetime.time` con la hora, minuto, segundo, micro " "segundo y doblez especificados." -#: ../Doc/c-api/datetime.rst:125 +#: ../Doc/c-api/datetime.rst:130 msgid "" "Return a :class:`datetime.timedelta` object representing the given number of " "days, seconds and microseconds. Normalization is performed so that the " @@ -196,7 +210,7 @@ msgstr "" "el número resultante de micro segundos y segundos se encuentre en los rangos " "documentados para los objetos :class:`datetime.timedelta`." -#: ../Doc/c-api/datetime.rst:132 +#: ../Doc/c-api/datetime.rst:137 msgid "" "Return a :class:`datetime.timezone` object with an unnamed fixed offset " "represented by the *offset* argument." @@ -204,7 +218,7 @@ msgstr "" "Retorna un objeto :class:`datetime.timezone` con un desplazamiento fijo sin " "nombre representado por el argumento *offset*." -#: ../Doc/c-api/datetime.rst:139 +#: ../Doc/c-api/datetime.rst:144 msgid "" "Return a :class:`datetime.timezone` object with a fixed offset represented " "by the *offset* argument and with tzname *name*." @@ -212,7 +226,7 @@ msgstr "" "Retorna un objeto :class:`datetime.timezone` con un desplazamiento fijo " "representado por el argumento *offset* y con tzname *name*." -#: ../Doc/c-api/datetime.rst:145 +#: ../Doc/c-api/datetime.rst:150 msgid "" "Macros to extract fields from date objects. The argument must be an " "instance of :c:data:`PyDateTime_Date`, including subclasses (such as :c:data:" @@ -224,19 +238,19 @@ msgstr "" "data:`PyDateTime_DateTime`). El argumento no debe ser ``NULL`` y el tipo no " "está marcado:" -#: ../Doc/c-api/datetime.rst:152 +#: ../Doc/c-api/datetime.rst:157 msgid "Return the year, as a positive int." msgstr "Regrese el año, como un int positivo." -#: ../Doc/c-api/datetime.rst:157 +#: ../Doc/c-api/datetime.rst:162 msgid "Return the month, as an int from 1 through 12." msgstr "Regresa el mes, como int del 1 al 12." -#: ../Doc/c-api/datetime.rst:162 +#: ../Doc/c-api/datetime.rst:167 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:165 +#: ../Doc/c-api/datetime.rst:170 msgid "" "Macros to extract fields from datetime objects. The argument must be an " "instance of :c:data:`PyDateTime_DateTime`, including subclasses. The " @@ -246,23 +260,23 @@ msgstr "" "una instancia de :c:data:`PyDateTime_DateTime`, incluidas las subclases. El " "argumento no debe ser ``NULL`` y el tipo no es comprobado:" -#: ../Doc/c-api/datetime.rst:171 ../Doc/c-api/datetime.rst:195 +#: ../Doc/c-api/datetime.rst:176 ../Doc/c-api/datetime.rst:200 msgid "Return the hour, as an int from 0 through 23." msgstr "Retorna la hora, como un int de 0 hasta 23." -#: ../Doc/c-api/datetime.rst:176 ../Doc/c-api/datetime.rst:200 +#: ../Doc/c-api/datetime.rst:181 ../Doc/c-api/datetime.rst:205 msgid "Return the minute, as an int from 0 through 59." msgstr "Retorna el minuto, como un int de 0 hasta 59." -#: ../Doc/c-api/datetime.rst:181 ../Doc/c-api/datetime.rst:205 +#: ../Doc/c-api/datetime.rst:186 ../Doc/c-api/datetime.rst:210 msgid "Return the second, as an int from 0 through 59." msgstr "Retorna el segundo, como un int de 0 hasta 59." -#: ../Doc/c-api/datetime.rst:186 ../Doc/c-api/datetime.rst:210 +#: ../Doc/c-api/datetime.rst:191 ../Doc/c-api/datetime.rst:215 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:189 +#: ../Doc/c-api/datetime.rst:194 msgid "" "Macros to extract fields from time objects. The argument must be an " "instance of :c:data:`PyDateTime_Time`, including subclasses. The argument " @@ -272,7 +286,7 @@ msgstr "" "instancia de :c:data:`PyDateTime_Time`, incluidas las subclases. El " "argumento no debe ser ``NULL`` y el tipo no está marcado:" -#: ../Doc/c-api/datetime.rst:213 +#: ../Doc/c-api/datetime.rst:218 msgid "" "Macros to extract fields from time delta objects. The argument must be an " "instance of :c:data:`PyDateTime_Delta`, including subclasses. The argument " @@ -282,23 +296,23 @@ msgstr "" "una instancia de :c:data:`PyDateTime_Delta`, incluidas las subclases. El " "argumento no debe ser ``NULL`` y el tipo no está marcado:" -#: ../Doc/c-api/datetime.rst:219 +#: ../Doc/c-api/datetime.rst:224 msgid "Return the number of days, as an int from -999999999 to 999999999." msgstr "Retorna el número de días, como un int desde -999999999 a 999999999." -#: ../Doc/c-api/datetime.rst:226 +#: ../Doc/c-api/datetime.rst:231 msgid "Return the number of seconds, as an int from 0 through 86399." msgstr "Retorna el número de segundos, como un int de 0 a 86399." -#: ../Doc/c-api/datetime.rst:233 +#: ../Doc/c-api/datetime.rst:238 msgid "Return the number of microseconds, as an int from 0 through 999999." msgstr "Retorna el número de micro segundos, como un int de 0 a 999999." -#: ../Doc/c-api/datetime.rst:238 +#: ../Doc/c-api/datetime.rst:243 msgid "Macros for the convenience of modules implementing the DB API:" msgstr "Macros para la conveniencia de módulos que implementan la API DB:" -#: ../Doc/c-api/datetime.rst:242 +#: ../Doc/c-api/datetime.rst:247 msgid "" "Create and return a new :class:`datetime.datetime` object given an argument " "tuple suitable for passing to :meth:`datetime.datetime.fromtimestamp()`." @@ -306,7 +320,7 @@ msgstr "" "Crea y retorna un nuevo objeto :class:`datetime.datetime` dado una tupla de " "argumentos adecuada para pasar a :meth:`datetime.datetime.fromtimestamp()`." -#: ../Doc/c-api/datetime.rst:248 +#: ../Doc/c-api/datetime.rst:253 msgid "" "Create and return a new :class:`datetime.date` object given an argument " "tuple suitable for passing to :meth:`datetime.date.fromtimestamp()`." diff --git a/c-api/dict.po b/c-api/dict.po index 745db2e770..4244f51bd8 100644 --- a/c-api/dict.po +++ b/c-api/dict.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-17 19:53+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" "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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/c-api/dict.rst:6 msgid "Dictionary Objects" @@ -42,17 +41,19 @@ msgstr "" "Python. Este es el mismo objeto que :class:`dict` en la capa de Python." #: ../Doc/c-api/dict.rst:24 +#, fuzzy msgid "" "Return true if *p* is a dict object or an instance of a subtype of the dict " -"type." +"type. This function always succeeds." msgstr "" "Retorna verdadero si *p* es un objeto ``dict`` o una instancia de un subtipo " "del tipo ``dict``." #: ../Doc/c-api/dict.rst:30 +#, fuzzy msgid "" "Return true if *p* is a dict object, but not an instance of a subtype of the " -"dict type." +"dict type. This function always succeeds." msgstr "" "Retorna verdadero si *p* es un objeto ``dict``, pero no una instancia de un " "subtipo del tipo ``dict``." @@ -107,9 +108,10 @@ msgstr "" "referencia a *val*." #: ../Doc/c-api/dict.rst:75 +#, fuzzy msgid "" "Insert *val* into the dictionary *p* using *key* as a key. *key* should be " -"a :c:type:`const char\\*`. The key object is created using " +"a :c:type:`const char*`. The key object is created using " "``PyUnicode_FromString(key)``. Return ``0`` on success or ``-1`` on " "failure. This function *does not* steal a reference to *val*." msgstr "" @@ -119,25 +121,28 @@ msgstr "" "caso de error. Esta función *no* roba una referencia a *val*." #: ../Doc/c-api/dict.rst:83 +#, fuzzy msgid "" "Remove the entry in dictionary *p* with key *key*. *key* must be hashable; " -"if it isn't, :exc:`TypeError` is raised. Return ``0`` on success or ``-1`` " -"on failure." +"if it isn't, :exc:`TypeError` is raised. If *key* is not in the dictionary, :" +"exc:`KeyError` is raised. Return ``0`` on success or ``-1`` on failure." msgstr "" "Elimina la entrada en el diccionario *p* con la clave *key*. *key* debe ser " "*hashable*; si no lo está, :exc:`TypeError` se lanza. Retorna ``0`` en caso " "de éxito o ``-1`` en caso de error." -#: ../Doc/c-api/dict.rst:90 +#: ../Doc/c-api/dict.rst:91 +#, fuzzy msgid "" "Remove the entry in dictionary *p* which has a key specified by the string " -"*key*. Return ``0`` on success or ``-1`` on failure." +"*key*. If *key* is not in the dictionary, :exc:`KeyError` is raised. Return " +"``0`` on success or ``-1`` on failure." msgstr "" "Elimina la entrada en el diccionario *p* que tiene una clave especificada " "por la cadena de caracteres *key*. Retorna ``0`` en caso de éxito o ``-1`` " "en caso de error." -#: ../Doc/c-api/dict.rst:96 +#: ../Doc/c-api/dict.rst:98 msgid "" "Return the object from dictionary *p* which has a key *key*. Return " "``NULL`` if the key *key* is not present, but *without* setting an exception." @@ -145,7 +150,7 @@ msgstr "" "Retorna el objeto del diccionario *p* que tiene una clave *key*. Retorna " "``NULL`` si la clave *key* no está presente, pero *sin* lanzar una excepción." -#: ../Doc/c-api/dict.rst:99 +#: ../Doc/c-api/dict.rst:101 msgid "" "Note that exceptions which occur while calling :meth:`__hash__` and :meth:" "`__eq__` methods will get suppressed. To get error reporting use :c:func:" @@ -155,7 +160,7 @@ msgstr "" "`__hash__` y :meth:`__eq__` se suprimirán los métodos. Para obtener informes " "de errores, utilice :c:func:`PyDict_GetItemWithError ()` en su lugar." -#: ../Doc/c-api/dict.rst:106 +#: ../Doc/c-api/dict.rst:108 msgid "" "Variant of :c:func:`PyDict_GetItem` that does not suppress exceptions. " "Return ``NULL`` **with** an exception set if an exception occurred. Return " @@ -166,15 +171,16 @@ msgstr "" "Retorna ``NULL`` **sin** una excepción establecida si la clave no estaba " "presente." -#: ../Doc/c-api/dict.rst:114 +#: ../Doc/c-api/dict.rst:116 +#, fuzzy msgid "" "This is the same as :c:func:`PyDict_GetItem`, but *key* is specified as a :c:" -"type:`const char\\*`, rather than a :c:type:`PyObject\\*`." +"type:`const char*`, rather than a :c:type:`PyObject*`." msgstr "" "Esto es lo mismo que :c:func:`PyDict_GetItem`, pero *key* se especifica como " "un :c:type:`const char\\*`, en lugar de un :c:type:`PyObject\\*`." -#: ../Doc/c-api/dict.rst:117 +#: ../Doc/c-api/dict.rst:119 msgid "" "Note that exceptions which occur while calling :meth:`__hash__` and :meth:" "`__eq__` methods and creating a temporary string object will get suppressed. " @@ -185,7 +191,7 @@ msgstr "" "temporal se suprimirán. Para obtener informes de errores, utilice :c:func:" "`PyDict_GetItemWithError()` en su lugar." -#: ../Doc/c-api/dict.rst:125 +#: ../Doc/c-api/dict.rst:127 msgid "" "This is the same as the Python-level :meth:`dict.setdefault`. If present, " "it returns the value corresponding to *key* from the dictionary *p*. If the " @@ -201,21 +207,21 @@ msgstr "" "una vez, en lugar de evaluarla independientemente para la búsqueda y la " "inserción." -#: ../Doc/c-api/dict.rst:135 +#: ../Doc/c-api/dict.rst:137 msgid "" "Return a :c:type:`PyListObject` containing all the items from the dictionary." msgstr "" "Retorna un :c:type:`PyListObject` que contiene todos los elementos del " "diccionario." -#: ../Doc/c-api/dict.rst:140 +#: ../Doc/c-api/dict.rst:142 msgid "" "Return a :c:type:`PyListObject` containing all the keys from the dictionary." msgstr "" "Retorna un :c:type:`PyListObject` que contiene todas las claves del " "diccionario." -#: ../Doc/c-api/dict.rst:145 +#: ../Doc/c-api/dict.rst:147 msgid "" "Return a :c:type:`PyListObject` containing all the values from the " "dictionary *p*." @@ -223,7 +229,7 @@ msgstr "" "Retorna un :c:type:`PyListObject` que contiene todos los valores del " "diccionario *p*." -#: ../Doc/c-api/dict.rst:153 +#: ../Doc/c-api/dict.rst:155 msgid "" "Return the number of items in the dictionary. This is equivalent to " "``len(p)`` on a dictionary." @@ -231,14 +237,15 @@ msgstr "" "Retorna el número de elementos en el diccionario. Esto es equivalente a " "``len(p)`` en un diccionario." -#: ../Doc/c-api/dict.rst:159 +#: ../Doc/c-api/dict.rst:161 +#, fuzzy msgid "" "Iterate over all key-value pairs in the dictionary *p*. The :c:type:" "`Py_ssize_t` referred to by *ppos* must be initialized to ``0`` prior to the " "first call to this function to start the iteration; the function returns " "true for each pair in the dictionary, and false once all pairs have been " "reported. The parameters *pkey* and *pvalue* should either point to :c:type:" -"`PyObject\\*` variables that will be filled in with each key and value, " +"`PyObject*` variables that will be filled in with each key and value, " "respectively, or may be ``NULL``. Any references returned through them are " "borrowed. *ppos* should not be altered during iteration. Its value " "represents offsets within the internal dictionary structure, and since the " @@ -256,11 +263,11 @@ msgstr "" "interna del diccionario, y dado que la estructura es escasa, los " "desplazamientos no son consecutivos." -#: ../Doc/c-api/dict.rst:170 +#: ../Doc/c-api/dict.rst:172 msgid "For example::" msgstr "Por ejemplo::" -#: ../Doc/c-api/dict.rst:180 +#: ../Doc/c-api/dict.rst:182 msgid "" "The dictionary *p* should not be mutated during iteration. It is safe to " "modify the values of the keys as you iterate over the dictionary, but only " @@ -270,7 +277,7 @@ msgstr "" "los valores de las claves a medida que recorre el diccionario, pero solo " "mientras el conjunto de claves no cambie. Por ejemplo::" -#: ../Doc/c-api/dict.rst:205 +#: ../Doc/c-api/dict.rst:207 msgid "" "Iterate over mapping object *b* adding key-value pairs to dictionary *a*. " "*b* may be a dictionary, or any object supporting :c:func:`PyMapping_Keys` " @@ -287,7 +294,7 @@ msgstr "" "si no hay una clave coincidente en *a*. Retorna ``0`` en caso de éxito o " "``-1`` si se lanza una excepción." -#: ../Doc/c-api/dict.rst:215 +#: ../Doc/c-api/dict.rst:217 msgid "" "This is the same as ``PyDict_Merge(a, b, 1)`` in C, and is similar to ``a." "update(b)`` in Python except that :c:func:`PyDict_Update` doesn't fall back " @@ -301,7 +308,7 @@ msgstr "" "argumento no tiene el atributo \"claves\". Retorna ``0`` en caso de éxito o " "``-1`` si se produjo una excepción." -#: ../Doc/c-api/dict.rst:224 +#: ../Doc/c-api/dict.rst:226 msgid "" "Update or merge into dictionary *a*, from the key-value pairs in *seq2*. " "*seq2* must be an iterable object producing iterable objects of length 2, " @@ -316,6 +323,6 @@ msgstr "" "Retorna ``0`` en caso de éxito o ``-1`` si se produjo una excepción. El " "equivalente en Python (excepto el valor de retorno) ::" -#: ../Doc/c-api/dict.rst:239 -msgid "Clear the free list. Return the total number of freed items." -msgstr "Borra la lista libre. Retorna el número total de artículos liberados." +#~ msgid "Clear the free list. Return the total number of freed items." +#~ msgstr "" +#~ "Borra la lista libre. Retorna el número total de artículos liberados." diff --git a/c-api/exceptions.po b/c-api/exceptions.po index 6cd534d7ef..a0cfc181a6 100644 --- a/c-api/exceptions.po +++ b/c-api/exceptions.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-06-21 18:38+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" "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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/c-api/exceptions.rst:8 msgid "Exception Handling" @@ -582,7 +581,11 @@ msgstr "" "configurado, retorna ``NULL``. No posee una referencia al valor de retorno, " "por lo que no necesita usar :c:func:`Py_DECREF`." -#: ../Doc/c-api/exceptions.rst:379 +#: ../Doc/c-api/exceptions.rst:377 +msgid "The caller must hold the GIL." +msgstr "" + +#: ../Doc/c-api/exceptions.rst:381 msgid "" "Do not compare the return value to a specific exception; use :c:func:" "`PyErr_ExceptionMatches` instead, shown below. (The comparison could easily " @@ -595,7 +598,7 @@ msgstr "" "instancia en lugar de una clase, en el caso de una excepción de clase, o " "puede ser una subclase de la excepción esperada)." -#: ../Doc/c-api/exceptions.rst:387 +#: ../Doc/c-api/exceptions.rst:389 msgid "" "Equivalent to ``PyErr_GivenExceptionMatches(PyErr_Occurred(), exc)``. This " "should only be called when an exception is actually set; a memory access " @@ -605,7 +608,7 @@ msgstr "" "solo debería llamarse cuando se establece una excepción; se producirá una " "infracción de acceso a la memoria si no se ha producido ninguna excepción." -#: ../Doc/c-api/exceptions.rst:394 +#: ../Doc/c-api/exceptions.rst:396 msgid "" "Return true if the *given* exception matches the exception type in *exc*. " "If *exc* is a class object, this also returns true when *given* is an " @@ -618,7 +621,7 @@ msgstr "" "busca una coincidencia en todos los tipos de excepción en la tupla (y " "recursivamente en sub tuplas)." -#: ../Doc/c-api/exceptions.rst:402 +#: ../Doc/c-api/exceptions.rst:404 msgid "" "Retrieve the error indicator into three variables whose addresses are " "passed. If the error indicator is not set, set all three variables to " @@ -632,7 +635,7 @@ msgstr "" "cada objeto recuperado. El objeto de valor y rastreo puede ser ``NULL`` " "incluso cuando el objeto de tipo no lo es." -#: ../Doc/c-api/exceptions.rst:409 +#: ../Doc/c-api/exceptions.rst:411 msgid "" "This function is normally only used by code that needs to catch exceptions " "or by code that needs to save and restore the error indicator temporarily, e." @@ -642,7 +645,7 @@ msgstr "" "excepciones o el código que necesita guardar y restaurar el indicador de " "error temporalmente, por ejemplo:" -#: ../Doc/c-api/exceptions.rst:424 +#: ../Doc/c-api/exceptions.rst:426 msgid "" "Set the error indicator from the three objects. If the error indicator is " "already set, it is cleared first. If the objects are ``NULL``, the error " @@ -664,7 +667,7 @@ msgstr "" "no posee estas referencias. (Si no comprende esto, no use esta función. Se " "lo advertí)." -#: ../Doc/c-api/exceptions.rst:436 +#: ../Doc/c-api/exceptions.rst:438 msgid "" "This function is normally only used by code that needs to save and restore " "the error indicator temporarily. Use :c:func:`PyErr_Fetch` to save the " @@ -674,7 +677,7 @@ msgstr "" "restaurar el indicador de error temporalmente. Use :c:func:`PyErr_Fetch` " "para guardar el indicador de error actual." -#: ../Doc/c-api/exceptions.rst:443 +#: ../Doc/c-api/exceptions.rst:445 msgid "" "Under certain circumstances, the values returned by :c:func:`PyErr_Fetch` " "below can be \"unnormalized\", meaning that ``*exc`` is a class object but " @@ -691,7 +694,7 @@ msgstr "" "pasa nada. La normalización retrasada se implementa para mejorar el " "rendimiento." -#: ../Doc/c-api/exceptions.rst:451 +#: ../Doc/c-api/exceptions.rst:453 msgid "" "This function *does not* implicitly set the ``__traceback__`` attribute on " "the exception value. If setting the traceback appropriately is desired, the " @@ -701,7 +704,7 @@ msgstr "" "el valor de excepción. Si se desea establecer el rastreo de manera adecuada, " "se necesita el siguiente fragmento adicional:" -#: ../Doc/c-api/exceptions.rst:462 +#: ../Doc/c-api/exceptions.rst:464 msgid "" "Retrieve the exception info, as known from ``sys.exc_info()``. This refers " "to an exception that was *already caught*, not to an exception that was " @@ -714,7 +717,7 @@ msgstr "" "objetos, cualquiera de los cuales puede ser ``NULL``. No modifica el estado " "de información de excepción." -#: ../Doc/c-api/exceptions.rst:469 +#: ../Doc/c-api/exceptions.rst:471 msgid "" "This function is not normally used by code that wants to handle exceptions. " "Rather, it can be used when code needs to save and restore the exception " @@ -726,7 +729,7 @@ msgstr "" "restaurar el estado de excepción temporalmente. Use :c:func:" "`PyErr_SetExcInfo` para restaurar o borrar el estado de excepción." -#: ../Doc/c-api/exceptions.rst:479 +#: ../Doc/c-api/exceptions.rst:481 msgid "" "Set the exception info, as known from ``sys.exc_info()``. This refers to an " "exception that was *already caught*, not to an exception that was freshly " @@ -741,7 +744,7 @@ msgstr "" "``NULL`` para los tres argumentos. Para ver las reglas generales sobre los " "tres argumentos, consulte :c:func:`PyErr_Restore`." -#: ../Doc/c-api/exceptions.rst:487 +#: ../Doc/c-api/exceptions.rst:489 msgid "" "This function is not normally used by code that wants to handle exceptions. " "Rather, it can be used when code needs to save and restore the exception " @@ -753,11 +756,11 @@ msgstr "" "restaurar el estado de excepción temporalmente. Use :c:func:" "`PyErr_GetExcInfo` para leer el estado de excepción." -#: ../Doc/c-api/exceptions.rst:496 +#: ../Doc/c-api/exceptions.rst:498 msgid "Signal Handling" msgstr "Manejo de señal" -#: ../Doc/c-api/exceptions.rst:506 +#: ../Doc/c-api/exceptions.rst:508 msgid "" "This function interacts with Python's signal handling. It checks whether a " "signal has been sent to the processes and if so, invokes the corresponding " @@ -777,7 +780,7 @@ msgstr "" "de error y la función retorna ``-1``; de lo contrario, la función retorna " "``0``. El indicador de error puede o no borrarse si se configuró previamente." -#: ../Doc/c-api/exceptions.rst:522 +#: ../Doc/c-api/exceptions.rst:524 msgid "" "Simulate the effect of a :const:`SIGINT` signal arriving. The next time :c:" "func:`PyErr_CheckSignals` is called, the Python signal handler for :const:" @@ -787,7 +790,7 @@ msgstr "" "se llama :c:func:`PyErr_CheckSignals`, se llamará al manejador de señal de " "Python para :const:`SIGINT`." -#: ../Doc/c-api/exceptions.rst:526 +#: ../Doc/c-api/exceptions.rst:528 msgid "" "If :const:`SIGINT` isn't handled by Python (it was set to :data:`signal." "SIG_DFL` or :data:`signal.SIG_IGN`), this function does nothing." @@ -795,7 +798,7 @@ msgstr "" "Si :const:`SIGINT` no es manejado por Python (se configuró en :data:`signal." "SIG_DFL` o :data:`signal.SIG_IGN`), esta función no hace nada." -#: ../Doc/c-api/exceptions.rst:532 +#: ../Doc/c-api/exceptions.rst:534 msgid "" "This utility function specifies a file descriptor to which the signal number " "is written as a single byte whenever a signal is received. *fd* must be non-" @@ -805,7 +808,7 @@ msgstr "" "número de señal se escribe como un solo byte cada vez que se recibe una " "señal. *fd* debe ser sin bloqueo. retorna el descriptor de archivo anterior." -#: ../Doc/c-api/exceptions.rst:536 +#: ../Doc/c-api/exceptions.rst:538 msgid "" "The value ``-1`` disables the feature; this is the initial state. This is " "equivalent to :func:`signal.set_wakeup_fd` in Python, but without any error " @@ -817,15 +820,15 @@ msgstr "" "de errores. *fd* debe ser un descriptor de archivo válido. La función solo " "debe llamarse desde el hilo principal." -#: ../Doc/c-api/exceptions.rst:541 +#: ../Doc/c-api/exceptions.rst:543 msgid "On Windows, the function now also supports socket handles." msgstr "En Windows, la función ahora también admite controladores de socket." -#: ../Doc/c-api/exceptions.rst:546 +#: ../Doc/c-api/exceptions.rst:548 msgid "Exception Classes" msgstr "Clases de Excepción" -#: ../Doc/c-api/exceptions.rst:550 +#: ../Doc/c-api/exceptions.rst:552 msgid "" "This utility function creates and returns a new exception class. The *name* " "argument must be the name of the new exception, a C string of the form " @@ -839,7 +842,7 @@ msgstr "" "*dict* son normalmente ``NULL``. Esto crea un objeto de clase derivado de :" "exc:`Exception` (accesible en C como :c:data:`PyExc_Exception`)." -#: ../Doc/c-api/exceptions.rst:556 +#: ../Doc/c-api/exceptions.rst:558 msgid "" "The :attr:`__module__` attribute of the new class is set to the first part " "(up to the last dot) of the *name* argument, and the class name is set to " @@ -855,7 +858,7 @@ msgstr "" "solo una clase o una tupla de clases. El argumento *dict* se puede usar para " "especificar un diccionario de variables de clase y métodos." -#: ../Doc/c-api/exceptions.rst:565 +#: ../Doc/c-api/exceptions.rst:567 msgid "" "Same as :c:func:`PyErr_NewException`, except that the new exception class " "can easily be given a docstring: If *doc* is non-``NULL``, it will be used " @@ -866,11 +869,11 @@ msgstr "" "es ``NULL``, se utilizará como la cadena de documentación para la clase de " "excepción." -#: ../Doc/c-api/exceptions.rst:573 +#: ../Doc/c-api/exceptions.rst:575 msgid "Exception Objects" msgstr "Objetos Excepción" -#: ../Doc/c-api/exceptions.rst:577 +#: ../Doc/c-api/exceptions.rst:579 msgid "" "Return the traceback associated with the exception as a new reference, as " "accessible from Python through :attr:`__traceback__`. If there is no " @@ -880,7 +883,7 @@ msgstr "" "accesible desde Python a través de :attr:`__traceback__`. Si no hay un " "rastreo asociado, esto retorna ``NULL``." -#: ../Doc/c-api/exceptions.rst:584 +#: ../Doc/c-api/exceptions.rst:586 msgid "" "Set the traceback associated with the exception to *tb*. Use ``Py_None`` to " "clear it." @@ -888,7 +891,7 @@ msgstr "" "Establezca el rastreo asociado con la excepción a *tb*. Use ``Py_None`` para " "borrarlo." -#: ../Doc/c-api/exceptions.rst:590 +#: ../Doc/c-api/exceptions.rst:592 msgid "" "Return the context (another exception instance during whose handling *ex* " "was raised) associated with the exception as a new reference, as accessible " @@ -900,7 +903,7 @@ msgstr "" "Python a través de :attr:`__context__`. Si no hay un contexto asociado, esto " "retorna ``NULL``." -#: ../Doc/c-api/exceptions.rst:598 +#: ../Doc/c-api/exceptions.rst:600 msgid "" "Set the context associated with the exception to *ctx*. Use ``NULL`` to " "clear it. There is no type check to make sure that *ctx* is an exception " @@ -910,7 +913,7 @@ msgstr "" "borrarlo. No hay verificación de tipo para asegurarse de que *ctx* es una " "instancia de excepción. Esto roba una referencia a *ctx*." -#: ../Doc/c-api/exceptions.rst:605 +#: ../Doc/c-api/exceptions.rst:607 msgid "" "Return the cause (either an exception instance, or :const:`None`, set by " "``raise ... from ...``) associated with the exception as a new reference, as " @@ -920,7 +923,7 @@ msgstr "" "establecida por ``raise ... from ...``) asociada con la excepción como una " "nueva referencia, como accesible desde Python a través de :attr:`__causa__`." -#: ../Doc/c-api/exceptions.rst:612 +#: ../Doc/c-api/exceptions.rst:614 msgid "" "Set the cause associated with the exception to *cause*. Use ``NULL`` to " "clear it. There is no type check to make sure that *cause* is either an " @@ -930,18 +933,18 @@ msgstr "" "borrarlo. No hay verificación de tipo para asegurarse de que *cause* sea una " "instancia de excepción o :const:`None`. Esto roba una referencia a *cause*." -#: ../Doc/c-api/exceptions.rst:616 +#: ../Doc/c-api/exceptions.rst:618 msgid "" ":attr:`__suppress_context__` is implicitly set to ``True`` by this function." msgstr "" ":attr:`__suppress_context__` es implícitamente establecido en ``True`` por " "esta función." -#: ../Doc/c-api/exceptions.rst:622 +#: ../Doc/c-api/exceptions.rst:624 msgid "Unicode Exception Objects" msgstr "Objectos Unicode de Excepción" -#: ../Doc/c-api/exceptions.rst:624 +#: ../Doc/c-api/exceptions.rst:626 msgid "" "The following functions are used to create and modify Unicode exceptions " "from C." @@ -949,7 +952,7 @@ msgstr "" "Las siguientes funciones se utilizan para crear y modificar excepciones " "Unicode de C." -#: ../Doc/c-api/exceptions.rst:628 +#: ../Doc/c-api/exceptions.rst:630 msgid "" "Create a :class:`UnicodeDecodeError` object with the attributes *encoding*, " "*object*, *length*, *start*, *end* and *reason*. *encoding* and *reason* are " @@ -959,7 +962,7 @@ msgstr "" "*object*, *length*, *start*, *end* y *reason*. *encoding* y *reason* son " "cadenas codificadas UTF-8." -#: ../Doc/c-api/exceptions.rst:634 +#: ../Doc/c-api/exceptions.rst:636 msgid "" "Create a :class:`UnicodeEncodeError` object with the attributes *encoding*, " "*object*, *length*, *start*, *end* and *reason*. *encoding* and *reason* are " @@ -969,7 +972,17 @@ msgstr "" "*object*, *length*, *start*, *end* y *reason*. *encoding* y *reason* son " "cadenas codificadas UTF-8." -#: ../Doc/c-api/exceptions.rst:640 +#: ../Doc/c-api/exceptions.rst:640 ../Doc/c-api/exceptions.rst:650 +msgid "3.11" +msgstr "" + +#: ../Doc/c-api/exceptions.rst:642 +msgid "" +"``Py_UNICODE`` is deprecated since Python 3.3. Please migrate to " +"``PyObject_CallFunction(PyExc_UnicodeEncodeError, \"sOnns\", ...)``." +msgstr "" + +#: ../Doc/c-api/exceptions.rst:647 msgid "" "Create a :class:`UnicodeTranslateError` object with the attributes *object*, " "*length*, *start*, *end* and *reason*. *reason* is a UTF-8 encoded string." @@ -978,15 +991,21 @@ msgstr "" "*object*, *length*, *start*, *end* y *reason*. *encoding* y *reason* son " "cadenas codificadas UTF-8." -#: ../Doc/c-api/exceptions.rst:646 +#: ../Doc/c-api/exceptions.rst:652 +msgid "" +"``Py_UNICODE`` is deprecated since Python 3.3. Please migrate to " +"``PyObject_CallFunction(PyExc_UnicodeTranslateError, \"Onns\", ...)``." +msgstr "" + +#: ../Doc/c-api/exceptions.rst:658 msgid "Return the *encoding* attribute of the given exception object." msgstr "retorna el atributo *encoding* del objeto de excepción dado." -#: ../Doc/c-api/exceptions.rst:652 +#: ../Doc/c-api/exceptions.rst:664 msgid "Return the *object* attribute of the given exception object." msgstr "Retorna el atributo *object* del objeto de excepción dado." -#: ../Doc/c-api/exceptions.rst:658 +#: ../Doc/c-api/exceptions.rst:670 msgid "" "Get the *start* attribute of the given exception object and place it into *" "\\*start*. *start* must not be ``NULL``. Return ``0`` on success, ``-1`` " @@ -996,7 +1015,7 @@ msgstr "" "\\*start*. *start* no debe ser ``NULL``. retorna ``0`` en caso de éxito, " "``-1`` en caso de error." -#: ../Doc/c-api/exceptions.rst:666 +#: ../Doc/c-api/exceptions.rst:678 msgid "" "Set the *start* attribute of the given exception object to *start*. Return " "``0`` on success, ``-1`` on failure." @@ -1004,7 +1023,7 @@ msgstr "" "Establece el atributo *start* del objeto de excepción dado en *start*. " "Retorna ``0`` en caso de éxito, ``-1`` en caso de error." -#: ../Doc/c-api/exceptions.rst:673 +#: ../Doc/c-api/exceptions.rst:685 msgid "" "Get the *end* attribute of the given exception object and place it into *" "\\*end*. *end* must not be ``NULL``. Return ``0`` on success, ``-1`` on " @@ -1014,7 +1033,7 @@ msgstr "" "\\*end*. *end* no debe ser ``NULL``. retorna ``0`` en caso de éxito, ``-1`` " "en caso de error." -#: ../Doc/c-api/exceptions.rst:681 +#: ../Doc/c-api/exceptions.rst:693 msgid "" "Set the *end* attribute of the given exception object to *end*. Return " "``0`` on success, ``-1`` on failure." @@ -1022,11 +1041,11 @@ msgstr "" "Establece el atributo *end* del objeto de excepción dado en *end*. Retorna " "``0`` en caso de éxito, ``-1`` en caso de error." -#: ../Doc/c-api/exceptions.rst:688 +#: ../Doc/c-api/exceptions.rst:700 msgid "Return the *reason* attribute of the given exception object." msgstr "Retorna el atributo *reason* del objeto de excepción dado." -#: ../Doc/c-api/exceptions.rst:694 +#: ../Doc/c-api/exceptions.rst:706 msgid "" "Set the *reason* attribute of the given exception object to *reason*. " "Return ``0`` on success, ``-1`` on failure." @@ -1034,29 +1053,32 @@ msgstr "" "Establece el atributo *reason* del objeto de excepción dado en *reason*. " "Retorna ``0`` en caso de éxito, ``-1`` en caso de error." -#: ../Doc/c-api/exceptions.rst:699 +#: ../Doc/c-api/exceptions.rst:713 msgid "Recursion Control" msgstr "Control de Recursión" -#: ../Doc/c-api/exceptions.rst:701 +#: ../Doc/c-api/exceptions.rst:715 +#, fuzzy msgid "" "These two functions provide a way to perform safe recursive calls at the C " "level, both in the core and in extension modules. They are needed if the " "recursive code does not necessarily invoke Python code (which tracks its " -"recursion depth automatically)." +"recursion depth automatically). They are also not needed for *tp_call* " +"implementations because the :ref:`call protocol ` takes care of " +"recursion handling." msgstr "" "Estas dos funciones proporcionan una forma de realizar llamadas recursivas " "seguras en el nivel C, tanto en el núcleo como en los módulos de extensión. " "Son necesarios si el código recursivo no invoca necesariamente el código " "Python (que rastrea su profundidad de recursión automáticamente)." -#: ../Doc/c-api/exceptions.rst:708 +#: ../Doc/c-api/exceptions.rst:724 msgid "Marks a point where a recursive C-level call is about to be performed." msgstr "" "Marca un punto donde una llamada recursiva de nivel C está a punto de " "realizarse." -#: ../Doc/c-api/exceptions.rst:710 +#: ../Doc/c-api/exceptions.rst:726 msgid "" "If :const:`USE_STACKCHECK` is defined, this function checks if the OS stack " "overflowed using :c:func:`PyOS_CheckStack`. In this is the case, it sets a :" @@ -1066,7 +1088,7 @@ msgstr "" "del SO se desbordó usando :c:func:`PyOS_CheckStack`. En este caso, establece " "un :exc:`MemoryError` y retorna un valor distinto de cero." -#: ../Doc/c-api/exceptions.rst:714 +#: ../Doc/c-api/exceptions.rst:730 msgid "" "The function then checks if the recursion limit is reached. If this is the " "case, a :exc:`RecursionError` is set and a nonzero value is returned. " @@ -1076,17 +1098,22 @@ msgstr "" "caso, se establece a :exc:`RecursionError` y se retorna un valor distinto de " "cero. De lo contrario, se retorna cero." -#: ../Doc/c-api/exceptions.rst:718 +#: ../Doc/c-api/exceptions.rst:734 +#, fuzzy msgid "" -"*where* should be a string such as ``\" in instance check\"`` to be " -"concatenated to the :exc:`RecursionError` message caused by the recursion " -"depth limit." +"*where* should be a UTF-8 encoded string such as ``\" in instance check\"`` " +"to be concatenated to the :exc:`RecursionError` message caused by the " +"recursion depth limit." msgstr "" "*where* debería ser una cadena como ``\"en la comprobación de instancia\"`` " "para concatenarse con el mensaje :exc:`RecursionError` causado por el límite " "de profundidad de recursión." -#: ../Doc/c-api/exceptions.rst:724 +#: ../Doc/c-api/exceptions.rst:738 ../Doc/c-api/exceptions.rst:746 +msgid "This function is now also available in the limited API." +msgstr "" + +#: ../Doc/c-api/exceptions.rst:743 msgid "" "Ends a :c:func:`Py_EnterRecursiveCall`. Must be called once for each " "*successful* invocation of :c:func:`Py_EnterRecursiveCall`." @@ -1094,7 +1121,7 @@ msgstr "" "Termina una :c:func:`Py_EnterRecursiveCall`. Se debe llamar una vez por cada " "invocación *exitosa* de :c:func:`Py_EnterRecursiveCall`." -#: ../Doc/c-api/exceptions.rst:727 +#: ../Doc/c-api/exceptions.rst:749 msgid "" "Properly implementing :c:member:`~PyTypeObject.tp_repr` for container types " "requires special recursion handling. In addition to protecting the stack, :" @@ -1109,7 +1136,7 @@ msgstr "" "esta funcionalidad. Efectivamente, estos son los C equivalentes a :func:" "`reprlib.recursive_repr`." -#: ../Doc/c-api/exceptions.rst:735 +#: ../Doc/c-api/exceptions.rst:757 msgid "" "Called at the beginning of the :c:member:`~PyTypeObject.tp_repr` " "implementation to detect cycles." @@ -1117,7 +1144,7 @@ msgstr "" "Llamado al comienzo de la implementación :c:member:`~PyTypeObject.tp_repr` " "para detectar ciclos." -#: ../Doc/c-api/exceptions.rst:738 +#: ../Doc/c-api/exceptions.rst:760 msgid "" "If the object has already been processed, the function returns a positive " "integer. In that case the :c:member:`~PyTypeObject.tp_repr` implementation " @@ -1130,7 +1157,7 @@ msgstr "" "objetos :class:`dict` retornan ``{...}`` y los objetos :class:`list` " "retornan ``[...]``." -#: ../Doc/c-api/exceptions.rst:744 +#: ../Doc/c-api/exceptions.rst:766 msgid "" "The function will return a negative integer if the recursion limit is " "reached. In that case the :c:member:`~PyTypeObject.tp_repr` implementation " @@ -1140,7 +1167,7 @@ msgstr "" "recursión. En ese caso, la implementación :c:member:`~PyTypeObject.tp_repr` " "normalmente debería retornar ``NULL``." -#: ../Doc/c-api/exceptions.rst:748 +#: ../Doc/c-api/exceptions.rst:770 msgid "" "Otherwise, the function returns zero and the :c:member:`~PyTypeObject." "tp_repr` implementation can continue normally." @@ -1148,7 +1175,7 @@ msgstr "" "De lo contrario, la función retorna cero y la implementación :c:member:" "`~PyTypeObject.tp_repr` puede continuar normalmente." -#: ../Doc/c-api/exceptions.rst:753 +#: ../Doc/c-api/exceptions.rst:775 msgid "" "Ends a :c:func:`Py_ReprEnter`. Must be called once for each invocation of :" "c:func:`Py_ReprEnter` that returns zero." @@ -1156,471 +1183,472 @@ msgstr "" "Termina a :c:func:`Py_ReprEnter`. Se debe llamar una vez por cada invocación " "de :c:func:`Py_ReprEnter` que retorna cero." -#: ../Doc/c-api/exceptions.rst:760 +#: ../Doc/c-api/exceptions.rst:782 msgid "Standard Exceptions" msgstr "Excepciones Estándar" -#: ../Doc/c-api/exceptions.rst:762 +#: ../Doc/c-api/exceptions.rst:784 +#, fuzzy msgid "" "All standard Python exceptions are available as global variables whose names " "are ``PyExc_`` followed by the Python exception name. These have the type :" -"c:type:`PyObject\\*`; they are all class objects. For completeness, here " -"are all the variables:" +"c:type:`PyObject*`; they are all class objects. For completeness, here are " +"all the variables:" msgstr "" "Todas las excepciones estándar de Python están disponibles como variables " "globales cuyos nombres son ``PyExc_`` seguidos del nombre de excepción de " "Python. Estos tienen el tipo :c:type:`PyObject\\*`; Todos son objetos de " "clase. Para completar, aquí están todas las variables:" -#: ../Doc/c-api/exceptions.rst:823 ../Doc/c-api/exceptions.rst:956 -#: ../Doc/c-api/exceptions.rst:1001 +#: ../Doc/c-api/exceptions.rst:845 ../Doc/c-api/exceptions.rst:978 +#: ../Doc/c-api/exceptions.rst:1023 msgid "C Name" msgstr "Nombre en C" -#: ../Doc/c-api/exceptions.rst:823 ../Doc/c-api/exceptions.rst:1001 +#: ../Doc/c-api/exceptions.rst:845 ../Doc/c-api/exceptions.rst:1023 msgid "Python Name" msgstr "Nombre en Python" -#: ../Doc/c-api/exceptions.rst:823 ../Doc/c-api/exceptions.rst:956 -#: ../Doc/c-api/exceptions.rst:1001 +#: ../Doc/c-api/exceptions.rst:845 ../Doc/c-api/exceptions.rst:978 +#: ../Doc/c-api/exceptions.rst:1023 msgid "Notes" msgstr "Notas" -#: ../Doc/c-api/exceptions.rst:825 +#: ../Doc/c-api/exceptions.rst:847 msgid ":c:data:`PyExc_BaseException`" msgstr ":c:data:`PyExc_BaseException`" -#: ../Doc/c-api/exceptions.rst:825 +#: ../Doc/c-api/exceptions.rst:847 msgid ":exc:`BaseException`" msgstr ":exc:`BaseException`" -#: ../Doc/c-api/exceptions.rst:825 ../Doc/c-api/exceptions.rst:827 -#: ../Doc/c-api/exceptions.rst:829 ../Doc/c-api/exceptions.rst:875 -#: ../Doc/c-api/exceptions.rst:887 ../Doc/c-api/exceptions.rst:1003 +#: ../Doc/c-api/exceptions.rst:847 ../Doc/c-api/exceptions.rst:849 +#: ../Doc/c-api/exceptions.rst:851 ../Doc/c-api/exceptions.rst:897 +#: ../Doc/c-api/exceptions.rst:909 ../Doc/c-api/exceptions.rst:1025 msgid "\\(1)" msgstr "\\(1)" -#: ../Doc/c-api/exceptions.rst:827 +#: ../Doc/c-api/exceptions.rst:849 msgid ":c:data:`PyExc_Exception`" msgstr ":c:data:`PyExc_Exception`" -#: ../Doc/c-api/exceptions.rst:827 +#: ../Doc/c-api/exceptions.rst:849 msgid ":exc:`Exception`" msgstr ":exc:`Exception`" -#: ../Doc/c-api/exceptions.rst:829 +#: ../Doc/c-api/exceptions.rst:851 msgid ":c:data:`PyExc_ArithmeticError`" msgstr ":c:data:`PyExc_ArithmeticError`" -#: ../Doc/c-api/exceptions.rst:829 +#: ../Doc/c-api/exceptions.rst:851 msgid ":exc:`ArithmeticError`" msgstr ":exc:`ArithmeticError`" -#: ../Doc/c-api/exceptions.rst:831 +#: ../Doc/c-api/exceptions.rst:853 msgid ":c:data:`PyExc_AssertionError`" msgstr ":c:data:`PyExc_AssertionError`" -#: ../Doc/c-api/exceptions.rst:831 +#: ../Doc/c-api/exceptions.rst:853 msgid ":exc:`AssertionError`" msgstr ":exc:`AssertionError`" -#: ../Doc/c-api/exceptions.rst:833 +#: ../Doc/c-api/exceptions.rst:855 msgid ":c:data:`PyExc_AttributeError`" msgstr ":c:data:`PyExc_AttributeError`" -#: ../Doc/c-api/exceptions.rst:833 +#: ../Doc/c-api/exceptions.rst:855 msgid ":exc:`AttributeError`" msgstr ":exc:`AttributeError`" -#: ../Doc/c-api/exceptions.rst:835 +#: ../Doc/c-api/exceptions.rst:857 msgid ":c:data:`PyExc_BlockingIOError`" msgstr ":c:data:`PyExc_BlockingIOError`" -#: ../Doc/c-api/exceptions.rst:835 +#: ../Doc/c-api/exceptions.rst:857 msgid ":exc:`BlockingIOError`" msgstr ":exc:`BlockingIOError`" -#: ../Doc/c-api/exceptions.rst:837 +#: ../Doc/c-api/exceptions.rst:859 msgid ":c:data:`PyExc_BrokenPipeError`" msgstr ":c:data:`PyExc_BrokenPipeError`" -#: ../Doc/c-api/exceptions.rst:837 +#: ../Doc/c-api/exceptions.rst:859 msgid ":exc:`BrokenPipeError`" msgstr ":exc:`BrokenPipeError`" -#: ../Doc/c-api/exceptions.rst:839 +#: ../Doc/c-api/exceptions.rst:861 msgid ":c:data:`PyExc_BufferError`" msgstr ":c:data:`PyExc_BufferError`" -#: ../Doc/c-api/exceptions.rst:839 +#: ../Doc/c-api/exceptions.rst:861 msgid ":exc:`BufferError`" msgstr ":exc:`BufferError`" -#: ../Doc/c-api/exceptions.rst:841 +#: ../Doc/c-api/exceptions.rst:863 msgid ":c:data:`PyExc_ChildProcessError`" msgstr ":c:data:`PyExc_ChildProcessError`" -#: ../Doc/c-api/exceptions.rst:841 +#: ../Doc/c-api/exceptions.rst:863 msgid ":exc:`ChildProcessError`" msgstr ":exc:`ChildProcessError`" -#: ../Doc/c-api/exceptions.rst:843 +#: ../Doc/c-api/exceptions.rst:865 msgid ":c:data:`PyExc_ConnectionAbortedError`" msgstr ":c:data:`PyExc_ConnectionAbortedError`" -#: ../Doc/c-api/exceptions.rst:843 +#: ../Doc/c-api/exceptions.rst:865 msgid ":exc:`ConnectionAbortedError`" msgstr ":exc:`ConnectionAbortedError`" -#: ../Doc/c-api/exceptions.rst:845 +#: ../Doc/c-api/exceptions.rst:867 msgid ":c:data:`PyExc_ConnectionError`" msgstr ":c:data:`PyExc_ConnectionError`" -#: ../Doc/c-api/exceptions.rst:845 +#: ../Doc/c-api/exceptions.rst:867 msgid ":exc:`ConnectionError`" msgstr ":exc:`ConnectionError`" -#: ../Doc/c-api/exceptions.rst:847 +#: ../Doc/c-api/exceptions.rst:869 msgid ":c:data:`PyExc_ConnectionRefusedError`" msgstr ":c:data:`PyExc_ConnectionRefusedError`" -#: ../Doc/c-api/exceptions.rst:847 +#: ../Doc/c-api/exceptions.rst:869 msgid ":exc:`ConnectionRefusedError`" msgstr ":exc:`ConnectionRefusedError`" -#: ../Doc/c-api/exceptions.rst:849 +#: ../Doc/c-api/exceptions.rst:871 msgid ":c:data:`PyExc_ConnectionResetError`" msgstr ":c:data:`PyExc_ConnectionResetError`" -#: ../Doc/c-api/exceptions.rst:849 +#: ../Doc/c-api/exceptions.rst:871 msgid ":exc:`ConnectionResetError`" msgstr ":exc:`ConnectionResetError`" -#: ../Doc/c-api/exceptions.rst:851 +#: ../Doc/c-api/exceptions.rst:873 msgid ":c:data:`PyExc_EOFError`" msgstr ":c:data:`PyExc_EOFError`" -#: ../Doc/c-api/exceptions.rst:851 +#: ../Doc/c-api/exceptions.rst:873 msgid ":exc:`EOFError`" msgstr ":exc:`EOFError`" -#: ../Doc/c-api/exceptions.rst:853 +#: ../Doc/c-api/exceptions.rst:875 msgid ":c:data:`PyExc_FileExistsError`" msgstr ":c:data:`PyExc_FileExistsError`" -#: ../Doc/c-api/exceptions.rst:853 +#: ../Doc/c-api/exceptions.rst:875 msgid ":exc:`FileExistsError`" msgstr ":exc:`FileExistsError`" -#: ../Doc/c-api/exceptions.rst:855 +#: ../Doc/c-api/exceptions.rst:877 msgid ":c:data:`PyExc_FileNotFoundError`" msgstr ":c:data:`PyExc_FileNotFoundError`" -#: ../Doc/c-api/exceptions.rst:855 +#: ../Doc/c-api/exceptions.rst:877 msgid ":exc:`FileNotFoundError`" msgstr ":exc:`FileNotFoundError`" -#: ../Doc/c-api/exceptions.rst:857 +#: ../Doc/c-api/exceptions.rst:879 msgid ":c:data:`PyExc_FloatingPointError`" msgstr ":c:data:`PyExc_FloatingPointError`" -#: ../Doc/c-api/exceptions.rst:857 +#: ../Doc/c-api/exceptions.rst:879 msgid ":exc:`FloatingPointError`" msgstr ":exc:`FloatingPointError`" -#: ../Doc/c-api/exceptions.rst:859 +#: ../Doc/c-api/exceptions.rst:881 msgid ":c:data:`PyExc_GeneratorExit`" msgstr ":c:data:`PyExc_GeneratorExit`" -#: ../Doc/c-api/exceptions.rst:859 +#: ../Doc/c-api/exceptions.rst:881 msgid ":exc:`GeneratorExit`" msgstr ":exc:`GeneratorExit`" -#: ../Doc/c-api/exceptions.rst:861 +#: ../Doc/c-api/exceptions.rst:883 msgid ":c:data:`PyExc_ImportError`" msgstr ":c:data:`PyExc_ImportError`" -#: ../Doc/c-api/exceptions.rst:861 +#: ../Doc/c-api/exceptions.rst:883 msgid ":exc:`ImportError`" msgstr ":exc:`ImportError`" -#: ../Doc/c-api/exceptions.rst:863 +#: ../Doc/c-api/exceptions.rst:885 msgid ":c:data:`PyExc_IndentationError`" msgstr ":c:data:`PyExc_IndentationError`" -#: ../Doc/c-api/exceptions.rst:863 +#: ../Doc/c-api/exceptions.rst:885 msgid ":exc:`IndentationError`" msgstr ":exc:`IndentationError`" -#: ../Doc/c-api/exceptions.rst:865 +#: ../Doc/c-api/exceptions.rst:887 msgid ":c:data:`PyExc_IndexError`" msgstr ":c:data:`PyExc_IndexError`" -#: ../Doc/c-api/exceptions.rst:865 +#: ../Doc/c-api/exceptions.rst:887 msgid ":exc:`IndexError`" msgstr ":exc:`IndexError`" -#: ../Doc/c-api/exceptions.rst:867 +#: ../Doc/c-api/exceptions.rst:889 msgid ":c:data:`PyExc_InterruptedError`" msgstr ":c:data:`PyExc_InterruptedError`" -#: ../Doc/c-api/exceptions.rst:867 +#: ../Doc/c-api/exceptions.rst:889 msgid ":exc:`InterruptedError`" msgstr ":exc:`InterruptedError`" -#: ../Doc/c-api/exceptions.rst:869 +#: ../Doc/c-api/exceptions.rst:891 msgid ":c:data:`PyExc_IsADirectoryError`" msgstr ":c:data:`PyExc_IsADirectoryError`" -#: ../Doc/c-api/exceptions.rst:869 +#: ../Doc/c-api/exceptions.rst:891 msgid ":exc:`IsADirectoryError`" msgstr ":exc:`IsADirectoryError`" -#: ../Doc/c-api/exceptions.rst:871 +#: ../Doc/c-api/exceptions.rst:893 msgid ":c:data:`PyExc_KeyError`" msgstr ":c:data:`PyExc_KeyError`" -#: ../Doc/c-api/exceptions.rst:871 +#: ../Doc/c-api/exceptions.rst:893 msgid ":exc:`KeyError`" msgstr ":exc:`KeyError`" -#: ../Doc/c-api/exceptions.rst:873 +#: ../Doc/c-api/exceptions.rst:895 msgid ":c:data:`PyExc_KeyboardInterrupt`" msgstr ":c:data:`PyExc_KeyboardInterrupt`" -#: ../Doc/c-api/exceptions.rst:873 +#: ../Doc/c-api/exceptions.rst:895 msgid ":exc:`KeyboardInterrupt`" msgstr ":exc:`KeyboardInterrupt`" -#: ../Doc/c-api/exceptions.rst:875 +#: ../Doc/c-api/exceptions.rst:897 msgid ":c:data:`PyExc_LookupError`" msgstr ":c:data:`PyExc_LookupError`" -#: ../Doc/c-api/exceptions.rst:875 +#: ../Doc/c-api/exceptions.rst:897 msgid ":exc:`LookupError`" msgstr ":exc:`LookupError`" -#: ../Doc/c-api/exceptions.rst:877 +#: ../Doc/c-api/exceptions.rst:899 msgid ":c:data:`PyExc_MemoryError`" msgstr ":c:data:`PyExc_MemoryError`" -#: ../Doc/c-api/exceptions.rst:877 +#: ../Doc/c-api/exceptions.rst:899 msgid ":exc:`MemoryError`" msgstr ":exc:`MemoryError`" -#: ../Doc/c-api/exceptions.rst:879 +#: ../Doc/c-api/exceptions.rst:901 msgid ":c:data:`PyExc_ModuleNotFoundError`" msgstr ":c:data:`PyExc_ModuleNotFoundError`" -#: ../Doc/c-api/exceptions.rst:879 +#: ../Doc/c-api/exceptions.rst:901 msgid ":exc:`ModuleNotFoundError`" msgstr ":exc:`ModuleNotFoundError`" -#: ../Doc/c-api/exceptions.rst:881 +#: ../Doc/c-api/exceptions.rst:903 msgid ":c:data:`PyExc_NameError`" msgstr ":c:data:`PyExc_NameError`" -#: ../Doc/c-api/exceptions.rst:881 +#: ../Doc/c-api/exceptions.rst:903 msgid ":exc:`NameError`" msgstr ":exc:`NameError`" -#: ../Doc/c-api/exceptions.rst:883 +#: ../Doc/c-api/exceptions.rst:905 msgid ":c:data:`PyExc_NotADirectoryError`" msgstr ":c:data:`PyExc_NotADirectoryError`" -#: ../Doc/c-api/exceptions.rst:883 +#: ../Doc/c-api/exceptions.rst:905 msgid ":exc:`NotADirectoryError`" msgstr ":exc:`NotADirectoryError`" -#: ../Doc/c-api/exceptions.rst:885 +#: ../Doc/c-api/exceptions.rst:907 msgid ":c:data:`PyExc_NotImplementedError`" msgstr ":c:data:`PyExc_NotImplementedError`" -#: ../Doc/c-api/exceptions.rst:885 +#: ../Doc/c-api/exceptions.rst:907 msgid ":exc:`NotImplementedError`" msgstr ":exc:`NotImplementedError`" -#: ../Doc/c-api/exceptions.rst:887 +#: ../Doc/c-api/exceptions.rst:909 msgid ":c:data:`PyExc_OSError`" msgstr ":c:data:`PyExc_OSError`" -#: ../Doc/c-api/exceptions.rst:887 +#: ../Doc/c-api/exceptions.rst:909 msgid ":exc:`OSError`" msgstr ":exc:`OSError`" -#: ../Doc/c-api/exceptions.rst:889 +#: ../Doc/c-api/exceptions.rst:911 msgid ":c:data:`PyExc_OverflowError`" msgstr ":c:data:`PyExc_OverflowError`" -#: ../Doc/c-api/exceptions.rst:889 +#: ../Doc/c-api/exceptions.rst:911 msgid ":exc:`OverflowError`" msgstr ":exc:`OverflowError`" -#: ../Doc/c-api/exceptions.rst:891 +#: ../Doc/c-api/exceptions.rst:913 msgid ":c:data:`PyExc_PermissionError`" msgstr ":c:data:`PyExc_PermissionError`" -#: ../Doc/c-api/exceptions.rst:891 +#: ../Doc/c-api/exceptions.rst:913 msgid ":exc:`PermissionError`" msgstr ":exc:`PermissionError`" -#: ../Doc/c-api/exceptions.rst:893 +#: ../Doc/c-api/exceptions.rst:915 msgid ":c:data:`PyExc_ProcessLookupError`" msgstr ":c:data:`PyExc_ProcessLookupError`" -#: ../Doc/c-api/exceptions.rst:893 +#: ../Doc/c-api/exceptions.rst:915 msgid ":exc:`ProcessLookupError`" msgstr ":exc:`ProcessLookupError`" -#: ../Doc/c-api/exceptions.rst:895 +#: ../Doc/c-api/exceptions.rst:917 msgid ":c:data:`PyExc_RecursionError`" msgstr ":c:data:`PyExc_RecursionError`" -#: ../Doc/c-api/exceptions.rst:895 +#: ../Doc/c-api/exceptions.rst:917 msgid ":exc:`RecursionError`" msgstr ":exc:`RecursionError`" -#: ../Doc/c-api/exceptions.rst:897 +#: ../Doc/c-api/exceptions.rst:919 msgid ":c:data:`PyExc_ReferenceError`" msgstr ":c:data:`PyExc_ReferenceError`" -#: ../Doc/c-api/exceptions.rst:897 +#: ../Doc/c-api/exceptions.rst:919 msgid ":exc:`ReferenceError`" msgstr ":exc:`ReferenceError`" -#: ../Doc/c-api/exceptions.rst:897 +#: ../Doc/c-api/exceptions.rst:919 msgid "\\(2)" msgstr "\\(2)" -#: ../Doc/c-api/exceptions.rst:899 +#: ../Doc/c-api/exceptions.rst:921 msgid ":c:data:`PyExc_RuntimeError`" msgstr ":c:data:`PyExc_RuntimeError`" -#: ../Doc/c-api/exceptions.rst:899 +#: ../Doc/c-api/exceptions.rst:921 msgid ":exc:`RuntimeError`" msgstr ":exc:`RuntimeError`" -#: ../Doc/c-api/exceptions.rst:901 +#: ../Doc/c-api/exceptions.rst:923 msgid ":c:data:`PyExc_StopAsyncIteration`" msgstr ":c:data:`PyExc_StopAsyncIteration`" -#: ../Doc/c-api/exceptions.rst:901 +#: ../Doc/c-api/exceptions.rst:923 msgid ":exc:`StopAsyncIteration`" msgstr ":exc:`StopAsyncIteration`" -#: ../Doc/c-api/exceptions.rst:903 +#: ../Doc/c-api/exceptions.rst:925 msgid ":c:data:`PyExc_StopIteration`" msgstr ":c:data:`PyExc_StopIteration`" -#: ../Doc/c-api/exceptions.rst:903 +#: ../Doc/c-api/exceptions.rst:925 msgid ":exc:`StopIteration`" msgstr ":exc:`StopIteration`" -#: ../Doc/c-api/exceptions.rst:905 +#: ../Doc/c-api/exceptions.rst:927 msgid ":c:data:`PyExc_SyntaxError`" msgstr ":c:data:`PyExc_SyntaxError`" -#: ../Doc/c-api/exceptions.rst:905 +#: ../Doc/c-api/exceptions.rst:927 msgid ":exc:`SyntaxError`" msgstr ":exc:`SyntaxError`" -#: ../Doc/c-api/exceptions.rst:907 +#: ../Doc/c-api/exceptions.rst:929 msgid ":c:data:`PyExc_SystemError`" msgstr ":c:data:`PyExc_SystemError`" -#: ../Doc/c-api/exceptions.rst:907 +#: ../Doc/c-api/exceptions.rst:929 msgid ":exc:`SystemError`" msgstr ":exc:`SystemError`" -#: ../Doc/c-api/exceptions.rst:909 +#: ../Doc/c-api/exceptions.rst:931 msgid ":c:data:`PyExc_SystemExit`" msgstr ":c:data:`PyExc_SystemExit`" -#: ../Doc/c-api/exceptions.rst:909 +#: ../Doc/c-api/exceptions.rst:931 msgid ":exc:`SystemExit`" msgstr ":exc:`SystemExit`" -#: ../Doc/c-api/exceptions.rst:911 +#: ../Doc/c-api/exceptions.rst:933 msgid ":c:data:`PyExc_TabError`" msgstr ":c:data:`PyExc_TabError`" -#: ../Doc/c-api/exceptions.rst:911 +#: ../Doc/c-api/exceptions.rst:933 msgid ":exc:`TabError`" msgstr ":exc:`TabError`" -#: ../Doc/c-api/exceptions.rst:913 +#: ../Doc/c-api/exceptions.rst:935 msgid ":c:data:`PyExc_TimeoutError`" msgstr ":c:data:`PyExc_TimeoutError`" -#: ../Doc/c-api/exceptions.rst:913 +#: ../Doc/c-api/exceptions.rst:935 msgid ":exc:`TimeoutError`" msgstr ":exc:`TimeoutError`" -#: ../Doc/c-api/exceptions.rst:915 +#: ../Doc/c-api/exceptions.rst:937 msgid ":c:data:`PyExc_TypeError`" msgstr ":c:data:`PyExc_TypeError`" -#: ../Doc/c-api/exceptions.rst:915 +#: ../Doc/c-api/exceptions.rst:937 msgid ":exc:`TypeError`" msgstr ":exc:`TypeError`" -#: ../Doc/c-api/exceptions.rst:917 +#: ../Doc/c-api/exceptions.rst:939 msgid ":c:data:`PyExc_UnboundLocalError`" msgstr ":c:data:`PyExc_UnboundLocalError`" -#: ../Doc/c-api/exceptions.rst:917 +#: ../Doc/c-api/exceptions.rst:939 msgid ":exc:`UnboundLocalError`" msgstr ":exc:`UnboundLocalError`" -#: ../Doc/c-api/exceptions.rst:919 +#: ../Doc/c-api/exceptions.rst:941 msgid ":c:data:`PyExc_UnicodeDecodeError`" msgstr ":c:data:`PyExc_UnicodeDecodeError`" -#: ../Doc/c-api/exceptions.rst:919 +#: ../Doc/c-api/exceptions.rst:941 msgid ":exc:`UnicodeDecodeError`" msgstr ":exc:`UnicodeDecodeError`" -#: ../Doc/c-api/exceptions.rst:921 +#: ../Doc/c-api/exceptions.rst:943 msgid ":c:data:`PyExc_UnicodeEncodeError`" msgstr ":c:data:`PyExc_UnicodeEncodeError`" -#: ../Doc/c-api/exceptions.rst:921 +#: ../Doc/c-api/exceptions.rst:943 msgid ":exc:`UnicodeEncodeError`" msgstr ":exc:`UnicodeEncodeError`" -#: ../Doc/c-api/exceptions.rst:923 +#: ../Doc/c-api/exceptions.rst:945 msgid ":c:data:`PyExc_UnicodeError`" msgstr ":c:data:`PyExc_UnicodeError`" -#: ../Doc/c-api/exceptions.rst:923 +#: ../Doc/c-api/exceptions.rst:945 msgid ":exc:`UnicodeError`" msgstr ":exc:`UnicodeError`" -#: ../Doc/c-api/exceptions.rst:925 +#: ../Doc/c-api/exceptions.rst:947 msgid ":c:data:`PyExc_UnicodeTranslateError`" msgstr ":c:data:`PyExc_UnicodeTranslateError`" -#: ../Doc/c-api/exceptions.rst:925 +#: ../Doc/c-api/exceptions.rst:947 msgid ":exc:`UnicodeTranslateError`" msgstr ":exc:`UnicodeTranslateError`" -#: ../Doc/c-api/exceptions.rst:927 +#: ../Doc/c-api/exceptions.rst:949 msgid ":c:data:`PyExc_ValueError`" msgstr ":c:data:`PyExc_ValueError`" -#: ../Doc/c-api/exceptions.rst:927 +#: ../Doc/c-api/exceptions.rst:949 msgid ":exc:`ValueError`" msgstr ":exc:`ValueError`" -#: ../Doc/c-api/exceptions.rst:929 +#: ../Doc/c-api/exceptions.rst:951 msgid ":c:data:`PyExc_ZeroDivisionError`" msgstr ":c:data:`PyExc_ZeroDivisionError`" -#: ../Doc/c-api/exceptions.rst:929 +#: ../Doc/c-api/exceptions.rst:951 msgid ":exc:`ZeroDivisionError`" msgstr ":exc:`ZeroDivisionError`" -#: ../Doc/c-api/exceptions.rst:932 +#: ../Doc/c-api/exceptions.rst:954 msgid "" ":c:data:`PyExc_BlockingIOError`, :c:data:`PyExc_BrokenPipeError`, :c:data:" "`PyExc_ChildProcessError`, :c:data:`PyExc_ConnectionError`, :c:data:" @@ -1640,47 +1668,47 @@ msgstr "" "`PyExc_PermissionError`, :c:data:`PyExc_ProcessLookupError` y :c:data:" "`PyExc_TimeoutError` fueron introducidos luego de :pep:`3151`." -#: ../Doc/c-api/exceptions.rst:942 +#: ../Doc/c-api/exceptions.rst:964 msgid ":c:data:`PyExc_StopAsyncIteration` and :c:data:`PyExc_RecursionError`." msgstr ":c:data:`PyExc_StopAsyncIteration` y :c:data:`PyExc_RecursionError`." -#: ../Doc/c-api/exceptions.rst:945 +#: ../Doc/c-api/exceptions.rst:967 msgid ":c:data:`PyExc_ModuleNotFoundError`." msgstr ":c:data:`PyExc_ModuleNotFoundError`." -#: ../Doc/c-api/exceptions.rst:948 +#: ../Doc/c-api/exceptions.rst:970 msgid "These are compatibility aliases to :c:data:`PyExc_OSError`:" msgstr "Estos son alias de compatibilidad para :c:data:`PyExc_OSError`:" -#: ../Doc/c-api/exceptions.rst:958 +#: ../Doc/c-api/exceptions.rst:980 msgid ":c:data:`PyExc_EnvironmentError`" msgstr ":c:data:`PyExc_EnvironmentError`" -#: ../Doc/c-api/exceptions.rst:960 +#: ../Doc/c-api/exceptions.rst:982 msgid ":c:data:`PyExc_IOError`" msgstr ":c:data:`PyExc_IOError`" -#: ../Doc/c-api/exceptions.rst:962 +#: ../Doc/c-api/exceptions.rst:984 msgid ":c:data:`PyExc_WindowsError`" msgstr ":c:data:`PyExc_WindowsError`" -#: ../Doc/c-api/exceptions.rst:962 +#: ../Doc/c-api/exceptions.rst:984 msgid "\\(3)" msgstr "\\(3)" -#: ../Doc/c-api/exceptions.rst:965 +#: ../Doc/c-api/exceptions.rst:987 msgid "These aliases used to be separate exception types." msgstr "Estos alias solían ser tipos de excepción separados." -#: ../Doc/c-api/exceptions.rst:968 ../Doc/c-api/exceptions.rst:1029 +#: ../Doc/c-api/exceptions.rst:990 ../Doc/c-api/exceptions.rst:1051 msgid "Notes:" msgstr "Notas:" -#: ../Doc/c-api/exceptions.rst:971 +#: ../Doc/c-api/exceptions.rst:993 msgid "This is a base class for other standard exceptions." msgstr "Esta es una clase base para otras excepciones estándar." -#: ../Doc/c-api/exceptions.rst:974 +#: ../Doc/c-api/exceptions.rst:996 msgid "" "Only defined on Windows; protect code that uses this by testing that the " "preprocessor macro ``MS_WINDOWS`` is defined." @@ -1688,114 +1716,115 @@ msgstr "" "Solo se define en Windows; proteja el código que usa esto probando que la " "macro del preprocesador ``MS_WINDOWS`` está definida." -#: ../Doc/c-api/exceptions.rst:980 +#: ../Doc/c-api/exceptions.rst:1002 msgid "Standard Warning Categories" msgstr "Categorías de advertencia estándar" -#: ../Doc/c-api/exceptions.rst:982 +#: ../Doc/c-api/exceptions.rst:1004 +#, fuzzy msgid "" "All standard Python warning categories are available as global variables " "whose names are ``PyExc_`` followed by the Python exception name. These have " -"the type :c:type:`PyObject\\*`; they are all class objects. For " -"completeness, here are all the variables:" +"the type :c:type:`PyObject*`; they are all class objects. For completeness, " +"here are all the variables:" msgstr "" "Todas las categorías de advertencia estándar de Python están disponibles " "como variables globales cuyos nombres son ``PyExc_`` seguidos del nombre de " "excepción de Python. Estos tienen el tipo :c:type:`PyObject\\*`; Todos son " "objetos de clase. Para completar, aquí están todas las variables:" -#: ../Doc/c-api/exceptions.rst:1003 +#: ../Doc/c-api/exceptions.rst:1025 msgid ":c:data:`PyExc_Warning`" msgstr ":c:data:`PyExc_Warning`" -#: ../Doc/c-api/exceptions.rst:1003 +#: ../Doc/c-api/exceptions.rst:1025 msgid ":exc:`Warning`" msgstr ":exc:`Warning`" -#: ../Doc/c-api/exceptions.rst:1005 +#: ../Doc/c-api/exceptions.rst:1027 msgid ":c:data:`PyExc_BytesWarning`" msgstr ":c:data:`PyExc_BytesWarning`" -#: ../Doc/c-api/exceptions.rst:1005 +#: ../Doc/c-api/exceptions.rst:1027 msgid ":exc:`BytesWarning`" msgstr ":exc:`BytesWarning`" -#: ../Doc/c-api/exceptions.rst:1007 +#: ../Doc/c-api/exceptions.rst:1029 msgid ":c:data:`PyExc_DeprecationWarning`" msgstr ":c:data:`PyExc_DeprecationWarning`" -#: ../Doc/c-api/exceptions.rst:1007 +#: ../Doc/c-api/exceptions.rst:1029 msgid ":exc:`DeprecationWarning`" msgstr ":exc:`DeprecationWarning`" -#: ../Doc/c-api/exceptions.rst:1009 +#: ../Doc/c-api/exceptions.rst:1031 msgid ":c:data:`PyExc_FutureWarning`" msgstr ":c:data:`PyExc_FutureWarning`" -#: ../Doc/c-api/exceptions.rst:1009 +#: ../Doc/c-api/exceptions.rst:1031 msgid ":exc:`FutureWarning`" msgstr ":exc:`FutureWarning`" -#: ../Doc/c-api/exceptions.rst:1011 +#: ../Doc/c-api/exceptions.rst:1033 msgid ":c:data:`PyExc_ImportWarning`" msgstr ":c:data:`PyExc_ImportWarning`" -#: ../Doc/c-api/exceptions.rst:1011 +#: ../Doc/c-api/exceptions.rst:1033 msgid ":exc:`ImportWarning`" msgstr ":exc:`ImportWarning`" -#: ../Doc/c-api/exceptions.rst:1013 +#: ../Doc/c-api/exceptions.rst:1035 msgid ":c:data:`PyExc_PendingDeprecationWarning`" msgstr ":c:data:`PyExc_PendingDeprecationWarning`" -#: ../Doc/c-api/exceptions.rst:1013 +#: ../Doc/c-api/exceptions.rst:1035 msgid ":exc:`PendingDeprecationWarning`" msgstr ":exc:`PendingDeprecationWarning`" -#: ../Doc/c-api/exceptions.rst:1015 +#: ../Doc/c-api/exceptions.rst:1037 msgid ":c:data:`PyExc_ResourceWarning`" msgstr ":c:data:`PyExc_ResourceWarning`" -#: ../Doc/c-api/exceptions.rst:1015 +#: ../Doc/c-api/exceptions.rst:1037 msgid ":exc:`ResourceWarning`" msgstr ":exc:`ResourceWarning`" -#: ../Doc/c-api/exceptions.rst:1017 +#: ../Doc/c-api/exceptions.rst:1039 msgid ":c:data:`PyExc_RuntimeWarning`" msgstr ":c:data:`PyExc_RuntimeWarning`" -#: ../Doc/c-api/exceptions.rst:1017 +#: ../Doc/c-api/exceptions.rst:1039 msgid ":exc:`RuntimeWarning`" msgstr ":exc:`RuntimeWarning`" -#: ../Doc/c-api/exceptions.rst:1019 +#: ../Doc/c-api/exceptions.rst:1041 msgid ":c:data:`PyExc_SyntaxWarning`" msgstr ":c:data:`PyExc_SyntaxWarning`" -#: ../Doc/c-api/exceptions.rst:1019 +#: ../Doc/c-api/exceptions.rst:1041 msgid ":exc:`SyntaxWarning`" msgstr ":exc:`SyntaxWarning`" -#: ../Doc/c-api/exceptions.rst:1021 +#: ../Doc/c-api/exceptions.rst:1043 msgid ":c:data:`PyExc_UnicodeWarning`" msgstr ":c:data:`PyExc_UnicodeWarning`" -#: ../Doc/c-api/exceptions.rst:1021 +#: ../Doc/c-api/exceptions.rst:1043 msgid ":exc:`UnicodeWarning`" msgstr ":exc:`UnicodeWarning`" -#: ../Doc/c-api/exceptions.rst:1023 +#: ../Doc/c-api/exceptions.rst:1045 msgid ":c:data:`PyExc_UserWarning`" msgstr ":c:data:`PyExc_UserWarning`" -#: ../Doc/c-api/exceptions.rst:1023 +#: ../Doc/c-api/exceptions.rst:1045 msgid ":exc:`UserWarning`" msgstr ":exc:`UserWarning`" -#: ../Doc/c-api/exceptions.rst:1026 +#: ../Doc/c-api/exceptions.rst:1048 msgid ":c:data:`PyExc_ResourceWarning`." msgstr ":c:data:`PyExc_ResourceWarning`." -#: ../Doc/c-api/exceptions.rst:1032 +#: ../Doc/c-api/exceptions.rst:1054 msgid "This is a base class for other standard warning categories." msgstr "Esta es una clase base para otras categorías de advertencia estándar." diff --git a/c-api/file.po b/c-api/file.po index 47c2ec23c0..515d364e4a 100644 --- a/c-api/file.po +++ b/c-api/file.po @@ -10,26 +10,26 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-10 20:52+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" "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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/c-api/file.rst:6 msgid "File Objects" msgstr "Objetos archivo" #: ../Doc/c-api/file.rst:10 +#, fuzzy msgid "" "These APIs are a minimal emulation of the Python 2 C API for built-in file " -"objects, which used to rely on the buffered I/O (:c:type:`FILE\\*`) support " +"objects, which used to rely on the buffered I/O (:c:type:`FILE*`) support " "from the C standard library. In Python 3, files and streams use the new :" "mod:`io` module, which defines several layers over the low-level unbuffered " "I/O of the operating system. The functions described below are convenience " @@ -168,7 +168,13 @@ msgstr "" msgid "This function is safe to call before :c:func:`Py_Initialize`." msgstr "Es seguro llamar a esta función antes de :c:func:`Py_Initialize`." -#: ../Doc/c-api/file.rst:93 +#: ../Doc/c-api/file.rst:85 +msgid "" +"Raises an :ref:`auditing event ` ``setopencodehook`` with no " +"arguments." +msgstr "" + +#: ../Doc/c-api/file.rst:95 msgid "" "Write object *obj* to file object *p*. The only supported flag for *flags* " "is :const:`Py_PRINT_RAW`; if given, the :func:`str` of the object is written " @@ -181,7 +187,7 @@ msgstr "" "caso de éxito o ``-1`` en caso de error; se establecerá la excepción " "apropiada." -#: ../Doc/c-api/file.rst:101 +#: ../Doc/c-api/file.rst:103 msgid "" "Write string *s* to file object *p*. Return ``0`` on success or ``-1`` on " "failure; the appropriate exception will be set." diff --git a/c-api/float.po b/c-api/float.po index 2509720a85..83ad567622 100644 --- a/c-api/float.po +++ b/c-api/float.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-09 16:21+0200\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/c-api/float.rst:6 msgid "Floating Point Objects" @@ -43,17 +42,19 @@ msgstr "" "Python." #: ../Doc/c-api/float.rst:24 +#, fuzzy msgid "" "Return true if its argument is a :c:type:`PyFloatObject` or a subtype of :c:" -"type:`PyFloatObject`." +"type:`PyFloatObject`. This function always succeeds." msgstr "" "Retorna verdadero si su argumento es un :c:type:`PyFloatObject` o un subtipo " "de :c:type:`PyFloatObject`." #: ../Doc/c-api/float.rst:30 +#, fuzzy msgid "" "Return true if its argument is a :c:type:`PyFloatObject`, but not a subtype " -"of :c:type:`PyFloatObject`." +"of :c:type:`PyFloatObject`. This function always succeeds." msgstr "" "Retorna verdadero si su argumento es un :c:type:`PyFloatObject`, pero no un " "subtipo de :c:type:`PyFloatObject`." @@ -127,10 +128,9 @@ msgstr "" "Retorna el flotante positivo normalizado mínimo *DBL_MIN* como C :c:type:" "`double`." -#: ../Doc/c-api/float.rst:82 -msgid "" -"Clear the float free list. Return the number of items that could not be " -"freed." -msgstr "" -"Borra la lista libre de flotantes. Retorna el número de artículos que no se " -"pudieron liberar." +#~ msgid "" +#~ "Clear the float free list. Return the number of items that could not be " +#~ "freed." +#~ msgstr "" +#~ "Borra la lista libre de flotantes. Retorna el número de artículos que no " +#~ "se pudieron liberar." diff --git a/c-api/function.po b/c-api/function.po index 9fb5b26a00..ade513e099 100644 --- a/c-api/function.po +++ b/c-api/function.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-10 16:22+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" "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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/c-api/function.rst:6 msgid "Function Objects" @@ -45,9 +44,11 @@ msgstr "" "FunctionType``." #: ../Doc/c-api/function.rst:28 +#, fuzzy msgid "" "Return true if *o* is a function object (has type :c:data:" -"`PyFunction_Type`). The parameter must not be ``NULL``." +"`PyFunction_Type`). The parameter must not be ``NULL``. This function " +"always succeeds." msgstr "" "Retorna verdadero si *o* es un objeto función (tiene tipo :c:data:" "`PyFunction_Type`). El parámetro no debe ser ``NULL``." diff --git a/c-api/gcsupport.po b/c-api/gcsupport.po index f2af5da6f8..88db434861 100644 --- a/c-api/gcsupport.po +++ b/c-api/gcsupport.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-16 21:14+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" "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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/c-api/gcsupport.rst:6 msgid "Supporting Cyclic Garbage Collection" @@ -128,7 +127,39 @@ msgstr "" "por :c:member:`~PyTypeObject.tp_traverse` se vuelven válidos, generalmente " "cerca del final del constructor." -#: ../Doc/c-api/gcsupport.rst:64 +#: ../Doc/c-api/gcsupport.rst:66 +msgid "" +"Returns non-zero if the object implements the garbage collector protocol, " +"otherwise returns 0." +msgstr "" + +#: ../Doc/c-api/gcsupport.rst:69 +msgid "" +"The object cannot be tracked by the garbage collector if this function " +"returns 0." +msgstr "" + +#: ../Doc/c-api/gcsupport.rst:74 +msgid "" +"Returns 1 if the object type of *op* implements the GC protocol and *op* is " +"being currently tracked by the garbage collector and 0 otherwise." +msgstr "" + +#: ../Doc/c-api/gcsupport.rst:77 +msgid "This is analogous to the Python function :func:`gc.is_tracked`." +msgstr "" + +#: ../Doc/c-api/gcsupport.rst:84 +msgid "" +"Returns 1 if the object type of *op* implements the GC protocol and *op* has " +"been already finalized by the garbage collector and 0 otherwise." +msgstr "" + +#: ../Doc/c-api/gcsupport.rst:87 +msgid "This is analogous to the Python function :func:`gc.is_finalized`." +msgstr "" + +#: ../Doc/c-api/gcsupport.rst:91 msgid "" "Similarly, the deallocator for the object must conform to a similar pair of " "rules:" @@ -136,7 +167,7 @@ msgstr "" "Del mismo modo, el desasignador (*deallocator*) para el objeto debe cumplir " "con un par similar de reglas:" -#: ../Doc/c-api/gcsupport.rst:67 +#: ../Doc/c-api/gcsupport.rst:94 msgid "" "Before fields which refer to other containers are invalidated, :c:func:" "`PyObject_GC_UnTrack` must be called." @@ -144,14 +175,14 @@ msgstr "" "Antes de invalidar los campos que se refieren a otros contenedores, debe " "llamarse :c:func:`PyObject_GC_UnTrack`." -#: ../Doc/c-api/gcsupport.rst:70 +#: ../Doc/c-api/gcsupport.rst:97 msgid "" "The object's memory must be deallocated using :c:func:`PyObject_GC_Del`." msgstr "" "La memoria del objeto debe ser desasignada (*deallocated*) usando :c:func:" "`PyObject_GC_Del`." -#: ../Doc/c-api/gcsupport.rst:75 +#: ../Doc/c-api/gcsupport.rst:102 msgid "" "Releases memory allocated to an object using :c:func:`PyObject_GC_New` or :c:" "func:`PyObject_GC_NewVar`." @@ -159,7 +190,7 @@ msgstr "" "Libera memoria asignada a un objeto usando :c:func:`PyObject_GC_New` o :c:" "func:`PyObject_GC_NewVar`." -#: ../Doc/c-api/gcsupport.rst:81 +#: ../Doc/c-api/gcsupport.rst:108 msgid "" "Remove the object *op* from the set of container objects tracked by the " "collector. Note that :c:func:`PyObject_GC_Track` can be called again on " @@ -176,7 +207,7 @@ msgstr "" "cualquiera de los campos utilizados por el manejador :c:member:" "`~PyTypeObject.tp_traverse` no sea válido." -#: ../Doc/c-api/gcsupport.rst:90 +#: ../Doc/c-api/gcsupport.rst:117 msgid "" "The :c:func:`_PyObject_GC_TRACK` and :c:func:`_PyObject_GC_UNTRACK` macros " "have been removed from the public C API." @@ -184,7 +215,7 @@ msgstr "" "Los macros :c:func:`_PyObject_GC_TRACK` y :c:func:`_PyObject_GC_UNTRACK` se " "han eliminado de la API pública de C." -#: ../Doc/c-api/gcsupport.rst:93 +#: ../Doc/c-api/gcsupport.rst:120 msgid "" "The :c:member:`~PyTypeObject.tp_traverse` handler accepts a function " "parameter of this type:" @@ -192,7 +223,7 @@ msgstr "" "El manejador :c:member:`~PyTypeObject.tp_traverse` acepta un parámetro de " "función de este tipo:" -#: ../Doc/c-api/gcsupport.rst:98 +#: ../Doc/c-api/gcsupport.rst:125 msgid "" "Type of the visitor function passed to the :c:member:`~PyTypeObject." "tp_traverse` handler. The function should be called with an object to " @@ -208,7 +239,7 @@ msgstr "" "funciones visitantes para implementar la detección de basura cíclica; No se " "espera que los usuarios necesiten escribir sus propias funciones visitante." -#: ../Doc/c-api/gcsupport.rst:105 +#: ../Doc/c-api/gcsupport.rst:132 msgid "" "The :c:member:`~PyTypeObject.tp_traverse` handler must have the following " "type:" @@ -216,7 +247,7 @@ msgstr "" "El manejador :c:member:`~PyTypeObject.tp_traverse` debe tener el siguiente " "tipo:" -#: ../Doc/c-api/gcsupport.rst:110 +#: ../Doc/c-api/gcsupport.rst:137 msgid "" "Traversal function for a container object. Implementations must call the " "*visit* function for each object directly contained by *self*, with the " @@ -232,7 +263,7 @@ msgstr "" "de objeto ``NULL``. Si *visit* retorna un valor distinto de cero, ese valor " "debe retornarse inmediatamente." -#: ../Doc/c-api/gcsupport.rst:117 +#: ../Doc/c-api/gcsupport.rst:144 msgid "" "To simplify writing :c:member:`~PyTypeObject.tp_traverse` handlers, a :c:" "func:`Py_VISIT` macro is provided. In order to use this macro, the :c:" @@ -244,7 +275,7 @@ msgstr "" "macro, la implementación :c:member:`~PyTypeObject.tp_traverse` debe nombrar " "sus argumentos exactamente *visit* y *arg*:" -#: ../Doc/c-api/gcsupport.rst:124 +#: ../Doc/c-api/gcsupport.rst:151 msgid "" "If *o* is not ``NULL``, call the *visit* callback, with arguments *o* and " "*arg*. If *visit* returns a non-zero value, then return it. Using this " @@ -255,7 +286,7 @@ msgstr "" "cero, lo retorna. Usando este macro, los manejadores :c:member:" "`~PyTypeObject.tp_traverse` tienen el siguiente aspecto:" -#: ../Doc/c-api/gcsupport.rst:137 +#: ../Doc/c-api/gcsupport.rst:164 msgid "" "The :c:member:`~PyTypeObject.tp_clear` handler must be of the :c:type:" "`inquiry` type, or ``NULL`` if the object is immutable." @@ -263,7 +294,7 @@ msgstr "" "El manejador :c:member:`~PyTypeObject.tp_clear` debe ser del tipo :c:type:" "`query`, o ``NULL`` si el objeto es inmutable." -#: ../Doc/c-api/gcsupport.rst:143 +#: ../Doc/c-api/gcsupport.rst:170 msgid "" "Drop references that may have created reference cycles. Immutable objects " "do not have to define this method since they can never directly create " diff --git a/c-api/gen.po b/c-api/gen.po index 3f8812e0d5..de92de3c42 100644 --- a/c-api/gen.po +++ b/c-api/gen.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-09 15:39+0200\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/c-api/gen.rst:6 msgid "Generator Objects" @@ -47,19 +46,23 @@ msgid "The type object corresponding to generator objects." msgstr "El objeto tipo correspondiente a los objetos generadores." #: ../Doc/c-api/gen.rst:25 -msgid "Return true if *ob* is a generator object; *ob* must not be ``NULL``." +#, fuzzy +msgid "" +"Return true if *ob* is a generator object; *ob* must not be ``NULL``. This " +"function always succeeds." msgstr "" "Retorna verdadero si *ob* es un objeto generador; *ob* no debe ser ``NULL``." -#: ../Doc/c-api/gen.rst:30 +#: ../Doc/c-api/gen.rst:31 +#, fuzzy msgid "" "Return true if *ob*'s type is :c:type:`PyGen_Type`; *ob* must not be " -"``NULL``." +"``NULL``. This function always succeeds." msgstr "" "Retorna verdadero si el tipo de *ob* es :c:type:`PyGen_Type`; *ob* no debe " "ser ``NULL``." -#: ../Doc/c-api/gen.rst:35 +#: ../Doc/c-api/gen.rst:37 msgid "" "Create and return a new generator object based on the *frame* object. A " "reference to *frame* is stolen by this function. The argument must not be " @@ -69,7 +72,7 @@ msgstr "" "referencia a *frame* es robada por esta función. El argumento no debe ser " "``NULL``." -#: ../Doc/c-api/gen.rst:41 +#: ../Doc/c-api/gen.rst:43 msgid "" "Create and return a new generator object based on the *frame* object, with " "``__name__`` and ``__qualname__`` set to *name* and *qualname*. A reference " diff --git a/c-api/import.po b/c-api/import.po index 8925783339..ee6719e0f6 100644 --- a/c-api/import.po +++ b/c-api/import.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-21 20:13+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" "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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/c-api/import.rst:6 msgid "Importing Modules" @@ -363,18 +362,6 @@ msgstr "" "buscador." #: ../Doc/c-api/import.rst:228 -msgid "Initialize the import mechanism. For internal use only." -msgstr "Inicializa el mecanismo de importación. Sólo para uso interno." - -#: ../Doc/c-api/import.rst:233 -msgid "Empty the module table. For internal use only." -msgstr "Vacía la tabla del módulo (*module table*). Sólo para uso interno." - -#: ../Doc/c-api/import.rst:238 -msgid "Finalize the import mechanism. For internal use only." -msgstr "Finaliza el mecanismo de importación. Sólo para uso interno." - -#: ../Doc/c-api/import.rst:243 msgid "" "Load a frozen module named *name*. Return ``1`` for success, ``0`` if the " "module is not found, and ``-1`` with an exception set if the initialization " @@ -388,11 +375,11 @@ msgstr "" "use :c:func:`PyImport_ImportModule`. (Tenga en cuenta el nombre inapropiado " "--- esta función volvería a cargar el módulo si ya se importó)." -#: ../Doc/c-api/import.rst:251 +#: ../Doc/c-api/import.rst:236 msgid "The ``__file__`` attribute is no longer set on the module." msgstr "El atributo ``__file__`` ya no está establecido en el módulo." -#: ../Doc/c-api/import.rst:257 +#: ../Doc/c-api/import.rst:242 msgid "" "Similar to :c:func:`PyImport_ImportFrozenModuleObject`, but the name is a " "UTF-8 encoded string instead of a Unicode object." @@ -400,7 +387,7 @@ msgstr "" "Similar a :c:func:`PyImport_ImportFrozenModuleObject`, pero el nombre es una " "cadena de caracteres codificada UTF-8 en lugar de un objeto Unicode." -#: ../Doc/c-api/import.rst:265 +#: ../Doc/c-api/import.rst:250 msgid "" "This is the structure type definition for frozen module descriptors, as " "generated by the :program:`freeze` utility (see :file:`Tools/freeze/` in the " @@ -412,7 +399,7 @@ msgstr "" "(ver :file:`Tools/freeze` en la distribución de código fuente de Python). Su " "definición, que se encuentra en :file:`Include/import.h`, es::" -#: ../Doc/c-api/import.rst:279 +#: ../Doc/c-api/import.rst:264 msgid "" "This pointer is initialized to point to an array of :c:type:`struct _frozen` " "records, terminated by one whose members are all ``NULL`` or zero. When a " @@ -426,7 +413,7 @@ msgstr "" "código de terceros podría jugar trucos con esto para proporcionar una " "colección de módulos congelados creada dinámicamente." -#: ../Doc/c-api/import.rst:287 +#: ../Doc/c-api/import.rst:272 msgid "" "Add a single module to the existing table of built-in modules. This is a " "convenience wrapper around :c:func:`PyImport_ExtendInittab`, returning " @@ -442,7 +429,7 @@ msgstr "" "inicialización llamada en el primer intento de importación. Esto debería " "llamarse antes de :c:func:`Py_Initialize`." -#: ../Doc/c-api/import.rst:297 +#: ../Doc/c-api/import.rst:282 msgid "" "Structure describing a single entry in the list of built-in modules. Each " "of these structures gives the name and initialization function for a module " @@ -459,7 +446,7 @@ msgstr "" "func:`PyImport_ExtendInittab` para proporcionar módulos integrados " "adicionales. La estructura se define en :file:`Include/import.h` como::" -#: ../Doc/c-api/import.rst:312 +#: ../Doc/c-api/import.rst:297 msgid "" "Add a collection of modules to the table of built-in modules. The *newtab* " "array must end with a sentinel entry which contains ``NULL`` for the :attr:" @@ -476,3 +463,12 @@ msgstr "" "puede asignar memoria insuficiente para ampliar la tabla interna. En caso de " "error, no se agregan módulos a la tabla interna. Esto debería llamarse antes " "de :c:func:`Py_Initialize`." + +#~ msgid "Initialize the import mechanism. For internal use only." +#~ msgstr "Inicializa el mecanismo de importación. Sólo para uso interno." + +#~ msgid "Empty the module table. For internal use only." +#~ msgstr "Vacía la tabla del módulo (*module table*). Sólo para uso interno." + +#~ msgid "Finalize the import mechanism. For internal use only." +#~ msgstr "Finaliza el mecanismo de importación. Sólo para uso interno." diff --git a/c-api/init.po b/c-api/init.po index 1693fd0536..13e6ca23f9 100644 --- a/c-api/init.po +++ b/c-api/init.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-25 00:27+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" "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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/c-api/init.rst:8 msgid "Initialization, Finalization, and Threads" @@ -598,7 +597,7 @@ msgstr "" "vez; Esto puede suceder si una aplicación llama a :c:func:`Py_Initialize` y :" "c:func:`Py_FinalizeEx` más de una vez." -#: ../Doc/c-api/init.rst:305 +#: ../Doc/c-api/init.rst:304 msgid "" "Raises an :ref:`auditing event ` ``cpython." "_PySys_ClearAuditHooks`` with no arguments." @@ -1405,9 +1404,10 @@ msgstr "" "pertenezcan." #: ../Doc/c-api/init.rst:832 +#, fuzzy msgid "" "This data structure represents the state of a single thread. The only " -"public data member is :c:type:`PyInterpreterState \\*`:attr:`interp`, which " +"public data member is :attr:`interp` (:c:type:`PyInterpreterState *`), which " "points to this thread's interpreter state." msgstr "" "Esta estructura de datos representa el estado de un solo hilo. El único " @@ -1415,21 +1415,17 @@ msgstr "" "que apunta al estado del intérprete de este hilo." #: ../Doc/c-api/init.rst:845 +msgid "Deprecated function which does nothing." +msgstr "" + +#: ../Doc/c-api/init.rst:847 msgid "" -"Initialize and acquire the global interpreter lock. It should be called in " -"the main thread before creating a second thread or engaging in any other " -"thread operations such as ``PyEval_ReleaseThread(tstate)``. It is not needed " -"before calling :c:func:`PyEval_SaveThread` or :c:func:`PyEval_RestoreThread`." +"In Python 3.6 and older, this function created the GIL if it didn't exist." msgstr "" -"Inicializa y adquiere el bloqueo global de intérprete. Debe llamarse en el " -"hilo principal antes de crear un segundo hilo o participar en cualquier otra " -"operación de hilo como ``PyEval_ReleaseThread(tstate)``. No es necesario " -"antes de llamar a :c:func:`PyEval_SaveThread` o :c:func:" -"`PyEval_RestoreThread`." -#: ../Doc/c-api/init.rst:850 -msgid "This is a no-op when called for a second time." -msgstr "Esto es un *no-op* cuando se llama por segunda vez." +#: ../Doc/c-api/init.rst:849 +msgid "The function now does nothing." +msgstr "" #: ../Doc/c-api/init.rst:852 msgid "" @@ -1444,7 +1440,7 @@ msgid "" "This function cannot be called before :c:func:`Py_Initialize()` anymore." msgstr "Esta función ya no se puede llamar antes de :c:func:`Py_Initialize()`." -#: ../Doc/c-api/init.rst:864 +#: ../Doc/c-api/init.rst:866 msgid "" "Returns a non-zero value if :c:func:`PyEval_InitThreads` has been called. " "This function can be called without holding the GIL, and therefore can be " @@ -1455,12 +1451,12 @@ msgstr "" "por lo tanto, se puede utilizar para evitar llamadas a la API de bloqueo " "cuando se ejecuta un solo hilo." -#: ../Doc/c-api/init.rst:868 +#: ../Doc/c-api/init.rst:870 msgid "The :term:`GIL` is now initialized by :c:func:`Py_Initialize()`." msgstr "" "El término :term:`GIL` ahora se inicializa con :c:func:`Py_Initialize()`." -#: ../Doc/c-api/init.rst:874 +#: ../Doc/c-api/init.rst:878 msgid "" "Release the global interpreter lock (if it has been created) and reset the " "thread state to ``NULL``, returning the previous thread state (which is not " @@ -1472,7 +1468,7 @@ msgstr "" "es ``NULL``). Si se ha creado el bloqueo, el hilo actual debe haberlo " "adquirido." -#: ../Doc/c-api/init.rst:882 +#: ../Doc/c-api/init.rst:886 msgid "" "Acquire the global interpreter lock (if it has been created) and set the " "thread state to *tstate*, which must not be ``NULL``. If the lock has been " @@ -1484,8 +1480,8 @@ msgstr "" "bloqueo, el hilo actual no debe haberlo adquirido, de lo contrario se " "produce un *deadlock*." -#: ../Doc/c-api/init.rst:888 ../Doc/c-api/init.rst:934 -#: ../Doc/c-api/init.rst:1109 ../Doc/c-api/init.rst:1147 +#: ../Doc/c-api/init.rst:892 ../Doc/c-api/init.rst:938 +#: ../Doc/c-api/init.rst:1197 ../Doc/c-api/init.rst:1235 msgid "" "Calling this function from a thread when the runtime is finalizing will " "terminate the thread, even if the thread was not created by Python. You can " @@ -1499,7 +1495,7 @@ msgstr "" "intérprete está en proceso de finalización antes de llamar a esta función " "para evitar una terminación no deseada." -#: ../Doc/c-api/init.rst:896 +#: ../Doc/c-api/init.rst:900 msgid "" "Return the current thread state. The global interpreter lock must be held. " "When the current thread state is ``NULL``, this issues a fatal error (so " @@ -1509,7 +1505,7 @@ msgstr "" "intérprete. Cuando el estado actual del hilo es ``NULL``, esto genera un " "error fatal (por lo que la persona que llama no necesita verificar ``NULL``)." -#: ../Doc/c-api/init.rst:903 +#: ../Doc/c-api/init.rst:907 msgid "" "Swap the current thread state with the thread state given by the argument " "*tstate*, which may be ``NULL``. The global interpreter lock must be held " @@ -1519,7 +1515,7 @@ msgstr "" "argumento *tstate*, que puede ser ``NULL``. El bloqueo global del intérprete " "debe mantenerse y no se libera." -#: ../Doc/c-api/init.rst:908 +#: ../Doc/c-api/init.rst:912 msgid "" "The following functions use thread-local storage, and are not compatible " "with sub-interpreters:" @@ -1527,7 +1523,7 @@ msgstr "" "Las siguientes funciones utilizan almacenamiento local de hilos y no son " "compatibles con subinterpretes:" -#: ../Doc/c-api/init.rst:913 +#: ../Doc/c-api/init.rst:917 msgid "" "Ensure that the current thread is ready to call the Python C API regardless " "of the current state of Python, or of the global interpreter lock. This may " @@ -1550,7 +1546,7 @@ msgstr "" "macro:`Py_BEGIN_ALLOW_THREADS` y :c:macro:`Py_END_ALLOW_THREADS` es " "aceptable." -#: ../Doc/c-api/init.rst:923 +#: ../Doc/c-api/init.rst:927 msgid "" "The return value is an opaque \"handle\" to the thread state when :c:func:" "`PyGILState_Ensure` was called, and must be passed to :c:func:" @@ -1566,7 +1562,7 @@ msgstr "" "pueden compartirse; cada llamada única a :c:func:`PyGILState_Ensure` debe " "guardar el identificador para su llamada a :c:func:`PyGILState_Release`." -#: ../Doc/c-api/init.rst:930 +#: ../Doc/c-api/init.rst:934 msgid "" "When the function returns, the current thread will hold the GIL and be able " "to call arbitrary Python code. Failure is a fatal error." @@ -1574,7 +1570,7 @@ msgstr "" "Cuando la función regrese, el hilo actual contendrá el GIL y podrá llamar a " "código arbitrario de Python. El fracaso es un error fatal." -#: ../Doc/c-api/init.rst:942 +#: ../Doc/c-api/init.rst:946 msgid "" "Release any resources previously acquired. After this call, Python's state " "will be the same as it was prior to the corresponding :c:func:" @@ -1586,7 +1582,7 @@ msgstr "" "func:`PyGILState_Ensure` (pero en general este estado será desconocido para " "la persona que llama, de ahí el uso de la API ``GILState``)." -#: ../Doc/c-api/init.rst:947 +#: ../Doc/c-api/init.rst:951 msgid "" "Every call to :c:func:`PyGILState_Ensure` must be matched by a call to :c:" "func:`PyGILState_Release` on the same thread." @@ -1594,7 +1590,7 @@ msgstr "" "Cada llamada a :c:func:`PyGILState_Ensure` debe coincidir con una llamada a :" "c:func:`PyGILState_Release` en el mismo hilo." -#: ../Doc/c-api/init.rst:953 +#: ../Doc/c-api/init.rst:957 msgid "" "Get the current thread state for this thread. May return ``NULL`` if no " "GILState API has been used on the current thread. Note that the main thread " @@ -1608,7 +1604,7 @@ msgstr "" "en el subproceso principal. Esta es principalmente una función auxiliar y de " "diagnóstico." -#: ../Doc/c-api/init.rst:961 +#: ../Doc/c-api/init.rst:965 msgid "" "Return ``1`` if the current thread is holding the GIL and ``0`` otherwise. " "This function can be called from any thread at any time. Only if it has had " @@ -1627,7 +1623,7 @@ msgstr "" "bloqueado puede permitir que la persona que llama realice acciones " "confidenciales o se comporte de otra manera de manera diferente." -#: ../Doc/c-api/init.rst:973 +#: ../Doc/c-api/init.rst:977 msgid "" "The following macros are normally used without a trailing semicolon; look " "for example usage in the Python source distribution." @@ -1635,7 +1631,7 @@ msgstr "" "Las siguientes macros se usan normalmente sin punto y coma final; busque, " "por ejemplo, el uso en la distribución fuente de Python." -#: ../Doc/c-api/init.rst:979 +#: ../Doc/c-api/init.rst:983 msgid "" "This macro expands to ``{ PyThreadState *_save; _save = PyEval_SaveThread();" "``. Note that it contains an opening brace; it must be matched with a " @@ -1647,7 +1643,7 @@ msgstr "" "la siguiente macro :c:macro:`Py_END_ALLOW_THREADS`. Ver arriba para una " "discusión más detallada de esta macro." -#: ../Doc/c-api/init.rst:987 +#: ../Doc/c-api/init.rst:991 msgid "" "This macro expands to ``PyEval_RestoreThread(_save); }``. Note that it " "contains a closing brace; it must be matched with an earlier :c:macro:" @@ -1659,7 +1655,7 @@ msgstr "" "macro:`Py_BEGIN_ALLOW_THREADS`. Ver arriba para una discusión más detallada " "de esta macro." -#: ../Doc/c-api/init.rst:995 +#: ../Doc/c-api/init.rst:999 msgid "" "This macro expands to ``PyEval_RestoreThread(_save);``: it is equivalent to :" "c:macro:`Py_END_ALLOW_THREADS` without the closing brace." @@ -1667,7 +1663,7 @@ msgstr "" "Esta macro se expande a ``PyEval_RestoreThread(_save);``: es equivalente a :" "c:macro:`Py_END_ALLOW_THREADS` sin la llave de cierre." -#: ../Doc/c-api/init.rst:1001 +#: ../Doc/c-api/init.rst:1005 msgid "" "This macro expands to ``_save = PyEval_SaveThread();``: it is equivalent to :" "c:macro:`Py_BEGIN_ALLOW_THREADS` without the opening brace and variable " @@ -1677,22 +1673,22 @@ msgstr "" "c:macro:`Py_BEGIN_ALLOW_THREADS` sin la llave de apertura y la declaración " "de variable." -#: ../Doc/c-api/init.rst:1007 +#: ../Doc/c-api/init.rst:1011 msgid "Low-level API" msgstr "API de bajo nivel" -#: ../Doc/c-api/init.rst:1009 +#: ../Doc/c-api/init.rst:1013 msgid "" "All of the following functions must be called after :c:func:`Py_Initialize`." msgstr "" "Todas las siguientes funciones deben llamarse después de :c:func:" "`Py_Initialize`." -#: ../Doc/c-api/init.rst:1011 +#: ../Doc/c-api/init.rst:1015 msgid ":c:func:`Py_Initialize()` now initializes the :term:`GIL`." msgstr ":c:func:`Py_Initialize()` ahora inicializa el :term:`GIL`." -#: ../Doc/c-api/init.rst:1017 +#: ../Doc/c-api/init.rst:1021 msgid "" "Create a new interpreter state object. The global interpreter lock need not " "be held, but may be held if it is necessary to serialize calls to this " @@ -1702,7 +1698,7 @@ msgstr "" "bloqueo global del intérprete, pero se puede retener si es necesario para " "serializar llamadas a esta función." -#: ../Doc/c-api/init.rst:1021 +#: ../Doc/c-api/init.rst:1025 msgid "" "Raises an :ref:`auditing event ` ``cpython." "PyInterpreterState_New`` with no arguments." @@ -1710,7 +1706,7 @@ msgstr "" "Genera un :ref:`evento de auditoría ` ``python." "PyInterpreterState_New`` sin argumentos." -#: ../Doc/c-api/init.rst:1026 +#: ../Doc/c-api/init.rst:1030 msgid "" "Reset all information in an interpreter state object. The global " "interpreter lock must be held." @@ -1718,7 +1714,7 @@ msgstr "" "Restablece toda la información en un objeto de estado de intérprete. Se debe " "mantener el bloqueo global del intérprete." -#: ../Doc/c-api/init.rst:1029 +#: ../Doc/c-api/init.rst:1033 msgid "" "Raises an :ref:`auditing event ` ``cpython." "PyInterpreterState_Clear`` with no arguments." @@ -1726,7 +1722,7 @@ msgstr "" "Lanza una :ref:`eventos de auditoría ` ``python.PyInterpreterState " "Clear`` sin argumentos." -#: ../Doc/c-api/init.rst:1034 +#: ../Doc/c-api/init.rst:1038 msgid "" "Destroy an interpreter state object. The global interpreter lock need not " "be held. The interpreter state must have been reset with a previous call " @@ -1736,7 +1732,7 @@ msgstr "" "bloqueo global del intérprete. El estado del intérprete debe haberse " "restablecido con una llamada previa a :c:func:`PyInterpreterState_Clear`." -#: ../Doc/c-api/init.rst:1041 +#: ../Doc/c-api/init.rst:1045 msgid "" "Create a new thread state object belonging to the given interpreter object. " "The global interpreter lock need not be held, but may be held if it is " @@ -1746,7 +1742,7 @@ msgstr "" "dado. No es necesario retener el bloqueo global del intérprete, pero se " "puede retener si es necesario para serializar llamadas a esta función." -#: ../Doc/c-api/init.rst:1048 +#: ../Doc/c-api/init.rst:1052 msgid "" "Reset all information in a thread state object. The global interpreter lock " "must be held." @@ -1754,7 +1750,13 @@ msgstr "" "Restablece toda la información en un objeto de estado de hilo. Se debe " "mantener el bloqueo global del intérprete." -#: ../Doc/c-api/init.rst:1054 +#: ../Doc/c-api/init.rst:1055 +msgid "" +"This function now calls the :c:member:`PyThreadState.on_delete` callback. " +"Previously, that happened in :c:func:`PyThreadState_Delete`." +msgstr "" + +#: ../Doc/c-api/init.rst:1062 msgid "" "Destroy a thread state object. The global interpreter lock need not be " "held. The thread state must have been reset with a previous call to :c:func:" @@ -1764,7 +1766,62 @@ msgstr "" "global del intérprete. El estado del hilo debe haberse restablecido con una " "llamada previa a :c:func:`PyThreadState_Clear`." -#: ../Doc/c-api/init.rst:1061 +#: ../Doc/c-api/init.rst:1069 +#, fuzzy +msgid "" +"Destroy the current thread state and release the global interpreter lock. " +"Like :c:func:`PyThreadState_Delete`, the global interpreter lock need not be " +"held. The thread state must have been reset with a previous call to :c:func:" +"`PyThreadState_Clear`." +msgstr "" +"Destruye un objeto de estado de hilo. No es necesario mantener el bloqueo " +"global del intérprete. El estado del hilo debe haberse restablecido con una " +"llamada previa a :c:func:`PyThreadState_Clear`." + +#: ../Doc/c-api/init.rst:1077 +msgid "Get the current frame of the Python thread state *tstate*." +msgstr "" + +#: ../Doc/c-api/init.rst:1079 +msgid "" +"Return a strong reference. Return ``NULL`` if no frame is currently " +"executing." +msgstr "" + +#: ../Doc/c-api/init.rst:1082 +msgid "See also :c:func:`PyEval_GetFrame`." +msgstr "" + +#: ../Doc/c-api/init.rst:1084 ../Doc/c-api/init.rst:1093 +#: ../Doc/c-api/init.rst:1102 +msgid "*tstate* must not be ``NULL``." +msgstr "" + +#: ../Doc/c-api/init.rst:1091 +msgid "" +"Get the unique thread state identifier of the Python thread state *tstate*." +msgstr "" + +#: ../Doc/c-api/init.rst:1100 +msgid "Get the interpreter of the Python thread state *tstate*." +msgstr "" + +#: ../Doc/c-api/init.rst:1109 +#, fuzzy +msgid "Get the current interpreter." +msgstr "Retorna el objeto de estado del intérprete principal." + +#: ../Doc/c-api/init.rst:1111 +msgid "" +"Issue a fatal error if there no current Python thread state or no current " +"interpreter. It cannot return NULL." +msgstr "" + +#: ../Doc/c-api/init.rst:1114 ../Doc/c-api/init.rst:1124 +msgid "The caller must hold the GIL." +msgstr "" + +#: ../Doc/c-api/init.rst:1121 msgid "" "Return the interpreter's unique ID. If there was any error in doing so then " "``-1`` is returned and an error is set." @@ -1772,7 +1829,7 @@ msgstr "" "Retorna la identificación única del intérprete. Si hubo algún error al " "hacerlo, entonces se retorna ``-1`` y se establece un error." -#: ../Doc/c-api/init.rst:1069 +#: ../Doc/c-api/init.rst:1131 msgid "" "Return a dictionary in which interpreter-specific data may be stored. If " "this function returns ``NULL`` then no exception has been raised and the " @@ -1783,7 +1840,7 @@ msgstr "" "excepción y la persona que llama debe suponer que no hay disponible una " "instrucción específica del intérprete." -#: ../Doc/c-api/init.rst:1073 +#: ../Doc/c-api/init.rst:1135 msgid "" "This is not a replacement for :c:func:`PyModule_GetState()`, which " "extensions should use to store interpreter-specific state information." @@ -1791,7 +1848,33 @@ msgstr "" "Esto no reemplaza a :c:func:`PyModule_GetState()`, que las extensiones deben " "usar para almacenar información de estado específica del intérprete." -#: ../Doc/c-api/init.rst:1081 +#: ../Doc/c-api/init.rst:1142 +msgid "Type of a frame evaluation function." +msgstr "" + +#: ../Doc/c-api/init.rst:1144 +msgid "" +"The *throwflag* parameter is used by the ``throw()`` method of generators: " +"if non-zero, handle the current exception." +msgstr "" + +#: ../Doc/c-api/init.rst:1147 +msgid "The function now takes a *tstate* parameter." +msgstr "" + +#: ../Doc/c-api/init.rst:1152 +msgid "Get the frame evaluation function." +msgstr "" + +#: ../Doc/c-api/init.rst:1154 ../Doc/c-api/init.rst:1162 +msgid "See the :pep:`523` \"Adding a frame evaluation API to CPython\"." +msgstr "" + +#: ../Doc/c-api/init.rst:1160 +msgid "Set the frame evaluation function." +msgstr "" + +#: ../Doc/c-api/init.rst:1169 msgid "" "Return a dictionary in which extensions can store thread-specific state " "information. Each extension should use a unique key to use to store state " @@ -1806,7 +1889,7 @@ msgstr "" "función retorna ``NULL``, no se ha producido ninguna excepción y la persona " "que llama debe asumir que no hay disponible ningún estado del hilo actual." -#: ../Doc/c-api/init.rst:1090 +#: ../Doc/c-api/init.rst:1178 msgid "" "Asynchronously raise an exception in a thread. The *id* argument is the " "thread id of the target thread; *exc* is the exception object to be raised. " @@ -1826,7 +1909,7 @@ msgstr "" "identificación del hilo. Si *exc* es :const:`NULL`, se borra la excepción " "pendiente (si existe) para el hilo. Esto no lanza excepciones." -#: ../Doc/c-api/init.rst:1098 +#: ../Doc/c-api/init.rst:1186 msgid "" "The type of the *id* parameter changed from :c:type:`long` to :c:type:" "`unsigned long`." @@ -1834,10 +1917,11 @@ msgstr "" "El tipo del parámetro *id* cambia de :c:type:`long` a :c:type:`unsigned " "long`." -#: ../Doc/c-api/init.rst:1104 +#: ../Doc/c-api/init.rst:1192 +#, fuzzy msgid "" "Acquire the global interpreter lock and set the current thread state to " -"*tstate*, which should not be ``NULL``. The lock must have been created " +"*tstate*, which must not be ``NULL``. The lock must have been created " "earlier. If this thread already has the lock, deadlock ensues." msgstr "" "Adquiere el bloqueo global del intérprete y establece el estado actual del " @@ -1845,7 +1929,7 @@ msgstr "" "creado anteriormente. Si este hilo ya tiene el bloqueo, se produce un " "*deadlock*." -#: ../Doc/c-api/init.rst:1115 ../Doc/c-api/init.rst:1153 +#: ../Doc/c-api/init.rst:1203 ../Doc/c-api/init.rst:1241 msgid "" "Updated to be consistent with :c:func:`PyEval_RestoreThread`, :c:func:" "`Py_END_ALLOW_THREADS`, and :c:func:`PyGILState_Ensure`, and terminate the " @@ -1855,7 +1939,7 @@ msgstr "" "`Py_END_ALLOW_THREADS`, y :c:func:`PyGILState_Ensure`, y termina el hilo " "actual si se llama mientras el intérprete está finalizando." -#: ../Doc/c-api/init.rst:1120 +#: ../Doc/c-api/init.rst:1208 msgid "" ":c:func:`PyEval_RestoreThread` is a higher-level function which is always " "available (even when threads have not been initialized)." @@ -1863,7 +1947,7 @@ msgstr "" ":c:func:`PyEval_RestoreThread` es una función de nivel superior que siempre " "está disponible (incluso cuando los subprocesos no se han inicializado)." -#: ../Doc/c-api/init.rst:1126 +#: ../Doc/c-api/init.rst:1214 msgid "" "Reset the current thread state to ``NULL`` and release the global " "interpreter lock. The lock must have been created earlier and must be held " @@ -1877,7 +1961,7 @@ msgstr "" "usa para verificar que representa el estado actual del hilo --- si no lo es, " "se informa un error fatal." -#: ../Doc/c-api/init.rst:1132 +#: ../Doc/c-api/init.rst:1220 msgid "" ":c:func:`PyEval_SaveThread` is a higher-level function which is always " "available (even when threads have not been initialized)." @@ -1885,7 +1969,7 @@ msgstr "" ":c:func:`PyEval_SaveThread` es una función de nivel superior que siempre " "está disponible (incluso cuando los hilos no se han inicializado)." -#: ../Doc/c-api/init.rst:1138 +#: ../Doc/c-api/init.rst:1226 msgid "" "Acquire the global interpreter lock. The lock must have been created " "earlier. If this thread already has the lock, a deadlock ensues." @@ -1893,7 +1977,7 @@ msgstr "" "Adquiera el bloqueo global de intérprete. El bloqueo debe haber sido creado " "anteriormente. Si este hilo ya tiene el bloqueo, se produce un *deadlock*." -#: ../Doc/c-api/init.rst:1141 +#: ../Doc/c-api/init.rst:1229 msgid "" "This function does not update the current thread state. Please use :c:func:" "`PyEval_RestoreThread` or :c:func:`PyEval_AcquireThread` instead." @@ -1901,7 +1985,7 @@ msgstr "" "Esta función no actualiza el estado actual del hilo. Utilice :c:func:" "`PyEval_RestoreThread` o :c:func:`PyEval_AcquireThread` en su lugar." -#: ../Doc/c-api/init.rst:1161 +#: ../Doc/c-api/init.rst:1249 msgid "" "Release the global interpreter lock. The lock must have been created " "earlier." @@ -1909,7 +1993,7 @@ msgstr "" "Libere el bloqueo global del intérprete. El bloqueo debe haber sido creado " "anteriormente." -#: ../Doc/c-api/init.rst:1163 +#: ../Doc/c-api/init.rst:1251 msgid "" "This function does not update the current thread state. Please use :c:func:" "`PyEval_SaveThread` or :c:func:`PyEval_ReleaseThread` instead." @@ -1917,11 +2001,11 @@ msgstr "" "Esta función no actualiza el estado actual del hilo. Utilice :c:func:" "`PyEval_SaveThread` o :c:func:`PyEval_ReleaseThread` en su lugar." -#: ../Doc/c-api/init.rst:1172 +#: ../Doc/c-api/init.rst:1260 msgid "Sub-interpreter support" msgstr "Soporte de subinterprete" -#: ../Doc/c-api/init.rst:1174 +#: ../Doc/c-api/init.rst:1262 msgid "" "While in most uses, you will only embed a single Python interpreter, there " "are cases where you need to create several independent interpreters in the " @@ -1933,7 +2017,7 @@ msgstr "" "independientes en el mismo proceso y tal vez incluso en el mismo hilo. Los " "subinterpretes le permiten hacer eso." -#: ../Doc/c-api/init.rst:1179 +#: ../Doc/c-api/init.rst:1267 msgid "" "The \"main\" interpreter is the first one created when the runtime " "initializes. It is usually the only Python interpreter in a process. Unlike " @@ -1952,7 +2036,7 @@ msgstr "" "del tiempo de ejecución. La función :c:func:`PyInterpreterState_Main` " "retorna un puntero a su estado." -#: ../Doc/c-api/init.rst:1186 +#: ../Doc/c-api/init.rst:1274 msgid "" "You can switch between sub-interpreters using the :c:func:" "`PyThreadState_Swap` function. You can create and destroy them using the " @@ -1962,7 +2046,7 @@ msgstr "" "`PyThreadState_Swap`. Puede crearlos y destruirlos utilizando las siguientes " "funciones:" -#: ../Doc/c-api/init.rst:1200 +#: ../Doc/c-api/init.rst:1288 msgid "" "Create a new sub-interpreter. This is an (almost) totally separate " "environment for the execution of Python code. In particular, the new " @@ -1984,7 +2068,7 @@ msgstr "" "estándar ``sys.stdin``, ``sys.stdout`` y ``sys.stderr`` (sin embargo, estos " "se refieren a los mismos descriptores de archivo subyacentes)." -#: ../Doc/c-api/init.rst:1210 +#: ../Doc/c-api/init.rst:1298 msgid "" "The return value points to the first thread state created in the new sub-" "interpreter. This thread state is made in the current thread state. Note " @@ -2009,13 +2093,13 @@ msgstr "" "embargo, a diferencia de la mayoría de las otras funciones de Python/C API, " "no es necesario que haya un estado del hilo actual en entrada.)" -#: ../Doc/c-api/init.rst:1225 +#: ../Doc/c-api/init.rst:1313 msgid "Extension modules are shared between (sub-)interpreters as follows:" msgstr "" "Los módulos de extensión se comparten entre (sub) intérpretes de la " "siguiente manera:" -#: ../Doc/c-api/init.rst:1227 +#: ../Doc/c-api/init.rst:1315 msgid "" "For modules using multi-phase initialization, e.g. :c:func:" "`PyModule_FromDefAndSpec`, a separate module object is created and " @@ -2027,7 +2111,7 @@ msgstr "" "para cada intérprete. Solo las variables estáticas y globales de nivel C se " "comparten entre estos objetos de módulo." -#: ../Doc/c-api/init.rst:1233 +#: ../Doc/c-api/init.rst:1321 msgid "" "For modules using single-phase initialization, e.g. :c:func:" "`PyModule_Create`, the first time a particular extension is imported, it is " @@ -2048,7 +2132,7 @@ msgstr "" "intérpretes, lo que puede causar un comportamiento no deseado (ver Errores y " "advertencias (`Bugs and caveats`_) a continuación)." -#: ../Doc/c-api/init.rst:1244 +#: ../Doc/c-api/init.rst:1332 msgid "" "Note that this is different from what happens when an extension is imported " "after the interpreter has been completely re-initialized by calling :c:func:" @@ -2064,7 +2148,7 @@ msgstr "" "que con la inicialización de múltiples fases, esto significa que solo se " "comparten variables estáticas y globales de nivel C entre estos módulos." -#: ../Doc/c-api/init.rst:1258 +#: ../Doc/c-api/init.rst:1346 msgid "" "Destroy the (sub-)interpreter represented by the given thread state. The " "given thread state must be the current thread state. See the discussion of " @@ -2084,11 +2168,11 @@ msgstr "" "`Py_FinalizeEx` destruirá todos los subinterpretes que no se hayan destruido " "explícitamente en ese punto." -#: ../Doc/c-api/init.rst:1268 +#: ../Doc/c-api/init.rst:1356 msgid "Bugs and caveats" msgstr "Errores y advertencias" -#: ../Doc/c-api/init.rst:1270 +#: ../Doc/c-api/init.rst:1358 msgid "" "Because sub-interpreters (and the main interpreter) are part of the same " "process, the insulation between them isn't perfect --- for example, using " @@ -2111,7 +2195,7 @@ msgstr "" "subinterprete en un espacio de nombres de otro (sub) intérprete; Esto debe " "evitarse si es posible." -#: ../Doc/c-api/init.rst:1280 +#: ../Doc/c-api/init.rst:1368 msgid "" "Special care should be taken to avoid sharing user-defined functions, " "methods, instances or classes between sub-interpreters, since import " @@ -2126,7 +2210,7 @@ msgstr "" "Es igualmente importante evitar compartir objetos desde los que se pueda " "acceder a lo anterior." -#: ../Doc/c-api/init.rst:1286 +#: ../Doc/c-api/init.rst:1374 msgid "" "Also note that combining this functionality with :c:func:`PyGILState_\\*` " "APIs is delicate, because these APIs assume a bijection between Python " @@ -2147,11 +2231,11 @@ msgstr "" "permitir la llamada de código Python desde hilos no creados por Python " "probablemente se rompan cuando se usan subinterpretes." -#: ../Doc/c-api/init.rst:1297 +#: ../Doc/c-api/init.rst:1385 msgid "Asynchronous Notifications" msgstr "Notificaciones asincrónicas" -#: ../Doc/c-api/init.rst:1299 +#: ../Doc/c-api/init.rst:1387 msgid "" "A mechanism is provided to make asynchronous notifications to the main " "interpreter thread. These notifications take the form of a function pointer " @@ -2161,7 +2245,7 @@ msgstr "" "principal del intérprete. Estas notificaciones toman la forma de un puntero " "de función y un argumento de puntero nulo." -#: ../Doc/c-api/init.rst:1308 +#: ../Doc/c-api/init.rst:1396 msgid "" "Schedule a function to be called from the main interpreter thread. On " "success, ``0`` is returned and *func* is queued for being called in the main " @@ -2172,7 +2256,7 @@ msgstr "" "ser llamado en el hilo principal. En caso de fallo, se retorna ``-1`` sin " "establecer ninguna excepción." -#: ../Doc/c-api/init.rst:1312 +#: ../Doc/c-api/init.rst:1400 msgid "" "When successfully queued, *func* will be *eventually* called from the main " "interpreter thread with the argument *arg*. It will be called " @@ -2184,11 +2268,11 @@ msgstr "" "asincrónica con respecto al código Python que se ejecuta normalmente, pero " "con ambas condiciones cumplidas:" -#: ../Doc/c-api/init.rst:1317 +#: ../Doc/c-api/init.rst:1405 msgid "on a :term:`bytecode` boundary;" msgstr "en un límite :term:`bytecode`;" -#: ../Doc/c-api/init.rst:1318 +#: ../Doc/c-api/init.rst:1406 msgid "" "with the main thread holding the :term:`global interpreter lock` (*func* can " "therefore use the full C API)." @@ -2196,7 +2280,7 @@ msgstr "" "con el hilo principal que contiene el :term:`global interpreter lock` " "(*func*, por lo tanto, puede usar la API C completa)." -#: ../Doc/c-api/init.rst:1321 +#: ../Doc/c-api/init.rst:1409 msgid "" "*func* must return ``0`` on success, or ``-1`` on failure with an exception " "set. *func* won't be interrupted to perform another asynchronous " @@ -2208,7 +2292,7 @@ msgstr "" "notificación asíncrona de forma recursiva, pero aún se puede interrumpir " "para cambiar hilos si se libera el bloqueo global del intérprete." -#: ../Doc/c-api/init.rst:1326 +#: ../Doc/c-api/init.rst:1414 msgid "" "This function doesn't need a current thread state to run, and it doesn't " "need the global interpreter lock." @@ -2216,7 +2300,14 @@ msgstr "" "Esta función no necesita un estado de hilo actual para ejecutarse y no " "necesita el bloqueo global del intérprete." -#: ../Doc/c-api/init.rst:1330 +#: ../Doc/c-api/init.rst:1417 +msgid "" +"To call this function in a subinterpreter, the caller must hold the GIL. " +"Otherwise, the function *func* can be scheduled to be called from the wrong " +"interpreter." +msgstr "" + +#: ../Doc/c-api/init.rst:1422 msgid "" "This is a low-level function, only useful for very special cases. There is " "no guarantee that *func* will be called as quick as possible. If the main " @@ -2232,11 +2323,19 @@ msgstr "" "**no** es adecuada para llamar a código Python desde hilos C arbitrarios. En " "su lugar, use :ref:`PyGILState API `." -#: ../Doc/c-api/init.rst:1342 +#: ../Doc/c-api/init.rst:1429 +msgid "" +"If this function is called in a subinterpreter, the function *func* is now " +"scheduled to be called from the subinterpreter, rather than being called " +"from the main interpreter. Each subinterpreter now has its own list of " +"scheduled calls." +msgstr "" + +#: ../Doc/c-api/init.rst:1440 msgid "Profiling and Tracing" msgstr "Perfilado y Rastreo" -#: ../Doc/c-api/init.rst:1347 +#: ../Doc/c-api/init.rst:1445 msgid "" "The Python interpreter provides some low-level support for attaching " "profiling and execution tracing facilities. These are used for profiling, " @@ -2246,7 +2345,7 @@ msgstr "" "funciones de creación de perfiles y seguimiento de ejecución. Estos se " "utilizan para herramientas de análisis de perfiles, depuración y cobertura." -#: ../Doc/c-api/init.rst:1351 +#: ../Doc/c-api/init.rst:1449 msgid "" "This C interface allows the profiling or tracing code to avoid the overhead " "of calling through Python-level callable objects, making a direct C function " @@ -2263,7 +2362,7 @@ msgstr "" "función de rastreo son los mismos que se informaron a las funciones de " "rastreo a nivel de Python en versiones anteriores." -#: ../Doc/c-api/init.rst:1361 +#: ../Doc/c-api/init.rst:1459 msgid "" "The type of the trace function registered using :c:func:`PyEval_SetProfile` " "and :c:func:`PyEval_SetTrace`. The first parameter is the object passed to " @@ -2282,67 +2381,67 @@ msgstr "" "const:`PyTrace_C_RETURN`, o :const:`PyTrace_OPCODE`, y *arg* depende de el " "valor de *what*:" -#: ../Doc/c-api/init.rst:1370 +#: ../Doc/c-api/init.rst:1468 msgid "Value of *what*" msgstr "Valor de *what*" -#: ../Doc/c-api/init.rst:1370 +#: ../Doc/c-api/init.rst:1468 msgid "Meaning of *arg*" msgstr "Significado de *arg*" -#: ../Doc/c-api/init.rst:1372 +#: ../Doc/c-api/init.rst:1470 msgid ":const:`PyTrace_CALL`" msgstr ":const:`PyTrace_CALL`" -#: ../Doc/c-api/init.rst:1372 ../Doc/c-api/init.rst:1377 -#: ../Doc/c-api/init.rst:1388 +#: ../Doc/c-api/init.rst:1470 ../Doc/c-api/init.rst:1475 +#: ../Doc/c-api/init.rst:1486 msgid "Always :c:data:`Py_None`." msgstr "Siempre :c:data:`Py_None`." -#: ../Doc/c-api/init.rst:1374 +#: ../Doc/c-api/init.rst:1472 msgid ":const:`PyTrace_EXCEPTION`" msgstr ":const:`PyTrace_EXCEPTION`" -#: ../Doc/c-api/init.rst:1374 +#: ../Doc/c-api/init.rst:1472 msgid "Exception information as returned by :func:`sys.exc_info`." msgstr "Información de excepción retornada por :func:`sys.exc_info`." -#: ../Doc/c-api/init.rst:1377 +#: ../Doc/c-api/init.rst:1475 msgid ":const:`PyTrace_LINE`" msgstr ":const:`PyTrace_LINE`" -#: ../Doc/c-api/init.rst:1379 +#: ../Doc/c-api/init.rst:1477 msgid ":const:`PyTrace_RETURN`" msgstr ":const:`PyTrace_RETURN`" -#: ../Doc/c-api/init.rst:1379 +#: ../Doc/c-api/init.rst:1477 msgid "" "Value being returned to the caller, or ``NULL`` if caused by an exception." msgstr "" "Valor retornado al que llama, o ``NULL`` si es causado por una excepción." -#: ../Doc/c-api/init.rst:1382 +#: ../Doc/c-api/init.rst:1480 msgid ":const:`PyTrace_C_CALL`" msgstr ":const:`PyTrace_C_CALL`" -#: ../Doc/c-api/init.rst:1382 ../Doc/c-api/init.rst:1384 -#: ../Doc/c-api/init.rst:1386 +#: ../Doc/c-api/init.rst:1480 ../Doc/c-api/init.rst:1482 +#: ../Doc/c-api/init.rst:1484 msgid "Function object being called." msgstr "Objeto función que se llaman." -#: ../Doc/c-api/init.rst:1384 +#: ../Doc/c-api/init.rst:1482 msgid ":const:`PyTrace_C_EXCEPTION`" msgstr ":const:`PyTrace_C_EXCEPTION`" -#: ../Doc/c-api/init.rst:1386 +#: ../Doc/c-api/init.rst:1484 msgid ":const:`PyTrace_C_RETURN`" msgstr ":const:`PyTrace_C_RETURN`" -#: ../Doc/c-api/init.rst:1388 +#: ../Doc/c-api/init.rst:1486 msgid ":const:`PyTrace_OPCODE`" msgstr ":const:`PyTrace_OPCODE`" -#: ../Doc/c-api/init.rst:1393 +#: ../Doc/c-api/init.rst:1491 msgid "" "The value of the *what* parameter to a :c:type:`Py_tracefunc` function when " "a new call to a function or method is being reported, or a new entry into a " @@ -2356,7 +2455,7 @@ msgstr "" "de generador no se informa ya que no hay transferencia de control al código " "de bytes de Python en la marco correspondiente." -#: ../Doc/c-api/init.rst:1402 +#: ../Doc/c-api/init.rst:1500 msgid "" "The value of the *what* parameter to a :c:type:`Py_tracefunc` function when " "an exception has been raised. The callback function is called with this " @@ -2377,7 +2476,7 @@ msgstr "" "las funciones de rastreo reciben estos eventos; el perfilador (*profiler*) " "no los necesita." -#: ../Doc/c-api/init.rst:1413 +#: ../Doc/c-api/init.rst:1511 msgid "" "The value passed as the *what* parameter to a :c:type:`Py_tracefunc` " "function (but not a profiling function) when a line-number event is being " @@ -2389,7 +2488,7 @@ msgstr "" "número de línea. Puede deshabilitarse para un marco configurando :attr:" "`f_trace_lines` en *0* en ese marco." -#: ../Doc/c-api/init.rst:1420 +#: ../Doc/c-api/init.rst:1518 msgid "" "The value for the *what* parameter to :c:type:`Py_tracefunc` functions when " "a call is about to return." @@ -2397,7 +2496,7 @@ msgstr "" "El valor para el parámetro *what* para :c:type:`Py_tracefunc` funciona " "cuando una llamada está por regresar." -#: ../Doc/c-api/init.rst:1426 +#: ../Doc/c-api/init.rst:1524 msgid "" "The value for the *what* parameter to :c:type:`Py_tracefunc` functions when " "a C function is about to be called." @@ -2405,7 +2504,7 @@ msgstr "" "El valor del parámetro *what* para :c:type:`Py_tracefunc` funciona cuando " "una función C está a punto de ser invocada." -#: ../Doc/c-api/init.rst:1432 +#: ../Doc/c-api/init.rst:1530 msgid "" "The value for the *what* parameter to :c:type:`Py_tracefunc` functions when " "a C function has raised an exception." @@ -2413,7 +2512,7 @@ msgstr "" "El valor del parámetro *what* para funciones :c:type:`Py_tracefunc` cuando " "una función C ha lanzado una excepción." -#: ../Doc/c-api/init.rst:1438 +#: ../Doc/c-api/init.rst:1536 msgid "" "The value for the *what* parameter to :c:type:`Py_tracefunc` functions when " "a C function has returned." @@ -2421,7 +2520,7 @@ msgstr "" "El valor del parámetro *what* para :c:type:`Py_tracefunc` funciona cuando " "una función C ha retornado." -#: ../Doc/c-api/init.rst:1444 +#: ../Doc/c-api/init.rst:1542 msgid "" "The value for the *what* parameter to :c:type:`Py_tracefunc` functions (but " "not profiling functions) when a new opcode is about to be executed. This " @@ -2434,7 +2533,7 @@ msgstr "" "solicitarse explícitamente estableciendo :attr:`f_trace_opcodes` en *1* en " "el marco." -#: ../Doc/c-api/init.rst:1452 +#: ../Doc/c-api/init.rst:1550 msgid "" "Set the profiler function to *func*. The *obj* parameter is passed to the " "function as its first parameter, and may be any Python object, or ``NULL``. " @@ -2451,7 +2550,11 @@ msgstr "" "perfilado para todos los eventos supervisados, excepto :const:" "`PyTrace_LINE` :const:`PyTrace_OPCODE` y :const:`PyTrace_EXCEPTION`." -#: ../Doc/c-api/init.rst:1462 +#: ../Doc/c-api/init.rst:1557 ../Doc/c-api/init.rst:1569 +msgid "The caller must hold the :term:`GIL`." +msgstr "" + +#: ../Doc/c-api/init.rst:1562 msgid "" "Set the tracing function to *func*. This is similar to :c:func:" "`PyEval_SetProfile`, except the tracing function does receive line-number " @@ -2469,18 +2572,18 @@ msgstr "" "`PyTrace_C_CALL`, :const:`PyTrace_C_EXCEPTION` o :const:`PyTrace_C_RETURN` " "como valor para el parámetro *what*." -#: ../Doc/c-api/init.rst:1472 +#: ../Doc/c-api/init.rst:1575 msgid "Advanced Debugger Support" msgstr "Soporte avanzado del depurador" -#: ../Doc/c-api/init.rst:1477 +#: ../Doc/c-api/init.rst:1580 msgid "" "These functions are only intended to be used by advanced debugging tools." msgstr "" "Estas funciones solo están destinadas a ser utilizadas por herramientas de " "depuración avanzadas." -#: ../Doc/c-api/init.rst:1482 +#: ../Doc/c-api/init.rst:1585 msgid "" "Return the interpreter state object at the head of the list of all such " "objects." @@ -2488,11 +2591,11 @@ msgstr "" "Retorna el objeto de estado del intérprete al principio de la lista de todos " "esos objetos." -#: ../Doc/c-api/init.rst:1487 +#: ../Doc/c-api/init.rst:1590 msgid "Return the main interpreter state object." msgstr "Retorna el objeto de estado del intérprete principal." -#: ../Doc/c-api/init.rst:1492 +#: ../Doc/c-api/init.rst:1595 msgid "" "Return the next interpreter state object after *interp* from the list of all " "such objects." @@ -2500,7 +2603,7 @@ msgstr "" "Retorna el siguiente objeto de estado de intérprete después de *interp* de " "la lista de todos esos objetos." -#: ../Doc/c-api/init.rst:1498 +#: ../Doc/c-api/init.rst:1601 msgid "" "Return the pointer to the first :c:type:`PyThreadState` object in the list " "of threads associated with the interpreter *interp*." @@ -2508,7 +2611,7 @@ msgstr "" "Retorna el puntero al primer objeto :c:type:`PyThreadState` en la lista de " "hilos asociados con el intérprete *interp*." -#: ../Doc/c-api/init.rst:1504 +#: ../Doc/c-api/init.rst:1607 msgid "" "Return the next thread state object after *tstate* from the list of all such " "objects belonging to the same :c:type:`PyInterpreterState` object." @@ -2517,17 +2620,18 @@ msgstr "" "lista de todos los objetos que pertenecen al mismo objeto :c:type:" "`PyInterpreterState`." -#: ../Doc/c-api/init.rst:1511 +#: ../Doc/c-api/init.rst:1614 msgid "Thread Local Storage Support" msgstr "Soporte de almacenamiento local de hilo" -#: ../Doc/c-api/init.rst:1515 +#: ../Doc/c-api/init.rst:1618 +#, fuzzy msgid "" "The Python interpreter provides low-level support for thread-local storage " "(TLS) which wraps the underlying native TLS implementation to support the " "Python-level thread local storage API (:class:`threading.local`). The " "CPython C level APIs are similar to those offered by pthreads and Windows: " -"use a thread key and functions to associate a :c:type:`void\\*` value per " +"use a thread key and functions to associate a :c:type:`void*` value per " "thread." msgstr "" "El intérprete de Python proporciona soporte de bajo nivel para el " @@ -2537,7 +2641,7 @@ msgstr "" "similares a las ofrecidas por *pthreads* y Windows: use una clave de hilo y " "funciones para asociar un valor de :c:type:`void\\*` por hilo." -#: ../Doc/c-api/init.rst:1522 +#: ../Doc/c-api/init.rst:1625 msgid "" "The GIL does *not* need to be held when calling these functions; they supply " "their own locking." @@ -2545,7 +2649,7 @@ msgstr "" "El GIL *no* necesita ser retenido al llamar a estas funciones; proporcionan " "su propio bloqueo." -#: ../Doc/c-api/init.rst:1525 +#: ../Doc/c-api/init.rst:1628 msgid "" "Note that :file:`Python.h` does not include the declaration of the TLS APIs, " "you need to include :file:`pythread.h` to use thread-local storage." @@ -2554,12 +2658,13 @@ msgstr "" "TLS, debe incluir :file:`pythread.h` para usar el almacenamiento local de " "hilos." -#: ../Doc/c-api/init.rst:1529 +#: ../Doc/c-api/init.rst:1632 +#, fuzzy msgid "" "None of these API functions handle memory management on behalf of the :c:" -"type:`void\\*` values. You need to allocate and deallocate them yourself. " -"If the :c:type:`void\\*` values happen to be :c:type:`PyObject\\*`, these " -"functions don't do refcount operations on them either." +"type:`void*` values. You need to allocate and deallocate them yourself. If " +"the :c:type:`void*` values happen to be :c:type:`PyObject*`, these functions " +"don't do refcount operations on them either." msgstr "" "Ninguna de estas funciones API maneja la administración de memoria en nombre " "de los valores :c:type:`void\\*`. Debe asignarlos y desasignarlos usted " @@ -2567,12 +2672,12 @@ msgstr "" "funciones tampoco realizan operaciones de conteo de referencias (*refcount*) " "en ellos." -#: ../Doc/c-api/init.rst:1537 +#: ../Doc/c-api/init.rst:1640 msgid "Thread Specific Storage (TSS) API" msgstr "" "API de almacenamiento específico de hilo (TSS, *Thread Specific Storage*)" -#: ../Doc/c-api/init.rst:1539 +#: ../Doc/c-api/init.rst:1642 msgid "" "TSS API is introduced to supersede the use of the existing TLS API within " "the CPython interpreter. This API uses a new type :c:type:`Py_tss_t` " @@ -2582,12 +2687,12 @@ msgstr "" "dentro del intérprete de CPython. Esta API utiliza un nuevo tipo :c:type:" "`Py_tss_t` en lugar de :c:type:`int` para representar las claves del hilo." -#: ../Doc/c-api/init.rst:1545 +#: ../Doc/c-api/init.rst:1648 msgid "\"A New C-API for Thread-Local Storage in CPython\" (:pep:`539`)" msgstr "" "\"Una nueva C-API para *Thread-Local Storage* en CPython\" (:pep:`539`)" -#: ../Doc/c-api/init.rst:1550 +#: ../Doc/c-api/init.rst:1653 msgid "" "This data structure represents the state of a thread key, the definition of " "which may depend on the underlying TLS implementation, and it has an " @@ -2599,7 +2704,7 @@ msgstr "" "campo interno que representa el estado de inicialización de la clave. No hay " "miembros públicos en esta estructura." -#: ../Doc/c-api/init.rst:1555 +#: ../Doc/c-api/init.rst:1658 msgid "" "When :ref:`Py_LIMITED_API ` is not defined, static allocation of " "this type by :c:macro:`Py_tss_NEEDS_INIT` is allowed." @@ -2607,7 +2712,7 @@ msgstr "" "Cuando :ref:`Py_LIMITED_API ` no está definido, la asignación " "estática de este tipo por :c:macro:`Py_tss_NEEDS_INIT` está permitida." -#: ../Doc/c-api/init.rst:1561 +#: ../Doc/c-api/init.rst:1664 msgid "" "This macro expands to the initializer for :c:type:`Py_tss_t` variables. Note " "that this macro won't be defined with :ref:`Py_LIMITED_API `." @@ -2616,11 +2721,11 @@ msgstr "" "Tenga en cuenta que esta macro no se definirá con :ref:`Py_LIMITED_API " "`." -#: ../Doc/c-api/init.rst:1566 +#: ../Doc/c-api/init.rst:1669 msgid "Dynamic Allocation" msgstr "Asignación dinámica" -#: ../Doc/c-api/init.rst:1568 +#: ../Doc/c-api/init.rst:1671 msgid "" "Dynamic allocation of the :c:type:`Py_tss_t`, required in extension modules " "built with :ref:`Py_LIMITED_API `, where static allocation of this " @@ -2631,7 +2736,7 @@ msgstr "" "asignación estática de este tipo no es posible debido a que su " "implementación es opaca en el momento de la compilación." -#: ../Doc/c-api/init.rst:1575 +#: ../Doc/c-api/init.rst:1678 msgid "" "Return a value which is the same state as a value initialized with :c:macro:" "`Py_tss_NEEDS_INIT`, or ``NULL`` in the case of dynamic allocation failure." @@ -2640,7 +2745,7 @@ msgstr "" "macro:`Py_tss_NEEDS_INIT`, o ``NULL`` en caso de falla de asignación " "dinámica." -#: ../Doc/c-api/init.rst:1582 +#: ../Doc/c-api/init.rst:1685 msgid "" "Free the given *key* allocated by :c:func:`PyThread_tss_alloc`, after first " "calling :c:func:`PyThread_tss_delete` to ensure any associated thread locals " @@ -2651,18 +2756,18 @@ msgstr "" "los hilos locales asociados no hayan sido asignados. Esto es un *no-op* si " "el argumento *key* es `NULL`." -#: ../Doc/c-api/init.rst:1588 +#: ../Doc/c-api/init.rst:1691 msgid "" "A freed key becomes a dangling pointer, you should reset the key to `NULL`." msgstr "" "Una clave (*key*) liberada se convierte en un puntero colgante (*dangling " "pointer*), debe restablecer la llave a `NULL`." -#: ../Doc/c-api/init.rst:1593 +#: ../Doc/c-api/init.rst:1696 msgid "Methods" msgstr "Métodos" -#: ../Doc/c-api/init.rst:1595 +#: ../Doc/c-api/init.rst:1698 msgid "" "The parameter *key* of these functions must not be ``NULL``. Moreover, the " "behaviors of :c:func:`PyThread_tss_set` and :c:func:`PyThread_tss_get` are " @@ -2674,7 +2779,7 @@ msgstr "" "no están definidos si el :c:type:`Py_tss_t` dado no ha sido inicializado " "por :c:func:`PyThread_tss_create`." -#: ../Doc/c-api/init.rst:1603 +#: ../Doc/c-api/init.rst:1706 msgid "" "Return a non-zero value if the given :c:type:`Py_tss_t` has been initialized " "by :c:func:`PyThread_tss_create`." @@ -2682,7 +2787,7 @@ msgstr "" "Retorna un valor distinto de cero si :c:type:`Py_tss_t` ha sido inicializado " "por :c:func:`PyThread_tss_create`." -#: ../Doc/c-api/init.rst:1609 +#: ../Doc/c-api/init.rst:1712 msgid "" "Return a zero value on successful initialization of a TSS key. The behavior " "is undefined if the value pointed to by the *key* argument is not " @@ -2696,7 +2801,7 @@ msgstr "" "invocar repetidamente en la misma tecla: llamarla a una tecla ya " "inicializada es un *no-op* e inmediatamente retorna el éxito." -#: ../Doc/c-api/init.rst:1618 +#: ../Doc/c-api/init.rst:1721 msgid "" "Destroy a TSS key to forget the values associated with the key across all " "threads, and change the key's initialization state to uninitialized. A " @@ -2710,19 +2815,21 @@ msgstr "" "c:func:`PyThread_tss_create`. Esta función se puede invocar repetidamente en " "la misma llave; llamarla en una llave ya destruida es un *no-op*." -#: ../Doc/c-api/init.rst:1627 +#: ../Doc/c-api/init.rst:1730 +#, fuzzy msgid "" -"Return a zero value to indicate successfully associating a :c:type:`void\\*` " +"Return a zero value to indicate successfully associating a :c:type:`void*` " "value with a TSS key in the current thread. Each thread has a distinct " -"mapping of the key to a :c:type:`void\\*` value." +"mapping of the key to a :c:type:`void*` value." msgstr "" "Retorna un valor cero para indicar la asociación exitosa de un valor a :c:" "type:`void\\*` con una clave TSS en el hilo actual. Cada hilo tiene un mapeo " "distinto de la clave a un valor :c:type:`void\\*`." -#: ../Doc/c-api/init.rst:1634 +#: ../Doc/c-api/init.rst:1737 +#, fuzzy msgid "" -"Return the :c:type:`void\\*` value associated with a TSS key in the current " +"Return the :c:type:`void*` value associated with a TSS key in the current " "thread. This returns ``NULL`` if no value is associated with the key in the " "current thread." msgstr "" @@ -2730,11 +2837,11 @@ msgstr "" "actual. Esto retorna ``NULL`` si no hay ningún valor asociado con la clave " "en el hilo actual." -#: ../Doc/c-api/init.rst:1642 +#: ../Doc/c-api/init.rst:1745 msgid "Thread Local Storage (TLS) API" msgstr "API de almacenamiento local de hilos (TLS, *Thread Local Storage*)" -#: ../Doc/c-api/init.rst:1644 +#: ../Doc/c-api/init.rst:1747 msgid "" "This API is superseded by :ref:`Thread Specific Storage (TSS) API `." @@ -2743,7 +2850,7 @@ msgstr "" "(TSS, por sus significado en inglés *Thread Specific Storage*) `." -#: ../Doc/c-api/init.rst:1649 +#: ../Doc/c-api/init.rst:1752 msgid "" "This version of the API does not support platforms where the native TLS key " "is defined in a way that cannot be safely cast to ``int``. On such " @@ -2757,10 +2864,26 @@ msgstr "" "inmediatamente con un estado de falla, y las otras funciones TLS serán no " "operativas en tales plataformas." -#: ../Doc/c-api/init.rst:1654 +#: ../Doc/c-api/init.rst:1757 msgid "" "Due to the compatibility problem noted above, this version of the API should " "not be used in new code." msgstr "" "Debido al problema de compatibilidad mencionado anteriormente, esta versión " "de la API no debe usarse en código nuevo." + +#~ msgid "" +#~ "Initialize and acquire the global interpreter lock. It should be called " +#~ "in the main thread before creating a second thread or engaging in any " +#~ "other thread operations such as ``PyEval_ReleaseThread(tstate)``. It is " +#~ "not needed before calling :c:func:`PyEval_SaveThread` or :c:func:" +#~ "`PyEval_RestoreThread`." +#~ msgstr "" +#~ "Inicializa y adquiere el bloqueo global de intérprete. Debe llamarse en " +#~ "el hilo principal antes de crear un segundo hilo o participar en " +#~ "cualquier otra operación de hilo como ``PyEval_ReleaseThread(tstate)``. " +#~ "No es necesario antes de llamar a :c:func:`PyEval_SaveThread` o :c:func:" +#~ "`PyEval_RestoreThread`." + +#~ msgid "This is a no-op when called for a second time." +#~ msgstr "Esto es un *no-op* cuando se llama por segunda vez." diff --git a/c-api/init_config.po b/c-api/init_config.po index 8c9dbba5a1..e3b46ea62f 100644 --- a/c-api/init_config.po +++ b/c-api/init_config.po @@ -8,17 +8,16 @@ msgid "" msgstr "" "Project-Id-Version: Python en Español 3.7\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-06-23 12:35+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" +"Language: es\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language-Team: \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/c-api/init_config.rst:7 msgid "Python Initialization Configuration" @@ -152,7 +151,12 @@ msgstr ":c:func:`Py_PreInitializeFromBytesArgs`" msgid ":c:func:`Py_RunMain`" msgstr ":c:func:`Py_RunMain`" -#: ../Doc/c-api/init_config.rst:47 +#: ../Doc/c-api/init_config.rst:46 +#, fuzzy +msgid ":c:func:`Py_GetArgcArgv`" +msgstr ":c:func:`PyConfig_SetArgv`" + +#: ../Doc/c-api/init_config.rst:48 msgid "" "The preconfiguration (``PyPreConfig`` type) is stored in ``_PyRuntime." "preconfig`` and the configuration (``PyConfig`` type) is stored in " @@ -162,26 +166,26 @@ msgstr "" "preconfig`` y la configuración (tipo ``PyConfig``) se almacena en " "``PyInterpreterState.config``." -#: ../Doc/c-api/init_config.rst:51 +#: ../Doc/c-api/init_config.rst:52 msgid "" "See also :ref:`Initialization, Finalization, and Threads `." msgstr "" "Consulte también :ref:`Inicialización, finalización y subprocesos " "`." -#: ../Doc/c-api/init_config.rst:54 +#: ../Doc/c-api/init_config.rst:55 msgid ":pep:`587` \"Python Initialization Configuration\"." msgstr ":pep:`587` \"Configuración de inicialización de Python\"." -#: ../Doc/c-api/init_config.rst:58 +#: ../Doc/c-api/init_config.rst:59 msgid "PyWideStringList" msgstr "PyWideStringList" -#: ../Doc/c-api/init_config.rst:62 +#: ../Doc/c-api/init_config.rst:63 msgid "List of ``wchar_t*`` strings." msgstr "Lista de cadenas de caracteres ``wchar_t*``." -#: ../Doc/c-api/init_config.rst:64 +#: ../Doc/c-api/init_config.rst:65 msgid "" "If *length* is non-zero, *items* must be non-``NULL`` and all strings must " "be non-``NULL``." @@ -189,99 +193,99 @@ msgstr "" "Si *length* no es cero, *items* no deben ser ``NULL`` y todas las cadenas de " "caracteres deben ser no ``NULL``." -#: ../Doc/c-api/init_config.rst:67 +#: ../Doc/c-api/init_config.rst:68 msgid "Methods:" msgstr "Métodos:" -#: ../Doc/c-api/init_config.rst:71 +#: ../Doc/c-api/init_config.rst:72 msgid "Append *item* to *list*." msgstr "Agregar *item* a *list*." -#: ../Doc/c-api/init_config.rst:73 ../Doc/c-api/init_config.rst:84 +#: ../Doc/c-api/init_config.rst:74 ../Doc/c-api/init_config.rst:85 msgid "Python must be preinitialized to call this function." msgstr "Python debe estar preinicializado para llamar a esta función." -#: ../Doc/c-api/init_config.rst:77 +#: ../Doc/c-api/init_config.rst:78 msgid "Insert *item* into *list* at *index*." msgstr "Inserta *item* en *list* en *index*." -#: ../Doc/c-api/init_config.rst:79 +#: ../Doc/c-api/init_config.rst:80 msgid "" "If *index* is greater than or equal to *list* length, append *item* to " "*list*." msgstr "" "Si *index* es mayor o igual que el largo de *list*, agrega *item* a *list*." -#: ../Doc/c-api/init_config.rst:82 +#: ../Doc/c-api/init_config.rst:83 msgid "*index* must be greater than or equal to 0." msgstr "*index* debe ser mayor o igual que 0." -#: ../Doc/c-api/init_config.rst:86 ../Doc/c-api/init_config.rst:106 -#: ../Doc/c-api/init_config.rst:209 ../Doc/c-api/init_config.rst:416 +#: ../Doc/c-api/init_config.rst:87 ../Doc/c-api/init_config.rst:107 +#: ../Doc/c-api/init_config.rst:210 ../Doc/c-api/init_config.rst:417 msgid "Structure fields:" msgstr "Campos de estructura:" -#: ../Doc/c-api/init_config.rst:90 +#: ../Doc/c-api/init_config.rst:91 msgid "List length." msgstr "Longitud de la lista." -#: ../Doc/c-api/init_config.rst:94 +#: ../Doc/c-api/init_config.rst:95 msgid "List items." msgstr "Elementos de la lista." -#: ../Doc/c-api/init_config.rst:97 +#: ../Doc/c-api/init_config.rst:98 msgid "PyStatus" msgstr "PyStatus" -#: ../Doc/c-api/init_config.rst:101 +#: ../Doc/c-api/init_config.rst:102 msgid "" "Structure to store an initialization function status: success, error or exit." msgstr "" "Estructura para almacenar el estado de una función de inicialización: éxito, " "error o salida." -#: ../Doc/c-api/init_config.rst:104 +#: ../Doc/c-api/init_config.rst:105 msgid "For an error, it can store the C function name which created the error." msgstr "" "Para un error, puede almacenar el nombre de la función C que creó el error." -#: ../Doc/c-api/init_config.rst:110 +#: ../Doc/c-api/init_config.rst:111 msgid "Exit code. Argument passed to ``exit()``." msgstr "Código de salida El argumento pasó a ``exit()``." -#: ../Doc/c-api/init_config.rst:114 +#: ../Doc/c-api/init_config.rst:115 msgid "Error message." msgstr "Mensaje de error." -#: ../Doc/c-api/init_config.rst:118 +#: ../Doc/c-api/init_config.rst:119 msgid "Name of the function which created an error, can be ``NULL``." msgstr "El nombre de la función que creó un error puede ser ``NULL``." -#: ../Doc/c-api/init_config.rst:120 +#: ../Doc/c-api/init_config.rst:121 msgid "Functions to create a status:" msgstr "Funciones para crear un estado:" -#: ../Doc/c-api/init_config.rst:124 +#: ../Doc/c-api/init_config.rst:125 msgid "Success." msgstr "Éxito." -#: ../Doc/c-api/init_config.rst:128 +#: ../Doc/c-api/init_config.rst:129 msgid "Initialization error with a message." msgstr "Error de inicialización con un mensaje." -#: ../Doc/c-api/init_config.rst:132 +#: ../Doc/c-api/init_config.rst:133 msgid "Memory allocation failure (out of memory)." msgstr "Error de asignación de memoria (sin memoria)." -#: ../Doc/c-api/init_config.rst:136 +#: ../Doc/c-api/init_config.rst:137 msgid "Exit Python with the specified exit code." msgstr "Sale de Python con el código de salida especificado." -#: ../Doc/c-api/init_config.rst:138 +#: ../Doc/c-api/init_config.rst:139 msgid "Functions to handle a status:" msgstr "Funciones para manejar un estado:" -#: ../Doc/c-api/init_config.rst:142 +#: ../Doc/c-api/init_config.rst:143 msgid "" "Is the status an error or an exit? If true, the exception must be handled; " "by calling :c:func:`Py_ExitStatusException` for example." @@ -289,15 +293,15 @@ msgstr "" "¿Es el estado un error o una salida? Si es verdadero, la excepción debe ser " "manejada; por ejemplo llamando a :c:func:`Py_ExitStatusException`." -#: ../Doc/c-api/init_config.rst:147 +#: ../Doc/c-api/init_config.rst:148 msgid "Is the result an error?" msgstr "¿Es el resultado un error?" -#: ../Doc/c-api/init_config.rst:151 +#: ../Doc/c-api/init_config.rst:152 msgid "Is the result an exit?" msgstr "¿El resultado es una salida?" -#: ../Doc/c-api/init_config.rst:155 +#: ../Doc/c-api/init_config.rst:156 msgid "" "Call ``exit(exitcode)`` if *status* is an exit. Print the error message and " "exit with a non-zero exit code if *status* is an error. Must only be called " @@ -307,7 +311,7 @@ msgstr "" "error y sale con un código de salida distinto de cero si *status* es un " "error. Solo se debe llamar si ``PyStatus_Exception(status)`` no es cero." -#: ../Doc/c-api/init_config.rst:160 +#: ../Doc/c-api/init_config.rst:161 msgid "" "Internally, Python uses macros which set ``PyStatus.func``, whereas " "functions to create a status set ``func`` to ``NULL``." @@ -315,35 +319,35 @@ msgstr "" "Internamente, Python usa macros que establecen ``PyStatus.func``, mientras " "que las funciones para crear un estado establecen ``func`` en ``NULL``." -#: ../Doc/c-api/init_config.rst:163 +#: ../Doc/c-api/init_config.rst:164 msgid "Example::" msgstr "Ejemplo::" -#: ../Doc/c-api/init_config.rst:187 +#: ../Doc/c-api/init_config.rst:188 msgid "PyPreConfig" msgstr "PyPreConfig" -#: ../Doc/c-api/init_config.rst:191 +#: ../Doc/c-api/init_config.rst:192 msgid "Structure used to preinitialize Python:" msgstr "Estructura utilizada para preinicializar Python:" -#: ../Doc/c-api/init_config.rst:193 +#: ../Doc/c-api/init_config.rst:194 msgid "Set the Python memory allocator" msgstr "Establece el asignador de memoria de Python" -#: ../Doc/c-api/init_config.rst:194 +#: ../Doc/c-api/init_config.rst:195 msgid "Configure the LC_CTYPE locale" msgstr "Configure el entorno local LC_CTYPE" -#: ../Doc/c-api/init_config.rst:195 +#: ../Doc/c-api/init_config.rst:196 msgid "Set the UTF-8 mode" msgstr "Establece el modo UTF-8" -#: ../Doc/c-api/init_config.rst:197 +#: ../Doc/c-api/init_config.rst:198 msgid "Function to initialize a preconfiguration:" msgstr "Función para inicializar una preconfiguración:" -#: ../Doc/c-api/init_config.rst:201 +#: ../Doc/c-api/init_config.rst:202 msgid "" "Initialize the preconfiguration with :ref:`Python Configuration `." @@ -351,7 +355,7 @@ msgstr "" "Inicializa la preconfiguración con :ref:`Configuración de Python `." -#: ../Doc/c-api/init_config.rst:206 +#: ../Doc/c-api/init_config.rst:207 msgid "" "Initialize the preconfiguration with :ref:`Isolated Configuration `." @@ -359,11 +363,11 @@ msgstr "" "Inicializa la preconfiguración con :ref:`Configuración aislada `." -#: ../Doc/c-api/init_config.rst:213 +#: ../Doc/c-api/init_config.rst:214 msgid "Name of the memory allocator:" msgstr "Nombre del asignador de memoria:" -#: ../Doc/c-api/init_config.rst:215 +#: ../Doc/c-api/init_config.rst:216 msgid "" "``PYMEM_ALLOCATOR_NOT_SET`` (``0``): don't change memory allocators (use " "defaults)" @@ -371,23 +375,23 @@ msgstr "" "``PYMEM_ALLOCATOR_NOT_SET`` (``0``): no cambie los asignadores de memoria " "(use los valores predeterminados)" -#: ../Doc/c-api/init_config.rst:217 +#: ../Doc/c-api/init_config.rst:218 msgid "``PYMEM_ALLOCATOR_DEFAULT`` (``1``): default memory allocators" msgstr "" "``PYMEM_ALLOCATOR_DEFAULT`` (``1``): asignadores de memoria predeterminados" -#: ../Doc/c-api/init_config.rst:218 +#: ../Doc/c-api/init_config.rst:219 msgid "" "``PYMEM_ALLOCATOR_DEBUG`` (``2``): default memory allocators with debug hooks" msgstr "" "``PYMEM_ALLOCATOR_DEBUG`` (``2``): asignadores de memoria predeterminados " "con ganchos de depuración" -#: ../Doc/c-api/init_config.rst:220 +#: ../Doc/c-api/init_config.rst:221 msgid "``PYMEM_ALLOCATOR_MALLOC`` (``3``): force usage of ``malloc()``" msgstr "``PYMEM_ALLOCATOR_MALLOC`` (``3``): fuerza el uso de ``malloc()``" -#: ../Doc/c-api/init_config.rst:221 +#: ../Doc/c-api/init_config.rst:222 msgid "" "``PYMEM_ALLOCATOR_MALLOC_DEBUG`` (``4``): force usage of ``malloc()`` with " "debug hooks" @@ -395,7 +399,7 @@ msgstr "" "``PYMEM_ALLOCATOR_MALLOC_DEBUG`` (``4``): fuerza el uso de ``malloc()`` con " "ganchos de depuración" -#: ../Doc/c-api/init_config.rst:223 +#: ../Doc/c-api/init_config.rst:224 msgid "" "``PYMEM_ALLOCATOR_PYMALLOC`` (``5``): :ref:`Python pymalloc memory allocator " "`" @@ -403,7 +407,7 @@ msgstr "" "``PYMEM_ALLOCATOR_PYMALLOC`` (``5``): :ref:`Python pymalloc memory allocator " "`" -#: ../Doc/c-api/init_config.rst:225 +#: ../Doc/c-api/init_config.rst:226 msgid "" "``PYMEM_ALLOCATOR_PYMALLOC_DEBUG`` (``6``): :ref:`Python pymalloc memory " "allocator ` with debug hooks" @@ -411,7 +415,7 @@ msgstr "" "``PYMEM_ALLOCATOR_PYMALLOC_DEBUG`` (``6``): :ref:`Python pymalloc memory " "allocator ` con ganchos de depuración" -#: ../Doc/c-api/init_config.rst:228 +#: ../Doc/c-api/init_config.rst:229 msgid "" "``PYMEM_ALLOCATOR_PYMALLOC`` and ``PYMEM_ALLOCATOR_PYMALLOC_DEBUG`` are not " "supported if Python is configured using ``--without-pymalloc``" @@ -419,11 +423,11 @@ msgstr "" "``PYMEM_ALLOCATOR_PYMALLOC`` y ``PYMEM_ALLOCATOR_PYMALLOC_DEBUG`` no son " "compatibles si Python está configurado con ``--with-pymalloc``" -#: ../Doc/c-api/init_config.rst:231 +#: ../Doc/c-api/init_config.rst:232 msgid "See :ref:`Memory Management `." msgstr "Ver :ref:`Administración de memorias `." -#: ../Doc/c-api/init_config.rst:235 +#: ../Doc/c-api/init_config.rst:236 msgid "" "Set the LC_CTYPE locale to the user preferred locale? If equals to 0, set :c:" "member:`coerce_c_locale` and :c:member:`coerce_c_locale_warn` to 0." @@ -432,7 +436,7 @@ msgstr "" "preferida por el usuario? Si es igual a 0, establece :c:member:" "`coerce_c_locale` y :c:member:`coerce_c_locale_warn` en 0." -#: ../Doc/c-api/init_config.rst:240 +#: ../Doc/c-api/init_config.rst:241 msgid "" "If equals to 2, coerce the C locale; if equals to 1, read the LC_CTYPE " "locale to decide if it should be coerced." @@ -440,21 +444,21 @@ msgstr "" "Si es igual a 2, coaccione la configuración regional C; si es igual a 1, lea " "la configuración regional LC_CTYPE para decidir si debe ser forzado." -#: ../Doc/c-api/init_config.rst:245 +#: ../Doc/c-api/init_config.rst:246 msgid "If non-zero, emit a warning if the C locale is coerced." msgstr "" "Si no es cero, emita una advertencia si la configuración regional C está " "coaccionada." -#: ../Doc/c-api/init_config.rst:249 +#: ../Doc/c-api/init_config.rst:250 msgid "See :c:member:`PyConfig.dev_mode`." msgstr "Ver :c:member:`PyConfig.dev_mode`." -#: ../Doc/c-api/init_config.rst:253 +#: ../Doc/c-api/init_config.rst:254 msgid "See :c:member:`PyConfig.isolated`." msgstr "Ver :c:member:`PyConfig.isolated`." -#: ../Doc/c-api/init_config.rst:257 +#: ../Doc/c-api/init_config.rst:258 msgid "" "If non-zero, disable UTF-8 Mode, set the Python filesystem encoding to " "``mbcs``, set the filesystem error handler to ``replace``." @@ -463,7 +467,7 @@ msgstr "" "sistema de archivos Python en ``mbcs``, configure el controlador de errores " "del sistema de archivos en ``replace``." -#: ../Doc/c-api/init_config.rst:260 ../Doc/c-api/init_config.rst:546 +#: ../Doc/c-api/init_config.rst:261 ../Doc/c-api/init_config.rst:555 msgid "" "Only available on Windows. ``#ifdef MS_WINDOWS`` macro can be used for " "Windows specific code." @@ -471,7 +475,7 @@ msgstr "" "Solo disponible en Windows. La macro ``#ifdef MS_WINDOWS`` se puede usar " "para el código específico de Windows." -#: ../Doc/c-api/init_config.rst:265 +#: ../Doc/c-api/init_config.rst:266 msgid "" "If non-zero, :c:func:`Py_PreInitializeFromArgs` and :c:func:" "`Py_PreInitializeFromBytesArgs` parse their ``argv`` argument the same way " @@ -483,27 +487,27 @@ msgstr "" "manera que Python analiza los argumentos de la línea de comandos: ver :ref:" "`Argumentos de línea de comandos `." -#: ../Doc/c-api/init_config.rst:272 +#: ../Doc/c-api/init_config.rst:273 msgid "See :c:member:`PyConfig.use_environment`." msgstr "Ver :c:member:`PyConfig.use_environment`." -#: ../Doc/c-api/init_config.rst:276 +#: ../Doc/c-api/init_config.rst:277 msgid "If non-zero, enable the UTF-8 mode." msgstr "Si no es cero, habilita el modo UTF-8." -#: ../Doc/c-api/init_config.rst:279 +#: ../Doc/c-api/init_config.rst:280 msgid "Preinitialization with PyPreConfig" msgstr "Preinicialización con PyPreConfig" -#: ../Doc/c-api/init_config.rst:281 +#: ../Doc/c-api/init_config.rst:282 msgid "Functions to preinitialize Python:" msgstr "Funciones para preinicializar Python:" -#: ../Doc/c-api/init_config.rst:285 +#: ../Doc/c-api/init_config.rst:286 msgid "Preinitialize Python from *preconfig* preconfiguration." msgstr "Preinicializa Python desde la preconfiguración *preconfig*." -#: ../Doc/c-api/init_config.rst:289 +#: ../Doc/c-api/init_config.rst:290 msgid "" "Preinitialize Python from *preconfig* preconfiguration and command line " "arguments (bytes strings)." @@ -511,7 +515,7 @@ msgstr "" "Preinicializa Python desde la preconfiguración *preconfig* y argumentos de " "línea de comando (cadenas de caracteres de bytes)." -#: ../Doc/c-api/init_config.rst:294 +#: ../Doc/c-api/init_config.rst:295 msgid "" "Preinitialize Python from *preconfig* preconfiguration and command line " "arguments (wide strings)." @@ -519,7 +523,7 @@ msgstr "" "Preinicializa Python desde la preconfiguración *preconfig* y argumentos de " "línea de comando (cadenas de caracteres anchas)." -#: ../Doc/c-api/init_config.rst:297 ../Doc/c-api/init_config.rst:715 +#: ../Doc/c-api/init_config.rst:298 ../Doc/c-api/init_config.rst:730 msgid "" "The caller is responsible to handle exceptions (error or exit) using :c:func:" "`PyStatus_Exception` and :c:func:`Py_ExitStatusException`." @@ -528,7 +532,7 @@ msgstr "" "salida) usando :c:func:`PyStatus_Exception` y :c:func:" "`Py_ExitStatusException`." -#: ../Doc/c-api/init_config.rst:300 +#: ../Doc/c-api/init_config.rst:301 msgid "" "For :ref:`Python Configuration ` (:c:func:" "`PyPreConfig_InitPythonConfig`), if Python is initialized with command line " @@ -544,7 +548,7 @@ msgstr "" "como codificaciones. Por ejemplo, la opción de línea de comando :option:`-X " "utf8 <-X>` habilita el modo UTF-8." -#: ../Doc/c-api/init_config.rst:307 +#: ../Doc/c-api/init_config.rst:308 msgid "" "``PyMem_SetAllocator()`` can be called after :c:func:`Py_PreInitialize` and " "before :c:func:`Py_InitializeFromConfig` to install a custom memory " @@ -557,7 +561,7 @@ msgstr "" "`Py_PreInitialize` si :c:member:`PyPreConfig.allocator` está configurado en " "``PYMEM_ALLOCATOR_NOT_SET``." -#: ../Doc/c-api/init_config.rst:312 +#: ../Doc/c-api/init_config.rst:313 msgid "" "Python memory allocation functions like :c:func:`PyMem_RawMalloc` must not " "be used before Python preinitialization, whereas calling directly " @@ -570,24 +574,24 @@ msgstr "" "seguro. :c:func:`Py_DecodeLocale` no debe llamarse antes de la " "preinicialización." -#: ../Doc/c-api/init_config.rst:317 +#: ../Doc/c-api/init_config.rst:318 msgid "Example using the preinitialization to enable the UTF-8 Mode::" msgstr "Ejemplo usando la preinicialización para habilitar el modo UTF-8::" -#: ../Doc/c-api/init_config.rst:338 +#: ../Doc/c-api/init_config.rst:339 msgid "PyConfig" msgstr "PyConfig" -#: ../Doc/c-api/init_config.rst:342 +#: ../Doc/c-api/init_config.rst:343 msgid "Structure containing most parameters to configure Python." msgstr "" "Estructura que contiene la mayoría de los parámetros para configurar Python." -#: ../Doc/c-api/init_config.rst:344 +#: ../Doc/c-api/init_config.rst:345 msgid "Structure methods:" msgstr "Métodos de estructura:" -#: ../Doc/c-api/init_config.rst:348 +#: ../Doc/c-api/init_config.rst:349 msgid "" "Initialize configuration with :ref:`Python Configuration `." @@ -595,7 +599,7 @@ msgstr "" "Inicializa la configuración con :ref:`Configuración de Python `." -#: ../Doc/c-api/init_config.rst:353 +#: ../Doc/c-api/init_config.rst:354 msgid "" "Initialize configuration with :ref:`Isolated Configuration `." @@ -603,17 +607,17 @@ msgstr "" "Inicializa la configuración con :ref:`Configuración aislada `." -#: ../Doc/c-api/init_config.rst:358 +#: ../Doc/c-api/init_config.rst:359 msgid "Copy the wide character string *str* into ``*config_str``." msgstr "Copia la cadena de caracteres anchos *str* en ``*config_str``." -#: ../Doc/c-api/init_config.rst:360 ../Doc/c-api/init_config.rst:366 -#: ../Doc/c-api/init_config.rst:372 ../Doc/c-api/init_config.rst:378 -#: ../Doc/c-api/init_config.rst:384 ../Doc/c-api/init_config.rst:392 +#: ../Doc/c-api/init_config.rst:361 ../Doc/c-api/init_config.rst:367 +#: ../Doc/c-api/init_config.rst:373 ../Doc/c-api/init_config.rst:379 +#: ../Doc/c-api/init_config.rst:385 ../Doc/c-api/init_config.rst:393 msgid "Preinitialize Python if needed." msgstr "Preinicializa Python si es necesario." -#: ../Doc/c-api/init_config.rst:364 +#: ../Doc/c-api/init_config.rst:365 msgid "" "Decode *str* using ``Py_DecodeLocale()`` and set the result into " "``*config_str``." @@ -621,38 +625,38 @@ msgstr "" "Decodifica *str* usando ``Py_DecodeLocale()`` y configure el resultado en " "``*config_str``." -#: ../Doc/c-api/init_config.rst:370 +#: ../Doc/c-api/init_config.rst:371 msgid "Set command line arguments from wide character strings." msgstr "" "Establezca argumentos de línea de comando a partir de cadenas de caracteres " "anchas." -#: ../Doc/c-api/init_config.rst:376 +#: ../Doc/c-api/init_config.rst:377 msgid "" "Set command line arguments: decode bytes using :c:func:`Py_DecodeLocale`." msgstr "" "Establezca argumentos de línea de comando: decodifique bytes usando :c:func:" "`Py_DecodeLocale`." -#: ../Doc/c-api/init_config.rst:382 +#: ../Doc/c-api/init_config.rst:383 msgid "Set the list of wide strings *list* to *length* and *items*." msgstr "" "Establece la lista de cadenas de caracteres anchas *list* a *length* y " "*items*." -#: ../Doc/c-api/init_config.rst:388 +#: ../Doc/c-api/init_config.rst:389 msgid "Read all Python configuration." msgstr "Lee toda la configuración de Python." -#: ../Doc/c-api/init_config.rst:390 +#: ../Doc/c-api/init_config.rst:391 msgid "Fields which are already initialized are left unchanged." msgstr "Los campos que ya están inicializados no se modifican." -#: ../Doc/c-api/init_config.rst:396 +#: ../Doc/c-api/init_config.rst:397 msgid "Release configuration memory." msgstr "Libera memoria de configuración." -#: ../Doc/c-api/init_config.rst:398 +#: ../Doc/c-api/init_config.rst:399 msgid "" "Most ``PyConfig`` methods preinitialize Python if needed. In that case, the " "Python preinitialization configuration in based on the :c:type:`PyConfig`. " @@ -665,23 +669,23 @@ msgstr "" "con :c:type:`PyPreConfig` están ajustados, deben configurarse antes de " "llamar al método :c:type:`PyConfig`:" -#: ../Doc/c-api/init_config.rst:403 +#: ../Doc/c-api/init_config.rst:404 msgid ":c:member:`~PyConfig.dev_mode`" msgstr ":c:member:`~PyConfig.dev_mode`" -#: ../Doc/c-api/init_config.rst:404 +#: ../Doc/c-api/init_config.rst:405 msgid ":c:member:`~PyConfig.isolated`" msgstr ":c:member:`~PyConfig.isolated`" -#: ../Doc/c-api/init_config.rst:405 +#: ../Doc/c-api/init_config.rst:406 msgid ":c:member:`~PyConfig.parse_argv`" msgstr ":c:member:`~PyConfig.parse_argv`" -#: ../Doc/c-api/init_config.rst:406 +#: ../Doc/c-api/init_config.rst:407 msgid ":c:member:`~PyConfig.use_environment`" msgstr ":c:member:`~PyConfig.use_environment`" -#: ../Doc/c-api/init_config.rst:408 +#: ../Doc/c-api/init_config.rst:409 msgid "" "Moreover, if :c:func:`PyConfig_SetArgv` or :c:func:`PyConfig_SetBytesArgv` " "is used, this method must be called first, before other methods, since the " @@ -693,7 +697,7 @@ msgstr "" "métodos, ya que la configuración de preinicialización depende de los " "argumentos de la línea de comandos (si :c:member:`parse_argv` no es cero)." -#: ../Doc/c-api/init_config.rst:413 +#: ../Doc/c-api/init_config.rst:414 msgid "" "The caller of these methods is responsible to handle exceptions (error or " "exit) using ``PyStatus_Exception()`` and ``Py_ExitStatusException()``." @@ -702,7 +706,7 @@ msgstr "" "(error o salida) usando ``PyStatus_Exception()`` y " "``Py_ExitStatusException()``." -#: ../Doc/c-api/init_config.rst:420 +#: ../Doc/c-api/init_config.rst:421 msgid "" "Command line arguments, :data:`sys.argv`. See :c:member:`~PyConfig." "parse_argv` to parse :c:member:`~PyConfig.argv` the same way the regular " @@ -717,11 +721,11 @@ msgstr "" "caracteres vacía para garantizar que :data:`sys.argv` siempre exista y nunca " "esté vacío." -#: ../Doc/c-api/init_config.rst:428 +#: ../Doc/c-api/init_config.rst:429 msgid ":data:`sys.base_exec_prefix`." msgstr ":data:`sys.base_exec_prefix`." -#: ../Doc/c-api/init_config.rst:432 +#: ../Doc/c-api/init_config.rst:433 msgid "" ":data:`sys._base_executable`: ``__PYVENV_LAUNCHER__`` environment variable " "value, or copy of :c:member:`PyConfig.executable`." @@ -729,11 +733,18 @@ msgstr "" ":data:`sys._base_executable`: ``__PYVENV_LAUNCHER__`` valor de la variable " "de entorno, o copia de :c:member:`PyConfig.executable`." -#: ../Doc/c-api/init_config.rst:437 +#: ../Doc/c-api/init_config.rst:438 msgid ":data:`sys.base_prefix`." msgstr ":data:`sys.base_prefix`." -#: ../Doc/c-api/init_config.rst:441 +#: ../Doc/c-api/init_config.rst:442 +msgid "" +":data:`sys.platlibdir`: platform library directory name, set at configure " +"time by ``--with-platlibdir``, overrideable by the ``PYTHONPLATLIBDIR`` " +"environment variable." +msgstr "" + +#: ../Doc/c-api/init_config.rst:450 msgid "" "If equals to 0, enable unbuffered mode, making the stdout and stderr streams " "unbuffered." @@ -741,11 +752,11 @@ msgstr "" "Si es igual a 0, habilite el modo sin búfer, haciendo que las secuencias " "stdout y stderr no tengan búfer." -#: ../Doc/c-api/init_config.rst:444 +#: ../Doc/c-api/init_config.rst:453 msgid "stdin is always opened in buffered mode." msgstr "stdin siempre se abre en modo de búfer." -#: ../Doc/c-api/init_config.rst:448 +#: ../Doc/c-api/init_config.rst:457 msgid "" "If equals to 1, issue a warning when comparing :class:`bytes` or :class:" "`bytearray` with :class:`str`, or comparing :class:`bytes` with :class:" @@ -755,7 +766,7 @@ msgstr "" "class:`bytearray` con :class:`str`, o compare :class:`bytes` con :class:" "`int`. Si es igual o mayor a 2, lanza una excepción :exc:`BytesWarning`." -#: ../Doc/c-api/init_config.rst:455 +#: ../Doc/c-api/init_config.rst:464 msgid "" "Control the validation behavior of hash-based ``.pyc`` files (see :pep:" "`552`): :option:`--check-hash-based-pycs` command line option value." @@ -764,15 +775,15 @@ msgstr "" "hash (consulte :pep:`552`): con el valor de la opción de línea de comando :" "option:`--check-hash-based-pycs`." -#: ../Doc/c-api/init_config.rst:458 +#: ../Doc/c-api/init_config.rst:467 msgid "Valid values: ``always``, ``never`` and ``default``." msgstr "Valores válidos: ``always``, ``never`` y ``default``." -#: ../Doc/c-api/init_config.rst:460 +#: ../Doc/c-api/init_config.rst:469 msgid "The default value is: ``default``." msgstr "El valor predeterminado es: ``default``." -#: ../Doc/c-api/init_config.rst:464 +#: ../Doc/c-api/init_config.rst:473 msgid "" "If non-zero, configure C standard streams (``stdio``, ``stdout``, " "``stdout``). For example, set their mode to ``O_BINARY`` on Windows." @@ -780,50 +791,47 @@ msgstr "" "Si no es cero, configure las secuencias estándar C (``stdio``, ``stdout``, " "``stdout``). Por ejemplo, configure su modo en ``O_BINARY`` en Windows." -#: ../Doc/c-api/init_config.rst:469 -msgid "Development mode: see :option:`-X dev <-X>`." -msgstr "Modo de desarrollo: ver :option:`-X dev <-X>`." +#: ../Doc/c-api/init_config.rst:478 +msgid "If non-zero, enable the :ref:`Python Development Mode `." +msgstr "" -#: ../Doc/c-api/init_config.rst:473 +#: ../Doc/c-api/init_config.rst:482 msgid "If non-zero, dump all objects which are still alive at exit." msgstr "" "Si no es cero, volcar todos los objetos que aún están vivos en la salida." -#: ../Doc/c-api/init_config.rst:475 -msgid "" -"Require a debug build of Python (``Py_REF_DEBUG`` macro must be defined)." +#: ../Doc/c-api/init_config.rst:484 +msgid "``Py_TRACE_REFS`` macro must be defined in build." msgstr "" -"Requerir una compilación de depuración de Python (la macro ``Py_REF_DEBUG`` " -"debe estar definida)." -#: ../Doc/c-api/init_config.rst:479 +#: ../Doc/c-api/init_config.rst:488 msgid ":data:`sys.exec_prefix`." msgstr ":data:`sys.exec_prefix`." -#: ../Doc/c-api/init_config.rst:483 +#: ../Doc/c-api/init_config.rst:492 msgid ":data:`sys.executable`." msgstr ":data:`sys.executable`." -#: ../Doc/c-api/init_config.rst:487 +#: ../Doc/c-api/init_config.rst:496 msgid "If non-zero, call :func:`faulthandler.enable` at startup." msgstr "Si no es cero, llama a :func:`faulthandler.enable` al inicio." -#: ../Doc/c-api/init_config.rst:491 +#: ../Doc/c-api/init_config.rst:500 msgid "Filesystem encoding, :func:`sys.getfilesystemencoding`." msgstr "" "Codificación del sistema de archivos, :func:`sys.getfilesystemencoding`." -#: ../Doc/c-api/init_config.rst:495 +#: ../Doc/c-api/init_config.rst:504 msgid "Filesystem encoding errors, :func:`sys.getfilesystemencodeerrors`." msgstr "" "Errores de codificación del sistema de archivos, :func:`sys." "getfilesystemencodeerrors`." -#: ../Doc/c-api/init_config.rst:500 +#: ../Doc/c-api/init_config.rst:509 msgid "Randomized hash function seed." msgstr "Funciones de semillas aleatorias hash." -#: ../Doc/c-api/init_config.rst:502 +#: ../Doc/c-api/init_config.rst:511 msgid "" "If :c:member:`~PyConfig.use_hash_seed` is zero, a seed is chosen randomly at " "Pythonstartup, and :c:member:`~PyConfig.hash_seed` is ignored." @@ -831,39 +839,39 @@ msgstr "" "Si :c:member:`~PyConfig.use_hash_seed` es cero, se elige una semilla " "aleatoriamente en Pythonstartup, y :c:member:`~PyConfig.hash_seed` se ignora." -#: ../Doc/c-api/init_config.rst:507 +#: ../Doc/c-api/init_config.rst:516 msgid "Python home directory." msgstr "Directorio de inicio de Python." -#: ../Doc/c-api/init_config.rst:509 +#: ../Doc/c-api/init_config.rst:518 msgid "" "Initialized from :envvar:`PYTHONHOME` environment variable value by default." msgstr "" "Inicializado desde valor de variable de entorno :envvar:`PYTHONHOME` por " "defecto." -#: ../Doc/c-api/init_config.rst:514 +#: ../Doc/c-api/init_config.rst:523 msgid "If non-zero, profile import time." msgstr "Si no es cero, el tiempo de importación del perfil." -#: ../Doc/c-api/init_config.rst:518 +#: ../Doc/c-api/init_config.rst:527 msgid "Enter interactive mode after executing a script or a command." msgstr "" "Ingresa al modo interactivo después de ejecutar un script o un comando." -#: ../Doc/c-api/init_config.rst:522 +#: ../Doc/c-api/init_config.rst:531 msgid "Install signal handlers?" msgstr "¿Instala manejadores de señal?" -#: ../Doc/c-api/init_config.rst:526 +#: ../Doc/c-api/init_config.rst:535 msgid "Interactive mode." msgstr "Modo interactivo." -#: ../Doc/c-api/init_config.rst:530 +#: ../Doc/c-api/init_config.rst:539 msgid "If greater than 0, enable isolated mode:" msgstr "Si es mayor que 0, habilite el modo aislado:" -#: ../Doc/c-api/init_config.rst:532 +#: ../Doc/c-api/init_config.rst:541 msgid "" ":data:`sys.path` contains neither the script's directory (computed from " "``argv[0]`` or the current directory) nor the user's site-packages directory." @@ -872,7 +880,7 @@ msgstr "" "de ``argv[0]`` o el directorio actual) ni el directorio de paquetes del " "sitio del usuario." -#: ../Doc/c-api/init_config.rst:535 +#: ../Doc/c-api/init_config.rst:544 msgid "" "Python REPL doesn't import :mod:`readline` nor enable default readline " "configuration on interactive prompts." @@ -880,7 +888,7 @@ msgstr "" "Python REPL no importa :mod:`readline` ni habilita la configuración " "predeterminada de readline en mensajes interactivos." -#: ../Doc/c-api/init_config.rst:537 +#: ../Doc/c-api/init_config.rst:546 msgid "" "Set :c:member:`~PyConfig.use_environment` and :c:member:`~PyConfig." "user_site_directory` to 0." @@ -888,7 +896,7 @@ msgstr "" "Establece :c:member:`~PyConfig.use_environment` y :c:member:`~PyConfig." "user_site_directory` en 0." -#: ../Doc/c-api/init_config.rst:542 +#: ../Doc/c-api/init_config.rst:551 msgid "" "If non-zero, use :class:`io.FileIO` instead of :class:`io.WindowsConsoleIO` " "for :data:`sys.stdin`, :data:`sys.stdout` and :data:`sys.stderr`." @@ -897,7 +905,7 @@ msgstr "" "WindowsConsoleIO` para :data:`sys.stdin`, :data:`sys.stdout` y :data:`sys." "stderr`." -#: ../Doc/c-api/init_config.rst:551 +#: ../Doc/c-api/init_config.rst:560 msgid "" "If non-zero, dump statistics on :ref:`Python pymalloc memory allocator " "` at exit." @@ -905,12 +913,12 @@ msgstr "" "Si no es cero, volcar las estadísticas en :ref:`Asignador de memoria Python " "pymalloc ` en la salida." -#: ../Doc/c-api/init_config.rst:554 +#: ../Doc/c-api/init_config.rst:563 msgid "The option is ignored if Python is built using ``--without-pymalloc``." msgstr "" "La opción se ignora si Python se construye usando ``--without-pymalloc``." -#: ../Doc/c-api/init_config.rst:558 +#: ../Doc/c-api/init_config.rst:567 msgid "" "Module search paths as a string separated by ``DELIM`` (:data:`os.path." "pathsep`)." @@ -918,14 +926,14 @@ msgstr "" "Módulo de rutas de búsqueda como una cadena separada por ``DELIM`` (:data:" "`os.path.pathsep`)." -#: ../Doc/c-api/init_config.rst:561 +#: ../Doc/c-api/init_config.rst:570 msgid "" "Initialized from :envvar:`PYTHONPATH` environment variable value by default." msgstr "" "Inicializado desde valor de variable de entorno :envvar:`PYTHONPATH` por " "defecto." -#: ../Doc/c-api/init_config.rst:567 +#: ../Doc/c-api/init_config.rst:576 msgid "" ":data:`sys.path`. If :c:member:`~PyConfig.module_search_paths_set` is equal " "to 0, the :c:member:`~PyConfig.module_search_paths` is overridden by the " @@ -935,24 +943,24 @@ msgstr "" "a 0, el :c:member:`~PyConfig.module_search_paths` es anulado por la función " "que calcula :ref:`Configuración de ruta ` ." -#: ../Doc/c-api/init_config.rst:574 +#: ../Doc/c-api/init_config.rst:583 msgid "Compilation optimization level:" msgstr "Nivel de optimización de compilación:" -#: ../Doc/c-api/init_config.rst:576 +#: ../Doc/c-api/init_config.rst:585 msgid "0: Peephole optimizer (and ``__debug__`` is set to ``True``)" msgstr "" "0: Optimizador de mirilla (y ``__debug__`` está configurado como ``True``)" -#: ../Doc/c-api/init_config.rst:577 +#: ../Doc/c-api/init_config.rst:586 msgid "1: Remove assertions, set ``__debug__`` to ``False``" msgstr "1: Elimina las aserciones, establece ``__debug__`` en ``False``" -#: ../Doc/c-api/init_config.rst:578 +#: ../Doc/c-api/init_config.rst:587 msgid "2: Strip docstrings" msgstr "2: *Strip* docstrings" -#: ../Doc/c-api/init_config.rst:582 +#: ../Doc/c-api/init_config.rst:591 msgid "" "If non-zero, parse :c:member:`~PyConfig.argv` the same way the regular " "Python command line arguments, and strip Python arguments from :c:member:" @@ -963,7 +971,7 @@ msgstr "" "argumentos de Python de :c:member:`~PyConfig.argv`: vea :ref:`Argumentos de " "línea de comando `." -#: ../Doc/c-api/init_config.rst:589 +#: ../Doc/c-api/init_config.rst:598 msgid "" "If non-zero, turn on parser debugging output (for expert only, depending on " "compilation options)." @@ -971,7 +979,7 @@ msgstr "" "Si no es cero, activa la salida de depuración del analizador (solo para " "expertos, dependiendo de las opciones de compilación)." -#: ../Doc/c-api/init_config.rst:594 +#: ../Doc/c-api/init_config.rst:603 msgid "" "If equal to 0, suppress warnings when calculating the :ref:`Path " "Configuration ` (Unix only, Windows does not log any " @@ -981,11 +989,11 @@ msgstr "" "ruta ` (solo Unix, Windows no registra ninguna " "advertencia). De lo contrario, las advertencias se escriben en ``stderr``." -#: ../Doc/c-api/init_config.rst:600 +#: ../Doc/c-api/init_config.rst:609 msgid ":data:`sys.prefix`." msgstr ":data:`sys.prefix`." -#: ../Doc/c-api/init_config.rst:604 +#: ../Doc/c-api/init_config.rst:613 msgid "" "Program name. Used to initialize :c:member:`~PyConfig.executable`, and in " "early error messages." @@ -993,15 +1001,15 @@ msgstr "" "Nombre del programa Se usa para inicializar :c:member:`~PyConfig." "executable`, y en los primeros mensajes de error." -#: ../Doc/c-api/init_config.rst:609 +#: ../Doc/c-api/init_config.rst:618 msgid ":data:`sys.pycache_prefix`: ``.pyc`` cache prefix." msgstr ":data:`sys.pycache_prefix`: prefijo de caché ``.pyc``." -#: ../Doc/c-api/init_config.rst:611 +#: ../Doc/c-api/init_config.rst:620 msgid "If ``NULL``, :data:`sys.pycache_prefix` is set to ``None``." msgstr "Si ``NULL``, :data:`sys.pycache_prefix` es establecido a ``None``." -#: ../Doc/c-api/init_config.rst:615 +#: ../Doc/c-api/init_config.rst:624 msgid "" "Quiet mode. For example, don't display the copyright and version messages in " "interactive mode." @@ -1009,59 +1017,43 @@ msgstr "" "Modo silencioso. Por ejemplo, no muestra los mensajes de copyright y versión " "en modo interactivo." -#: ../Doc/c-api/init_config.rst:620 +#: ../Doc/c-api/init_config.rst:629 msgid "``python3 -c COMMAND`` argument. Used by :c:func:`Py_RunMain`." msgstr "Argumento ``python3 -c COMMAND``. Utilizado por :c:func:`Py_RunMain`." -#: ../Doc/c-api/init_config.rst:624 +#: ../Doc/c-api/init_config.rst:633 msgid "``python3 FILENAME`` argument. Used by :c:func:`Py_RunMain`." msgstr "Argumento ``python3 FILENAME``. Utilizado por :c:func:`Py_RunMain`." -#: ../Doc/c-api/init_config.rst:628 +#: ../Doc/c-api/init_config.rst:637 msgid "``python3 -m MODULE`` argument. Used by :c:func:`Py_RunMain`." msgstr "Argumento ``python3 -m MODULE``. Utilizado por :c:func:`Py_RunMain`." -#: ../Doc/c-api/init_config.rst:632 -msgid "Show allocation counts at exit?" -msgstr "¿Mostrar recuentos de asignación en la salida?" - -#: ../Doc/c-api/init_config.rst:634 -msgid "Set to 1 by :option:`-X showalloccount <-X>` command line option." -msgstr "" -"Establecido en 1 por la opción de línea de comandos :option:`-X " -"showalloccount <-X>`." - -#: ../Doc/c-api/init_config.rst:636 -msgid "Need a special Python build with ``COUNT_ALLOCS`` macro defined." -msgstr "" -"Necesita una compilación especial de Python con la macro ``COUNT_ALLOCS`` " -"definida." - -#: ../Doc/c-api/init_config.rst:640 +#: ../Doc/c-api/init_config.rst:641 msgid "Show total reference count at exit?" msgstr "¿Mostrar el recuento de referencia total en la salida?" -#: ../Doc/c-api/init_config.rst:642 +#: ../Doc/c-api/init_config.rst:643 msgid "Set to 1 by :option:`-X showrefcount <-X>` command line option." msgstr "" "Establecido en 1 por la opción de línea de comandos :option:`-X showrefcount " "<-X>`." -#: ../Doc/c-api/init_config.rst:644 +#: ../Doc/c-api/init_config.rst:645 msgid "Need a debug build of Python (``Py_REF_DEBUG`` macro must be defined)." msgstr "" "Necesita una compilación de depuración de Python (se debe definir la macro " "``Py_REF_DEBUG``)." -#: ../Doc/c-api/init_config.rst:648 +#: ../Doc/c-api/init_config.rst:649 msgid "Import the :mod:`site` module at startup?" msgstr "¿Importar el módulo :mod:`site` al inicio?" -#: ../Doc/c-api/init_config.rst:652 +#: ../Doc/c-api/init_config.rst:653 msgid "Skip the first line of the source?" msgstr "¿Saltar la primera línea de la fuente?" -#: ../Doc/c-api/init_config.rst:657 +#: ../Doc/c-api/init_config.rst:658 msgid "" "Encoding and encoding errors of :data:`sys.stdin`, :data:`sys.stdout` and :" "data:`sys.stderr`." @@ -1069,24 +1061,24 @@ msgstr "" "Codificación y codificación de errores de :data:`sys.stdin`, :data:`sys." "stdout` y :data:`sys.stderr`." -#: ../Doc/c-api/init_config.rst:662 +#: ../Doc/c-api/init_config.rst:663 msgid "If non-zero, call :func:`tracemalloc.start` at startup." msgstr "Si no es cero, llama a :func:`tracemalloc.start` al inicio." -#: ../Doc/c-api/init_config.rst:666 +#: ../Doc/c-api/init_config.rst:667 msgid "If greater than 0, use :ref:`environment variables `." msgstr "Si es mayor que 0, use :ref:`variables de entorno `." -#: ../Doc/c-api/init_config.rst:670 +#: ../Doc/c-api/init_config.rst:671 msgid "If non-zero, add user site directory to :data:`sys.path`." msgstr "" "Si no es cero, agrega el directorio del sitio del usuario a :data:`sys.path`." -#: ../Doc/c-api/init_config.rst:674 +#: ../Doc/c-api/init_config.rst:675 msgid "If non-zero, enable verbose mode." msgstr "Si no es cero, habilita el modo detallado." -#: ../Doc/c-api/init_config.rst:678 +#: ../Doc/c-api/init_config.rst:679 msgid "" ":data:`sys.warnoptions`: options of the :mod:`warnings` module to build " "warnings filters: lowest to highest priority." @@ -1094,7 +1086,7 @@ msgstr "" ":data:`sys.warnoptions`: opciones del módulo :mod:`warnings` para crear " "filtros de advertencia: de menor a mayor prioridad." -#: ../Doc/c-api/init_config.rst:681 +#: ../Doc/c-api/init_config.rst:682 msgid "" "The :mod:`warnings` module adds :data:`sys.warnoptions` in the reverse " "order: the last :c:member:`PyConfig.warnoptions` item becomes the first item " @@ -1105,11 +1097,11 @@ msgstr "" "el primer elemento de :data:`warnings.filters` que es verificado primero " "(máxima prioridad)." -#: ../Doc/c-api/init_config.rst:688 +#: ../Doc/c-api/init_config.rst:689 msgid "If non-zero, write ``.pyc`` files." msgstr "Si no es cero, escribe los archivos ``.pyc``." -#: ../Doc/c-api/init_config.rst:690 +#: ../Doc/c-api/init_config.rst:691 msgid "" ":data:`sys.dont_write_bytecode` is initialized to the inverted value of :c:" "member:`~PyConfig.write_bytecode`." @@ -1117,11 +1109,23 @@ msgstr "" ":data:`sys.dont_write_bytecode` se inicializa al valor invertido de :c:" "member:`~PyConfig.write_bytecode`." -#: ../Doc/c-api/init_config.rst:695 +#: ../Doc/c-api/init_config.rst:696 msgid ":data:`sys._xoptions`." msgstr ":data:`sys._xoptions`." -#: ../Doc/c-api/init_config.rst:697 +#: ../Doc/c-api/init_config.rst:700 +msgid "Enable PEG parser? Default: 1." +msgstr "" + +#: ../Doc/c-api/init_config.rst:702 +msgid "Set to 0 by :option:`-X oldparser <-X>` and :envvar:`PYTHONOLDPARSER`." +msgstr "" + +#: ../Doc/c-api/init_config.rst:704 +msgid "See also :pep:`617`." +msgstr "" + +#: ../Doc/c-api/init_config.rst:708 msgid "" "If ``parse_argv`` is non-zero, ``argv`` arguments are parsed the same way " "the regular Python parses command line arguments, and Python arguments are " @@ -1132,7 +1136,7 @@ msgstr "" "argumentos de Python se eliminan de ``argv``: ver :ref:`Argumentos de línea " "de comando `." -#: ../Doc/c-api/init_config.rst:702 +#: ../Doc/c-api/init_config.rst:713 msgid "" "The ``xoptions`` options are parsed to set other options: see :option:`-X` " "option." @@ -1140,19 +1144,23 @@ msgstr "" "Las opciones ``xoptions`` se analizan para establecer otras opciones: ver la " "opción :option:`-X`." -#: ../Doc/c-api/init_config.rst:707 +#: ../Doc/c-api/init_config.rst:718 +msgid "The ``show_alloc_count`` field has been removed." +msgstr "" + +#: ../Doc/c-api/init_config.rst:722 msgid "Initialization with PyConfig" msgstr "Inicialización con PyConfig" -#: ../Doc/c-api/init_config.rst:709 +#: ../Doc/c-api/init_config.rst:724 msgid "Function to initialize Python:" msgstr "Función para inicializar Python:" -#: ../Doc/c-api/init_config.rst:713 +#: ../Doc/c-api/init_config.rst:728 msgid "Initialize Python from *config* configuration." msgstr "Inicializa Python desde la configuración *config*." -#: ../Doc/c-api/init_config.rst:718 +#: ../Doc/c-api/init_config.rst:733 msgid "" "If ``PyImport_FrozenModules``, ``PyImport_AppendInittab()`` or " "``PyImport_ExtendInittab()`` are used, they must be set or called after " @@ -1162,11 +1170,11 @@ msgstr "" "``PyImport_ExtendInittab()``, deben configurarse o llamarse después de la " "preinicialización de Python y antes de la inicialización de Python." -#: ../Doc/c-api/init_config.rst:722 +#: ../Doc/c-api/init_config.rst:737 msgid "Example setting the program name::" msgstr "Ejemplo de configuración del nombre del programa::" -#: ../Doc/c-api/init_config.rst:750 +#: ../Doc/c-api/init_config.rst:765 msgid "" "More complete example modifying the default configuration, read the " "configuration, and then override some parameters::" @@ -1174,11 +1182,11 @@ msgstr "" "Ejemplo más completo que modifica la configuración predeterminada, lee la " "configuración y luego anula algunos parámetros ::" -#: ../Doc/c-api/init_config.rst:801 +#: ../Doc/c-api/init_config.rst:816 msgid "Isolated Configuration" msgstr "Configuración aislada" -#: ../Doc/c-api/init_config.rst:803 +#: ../Doc/c-api/init_config.rst:818 msgid "" ":c:func:`PyPreConfig_InitIsolatedConfig` and :c:func:" "`PyConfig_InitIsolatedConfig` functions create a configuration to isolate " @@ -1188,7 +1196,7 @@ msgstr "" "`PyConfig_InitIsolatedConfig` crean una configuración para aislar Python del " "sistema. Por ejemplo, para incrustar Python en una aplicación." -#: ../Doc/c-api/init_config.rst:808 +#: ../Doc/c-api/init_config.rst:823 msgid "" "This configuration ignores global configuration variables, environments " "variables, command line arguments (:c:member:`PyConfig.argv` is not parsed) " @@ -1201,7 +1209,7 @@ msgstr "" "transmisiones estándar C (por ejemplo, ``stdout``) y el entorno local " "LC_CTYPE no se modifican. Los manejadores de señal no están instalados." -#: ../Doc/c-api/init_config.rst:813 +#: ../Doc/c-api/init_config.rst:828 msgid "" "Configuration files are still used with this configuration. Set the :ref:" "`Path Configuration ` (\"output fields\") to ignore these " @@ -1213,11 +1221,11 @@ msgstr "" "\") para ignorar estos archivos de configuración y evitar la función que " "calcula la configuración de ruta predeterminada." -#: ../Doc/c-api/init_config.rst:822 +#: ../Doc/c-api/init_config.rst:837 msgid "Python Configuration" msgstr "Configuración de Python" -#: ../Doc/c-api/init_config.rst:824 +#: ../Doc/c-api/init_config.rst:839 msgid "" ":c:func:`PyPreConfig_InitPythonConfig` and :c:func:" "`PyConfig_InitPythonConfig` functions create a configuration to build a " @@ -1227,7 +1235,7 @@ msgstr "" "`PyConfig_InitPythonConfig` crean una configuración para construir un Python " "personalizado que se comporta como el Python normal." -#: ../Doc/c-api/init_config.rst:828 +#: ../Doc/c-api/init_config.rst:843 msgid "" "Environments variables and command line arguments are used to configure " "Python, whereas global configuration variables are ignored." @@ -1236,7 +1244,7 @@ msgstr "" "utilizan para configurar Python, mientras que las variables de configuración " "global se ignoran." -#: ../Doc/c-api/init_config.rst:831 +#: ../Doc/c-api/init_config.rst:846 msgid "" "This function enables C locale coercion (:pep:`538`) and UTF-8 Mode (:pep:" "`540`) depending on the LC_CTYPE locale, :envvar:`PYTHONUTF8` and :envvar:" @@ -1247,45 +1255,50 @@ msgstr "" "LC_CTYPE, :envvar:`PYTHONUTF8` y variables de entorno :envvar:" "`PYTHONCOERCECLOCALE`." -#: ../Doc/c-api/init_config.rst:835 +#: ../Doc/c-api/init_config.rst:850 msgid "Example of customized Python always running in isolated mode::" msgstr "" "Ejemplo de Python personalizado que siempre se ejecuta en modo aislado::" -#: ../Doc/c-api/init_config.rst:874 +#: ../Doc/c-api/init_config.rst:889 msgid "Path Configuration" msgstr "Configuración de ruta" -#: ../Doc/c-api/init_config.rst:876 +#: ../Doc/c-api/init_config.rst:891 msgid ":c:type:`PyConfig` contains multiple fields for the path configuration:" msgstr "" ":c:type:`PyConfig` contiene múltiples campos para la configuración de ruta:" -#: ../Doc/c-api/init_config.rst:878 +#: ../Doc/c-api/init_config.rst:893 msgid "Path configuration inputs:" msgstr "Entradas de configuración de ruta:" -#: ../Doc/c-api/init_config.rst:880 +#: ../Doc/c-api/init_config.rst:895 msgid ":c:member:`PyConfig.home`" msgstr ":c:member:`PyConfig.home`" -#: ../Doc/c-api/init_config.rst:881 +#: ../Doc/c-api/init_config.rst:896 +#, fuzzy +msgid ":c:member:`PyConfig.platlibdir`" +msgstr ":c:member:`~PyConfig.isolated`" + +#: ../Doc/c-api/init_config.rst:897 msgid ":c:member:`PyConfig.pathconfig_warnings`" msgstr ":c:member:`PyConfig.pathconfig_warnings`" -#: ../Doc/c-api/init_config.rst:882 +#: ../Doc/c-api/init_config.rst:898 msgid ":c:member:`PyConfig.program_name`" msgstr ":c:member:`PyConfig.program_name`" -#: ../Doc/c-api/init_config.rst:883 +#: ../Doc/c-api/init_config.rst:899 msgid ":c:member:`PyConfig.pythonpath_env`" msgstr ":c:member:`PyConfig.pythonpath_env`" -#: ../Doc/c-api/init_config.rst:884 +#: ../Doc/c-api/init_config.rst:900 msgid "current working directory: to get absolute paths" msgstr "directorio de trabajo actual: para obtener rutas absolutas" -#: ../Doc/c-api/init_config.rst:885 +#: ../Doc/c-api/init_config.rst:901 msgid "" "``PATH`` environment variable to get the program full path (from :c:member:" "`PyConfig.program_name`)" @@ -1293,11 +1306,11 @@ msgstr "" "Variable de entorno ``PATH`` para obtener la ruta completa del programa (de :" "c:member:`PyConfig.program_name`)" -#: ../Doc/c-api/init_config.rst:887 +#: ../Doc/c-api/init_config.rst:903 msgid "``__PYVENV_LAUNCHER__`` environment variable" msgstr "Variable de entorno ``__PYVENV_LAUNCHER__``" -#: ../Doc/c-api/init_config.rst:888 +#: ../Doc/c-api/init_config.rst:904 msgid "" "(Windows only) Application paths in the registry under \"Software\\Python" "\\PythonCore\\X.Y\\PythonPath\" of HKEY_CURRENT_USER and HKEY_LOCAL_MACHINE " @@ -1307,31 +1320,31 @@ msgstr "" "\\PythonCore\\X.Y\\PythonPath\" de HKEY_CURRENT_USER y HKEY_LOCAL_MACHINE " "(donde X.Y es la versión de Python)." -#: ../Doc/c-api/init_config.rst:892 +#: ../Doc/c-api/init_config.rst:908 msgid "Path configuration output fields:" msgstr "Campos de salida de configuración de ruta:" -#: ../Doc/c-api/init_config.rst:894 +#: ../Doc/c-api/init_config.rst:910 msgid ":c:member:`PyConfig.base_exec_prefix`" msgstr ":c:member:`PyConfig.base_exec_prefix`" -#: ../Doc/c-api/init_config.rst:895 +#: ../Doc/c-api/init_config.rst:911 msgid ":c:member:`PyConfig.base_executable`" msgstr ":c:member:`PyConfig.base_executable`" -#: ../Doc/c-api/init_config.rst:896 +#: ../Doc/c-api/init_config.rst:912 msgid ":c:member:`PyConfig.base_prefix`" msgstr ":c:member:`PyConfig.base_prefix`" -#: ../Doc/c-api/init_config.rst:897 +#: ../Doc/c-api/init_config.rst:913 msgid ":c:member:`PyConfig.exec_prefix`" msgstr ":c:member:`PyConfig.exec_prefix`" -#: ../Doc/c-api/init_config.rst:898 +#: ../Doc/c-api/init_config.rst:914 msgid ":c:member:`PyConfig.executable`" msgstr ":c:member:`PyConfig.executable`" -#: ../Doc/c-api/init_config.rst:899 +#: ../Doc/c-api/init_config.rst:915 msgid "" ":c:member:`PyConfig.module_search_paths_set`, :c:member:`PyConfig." "module_search_paths`" @@ -1339,11 +1352,11 @@ msgstr "" ":c:member:`PyConfig.module_search_paths_set`, :c:member:`PyConfig." "module_search_paths`" -#: ../Doc/c-api/init_config.rst:901 +#: ../Doc/c-api/init_config.rst:917 msgid ":c:member:`PyConfig.prefix`" msgstr ":c:member:`PyConfig.prefix`" -#: ../Doc/c-api/init_config.rst:903 +#: ../Doc/c-api/init_config.rst:919 msgid "" "If at least one \"output field\" is not set, Python calculates the path " "configuration to fill unset fields. If :c:member:`~PyConfig." @@ -1357,7 +1370,7 @@ msgstr "" "`~PyConfig.module_search_paths` se reemplaza y :c:member:`~PyConfig." "module_search_paths_set` se establece en 1." -#: ../Doc/c-api/init_config.rst:909 +#: ../Doc/c-api/init_config.rst:925 msgid "" "It is possible to completely ignore the function calculating the default " "path configuration by setting explicitly all path configuration output " @@ -1374,7 +1387,7 @@ msgstr "" "``module_search_paths_set`` se establece en 1. En este caso, los campos de " "entrada de configuración de ruta también se ignoran." -#: ../Doc/c-api/init_config.rst:916 +#: ../Doc/c-api/init_config.rst:932 msgid "" "Set :c:member:`~PyConfig.pathconfig_warnings` to 0 to suppress warnings when " "calculating the path configuration (Unix only, Windows does not log any " @@ -1384,7 +1397,7 @@ msgstr "" "advertencias al calcular la configuración de la ruta (solo Unix, Windows no " "registra ninguna advertencia)." -#: ../Doc/c-api/init_config.rst:919 +#: ../Doc/c-api/init_config.rst:935 msgid "" "If :c:member:`~PyConfig.base_prefix` or :c:member:`~PyConfig." "base_exec_prefix` fields are not set, they inherit their value from :c:" @@ -1394,11 +1407,11 @@ msgstr "" "base_exec_prefix` no están establecidos, heredan su valor de :c:member:" "`~PyConfig.prefix` y :c:member:`~PyConfig.exec_prefix` respectivamente." -#: ../Doc/c-api/init_config.rst:923 +#: ../Doc/c-api/init_config.rst:939 msgid ":c:func:`Py_RunMain` and :c:func:`Py_Main` modify :data:`sys.path`:" msgstr ":c:func:`Py_RunMain` y :c:func:`Py_Main` modifican :data:`sys.path`:" -#: ../Doc/c-api/init_config.rst:925 +#: ../Doc/c-api/init_config.rst:941 msgid "" "If :c:member:`~PyConfig.run_filename` is set and is a directory which " "contains a ``__main__.py`` script, prepend :c:member:`~PyConfig." @@ -1408,11 +1421,11 @@ msgstr "" "que contiene un script ``__main__.py``, anteponga :c:member:`~PyConfig." "run_filename` a :data:`sys.path`." -#: ../Doc/c-api/init_config.rst:928 +#: ../Doc/c-api/init_config.rst:944 msgid "If :c:member:`~PyConfig.isolated` is zero:" msgstr "Si :c:member:`~PyConfig.isolated` es cero:" -#: ../Doc/c-api/init_config.rst:930 +#: ../Doc/c-api/init_config.rst:946 msgid "" "If :c:member:`~PyConfig.run_module` is set, prepend the current directory " "to :data:`sys.path`. Do nothing if the current directory cannot be read." @@ -1421,7 +1434,7 @@ msgstr "" "directorio actual a :data:`sys.path`. No haga nada si el directorio actual " "no se puede leer." -#: ../Doc/c-api/init_config.rst:932 +#: ../Doc/c-api/init_config.rst:948 msgid "" "If :c:member:`~PyConfig.run_filename` is set, prepend the directory of the " "filename to :data:`sys.path`." @@ -1429,12 +1442,12 @@ msgstr "" "Si :c:member:`~PyConfig.run_filename` está configurado, anteponga el " "directorio del nombre del archivo a :data:`sys.path`." -#: ../Doc/c-api/init_config.rst:934 +#: ../Doc/c-api/init_config.rst:950 msgid "Otherwise, prepend an empty string to :data:`sys.path`." msgstr "" "De lo contrario, anteponga una cadena de caracteres vacía a :data:`sys.path`." -#: ../Doc/c-api/init_config.rst:936 +#: ../Doc/c-api/init_config.rst:952 msgid "" "If :c:member:`~PyConfig.site_import` is non-zero, :data:`sys.path` can be " "modified by the :mod:`site` module. If :c:member:`~PyConfig." @@ -1448,24 +1461,24 @@ msgstr "" "usuario existe, el módulo :mod:`site` agrega el directorio del paquete del " "sitio del usuario a :data:`sys.path`." -#: ../Doc/c-api/init_config.rst:942 +#: ../Doc/c-api/init_config.rst:958 msgid "The following configuration files are used by the path configuration:" msgstr "" "La configuración de ruta utiliza los siguientes archivos de configuración:" -#: ../Doc/c-api/init_config.rst:944 +#: ../Doc/c-api/init_config.rst:960 msgid "``pyvenv.cfg``" msgstr "``pyvenv.cfg``" -#: ../Doc/c-api/init_config.rst:945 +#: ../Doc/c-api/init_config.rst:961 msgid "``python._pth`` (Windows only)" msgstr "``python._pth`` (sólo Windows)" -#: ../Doc/c-api/init_config.rst:946 +#: ../Doc/c-api/init_config.rst:962 msgid "``pybuilddir.txt`` (Unix only)" msgstr "``pybuilddir.txt`` (sólo Unix)" -#: ../Doc/c-api/init_config.rst:948 +#: ../Doc/c-api/init_config.rst:964 msgid "" "The ``__PYVENV_LAUNCHER__`` environment variable is used to set :c:member:" "`PyConfig.base_executable`" @@ -1473,11 +1486,11 @@ msgstr "" "La variable de entorno ``__PYVENV_LAUNCHER__`` se usa para establecer :c:" "member:`PyConfig.base_executable`" -#: ../Doc/c-api/init_config.rst:953 +#: ../Doc/c-api/init_config.rst:969 msgid "Py_RunMain()" msgstr "Py_RunMain()" -#: ../Doc/c-api/init_config.rst:957 +#: ../Doc/c-api/init_config.rst:973 msgid "" "Execute the command (:c:member:`PyConfig.run_command`), the script (:c:" "member:`PyConfig.run_filename`) or the module (:c:member:`PyConfig." @@ -1487,11 +1500,11 @@ msgstr "" "`PyConfig.run_filename`) o el módulo (:c:member:`PyConfig.run_module`) " "especificado en la línea de comando o en la configuración." -#: ../Doc/c-api/init_config.rst:962 +#: ../Doc/c-api/init_config.rst:978 msgid "By default and when if :option:`-i` option is used, run the REPL." msgstr "Por defecto y cuando se usa la opción :option:`-i`, ejecuta el REPL." -#: ../Doc/c-api/init_config.rst:964 +#: ../Doc/c-api/init_config.rst:980 msgid "" "Finally, finalizes Python and returns an exit status that can be passed to " "the ``exit()`` function." @@ -1499,7 +1512,7 @@ msgstr "" "Finalmente, finaliza Python y retorna un estado de salida que se puede pasar " "a la función ``exit()``." -#: ../Doc/c-api/init_config.rst:967 +#: ../Doc/c-api/init_config.rst:983 msgid "" "See :ref:`Python Configuration ` for an example of " "customized Python always running in isolated mode using :c:func:`Py_RunMain`." @@ -1508,11 +1521,19 @@ msgstr "" "ejemplo de Python personalizado que siempre se ejecuta en modo aislado " "usando :c:func:`Py_RunMain`." -#: ../Doc/c-api/init_config.rst:973 +#: ../Doc/c-api/init_config.rst:989 +msgid "Py_GetArgcArgv()" +msgstr "" + +#: ../Doc/c-api/init_config.rst:993 +msgid "Get the original command line arguments, before Python modified them." +msgstr "" + +#: ../Doc/c-api/init_config.rst:997 msgid "Multi-Phase Initialization Private Provisional API" msgstr "API Provisional Privada de Inicialización Multifásica" -#: ../Doc/c-api/init_config.rst:975 +#: ../Doc/c-api/init_config.rst:999 msgid "" "This section is a private provisional API introducing multi-phase " "initialization, the core feature of the :pep:`432`:" @@ -1520,23 +1541,23 @@ msgstr "" "Esta sección es una API provisional privada que presenta la inicialización " "de múltiples fases, la característica principal de :pep:`432`:" -#: ../Doc/c-api/init_config.rst:978 +#: ../Doc/c-api/init_config.rst:1002 msgid "\"Core\" initialization phase, \"bare minimum Python\":" msgstr "Fase de inicialización \"Core\", \"Python mínimo\":" -#: ../Doc/c-api/init_config.rst:980 +#: ../Doc/c-api/init_config.rst:1004 msgid "Builtin types;" msgstr "Tipos incorporados;" -#: ../Doc/c-api/init_config.rst:981 +#: ../Doc/c-api/init_config.rst:1005 msgid "Builtin exceptions;" msgstr "Excepciones incorporadas;" -#: ../Doc/c-api/init_config.rst:982 +#: ../Doc/c-api/init_config.rst:1006 msgid "Builtin and frozen modules;" msgstr "Módulos incorporados y congelados;" -#: ../Doc/c-api/init_config.rst:983 +#: ../Doc/c-api/init_config.rst:1007 msgid "" "The :mod:`sys` module is only partially initialized (ex: :data:`sys.path` " "doesn't exist yet)." @@ -1544,24 +1565,24 @@ msgstr "" "El módulo :mod:`sys` solo se inicializa parcialmente (por ejemplo :data:`sys." "path` aún no existe)." -#: ../Doc/c-api/init_config.rst:986 +#: ../Doc/c-api/init_config.rst:1010 msgid "\"Main\" initialization phase, Python is fully initialized:" msgstr "" "Fase de inicialización \"principal\", Python está completamente inicializado:" -#: ../Doc/c-api/init_config.rst:988 +#: ../Doc/c-api/init_config.rst:1012 msgid "Install and configure :mod:`importlib`;" msgstr "Instala y configura :mod:`importlib`;" -#: ../Doc/c-api/init_config.rst:989 +#: ../Doc/c-api/init_config.rst:1013 msgid "Apply the :ref:`Path Configuration `;" msgstr "Aplique la :ref:`Configuración de ruta `;" -#: ../Doc/c-api/init_config.rst:990 +#: ../Doc/c-api/init_config.rst:1014 msgid "Install signal handlers;" msgstr "Instala manejadores de señal;" -#: ../Doc/c-api/init_config.rst:991 +#: ../Doc/c-api/init_config.rst:1015 msgid "" "Finish :mod:`sys` module initialization (ex: create :data:`sys.stdout` and :" "data:`sys.path`);" @@ -1569,26 +1590,26 @@ msgstr "" "Finaliza la inicialización del módulo :mod:`sys` (por ejemplo: crea :data:" "`sys.stdout` y :data:`sys.path`);" -#: ../Doc/c-api/init_config.rst:993 +#: ../Doc/c-api/init_config.rst:1017 msgid "" "Enable optional features like :mod:`faulthandler` and :mod:`tracemalloc`;" msgstr "" "Habilita características opcionales como :mod:`faulthandler` y :mod:" "`tracemalloc`;" -#: ../Doc/c-api/init_config.rst:994 +#: ../Doc/c-api/init_config.rst:1018 msgid "Import the :mod:`site` module;" msgstr "Importe el módulo :mod:`site`;" -#: ../Doc/c-api/init_config.rst:995 +#: ../Doc/c-api/init_config.rst:1019 msgid "etc." msgstr "etc." -#: ../Doc/c-api/init_config.rst:997 +#: ../Doc/c-api/init_config.rst:1021 msgid "Private provisional API:" msgstr "API provisional privada:" -#: ../Doc/c-api/init_config.rst:999 +#: ../Doc/c-api/init_config.rst:1023 msgid "" ":c:member:`PyConfig._init_main`: if set to 0, :c:func:" "`Py_InitializeFromConfig` stops at the \"Core\" initialization phase." @@ -1596,14 +1617,20 @@ msgstr "" ":c:member:`PyConfig._init_main`: si se establece en 0, :c:func:" "`Py_InitializeFromConfig` se detiene en la fase de inicialización \"Core\"." -#: ../Doc/c-api/init_config.rst:1004 +#: ../Doc/c-api/init_config.rst:1025 +msgid "" +":c:member:`PyConfig._isolated_interpreter`: if non-zero, disallow threads, " +"subprocesses and fork." +msgstr "" + +#: ../Doc/c-api/init_config.rst:1030 msgid "" "Move to the \"Main\" initialization phase, finish the Python initialization." msgstr "" "Vaya a la fase de inicialización \"Principal\", finalice la inicialización " "de Python." -#: ../Doc/c-api/init_config.rst:1006 +#: ../Doc/c-api/init_config.rst:1032 msgid "" "No module is imported during the \"Core\" phase and the ``importlib`` module " "is not configured: the :ref:`Path Configuration ` is only " @@ -1618,7 +1645,7 @@ msgstr "" "ruta `, tal vez instale un importador personalizado :data:" "`sys.meta_path` o un enlace de importación, etc." -#: ../Doc/c-api/init_config.rst:1012 +#: ../Doc/c-api/init_config.rst:1038 msgid "" "It may become possible to calculatin the :ref:`Path Configuration ` in Python, after the Core phase and before the Main phase, which is " @@ -1628,7 +1655,7 @@ msgstr "" "en Python, después de la fase Core y antes de la fase Main, que es una de " "las motivaciones :pep:`432`." -#: ../Doc/c-api/init_config.rst:1016 +#: ../Doc/c-api/init_config.rst:1042 msgid "" "The \"Core\" phase is not properly defined: what should be and what should " "not be available at this phase is not specified yet. The API is marked as " @@ -1641,10 +1668,32 @@ msgstr "" "incluso eliminar en cualquier momento hasta que se diseñe una API pública " "adecuada." -#: ../Doc/c-api/init_config.rst:1021 +#: ../Doc/c-api/init_config.rst:1047 msgid "" "Example running Python code between \"Core\" and \"Main\" initialization " "phases::" msgstr "" "Ejemplo de ejecución de código Python entre las fases de inicialización " "\"Core\" y \"Main\"::" + +#~ msgid "Development mode: see :option:`-X dev <-X>`." +#~ msgstr "Modo de desarrollo: ver :option:`-X dev <-X>`." + +#~ msgid "" +#~ "Require a debug build of Python (``Py_REF_DEBUG`` macro must be defined)." +#~ msgstr "" +#~ "Requerir una compilación de depuración de Python (la macro " +#~ "``Py_REF_DEBUG`` debe estar definida)." + +#~ msgid "Show allocation counts at exit?" +#~ msgstr "¿Mostrar recuentos de asignación en la salida?" + +#~ msgid "Set to 1 by :option:`-X showalloccount <-X>` command line option." +#~ msgstr "" +#~ "Establecido en 1 por la opción de línea de comandos :option:`-X " +#~ "showalloccount <-X>`." + +#~ msgid "Need a special Python build with ``COUNT_ALLOCS`` macro defined." +#~ msgstr "" +#~ "Necesita una compilación especial de Python con la macro ``COUNT_ALLOCS`` " +#~ "definida." diff --git a/c-api/intro.po b/c-api/intro.po index fbbe4ce31b..8cae2e5a89 100644 --- a/c-api/intro.po +++ b/c-api/intro.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-18 14:17+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" "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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/c-api/intro.rst:8 msgid "Introduction" @@ -231,41 +230,58 @@ msgstr "" #: ../Doc/c-api/intro.rst:110 msgid "" -"Use this when you have a code path that you do not expect to be reached. For " +"Use this when you have a code path that cannot be reached by design. For " "example, in the ``default:`` clause in a ``switch`` statement for which all " "possible values are covered in ``case`` statements. Use this in places " "where you might be tempted to put an ``assert(0)`` or ``abort()`` call." msgstr "" -"Use esto cuando tenga una ruta de código que no espera alcanzar. Por " -"ejemplo, en la cláusula ``default:`` en una declaración ``switch`` para la " -"cual todos los valores posibles están cubiertos en las declaraciones " -"``case``. Use esto en lugares donde podría sentirse tentado a poner una " -"llamada ``assert(0)`` o ``abort()``." + +#: ../Doc/c-api/intro.rst:115 +msgid "" +"In release mode, the macro helps the compiler to optimize the code, and " +"avoids a warning about unreachable code. For example, the macro is " +"implemented with ``__builtin_unreachable()`` on GCC in release mode." +msgstr "" #: ../Doc/c-api/intro.rst:119 +msgid "" +"A use for ``Py_UNREACHABLE()`` is following a call a function that never " +"returns but that is not declared :c:macro:`_Py_NO_RETURN`." +msgstr "" + +#: ../Doc/c-api/intro.rst:122 +msgid "" +"If a code path is very unlikely code but can be reached under exceptional " +"case, this macro must not be used. For example, under low memory condition " +"or if a system call returns a value out of the expected range. In this " +"case, it's better to report the error to the caller. If the error cannot be " +"reported to caller, :c:func:`Py_FatalError` can be used." +msgstr "" + +#: ../Doc/c-api/intro.rst:132 msgid "Return the absolute value of ``x``." msgstr "Retorna el valor absoluto de ``x``." -#: ../Doc/c-api/intro.rst:125 +#: ../Doc/c-api/intro.rst:138 msgid "Return the minimum value between ``x`` and ``y``." msgstr "Retorna el valor mínimo entre ``x`` e ``y``." -#: ../Doc/c-api/intro.rst:131 +#: ../Doc/c-api/intro.rst:144 msgid "Return the maximum value between ``x`` and ``y``." msgstr "Retorna el valor máximo entre ``x`` e ``y``." -#: ../Doc/c-api/intro.rst:137 +#: ../Doc/c-api/intro.rst:150 msgid "" "Convert ``x`` to a C string. E.g. ``Py_STRINGIFY(123)`` returns ``\"123\"``." msgstr "" "Convierte ``x`` en una cadena de caracteres C. Por ejemplo, " "``Py_STRINGIFY(123)`` retorna ``\"123\"``." -#: ../Doc/c-api/intro.rst:144 +#: ../Doc/c-api/intro.rst:157 msgid "Return the size of a structure (``type``) ``member`` in bytes." msgstr "Retorna el tamaño de una estructura (``type``) ``member`` en bytes." -#: ../Doc/c-api/intro.rst:150 +#: ../Doc/c-api/intro.rst:163 msgid "" "Argument must be a character or an integer in the range [-128, 127] or [0, " "255]. This macro returns ``c`` cast to an ``unsigned char``." @@ -273,7 +289,7 @@ msgstr "" "El argumento debe ser un carácter o un número entero en el rango [-128, 127] " "o [0, 255]. Este macro retorna la conversión ``c`` a un ``unsigned char``." -#: ../Doc/c-api/intro.rst:155 +#: ../Doc/c-api/intro.rst:168 msgid "" "Like ``getenv(s)``, but returns ``NULL`` if :option:`-E` was passed on the " "command line (i.e. if ``Py_IgnoreEnvironmentFlag`` is set)." @@ -282,7 +298,7 @@ msgstr "" "se pasó en la línea de comando (es decir, si se establece " "``Py_IgnoreEnvironmentFlag``)." -#: ../Doc/c-api/intro.rst:160 +#: ../Doc/c-api/intro.rst:173 msgid "" "Use this for unused arguments in a function definition to silence compiler " "warnings. Example: ``int func(int a, int Py_UNUSED(b)) { return a; }``." @@ -291,7 +307,7 @@ msgstr "" "silenciar las advertencias del compilador. Ejemplo: ``int func(int a, int " "Py_UNUSED(b)) {return a; }``." -#: ../Doc/c-api/intro.rst:167 +#: ../Doc/c-api/intro.rst:180 msgid "" "Use this for deprecated declarations. The macro must be placed before the " "symbol name." @@ -299,16 +315,16 @@ msgstr "" "Use esto para declaraciones obsoletas. El macro debe colocarse antes del " "nombre del símbolo." -#: ../Doc/c-api/intro.rst:170 ../Doc/c-api/intro.rst:185 -#: ../Doc/c-api/intro.rst:203 +#: ../Doc/c-api/intro.rst:183 ../Doc/c-api/intro.rst:198 +#: ../Doc/c-api/intro.rst:216 msgid "Example::" msgstr "Ejemplo::" -#: ../Doc/c-api/intro.rst:174 +#: ../Doc/c-api/intro.rst:187 msgid "MSVC support was added." msgstr "Soporte para MSVC fue agregado." -#: ../Doc/c-api/intro.rst:179 +#: ../Doc/c-api/intro.rst:192 msgid "" "Creates a variable with name ``name`` that can be used in docstrings. If " "Python is built without docstrings, the value will be empty." @@ -316,7 +332,7 @@ msgstr "" "Crea una variable con el nombre ``name`` que se puede usar en *docstrings*. " "Si Python se construye sin *docstrings*, el valor estará vacío." -#: ../Doc/c-api/intro.rst:182 +#: ../Doc/c-api/intro.rst:195 msgid "" "Use :c:macro:`PyDoc_STRVAR` for docstrings to support building Python " "without docstrings, as specified in :pep:`7`." @@ -324,7 +340,7 @@ msgstr "" "Utilice :c:macro:`PyDoc_STRVAR` para que los *docstrings* admitan la " "construcción de Python sin *docstrings*, como se especifica en :pep:`7`." -#: ../Doc/c-api/intro.rst:197 +#: ../Doc/c-api/intro.rst:210 msgid "" "Creates a docstring for the given input string or an empty string if " "docstrings are disabled." @@ -332,7 +348,7 @@ msgstr "" "Crea un *docstring* para la cadena de caracteres de entrada dada o una " "cadena vacía si los *docstrings* están deshabilitados." -#: ../Doc/c-api/intro.rst:200 +#: ../Doc/c-api/intro.rst:213 msgid "" "Use :c:macro:`PyDoc_STR` in specifying docstrings to support building Python " "without docstrings, as specified in :pep:`7`." @@ -340,20 +356,21 @@ msgstr "" "Utilice :c:macro:`PyDoc_STR` al especificar *docstrings* para admitir la " "construcción de Python sin *docstrings*, como se especifica en :pep:`7`." -#: ../Doc/c-api/intro.rst:214 +#: ../Doc/c-api/intro.rst:227 msgid "Objects, Types and Reference Counts" msgstr "Objetos, Tipos y Conteos de Referencias" -#: ../Doc/c-api/intro.rst:218 +#: ../Doc/c-api/intro.rst:231 +#, fuzzy msgid "" "Most Python/C API functions have one or more arguments as well as a return " -"value of type :c:type:`PyObject\\*`. This type is a pointer to an opaque " -"data type representing an arbitrary Python object. Since all Python object " -"types are treated the same way by the Python language in most situations (e." -"g., assignments, scope rules, and argument passing), it is only fitting that " +"value of type :c:type:`PyObject*`. This type is a pointer to an opaque data " +"type representing an arbitrary Python object. Since all Python object types " +"are treated the same way by the Python language in most situations (e.g., " +"assignments, scope rules, and argument passing), it is only fitting that " "they should be represented by a single C type. Almost all Python objects " "live on the heap: you never declare an automatic or static variable of type :" -"c:type:`PyObject`, only pointer variables of type :c:type:`PyObject\\*` can " +"c:type:`PyObject`, only pointer variables of type :c:type:`PyObject*` can " "be declared. The sole exception are the type objects; since these must " "never be deallocated, they are typically static :c:type:`PyTypeObject` " "objects." @@ -371,7 +388,7 @@ msgstr "" "tipo; como nunca deben desasignarse, son típicamente objetos estáticos :c:" "type:`PyTypeObject`." -#: ../Doc/c-api/intro.rst:229 +#: ../Doc/c-api/intro.rst:242 msgid "" "All Python objects (even Python integers) have a :dfn:`type` and a :dfn:" "`reference count`. An object's type determines what kind of object it is (e." @@ -390,11 +407,11 @@ msgstr "" "es verdadero si (y solo si) el objeto al que apunta *a* es una lista de " "Python." -#: ../Doc/c-api/intro.rst:240 +#: ../Doc/c-api/intro.rst:253 msgid "Reference Counts" msgstr "Conteo de Referencias" -#: ../Doc/c-api/intro.rst:242 +#: ../Doc/c-api/intro.rst:255 msgid "" "The reference count is important because today's computers have a finite " "(and often severely limited) memory size; it counts how many different " @@ -419,7 +436,7 @@ msgstr "" "objetos que se refieren entre sí aquí; por ahora, la solución es \"no hagas " "eso\")." -#: ../Doc/c-api/intro.rst:257 +#: ../Doc/c-api/intro.rst:270 msgid "" "Reference counts are always manipulated explicitly. The normal way is to " "use the macro :c:func:`Py_INCREF` to increment an object's reference count " @@ -452,7 +469,7 @@ msgstr "" "la memoria virtual (suponiendo ``sizeof(Py_ssize_t) >= sizeof(void*)``). Por " "lo tanto, el incremento del recuento de referencia es una operación simple." -#: ../Doc/c-api/intro.rst:271 +#: ../Doc/c-api/intro.rst:284 msgid "" "It is not necessary to increment an object's reference count for every " "local variable that contains a pointer to an object. In theory, the " @@ -483,7 +500,7 @@ msgstr "" "mecanismo de llamada garantiza mantener una referencia a cada argumento " "durante la duración de la llamada." -#: ../Doc/c-api/intro.rst:285 +#: ../Doc/c-api/intro.rst:298 msgid "" "However, a common pitfall is to extract an object from a list and hold on to " "it for a while without incrementing its reference count. Some other " @@ -502,7 +519,7 @@ msgstr "" "vuelva al usuario desde a :c:func:`Py_DECREF`, por lo que casi cualquier " "operación es potencialmente peligrosa." -#: ../Doc/c-api/intro.rst:293 +#: ../Doc/c-api/intro.rst:306 msgid "" "A safe approach is to always use the generic operations (functions whose " "name begins with ``PyObject_``, ``PyNumber_``, ``PySequence_`` or " @@ -518,11 +535,11 @@ msgstr "" "responsabilidad de llamar :c:func:`Py_DECREF` cuando hayan terminado con el " "resultado; Esto pronto se convierte en una segunda naturaleza." -#: ../Doc/c-api/intro.rst:303 +#: ../Doc/c-api/intro.rst:316 msgid "Reference Count Details" msgstr "Detalles del conteo de referencia" -#: ../Doc/c-api/intro.rst:305 +#: ../Doc/c-api/intro.rst:318 msgid "" "The reference count behavior of functions in the Python/C API is best " "explained in terms of *ownership of references*. Ownership pertains to " @@ -553,7 +570,7 @@ msgstr "" "que la persona que llama *toma prestada* la referencia. No es necesario " "hacer nada para obtener una referencia prestada." -#: ../Doc/c-api/intro.rst:318 +#: ../Doc/c-api/intro.rst:331 msgid "" "Conversely, when a calling function passes in a reference to an object, " "there are two possibilities: the function *steals* a reference to the " @@ -567,7 +584,7 @@ msgstr "" "a una función, esa función asume que ahora posee esa referencia, y usted ya " "no es responsable de ella." -#: ../Doc/c-api/intro.rst:328 +#: ../Doc/c-api/intro.rst:341 msgid "" "Few functions steal references; the two notable exceptions are :c:func:" "`PyList_SetItem` and :c:func:`PyTuple_SetItem`, which steal a reference to " @@ -587,7 +604,7 @@ msgstr "" "(olvidando el manejo de errores por el momento; una mejor manera de " "codificar esto se muestra a continuación)::" -#: ../Doc/c-api/intro.rst:343 +#: ../Doc/c-api/intro.rst:356 msgid "" "Here, :c:func:`PyLong_FromLong` returns a new reference which is immediately " "stolen by :c:func:`PyTuple_SetItem`. When you want to keep using an object " @@ -600,7 +617,7 @@ msgstr "" "para tomar otra referencia antes de llamar a la función de robo de " "referencias." -#: ../Doc/c-api/intro.rst:348 +#: ../Doc/c-api/intro.rst:361 msgid "" "Incidentally, :c:func:`PyTuple_SetItem` is the *only* way to set tuple " "items; :c:func:`PySequence_SetItem` and :c:func:`PyObject_SetItem` refuse to " @@ -613,7 +630,7 @@ msgstr "" "datos inmutable. Solo debe usar :c:func:`PyTuple_SetItem` para las tuplas " "que está creando usted mismo." -#: ../Doc/c-api/intro.rst:353 +#: ../Doc/c-api/intro.rst:366 msgid "" "Equivalent code for populating a list can be written using :c:func:" "`PyList_New` and :c:func:`PyList_SetItem`." @@ -621,7 +638,7 @@ msgstr "" "El código equivalente para llenar una lista se puede escribir usando :c:func:" "`PyList_New` y :c:func:`PyList_SetItem`." -#: ../Doc/c-api/intro.rst:356 +#: ../Doc/c-api/intro.rst:369 msgid "" "However, in practice, you will rarely use these ways of creating and " "populating a tuple or list. There's a generic function, :c:func:" @@ -637,7 +654,7 @@ msgstr "" "reemplazarse por lo siguiente (que también se ocupa de la comprobación de " "errores)::" -#: ../Doc/c-api/intro.rst:367 +#: ../Doc/c-api/intro.rst:380 msgid "" "It is much more common to use :c:func:`PyObject_SetItem` and friends with " "items whose references you are only borrowing, like arguments that were " @@ -655,7 +672,7 @@ msgstr "" "(\"robarla\"). Por ejemplo, esta función establece todos los elementos de " "una lista (en realidad, cualquier secuencia mutable) en un elemento dado::" -#: ../Doc/c-api/intro.rst:397 +#: ../Doc/c-api/intro.rst:410 msgid "" "The situation is slightly different for function return values. While " "passing a reference to most functions does not change your ownership " @@ -678,7 +695,7 @@ msgstr "" "siempre retornan una nueva referencia (la entidad que llama se convierte en " "el propietario de la referencia)." -#: ../Doc/c-api/intro.rst:406 +#: ../Doc/c-api/intro.rst:419 msgid "" "It is important to realize that whether you own a reference returned by a " "function depends on which function you call only --- *the plumage* (the type " @@ -696,7 +713,7 @@ msgstr "" "lista usando :c:func:`PySequence_GetItem` (que toma exactamente los mismos " "argumentos), usted posee una referencia al objeto retornado." -#: ../Doc/c-api/intro.rst:418 +#: ../Doc/c-api/intro.rst:431 msgid "" "Here is an example of how you could write a function that computes the sum " "of the items in a list of integers; once using :c:func:`PyList_GetItem`, " @@ -706,15 +723,16 @@ msgstr "" "de los elementos en una lista de enteros; una vez usando :c:func:" "`PyList_GetItem`, y una vez usando :c:func:`PySequence_GetItem`. ::" -#: ../Doc/c-api/intro.rst:482 +#: ../Doc/c-api/intro.rst:495 msgid "Types" msgstr "Tipos" -#: ../Doc/c-api/intro.rst:484 +#: ../Doc/c-api/intro.rst:497 +#, fuzzy msgid "" "There are few other data types that play a significant role in the Python/C " "API; most are simple C types such as :c:type:`int`, :c:type:`long`, :c:type:" -"`double` and :c:type:`char\\*`. A few structure types are used to describe " +"`double` and :c:type:`char*`. A few structure types are used to describe " "static tables used to list the functions exported by a module or the data " "attributes of a new object type, and another is used to describe the value " "of a complex number. These will be discussed together with the functions " @@ -728,11 +746,11 @@ msgstr "" "objeto, y otro se usa para describir el valor de un número complejo. Estos " "serán discutidos junto con las funciones que los usan." -#: ../Doc/c-api/intro.rst:496 +#: ../Doc/c-api/intro.rst:509 msgid "Exceptions" msgstr "Excepciones" -#: ../Doc/c-api/intro.rst:498 +#: ../Doc/c-api/intro.rst:511 msgid "" "The Python programmer only needs to deal with exceptions if specific error " "handling is required; unhandled exceptions are automatically propagated to " @@ -746,7 +764,7 @@ msgstr "" "sucesivamente, hasta que llegan al intérprete de nivel superior, donde se " "informan al usuario acompañado de un seguimiento de pila (*stack traceback*)." -#: ../Doc/c-api/intro.rst:506 +#: ../Doc/c-api/intro.rst:519 msgid "" "For C programmers, however, error checking always has to be explicit. All " "functions in the Python/C API can raise exceptions, unless an explicit claim " @@ -773,7 +791,7 @@ msgstr "" "requieren pruebas explícitas de errores con :c:func:`PyErr_Occurred`. Estas " "excepciones siempre se documentan explícitamente." -#: ../Doc/c-api/intro.rst:521 +#: ../Doc/c-api/intro.rst:534 msgid "" "Exception state is maintained in per-thread storage (this is equivalent to " "using global storage in an unthreaded application). A thread can be in one " @@ -796,7 +814,7 @@ msgstr "" "más general) para establecer el estado de excepción, y :c:func:`PyErr_Clear` " "borra la excepción estado." -#: ../Doc/c-api/intro.rst:531 +#: ../Doc/c-api/intro.rst:544 msgid "" "The full exception state consists of three objects (all of which can be " "``NULL``): the exception type, the corresponding exception value, and the " @@ -819,7 +837,7 @@ msgstr "" "de código de bytes (*bytecode*) de Python, que se encarga de transferirlo a " "``sys.exc_info()`` y amigos." -#: ../Doc/c-api/intro.rst:543 +#: ../Doc/c-api/intro.rst:556 msgid "" "Note that starting with Python 1.5, the preferred, thread-safe way to access " "the exception state from Python code is to call the function :func:`sys." @@ -844,7 +862,7 @@ msgstr "" "También reduce la extensión de vida útil a menudo no deseada para los " "objetos a los que hacen referencia los marcos de pila en el rastreo." -#: ../Doc/c-api/intro.rst:554 +#: ../Doc/c-api/intro.rst:567 msgid "" "As a general principle, a function that calls another function to perform " "some task should check whether the called function raised an exception, and " @@ -862,7 +880,7 @@ msgstr "" "excepción que se acaba de generar y perderá información importante sobre la " "causa exacta del error." -#: ../Doc/c-api/intro.rst:563 +#: ../Doc/c-api/intro.rst:576 msgid "" "A simple example of detecting exceptions and passing them on is shown in " "the :c:func:`sum_sequence` example above. It so happens that this example " @@ -877,11 +895,11 @@ msgstr "" "para recordar por qué le gusta Python, le mostramos el código Python " "equivalente::" -#: ../Doc/c-api/intro.rst:578 +#: ../Doc/c-api/intro.rst:591 msgid "Here is the corresponding C code, in all its glory::" msgstr "Aquí está el código C correspondiente, en todo su esplendor::" -#: ../Doc/c-api/intro.rst:630 +#: ../Doc/c-api/intro.rst:643 msgid "" "This example represents an endorsed use of the ``goto`` statement in C! It " "illustrates the use of :c:func:`PyErr_ExceptionMatches` and :c:func:" @@ -904,11 +922,11 @@ msgstr "" "``-1`` (falla) y solo se establece en éxito después de que la última llamada " "realizada sea exitosa." -#: ../Doc/c-api/intro.rst:644 +#: ../Doc/c-api/intro.rst:657 msgid "Embedding Python" msgstr "Integración de Python" -#: ../Doc/c-api/intro.rst:646 +#: ../Doc/c-api/intro.rst:659 msgid "" "The one important task that only embedders (as opposed to extension writers) " "of the Python interpreter have to worry about is the initialization, and " @@ -921,7 +939,7 @@ msgstr "" "de Python. La mayor parte de la funcionalidad del intérprete solo se puede " "usar después de que el intérprete se haya inicializado." -#: ../Doc/c-api/intro.rst:659 +#: ../Doc/c-api/intro.rst:672 msgid "" "The basic initialization function is :c:func:`Py_Initialize`. This " "initializes the table of loaded modules, and creates the fundamental " @@ -933,7 +951,7 @@ msgstr "" "mod:`builtins`, :mod:`__main__`, y :mod:`sys`. También inicializa la ruta de " "búsqueda del módulo (``sys.path``)." -#: ../Doc/c-api/intro.rst:666 +#: ../Doc/c-api/intro.rst:679 msgid "" ":c:func:`Py_Initialize` does not set the \"script argument list\" (``sys." "argv``). If this variable is needed by Python code that will be executed " @@ -946,7 +964,7 @@ msgstr "" "``PySys_SetArgvEx(argc, argv, updatepath)`` después de la llamada a :c:func:" "`Py_Initialize`." -#: ../Doc/c-api/intro.rst:671 +#: ../Doc/c-api/intro.rst:684 msgid "" "On most systems (in particular, on Unix and Windows, although the details " "are slightly different), :c:func:`Py_Initialize` calculates the module " @@ -967,7 +985,7 @@ msgstr "" "encuentra el ejecutable llamado :file:`python` en la ruta de búsqueda del " "comando *shell* (la variable de entorno :envvar:`PATH`)." -#: ../Doc/c-api/intro.rst:680 +#: ../Doc/c-api/intro.rst:693 msgid "" "For instance, if the Python executable is found in :file:`/usr/local/bin/" "python`, it will assume that the libraries are in :file:`/usr/local/lib/" @@ -986,7 +1004,7 @@ msgstr "" "`PYTHONHOME`, o inserte directorios adicionales delante de la ruta estándar " "estableciendo :envvar:`PYTHONPATH`." -#: ../Doc/c-api/intro.rst:695 +#: ../Doc/c-api/intro.rst:708 msgid "" "The embedding application can steer the search by calling " "``Py_SetProgramName(file)`` *before* calling :c:func:`Py_Initialize`. Note " @@ -1004,7 +1022,7 @@ msgstr "" "`Py_GetPath`, :c:func:`Py_GetPrefix`, :c:func:`Py_GetExecPrefix`, y :c:func:" "`Py_GetProgramFullPath` (todo definido en :file:`Modules/getpath.c`)." -#: ../Doc/c-api/intro.rst:705 +#: ../Doc/c-api/intro.rst:718 msgid "" "Sometimes, it is desirable to \"uninitialize\" Python. For instance, the " "application may want to start over (make another call to :c:func:" @@ -1028,11 +1046,11 @@ msgstr "" "asignada por el intérprete de Python, por ejemplo, la memoria asignada por " "los módulos de extensión actualmente no se puede liberar." -#: ../Doc/c-api/intro.rst:719 +#: ../Doc/c-api/intro.rst:732 msgid "Debugging Builds" msgstr "Depuración de compilaciones" -#: ../Doc/c-api/intro.rst:721 +#: ../Doc/c-api/intro.rst:734 msgid "" "Python can be built with several macros to enable extra checks of the " "interpreter and extension modules. These checks tend to add a large amount " @@ -1043,7 +1061,7 @@ msgstr "" "tienden a agregar una gran cantidad de sobrecarga al tiempo de ejecución, " "por lo que no están habilitadas de forma predeterminada." -#: ../Doc/c-api/intro.rst:725 +#: ../Doc/c-api/intro.rst:738 msgid "" "A full list of the various types of debugging builds is in the file :file:" "`Misc/SpecialBuilds.txt` in the Python source distribution. Builds are " @@ -1059,7 +1077,7 @@ msgstr "" "creación de perfiles de bajo nivel del bucle principal del intérprete. Solo " "las compilaciones más utilizadas se describirán en el resto de esta sección." -#: ../Doc/c-api/intro.rst:731 +#: ../Doc/c-api/intro.rst:744 msgid "" "Compiling the interpreter with the :c:macro:`Py_DEBUG` macro defined " "produces what is generally meant by \"a debug build\" of Python. :c:macro:" @@ -1076,7 +1094,7 @@ msgstr "" "macro:`Py_DEBUG` está habilitado en la compilación de Unix, la optimización " "del compilador está deshabilitada." -#: ../Doc/c-api/intro.rst:738 +#: ../Doc/c-api/intro.rst:751 msgid "" "In addition to the reference count debugging described below, the following " "extra checks are performed:" @@ -1084,15 +1102,15 @@ msgstr "" "Además de la depuración del recuento de referencia que se describe a " "continuación, se realizan las siguientes verificaciones adicionales:" -#: ../Doc/c-api/intro.rst:741 +#: ../Doc/c-api/intro.rst:754 msgid "Extra checks are added to the object allocator." msgstr "Se agregan comprobaciones adicionales al asignador de objetos." -#: ../Doc/c-api/intro.rst:743 +#: ../Doc/c-api/intro.rst:756 msgid "Extra checks are added to the parser and compiler." msgstr "Se agregan verificaciones adicionales al analizador y compilador." -#: ../Doc/c-api/intro.rst:745 +#: ../Doc/c-api/intro.rst:758 msgid "" "Downcasts from wide types to narrow types are checked for loss of " "information." @@ -1100,7 +1118,7 @@ msgstr "" "Las conversiones de tipos hacia abajo (*downcasting*) de tipos anchos a " "tipos estrechos se comprueban por pérdida de información." -#: ../Doc/c-api/intro.rst:747 +#: ../Doc/c-api/intro.rst:760 msgid "" "A number of assertions are added to the dictionary and set implementations. " "In addition, the set object acquires a :meth:`test_c_api` method." @@ -1109,13 +1127,13 @@ msgstr "" "implementaciones. Además, el objeto set adquiere un método :meth:" "`test_c_api`." -#: ../Doc/c-api/intro.rst:750 +#: ../Doc/c-api/intro.rst:763 msgid "Sanity checks of the input arguments are added to frame creation." msgstr "" "Las comprobaciones de cordura (*sanity checks*) de los argumentos de entrada " "se agregan a la creación del marco." -#: ../Doc/c-api/intro.rst:752 +#: ../Doc/c-api/intro.rst:765 msgid "" "The storage for ints is initialized with a known invalid pattern to catch " "reference to uninitialized digits." @@ -1123,7 +1141,7 @@ msgstr "" "El almacenamiento para *ints* se inicializa con un patrón no válido conocido " "para capturar referencias a dígitos no inicializados." -#: ../Doc/c-api/intro.rst:755 +#: ../Doc/c-api/intro.rst:768 msgid "" "Low-level tracing and extra exception checking are added to the runtime " "virtual machine." @@ -1131,21 +1149,21 @@ msgstr "" "El seguimiento de bajo nivel y la comprobación de excepciones adicionales se " "agregan a la máquina virtual en tiempo de ejecución." -#: ../Doc/c-api/intro.rst:758 +#: ../Doc/c-api/intro.rst:771 msgid "Extra checks are added to the memory arena implementation." msgstr "" "Se agregan verificaciones adicionales a la implementación de la arena de " "memoria." -#: ../Doc/c-api/intro.rst:760 +#: ../Doc/c-api/intro.rst:773 msgid "Extra debugging is added to the thread module." msgstr "Se agrega depuración adicional al módulo de hilos." -#: ../Doc/c-api/intro.rst:762 +#: ../Doc/c-api/intro.rst:775 msgid "There may be additional checks not mentioned here." msgstr "Puede haber controles adicionales no mencionados aquí." -#: ../Doc/c-api/intro.rst:764 +#: ../Doc/c-api/intro.rst:777 msgid "" "Defining :c:macro:`Py_TRACE_REFS` enables reference tracing. When defined, " "a circular doubly linked list of active objects is maintained by adding two " @@ -1162,10 +1180,23 @@ msgstr "" "después de cada declaración ejecutada por el intérprete). Implicado por :c:" "macro:`Py_DEBUG`." -#: ../Doc/c-api/intro.rst:770 +#: ../Doc/c-api/intro.rst:783 msgid "" "Please refer to :file:`Misc/SpecialBuilds.txt` in the Python source " "distribution for more detailed information." msgstr "" "Consulte :file:`Misc/SpecialBuilds.txt` en la distribución fuente de Python " "para obtener información más detallada." + +#~ msgid "" +#~ "Use this when you have a code path that you do not expect to be reached. " +#~ "For example, in the ``default:`` clause in a ``switch`` statement for " +#~ "which all possible values are covered in ``case`` statements. Use this " +#~ "in places where you might be tempted to put an ``assert(0)`` or " +#~ "``abort()`` call." +#~ msgstr "" +#~ "Use esto cuando tenga una ruta de código que no espera alcanzar. Por " +#~ "ejemplo, en la cláusula ``default:`` en una declaración ``switch`` para " +#~ "la cual todos los valores posibles están cubiertos en las declaraciones " +#~ "``case``. Use esto en lugares donde podría sentirse tentado a poner una " +#~ "llamada ``assert(0)`` o ``abort()``." diff --git a/c-api/iter.po b/c-api/iter.po index 8f2736040e..46463103a5 100644 --- a/c-api/iter.po +++ b/c-api/iter.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-09 03:18+0200\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/c-api/iter.rst:6 msgid "Iterator Protocol" @@ -31,10 +30,13 @@ msgid "There are two functions specifically for working with iterators." msgstr "Hay dos funciones específicas para trabajar con iteradores." #: ../Doc/c-api/iter.rst:12 -msgid "Return true if the object *o* supports the iterator protocol." +#, fuzzy +msgid "" +"Return true if the object *o* supports the iterator protocol. This function " +"always succeeds." msgstr "Retorna verdadero si el objeto *o* admite el protocolo iterador." -#: ../Doc/c-api/iter.rst:17 +#: ../Doc/c-api/iter.rst:18 msgid "" "Return the next value from the iteration *o*. The object must be an " "iterator (it is up to the caller to check this). If there are no remaining " @@ -46,7 +48,7 @@ msgstr "" "restantes, retorna ``NULL`` sin establecer ninguna excepción. Si se produce " "un error al recuperar el elemento, retorna ``NULL`` y pasa la excepción." -#: ../Doc/c-api/iter.rst:22 +#: ../Doc/c-api/iter.rst:23 msgid "" "To write a loop which iterates over an iterator, the C code should look " "something like this::" diff --git a/c-api/iterator.po b/c-api/iterator.po index f3e3f9a187..2ce3837017 100644 --- a/c-api/iterator.po +++ b/c-api/iterator.po @@ -1,23 +1,25 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. # Maintained by the python-doc-es workteam. -# docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ -# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers +# docs-es@python.org / +# https://mail.python.org/mailman3/lists/docs-es.python.org/ +# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get +# the list of volunteers # msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-06 11:59-0400\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-09 15:46+0200\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" +"Generated-By: Babel 2.8.0\n" #: ../Doc/c-api/iterator.rst:6 msgid "Iterator Objects" @@ -48,10 +50,13 @@ msgstr "" "tipos de secuencia incorporados." #: ../Doc/c-api/iterator.rst:24 -msgid "Return true if the type of *op* is :c:data:`PySeqIter_Type`." +#, fuzzy +msgid "" +"Return true if the type of *op* is :c:data:`PySeqIter_Type`. This function " +"always succeeds." msgstr "Retorna verdadero si el tipo de *op* es :c:data:`PySeqIter_Type`." -#: ../Doc/c-api/iterator.rst:29 +#: ../Doc/c-api/iterator.rst:30 msgid "" "Return an iterator that works with a general sequence object, *seq*. The " "iteration ends when the sequence raises :exc:`IndexError` for the " @@ -61,7 +66,7 @@ msgstr "" "La iteración termina cuando la secuencia lanza :exc:`IndexError` para la " "operación de suscripción." -#: ../Doc/c-api/iterator.rst:36 +#: ../Doc/c-api/iterator.rst:37 msgid "" "Type object for iterator objects returned by :c:func:`PyCallIter_New` and " "the two-argument form of the :func:`iter` built-in function." @@ -70,11 +75,14 @@ msgstr "" "`PyCallIter_New` y la forma de dos argumentos de la función incorporada :" "func:`iter`." -#: ../Doc/c-api/iterator.rst:42 -msgid "Return true if the type of *op* is :c:data:`PyCallIter_Type`." +#: ../Doc/c-api/iterator.rst:43 +#, fuzzy +msgid "" +"Return true if the type of *op* is :c:data:`PyCallIter_Type`. This function " +"always succeeds." msgstr "Retorna verdadero si el tipo de *op* es :c:data:`PyCallIter_Type`." -#: ../Doc/c-api/iterator.rst:47 +#: ../Doc/c-api/iterator.rst:49 msgid "" "Return a new iterator. The first parameter, *callable*, can be any Python " "callable object that can be called with no parameters; each call to it " diff --git a/c-api/list.po b/c-api/list.po index 569083d05d..8b0e8aa0da 100644 --- a/c-api/list.po +++ b/c-api/list.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-10 23:47+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" "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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/c-api/list.rst:6 msgid "List Objects" @@ -40,17 +39,19 @@ msgstr "" "Python. Este es el mismo objeto que :class:`list` en la capa de Python." #: ../Doc/c-api/list.rst:24 +#, fuzzy msgid "" "Return true if *p* is a list object or an instance of a subtype of the list " -"type." +"type. This function always succeeds." msgstr "" "Retorna verdadero si *p* es un objeto de lista o una instancia de un subtipo " "del tipo lista." #: ../Doc/c-api/list.rst:30 +#, fuzzy msgid "" "Return true if *p* is a list object, but not an instance of a subtype of the " -"list type." +"list type. This function always succeeds." msgstr "" "Retorna verdadero si *p* es un objeto lista, pero no una instancia de un " "subtipo del tipo lista." @@ -210,6 +211,6 @@ msgstr "" "Retorna un nuevo objeto tupla que contiene el contenido de *list*; " "equivalente a ``tuple(list)``." -#: ../Doc/c-api/list.rst:149 -msgid "Clear the free list. Return the total number of freed items." -msgstr "Limpia la lista libre. Retorna el número total de elementos liberados." +#~ msgid "Clear the free list. Return the total number of freed items." +#~ msgstr "" +#~ "Limpia la lista libre. Retorna el número total de elementos liberados." diff --git a/c-api/long.po b/c-api/long.po index eb024adda3..8d9a232176 100644 --- a/c-api/long.po +++ b/c-api/long.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-21 22:18+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" "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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/c-api/long.rst:6 msgid "Integer Objects" @@ -57,17 +56,19 @@ msgstr "" "Python. Este es el mismo objeto que :class:`int` en la capa de Python." #: ../Doc/c-api/long.rst:29 +#, fuzzy msgid "" "Return true if its argument is a :c:type:`PyLongObject` or a subtype of :c:" -"type:`PyLongObject`." +"type:`PyLongObject`. This function always succeeds." msgstr "" "Retorna verdadero si su argumento es un :c:type:`PyLongObject` o un subtipo " "de :c:type:`PyLongObject`." #: ../Doc/c-api/long.rst:35 +#, fuzzy msgid "" "Return true if its argument is a :c:type:`PyLongObject`, but not a subtype " -"of :c:type:`PyLongObject`." +"of :c:type:`PyLongObject`. This function always succeeds." msgstr "" "Retorna verdadero si su argumento es un :c:type:`PyLongObject`, pero no un " "subtipo de :c:type:`PyLongObject`." @@ -80,12 +81,11 @@ msgstr "" "de error." #: ../Doc/c-api/long.rst:43 +#, fuzzy msgid "" "The current implementation keeps an array of integer objects for all " "integers between ``-5`` and ``256``, when you create an int in that range " -"you actually just get back a reference to the existing object. So it should " -"be possible to change the value of ``1``. I suspect the behaviour of Python " -"in this case is undefined. :-)" +"you actually just get back a reference to the existing object." msgstr "" "La implementación actual mantiene un arreglo de objetos enteros para todos " "los enteros entre ``-5`` y ``256``, cuando crea un *int* en ese rango, en " @@ -93,7 +93,7 @@ msgstr "" "debería ser posible cambiar el valor de ``1``. Sospecho que el " "comportamiento de Python en este caso no está definido. :-)" -#: ../Doc/c-api/long.rst:52 +#: ../Doc/c-api/long.rst:50 msgid "" "Return a new :c:type:`PyLongObject` object from a C :c:type:`unsigned long`, " "or ``NULL`` on failure." @@ -101,7 +101,7 @@ msgstr "" "Retorna un objeto :c:type:`PyLongObject` nuevo desde un C :c:type:`unsigned " "long`, o ``NULL`` en caso de error." -#: ../Doc/c-api/long.rst:58 +#: ../Doc/c-api/long.rst:56 msgid "" "Return a new :c:type:`PyLongObject` object from a C :c:type:`Py_ssize_t`, or " "``NULL`` on failure." @@ -109,7 +109,7 @@ msgstr "" "Retorna un objeto :c:type:`PyLongObject` nuevo desde un C :c:type:" "`Py_ssize_t`, o ``NULL`` en caso de error." -#: ../Doc/c-api/long.rst:64 +#: ../Doc/c-api/long.rst:62 msgid "" "Return a new :c:type:`PyLongObject` object from a C :c:type:`size_t`, or " "``NULL`` on failure." @@ -117,7 +117,7 @@ msgstr "" "Retorna un objeto :c:type:`PyLongObject` nuevo desde un C :c:type:`size_t`, " "o ``NULL`` en caso de error." -#: ../Doc/c-api/long.rst:70 +#: ../Doc/c-api/long.rst:68 msgid "" "Return a new :c:type:`PyLongObject` object from a C :c:type:`long long`, or " "``NULL`` on failure." @@ -125,7 +125,7 @@ msgstr "" "Retorna un objeto :c:type:`PyLongObject` nuevo desde un C :c:type:`long " "long`, o ``NULL`` en caso de error." -#: ../Doc/c-api/long.rst:76 +#: ../Doc/c-api/long.rst:74 msgid "" "Return a new :c:type:`PyLongObject` object from a C :c:type:`unsigned long " "long`, or ``NULL`` on failure." @@ -133,7 +133,7 @@ msgstr "" "Retorna un objeto :c:type:`PyLongObject` nuevo desde un C :c:type:`unsigned " "long long`, o ``NULL`` en caso de error." -#: ../Doc/c-api/long.rst:82 +#: ../Doc/c-api/long.rst:80 msgid "" "Return a new :c:type:`PyLongObject` object from the integer part of *v*, or " "``NULL`` on failure." @@ -141,7 +141,7 @@ msgstr "" "Retorna un nuevo objeto :c:type:`PyLongObject` de la parte entera de *v*, o " "``NULL`` en caso de error." -#: ../Doc/c-api/long.rst:88 +#: ../Doc/c-api/long.rst:86 msgid "" "Return a new :c:type:`PyLongObject` based on the string value in *str*, " "which is interpreted according to the radix in *base*. If *pend* is non-" @@ -164,19 +164,11 @@ msgstr "" "individuales después de un especificador base y entre dígitos. Si no hay " "dígitos, se lanzará :exc:`ValueError`." -#: ../Doc/c-api/long.rst:101 -msgid "" -"Convert a sequence of Unicode digits to a Python integer value. The Unicode " -"string is first encoded to a byte string using :c:func:" -"`PyUnicode_EncodeDecimal` and then converted using :c:func:" -"`PyLong_FromString`." +#: ../Doc/c-api/long.rst:99 +msgid "Convert a sequence of Unicode digits to a Python integer value." msgstr "" -"Convierte una secuencia de dígitos Unicode en un valor entero de Python. La " -"cadena de caracteres Unicode se codifica primero en una cadena de bytes " -"usando :c:func:`PyUnicode_EncodeDecimal` y luego se convierte usando :c:func:" -"`PyLong_FromString`." -#: ../Doc/c-api/long.rst:107 +#: ../Doc/c-api/long.rst:103 msgid "" "Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using :c:" "func:`PyLong_FromUnicodeObject`." @@ -184,19 +176,13 @@ msgstr "" "Parte de la API de viejo estilo :c:type:`Py_UNICODE`; por favor migrar para " "usar :c:func:`PyLong_FromUnicodeObject`." -#: ../Doc/c-api/long.rst:112 +#: ../Doc/c-api/long.rst:108 msgid "" "Convert a sequence of Unicode digits in the string *u* to a Python integer " -"value. The Unicode string is first encoded to a byte string using :c:func:" -"`PyUnicode_EncodeDecimal` and then converted using :c:func:" -"`PyLong_FromString`." +"value." msgstr "" -"Convierte una secuencia de dígitos Unicode en la cadena de caracteres *u* a " -"un valor entero de Python. La cadena de caracteres Unicode se codifica " -"primero en una cadena de bytes usando :c:func:`PyUnicode_EncodeDecimal` y " -"luego se convierte usando :c:func:`PyLong_FromString`." -#: ../Doc/c-api/long.rst:122 +#: ../Doc/c-api/long.rst:116 msgid "" "Create a Python integer from the pointer *p*. The pointer value can be " "retrieved from the resulting value using :c:func:`PyLong_AsVoidPtr`." @@ -204,7 +190,7 @@ msgstr "" "Crea un entero de Python desde el puntero *p*. El valor del puntero se puede " "recuperar del valor resultante usando :c:func:`PyLong_AsVoidPtr`." -#: ../Doc/c-api/long.rst:133 ../Doc/c-api/long.rst:152 +#: ../Doc/c-api/long.rst:127 ../Doc/c-api/long.rst:146 msgid "" "Return a C :c:type:`long` representation of *obj*. If *obj* is not an " "instance of :c:type:`PyLongObject`, first call its :meth:`__index__` or :" @@ -215,7 +201,7 @@ msgstr "" "`__index__` o :meth:`__int__` (si está presente) para convertirlo en un :c:" "type:`PyLongObject`." -#: ../Doc/c-api/long.rst:138 +#: ../Doc/c-api/long.rst:132 msgid "" "Raise :exc:`OverflowError` if the value of *obj* is out of range for a :c:" "type:`long`." @@ -223,27 +209,27 @@ msgstr "" "Lanza :exc:`OverflowError` si el valor de *obj* está fuera de rango para un :" "c:type:`long`." -#: ../Doc/c-api/long.rst:141 ../Doc/c-api/long.rst:162 -#: ../Doc/c-api/long.rst:184 ../Doc/c-api/long.rst:205 -#: ../Doc/c-api/long.rst:228 +#: ../Doc/c-api/long.rst:135 ../Doc/c-api/long.rst:156 +#: ../Doc/c-api/long.rst:178 ../Doc/c-api/long.rst:199 +#: ../Doc/c-api/long.rst:222 msgid "Returns ``-1`` on error. Use :c:func:`PyErr_Occurred` to disambiguate." msgstr "" "Retorna ``-1`` en caso de error. Use :c:func:`PyErr_Occurred` para " "desambiguar." -#: ../Doc/c-api/long.rst:143 ../Doc/c-api/long.rst:164 -#: ../Doc/c-api/long.rst:186 ../Doc/c-api/long.rst:209 -#: ../Doc/c-api/long.rst:294 ../Doc/c-api/long.rst:314 +#: ../Doc/c-api/long.rst:137 ../Doc/c-api/long.rst:158 +#: ../Doc/c-api/long.rst:180 ../Doc/c-api/long.rst:203 +#: ../Doc/c-api/long.rst:288 ../Doc/c-api/long.rst:308 msgid "Use :meth:`__index__` if available." msgstr "Use :meth:`__index__` si está disponible." -#: ../Doc/c-api/long.rst:146 ../Doc/c-api/long.rst:167 -#: ../Doc/c-api/long.rst:189 ../Doc/c-api/long.rst:212 -#: ../Doc/c-api/long.rst:297 ../Doc/c-api/long.rst:317 +#: ../Doc/c-api/long.rst:140 ../Doc/c-api/long.rst:161 +#: ../Doc/c-api/long.rst:183 ../Doc/c-api/long.rst:206 +#: ../Doc/c-api/long.rst:291 ../Doc/c-api/long.rst:311 msgid "Using :meth:`__int__` is deprecated." msgstr "Usar :meth:`__int__` está deprecado." -#: ../Doc/c-api/long.rst:157 +#: ../Doc/c-api/long.rst:151 msgid "" "If the value of *obj* is greater than :const:`LONG_MAX` or less than :const:" "`LONG_MIN`, set *\\*overflow* to ``1`` or ``-1``, respectively, and return " @@ -256,7 +242,7 @@ msgstr "" "produce alguna otra excepción, configura *\\*overflow* en ``0`` y retorna " "``-1`` como de costumbre." -#: ../Doc/c-api/long.rst:176 ../Doc/c-api/long.rst:195 +#: ../Doc/c-api/long.rst:170 ../Doc/c-api/long.rst:189 msgid "" "Return a C :c:type:`long long` representation of *obj*. If *obj* is not an " "instance of :c:type:`PyLongObject`, first call its :meth:`__index__` or :" @@ -267,7 +253,7 @@ msgstr "" "`__index__` o :meth:`__int__` (si está presente) para convertirlo en un :c:" "type:`PyLongObject`." -#: ../Doc/c-api/long.rst:181 +#: ../Doc/c-api/long.rst:175 msgid "" "Raise :exc:`OverflowError` if the value of *obj* is out of range for a :c:" "type:`long long`." @@ -275,20 +261,21 @@ msgstr "" "Lanza :exc:`OverflowError` si el valor de *obj* está fuera de rango para un :" "c:type:`long long`." -#: ../Doc/c-api/long.rst:200 +#: ../Doc/c-api/long.rst:194 +#, fuzzy msgid "" -"If the value of *obj* is greater than :const:`PY_LLONG_MAX` or less than :" -"const:`PY_LLONG_MIN`, set *\\*overflow* to ``1`` or ``-1``, respectively, " -"and return ``-1``; otherwise, set *\\*overflow* to ``0``. If any other " -"exception occurs set *\\*overflow* to ``0`` and return ``-1`` as usual." +"If the value of *obj* is greater than :const:`LLONG_MAX` or less than :const:" +"`LLONG_MIN`, set *\\*overflow* to ``1`` or ``-1``, respectively, and return " +"``-1``; otherwise, set *\\*overflow* to ``0``. If any other exception " +"occurs set *\\*overflow* to ``0`` and return ``-1`` as usual." msgstr "" -"Si el valor de *obj* es mayor que :const:`PY_LLONG_MAX` o menor que :const:" -"`PY_LLONG_MIN`, establece *\\*overflow* en ``1`` o ``-1``, respectivamente, " -"y retorna ``-1``; de lo contrario, establece *\\*overflow* en ``0``. Si se " +"Si el valor de *obj* es mayor que :const:`LONG_MAX` o menor que :const:" +"`LONG_MIN`, establece *\\*overflow * en ``1`` o ``-1``, respectivamente, y " +"retorna ``-1``; de lo contrario, establece *\\*overflow* en ``0``. Si se " "produce alguna otra excepción, configura *\\*overflow* en ``0`` y retorna " "``-1`` como de costumbre." -#: ../Doc/c-api/long.rst:222 +#: ../Doc/c-api/long.rst:216 msgid "" "Return a C :c:type:`Py_ssize_t` representation of *pylong*. *pylong* must " "be an instance of :c:type:`PyLongObject`." @@ -296,7 +283,7 @@ msgstr "" "Retorna una representación de C :c:type:`Py_ssize_t` de *pylong*. *pylong* " "debe ser una instancia de :c:type:`PyLongObject`." -#: ../Doc/c-api/long.rst:225 +#: ../Doc/c-api/long.rst:219 msgid "" "Raise :exc:`OverflowError` if the value of *pylong* is out of range for a :c:" "type:`Py_ssize_t`." @@ -304,7 +291,7 @@ msgstr "" "Lanza :exc:`OverflowError` si el valor de *pylong* está fuera de rango para " "un :c:type:`Py_ssize_t`." -#: ../Doc/c-api/long.rst:237 +#: ../Doc/c-api/long.rst:231 msgid "" "Return a C :c:type:`unsigned long` representation of *pylong*. *pylong* " "must be an instance of :c:type:`PyLongObject`." @@ -312,7 +299,7 @@ msgstr "" "Retorna una representación de C :c:type:`unsigned long` de *pylong*. " "*pylong* debe ser una instancia de :c:type:`PyLongObject`." -#: ../Doc/c-api/long.rst:240 +#: ../Doc/c-api/long.rst:234 msgid "" "Raise :exc:`OverflowError` if the value of *pylong* is out of range for a :c:" "type:`unsigned long`." @@ -320,7 +307,7 @@ msgstr "" "Lanza :exc:`OverflowError` si el valor de *pylong* está fuera de rango para " "un :c:type:`unsigned long`." -#: ../Doc/c-api/long.rst:243 +#: ../Doc/c-api/long.rst:237 msgid "" "Returns ``(unsigned long)-1`` on error. Use :c:func:`PyErr_Occurred` to " "disambiguate." @@ -328,7 +315,7 @@ msgstr "" "Retorna ``(unsigned long)-1`` en caso de error. Use :c:func:`PyErr_Occurred` " "para desambiguar." -#: ../Doc/c-api/long.rst:253 +#: ../Doc/c-api/long.rst:247 msgid "" "Return a C :c:type:`size_t` representation of *pylong*. *pylong* must be an " "instance of :c:type:`PyLongObject`." @@ -336,7 +323,7 @@ msgstr "" "Retorna una representación de C :c:type:`size_t` de *pylong*. *pylong* debe " "ser una instancia de :c:type:`PyLongObject`." -#: ../Doc/c-api/long.rst:256 +#: ../Doc/c-api/long.rst:250 msgid "" "Raise :exc:`OverflowError` if the value of *pylong* is out of range for a :c:" "type:`size_t`." @@ -344,7 +331,7 @@ msgstr "" "Lanza :exc:`OverflowError` si el valor de *pylong* está fuera de rango para " "un :c:type:`size_t`." -#: ../Doc/c-api/long.rst:259 +#: ../Doc/c-api/long.rst:253 msgid "" "Returns ``(size_t)-1`` on error. Use :c:func:`PyErr_Occurred` to " "disambiguate." @@ -352,7 +339,7 @@ msgstr "" "Retorna ``(size_t) -1`` en caso de error. Use :c:func:`PyErr_Occurred` para " "desambiguar." -#: ../Doc/c-api/long.rst:268 +#: ../Doc/c-api/long.rst:262 msgid "" "Return a C :c:type:`unsigned long long` representation of *pylong*. " "*pylong* must be an instance of :c:type:`PyLongObject`." @@ -360,7 +347,7 @@ msgstr "" "Retorna una representación de C :c:type:`unsigned long long` de *pylong*. " "*pylong* debe ser una instancia de :c:type:`PyLongObject`." -#: ../Doc/c-api/long.rst:271 +#: ../Doc/c-api/long.rst:265 msgid "" "Raise :exc:`OverflowError` if the value of *pylong* is out of range for an :" "c:type:`unsigned long long`." @@ -368,7 +355,7 @@ msgstr "" "Lanza :exc:`OverflowError` si el valor de *pylong* está fuera de rango para " "un :c:type:`unsigned long long`." -#: ../Doc/c-api/long.rst:274 +#: ../Doc/c-api/long.rst:268 msgid "" "Returns ``(unsigned long long)-1`` on error. Use :c:func:`PyErr_Occurred` to " "disambiguate." @@ -376,14 +363,14 @@ msgstr "" "Retorna ``(unsigned long long) -1`` en caso de error. Use :c:func:" "`PyErr_Occurred` para desambiguar." -#: ../Doc/c-api/long.rst:277 +#: ../Doc/c-api/long.rst:271 msgid "" "A negative *pylong* now raises :exc:`OverflowError`, not :exc:`TypeError`." msgstr "" "Ahora un *pylong* negativo lanza un :exc:`OverflowError`, no :exc:" "`TypeError`." -#: ../Doc/c-api/long.rst:283 +#: ../Doc/c-api/long.rst:277 msgid "" "Return a C :c:type:`unsigned long` representation of *obj*. If *obj* is not " "an instance of :c:type:`PyLongObject`, first call its :meth:`__index__` or :" @@ -394,7 +381,7 @@ msgstr "" "meth:`__index__` o :meth:`__int__` (si está presente) para convertirlo en " "un :c:type:`PyLongObject`." -#: ../Doc/c-api/long.rst:288 +#: ../Doc/c-api/long.rst:282 msgid "" "If the value of *obj* is out of range for an :c:type:`unsigned long`, return " "the reduction of that value modulo ``ULONG_MAX + 1``." @@ -402,7 +389,7 @@ msgstr "" "Si el valor de *obj* está fuera del rango para :c:type:`unsigned long`, " "retorna la reducción de ese valor módulo ``ULONG_MAX + 1``." -#: ../Doc/c-api/long.rst:291 +#: ../Doc/c-api/long.rst:285 msgid "" "Returns ``(unsigned long)-1`` on error. Use :c:func:`PyErr_Occurred` to " "disambiguate." @@ -410,7 +397,7 @@ msgstr "" "Retorna ``(unsigned long)-1`` en caso de error. Use :c:func:`PyErr_Occurred` " "para desambiguar." -#: ../Doc/c-api/long.rst:303 +#: ../Doc/c-api/long.rst:297 msgid "" "Return a C :c:type:`unsigned long long` representation of *obj*. If *obj* " "is not an instance of :c:type:`PyLongObject`, first call its :meth:" @@ -422,15 +409,16 @@ msgstr "" "método :meth:`__index__` o :meth:`__int__` (si está presente) para " "convertirlo en un :c:type:`PyLongObject`." -#: ../Doc/c-api/long.rst:308 +#: ../Doc/c-api/long.rst:302 +#, fuzzy msgid "" "If the value of *obj* is out of range for an :c:type:`unsigned long long`, " -"return the reduction of that value modulo ``PY_ULLONG_MAX + 1``." +"return the reduction of that value modulo ``ULLONG_MAX + 1``." msgstr "" "Si el valor de *obj* está fuera del rango para :c:type:`unsigned long long`, " "retorna la reducción de ese valor módulo ``PY_ULLONG_MAX + 1``." -#: ../Doc/c-api/long.rst:311 +#: ../Doc/c-api/long.rst:305 msgid "" "Returns ``(unsigned long long)-1`` on error. Use :c:func:`PyErr_Occurred` " "to disambiguate." @@ -438,7 +426,7 @@ msgstr "" "Retorna ``(unsigned long long) -1`` por error. Use :c:func:`PyErr_Occurred` " "para desambiguar." -#: ../Doc/c-api/long.rst:323 +#: ../Doc/c-api/long.rst:317 msgid "" "Return a C :c:type:`double` representation of *pylong*. *pylong* must be an " "instance of :c:type:`PyLongObject`." @@ -446,7 +434,7 @@ msgstr "" "Retorna una representación de C :c:type:`double` de *pylong*. *pylong* debe " "ser una instancia de :c:type:`PyLongObject`." -#: ../Doc/c-api/long.rst:326 +#: ../Doc/c-api/long.rst:320 msgid "" "Raise :exc:`OverflowError` if the value of *pylong* is out of range for a :c:" "type:`double`." @@ -454,14 +442,14 @@ msgstr "" "Lanza :exc:`OverflowError` si el valor de *pylong* está fuera de rango para " "un :c:type:`double`." -#: ../Doc/c-api/long.rst:329 +#: ../Doc/c-api/long.rst:323 msgid "" "Returns ``-1.0`` on error. Use :c:func:`PyErr_Occurred` to disambiguate." msgstr "" "Retorna ``-1.0`` en caso de error. Use :c:func:`PyErr_Occurred` para " "desambiguar." -#: ../Doc/c-api/long.rst:334 +#: ../Doc/c-api/long.rst:328 msgid "" "Convert a Python integer *pylong* to a C :c:type:`void` pointer. If *pylong* " "cannot be converted, an :exc:`OverflowError` will be raised. This is only " @@ -473,9 +461,43 @@ msgstr "" "solo se garantiza para producir un puntero utilizable :c:type:`void` para " "valores creados con :c:func:`PyLong_FromVoidPtr`." -#: ../Doc/c-api/long.rst:339 +#: ../Doc/c-api/long.rst:333 msgid "" "Returns ``NULL`` on error. Use :c:func:`PyErr_Occurred` to disambiguate." msgstr "" "Retorna ``NULL`` en caso de error. Use :c:func:`PyErr_Occurred` para " "desambiguar." + +#~ msgid "" +#~ "Convert a sequence of Unicode digits to a Python integer value. The " +#~ "Unicode string is first encoded to a byte string using :c:func:" +#~ "`PyUnicode_EncodeDecimal` and then converted using :c:func:" +#~ "`PyLong_FromString`." +#~ msgstr "" +#~ "Convierte una secuencia de dígitos Unicode en un valor entero de Python. " +#~ "La cadena de caracteres Unicode se codifica primero en una cadena de " +#~ "bytes usando :c:func:`PyUnicode_EncodeDecimal` y luego se convierte " +#~ "usando :c:func:`PyLong_FromString`." + +#~ msgid "" +#~ "Convert a sequence of Unicode digits in the string *u* to a Python " +#~ "integer value. The Unicode string is first encoded to a byte string " +#~ "using :c:func:`PyUnicode_EncodeDecimal` and then converted using :c:func:" +#~ "`PyLong_FromString`." +#~ msgstr "" +#~ "Convierte una secuencia de dígitos Unicode en la cadena de caracteres *u* " +#~ "a un valor entero de Python. La cadena de caracteres Unicode se codifica " +#~ "primero en una cadena de bytes usando :c:func:`PyUnicode_EncodeDecimal` y " +#~ "luego se convierte usando :c:func:`PyLong_FromString`." + +#~ msgid "" +#~ "If the value of *obj* is greater than :const:`PY_LLONG_MAX` or less than :" +#~ "const:`PY_LLONG_MIN`, set *\\*overflow* to ``1`` or ``-1``, respectively, " +#~ "and return ``-1``; otherwise, set *\\*overflow* to ``0``. If any other " +#~ "exception occurs set *\\*overflow* to ``0`` and return ``-1`` as usual." +#~ msgstr "" +#~ "Si el valor de *obj* es mayor que :const:`PY_LLONG_MAX` o menor que :" +#~ "const:`PY_LLONG_MIN`, establece *\\*overflow* en ``1`` o ``-1``, " +#~ "respectivamente, y retorna ``-1``; de lo contrario, establece *" +#~ "\\*overflow* en ``0``. Si se produce alguna otra excepción, configura *" +#~ "\\*overflow* en ``0`` y retorna ``-1`` como de costumbre." diff --git a/c-api/marshal.po b/c-api/marshal.po index e60b179768..437de6aac4 100644 --- a/c-api/marshal.po +++ b/c-api/marshal.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-10 15:52+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" "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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/c-api/marshal.rst:6 msgid "Data marshalling support" @@ -92,8 +91,9 @@ msgstr "" "(*marshalled*)." #: ../Doc/c-api/marshal.rst:46 +#, fuzzy msgid "" -"Return a C :c:type:`long` from the data stream in a :c:type:`FILE\\*` opened " +"Return a C :c:type:`long` from the data stream in a :c:type:`FILE*` opened " "for reading. Only a 32-bit value can be read in using this function, " "regardless of the native size of :c:type:`long`." msgstr "" @@ -110,9 +110,10 @@ msgstr "" "retorna ``-1``." #: ../Doc/c-api/marshal.rst:56 +#, fuzzy msgid "" -"Return a C :c:type:`short` from the data stream in a :c:type:`FILE\\*` " -"opened for reading. Only a 16-bit value can be read in using this function, " +"Return a C :c:type:`short` from the data stream in a :c:type:`FILE*` opened " +"for reading. Only a 16-bit value can be read in using this function, " "regardless of the native size of :c:type:`short`." msgstr "" "Retorna un C :c:type:`short` desde el flujo de datos en un :c:type:`FILE\\*` " @@ -120,9 +121,10 @@ msgstr "" "función, independientemente del tamaño nativo de :c:type:`short`." #: ../Doc/c-api/marshal.rst:66 +#, fuzzy msgid "" -"Return a Python object from the data stream in a :c:type:`FILE\\*` opened " -"for reading." +"Return a Python object from the data stream in a :c:type:`FILE*` opened for " +"reading." msgstr "" "Retorna un objeto Python del flujo de datos en un :c:type:`FILE\\*` abierto " "para lectura." @@ -137,9 +139,10 @@ msgstr "" "`ValueError` o :exc:`TypeError`) y retorna ``NULL``." #: ../Doc/c-api/marshal.rst:75 +#, fuzzy msgid "" -"Return a Python object from the data stream in a :c:type:`FILE\\*` opened " -"for reading. Unlike :c:func:`PyMarshal_ReadObjectFromFile`, this function " +"Return a Python object from the data stream in a :c:type:`FILE*` opened for " +"reading. Unlike :c:func:`PyMarshal_ReadObjectFromFile`, this function " "assumes that no further objects will be read from the file, allowing it to " "aggressively load file data into memory so that the de-serialization can " "operate from data in memory rather than reading a byte at a time from the " diff --git a/c-api/memory.po b/c-api/memory.po index 431d4da8b3..a2a6e670d3 100644 --- a/c-api/memory.po +++ b/c-api/memory.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-06-21 21:14+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" "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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/c-api/memory.rst:8 msgid "Memory Management" @@ -200,8 +199,9 @@ msgstr "" #: ../Doc/c-api/memory.rst:112 ../Doc/c-api/memory.rst:183 #: ../Doc/c-api/memory.rst:285 +#, fuzzy msgid "" -"Allocates *n* bytes and returns a pointer of type :c:type:`void\\*` to the " +"Allocates *n* bytes and returns a pointer of type :c:type:`void*` to the " "allocated memory, or ``NULL`` if the request fails." msgstr "" "Asigna *n* bytes y retorna un puntero de tipo :c:type:`void\\*` a la memoria " @@ -219,9 +219,10 @@ msgstr "" #: ../Doc/c-api/memory.rst:122 ../Doc/c-api/memory.rst:193 #: ../Doc/c-api/memory.rst:295 +#, fuzzy msgid "" "Allocates *nelem* elements each whose size in bytes is *elsize* and returns " -"a pointer of type :c:type:`void\\*` to the allocated memory, or ``NULL`` if " +"a pointer of type :c:type:`void*` to the allocated memory, or ``NULL`` if " "the request fails. The memory is initialized to zeros." msgstr "" "Asigna *nelem* elementos cada uno cuyo tamaño en bytes es *elsize* y retorna " @@ -398,19 +399,21 @@ msgstr "" "Tenga en cuenta que *TYPE* se refiere a cualquier tipo de C." #: ../Doc/c-api/memory.rst:235 +#, fuzzy msgid "" "Same as :c:func:`PyMem_Malloc`, but allocates ``(n * sizeof(TYPE))`` bytes " -"of memory. Returns a pointer cast to :c:type:`TYPE\\*`. The memory will " -"not have been initialized in any way." +"of memory. Returns a pointer cast to :c:type:`TYPE*`. The memory will not " +"have been initialized in any way." msgstr "" "Igual que :c:func:`PyMem_Malloc`, pero asigna ``(n * sizeof(TYPE))`` bytes " "de memoria. retorna una conversión de puntero a :c:type:`TYPE\\*`. La " "memoria no se habrá inicializado de ninguna manera." #: ../Doc/c-api/memory.rst:242 +#, fuzzy msgid "" "Same as :c:func:`PyMem_Realloc`, but the memory block is resized to ``(n * " -"sizeof(TYPE))`` bytes. Returns a pointer cast to :c:type:`TYPE\\*`. On " +"sizeof(TYPE))`` bytes. Returns a pointer cast to :c:type:`TYPE*`. On " "return, *p* will be a pointer to the new memory area, or ``NULL`` in the " "event of failure." msgstr "" @@ -970,8 +973,9 @@ msgid "allocate an arena of size bytes" msgstr "asignar una arena de bytes de tamaño" #: ../Doc/c-api/memory.rst:519 -msgid "``void free(void *ctx, size_t size, void *ptr)``" -msgstr "``void free(void *ctx, size_t size, void *ptr)``" +#, fuzzy +msgid "``void free(void *ctx, void *ptr, size_t size)``" +msgstr "``void* realloc(void *ctx, void *ptr, size_t new_size)``" #: ../Doc/c-api/memory.rst:519 msgid "free an arena" @@ -1074,3 +1078,6 @@ msgid "" msgstr "" "Esto se explicará en el próximo capítulo sobre cómo definir e implementar " "nuevos tipos de objetos en C." + +#~ msgid "``void free(void *ctx, size_t size, void *ptr)``" +#~ msgstr "``void free(void *ctx, size_t size, void *ptr)``" diff --git a/c-api/memoryview.po b/c-api/memoryview.po index 1d8e03a4bc..997173f787 100644 --- a/c-api/memoryview.po +++ b/c-api/memoryview.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-10 00:37+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" "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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/c-api/memoryview.rst:9 msgid "MemoryView objects" @@ -82,15 +81,17 @@ msgstr "" "realiza una copia y la vista de memoria apunta a un nuevo objeto de bytes." #: ../Doc/c-api/memoryview.rst:47 +#, fuzzy msgid "" "Return true if the object *obj* is a memoryview object. It is not currently " -"allowed to create subclasses of :class:`memoryview`." +"allowed to create subclasses of :class:`memoryview`. This function always " +"succeeds." msgstr "" "Retorna verdadero si el objeto *obj* es un objeto de vista de memoria. " "Actualmente no está permitido crear subclases de :class:`memoryview`." # crashes -> bloquearse -#: ../Doc/c-api/memoryview.rst:53 +#: ../Doc/c-api/memoryview.rst:54 #, fuzzy msgid "" "Return a pointer to the memoryview's private copy of the exporter's buffer. " @@ -102,7 +103,7 @@ msgstr "" "no verifica su tipo, debe hacerlo usted mismo o correrá el riesgo de " "bloquearse." -#: ../Doc/c-api/memoryview.rst:59 +#: ../Doc/c-api/memoryview.rst:60 msgid "" "Return either a pointer to the exporting object that the memoryview is based " "on or ``NULL`` if the memoryview has been created by one of the functions :c:" diff --git a/c-api/method.po b/c-api/method.po index fd1de95b9c..96ab68955f 100644 --- a/c-api/method.po +++ b/c-api/method.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-10 02:17+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" "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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/c-api/method.rst:6 msgid "Instance Method Objects" @@ -45,14 +44,16 @@ msgstr "" "instancia de Python. No está expuesto a los programas de Python." #: ../Doc/c-api/method.rst:23 +#, fuzzy msgid "" "Return true if *o* is an instance method object (has type :c:data:" -"`PyInstanceMethod_Type`). The parameter must not be ``NULL``." +"`PyInstanceMethod_Type`). The parameter must not be ``NULL``. This function " +"always succeeds." msgstr "" "Retorna verdadero si *o* es un objeto de método de instancia (tiene tipo :c:" "data:`PyInstanceMethod_Type`). El parámetro no debe ser ``NULL``." -#: ../Doc/c-api/method.rst:29 +#: ../Doc/c-api/method.rst:30 msgid "" "Return a new instance method object, with *func* being any callable object " "*func* is the function that will be called when the instance method is " @@ -62,11 +63,11 @@ msgstr "" "objeto invocable *func* es la función que se llamará cuando se llame al " "método de instancia." -#: ../Doc/c-api/method.rst:36 +#: ../Doc/c-api/method.rst:37 msgid "Return the function object associated with the instance method *im*." msgstr "Retorna el objeto de función asociado con el método de instancia *im*." -#: ../Doc/c-api/method.rst:41 +#: ../Doc/c-api/method.rst:42 msgid "" "Macro version of :c:func:`PyInstanceMethod_Function` which avoids error " "checking." @@ -74,11 +75,11 @@ msgstr "" "Versión macro de :c:func:`PyInstanceMethod_Function` que evita la " "comprobación de errores." -#: ../Doc/c-api/method.rst:47 +#: ../Doc/c-api/method.rst:48 msgid "Method Objects" msgstr "Objetos método" -#: ../Doc/c-api/method.rst:51 +#: ../Doc/c-api/method.rst:52 msgid "" "Methods are bound function objects. Methods are always bound to an instance " "of a user-defined class. Unbound methods (methods bound to a class object) " @@ -89,7 +90,7 @@ msgstr "" "no vinculados (métodos vinculados a un objeto de clase) ya no están " "disponibles." -#: ../Doc/c-api/method.rst:60 +#: ../Doc/c-api/method.rst:61 msgid "" "This instance of :c:type:`PyTypeObject` represents the Python method type. " "This is exposed to Python programs as ``types.MethodType``." @@ -98,15 +99,16 @@ msgstr "" "Python. Esto está expuesto a los programas de Python como ``types." "MethodType``." -#: ../Doc/c-api/method.rst:66 +#: ../Doc/c-api/method.rst:67 +#, fuzzy msgid "" "Return true if *o* is a method object (has type :c:data:`PyMethod_Type`). " -"The parameter must not be ``NULL``." +"The parameter must not be ``NULL``. This function always succeeds." msgstr "" "Retorna verdadero si *o* es un objeto de método (tiene tipo :c:data:" "`PyMethod_Type`). El parámetro no debe ser ``NULL``." -#: ../Doc/c-api/method.rst:72 +#: ../Doc/c-api/method.rst:73 msgid "" "Return a new method object, with *func* being any callable object and *self* " "the instance the method should be bound. *func* is the function that will be " @@ -117,27 +119,27 @@ msgstr "" "es la función que se llamará cuando se llame al método. *self* no debe ser " "``NULL``." -#: ../Doc/c-api/method.rst:79 +#: ../Doc/c-api/method.rst:80 msgid "Return the function object associated with the method *meth*." msgstr "Retorna el objeto de función asociado con el método *meth*." -#: ../Doc/c-api/method.rst:84 +#: ../Doc/c-api/method.rst:85 msgid "" "Macro version of :c:func:`PyMethod_Function` which avoids error checking." msgstr "" "Versión macro de :c:func:`PyMethod_Function` que evita la comprobación de " "errores." -#: ../Doc/c-api/method.rst:89 +#: ../Doc/c-api/method.rst:90 msgid "Return the instance associated with the method *meth*." msgstr "Retorna la instancia asociada con el método *meth*." -#: ../Doc/c-api/method.rst:94 +#: ../Doc/c-api/method.rst:95 msgid "Macro version of :c:func:`PyMethod_Self` which avoids error checking." msgstr "" "Versión macro de :c:func:`PyMethod_Self` que evita la comprobación de " "errores." -#: ../Doc/c-api/method.rst:99 -msgid "Clear the free list. Return the total number of freed items." -msgstr "Borra la lista libre. Retorna el número total de artículos liberados." +#~ msgid "Clear the free list. Return the total number of freed items." +#~ msgstr "" +#~ "Borra la lista libre. Retorna el número total de artículos liberados." diff --git a/c-api/module.po b/c-api/module.po index f77980a726..4892818054 100644 --- a/c-api/module.po +++ b/c-api/module.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-06-08 00:01+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" "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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/c-api/module.rst:6 msgid "Module Objects" @@ -36,20 +35,24 @@ msgstr "" "ModuleType``." #: ../Doc/c-api/module.rst:21 -msgid "Return true if *p* is a module object, or a subtype of a module object." +#, fuzzy +msgid "" +"Return true if *p* is a module object, or a subtype of a module object. This " +"function always succeeds." msgstr "" "Retorna verdadero si *p* es un objeto de módulo o un subtipo de un objeto de " "módulo." -#: ../Doc/c-api/module.rst:26 +#: ../Doc/c-api/module.rst:27 +#, fuzzy msgid "" "Return true if *p* is a module object, but not a subtype of :c:data:" -"`PyModule_Type`." +"`PyModule_Type`. This function always succeeds." msgstr "" "Retorna verdadero si *p* es un objeto módulo, pero no un subtipo de :c:data:" "`PyModule_Type`." -#: ../Doc/c-api/module.rst:39 +#: ../Doc/c-api/module.rst:40 msgid "" "Return a new module object with the :attr:`__name__` attribute set to " "*name*. The module's :attr:`__name__`, :attr:`__doc__`, :attr:`__package__`, " @@ -63,12 +66,12 @@ msgstr "" "`__name__` están configurados en ``None``); quien llama es responsable de " "proporcionar un atributo :attr:`__file__`." -#: ../Doc/c-api/module.rst:47 +#: ../Doc/c-api/module.rst:48 msgid ":attr:`__package__` and :attr:`__loader__` are set to ``None``." msgstr "" ":attr:`__package__` y :attr:`__loader__` están configurados en ``None``." -#: ../Doc/c-api/module.rst:53 +#: ../Doc/c-api/module.rst:54 msgid "" "Similar to :c:func:`PyModule_NewObject`, but the name is a UTF-8 encoded " "string instead of a Unicode object." @@ -76,7 +79,7 @@ msgstr "" "Similar a :c:func:`PyModule_NewObject`, pero el nombre es una cadena de " "caracteres codificada UTF-8 en lugar de un objeto Unicode." -#: ../Doc/c-api/module.rst:61 +#: ../Doc/c-api/module.rst:62 msgid "" "Return the dictionary object that implements *module*'s namespace; this " "object is the same as the :attr:`~object.__dict__` attribute of the module " @@ -88,7 +91,7 @@ msgstr "" "del objeto módulo. Si *module* no es un objeto módulo (o un subtipo de un " "objeto de módulo), :exc:`SystemError` se genera y se retorna ``NULL``." -#: ../Doc/c-api/module.rst:66 +#: ../Doc/c-api/module.rst:67 msgid "" "It is recommended extensions use other :c:func:`PyModule_\\*` and :c:func:" "`PyObject_\\*` functions rather than directly manipulate a module's :attr:" @@ -98,7 +101,7 @@ msgstr "" "\\*` y :c:func:`PyObject_\\*` en lugar de manipular directamente el módulo :" "attr:`~object.__dict__`." -#: ../Doc/c-api/module.rst:77 +#: ../Doc/c-api/module.rst:78 msgid "" "Return *module*'s :attr:`__name__` value. If the module does not provide " "one, or if it is not a string, :exc:`SystemError` is raised and ``NULL`` is " @@ -108,7 +111,7 @@ msgstr "" "uno, o si no es una cadena de caracteres, :exc:`SystemError` se lanza y se " "retorna ``NULL``." -#: ../Doc/c-api/module.rst:85 +#: ../Doc/c-api/module.rst:86 msgid "" "Similar to :c:func:`PyModule_GetNameObject` but return the name encoded to " "``'utf-8'``." @@ -116,7 +119,7 @@ msgstr "" "Similar a :c:func:`PyModule_GetNameObject` pero retorna el nombre codificado " "a ``'utf-8'``." -#: ../Doc/c-api/module.rst:90 +#: ../Doc/c-api/module.rst:91 msgid "" "Return the \"state\" of the module, that is, a pointer to the block of " "memory allocated at module creation time, or ``NULL``. See :c:member:" @@ -126,7 +129,7 @@ msgstr "" "asignado en el momento de la creación del módulo, o ``NULL``. Ver :c:member:" "`PyModuleDef.m_size`." -#: ../Doc/c-api/module.rst:97 +#: ../Doc/c-api/module.rst:98 msgid "" "Return a pointer to the :c:type:`PyModuleDef` struct from which the module " "was created, or ``NULL`` if the module wasn't created from a definition." @@ -135,7 +138,7 @@ msgstr "" "se creó el módulo, o ``NULL`` si el módulo no se creó a partir de una " "definición." -#: ../Doc/c-api/module.rst:107 +#: ../Doc/c-api/module.rst:108 msgid "" "Return the name of the file from which *module* was loaded using *module*'s :" "attr:`__file__` attribute. If this is not defined, or if it is not a " @@ -147,7 +150,7 @@ msgstr "" "una cadena de caracteres unicode, lanza :exc:`SystemError` y retornar " "``NULL``; de lo contrario, retorna una referencia a un objeto Unicode." -#: ../Doc/c-api/module.rst:117 +#: ../Doc/c-api/module.rst:118 msgid "" "Similar to :c:func:`PyModule_GetFilenameObject` but return the filename " "encoded to 'utf-8'." @@ -155,7 +158,7 @@ msgstr "" "Similar a :c:func:`PyModule_GetFilenameObject` pero retorna el nombre de " "archivo codificado a 'utf-8'." -#: ../Doc/c-api/module.rst:120 +#: ../Doc/c-api/module.rst:121 msgid "" ":c:func:`PyModule_GetFilename` raises :c:type:`UnicodeEncodeError` on " "unencodable filenames, use :c:func:`PyModule_GetFilenameObject` instead." @@ -164,11 +167,11 @@ msgstr "" "de archivo no codificables, use :c:func:`PyModule_GetFilenameObject` en su " "lugar." -#: ../Doc/c-api/module.rst:128 +#: ../Doc/c-api/module.rst:129 msgid "Initializing C modules" msgstr "Inicializando módulos en C" -#: ../Doc/c-api/module.rst:130 +#: ../Doc/c-api/module.rst:131 msgid "" "Modules objects are usually created from extension modules (shared libraries " "which export an initialization function), or compiled-in modules (where the " @@ -181,7 +184,7 @@ msgstr "" "func:`PyImport_AppendInittab`). Consulte :ref:`building` o :ref:`extendiendo " "con incrustación ` para más detalles." -#: ../Doc/c-api/module.rst:135 +#: ../Doc/c-api/module.rst:136 msgid "" "The initialization function can either pass a module definition instance to :" "c:func:`PyModule_Create`, and return the resulting module object, or request " @@ -192,7 +195,7 @@ msgstr "" "o solicitar una \"inicialización de múltiples fases\" retornando la " "estructura de definición." -#: ../Doc/c-api/module.rst:141 +#: ../Doc/c-api/module.rst:142 msgid "" "The module definition struct, which holds all information needed to create a " "module object. There is usually only one statically initialized variable of " @@ -202,15 +205,15 @@ msgstr "" "necesaria para crear un objeto módulo. Por lo general, solo hay una variable " "estáticamente inicializada de este tipo para cada módulo." -#: ../Doc/c-api/module.rst:147 +#: ../Doc/c-api/module.rst:148 msgid "Always initialize this member to :const:`PyModuleDef_HEAD_INIT`." msgstr "Siempre inicialice este miembro a :const:`PyModuleDef_HEAD_INIT`." -#: ../Doc/c-api/module.rst:151 +#: ../Doc/c-api/module.rst:152 msgid "Name for the new module." msgstr "Nombre para el nuevo módulo." -#: ../Doc/c-api/module.rst:155 +#: ../Doc/c-api/module.rst:156 msgid "" "Docstring for the module; usually a docstring variable created with :c:macro:" "`PyDoc_STRVAR` is used." @@ -218,7 +221,7 @@ msgstr "" "Docstring para el módulo; por lo general, se usa una variable docstring " "creada con :c:macro:`PyDoc_STRVAR`." -#: ../Doc/c-api/module.rst:160 +#: ../Doc/c-api/module.rst:161 msgid "" "Module state may be kept in a per-module memory area that can be retrieved " "with :c:func:`PyModule_GetState`, rather than in static globals. This makes " @@ -229,7 +232,7 @@ msgstr "" "estáticos. Esto hace que los módulos sean seguros para su uso en múltiples " "sub-interpretadores." -#: ../Doc/c-api/module.rst:164 +#: ../Doc/c-api/module.rst:165 msgid "" "This memory area is allocated based on *m_size* on module creation, and " "freed when the module object is deallocated, after the :c:member:`m_free` " @@ -239,7 +242,7 @@ msgstr "" "y se libera cuando el objeto del módulo se desasigna, después de que se haya " "llamado a la función :c:member:`m_free`, si está presente." -#: ../Doc/c-api/module.rst:168 +#: ../Doc/c-api/module.rst:169 msgid "" "Setting ``m_size`` to ``-1`` means that the module does not support sub-" "interpreters, because it has global state." @@ -247,7 +250,7 @@ msgstr "" "Establecer ``m_size`` en ``-1`` significa que el módulo no admite sub-" "interpretadores, porque tiene un estado global." -#: ../Doc/c-api/module.rst:171 +#: ../Doc/c-api/module.rst:172 msgid "" "Setting it to a non-negative value means that the module can be re-" "initialized and specifies the additional amount of memory it requires for " @@ -259,11 +262,11 @@ msgstr "" "para su estado. Se requiere ``m_size`` no negativo para la inicialización de " "múltiples fases." -#: ../Doc/c-api/module.rst:176 +#: ../Doc/c-api/module.rst:177 msgid "See :PEP:`3121` for more details." msgstr "Ver :PEP:`3121` para más detalles." -#: ../Doc/c-api/module.rst:180 +#: ../Doc/c-api/module.rst:181 msgid "" "A pointer to a table of module-level functions, described by :c:type:" "`PyMethodDef` values. Can be ``NULL`` if no functions are present." @@ -272,7 +275,7 @@ msgstr "" "valores :c:type:`PyMethodDef`. Puede ser ``NULL`` si no hay funciones " "presentes." -#: ../Doc/c-api/module.rst:185 +#: ../Doc/c-api/module.rst:186 msgid "" "An array of slot definitions for multi-phase initialization, terminated by a " "``{0, NULL}`` entry. When using single-phase initialization, *m_slots* must " @@ -282,7 +285,7 @@ msgstr "" "fases, terminadas por una entrada ``{0, NULL}``. Cuando se utiliza la " "inicialización monofásica, *m_slots* debe ser ``NULL``." -#: ../Doc/c-api/module.rst:191 +#: ../Doc/c-api/module.rst:192 msgid "" "Prior to version 3.5, this member was always set to ``NULL``, and was " "defined as:" @@ -290,49 +293,45 @@ msgstr "" "Antes de la versión 3.5, este miembro siempre estaba configurado en ``NULL`` " "y se definía como:" -#: ../Doc/c-api/module.rst:198 +#: ../Doc/c-api/module.rst:199 msgid "" "A traversal function to call during GC traversal of the module object, or " -"``NULL`` if not needed. This function may be called before module state is " -"allocated (:c:func:`PyModule_GetState()` may return `NULL`), and before the :" -"c:member:`Py_mod_exec` function is executed." +"``NULL`` if not needed." msgstr "" -"Una función transversal para llamar durante el recorrido del GC del objeto " -"del módulo, o ``NULL`` si no es necesario. Se puede llamar a esta función " -"antes de asignar el estado del módulo (:c:func:`PyModule_GetState()` puede " -"retornar `NULL`), y antes de que se ejecute la función :c:member:" -"`Py_mod_exec`." -#: ../Doc/c-api/module.rst:205 +#: ../Doc/c-api/module.rst:202 ../Doc/c-api/module.rst:217 +#: ../Doc/c-api/module.rst:232 +msgid "" +"This function is not called if the module state was requested but is not " +"allocated yet. This is the case immediately after the module is created and " +"before the module is executed (:c:data:`Py_mod_exec` function). More " +"precisely, this function is not called if :c:member:`m_size` is greater than " +"0 and the module state (as returned by :c:func:`PyModule_GetState`) is " +"``NULL``." +msgstr "" + +#: ../Doc/c-api/module.rst:209 ../Doc/c-api/module.rst:224 +#: ../Doc/c-api/module.rst:239 +msgid "No longer called before the module state is allocated." +msgstr "" + +#: ../Doc/c-api/module.rst:214 msgid "" "A clear function to call during GC clearing of the module object, or " -"``NULL`` if not needed. This function may be called before module state is " -"allocated (:c:func:`PyModule_GetState()` may return `NULL`), and before the :" -"c:member:`Py_mod_exec` function is executed." +"``NULL`` if not needed." msgstr "" -"Una función clara para llamar durante la eliminación de GC del objeto del " -"módulo, o ``NULL`` si no es necesario. Se puede llamar a esta función antes " -"de asignar el estado del módulo (:c:func:`PyModule_GetState()` puede " -"retornar `NULL`), y antes de que se ejecute la función :c:member:" -"`Py_mod_exec`." -#: ../Doc/c-api/module.rst:212 +#: ../Doc/c-api/module.rst:229 msgid "" "A function to call during deallocation of the module object, or ``NULL`` if " -"not needed. This function may be called before module state is allocated (:c:" -"func:`PyModule_GetState()` may return `NULL`), and before the :c:member:" -"`Py_mod_exec` function is executed." +"not needed." msgstr "" -"Una función para llamar durante la desasignación del objeto del módulo, o " -"``NULL`` si no es necesario. Se puede llamar a esta función antes de asignar " -"el estado del módulo (:c:func:`PyModule_GetState()` puede retornar `NULL`), " -"y antes de que se ejecute la función :c:member:`Py_mod_exec`." -#: ../Doc/c-api/module.rst:218 +#: ../Doc/c-api/module.rst:243 msgid "Single-phase initialization" msgstr "Inicialización monofásica" -#: ../Doc/c-api/module.rst:220 +#: ../Doc/c-api/module.rst:245 msgid "" "The module initialization function may create and return the module object " "directly. This is referred to as \"single-phase initialization\", and uses " @@ -342,7 +341,7 @@ msgstr "" "módulo directamente. Esto se conoce como \"inicialización monofásica\" y " "utiliza una de las siguientes funciones de creación de dos módulos:" -#: ../Doc/c-api/module.rst:226 +#: ../Doc/c-api/module.rst:251 msgid "" "Create a new module object, given the definition in *def*. This behaves " "like :c:func:`PyModule_Create2` with *module_api_version* set to :const:" @@ -352,7 +351,7 @@ msgstr "" "como :c:func:`PyModule_Create2` con *module_api_version* establecido en :" "const:`PYTHON_API_VERSION`." -#: ../Doc/c-api/module.rst:233 +#: ../Doc/c-api/module.rst:258 msgid "" "Create a new module object, given the definition in *def*, assuming the API " "version *module_api_version*. If that version does not match the version of " @@ -362,7 +361,7 @@ msgstr "" "versión de API *module_api_version*. Si esa versión no coincide con la " "versión del intérprete en ejecución, se emite un :exc:`RuntimeWarning`." -#: ../Doc/c-api/module.rst:239 +#: ../Doc/c-api/module.rst:264 msgid "" "Most uses of this function should be using :c:func:`PyModule_Create` " "instead; only use this if you are sure you need it." @@ -371,7 +370,7 @@ msgstr "" "`PyModule_Create` en su lugar; solo use esto si está seguro de que lo " "necesita." -#: ../Doc/c-api/module.rst:242 +#: ../Doc/c-api/module.rst:267 msgid "" "Before it is returned from in the initialization function, the resulting " "module object is typically populated using functions like :c:func:" @@ -381,11 +380,11 @@ msgstr "" "módulo resultante normalmente se llena utilizando funciones como :c:func:" "`PyModule_AddObject`." -#: ../Doc/c-api/module.rst:248 +#: ../Doc/c-api/module.rst:273 msgid "Multi-phase initialization" msgstr "Inicialización multifase" -#: ../Doc/c-api/module.rst:250 +#: ../Doc/c-api/module.rst:275 msgid "" "An alternate way to specify extensions is to request \"multi-phase " "initialization\". Extension modules created this way behave more like Python " @@ -402,7 +401,7 @@ msgstr "" "La distinción es similar a los métodos de clases :py:meth:`__new__` y :py:" "meth:`__init__`." -#: ../Doc/c-api/module.rst:257 +#: ../Doc/c-api/module.rst:282 msgid "" "Unlike modules created using single-phase initialization, these modules are " "not singletons: if the *sys.modules* entry is removed and the module is re-" @@ -425,7 +424,7 @@ msgstr "" "`PyModule_GetState`), o su contenido (como el módulo :attr:`__dict__` o " "clases individuales creadas con :c:func:`PyType_FromSpec`)." -#: ../Doc/c-api/module.rst:267 +#: ../Doc/c-api/module.rst:292 msgid "" "All modules created using multi-phase initialization are expected to " "support :ref:`sub-interpreters `. Making sure " @@ -436,7 +435,7 @@ msgstr "" "support>`. Asegurándose de que varios módulos sean independientes suele ser " "suficiente para lograr esto." -#: ../Doc/c-api/module.rst:271 +#: ../Doc/c-api/module.rst:296 msgid "" "To request multi-phase initialization, the initialization function " "(PyInit_modulename) returns a :c:type:`PyModuleDef` instance with non-empty :" @@ -449,7 +448,7 @@ msgstr "" "se retorna, la instancia ``PyModuleDef`` debe inicializarse con la siguiente " "función:" -#: ../Doc/c-api/module.rst:278 +#: ../Doc/c-api/module.rst:303 msgid "" "Ensures a module definition is a properly initialized Python object that " "correctly reports its type and reference count." @@ -457,12 +456,12 @@ msgstr "" "Asegura que la definición de un módulo sea un objeto Python correctamente " "inicializado que informe correctamente su tipo y conteo de referencias." -#: ../Doc/c-api/module.rst:281 +#: ../Doc/c-api/module.rst:306 msgid "Returns *def* cast to ``PyObject*``, or ``NULL`` if an error occurred." msgstr "" "Retorna *def* convertido a ``PyObject*`` o ``NULL`` si se produjo un error." -#: ../Doc/c-api/module.rst:285 +#: ../Doc/c-api/module.rst:310 msgid "" "The *m_slots* member of the module definition must point to an array of " "``PyModuleDef_Slot`` structures:" @@ -470,25 +469,25 @@ msgstr "" "El miembro *m_slots* de la definición del módulo debe apuntar a un arreglo " "de estructuras ``PyModuleDef_Slot``:" -#: ../Doc/c-api/module.rst:292 +#: ../Doc/c-api/module.rst:317 msgid "A slot ID, chosen from the available values explained below." msgstr "" "Una ranura ID, elegida entre los valores disponibles que se explican a " "continuación." -#: ../Doc/c-api/module.rst:296 +#: ../Doc/c-api/module.rst:321 msgid "Value of the slot, whose meaning depends on the slot ID." msgstr "Valor de la ranura, cuyo significado depende de la ID de la ranura." -#: ../Doc/c-api/module.rst:300 +#: ../Doc/c-api/module.rst:325 msgid "The *m_slots* array must be terminated by a slot with id 0." msgstr "El arreglo *m_slots* debe estar terminada por una ranura con id 0." -#: ../Doc/c-api/module.rst:302 +#: ../Doc/c-api/module.rst:327 msgid "The available slot types are:" msgstr "Los tipos de ranura disponibles son:" -#: ../Doc/c-api/module.rst:306 +#: ../Doc/c-api/module.rst:331 msgid "" "Specifies a function that is called to create the module object itself. The " "*value* pointer of this slot must point to a function of the signature:" @@ -496,7 +495,7 @@ msgstr "" "Especifica una función que se llama para crear el objeto del módulo en sí. " "El puntero *value* de este espacio debe apuntar a una función de la firma:" -#: ../Doc/c-api/module.rst:311 +#: ../Doc/c-api/module.rst:336 msgid "" "The function receives a :py:class:`~importlib.machinery.ModuleSpec` " "instance, as defined in :PEP:`451`, and the module definition. It should " @@ -507,7 +506,7 @@ msgstr "" "Debería retornar un nuevo objeto de módulo, o establecer un error y retornar " "``NULL``." -#: ../Doc/c-api/module.rst:316 +#: ../Doc/c-api/module.rst:341 msgid "" "This function should be kept minimal. In particular, it should not call " "arbitrary Python code, as trying to import the same module again may result " @@ -517,7 +516,7 @@ msgstr "" "código arbitrario de Python, ya que intentar importar el mismo módulo " "nuevamente puede dar como resultado un bucle infinito." -#: ../Doc/c-api/module.rst:320 +#: ../Doc/c-api/module.rst:345 msgid "" "Multiple ``Py_mod_create`` slots may not be specified in one module " "definition." @@ -525,7 +524,7 @@ msgstr "" "Múltiples ranuras ``Py_mod_create`` no pueden especificarse en una " "definición de módulo." -#: ../Doc/c-api/module.rst:323 +#: ../Doc/c-api/module.rst:348 msgid "" "If ``Py_mod_create`` is not specified, the import machinery will create a " "normal module object using :c:func:`PyModule_New`. The name is taken from " @@ -540,7 +539,7 @@ msgstr "" "bajo diferentes nombres a través de enlaces simbólicos, todo mientras se " "comparte una definición de módulo único." -#: ../Doc/c-api/module.rst:329 +#: ../Doc/c-api/module.rst:354 msgid "" "There is no requirement for the returned object to be an instance of :c:type:" "`PyModule_Type`. Any type can be used, as long as it supports setting and " @@ -556,7 +555,7 @@ msgstr "" "``PyModuleDef`` no tiene ``NULL`` ``m_traverse``, ``m_clear``, ``m_free``; " "``m_size`` distinto de cero; o ranuras que no sean ``Py_mod_create``." -#: ../Doc/c-api/module.rst:338 +#: ../Doc/c-api/module.rst:363 msgid "" "Specifies a function that is called to *execute* the module. This is " "equivalent to executing the code of a Python module: typically, this " @@ -568,7 +567,7 @@ msgstr "" "general, esta función agrega clases y constantes al módulo. La firma de la " "función es:" -#: ../Doc/c-api/module.rst:345 +#: ../Doc/c-api/module.rst:370 msgid "" "If multiple ``Py_mod_exec`` slots are specified, they are processed in the " "order they appear in the *m_slots* array." @@ -576,16 +575,16 @@ msgstr "" "Si se especifican varias ranuras ``Py_mod_exec``, se procesan en el orden en " "que aparecen en el arreglo *m_slots*." -#: ../Doc/c-api/module.rst:348 +#: ../Doc/c-api/module.rst:373 msgid "See :PEP:`489` for more details on multi-phase initialization." msgstr "" "Ver :PEP:`489` para más detalles sobre la inicialización de múltiples fases." -#: ../Doc/c-api/module.rst:351 +#: ../Doc/c-api/module.rst:376 msgid "Low-level module creation functions" msgstr "Funciones de creación de módulos de bajo nivel" -#: ../Doc/c-api/module.rst:353 +#: ../Doc/c-api/module.rst:378 msgid "" "The following functions are called under the hood when using multi-phase " "initialization. They can be used directly, for example when creating module " @@ -598,7 +597,7 @@ msgstr "" "``PyModule_FromDefAndSpec`` como ``PyModule_ExecDef`` deben llamarse para " "inicializar completamente un módulo." -#: ../Doc/c-api/module.rst:360 +#: ../Doc/c-api/module.rst:385 msgid "" "Create a new module object, given the definition in *module* and the " "ModuleSpec *spec*. This behaves like :c:func:`PyModule_FromDefAndSpec2` " @@ -608,7 +607,7 @@ msgstr "" "*spec*. Esto se comporta como :c:func:`PyModule_FromDefAndSpec2` con " "*module_api_version* establecido en :const:`PYTHON_API_VERSION`." -#: ../Doc/c-api/module.rst:368 +#: ../Doc/c-api/module.rst:393 msgid "" "Create a new module object, given the definition in *module* and the " "ModuleSpec *spec*, assuming the API version *module_api_version*. If that " @@ -620,7 +619,7 @@ msgstr "" "coincide con la versión del intérprete en ejecución, se emite un :exc:" "`RuntimeWarning`." -#: ../Doc/c-api/module.rst:375 +#: ../Doc/c-api/module.rst:400 msgid "" "Most uses of this function should be using :c:func:`PyModule_FromDefAndSpec` " "instead; only use this if you are sure you need it." @@ -629,12 +628,12 @@ msgstr "" "`PyModule_FromDefAndSpec` en su lugar; solo use esto si está seguro de que " "lo necesita." -#: ../Doc/c-api/module.rst:382 +#: ../Doc/c-api/module.rst:407 msgid "Process any execution slots (:c:data:`Py_mod_exec`) given in *def*." msgstr "" "Procesa cualquier ranura de ejecución (:c:data:`Py_mod_exec`) dado en *def*." -#: ../Doc/c-api/module.rst:388 +#: ../Doc/c-api/module.rst:413 msgid "" "Set the docstring for *module* to *docstring*. This function is called " "automatically when creating a module from ``PyModuleDef``, using either " @@ -645,7 +644,7 @@ msgstr "" "desde ``PyModuleDef``, usando ``PyModule_Create`` o " "``PyModule_FromDefAndSpec``." -#: ../Doc/c-api/module.rst:397 +#: ../Doc/c-api/module.rst:422 msgid "" "Add the functions from the ``NULL`` terminated *functions* array to " "*module*. Refer to the :c:type:`PyMethodDef` documentation for details on " @@ -665,11 +664,11 @@ msgstr "" "función se llama automáticamente cuando se crea un módulo desde " "``PyModuleDef``, usando ``PyModule_Create`` o ``PyModule_FromDefAndSpec``." -#: ../Doc/c-api/module.rst:409 +#: ../Doc/c-api/module.rst:434 msgid "Support functions" msgstr "Funciones de soporte" -#: ../Doc/c-api/module.rst:411 +#: ../Doc/c-api/module.rst:436 msgid "" "The module initialization function (if using single phase initialization) or " "a function called from a module execution slot (if using multi-phase " @@ -681,18 +680,19 @@ msgstr "" "usa la inicialización de múltiples fases), puede usar las siguientes " "funciones para ayudar a inicializar el estado del módulo:" -#: ../Doc/c-api/module.rst:418 +#: ../Doc/c-api/module.rst:443 +#, fuzzy msgid "" "Add an object to *module* as *name*. This is a convenience function which " "can be used from the module's initialization function. This steals a " -"reference to *value* on success. Return ``-1`` on error, ``0`` on success." +"reference to *value* on success. Return ``-1`` on error, ``0`` on success." msgstr "" "Agrega un objeto a *module* como *name*. Esta es una función conveniente que " "se puede utilizar desde la función de inicialización del módulo. Esto roba " "una referencia al *value* en caso de éxito. Retorna ``-1`` en caso de error, " "``0`` en caso de éxito." -#: ../Doc/c-api/module.rst:424 +#: ../Doc/c-api/module.rst:449 msgid "" "Unlike other functions that steal references, ``PyModule_AddObject()`` only " "decrements the reference count of *value* **on success**." @@ -701,7 +701,7 @@ msgstr "" "``PyModule_AddObject()`` solo disminuye el conteo de referencias de *value* " "**en caso de éxito**." -#: ../Doc/c-api/module.rst:427 +#: ../Doc/c-api/module.rst:452 msgid "" "This means that its return value must be checked, and calling code must :c:" "func:`Py_DECREF` *value* manually on error. Example usage::" @@ -710,7 +710,7 @@ msgstr "" "llamada debe :c:func:`Py_DECREF` *value* manualmente en caso de error. " "Ejemplo de uso::" -#: ../Doc/c-api/module.rst:439 +#: ../Doc/c-api/module.rst:464 msgid "" "Add an integer constant to *module* as *name*. This convenience function " "can be used from the module's initialization function. Return ``-1`` on " @@ -720,7 +720,7 @@ msgstr "" "conveniencia se puede usar desde la función de inicialización del módulo. " "Retorna ``-1`` en caso de error, ``0`` en caso de éxito." -#: ../Doc/c-api/module.rst:446 +#: ../Doc/c-api/module.rst:471 msgid "" "Add a string constant to *module* as *name*. This convenience function can " "be used from the module's initialization function. The string *value* must " @@ -731,7 +731,7 @@ msgstr "" "cadena de caracteres *value* debe estar terminada en ``NULL``. Retorna " "``-1`` en caso de error, ``0`` en caso de éxito." -#: ../Doc/c-api/module.rst:453 +#: ../Doc/c-api/module.rst:478 msgid "" "Add an int constant to *module*. The name and the value are taken from " "*macro*. For example ``PyModule_AddIntMacro(module, AF_INET)`` adds the int " @@ -743,15 +743,23 @@ msgstr "" "constante int *AF_INET* con el valor de *AF_INET* a *module*. Retorna ``-1`` " "en caso de error, ``0`` en caso de éxito." -#: ../Doc/c-api/module.rst:461 +#: ../Doc/c-api/module.rst:486 msgid "Add a string constant to *module*." msgstr "Agrega una constante de cadena de caracteres a *module*." -#: ../Doc/c-api/module.rst:465 +#: ../Doc/c-api/module.rst:490 +msgid "" +"Add a type object to *module*. The type object is finalized by calling " +"internally :c:func:`PyType_Ready`. The name of the type object is taken from " +"the last component of :c:member:`~PyTypeObject.tp_name` after dot. Return " +"``-1`` on error, ``0`` on success." +msgstr "" + +#: ../Doc/c-api/module.rst:500 msgid "Module lookup" msgstr "Búsqueda de módulos" -#: ../Doc/c-api/module.rst:467 +#: ../Doc/c-api/module.rst:502 msgid "" "Single-phase initialization creates singleton modules that can be looked up " "in the context of the current interpreter. This allows the module object to " @@ -761,7 +769,7 @@ msgstr "" "el contexto del intérprete actual. Esto permite que el objeto módulo se " "recupere más tarde con solo una referencia a la definición del módulo." -#: ../Doc/c-api/module.rst:471 +#: ../Doc/c-api/module.rst:506 msgid "" "These functions will not work on modules created using multi-phase " "initialization, since multiple such modules can be created from a single " @@ -771,7 +779,7 @@ msgstr "" "de múltiples fases, ya que se pueden crear múltiples módulos de este tipo " "desde una sola definición." -#: ../Doc/c-api/module.rst:476 +#: ../Doc/c-api/module.rst:511 msgid "" "Returns the module object that was created from *def* for the current " "interpreter. This method requires that the module object has been attached " @@ -785,7 +793,7 @@ msgstr "" "de que el objeto módulo correspondiente no se encuentre o no se haya " "adjuntado al estado del intérprete, retornará ``NULL``." -#: ../Doc/c-api/module.rst:483 +#: ../Doc/c-api/module.rst:518 msgid "" "Attaches the module object passed to the function to the interpreter state. " "This allows the module object to be accessible via :c:func:" @@ -795,11 +803,11 @@ msgstr "" "Esto permite que se pueda acceder al objeto del módulo a través de :c:func:" "`PyState_FindModule`." -#: ../Doc/c-api/module.rst:486 +#: ../Doc/c-api/module.rst:521 msgid "Only effective on modules created using single-phase initialization." msgstr "Solo es efectivo en módulos creados con la inicialización monofásica." -#: ../Doc/c-api/module.rst:488 +#: ../Doc/c-api/module.rst:523 msgid "" "Python calls ``PyState_AddModule`` automatically after importing a module, " "so it is unnecessary (but harmless) to call it from module initialization " @@ -818,14 +826,54 @@ msgstr "" "directamente o refiriéndose a su implementación para obtener detalles de las " "actualizaciones de estado requeridas)." -#: ../Doc/c-api/module.rst:496 +#: ../Doc/c-api/module.rst:531 ../Doc/c-api/module.rst:542 +msgid "The caller must hold the GIL." +msgstr "" + +#: ../Doc/c-api/module.rst:533 msgid "Return 0 on success or -1 on failure." msgstr "Retorna 0 en caso de éxito o -1 en caso de error." -#: ../Doc/c-api/module.rst:502 +#: ../Doc/c-api/module.rst:539 msgid "" "Removes the module object created from *def* from the interpreter state. " "Return 0 on success or -1 on failure." msgstr "" "Elimina el objeto del módulo creado a partir de *def* del estado del " "intérprete. Retorna 0 en caso de éxito o -1 en caso de error." + +#~ msgid "" +#~ "A traversal function to call during GC traversal of the module object, or " +#~ "``NULL`` if not needed. This function may be called before module state " +#~ "is allocated (:c:func:`PyModule_GetState()` may return `NULL`), and " +#~ "before the :c:member:`Py_mod_exec` function is executed." +#~ msgstr "" +#~ "Una función transversal para llamar durante el recorrido del GC del " +#~ "objeto del módulo, o ``NULL`` si no es necesario. Se puede llamar a esta " +#~ "función antes de asignar el estado del módulo (:c:func:" +#~ "`PyModule_GetState()` puede retornar `NULL`), y antes de que se ejecute " +#~ "la función :c:member:`Py_mod_exec`." + +#~ msgid "" +#~ "A clear function to call during GC clearing of the module object, or " +#~ "``NULL`` if not needed. This function may be called before module state " +#~ "is allocated (:c:func:`PyModule_GetState()` may return `NULL`), and " +#~ "before the :c:member:`Py_mod_exec` function is executed." +#~ msgstr "" +#~ "Una función clara para llamar durante la eliminación de GC del objeto del " +#~ "módulo, o ``NULL`` si no es necesario. Se puede llamar a esta función " +#~ "antes de asignar el estado del módulo (:c:func:`PyModule_GetState()` " +#~ "puede retornar `NULL`), y antes de que se ejecute la función :c:member:" +#~ "`Py_mod_exec`." + +#~ msgid "" +#~ "A function to call during deallocation of the module object, or ``NULL`` " +#~ "if not needed. This function may be called before module state is " +#~ "allocated (:c:func:`PyModule_GetState()` may return `NULL`), and before " +#~ "the :c:member:`Py_mod_exec` function is executed." +#~ msgstr "" +#~ "Una función para llamar durante la desasignación del objeto del módulo, o " +#~ "``NULL`` si no es necesario. Se puede llamar a esta función antes de " +#~ "asignar el estado del módulo (:c:func:`PyModule_GetState()` puede " +#~ "retornar `NULL`), y antes de que se ejecute la función :c:member:" +#~ "`Py_mod_exec`." diff --git a/c-api/object.po b/c-api/object.po index 3ce44fc572..a32f642da5 100644 --- a/c-api/object.po +++ b/c-api/object.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-06-07 22:35+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" "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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/c-api/object.rst:6 msgid "Object Protocol" @@ -288,7 +287,7 @@ msgstr "" "de error. Llamado por la función incorporada :func:`str` y, por lo tanto, " "por la función :func:`print`." -#: ../Doc/c-api/object.rst:203 +#: ../Doc/c-api/object.rst:204 msgid "" "Compute a bytes representation of object *o*. ``NULL`` is returned on " "failure and a bytes object on success. This is equivalent to the Python " @@ -302,7 +301,7 @@ msgstr "" "diferencia de ``bytes(o)``, se lanza un TypeError cuando *o* es un entero en " "lugar de un objeto de bytes con inicialización cero." -#: ../Doc/c-api/object.rst:212 +#: ../Doc/c-api/object.rst:213 msgid "" "Return ``1`` if the class *derived* is identical to or derived from the " "class *cls*, otherwise return ``0``. In case of an error, return ``-1``." @@ -310,7 +309,7 @@ msgstr "" "Retorna ``1`` si la clase *derived* es idéntica o derivada de la clase " "*cls*; de lo contrario, retorna ``0``. En caso de error, retorna ``-1``." -#: ../Doc/c-api/object.rst:215 ../Doc/c-api/object.rst:234 +#: ../Doc/c-api/object.rst:216 ../Doc/c-api/object.rst:235 msgid "" "If *cls* is a tuple, the check will be done against every entry in *cls*. " "The result will be ``1`` when at least one of the checks returns ``1``, " @@ -320,7 +319,7 @@ msgstr "" "*cls*. El resultado será ``1`` cuando al menos una de las verificaciones " "retorne ``1``, de lo contrario será ``0``." -#: ../Doc/c-api/object.rst:219 +#: ../Doc/c-api/object.rst:220 msgid "" "If *cls* has a :meth:`~class.__subclasscheck__` method, it will be called to " "determine the subclass status as described in :pep:`3119`. Otherwise, " @@ -332,7 +331,7 @@ msgstr "" "contrario, *derived* es una subclase de *cls* si es una subclase directa o " "indirecta, es decir, contenida en ``cls.__ mro__``." -#: ../Doc/c-api/object.rst:224 +#: ../Doc/c-api/object.rst:225 msgid "" "Normally only class objects, i.e. instances of :class:`type` or a derived " "class, are considered classes. However, objects can override this by having " @@ -343,7 +342,7 @@ msgstr "" "pueden anular esto al tener un atributo :attr:`__bases__` (que debe ser una " "tupla de clases base)." -#: ../Doc/c-api/object.rst:231 +#: ../Doc/c-api/object.rst:232 msgid "" "Return ``1`` if *inst* is an instance of the class *cls* or a subclass of " "*cls*, or ``0`` if not. On error, returns ``-1`` and sets an exception." @@ -352,7 +351,7 @@ msgstr "" "*cls*, o ``0`` si no. En caso de error, retorna ``-1`` y establece una " "excepción." -#: ../Doc/c-api/object.rst:238 +#: ../Doc/c-api/object.rst:239 msgid "" "If *cls* has a :meth:`~class.__instancecheck__` method, it will be called to " "determine the subclass status as described in :pep:`3119`. Otherwise, " @@ -363,7 +362,7 @@ msgstr "" "contrario, *inst* es una instancia de *cls* si su clase es una subclase de " "*cls*." -#: ../Doc/c-api/object.rst:242 +#: ../Doc/c-api/object.rst:243 msgid "" "An instance *inst* can override what is considered its class by having a :" "attr:`__class__` attribute." @@ -371,7 +370,7 @@ msgstr "" "Una instancia *inst* puede anular lo que se considera su clase al tener un " "atributo :attr:`__class__`." -#: ../Doc/c-api/object.rst:245 +#: ../Doc/c-api/object.rst:246 msgid "" "An object *cls* can override if it is considered a class, and what its base " "classes are, by having a :attr:`__bases__` attribute (which must be a tuple " @@ -381,275 +380,7 @@ msgstr "" "clases base, al tener un atributo :attr:`__bases__` (que debe ser una tupla " "de clases base)." -#: ../Doc/c-api/object.rst:252 -msgid "" -"Determine if the object *o* is callable. Return ``1`` if the object is " -"callable and ``0`` otherwise. This function always succeeds." -msgstr "" -"Determina si el objeto *o* es invocable. Retorna ``1`` si el objeto es " -"invocable y ``0`` de lo contrario. Esta función siempre tiene éxito." - -#: ../Doc/c-api/object.rst:258 -msgid "" -"Call a callable Python object *callable*, with arguments given by the tuple " -"*args*, and named arguments given by the dictionary *kwargs*." -msgstr "" -"Llama un objeto Python invocable *invocable*, con argumentos dados por la " -"tupla *args*, y argumentos con nombre dados por el diccionario *kwargs*." - -#: ../Doc/c-api/object.rst:261 -msgid "" -"*args* must not be ``NULL``, use an empty tuple if no arguments are needed. " -"If no named arguments are needed, *kwargs* can be ``NULL``." -msgstr "" -"*args* no debe ser ``NULL``, use una tupla vacía si no se necesitan " -"argumentos. Si no se necesitan argumentos con nombre, *kwargs* puede ser " -"``NULL``." - -#: ../Doc/c-api/object.rst:264 ../Doc/c-api/object.rst:276 -#: ../Doc/c-api/object.rst:288 ../Doc/c-api/object.rst:308 -#: ../Doc/c-api/object.rst:327 ../Doc/c-api/object.rst:341 -#: ../Doc/c-api/object.rst:365 -msgid "" -"Return the result of the call on success, or raise an exception and return " -"``NULL`` on failure." -msgstr "" -"Retorna el resultado de la llamada en caso de éxito o genera una excepción y " -"retorna ``NULL`` en caso de error." - -#: ../Doc/c-api/object.rst:267 -msgid "" -"This is the equivalent of the Python expression: ``callable(*args, " -"**kwargs)``." -msgstr "" -"Este es el equivalente de la expresión de Python: ``callable(*args, " -"**kwargs)``." - -#: ../Doc/c-api/object.rst:273 -msgid "" -"Call a callable Python object *callable*, with arguments given by the tuple " -"*args*. If no arguments are needed, then *args* can be ``NULL``." -msgstr "" -"Llama un objeto Python invocable *invocable*, con argumentos dados por la " -"tupla *args*. Si no se necesitan argumentos, entonces *args* puede ser " -"``NULL``." - -#: ../Doc/c-api/object.rst:279 ../Doc/c-api/object.rst:291 -msgid "This is the equivalent of the Python expression: ``callable(*args)``." -msgstr "Este es el equivalente de la expresión de Python: ``callable(*args)``." - -#: ../Doc/c-api/object.rst:284 -msgid "" -"Call a callable Python object *callable*, with a variable number of C " -"arguments. The C arguments are described using a :c:func:`Py_BuildValue` " -"style format string. The format can be ``NULL``, indicating that no " -"arguments are provided." -msgstr "" -"Llama un objeto Python invocable *invocable*, con un número variable de " -"argumentos C. Los argumentos de C se describen utilizando una cadena de " -"caracteres de formato de estilo :c:func:`Py_BuildValue`. El formato puede " -"ser ``NULL``, lo que indica que no se proporcionan argumentos." - -#: ../Doc/c-api/object.rst:293 -msgid "" -"Note that if you only pass :c:type:`PyObject \\*` args, :c:func:" -"`PyObject_CallFunctionObjArgs` is a faster alternative." -msgstr "" -"Tenga en cuenta que si solo pasa argumentos :c:type:`PyObject\\*`, :c:func:" -"`PyObject_CallFunctionObjArgs` es una alternativa más rápida." - -#: ../Doc/c-api/object.rst:296 -msgid "The type of *format* was changed from ``char *``." -msgstr "El tipo de *format* se cambió de ``char *``." - -#: ../Doc/c-api/object.rst:302 -msgid "" -"Call the method named *name* of object *obj* with a variable number of C " -"arguments. The C arguments are described by a :c:func:`Py_BuildValue` " -"format string that should produce a tuple." -msgstr "" -"Llama al método llamado *nombre* del objeto *obj* con un número variable de " -"argumentos C. Los argumentos de C se describen mediante una cadena de " -"caracteres de formato :c:func:`Py_BuildValue` que debería producir una tupla." - -#: ../Doc/c-api/object.rst:306 -msgid "The format can be ``NULL``, indicating that no arguments are provided." -msgstr "" -"El formato puede ser ``NULL``, lo que indica que no se proporcionan " -"argumentos." - -#: ../Doc/c-api/object.rst:311 -msgid "" -"This is the equivalent of the Python expression: ``obj.name(arg1, " -"arg2, ...)``." -msgstr "" -"Este es el equivalente de la expresión de Python: ``obj.name(arg1, " -"arg2, ...)``." - -#: ../Doc/c-api/object.rst:314 -msgid "" -"Note that if you only pass :c:type:`PyObject \\*` args, :c:func:" -"`PyObject_CallMethodObjArgs` is a faster alternative." -msgstr "" -"Tenga en cuenta que si solo pasa argumentos :c:type:`PyObject\\*`, :c:func:" -"`PyObject_CallMethodObjArgs` es una alternativa más rápida." - -#: ../Doc/c-api/object.rst:317 -msgid "The types of *name* and *format* were changed from ``char *``." -msgstr "Los tipos de *name* y *format* se cambiaron de ``char *``." - -#: ../Doc/c-api/object.rst:323 -msgid "" -"Call a callable Python object *callable*, with a variable number of :c:type:" -"`PyObject\\*` arguments. The arguments are provided as a variable number of " -"parameters followed by ``NULL``." -msgstr "" -"Llama un objeto Python invocable *invocable*, con un número variable de " -"argumentos :c:type:`PyObject\\*`. Los argumentos se proporcionan como un " -"número variable de parámetros seguido de ``NULL``." - -#: ../Doc/c-api/object.rst:330 -msgid "" -"This is the equivalent of the Python expression: ``callable(arg1, " -"arg2, ...)``." -msgstr "" -"Este es el equivalente de la expresión de Python: ``callable(arg1, " -"arg2, ...)``." - -#: ../Doc/c-api/object.rst:336 -msgid "" -"Calls a method of the Python object *obj*, where the name of the method is " -"given as a Python string object in *name*. It is called with a variable " -"number of :c:type:`PyObject\\*` arguments. The arguments are provided as a " -"variable number of parameters followed by ``NULL``." -msgstr "" -"Llama un método del objeto Python *obj*, donde el nombre del método se da " -"como un objeto de cadena de caracteres Python en *nombre*. Se llama con un " -"número variable de argumentos :c:type:`PyObject\\*`. Los argumentos se " -"proporcionan como un número variable de parámetros seguido de ``NULL``." - -#: ../Doc/c-api/object.rst:347 -msgid "" -"Call a callable Python object *callable*, using :c:data:`vectorcall " -"` if possible." -msgstr "" -"Llama un objeto Python invocable *invocable*, utilizando :c:data:`vectorcall " -"` si es posible." - -#: ../Doc/c-api/object.rst:350 -msgid "*args* is a C array with the positional arguments." -msgstr "*args* es una arreglo en C con los argumentos posicionales." - -#: ../Doc/c-api/object.rst:352 -msgid "" -"*nargsf* is the number of positional arguments plus optionally the flag :" -"const:`PY_VECTORCALL_ARGUMENTS_OFFSET` (see below). To get actual number of " -"arguments, use :c:func:`PyVectorcall_NARGS(nargsf) `." -msgstr "" -"*nargsf* es el número de argumentos posicionales más, opcionalmente, el " -"indicador :const:`PY_VECTORCALL_ARGUMENTS_OFFSET` (ver más abajo). Para " -"obtener el número real de argumentos, use :c:func:" -"`PyVectorcall_NARGS(nargsf) `." - -#: ../Doc/c-api/object.rst:357 -msgid "" -"*kwnames* can be either ``NULL`` (no keyword arguments) or a tuple of " -"keyword names. In the latter case, the values of the keyword arguments are " -"stored in *args* after the positional arguments. The number of keyword " -"arguments does not influence *nargsf*." -msgstr "" -"*kwnames* puede ser ``NULL`` (sin argumentos de palabras clave) o una tupla " -"de nombres de palabras clave. En el último caso, los valores de los " -"argumentos de palabras clave se almacenan en *args* después de los " -"argumentos posicionales. El número de argumentos de palabras clave no " -"influye en *nargsf*." - -#: ../Doc/c-api/object.rst:362 -msgid "" -"*kwnames* must contain only objects of type ``str`` (not a subclass), and " -"all keys must be unique." -msgstr "" -"*kwnames* debe contener solo objetos de tipo ``str`` (no una subclase), y " -"todas las claves deben ser únicas." - -#: ../Doc/c-api/object.rst:368 -msgid "" -"This uses the vectorcall protocol if the callable supports it; otherwise, " -"the arguments are converted to use :c:member:`~PyTypeObject.tp_call`." -msgstr "" -"Esto usa el protocolo *vectorcall* si el invocable lo admite; de lo " -"contrario, los argumentos se convierten para usar :c:member:`~PyTypeObject." -"tp_call`." - -#: ../Doc/c-api/object.rst:374 ../Doc/c-api/object.rst:416 -msgid "" -"This function is provisional and expected to become public in Python 3.9, " -"with a different name and, possibly, changed semantics. If you use the " -"function, plan for updating your code for Python 3.9." -msgstr "" -"Esta función es provisional y se espera que se haga pública en Python 3.9, " -"con un nombre diferente y, posiblemente, una semántica cambiada. Si usa la " -"función, planifique actualizar su código para Python 3.9." - -#: ../Doc/c-api/object.rst:382 -msgid "" -"If set in a vectorcall *nargsf* argument, the callee is allowed to " -"temporarily change ``args[-1]``. In other words, *args* points to argument 1 " -"(not 0) in the allocated vector. The callee must restore the value of " -"``args[-1]`` before returning." -msgstr "" -"Si se establece en un argumento *vectorcall* *nargsf*, la persona que llama " -"puede cambiar temporalmente ``args[-1]``. En otras palabras, *args* apunta " -"al argumento 1 (no 0) en el vector asignado. La persona que llama debe " -"restaurar el valor de ``args[-1]`` antes de retornar." - -#: ../Doc/c-api/object.rst:387 -msgid "" -"Whenever they can do so cheaply (without additional allocation), callers are " -"encouraged to use :const:`PY_VECTORCALL_ARGUMENTS_OFFSET`. Doing so will " -"allow callables such as bound methods to make their onward calls (which " -"include a prepended *self* argument) cheaply." -msgstr "" -"Siempre que puedan hacerlo a bajo costo (sin asignación adicional), se " -"recomienda a las personas que llaman que utilicen :const:" -"`PY_VECTORCALL_ARGUMENTS_OFFSET`. Hacerlo permitirá que los invocables, como " -"los métodos enlazados, realicen sus llamadas posteriores (que incluyen un " -"argumento *self* antepuesto) a bajo precio." - -#: ../Doc/c-api/object.rst:396 -msgid "" -"Given a vectorcall *nargsf* argument, return the actual number of arguments. " -"Currently equivalent to ``nargsf & ~PY_VECTORCALL_ARGUMENTS_OFFSET``." -msgstr "" -"Dado un argumento *vectorcall* *nargsf*, retorna el número real de " -"argumentos. Actualmente equivalente a ``nargsf & " -"~PY_VECTORCALL_ARGUMENTS_OFFSET``." - -#: ../Doc/c-api/object.rst:404 -msgid "" -"Same as :c:func:`_PyObject_Vectorcall` except that the keyword arguments are " -"passed as a dictionary in *kwdict*. This may be ``NULL`` if there are no " -"keyword arguments." -msgstr "" -"Igual que :c:func:`_PyObject_Vectorcall` excepto que los argumentos de " -"palabras clave se pasan como un diccionario en *kwdict*. Esto puede ser " -"``NULL`` si no hay argumentos de palabras clave." - -#: ../Doc/c-api/object.rst:408 -msgid "" -"For callables supporting :c:data:`vectorcall `, the arguments are internally converted to the " -"vectorcall convention. Therefore, this function adds some overhead compared " -"to :c:func:`_PyObject_Vectorcall`. It should only be used if the caller " -"already has a dictionary ready to use." -msgstr "" -"Para llamadas que admiten :c:data:`vectorcall `, los argumentos se convierten internamente a la " -"convención *vectorcall*. Por lo tanto, esta función agrega algunos gastos " -"generales en comparación con :c:func:`_PyObject_Vectorcall`. Solo debe " -"usarse si la persona que llama ya tiene un diccionario listo para usar." - -#: ../Doc/c-api/object.rst:427 +#: ../Doc/c-api/object.rst:255 msgid "" "Compute and return the hash value of an object *o*. On failure, return " "``-1``. This is the equivalent of the Python expression ``hash(o)``." @@ -657,7 +388,7 @@ msgstr "" "Calcula y retorna el valor hash de un objeto *o*. En caso de fallo, retorna " "``-1``. Este es el equivalente de la expresión de Python ``hash(o)``." -#: ../Doc/c-api/object.rst:430 +#: ../Doc/c-api/object.rst:258 msgid "" "The return type is now Py_hash_t. This is a signed integer the same size as " "Py_ssize_t." @@ -665,7 +396,7 @@ msgstr "" "El tipo de retorno ahora es *Py_hash_t*. Este es un entero con signo del " "mismo tamaño que *Py_ssize_t*." -#: ../Doc/c-api/object.rst:437 +#: ../Doc/c-api/object.rst:265 msgid "" "Set a :exc:`TypeError` indicating that ``type(o)`` is not hashable and " "return ``-1``. This function receives special treatment when stored in a " @@ -677,7 +408,7 @@ msgstr "" "almacena en una ranura ``tp_hash``, lo que permite que un tipo indique " "explícitamente al intérprete que no es *hashable*." -#: ../Doc/c-api/object.rst:445 +#: ../Doc/c-api/object.rst:273 msgid "" "Returns ``1`` if the object *o* is considered to be true, and ``0`` " "otherwise. This is equivalent to the Python expression ``not not o``. On " @@ -687,7 +418,7 @@ msgstr "" "contrario. Esto es equivalente a la expresión de Python ``not not o``. En " "caso de error, retorna ``-1``." -#: ../Doc/c-api/object.rst:452 +#: ../Doc/c-api/object.rst:280 msgid "" "Returns ``0`` if the object *o* is considered to be true, and ``1`` " "otherwise. This is equivalent to the Python expression ``not o``. On " @@ -697,15 +428,16 @@ msgstr "" "contrario. Esto es equivalente a la expresión de Python ``not o``. En caso " "de error, retorna ``-1``." -#: ../Doc/c-api/object.rst:461 +#: ../Doc/c-api/object.rst:289 +#, fuzzy msgid "" "When *o* is non-``NULL``, returns a type object corresponding to the object " "type of object *o*. On failure, raises :exc:`SystemError` and returns " "``NULL``. This is equivalent to the Python expression ``type(o)``. This " "function increments the reference count of the return value. There's really " "no reason to use this function instead of the common expression ``o-" -">ob_type``, which returns a pointer of type :c:type:`PyTypeObject\\*`, " -"except when the incremented reference count is needed." +">ob_type``, which returns a pointer of type :c:type:`PyTypeObject*`, except " +"when the incremented reference count is needed." msgstr "" "Cuando *o* no es ``NULL``, retorna un objeto de tipo correspondiente al tipo " "de objeto del objeto *o*. En caso de error, genera :exc:`SystemError` y " @@ -716,7 +448,7 @@ msgstr "" "`PyTypeObject\\*`, excepto cuando se necesita el recuento de referencia " "incrementado." -#: ../Doc/c-api/object.rst:472 +#: ../Doc/c-api/object.rst:300 msgid "" "Return true if the object *o* is of type *type* or a subtype of *type*. " "Both parameters must be non-``NULL``." @@ -724,7 +456,7 @@ msgstr "" "Retorna verdadero si el objeto *o* es de tipo *type* o un subtipo de *type*. " "Ambos parámetros no deben ser ``NULL``." -#: ../Doc/c-api/object.rst:481 +#: ../Doc/c-api/object.rst:309 msgid "" "Return the length of object *o*. If the object *o* provides either the " "sequence and mapping protocols, the sequence length is returned. On error, " @@ -736,7 +468,7 @@ msgstr "" "caso de error, se retorna ``-1``. Este es el equivalente a la expresión de " "Python ``len(o)``." -#: ../Doc/c-api/object.rst:488 +#: ../Doc/c-api/object.rst:316 msgid "" "Return an estimated length for the object *o*. First try to return its " "actual length, then an estimate using :meth:`~object.__length_hint__`, and " @@ -749,7 +481,7 @@ msgstr "" "error, retorna ``-1``. Este es el equivalente a la expresión de Python " "``operator.length_hint (o, default)``." -#: ../Doc/c-api/object.rst:498 +#: ../Doc/c-api/object.rst:326 msgid "" "Return element of *o* corresponding to the object *key* or ``NULL`` on " "failure. This is the equivalent of the Python expression ``o[key]``." @@ -758,7 +490,7 @@ msgstr "" "``NULL`` en caso de error. Este es el equivalente de la expresión de Python " "``o[key]``." -#: ../Doc/c-api/object.rst:504 +#: ../Doc/c-api/object.rst:332 msgid "" "Map the object *key* to the value *v*. Raise an exception and return ``-1`` " "on failure; return ``0`` on success. This is the equivalent of the Python " @@ -769,7 +501,7 @@ msgstr "" "la declaración de Python ``o[key] = v``. Esta función *no* roba una " "referencia a *v*." -#: ../Doc/c-api/object.rst:512 +#: ../Doc/c-api/object.rst:340 msgid "" "Remove the mapping for the object *key* from the object *o*. Return ``-1`` " "on failure. This is equivalent to the Python statement ``del o[key]``." @@ -777,7 +509,7 @@ msgstr "" "Elimina la asignación para el objeto *key* del objeto *o*. Retorna ``-1`` en " "caso de falla. Esto es equivalente a la declaración de Python ``del o[key]``." -#: ../Doc/c-api/object.rst:518 +#: ../Doc/c-api/object.rst:346 msgid "" "This is equivalent to the Python expression ``dir(o)``, returning a " "(possibly empty) list of strings appropriate for the object argument, or " @@ -793,7 +525,7 @@ msgstr "" "locales actuales; en este caso, si no hay un marco de ejecución activo, se " "retorna ``NULL`` pero :c:func:`PyErr_Occurred` retornará falso." -#: ../Doc/c-api/object.rst:527 +#: ../Doc/c-api/object.rst:355 msgid "" "This is equivalent to the Python expression ``iter(o)``. It returns a new " "iterator for the object argument, or the object itself if the object is " @@ -804,3 +536,244 @@ msgstr "" "iterador para el argumento del objeto, o el propio objeto si el objeto ya es " "un iterador. Lanza :exc:`TypeError` y retorna ``NULL`` si el objeto no puede " "iterarse." + +#~ msgid "" +#~ "Determine if the object *o* is callable. Return ``1`` if the object is " +#~ "callable and ``0`` otherwise. This function always succeeds." +#~ msgstr "" +#~ "Determina si el objeto *o* es invocable. Retorna ``1`` si el objeto es " +#~ "invocable y ``0`` de lo contrario. Esta función siempre tiene éxito." + +#~ msgid "" +#~ "Call a callable Python object *callable*, with arguments given by the " +#~ "tuple *args*, and named arguments given by the dictionary *kwargs*." +#~ msgstr "" +#~ "Llama un objeto Python invocable *invocable*, con argumentos dados por la " +#~ "tupla *args*, y argumentos con nombre dados por el diccionario *kwargs*." + +#~ msgid "" +#~ "*args* must not be ``NULL``, use an empty tuple if no arguments are " +#~ "needed. If no named arguments are needed, *kwargs* can be ``NULL``." +#~ msgstr "" +#~ "*args* no debe ser ``NULL``, use una tupla vacía si no se necesitan " +#~ "argumentos. Si no se necesitan argumentos con nombre, *kwargs* puede ser " +#~ "``NULL``." + +#~ msgid "" +#~ "Return the result of the call on success, or raise an exception and " +#~ "return ``NULL`` on failure." +#~ msgstr "" +#~ "Retorna el resultado de la llamada en caso de éxito o genera una " +#~ "excepción y retorna ``NULL`` en caso de error." + +#~ msgid "" +#~ "This is the equivalent of the Python expression: ``callable(*args, " +#~ "**kwargs)``." +#~ msgstr "" +#~ "Este es el equivalente de la expresión de Python: ``callable(*args, " +#~ "**kwargs)``." + +#~ msgid "" +#~ "Call a callable Python object *callable*, with arguments given by the " +#~ "tuple *args*. If no arguments are needed, then *args* can be ``NULL``." +#~ msgstr "" +#~ "Llama un objeto Python invocable *invocable*, con argumentos dados por la " +#~ "tupla *args*. Si no se necesitan argumentos, entonces *args* puede ser " +#~ "``NULL``." + +#~ msgid "" +#~ "This is the equivalent of the Python expression: ``callable(*args)``." +#~ msgstr "" +#~ "Este es el equivalente de la expresión de Python: ``callable(*args)``." + +#~ msgid "" +#~ "Call a callable Python object *callable*, with a variable number of C " +#~ "arguments. The C arguments are described using a :c:func:`Py_BuildValue` " +#~ "style format string. The format can be ``NULL``, indicating that no " +#~ "arguments are provided." +#~ msgstr "" +#~ "Llama un objeto Python invocable *invocable*, con un número variable de " +#~ "argumentos C. Los argumentos de C se describen utilizando una cadena de " +#~ "caracteres de formato de estilo :c:func:`Py_BuildValue`. El formato puede " +#~ "ser ``NULL``, lo que indica que no se proporcionan argumentos." + +#~ msgid "" +#~ "Note that if you only pass :c:type:`PyObject \\*` args, :c:func:" +#~ "`PyObject_CallFunctionObjArgs` is a faster alternative." +#~ msgstr "" +#~ "Tenga en cuenta que si solo pasa argumentos :c:type:`PyObject\\*`, :c:" +#~ "func:`PyObject_CallFunctionObjArgs` es una alternativa más rápida." + +#~ msgid "The type of *format* was changed from ``char *``." +#~ msgstr "El tipo de *format* se cambió de ``char *``." + +#~ msgid "" +#~ "Call the method named *name* of object *obj* with a variable number of C " +#~ "arguments. The C arguments are described by a :c:func:`Py_BuildValue` " +#~ "format string that should produce a tuple." +#~ msgstr "" +#~ "Llama al método llamado *nombre* del objeto *obj* con un número variable " +#~ "de argumentos C. Los argumentos de C se describen mediante una cadena de " +#~ "caracteres de formato :c:func:`Py_BuildValue` que debería producir una " +#~ "tupla." + +#~ msgid "" +#~ "The format can be ``NULL``, indicating that no arguments are provided." +#~ msgstr "" +#~ "El formato puede ser ``NULL``, lo que indica que no se proporcionan " +#~ "argumentos." + +#~ msgid "" +#~ "This is the equivalent of the Python expression: ``obj.name(arg1, " +#~ "arg2, ...)``." +#~ msgstr "" +#~ "Este es el equivalente de la expresión de Python: ``obj.name(arg1, " +#~ "arg2, ...)``." + +#~ msgid "" +#~ "Note that if you only pass :c:type:`PyObject \\*` args, :c:func:" +#~ "`PyObject_CallMethodObjArgs` is a faster alternative." +#~ msgstr "" +#~ "Tenga en cuenta que si solo pasa argumentos :c:type:`PyObject\\*`, :c:" +#~ "func:`PyObject_CallMethodObjArgs` es una alternativa más rápida." + +#~ msgid "The types of *name* and *format* were changed from ``char *``." +#~ msgstr "Los tipos de *name* y *format* se cambiaron de ``char *``." + +#~ msgid "" +#~ "Call a callable Python object *callable*, with a variable number of :c:" +#~ "type:`PyObject\\*` arguments. The arguments are provided as a variable " +#~ "number of parameters followed by ``NULL``." +#~ msgstr "" +#~ "Llama un objeto Python invocable *invocable*, con un número variable de " +#~ "argumentos :c:type:`PyObject\\*`. Los argumentos se proporcionan como un " +#~ "número variable de parámetros seguido de ``NULL``." + +#~ msgid "" +#~ "This is the equivalent of the Python expression: ``callable(arg1, " +#~ "arg2, ...)``." +#~ msgstr "" +#~ "Este es el equivalente de la expresión de Python: ``callable(arg1, " +#~ "arg2, ...)``." + +#~ msgid "" +#~ "Calls a method of the Python object *obj*, where the name of the method " +#~ "is given as a Python string object in *name*. It is called with a " +#~ "variable number of :c:type:`PyObject\\*` arguments. The arguments are " +#~ "provided as a variable number of parameters followed by ``NULL``." +#~ msgstr "" +#~ "Llama un método del objeto Python *obj*, donde el nombre del método se da " +#~ "como un objeto de cadena de caracteres Python en *nombre*. Se llama con " +#~ "un número variable de argumentos :c:type:`PyObject\\*`. Los argumentos se " +#~ "proporcionan como un número variable de parámetros seguido de ``NULL``." + +#~ msgid "" +#~ "Call a callable Python object *callable*, using :c:data:`vectorcall " +#~ "` if possible." +#~ msgstr "" +#~ "Llama un objeto Python invocable *invocable*, utilizando :c:data:" +#~ "`vectorcall ` si es posible." + +#~ msgid "*args* is a C array with the positional arguments." +#~ msgstr "*args* es una arreglo en C con los argumentos posicionales." + +#~ msgid "" +#~ "*nargsf* is the number of positional arguments plus optionally the flag :" +#~ "const:`PY_VECTORCALL_ARGUMENTS_OFFSET` (see below). To get actual number " +#~ "of arguments, use :c:func:`PyVectorcall_NARGS(nargsf) " +#~ "`." +#~ msgstr "" +#~ "*nargsf* es el número de argumentos posicionales más, opcionalmente, el " +#~ "indicador :const:`PY_VECTORCALL_ARGUMENTS_OFFSET` (ver más abajo). Para " +#~ "obtener el número real de argumentos, use :c:func:" +#~ "`PyVectorcall_NARGS(nargsf) `." + +#~ msgid "" +#~ "*kwnames* can be either ``NULL`` (no keyword arguments) or a tuple of " +#~ "keyword names. In the latter case, the values of the keyword arguments " +#~ "are stored in *args* after the positional arguments. The number of " +#~ "keyword arguments does not influence *nargsf*." +#~ msgstr "" +#~ "*kwnames* puede ser ``NULL`` (sin argumentos de palabras clave) o una " +#~ "tupla de nombres de palabras clave. En el último caso, los valores de los " +#~ "argumentos de palabras clave se almacenan en *args* después de los " +#~ "argumentos posicionales. El número de argumentos de palabras clave no " +#~ "influye en *nargsf*." + +#~ msgid "" +#~ "*kwnames* must contain only objects of type ``str`` (not a subclass), and " +#~ "all keys must be unique." +#~ msgstr "" +#~ "*kwnames* debe contener solo objetos de tipo ``str`` (no una subclase), y " +#~ "todas las claves deben ser únicas." + +#~ msgid "" +#~ "This uses the vectorcall protocol if the callable supports it; otherwise, " +#~ "the arguments are converted to use :c:member:`~PyTypeObject.tp_call`." +#~ msgstr "" +#~ "Esto usa el protocolo *vectorcall* si el invocable lo admite; de lo " +#~ "contrario, los argumentos se convierten para usar :c:member:" +#~ "`~PyTypeObject.tp_call`." + +#~ msgid "" +#~ "This function is provisional and expected to become public in Python 3.9, " +#~ "with a different name and, possibly, changed semantics. If you use the " +#~ "function, plan for updating your code for Python 3.9." +#~ msgstr "" +#~ "Esta función es provisional y se espera que se haga pública en Python " +#~ "3.9, con un nombre diferente y, posiblemente, una semántica cambiada. Si " +#~ "usa la función, planifique actualizar su código para Python 3.9." + +#~ msgid "" +#~ "If set in a vectorcall *nargsf* argument, the callee is allowed to " +#~ "temporarily change ``args[-1]``. In other words, *args* points to " +#~ "argument 1 (not 0) in the allocated vector. The callee must restore the " +#~ "value of ``args[-1]`` before returning." +#~ msgstr "" +#~ "Si se establece en un argumento *vectorcall* *nargsf*, la persona que " +#~ "llama puede cambiar temporalmente ``args[-1]``. En otras palabras, *args* " +#~ "apunta al argumento 1 (no 0) en el vector asignado. La persona que llama " +#~ "debe restaurar el valor de ``args[-1]`` antes de retornar." + +#~ msgid "" +#~ "Whenever they can do so cheaply (without additional allocation), callers " +#~ "are encouraged to use :const:`PY_VECTORCALL_ARGUMENTS_OFFSET`. Doing so " +#~ "will allow callables such as bound methods to make their onward calls " +#~ "(which include a prepended *self* argument) cheaply." +#~ msgstr "" +#~ "Siempre que puedan hacerlo a bajo costo (sin asignación adicional), se " +#~ "recomienda a las personas que llaman que utilicen :const:" +#~ "`PY_VECTORCALL_ARGUMENTS_OFFSET`. Hacerlo permitirá que los invocables, " +#~ "como los métodos enlazados, realicen sus llamadas posteriores (que " +#~ "incluyen un argumento *self* antepuesto) a bajo precio." + +#~ msgid "" +#~ "Given a vectorcall *nargsf* argument, return the actual number of " +#~ "arguments. Currently equivalent to ``nargsf & " +#~ "~PY_VECTORCALL_ARGUMENTS_OFFSET``." +#~ msgstr "" +#~ "Dado un argumento *vectorcall* *nargsf*, retorna el número real de " +#~ "argumentos. Actualmente equivalente a ``nargsf & " +#~ "~PY_VECTORCALL_ARGUMENTS_OFFSET``." + +#~ msgid "" +#~ "Same as :c:func:`_PyObject_Vectorcall` except that the keyword arguments " +#~ "are passed as a dictionary in *kwdict*. This may be ``NULL`` if there are " +#~ "no keyword arguments." +#~ msgstr "" +#~ "Igual que :c:func:`_PyObject_Vectorcall` excepto que los argumentos de " +#~ "palabras clave se pasan como un diccionario en *kwdict*. Esto puede ser " +#~ "``NULL`` si no hay argumentos de palabras clave." + +#~ msgid "" +#~ "For callables supporting :c:data:`vectorcall `, the arguments are internally converted to the " +#~ "vectorcall convention. Therefore, this function adds some overhead " +#~ "compared to :c:func:`_PyObject_Vectorcall`. It should only be used if the " +#~ "caller already has a dictionary ready to use." +#~ msgstr "" +#~ "Para llamadas que admiten :c:data:`vectorcall `, los argumentos se convierten internamente a la " +#~ "convención *vectorcall*. Por lo tanto, esta función agrega algunos gastos " +#~ "generales en comparación con :c:func:`_PyObject_Vectorcall`. Solo debe " +#~ "usarse si la persona que llama ya tiene un diccionario listo para usar." diff --git a/c-api/reflection.po b/c-api/reflection.po index c8ee75b091..681963d62f 100644 --- a/c-api/reflection.po +++ b/c-api/reflection.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-09 02:56+0200\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/c-api/reflection.rst:6 msgid "Reflection" @@ -59,11 +58,40 @@ msgstr "" "Retorna el marco del estado del hilo actual, que es ``NULL`` si actualmente " "no se está ejecutando ningún marco." -#: ../Doc/c-api/reflection.rst:34 +#: ../Doc/c-api/reflection.rst:31 +msgid "See also :c:func:`PyThreadState_GetFrame`." +msgstr "" + +#: ../Doc/c-api/reflection.rst:36 +msgid "Get the *frame* next outer frame." +msgstr "" + +#: ../Doc/c-api/reflection.rst:38 +msgid "Return a strong reference, or ``NULL`` if *frame* has no outer frame." +msgstr "" + +#: ../Doc/c-api/reflection.rst:40 ../Doc/c-api/reflection.rst:60 +msgid "*frame* must not be ``NULL``." +msgstr "" + +#: ../Doc/c-api/reflection.rst:47 +msgid "Get the *frame* code." +msgstr "" + +#: ../Doc/c-api/reflection.rst:49 +msgid "Return a strong reference." +msgstr "" + +#: ../Doc/c-api/reflection.rst:51 +msgid "" +"*frame* must not be ``NULL``. The result (frame code) cannot be ``NULL``." +msgstr "" + +#: ../Doc/c-api/reflection.rst:58 msgid "Return the line number that *frame* is currently executing." msgstr "Retorna el número de línea que *frame* está ejecutando actualmente." -#: ../Doc/c-api/reflection.rst:39 +#: ../Doc/c-api/reflection.rst:65 msgid "" "Return the name of *func* if it is a function, class or instance object, " "else the name of *func*\\s type." @@ -71,7 +99,7 @@ msgstr "" "Retorna el nombre de *func* si es una función, clase u objeto de instancia; " "de lo contrario, el nombre del tipo *func*\\s." -#: ../Doc/c-api/reflection.rst:45 +#: ../Doc/c-api/reflection.rst:71 msgid "" "Return a description string, depending on the type of *func*. Return values " "include \"()\" for functions and methods, \" constructor\", \" instance\", " diff --git a/c-api/set.po b/c-api/set.po index 587e1ccd85..328ae0db7f 100644 --- a/c-api/set.po +++ b/c-api/set.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-16 18:25+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" "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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/c-api/set.rst:6 msgid "Set Objects" @@ -97,45 +96,51 @@ msgstr "" "funcionan con cualquier objeto Python iterable." #: ../Doc/c-api/set.rst:55 +#, fuzzy msgid "" -"Return true if *p* is a :class:`set` object or an instance of a subtype." +"Return true if *p* is a :class:`set` object or an instance of a subtype. " +"This function always succeeds." msgstr "" "Retorna verdadero si *p* es un objeto :class:`set` o una instancia de un " "subtipo." -#: ../Doc/c-api/set.rst:59 +#: ../Doc/c-api/set.rst:60 +#, fuzzy msgid "" "Return true if *p* is a :class:`frozenset` object or an instance of a " -"subtype." +"subtype. This function always succeeds." msgstr "" "Retorna verdadero si *p* es un objeto :class:`frozenset` o una instancia de " "un subtipo." -#: ../Doc/c-api/set.rst:64 +#: ../Doc/c-api/set.rst:65 +#, fuzzy msgid "" "Return true if *p* is a :class:`set` object, a :class:`frozenset` object, or " -"an instance of a subtype." +"an instance of a subtype. This function always succeeds." msgstr "" "Retorna verdadero si *p* es un objeto :class:`set`, un objeto :class:" "`frozenset`, o una instancia de un subtipo." -#: ../Doc/c-api/set.rst:70 +#: ../Doc/c-api/set.rst:71 +#, fuzzy msgid "" "Return true if *p* is a :class:`set` object or a :class:`frozenset` object " -"but not an instance of a subtype." +"but not an instance of a subtype. This function always succeeds." msgstr "" "Retorna verdadero si *p* es un objeto :class:`set` o un objeto :class:" "`frozenset` pero no una instancia de un subtipo." -#: ../Doc/c-api/set.rst:76 +#: ../Doc/c-api/set.rst:77 +#, fuzzy msgid "" "Return true if *p* is a :class:`frozenset` object but not an instance of a " -"subtype." +"subtype. This function always succeeds." msgstr "" "Retorna verdadero si *p* es un objeto :class:`frozenset` pero no una " "instancia de un subtipo." -#: ../Doc/c-api/set.rst:82 +#: ../Doc/c-api/set.rst:83 msgid "" "Return a new :class:`set` containing objects returned by the *iterable*. " "The *iterable* may be ``NULL`` to create a new empty set. Return the new " @@ -149,7 +154,7 @@ msgstr "" "error. Lanza :exc:`TypeError` si *iterable* no es realmente iterable. El " "constructor también es útil para copiar un conjunto (``c=set(s)``)." -#: ../Doc/c-api/set.rst:91 +#: ../Doc/c-api/set.rst:92 msgid "" "Return a new :class:`frozenset` containing objects returned by the " "*iterable*. The *iterable* may be ``NULL`` to create a new empty frozenset. " @@ -161,7 +166,7 @@ msgstr "" "congelado vacío. Retorna el nuevo conjunto en caso de éxito o ``NULL`` en " "caso de error. Lanza :exc:`TypeError` si *iterable* no es realmente iterable." -#: ../Doc/c-api/set.rst:97 +#: ../Doc/c-api/set.rst:98 msgid "" "The following functions and macros are available for instances of :class:" "`set` or :class:`frozenset` or instances of their subtypes." @@ -169,7 +174,7 @@ msgstr "" "Las siguientes funciones y macros están disponibles para instancias de :" "class:`set` o :class:`frozenset` o instancias de sus subtipos." -#: ../Doc/c-api/set.rst:105 +#: ../Doc/c-api/set.rst:106 msgid "" "Return the length of a :class:`set` or :class:`frozenset` object. Equivalent " "to ``len(anyset)``. Raises a :exc:`PyExc_SystemError` if *anyset* is not a :" @@ -179,11 +184,11 @@ msgstr "" "Equivalente a ``len(anyset)``. Lanza un :exc:`PyExc_SystemError` si *anyset* " "no es :class:`set`, :class:`frozenset`, o una instancia de un subtipo." -#: ../Doc/c-api/set.rst:112 +#: ../Doc/c-api/set.rst:113 msgid "Macro form of :c:func:`PySet_Size` without error checking." msgstr "Forma macro de :c:func:`PySet_Size` sin comprobación de errores." -#: ../Doc/c-api/set.rst:117 +#: ../Doc/c-api/set.rst:118 msgid "" "Return ``1`` if found, ``0`` if not found, and ``-1`` if an error is " "encountered. Unlike the Python :meth:`__contains__` method, this function " @@ -199,7 +204,7 @@ msgstr "" "compartir. Lanza :exc:`PyExc_SystemError` si *anyset* no es un :class:" "`set`, :class:`frozenset`, o una instancia de un subtipo." -#: ../Doc/c-api/set.rst:126 +#: ../Doc/c-api/set.rst:127 msgid "" "Add *key* to a :class:`set` instance. Also works with :class:`frozenset` " "instances (like :c:func:`PyTuple_SetItem` it can be used to fill-in the " @@ -217,7 +222,7 @@ msgstr "" "un :exc:`MemoryError` si no hay espacio para crecer. Lanza un :exc:" "`SystemError` si *set* no es una instancia de :class:`set` o su subtipo." -#: ../Doc/c-api/set.rst:135 +#: ../Doc/c-api/set.rst:136 msgid "" "The following functions are available for instances of :class:`set` or its " "subtypes but not for instances of :class:`frozenset` or its subtypes." @@ -225,7 +230,7 @@ msgstr "" "Las siguientes funciones están disponibles para instancias de :class:`set` o " "sus subtipos, pero no para instancias de :class:`frozenset` o sus subtipos." -#: ../Doc/c-api/set.rst:141 +#: ../Doc/c-api/set.rst:142 msgid "" "Return ``1`` if found and removed, ``0`` if not found (no action taken), and " "``-1`` if an error is encountered. Does not raise :exc:`KeyError` for " @@ -243,7 +248,7 @@ msgstr "" "temporales. Lanza :exc:`PyExc_SystemError` si *set* no es una instancia de :" "class:`set` o su subtipo." -#: ../Doc/c-api/set.rst:151 +#: ../Doc/c-api/set.rst:152 msgid "" "Return a new reference to an arbitrary object in the *set*, and removes the " "object from the *set*. Return ``NULL`` on failure. Raise :exc:`KeyError` " @@ -255,10 +260,10 @@ msgstr "" "si el conjunto está vacío. Lanza a :exc:`SystemError` si *set* no es una " "instancia de :class:`set` o su subtipo." -#: ../Doc/c-api/set.rst:159 +#: ../Doc/c-api/set.rst:160 msgid "Empty an existing set of all elements." msgstr "Vacía un conjunto existente de todos los elementos." -#: ../Doc/c-api/set.rst:164 -msgid "Clear the free list. Return the total number of freed items." -msgstr "Borra la lista libre. Retorna el número total de artículos liberados." +#~ msgid "Clear the free list. Return the total number of freed items." +#~ msgstr "" +#~ "Borra la lista libre. Retorna el número total de artículos liberados." diff --git a/c-api/slice.po b/c-api/slice.po index b2b3cebef7..69110b5e39 100644 --- a/c-api/slice.po +++ b/c-api/slice.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-10 22:38+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" "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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/c-api/slice.rst:6 msgid "Slice Objects" @@ -35,11 +34,14 @@ msgstr "" "en la capa de Python." #: ../Doc/c-api/slice.rst:17 -msgid "Return true if *ob* is a slice object; *ob* must not be ``NULL``." +#, fuzzy +msgid "" +"Return true if *ob* is a slice object; *ob* must not be ``NULL``. This " +"function always succeeds." msgstr "" "Retorna verdadero si *ob* es un objeto rebanada; *ob* no debe ser ``NULL``." -#: ../Doc/c-api/slice.rst:22 +#: ../Doc/c-api/slice.rst:23 msgid "" "Return a new slice object with the given values. The *start*, *stop*, and " "*step* parameters are used as the values of the slice object attributes of " @@ -53,7 +55,7 @@ msgstr "" "``NULL``, en cuyo caso se usará ``None`` para el atributo correspondiente. " "Retorna ``NULL`` si no se puedo asignar el nuevo objeto." -#: ../Doc/c-api/slice.rst:31 +#: ../Doc/c-api/slice.rst:32 msgid "" "Retrieve the start, stop and step indices from the slice object *slice*, " "assuming a sequence of length *length*. Treats indices greater than *length* " @@ -63,7 +65,7 @@ msgstr "" "suponiendo una secuencia de longitud *length*. Trata los índices mayores que " "*length* como errores." -#: ../Doc/c-api/slice.rst:35 +#: ../Doc/c-api/slice.rst:36 msgid "" "Returns ``0`` on success and ``-1`` on error with no exception set (unless " "one of the indices was not :const:`None` and failed to be converted to an " @@ -74,17 +76,17 @@ msgstr "" "haya convertido a un entero, en cuyo caso``- 1`` se retorna con una " "excepción establecida)." -#: ../Doc/c-api/slice.rst:39 +#: ../Doc/c-api/slice.rst:40 msgid "You probably do not want to use this function." msgstr "Probablemente no quiera usar esta función." -#: ../Doc/c-api/slice.rst:41 ../Doc/c-api/slice.rst:72 +#: ../Doc/c-api/slice.rst:42 ../Doc/c-api/slice.rst:73 msgid "" "The parameter type for the *slice* parameter was ``PySliceObject*`` before." msgstr "" "El tipo de parámetro para el parámetro *slice* era ``PySliceObject*`` antes." -#: ../Doc/c-api/slice.rst:48 +#: ../Doc/c-api/slice.rst:49 msgid "" "Usable replacement for :c:func:`PySlice_GetIndices`. Retrieve the start, " "stop, and step indices from the slice object *slice* assuming a sequence of " @@ -98,13 +100,13 @@ msgstr "" "*slicelength*. Los índices fuera de los límites se recortan de manera " "coherente con el manejo de sectores normales." -#: ../Doc/c-api/slice.rst:54 +#: ../Doc/c-api/slice.rst:55 msgid "Returns ``0`` on success and ``-1`` on error with exception set." msgstr "" "Retorna ``0`` en caso de éxito y ``-1`` en caso de error con excepción " "establecida." -#: ../Doc/c-api/slice.rst:57 +#: ../Doc/c-api/slice.rst:58 msgid "" "This function is considered not safe for resizable sequences. Its invocation " "should be replaced by a combination of :c:func:`PySlice_Unpack` and :c:func:" @@ -114,11 +116,11 @@ msgstr "" "invocación debe ser reemplazada por una combinación de :c:func:" "`PySlice_Unpack` y :c:func:`PySlice_AdjustIndices` donde::" -#: ../Doc/c-api/slice.rst:65 +#: ../Doc/c-api/slice.rst:66 msgid "is replaced by ::" msgstr "es reemplazado por::" -#: ../Doc/c-api/slice.rst:76 +#: ../Doc/c-api/slice.rst:77 msgid "" "If ``Py_LIMITED_API`` is not set or set to the value between ``0x03050400`` " "and ``0x03060000`` (not including) or ``0x03060100`` or higher :c:func:`!" @@ -132,7 +134,7 @@ msgstr "" "c:func:`! PySlice_Unpack` y :c:func:`!PySlice_AdjustIndices`. Los argumentos " "*start*, *stop* y *step* se evalúan más de una vez." -#: ../Doc/c-api/slice.rst:83 +#: ../Doc/c-api/slice.rst:84 msgid "" "If ``Py_LIMITED_API`` is set to the value less than ``0x03050400`` or " "between ``0x03060000`` and ``0x03060100`` (not including) :c:func:`!" @@ -142,7 +144,7 @@ msgstr "" "entre ``0x03060000`` y ``0x03060100`` (sin incluir) :c:func:`!" "PySlice_GetIndicesEx` es una función obsoleta." -#: ../Doc/c-api/slice.rst:91 +#: ../Doc/c-api/slice.rst:92 msgid "" "Extract the start, stop and step data members from a slice object as C " "integers. Silently reduce values larger than ``PY_SSIZE_T_MAX`` to " @@ -157,11 +159,11 @@ msgstr "" "silenciosamente aumenta los valores de *step* a menos de ``-PY_SSE `` a ``-" "PY_SSIZE_T_MAX``." -#: ../Doc/c-api/slice.rst:97 +#: ../Doc/c-api/slice.rst:98 msgid "Return ``-1`` on error, ``0`` on success." msgstr "Retorna ``-1`` en caso de error, ``0`` en caso de éxito." -#: ../Doc/c-api/slice.rst:104 +#: ../Doc/c-api/slice.rst:105 msgid "" "Adjust start/end slice indices assuming a sequence of the specified length. " "Out of bounds indices are clipped in a manner consistent with the handling " @@ -171,7 +173,7 @@ msgstr "" "longitud especificada. Los índices fuera de los límites se recortan de " "manera coherente con el manejo de sectores normales." -#: ../Doc/c-api/slice.rst:108 +#: ../Doc/c-api/slice.rst:109 msgid "" "Return the length of the slice. Always successful. Doesn't call Python " "code." @@ -179,11 +181,11 @@ msgstr "" "Retorna la longitud de la rebanada. Siempre exitoso. No llama al código de " "Python." -#: ../Doc/c-api/slice.rst:115 +#: ../Doc/c-api/slice.rst:116 msgid "Ellipsis Object" msgstr "Objeto Elipsis" -#: ../Doc/c-api/slice.rst:120 +#: ../Doc/c-api/slice.rst:121 msgid "" "The Python ``Ellipsis`` object. This object has no methods. It needs to be " "treated just like any other object with respect to reference counts. Like :" diff --git a/c-api/structures.po b/c-api/structures.po index 7dd3f2b877..1f1222b4bb 100644 --- a/c-api/structures.po +++ b/c-api/structures.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: python-doc-es\n" @@ -34,7 +34,11 @@ msgstr "" "tipos de objetos de Python. Esta sección describe estas estructuras y la " "forma en que se utilizan." -#: ../Doc/c-api/structures.rst:12 +#: ../Doc/c-api/structures.rst:14 +msgid "Base object types and macros" +msgstr "" + +#: ../Doc/c-api/structures.rst:16 msgid "" "All Python objects ultimately share a small number of fields at the " "beginning of the object's representation in memory. These are represented " @@ -49,7 +53,7 @@ msgstr "" "utilizan, ya sea directa o indirectamente, en la definición de todos otros " "objetos de Python." -#: ../Doc/c-api/structures.rst:21 +#: ../Doc/c-api/structures.rst:25 msgid "" "All object types are extensions of this type. This is a type which contains " "the information Python needs to treat a pointer to an object as an object. " @@ -68,7 +72,7 @@ msgstr "" "una :c:type:`PyObject*`. El acceso a los miembros debe hacerse mediante el " "uso de las macros :c:macro:`Py_REFCNT` y :c:macro:`Py_TYPE`." -#: ../Doc/c-api/structures.rst:33 +#: ../Doc/c-api/structures.rst:37 msgid "" "This is an extension of :c:type:`PyObject` that adds the :attr:`ob_size` " "field. This is only used for objects that have some notion of *length*. " @@ -82,7 +86,7 @@ msgstr "" "acceso a los miembros debe hacerse mediante el uso de las macros :c:macro:" "`Py_REFCNT`, :c:macro:`Py_TYPE`, y :c:macro:`Py_SIZE`." -#: ../Doc/c-api/structures.rst:42 +#: ../Doc/c-api/structures.rst:46 msgid "" "This is a macro used when declaring new types which represent objects " "without a varying length. The PyObject_HEAD macro expands to::" @@ -90,12 +94,12 @@ msgstr "" "Esta es una macro utilizado cuando se declara nuevos tipos que representan " "objetos sin una longitud variable. La macro PyObject_HEAD se expande a::" -#: ../Doc/c-api/structures.rst:47 +#: ../Doc/c-api/structures.rst:51 msgid "See documentation of :c:type:`PyObject` above." msgstr "" "Consulte la documentación de :c:type:`PyObject` en secciones anteriores." -#: ../Doc/c-api/structures.rst:52 +#: ../Doc/c-api/structures.rst:56 msgid "" "This is a macro used when declaring new types which represent objects with a " "length that varies from instance to instance. The PyObject_VAR_HEAD macro " @@ -105,11 +109,11 @@ msgstr "" "objetos con una longitud que varía de una instancia a otra instancia. La " "macro PyObject_VAR_HEAD se expande a::" -#: ../Doc/c-api/structures.rst:58 +#: ../Doc/c-api/structures.rst:62 msgid "See documentation of :c:type:`PyVarObject` above." msgstr "Consulte la documentación de :c:type:`PyVarObject` anteriormente." -#: ../Doc/c-api/structures.rst:63 +#: ../Doc/c-api/structures.rst:67 msgid "" "This macro is used to access the :attr:`ob_type` member of a Python object. " "It expands to::" @@ -117,7 +121,17 @@ msgstr "" "Esta macro se utiliza para acceder al miembro :attr:`ob_type` de un objeto " "Python. Se expande a::" -#: ../Doc/c-api/structures.rst:71 +#: ../Doc/c-api/structures.rst:75 +msgid "" +"Return non-zero if the object *o* type is *type*. Return zero otherwise. " +"Equivalent to: ``Py_TYPE(o) == type``." +msgstr "" + +#: ../Doc/c-api/structures.rst:83 +msgid "Set the object *o* type to *type*." +msgstr "" + +#: ../Doc/c-api/structures.rst:90 msgid "" "This macro is used to access the :attr:`ob_refcnt` member of a Python " "object. It expands to::" @@ -125,7 +139,11 @@ msgstr "" "Esta macro se utiliza para acceder al miembro :attr:`ob_refcnt` de un objeto " "Python. Se expande a::" -#: ../Doc/c-api/structures.rst:80 +#: ../Doc/c-api/structures.rst:99 +msgid "Set the object *o* reference counter to *refcnt*." +msgstr "" + +#: ../Doc/c-api/structures.rst:106 msgid "" "This macro is used to access the :attr:`ob_size` member of a Python object. " "It expands to::" @@ -133,7 +151,11 @@ msgstr "" "Esta macro se utiliza para acceder al miembro :attr:`ob_size` de un objeto " "Python. Se expande a::" -#: ../Doc/c-api/structures.rst:88 +#: ../Doc/c-api/structures.rst:114 +msgid "Set the object *o* size to *size*." +msgstr "" + +#: ../Doc/c-api/structures.rst:121 msgid "" "This is a macro which expands to initialization values for a new :c:type:" "`PyObject` type. This macro expands to::" @@ -141,7 +163,7 @@ msgstr "" "Esta es una macro que se expande para valores de inicialización para un " "nuevo tipo :c:type:`PyObject`. Esta macro expande::" -#: ../Doc/c-api/structures.rst:97 +#: ../Doc/c-api/structures.rst:130 msgid "" "This is a macro which expands to initialization values for a new :c:type:" "`PyVarObject` type, including the :attr:`ob_size` field. This macro expands " @@ -151,10 +173,15 @@ msgstr "" "nuevo tipo :c:type:`PyVarObject`, incluyendo el campo :attr:`ob_size`. Esta " "macro se expande a::" -#: ../Doc/c-api/structures.rst:107 +#: ../Doc/c-api/structures.rst:139 +msgid "Implementing functions and methods" +msgstr "" + +#: ../Doc/c-api/structures.rst:143 +#, fuzzy msgid "" "Type of the functions used to implement most Python callables in C. " -"Functions of this type take two :c:type:`PyObject\\*` parameters and return " +"Functions of this type take two :c:type:`PyObject*` parameters and return " "one such value. If the return value is ``NULL``, an exception shall have " "been set. If not ``NULL``, the return value is interpreted as the return " "value of the function as exposed in Python. The function must return a new " @@ -167,31 +194,48 @@ msgstr "" "interpreta como el valor de retorno de la función que se expone en Python. " "La función debe retornar una nueva referencia." -#: ../Doc/c-api/structures.rst:117 +#: ../Doc/c-api/structures.rst:150 +msgid "The function signature is::" +msgstr "" + +#: ../Doc/c-api/structures.rst:157 +#, fuzzy msgid "" "Type of the functions used to implement Python callables in C with " -"signature :const:`METH_VARARGS | METH_KEYWORDS`." +"signature :const:`METH_VARARGS | METH_KEYWORDS`. The function signature is::" msgstr "" "Tipo de las funciones que se utilizan para implementar invocables Python en " -"C con la firma :const:`METH_VARARGS | METH_KEYWORDS`." +"C con la firma :const:`METH_FASTCALL`." -#: ../Doc/c-api/structures.rst:123 +#: ../Doc/c-api/structures.rst:168 +#, fuzzy msgid "" "Type of the functions used to implement Python callables in C with " -"signature :const:`METH_FASTCALL`." +"signature :const:`METH_FASTCALL`. The function signature is::" msgstr "" "Tipo de las funciones que se utilizan para implementar invocables Python en " "C con la firma :const:`METH_FASTCALL`." -#: ../Doc/c-api/structures.rst:129 +#: ../Doc/c-api/structures.rst:178 +#, fuzzy msgid "" "Type of the functions used to implement Python callables in C with " -"signature :const:`METH_FASTCALL | METH_KEYWORDS`." +"signature :const:`METH_FASTCALL | METH_KEYWORDS`. The function signature is::" msgstr "" "Tipo de las funciones que se utilizan para implementar invocables Python en " -"C con la firma :const:`METH_FASTCALL | METH_KEYWORDS`." +"C con la firma :const:`METH_FASTCALL`." -#: ../Doc/c-api/structures.rst:135 +#: ../Doc/c-api/structures.rst:189 +#, fuzzy +msgid "" +"Type of the functions used to implement Python callables in C with " +"signature :const:`METH_METHOD | METH_FASTCALL | METH_KEYWORDS`. The function " +"signature is::" +msgstr "" +"Tipo de las funciones que se utilizan para implementar invocables Python en " +"C con la firma :const:`METH_FASTCALL`." + +#: ../Doc/c-api/structures.rst:204 msgid "" "Structure used to describe a method of an extension type. This structure " "has four fields:" @@ -199,76 +243,77 @@ msgstr "" "Estructura utiliza para describir un método de un tipo de extensión. Esta " "estructura tiene cuatro campos:" -#: ../Doc/c-api/structures.rst:139 ../Doc/c-api/structures.rst:279 -#: ../Doc/c-api/structures.rst:345 +#: ../Doc/c-api/structures.rst:208 ../Doc/c-api/structures.rst:364 +#: ../Doc/c-api/structures.rst:445 msgid "Field" msgstr "Campo" -#: ../Doc/c-api/structures.rst:139 ../Doc/c-api/structures.rst:279 -#: ../Doc/c-api/structures.rst:345 +#: ../Doc/c-api/structures.rst:208 ../Doc/c-api/structures.rst:364 +#: ../Doc/c-api/structures.rst:445 msgid "C Type" msgstr "Tipo C" -#: ../Doc/c-api/structures.rst:139 ../Doc/c-api/structures.rst:279 -#: ../Doc/c-api/structures.rst:345 +#: ../Doc/c-api/structures.rst:208 ../Doc/c-api/structures.rst:364 +#: ../Doc/c-api/structures.rst:445 msgid "Meaning" msgstr "Significado" -#: ../Doc/c-api/structures.rst:141 +#: ../Doc/c-api/structures.rst:210 msgid ":attr:`ml_name`" msgstr ":attr:`ml_name`" -#: ../Doc/c-api/structures.rst:141 ../Doc/c-api/structures.rst:149 -#: ../Doc/c-api/structures.rst:281 ../Doc/c-api/structures.rst:294 -#: ../Doc/c-api/structures.rst:310 ../Doc/c-api/structures.rst:347 -#: ../Doc/c-api/structures.rst:355 +#: ../Doc/c-api/structures.rst:210 ../Doc/c-api/structures.rst:218 +#: ../Doc/c-api/structures.rst:366 ../Doc/c-api/structures.rst:379 +#: ../Doc/c-api/structures.rst:395 ../Doc/c-api/structures.rst:447 +#: ../Doc/c-api/structures.rst:455 msgid "const char \\*" msgstr "const char \\*" -#: ../Doc/c-api/structures.rst:141 +#: ../Doc/c-api/structures.rst:210 msgid "name of the method" msgstr "nombre del método" -#: ../Doc/c-api/structures.rst:143 +#: ../Doc/c-api/structures.rst:212 msgid ":attr:`ml_meth`" msgstr ":attr:`ml_meth`" -#: ../Doc/c-api/structures.rst:143 +#: ../Doc/c-api/structures.rst:212 msgid "PyCFunction" msgstr "PyCFunction" -#: ../Doc/c-api/structures.rst:143 +#: ../Doc/c-api/structures.rst:212 msgid "pointer to the C implementation" msgstr "puntero a la implementación en C" -#: ../Doc/c-api/structures.rst:146 +#: ../Doc/c-api/structures.rst:215 msgid ":attr:`ml_flags`" msgstr ":attr:`ml_flags`" -#: ../Doc/c-api/structures.rst:146 ../Doc/c-api/structures.rst:283 -#: ../Doc/c-api/structures.rst:290 ../Doc/c-api/structures.rst:306 +#: ../Doc/c-api/structures.rst:215 ../Doc/c-api/structures.rst:368 +#: ../Doc/c-api/structures.rst:375 ../Doc/c-api/structures.rst:391 msgid "int" msgstr "int" -#: ../Doc/c-api/structures.rst:146 +#: ../Doc/c-api/structures.rst:215 msgid "flag bits indicating how the call should be constructed" msgstr "*flag* bits que indican cómo debe ser construida la llamada" -#: ../Doc/c-api/structures.rst:149 +#: ../Doc/c-api/structures.rst:218 msgid ":attr:`ml_doc`" msgstr ":attr:`ml_doc`" -#: ../Doc/c-api/structures.rst:149 ../Doc/c-api/structures.rst:294 +#: ../Doc/c-api/structures.rst:218 ../Doc/c-api/structures.rst:379 msgid "points to the contents of the docstring" msgstr "puntos a los contenidos del docstring" -#: ../Doc/c-api/structures.rst:153 +#: ../Doc/c-api/structures.rst:222 +#, fuzzy msgid "" "The :attr:`ml_meth` is a C function pointer. The functions may be of " -"different types, but they always return :c:type:`PyObject\\*`. If the " +"different types, but they always return :c:type:`PyObject*`. If the " "function is not of the :c:type:`PyCFunction`, the compiler will require a " "cast in the method table. Even though :c:type:`PyCFunction` defines the " -"first parameter as :c:type:`PyObject\\*`, it is common that the method " +"first parameter as :c:type:`PyObject*`, it is common that the method " "implementation uses the specific C type of the *self* object." msgstr "" "El :attr:`ml_meth` es un puntero de función C. Las funciones pueden ser de " @@ -278,7 +323,7 @@ msgstr "" "primer parámetro como :c:type:`PyObject\\*`, es común que la implementación " "del método utiliza el tipo específico C del objecto *self*." -#: ../Doc/c-api/structures.rst:160 +#: ../Doc/c-api/structures.rst:229 msgid "" "The :attr:`ml_flags` field is a bitfield which can include the following " "flags. The individual flags indicate either a calling convention or a " @@ -288,25 +333,19 @@ msgstr "" "siguientes *flags*. Las *flags* individuales indican o bien una convención " "de llamada o una convención vinculante." -#: ../Doc/c-api/structures.rst:164 -msgid "" -"There are four basic calling conventions for positional arguments and two of " -"them can be combined with :const:`METH_KEYWORDS` to support also keyword " -"arguments. So there are a total of 6 calling conventions:" +#: ../Doc/c-api/structures.rst:233 +msgid "There are these calling conventions:" msgstr "" -"Hay cuatro convenciones básicas de llamadas de argumentos posicionales y dos " -"de ellos se pueden combinar con :const:`METH_KEYWORDS` para soportar también " -"argumentos de palabra clave (*keyword*). Así que hay un total de 6 " -"convenciones de llamada:" -#: ../Doc/c-api/structures.rst:170 +#: ../Doc/c-api/structures.rst:237 +#, fuzzy msgid "" "This is the typical calling convention, where the methods have the type :c:" -"type:`PyCFunction`. The function expects two :c:type:`PyObject\\*` values. " -"The first one is the *self* object for methods; for module functions, it is " -"the module object. The second parameter (often called *args*) is a tuple " -"object representing all arguments. This parameter is typically processed " -"using :c:func:`PyArg_ParseTuple` or :c:func:`PyArg_UnpackTuple`." +"type:`PyCFunction`. The function expects two :c:type:`PyObject*` values. The " +"first one is the *self* object for methods; for module functions, it is the " +"module object. The second parameter (often called *args*) is a tuple object " +"representing all arguments. This parameter is typically processed using :c:" +"func:`PyArg_ParseTuple` or :c:func:`PyArg_UnpackTuple`." msgstr "" "Esta es la convención de llamada típica, donde los métodos tienen el tipo :c:" "type:`PyCFunction`. La función espera dos valores :c:type:`PyObject\\*`. El " @@ -316,7 +355,7 @@ msgstr "" "procesa típicamente usando :c:func:`PyArg_ParseTuple` o :c:func:" "`PyArg_UnpackTuple`." -#: ../Doc/c-api/structures.rst:180 +#: ../Doc/c-api/structures.rst:247 msgid "" "Methods with these flags must be of type :c:type:`PyCFunctionWithKeywords`. " "The function expects three parameters: *self*, *args*, *kwargs* where " @@ -331,11 +370,12 @@ msgstr "" "clave. Los parámetros se procesan típicamente usando :c:func:" "`PyArg_ParseTupleAndKeywords`." -#: ../Doc/c-api/structures.rst:189 +#: ../Doc/c-api/structures.rst:256 +#, fuzzy msgid "" "Fast calling convention supporting only positional arguments. The methods " "have the type :c:type:`_PyCFunctionFast`. The first parameter is *self*, the " -"second parameter is a C array of :c:type:`PyObject\\*` values indicating the " +"second parameter is a C array of :c:type:`PyObject*` values indicating the " "arguments and the third parameter is the number of arguments (the length of " "the array)." msgstr "" @@ -345,19 +385,21 @@ msgstr "" "\\*` que indican los argumentos y el tercer parámetro es el número de " "argumentos (la longitud del arreglo)." -#: ../Doc/c-api/structures.rst:195 ../Doc/c-api/structures.rst:210 +#: ../Doc/c-api/structures.rst:262 ../Doc/c-api/structures.rst:279 msgid "This is not part of the :ref:`limited API `." msgstr "Esto no es parte de la :ref:`API limitada `." -#: ../Doc/c-api/structures.rst:202 +#: ../Doc/c-api/structures.rst:269 +#, fuzzy msgid "" "Extension of :const:`METH_FASTCALL` supporting also keyword arguments, with " "methods of type :c:type:`_PyCFunctionFastWithKeywords`. Keyword arguments " -"are passed the same way as in the vectorcall protocol: there is an " -"additional fourth :c:type:`PyObject\\*` parameter which is a tuple " -"representing the names of the keyword arguments or possibly ``NULL`` if " -"there are no keywords. The values of the keyword arguments are stored in " -"the *args* array, after the positional arguments." +"are passed the same way as in the :ref:`vectorcall protocol `: " +"there is an additional fourth :c:type:`PyObject*` parameter which is a tuple " +"representing the names of the keyword arguments (which are guaranteed to be " +"strings) or possibly ``NULL`` if there are no keywords. The values of the " +"keyword arguments are stored in the *args* array, after the positional " +"arguments." msgstr "" "Extensión de :const:`METH_FASTCALL` que apoya también argumentos de palabra " "clave, con los métodos de tipo :c:type:`_PyCFunctionFastWithKeywords`. " @@ -368,7 +410,21 @@ msgstr "" "de los argumentos de palabras clave se almacenan en el arreglo *args*, " "después de los argumentos posicionales." -#: ../Doc/c-api/structures.rst:217 +#: ../Doc/c-api/structures.rst:286 +msgid "" +"Extension of :const:`METH_FASTCALL | METH_KEYWORDS` supporting the *defining " +"class*, that is, the class that contains the method in question. The " +"defining class might be a superclass of ``Py_TYPE(self)``." +msgstr "" + +#: ../Doc/c-api/structures.rst:290 +msgid "" +"The method needs to be of type :c:type:`PyCMethod`, the same as for " +"``METH_FASTCALL | METH_KEYWORDS`` with ``defining_class`` argument added " +"after ``self``." +msgstr "" + +#: ../Doc/c-api/structures.rst:299 msgid "" "Methods without parameters don't need to check whether arguments are given " "if they are listed with the :const:`METH_NOARGS` flag. They need to be of " @@ -382,12 +438,13 @@ msgstr "" "*self* y llevará a cabo una referencia a la instancia módulo u objeto. En " "todos los casos el segundo parámetro será ``NULL``." -#: ../Doc/c-api/structures.rst:226 +#: ../Doc/c-api/structures.rst:308 +#, fuzzy msgid "" "Methods with a single object argument can be listed with the :const:`METH_O` " "flag, instead of invoking :c:func:`PyArg_ParseTuple` with a ``\"O\"`` " "argument. They have the type :c:type:`PyCFunction`, with the *self* " -"parameter, and a :c:type:`PyObject\\*` parameter representing the single " +"parameter, and a :c:type:`PyObject*` parameter representing the single " "argument." msgstr "" "Los métodos con un solo argumento objeto pueden ser listados con el *flag* :" @@ -396,7 +453,7 @@ msgstr "" "*self*, y un parámetro :c:type:`PyObject\\*` que representa el único " "argumento." -#: ../Doc/c-api/structures.rst:232 +#: ../Doc/c-api/structures.rst:314 msgid "" "These two constants are not used to indicate the calling convention but the " "binding when use with methods of classes. These may not be used for " @@ -408,7 +465,7 @@ msgstr "" "pueden usar para funciones definidas para módulos. A lo sumo uno de estos " "*flags* puede establecerse en un método dado." -#: ../Doc/c-api/structures.rst:242 +#: ../Doc/c-api/structures.rst:324 msgid "" "The method will be passed the type object as the first parameter rather than " "an instance of the type. This is used to create *class methods*, similar to " @@ -419,7 +476,7 @@ msgstr "" "methods*), similar a lo que se crea cuando se utiliza la función :func:" "`classmethod` incorporada." -#: ../Doc/c-api/structures.rst:252 +#: ../Doc/c-api/structures.rst:334 msgid "" "The method will be passed ``NULL`` as the first parameter rather than an " "instance of the type. This is used to create *static methods*, similar to " @@ -430,7 +487,7 @@ msgstr "" "similar a lo que se crea cuando se utiliza la función :func:`staticmethod` " "incorporada." -#: ../Doc/c-api/structures.rst:256 +#: ../Doc/c-api/structures.rst:338 msgid "" "One other constant controls whether a method is loaded in place of another " "definition with the same method name." @@ -438,7 +495,7 @@ msgstr "" "En otros controles constantes dependiendo si se carga un método en su lugar " "(*in place*) de otra definición con el mismo nombre del método." -#: ../Doc/c-api/structures.rst:262 +#: ../Doc/c-api/structures.rst:344 msgid "" "The method will be loaded in place of existing definitions. Without " "*METH_COEXIST*, the default is to skip repeated definitions. Since slot " @@ -460,7 +517,11 @@ msgstr "" "coexistirá con la ranura. Esto es útil porque las llamadas a PyCFunctions se " "optimizan más que las llamadas a objetos envolvente." -#: ../Doc/c-api/structures.rst:275 +#: ../Doc/c-api/structures.rst:356 +msgid "Accessing attributes of extension types" +msgstr "" + +#: ../Doc/c-api/structures.rst:360 msgid "" "Structure which describes an attribute of a type which corresponds to a C " "struct member. Its fields are:" @@ -468,51 +529,51 @@ msgstr "" "Estructura que describe un atributo de un tipo que corresponde a un miembro " "de la estructura de C. Sus campos son:" -#: ../Doc/c-api/structures.rst:281 +#: ../Doc/c-api/structures.rst:366 msgid ":attr:`name`" msgstr ":attr:`name`" -#: ../Doc/c-api/structures.rst:281 +#: ../Doc/c-api/structures.rst:366 msgid "name of the member" msgstr "nombre del miembro" -#: ../Doc/c-api/structures.rst:283 +#: ../Doc/c-api/structures.rst:368 msgid ":attr:`!type`" msgstr ":attr:`!type`" -#: ../Doc/c-api/structures.rst:283 +#: ../Doc/c-api/structures.rst:368 msgid "the type of the member in the C struct" msgstr "el tipo de miembro en la estructura de C" -#: ../Doc/c-api/structures.rst:286 +#: ../Doc/c-api/structures.rst:371 msgid ":attr:`offset`" msgstr ":attr:`offset`" -#: ../Doc/c-api/structures.rst:286 ../Doc/c-api/structures.rst:322 +#: ../Doc/c-api/structures.rst:371 ../Doc/c-api/structures.rst:407 msgid "Py_ssize_t" msgstr "Py_ssize_t" -#: ../Doc/c-api/structures.rst:286 +#: ../Doc/c-api/structures.rst:371 msgid "" "the offset in bytes that the member is located on the type's object struct" msgstr "" "el desplazamiento en bytes que el miembro se encuentra en la estructura de " "objetos tipo" -#: ../Doc/c-api/structures.rst:290 +#: ../Doc/c-api/structures.rst:375 msgid ":attr:`flags`" msgstr ":attr:`flags`" -#: ../Doc/c-api/structures.rst:290 +#: ../Doc/c-api/structures.rst:375 msgid "flag bits indicating if the field should be read-only or writable" msgstr "" "*flags* bits que indican si el campo debe ser de sólo lectura o de escritura" -#: ../Doc/c-api/structures.rst:294 +#: ../Doc/c-api/structures.rst:379 msgid ":attr:`doc`" msgstr ":attr:`doc`" -#: ../Doc/c-api/structures.rst:298 +#: ../Doc/c-api/structures.rst:383 msgid "" ":attr:`!type` can be one of many ``T_`` macros corresponding to various C " "types. When the member is accessed in Python, it will be converted to the " @@ -522,136 +583,136 @@ msgstr "" "diversos tipos C. Cuando se accede al miembro en Python, será convertida al " "tipo Python equivalente." -#: ../Doc/c-api/structures.rst:303 +#: ../Doc/c-api/structures.rst:388 msgid "Macro name" msgstr "nombre de la macro" -#: ../Doc/c-api/structures.rst:303 +#: ../Doc/c-api/structures.rst:388 msgid "C type" msgstr "tipo C" -#: ../Doc/c-api/structures.rst:305 +#: ../Doc/c-api/structures.rst:390 msgid "T_SHORT" msgstr "T_SHORT" -#: ../Doc/c-api/structures.rst:305 +#: ../Doc/c-api/structures.rst:390 msgid "short" msgstr "short" -#: ../Doc/c-api/structures.rst:306 +#: ../Doc/c-api/structures.rst:391 msgid "T_INT" msgstr "T_INT" -#: ../Doc/c-api/structures.rst:307 +#: ../Doc/c-api/structures.rst:392 msgid "T_LONG" msgstr "T_LONG" -#: ../Doc/c-api/structures.rst:307 +#: ../Doc/c-api/structures.rst:392 msgid "long" msgstr "long" -#: ../Doc/c-api/structures.rst:308 +#: ../Doc/c-api/structures.rst:393 msgid "T_FLOAT" msgstr "T_FLOAT" -#: ../Doc/c-api/structures.rst:308 +#: ../Doc/c-api/structures.rst:393 msgid "float" msgstr "float" -#: ../Doc/c-api/structures.rst:309 +#: ../Doc/c-api/structures.rst:394 msgid "T_DOUBLE" msgstr "T_DOUBLE" -#: ../Doc/c-api/structures.rst:309 +#: ../Doc/c-api/structures.rst:394 msgid "double" msgstr "double" -#: ../Doc/c-api/structures.rst:310 +#: ../Doc/c-api/structures.rst:395 msgid "T_STRING" msgstr "T_STRING" -#: ../Doc/c-api/structures.rst:311 +#: ../Doc/c-api/structures.rst:396 msgid "T_OBJECT" msgstr "T_OBJECT" -#: ../Doc/c-api/structures.rst:311 ../Doc/c-api/structures.rst:312 +#: ../Doc/c-api/structures.rst:396 ../Doc/c-api/structures.rst:397 msgid "PyObject \\*" msgstr "PyObject \\*" -#: ../Doc/c-api/structures.rst:312 +#: ../Doc/c-api/structures.rst:397 msgid "T_OBJECT_EX" msgstr "T_OBJECT_EX" -#: ../Doc/c-api/structures.rst:313 +#: ../Doc/c-api/structures.rst:398 msgid "T_CHAR" msgstr "T_CHAR" -#: ../Doc/c-api/structures.rst:313 ../Doc/c-api/structures.rst:314 -#: ../Doc/c-api/structures.rst:319 +#: ../Doc/c-api/structures.rst:398 ../Doc/c-api/structures.rst:399 +#: ../Doc/c-api/structures.rst:404 msgid "char" msgstr "char" -#: ../Doc/c-api/structures.rst:314 +#: ../Doc/c-api/structures.rst:399 msgid "T_BYTE" msgstr "T_BYTE" -#: ../Doc/c-api/structures.rst:315 +#: ../Doc/c-api/structures.rst:400 msgid "T_UBYTE" msgstr "T_UBYTE" -#: ../Doc/c-api/structures.rst:315 +#: ../Doc/c-api/structures.rst:400 msgid "unsigned char" msgstr "unsigned char" -#: ../Doc/c-api/structures.rst:316 +#: ../Doc/c-api/structures.rst:401 msgid "T_UINT" msgstr "T_UINT" -#: ../Doc/c-api/structures.rst:316 +#: ../Doc/c-api/structures.rst:401 msgid "unsigned int" msgstr "unsigned int" -#: ../Doc/c-api/structures.rst:317 +#: ../Doc/c-api/structures.rst:402 msgid "T_USHORT" msgstr "T_USHORT" -#: ../Doc/c-api/structures.rst:317 +#: ../Doc/c-api/structures.rst:402 msgid "unsigned short" msgstr "unsigned short" -#: ../Doc/c-api/structures.rst:318 +#: ../Doc/c-api/structures.rst:403 msgid "T_ULONG" msgstr "T_ULONG" -#: ../Doc/c-api/structures.rst:318 +#: ../Doc/c-api/structures.rst:403 msgid "unsigned long" msgstr "unsigned long" -#: ../Doc/c-api/structures.rst:319 +#: ../Doc/c-api/structures.rst:404 msgid "T_BOOL" msgstr "T_BOOL" -#: ../Doc/c-api/structures.rst:320 +#: ../Doc/c-api/structures.rst:405 msgid "T_LONGLONG" msgstr "T_LONGLONG" -#: ../Doc/c-api/structures.rst:320 +#: ../Doc/c-api/structures.rst:405 msgid "long long" msgstr "long long" -#: ../Doc/c-api/structures.rst:321 +#: ../Doc/c-api/structures.rst:406 msgid "T_ULONGLONG" msgstr "T_ULONGLONG" -#: ../Doc/c-api/structures.rst:321 +#: ../Doc/c-api/structures.rst:406 msgid "unsigned long long" msgstr "unsigned long long" -#: ../Doc/c-api/structures.rst:322 +#: ../Doc/c-api/structures.rst:407 msgid "T_PYSSIZET" msgstr "T_PYSSIZET" -#: ../Doc/c-api/structures.rst:325 +#: ../Doc/c-api/structures.rst:410 msgid "" ":c:macro:`T_OBJECT` and :c:macro:`T_OBJECT_EX` differ in that :c:macro:" "`T_OBJECT` returns ``None`` if the member is ``NULL`` and :c:macro:" @@ -667,7 +728,7 @@ msgstr "" "el uso de la declaración :keyword:`del` en ese atributo más correctamente " "que :c:macro:`T_OBJECT`." -#: ../Doc/c-api/structures.rst:332 +#: ../Doc/c-api/structures.rst:417 msgid "" ":attr:`flags` can be ``0`` for write and read access or :c:macro:`READONLY` " "for read-only access. Using :c:macro:`T_STRING` for :attr:`type` implies :c:" @@ -681,7 +742,18 @@ msgstr "" "`T_STRING` se interpretan como UTF-8. Sólo se pueden eliminar :c:macro:" "`T_OBJECT` y miembros :c:macro:`T_OBJECT_EX`. (Se establecen a ``NULL``)." -#: ../Doc/c-api/structures.rst:341 +#: ../Doc/c-api/structures.rst:425 +msgid "" +"Heap allocated types (created using :c:func:`PyType_FromSpec` or similar), " +"``PyMemberDef`` may contain definitions for the special members " +"``__dictoffset__``, ``__weaklistoffset__`` and ``__vectorcalloffset__``, " +"corresponding to :c:member:`~PyTypeObject.tp_dictoffset`, :c:member:" +"`~PyTypeObject.tp_weaklistoffset` and :c:member:`~PyTypeObject." +"tp_vectorcall_offset` in type objects. These must be defined with " +"``T_PYSSIZET`` and ``READONLY``, for example::" +msgstr "" + +#: ../Doc/c-api/structures.rst:441 msgid "" "Structure to define property-like access for a type. See also description of " "the :c:member:`PyTypeObject.tp_getset` slot." @@ -689,35 +761,35 @@ msgstr "" "Estructura para definir el acceso para un tipo como el de una propiedad. " "Véase también la descripción de la ranura :c:member:`PyTypeObject.tp_getset`." -#: ../Doc/c-api/structures.rst:347 +#: ../Doc/c-api/structures.rst:447 msgid "name" msgstr "nombre" -#: ../Doc/c-api/structures.rst:347 +#: ../Doc/c-api/structures.rst:447 msgid "attribute name" msgstr "Nombre del Atributo" -#: ../Doc/c-api/structures.rst:349 +#: ../Doc/c-api/structures.rst:449 msgid "get" msgstr "get" -#: ../Doc/c-api/structures.rst:349 +#: ../Doc/c-api/structures.rst:449 msgid "getter" msgstr "getter" -#: ../Doc/c-api/structures.rst:349 +#: ../Doc/c-api/structures.rst:449 msgid "C Function to get the attribute" msgstr "Función C para obtener el atributo" -#: ../Doc/c-api/structures.rst:351 +#: ../Doc/c-api/structures.rst:451 msgid "set" msgstr "set" -#: ../Doc/c-api/structures.rst:351 +#: ../Doc/c-api/structures.rst:451 msgid "setter" msgstr "setter" -#: ../Doc/c-api/structures.rst:351 +#: ../Doc/c-api/structures.rst:451 msgid "" "optional C function to set or delete the attribute, if omitted the attribute " "is readonly" @@ -725,38 +797,39 @@ msgstr "" "función opcional C para establecer o eliminar el atributo, si se omite el " "atributo es de sólo lectura" -#: ../Doc/c-api/structures.rst:355 +#: ../Doc/c-api/structures.rst:455 msgid "doc" msgstr "doc" -#: ../Doc/c-api/structures.rst:355 +#: ../Doc/c-api/structures.rst:455 msgid "optional docstring" msgstr "docstring opcional" -#: ../Doc/c-api/structures.rst:357 +#: ../Doc/c-api/structures.rst:457 msgid "closure" msgstr "clausura (*closure*)" -#: ../Doc/c-api/structures.rst:357 +#: ../Doc/c-api/structures.rst:457 msgid "void \\*" msgstr "void \\*" -#: ../Doc/c-api/structures.rst:357 +#: ../Doc/c-api/structures.rst:457 msgid "" "optional function pointer, providing additional data for getter and setter" msgstr "" "puntero de función opcional, proporcionar datos adicionales para *getter* y " "*setter*" -#: ../Doc/c-api/structures.rst:362 +#: ../Doc/c-api/structures.rst:462 +#, fuzzy msgid "" -"The ``get`` function takes one :c:type:`PyObject\\*` parameter (the " -"instance) and a function pointer (the associated ``closure``)::" +"The ``get`` function takes one :c:type:`PyObject*` parameter (the instance) " +"and a function pointer (the associated ``closure``)::" msgstr "" "La función ``get`` toma un parámetro :c:type:`PyObject\\*` (la instancia) y " "un puntero de función (el ``closure`` asociado)::" -#: ../Doc/c-api/structures.rst:367 +#: ../Doc/c-api/structures.rst:467 msgid "" "It should return a new reference on success or ``NULL`` with a set exception " "on failure." @@ -764,17 +837,17 @@ msgstr "" "Debe retornar una nueva referencia en caso de éxito o ``NULL`` con una " "excepción establecida en caso de error." -#: ../Doc/c-api/structures.rst:370 +#: ../Doc/c-api/structures.rst:470 +#, fuzzy msgid "" -"``set`` functions take two :c:type:`PyObject\\*` parameters (the instance " -"and the value to be set) and a function pointer (the associated " -"``closure``)::" +"``set`` functions take two :c:type:`PyObject*` parameters (the instance and " +"the value to be set) and a function pointer (the associated ``closure``)::" msgstr "" "Las funciones ``set`` toman dos parámetros :c:type:`PyObject\\*` (la " "instancia y el valor a ser establecido) y un puntero de función (el " "``closure`` asociado)::" -#: ../Doc/c-api/structures.rst:375 +#: ../Doc/c-api/structures.rst:475 msgid "" "In case the attribute should be deleted the second parameter is ``NULL``. " "Should return ``0`` on success or ``-1`` with a set exception on failure." @@ -782,3 +855,27 @@ msgstr "" "En caso de que el atributo deba suprimirse el segundo parámetro es ``NULL``. " "Debe retornar ``0`` en caso de éxito o ``-1`` con una excepción explícita en " "caso de fallo." + +#~ msgid "" +#~ "Type of the functions used to implement Python callables in C with " +#~ "signature :const:`METH_VARARGS | METH_KEYWORDS`." +#~ msgstr "" +#~ "Tipo de las funciones que se utilizan para implementar invocables Python " +#~ "en C con la firma :const:`METH_VARARGS | METH_KEYWORDS`." + +#~ msgid "" +#~ "Type of the functions used to implement Python callables in C with " +#~ "signature :const:`METH_FASTCALL | METH_KEYWORDS`." +#~ msgstr "" +#~ "Tipo de las funciones que se utilizan para implementar invocables Python " +#~ "en C con la firma :const:`METH_FASTCALL | METH_KEYWORDS`." + +#~ msgid "" +#~ "There are four basic calling conventions for positional arguments and two " +#~ "of them can be combined with :const:`METH_KEYWORDS` to support also " +#~ "keyword arguments. So there are a total of 6 calling conventions:" +#~ msgstr "" +#~ "Hay cuatro convenciones básicas de llamadas de argumentos posicionales y " +#~ "dos de ellos se pueden combinar con :const:`METH_KEYWORDS` para soportar " +#~ "también argumentos de palabra clave (*keyword*). Así que hay un total de " +#~ "6 convenciones de llamada:" diff --git a/c-api/sys.po b/c-api/sys.po index fda4005a65..0168fa8e10 100644 --- a/c-api/sys.po +++ b/c-api/sys.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-21 23:31+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" "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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/c-api/sys.rst:6 msgid "Operating System Utilities" @@ -616,6 +615,7 @@ msgstr "" "enumeran en :ref:`table de eventos de auditoria `. Los " "detalles se encuentran en la documentación de cada función." +#: ../Doc/c-api/sys.rst:363 msgid "" "Raises an :ref:`auditing event ` ``sys.addaudithook`` with no " "arguments." @@ -658,7 +658,18 @@ msgstr "" "la función de biblioteca C estándar :c:func:`abort` que intentará producir " "un archivo :file:`core`." -#: ../Doc/c-api/sys.rst:398 +#: ../Doc/c-api/sys.rst:391 +msgid "" +"The ``Py_FatalError()`` function is replaced with a macro which logs " +"automatically the name of the current function, unless the " +"``Py_LIMITED_API`` macro is defined." +msgstr "" + +#: ../Doc/c-api/sys.rst:395 +msgid "Log the function name automatically." +msgstr "" + +#: ../Doc/c-api/sys.rst:405 msgid "" "Exit the current process. This calls :c:func:`Py_FinalizeEx` and then calls " "the standard C library function ``exit(status)``. If :c:func:" @@ -668,11 +679,11 @@ msgstr "" "la función estándar de la biblioteca C ``exit(status)``. Si :c:func:" "`Py_FinalizeEx` indica un error, el estado de salida se establece en 120." -#: ../Doc/c-api/sys.rst:402 +#: ../Doc/c-api/sys.rst:409 msgid "Errors from finalization no longer ignored." msgstr "Los errores de finalización ya no se ignoran." -#: ../Doc/c-api/sys.rst:412 +#: ../Doc/c-api/sys.rst:419 msgid "" "Register a cleanup function to be called by :c:func:`Py_FinalizeEx`. The " "cleanup function will be called with no arguments and should return no " diff --git a/c-api/tuple.po b/c-api/tuple.po index 20b6b82b8f..e48cee8543 100644 --- a/c-api/tuple.po +++ b/c-api/tuple.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-17 21:12+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" "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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/c-api/tuple.rst:6 msgid "Tuple Objects" @@ -40,17 +39,19 @@ msgstr "" "es el mismo objeto que :class:`tuple` en la capa de Python." #: ../Doc/c-api/tuple.rst:24 +#, fuzzy msgid "" "Return true if *p* is a tuple object or an instance of a subtype of the " -"tuple type." +"tuple type. This function always succeeds." msgstr "" "Retorna verdadero si *p* es un objeto tupla o una instancia de un subtipo " "del tipo tupla." #: ../Doc/c-api/tuple.rst:30 +#, fuzzy msgid "" "Return true if *p* is a tuple object, but not an instance of a subtype of " -"the tuple type." +"the tuple type. This function always succeeds." msgstr "" "Retorna verdadero si *p* es un objeto tupla pero no una instancia de un " "subtipo del tipo tupla." @@ -171,15 +172,11 @@ msgstr "" "``*p``. En caso de fallo, retorna ``-1`` y establece ``*p`` en ``NULL``, y " "lanza :exc:`MemoryError` o :exc:`SystemError`." -#: ../Doc/c-api/tuple.rst:116 -msgid "Clear the free list. Return the total number of freed items." -msgstr "Borra la lista libre. Retorna el número total de artículos liberados." - -#: ../Doc/c-api/tuple.rst:120 +#: ../Doc/c-api/tuple.rst:115 msgid "Struct Sequence Objects" msgstr "Objetos de secuencia de estructura" -#: ../Doc/c-api/tuple.rst:122 +#: ../Doc/c-api/tuple.rst:117 msgid "" "Struct sequence objects are the C equivalent of :func:`~collections." "namedtuple` objects, i.e. a sequence whose items can also be accessed " @@ -192,7 +189,7 @@ msgstr "" "secuencia de estructura, primero debe crear un tipo de secuencia de " "estructura específico." -#: ../Doc/c-api/tuple.rst:129 +#: ../Doc/c-api/tuple.rst:124 msgid "" "Create a new struct sequence type from the data in *desc*, described below. " "Instances of the resulting type can be created with :c:func:" @@ -202,12 +199,12 @@ msgstr "" "*desc*, que se describen a continuación. Las instancias del tipo resultante " "se pueden crear con :c:func:`PyStructSequence_New`." -#: ../Doc/c-api/tuple.rst:135 +#: ../Doc/c-api/tuple.rst:130 msgid "Initializes a struct sequence type *type* from *desc* in place." msgstr "" "Inicializa una secuencia de estructura tipo *type* desde *desc* en su lugar." -#: ../Doc/c-api/tuple.rst:140 +#: ../Doc/c-api/tuple.rst:135 msgid "" "The same as ``PyStructSequence_InitType``, but returns ``0`` on success and " "``-1`` on failure." @@ -215,77 +212,78 @@ msgstr "" "Lo mismo que ``PyStructSequence_InitType``, pero retorna ``0`` en caso de " "éxito y ``-1`` en caso de error." -#: ../Doc/c-api/tuple.rst:148 +#: ../Doc/c-api/tuple.rst:143 msgid "Contains the meta information of a struct sequence type to create." msgstr "" "Contiene la meta información de un tipo de secuencia de estructura para " "crear." -#: ../Doc/c-api/tuple.rst:151 ../Doc/c-api/tuple.rst:174 +#: ../Doc/c-api/tuple.rst:146 ../Doc/c-api/tuple.rst:169 msgid "Field" msgstr "Campo" -#: ../Doc/c-api/tuple.rst:151 ../Doc/c-api/tuple.rst:174 +#: ../Doc/c-api/tuple.rst:146 ../Doc/c-api/tuple.rst:169 msgid "C Type" msgstr "Tipo C" -#: ../Doc/c-api/tuple.rst:151 ../Doc/c-api/tuple.rst:174 +#: ../Doc/c-api/tuple.rst:146 ../Doc/c-api/tuple.rst:169 msgid "Meaning" msgstr "Significado" -#: ../Doc/c-api/tuple.rst:153 ../Doc/c-api/tuple.rst:176 +#: ../Doc/c-api/tuple.rst:148 ../Doc/c-api/tuple.rst:171 msgid "``name``" msgstr "``name``" -#: ../Doc/c-api/tuple.rst:153 ../Doc/c-api/tuple.rst:155 -#: ../Doc/c-api/tuple.rst:176 ../Doc/c-api/tuple.rst:181 +#: ../Doc/c-api/tuple.rst:148 ../Doc/c-api/tuple.rst:150 +#: ../Doc/c-api/tuple.rst:171 ../Doc/c-api/tuple.rst:176 msgid "``const char *``" msgstr "``const char *``" -#: ../Doc/c-api/tuple.rst:153 +#: ../Doc/c-api/tuple.rst:148 msgid "name of the struct sequence type" msgstr "nombre del tipo de secuencia de estructura" -#: ../Doc/c-api/tuple.rst:155 ../Doc/c-api/tuple.rst:181 +#: ../Doc/c-api/tuple.rst:150 ../Doc/c-api/tuple.rst:176 msgid "``doc``" msgstr "``doc``" -#: ../Doc/c-api/tuple.rst:155 +#: ../Doc/c-api/tuple.rst:150 msgid "pointer to docstring for the type or ``NULL`` to omit" msgstr "puntero al *docstring* para el tipo o ``NULL`` para omitir" -#: ../Doc/c-api/tuple.rst:158 +#: ../Doc/c-api/tuple.rst:153 msgid "``fields``" msgstr "``fields``" -#: ../Doc/c-api/tuple.rst:158 +#: ../Doc/c-api/tuple.rst:153 msgid "``PyStructSequence_Field *``" msgstr "``PyStructSequence_Field *``" -#: ../Doc/c-api/tuple.rst:158 +#: ../Doc/c-api/tuple.rst:153 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" -#: ../Doc/c-api/tuple.rst:161 +#: ../Doc/c-api/tuple.rst:156 msgid "``n_in_sequence``" msgstr "``n_in_sequence``" -#: ../Doc/c-api/tuple.rst:161 +#: ../Doc/c-api/tuple.rst:156 msgid "``int``" msgstr "``int``" -#: ../Doc/c-api/tuple.rst:161 +#: ../Doc/c-api/tuple.rst:156 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)" -#: ../Doc/c-api/tuple.rst:168 +#: ../Doc/c-api/tuple.rst:163 +#, fuzzy msgid "" "Describes a field of a struct sequence. As a struct sequence is modeled as a " -"tuple, all fields are typed as :c:type:`PyObject\\*`. The index in the :" -"attr:`fields` array of the :c:type:`PyStructSequence_Desc` determines which " -"field of the struct sequence is described." +"tuple, all fields are typed as :c:type:`PyObject*`. The index in the :attr:" +"`fields` array of the :c:type:`PyStructSequence_Desc` determines which field " +"of the struct sequence is described." 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:" @@ -293,7 +291,7 @@ msgstr "" "`PyStructSequence_Desc` determina qué campo de la secuencia de estructura se " "describe." -#: ../Doc/c-api/tuple.rst:176 +#: ../Doc/c-api/tuple.rst:171 msgid "" "name for the field or ``NULL`` to end the list of named fields, set to :c:" "data:`PyStructSequence_UnnamedField` to leave unnamed" @@ -302,15 +300,19 @@ msgstr "" "nombre, establece en :c:data:`PyStructSequence_UnnamedField` para dejar sin " "nombre" -#: ../Doc/c-api/tuple.rst:181 +#: ../Doc/c-api/tuple.rst:176 msgid "field docstring or ``NULL`` to omit" msgstr "campo *docstring* o ``NULL`` para omitir" -#: ../Doc/c-api/tuple.rst:187 +#: ../Doc/c-api/tuple.rst:182 msgid "Special value for a field name to leave it unnamed." msgstr "Valor especial para un nombre de campo para dejarlo sin nombre." -#: ../Doc/c-api/tuple.rst:192 +#: ../Doc/c-api/tuple.rst:184 +msgid "The type was changed from ``char *``." +msgstr "" + +#: ../Doc/c-api/tuple.rst:190 msgid "" "Creates an instance of *type*, which must have been created with :c:func:" "`PyStructSequence_NewType`." @@ -318,7 +320,7 @@ msgstr "" "Crea una instancia de *type*, que debe haberse creado con :c:func:" "`PyStructSequence_NewType`." -#: ../Doc/c-api/tuple.rst:198 +#: ../Doc/c-api/tuple.rst:196 msgid "" "Return the object at position *pos* in the struct sequence pointed to by " "*p*. No bounds checking is performed." @@ -326,11 +328,11 @@ msgstr "" "Retorna el objeto en la posición *pos* en la secuencia de estructura " "apuntada por *p*. No se realiza la comprobación de límites." -#: ../Doc/c-api/tuple.rst:204 +#: ../Doc/c-api/tuple.rst:202 msgid "Macro equivalent of :c:func:`PyStructSequence_GetItem`." msgstr "Macro equivalente de :c:func:`PyStructSequence_GetItem`." -#: ../Doc/c-api/tuple.rst:209 +#: ../Doc/c-api/tuple.rst:207 msgid "" "Sets the field at index *pos* of the struct sequence *p* to value *o*. " "Like :c:func:`PyTuple_SET_ITEM`, this should only be used to fill in brand " @@ -340,10 +342,14 @@ msgstr "" "el valor *o*. Como :c:func:`PyTuple_SET_ITEM`, esto solo debe usarse para " "completar instancias nuevas." -#: ../Doc/c-api/tuple.rst:215 ../Doc/c-api/tuple.rst:224 +#: ../Doc/c-api/tuple.rst:213 ../Doc/c-api/tuple.rst:222 msgid "This function \"steals\" a reference to *o*." msgstr "Esta función \"roba\" una referencia a *o*." -#: ../Doc/c-api/tuple.rst:220 +#: ../Doc/c-api/tuple.rst:218 msgid "Macro equivalent of :c:func:`PyStructSequence_SetItem`." msgstr "Macro equivalente de :c:func:`PyStructSequence_SetItem`." + +#~ msgid "Clear the free list. Return the total number of freed items." +#~ msgstr "" +#~ "Borra la lista libre. Retorna el número total de artículos liberados." diff --git a/c-api/type.po b/c-api/type.po index 1d43d5ac93..44f74a978e 100644 --- a/c-api/type.po +++ b/c-api/type.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-17 22:05+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" "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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/c-api/type.rst:6 msgid "Type Objects" @@ -41,29 +40,33 @@ msgstr "" "`type` en la capa Python." #: ../Doc/c-api/type.rst:24 +#, fuzzy msgid "" -"Return true if the object *o* is a type object, including instances of types " -"derived from the standard type object. Return false in all other cases." +"Return non-zero if the object *o* is a type object, including instances of " +"types derived from the standard type object. Return 0 in all other cases. " +"This function always succeeds." msgstr "" "Retorna verdadero si el objeto *o* es un objeto tipo, incluidas las " "instancias de tipos derivados del objeto tipo estándar. Retorna falso en " "todos los demás casos." -#: ../Doc/c-api/type.rst:30 +#: ../Doc/c-api/type.rst:31 +#, fuzzy msgid "" -"Return true if the object *o* is a type object, but not a subtype of the " -"standard type object. Return false in all other cases." +"Return non-zero if the object *o* is a type object, but not a subtype of the " +"standard type object. Return 0 in all other cases. This function always " +"succeeds." msgstr "" "Retorna verdadero si el objeto *o* es un objeto tipo, pero no un subtipo del " "objeto tipo estándar. Retorna falso en todos los demás casos." -#: ../Doc/c-api/type.rst:36 +#: ../Doc/c-api/type.rst:38 msgid "Clear the internal lookup cache. Return the current version tag." msgstr "" "Borra la caché de búsqueda interna. Retorna la etiqueta (*tag*) de la " "versión actual." -#: ../Doc/c-api/type.rst:40 +#: ../Doc/c-api/type.rst:42 msgid "" "Return the :c:member:`~PyTypeObject.tp_flags` member of *type*. This " "function is primarily meant for use with `Py_LIMITED_API`; the individual " @@ -76,11 +79,11 @@ msgstr "" "las versiones de Python, pero el acceso a :c:member:`~PyTypeObject.tp_flags` " "en sí mismo no forma parte de la API limitada." -#: ../Doc/c-api/type.rst:47 +#: ../Doc/c-api/type.rst:49 msgid "The return type is now ``unsigned long`` rather than ``long``." msgstr "El tipo de retorno es ahora ``unsigned long`` en vez de ``long``." -#: ../Doc/c-api/type.rst:53 +#: ../Doc/c-api/type.rst:55 msgid "" "Invalidate the internal lookup cache for the type and all of its subtypes. " "This function must be called after any manual modification of the attributes " @@ -90,16 +93,17 @@ msgstr "" "subtipos. Esta función debe llamarse después de cualquier modificación " "manual de los atributos o clases base del tipo." -#: ../Doc/c-api/type.rst:60 +#: ../Doc/c-api/type.rst:62 +#, fuzzy msgid "" -"Return true if the type object *o* sets the feature *feature*. Type " +"Return non-zero if the type object *o* sets the feature *feature*. Type " "features are denoted by single bit flags." msgstr "" "Retorna verdadero si el tipo objeto *o* establece la característica " "*feature*. Las características de tipo se denotan con banderas de un solo " "bit." -#: ../Doc/c-api/type.rst:66 +#: ../Doc/c-api/type.rst:68 msgid "" "Return true if the type object includes support for the cycle detector; this " "tests the type flag :const:`Py_TPFLAGS_HAVE_GC`." @@ -107,11 +111,11 @@ msgstr "" "Retorna verdadero si el objeto tipo incluye soporte para el detector de " "ciclo; Esto prueba el indicador de tipo :const:`Py_TPFLAGS_HAVE_GC`." -#: ../Doc/c-api/type.rst:72 +#: ../Doc/c-api/type.rst:74 msgid "Return true if *a* is a subtype of *b*." msgstr "Retorna verdadero si *a* es un subtipo de *b*." -#: ../Doc/c-api/type.rst:74 +#: ../Doc/c-api/type.rst:76 msgid "" "This function only checks for actual subtypes, which means that :meth:" "`~class.__subclasscheck__` is not called on *b*. Call :c:func:" @@ -121,7 +125,7 @@ msgstr "" "__subclasscheck__` no se llama en *b*. Llama :c:func:`PyObject_IsSubclass` " "para hacer el mismo chequeo que :func:`issubclass` haría." -#: ../Doc/c-api/type.rst:82 +#: ../Doc/c-api/type.rst:84 msgid "" "Generic handler for the :c:member:`~PyTypeObject.tp_alloc` slot of a type " "object. Use Python's default memory allocation mechanism to allocate a new " @@ -132,7 +136,7 @@ msgstr "" "Python para asignar una nueva instancia e inicializar todo su contenido a " "``NULL``." -#: ../Doc/c-api/type.rst:88 +#: ../Doc/c-api/type.rst:90 msgid "" "Generic handler for the :c:member:`~PyTypeObject.tp_new` slot of a type " "object. Create a new instance using the type's :c:member:`~PyTypeObject." @@ -142,7 +146,7 @@ msgstr "" "objeto tipo. Crea una nueva instancia utilizando la ranura del tipo :c:" "member:`~PyTypeObject.tp_alloc`." -#: ../Doc/c-api/type.rst:93 +#: ../Doc/c-api/type.rst:95 msgid "" "Finalize a type object. This should be called on all type objects to finish " "their initialization. This function is responsible for adding inherited " @@ -154,7 +158,7 @@ msgstr "" "heredadas de la clase base de un tipo. Retorna ``0`` en caso de éxito o " "retorna ``-1`` y establece una excepción en caso de error." -#: ../Doc/c-api/type.rst:100 +#: ../Doc/c-api/type.rst:102 msgid "" "Return the function pointer stored in the given slot. If the result is " "``NULL``, this indicates that either the slot is ``NULL``, or that the " @@ -166,22 +170,57 @@ msgstr "" "con parámetros no válidos. Las personas que llaman suelen convertir el " "puntero de resultado en el tipo de función apropiado." -#: ../Doc/c-api/type.rst:106 +#: ../Doc/c-api/type.rst:108 msgid "" "See :c:member:`PyType_Slot.slot` for possible values of the *slot* argument." msgstr "" "Consulte :c:member:`PyType_Slot.slot` para conocer los posibles valores del " "argumento *slot*." -#: ../Doc/c-api/type.rst:108 +#: ../Doc/c-api/type.rst:110 msgid "An exception is raised if *type* is not a heap type." msgstr "Se lanza una excepción si *type* no es un tipo montículo (*heap*)." -#: ../Doc/c-api/type.rst:114 +#: ../Doc/c-api/type.rst:116 +msgid "" +"Return the module object associated with the given type when the type was " +"created using :c:func:`PyType_FromModuleAndSpec`." +msgstr "" + +#: ../Doc/c-api/type.rst:119 ../Doc/c-api/type.rst:137 +msgid "" +"If no module is associated with the given type, sets :py:class:`TypeError` " +"and returns ``NULL``." +msgstr "" + +#: ../Doc/c-api/type.rst:122 +msgid "" +"This function is usually used to get the module in which a method is " +"defined. Note that in such a method, ``PyType_GetModule(Py_TYPE(self))`` may " +"not return the intended result. ``Py_TYPE(self)`` may be a *subclass* of the " +"intended class, and subclasses are not necessarily defined in the same " +"module as their superclass. See :c:type:`PyCMethod` to get the class that " +"defines the method." +msgstr "" + +#: ../Doc/c-api/type.rst:133 +msgid "" +"Return the state of the module object associated with the given type. This " +"is a shortcut for calling :c:func:`PyModule_GetState()` on the result of :c:" +"func:`PyType_GetModule`." +msgstr "" + +#: ../Doc/c-api/type.rst:140 +msgid "" +"If the *type* has an associated module but its state is ``NULL``, returns " +"``NULL`` without setting an exception." +msgstr "" + +#: ../Doc/c-api/type.rst:147 msgid "Creating Heap-Allocated Types" msgstr "Crear tipos asignados en montículo (*heap*)" -#: ../Doc/c-api/type.rst:116 +#: ../Doc/c-api/type.rst:149 msgid "" "The following functions and structs are used to create :ref:`heap types " "`." @@ -189,7 +228,7 @@ msgstr "" "Las siguientes funciones y estructuras se utilizan para crear :ref:`heap " "types `." -#: ../Doc/c-api/type.rst:121 +#: ../Doc/c-api/type.rst:154 msgid "" "Creates and returns a heap type object from the *spec* (:const:" "`Py_TPFLAGS_HEAPTYPE`)." @@ -197,7 +236,7 @@ msgstr "" "Crea y retorna un objeto montículo (*heap*) a partir de *spec* (:const:" "`Py_TPFLAGS_HEAPTYPE`)." -#: ../Doc/c-api/type.rst:124 +#: ../Doc/c-api/type.rst:157 msgid "" "If *bases* is a tuple, the created heap type contains all types contained in " "it as base types." @@ -205,32 +244,48 @@ msgstr "" "Si *bases* es una tupla, el tipo montículo (*heap*) creado contiene todos " "los tipos contenidos en él como tipos básicos." -#: ../Doc/c-api/type.rst:127 +#: ../Doc/c-api/type.rst:160 +#, fuzzy msgid "" -"If *bases* is ``NULL``, the *Py_tp_base* slot is used instead. If that also " -"is ``NULL``, the new type derives from :class:`object`." +"If *bases* is ``NULL``, the *Py_tp_bases* slot is used instead. If that also " +"is ``NULL``, the *Py_tp_base* slot is used instead. If that also is " +"``NULL``, the new type derives from :class:`object`." msgstr "" "Si *bases* es ``NULL``, en su lugar se usa la ranura *Py_tp_base*. Si eso " "también es ``NULL``, el nuevo tipo deriva de :class:`object`." -#: ../Doc/c-api/type.rst:130 +#: ../Doc/c-api/type.rst:164 +msgid "" +"The *module* argument can be used to record the module in which the new " +"class is defined. It must be a module object or ``NULL``. If not ``NULL``, " +"the module is associated with the new type and can later be retreived with :" +"c:func:`PyType_GetModule`. The associated module is not inherited by " +"subclasses; it must be specified for each class individually." +msgstr "" + +#: ../Doc/c-api/type.rst:171 msgid "This function calls :c:func:`PyType_Ready` on the new type." msgstr "Esta función llama :c:func:`PyType_Ready` en el tipo nuevo." -#: ../Doc/c-api/type.rst:136 +#: ../Doc/c-api/type.rst:177 +#, fuzzy +msgid "Equivalent to ``PyType_FromModuleAndSpec(NULL, spec, bases)``." +msgstr "Equivalente a ``PyType_FromSpecWithBases(spec, NULL)``." + +#: ../Doc/c-api/type.rst:183 msgid "Equivalent to ``PyType_FromSpecWithBases(spec, NULL)``." msgstr "Equivalente a ``PyType_FromSpecWithBases(spec, NULL)``." -#: ../Doc/c-api/type.rst:140 +#: ../Doc/c-api/type.rst:187 msgid "Structure defining a type's behavior." msgstr "Estructura que define el comportamiento de un tipo." -#: ../Doc/c-api/type.rst:144 +#: ../Doc/c-api/type.rst:191 msgid "Name of the type, used to set :c:member:`PyTypeObject.tp_name`." msgstr "" "Nombre del tipo, utilizado para establecer :c:member:`PyTypeObject.tp_name`." -#: ../Doc/c-api/type.rst:149 +#: ../Doc/c-api/type.rst:196 msgid "" "Size of the instance in bytes, used to set :c:member:`PyTypeObject." "tp_basicsize` and :c:member:`PyTypeObject.tp_itemsize`." @@ -238,13 +293,13 @@ msgstr "" "Tamaño de la instancia en bytes, utilizado para establecer :c:member:" "`PyTypeObject.tp_basicsize` y :c:member:`PyTypeObject.tp_itemsize`." -#: ../Doc/c-api/type.rst:155 +#: ../Doc/c-api/type.rst:202 msgid "Type flags, used to set :c:member:`PyTypeObject.tp_flags`." msgstr "" "Banderas (*flags*) del tipo, que se usan para establecer :c:member:" "`PyTypeObject.tp_flags`." -#: ../Doc/c-api/type.rst:157 +#: ../Doc/c-api/type.rst:204 msgid "" "If the ``Py_TPFLAGS_HEAPTYPE`` flag is not set, :c:func:" "`PyType_FromSpecWithBases` sets it automatically." @@ -252,7 +307,7 @@ msgstr "" "Si el indicador ``Py_TPFLAGS_HEAPTYPE`` no está establecido, :c:func:" "`PyType_FromSpecWithBases` lo establece automáticamente." -#: ../Doc/c-api/type.rst:162 +#: ../Doc/c-api/type.rst:209 msgid "" "Array of :c:type:`PyType_Slot` structures. Terminated by the special slot " "value ``{0, NULL}``." @@ -260,7 +315,7 @@ msgstr "" "Arreglo de estructuras :c:type:`PyType_Slot`. Terminado por el valor de " "ranura especial ``{0, NULL}``." -#: ../Doc/c-api/type.rst:167 +#: ../Doc/c-api/type.rst:214 msgid "" "Structure defining optional functionality of a type, containing a slot ID " "and a value pointer." @@ -268,11 +323,11 @@ msgstr "" "Estructura que define la funcionalidad opcional de un tipo, que contiene una " "ranura ID y un puntero de valor." -#: ../Doc/c-api/type.rst:172 +#: ../Doc/c-api/type.rst:219 msgid "A slot ID." msgstr "Una ranura ID." -#: ../Doc/c-api/type.rst:174 +#: ../Doc/c-api/type.rst:221 msgid "" "Slot IDs are named like the field names of the structures :c:type:" "`PyTypeObject`, :c:type:`PyNumberMethods`, :c:type:`PySequenceMethods`, :c:" @@ -284,78 +339,105 @@ msgstr "" "`PySequenceMethods`, :c:type:`PyMappingMethods` y :c:type:`PyAsyncMethods` " "con un prefijo ``Py_`` agregado. Por ejemplo, use:" -#: ../Doc/c-api/type.rst:180 +#: ../Doc/c-api/type.rst:227 msgid "``Py_tp_dealloc`` to set :c:member:`PyTypeObject.tp_dealloc`" msgstr "``Py_tp_dealloc`` para establecer :c:member:`PyTypeObject.tp_dealloc`" -#: ../Doc/c-api/type.rst:181 +#: ../Doc/c-api/type.rst:228 msgid "``Py_nb_add`` to set :c:member:`PyNumberMethods.nb_add`" msgstr "``Py_nb_add`` para establecer :c:member:`PyNumberMethods.nb_add`" -#: ../Doc/c-api/type.rst:182 +#: ../Doc/c-api/type.rst:229 msgid "``Py_sq_length`` to set :c:member:`PySequenceMethods.sq_length`" msgstr "" "``Py_sq_length`` para establecer :c:member:`PySequenceMethods.sq_length`" -#: ../Doc/c-api/type.rst:184 +#: ../Doc/c-api/type.rst:231 +#, fuzzy msgid "" -"The following fields cannot be set using :c:type:`PyType_Spec` and :c:type:" -"`PyType_Slot`:" +"The following fields cannot be set at all using :c:type:`PyType_Spec` and :c:" +"type:`PyType_Slot`:" msgstr "" "Los siguientes campos no se pueden establecer usando :c:type:`PyType_Spec` " "y :c:type:`PyType_Slot`:" -#: ../Doc/c-api/type.rst:186 +#: ../Doc/c-api/type.rst:234 msgid ":c:member:`~PyTypeObject.tp_dict`" msgstr ":c:member:`~PyTypeObject.tp_dict`" -#: ../Doc/c-api/type.rst:187 +#: ../Doc/c-api/type.rst:235 msgid ":c:member:`~PyTypeObject.tp_mro`" msgstr ":c:member:`~PyTypeObject.tp_mro`" -#: ../Doc/c-api/type.rst:188 +#: ../Doc/c-api/type.rst:236 msgid ":c:member:`~PyTypeObject.tp_cache`" msgstr ":c:member:`~PyTypeObject.tp_cache`" -#: ../Doc/c-api/type.rst:189 +#: ../Doc/c-api/type.rst:237 msgid ":c:member:`~PyTypeObject.tp_subclasses`" msgstr ":c:member:`~PyTypeObject.tp_subclasses`" -#: ../Doc/c-api/type.rst:190 +#: ../Doc/c-api/type.rst:238 msgid ":c:member:`~PyTypeObject.tp_weaklist`" msgstr ":c:member:`~PyTypeObject.tp_weaklist`" -#: ../Doc/c-api/type.rst:191 -msgid ":c:member:`~PyTypeObject.tp_print`" -msgstr ":c:member:`~PyTypeObject.tp_print`" +#: ../Doc/c-api/type.rst:239 +#, fuzzy +msgid ":c:member:`~PyTypeObject.tp_vectorcall`" +msgstr ":c:member:`~PyTypeObject.tp_dict`" -#: ../Doc/c-api/type.rst:192 -msgid ":c:member:`~PyTypeObject.tp_weaklistoffset`" +#: ../Doc/c-api/type.rst:240 +#, fuzzy +msgid "" +":c:member:`~PyTypeObject.tp_weaklistoffset` (see :ref:`PyMemberDef " +"`)" msgstr ":c:member:`~PyTypeObject.tp_weaklistoffset`" -#: ../Doc/c-api/type.rst:193 -msgid ":c:member:`~PyTypeObject.tp_dictoffset`" -msgstr ":c:member:`~PyTypeObject.tp_dictoffset`" +#: ../Doc/c-api/type.rst:242 +msgid "" +":c:member:`~PyTypeObject.tp_dictoffset` (see :ref:`PyMemberDef `)" +msgstr "" + +#: ../Doc/c-api/type.rst:244 +msgid "" +":c:member:`~PyTypeObject.tp_vectorcall_offset` (see :ref:`PyMemberDef " +"`)" +msgstr "" + +#: ../Doc/c-api/type.rst:247 +#, fuzzy +msgid "" +"The following fields cannot be set using :c:type:`PyType_Spec` and :c:type:" +"`PyType_Slot` under the limited API:" +msgstr "" +"Los siguientes campos no se pueden establecer usando :c:type:`PyType_Spec` " +"y :c:type:`PyType_Slot`:" -#: ../Doc/c-api/type.rst:194 +#: ../Doc/c-api/type.rst:250 msgid ":c:member:`~PyBufferProcs.bf_getbuffer`" msgstr ":c:member:`~PyBufferProcs.bf_getbuffer`" -#: ../Doc/c-api/type.rst:195 +#: ../Doc/c-api/type.rst:251 msgid ":c:member:`~PyBufferProcs.bf_releasebuffer`" msgstr ":c:member:`~PyBufferProcs.bf_releasebuffer`" -#: ../Doc/c-api/type.rst:197 +#: ../Doc/c-api/type.rst:253 +#, fuzzy msgid "" -"Setting :c:data:`Py_tp_bases` may be problematic on some platforms. To avoid " -"issues, use the *bases* argument of :py:func:`PyType_FromSpecWithBases` " -"instead." +"Setting :c:data:`Py_tp_bases` or :c:data:`Py_tp_base` may be problematic on " +"some platforms. To avoid issues, use the *bases* argument of :py:func:" +"`PyType_FromSpecWithBases` instead." msgstr "" "Estableciendo :c:data:`Py_tp_bases` puede ser problemático en algunas " "plataformas. Para evitar problemas, use el argumento *bases* de :py:func:" "`PyType_FromSpecWithBases` en su lugar." -#: ../Doc/c-api/type.rst:203 +#: ../Doc/c-api/type.rst:260 +msgid "Slots in :c:type:`PyBufferProcs` in may be set in the unlimited API." +msgstr "" + +#: ../Doc/c-api/type.rst:264 msgid "" "The desired value of the slot. In most cases, this is a pointer to a " "function." @@ -363,6 +445,12 @@ msgstr "" "El valor deseado de la ranura. En la mayoría de los casos, este es un " "puntero a una función." -#: ../Doc/c-api/type.rst:206 +#: ../Doc/c-api/type.rst:267 msgid "May not be ``NULL``." msgstr "Puede no ser ``NULL``." + +#~ msgid ":c:member:`~PyTypeObject.tp_print`" +#~ msgstr ":c:member:`~PyTypeObject.tp_print`" + +#~ msgid ":c:member:`~PyTypeObject.tp_dictoffset`" +#~ msgstr ":c:member:`~PyTypeObject.tp_dictoffset`" diff --git a/c-api/typeobj.po b/c-api/typeobj.po index c96a372d3b..835c57effa 100644 --- a/c-api/typeobj.po +++ b/c-api/typeobj.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-19 00:16+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" "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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/c-api/typeobj.rst:6 msgid "Type Objects" @@ -83,7 +82,7 @@ msgstr "\"ranuras *tp*\" (*tp slots*)" msgid "PyTypeObject Slot [#slots]_" msgstr "Ranura ``PyTypeObject`` [#slots]_" -#: ../Doc/c-api/typeobj.rst:40 ../Doc/c-api/typeobj.rst:200 +#: ../Doc/c-api/typeobj.rst:40 ../Doc/c-api/typeobj.rst:193 msgid ":ref:`Type `" msgstr ":ref:`Type `" @@ -126,20 +125,20 @@ msgstr "__name__" #: ../Doc/c-api/typeobj.rst:44 ../Doc/c-api/typeobj.rst:46 #: ../Doc/c-api/typeobj.rst:48 ../Doc/c-api/typeobj.rst:50 -#: ../Doc/c-api/typeobj.rst:62 ../Doc/c-api/typeobj.rst:70 -#: ../Doc/c-api/typeobj.rst:72 ../Doc/c-api/typeobj.rst:74 -#: ../Doc/c-api/typeobj.rst:76 ../Doc/c-api/typeobj.rst:79 -#: ../Doc/c-api/typeobj.rst:84 ../Doc/c-api/typeobj.rst:86 -#: ../Doc/c-api/typeobj.rst:88 ../Doc/c-api/typeobj.rst:90 -#: ../Doc/c-api/typeobj.rst:92 ../Doc/c-api/typeobj.rst:99 -#: ../Doc/c-api/typeobj.rst:101 ../Doc/c-api/typeobj.rst:103 -#: ../Doc/c-api/typeobj.rst:105 ../Doc/c-api/typeobj.rst:107 -#: ../Doc/c-api/typeobj.rst:109 ../Doc/c-api/typeobj.rst:111 -#: ../Doc/c-api/typeobj.rst:115 ../Doc/c-api/typeobj.rst:117 -#: ../Doc/c-api/typeobj.rst:120 ../Doc/c-api/typeobj.rst:122 -#: ../Doc/c-api/typeobj.rst:124 ../Doc/c-api/typeobj.rst:126 -#: ../Doc/c-api/typeobj.rst:128 ../Doc/c-api/typeobj.rst:130 -#: ../Doc/c-api/typeobj.rst:146 +#: ../Doc/c-api/typeobj.rst:52 ../Doc/c-api/typeobj.rst:62 +#: ../Doc/c-api/typeobj.rst:70 ../Doc/c-api/typeobj.rst:72 +#: ../Doc/c-api/typeobj.rst:74 ../Doc/c-api/typeobj.rst:76 +#: ../Doc/c-api/typeobj.rst:79 ../Doc/c-api/typeobj.rst:84 +#: ../Doc/c-api/typeobj.rst:86 ../Doc/c-api/typeobj.rst:88 +#: ../Doc/c-api/typeobj.rst:90 ../Doc/c-api/typeobj.rst:92 +#: ../Doc/c-api/typeobj.rst:99 ../Doc/c-api/typeobj.rst:101 +#: ../Doc/c-api/typeobj.rst:103 ../Doc/c-api/typeobj.rst:105 +#: ../Doc/c-api/typeobj.rst:107 ../Doc/c-api/typeobj.rst:109 +#: ../Doc/c-api/typeobj.rst:111 ../Doc/c-api/typeobj.rst:115 +#: ../Doc/c-api/typeobj.rst:117 ../Doc/c-api/typeobj.rst:120 +#: ../Doc/c-api/typeobj.rst:122 ../Doc/c-api/typeobj.rst:124 +#: ../Doc/c-api/typeobj.rst:126 ../Doc/c-api/typeobj.rst:128 +#: ../Doc/c-api/typeobj.rst:130 ../Doc/c-api/typeobj.rst:146 msgid "X" msgstr "X" @@ -150,7 +149,7 @@ msgstr ":c:member:`~PyTypeObject.tp_basicsize`" #: ../Doc/c-api/typeobj.rst ../Doc/c-api/typeobj.rst:46 #: ../Doc/c-api/typeobj.rst:48 ../Doc/c-api/typeobj.rst:52 #: ../Doc/c-api/typeobj.rst:99 ../Doc/c-api/typeobj.rst:120 -#: ../Doc/c-api/typeobj.rst:413 +#: ../Doc/c-api/typeobj.rst:406 msgid "Py_ssize_t" msgstr "Py_ssize_t" @@ -163,7 +162,7 @@ msgid ":c:member:`~PyTypeObject.tp_dealloc`" msgstr ":c:member:`~PyTypeObject.tp_dealloc`" #: ../Doc/c-api/typeobj.rst:50 ../Doc/c-api/typeobj.rst:142 -#: ../Doc/c-api/typeobj.rst:146 ../Doc/c-api/typeobj.rst:343 +#: ../Doc/c-api/typeobj.rst:146 ../Doc/c-api/typeobj.rst:336 msgid ":c:type:`destructor`" msgstr ":c:type:`destructor`" @@ -171,18 +170,11 @@ msgstr ":c:type:`destructor`" msgid ":c:member:`~PyTypeObject.tp_vectorcall_offset`" msgstr ":c:member:`~PyTypeObject.tp_vectorcall_offset`" -#: ../Doc/c-api/typeobj.rst:52 ../Doc/c-api/typeobj.rst:84 -#: ../Doc/c-api/typeobj.rst:99 ../Doc/c-api/typeobj.rst:113 -#: ../Doc/c-api/typeobj.rst:120 ../Doc/c-api/typeobj.rst:124 -#: ../Doc/c-api/typeobj.rst:126 ../Doc/c-api/typeobj.rst:128 -msgid "?" -msgstr "?" - #: ../Doc/c-api/typeobj.rst:54 msgid "(:c:member:`~PyTypeObject.tp_getattr`)" msgstr "(:c:member:`~PyTypeObject.tp_getattr`)" -#: ../Doc/c-api/typeobj.rst:54 ../Doc/c-api/typeobj.rst:367 +#: ../Doc/c-api/typeobj.rst:54 ../Doc/c-api/typeobj.rst:360 msgid ":c:type:`getattrfunc`" msgstr ":c:type:`getattrfunc`" @@ -201,7 +193,7 @@ msgstr "G" msgid "(:c:member:`~PyTypeObject.tp_setattr`)" msgstr "(:c:member:`~PyTypeObject.tp_setattr`)" -#: ../Doc/c-api/typeobj.rst:57 ../Doc/c-api/typeobj.rst:372 +#: ../Doc/c-api/typeobj.rst:57 ../Doc/c-api/typeobj.rst:365 msgid ":c:type:`setattrfunc`" msgstr ":c:type:`setattrfunc`" @@ -233,7 +225,7 @@ msgid ":c:member:`~PyTypeObject.tp_repr`" msgstr ":c:member:`~PyTypeObject.tp_repr`" #: ../Doc/c-api/typeobj.rst:62 ../Doc/c-api/typeobj.rst:74 -#: ../Doc/c-api/typeobj.rst:365 +#: ../Doc/c-api/typeobj.rst:358 msgid ":c:type:`reprfunc`" msgstr ":c:type:`reprfunc`" @@ -269,7 +261,7 @@ msgstr ":c:type:`PyMappingMethods` *" msgid ":c:member:`~PyTypeObject.tp_hash`" msgstr ":c:member:`~PyTypeObject.tp_hash`" -#: ../Doc/c-api/typeobj.rst:70 ../Doc/c-api/typeobj.rst:401 +#: ../Doc/c-api/typeobj.rst:70 ../Doc/c-api/typeobj.rst:394 msgid ":c:type:`hashfunc`" msgstr ":c:type:`hashfunc`" @@ -281,8 +273,8 @@ msgstr "__hash__" msgid ":c:member:`~PyTypeObject.tp_call`" msgstr ":c:member:`~PyTypeObject.tp_call`" -#: ../Doc/c-api/typeobj.rst:72 ../Doc/c-api/typeobj.rst:234 -#: ../Doc/c-api/typeobj.rst:237 ../Doc/c-api/typeobj.rst:437 +#: ../Doc/c-api/typeobj.rst:72 ../Doc/c-api/typeobj.rst:227 +#: ../Doc/c-api/typeobj.rst:230 ../Doc/c-api/typeobj.rst:430 msgid ":c:type:`ternaryfunc`" msgstr ":c:type:`ternaryfunc`" @@ -302,7 +294,7 @@ msgstr "__str__" msgid ":c:member:`~PyTypeObject.tp_getattro`" msgstr ":c:member:`~PyTypeObject.tp_getattro`" -#: ../Doc/c-api/typeobj.rst:76 ../Doc/c-api/typeobj.rst:378 +#: ../Doc/c-api/typeobj.rst:76 ../Doc/c-api/typeobj.rst:371 msgid ":c:type:`getattrofunc`" msgstr ":c:type:`getattrofunc`" @@ -310,7 +302,7 @@ msgstr ":c:type:`getattrofunc`" msgid ":c:member:`~PyTypeObject.tp_setattro`" msgstr ":c:member:`~PyTypeObject.tp_setattro`" -#: ../Doc/c-api/typeobj.rst:79 ../Doc/c-api/typeobj.rst:383 +#: ../Doc/c-api/typeobj.rst:79 ../Doc/c-api/typeobj.rst:376 msgid ":c:type:`setattrofunc`" msgstr ":c:type:`setattrofunc`" @@ -330,6 +322,13 @@ msgstr ":c:member:`~PyTypeObject.tp_flags`" msgid "unsigned long" msgstr "unsigned long" +#: ../Doc/c-api/typeobj.rst:84 ../Doc/c-api/typeobj.rst:99 +#: ../Doc/c-api/typeobj.rst:113 ../Doc/c-api/typeobj.rst:120 +#: ../Doc/c-api/typeobj.rst:124 ../Doc/c-api/typeobj.rst:126 +#: ../Doc/c-api/typeobj.rst:128 +msgid "?" +msgstr "?" + #: ../Doc/c-api/typeobj.rst:86 msgid ":c:member:`~PyTypeObject.tp_doc`" msgstr ":c:member:`~PyTypeObject.tp_doc`" @@ -342,7 +341,7 @@ msgstr "__doc__" msgid ":c:member:`~PyTypeObject.tp_traverse`" msgstr ":c:member:`~PyTypeObject.tp_traverse`" -#: ../Doc/c-api/typeobj.rst:88 ../Doc/c-api/typeobj.rst:347 +#: ../Doc/c-api/typeobj.rst:88 ../Doc/c-api/typeobj.rst:340 msgid ":c:type:`traverseproc`" msgstr ":c:type:`traverseproc`" @@ -351,7 +350,7 @@ msgid ":c:member:`~PyTypeObject.tp_clear`" msgstr ":c:member:`~PyTypeObject.tp_clear`" #: ../Doc/c-api/typeobj.rst:90 ../Doc/c-api/typeobj.rst:130 -#: ../Doc/c-api/typeobj.rst:245 ../Doc/c-api/typeobj.rst:426 +#: ../Doc/c-api/typeobj.rst:238 ../Doc/c-api/typeobj.rst:419 msgid ":c:type:`inquiry`" msgstr ":c:type:`inquiry`" @@ -359,7 +358,7 @@ msgstr ":c:type:`inquiry`" msgid ":c:member:`~PyTypeObject.tp_richcompare`" msgstr ":c:member:`~PyTypeObject.tp_richcompare`" -#: ../Doc/c-api/typeobj.rst:92 ../Doc/c-api/typeobj.rst:403 +#: ../Doc/c-api/typeobj.rst:92 ../Doc/c-api/typeobj.rst:396 msgid ":c:type:`richcmpfunc`" msgstr ":c:type:`richcmpfunc`" @@ -375,7 +374,7 @@ msgstr ":c:member:`~PyTypeObject.tp_weaklistoffset`" msgid ":c:member:`~PyTypeObject.tp_iter`" msgstr ":c:member:`~PyTypeObject.tp_iter`" -#: ../Doc/c-api/typeobj.rst:101 ../Doc/c-api/typeobj.rst:409 +#: ../Doc/c-api/typeobj.rst:101 ../Doc/c-api/typeobj.rst:402 msgid ":c:type:`getiterfunc`" msgstr ":c:type:`getiterfunc`" @@ -387,7 +386,7 @@ msgstr "__iter__" msgid ":c:member:`~PyTypeObject.tp_iternext`" msgstr ":c:member:`~PyTypeObject.tp_iternext`" -#: ../Doc/c-api/typeobj.rst:103 ../Doc/c-api/typeobj.rst:411 +#: ../Doc/c-api/typeobj.rst:103 ../Doc/c-api/typeobj.rst:404 msgid ":c:type:`iternextfunc`" msgstr ":c:type:`iternextfunc`" @@ -438,14 +437,14 @@ msgstr ":c:member:`~PyTypeObject.tp_dict`" #: ../Doc/c-api/typeobj.rst ../Doc/c-api/typeobj.rst:113 #: ../Doc/c-api/typeobj.rst:132 ../Doc/c-api/typeobj.rst:134 #: ../Doc/c-api/typeobj.rst:136 ../Doc/c-api/typeobj.rst:138 -#: ../Doc/c-api/typeobj.rst:140 ../Doc/c-api/typeobj.rst:338 -#: ../Doc/c-api/typeobj.rst:353 ../Doc/c-api/typeobj.rst:365 -#: ../Doc/c-api/typeobj.rst:367 ../Doc/c-api/typeobj.rst:378 -#: ../Doc/c-api/typeobj.rst:389 ../Doc/c-api/typeobj.rst:401 -#: ../Doc/c-api/typeobj.rst:403 ../Doc/c-api/typeobj.rst:409 -#: ../Doc/c-api/typeobj.rst:411 ../Doc/c-api/typeobj.rst:413 -#: ../Doc/c-api/typeobj.rst:428 ../Doc/c-api/typeobj.rst:432 -#: ../Doc/c-api/typeobj.rst:437 ../Doc/c-api/typeobj.rst:443 +#: ../Doc/c-api/typeobj.rst:140 ../Doc/c-api/typeobj.rst:331 +#: ../Doc/c-api/typeobj.rst:346 ../Doc/c-api/typeobj.rst:358 +#: ../Doc/c-api/typeobj.rst:360 ../Doc/c-api/typeobj.rst:371 +#: ../Doc/c-api/typeobj.rst:382 ../Doc/c-api/typeobj.rst:394 +#: ../Doc/c-api/typeobj.rst:396 ../Doc/c-api/typeobj.rst:402 +#: ../Doc/c-api/typeobj.rst:404 ../Doc/c-api/typeobj.rst:406 +#: ../Doc/c-api/typeobj.rst:421 ../Doc/c-api/typeobj.rst:425 +#: ../Doc/c-api/typeobj.rst:430 ../Doc/c-api/typeobj.rst:436 msgid ":c:type:`PyObject` *" msgstr ":c:type:`PyObject` *" @@ -457,7 +456,7 @@ msgstr "__dict__" msgid ":c:member:`~PyTypeObject.tp_descr_get`" msgstr ":c:member:`~PyTypeObject.tp_descr_get`" -#: ../Doc/c-api/typeobj.rst:115 ../Doc/c-api/typeobj.rst:389 +#: ../Doc/c-api/typeobj.rst:115 ../Doc/c-api/typeobj.rst:382 msgid ":c:type:`descrgetfunc`" msgstr ":c:type:`descrgetfunc`" @@ -469,7 +468,7 @@ msgstr "__get__" msgid ":c:member:`~PyTypeObject.tp_descr_set`" msgstr ":c:member:`~PyTypeObject.tp_descr_set`" -#: ../Doc/c-api/typeobj.rst:117 ../Doc/c-api/typeobj.rst:395 +#: ../Doc/c-api/typeobj.rst:117 ../Doc/c-api/typeobj.rst:388 msgid ":c:type:`descrsetfunc`" msgstr ":c:type:`descrsetfunc`" @@ -485,7 +484,7 @@ msgstr ":c:member:`~PyTypeObject.tp_dictoffset`" msgid ":c:member:`~PyTypeObject.tp_init`" msgstr ":c:member:`~PyTypeObject.tp_init`" -#: ../Doc/c-api/typeobj.rst:122 ../Doc/c-api/typeobj.rst:359 +#: ../Doc/c-api/typeobj.rst:122 ../Doc/c-api/typeobj.rst:352 msgid ":c:type:`initproc`" msgstr ":c:type:`initproc`" @@ -497,7 +496,7 @@ msgstr "__init__" msgid ":c:member:`~PyTypeObject.tp_alloc`" msgstr ":c:member:`~PyTypeObject.tp_alloc`" -#: ../Doc/c-api/typeobj.rst:124 ../Doc/c-api/typeobj.rst:338 +#: ../Doc/c-api/typeobj.rst:124 ../Doc/c-api/typeobj.rst:331 msgid ":c:type:`allocfunc`" msgstr ":c:type:`allocfunc`" @@ -505,7 +504,7 @@ msgstr ":c:type:`allocfunc`" msgid ":c:member:`~PyTypeObject.tp_new`" msgstr ":c:member:`~PyTypeObject.tp_new`" -#: ../Doc/c-api/typeobj.rst:126 ../Doc/c-api/typeobj.rst:353 +#: ../Doc/c-api/typeobj.rst:126 ../Doc/c-api/typeobj.rst:346 msgid ":c:type:`newfunc`" msgstr ":c:type:`newfunc`" @@ -517,7 +516,7 @@ msgstr "__new__" msgid ":c:member:`~PyTypeObject.tp_free`" msgstr ":c:member:`~PyTypeObject.tp_free`" -#: ../Doc/c-api/typeobj.rst:128 ../Doc/c-api/typeobj.rst:345 +#: ../Doc/c-api/typeobj.rst:128 ../Doc/c-api/typeobj.rst:338 msgid ":c:type:`freefunc`" msgstr ":c:type:`freefunc`" @@ -581,35 +580,17 @@ msgstr ":c:member:`~PyTypeObject.tp_finalize`" msgid "__del__" msgstr "__del__" -#: ../Doc/c-api/typeobj.rst:149 -msgid "" -"If :const:`COUNT_ALLOCS` is defined then the following (internal-only) " -"fields exist as well:" -msgstr "" -"Si :const:`COUNT_ALLOCS` está definido, entonces también existen los " -"siguientes campos (solo internos):" - -#: ../Doc/c-api/typeobj.rst:152 -msgid ":c:member:`~PyTypeObject.tp_allocs`" -msgstr ":c:member:`~PyTypeObject.tp_allocs`" - -#: ../Doc/c-api/typeobj.rst:153 -msgid ":c:member:`~PyTypeObject.tp_frees`" -msgstr ":c:member:`~PyTypeObject.tp_frees`" - -#: ../Doc/c-api/typeobj.rst:154 -msgid ":c:member:`~PyTypeObject.tp_maxalloc`" -msgstr ":c:member:`~PyTypeObject.tp_maxalloc`" - -#: ../Doc/c-api/typeobj.rst:155 -msgid ":c:member:`~PyTypeObject.tp_prev`" -msgstr ":c:member:`~PyTypeObject.tp_prev`" +#: ../Doc/c-api/typeobj.rst:148 +#, fuzzy +msgid ":c:member:`~PyTypeObject.tp_vectorcall`" +msgstr ":c:member:`~PyTypeObject.tp_vectorcall_offset`" -#: ../Doc/c-api/typeobj.rst:156 -msgid ":c:member:`~PyTypeObject.tp_next`" -msgstr ":c:member:`~PyTypeObject.tp_next`" +#: ../Doc/c-api/typeobj.rst:148 +#, fuzzy +msgid ":c:type:`vectorcallfunc`" +msgstr ":c:type:`allocfunc`" -#: ../Doc/c-api/typeobj.rst:159 +#: ../Doc/c-api/typeobj.rst:152 msgid "" "A slot name in parentheses indicates it is (effectively) deprecated. Names " "in angle brackets should be treated as read-only. Names in square brackets " @@ -622,27 +603,27 @@ msgstr "" "\" (como prefijo) significa que el campo es obligatorio (no debe ser " "``NULL``)." -#: ../Doc/c-api/typeobj.rst:163 +#: ../Doc/c-api/typeobj.rst:156 msgid "Columns:" msgstr "Columnas:" -#: ../Doc/c-api/typeobj.rst:165 +#: ../Doc/c-api/typeobj.rst:158 msgid "**\"O\"**: set on :c:type:`PyBaseObject_Type`" msgstr "**\"O\"**: establecido en :c:type:`PyBaseObject_Type`" -#: ../Doc/c-api/typeobj.rst:167 +#: ../Doc/c-api/typeobj.rst:160 msgid "**\"T\"**: set on :c:type:`PyType_Type`" msgstr "**\"T\"**: establecido en :c:type:`PyType_Type`" -#: ../Doc/c-api/typeobj.rst:169 +#: ../Doc/c-api/typeobj.rst:162 msgid "**\"D\"**: default (if slot is set to ``NULL``)" msgstr "**\"D\"**: por defecto (si la ranura está establecida como ``NULL``)" -#: ../Doc/c-api/typeobj.rst:179 +#: ../Doc/c-api/typeobj.rst:172 msgid "**\"I\"**: inheritance" msgstr "**\"I\"**: herencia" -#: ../Doc/c-api/typeobj.rst:188 +#: ../Doc/c-api/typeobj.rst:181 msgid "" "Note that some slots are effectively inherited through the normal attribute " "lookup chain." @@ -650,479 +631,479 @@ msgstr "" "Tenga en cuenta que algunos espacios se heredan efectivamente a través de la " "cadena de búsqueda de atributos normal." -#: ../Doc/c-api/typeobj.rst:194 +#: ../Doc/c-api/typeobj.rst:187 msgid "sub-slots" msgstr "sub-ranuras (*sub-slots*)" -#: ../Doc/c-api/typeobj.rst:200 +#: ../Doc/c-api/typeobj.rst:193 msgid "Slot" msgstr "Ranuras (*Slot*)" -#: ../Doc/c-api/typeobj.rst:200 +#: ../Doc/c-api/typeobj.rst:193 msgid "special methods" msgstr "métodos especiales" -#: ../Doc/c-api/typeobj.rst:203 +#: ../Doc/c-api/typeobj.rst:196 msgid ":c:member:`~PyAsyncMethods.am_await`" msgstr ":c:member:`~PyAsyncMethods.am_await`" -#: ../Doc/c-api/typeobj.rst:203 ../Doc/c-api/typeobj.rst:205 -#: ../Doc/c-api/typeobj.rst:207 ../Doc/c-api/typeobj.rst:239 -#: ../Doc/c-api/typeobj.rst:241 ../Doc/c-api/typeobj.rst:243 -#: ../Doc/c-api/typeobj.rst:247 ../Doc/c-api/typeobj.rst:274 -#: ../Doc/c-api/typeobj.rst:278 ../Doc/c-api/typeobj.rst:288 -#: ../Doc/c-api/typeobj.rst:428 +#: ../Doc/c-api/typeobj.rst:196 ../Doc/c-api/typeobj.rst:198 +#: ../Doc/c-api/typeobj.rst:200 ../Doc/c-api/typeobj.rst:232 +#: ../Doc/c-api/typeobj.rst:234 ../Doc/c-api/typeobj.rst:236 +#: ../Doc/c-api/typeobj.rst:240 ../Doc/c-api/typeobj.rst:267 +#: ../Doc/c-api/typeobj.rst:271 ../Doc/c-api/typeobj.rst:281 +#: ../Doc/c-api/typeobj.rst:421 msgid ":c:type:`unaryfunc`" msgstr ":c:type:`unaryfunc`" -#: ../Doc/c-api/typeobj.rst:203 +#: ../Doc/c-api/typeobj.rst:196 msgid "__await__" msgstr "__await__" -#: ../Doc/c-api/typeobj.rst:205 +#: ../Doc/c-api/typeobj.rst:198 msgid ":c:member:`~PyAsyncMethods.am_aiter`" msgstr ":c:member:`~PyAsyncMethods.am_aiter`" -#: ../Doc/c-api/typeobj.rst:205 +#: ../Doc/c-api/typeobj.rst:198 msgid "__aiter__" msgstr "__aiter__" -#: ../Doc/c-api/typeobj.rst:207 +#: ../Doc/c-api/typeobj.rst:200 msgid ":c:member:`~PyAsyncMethods.am_anext`" msgstr ":c:member:`~PyAsyncMethods.am_anext`" -#: ../Doc/c-api/typeobj.rst:207 +#: ../Doc/c-api/typeobj.rst:200 msgid "__anext__" msgstr "__anext__" -#: ../Doc/c-api/typeobj.rst:211 +#: ../Doc/c-api/typeobj.rst:204 msgid ":c:member:`~PyNumberMethods.nb_add`" msgstr ":c:member:`~PyNumberMethods.nb_add`" -#: ../Doc/c-api/typeobj.rst:211 ../Doc/c-api/typeobj.rst:214 -#: ../Doc/c-api/typeobj.rst:216 ../Doc/c-api/typeobj.rst:219 -#: ../Doc/c-api/typeobj.rst:221 ../Doc/c-api/typeobj.rst:224 -#: ../Doc/c-api/typeobj.rst:226 ../Doc/c-api/typeobj.rst:229 -#: ../Doc/c-api/typeobj.rst:231 ../Doc/c-api/typeobj.rst:249 -#: ../Doc/c-api/typeobj.rst:252 ../Doc/c-api/typeobj.rst:254 -#: ../Doc/c-api/typeobj.rst:257 ../Doc/c-api/typeobj.rst:259 -#: ../Doc/c-api/typeobj.rst:262 ../Doc/c-api/typeobj.rst:264 -#: ../Doc/c-api/typeobj.rst:267 ../Doc/c-api/typeobj.rst:269 -#: ../Doc/c-api/typeobj.rst:272 ../Doc/c-api/typeobj.rst:280 -#: ../Doc/c-api/typeobj.rst:282 ../Doc/c-api/typeobj.rst:284 -#: ../Doc/c-api/typeobj.rst:286 ../Doc/c-api/typeobj.rst:290 -#: ../Doc/c-api/typeobj.rst:293 ../Doc/c-api/typeobj.rst:299 -#: ../Doc/c-api/typeobj.rst:308 ../Doc/c-api/typeobj.rst:319 -#: ../Doc/c-api/typeobj.rst:432 +#: ../Doc/c-api/typeobj.rst:204 ../Doc/c-api/typeobj.rst:207 +#: ../Doc/c-api/typeobj.rst:209 ../Doc/c-api/typeobj.rst:212 +#: ../Doc/c-api/typeobj.rst:214 ../Doc/c-api/typeobj.rst:217 +#: ../Doc/c-api/typeobj.rst:219 ../Doc/c-api/typeobj.rst:222 +#: ../Doc/c-api/typeobj.rst:224 ../Doc/c-api/typeobj.rst:242 +#: ../Doc/c-api/typeobj.rst:245 ../Doc/c-api/typeobj.rst:247 +#: ../Doc/c-api/typeobj.rst:250 ../Doc/c-api/typeobj.rst:252 +#: ../Doc/c-api/typeobj.rst:255 ../Doc/c-api/typeobj.rst:257 +#: ../Doc/c-api/typeobj.rst:260 ../Doc/c-api/typeobj.rst:262 +#: ../Doc/c-api/typeobj.rst:265 ../Doc/c-api/typeobj.rst:273 +#: ../Doc/c-api/typeobj.rst:275 ../Doc/c-api/typeobj.rst:277 +#: ../Doc/c-api/typeobj.rst:279 ../Doc/c-api/typeobj.rst:283 +#: ../Doc/c-api/typeobj.rst:286 ../Doc/c-api/typeobj.rst:292 +#: ../Doc/c-api/typeobj.rst:301 ../Doc/c-api/typeobj.rst:312 +#: ../Doc/c-api/typeobj.rst:425 msgid ":c:type:`binaryfunc`" msgstr ":c:type:`binaryfunc`" -#: ../Doc/c-api/typeobj.rst:211 +#: ../Doc/c-api/typeobj.rst:204 msgid "__add__ __radd__" msgstr "__add__ __radd__" -#: ../Doc/c-api/typeobj.rst:214 +#: ../Doc/c-api/typeobj.rst:207 msgid ":c:member:`~PyNumberMethods.nb_inplace_add`" msgstr ":c:member:`~PyNumberMethods.nb_inplace_add`" -#: ../Doc/c-api/typeobj.rst:214 ../Doc/c-api/typeobj.rst:319 +#: ../Doc/c-api/typeobj.rst:207 ../Doc/c-api/typeobj.rst:312 msgid "__iadd__" msgstr "__iadd__" -#: ../Doc/c-api/typeobj.rst:216 +#: ../Doc/c-api/typeobj.rst:209 msgid ":c:member:`~PyNumberMethods.nb_subtract`" msgstr ":c:member:`~PyNumberMethods.nb_subtract`" -#: ../Doc/c-api/typeobj.rst:216 +#: ../Doc/c-api/typeobj.rst:209 msgid "__sub__ __rsub__" msgstr "__sub__ __rsub__" -#: ../Doc/c-api/typeobj.rst:219 +#: ../Doc/c-api/typeobj.rst:212 msgid ":c:member:`~PyNumberMethods.nb_inplace_subtract`" msgstr ":c:member:`~PyNumberMethods.nb_inplace_subtract`" -#: ../Doc/c-api/typeobj.rst:219 +#: ../Doc/c-api/typeobj.rst:212 msgid "__sub__" msgstr "__sub__" -#: ../Doc/c-api/typeobj.rst:221 +#: ../Doc/c-api/typeobj.rst:214 msgid ":c:member:`~PyNumberMethods.nb_multiply`" msgstr ":c:member:`~PyNumberMethods.nb_multiply`" -#: ../Doc/c-api/typeobj.rst:221 +#: ../Doc/c-api/typeobj.rst:214 msgid "__mul__ __rmul__" msgstr "__mul__ __rmul__" -#: ../Doc/c-api/typeobj.rst:224 +#: ../Doc/c-api/typeobj.rst:217 msgid ":c:member:`~PyNumberMethods.nb_inplace_multiply`" msgstr ":c:member:`~PyNumberMethods.nb_inplace_multiply`" -#: ../Doc/c-api/typeobj.rst:224 ../Doc/c-api/typeobj.rst:310 +#: ../Doc/c-api/typeobj.rst:217 ../Doc/c-api/typeobj.rst:303 msgid "__mul__" msgstr "__mul__" -#: ../Doc/c-api/typeobj.rst:226 +#: ../Doc/c-api/typeobj.rst:219 msgid ":c:member:`~PyNumberMethods.nb_remainder`" msgstr ":c:member:`~PyNumberMethods.nb_remainder`" -#: ../Doc/c-api/typeobj.rst:226 +#: ../Doc/c-api/typeobj.rst:219 msgid "__mod__ __rmod__" msgstr "__mod__ __rmod__" -#: ../Doc/c-api/typeobj.rst:229 +#: ../Doc/c-api/typeobj.rst:222 msgid ":c:member:`~PyNumberMethods.nb_inplace_remainder`" msgstr ":c:member:`~PyNumberMethods.nb_inplace_remainder`" -#: ../Doc/c-api/typeobj.rst:229 +#: ../Doc/c-api/typeobj.rst:222 msgid "__mod__" msgstr "__mod__" -#: ../Doc/c-api/typeobj.rst:231 +#: ../Doc/c-api/typeobj.rst:224 msgid ":c:member:`~PyNumberMethods.nb_divmod`" msgstr ":c:member:`~PyNumberMethods.nb_divmod`" -#: ../Doc/c-api/typeobj.rst:231 +#: ../Doc/c-api/typeobj.rst:224 msgid "__divmod__ __rdivmod__" msgstr "__divmod__ __rdivmod__" -#: ../Doc/c-api/typeobj.rst:234 +#: ../Doc/c-api/typeobj.rst:227 msgid ":c:member:`~PyNumberMethods.nb_power`" msgstr ":c:member:`~PyNumberMethods.nb_power`" -#: ../Doc/c-api/typeobj.rst:234 +#: ../Doc/c-api/typeobj.rst:227 msgid "__pow__ __rpow__" msgstr "__pow__ __rpow__" -#: ../Doc/c-api/typeobj.rst:237 +#: ../Doc/c-api/typeobj.rst:230 msgid ":c:member:`~PyNumberMethods.nb_inplace_power`" msgstr ":c:member:`~PyNumberMethods.nb_inplace_power`" -#: ../Doc/c-api/typeobj.rst:237 +#: ../Doc/c-api/typeobj.rst:230 msgid "__pow__" msgstr "__pow__" -#: ../Doc/c-api/typeobj.rst:239 +#: ../Doc/c-api/typeobj.rst:232 msgid ":c:member:`~PyNumberMethods.nb_negative`" msgstr ":c:member:`~PyNumberMethods.nb_negative`" -#: ../Doc/c-api/typeobj.rst:239 +#: ../Doc/c-api/typeobj.rst:232 msgid "__neg__" msgstr "__neg__" -#: ../Doc/c-api/typeobj.rst:241 +#: ../Doc/c-api/typeobj.rst:234 msgid ":c:member:`~PyNumberMethods.nb_positive`" msgstr ":c:member:`~PyNumberMethods.nb_positive`" -#: ../Doc/c-api/typeobj.rst:241 +#: ../Doc/c-api/typeobj.rst:234 msgid "__pos__" msgstr "__pos__" -#: ../Doc/c-api/typeobj.rst:243 +#: ../Doc/c-api/typeobj.rst:236 msgid ":c:member:`~PyNumberMethods.nb_absolute`" msgstr ":c:member:`~PyNumberMethods.nb_absolute`" -#: ../Doc/c-api/typeobj.rst:243 +#: ../Doc/c-api/typeobj.rst:236 msgid "__abs__" msgstr "__abs__" -#: ../Doc/c-api/typeobj.rst:245 +#: ../Doc/c-api/typeobj.rst:238 msgid ":c:member:`~PyNumberMethods.nb_bool`" msgstr ":c:member:`~PyNumberMethods.nb_bool`" -#: ../Doc/c-api/typeobj.rst:245 +#: ../Doc/c-api/typeobj.rst:238 msgid "__bool__" msgstr "__bool__" -#: ../Doc/c-api/typeobj.rst:247 +#: ../Doc/c-api/typeobj.rst:240 msgid ":c:member:`~PyNumberMethods.nb_invert`" msgstr ":c:member:`~PyNumberMethods.nb_invert`" -#: ../Doc/c-api/typeobj.rst:247 +#: ../Doc/c-api/typeobj.rst:240 msgid "__invert__" msgstr "__invert__" -#: ../Doc/c-api/typeobj.rst:249 +#: ../Doc/c-api/typeobj.rst:242 msgid ":c:member:`~PyNumberMethods.nb_lshift`" msgstr ":c:member:`~PyNumberMethods.nb_lshift`" -#: ../Doc/c-api/typeobj.rst:249 +#: ../Doc/c-api/typeobj.rst:242 msgid "__lshift__ __rlshift__" msgstr "__lshift__ __rlshift__" -#: ../Doc/c-api/typeobj.rst:252 +#: ../Doc/c-api/typeobj.rst:245 msgid ":c:member:`~PyNumberMethods.nb_inplace_lshift`" msgstr ":c:member:`~PyNumberMethods.nb_inplace_lshift`" -#: ../Doc/c-api/typeobj.rst:252 +#: ../Doc/c-api/typeobj.rst:245 msgid "__lshift__" msgstr "__lshift__" -#: ../Doc/c-api/typeobj.rst:254 +#: ../Doc/c-api/typeobj.rst:247 msgid ":c:member:`~PyNumberMethods.nb_rshift`" msgstr ":c:member:`~PyNumberMethods.nb_rshift`" -#: ../Doc/c-api/typeobj.rst:254 +#: ../Doc/c-api/typeobj.rst:247 msgid "__rshift__ __rrshift__" msgstr "__rshift__ __rrshift__" -#: ../Doc/c-api/typeobj.rst:257 +#: ../Doc/c-api/typeobj.rst:250 msgid ":c:member:`~PyNumberMethods.nb_inplace_rshift`" msgstr ":c:member:`~PyNumberMethods.nb_inplace_rshift`" -#: ../Doc/c-api/typeobj.rst:257 +#: ../Doc/c-api/typeobj.rst:250 msgid "__rshift__" msgstr "__rshift__" -#: ../Doc/c-api/typeobj.rst:259 +#: ../Doc/c-api/typeobj.rst:252 msgid ":c:member:`~PyNumberMethods.nb_and`" msgstr ":c:member:`~PyNumberMethods.nb_and`" -#: ../Doc/c-api/typeobj.rst:259 +#: ../Doc/c-api/typeobj.rst:252 msgid "__and__ __rand__" msgstr "__and__ __rand__" -#: ../Doc/c-api/typeobj.rst:262 +#: ../Doc/c-api/typeobj.rst:255 msgid ":c:member:`~PyNumberMethods.nb_inplace_and`" msgstr ":c:member:`~PyNumberMethods.nb_inplace_and`" -#: ../Doc/c-api/typeobj.rst:262 +#: ../Doc/c-api/typeobj.rst:255 msgid "__and__" msgstr "__and__" -#: ../Doc/c-api/typeobj.rst:264 +#: ../Doc/c-api/typeobj.rst:257 msgid ":c:member:`~PyNumberMethods.nb_xor`" msgstr ":c:member:`~PyNumberMethods.nb_xor`" -#: ../Doc/c-api/typeobj.rst:264 +#: ../Doc/c-api/typeobj.rst:257 msgid "__xor__ __rxor__" msgstr "__xor__ __rxor__" -#: ../Doc/c-api/typeobj.rst:267 +#: ../Doc/c-api/typeobj.rst:260 msgid ":c:member:`~PyNumberMethods.nb_inplace_xor`" msgstr ":c:member:`~PyNumberMethods.nb_inplace_xor`" -#: ../Doc/c-api/typeobj.rst:267 +#: ../Doc/c-api/typeobj.rst:260 msgid "__xor__" msgstr "__xor__" -#: ../Doc/c-api/typeobj.rst:269 +#: ../Doc/c-api/typeobj.rst:262 msgid ":c:member:`~PyNumberMethods.nb_or`" msgstr ":c:member:`~PyNumberMethods.nb_or`" -#: ../Doc/c-api/typeobj.rst:269 +#: ../Doc/c-api/typeobj.rst:262 msgid "__or__ __ror__" msgstr "__or__ __ror__" -#: ../Doc/c-api/typeobj.rst:272 +#: ../Doc/c-api/typeobj.rst:265 msgid ":c:member:`~PyNumberMethods.nb_inplace_or`" msgstr ":c:member:`~PyNumberMethods.nb_inplace_or`" -#: ../Doc/c-api/typeobj.rst:272 +#: ../Doc/c-api/typeobj.rst:265 msgid "__or__" msgstr "__or__" -#: ../Doc/c-api/typeobj.rst:274 +#: ../Doc/c-api/typeobj.rst:267 msgid ":c:member:`~PyNumberMethods.nb_int`" msgstr ":c:member:`~PyNumberMethods.nb_int`" -#: ../Doc/c-api/typeobj.rst:274 +#: ../Doc/c-api/typeobj.rst:267 msgid "__int__" msgstr "__int__" -#: ../Doc/c-api/typeobj.rst:276 +#: ../Doc/c-api/typeobj.rst:269 msgid ":c:member:`~PyNumberMethods.nb_reserved`" msgstr ":c:member:`~PyNumberMethods.nb_reserved`" -#: ../Doc/c-api/typeobj.rst ../Doc/c-api/typeobj.rst:276 -#: ../Doc/c-api/typeobj.rst:343 ../Doc/c-api/typeobj.rst:345 -#: ../Doc/c-api/typeobj.rst:426 +#: ../Doc/c-api/typeobj.rst ../Doc/c-api/typeobj.rst:269 +#: ../Doc/c-api/typeobj.rst:336 ../Doc/c-api/typeobj.rst:338 +#: ../Doc/c-api/typeobj.rst:419 msgid "void *" msgstr "void *" -#: ../Doc/c-api/typeobj.rst:278 +#: ../Doc/c-api/typeobj.rst:271 msgid ":c:member:`~PyNumberMethods.nb_float`" msgstr ":c:member:`~PyNumberMethods.nb_float`" -#: ../Doc/c-api/typeobj.rst:278 +#: ../Doc/c-api/typeobj.rst:271 msgid "__float__" msgstr "__float__" -#: ../Doc/c-api/typeobj.rst:280 +#: ../Doc/c-api/typeobj.rst:273 msgid ":c:member:`~PyNumberMethods.nb_floor_divide`" msgstr ":c:member:`~PyNumberMethods.nb_floor_divide`" -#: ../Doc/c-api/typeobj.rst:280 ../Doc/c-api/typeobj.rst:282 +#: ../Doc/c-api/typeobj.rst:273 ../Doc/c-api/typeobj.rst:275 msgid "__floordiv__" msgstr "__floordiv__" -#: ../Doc/c-api/typeobj.rst:282 +#: ../Doc/c-api/typeobj.rst:275 msgid ":c:member:`~PyNumberMethods.nb_inplace_floor_divide`" msgstr ":c:member:`~PyNumberMethods.nb_inplace_floor_divide`" -#: ../Doc/c-api/typeobj.rst:284 +#: ../Doc/c-api/typeobj.rst:277 msgid ":c:member:`~PyNumberMethods.nb_true_divide`" msgstr ":c:member:`~PyNumberMethods.nb_true_divide`" -#: ../Doc/c-api/typeobj.rst:284 ../Doc/c-api/typeobj.rst:286 +#: ../Doc/c-api/typeobj.rst:277 ../Doc/c-api/typeobj.rst:279 msgid "__truediv__" msgstr "__truediv__" -#: ../Doc/c-api/typeobj.rst:286 +#: ../Doc/c-api/typeobj.rst:279 msgid ":c:member:`~PyNumberMethods.nb_inplace_true_divide`" msgstr ":c:member:`~PyNumberMethods.nb_inplace_true_divide`" -#: ../Doc/c-api/typeobj.rst:288 +#: ../Doc/c-api/typeobj.rst:281 msgid ":c:member:`~PyNumberMethods.nb_index`" msgstr ":c:member:`~PyNumberMethods.nb_index`" -#: ../Doc/c-api/typeobj.rst:288 +#: ../Doc/c-api/typeobj.rst:281 msgid "__index__" msgstr "__index__" -#: ../Doc/c-api/typeobj.rst:290 +#: ../Doc/c-api/typeobj.rst:283 msgid ":c:member:`~PyNumberMethods.nb_matrix_multiply`" msgstr ":c:member:`~PyNumberMethods.nb_matrix_multiply`" -#: ../Doc/c-api/typeobj.rst:290 +#: ../Doc/c-api/typeobj.rst:283 msgid "__matmul__ __rmatmul__" msgstr "__matmul__ __rmatmul__" -#: ../Doc/c-api/typeobj.rst:293 +#: ../Doc/c-api/typeobj.rst:286 msgid ":c:member:`~PyNumberMethods.nb_inplace_matrix_multiply`" msgstr ":c:member:`~PyNumberMethods.nb_inplace_matrix_multiply`" -#: ../Doc/c-api/typeobj.rst:293 +#: ../Doc/c-api/typeobj.rst:286 msgid "__matmul__" msgstr "__matmul__" -#: ../Doc/c-api/typeobj.rst:297 +#: ../Doc/c-api/typeobj.rst:290 msgid ":c:member:`~PyMappingMethods.mp_length`" msgstr ":c:member:`~PyMappingMethods.mp_length`" -#: ../Doc/c-api/typeobj.rst:297 ../Doc/c-api/typeobj.rst:306 -#: ../Doc/c-api/typeobj.rst:413 +#: ../Doc/c-api/typeobj.rst:290 ../Doc/c-api/typeobj.rst:299 +#: ../Doc/c-api/typeobj.rst:406 msgid ":c:type:`lenfunc`" msgstr ":c:type:`lenfunc`" -#: ../Doc/c-api/typeobj.rst:297 ../Doc/c-api/typeobj.rst:306 +#: ../Doc/c-api/typeobj.rst:290 ../Doc/c-api/typeobj.rst:299 msgid "__len__" msgstr "__len__" -#: ../Doc/c-api/typeobj.rst:299 +#: ../Doc/c-api/typeobj.rst:292 msgid ":c:member:`~PyMappingMethods.mp_subscript`" msgstr ":c:member:`~PyMappingMethods.mp_subscript`" -#: ../Doc/c-api/typeobj.rst:299 ../Doc/c-api/typeobj.rst:312 +#: ../Doc/c-api/typeobj.rst:292 ../Doc/c-api/typeobj.rst:305 msgid "__getitem__" msgstr "__getitem__" -#: ../Doc/c-api/typeobj.rst:301 +#: ../Doc/c-api/typeobj.rst:294 msgid ":c:member:`~PyMappingMethods.mp_ass_subscript`" msgstr ":c:member:`~PyMappingMethods.mp_ass_subscript`" -#: ../Doc/c-api/typeobj.rst:301 ../Doc/c-api/typeobj.rst:458 +#: ../Doc/c-api/typeobj.rst:294 ../Doc/c-api/typeobj.rst:451 msgid ":c:type:`objobjargproc`" msgstr ":c:type:`objobjargproc`" -#: ../Doc/c-api/typeobj.rst:301 +#: ../Doc/c-api/typeobj.rst:294 msgid "__setitem__, __delitem__" msgstr "__setitem__, __delitem__" -#: ../Doc/c-api/typeobj.rst:306 +#: ../Doc/c-api/typeobj.rst:299 msgid ":c:member:`~PySequenceMethods.sq_length`" msgstr ":c:member:`~PySequenceMethods.sq_length`" -#: ../Doc/c-api/typeobj.rst:308 +#: ../Doc/c-api/typeobj.rst:301 msgid ":c:member:`~PySequenceMethods.sq_concat`" msgstr ":c:member:`~PySequenceMethods.sq_concat`" -#: ../Doc/c-api/typeobj.rst:308 +#: ../Doc/c-api/typeobj.rst:301 msgid "__add__" msgstr "__add__" -#: ../Doc/c-api/typeobj.rst:310 +#: ../Doc/c-api/typeobj.rst:303 msgid ":c:member:`~PySequenceMethods.sq_repeat`" msgstr ":c:member:`~PySequenceMethods.sq_repeat`" -#: ../Doc/c-api/typeobj.rst:310 ../Doc/c-api/typeobj.rst:312 -#: ../Doc/c-api/typeobj.rst:321 ../Doc/c-api/typeobj.rst:443 +#: ../Doc/c-api/typeobj.rst:303 ../Doc/c-api/typeobj.rst:305 +#: ../Doc/c-api/typeobj.rst:314 ../Doc/c-api/typeobj.rst:436 msgid ":c:type:`ssizeargfunc`" msgstr ":c:type:`ssizeargfunc`" -#: ../Doc/c-api/typeobj.rst:312 +#: ../Doc/c-api/typeobj.rst:305 msgid ":c:member:`~PySequenceMethods.sq_item`" msgstr ":c:member:`~PySequenceMethods.sq_item`" -#: ../Doc/c-api/typeobj.rst:314 +#: ../Doc/c-api/typeobj.rst:307 msgid ":c:member:`~PySequenceMethods.sq_ass_item`" msgstr ":c:member:`~PySequenceMethods.sq_ass_item`" -#: ../Doc/c-api/typeobj.rst:314 ../Doc/c-api/typeobj.rst:448 +#: ../Doc/c-api/typeobj.rst:307 ../Doc/c-api/typeobj.rst:441 msgid ":c:type:`ssizeobjargproc`" msgstr ":c:type:`ssizeobjargproc`" -#: ../Doc/c-api/typeobj.rst:314 +#: ../Doc/c-api/typeobj.rst:307 msgid "__setitem__ __delitem__" msgstr "__setitem__ __delitem__" -#: ../Doc/c-api/typeobj.rst:317 +#: ../Doc/c-api/typeobj.rst:310 msgid ":c:member:`~PySequenceMethods.sq_contains`" msgstr ":c:member:`~PySequenceMethods.sq_contains`" -#: ../Doc/c-api/typeobj.rst:317 ../Doc/c-api/typeobj.rst:453 +#: ../Doc/c-api/typeobj.rst:310 ../Doc/c-api/typeobj.rst:446 msgid ":c:type:`objobjproc`" msgstr ":c:type:`objobjproc`" -#: ../Doc/c-api/typeobj.rst:317 +#: ../Doc/c-api/typeobj.rst:310 msgid "__contains__" msgstr "__contains__" -#: ../Doc/c-api/typeobj.rst:319 +#: ../Doc/c-api/typeobj.rst:312 msgid ":c:member:`~PySequenceMethods.sq_inplace_concat`" msgstr ":c:member:`~PySequenceMethods.sq_inplace_concat`" -#: ../Doc/c-api/typeobj.rst:321 +#: ../Doc/c-api/typeobj.rst:314 msgid ":c:member:`~PySequenceMethods.sq_inplace_repeat`" msgstr ":c:member:`~PySequenceMethods.sq_inplace_repeat`" -#: ../Doc/c-api/typeobj.rst:321 +#: ../Doc/c-api/typeobj.rst:314 msgid "__imul__" msgstr "__imul__" -#: ../Doc/c-api/typeobj.rst:325 +#: ../Doc/c-api/typeobj.rst:318 msgid ":c:member:`~PyBufferProcs.bf_getbuffer`" msgstr ":c:member:`~PyBufferProcs.bf_getbuffer`" -#: ../Doc/c-api/typeobj.rst:325 +#: ../Doc/c-api/typeobj.rst:318 msgid ":c:func:`getbufferproc`" msgstr ":c:func:`getbufferproc`" -#: ../Doc/c-api/typeobj.rst:327 +#: ../Doc/c-api/typeobj.rst:320 msgid ":c:member:`~PyBufferProcs.bf_releasebuffer`" msgstr ":c:member:`~PyBufferProcs.bf_releasebuffer`" -#: ../Doc/c-api/typeobj.rst:327 +#: ../Doc/c-api/typeobj.rst:320 msgid ":c:func:`releasebufferproc`" msgstr ":c:func:`releasebufferproc`" -#: ../Doc/c-api/typeobj.rst:333 +#: ../Doc/c-api/typeobj.rst:326 msgid "slot typedefs" msgstr "ranura de *typedefs*" -#: ../Doc/c-api/typeobj.rst:336 +#: ../Doc/c-api/typeobj.rst:329 msgid "typedef" msgstr "typedef" -#: ../Doc/c-api/typeobj.rst:336 +#: ../Doc/c-api/typeobj.rst:329 msgid "Parameter Types" msgstr "Tipos Parámetros" -#: ../Doc/c-api/typeobj.rst:336 +#: ../Doc/c-api/typeobj.rst:329 msgid "Return Type" msgstr "Tipo de Retorno" -#: ../Doc/c-api/typeobj.rst:343 ../Doc/c-api/typeobj.rst:345 -#: ../Doc/c-api/typeobj.rst:421 +#: ../Doc/c-api/typeobj.rst:336 ../Doc/c-api/typeobj.rst:338 +#: ../Doc/c-api/typeobj.rst:414 msgid "void" msgstr "void" @@ -1130,20 +1111,20 @@ msgstr "void" msgid ":c:type:`visitproc`" msgstr ":c:type:`visitproc`" -#: ../Doc/c-api/typeobj.rst ../Doc/c-api/typeobj.rst:347 -#: ../Doc/c-api/typeobj.rst:359 ../Doc/c-api/typeobj.rst:372 -#: ../Doc/c-api/typeobj.rst:383 ../Doc/c-api/typeobj.rst:395 -#: ../Doc/c-api/typeobj.rst:415 ../Doc/c-api/typeobj.rst:426 -#: ../Doc/c-api/typeobj.rst:448 ../Doc/c-api/typeobj.rst:453 -#: ../Doc/c-api/typeobj.rst:458 +#: ../Doc/c-api/typeobj.rst ../Doc/c-api/typeobj.rst:340 +#: ../Doc/c-api/typeobj.rst:352 ../Doc/c-api/typeobj.rst:365 +#: ../Doc/c-api/typeobj.rst:376 ../Doc/c-api/typeobj.rst:388 +#: ../Doc/c-api/typeobj.rst:408 ../Doc/c-api/typeobj.rst:419 +#: ../Doc/c-api/typeobj.rst:441 ../Doc/c-api/typeobj.rst:446 +#: ../Doc/c-api/typeobj.rst:451 msgid "int" msgstr "int" -#: ../Doc/c-api/typeobj.rst:401 +#: ../Doc/c-api/typeobj.rst:394 msgid "Py_hash_t" msgstr "Py_hash_t" -#: ../Doc/c-api/typeobj.rst:415 +#: ../Doc/c-api/typeobj.rst:408 msgid ":c:type:`getbufferproc`" msgstr ":c:type:`getbufferproc`" @@ -1151,19 +1132,19 @@ msgstr ":c:type:`getbufferproc`" msgid ":c:type:`Py_buffer` *" msgstr ":c:type:`Py_buffer` *" -#: ../Doc/c-api/typeobj.rst:421 +#: ../Doc/c-api/typeobj.rst:414 msgid ":c:type:`releasebufferproc`" msgstr ":c:type:`releasebufferproc`" -#: ../Doc/c-api/typeobj.rst:465 +#: ../Doc/c-api/typeobj.rst:458 msgid "See :ref:`slot-typedefs` below for more detail." msgstr "Vea :ref:`slot-typedefs` abajo para más detalles." -#: ../Doc/c-api/typeobj.rst:469 +#: ../Doc/c-api/typeobj.rst:462 msgid "PyTypeObject Definition" msgstr "Definición de ``PyTypeObject``" -#: ../Doc/c-api/typeobj.rst:471 +#: ../Doc/c-api/typeobj.rst:464 msgid "" "The structure definition for :c:type:`PyTypeObject` can be found in :file:" "`Include/object.h`. For convenience of reference, this repeats the " @@ -1173,11 +1154,11 @@ msgstr "" "en :file:`Include/object.h`. Por conveniencia de referencia, esto repite la " "definición encontrada allí:" -#: ../Doc/c-api/typeobj.rst:481 +#: ../Doc/c-api/typeobj.rst:474 msgid "PyObject Slots" msgstr "Ranuras (*Slots*) ``PyObject``" -#: ../Doc/c-api/typeobj.rst:483 +#: ../Doc/c-api/typeobj.rst:476 msgid "" "The type object structure extends the :c:type:`PyVarObject` structure. The :" "attr:`ob_size` field is used for dynamic types (created by :func:" @@ -1193,7 +1174,7 @@ msgstr "" "`~PyTypeObject.tp_itemsize`, lo que significa que sus instancias (es decir, " "objetos de tipo) *deben* tener el campo :attr:`ob_size`." -#: ../Doc/c-api/typeobj.rst:493 +#: ../Doc/c-api/typeobj.rst:486 msgid "" "These fields are only present when the macro ``Py_TRACE_REFS`` is defined. " "Their initialization to ``NULL`` is taken care of by the " @@ -1214,43 +1195,43 @@ msgstr "" "uso es imprimir los objetos que aún están vivos al final de una ejecución " "cuando se establece la variable de entorno :envvar:`PYTHONDUMPREFS`." -#: ../Doc/c-api/typeobj.rst:502 ../Doc/c-api/typeobj.rst:515 -#: ../Doc/c-api/typeobj.rst:538 ../Doc/c-api/typeobj.rst:551 -#: ../Doc/c-api/typeobj.rst:593 ../Doc/c-api/typeobj.rst:636 -#: ../Doc/c-api/typeobj.rst:682 ../Doc/c-api/typeobj.rst:738 -#: ../Doc/c-api/typeobj.rst:757 ../Doc/c-api/typeobj.rst:774 -#: ../Doc/c-api/typeobj.rst:792 ../Doc/c-api/typeobj.rst:816 -#: ../Doc/c-api/typeobj.rst:833 ../Doc/c-api/typeobj.rst:845 -#: ../Doc/c-api/typeobj.rst:857 ../Doc/c-api/typeobj.rst:890 -#: ../Doc/c-api/typeobj.rst:908 ../Doc/c-api/typeobj.rst:928 -#: ../Doc/c-api/typeobj.rst:949 ../Doc/c-api/typeobj.rst:975 -#: ../Doc/c-api/typeobj.rst:994 ../Doc/c-api/typeobj.rst:1010 -#: ../Doc/c-api/typeobj.rst:1047 ../Doc/c-api/typeobj.rst:1058 -#: ../Doc/c-api/typeobj.rst:1068 ../Doc/c-api/typeobj.rst:1078 -#: ../Doc/c-api/typeobj.rst:1092 ../Doc/c-api/typeobj.rst:1111 -#: ../Doc/c-api/typeobj.rst:1134 ../Doc/c-api/typeobj.rst:1179 -#: ../Doc/c-api/typeobj.rst:1203 ../Doc/c-api/typeobj.rst:1257 -#: ../Doc/c-api/typeobj.rst:1318 ../Doc/c-api/typeobj.rst:1377 -#: ../Doc/c-api/typeobj.rst:1407 ../Doc/c-api/typeobj.rst:1439 -#: ../Doc/c-api/typeobj.rst:1462 ../Doc/c-api/typeobj.rst:1475 -#: ../Doc/c-api/typeobj.rst:1490 ../Doc/c-api/typeobj.rst:1504 -#: ../Doc/c-api/typeobj.rst:1534 ../Doc/c-api/typeobj.rst:1554 -#: ../Doc/c-api/typeobj.rst:1580 ../Doc/c-api/typeobj.rst:1598 -#: ../Doc/c-api/typeobj.rst:1638 ../Doc/c-api/typeobj.rst:1689 -#: ../Doc/c-api/typeobj.rst:1706 ../Doc/c-api/typeobj.rst:1744 -#: ../Doc/c-api/typeobj.rst:1765 ../Doc/c-api/typeobj.rst:1797 -#: ../Doc/c-api/typeobj.rst:1814 ../Doc/c-api/typeobj.rst:1825 -#: ../Doc/c-api/typeobj.rst:1835 ../Doc/c-api/typeobj.rst:1844 -#: ../Doc/c-api/typeobj.rst:1854 ../Doc/c-api/typeobj.rst:1868 -#: ../Doc/c-api/typeobj.rst:1906 +#: ../Doc/c-api/typeobj.rst:495 ../Doc/c-api/typeobj.rst:508 +#: ../Doc/c-api/typeobj.rst:531 ../Doc/c-api/typeobj.rst:544 +#: ../Doc/c-api/typeobj.rst:586 ../Doc/c-api/typeobj.rst:629 +#: ../Doc/c-api/typeobj.rst:675 ../Doc/c-api/typeobj.rst:719 +#: ../Doc/c-api/typeobj.rst:738 ../Doc/c-api/typeobj.rst:755 +#: ../Doc/c-api/typeobj.rst:773 ../Doc/c-api/typeobj.rst:797 +#: ../Doc/c-api/typeobj.rst:814 ../Doc/c-api/typeobj.rst:826 +#: ../Doc/c-api/typeobj.rst:838 ../Doc/c-api/typeobj.rst:871 +#: ../Doc/c-api/typeobj.rst:889 ../Doc/c-api/typeobj.rst:909 +#: ../Doc/c-api/typeobj.rst:930 ../Doc/c-api/typeobj.rst:956 +#: ../Doc/c-api/typeobj.rst:975 ../Doc/c-api/typeobj.rst:991 +#: ../Doc/c-api/typeobj.rst:1028 ../Doc/c-api/typeobj.rst:1039 +#: ../Doc/c-api/typeobj.rst:1049 ../Doc/c-api/typeobj.rst:1059 +#: ../Doc/c-api/typeobj.rst:1073 ../Doc/c-api/typeobj.rst:1092 +#: ../Doc/c-api/typeobj.rst:1115 ../Doc/c-api/typeobj.rst:1162 +#: ../Doc/c-api/typeobj.rst:1177 ../Doc/c-api/typeobj.rst:1245 +#: ../Doc/c-api/typeobj.rst:1306 ../Doc/c-api/typeobj.rst:1365 +#: ../Doc/c-api/typeobj.rst:1395 ../Doc/c-api/typeobj.rst:1427 +#: ../Doc/c-api/typeobj.rst:1450 ../Doc/c-api/typeobj.rst:1463 +#: ../Doc/c-api/typeobj.rst:1478 ../Doc/c-api/typeobj.rst:1492 +#: ../Doc/c-api/typeobj.rst:1522 ../Doc/c-api/typeobj.rst:1542 +#: ../Doc/c-api/typeobj.rst:1568 ../Doc/c-api/typeobj.rst:1586 +#: ../Doc/c-api/typeobj.rst:1626 ../Doc/c-api/typeobj.rst:1677 +#: ../Doc/c-api/typeobj.rst:1694 ../Doc/c-api/typeobj.rst:1732 +#: ../Doc/c-api/typeobj.rst:1753 ../Doc/c-api/typeobj.rst:1785 +#: ../Doc/c-api/typeobj.rst:1802 ../Doc/c-api/typeobj.rst:1813 +#: ../Doc/c-api/typeobj.rst:1823 ../Doc/c-api/typeobj.rst:1832 +#: ../Doc/c-api/typeobj.rst:1842 ../Doc/c-api/typeobj.rst:1856 +#: ../Doc/c-api/typeobj.rst:1894 ../Doc/c-api/typeobj.rst:1911 msgid "**Inheritance:**" msgstr "**Herencia:**" -#: ../Doc/c-api/typeobj.rst:504 +#: ../Doc/c-api/typeobj.rst:497 msgid "These fields are not inherited by subtypes." msgstr "Estos campos no son heredados por subtipos." -#: ../Doc/c-api/typeobj.rst:509 +#: ../Doc/c-api/typeobj.rst:502 msgid "" "This is the type object's reference count, initialized to ``1`` by the " "``PyObject_HEAD_INIT`` macro. Note that for statically allocated type " @@ -1265,12 +1246,12 @@ msgstr "" "objetos de tipo asignados dinámicamente, las instancias *sí* cuentan como " "referencias." -#: ../Doc/c-api/typeobj.rst:517 ../Doc/c-api/typeobj.rst:553 -#: ../Doc/c-api/typeobj.rst:595 +#: ../Doc/c-api/typeobj.rst:510 ../Doc/c-api/typeobj.rst:546 +#: ../Doc/c-api/typeobj.rst:588 msgid "This field is not inherited by subtypes." msgstr "Este campo no es heredado por los subtipos." -#: ../Doc/c-api/typeobj.rst:522 +#: ../Doc/c-api/typeobj.rst:515 msgid "" "This is the type's type, in other words its metatype. It is initialized by " "the argument to the ``PyObject_HEAD_INIT`` macro, and its value should " @@ -1291,7 +1272,7 @@ msgstr "" "de la función de inicialización del módulo, antes de hacer cualquier otra " "cosa. Esto normalmente se hace así:" -#: ../Doc/c-api/typeobj.rst:533 +#: ../Doc/c-api/typeobj.rst:526 msgid "" "This should be done before any instances of the type are created. :c:func:" "`PyType_Ready` checks if :attr:`ob_type` is ``NULL``, and if so, initializes " @@ -1303,20 +1284,20 @@ msgstr "" "inicializa en el campo :attr:`ob_type` de la clase base. :c:func:" "`PyType_Ready` no cambiará este campo si no es cero." -#: ../Doc/c-api/typeobj.rst:540 ../Doc/c-api/typeobj.rst:684 -#: ../Doc/c-api/typeobj.rst:818 ../Doc/c-api/typeobj.rst:910 -#: ../Doc/c-api/typeobj.rst:930 ../Doc/c-api/typeobj.rst:1441 -#: ../Doc/c-api/typeobj.rst:1464 ../Doc/c-api/typeobj.rst:1582 -#: ../Doc/c-api/typeobj.rst:1600 ../Doc/c-api/typeobj.rst:1691 -#: ../Doc/c-api/typeobj.rst:1799 ../Doc/c-api/typeobj.rst:1908 +#: ../Doc/c-api/typeobj.rst:533 ../Doc/c-api/typeobj.rst:677 +#: ../Doc/c-api/typeobj.rst:799 ../Doc/c-api/typeobj.rst:891 +#: ../Doc/c-api/typeobj.rst:911 ../Doc/c-api/typeobj.rst:1429 +#: ../Doc/c-api/typeobj.rst:1452 ../Doc/c-api/typeobj.rst:1570 +#: ../Doc/c-api/typeobj.rst:1588 ../Doc/c-api/typeobj.rst:1679 +#: ../Doc/c-api/typeobj.rst:1787 ../Doc/c-api/typeobj.rst:1896 msgid "This field is inherited by subtypes." msgstr "Este campo es heredado por subtipos." -#: ../Doc/c-api/typeobj.rst:544 +#: ../Doc/c-api/typeobj.rst:537 msgid "PyVarObject Slots" msgstr "Ranuras ``PyVarObject``" -#: ../Doc/c-api/typeobj.rst:548 +#: ../Doc/c-api/typeobj.rst:541 msgid "" "For statically allocated type objects, this should be initialized to zero. " "For dynamically allocated type objects, this field has a special internal " @@ -1326,11 +1307,11 @@ msgstr "" "cero. Para los objetos tipo asignados dinámicamente, este campo tiene un " "significado interno especial." -#: ../Doc/c-api/typeobj.rst:557 +#: ../Doc/c-api/typeobj.rst:550 msgid "PyTypeObject Slots" msgstr "Ranuras ``PyTypeObject``" -#: ../Doc/c-api/typeobj.rst:559 +#: ../Doc/c-api/typeobj.rst:552 msgid "" "Each slot has a section describing inheritance. If :c:func:`PyType_Ready` " "may set a value when the field is set to ``NULL`` then there will also be a " @@ -1343,7 +1324,7 @@ msgstr "" "cuenta que muchos campos establecidos en :c:type:`PyBaseObject_Type` y :c:" "type:`PyType_Type` actúan efectivamente como valores predeterminados)." -#: ../Doc/c-api/typeobj.rst:566 +#: ../Doc/c-api/typeobj.rst:559 msgid "" "Pointer to a NUL-terminated string containing the name of the type. For " "types that are accessible as module globals, the string should be the full " @@ -1364,7 +1345,7 @@ msgstr "" "en el paquete :mod:`P` debe tener el inicializador :c:member:`~PyTypeObject." "tp_name` ``\"PQMT\"``." -#: ../Doc/c-api/typeobj.rst:574 +#: ../Doc/c-api/typeobj.rst:567 msgid "" "For dynamically allocated type objects, this should just be the type name, " "and the module name explicitly stored in the type dict as the value for key " @@ -1374,7 +1355,7 @@ msgstr "" "nombre del tipo, y el nombre del módulo almacenado explícitamente en el tipo " "diccionario (*dict*) como el valor para la clave ``'__module__'``." -#: ../Doc/c-api/typeobj.rst:578 +#: ../Doc/c-api/typeobj.rst:571 msgid "" "For statically allocated type objects, the tp_name field should contain a " "dot. Everything before the last dot is made accessible as the :attr:" @@ -1386,7 +1367,7 @@ msgstr "" "atributo :attr:`__module__`, y todo después del último punto se hace " "accesible como el atributo :attr:`~definition.__name__`." -#: ../Doc/c-api/typeobj.rst:583 +#: ../Doc/c-api/typeobj.rst:576 msgid "" "If no dot is present, the entire :c:member:`~PyTypeObject.tp_name` field is " "made accessible as the :attr:`~definition.__name__` attribute, and the :attr:" @@ -1402,7 +1383,7 @@ msgstr "" "significa que su tipo será imposible de guardar como *pickle*. Además, no " "figurará en la documentación del módulo creado con *pydoc*." -#: ../Doc/c-api/typeobj.rst:589 +#: ../Doc/c-api/typeobj.rst:582 msgid "" "This field must not be ``NULL``. It is the only required field in :c:func:" "`PyTypeObject` (other than potentially :c:member:`~PyTypeObject." @@ -1412,13 +1393,13 @@ msgstr "" "`PyTypeObject` (que no sea potencialmente :c:member:`~PyTypeObject." "tp_itemsize`)." -#: ../Doc/c-api/typeobj.rst:601 +#: ../Doc/c-api/typeobj.rst:594 msgid "" "These fields allow calculating the size in bytes of instances of the type." msgstr "" "Estos campos permiten calcular el tamaño en bytes de instancias del tipo." -#: ../Doc/c-api/typeobj.rst:603 +#: ../Doc/c-api/typeobj.rst:596 msgid "" "There are two kinds of types: types with fixed-length instances have a zero :" "c:member:`~PyTypeObject.tp_itemsize` field, types with variable-length " @@ -1433,7 +1414,7 @@ msgstr "" "todas las instancias tienen el mismo tamaño, dado en :c:member:" "`~PyTypeObject.tp_basicsize`." -#: ../Doc/c-api/typeobj.rst:608 +#: ../Doc/c-api/typeobj.rst:601 msgid "" "For a type with variable-length instances, the instances must have an :attr:" "`ob_size` field, and the instance size is :c:member:`~PyTypeObject." @@ -1458,7 +1439,7 @@ msgstr "" "ejemplo, la estructura para el tipo de lista tiene instancias de longitud " "fija, aunque esas instancias tienen un significativo campo :attr:`ob_size`)." -#: ../Doc/c-api/typeobj.rst:619 +#: ../Doc/c-api/typeobj.rst:612 msgid "" "The basic size includes the fields in the instance declared by the macro :c:" "macro:`PyObject_HEAD` or :c:macro:`PyObject_VAR_HEAD` (whichever is used to " @@ -1478,7 +1459,7 @@ msgstr "" "utilizada para declarar el diseño de la instancia. El tamaño básico no " "incluye el tamaño del encabezado del GC." -#: ../Doc/c-api/typeobj.rst:627 +#: ../Doc/c-api/typeobj.rst:620 msgid "" "A note about alignment: if the variable items require a particular " "alignment, this should be taken care of by the value of :c:member:" @@ -1496,14 +1477,14 @@ msgstr "" "`~PyTypeObject.tp_basicsize` es un múltiplo de ``sizeof(double)`` " "(suponiendo que este sea el requisito de alineación para ``double``)." -#: ../Doc/c-api/typeobj.rst:634 +#: ../Doc/c-api/typeobj.rst:627 msgid "" "For any type with variable-length instances, this field must not be ``NULL``." msgstr "" "Para cualquier tipo con instancias de longitud variable, este campo no debe " "ser ``NULL``." -#: ../Doc/c-api/typeobj.rst:638 +#: ../Doc/c-api/typeobj.rst:631 msgid "" "These fields are inherited separately by subtypes. If the base type has a " "non-zero :c:member:`~PyTypeObject.tp_itemsize`, it is generally not safe to " @@ -1516,7 +1497,7 @@ msgstr "" "diferente de cero en un subtipo ( aunque esto depende de la implementación " "del tipo base)." -#: ../Doc/c-api/typeobj.rst:646 +#: ../Doc/c-api/typeobj.rst:639 msgid "" "A pointer to the instance destructor function. This function must be " "defined unless the type guarantees that its instances will never be " @@ -1528,7 +1509,7 @@ msgstr "" "desasignarán (como es el caso de los singletons ``None`` y ``Ellipsis``). La " "firma de la función es::" -#: ../Doc/c-api/typeobj.rst:652 +#: ../Doc/c-api/typeobj.rst:645 msgid "" "The destructor function is called by the :c:func:`Py_DECREF` and :c:func:" "`Py_XDECREF` macros when the new reference count is zero. At this point, " @@ -1561,7 +1542,7 @@ msgstr "" "`PyObject_VarNew`, o :c:func:`PyObject_GC_Del` si la instancia se asignó " "usando :c:func:`PyObject_GC_New` o :c:func:`PyObject_GC_NewVar`." -#: ../Doc/c-api/typeobj.rst:667 +#: ../Doc/c-api/typeobj.rst:660 msgid "" "Finally, if the type is heap allocated (:const:`Py_TPFLAGS_HEAPTYPE`), the " "deallocator should decrement the reference count for its type object after " @@ -1573,22 +1554,23 @@ msgstr "" "referencia para su objeto tipo después de llamar al desasignador del tipo. " "Para evitar punteros colgantes, la forma recomendada de lograr esto es:" -#: ../Doc/c-api/typeobj.rst:689 +#: ../Doc/c-api/typeobj.rst:682 +#, fuzzy msgid "" "An optional offset to a per-instance function that implements calling the " -"object using the *vectorcall* protocol, a more efficient alternative of the " -"simpler :c:member:`~PyTypeObject.tp_call`." +"object using the :ref:`vectorcall protocol `, a more efficient " +"alternative of the simpler :c:member:`~PyTypeObject.tp_call`." msgstr "" "Un desplazamiento opcional a una función por instancia que implementa la " "llamada al objeto usando el protocolo *vectorcall*, una alternativa más " "eficiente del más simple :c:member:`~PyTypeObject.tp_call`." -#: ../Doc/c-api/typeobj.rst:693 +#: ../Doc/c-api/typeobj.rst:687 +#, fuzzy msgid "" -"This field is only used if the flag :const:`_Py_TPFLAGS_HAVE_VECTORCALL` is " +"This field is only used if the flag :const:`Py_TPFLAGS_HAVE_VECTORCALL` is " "set. If so, this must be a positive integer containing the offset in the " -"instance of a :c:type:`vectorcallfunc` pointer. The signature is the same as " -"for :c:func:`_PyObject_Vectorcall`::" +"instance of a :c:type:`vectorcallfunc` pointer." msgstr "" "Este campo solo se usa si se establece el indicador :const:" "`_Py_TPFLAGS_HAVE_VECTORCALL`. Si es así, debe ser un número entero positivo " @@ -1596,54 +1578,37 @@ msgstr "" "`vectorcallfunc`. La firma es la misma que para :c:func:" "`_PyObject_Vectorcall`::" -#: ../Doc/c-api/typeobj.rst:700 +#: ../Doc/c-api/typeobj.rst:691 +#, fuzzy msgid "" -"The *vectorcallfunc* pointer may be zero, in which case the instance behaves " -"as if :const:`_Py_TPFLAGS_HAVE_VECTORCALL` was not set: calling the instance " -"falls back to :c:member:`~PyTypeObject.tp_call`." +"The *vectorcallfunc* pointer may be ``NULL``, in which case the instance " +"behaves as if :const:`Py_TPFLAGS_HAVE_VECTORCALL` was not set: calling the " +"instance falls back to :c:member:`~PyTypeObject.tp_call`." msgstr "" "El puntero *vectorcallfunc* puede ser cero, en cuyo caso la instancia se " "comporta como si :const:`_Py_TPFLAGS_HAVE_VECTORCALL` no se hubiera " "establecido: la llamada de la instancia recae en :c:member:`~PyTypeObject." "tp_call`." -#: ../Doc/c-api/typeobj.rst:704 +#: ../Doc/c-api/typeobj.rst:695 +#, fuzzy msgid "" -"Any class that sets ``_Py_TPFLAGS_HAVE_VECTORCALL`` must also set :c:member:" +"Any class that sets ``Py_TPFLAGS_HAVE_VECTORCALL`` must also set :c:member:" "`~PyTypeObject.tp_call` and make sure its behaviour is consistent with the " -"*vectorcallfunc* function. This can be done by setting *tp_call* to " -"``PyVectorcall_Call``:" +"*vectorcallfunc* function. This can be done by setting *tp_call* to :c:func:" +"`PyVectorcall_Call`." msgstr "" "Cualquier clase que establezca ``_Py_TPFLAGS_HAVE_VECTORCALL`` también debe " "establecer :c:member:`~PyTypeObject.tp_call` y asegurarse de que su " "comportamiento sea coherente con la función *vectorcallfunc*. Esto se puede " "hacer configurando *tp_call* en ``PyVectorcall_Call``:" -#: ../Doc/c-api/typeobj.rst:711 -msgid "" -"Call *callable*'s *vectorcallfunc* with positional and keyword arguments " -"given in a tuple and dict, respectively." -msgstr "" -"Llama el *callable* de *vectorcallfunc* con argumentos posicionales y de " -"palabras clave dados en una tupla y diccionario (*dict*), respectivamente." - -#: ../Doc/c-api/typeobj.rst:714 -msgid "" -"This function is intended to be used in the ``tp_call`` slot. It does not " -"fall back to ``tp_call`` and it currently does not check the " -"``_Py_TPFLAGS_HAVE_VECTORCALL`` flag. To call an object, use one of the :c:" -"func:`PyObject_Call ` functions instead." -msgstr "" -"Esta función está destinada a ser utilizada en la ranura ``tp_call``. No " -"vuelve a caer a ``tp_call`` y actualmente no marca la bandera " -"``_Py_TPFLAGS_HAVE_VECTORCALL``. Para llamar a un objeto, use una de las " -"funciones :c:func:`PyObject_Call` en su lugar." - -#: ../Doc/c-api/typeobj.rst:722 +#: ../Doc/c-api/typeobj.rst:702 +#, fuzzy msgid "" "It is not recommended for :ref:`heap types ` to implement the " -"vectorcall protocol. When a user sets ``__call__`` in Python code, only " -"``tp_call`` is updated, possibly making it inconsistent with the vectorcall " +"vectorcall protocol. When a user sets :attr:`__call__` in Python code, only " +"*tp_call* is updated, likely making it inconsistent with the vectorcall " "function." msgstr "" "No se recomienda para :ref:`tipos montículo ` para implementar " @@ -1651,7 +1616,7 @@ msgstr "" "código Python, solo se actualiza ``tp_call``, posiblemente haciendo que sea " "inconsistente con la función *vectorcall*." -#: ../Doc/c-api/typeobj.rst:729 +#: ../Doc/c-api/typeobj.rst:709 msgid "" "The semantics of the ``tp_vectorcall_offset`` slot are provisional and " "expected to be finalized in Python 3.9. If you use vectorcall, plan for " @@ -1661,41 +1626,28 @@ msgstr "" "espera que finalice en Python 3.9. Si usa *vectorcall*, planifique " "actualizar su código para Python 3.9." -#: ../Doc/c-api/typeobj.rst:735 +#: ../Doc/c-api/typeobj.rst:715 msgid "" -"This slot was used for print formatting in Python 2.x. In Python 3.0 to 3.7, " -"it was reserved and named ``tp_print``." +"Before version 3.8, this slot was named ``tp_print``. In Python 2.x, it was " +"used for printing to a file. In Python 3.0 to 3.7, it was unused." msgstr "" -"Esta ranura se usó para el formato de impresión en Python 2.x. En Python 3.0 " -"a 3.7, estaba reservado y se llamaba ``tp_print``." -#: ../Doc/c-api/typeobj.rst:740 +#: ../Doc/c-api/typeobj.rst:721 msgid "" -"This field is inherited by subtypes together with :c:member:`~PyTypeObject." -"tp_call`: a subtype inherits :c:member:`~PyTypeObject.tp_vectorcall_offset` " -"from its base type when the subtype’s :c:member:`~PyTypeObject.tp_call` is " -"``NULL``." +"This field is always inherited. However, the :const:" +"`Py_TPFLAGS_HAVE_VECTORCALL` flag is not always inherited. If it's not, then " +"the subclass won't use :ref:`vectorcall `, except when :c:func:" +"`PyVectorcall_Call` is explicitly called. This is in particular the case for " +"`heap types`_ (including subclasses defined in Python)." msgstr "" -"Los subtipos heredan este campo junto con :c:member:`~PyTypeObject.tp_call`: " -"un subtipo hereda :c:member:`~PyTypeObject.tp_vectorcall_offset` de su tipo " -"base cuando el subtipo :c:member:`~PyTypeObject.tp_call` es ``NULL``." -#: ../Doc/c-api/typeobj.rst:745 -msgid "" -"Note that `heap types`_ (including subclasses defined in Python) do not " -"inherit the :const:`_Py_TPFLAGS_HAVE_VECTORCALL` flag." -msgstr "" -"Tenga en cuenta que los tipos montículo, (`heap types`_, incluidas las " -"subclases definidas en Python) no heredan el indicador :const:" -"`_Py_TPFLAGS_HAVE_VECTORCALL`." - -#: ../Doc/c-api/typeobj.rst:751 +#: ../Doc/c-api/typeobj.rst:732 msgid "An optional pointer to the get-attribute-string function." msgstr "" "Un puntero opcional a la función \"obtener atributo cadena de caracteres" "\" (*get-attribute-string*)." -#: ../Doc/c-api/typeobj.rst:753 +#: ../Doc/c-api/typeobj.rst:734 msgid "" "This field is deprecated. When it is defined, it should point to a function " "that acts the same as the :c:member:`~PyTypeObject.tp_getattro` function, " @@ -1707,11 +1659,11 @@ msgstr "" "tomando una cadena de caracteres C en lugar de un objeto de cadena Python " "para dar el nombre del atributo." -#: ../Doc/c-api/typeobj.rst:759 ../Doc/c-api/typeobj.rst:951 +#: ../Doc/c-api/typeobj.rst:740 ../Doc/c-api/typeobj.rst:932 msgid "Group: :attr:`tp_getattr`, :attr:`tp_getattro`" msgstr "Grupo: :attr:`tp_getattr`, :attr:`tp_getattro`" -#: ../Doc/c-api/typeobj.rst:761 +#: ../Doc/c-api/typeobj.rst:742 msgid "" "This field is inherited by subtypes together with :c:member:`~PyTypeObject." "tp_getattro`: a subtype inherits both :c:member:`~PyTypeObject.tp_getattr` " @@ -1725,12 +1677,12 @@ msgstr "" "subtipos :c:member:`~PyTypeObject.tp_getattr` y :c:member:`~PyTypeObject." "tp_getattro` son ambos ``NULL``." -#: ../Doc/c-api/typeobj.rst:768 ../Doc/c-api/typeobj.rst:964 +#: ../Doc/c-api/typeobj.rst:749 ../Doc/c-api/typeobj.rst:945 msgid "" "An optional pointer to the function for setting and deleting attributes." msgstr "Un puntero opcional a la función para configurar y eliminar atributos." -#: ../Doc/c-api/typeobj.rst:770 +#: ../Doc/c-api/typeobj.rst:751 msgid "" "This field is deprecated. When it is defined, it should point to a function " "that acts the same as the :c:member:`~PyTypeObject.tp_setattro` function, " @@ -1742,11 +1694,11 @@ msgstr "" "tomando una cadena de caracteres C en lugar de un objeto de cadena Python " "para dar el nombre del atributo." -#: ../Doc/c-api/typeobj.rst:776 ../Doc/c-api/typeobj.rst:977 +#: ../Doc/c-api/typeobj.rst:757 ../Doc/c-api/typeobj.rst:958 msgid "Group: :attr:`tp_setattr`, :attr:`tp_setattro`" msgstr "Grupo: :attr:`tp_setattr`, :attr:`tp_setattro`" -#: ../Doc/c-api/typeobj.rst:778 +#: ../Doc/c-api/typeobj.rst:759 msgid "" "This field is inherited by subtypes together with :c:member:`~PyTypeObject." "tp_setattro`: a subtype inherits both :c:member:`~PyTypeObject.tp_setattr` " @@ -1760,7 +1712,7 @@ msgstr "" "subtipos :c:member:`~PyTypeObject.tp_setattr` y :c:member:`~PyTypeObject." "tp_setattro` son ambos ``NULL``." -#: ../Doc/c-api/typeobj.rst:785 +#: ../Doc/c-api/typeobj.rst:766 msgid "" "Pointer to an additional structure that contains fields relevant only to " "objects which implement :term:`awaitable` and :term:`asynchronous iterator` " @@ -1771,11 +1723,11 @@ msgstr "" "y \"iterador asíncrono\" (:term:`asynchronous iterator`) en el nivel C. Ver :" "ref:`async-structs` para más detalles." -#: ../Doc/c-api/typeobj.rst:789 +#: ../Doc/c-api/typeobj.rst:770 msgid "Formerly known as ``tp_compare`` and ``tp_reserved``." msgstr "Anteriormente conocidos como ``tp_compare`` y ``tp_reserved``." -#: ../Doc/c-api/typeobj.rst:794 +#: ../Doc/c-api/typeobj.rst:775 msgid "" "The :c:member:`~PyTypeObject.tp_as_async` field is not inherited, but the " "contained fields are inherited individually." @@ -1783,7 +1735,7 @@ msgstr "" "El campo :c:member:`~PyTypeObject.tp_as_async` no se hereda, pero los campos " "contenidos se heredan individualmente." -#: ../Doc/c-api/typeobj.rst:802 +#: ../Doc/c-api/typeobj.rst:783 msgid "" "An optional pointer to a function that implements the built-in function :" "func:`repr`." @@ -1791,11 +1743,11 @@ msgstr "" "Un puntero opcional a una función que implementa la función incorporada :" "func:`repr`." -#: ../Doc/c-api/typeobj.rst:805 +#: ../Doc/c-api/typeobj.rst:786 msgid "The signature is the same as for :c:func:`PyObject_Repr`::" msgstr "La firma es la misma que para :c:func:`PyObject_Repr`::" -#: ../Doc/c-api/typeobj.rst:809 +#: ../Doc/c-api/typeobj.rst:790 msgid "" "The function must return a string or a Unicode object. Ideally, this " "function should return a string that, when passed to :func:`eval`, given a " @@ -1810,17 +1762,17 @@ msgstr "" "termine con ``'>'`` desde la cual se puede deducir tanto el tipo como el " "valor del objeto." -#: ../Doc/c-api/typeobj.rst:820 ../Doc/c-api/typeobj.rst:932 -#: ../Doc/c-api/typeobj.rst:957 ../Doc/c-api/typeobj.rst:983 -#: ../Doc/c-api/typeobj.rst:1025 ../Doc/c-api/typeobj.rst:1386 -#: ../Doc/c-api/typeobj.rst:1538 ../Doc/c-api/typeobj.rst:1559 -#: ../Doc/c-api/typeobj.rst:1657 ../Doc/c-api/typeobj.rst:1693 -#: ../Doc/c-api/typeobj.rst:1711 ../Doc/c-api/typeobj.rst:1749 -#: ../Doc/c-api/typeobj.rst:1770 ../Doc/c-api/typeobj.rst:1801 +#: ../Doc/c-api/typeobj.rst:801 ../Doc/c-api/typeobj.rst:913 +#: ../Doc/c-api/typeobj.rst:938 ../Doc/c-api/typeobj.rst:964 +#: ../Doc/c-api/typeobj.rst:1006 ../Doc/c-api/typeobj.rst:1374 +#: ../Doc/c-api/typeobj.rst:1526 ../Doc/c-api/typeobj.rst:1547 +#: ../Doc/c-api/typeobj.rst:1645 ../Doc/c-api/typeobj.rst:1681 +#: ../Doc/c-api/typeobj.rst:1699 ../Doc/c-api/typeobj.rst:1737 +#: ../Doc/c-api/typeobj.rst:1758 ../Doc/c-api/typeobj.rst:1789 msgid "**Default:**" msgstr "**Por defecto:**" -#: ../Doc/c-api/typeobj.rst:822 +#: ../Doc/c-api/typeobj.rst:803 #, python-format msgid "" "When this field is not set, a string of the form ``<%s object at %p>`` is " @@ -1831,7 +1783,7 @@ msgstr "" "de la forma ``<%s object at %p>``, donde ``%s`` se reemplaza por el nombre " "del tipo y ``%p`` por dirección de memoria del objeto." -#: ../Doc/c-api/typeobj.rst:829 +#: ../Doc/c-api/typeobj.rst:810 msgid "" "Pointer to an additional structure that contains fields relevant only to " "objects which implement the number protocol. These fields are documented " @@ -1841,7 +1793,7 @@ msgstr "" "objetos que implementan el protocolo numérico. Estos campos están " "documentados en :ref:`number-structs`." -#: ../Doc/c-api/typeobj.rst:835 +#: ../Doc/c-api/typeobj.rst:816 msgid "" "The :c:member:`~PyTypeObject.tp_as_number` field is not inherited, but the " "contained fields are inherited individually." @@ -1849,7 +1801,7 @@ msgstr "" "El campo :c:member:`~PyTypeObject.tp_as_number` no se hereda, pero los " "campos contenidos se heredan individualmente." -#: ../Doc/c-api/typeobj.rst:841 +#: ../Doc/c-api/typeobj.rst:822 msgid "" "Pointer to an additional structure that contains fields relevant only to " "objects which implement the sequence protocol. These fields are documented " @@ -1859,7 +1811,7 @@ msgstr "" "objetos que implementan el protocolo de secuencia. Estos campos están " "documentados en :ref:`estructuras de secuencia `." -#: ../Doc/c-api/typeobj.rst:847 +#: ../Doc/c-api/typeobj.rst:828 msgid "" "The :c:member:`~PyTypeObject.tp_as_sequence` field is not inherited, but the " "contained fields are inherited individually." @@ -1867,7 +1819,7 @@ msgstr "" "El campo :c:member:`~PyTypeObject.tp_as_sequence` no se hereda, pero los " "campos contenidos se heredan individualmente." -#: ../Doc/c-api/typeobj.rst:853 +#: ../Doc/c-api/typeobj.rst:834 msgid "" "Pointer to an additional structure that contains fields relevant only to " "objects which implement the mapping protocol. These fields are documented " @@ -1877,7 +1829,7 @@ msgstr "" "objetos que implementan el protocolo de mapeo. Estos campos están " "documentados en :ref:`mapping-structs`." -#: ../Doc/c-api/typeobj.rst:859 +#: ../Doc/c-api/typeobj.rst:840 msgid "" "The :c:member:`~PyTypeObject.tp_as_mapping` field is not inherited, but the " "contained fields are inherited individually." @@ -1885,7 +1837,7 @@ msgstr "" "El campo :c:member:`~PyTypeObject.tp_as_mapping` no se hereda, pero los " "campos contenidos se heredan individualmente." -#: ../Doc/c-api/typeobj.rst:867 +#: ../Doc/c-api/typeobj.rst:848 msgid "" "An optional pointer to a function that implements the built-in function :" "func:`hash`." @@ -1893,11 +1845,11 @@ msgstr "" "Un puntero opcional a una función que implementa la función incorporada :" "func:`hash`." -#: ../Doc/c-api/typeobj.rst:870 +#: ../Doc/c-api/typeobj.rst:851 msgid "The signature is the same as for :c:func:`PyObject_Hash`::" msgstr "La firma es la misma que para :c:func:`PyObject_Hash`::" -#: ../Doc/c-api/typeobj.rst:874 +#: ../Doc/c-api/typeobj.rst:855 msgid "" "The value ``-1`` should not be returned as a normal return value; when an " "error occurs during the computation of the hash value, the function should " @@ -1907,7 +1859,7 @@ msgstr "" "se produce un error durante el cálculo del valor *hash*, la función debe " "establecer una excepción y retornar ``-1``." -#: ../Doc/c-api/typeobj.rst:878 +#: ../Doc/c-api/typeobj.rst:859 msgid "" "When this field is not set (*and* :attr:`tp_richcompare` is not set), an " "attempt to take the hash of the object raises :exc:`TypeError`. This is the " @@ -1918,7 +1870,7 @@ msgstr "" "*hash* del objeto. Esto es lo mismo que establecerlo en :c:func:" "`PyObject_HashNotImplemented`." -#: ../Doc/c-api/typeobj.rst:882 +#: ../Doc/c-api/typeobj.rst:863 msgid "" "This field can be set explicitly to :c:func:`PyObject_HashNotImplemented` to " "block inheritance of the hash method from a parent type. This is interpreted " @@ -1937,11 +1889,11 @@ msgstr "" "el nivel de Python dará como resultado que la ranura ``tp_hash`` se " "establezca en :c:func:`PyObject_HashNotImplemented`." -#: ../Doc/c-api/typeobj.rst:892 ../Doc/c-api/typeobj.rst:1379 +#: ../Doc/c-api/typeobj.rst:873 ../Doc/c-api/typeobj.rst:1367 msgid "Group: :attr:`tp_hash`, :attr:`tp_richcompare`" msgstr "Grupo: :attr:`tp_hash`, :attr:`tp_richcompare`" -#: ../Doc/c-api/typeobj.rst:894 +#: ../Doc/c-api/typeobj.rst:875 msgid "" "This field is inherited by subtypes together with :c:member:`~PyTypeObject." "tp_richcompare`: a subtype inherits both of :c:member:`~PyTypeObject." @@ -1955,7 +1907,7 @@ msgstr "" "member:`~PyTypeObject.tp_richcompare` y :c:member:`~PyTypeObject.tp_hash` " "son ambos ``NULL``." -#: ../Doc/c-api/typeobj.rst:902 +#: ../Doc/c-api/typeobj.rst:883 msgid "" "An optional pointer to a function that implements calling the object. This " "should be ``NULL`` if the object is not callable. The signature is the same " @@ -1965,7 +1917,7 @@ msgstr "" "debería ser ``NULL`` si el objeto no es invocable. La firma es la misma que " "para :c:func:`PyObject_Call`::" -#: ../Doc/c-api/typeobj.rst:915 +#: ../Doc/c-api/typeobj.rst:896 msgid "" "An optional pointer to a function that implements the built-in operation :" "func:`str`. (Note that :class:`str` is a type now, and :func:`str` calls " @@ -1979,11 +1931,11 @@ msgstr "" "`PyObject_Str` para hacer el trabajo real, y :c:func:`PyObject_Str` llamará " "a este controlador.)" -#: ../Doc/c-api/typeobj.rst:920 +#: ../Doc/c-api/typeobj.rst:901 msgid "The signature is the same as for :c:func:`PyObject_Str`::" msgstr "La firma es la misma que para :c:func:`PyObject_Str`::" -#: ../Doc/c-api/typeobj.rst:924 +#: ../Doc/c-api/typeobj.rst:905 msgid "" "The function must return a string or a Unicode object. It should be a " "\"friendly\" string representation of the object, as this is the " @@ -1995,7 +1947,7 @@ msgstr "" "representación que será utilizada, entre otras cosas, por la función :func:" "`print`." -#: ../Doc/c-api/typeobj.rst:934 +#: ../Doc/c-api/typeobj.rst:915 msgid "" "When this field is not set, :c:func:`PyObject_Repr` is called to return a " "string representation." @@ -2003,16 +1955,16 @@ msgstr "" "Cuando este campo no está configurado, se llama a :c:func:`PyObject_Repr` " "para retornar una representación de cadena de caracteres." -#: ../Doc/c-api/typeobj.rst:940 +#: ../Doc/c-api/typeobj.rst:921 msgid "An optional pointer to the get-attribute function." msgstr "" "Un puntero opcional a la función \"obtener atributo\" (*get-attribute*)." -#: ../Doc/c-api/typeobj.rst:942 +#: ../Doc/c-api/typeobj.rst:923 msgid "The signature is the same as for :c:func:`PyObject_GetAttr`::" msgstr "La firma es la misma que para :c:func:`PyObject_GetAttr`::" -#: ../Doc/c-api/typeobj.rst:946 +#: ../Doc/c-api/typeobj.rst:927 msgid "" "It is usually convenient to set this field to :c:func:" "`PyObject_GenericGetAttr`, which implements the normal way of looking for " @@ -2022,7 +1974,7 @@ msgstr "" "`PyObject_GenericGetAttr`, que implementa la forma normal de buscar " "atributos de objeto." -#: ../Doc/c-api/typeobj.rst:953 +#: ../Doc/c-api/typeobj.rst:934 msgid "" "This field is inherited by subtypes together with :c:member:`~PyTypeObject." "tp_getattr`: a subtype inherits both :c:member:`~PyTypeObject.tp_getattr` " @@ -2036,15 +1988,15 @@ msgstr "" "c:member:`~PyTypeObject.tp_getattr` y :c:member:`~PyTypeObject.tp_getattro` " "son ambos ``NULL``." -#: ../Doc/c-api/typeobj.rst:959 +#: ../Doc/c-api/typeobj.rst:940 msgid ":c:type:`PyBaseObject_Type` uses :c:func:`PyObject_GenericGetAttr`." msgstr ":c:type:`PyBaseObject_Type` usa :c:func:`PyObject_GenericGetAttr`." -#: ../Doc/c-api/typeobj.rst:966 +#: ../Doc/c-api/typeobj.rst:947 msgid "The signature is the same as for :c:func:`PyObject_SetAttr`::" msgstr "La firma es la misma que para :c:func:`PyObject_SetAttr`::" -#: ../Doc/c-api/typeobj.rst:970 +#: ../Doc/c-api/typeobj.rst:951 msgid "" "In addition, setting *value* to ``NULL`` to delete an attribute must be " "supported. It is usually convenient to set this field to :c:func:" @@ -2056,7 +2008,7 @@ msgstr "" "en :c:func:`PyObject_GenericSetAttr`, que implementa la forma normal de " "establecer los atributos del objeto." -#: ../Doc/c-api/typeobj.rst:979 +#: ../Doc/c-api/typeobj.rst:960 msgid "" "This field is inherited by subtypes together with :c:member:`~PyTypeObject." "tp_setattr`: a subtype inherits both :c:member:`~PyTypeObject.tp_setattr` " @@ -2070,11 +2022,11 @@ msgstr "" "c:member:`~PyTypeObject.tp_setattr` y :c:member:`~PyTypeObject.tp_setattro` " "son ambos ``NULL``." -#: ../Doc/c-api/typeobj.rst:985 +#: ../Doc/c-api/typeobj.rst:966 msgid ":c:type:`PyBaseObject_Type` uses :c:func:`PyObject_GenericSetAttr`." msgstr ":c:type:`PyBaseObject_Type` usa :c:func:`PyObject_GenericSetAttr`." -#: ../Doc/c-api/typeobj.rst:990 +#: ../Doc/c-api/typeobj.rst:971 msgid "" "Pointer to an additional structure that contains fields relevant only to " "objects which implement the buffer interface. These fields are documented " @@ -2084,7 +2036,7 @@ msgstr "" "objetos que implementan la interfaz del búfer. Estos campos están " "documentados en :ref:`buffer-structs`." -#: ../Doc/c-api/typeobj.rst:996 +#: ../Doc/c-api/typeobj.rst:977 msgid "" "The :c:member:`~PyTypeObject.tp_as_buffer` field is not inherited, but the " "contained fields are inherited individually." @@ -2092,7 +2044,7 @@ msgstr "" "El campo :c:member:`~PyTypeObject.tp_as_buffer` no se hereda, pero los " "campos contenidos se heredan individualmente." -#: ../Doc/c-api/typeobj.rst:1002 +#: ../Doc/c-api/typeobj.rst:983 msgid "" "This field is a bit mask of various flags. Some flags indicate variant " "semantics for certain situations; others are used to indicate that certain " @@ -2113,7 +2065,7 @@ msgstr "" "bandera está claro, no se debe acceder a los campos de tipo que protege y se " "debe considerar que tienen un valor cero o ``NULL``." -#: ../Doc/c-api/typeobj.rst:1012 +#: ../Doc/c-api/typeobj.rst:993 msgid "" "Inheritance of this field is complicated. Most flag bits are inherited " "individually, i.e. if the base type has a flag bit set, the subtype inherits " @@ -2140,18 +2092,18 @@ msgstr "" "member:`~PyTypeObject.tp_clear` en el subtipo existen y tienen valores " "``NULL``." -#: ../Doc/c-api/typeobj.rst:1027 +#: ../Doc/c-api/typeobj.rst:1008 msgid "" ":c:type:`PyBaseObject_Type` uses ``Py_TPFLAGS_DEFAULT | " "Py_TPFLAGS_BASETYPE``." msgstr "" ":c:type:`PyBaseObject_Type` usa ``Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE``." -#: ../Doc/c-api/typeobj.rst:1030 +#: ../Doc/c-api/typeobj.rst:1011 msgid "**Bit Masks:**" msgstr "**Máscaras de bits:**" -#: ../Doc/c-api/typeobj.rst:1032 +#: ../Doc/c-api/typeobj.rst:1013 msgid "" "The following bit masks are currently defined; these can be ORed together " "using the ``|`` operator to form the value of the :c:member:`~PyTypeObject." @@ -2165,7 +2117,7 @@ msgstr "" "un tipo y un valor de banderas, *tp* y *f*, y comprueba si ``tp->tp_flags & " "f`` no es cero." -#: ../Doc/c-api/typeobj.rst:1039 +#: ../Doc/c-api/typeobj.rst:1020 msgid "" "This bit is set when the type object itself is allocated on the heap, for " "example, types created dynamically using :c:func:`PyType_FromSpec`. In this " @@ -2183,13 +2135,13 @@ msgstr "" "aplica a instancias de subtipos; solo el tipo al que hace referencia el " "*ob_type* de la instancia obtiene INCREF o DECREF)." -#: ../Doc/c-api/typeobj.rst:1049 ../Doc/c-api/typeobj.rst:1060 -#: ../Doc/c-api/typeobj.rst:1070 ../Doc/c-api/typeobj.rst:1080 -#: ../Doc/c-api/typeobj.rst:1113 +#: ../Doc/c-api/typeobj.rst:1030 ../Doc/c-api/typeobj.rst:1041 +#: ../Doc/c-api/typeobj.rst:1051 ../Doc/c-api/typeobj.rst:1061 +#: ../Doc/c-api/typeobj.rst:1094 msgid "???" msgstr "???" -#: ../Doc/c-api/typeobj.rst:1054 +#: ../Doc/c-api/typeobj.rst:1035 msgid "" "This bit is set when the type can be used as the base type of another type. " "If this bit is clear, the type cannot be subtyped (similar to a \"final\" " @@ -2199,7 +2151,7 @@ msgstr "" "tipo. Si este bit es claro, el tipo no puede subtiparse (similar a una clase " "\"final\" en Java)." -#: ../Doc/c-api/typeobj.rst:1065 +#: ../Doc/c-api/typeobj.rst:1046 msgid "" "This bit is set when the type object has been fully initialized by :c:func:" "`PyType_Ready`." @@ -2207,7 +2159,7 @@ msgstr "" "Este bit se establece cuando el objeto tipo ha sido completamente " "inicializado por :c:func:`PyType_Ready`." -#: ../Doc/c-api/typeobj.rst:1075 +#: ../Doc/c-api/typeobj.rst:1056 msgid "" "This bit is set while :c:func:`PyType_Ready` is in the process of " "initializing the type object." @@ -2215,7 +2167,7 @@ msgstr "" "Este bit se establece mientras :c:func:`PyType_Ready` está en el proceso de " "inicialización del objeto tipo." -#: ../Doc/c-api/typeobj.rst:1085 +#: ../Doc/c-api/typeobj.rst:1066 msgid "" "This bit is set when the object supports garbage collection. If this bit is " "set, instances must be created using :c:func:`PyObject_GC_New` and destroyed " @@ -2232,14 +2184,14 @@ msgstr "" "tp_traverse` y :c:member:`~PyTypeObject.tp_clear` están presentes en el " "objeto de tipo." -#: ../Doc/c-api/typeobj.rst:1094 ../Doc/c-api/typeobj.rst:1259 -#: ../Doc/c-api/typeobj.rst:1320 +#: ../Doc/c-api/typeobj.rst:1075 ../Doc/c-api/typeobj.rst:1247 +#: ../Doc/c-api/typeobj.rst:1308 msgid "" "Group: :const:`Py_TPFLAGS_HAVE_GC`, :attr:`tp_traverse`, :attr:`tp_clear`" msgstr "" "Grupo: :const:`Py_TPFLAGS_HAVE_GC`, :attr:`tp_traverse`, :attr:`tp_clear`" -#: ../Doc/c-api/typeobj.rst:1096 +#: ../Doc/c-api/typeobj.rst:1077 msgid "" "The :const:`Py_TPFLAGS_HAVE_GC` flag bit is inherited together with the :" "attr:`tp_traverse` and :attr:`tp_clear` fields, i.e. if the :const:" @@ -2253,7 +2205,7 @@ msgstr "" "attr:`tp_traverse` y :attr:`tp_clear` en el subtipo existen y tienen valores " "``NULL``." -#: ../Doc/c-api/typeobj.rst:1106 +#: ../Doc/c-api/typeobj.rst:1087 msgid "" "This is a bitmask of all the bits that pertain to the existence of certain " "fields in the type object and its extension structures. Currently, it " @@ -2265,16 +2217,16 @@ msgstr "" "Actualmente, incluye los siguientes bits: :const:" "`Py_TPFLAGS_HAVE_STACKLESS_EXTENSION`, :const:`Py_TPFLAGS_HAVE_VERSION_TAG`." -#: ../Doc/c-api/typeobj.rst:1118 +#: ../Doc/c-api/typeobj.rst:1099 msgid "This bit indicates that objects behave like unbound methods." msgstr "" "Este bit indica que los objetos se comportan como métodos independientes." -#: ../Doc/c-api/typeobj.rst:1120 +#: ../Doc/c-api/typeobj.rst:1101 msgid "If this flag is set for ``type(meth)``, then:" msgstr "Si este indicador está configurado para ``type(meth)``, entonces:" -#: ../Doc/c-api/typeobj.rst:1122 +#: ../Doc/c-api/typeobj.rst:1103 msgid "" "``meth.__get__(obj, cls)(*args, **kwds)`` (with ``obj`` not None) must be " "equivalent to ``meth(obj, *args, **kwds)``." @@ -2282,7 +2234,7 @@ msgstr "" "``meth.__get__(obj, cls)(*args, **kwds)`` (con ``obj`` no ``None``) debe ser " "equivalente a ``meth(obj, *args, **kwds)``." -#: ../Doc/c-api/typeobj.rst:1125 +#: ../Doc/c-api/typeobj.rst:1106 msgid "" "``meth.__get__(None, cls)(*args, **kwds)`` must be equivalent to " "``meth(*args, **kwds)``." @@ -2290,7 +2242,7 @@ msgstr "" "``meth.__get__(None, cls)(*args, **kwds)`` debe ser equivalente a " "``meth(*args, **kwds)``." -#: ../Doc/c-api/typeobj.rst:1128 +#: ../Doc/c-api/typeobj.rst:1109 msgid "" "This flag enables an optimization for typical method calls like ``obj." "meth()``: it avoids creating a temporary \"bound method\" object for ``obj." @@ -2300,7 +2252,7 @@ msgstr "" "típicos como ``obj.meth()``: evita crear un objeto temporal de \"método " "vinculado\" para ``obj.meth``." -#: ../Doc/c-api/typeobj.rst:1136 +#: ../Doc/c-api/typeobj.rst:1117 msgid "" "This flag is never inherited by heap types. For extension types, it is " "inherited whenever :c:member:`~PyTypeObject.tp_descr_get` is inherited." @@ -2309,7 +2261,7 @@ msgstr "" "tipos de extensión, se hereda siempre que :c:member:`~PyTypeObject." "tp_descr_get` se hereda." -#: ../Doc/c-api/typeobj.rst:1153 +#: ../Doc/c-api/typeobj.rst:1134 msgid "" "These flags are used by functions such as :c:func:`PyLong_Check` to quickly " "determine if a type is a subclass of a built-in type; such specific checks " @@ -2327,7 +2279,7 @@ msgstr "" "comportará de manera diferente dependiendo del tipo de verificación que se " "use." -#: ../Doc/c-api/typeobj.rst:1164 +#: ../Doc/c-api/typeobj.rst:1145 msgid "" "This bit is set when the :c:member:`~PyTypeObject.tp_finalize` slot is " "present in the type structure." @@ -2335,7 +2287,7 @@ msgstr "" "Este bit se establece cuando la ranura :c:member:`~PyTypeObject.tp_finalize` " "está presente en la estructura de tipo." -#: ../Doc/c-api/typeobj.rst:1169 +#: ../Doc/c-api/typeobj.rst:1150 msgid "" "This flag isn't necessary anymore, as the interpreter assumes the :c:member:" "`~PyTypeObject.tp_finalize` slot is always present in the type structure." @@ -2344,43 +2296,24 @@ msgstr "" "espacio :c:member:`~PyTypeObject.tp_finalize` siempre está presente en la " "estructura de tipos." -#: ../Doc/c-api/typeobj.rst:1176 +#: ../Doc/c-api/typeobj.rst:1158 +#, fuzzy msgid "" -"This bit is set when the class implements the vectorcall protocol. See :c:" -"member:`~PyTypeObject.tp_vectorcall_offset` for details." +"This bit is set when the class implements the :ref:`vectorcall protocol " +"`. See :c:member:`~PyTypeObject.tp_vectorcall_offset` for " +"details." msgstr "" "Este bit se establece cuando la clase implementa el protocolo *vectorcall*. " "Ver :c:member:`~PyTypeObject.tp_vectorcall_offset` para más detalles." -#: ../Doc/c-api/typeobj.rst:1181 -msgid "" -"This bit is set on *static* subtypes if ``tp_flags`` is not overridden: a " -"subtype inherits ``_Py_TPFLAGS_HAVE_VECTORCALL`` from its base type when the " -"subtype’s :c:member:`~PyTypeObject.tp_call` is ``NULL`` and the subtype's " -"``Py_TPFLAGS_HEAPTYPE`` is not set." -msgstr "" -"Este bit se establece en los subtipos *static* si ``tp_flags`` no se " -"reemplaza: un subtipo hereda ``_Py_TPFLAGS_HAVE_VECTORCALL`` de su tipo base " -"cuando el subtipo :c:member:`~PyTypeObject.tp_call` es ``NULL`` y el subtipo " -"``Py_TPFLAGS_HEAPTYPE`` no está establecido." - -#: ../Doc/c-api/typeobj.rst:1186 -msgid "`Heap types`_ do not inherit ``_Py_TPFLAGS_HAVE_VECTORCALL``." -msgstr "" -"\"Tipos montículo\" (`Heap types`_) no heredan " -"``_Py_TPFLAGS_HAVE_VECTORCALL``." - -#: ../Doc/c-api/typeobj.rst:1190 +#: ../Doc/c-api/typeobj.rst:1164 msgid "" -"This flag is provisional and expected to become public in Python 3.9, with a " -"different name and, possibly, changed semantics. If you use vectorcall, plan " -"for updating your code for Python 3.9." +"This bit is inherited for *static* subtypes if :c:member:`~PyTypeObject." +"tp_call` is also inherited. `Heap types`_ do not inherit " +"``Py_TPFLAGS_HAVE_VECTORCALL``." msgstr "" -"Este indicador (*flag*) es provisional y se espera que se haga pública en " -"Python 3.9, con un nombre diferente y, posiblemente, una semántica cambiada. " -"Si usa *vectorcall*, planifique actualizar su código para Python 3.9." -#: ../Doc/c-api/typeobj.rst:1199 +#: ../Doc/c-api/typeobj.rst:1173 msgid "" "An optional pointer to a NUL-terminated C string giving the docstring for " "this type object. This is exposed as the :attr:`__doc__` attribute on the " @@ -2390,11 +2323,11 @@ msgstr "" "que proporciona la cadena de documentación para este tipo de objeto. Esto se " "expone como el atributo :attr:`__doc__` en el tipo y las instancias del tipo." -#: ../Doc/c-api/typeobj.rst:1205 +#: ../Doc/c-api/typeobj.rst:1179 msgid "This field is *not* inherited by subtypes." msgstr "Este campo es *no* heredado por los subtipos." -#: ../Doc/c-api/typeobj.rst:1210 +#: ../Doc/c-api/typeobj.rst:1184 msgid "" "An optional pointer to a traversal function for the garbage collector. This " "is only used if the :const:`Py_TPFLAGS_HAVE_GC` flag bit is set. The " @@ -2404,7 +2337,7 @@ msgstr "" "Esto solo se usa si se establece el bit de la bandera (*flag*) :const:" "`Py_TPFLAGS_HAVE_GC`. La firma es::" -#: ../Doc/c-api/typeobj.rst:1215 ../Doc/c-api/typeobj.rst:1315 +#: ../Doc/c-api/typeobj.rst:1189 ../Doc/c-api/typeobj.rst:1303 msgid "" "More information about Python's garbage collection scheme can be found in " "section :ref:`supporting-cycle-detection`." @@ -2412,7 +2345,7 @@ msgstr "" "Se puede encontrar más información sobre el esquema de recolección de basura " "de Python en la sección :ref:`supporting-cycle-detection`." -#: ../Doc/c-api/typeobj.rst:1218 +#: ../Doc/c-api/typeobj.rst:1192 msgid "" "The :c:member:`~PyTypeObject.tp_traverse` pointer is used by the garbage " "collector to detect reference cycles. A typical implementation of a :c:" @@ -2428,7 +2361,7 @@ msgstr "" "de Python que posee la instancia. Por ejemplo, esta es la función :c:func:" "`local_traverse` del módulo de extensión :mod:`_thread`::" -#: ../Doc/c-api/typeobj.rst:1233 +#: ../Doc/c-api/typeobj.rst:1207 msgid "" "Note that :c:func:`Py_VISIT` is called only on those members that can " "participate in reference cycles. Although there is also a ``self->key`` " @@ -2440,7 +2373,7 @@ msgstr "" "``self->key``, solo puede ser ``NULL`` o una cadena de caracteres de Python " "y, por lo tanto, no puede ser parte de un ciclo de referencia." -#: ../Doc/c-api/typeobj.rst:1237 +#: ../Doc/c-api/typeobj.rst:1211 msgid "" "On the other hand, even if you know a member can never be part of a cycle, " "as a debugging aid you may want to visit it anyway just so the :mod:`gc` " @@ -2451,7 +2384,7 @@ msgstr "" "para que la función :func:`~gc.get_referents` del módulo :mod:`gc` lo " "incluirá." -#: ../Doc/c-api/typeobj.rst:1242 +#: ../Doc/c-api/typeobj.rst:1216 msgid "" "When implementing :c:member:`~PyTypeObject.tp_traverse`, only the members " "that the instance *owns* (by having strong references to them) must be " @@ -2474,7 +2407,7 @@ msgstr "" "dentro de ella, ya que se puede eliminar incluso si la instancia aún está " "viva)." -#: ../Doc/c-api/typeobj.rst:1253 +#: ../Doc/c-api/typeobj.rst:1226 msgid "" "Note that :c:func:`Py_VISIT` requires the *visit* and *arg* parameters to :c:" "func:`local_traverse` to have these specific names; don't name them just " @@ -2484,7 +2417,24 @@ msgstr "" "*arg* para :c:func:`local_traverse` para tener estos nombres específicos; no " "les llames de ninguna manera." -#: ../Doc/c-api/typeobj.rst:1261 +#: ../Doc/c-api/typeobj.rst:1230 +msgid "" +"Heap-allocated types (:const:`Py_TPFLAGS_HEAPTYPE`, such as those created " +"with :c:func:`PyType_FromSpec` and similar APIs) hold a reference to their " +"type. Their traversal function must therefore either visit :c:func:" +"`Py_TYPE(self) `, or delegate this responsibility by calling " +"``tp_traverse`` of another heap-allocated type (such as a heap-allocated " +"superclass). If they do not, the type object may not be garbage-collected." +msgstr "" + +#: ../Doc/c-api/typeobj.rst:1240 +msgid "" +"Heap-allocated types are expected to visit ``Py_TYPE(self)`` in " +"``tp_traverse``. In earlier versions of Python, due to `bug 40217 `_, doing this may lead to crashes in subclasses." +msgstr "" + +#: ../Doc/c-api/typeobj.rst:1249 msgid "" "This field is inherited by subtypes together with :c:member:`~PyTypeObject." "tp_clear` and the :const:`Py_TPFLAGS_HAVE_GC` flag bit: the flag bit, :c:" @@ -2496,7 +2446,7 @@ msgstr "" "bandera, :c:member:`~PyTypeObject.tp_traverse`, y :c:member:`~PyTypeObject." "tp_clear` se heredan todos del tipo base si todos son cero en el subtipo." -#: ../Doc/c-api/typeobj.rst:1269 +#: ../Doc/c-api/typeobj.rst:1257 msgid "" "An optional pointer to a clear function for the garbage collector. This is " "only used if the :const:`Py_TPFLAGS_HAVE_GC` flag bit is set. The signature " @@ -2506,7 +2456,7 @@ msgstr "" "recolector de basura. Esto solo se usa si se establece el bit de bandera :" "const:`Py_TPFLAGS_HAVE_GC`. La firma es::" -#: ../Doc/c-api/typeobj.rst:1274 +#: ../Doc/c-api/typeobj.rst:1262 msgid "" "The :c:member:`~PyTypeObject.tp_clear` member function is used to break " "reference cycles in cyclic garbage detected by the garbage collector. Taken " @@ -2533,7 +2483,7 @@ msgstr "" "tupla. Esto no es inmediatamente obvio, y rara vez hay una buena razón para " "evitar la implementación de :c:member:`~PyTypeObject.tp_clear`." -#: ../Doc/c-api/typeobj.rst:1284 +#: ../Doc/c-api/typeobj.rst:1272 msgid "" "Implementations of :c:member:`~PyTypeObject.tp_clear` should drop the " "instance's references to those of its members that may be Python objects, " @@ -2545,7 +2495,7 @@ msgstr "" "ser objetos de Python, y establecer sus punteros a esos miembros en " "``NULL``, como en el siguiente ejemplo::" -#: ../Doc/c-api/typeobj.rst:1298 +#: ../Doc/c-api/typeobj.rst:1286 msgid "" "The :c:func:`Py_CLEAR` macro should be used, because clearing references is " "delicate: the reference to the contained object must not be decremented " @@ -2572,7 +2522,7 @@ msgstr "" "objeto contenido ya no se puede usar. El macro :c:func:`Py_CLEAR` realiza " "las operaciones en un orden seguro." -#: ../Doc/c-api/typeobj.rst:1309 +#: ../Doc/c-api/typeobj.rst:1297 msgid "" "Because the goal of :c:member:`~PyTypeObject.tp_clear` functions is to break " "reference cycles, it's not necessary to clear contained objects like Python " @@ -2588,7 +2538,7 @@ msgstr "" "objetos Python contenidos y escribir la función :c:member:`~PyTypeObject." "tp_dealloc` para invocar :c:member:`~PyTypeObject.tp_clear`." -#: ../Doc/c-api/typeobj.rst:1322 +#: ../Doc/c-api/typeobj.rst:1310 msgid "" "This field is inherited by subtypes together with :c:member:`~PyTypeObject." "tp_traverse` and the :const:`Py_TPFLAGS_HAVE_GC` flag bit: the flag bit, :c:" @@ -2600,13 +2550,13 @@ msgstr "" "bandera, :c:member:`~PyTypeObject.tp_traverse`, y :c:member:`~PyTypeObject." "tp_clear` se heredan todos del tipo base si todos son cero en el subtipo." -#: ../Doc/c-api/typeobj.rst:1330 +#: ../Doc/c-api/typeobj.rst:1318 msgid "" "An optional pointer to the rich comparison function, whose signature is::" msgstr "" "Un puntero opcional a la función de comparación enriquecida, cuya firma es::" -#: ../Doc/c-api/typeobj.rst:1334 +#: ../Doc/c-api/typeobj.rst:1322 msgid "" "The first parameter is guaranteed to be an instance of the type that is " "defined by :c:type:`PyTypeObject`." @@ -2614,7 +2564,7 @@ msgstr "" "Se garantiza que el primer parámetro será una instancia del tipo definido " "por :c:type:`PyTypeObject`." -#: ../Doc/c-api/typeobj.rst:1337 +#: ../Doc/c-api/typeobj.rst:1325 msgid "" "The function should return the result of the comparison (usually ``Py_True`` " "or ``Py_False``). If the comparison is undefined, it must return " @@ -2626,7 +2576,7 @@ msgstr "" "retornar ``Py_NotImplemented``, si se produce otro error, debe retornar " "``NULL`` y establecer una condición de excepción." -#: ../Doc/c-api/typeobj.rst:1342 +#: ../Doc/c-api/typeobj.rst:1330 msgid "" "The following constants are defined to be used as the third argument for :c:" "member:`~PyTypeObject.tp_richcompare` and for :c:func:`PyObject_RichCompare`:" @@ -2635,70 +2585,70 @@ msgstr "" "argumento para :c:member:`~PyTypeObject.tp_richcompare` y para :c:func:" "`PyObject_RichCompare`:" -#: ../Doc/c-api/typeobj.rst:1346 +#: ../Doc/c-api/typeobj.rst:1334 msgid "Constant" msgstr "Constante" -#: ../Doc/c-api/typeobj.rst:1346 +#: ../Doc/c-api/typeobj.rst:1334 msgid "Comparison" msgstr "Comparación" -#: ../Doc/c-api/typeobj.rst:1348 +#: ../Doc/c-api/typeobj.rst:1336 msgid ":const:`Py_LT`" msgstr ":const:`Py_LT`" -#: ../Doc/c-api/typeobj.rst:1348 +#: ../Doc/c-api/typeobj.rst:1336 msgid "``<``" msgstr "``<``" -#: ../Doc/c-api/typeobj.rst:1350 +#: ../Doc/c-api/typeobj.rst:1338 msgid ":const:`Py_LE`" msgstr ":const:`Py_LE`" -#: ../Doc/c-api/typeobj.rst:1350 +#: ../Doc/c-api/typeobj.rst:1338 msgid "``<=``" msgstr "``<=``" -#: ../Doc/c-api/typeobj.rst:1352 +#: ../Doc/c-api/typeobj.rst:1340 msgid ":const:`Py_EQ`" msgstr ":const:`Py_EQ`" -#: ../Doc/c-api/typeobj.rst:1352 +#: ../Doc/c-api/typeobj.rst:1340 msgid "``==``" msgstr "``==``" -#: ../Doc/c-api/typeobj.rst:1354 +#: ../Doc/c-api/typeobj.rst:1342 msgid ":const:`Py_NE`" msgstr ":const:`Py_NE`" -#: ../Doc/c-api/typeobj.rst:1354 +#: ../Doc/c-api/typeobj.rst:1342 msgid "``!=``" msgstr "``!=``" -#: ../Doc/c-api/typeobj.rst:1356 +#: ../Doc/c-api/typeobj.rst:1344 msgid ":const:`Py_GT`" msgstr ":const:`Py_GT`" -#: ../Doc/c-api/typeobj.rst:1356 +#: ../Doc/c-api/typeobj.rst:1344 msgid "``>``" msgstr "``>``" -#: ../Doc/c-api/typeobj.rst:1358 +#: ../Doc/c-api/typeobj.rst:1346 msgid ":const:`Py_GE`" msgstr ":const:`Py_GE`" -#: ../Doc/c-api/typeobj.rst:1358 +#: ../Doc/c-api/typeobj.rst:1346 msgid "``>=``" msgstr "``>=``" -#: ../Doc/c-api/typeobj.rst:1361 +#: ../Doc/c-api/typeobj.rst:1349 msgid "" "The following macro is defined to ease writing rich comparison functions:" msgstr "" "El siguiente macro está definido para facilitar la escritura de funciones de " "comparación enriquecidas:" -#: ../Doc/c-api/typeobj.rst:1365 +#: ../Doc/c-api/typeobj.rst:1353 msgid "" "Return ``Py_True`` or ``Py_False`` from the function, depending on the " "result of a comparison. VAL_A and VAL_B must be orderable by C comparison " @@ -2711,17 +2661,17 @@ msgstr "" "tercer argumento especifica la operación solicitada, como por ejemplo :c:" "func:`PyObject_RichCompare`." -#: ../Doc/c-api/typeobj.rst:1371 +#: ../Doc/c-api/typeobj.rst:1359 msgid "The return value's reference count is properly incremented." msgstr "" "El conteo de referencia del valor de retorno se incrementa correctamente." -#: ../Doc/c-api/typeobj.rst:1373 +#: ../Doc/c-api/typeobj.rst:1361 msgid "On error, sets an exception and returns ``NULL`` from the function." msgstr "" "En caso de error, establece una excepción y retorna ``NULL`` de la función." -#: ../Doc/c-api/typeobj.rst:1381 +#: ../Doc/c-api/typeobj.rst:1369 msgid "" "This field is inherited by subtypes together with :c:member:`~PyTypeObject." "tp_hash`: a subtype inherits :c:member:`~PyTypeObject.tp_richcompare` and :c:" @@ -2733,7 +2683,7 @@ msgstr "" "member:`~PyTypeObject.tp_hash` cuando el subtipo :c:member:`~PyTypeObject." "tp_richcompare` y :c:member:`~PyTypeObject.tp_hash` son ambos ``NULL``." -#: ../Doc/c-api/typeobj.rst:1388 +#: ../Doc/c-api/typeobj.rst:1376 msgid "" ":c:type:`PyBaseObject_Type` provides a :attr:`tp_richcompare` " "implementation, which may be inherited. However, if only :attr:`tp_hash` is " @@ -2745,14 +2695,15 @@ msgstr "" "attr:`tp_hash`, ni siquiera se utiliza la función heredada y las instancias " "del tipo no podrán participar en ninguna comparación." -#: ../Doc/c-api/typeobj.rst:1397 +#: ../Doc/c-api/typeobj.rst:1385 +#, fuzzy msgid "" "If the instances of this type are weakly referenceable, this field is " "greater than zero and contains the offset in the instance structure of the " "weak reference list head (ignoring the GC header, if present); this offset " "is used by :c:func:`PyObject_ClearWeakRefs` and the :c:func:`PyWeakref_\\*` " "functions. The instance structure needs to include a field of type :c:type:" -"`PyObject\\*` which is initialized to ``NULL``." +"`PyObject*` which is initialized to ``NULL``." msgstr "" "Si las instancias de este tipo son débilmente referenciables, este campo es " "mayor que cero y contiene el desplazamiento en la estructura de instancias " @@ -2762,7 +2713,7 @@ msgstr "" "estructura de la instancia debe incluir un campo de tipo :c:type:`PyObject" "\\*` que se inicializa a ``NULL``." -#: ../Doc/c-api/typeobj.rst:1404 +#: ../Doc/c-api/typeobj.rst:1392 msgid "" "Do not confuse this field with :c:member:`~PyTypeObject.tp_weaklist`; that " "is the list head for weak references to the type object itself." @@ -2770,7 +2721,7 @@ msgstr "" "No confunda este campo con :c:member:`~PyTypeObject.tp_weaklist`; ese es el " "encabezado de la lista para referencias débiles al objeto de tipo en sí." -#: ../Doc/c-api/typeobj.rst:1409 +#: ../Doc/c-api/typeobj.rst:1397 msgid "" "This field is inherited by subtypes, but see the rules listed below. A " "subtype may override this offset; this means that the subtype uses a " @@ -2785,7 +2736,7 @@ msgstr "" "encuentra a través de :c:member:`~PyTypeObject.tp_weaklistoffset`, esto no " "debería ser un problema." -#: ../Doc/c-api/typeobj.rst:1414 +#: ../Doc/c-api/typeobj.rst:1402 msgid "" "When a type defined by a class statement has no :attr:`~object.__slots__` " "declaration, and none of its base types are weakly referenceable, the type " @@ -2800,7 +2751,7 @@ msgstr "" "y configurando :c:member:`~PyTypeObject.tp_weaklistoffset` del " "desplazamiento de esa ranura." -#: ../Doc/c-api/typeobj.rst:1419 +#: ../Doc/c-api/typeobj.rst:1407 msgid "" "When a type's :attr:`__slots__` declaration contains a slot named :attr:" "`__weakref__`, that slot becomes the weak reference list head for instances " @@ -2813,7 +2764,7 @@ msgstr "" "del espacio se almacena en el tipo :c:member:`~PyTypeObject." "tp_weaklistoffset`." -#: ../Doc/c-api/typeobj.rst:1424 +#: ../Doc/c-api/typeobj.rst:1412 msgid "" "When a type's :attr:`__slots__` declaration does not contain a slot named :" "attr:`__weakref__`, the type inherits its :c:member:`~PyTypeObject." @@ -2823,7 +2774,7 @@ msgstr "" "llamado :attr:`__weakref__`, el tipo hereda su :c:member:`~PyTypeObject." "tp_weaklistoffset` de su tipo base." -#: ../Doc/c-api/typeobj.rst:1431 +#: ../Doc/c-api/typeobj.rst:1419 msgid "" "An optional pointer to a function that returns an iterator for the object. " "Its presence normally signals that the instances of this type are iterable " @@ -2833,11 +2784,11 @@ msgstr "" "presencia normalmente indica que las instancias de este tipo son iterables " "(aunque las secuencias pueden ser iterables sin esta función)." -#: ../Doc/c-api/typeobj.rst:1435 +#: ../Doc/c-api/typeobj.rst:1423 msgid "This function has the same signature as :c:func:`PyObject_GetIter`::" msgstr "Esta función tiene la misma firma que :c:func:`PyObject_GetIter`::" -#: ../Doc/c-api/typeobj.rst:1446 +#: ../Doc/c-api/typeobj.rst:1434 msgid "" "An optional pointer to a function that returns the next item in an iterator. " "The signature is::" @@ -2845,7 +2796,7 @@ msgstr "" "Un puntero opcional a una función que retorna el siguiente elemento en un " "iterador. La firma es::" -#: ../Doc/c-api/typeobj.rst:1451 +#: ../Doc/c-api/typeobj.rst:1439 msgid "" "When the iterator is exhausted, it must return ``NULL``; a :exc:" "`StopIteration` exception may or may not be set. When another error occurs, " @@ -2857,7 +2808,7 @@ msgstr "" "también debe retornar ``NULL``. Su presencia indica que las instancias de " "este tipo son iteradores." -#: ../Doc/c-api/typeobj.rst:1456 +#: ../Doc/c-api/typeobj.rst:1444 msgid "" "Iterator types should also define the :c:member:`~PyTypeObject.tp_iter` " "function, and that function should return the iterator instance itself (not " @@ -2867,11 +2818,11 @@ msgstr "" "`~PyTypeObject.tp_iter`, y esa función debería retornar la instancia de " "iterador en sí (no una nueva instancia de iterador)." -#: ../Doc/c-api/typeobj.rst:1460 +#: ../Doc/c-api/typeobj.rst:1448 msgid "This function has the same signature as :c:func:`PyIter_Next`." msgstr "Esta función tiene la misma firma que :c:func:`PyIter_Next`." -#: ../Doc/c-api/typeobj.rst:1469 +#: ../Doc/c-api/typeobj.rst:1457 msgid "" "An optional pointer to a static ``NULL``-terminated array of :c:type:" "`PyMethodDef` structures, declaring regular methods of this type." @@ -2879,7 +2830,7 @@ msgstr "" "Un puntero opcional a un arreglo estático terminado en ``NULL`` de " "estructuras :c:type:`PyMethodDef`, declarando métodos regulares de este tipo." -#: ../Doc/c-api/typeobj.rst:1472 +#: ../Doc/c-api/typeobj.rst:1460 msgid "" "For each entry in the array, an entry is added to the type's dictionary " "(see :c:member:`~PyTypeObject.tp_dict` below) containing a method descriptor." @@ -2888,7 +2839,7 @@ msgstr "" "tipo (ver :c:member:`~PyTypeObject.tp_dict` a continuación) que contiene un " "descriptor *method*." -#: ../Doc/c-api/typeobj.rst:1477 +#: ../Doc/c-api/typeobj.rst:1465 msgid "" "This field is not inherited by subtypes (methods are inherited through a " "different mechanism)." @@ -2896,7 +2847,7 @@ msgstr "" "Los subtipos no heredan este campo (los métodos se heredan mediante un " "mecanismo diferente)." -#: ../Doc/c-api/typeobj.rst:1483 +#: ../Doc/c-api/typeobj.rst:1471 msgid "" "An optional pointer to a static ``NULL``-terminated array of :c:type:" "`PyMemberDef` structures, declaring regular data members (fields or slots) " @@ -2906,7 +2857,7 @@ msgstr "" "estructuras :c:type:`PyMemberDef`, declarando miembros de datos regulares " "(campos o ranuras) de instancias de este tipo." -#: ../Doc/c-api/typeobj.rst:1487 +#: ../Doc/c-api/typeobj.rst:1475 msgid "" "For each entry in the array, an entry is added to the type's dictionary " "(see :c:member:`~PyTypeObject.tp_dict` below) containing a member descriptor." @@ -2915,7 +2866,7 @@ msgstr "" "tipo (ver :c:member:`~PyTypeObject.tp_dict` a continuación) que contiene un " "descriptor *member*." -#: ../Doc/c-api/typeobj.rst:1492 +#: ../Doc/c-api/typeobj.rst:1480 msgid "" "This field is not inherited by subtypes (members are inherited through a " "different mechanism)." @@ -2923,7 +2874,7 @@ msgstr "" "Los subtipos no heredan este campo (los miembros se heredan mediante un " "mecanismo diferente)." -#: ../Doc/c-api/typeobj.rst:1498 +#: ../Doc/c-api/typeobj.rst:1486 msgid "" "An optional pointer to a static ``NULL``-terminated array of :c:type:" "`PyGetSetDef` structures, declaring computed attributes of instances of this " @@ -2933,7 +2884,7 @@ msgstr "" "estructuras :c:type:`PyGetSetDef`, declarando atributos calculados de " "instancias de este tipo." -#: ../Doc/c-api/typeobj.rst:1501 +#: ../Doc/c-api/typeobj.rst:1489 msgid "" "For each entry in the array, an entry is added to the type's dictionary " "(see :c:member:`~PyTypeObject.tp_dict` below) containing a getset descriptor." @@ -2942,7 +2893,7 @@ msgstr "" "tipo (ver :c:member:`~PyTypeObject.tp_dict` a continuación) que contiene un " "descriptor *getset*." -#: ../Doc/c-api/typeobj.rst:1506 +#: ../Doc/c-api/typeobj.rst:1494 msgid "" "This field is not inherited by subtypes (computed attributes are inherited " "through a different mechanism)." @@ -2950,7 +2901,7 @@ msgstr "" "Este campo no es heredado por los subtipos (los atributos computados se " "heredan a través de un mecanismo diferente)." -#: ../Doc/c-api/typeobj.rst:1512 +#: ../Doc/c-api/typeobj.rst:1500 msgid "" "An optional pointer to a base type from which type properties are " "inherited. At this level, only single inheritance is supported; multiple " @@ -2961,7 +2912,7 @@ msgstr "" "tipo. En este nivel, solo se admite una herencia única; La herencia múltiple " "requiere la creación dinámica de un objeto tipo llamando al metatipo." -#: ../Doc/c-api/typeobj.rst:1520 +#: ../Doc/c-api/typeobj.rst:1508 msgid "" "Slot initialization is subject to the rules of initializing globals. C99 " "requires the initializers to be \"address constants\". Function designators " @@ -2973,7 +2924,7 @@ msgstr "" "\". Los designadores de funciones como :c:func:`PyType_GenericNew`, con " "conversión implícita a un puntero, son constantes de dirección C99 válidas." -#: ../Doc/c-api/typeobj.rst:1525 +#: ../Doc/c-api/typeobj.rst:1513 msgid "" "However, the unary '&' operator applied to a non-static variable like :c:" "func:`PyBaseObject_Type` is not required to produce an address constant. " @@ -2986,7 +2937,7 @@ msgstr "" "Ambos compiladores son estrictamente estándar conforme a este comportamiento " "particular." -#: ../Doc/c-api/typeobj.rst:1531 +#: ../Doc/c-api/typeobj.rst:1519 msgid "" "Consequently, :c:member:`~PyTypeObject.tp_base` should be set in the " "extension module's init function." @@ -2994,11 +2945,11 @@ msgstr "" "En consecuencia, :c:member:`~PyTypeObject.tp_base` debe establecerse en la " "función *init* del módulo de extensión." -#: ../Doc/c-api/typeobj.rst:1536 +#: ../Doc/c-api/typeobj.rst:1524 msgid "This field is not inherited by subtypes (obviously)." msgstr "Este campo no es heredado por los subtipos (obviamente)." -#: ../Doc/c-api/typeobj.rst:1540 +#: ../Doc/c-api/typeobj.rst:1528 msgid "" "This field defaults to ``&PyBaseObject_Type`` (which to Python programmers " "is known as the type :class:`object`)." @@ -3006,11 +2957,11 @@ msgstr "" "Este campo predeterminado es ``&PyBaseObject_Type`` (que para los " "programadores de Python se conoce como el tipo :class:`objeto`)." -#: ../Doc/c-api/typeobj.rst:1546 +#: ../Doc/c-api/typeobj.rst:1534 msgid "The type's dictionary is stored here by :c:func:`PyType_Ready`." msgstr "El diccionario del tipo se almacena aquí por :c:func:`PyType_Ready`." -#: ../Doc/c-api/typeobj.rst:1548 +#: ../Doc/c-api/typeobj.rst:1536 msgid "" "This field should normally be initialized to ``NULL`` before PyType_Ready is " "called; it may also be initialized to a dictionary containing initial " @@ -3025,7 +2976,7 @@ msgstr "" "agregarse a este diccionario solo si no corresponden a operaciones " "sobrecargadas (como :meth:`__add__`)." -#: ../Doc/c-api/typeobj.rst:1556 +#: ../Doc/c-api/typeobj.rst:1544 msgid "" "This field is not inherited by subtypes (though the attributes defined in " "here are inherited through a different mechanism)." @@ -3033,7 +2984,7 @@ msgstr "" "Este campo no es heredado por los subtipos (aunque los atributos definidos " "aquí se heredan a través de un mecanismo diferente)." -#: ../Doc/c-api/typeobj.rst:1561 +#: ../Doc/c-api/typeobj.rst:1549 msgid "" "If this field is ``NULL``, :c:func:`PyType_Ready` will assign a new " "dictionary to it." @@ -3041,7 +2992,7 @@ msgstr "" "Si este campo es ``NULL``, :c:func:`PyType_Ready` le asignará un nuevo " "diccionario." -#: ../Doc/c-api/typeobj.rst:1566 +#: ../Doc/c-api/typeobj.rst:1554 msgid "" "It is not safe to use :c:func:`PyDict_SetItem` on or otherwise modify :c:" "member:`~PyTypeObject.tp_dict` with the dictionary C-API." @@ -3049,18 +3000,18 @@ msgstr "" "No es seguro usar :c:func:`PyDict_SetItem` en o modificar de otra manera a :" "c:member:`~PyTypeObject.tp_dict` con el diccionario C-API." -#: ../Doc/c-api/typeobj.rst:1572 +#: ../Doc/c-api/typeobj.rst:1560 msgid "An optional pointer to a \"descriptor get\" function." msgstr "" "Un puntero opcional a una función \"obtener descriptor\" (*descriptor ger*)." -#: ../Doc/c-api/typeobj.rst:1574 ../Doc/c-api/typeobj.rst:1590 -#: ../Doc/c-api/typeobj.rst:1672 ../Doc/c-api/typeobj.rst:1702 -#: ../Doc/c-api/typeobj.rst:1726 +#: ../Doc/c-api/typeobj.rst:1562 ../Doc/c-api/typeobj.rst:1578 +#: ../Doc/c-api/typeobj.rst:1660 ../Doc/c-api/typeobj.rst:1690 +#: ../Doc/c-api/typeobj.rst:1714 msgid "The function signature is::" msgstr "La firma de la función es::" -#: ../Doc/c-api/typeobj.rst:1587 +#: ../Doc/c-api/typeobj.rst:1575 msgid "" "An optional pointer to a function for setting and deleting a descriptor's " "value." @@ -3068,11 +3019,11 @@ msgstr "" "Un puntero opcional a una función para configurar y eliminar el valor de un " "descriptor." -#: ../Doc/c-api/typeobj.rst:1594 +#: ../Doc/c-api/typeobj.rst:1582 msgid "The *value* argument is set to ``NULL`` to delete the value." msgstr "El argumento *value* se establece a ``NULL`` para borrar el valor." -#: ../Doc/c-api/typeobj.rst:1605 +#: ../Doc/c-api/typeobj.rst:1593 msgid "" "If the instances of this type have a dictionary containing instance " "variables, this field is non-zero and contains the offset in the instances " @@ -3084,7 +3035,7 @@ msgstr "" "instancias del tipo del diccionario de variables de instancia; este " "desplazamiento es utilizado por :c:func:`PyObject_GenericGetAttr`." -#: ../Doc/c-api/typeobj.rst:1610 +#: ../Doc/c-api/typeobj.rst:1598 msgid "" "Do not confuse this field with :c:member:`~PyTypeObject.tp_dict`; that is " "the dictionary for attributes of the type object itself." @@ -3092,7 +3043,7 @@ msgstr "" "No confunda este campo con :c:member:`~PyTypeObject.tp_dict`; ese es el " "diccionario para los atributos del tipo de objeto en sí." -#: ../Doc/c-api/typeobj.rst:1613 +#: ../Doc/c-api/typeobj.rst:1601 msgid "" "If the value of this field is greater than zero, it specifies the offset " "from the start of the instance structure. If the value is less than zero, " @@ -3121,7 +3072,7 @@ msgstr "" "debe establecerse en ``-4`` para indicar que el diccionario está al final de " "la estructura." -#: ../Doc/c-api/typeobj.rst:1625 +#: ../Doc/c-api/typeobj.rst:1613 msgid "" "The real dictionary offset in an instance can be computed from a negative :c:" "member:`~PyTypeObject.tp_dictoffset` as follows::" @@ -3130,7 +3081,7 @@ msgstr "" "partir de un elemento negativo :c:member:`~PyTypeObject.tp_dictoffset` de la " "siguiente manera::" -#: ../Doc/c-api/typeobj.rst:1632 +#: ../Doc/c-api/typeobj.rst:1620 msgid "" "where :c:member:`~PyTypeObject.tp_basicsize`, :c:member:`~PyTypeObject." "tp_itemsize` and :c:member:`~PyTypeObject.tp_dictoffset` are taken from the " @@ -3146,7 +3097,7 @@ msgstr "" "signo del número. (Nunca es necesario hacer este cálculo usted mismo; lo " "hace por usted la función :c:func:`_PyObject_GetDictPtr`.)" -#: ../Doc/c-api/typeobj.rst:1640 +#: ../Doc/c-api/typeobj.rst:1628 msgid "" "This field is inherited by subtypes, but see the rules listed below. A " "subtype may override this offset; this means that the subtype instances " @@ -3161,7 +3112,7 @@ msgstr "" "siempre se encuentra a través de :c:member:`~PyTypeObject.tp_dictoffset`, " "esto no debería ser un problema." -#: ../Doc/c-api/typeobj.rst:1645 +#: ../Doc/c-api/typeobj.rst:1633 msgid "" "When a type defined by a class statement has no :attr:`~object.__slots__` " "declaration, and none of its base types has an instance variable dictionary, " @@ -3174,7 +3125,7 @@ msgstr "" "instancia y el :c:member:`~PyTypeObject.tp_dictoffset` está configurado para " "el desplazamiento de esa ranura." -#: ../Doc/c-api/typeobj.rst:1650 +#: ../Doc/c-api/typeobj.rst:1638 msgid "" "When a type defined by a class statement has a :attr:`__slots__` " "declaration, the type inherits its :c:member:`~PyTypeObject.tp_dictoffset` " @@ -3184,7 +3135,7 @@ msgstr "" "attr:`__slots__`, el tipo hereda su :c:member:`~PyTypeObject.tp_dictoffset` " "de su tipo base." -#: ../Doc/c-api/typeobj.rst:1653 +#: ../Doc/c-api/typeobj.rst:1641 msgid "" "(Adding a slot named :attr:`~object.__dict__` to the :attr:`__slots__` " "declaration does not have the expected effect, it just causes confusion. " @@ -3195,7 +3146,7 @@ msgstr "" "`__slots__` no tiene el efecto esperado, solo causa confusión. Quizás esto " "debería agregarse como una característica como :attr:`__weakref__` aunque.)" -#: ../Doc/c-api/typeobj.rst:1659 +#: ../Doc/c-api/typeobj.rst:1647 msgid "" "This slot has no default. For static types, if the field is ``NULL`` then " "no :attr:`__dict__` gets created for instances." @@ -3203,11 +3154,11 @@ msgstr "" "Esta ranura no tiene valor predeterminado. Para los tipos estáticos, si el " "campo es ``NULL``, entonces no :attr:`__dict__` se crea para las instancias." -#: ../Doc/c-api/typeobj.rst:1665 +#: ../Doc/c-api/typeobj.rst:1653 msgid "An optional pointer to an instance initialization function." msgstr "Un puntero opcional a una función de inicialización de instancia." -#: ../Doc/c-api/typeobj.rst:1667 +#: ../Doc/c-api/typeobj.rst:1655 msgid "" "This function corresponds to the :meth:`__init__` method of classes. Like :" "meth:`__init__`, it is possible to create an instance without calling :meth:" @@ -3219,7 +3170,7 @@ msgstr "" "es posible reinicializar una instancia llamando de nuevo a su método :meth:" "`__init__`." -#: ../Doc/c-api/typeobj.rst:1676 +#: ../Doc/c-api/typeobj.rst:1664 msgid "" "The self argument is the instance to be initialized; the *args* and *kwds* " "arguments represent positional and keyword arguments of the call to :meth:" @@ -3229,7 +3180,7 @@ msgstr "" "*args* y *kwds* representan argumentos posicionales y de palabras clave de " "la llamada a :meth:`__init__`." -#: ../Doc/c-api/typeobj.rst:1680 +#: ../Doc/c-api/typeobj.rst:1668 msgid "" "The :c:member:`~PyTypeObject.tp_init` function, if not ``NULL``, is called " "when an instance is created normally by calling its type, after the type's :" @@ -3249,21 +3200,21 @@ msgstr "" "tp_new` retorna una instancia de un subtipo del tipo original, se llama al " "subtipo :c:member:`~PyTypeObject.tp_init`." -#: ../Doc/c-api/typeobj.rst:1687 +#: ../Doc/c-api/typeobj.rst:1675 msgid "Returns ``0`` on success, ``-1`` and sets an exception on error." msgstr "" "Retorna ``0`` en caso de éxito, ``-1`` y establece una excepción en caso de " "error." -#: ../Doc/c-api/typeobj.rst:1695 +#: ../Doc/c-api/typeobj.rst:1683 msgid "For static types this field does not have a default." msgstr "Para los tipos estáticos, este campo no tiene un valor predeterminado." -#: ../Doc/c-api/typeobj.rst:1700 +#: ../Doc/c-api/typeobj.rst:1688 msgid "An optional pointer to an instance allocation function." msgstr "Un puntero opcional a una función de asignación de instancia." -#: ../Doc/c-api/typeobj.rst:1708 +#: ../Doc/c-api/typeobj.rst:1696 msgid "" "This field is inherited by static subtypes, but not by dynamic subtypes " "(subtypes created by a class statement)." @@ -3271,7 +3222,7 @@ msgstr "" "Este campo es heredado por subtipos estáticos, pero no por subtipos " "dinámicos (subtipos creados por una declaración de clase)." -#: ../Doc/c-api/typeobj.rst:1713 +#: ../Doc/c-api/typeobj.rst:1701 msgid "" "For dynamic subtypes, this field is always set to :c:func:" "`PyType_GenericAlloc`, to force a standard heap allocation strategy." @@ -3280,7 +3231,7 @@ msgstr "" "`PyType_GenericAlloc`, para forzar una estrategia de asignación de montón " "estándar." -#: ../Doc/c-api/typeobj.rst:1717 +#: ../Doc/c-api/typeobj.rst:1705 msgid "" "For static subtypes, :c:type:`PyBaseObject_Type` uses :c:func:" "`PyType_GenericAlloc`. That is the recommended value for all statically " @@ -3290,17 +3241,18 @@ msgstr "" "`PyType_GenericAlloc`. Ese es el valor recomendado para todos los tipos " "definidos estáticamente." -#: ../Doc/c-api/typeobj.rst:1724 +#: ../Doc/c-api/typeobj.rst:1712 msgid "An optional pointer to an instance creation function." msgstr "Un puntero opcional a una función de creación de instancias." -#: ../Doc/c-api/typeobj.rst:1730 +#: ../Doc/c-api/typeobj.rst:1718 +#, fuzzy msgid "" -"The subtype argument is the type of the object being created; the *args* and " -"*kwds* arguments represent positional and keyword arguments of the call to " -"the type. Note that subtype doesn't have to equal the type whose :c:member:" -"`~PyTypeObject.tp_new` function is called; it may be a subtype of that type " -"(but not an unrelated type)." +"The *subtype* argument is the type of the object being created; the *args* " +"and *kwds* arguments represent positional and keyword arguments of the call " +"to the type. Note that *subtype* doesn't have to equal the type whose :c:" +"member:`~PyTypeObject.tp_new` function is called; it may be a subtype of " +"that type (but not an unrelated type)." msgstr "" "El argumento del subtipo es el tipo del objeto que se está creando; los " "argumentos *args* y *kwds* representan argumentos posicionales y de palabras " @@ -3308,7 +3260,7 @@ msgstr "" "igual al tipo cuya función :c:member:`~PyTypeObject.tp_new` se llama; puede " "ser un subtipo de ese tipo (pero no un tipo no relacionado)." -#: ../Doc/c-api/typeobj.rst:1736 +#: ../Doc/c-api/typeobj.rst:1724 msgid "" "The :c:member:`~PyTypeObject.tp_new` function should call ``subtype-" ">tp_alloc(subtype, nitems)`` to allocate space for the object, and then do " @@ -3329,7 +3281,7 @@ msgstr "" "la mayoría de las inicializaciones se deben diferir a :c:member:" "`~PyTypeObject.tp_init`." -#: ../Doc/c-api/typeobj.rst:1746 +#: ../Doc/c-api/typeobj.rst:1734 msgid "" "This field is inherited by subtypes, except it is not inherited by static " "types whose :c:member:`~PyTypeObject.tp_base` is ``NULL`` or " @@ -3339,7 +3291,7 @@ msgstr "" "estáticos cuyo :c:member:`~PyTypeObject.tp_base` es ``NULL`` o " "``&PyBaseObject_Type``." -#: ../Doc/c-api/typeobj.rst:1751 +#: ../Doc/c-api/typeobj.rst:1739 msgid "" "For static types this field has no default. This means if the slot is " "defined as ``NULL``, the type cannot be called to create new instances; " @@ -3351,21 +3303,21 @@ msgstr "" "tipo para crear nuevas instancias; presumiblemente hay otra forma de crear " "instancias, como una función de fábrica." -#: ../Doc/c-api/typeobj.rst:1759 +#: ../Doc/c-api/typeobj.rst:1747 msgid "" "An optional pointer to an instance deallocation function. Its signature is::" msgstr "" "Un puntero opcional a una función de desasignación de instancia. Su firma " "es::" -#: ../Doc/c-api/typeobj.rst:1763 +#: ../Doc/c-api/typeobj.rst:1751 msgid "" "An initializer that is compatible with this signature is :c:func:" "`PyObject_Free`." msgstr "" "Un inicializador que es compatible con esta firma es :c:func:`PyObject_Free`." -#: ../Doc/c-api/typeobj.rst:1767 +#: ../Doc/c-api/typeobj.rst:1755 msgid "" "This field is inherited by static subtypes, but not by dynamic subtypes " "(subtypes created by a class statement)" @@ -3373,7 +3325,7 @@ msgstr "" "Este campo es heredado por subtipos estáticos, pero no por subtipos " "dinámicos (subtipos creados por una declaración de clase)" -#: ../Doc/c-api/typeobj.rst:1772 +#: ../Doc/c-api/typeobj.rst:1760 msgid "" "In dynamic subtypes, this field is set to a deallocator suitable to match :c:" "func:`PyType_GenericAlloc` and the value of the :const:`Py_TPFLAGS_HAVE_GC` " @@ -3383,16 +3335,16 @@ msgstr "" "adecuado para que coincida con :c:func:`PyType_GenericAlloc` y el valor del " "bit de bandera :const:`Py_TPFLAGS_HAVE_GC`." -#: ../Doc/c-api/typeobj.rst:1776 +#: ../Doc/c-api/typeobj.rst:1764 msgid "For static subtypes, :c:type:`PyBaseObject_Type` uses PyObject_Del." msgstr "" "Para subtipos estáticos, :c:type:`PyBaseObject_Type` usa ``PyObject_Del``." -#: ../Doc/c-api/typeobj.rst:1781 +#: ../Doc/c-api/typeobj.rst:1769 msgid "An optional pointer to a function called by the garbage collector." msgstr "Un puntero opcional a una función llamada por el recolector de basura." -#: ../Doc/c-api/typeobj.rst:1783 +#: ../Doc/c-api/typeobj.rst:1771 msgid "" "The garbage collector needs to know whether a particular object is " "collectible or not. Normally, it is sufficient to look at the object's " @@ -3412,7 +3364,7 @@ msgstr "" "esta función; debería retornar ``1`` para una instancia coleccionable y " "``0`` para una instancia no coleccionable. La firma es::" -#: ../Doc/c-api/typeobj.rst:1793 +#: ../Doc/c-api/typeobj.rst:1781 msgid "" "(The only example of this are types themselves. The metatype, :c:data:" "`PyType_Type`, defines this function to distinguish between statically and " @@ -3422,7 +3374,7 @@ msgstr "" "`PyType_Type`, define esta función para distinguir entre tipos asignados " "estáticamente y dinámicamente.)" -#: ../Doc/c-api/typeobj.rst:1803 +#: ../Doc/c-api/typeobj.rst:1791 msgid "" "This slot has no default. If this field is ``NULL``, :const:" "`Py_TPFLAGS_HAVE_GC` is used as the functional equivalent." @@ -3430,11 +3382,11 @@ msgstr "" "Esta ranura no tiene valor predeterminado. Si este campo es ``NULL``, se " "utiliza :const:`Py_TPFLAGS_HAVE_GC` como el equivalente funcional." -#: ../Doc/c-api/typeobj.rst:1809 +#: ../Doc/c-api/typeobj.rst:1797 msgid "Tuple of base types." msgstr "Tupla de tipos base." -#: ../Doc/c-api/typeobj.rst:1811 +#: ../Doc/c-api/typeobj.rst:1799 msgid "" "This is set for types created by a class statement. It should be ``NULL`` " "for statically defined types." @@ -3442,13 +3394,13 @@ msgstr "" "Esto se establece para los tipos creados por una declaración de clase. " "Debería ser ``NULL`` para los tipos estáticamente definidos." -#: ../Doc/c-api/typeobj.rst:1816 ../Doc/c-api/typeobj.rst:1837 -#: ../Doc/c-api/typeobj.rst:1846 ../Doc/c-api/typeobj.rst:1856 -#: ../Doc/c-api/typeobj.rst:1870 +#: ../Doc/c-api/typeobj.rst:1804 ../Doc/c-api/typeobj.rst:1825 +#: ../Doc/c-api/typeobj.rst:1834 ../Doc/c-api/typeobj.rst:1844 +#: ../Doc/c-api/typeobj.rst:1858 msgid "This field is not inherited." msgstr "Este campo no se hereda." -#: ../Doc/c-api/typeobj.rst:1821 +#: ../Doc/c-api/typeobj.rst:1809 msgid "" "Tuple containing the expanded set of base types, starting with the type " "itself and ending with :class:`object`, in Method Resolution Order." @@ -3457,21 +3409,21 @@ msgstr "" "tipo en sí y terminando con :class:`object`, en orden de resolución de " "método." -#: ../Doc/c-api/typeobj.rst:1827 +#: ../Doc/c-api/typeobj.rst:1815 msgid "" "This field is not inherited; it is calculated fresh by :c:func:" "`PyType_Ready`." msgstr "Este campo no se hereda; se calcula fresco por :c:func:`PyType_Ready`." -#: ../Doc/c-api/typeobj.rst:1833 +#: ../Doc/c-api/typeobj.rst:1821 msgid "Unused. Internal use only." msgstr "No usado. Solo para uso interno." -#: ../Doc/c-api/typeobj.rst:1842 +#: ../Doc/c-api/typeobj.rst:1830 msgid "List of weak references to subclasses. Internal use only." msgstr "Lista de referencias débiles a subclases. Solo para uso interno." -#: ../Doc/c-api/typeobj.rst:1851 +#: ../Doc/c-api/typeobj.rst:1839 msgid "" "Weak reference list head, for weak references to this type object. Not " "inherited. Internal use only." @@ -3479,24 +3431,24 @@ msgstr "" "Cabecera de lista de referencia débil, para referencias débiles a este tipo " "de objeto. No heredado Solo para uso interno." -#: ../Doc/c-api/typeobj.rst:1861 +#: ../Doc/c-api/typeobj.rst:1849 msgid "" "This field is deprecated. Use :c:member:`~PyTypeObject.tp_finalize` instead." msgstr "" "Este campo está en desuso. Use :c:member:`~PyTypeObject.tp_finalize` en su " "lugar." -#: ../Doc/c-api/typeobj.rst:1866 +#: ../Doc/c-api/typeobj.rst:1854 msgid "Used to index into the method cache. Internal use only." msgstr "Se usa para indexar en el caché de métodos. Solo para uso interno." -#: ../Doc/c-api/typeobj.rst:1875 +#: ../Doc/c-api/typeobj.rst:1863 msgid "" "An optional pointer to an instance finalization function. Its signature is::" msgstr "" "Un puntero opcional a una función de finalización de instancia. Su firma es::" -#: ../Doc/c-api/typeobj.rst:1879 +#: ../Doc/c-api/typeobj.rst:1867 msgid "" "If :c:member:`~PyTypeObject.tp_finalize` is set, the interpreter calls it " "once when finalizing an instance. It is called either from the garbage " @@ -3512,7 +3464,7 @@ msgstr "" "se invocará antes de intentar romper los ciclos de referencia, asegurando " "que encuentre el objeto en un estado sano." -#: ../Doc/c-api/typeobj.rst:1886 +#: ../Doc/c-api/typeobj.rst:1874 msgid "" ":c:member:`~PyTypeObject.tp_finalize` should not mutate the current " "exception status; therefore, a recommended way to write a non-trivial " @@ -3522,7 +3474,7 @@ msgstr "" "actual; por lo tanto, una forma recomendada de escribir un finalizador no " "trivial es::" -#: ../Doc/c-api/typeobj.rst:1903 +#: ../Doc/c-api/typeobj.rst:1891 msgid "" "For this field to be taken into account (even through inheritance), you must " "also set the :const:`Py_TPFLAGS_HAVE_FINALIZE` flags bit." @@ -3530,51 +3482,28 @@ msgstr "" "Para que este campo se tenga en cuenta (incluso a través de la herencia), " "también debe establecer el bit de banderas :const:`Py_TPFLAGS_HAVE_FINALIZE`." -#: ../Doc/c-api/typeobj.rst:1912 +#: ../Doc/c-api/typeobj.rst:1900 msgid "\"Safe object finalization\" (:pep:`442`)" msgstr "\"Finalización segura de objetos\" (:pep:`442`)" -#: ../Doc/c-api/typeobj.rst:1915 +#: ../Doc/c-api/typeobj.rst:1905 msgid "" -"The remaining fields are only defined if the feature test macro :const:" -"`COUNT_ALLOCS` is defined, and are for internal use only. They are " -"documented here for completeness. None of these fields are inherited by " -"subtypes." +"Vectorcall function to use for calls of this type object. In other words, it " +"is used to implement :ref:`vectorcall ` for ``type.__call__``. " +"If ``tp_vectorcall`` is ``NULL``, the default call implementation using :" +"attr:`__new__` and :attr:`__init__` is used." msgstr "" -"Los campos restantes solo se definen si la macro de prueba de " -"características :const:`COUNT_ALLOCS` está definida, y son solo para uso " -"interno. Se documentan aquí para completar. Ninguno de estos campos es " -"heredado por subtipos." - -#: ../Doc/c-api/typeobj.rst:1922 -msgid "Number of allocations." -msgstr "Número de asignaciones." - -#: ../Doc/c-api/typeobj.rst:1926 -msgid "Number of frees." -msgstr "Número de liberaciones." -#: ../Doc/c-api/typeobj.rst:1930 -msgid "Maximum simultaneously allocated objects." -msgstr "Máximo de objetos asignados simultáneamente." - -#: ../Doc/c-api/typeobj.rst:1934 -msgid "" -"Pointer to the previous type object with a non-zero :c:member:`~PyTypeObject." -"tp_allocs` field." -msgstr "" -"Puntero al objeto tipo anterior con un campo distinto de cero :c:member:" -"`~PyTypeObject.tp_allocs`." +#: ../Doc/c-api/typeobj.rst:1913 +#, fuzzy +msgid "This field is never inherited." +msgstr "Este campo no se hereda." -#: ../Doc/c-api/typeobj.rst:1938 -msgid "" -"Pointer to the next type object with a non-zero :c:member:`~PyTypeObject." -"tp_allocs` field." +#: ../Doc/c-api/typeobj.rst:1915 +msgid "(the field exists since 3.8 but it's only used since 3.9)" msgstr "" -"Puntero al siguiente objeto tipo con un campo distinto de cero :c:member:" -"`~PyTypeObject.tp_allocs`." -#: ../Doc/c-api/typeobj.rst:1940 +#: ../Doc/c-api/typeobj.rst:1918 msgid "" "Also, note that, in a garbage collected Python, :c:member:`~PyTypeObject." "tp_dealloc` may be called from any Python thread, not just the thread which " @@ -3599,11 +3528,11 @@ msgstr "" "objetos en el hilo que se llama ``tp_dealloc`` no violará ningún supuesto de " "la biblioteca." -#: ../Doc/c-api/typeobj.rst:1954 +#: ../Doc/c-api/typeobj.rst:1932 msgid "Heap Types" msgstr "Tipos Montículos (*Heap Types*)" -#: ../Doc/c-api/typeobj.rst:1956 +#: ../Doc/c-api/typeobj.rst:1934 msgid "" "Traditionally, types defined in C code are *static*, that is, a static :c:" "type:`PyTypeObject` structure is defined directly in code and initialized " @@ -3613,14 +3542,14 @@ msgstr "" "una estructura estática :c:type:`PyTypeObject` se define directamente en el " "código y se inicializa usando :c:func:`PyType_Ready`." -#: ../Doc/c-api/typeobj.rst:1960 +#: ../Doc/c-api/typeobj.rst:1938 msgid "" "This results in types that are limited relative to types defined in Python:" msgstr "" "Esto da como resultado tipos que están limitados en relación con los tipos " "definidos en Python:" -#: ../Doc/c-api/typeobj.rst:1962 +#: ../Doc/c-api/typeobj.rst:1940 msgid "" "Static types are limited to one base, i.e. they cannot use multiple " "inheritance." @@ -3628,7 +3557,7 @@ msgstr "" "Los tipos estáticos están limitados a una base, es decir, no pueden usar " "herencia múltiple." -#: ../Doc/c-api/typeobj.rst:1964 +#: ../Doc/c-api/typeobj.rst:1942 msgid "" "Static type objects (but not necessarily their instances) are immutable. It " "is not possible to add or modify the type object's attributes from Python." @@ -3637,7 +3566,7 @@ msgstr "" "inmutables. No es posible agregar o modificar los atributos del objeto tipo " "desde Python." -#: ../Doc/c-api/typeobj.rst:1966 +#: ../Doc/c-api/typeobj.rst:1944 msgid "" "Static type objects are shared across :ref:`sub-interpreters `, so they should not include any subinterpreter-" @@ -3647,7 +3576,7 @@ msgstr "" "interpreter-support>`, por lo que no deben incluir ningún estado específico " "del sub interpretador." -#: ../Doc/c-api/typeobj.rst:1970 +#: ../Doc/c-api/typeobj.rst:1948 msgid "" "Also, since :c:type:`PyTypeObject` is not part of the :ref:`stable ABI " "`, any extension modules using static types must be compiled for a " @@ -3657,7 +3586,7 @@ msgstr "" "`, cualquier módulo de extensión que use tipos estáticos debe " "compilarse para una versión menor específica de Python." -#: ../Doc/c-api/typeobj.rst:1974 +#: ../Doc/c-api/typeobj.rst:1952 msgid "" "An alternative to static types is *heap-allocated types*, or *heap types* " "for short, which correspond closely to classes created by Python's ``class`` " @@ -3668,7 +3597,7 @@ msgstr "" "que corresponden estrechamente a las clases creadas por la declaración " "``class`` de Python." -#: ../Doc/c-api/typeobj.rst:1978 +#: ../Doc/c-api/typeobj.rst:1956 msgid "" "This is done by filling a :c:type:`PyType_Spec` structure and calling :c:" "func:`PyType_FromSpecWithBases`." @@ -3676,11 +3605,11 @@ msgstr "" "Esto se hace completando una estructura :c:type:`PyType_Spec` y llamando a :" "c:func:`PyType_FromSpecWithBases`." -#: ../Doc/c-api/typeobj.rst:1985 +#: ../Doc/c-api/typeobj.rst:1963 msgid "Number Object Structures" msgstr "Estructuras de Objetos de Números" -#: ../Doc/c-api/typeobj.rst:1992 +#: ../Doc/c-api/typeobj.rst:1970 msgid "" "This structure holds pointers to the functions which an object uses to " "implement the number protocol. Each function is used by the function of " @@ -3690,11 +3619,11 @@ msgstr "" "implementar el protocolo numérico. Cada función es utilizada por la función " "de un nombre similar documentado en la sección :ref:`number`." -#: ../Doc/c-api/typeobj.rst:1998 ../Doc/c-api/typeobj.rst:2322 +#: ../Doc/c-api/typeobj.rst:1976 ../Doc/c-api/typeobj.rst:2300 msgid "Here is the structure definition::" msgstr "Aquí está la definición de la estructura::" -#: ../Doc/c-api/typeobj.rst:2045 +#: ../Doc/c-api/typeobj.rst:2023 msgid "" "Binary and ternary functions must check the type of all their operands, and " "implement the necessary conversions (at least one of the operands is an " @@ -3710,7 +3639,7 @@ msgstr "" "retornar ``Py_NotImplemented``, si se produce otro error, deben retornar " "``NULL`` y establecer una excepción." -#: ../Doc/c-api/typeobj.rst:2054 +#: ../Doc/c-api/typeobj.rst:2032 msgid "" "The :c:data:`nb_reserved` field should always be ``NULL``. It was " "previously called :c:data:`nb_long`, and was renamed in Python 3.0.1." @@ -3718,11 +3647,11 @@ msgstr "" "El campo :c:data:`nb_reserved` siempre debe ser ``NULL``. Anteriormente se " "llamaba :c:data:`nb_long`, y se renombró en Python 3.0.1." -#: ../Doc/c-api/typeobj.rst:2099 +#: ../Doc/c-api/typeobj.rst:2077 msgid "Mapping Object Structures" msgstr "Estructuras de Objetos Mapeo" -#: ../Doc/c-api/typeobj.rst:2106 +#: ../Doc/c-api/typeobj.rst:2084 msgid "" "This structure holds pointers to the functions which an object uses to " "implement the mapping protocol. It has three members:" @@ -3730,7 +3659,7 @@ msgstr "" "Esta estructura contiene punteros a las funciones que utiliza un objeto para " "implementar el protocolo de mapeo. Tiene tres miembros:" -#: ../Doc/c-api/typeobj.rst:2111 +#: ../Doc/c-api/typeobj.rst:2089 msgid "" "This function is used by :c:func:`PyMapping_Size` and :c:func:" "`PyObject_Size`, and has the same signature. This slot may be set to " @@ -3740,7 +3669,7 @@ msgstr "" "`PyObject_Size`, y tiene la misma firma. Esta ranura puede establecerse en " "``NULL`` si el objeto no tiene una longitud definida." -#: ../Doc/c-api/typeobj.rst:2117 +#: ../Doc/c-api/typeobj.rst:2095 msgid "" "This function is used by :c:func:`PyObject_GetItem` and :c:func:" "`PySequence_GetSlice`, and has the same signature as :c:func:`!" @@ -3752,7 +3681,7 @@ msgstr "" "PyObject_GetItem`. Este espacio debe llenarse para que la función :c:func:" "`PyMapping_Check` retorna ``1``, de lo contrario puede ser ``NULL``." -#: ../Doc/c-api/typeobj.rst:2125 +#: ../Doc/c-api/typeobj.rst:2103 msgid "" "This function is used by :c:func:`PyObject_SetItem`, :c:func:" "`PyObject_DelItem`, :c:func:`PyObject_SetSlice` and :c:func:" @@ -3768,11 +3697,11 @@ msgstr "" "Si este espacio es ``NULL``, el objeto no admite la asignación y eliminación " "de elementos." -#: ../Doc/c-api/typeobj.rst:2136 +#: ../Doc/c-api/typeobj.rst:2114 msgid "Sequence Object Structures" msgstr "Estructuras de objetos secuencia" -#: ../Doc/c-api/typeobj.rst:2143 +#: ../Doc/c-api/typeobj.rst:2121 msgid "" "This structure holds pointers to the functions which an object uses to " "implement the sequence protocol." @@ -3780,7 +3709,7 @@ msgstr "" "Esta estructura contiene punteros a las funciones que utiliza un objeto para " "implementar el protocolo de secuencia." -#: ../Doc/c-api/typeobj.rst:2148 +#: ../Doc/c-api/typeobj.rst:2126 msgid "" "This function is used by :c:func:`PySequence_Size` and :c:func:" "`PyObject_Size`, and has the same signature. It is also used for handling " @@ -3792,7 +3721,7 @@ msgstr "" "negativos a través de los espacios :c:member:`~PySequenceMethods.sq_item` y :" "c:member:`~PySequenceMethods.sq_ass_item`." -#: ../Doc/c-api/typeobj.rst:2155 +#: ../Doc/c-api/typeobj.rst:2133 msgid "" "This function is used by :c:func:`PySequence_Concat` and has the same " "signature. It is also used by the ``+`` operator, after trying the numeric " @@ -3802,7 +3731,7 @@ msgstr "" "firma. También es utilizado por el operador ``+``, después de intentar la " "suma numérica a través de la ranura :c:member:`~PyNumberMethods.nb_add`." -#: ../Doc/c-api/typeobj.rst:2161 +#: ../Doc/c-api/typeobj.rst:2139 msgid "" "This function is used by :c:func:`PySequence_Repeat` and has the same " "signature. It is also used by the ``*`` operator, after trying numeric " @@ -3813,7 +3742,7 @@ msgstr "" "multiplicación numérica a través de la ranura :c:member:`~PyNumberMethods." "nb_multiply`." -#: ../Doc/c-api/typeobj.rst:2167 +#: ../Doc/c-api/typeobj.rst:2145 msgid "" "This function is used by :c:func:`PySequence_GetItem` and has the same " "signature. It is also used by :c:func:`PyObject_GetItem`, after trying the " @@ -3827,7 +3756,7 @@ msgstr "" "mp_subscript`. Este espacio debe llenarse para que la función :c:func:" "`PySequence_Check` retorna ``1``, de lo contrario puede ser ``NULL``." -#: ../Doc/c-api/typeobj.rst:2173 +#: ../Doc/c-api/typeobj.rst:2151 msgid "" "Negative indexes are handled as follows: if the :attr:`sq_length` slot is " "filled, it is called and the sequence length is used to compute a positive " @@ -3839,7 +3768,7 @@ msgstr "" "para calcular un índice positivo que se pasa a :attr:`sq_item`. Si :attr:" "`sq_length` es ``NULL``, el índice se pasa como es a la función." -#: ../Doc/c-api/typeobj.rst:2180 +#: ../Doc/c-api/typeobj.rst:2158 msgid "" "This function is used by :c:func:`PySequence_SetItem` and has the same " "signature. It is also used by :c:func:`PyObject_SetItem` and :c:func:" @@ -3854,7 +3783,7 @@ msgstr "" "mp_ass_subscript`. Este espacio puede dejarse en ``NULL`` si el objeto no " "admite la asignación y eliminación de elementos." -#: ../Doc/c-api/typeobj.rst:2189 +#: ../Doc/c-api/typeobj.rst:2167 msgid "" "This function may be used by :c:func:`PySequence_Contains` and has the same " "signature. This slot may be left to ``NULL``, in this case :c:func:`!" @@ -3865,7 +3794,7 @@ msgstr "" "`!PySequence_Contains` simplemente atraviesa la secuencia hasta que " "encuentra una coincidencia." -#: ../Doc/c-api/typeobj.rst:2196 +#: ../Doc/c-api/typeobj.rst:2174 msgid "" "This function is used by :c:func:`PySequence_InPlaceConcat` and has the same " "signature. It should modify its first operand, and return it. This slot " @@ -3881,7 +3810,7 @@ msgstr "" "asignación aumentada ``+=``, después de intentar la suma numérica en el " "lugar a través de la ranura :c:member:`~PyNumberMethods.nb_inplace_add`." -#: ../Doc/c-api/typeobj.rst:2205 +#: ../Doc/c-api/typeobj.rst:2183 msgid "" "This function is used by :c:func:`PySequence_InPlaceRepeat` and has the same " "signature. It should modify its first operand, and return it. This slot " @@ -3898,11 +3827,11 @@ msgstr "" "en el lugar a través de la ranura :c:member:`~PyNumberMethods." "nb_inplace_multiply`." -#: ../Doc/c-api/typeobj.rst:2216 +#: ../Doc/c-api/typeobj.rst:2194 msgid "Buffer Object Structures" msgstr "Estructuras de Objetos Búfer" -#: ../Doc/c-api/typeobj.rst:2224 +#: ../Doc/c-api/typeobj.rst:2202 msgid "" "This structure holds pointers to the functions required by the :ref:`Buffer " "protocol `. The protocol defines how an exporter object can " @@ -3912,13 +3841,13 @@ msgstr "" "`Buffer protocol `. El protocolo define cómo un objeto " "exportador puede exponer sus datos internos a objetos de consumo." -#: ../Doc/c-api/typeobj.rst:2230 ../Doc/c-api/typeobj.rst:2279 -#: ../Doc/c-api/typeobj.rst:2332 ../Doc/c-api/typeobj.rst:2343 -#: ../Doc/c-api/typeobj.rst:2354 +#: ../Doc/c-api/typeobj.rst:2208 ../Doc/c-api/typeobj.rst:2257 +#: ../Doc/c-api/typeobj.rst:2310 ../Doc/c-api/typeobj.rst:2321 +#: ../Doc/c-api/typeobj.rst:2332 msgid "The signature of this function is::" msgstr "La firma de esta función es::" -#: ../Doc/c-api/typeobj.rst:2234 +#: ../Doc/c-api/typeobj.rst:2212 msgid "" "Handle a request to *exporter* to fill in *view* as specified by *flags*. " "Except for point (3), an implementation of this function MUST take these " @@ -3928,7 +3857,7 @@ msgstr "" "especificado por *flags*. Excepto por el punto (3), una implementación de " "esta función DEBE seguir estos pasos:" -#: ../Doc/c-api/typeobj.rst:2238 +#: ../Doc/c-api/typeobj.rst:2216 msgid "" "Check if the request can be met. If not, raise :c:data:`PyExc_BufferError`, " "set :c:data:`view->obj` to ``NULL`` and return ``-1``." @@ -3937,26 +3866,26 @@ msgstr "" "`PyExc_BufferError`, establece :c:data:`view->obj` en ``NULL`` y retorna " "``-1``." -#: ../Doc/c-api/typeobj.rst:2241 +#: ../Doc/c-api/typeobj.rst:2219 msgid "Fill in the requested fields." msgstr "Rellene los campos solicitados." -#: ../Doc/c-api/typeobj.rst:2243 +#: ../Doc/c-api/typeobj.rst:2221 msgid "Increment an internal counter for the number of exports." msgstr "" "Incrementa un contador interno para el número de exportaciones (*exports*)." -#: ../Doc/c-api/typeobj.rst:2245 +#: ../Doc/c-api/typeobj.rst:2223 msgid "" "Set :c:data:`view->obj` to *exporter* and increment :c:data:`view->obj`." msgstr "" "Establece :c:data:`view->obj` en *exporter* e incremente :c:data:`view->obj`." -#: ../Doc/c-api/typeobj.rst:2247 +#: ../Doc/c-api/typeobj.rst:2225 msgid "Return ``0``." msgstr "Retorna ``0``." -#: ../Doc/c-api/typeobj.rst:2249 +#: ../Doc/c-api/typeobj.rst:2227 msgid "" "If *exporter* is part of a chain or tree of buffer providers, two main " "schemes can be used:" @@ -3964,7 +3893,7 @@ msgstr "" "Si *exporter* es parte de una cadena o árbol de proveedores de búfer, se " "pueden usar dos esquemas principales:" -#: ../Doc/c-api/typeobj.rst:2252 +#: ../Doc/c-api/typeobj.rst:2230 msgid "" "Re-export: Each member of the tree acts as the exporting object and sets :c:" "data:`view->obj` to a new reference to itself." @@ -3972,7 +3901,7 @@ msgstr "" "Re-exportación: cada miembro del árbol actúa como el objeto exportador y " "establece :c:data:`view->obj` en una nueva referencia a sí mismo." -#: ../Doc/c-api/typeobj.rst:2255 +#: ../Doc/c-api/typeobj.rst:2233 msgid "" "Redirect: The buffer request is redirected to the root object of the tree. " "Here, :c:data:`view->obj` will be a new reference to the root object." @@ -3980,7 +3909,7 @@ msgstr "" "Redirigir: la solicitud de búfer se redirige al objeto raíz del árbol. Aquí :" "c:data:`view->obj` será una nueva referencia al objeto raíz." -#: ../Doc/c-api/typeobj.rst:2259 +#: ../Doc/c-api/typeobj.rst:2237 msgid "" "The individual fields of *view* are described in section :ref:`Buffer " "structure `, the rules how an exporter must react to " @@ -3992,7 +3921,7 @@ msgstr "" "reaccionar un exportador a solicitudes específicas se encuentran en la " "sección :ref:`Tipos de solicitud de búfer `." -#: ../Doc/c-api/typeobj.rst:2264 +#: ../Doc/c-api/typeobj.rst:2242 msgid "" "All memory pointed to in the :c:type:`Py_buffer` structure belongs to the " "exporter and must remain valid until there are no consumers left. :c:member:" @@ -4006,7 +3935,7 @@ msgstr "" "`~Py_buffer.strides`, :c:member:`~Py_buffer.suboffsets` y :c:member:" "`~Py_buffer.internal` son de solo lectura para el consumidor." -#: ../Doc/c-api/typeobj.rst:2271 +#: ../Doc/c-api/typeobj.rst:2249 msgid "" ":c:func:`PyBuffer_FillInfo` provides an easy way of exposing a simple bytes " "buffer while dealing correctly with all request types." @@ -4015,7 +3944,7 @@ msgstr "" "de bytes simple mientras se trata correctamente con todos los tipos de " "solicitud." -#: ../Doc/c-api/typeobj.rst:2274 +#: ../Doc/c-api/typeobj.rst:2252 msgid "" ":c:func:`PyObject_GetBuffer` is the interface for the consumer that wraps " "this function." @@ -4023,7 +3952,7 @@ msgstr "" ":c:func:`PyObject_GetBuffer` es la interfaz para el consumidor que envuelve " "esta función." -#: ../Doc/c-api/typeobj.rst:2283 +#: ../Doc/c-api/typeobj.rst:2261 msgid "" "Handle a request to release the resources of the buffer. If no resources " "need to be released, :c:member:`PyBufferProcs.bf_releasebuffer` may be " @@ -4035,15 +3964,15 @@ msgstr "" "``NULL``. De lo contrario, una implementación estándar de esta función " "tomará estos pasos opcionales:" -#: ../Doc/c-api/typeobj.rst:2288 +#: ../Doc/c-api/typeobj.rst:2266 msgid "Decrement an internal counter for the number of exports." msgstr "Disminuir un contador interno para el número de exportaciones." -#: ../Doc/c-api/typeobj.rst:2290 +#: ../Doc/c-api/typeobj.rst:2268 msgid "If the counter is ``0``, free all memory associated with *view*." msgstr "Si el contador es ``0``, libera toda la memoria asociada con *view*." -#: ../Doc/c-api/typeobj.rst:2292 +#: ../Doc/c-api/typeobj.rst:2270 msgid "" "The exporter MUST use the :c:member:`~Py_buffer.internal` field to keep " "track of buffer-specific resources. This field is guaranteed to remain " @@ -4055,7 +3984,7 @@ msgstr "" "que este campo permanecerá constante, mientras que un consumidor PUEDE pasar " "una copia del búfer original como argumento *view*." -#: ../Doc/c-api/typeobj.rst:2298 +#: ../Doc/c-api/typeobj.rst:2276 msgid "" "This function MUST NOT decrement :c:data:`view->obj`, since that is done " "automatically in :c:func:`PyBuffer_Release` (this scheme is useful for " @@ -4065,7 +3994,7 @@ msgstr "" "automáticamente en :c:func:`PyBuffer_Release` (este esquema es útil para " "romper los ciclos de referencia)." -#: ../Doc/c-api/typeobj.rst:2303 +#: ../Doc/c-api/typeobj.rst:2281 msgid "" ":c:func:`PyBuffer_Release` is the interface for the consumer that wraps this " "function." @@ -4073,11 +4002,11 @@ msgstr "" ":c:func:`PyBuffer_Release` es la interfaz para el consumidor que envuelve " "esta función." -#: ../Doc/c-api/typeobj.rst:2311 +#: ../Doc/c-api/typeobj.rst:2289 msgid "Async Object Structures" msgstr "Estructuras de objetos asíncronos" -#: ../Doc/c-api/typeobj.rst:2319 +#: ../Doc/c-api/typeobj.rst:2297 msgid "" "This structure holds pointers to the functions required to implement :term:" "`awaitable` and :term:`asynchronous iterator` objects." @@ -4086,7 +4015,7 @@ msgstr "" "implementar objetos \"esperable\" (:term:`awaitable`) y \"iterador " "asincrónico\" (:term:`asynchronous iterator`)." -#: ../Doc/c-api/typeobj.rst:2336 +#: ../Doc/c-api/typeobj.rst:2314 msgid "" "The returned object must be an iterator, i.e. :c:func:`PyIter_Check` must " "return ``1`` for it." @@ -4094,21 +4023,21 @@ msgstr "" "El objeto retornado debe ser un iterador, es decir :c:func:`PyIter_Check` " "debe retornar ``1`` para ello." -#: ../Doc/c-api/typeobj.rst:2339 +#: ../Doc/c-api/typeobj.rst:2317 msgid "" "This slot may be set to ``NULL`` if an object is not an :term:`awaitable`." msgstr "" "Este espacio puede establecerse en ``NULL`` si un objeto no es :term:" "`awaitable`." -#: ../Doc/c-api/typeobj.rst:2347 +#: ../Doc/c-api/typeobj.rst:2325 msgid "" "Must return an :term:`awaitable` object. See :meth:`__anext__` for details." msgstr "" "Debe retornar un objeto \"esperable\" (:term:`awaitable`). Ver :meth:" "`__anext__` para más detalles." -#: ../Doc/c-api/typeobj.rst:2349 +#: ../Doc/c-api/typeobj.rst:2327 msgid "" "This slot may be set to ``NULL`` if an object does not implement " "asynchronous iteration protocol." @@ -4116,7 +4045,7 @@ msgstr "" "Este espacio puede establecerse en ``NULL`` si un objeto no implementa el " "protocolo de iteración asincrónica." -#: ../Doc/c-api/typeobj.rst:2358 +#: ../Doc/c-api/typeobj.rst:2336 msgid "" "Must return an :term:`awaitable` object. See :meth:`__anext__` for details. " "This slot may be set to ``NULL``." @@ -4124,11 +4053,11 @@ msgstr "" "Debe retornar un objeto \"esperable\" (:term:`awaitable`). Ver :meth:" "`__anext__` para más detalles. Esta ranura puede establecerse en ``NULL``." -#: ../Doc/c-api/typeobj.rst:2365 +#: ../Doc/c-api/typeobj.rst:2343 msgid "Slot Type typedefs" msgstr "Tipo Ranura *typedefs*" -#: ../Doc/c-api/typeobj.rst:2369 +#: ../Doc/c-api/typeobj.rst:2347 msgid "" "The purpose of this function is to separate memory allocation from memory " "initialization. It should return a pointer to a block of memory of adequate " @@ -4152,7 +4081,7 @@ msgstr "" "``sizeof(void*)``; de lo contrario, *nitems* no se usa y la longitud del " "bloque debe ser :c:member:`~PyTypeObject.tp_basicsize`." -#: ../Doc/c-api/typeobj.rst:2379 +#: ../Doc/c-api/typeobj.rst:2357 msgid "" "This function should not do any other instance initialization, not even to " "allocate additional memory; that should be done by :c:member:`~PyTypeObject." @@ -4162,39 +4091,27 @@ msgstr "" "siquiera para asignar memoria adicional; eso debe ser realizado por :c:" "member:`~PyTypeObject.tp_new`." -#: ../Doc/c-api/typeobj.rst:2386 -msgid "See :c:member:`~PyTypeObject.tp_vectorcall_offset`." -msgstr "Consulte :c:member:`~PyTypeObject.tp_vectorcall_offset`." - -#: ../Doc/c-api/typeobj.rst:2388 -msgid "" -"Arguments to ``vectorcallfunc`` are the same as for :c:func:" -"`_PyObject_Vectorcall`." -msgstr "" -"Los argumentos para ``vectorcallfunc`` son los mismos que para :c:func:" -"`_PyObject_Vectorcall`." - -#: ../Doc/c-api/typeobj.rst:2394 +#: ../Doc/c-api/typeobj.rst:2364 msgid "See :c:member:`~PyTypeObject.tp_free`." msgstr "Consulte :c:member:`~PyTypeObject.tp_free`." -#: ../Doc/c-api/typeobj.rst:2398 +#: ../Doc/c-api/typeobj.rst:2368 msgid "See :c:member:`~PyTypeObject.tp_new`." msgstr "Consulte :c:member:`~PyTypeObject.tp_new`." -#: ../Doc/c-api/typeobj.rst:2402 +#: ../Doc/c-api/typeobj.rst:2372 msgid "See :c:member:`~PyTypeObject.tp_init`." msgstr "Consulte :c:member:`~PyTypeObject.tp_init`." -#: ../Doc/c-api/typeobj.rst:2406 +#: ../Doc/c-api/typeobj.rst:2376 msgid "See :c:member:`~PyTypeObject.tp_repr`." msgstr "Consulte :c:member:`~PyTypeObject.tp_repr`." -#: ../Doc/c-api/typeobj.rst:2410 ../Doc/c-api/typeobj.rst:2419 +#: ../Doc/c-api/typeobj.rst:2380 ../Doc/c-api/typeobj.rst:2389 msgid "Return the value of the named attribute for the object." msgstr "Retorna el valor del atributo nombrado para el objeto." -#: ../Doc/c-api/typeobj.rst:2414 ../Doc/c-api/typeobj.rst:2425 +#: ../Doc/c-api/typeobj.rst:2384 ../Doc/c-api/typeobj.rst:2395 msgid "" "Set the value of the named attribute for the object. The value argument is " "set to ``NULL`` to delete the attribute." @@ -4202,43 +4119,43 @@ msgstr "" "Establece el valor del atributo nombrado para el objeto. El argumento del " "valor se establece en ``NULL`` para eliminar el atributo." -#: ../Doc/c-api/typeobj.rst:2421 +#: ../Doc/c-api/typeobj.rst:2391 msgid "See :c:member:`~PyTypeObject.tp_getattro`." msgstr "Consulte :c:member:`~PyTypeObject.tp_getattro`." -#: ../Doc/c-api/typeobj.rst:2428 +#: ../Doc/c-api/typeobj.rst:2398 msgid "See :c:member:`~PyTypeObject.tp_setattro`." msgstr "Consulte :c:member:`~PyTypeObject.tp_setattro`." -#: ../Doc/c-api/typeobj.rst:2432 +#: ../Doc/c-api/typeobj.rst:2402 msgid "See :c:member:`~PyTypeObject.tp_descrget`." msgstr "Consulte :c:member:`~PyTypeObject.tp_descrget`." -#: ../Doc/c-api/typeobj.rst:2436 +#: ../Doc/c-api/typeobj.rst:2406 msgid "See :c:member:`~PyTypeObject.tp_descrset`." msgstr "Consulte :c:member:`~PyTypeObject.tp_descrset`." -#: ../Doc/c-api/typeobj.rst:2440 +#: ../Doc/c-api/typeobj.rst:2410 msgid "See :c:member:`~PyTypeObject.tp_hash`." msgstr "Consulte :c:member:`~PyTypeObject.tp_hash`." -#: ../Doc/c-api/typeobj.rst:2444 +#: ../Doc/c-api/typeobj.rst:2414 msgid "See :c:member:`~PyTypeObject.tp_richcompare`." msgstr "Consulte :c:member:`~PyTypeObject.tp_richcompare`." -#: ../Doc/c-api/typeobj.rst:2448 +#: ../Doc/c-api/typeobj.rst:2418 msgid "See :c:member:`~PyTypeObject.tp_iter`." msgstr "Consulte :c:member:`~PyTypeObject.tp_iter`." -#: ../Doc/c-api/typeobj.rst:2452 +#: ../Doc/c-api/typeobj.rst:2422 msgid "See :c:member:`~PyTypeObject.tp_iternext`." msgstr "Consulte :c:member:`~PyTypeObject.tp_iternext`." -#: ../Doc/c-api/typeobj.rst:2478 +#: ../Doc/c-api/typeobj.rst:2448 msgid "Examples" msgstr "Ejemplos" -#: ../Doc/c-api/typeobj.rst:2480 +#: ../Doc/c-api/typeobj.rst:2450 msgid "" "The following are simple examples of Python type definitions. They include " "common usage you may encounter. Some demonstrate tricky corner cases. For " @@ -4251,11 +4168,11 @@ msgstr "" "un tutorial, consulte \"definiendo nuevos tipos\" (:ref:`defining-new-" "types`) y \"tópicos de nuevos tipos (:ref:`new-types-topics`)." -#: ../Doc/c-api/typeobj.rst:2485 +#: ../Doc/c-api/typeobj.rst:2455 msgid "A basic static type::" msgstr "Un tipo estático básico::" -#: ../Doc/c-api/typeobj.rst:2502 +#: ../Doc/c-api/typeobj.rst:2472 msgid "" "You may also find older code (especially in the CPython code base) with a " "more verbose initializer::" @@ -4263,13 +4180,13 @@ msgstr "" "También puede encontrar código más antiguo (especialmente en la base de " "código CPython) con un inicializador más detallado::" -#: ../Doc/c-api/typeobj.rst:2546 +#: ../Doc/c-api/typeobj.rst:2516 msgid "A type that supports weakrefs, instance dicts, and hashing::" msgstr "" "Un tipo que admite referencias débiles, instancias de diccionarios (*dicts*) " "y *hashing*::" -#: ../Doc/c-api/typeobj.rst:2573 +#: ../Doc/c-api/typeobj.rst:2543 msgid "" "A str subclass that cannot be subclassed and cannot be called to create " "instances (e.g. uses a separate factory func)::" @@ -4278,10 +4195,146 @@ msgstr "" "puede llamar para crear instancias (por ejemplo, utiliza una función de " "fábrica separada)::" -#: ../Doc/c-api/typeobj.rst:2592 +#: ../Doc/c-api/typeobj.rst:2562 msgid "The simplest static type (with fixed-length instances)::" msgstr "El tipo estático más simple (con instancias de longitud fija)::" -#: ../Doc/c-api/typeobj.rst:2603 +#: ../Doc/c-api/typeobj.rst:2573 msgid "The simplest static type (with variable-length instances)::" msgstr "El tipo estático más simple (con instancias de longitud variable)::" + +#~ msgid "" +#~ "If :const:`COUNT_ALLOCS` is defined then the following (internal-only) " +#~ "fields exist as well:" +#~ msgstr "" +#~ "Si :const:`COUNT_ALLOCS` está definido, entonces también existen los " +#~ "siguientes campos (solo internos):" + +#~ msgid ":c:member:`~PyTypeObject.tp_allocs`" +#~ msgstr ":c:member:`~PyTypeObject.tp_allocs`" + +#~ msgid ":c:member:`~PyTypeObject.tp_frees`" +#~ msgstr ":c:member:`~PyTypeObject.tp_frees`" + +#~ msgid ":c:member:`~PyTypeObject.tp_maxalloc`" +#~ msgstr ":c:member:`~PyTypeObject.tp_maxalloc`" + +#~ msgid ":c:member:`~PyTypeObject.tp_prev`" +#~ msgstr ":c:member:`~PyTypeObject.tp_prev`" + +#~ msgid ":c:member:`~PyTypeObject.tp_next`" +#~ msgstr ":c:member:`~PyTypeObject.tp_next`" + +#~ msgid "" +#~ "Call *callable*'s *vectorcallfunc* with positional and keyword arguments " +#~ "given in a tuple and dict, respectively." +#~ msgstr "" +#~ "Llama el *callable* de *vectorcallfunc* con argumentos posicionales y de " +#~ "palabras clave dados en una tupla y diccionario (*dict*), respectivamente." + +#~ msgid "" +#~ "This function is intended to be used in the ``tp_call`` slot. It does not " +#~ "fall back to ``tp_call`` and it currently does not check the " +#~ "``_Py_TPFLAGS_HAVE_VECTORCALL`` flag. To call an object, use one of the :" +#~ "c:func:`PyObject_Call ` functions instead." +#~ msgstr "" +#~ "Esta función está destinada a ser utilizada en la ranura ``tp_call``. No " +#~ "vuelve a caer a ``tp_call`` y actualmente no marca la bandera " +#~ "``_Py_TPFLAGS_HAVE_VECTORCALL``. Para llamar a un objeto, use una de las " +#~ "funciones :c:func:`PyObject_Call` en su lugar." + +#~ msgid "" +#~ "This slot was used for print formatting in Python 2.x. In Python 3.0 to " +#~ "3.7, it was reserved and named ``tp_print``." +#~ msgstr "" +#~ "Esta ranura se usó para el formato de impresión en Python 2.x. En Python " +#~ "3.0 a 3.7, estaba reservado y se llamaba ``tp_print``." + +#~ msgid "" +#~ "This field is inherited by subtypes together with :c:member:" +#~ "`~PyTypeObject.tp_call`: a subtype inherits :c:member:`~PyTypeObject." +#~ "tp_vectorcall_offset` from its base type when the subtype’s :c:member:" +#~ "`~PyTypeObject.tp_call` is ``NULL``." +#~ msgstr "" +#~ "Los subtipos heredan este campo junto con :c:member:`~PyTypeObject." +#~ "tp_call`: un subtipo hereda :c:member:`~PyTypeObject." +#~ "tp_vectorcall_offset` de su tipo base cuando el subtipo :c:member:" +#~ "`~PyTypeObject.tp_call` es ``NULL``." + +#~ msgid "" +#~ "Note that `heap types`_ (including subclasses defined in Python) do not " +#~ "inherit the :const:`_Py_TPFLAGS_HAVE_VECTORCALL` flag." +#~ msgstr "" +#~ "Tenga en cuenta que los tipos montículo, (`heap types`_, incluidas las " +#~ "subclases definidas en Python) no heredan el indicador :const:" +#~ "`_Py_TPFLAGS_HAVE_VECTORCALL`." + +#~ msgid "" +#~ "This bit is set on *static* subtypes if ``tp_flags`` is not overridden: a " +#~ "subtype inherits ``_Py_TPFLAGS_HAVE_VECTORCALL`` from its base type when " +#~ "the subtype’s :c:member:`~PyTypeObject.tp_call` is ``NULL`` and the " +#~ "subtype's ``Py_TPFLAGS_HEAPTYPE`` is not set." +#~ msgstr "" +#~ "Este bit se establece en los subtipos *static* si ``tp_flags`` no se " +#~ "reemplaza: un subtipo hereda ``_Py_TPFLAGS_HAVE_VECTORCALL`` de su tipo " +#~ "base cuando el subtipo :c:member:`~PyTypeObject.tp_call` es ``NULL`` y el " +#~ "subtipo ``Py_TPFLAGS_HEAPTYPE`` no está establecido." + +#~ msgid "`Heap types`_ do not inherit ``_Py_TPFLAGS_HAVE_VECTORCALL``." +#~ msgstr "" +#~ "\"Tipos montículo\" (`Heap types`_) no heredan " +#~ "``_Py_TPFLAGS_HAVE_VECTORCALL``." + +#~ msgid "" +#~ "This flag is provisional and expected to become public in Python 3.9, " +#~ "with a different name and, possibly, changed semantics. If you use " +#~ "vectorcall, plan for updating your code for Python 3.9." +#~ msgstr "" +#~ "Este indicador (*flag*) es provisional y se espera que se haga pública en " +#~ "Python 3.9, con un nombre diferente y, posiblemente, una semántica " +#~ "cambiada. Si usa *vectorcall*, planifique actualizar su código para " +#~ "Python 3.9." + +#~ msgid "" +#~ "The remaining fields are only defined if the feature test macro :const:" +#~ "`COUNT_ALLOCS` is defined, and are for internal use only. They are " +#~ "documented here for completeness. None of these fields are inherited by " +#~ "subtypes." +#~ msgstr "" +#~ "Los campos restantes solo se definen si la macro de prueba de " +#~ "características :const:`COUNT_ALLOCS` está definida, y son solo para uso " +#~ "interno. Se documentan aquí para completar. Ninguno de estos campos es " +#~ "heredado por subtipos." + +#~ msgid "Number of allocations." +#~ msgstr "Número de asignaciones." + +#~ msgid "Number of frees." +#~ msgstr "Número de liberaciones." + +#~ msgid "Maximum simultaneously allocated objects." +#~ msgstr "Máximo de objetos asignados simultáneamente." + +#~ msgid "" +#~ "Pointer to the previous type object with a non-zero :c:member:" +#~ "`~PyTypeObject.tp_allocs` field." +#~ msgstr "" +#~ "Puntero al objeto tipo anterior con un campo distinto de cero :c:member:" +#~ "`~PyTypeObject.tp_allocs`." + +#~ msgid "" +#~ "Pointer to the next type object with a non-zero :c:member:`~PyTypeObject." +#~ "tp_allocs` field." +#~ msgstr "" +#~ "Puntero al siguiente objeto tipo con un campo distinto de cero :c:member:" +#~ "`~PyTypeObject.tp_allocs`." + +#~ msgid "See :c:member:`~PyTypeObject.tp_vectorcall_offset`." +#~ msgstr "Consulte :c:member:`~PyTypeObject.tp_vectorcall_offset`." + +#~ msgid "" +#~ "Arguments to ``vectorcallfunc`` are the same as for :c:func:" +#~ "`_PyObject_Vectorcall`." +#~ msgstr "" +#~ "Los argumentos para ``vectorcallfunc`` son los mismos que para :c:func:" +#~ "`_PyObject_Vectorcall`." diff --git a/c-api/unicode.po b/c-api/unicode.po index 37a56f6c9d..ffaf4614db 100644 --- a/c-api/unicode.po +++ b/c-api/unicode.po @@ -10,18 +10,17 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-09 02:25+0200\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es (https://mail.python.org/mailman3/lists/docs-es." "python.org)\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/c-api/unicode.rst:6 msgid "Unicode Objects and Codecs" @@ -49,18 +48,18 @@ msgstr "" "rango completo de Unicode)." #: ../Doc/c-api/unicode.rst:20 +#, fuzzy msgid "" ":c:type:`Py_UNICODE*` and UTF-8 representations are created on demand and " "cached in the Unicode object. The :c:type:`Py_UNICODE*` representation is " -"deprecated and inefficient; it should be avoided in performance- or memory-" -"sensitive situations." +"deprecated and inefficient." msgstr "" ":c:type:`Py_UNICODE *` y las representaciones UTF-8 se crean a pedido y se " "almacenan en caché en el objeto Unicode. La representación :c:type:" "`Py_UNICODE *` está en desuso y es ineficiente; debe evitarse en situaciones " "sensibles al rendimiento o la memoria." -#: ../Doc/c-api/unicode.rst:25 +#: ../Doc/c-api/unicode.rst:24 msgid "" "Due to the transition between the old APIs and the new APIs, Unicode objects " "can internally be in two states depending on how they were created:" @@ -69,7 +68,7 @@ msgstr "" "Unicode pueden estar internamente en dos estados dependiendo de cómo se " "crearon:" -#: ../Doc/c-api/unicode.rst:28 +#: ../Doc/c-api/unicode.rst:27 msgid "" "\"canonical\" Unicode objects are all objects created by a non-deprecated " "Unicode API. They use the most efficient representation allowed by the " @@ -79,7 +78,7 @@ msgstr "" "Unicode no obsoleta. Utilizan la representación más eficiente permitida por " "la implementación." -#: ../Doc/c-api/unicode.rst:32 +#: ../Doc/c-api/unicode.rst:31 msgid "" "\"legacy\" Unicode objects have been created through one of the deprecated " "APIs (typically :c:func:`PyUnicode_FromUnicode`) and only bear the :c:type:" @@ -91,11 +90,18 @@ msgstr "" "representación :c:type:`Py_UNICODE*`; Será necesario llamar a :c:func:" "`PyUnicode_READY` en ellos antes de llamar a cualquier otra API." -#: ../Doc/c-api/unicode.rst:39 +#: ../Doc/c-api/unicode.rst:37 +msgid "" +"The \"legacy\" Unicode object will be removed in Python 3.12 with deprecated " +"APIs. All Unicode objects will be \"canonical\" since then. See :pep:`623` " +"for more information." +msgstr "" + +#: ../Doc/c-api/unicode.rst:43 msgid "Unicode Type" msgstr "Tipo Unicode" -#: ../Doc/c-api/unicode.rst:41 +#: ../Doc/c-api/unicode.rst:45 msgid "" "These are the basic Unicode object types used for the Unicode implementation " "in Python:" @@ -103,7 +109,7 @@ msgstr "" "Estos son los tipos básicos de objetos Unicode utilizados para la " "implementación de Unicode en Python:" -#: ../Doc/c-api/unicode.rst:48 +#: ../Doc/c-api/unicode.rst:52 msgid "" "These types are typedefs for unsigned integer types wide enough to contain " "characters of 32 bits, 16 bits and 8 bits, respectively. When dealing with " @@ -114,7 +120,7 @@ msgstr "" "caracteres de 32 bits, 16 bits y 8 bits, respectivamente. Cuando se trate " "con caracteres Unicode individuales, use :c:type:`Py_UCS4`." -#: ../Doc/c-api/unicode.rst:57 +#: ../Doc/c-api/unicode.rst:61 msgid "" "This is a typedef of :c:type:`wchar_t`, which is a 16-bit type or 32-bit " "type depending on the platform." @@ -122,7 +128,7 @@ msgstr "" "Este es una definición de tipo (*typedef*) de :c:type:`wchar_t`, que es un " "tipo de 16 bits o de 32 bits dependiendo de la plataforma." -#: ../Doc/c-api/unicode.rst:60 +#: ../Doc/c-api/unicode.rst:64 msgid "" "In previous versions, this was a 16-bit type or a 32-bit type depending on " "whether you selected a \"narrow\" or \"wide\" Unicode version of Python at " @@ -132,7 +138,7 @@ msgstr "" "dependiendo de si seleccionó una versión Unicode \"estrecha\" o \"amplia\" " "de Python en el momento de la compilación." -#: ../Doc/c-api/unicode.rst:70 +#: ../Doc/c-api/unicode.rst:74 msgid "" "These subtypes of :c:type:`PyObject` represent a Python Unicode object. In " "almost all cases, they shouldn't be used directly, since all API functions " @@ -143,7 +149,7 @@ msgstr "" "funciones API que se ocupan de objetos Unicode toman y retornan punteros :c:" "type:`PyObject`." -#: ../Doc/c-api/unicode.rst:79 +#: ../Doc/c-api/unicode.rst:83 msgid "" "This instance of :c:type:`PyTypeObject` represents the Python Unicode type. " "It is exposed to Python code as ``str``." @@ -151,7 +157,7 @@ msgstr "" "Esta instancia de :c:type:`PyTypeObject` representa el tipo Python Unicode. " "Está expuesto al código de Python como ``str``." -#: ../Doc/c-api/unicode.rst:83 +#: ../Doc/c-api/unicode.rst:87 msgid "" "The following APIs are really C macros and can be used to do fast checks and " "to access internal read-only data of Unicode objects:" @@ -160,23 +166,25 @@ msgstr "" "realizar comprobaciones rápidas y acceder a datos internos de solo lectura " "de objetos Unicode:" -#: ../Doc/c-api/unicode.rst:88 +#: ../Doc/c-api/unicode.rst:92 +#, fuzzy msgid "" "Return true if the object *o* is a Unicode object or an instance of a " -"Unicode subtype." +"Unicode subtype. This function always succeeds." msgstr "" "Retorna verdadero si el objeto *o* es un objeto Unicode o una instancia de " "un subtipo Unicode." -#: ../Doc/c-api/unicode.rst:94 +#: ../Doc/c-api/unicode.rst:98 +#, fuzzy msgid "" "Return true if the object *o* is a Unicode object, but not an instance of a " -"subtype." +"subtype. This function always succeeds." msgstr "" "Retorna verdadero (*True*) si el objeto *o* es un objeto Unicode, pero no " "una instancia de un subtipo." -#: ../Doc/c-api/unicode.rst:100 +#: ../Doc/c-api/unicode.rst:104 msgid "" "Ensure the string object *o* is in the \"canonical\" representation. This " "is required before using any of the access macros described below." @@ -185,7 +193,7 @@ msgstr "" "\"canónica\". Esto es necesario antes de usar cualquiera de las macros de " "acceso que se describen a continuación." -#: ../Doc/c-api/unicode.rst:105 +#: ../Doc/c-api/unicode.rst:109 msgid "" "Returns ``0`` on success and ``-1`` with an exception set on failure, which " "in particular happens if memory allocation fails." @@ -193,7 +201,11 @@ msgstr "" "Retorna ``0`` en caso de éxito y ``-1`` con una excepción establecida en " "caso de error, que ocurre en particular si falla la asignación de memoria." -#: ../Doc/c-api/unicode.rst:113 +#: ../Doc/c-api/unicode.rst:115 +msgid "This API will be removed with :c:func:`PyUnicode_FromUnicode`." +msgstr "" + +#: ../Doc/c-api/unicode.rst:120 msgid "" "Return the length of the Unicode string, in code points. *o* has to be a " "Unicode object in the \"canonical\" representation (not checked)." @@ -202,7 +214,7 @@ msgstr "" "*o* tiene que ser un objeto Unicode en la representación \"canónica\" (no " "marcada)." -#: ../Doc/c-api/unicode.rst:123 +#: ../Doc/c-api/unicode.rst:130 msgid "" "Return a pointer to the canonical representation cast to UCS1, UCS2 or UCS4 " "integer types for direct character access. No checks are performed if the " @@ -217,11 +229,15 @@ msgstr "" "Asegúrese de que se haya llamado a :c:func:`PyUnicode_READY` antes de " "acceder a esto." -#: ../Doc/c-api/unicode.rst:137 +#: ../Doc/c-api/unicode.rst:144 msgid "Return values of the :c:func:`PyUnicode_KIND` macro." msgstr "Retorna los valores de la macro :c:func:`PyUnicode_KIND`." -#: ../Doc/c-api/unicode.rst:144 +#: ../Doc/c-api/unicode.rst:149 +msgid "``PyUnicode_WCHAR_KIND`` is deprecated." +msgstr "" + +#: ../Doc/c-api/unicode.rst:154 msgid "" "Return one of the PyUnicode kind constants (see above) that indicate how " "many bytes per character this Unicode object uses to store its data. *o* " @@ -232,7 +248,7 @@ msgstr "" "datos. *o* tiene que ser un objeto Unicode en la representación \"canónica" "\" (no marcada)." -#: ../Doc/c-api/unicode.rst:155 +#: ../Doc/c-api/unicode.rst:165 msgid "" "Return a void pointer to the raw Unicode buffer. *o* has to be a Unicode " "object in the \"canonical\" representation (not checked)." @@ -240,7 +256,7 @@ msgstr "" "Retorna un puntero vacío al búfer Unicode sin formato. *o* tiene que ser un " "objeto Unicode en la representación \"canónica\" (no marcada)." -#: ../Doc/c-api/unicode.rst:164 +#: ../Doc/c-api/unicode.rst:174 msgid "" "Write into a canonical representation *data* (as obtained with :c:func:" "`PyUnicode_DATA`). This macro does not do any sanity checks and is intended " @@ -257,7 +273,7 @@ msgstr "" "y *value* es el nuevo valor del punto de código que debe escribirse en esa " "ubicación." -#: ../Doc/c-api/unicode.rst:176 +#: ../Doc/c-api/unicode.rst:186 msgid "" "Read a code point from a canonical representation *data* (as obtained with :" "c:func:`PyUnicode_DATA`). No checks or ready calls are performed." @@ -266,7 +282,7 @@ msgstr "" "c:func:`PyUnicode_DATA`). No se realizan verificaciones ni llamadas " "preparadas." -#: ../Doc/c-api/unicode.rst:184 +#: ../Doc/c-api/unicode.rst:194 msgid "" "Read a character from a Unicode object *o*, which must be in the \"canonical" "\" representation. This is less efficient than :c:func:`PyUnicode_READ` if " @@ -276,7 +292,7 @@ msgstr "" "representación \"canónica\". Esto es menos eficiente que :c:func:" "`PyUnicode_READ` si realiza varias lecturas consecutivas." -#: ../Doc/c-api/unicode.rst:193 +#: ../Doc/c-api/unicode.rst:203 msgid "" "Return the maximum code point that is suitable for creating another string " "based on *o*, which must be in the \"canonical\" representation. This is " @@ -287,12 +303,7 @@ msgstr "" "Esto siempre es una aproximación pero más eficiente que iterar sobre la " "cadena." -#: ../Doc/c-api/unicode.rst:202 -msgid "Clear the free list. Return the total number of freed items." -msgstr "" -"Borra la lista gratuita. Retorna el número total de artículos liberados." - -#: ../Doc/c-api/unicode.rst:207 +#: ../Doc/c-api/unicode.rst:212 msgid "" "Return the size of the deprecated :c:type:`Py_UNICODE` representation, in " "code units (this includes surrogate pairs as 2 units). *o* has to be a " @@ -302,7 +313,8 @@ msgstr "" "unidades de código (esto incluye pares sustitutos como 2 unidades). *o* " "tiene que ser un objeto Unicode (no marcado)." -#: ../Doc/c-api/unicode.rst:213 ../Doc/c-api/unicode.rst:223 +#: ../Doc/c-api/unicode.rst:218 ../Doc/c-api/unicode.rst:228 +#: ../Doc/c-api/unicode.rst:772 msgid "" "Part of the old-style Unicode API, please migrate to using :c:func:" "`PyUnicode_GET_LENGTH`." @@ -310,7 +322,7 @@ msgstr "" "Parte de la API Unicode de estilo antiguo, por favor migrar para usar :c:" "func:`PyUnicode_GET_LENGTH`." -#: ../Doc/c-api/unicode.rst:218 +#: ../Doc/c-api/unicode.rst:223 msgid "" "Return the size of the deprecated :c:type:`Py_UNICODE` representation in " "bytes. *o* has to be a Unicode object (not checked)." @@ -318,7 +330,7 @@ msgstr "" "Retorna el tamaño de la representación en desuso :c:type:`Py_UNICODE` en " "bytes. *o* tiene que ser un objeto Unicode (no marcado)." -#: ../Doc/c-api/unicode.rst:229 +#: ../Doc/c-api/unicode.rst:234 msgid "" "Return a pointer to a :c:type:`Py_UNICODE` representation of the object. " "The returned buffer is always terminated with an extra null code point. It " @@ -334,7 +346,7 @@ msgstr "" "funciones de C. La forma ``AS_DATA`` arroja el puntero a :c:type:`const char " "*`. El argumento *o* tiene que ser un objeto Unicode (no marcado)." -#: ../Doc/c-api/unicode.rst:236 +#: ../Doc/c-api/unicode.rst:241 msgid "" "This macro is now inefficient -- because in many cases the :c:type:" "`Py_UNICODE` representation does not exist and needs to be created -- and " @@ -348,7 +360,7 @@ msgstr "" "las nuevas macros :c:func:`PyUnicode_nBYTE_DATA` o use :c:func:" "`PyUnicode_WRITE` o :c:func:`PyUnicode_READ`." -#: ../Doc/c-api/unicode.rst:245 +#: ../Doc/c-api/unicode.rst:250 msgid "" "Part of the old-style Unicode API, please migrate to using the :c:func:" "`PyUnicode_nBYTE_DATA` family of macros." @@ -356,11 +368,23 @@ msgstr "" "Parte de la antigua API Unicode, por favor migre para usar la familia de " "macros :c:func:`PyUnicode_nBYTE_DATA`." -#: ../Doc/c-api/unicode.rst:249 +#: ../Doc/c-api/unicode.rst:255 +msgid "" +"Return ``1`` if the string is a valid identifier according to the language " +"definition, section :ref:`identifiers`. Return ``0`` otherwise." +msgstr "" + +#: ../Doc/c-api/unicode.rst:258 +msgid "" +"The function does not call :c:func:`Py_FatalError` anymore if the string is " +"not ready." +msgstr "" + +#: ../Doc/c-api/unicode.rst:264 msgid "Unicode Character Properties" msgstr "Propiedades de caracteres Unicode" -#: ../Doc/c-api/unicode.rst:251 +#: ../Doc/c-api/unicode.rst:266 msgid "" "Unicode provides many different character properties. The most often needed " "ones are available through these macros which are mapped to C functions " @@ -370,66 +394,66 @@ msgstr "" "necesitan con mayor frecuencia están disponibles a través de estas macros " "que se asignan a las funciones de C según la configuración de Python." -#: ../Doc/c-api/unicode.rst:258 +#: ../Doc/c-api/unicode.rst:273 msgid "" "Return ``1`` or ``0`` depending on whether *ch* is a whitespace character." msgstr "" "Retorna ``1`` o ``0`` dependiendo de si *ch* es un carácter de espacio en " "blanco." -#: ../Doc/c-api/unicode.rst:263 +#: ../Doc/c-api/unicode.rst:278 msgid "" "Return ``1`` or ``0`` depending on whether *ch* is a lowercase character." msgstr "" "Retorna ``1`` o ``0`` dependiendo de si *ch* es un carácter en minúscula." -#: ../Doc/c-api/unicode.rst:268 +#: ../Doc/c-api/unicode.rst:283 msgid "" "Return ``1`` or ``0`` depending on whether *ch* is an uppercase character." msgstr "" "Retorna ``1`` o ``0`` dependiendo de si *ch* es un carácter en mayúscula." -#: ../Doc/c-api/unicode.rst:273 +#: ../Doc/c-api/unicode.rst:288 msgid "" "Return ``1`` or ``0`` depending on whether *ch* is a titlecase character." msgstr "" "Retorna ``1`` o ``0`` dependiendo de si *ch* es un carácter en caso de " "título (*titlecase*)." -#: ../Doc/c-api/unicode.rst:278 +#: ../Doc/c-api/unicode.rst:293 msgid "" "Return ``1`` or ``0`` depending on whether *ch* is a linebreak character." msgstr "" "Retorna ``1`` o ``0`` dependiendo de si *ch* es un carácter de salto de " "línea." -#: ../Doc/c-api/unicode.rst:283 +#: ../Doc/c-api/unicode.rst:298 msgid "Return ``1`` or ``0`` depending on whether *ch* is a decimal character." msgstr "" "Retorna ``1`` o ``0`` dependiendo de si *ch* es un carácter decimal o no." -#: ../Doc/c-api/unicode.rst:288 +#: ../Doc/c-api/unicode.rst:303 msgid "Return ``1`` or ``0`` depending on whether *ch* is a digit character." msgstr "" "Retorna ``1`` o ``0`` dependiendo de si *ch* es un carácter de dígitos." -#: ../Doc/c-api/unicode.rst:293 +#: ../Doc/c-api/unicode.rst:308 msgid "Return ``1`` or ``0`` depending on whether *ch* is a numeric character." msgstr "Retorna ``1`` o ``0`` dependiendo de si *ch* es un carácter numérico." -#: ../Doc/c-api/unicode.rst:298 +#: ../Doc/c-api/unicode.rst:313 msgid "" "Return ``1`` or ``0`` depending on whether *ch* is an alphabetic character." msgstr "" "Retorna ``1`` o ``0`` dependiendo de si *ch* es un carácter alfabético." -#: ../Doc/c-api/unicode.rst:303 +#: ../Doc/c-api/unicode.rst:318 msgid "" "Return ``1`` or ``0`` depending on whether *ch* is an alphanumeric character." msgstr "" "Retorna ``1`` o ``0`` dependiendo de si *ch* es un carácter alfanumérico." -#: ../Doc/c-api/unicode.rst:308 +#: ../Doc/c-api/unicode.rst:323 msgid "" "Return ``1`` or ``0`` depending on whether *ch* is a printable character. " "Nonprintable characters are those characters defined in the Unicode " @@ -448,29 +472,29 @@ msgstr "" "con el manejo de cadenas de caracteres escritas en :data:`sys.stdout` o :" "data:`sys.stderr`.)" -#: ../Doc/c-api/unicode.rst:317 +#: ../Doc/c-api/unicode.rst:332 msgid "These APIs can be used for fast direct character conversions:" msgstr "" "Estas API se pueden usar para conversiones caracteres rápidas y directos:" -#: ../Doc/c-api/unicode.rst:322 +#: ../Doc/c-api/unicode.rst:337 msgid "Return the character *ch* converted to lower case." msgstr "Retorna el carácter *ch* convertido a minúsculas." -#: ../Doc/c-api/unicode.rst:324 ../Doc/c-api/unicode.rst:332 -#: ../Doc/c-api/unicode.rst:340 +#: ../Doc/c-api/unicode.rst:339 ../Doc/c-api/unicode.rst:347 +#: ../Doc/c-api/unicode.rst:355 msgid "This function uses simple case mappings." msgstr "Esta función utiliza conversiones simples." -#: ../Doc/c-api/unicode.rst:330 +#: ../Doc/c-api/unicode.rst:345 msgid "Return the character *ch* converted to upper case." msgstr "Retorna el carácter *ch* convertido a mayúsculas." -#: ../Doc/c-api/unicode.rst:338 +#: ../Doc/c-api/unicode.rst:353 msgid "Return the character *ch* converted to title case." msgstr "Retorna el carácter *ch* convertido a formato de título (*titlecase*)." -#: ../Doc/c-api/unicode.rst:346 +#: ../Doc/c-api/unicode.rst:361 msgid "" "Return the character *ch* converted to a decimal positive integer. Return " "``-1`` if this is not possible. This macro does not raise exceptions." @@ -478,7 +502,7 @@ msgstr "" "Retorna el carácter *ch* convertido a un entero positivo decimal. Retorna " "``-1`` si esto no es posible. Esta macro no genera excepciones." -#: ../Doc/c-api/unicode.rst:352 +#: ../Doc/c-api/unicode.rst:367 msgid "" "Return the character *ch* converted to a single digit integer. Return ``-1`` " "if this is not possible. This macro does not raise exceptions." @@ -486,7 +510,7 @@ msgstr "" "Retorna el carácter *ch* convertido a un entero de un solo dígito. Retorna " "``-1`` si esto no es posible. Esta macro no genera excepciones." -#: ../Doc/c-api/unicode.rst:358 +#: ../Doc/c-api/unicode.rst:373 msgid "" "Return the character *ch* converted to a double. Return ``-1.0`` if this is " "not possible. This macro does not raise exceptions." @@ -494,23 +518,23 @@ msgstr "" "Retorna el carácter *ch* convertido a doble. retorne ``-1.0`` si esto no es " "posible. Esta macro no genera excepciones." -#: ../Doc/c-api/unicode.rst:362 +#: ../Doc/c-api/unicode.rst:377 msgid "These APIs can be used to work with surrogates:" msgstr "Estas API se pueden usar para trabajar con sustitutos:" -#: ../Doc/c-api/unicode.rst:366 +#: ../Doc/c-api/unicode.rst:381 msgid "Check if *ch* is a surrogate (``0xD800 <= ch <= 0xDFFF``)." msgstr "Comprueba si *ch* es un sustituto (``0xD800 <= ch <= 0xDFFF``)." -#: ../Doc/c-api/unicode.rst:370 +#: ../Doc/c-api/unicode.rst:385 msgid "Check if *ch* is a high surrogate (``0xD800 <= ch <= 0xDBFF``)." msgstr "Comprueba si *ch* es un sustituto alto (``0xD800 <= ch <= 0xDFFF``)." -#: ../Doc/c-api/unicode.rst:374 +#: ../Doc/c-api/unicode.rst:389 msgid "Check if *ch* is a low surrogate (``0xDC00 <= ch <= 0xDFFF``)." msgstr "Comprueba si *ch* es un sustituto bajo (``0xD800 <= ch <= 0xDFFF``)." -#: ../Doc/c-api/unicode.rst:378 +#: ../Doc/c-api/unicode.rst:393 msgid "" "Join two surrogate characters and return a single Py_UCS4 value. *high* and " "*low* are respectively the leading and trailing surrogates in a surrogate " @@ -520,11 +544,11 @@ msgstr "" "*low* son respectivamente los sustitutos iniciales y finales en un par " "sustituto." -#: ../Doc/c-api/unicode.rst:384 +#: ../Doc/c-api/unicode.rst:399 msgid "Creating and accessing Unicode strings" msgstr "Creando y accediendo a cadenas de caracteres Unicode" -#: ../Doc/c-api/unicode.rst:386 +#: ../Doc/c-api/unicode.rst:401 msgid "" "To create Unicode objects and access their basic sequence properties, use " "these APIs:" @@ -532,7 +556,7 @@ msgstr "" "Para crear objetos Unicode y acceder a sus propiedades de secuencia básicas, " "use estas API:" -#: ../Doc/c-api/unicode.rst:391 +#: ../Doc/c-api/unicode.rst:406 msgid "" "Create a new Unicode object. *maxchar* should be the true maximum code " "point to be placed in the string. As an approximation, it can be rounded up " @@ -542,7 +566,7 @@ msgstr "" "que se colocará en la cadena de caracteres. Como una aproximación, se puede " "redondear al valor más cercano en la secuencia 127, 255, 65535, 1114111." -#: ../Doc/c-api/unicode.rst:395 +#: ../Doc/c-api/unicode.rst:410 msgid "" "This is the recommended way to allocate a new Unicode object. Objects " "created using this function are not resizable." @@ -550,7 +574,7 @@ msgstr "" "Esta es la forma recomendada de asignar un nuevo objeto Unicode. Los objetos " "creados con esta función no se pueden redimensionar." -#: ../Doc/c-api/unicode.rst:404 +#: ../Doc/c-api/unicode.rst:419 msgid "" "Create a new Unicode object with the given *kind* (possible values are :c:" "macro:`PyUnicode_1BYTE_KIND` etc., as returned by :c:func:" @@ -562,7 +586,7 @@ msgstr "" "`PyUnicode_KIND`). El *búfer* debe apuntar a un vector (*array*) de *tamaño* " "unidades de 1, 2 o 4 bytes por carácter, según el tipo." -#: ../Doc/c-api/unicode.rst:414 +#: ../Doc/c-api/unicode.rst:429 msgid "" "Create a Unicode object from the char buffer *u*. The bytes will be " "interpreted as being UTF-8 encoded. The buffer is copied into the new " @@ -574,24 +598,26 @@ msgstr "" "objeto. Si el búfer no es ``NULL``, el valor de retorno podría ser un objeto " "compartido, es decir, no se permite la modificación de los datos." -#: ../Doc/c-api/unicode.rst:419 +#: ../Doc/c-api/unicode.rst:434 +#, fuzzy msgid "" "If *u* is ``NULL``, this function behaves like :c:func:" "`PyUnicode_FromUnicode` with the buffer set to ``NULL``. This usage is " -"deprecated in favor of :c:func:`PyUnicode_New`." +"deprecated in favor of :c:func:`PyUnicode_New`, and will be removed in " +"Python 3.12." msgstr "" "Si *u* es ``NULL``, esta función se comporta como :c:func:" "`PyUnicode_FromUnicode` con el búfer establecido en ``NULL``. Este uso se " "considera obsoleto (*deprecated*) en favor de :c:func:`PyUnicode_New`." -#: ../Doc/c-api/unicode.rst:426 +#: ../Doc/c-api/unicode.rst:441 msgid "" "Create a Unicode object from a UTF-8 encoded null-terminated char buffer *u*." msgstr "" "Crea un objeto Unicode a partir de un búfer *u* de caracteres terminado en " "nulo y codificado en UTF-8." -#: ../Doc/c-api/unicode.rst:432 +#: ../Doc/c-api/unicode.rst:447 msgid "" "Take a C :c:func:`printf`\\ -style *format* string and a variable number of " "arguments, calculate the size of the resulting Python Unicode string and " @@ -607,214 +633,214 @@ msgstr "" "caracteres *format* codificada en ASCII. Se permiten los siguientes " "caracteres de formato:" -#: ../Doc/c-api/unicode.rst:447 +#: ../Doc/c-api/unicode.rst:462 msgid "Format Characters" msgstr "Formatear caracteres" -#: ../Doc/c-api/unicode.rst:447 +#: ../Doc/c-api/unicode.rst:462 msgid "Type" msgstr "Tipo" -#: ../Doc/c-api/unicode.rst:447 +#: ../Doc/c-api/unicode.rst:462 msgid "Comment" msgstr "Comentario" -#: ../Doc/c-api/unicode.rst:449 +#: ../Doc/c-api/unicode.rst:464 #, python-format msgid ":attr:`%%`" msgstr ":attr:`%%`" -#: ../Doc/c-api/unicode.rst:449 +#: ../Doc/c-api/unicode.rst:464 msgid "*n/a*" msgstr "*n/a*" -#: ../Doc/c-api/unicode.rst:449 +#: ../Doc/c-api/unicode.rst:464 #, python-format msgid "The literal % character." msgstr "El carácter literal %." -#: ../Doc/c-api/unicode.rst:451 +#: ../Doc/c-api/unicode.rst:466 #, python-format msgid ":attr:`%c`" msgstr ":attr:`%c`" -#: ../Doc/c-api/unicode.rst:451 ../Doc/c-api/unicode.rst:454 -#: ../Doc/c-api/unicode.rst:487 ../Doc/c-api/unicode.rst:490 +#: ../Doc/c-api/unicode.rst:466 ../Doc/c-api/unicode.rst:469 +#: ../Doc/c-api/unicode.rst:502 ../Doc/c-api/unicode.rst:505 msgid "int" msgstr "int" -#: ../Doc/c-api/unicode.rst:451 +#: ../Doc/c-api/unicode.rst:466 msgid "A single character, represented as a C int." msgstr "Un solo carácter, representado como un entero (*int*) de C." -#: ../Doc/c-api/unicode.rst:454 +#: ../Doc/c-api/unicode.rst:469 #, python-format msgid ":attr:`%d`" msgstr ":attr:`%d`" -#: ../Doc/c-api/unicode.rst:454 +#: ../Doc/c-api/unicode.rst:469 #, python-format msgid "Equivalent to ``printf(\"%d\")``. [1]_" msgstr "Equivalente a ``printf(\"%d\")``. [1]_" -#: ../Doc/c-api/unicode.rst:457 +#: ../Doc/c-api/unicode.rst:472 #, python-format msgid ":attr:`%u`" msgstr ":attr:`%u`" -#: ../Doc/c-api/unicode.rst:457 +#: ../Doc/c-api/unicode.rst:472 msgid "unsigned int" msgstr "unsigned int" -#: ../Doc/c-api/unicode.rst:457 +#: ../Doc/c-api/unicode.rst:472 #, python-format msgid "Equivalent to ``printf(\"%u\")``. [1]_" msgstr "Equivalente a ``printf(\"%u\")``. [1]_" -#: ../Doc/c-api/unicode.rst:460 +#: ../Doc/c-api/unicode.rst:475 #, python-format msgid ":attr:`%ld`" msgstr ":attr:`%ld`" -#: ../Doc/c-api/unicode.rst:460 ../Doc/c-api/unicode.rst:463 +#: ../Doc/c-api/unicode.rst:475 ../Doc/c-api/unicode.rst:478 msgid "long" msgstr "long" -#: ../Doc/c-api/unicode.rst:460 +#: ../Doc/c-api/unicode.rst:475 #, python-format msgid "Equivalent to ``printf(\"%ld\")``. [1]_" msgstr "Equivalente a ``printf(\"%ld\")``. [1]_" -#: ../Doc/c-api/unicode.rst:463 +#: ../Doc/c-api/unicode.rst:478 #, python-format msgid ":attr:`%li`" msgstr ":attr:`%li`" -#: ../Doc/c-api/unicode.rst:463 +#: ../Doc/c-api/unicode.rst:478 #, python-format msgid "Equivalent to ``printf(\"%li\")``. [1]_" msgstr "Equivalente a ``printf(\"%li\")``. [1]_" -#: ../Doc/c-api/unicode.rst:466 +#: ../Doc/c-api/unicode.rst:481 #, python-format msgid ":attr:`%lu`" msgstr ":attr:`%lu`" -#: ../Doc/c-api/unicode.rst:466 +#: ../Doc/c-api/unicode.rst:481 msgid "unsigned long" msgstr "unsigned long" -#: ../Doc/c-api/unicode.rst:466 +#: ../Doc/c-api/unicode.rst:481 #, python-format msgid "Equivalent to ``printf(\"%lu\")``. [1]_" msgstr "Equivalente a ``printf(\"%lu\")``. [1]_" -#: ../Doc/c-api/unicode.rst:469 +#: ../Doc/c-api/unicode.rst:484 msgid ":attr:`%lld`" msgstr ":attr:`%lld`" -#: ../Doc/c-api/unicode.rst:469 ../Doc/c-api/unicode.rst:472 +#: ../Doc/c-api/unicode.rst:484 ../Doc/c-api/unicode.rst:487 msgid "long long" msgstr "long long" -#: ../Doc/c-api/unicode.rst:469 +#: ../Doc/c-api/unicode.rst:484 msgid "Equivalent to ``printf(\"%lld\")``. [1]_" msgstr "Equivalente a ``printf(\"%lld\")``. [1]_" -#: ../Doc/c-api/unicode.rst:472 +#: ../Doc/c-api/unicode.rst:487 msgid ":attr:`%lli`" msgstr ":attr:`%lli`" -#: ../Doc/c-api/unicode.rst:472 +#: ../Doc/c-api/unicode.rst:487 msgid "Equivalent to ``printf(\"%lli\")``. [1]_" msgstr "Equivalente a ``printf(\"%lli\")``. [1]_" -#: ../Doc/c-api/unicode.rst:475 +#: ../Doc/c-api/unicode.rst:490 msgid ":attr:`%llu`" msgstr ":attr:`%llu`" -#: ../Doc/c-api/unicode.rst:475 +#: ../Doc/c-api/unicode.rst:490 msgid "unsigned long long" msgstr "unsigned long long" -#: ../Doc/c-api/unicode.rst:475 +#: ../Doc/c-api/unicode.rst:490 msgid "Equivalent to ``printf(\"%llu\")``. [1]_" msgstr "Equivalente a ``printf(\"%llu\")``. [1]_" -#: ../Doc/c-api/unicode.rst:478 +#: ../Doc/c-api/unicode.rst:493 msgid ":attr:`%zd`" msgstr ":attr:`%zd`" -#: ../Doc/c-api/unicode.rst:478 ../Doc/c-api/unicode.rst:481 +#: ../Doc/c-api/unicode.rst:493 ../Doc/c-api/unicode.rst:496 msgid "Py_ssize_t" msgstr "Py_ssize_t" -#: ../Doc/c-api/unicode.rst:478 +#: ../Doc/c-api/unicode.rst:493 msgid "Equivalent to ``printf(\"%zd\")``. [1]_" msgstr "Equivalente a ``printf(\"%zd\")``. [1]_" -#: ../Doc/c-api/unicode.rst:481 +#: ../Doc/c-api/unicode.rst:496 msgid ":attr:`%zi`" msgstr ":attr:`%zi`" -#: ../Doc/c-api/unicode.rst:481 +#: ../Doc/c-api/unicode.rst:496 msgid "Equivalent to ``printf(\"%zi\")``. [1]_" msgstr "Equivalente a ``printf(\"%zi\")``. [1]_" -#: ../Doc/c-api/unicode.rst:484 +#: ../Doc/c-api/unicode.rst:499 msgid ":attr:`%zu`" msgstr ":attr:`%zu`" -#: ../Doc/c-api/unicode.rst:484 +#: ../Doc/c-api/unicode.rst:499 msgid "size_t" msgstr "size_t" -#: ../Doc/c-api/unicode.rst:484 +#: ../Doc/c-api/unicode.rst:499 msgid "Equivalent to ``printf(\"%zu\")``. [1]_" msgstr "Equivalente a ``printf(\"%zu\")``. [1]_" -#: ../Doc/c-api/unicode.rst:487 +#: ../Doc/c-api/unicode.rst:502 #, python-format msgid ":attr:`%i`" msgstr ":attr:`%i`" -#: ../Doc/c-api/unicode.rst:487 +#: ../Doc/c-api/unicode.rst:502 #, python-format msgid "Equivalent to ``printf(\"%i\")``. [1]_" msgstr "Equivalente a ``printf(\"%i\")``. [1]_" -#: ../Doc/c-api/unicode.rst:490 +#: ../Doc/c-api/unicode.rst:505 #, python-format msgid ":attr:`%x`" msgstr ":attr:`%x`" -#: ../Doc/c-api/unicode.rst:490 +#: ../Doc/c-api/unicode.rst:505 #, python-format msgid "Equivalent to ``printf(\"%x\")``. [1]_" msgstr "Equivalente a ``printf(\"%x\")``. [1]_" -#: ../Doc/c-api/unicode.rst:493 +#: ../Doc/c-api/unicode.rst:508 #, python-format msgid ":attr:`%s`" msgstr ":attr:`%s`" -#: ../Doc/c-api/unicode.rst:493 +#: ../Doc/c-api/unicode.rst:508 msgid "const char\\*" msgstr "const char\\*" -#: ../Doc/c-api/unicode.rst:493 +#: ../Doc/c-api/unicode.rst:508 msgid "A null-terminated C character array." msgstr "Un arreglo de caracteres de C terminada en nulo." -#: ../Doc/c-api/unicode.rst:496 +#: ../Doc/c-api/unicode.rst:511 msgid ":attr:`%p`" msgstr ":attr:`%p`" -#: ../Doc/c-api/unicode.rst:496 +#: ../Doc/c-api/unicode.rst:511 msgid "const void\\*" msgstr "const void\\*" -#: ../Doc/c-api/unicode.rst:496 +#: ../Doc/c-api/unicode.rst:511 msgid "" "The hex representation of a C pointer. Mostly equivalent to ``printf(\"%p" "\")`` except that it is guaranteed to start with the literal ``0x`` " @@ -824,36 +850,36 @@ msgstr "" "a ``printf(\"%p\")`` excepto que se garantiza que comience con el literal " "``0x``, independiente de lo que produzca el ``printf`` de la plataforma." -#: ../Doc/c-api/unicode.rst:504 +#: ../Doc/c-api/unicode.rst:519 msgid ":attr:`%A`" msgstr ":attr:`%A`" -#: ../Doc/c-api/unicode.rst:504 ../Doc/c-api/unicode.rst:507 -#: ../Doc/c-api/unicode.rst:516 ../Doc/c-api/unicode.rst:519 +#: ../Doc/c-api/unicode.rst:519 ../Doc/c-api/unicode.rst:522 +#: ../Doc/c-api/unicode.rst:531 ../Doc/c-api/unicode.rst:534 msgid "PyObject\\*" msgstr "PyObject\\*" -#: ../Doc/c-api/unicode.rst:504 +#: ../Doc/c-api/unicode.rst:519 msgid "The result of calling :func:`ascii`." msgstr "El resultado de llamar :func:`ascii`." -#: ../Doc/c-api/unicode.rst:507 +#: ../Doc/c-api/unicode.rst:522 msgid ":attr:`%U`" msgstr ":attr:`%U`" -#: ../Doc/c-api/unicode.rst:507 +#: ../Doc/c-api/unicode.rst:522 msgid "A Unicode object." msgstr "Un objeto Unicode." -#: ../Doc/c-api/unicode.rst:509 +#: ../Doc/c-api/unicode.rst:524 msgid ":attr:`%V`" msgstr ":attr:`%V`" -#: ../Doc/c-api/unicode.rst:509 +#: ../Doc/c-api/unicode.rst:524 msgid "PyObject\\*, const char\\*" msgstr "PyObject\\*, const char\\*" -#: ../Doc/c-api/unicode.rst:509 +#: ../Doc/c-api/unicode.rst:524 msgid "" "A Unicode object (which may be ``NULL``) and a null-terminated C character " "array as a second parameter (which will be used, if the first parameter is " @@ -863,23 +889,23 @@ msgstr "" "terminada en nulo como segundo parámetro (que se utilizará, si el primer " "parámetro es ``NULL``)." -#: ../Doc/c-api/unicode.rst:516 +#: ../Doc/c-api/unicode.rst:531 msgid ":attr:`%S`" msgstr ":attr:`%S`" -#: ../Doc/c-api/unicode.rst:516 +#: ../Doc/c-api/unicode.rst:531 msgid "The result of calling :c:func:`PyObject_Str`." msgstr "El resultado de llamar :c:func:`PyObject_Str`." -#: ../Doc/c-api/unicode.rst:519 +#: ../Doc/c-api/unicode.rst:534 msgid ":attr:`%R`" msgstr ":attr:`%R`" -#: ../Doc/c-api/unicode.rst:519 +#: ../Doc/c-api/unicode.rst:534 msgid "The result of calling :c:func:`PyObject_Repr`." msgstr "El resultado de llamar :c:func:`PyObject_Repr`." -#: ../Doc/c-api/unicode.rst:523 +#: ../Doc/c-api/unicode.rst:538 msgid "" "An unrecognized format character causes all the rest of the format string to " "be copied as-is to the result string, and any extra arguments discarded." @@ -888,7 +914,7 @@ msgstr "" "formato se copie tal cual a la cadena de resultado y se descartan los " "argumentos adicionales." -#: ../Doc/c-api/unicode.rst:527 +#: ../Doc/c-api/unicode.rst:542 #, python-format msgid "" "The width formatter unit is number of characters rather than bytes. The " @@ -903,7 +929,7 @@ msgstr "" "cantidad de caracteres para ``\"%A\"``, ``\"%U\"``, ``\"%S\"``, ``\"%R\"`` y " "``\"%V\"`` (si el argumento ``PyObject*`` no es ``NULL``)." -#: ../Doc/c-api/unicode.rst:533 +#: ../Doc/c-api/unicode.rst:548 msgid "" "For integer specifiers (d, u, ld, li, lu, lld, lli, llu, zd, zi, zu, i, x): " "the 0-conversion flag has effect even when a precision is given." @@ -912,16 +938,16 @@ msgstr "" "zu, i, x)*: el indicador de conversión 0 tiene efecto incluso cuando se " "proporciona una precisión." -#: ../Doc/c-api/unicode.rst:536 +#: ../Doc/c-api/unicode.rst:551 msgid "Support for ``\"%lld\"`` and ``\"%llu\"`` added." msgstr "Soporte agregado para ``\"%lld\"`` y ``\"%llu\"``." -#: ../Doc/c-api/unicode.rst:539 +#: ../Doc/c-api/unicode.rst:554 #, python-format msgid "Support for ``\"%li\"``, ``\"%lli\"`` and ``\"%zi\"`` added." msgstr "Soporte agregado para ``\"%li\"``, ``\"%lli\"`` y ``\"%zi\"``." -#: ../Doc/c-api/unicode.rst:542 +#: ../Doc/c-api/unicode.rst:557 #, python-format msgid "" "Support width and precision formatter for ``\"%s\"``, ``\"%A\"``, ``\"%U" @@ -930,7 +956,7 @@ msgstr "" "Soporte agregado para formateadores de anchura y precisión para ``\"%s\"``, " "``\"%A\"``, ``\"%U\"``, ``\"%V\"``, ``\"%S\"``, ``\"%R\"``." -#: ../Doc/c-api/unicode.rst:549 +#: ../Doc/c-api/unicode.rst:564 msgid "" "Identical to :c:func:`PyUnicode_FromFormat` except that it takes exactly two " "arguments." @@ -938,11 +964,11 @@ msgstr "" "Idéntico a :c:func:`PyUnicode_FromFormat` excepto que toma exactamente dos " "argumentos." -#: ../Doc/c-api/unicode.rst:556 +#: ../Doc/c-api/unicode.rst:571 msgid "Decode an encoded object *obj* to a Unicode object." msgstr "Decodifica un objeto codificado *obj* en un objeto Unicode." -#: ../Doc/c-api/unicode.rst:558 +#: ../Doc/c-api/unicode.rst:573 msgid "" ":class:`bytes`, :class:`bytearray` and other :term:`bytes-like objects " "` are decoded according to the given *encoding* and using " @@ -955,7 +981,7 @@ msgstr "" "``NULL`` para que la interfaz use los valores predeterminados (ver :ref:" "`builtincodecs` para más detalles)." -#: ../Doc/c-api/unicode.rst:564 +#: ../Doc/c-api/unicode.rst:579 msgid "" "All other objects, including Unicode objects, cause a :exc:`TypeError` to be " "set." @@ -963,7 +989,7 @@ msgstr "" "Todos los demás objetos, incluidos los objetos Unicode, hacen que se " "establezca un :exc:`TypeError`." -#: ../Doc/c-api/unicode.rst:567 +#: ../Doc/c-api/unicode.rst:582 msgid "" "The API returns ``NULL`` if there was an error. The caller is responsible " "for decref'ing the returned objects." @@ -971,11 +997,11 @@ msgstr "" "La API retorna ``NULL`` si hubo un error. La entidad que hace la llamadas es " "la responsable de desreferenciar los objetos retornados." -#: ../Doc/c-api/unicode.rst:573 +#: ../Doc/c-api/unicode.rst:588 msgid "Return the length of the Unicode object, in code points." msgstr "Retorna la longitud del objeto Unicode, en puntos de código." -#: ../Doc/c-api/unicode.rst:584 +#: ../Doc/c-api/unicode.rst:599 msgid "" "Copy characters from one Unicode object into another. This function " "performs character conversion when necessary and falls back to :c:func:" @@ -987,7 +1013,7 @@ msgstr "" "es posible. Retorna ``-1`` y establece una excepción en caso de error; de lo " "contrario, retorna el número de caracteres copiados." -#: ../Doc/c-api/unicode.rst:595 +#: ../Doc/c-api/unicode.rst:610 msgid "" "Fill a string with a character: write *fill_char* into ``unicode[start:start" "+length]``." @@ -995,7 +1021,7 @@ msgstr "" "Rellena una cadena con un carácter: escriba *fill_char* en ``unicode[inicio:" "inicio+longitud]``." -#: ../Doc/c-api/unicode.rst:598 +#: ../Doc/c-api/unicode.rst:613 msgid "" "Fail if *fill_char* is bigger than the string maximum character, or if the " "string has more than 1 reference." @@ -1003,7 +1029,7 @@ msgstr "" "Falla si *fill_char* es más grande que el carácter máximo de la cadena, o si " "la cadena tiene más de 1 referencia." -#: ../Doc/c-api/unicode.rst:601 +#: ../Doc/c-api/unicode.rst:616 msgid "" "Return the number of written character, or return ``-1`` and raise an " "exception on error." @@ -1011,7 +1037,7 @@ msgstr "" "Retorna el número de caracteres escritos o retorna ``-1`` y genera una " "excepción en caso de error." -#: ../Doc/c-api/unicode.rst:610 +#: ../Doc/c-api/unicode.rst:625 msgid "" "Write a character to a string. The string must have been created through :c:" "func:`PyUnicode_New`. Since Unicode strings are supposed to be immutable, " @@ -1022,7 +1048,7 @@ msgstr "" "cadenas de caracteres Unicode son inmutables, la cadena no debe compartirse " "o no se ha cifrado todavía." -#: ../Doc/c-api/unicode.rst:614 +#: ../Doc/c-api/unicode.rst:629 msgid "" "This function checks that *unicode* is a Unicode object, that the index is " "not out of bounds, and that the object can be modified safely (i.e. that it " @@ -1032,7 +1058,7 @@ msgstr "" "está fuera de los límites y que el objeto se puede modificar de forma segura " "(es decir, si su número de referencia es uno)." -#: ../Doc/c-api/unicode.rst:623 +#: ../Doc/c-api/unicode.rst:638 msgid "" "Read a character from a string. This function checks that *unicode* is a " "Unicode object and the index is not out of bounds, in contrast to the macro " @@ -1042,7 +1068,7 @@ msgstr "" "*unicode* es un objeto Unicode y que el índice no está fuera de límites, en " "contraste con la versión de macro :c:func:`PyUnicode_READ_CHAR`." -#: ../Doc/c-api/unicode.rst:633 +#: ../Doc/c-api/unicode.rst:648 msgid "" "Return a substring of *str*, from character index *start* (included) to " "character index *end* (excluded). Negative indices are not supported." @@ -1051,7 +1077,7 @@ msgstr "" "*start* (incluido) al índice de caracteres *end* (excluido). Los índices " "negativos no son compatibles." -#: ../Doc/c-api/unicode.rst:642 +#: ../Doc/c-api/unicode.rst:657 msgid "" "Copy the string *u* into a UCS4 buffer, including a null character, if " "*copy_null* is set. Returns ``NULL`` and sets an exception on error (in " @@ -1063,7 +1089,7 @@ msgstr "" "excepción en caso de error (en particular, a :exc:`SystemError` si *buflen* " "es menor que la longitud de *u*). *buffer* se retorna en caso de éxito." -#: ../Doc/c-api/unicode.rst:652 +#: ../Doc/c-api/unicode.rst:667 msgid "" "Copy the string *u* into a new UCS4 buffer that is allocated using :c:func:" "`PyMem_Malloc`. If this fails, ``NULL`` is returned with a :exc:" @@ -1075,11 +1101,11 @@ msgstr "" "exc:`MemoryError` establecido. El búfer retornado siempre tiene un punto de " "código nulo adicional agregado." -#: ../Doc/c-api/unicode.rst:661 +#: ../Doc/c-api/unicode.rst:676 msgid "Deprecated Py_UNICODE APIs" msgstr "APIs de Py_UNICODE deprecadas" -#: ../Doc/c-api/unicode.rst:665 +#: ../Doc/c-api/unicode.rst:680 msgid "" "These API functions are deprecated with the implementation of :pep:`393`. " "Extension modules can continue using them, as they will not be removed in " @@ -1091,7 +1117,7 @@ msgstr "" "Python 3.x, pero deben ser conscientes de que su uso ahora puede causar " "problemas de rendimiento y memoria." -#: ../Doc/c-api/unicode.rst:672 +#: ../Doc/c-api/unicode.rst:687 msgid "" "Create a Unicode object from the Py_UNICODE buffer *u* of the given size. " "*u* may be ``NULL`` which causes the contents to be undefined. It is the " @@ -1103,7 +1129,7 @@ msgstr "" "responsabilidad del usuario completar los datos necesarios. El búfer se " "copia en el nuevo objeto." -#: ../Doc/c-api/unicode.rst:677 +#: ../Doc/c-api/unicode.rst:692 msgid "" "If the buffer is not ``NULL``, the return value might be a shared object. " "Therefore, modification of the resulting Unicode object is only allowed when " @@ -1113,7 +1139,7 @@ msgstr "" "compartido. Por lo tanto, la modificación del objeto Unicode resultante solo " "se permite cuando *u* es ``NULL``." -#: ../Doc/c-api/unicode.rst:681 +#: ../Doc/c-api/unicode.rst:696 msgid "" "If the buffer is ``NULL``, :c:func:`PyUnicode_READY` must be called once the " "string content has been filled before using any of the access macros such " @@ -1123,15 +1149,17 @@ msgstr "" "que se haya llenado el contenido de la cadena de caracteres antes de usar " "cualquiera de las macros de acceso, como :c:func:`PyUnicode_KIND`." -#: ../Doc/c-api/unicode.rst:685 +#: ../Doc/c-api/unicode.rst:703 +#, fuzzy msgid "" -"Please migrate to using :c:func:`PyUnicode_FromKindAndData`, :c:func:" -"`PyUnicode_FromWideChar` or :c:func:`PyUnicode_New`." +"Part of the old-style Unicode API, please migrate to using :c:func:" +"`PyUnicode_FromKindAndData`, :c:func:`PyUnicode_FromWideChar`, or :c:func:" +"`PyUnicode_New`." msgstr "" "Por favor migrar para usar :c:func:`PyUnicode_FromKindAndData`, :c:func:" "`PyUnicode_FromWideChar` o :c:func:`PyUnicode_New`." -#: ../Doc/c-api/unicode.rst:691 +#: ../Doc/c-api/unicode.rst:708 msgid "" "Return a read-only pointer to the Unicode object's internal :c:type:" "`Py_UNICODE` buffer, or ``NULL`` on error. This will create the :c:type:" @@ -1149,15 +1177,17 @@ msgstr "" "de código nulo incrustados, lo que provocaría que la cadena se truncara " "cuando se usara en la mayoría de las funciones de C." -#: ../Doc/c-api/unicode.rst:699 +#: ../Doc/c-api/unicode.rst:720 ../Doc/c-api/unicode.rst:748 +#, fuzzy msgid "" -"Please migrate to using :c:func:`PyUnicode_AsUCS4`, :c:func:" -"`PyUnicode_AsWideChar`, :c:func:`PyUnicode_ReadChar` or similar new APIs." +"Part of the old-style Unicode API, please migrate to using :c:func:" +"`PyUnicode_AsUCS4`, :c:func:`PyUnicode_AsWideChar`, :c:func:" +"`PyUnicode_ReadChar` or similar new APIs." msgstr "" "Por favor migrar para usar :c:func:`PyUnicode_AsUCS4`, :c:func:" "`PyUnicode_AsWideChar`, :c:func:`PyUnicode_ReadChar` o API nuevas similares." -#: ../Doc/c-api/unicode.rst:706 +#: ../Doc/c-api/unicode.rst:726 msgid "" "Create a Unicode object by replacing all decimal digits in :c:type:" "`Py_UNICODE` buffer of the given *size* by ASCII digits 0--9 according to " @@ -1167,7 +1197,16 @@ msgstr "" "c:type:`Py_UNICODE` del *size* dado por dígitos ASCII 0--9 de acuerdo con su " "valor decimal. Retorna ``NULL`` si ocurre una excepción." -#: ../Doc/c-api/unicode.rst:713 +#: ../Doc/c-api/unicode.rst:732 +#, fuzzy +msgid "" +"Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using :c:" +"func:`Py_UNICODE_TODECIMAL`." +msgstr "" +"Parte del viejo estilo de la API :c:type:`Py_UNICODE`; por favor migrar para " +"usar :c:func:`PyUnicode_AsEncodedString`." + +#: ../Doc/c-api/unicode.rst:737 msgid "" "Like :c:func:`PyUnicode_AsUnicode`, but also saves the :c:func:`Py_UNICODE` " "array length (excluding the extra null terminator) in *size*. Note that the " @@ -1182,7 +1221,7 @@ msgstr "" "provocaría que la cadena se truncara cuando se usara en la mayoría de las " "funciones de C." -#: ../Doc/c-api/unicode.rst:724 +#: ../Doc/c-api/unicode.rst:753 msgid "" "Create a copy of a Unicode string ending with a null code point. Return " "``NULL`` and raise a :exc:`MemoryError` exception on memory allocation " @@ -1199,14 +1238,14 @@ msgstr "" "contener puntos de código nulo incrustados, lo que provocaría que la cadena " "se truncara cuando se usara en la mayoría de las funciones de C." -#: ../Doc/c-api/unicode.rst:733 +#: ../Doc/c-api/unicode.rst:762 msgid "" "Please migrate to using :c:func:`PyUnicode_AsUCS4Copy` or similar new APIs." msgstr "" "Por favor migrar para usar :c:func:`PyUnicode_AsUCS4Copy` o API nuevas " "similares." -#: ../Doc/c-api/unicode.rst:738 +#: ../Doc/c-api/unicode.rst:767 msgid "" "Return the size of the deprecated :c:type:`Py_UNICODE` representation, in " "code units (this includes surrogate pairs as 2 units)." @@ -1214,11 +1253,7 @@ msgstr "" "Retorna el tamaño de la representación en desuso :c:type:`Py_UNICODE`, en " "unidades de código (esto incluye pares sustitutos como 2 unidades)." -#: ../Doc/c-api/unicode.rst:741 -msgid "Please migrate to using :c:func:`PyUnicode_GetLength`." -msgstr "Por favor migrar para usar :c:func:`PyUnicode_GetLength`." - -#: ../Doc/c-api/unicode.rst:746 +#: ../Doc/c-api/unicode.rst:777 msgid "" "Copy an instance of a Unicode subtype to a new true Unicode object if " "necessary. If *obj* is already a true Unicode object (not a subtype), return " @@ -1228,17 +1263,17 @@ msgstr "" "verdadero si es necesario. Si *obj* ya es un verdadero objeto Unicode (no un " "subtipo), retorna la referencia con un recuento incrementado." -#: ../Doc/c-api/unicode.rst:750 +#: ../Doc/c-api/unicode.rst:781 msgid "" "Objects other than Unicode or its subtypes will cause a :exc:`TypeError`." msgstr "" "Los objetos que no sean Unicode o sus subtipos causarán un :exc:`TypeError`." -#: ../Doc/c-api/unicode.rst:754 +#: ../Doc/c-api/unicode.rst:785 msgid "Locale Encoding" msgstr "Codificación regional" -#: ../Doc/c-api/unicode.rst:756 +#: ../Doc/c-api/unicode.rst:787 msgid "" "The current locale encoding can be used to decode text from the operating " "system." @@ -1246,7 +1281,7 @@ msgstr "" "La codificación local actual se puede utilizar para decodificar texto del " "sistema operativo." -#: ../Doc/c-api/unicode.rst:763 +#: ../Doc/c-api/unicode.rst:794 msgid "" "Decode a string from UTF-8 on Android and VxWorks, or from the current " "locale encoding on other platforms. The supported error handlers are ``" @@ -1261,7 +1296,7 @@ msgstr "" "\"estricto\"`` si *errors* es``NULL``. *str* debe terminar con un carácter " "nulo pero no puede contener caracteres nulos incrustados." -#: ../Doc/c-api/unicode.rst:770 +#: ../Doc/c-api/unicode.rst:801 msgid "" "Use :c:func:`PyUnicode_DecodeFSDefaultAndSize` to decode a string from :c:" "data:`Py_FileSystemDefaultEncoding` (the locale encoding read at Python " @@ -1271,15 +1306,15 @@ msgstr "" "cadena de :c:data:`Py_FileSystemDefaultEncoding` (la codificación de la " "configuración regional leída al iniciar Python)." -#: ../Doc/c-api/unicode.rst:774 ../Doc/c-api/unicode.rst:810 +#: ../Doc/c-api/unicode.rst:805 ../Doc/c-api/unicode.rst:841 msgid "This function ignores the Python UTF-8 mode." msgstr "Esta función ignora el modo Python UTF-8." -#: ../Doc/c-api/unicode.rst:778 ../Doc/c-api/unicode.rst:882 +#: ../Doc/c-api/unicode.rst:809 ../Doc/c-api/unicode.rst:913 msgid "The :c:func:`Py_DecodeLocale` function." msgstr "La función :c:func:`Py_DecodeLocale`." -#: ../Doc/c-api/unicode.rst:782 +#: ../Doc/c-api/unicode.rst:813 msgid "" "The function now also uses the current locale encoding for the " "``surrogateescape`` error handler, except on Android. Previously, :c:func:" @@ -1292,7 +1327,7 @@ msgstr "" "``subrogateescape``, y la codificación local actual se usaba para " "``estricto``." -#: ../Doc/c-api/unicode.rst:791 +#: ../Doc/c-api/unicode.rst:822 msgid "" "Similar to :c:func:`PyUnicode_DecodeLocaleAndSize`, but compute the string " "length using :c:func:`strlen`." @@ -1300,7 +1335,7 @@ msgstr "" "Similar a :c:func:`PyUnicode_DecodeLocaleAndSize`, pero calcula la longitud " "de la cadena de caracteres usando :c:func:`strlen`." -#: ../Doc/c-api/unicode.rst:799 +#: ../Doc/c-api/unicode.rst:830 msgid "" "Encode a Unicode object to UTF-8 on Android and VxWorks, or to the current " "locale encoding on other platforms. The supported error handlers are ``" @@ -1315,7 +1350,7 @@ msgstr "" "Retorna un objeto :class:`bytes`. *unicode* no puede contener caracteres " "nulos incrustados." -#: ../Doc/c-api/unicode.rst:806 +#: ../Doc/c-api/unicode.rst:837 msgid "" "Use :c:func:`PyUnicode_EncodeFSDefault` to encode a string to :c:data:" "`Py_FileSystemDefaultEncoding` (the locale encoding read at Python startup)." @@ -1324,11 +1359,11 @@ msgstr "" "caracteres en :c:data:`Py_FileSystemDefaultEncoding` (la codificación de la " "configuración regional leída al iniciar Python)." -#: ../Doc/c-api/unicode.rst:814 ../Doc/c-api/unicode.rst:918 +#: ../Doc/c-api/unicode.rst:845 ../Doc/c-api/unicode.rst:949 msgid "The :c:func:`Py_EncodeLocale` function." msgstr "La función :c:func:`Py_EncodeLocale`." -#: ../Doc/c-api/unicode.rst:818 +#: ../Doc/c-api/unicode.rst:849 msgid "" "The function now also uses the current locale encoding for the " "``surrogateescape`` error handler, except on Android. Previously, :c:func:" @@ -1341,11 +1376,11 @@ msgstr "" "``subrogateescape``, y la codificación local actual se usaba para " "``estricto``." -#: ../Doc/c-api/unicode.rst:827 +#: ../Doc/c-api/unicode.rst:858 msgid "File System Encoding" msgstr "Codificación del sistema de archivos" -#: ../Doc/c-api/unicode.rst:829 +#: ../Doc/c-api/unicode.rst:860 msgid "" "To encode and decode file names and other environment strings, :c:data:" "`Py_FileSystemDefaultEncoding` should be used as the encoding, and :c:data:" @@ -1362,7 +1397,7 @@ msgstr "" "debe usar el convertidor ``\"O&\"``, pasando :c:func:`PyUnicode_FSConverter` " "como la función de conversión:" -#: ../Doc/c-api/unicode.rst:838 +#: ../Doc/c-api/unicode.rst:869 msgid "" "ParseTuple converter: encode :class:`str` objects -- obtained directly or " "through the :class:`os.PathLike` interface -- to :class:`bytes` using :c:" @@ -1376,11 +1411,11 @@ msgstr "" "emiten tal cual. *result* debe ser un :c:type:`PyBytesObject*` que debe " "liberarse cuando ya no se use." -#: ../Doc/c-api/unicode.rst:846 ../Doc/c-api/unicode.rst:863 +#: ../Doc/c-api/unicode.rst:877 ../Doc/c-api/unicode.rst:894 msgid "Accepts a :term:`path-like object`." msgstr "Acepta un objeto similar a una ruta (:term:`path-like object`)." -#: ../Doc/c-api/unicode.rst:849 +#: ../Doc/c-api/unicode.rst:880 msgid "" "To decode file names to :class:`str` during argument parsing, the ``\"O&\"`` " "converter should be used, passing :c:func:`PyUnicode_FSDecoder` as the " @@ -1390,7 +1425,7 @@ msgstr "" "argumentos, se debe usar el convertidor ``\"O&\"``, pasando :c:func:" "`PyUnicode_FSDecoder` como la función de conversión:" -#: ../Doc/c-api/unicode.rst:855 +#: ../Doc/c-api/unicode.rst:886 msgid "" "ParseTuple converter: decode :class:`bytes` objects -- obtained either " "directly or indirectly through the :class:`os.PathLike` interface -- to :" @@ -1404,7 +1439,7 @@ msgstr "" "class:`str` se generan tal cual. *result* debe ser :c:type:" "`PyUnicodeObject*` que debe liberarse cuando ya no se use." -#: ../Doc/c-api/unicode.rst:869 +#: ../Doc/c-api/unicode.rst:900 msgid "" "Decode a string using :c:data:`Py_FileSystemDefaultEncoding` and the :c:data:" "`Py_FileSystemDefaultEncodeErrors` error handler." @@ -1412,8 +1447,8 @@ msgstr "" "Decodifica una cadena usando :c:data:`Py_FileSystemDefaultEncoding` y el " "controlador de errores :c:data:`Py_FileSystemDefaultEncodeErrors`." -#: ../Doc/c-api/unicode.rst:872 ../Doc/c-api/unicode.rst:893 -#: ../Doc/c-api/unicode.rst:909 +#: ../Doc/c-api/unicode.rst:903 ../Doc/c-api/unicode.rst:924 +#: ../Doc/c-api/unicode.rst:940 msgid "" "If :c:data:`Py_FileSystemDefaultEncoding` is not set, fall back to the " "locale encoding." @@ -1421,7 +1456,7 @@ msgstr "" "Si :c:data:`Py_FileSystemDefaultEncoding` no está configurado, recurre a la " "codificación de configuración regional." -#: ../Doc/c-api/unicode.rst:875 +#: ../Doc/c-api/unicode.rst:906 msgid "" ":c:data:`Py_FileSystemDefaultEncoding` is initialized at startup from the " "locale encoding and cannot be modified later. If you need to decode a string " @@ -1433,13 +1468,13 @@ msgstr "" "decodificar una cadena de caracteres de la codificación local actual, " "utilice :c:func:`PyUnicode_DecodeLocaleAndSize`." -#: ../Doc/c-api/unicode.rst:884 ../Doc/c-api/unicode.rst:898 -#: ../Doc/c-api/unicode.rst:922 +#: ../Doc/c-api/unicode.rst:915 ../Doc/c-api/unicode.rst:929 +#: ../Doc/c-api/unicode.rst:953 msgid "Use :c:data:`Py_FileSystemDefaultEncodeErrors` error handler." msgstr "" "Utilice el controlador de errores :c:data:`Py_FileSystemDefaultEncodeErrors`." -#: ../Doc/c-api/unicode.rst:890 +#: ../Doc/c-api/unicode.rst:921 msgid "" "Decode a null-terminated string using :c:data:`Py_FileSystemDefaultEncoding` " "and the :c:data:`Py_FileSystemDefaultEncodeErrors` error handler." @@ -1448,14 +1483,14 @@ msgstr "" "`Py_FileSystemDefaultEncoding` y el :c:data:" "`Py_FileSystemDefaultEncodeErrors` controlador de errores." -#: ../Doc/c-api/unicode.rst:896 +#: ../Doc/c-api/unicode.rst:927 msgid "" "Use :c:func:`PyUnicode_DecodeFSDefaultAndSize` if you know the string length." msgstr "" "Utilice :c:func:`PyUnicode_DecodeFSDefaultAndSize` si conoce la longitud de " "la cadena." -#: ../Doc/c-api/unicode.rst:904 +#: ../Doc/c-api/unicode.rst:935 msgid "" "Encode a Unicode object to :c:data:`Py_FileSystemDefaultEncoding` with the :" "c:data:`Py_FileSystemDefaultEncodeErrors` error handler, and return :class:" @@ -1467,7 +1502,7 @@ msgstr "" "retorna :class:`bytes`. Tenga en cuenta que el objeto resultante :class:" "`bytes` puede contener bytes nulos." -#: ../Doc/c-api/unicode.rst:912 +#: ../Doc/c-api/unicode.rst:943 msgid "" ":c:data:`Py_FileSystemDefaultEncoding` is initialized at startup from the " "locale encoding and cannot be modified later. If you need to encode a string " @@ -1478,15 +1513,15 @@ msgstr "" "una cadena a la codificación local actual, utilice :c:func:" "`PyUnicode_EncodeLocale`." -#: ../Doc/c-api/unicode.rst:926 +#: ../Doc/c-api/unicode.rst:957 msgid "wchar_t Support" msgstr "Soporte wchar_t" -#: ../Doc/c-api/unicode.rst:928 +#: ../Doc/c-api/unicode.rst:959 msgid ":c:type:`wchar_t` support for platforms which support it:" msgstr "soporte :c:type:`wchar_t` para plataformas que lo soportan:" -#: ../Doc/c-api/unicode.rst:932 +#: ../Doc/c-api/unicode.rst:963 msgid "" "Create a Unicode object from the :c:type:`wchar_t` buffer *w* of the given " "*size*. Passing ``-1`` as the *size* indicates that the function must itself " @@ -1496,7 +1531,7 @@ msgstr "" "*size* dado. Pasar ``-1`` como *size* indica que la función debe calcular la " "longitud, usando ``wcslen``. Retorna ``NULL`` en caso de falla." -#: ../Doc/c-api/unicode.rst:940 +#: ../Doc/c-api/unicode.rst:971 msgid "" "Copy the Unicode object contents into the :c:type:`wchar_t` buffer *w*. At " "most *size* :c:type:`wchar_t` characters are copied (excluding a possibly " @@ -1519,7 +1554,7 @@ msgstr "" "`wchar_t*` podría contener caracteres nulos, lo que provocaría que la cadena " "se truncara cuando se usara con la mayoría de las funciones de C." -#: ../Doc/c-api/unicode.rst:953 +#: ../Doc/c-api/unicode.rst:984 msgid "" "Convert the Unicode object to a wide character string. The output string " "always ends with a null character. If *size* is not ``NULL``, write the " @@ -1538,7 +1573,7 @@ msgstr "" "funciones de C. Si *size* es ``NULL`` y la cadena :c:type:`wchar_t*` " "contiene caracteres nulos un :exc:`ValueError` aparece." -#: ../Doc/c-api/unicode.rst:961 +#: ../Doc/c-api/unicode.rst:992 msgid "" "Returns a buffer allocated by :c:func:`PyMem_Alloc` (use :c:func:" "`PyMem_Free` to free it) on success. On error, returns ``NULL`` and *" @@ -1550,7 +1585,7 @@ msgstr "" "``NULL`` y *\\*size* no está definido. Provoca un :exc:`MemoryError` si " "falla la asignación de memoria." -#: ../Doc/c-api/unicode.rst:968 +#: ../Doc/c-api/unicode.rst:999 msgid "" "Raises a :exc:`ValueError` if *size* is ``NULL`` and the :c:type:`wchar_t*` " "string contains null characters." @@ -1558,11 +1593,11 @@ msgstr "" "Provoca un :exc:`ValueError` si *size* es ``NULL`` y la cadena :c:type:" "`wchar_t*` contiene caracteres nulos." -#: ../Doc/c-api/unicode.rst:976 +#: ../Doc/c-api/unicode.rst:1007 msgid "Built-in Codecs" msgstr "Códecs incorporados" -#: ../Doc/c-api/unicode.rst:978 +#: ../Doc/c-api/unicode.rst:1009 msgid "" "Python provides a set of built-in codecs which are written in C for speed. " "All of these codecs are directly usable via the following functions." @@ -1571,7 +1606,7 @@ msgstr "" "para mayor velocidad. Todos estos códecs se pueden usar directamente a " "través de las siguientes funciones." -#: ../Doc/c-api/unicode.rst:981 +#: ../Doc/c-api/unicode.rst:1012 msgid "" "Many of the following APIs take two arguments encoding and errors, and they " "have the same semantics as the ones of the built-in :func:`str` string " @@ -1581,10 +1616,11 @@ msgstr "" "y tienen la misma semántica que las del constructor de objetos de cadena " "incorporado :func:`str`." -#: ../Doc/c-api/unicode.rst:985 +#: ../Doc/c-api/unicode.rst:1016 +#, fuzzy msgid "" "Setting encoding to ``NULL`` causes the default encoding to be used which is " -"ASCII. The file system calls should use :c:func:`PyUnicode_FSConverter` for " +"UTF-8. The file system calls should use :c:func:`PyUnicode_FSConverter` for " "encoding file names. This uses the variable :c:data:" "`Py_FileSystemDefaultEncoding` internally. This variable should be treated " "as read-only: on some systems, it will be a pointer to a static string, on " @@ -1600,7 +1636,7 @@ msgstr "" "cambiará en tiempo de ejecución (como cuando la aplicación invoca " "*setlocale*)." -#: ../Doc/c-api/unicode.rst:993 +#: ../Doc/c-api/unicode.rst:1024 msgid "" "Error handling is set by errors which may also be set to ``NULL`` meaning to " "use the default handling defined for the codec. Default error handling for " @@ -1611,7 +1647,7 @@ msgstr "" "definido para el códec. El manejo de errores predeterminado para todos los " "códecs integrados es \"estricto\" (se lanza :exc:`ValueError`)." -#: ../Doc/c-api/unicode.rst:997 +#: ../Doc/c-api/unicode.rst:1028 msgid "" "The codecs all use a similar interface. Only deviation from the following " "generic ones are documented for simplicity." @@ -1619,15 +1655,15 @@ msgstr "" "Todos los códecs usan una interfaz similar. Solo la desviación de las " "siguientes genéricas se documenta por simplicidad." -#: ../Doc/c-api/unicode.rst:1002 +#: ../Doc/c-api/unicode.rst:1033 msgid "Generic Codecs" msgstr "Códecs genéricos" -#: ../Doc/c-api/unicode.rst:1004 +#: ../Doc/c-api/unicode.rst:1035 msgid "These are the generic codec APIs:" msgstr "Estas son las APIs de códecs genéricos:" -#: ../Doc/c-api/unicode.rst:1010 +#: ../Doc/c-api/unicode.rst:1041 msgid "" "Create a Unicode object by decoding *size* bytes of the encoded string *s*. " "*encoding* and *errors* have the same meaning as the parameters of the same " @@ -1641,7 +1677,7 @@ msgstr "" "utilizará se busca utilizando el registro de códec Python. Retorna ``NULL`` " "si el códec provocó una excepción." -#: ../Doc/c-api/unicode.rst:1020 +#: ../Doc/c-api/unicode.rst:1051 msgid "" "Encode a Unicode object and return the result as Python bytes object. " "*encoding* and *errors* have the same meaning as the parameters of the same " @@ -1655,7 +1691,7 @@ msgstr "" "utilizará se busca utilizando el registro de códec Python. Retorna ``NULL`` " "si el códec provocó una excepción." -#: ../Doc/c-api/unicode.rst:1030 +#: ../Doc/c-api/unicode.rst:1061 msgid "" "Encode the :c:type:`Py_UNICODE` buffer *s* of the given *size* and return a " "Python bytes object. *encoding* and *errors* have the same meaning as the " @@ -1669,7 +1705,7 @@ msgstr "" "`~str.encode`. El códec que se utilizará se busca utilizando el registro de " "códec Python. Retorna ``NULL`` si el códec provocó una excepción." -#: ../Doc/c-api/unicode.rst:1038 ../Doc/c-api/unicode.rst:1295 +#: ../Doc/c-api/unicode.rst:1069 ../Doc/c-api/unicode.rst:1326 msgid "" "Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using :c:" "func:`PyUnicode_AsEncodedString`." @@ -1677,15 +1713,15 @@ msgstr "" "Parte del viejo estilo de la API :c:type:`Py_UNICODE`; por favor migrar para " "usar :c:func:`PyUnicode_AsEncodedString`." -#: ../Doc/c-api/unicode.rst:1042 +#: ../Doc/c-api/unicode.rst:1073 msgid "UTF-8 Codecs" msgstr "Códecs UTF-8" -#: ../Doc/c-api/unicode.rst:1044 +#: ../Doc/c-api/unicode.rst:1075 msgid "These are the UTF-8 codec APIs:" msgstr "Estas son las APIs del códec UTF-8:" -#: ../Doc/c-api/unicode.rst:1049 +#: ../Doc/c-api/unicode.rst:1080 msgid "" "Create a Unicode object by decoding *size* bytes of the UTF-8 encoded string " "*s*. Return ``NULL`` if an exception was raised by the codec." @@ -1693,7 +1729,7 @@ msgstr "" "Crea un objeto Unicode decodificando *size* bytes de la cadena codificada " "UTF-8 *s*. Retorna ``NULL`` si el códec provocó una excepción." -#: ../Doc/c-api/unicode.rst:1056 +#: ../Doc/c-api/unicode.rst:1087 msgid "" "If *consumed* is ``NULL``, behave like :c:func:`PyUnicode_DecodeUTF8`. If " "*consumed* is not ``NULL``, trailing incomplete UTF-8 byte sequences will " @@ -1705,7 +1741,7 @@ msgstr "" "se tratarán como un error. Esos bytes no serán decodificados y la cantidad " "de bytes que han sido decodificados se almacenará en *consumed*." -#: ../Doc/c-api/unicode.rst:1064 +#: ../Doc/c-api/unicode.rst:1095 msgid "" "Encode a Unicode object using UTF-8 and return the result as Python bytes " "object. Error handling is \"strict\". Return ``NULL`` if an exception was " @@ -1715,7 +1751,7 @@ msgstr "" "objeto de bytes de Python. El manejo de errores es \"estricto\". Retorna " "``NULL`` si el códec provocó una excepción." -#: ../Doc/c-api/unicode.rst:1071 +#: ../Doc/c-api/unicode.rst:1102 msgid "" "Return a pointer to the UTF-8 encoding of the Unicode object, and store the " "size of the encoded representation (in bytes) in *size*. The *size* " @@ -1729,7 +1765,7 @@ msgstr "" "retornado siempre tiene un byte nulo adicional agregado (no incluido en " "*size*), independientemente de si hay otros puntos de código nulo." -#: ../Doc/c-api/unicode.rst:1077 +#: ../Doc/c-api/unicode.rst:1108 msgid "" "In the case of an error, ``NULL`` is returned with an exception set and no " "*size* is stored." @@ -1737,7 +1773,7 @@ msgstr "" "En caso de error, se retorna ``NULL`` con un conjunto de excepciones y no se " "almacena *size*." -#: ../Doc/c-api/unicode.rst:1080 +#: ../Doc/c-api/unicode.rst:1111 msgid "" "This caches the UTF-8 representation of the string in the Unicode object, " "and subsequent calls will return a pointer to the same buffer. The caller " @@ -1747,15 +1783,15 @@ msgstr "" "Unicode, y las llamadas posteriores retornarán un puntero al mismo búfer. La " "persona que llama no es responsable de desasignar el búfer." -#: ../Doc/c-api/unicode.rst:1086 ../Doc/c-api/unicode.rst:1096 +#: ../Doc/c-api/unicode.rst:1117 ../Doc/c-api/unicode.rst:1127 msgid "The return type is now ``const char *`` rather of ``char *``." msgstr "El tipo de retorno ahora es ``const char *`` en lugar de ``char *``." -#: ../Doc/c-api/unicode.rst:1092 +#: ../Doc/c-api/unicode.rst:1123 msgid "As :c:func:`PyUnicode_AsUTF8AndSize`, but does not store the size." msgstr "Como :c:func:`PyUnicode_AsUTF8AndSize`, pero no almacena el tamaño." -#: ../Doc/c-api/unicode.rst:1102 +#: ../Doc/c-api/unicode.rst:1133 msgid "" "Encode the :c:type:`Py_UNICODE` buffer *s* of the given *size* using UTF-8 " "and return a Python bytes object. Return ``NULL`` if an exception was " @@ -1765,7 +1801,7 @@ msgstr "" "UTF-8 y retorna un objeto de bytes de Python. Retorna ``NULL`` si el códec " "provocó una excepción." -#: ../Doc/c-api/unicode.rst:1109 +#: ../Doc/c-api/unicode.rst:1140 msgid "" "Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using :c:" "func:`PyUnicode_AsUTF8String`, :c:func:`PyUnicode_AsUTF8AndSize` or :c:func:" @@ -1775,15 +1811,15 @@ msgstr "" "usar :c:func:`PyUnicode_AsUTF8String`, :c:func:`PyUnicode_AsUTF8AndSize` o :" "c:func:`PyUnicode_AsEncodedString`." -#: ../Doc/c-api/unicode.rst:1113 +#: ../Doc/c-api/unicode.rst:1144 msgid "UTF-32 Codecs" msgstr "Códecs UTF-32" -#: ../Doc/c-api/unicode.rst:1115 +#: ../Doc/c-api/unicode.rst:1146 msgid "These are the UTF-32 codec APIs:" msgstr "Estas son las APIs de códecs para UTF-32:" -#: ../Doc/c-api/unicode.rst:1121 +#: ../Doc/c-api/unicode.rst:1152 msgid "" "Decode *size* bytes from a UTF-32 encoded buffer string and return the " "corresponding Unicode object. *errors* (if non-``NULL``) defines the error " @@ -1793,7 +1829,7 @@ msgstr "" "el objeto Unicode correspondiente. *errors* (si no es ``NULL``) define el " "manejo de errores. Su valor predeterminado es \"estricto\"." -#: ../Doc/c-api/unicode.rst:1125 ../Doc/c-api/unicode.rst:1198 +#: ../Doc/c-api/unicode.rst:1156 ../Doc/c-api/unicode.rst:1229 msgid "" "If *byteorder* is non-``NULL``, the decoder starts decoding using the given " "byte order::" @@ -1801,7 +1837,7 @@ msgstr "" "Si *byteorder* no es ``NULL``, el decodificador comienza a decodificar " "utilizando el orden de bytes dado::" -#: ../Doc/c-api/unicode.rst:1132 +#: ../Doc/c-api/unicode.rst:1163 msgid "" "If ``*byteorder`` is zero, and the first four bytes of the input data are a " "byte order mark (BOM), the decoder switches to this byte order and the BOM " @@ -1814,7 +1850,7 @@ msgstr "" "resultante. Si ``*byteorder`` es ``-1`` o ``1``, cualquier marca de orden de " "bytes se copia en la salida." -#: ../Doc/c-api/unicode.rst:1137 ../Doc/c-api/unicode.rst:1211 +#: ../Doc/c-api/unicode.rst:1168 ../Doc/c-api/unicode.rst:1242 msgid "" "After completion, *\\*byteorder* is set to the current byte order at the end " "of input data." @@ -1822,17 +1858,17 @@ msgstr "" "Una vez completado, *\\*byteorder* se establece en el orden de bytes actual " "al final de los datos de entrada." -#: ../Doc/c-api/unicode.rst:1140 ../Doc/c-api/unicode.rst:1214 +#: ../Doc/c-api/unicode.rst:1171 ../Doc/c-api/unicode.rst:1245 msgid "If *byteorder* is ``NULL``, the codec starts in native order mode." msgstr "" "Si *byteorder* es ``NULL``, el códec se inicia en modo de orden nativo." -#: ../Doc/c-api/unicode.rst:1142 ../Doc/c-api/unicode.rst:1178 -#: ../Doc/c-api/unicode.rst:1216 ../Doc/c-api/unicode.rst:1253 +#: ../Doc/c-api/unicode.rst:1173 ../Doc/c-api/unicode.rst:1209 +#: ../Doc/c-api/unicode.rst:1247 ../Doc/c-api/unicode.rst:1284 msgid "Return ``NULL`` if an exception was raised by the codec." msgstr "Retorna ``NULL`` si el códec provocó una excepción." -#: ../Doc/c-api/unicode.rst:1148 +#: ../Doc/c-api/unicode.rst:1179 msgid "" "If *consumed* is ``NULL``, behave like :c:func:`PyUnicode_DecodeUTF32`. If " "*consumed* is not ``NULL``, :c:func:`PyUnicode_DecodeUTF32Stateful` will not " @@ -1847,7 +1883,7 @@ msgstr "" "decodificados y la cantidad de bytes que han sido decodificados se " "almacenará en *consumed*." -#: ../Doc/c-api/unicode.rst:1157 +#: ../Doc/c-api/unicode.rst:1188 msgid "" "Return a Python byte string using the UTF-32 encoding in native byte order. " "The string always starts with a BOM mark. Error handling is \"strict\". " @@ -1857,7 +1893,7 @@ msgstr "" "de bytes nativo. La cadena siempre comienza con una marca BOM. El manejo de " "errores es \"estricto\". Retorna ``NULL`` si el códec provocó una excepción." -#: ../Doc/c-api/unicode.rst:1165 +#: ../Doc/c-api/unicode.rst:1196 msgid "" "Return a Python bytes object holding the UTF-32 encoded value of the Unicode " "data in *s*. Output is written according to the following byte order::" @@ -1866,7 +1902,7 @@ msgstr "" "de los datos Unicode en *s*. La salida se escribe de acuerdo con el " "siguiente orden de bytes:" -#: ../Doc/c-api/unicode.rst:1172 ../Doc/c-api/unicode.rst:1246 +#: ../Doc/c-api/unicode.rst:1203 ../Doc/c-api/unicode.rst:1277 msgid "" "If byteorder is ``0``, the output string will always start with the Unicode " "BOM mark (U+FEFF). In the other two modes, no BOM mark is prepended." @@ -1875,7 +1911,7 @@ msgstr "" "con la marca Unicode BOM (U+FEFF). En los otros dos modos, no se antepone " "ninguna marca BOM." -#: ../Doc/c-api/unicode.rst:1175 +#: ../Doc/c-api/unicode.rst:1206 msgid "" "If ``Py_UNICODE_WIDE`` is not defined, surrogate pairs will be output as a " "single code point." @@ -1883,7 +1919,7 @@ msgstr "" "Si ``Py_UNICODE_WIDE`` no está definido, los pares sustitutos se mostrarán " "como un único punto de código." -#: ../Doc/c-api/unicode.rst:1182 +#: ../Doc/c-api/unicode.rst:1213 msgid "" "Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using :c:" "func:`PyUnicode_AsUTF32String` or :c:func:`PyUnicode_AsEncodedString`." @@ -1892,15 +1928,15 @@ msgstr "" "usar :c:func:`PyUnicode_AsUTF32String`. o :c:func:" "`PyUnicode_AsEncodedString`." -#: ../Doc/c-api/unicode.rst:1186 +#: ../Doc/c-api/unicode.rst:1217 msgid "UTF-16 Codecs" msgstr "Códecs UTF-16" -#: ../Doc/c-api/unicode.rst:1188 +#: ../Doc/c-api/unicode.rst:1219 msgid "These are the UTF-16 codec APIs:" msgstr "Estas son las APIs de códecs para UTF-16:" -#: ../Doc/c-api/unicode.rst:1194 +#: ../Doc/c-api/unicode.rst:1225 msgid "" "Decode *size* bytes from a UTF-16 encoded buffer string and return the " "corresponding Unicode object. *errors* (if non-``NULL``) defines the error " @@ -1911,7 +1947,7 @@ msgstr "" "``NULL``) define el manejo de errores. Su valor predeterminado es \"estricto" "\"." -#: ../Doc/c-api/unicode.rst:1205 +#: ../Doc/c-api/unicode.rst:1236 msgid "" "If ``*byteorder`` is zero, and the first two bytes of the input data are a " "byte order mark (BOM), the decoder switches to this byte order and the BOM " @@ -1926,7 +1962,7 @@ msgstr "" "copia en la salida (donde dará como resultado un ``\\ufeff`` o un carácter ``" "\\ufffe``)." -#: ../Doc/c-api/unicode.rst:1222 +#: ../Doc/c-api/unicode.rst:1253 msgid "" "If *consumed* is ``NULL``, behave like :c:func:`PyUnicode_DecodeUTF16`. If " "*consumed* is not ``NULL``, :c:func:`PyUnicode_DecodeUTF16Stateful` will not " @@ -1942,7 +1978,7 @@ msgstr "" "serán decodificados y la cantidad de bytes que han sido decodificados se " "almacenará en *consumed*." -#: ../Doc/c-api/unicode.rst:1231 +#: ../Doc/c-api/unicode.rst:1262 msgid "" "Return a Python byte string using the UTF-16 encoding in native byte order. " "The string always starts with a BOM mark. Error handling is \"strict\". " @@ -1952,7 +1988,7 @@ msgstr "" "de bytes nativo. La cadena siempre comienza con una marca BOM. El manejo de " "errores es \"estricto\". Retorna ``NULL`` si el códec provocó una excepción." -#: ../Doc/c-api/unicode.rst:1239 +#: ../Doc/c-api/unicode.rst:1270 msgid "" "Return a Python bytes object holding the UTF-16 encoded value of the Unicode " "data in *s*. Output is written according to the following byte order::" @@ -1961,7 +1997,7 @@ msgstr "" "de los datos Unicode en *s*. La salida se escribe de acuerdo con el " "siguiente orden de bytes:" -#: ../Doc/c-api/unicode.rst:1249 +#: ../Doc/c-api/unicode.rst:1280 msgid "" "If ``Py_UNICODE_WIDE`` is defined, a single :c:type:`Py_UNICODE` value may " "get represented as a surrogate pair. If it is not defined, each :c:type:" @@ -1971,7 +2007,7 @@ msgstr "" "puede representarse como un par sustituto. Si no está definido, cada uno de " "los valores :c:type:`Py_UNICODE` se interpreta como un carácter UCS-2." -#: ../Doc/c-api/unicode.rst:1257 +#: ../Doc/c-api/unicode.rst:1288 msgid "" "Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using :c:" "func:`PyUnicode_AsUTF16String` or :c:func:`PyUnicode_AsEncodedString`." @@ -1980,15 +2016,15 @@ msgstr "" "usar :c:func:`PyUnicode_AsUTF16String`. o :c:func:" "`PyUnicode_AsEncodedString`." -#: ../Doc/c-api/unicode.rst:1261 +#: ../Doc/c-api/unicode.rst:1292 msgid "UTF-7 Codecs" msgstr "Códecs UTF-7" -#: ../Doc/c-api/unicode.rst:1263 +#: ../Doc/c-api/unicode.rst:1294 msgid "These are the UTF-7 codec APIs:" msgstr "Estas son las APIs del códec UTF-7:" -#: ../Doc/c-api/unicode.rst:1268 +#: ../Doc/c-api/unicode.rst:1299 msgid "" "Create a Unicode object by decoding *size* bytes of the UTF-7 encoded string " "*s*. Return ``NULL`` if an exception was raised by the codec." @@ -1996,7 +2032,7 @@ msgstr "" "Crea un objeto Unicode decodificando *size* bytes de la cadena de caracteres " "codificada UTF-7 *s*. Retorna ``NULL`` si el códec provocó una excepción." -#: ../Doc/c-api/unicode.rst:1275 +#: ../Doc/c-api/unicode.rst:1306 msgid "" "If *consumed* is ``NULL``, behave like :c:func:`PyUnicode_DecodeUTF7`. If " "*consumed* is not ``NULL``, trailing incomplete UTF-7 base-64 sections will " @@ -2008,7 +2044,7 @@ msgstr "" "tratarán como un error. Esos bytes no serán decodificados y la cantidad de " "bytes que han sido decodificados se almacenará en *consumed*." -#: ../Doc/c-api/unicode.rst:1284 +#: ../Doc/c-api/unicode.rst:1315 msgid "" "Encode the :c:type:`Py_UNICODE` buffer of the given size using UTF-7 and " "return a Python bytes object. Return ``NULL`` if an exception was raised by " @@ -2018,7 +2054,7 @@ msgstr "" "retorna un objeto de bytes de Python. Retorna ``NULL`` si el códec provocó " "una excepción." -#: ../Doc/c-api/unicode.rst:1288 +#: ../Doc/c-api/unicode.rst:1319 msgid "" "If *base64SetO* is nonzero, \"Set O\" (punctuation that has no otherwise " "special meaning) will be encoded in base-64. If *base64WhiteSpace* is " @@ -2030,15 +2066,15 @@ msgstr "" "cero, el espacio en blanco se codificará en base-64. Ambos se establecen en " "cero para el códec Python \"utf-7\"." -#: ../Doc/c-api/unicode.rst:1299 +#: ../Doc/c-api/unicode.rst:1330 msgid "Unicode-Escape Codecs" msgstr "Códecs Unicode escapado" -#: ../Doc/c-api/unicode.rst:1301 +#: ../Doc/c-api/unicode.rst:1332 msgid "These are the \"Unicode Escape\" codec APIs:" msgstr "Estas son las APIs de códecs para Unicode escapado:" -#: ../Doc/c-api/unicode.rst:1307 +#: ../Doc/c-api/unicode.rst:1338 msgid "" "Create a Unicode object by decoding *size* bytes of the Unicode-Escape " "encoded string *s*. Return ``NULL`` if an exception was raised by the codec." @@ -2047,7 +2083,7 @@ msgstr "" "Unicode escapada (*Unicode-Escape*) *s*. Retorna ``NULL`` si el códec " "provocó una excepción." -#: ../Doc/c-api/unicode.rst:1313 +#: ../Doc/c-api/unicode.rst:1344 msgid "" "Encode a Unicode object using Unicode-Escape and return the result as a " "bytes object. Error handling is \"strict\". Return ``NULL`` if an " @@ -2057,7 +2093,7 @@ msgstr "" "retorna el resultado como un objeto de bytes. El manejo de errores es " "\"estricto\". Retorna ``NULL`` si el códec provocó una excepción." -#: ../Doc/c-api/unicode.rst:1320 +#: ../Doc/c-api/unicode.rst:1351 msgid "" "Encode the :c:type:`Py_UNICODE` buffer of the given *size* using Unicode-" "Escape and return a bytes object. Return ``NULL`` if an exception was " @@ -2067,7 +2103,7 @@ msgstr "" "Unicode escapado y retorna un objeto de bytes. Retorna ``NULL`` si el códec " "provocó una excepción." -#: ../Doc/c-api/unicode.rst:1325 +#: ../Doc/c-api/unicode.rst:1356 msgid "" "Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using :c:" "func:`PyUnicode_AsUnicodeEscapeString`." @@ -2075,16 +2111,16 @@ msgstr "" "Parte del viejo estilo de la API :c:type:`Py_UNICODE`; por favor migrar para " "usar :c:func:`PyUnicode_AsUnicodeEscapeString`." -#: ../Doc/c-api/unicode.rst:1329 +#: ../Doc/c-api/unicode.rst:1360 msgid "Raw-Unicode-Escape Codecs" msgstr "Códecs para Unicode escapado en bruto" -#: ../Doc/c-api/unicode.rst:1331 +#: ../Doc/c-api/unicode.rst:1362 msgid "These are the \"Raw Unicode Escape\" codec APIs:" msgstr "" "Estas son las API del códec Unicode escapado en bruto (*Raw Unicode Escape*):" -#: ../Doc/c-api/unicode.rst:1337 +#: ../Doc/c-api/unicode.rst:1368 msgid "" "Create a Unicode object by decoding *size* bytes of the Raw-Unicode-Escape " "encoded string *s*. Return ``NULL`` if an exception was raised by the codec." @@ -2093,7 +2129,7 @@ msgstr "" "codificada Unicode escapada en bruto (*Raw-Unicode-Escape*) *s*. Retorna " "``NULL`` si el códec provocó una excepción." -#: ../Doc/c-api/unicode.rst:1343 +#: ../Doc/c-api/unicode.rst:1374 msgid "" "Encode a Unicode object using Raw-Unicode-Escape and return the result as a " "bytes object. Error handling is \"strict\". Return ``NULL`` if an " @@ -2103,7 +2139,7 @@ msgstr "" "Escape*) y retorna el resultado como un objeto de bytes. El manejo de " "errores es \"estricto\". Retorna ``NULL`` si el códec provocó una excepción." -#: ../Doc/c-api/unicode.rst:1351 +#: ../Doc/c-api/unicode.rst:1382 msgid "" "Encode the :c:type:`Py_UNICODE` buffer of the given *size* using Raw-Unicode-" "Escape and return a bytes object. Return ``NULL`` if an exception was " @@ -2113,7 +2149,7 @@ msgstr "" "escapado en bruto (*Raw-Unicode-Escape*) y retorna un objeto de bytes. " "Retorna ``NULL`` si el códec provocó una excepción." -#: ../Doc/c-api/unicode.rst:1357 +#: ../Doc/c-api/unicode.rst:1388 msgid "" "Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using :c:" "func:`PyUnicode_AsRawUnicodeEscapeString` or :c:func:" @@ -2123,11 +2159,11 @@ msgstr "" "usar :c:func:`PyUnicode_AsRawUnicodeEscapeString` o :c:func:" "`PyUnicode_AsEncodedString`." -#: ../Doc/c-api/unicode.rst:1361 +#: ../Doc/c-api/unicode.rst:1392 msgid "Latin-1 Codecs" msgstr "Códecs Latin-1" -#: ../Doc/c-api/unicode.rst:1363 +#: ../Doc/c-api/unicode.rst:1394 msgid "" "These are the Latin-1 codec APIs: Latin-1 corresponds to the first 256 " "Unicode ordinals and only these are accepted by the codecs during encoding." @@ -2136,7 +2172,7 @@ msgstr "" "ordinales Unicode y solo estos son aceptados por los códecs durante la " "codificación." -#: ../Doc/c-api/unicode.rst:1369 +#: ../Doc/c-api/unicode.rst:1400 msgid "" "Create a Unicode object by decoding *size* bytes of the Latin-1 encoded " "string *s*. Return ``NULL`` if an exception was raised by the codec." @@ -2145,7 +2181,7 @@ msgstr "" "codificada en latin-1 *s*. Retorna ``NULL`` si el códec provocó una " "excepción." -#: ../Doc/c-api/unicode.rst:1375 +#: ../Doc/c-api/unicode.rst:1406 msgid "" "Encode a Unicode object using Latin-1 and return the result as Python bytes " "object. Error handling is \"strict\". Return ``NULL`` if an exception was " @@ -2155,7 +2191,7 @@ msgstr "" "objeto de bytes Python. El manejo de errores es \"estricto\". Retorna " "``NULL`` si el códec provocó una excepción." -#: ../Doc/c-api/unicode.rst:1382 +#: ../Doc/c-api/unicode.rst:1413 msgid "" "Encode the :c:type:`Py_UNICODE` buffer of the given *size* using Latin-1 and " "return a Python bytes object. Return ``NULL`` if an exception was raised by " @@ -2165,7 +2201,7 @@ msgstr "" "y retorna un objeto de bytes de Python. Retorna ``NULL`` si el códec provocó " "una excepción." -#: ../Doc/c-api/unicode.rst:1389 +#: ../Doc/c-api/unicode.rst:1420 msgid "" "Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using :c:" "func:`PyUnicode_AsLatin1String` or :c:func:`PyUnicode_AsEncodedString`." @@ -2174,11 +2210,11 @@ msgstr "" "usar :c:func:`PyUnicode_AsLatin1String` o :c:func:" "`PyUnicode_AsEncodedString`." -#: ../Doc/c-api/unicode.rst:1393 +#: ../Doc/c-api/unicode.rst:1424 msgid "ASCII Codecs" msgstr "Códecs ASCII" -#: ../Doc/c-api/unicode.rst:1395 +#: ../Doc/c-api/unicode.rst:1426 msgid "" "These are the ASCII codec APIs. Only 7-bit ASCII data is accepted. All " "other codes generate errors." @@ -2186,7 +2222,7 @@ msgstr "" "Estas son las API del códec ASCII. Solo se aceptan datos ASCII de 7 bits. " "Todos los demás códigos generan errores." -#: ../Doc/c-api/unicode.rst:1401 +#: ../Doc/c-api/unicode.rst:1432 msgid "" "Create a Unicode object by decoding *size* bytes of the ASCII encoded string " "*s*. Return ``NULL`` if an exception was raised by the codec." @@ -2194,7 +2230,7 @@ msgstr "" "Crea un objeto Unicode decodificando *size* bytes de la cadena de caracteres " "codificada ASCII *s*. Retorna ``NULL`` si el códec provocó una excepción." -#: ../Doc/c-api/unicode.rst:1407 +#: ../Doc/c-api/unicode.rst:1438 msgid "" "Encode a Unicode object using ASCII and return the result as Python bytes " "object. Error handling is \"strict\". Return ``NULL`` if an exception was " @@ -2204,7 +2240,7 @@ msgstr "" "objeto de bytes de Python. El manejo de errores es \"estricto\". Retorna " "``NULL`` si el códec provocó una excepción." -#: ../Doc/c-api/unicode.rst:1414 +#: ../Doc/c-api/unicode.rst:1445 msgid "" "Encode the :c:type:`Py_UNICODE` buffer of the given *size* using ASCII and " "return a Python bytes object. Return ``NULL`` if an exception was raised by " @@ -2214,7 +2250,7 @@ msgstr "" "ASCII y retorna un objeto de bytes de Python. Retorna ``NULL`` si el códec " "provocó una excepción." -#: ../Doc/c-api/unicode.rst:1421 +#: ../Doc/c-api/unicode.rst:1452 msgid "" "Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using :c:" "func:`PyUnicode_AsASCIIString` or :c:func:`PyUnicode_AsEncodedString`." @@ -2222,11 +2258,11 @@ msgstr "" "Parte del viejo estilo de la API :c:type:`Py_UNICODE`; por favor migrar para " "usar :c:func:`PyUnicode_AsASCIIString` o :c:func:`PyUnicode_AsEncodedString`." -#: ../Doc/c-api/unicode.rst:1425 +#: ../Doc/c-api/unicode.rst:1456 msgid "Character Map Codecs" msgstr "Códecs de mapa de caracteres" -#: ../Doc/c-api/unicode.rst:1427 +#: ../Doc/c-api/unicode.rst:1458 msgid "" "This codec is special in that it can be used to implement many different " "codecs (and this is in fact what was done to obtain most of the standard " @@ -2242,11 +2278,11 @@ msgstr "" "deben soportar la interfaz de mapeo :meth:`__getitem__`; Los diccionarios y " "las secuencias funcionan bien." -#: ../Doc/c-api/unicode.rst:1433 +#: ../Doc/c-api/unicode.rst:1464 msgid "These are the mapping codec APIs:" msgstr "Estos son las API de códec de mapeo:" -#: ../Doc/c-api/unicode.rst:1438 +#: ../Doc/c-api/unicode.rst:1469 msgid "" "Create a Unicode object by decoding *size* bytes of the encoded string *s* " "using the given *mapping* object. Return ``NULL`` if an exception was " @@ -2256,7 +2292,7 @@ msgstr "" "codificada *s* usando el objeto *mapping* dado. Retorna ``NULL`` si el códec " "provocó una excepción." -#: ../Doc/c-api/unicode.rst:1442 +#: ../Doc/c-api/unicode.rst:1473 msgid "" "If *mapping* is ``NULL``, Latin-1 decoding will be applied. Else *mapping* " "must map bytes ordinals (integers in the range from 0 to 255) to Unicode " @@ -2273,7 +2309,7 @@ msgstr "" "``0xFFFE`` o ``'\\ ufffe'``, se tratan como asignaciones indefinidas y " "causan un error" -#: ../Doc/c-api/unicode.rst:1453 +#: ../Doc/c-api/unicode.rst:1484 msgid "" "Encode a Unicode object using the given *mapping* object and return the " "result as a bytes object. Error handling is \"strict\". Return ``NULL`` if " @@ -2283,7 +2319,7 @@ msgstr "" "resultado como un objeto de bytes. El manejo de errores es \"estricto\". " "Retorna ``NULL`` si el códec provocó una excepción." -#: ../Doc/c-api/unicode.rst:1457 +#: ../Doc/c-api/unicode.rst:1488 msgid "" "The *mapping* object must map Unicode ordinal integers to bytes objects, " "integers in the range from 0 to 255 or ``None``. Unmapped character " @@ -2296,7 +2332,7 @@ msgstr "" "asignados a ``Ninguno``, se tratan como \"mapeo indefinido\" y causan un " "error." -#: ../Doc/c-api/unicode.rst:1466 +#: ../Doc/c-api/unicode.rst:1497 msgid "" "Encode the :c:type:`Py_UNICODE` buffer of the given *size* using the given " "*mapping* object and return the result as a bytes object. Return ``NULL`` " @@ -2306,7 +2342,7 @@ msgstr "" "objeto *mapping* dado y retorna el resultado como un objeto de bytes. " "Retorna ``NULL`` si el códec provocó una excepción." -#: ../Doc/c-api/unicode.rst:1473 +#: ../Doc/c-api/unicode.rst:1504 msgid "" "Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using :c:" "func:`PyUnicode_AsCharmapString` or :c:func:`PyUnicode_AsEncodedString`." @@ -2315,34 +2351,49 @@ msgstr "" "usar :c:func:`PyUnicode_AsCharmapString` o :c:func:" "`PyUnicode_AsEncodedString`." -#: ../Doc/c-api/unicode.rst:1476 +#: ../Doc/c-api/unicode.rst:1507 msgid "The following codec API is special in that maps Unicode to Unicode." msgstr "La siguiente API de códec es especial en que asigna Unicode a Unicode." -#: ../Doc/c-api/unicode.rst:1481 +#: ../Doc/c-api/unicode.rst:1511 +#, fuzzy msgid "" -"Translate a Unicode object using the given *mapping* object and return the " -"resulting Unicode object. Return ``NULL`` if an exception was raised by the " -"codec." +"Translate a string by applying a character mapping table to it and return " +"the resulting Unicode object. Return ``NULL`` if an exception was raised by " +"the codec." msgstr "" -"Traduce un objeto Unicode utilizando el objeto *mapping* dado y retorna el " -"objeto Unicode resultante. Retorna ``NULL`` si el códec provocó una " -"excepción." +"Traduce un búfer :c:type:`Py_UNICODE` del tamaño *size* dado al aplicarle " +"una tabla de *mapping* de caracteres y retornar el objeto Unicode " +"resultante. Retorna ``NULL`` cuando el códec provocó una excepción." + +#: ../Doc/c-api/unicode.rst:1515 +msgid "" +"The mapping table must map Unicode ordinal integers to Unicode ordinal " +"integers or ``None`` (causing deletion of the character)." +msgstr "" +"La tabla de mapeo debe mapear enteros ordinales Unicode a enteros ordinales " +"Unicode o ``None`` (causando la eliminación del carácter)." -#: ../Doc/c-api/unicode.rst:1485 +#: ../Doc/c-api/unicode.rst:1518 msgid "" -"The *mapping* object must map Unicode ordinal integers to Unicode strings, " -"integers (which are then interpreted as Unicode ordinals) or ``None`` " -"(causing deletion of the character). Unmapped character ordinals (ones " +"Mapping tables need only provide the :meth:`__getitem__` interface; " +"dictionaries and sequences work well. Unmapped character ordinals (ones " "which cause a :exc:`LookupError`) are left untouched and are copied as-is." msgstr "" -"El objeto *mapping* debe asignar enteros ordinales Unicode a cadenas de " -"caracteres Unicode, enteros (que luego se interpretan como ordinales " -"Unicode) o ``None`` (causando la eliminación del carácter). Los ordinales de " -"caracteres no asignados (los que causan un :exc:`LookupError`) se dejan " -"intactos y se copian tal cual." +"Las tablas de mapeo solo necesitan proporcionar la interfaz :meth:" +"`__getitem__`; Los diccionarios y las secuencias funcionan bien. Los " +"ordinales de caracteres no asignados (los que causan un :exc:`LookupError`) " +"se dejan intactos y se copian tal cual." -#: ../Doc/c-api/unicode.rst:1494 +#: ../Doc/c-api/unicode.rst:1522 +msgid "" +"*errors* has the usual meaning for codecs. It may be ``NULL`` which " +"indicates to use the default error handling." +msgstr "" +"*errors* tiene el significado habitual para los códecs. Puede ser ``NULL``, " +"lo que indica que debe usar el manejo de errores predeterminado." + +#: ../Doc/c-api/unicode.rst:1529 msgid "" "Translate a :c:type:`Py_UNICODE` buffer of the given *size* by applying a " "character *mapping* table to it and return the resulting Unicode object. " @@ -2352,7 +2403,7 @@ msgstr "" "una tabla de *mapping* de caracteres y retornar el objeto Unicode " "resultante. Retorna ``NULL`` cuando el códec provocó una excepción." -#: ../Doc/c-api/unicode.rst:1501 +#: ../Doc/c-api/unicode.rst:1536 msgid "" "Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using :c:" "func:`PyUnicode_Translate`. or :ref:`generic codec based API `" -#: ../Doc/c-api/unicode.rst:1505 +#: ../Doc/c-api/unicode.rst:1540 msgid "MBCS codecs for Windows" msgstr "Códecs MBCS para Windows" -#: ../Doc/c-api/unicode.rst:1507 +#: ../Doc/c-api/unicode.rst:1542 msgid "" "These are the MBCS codec APIs. They are currently only available on Windows " "and use the Win32 MBCS converters to implement the conversions. Note that " @@ -2379,7 +2430,7 @@ msgstr "" "codificaciones, no solo una. La codificación de destino está definida por la " "configuración del usuario en la máquina que ejecuta el códec." -#: ../Doc/c-api/unicode.rst:1514 +#: ../Doc/c-api/unicode.rst:1549 msgid "" "Create a Unicode object by decoding *size* bytes of the MBCS encoded string " "*s*. Return ``NULL`` if an exception was raised by the codec." @@ -2387,7 +2438,7 @@ msgstr "" "Crea un objeto Unicode decodificando *size* bytes de la cadena de caracteres " "codificada con MBCS *s*. Retorna ``NULL`` si el códec provocó una excepción." -#: ../Doc/c-api/unicode.rst:1521 +#: ../Doc/c-api/unicode.rst:1556 msgid "" "If *consumed* is ``NULL``, behave like :c:func:`PyUnicode_DecodeMBCS`. If " "*consumed* is not ``NULL``, :c:func:`PyUnicode_DecodeMBCSStateful` will not " @@ -2399,7 +2450,7 @@ msgstr "" "decodificará el byte inicial y el número de bytes que se han decodificado se " "almacenará en *consumed*." -#: ../Doc/c-api/unicode.rst:1529 +#: ../Doc/c-api/unicode.rst:1564 msgid "" "Encode a Unicode object using MBCS and return the result as Python bytes " "object. Error handling is \"strict\". Return ``NULL`` if an exception was " @@ -2409,7 +2460,7 @@ msgstr "" "de bytes de Python. El manejo de errores es \"estricto\". Retorna ``NULL`` " "si el códec provocó una excepción." -#: ../Doc/c-api/unicode.rst:1536 +#: ../Doc/c-api/unicode.rst:1571 msgid "" "Encode the Unicode object using the specified code page and return a Python " "bytes object. Return ``NULL`` if an exception was raised by the codec. Use :" @@ -2420,7 +2471,7 @@ msgstr "" "una excepción. Use la página de códigos :c:data:`CP_ACP` para obtener el " "codificador MBCS." -#: ../Doc/c-api/unicode.rst:1545 +#: ../Doc/c-api/unicode.rst:1580 msgid "" "Encode the :c:type:`Py_UNICODE` buffer of the given *size* using MBCS and " "return a Python bytes object. Return ``NULL`` if an exception was raised by " @@ -2430,7 +2481,7 @@ msgstr "" "retorna un objeto de bytes de Python. Retorna ``NULL`` si el códec provocó " "una excepción." -#: ../Doc/c-api/unicode.rst:1552 +#: ../Doc/c-api/unicode.rst:1587 msgid "" "Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using :c:" "func:`PyUnicode_AsMBCSString`, :c:func:`PyUnicode_EncodeCodePage` or :c:func:" @@ -2440,15 +2491,15 @@ msgstr "" "func:`PyUnicode_AsMBCSString`, :c:func:`PyUnicode_EncodeCodePage` o :c:func:" "`PyUnicode_AsEncodedString`." -#: ../Doc/c-api/unicode.rst:1556 +#: ../Doc/c-api/unicode.rst:1591 msgid "Methods & Slots" msgstr "Métodos & Ranuras (*Slots*)" -#: ../Doc/c-api/unicode.rst:1562 +#: ../Doc/c-api/unicode.rst:1597 msgid "Methods and Slot Functions" msgstr "Métodos y funciones de ranura (*Slot*)" -#: ../Doc/c-api/unicode.rst:1564 +#: ../Doc/c-api/unicode.rst:1599 msgid "" "The following APIs are capable of handling Unicode objects and strings on " "input (we refer to them as strings in the descriptions) and return Unicode " @@ -2458,16 +2509,16 @@ msgstr "" "caracteres en la entrada (nos referimos a ellos como cadenas de caracteres " "en las descripciones) y retorna objetos Unicode o enteros según corresponda." -#: ../Doc/c-api/unicode.rst:1568 +#: ../Doc/c-api/unicode.rst:1603 msgid "They all return ``NULL`` or ``-1`` if an exception occurs." msgstr "Todos retornan ``NULL`` o ``-1`` si ocurre una excepción." -#: ../Doc/c-api/unicode.rst:1573 +#: ../Doc/c-api/unicode.rst:1608 msgid "Concat two strings giving a new Unicode string." msgstr "" "Une dos cadenas de caracteres que dan una nueva cadena de caracteres Unicode." -#: ../Doc/c-api/unicode.rst:1578 +#: ../Doc/c-api/unicode.rst:1613 msgid "" "Split a string giving a list of Unicode strings. If *sep* is ``NULL``, " "splitting will be done at all whitespace substrings. Otherwise, splits " @@ -2482,7 +2533,7 @@ msgstr "" "negativo, no se establece ningún límite. Los separadores no están incluidos " "en la lista resultante." -#: ../Doc/c-api/unicode.rst:1586 +#: ../Doc/c-api/unicode.rst:1621 msgid "" "Split a Unicode string at line breaks, returning a list of Unicode strings. " "CRLF is considered to be one line break. If *keepend* is ``0``, the Line " @@ -2493,42 +2544,7 @@ msgstr "" "línea. Si *keepend* es ``0``, los caracteres de salto de línea no se " "incluyen en las cadenas de caracteres resultantes." -#: ../Doc/c-api/unicode.rst:1594 -msgid "" -"Translate a string by applying a character mapping table to it and return " -"the resulting Unicode object." -msgstr "" -"Traduce una cadena de caracteres aplicando una tabla de mapeo de caracteres " -"y retorna el objeto Unicode resultante." - -#: ../Doc/c-api/unicode.rst:1597 -msgid "" -"The mapping table must map Unicode ordinal integers to Unicode ordinal " -"integers or ``None`` (causing deletion of the character)." -msgstr "" -"La tabla de mapeo debe mapear enteros ordinales Unicode a enteros ordinales " -"Unicode o ``None`` (causando la eliminación del carácter)." - -#: ../Doc/c-api/unicode.rst:1600 -msgid "" -"Mapping tables need only provide the :meth:`__getitem__` interface; " -"dictionaries and sequences work well. Unmapped character ordinals (ones " -"which cause a :exc:`LookupError`) are left untouched and are copied as-is." -msgstr "" -"Las tablas de mapeo solo necesitan proporcionar la interfaz :meth:" -"`__getitem__`; Los diccionarios y las secuencias funcionan bien. Los " -"ordinales de caracteres no asignados (los que causan un :exc:`LookupError`) " -"se dejan intactos y se copian tal cual." - -#: ../Doc/c-api/unicode.rst:1604 -msgid "" -"*errors* has the usual meaning for codecs. It may be ``NULL`` which " -"indicates to use the default error handling." -msgstr "" -"*errors* tiene el significado habitual para los códecs. Puede ser ``NULL``, " -"lo que indica que debe usar el manejo de errores predeterminado." - -#: ../Doc/c-api/unicode.rst:1610 +#: ../Doc/c-api/unicode.rst:1628 msgid "" "Join a sequence of strings using the given *separator* and return the " "resulting Unicode string." @@ -2536,7 +2552,7 @@ msgstr "" "Une una secuencia de cadenas de caracteres usando el *separator* dado y " "retorna la cadena de caracteres Unicode resultante." -#: ../Doc/c-api/unicode.rst:1617 +#: ../Doc/c-api/unicode.rst:1635 msgid "" "Return ``1`` if *substr* matches ``str[start:end]`` at the given tail end " "(*direction* == ``-1`` means to do a prefix match, *direction* == ``1`` a " @@ -2547,7 +2563,7 @@ msgstr "" "prefijo, *direction* == ``1`` una coincidencia de sufijo), ``0`` de lo " "contrario. retorne ``-1`` si ocurrió un error." -#: ../Doc/c-api/unicode.rst:1625 +#: ../Doc/c-api/unicode.rst:1643 msgid "" "Return the first position of *substr* in ``str[start:end]`` using the given " "*direction* (*direction* == ``1`` means to do a forward search, *direction* " @@ -2562,7 +2578,7 @@ msgstr "" "que no se encontró ninguna coincidencia, y ``-2`` indica que se produjo un " "error y se ha establecido una excepción." -#: ../Doc/c-api/unicode.rst:1635 +#: ../Doc/c-api/unicode.rst:1653 msgid "" "Return the first position of the character *ch* in ``str[start:end]`` using " "the given *direction* (*direction* == ``1`` means to do a forward search, " @@ -2577,13 +2593,13 @@ msgstr "" "que no se encontró ninguna coincidencia, y ``-2`` indica que se produjo un " "error y se ha establecido una excepción." -#: ../Doc/c-api/unicode.rst:1643 +#: ../Doc/c-api/unicode.rst:1661 msgid "*start* and *end* are now adjusted to behave like ``str[start:end]``." msgstr "" "*start* y *end* ahora están ajustados para comportarse como ``str[start:" "end]``." -#: ../Doc/c-api/unicode.rst:1650 +#: ../Doc/c-api/unicode.rst:1668 msgid "" "Return the number of non-overlapping occurrences of *substr* in ``str[start:" "end]``. Return ``-1`` if an error occurred." @@ -2591,7 +2607,7 @@ msgstr "" "Retorna el número de ocurrencias no superpuestas de *substr* en ``str[start:" "end]``. Retorna ``-1`` si ocurrió un error." -#: ../Doc/c-api/unicode.rst:1657 +#: ../Doc/c-api/unicode.rst:1675 msgid "" "Replace at most *maxcount* occurrences of *substr* in *str* with *replstr* " "and return the resulting Unicode object. *maxcount* == ``-1`` means replace " @@ -2601,7 +2617,7 @@ msgstr "" "*replstr* y retorna el objeto Unicode resultante. *maxcount* == ``-1`` " "significa reemplazar todas las ocurrencias." -#: ../Doc/c-api/unicode.rst:1664 +#: ../Doc/c-api/unicode.rst:1682 msgid "" "Compare two strings and return ``-1``, ``0``, ``1`` for less than, equal, " "and greater than, respectively." @@ -2609,7 +2625,7 @@ msgstr "" "Compara dos cadenas de caracteres y retorna ``-1``, ``0``, ``1`` para menor " "que, igual y mayor que, respectivamente." -#: ../Doc/c-api/unicode.rst:1667 +#: ../Doc/c-api/unicode.rst:1685 msgid "" "This function returns ``-1`` upon failure, so one should call :c:func:" "`PyErr_Occurred` to check for errors." @@ -2617,7 +2633,7 @@ msgstr "" "Esta función retorna ``-1`` en caso de falla, por lo que se debe llamar a :c:" "func:`PyErr_Occurred` para verificar si hay errores." -#: ../Doc/c-api/unicode.rst:1673 +#: ../Doc/c-api/unicode.rst:1691 msgid "" "Compare a Unicode object, *uni*, with *string* and return ``-1``, ``0``, " "``1`` for less than, equal, and greater than, respectively. It is best to " @@ -2629,30 +2645,30 @@ msgstr "" "solo cadenas de caracteres codificadas en ASCII, pero la función interpreta " "la cadena de entrada como ISO-8859-1 si contiene caracteres no ASCII." -#: ../Doc/c-api/unicode.rst:1678 +#: ../Doc/c-api/unicode.rst:1696 msgid "This function does not raise exceptions." msgstr "Esta función no genera excepciones." -#: ../Doc/c-api/unicode.rst:1683 +#: ../Doc/c-api/unicode.rst:1701 msgid "Rich compare two Unicode strings and return one of the following:" msgstr "" "Comparación enriquecida de dos cadenas de caracteres Unicode y retorna uno " "de los siguientes:" -#: ../Doc/c-api/unicode.rst:1685 +#: ../Doc/c-api/unicode.rst:1703 msgid "``NULL`` in case an exception was raised" msgstr "``NULL`` en caso de que se produzca una excepción" -#: ../Doc/c-api/unicode.rst:1686 +#: ../Doc/c-api/unicode.rst:1704 msgid ":const:`Py_True` or :const:`Py_False` for successful comparisons" msgstr ":const:`Py_True` o :const:`Py_False` para comparaciones exitosas" -#: ../Doc/c-api/unicode.rst:1687 +#: ../Doc/c-api/unicode.rst:1705 msgid ":const:`Py_NotImplemented` in case the type combination is unknown" msgstr "" ":const:`Py_NotImplemented` en caso que se desconozca la combinación de tipos." -#: ../Doc/c-api/unicode.rst:1689 +#: ../Doc/c-api/unicode.rst:1707 msgid "" "Possible values for *op* are :const:`Py_GT`, :const:`Py_GE`, :const:" "`Py_EQ`, :const:`Py_NE`, :const:`Py_LT`, and :const:`Py_LE`." @@ -2660,7 +2676,7 @@ msgstr "" "Los posibles valores para *op* son :const:`Py_GT`, :const:`Py_GE`, :const:" "`Py_EQ`, :const:`Py_NE`, :const:`Py_LT`, y :const:`Py_LE`." -#: ../Doc/c-api/unicode.rst:1695 +#: ../Doc/c-api/unicode.rst:1713 msgid "" "Return a new string object from *format* and *args*; this is analogous to " "``format % args``." @@ -2668,7 +2684,7 @@ msgstr "" "Retorna un nuevo objeto de cadena de caracteres desde *format* y *args*; " "esto es análogo al ``format % args``." -#: ../Doc/c-api/unicode.rst:1701 +#: ../Doc/c-api/unicode.rst:1719 msgid "" "Check whether *element* is contained in *container* and return true or false " "accordingly." @@ -2676,7 +2692,7 @@ msgstr "" "Comprueba si *element* está contenido en *container* y retorna verdadero o " "falso en consecuencia." -#: ../Doc/c-api/unicode.rst:1704 +#: ../Doc/c-api/unicode.rst:1722 msgid "" "*element* has to coerce to a one element Unicode string. ``-1`` is returned " "if there was an error." @@ -2684,7 +2700,7 @@ msgstr "" "*element* tiene que convertir a una cadena de caracteres Unicode. Se retorna " "``-1`` si hubo un error." -#: ../Doc/c-api/unicode.rst:1710 +#: ../Doc/c-api/unicode.rst:1728 msgid "" "Intern the argument *\\*string* in place. The argument must be the address " "of a pointer variable pointing to a Python Unicode string object. If there " @@ -2708,7 +2724,7 @@ msgstr "" "recuento de referencia; usted es el propietario del objeto después de la " "llamada si y solo si lo tenía antes de la llamada)." -#: ../Doc/c-api/unicode.rst:1723 +#: ../Doc/c-api/unicode.rst:1741 msgid "" "A combination of :c:func:`PyUnicode_FromString` and :c:func:" "`PyUnicode_InternInPlace`, returning either a new Unicode string object that " @@ -2720,3 +2736,39 @@ msgstr "" "caracteres Unicode que ha sido creado internamente o una nueva " "referencia(\"propia\") a un objeto de cadena de caracteres interno anterior " "con el mismo valor" + +#~ msgid "Clear the free list. Return the total number of freed items." +#~ msgstr "" +#~ "Borra la lista gratuita. Retorna el número total de artículos liberados." + +#~ msgid "Please migrate to using :c:func:`PyUnicode_GetLength`." +#~ msgstr "Por favor migrar para usar :c:func:`PyUnicode_GetLength`." + +#~ msgid "" +#~ "Translate a Unicode object using the given *mapping* object and return " +#~ "the resulting Unicode object. Return ``NULL`` if an exception was raised " +#~ "by the codec." +#~ msgstr "" +#~ "Traduce un objeto Unicode utilizando el objeto *mapping* dado y retorna " +#~ "el objeto Unicode resultante. Retorna ``NULL`` si el códec provocó una " +#~ "excepción." + +#~ msgid "" +#~ "The *mapping* object must map Unicode ordinal integers to Unicode " +#~ "strings, integers (which are then interpreted as Unicode ordinals) or " +#~ "``None`` (causing deletion of the character). Unmapped character " +#~ "ordinals (ones which cause a :exc:`LookupError`) are left untouched and " +#~ "are copied as-is." +#~ msgstr "" +#~ "El objeto *mapping* debe asignar enteros ordinales Unicode a cadenas de " +#~ "caracteres Unicode, enteros (que luego se interpretan como ordinales " +#~ "Unicode) o ``None`` (causando la eliminación del carácter). Los ordinales " +#~ "de caracteres no asignados (los que causan un :exc:`LookupError`) se " +#~ "dejan intactos y se copian tal cual." + +#~ msgid "" +#~ "Translate a string by applying a character mapping table to it and return " +#~ "the resulting Unicode object." +#~ msgstr "" +#~ "Traduce una cadena de caracteres aplicando una tabla de mapeo de " +#~ "caracteres y retorna el objeto Unicode resultante." diff --git a/c-api/veryhigh.po b/c-api/veryhigh.po index 28874742a8..adc09a1e85 100644 --- a/c-api/veryhigh.po +++ b/c-api/veryhigh.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-08 00:54+0200\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/c-api/veryhigh.rst:8 msgid "The Very High Level Layer" @@ -49,14 +48,15 @@ msgstr "" "siguiendo las funciones que los aceptan como parámetros." #: ../Doc/c-api/veryhigh.rst:19 +#, fuzzy msgid "" -"Note also that several of these functions take :c:type:`FILE\\*` " -"parameters. One particular issue which needs to be handled carefully is " -"that the :c:type:`FILE` structure for different C libraries can be different " -"and incompatible. Under Windows (at least), it is possible for dynamically " +"Note also that several of these functions take :c:type:`FILE*` parameters. " +"One particular issue which needs to be handled carefully is that the :c:type:" +"`FILE` structure for different C libraries can be different and " +"incompatible. Under Windows (at least), it is possible for dynamically " "linked extensions to actually use different libraries, so care should be " -"taken that :c:type:`FILE\\*` parameters are only passed to these functions " -"if it is certain that they were created by the same library that the Python " +"taken that :c:type:`FILE*` parameters are only passed to these functions if " +"it is certain that they were created by the same library that the Python " "runtime is using." msgstr "" "Tenga en cuenta también que varias de estas funciones toman parámetros :c:" @@ -214,9 +214,10 @@ msgstr "" "PyRun_SimpleFileExFlags retorne." #: ../Doc/c-api/veryhigh.rst:120 +#, fuzzy msgid "" "On Windows, *fp* should be opened as binary mode (e.g. ``fopen(filename, \"rb" -"\")``. Otherwise, Python may not handle script file with LF line ending " +"\")``). Otherwise, Python may not handle script file with LF line ending " "correctly." msgstr "" "En Windows, *fp* debe abrirse en modo binario (por ejemplo, " @@ -344,7 +345,7 @@ msgstr "" "`PyParser_SimpleParseStringFlagsFilename` más abajo, dejando *filename* " "establecido a ``NULL`` y *flags* establecido a ``0``." -#: ../Doc/c-api/veryhigh.rst:199 +#: ../Doc/c-api/veryhigh.rst:201 msgid "" "This is a simplified interface to :c:func:" "`PyParser_SimpleParseStringFlagsFilename` below, leaving *filename* set to " @@ -354,7 +355,7 @@ msgstr "" "`PyParser_SimpleParseStringFlagsFilename` más abajo, dejando *filename* " "establecido a ``NULL``." -#: ../Doc/c-api/veryhigh.rst:206 +#: ../Doc/c-api/veryhigh.rst:210 msgid "" "Parse Python source code from *str* using the start token *start* according " "to the *flags* argument. The result can be used to create a code object " @@ -369,7 +370,7 @@ msgstr "" "veces. *filename* se decodifica a partir de la codificación del sistema de " "archivos (:func:`sys.getfilesystemencoding`)." -#: ../Doc/c-api/veryhigh.rst:215 +#: ../Doc/c-api/veryhigh.rst:221 msgid "" "This is a simplified interface to :c:func:`PyParser_SimpleParseFileFlags` " "below, leaving *flags* set to ``0``." @@ -378,7 +379,7 @@ msgstr "" "`PyParser_SimpleParseFileFlags` más abajo, dejando *flags* establecido a " "``0``." -#: ../Doc/c-api/veryhigh.rst:221 +#: ../Doc/c-api/veryhigh.rst:229 msgid "" "Similar to :c:func:`PyParser_SimpleParseStringFlagsFilename`, but the Python " "source code is read from *fp* instead of an in-memory string." @@ -387,7 +388,7 @@ msgstr "" "fuente de Python se lee desde *fp* en lugar de una cadena de caracteres en " "memoria." -#: ../Doc/c-api/veryhigh.rst:227 +#: ../Doc/c-api/veryhigh.rst:237 msgid "" "This is a simplified interface to :c:func:`PyRun_StringFlags` below, leaving " "*flags* set to ``NULL``." @@ -395,7 +396,7 @@ msgstr "" "Esta es una interfaz simplificada para :c:func:`PyRun_StringFlags` más " "abajo, dejando *flags* establecido a ``NULL``." -#: ../Doc/c-api/veryhigh.rst:233 +#: ../Doc/c-api/veryhigh.rst:243 msgid "" "Execute Python source code from *str* in the context specified by the " "objects *globals* and *locals* with the compiler flags specified by " @@ -410,7 +411,7 @@ msgstr "" "*start* especifica el token de inicio que se debe usar para analizar el " "código fuente." -#: ../Doc/c-api/veryhigh.rst:239 +#: ../Doc/c-api/veryhigh.rst:249 msgid "" "Returns the result of executing the code as a Python object, or ``NULL`` if " "an exception was raised." @@ -418,7 +419,7 @@ msgstr "" "Retorna el resultado de ejecutar el código como un objeto Python, o " "``NULL``' si se produjo una excepción." -#: ../Doc/c-api/veryhigh.rst:245 +#: ../Doc/c-api/veryhigh.rst:255 msgid "" "This is a simplified interface to :c:func:`PyRun_FileExFlags` below, leaving " "*closeit* set to ``0`` and *flags* set to ``NULL``." @@ -427,7 +428,7 @@ msgstr "" "abajo, dejando *closeit* establecido a ``0`` y *flags* establecido a " "``NULL``." -#: ../Doc/c-api/veryhigh.rst:251 +#: ../Doc/c-api/veryhigh.rst:261 msgid "" "This is a simplified interface to :c:func:`PyRun_FileExFlags` below, leaving " "*flags* set to ``NULL``." @@ -435,7 +436,7 @@ msgstr "" "Esta es una interfaz simplificada para :c:func:`PyRun_FileExFlags` más " "abajo, dejando *flags* establecido a ``NULL``." -#: ../Doc/c-api/veryhigh.rst:257 +#: ../Doc/c-api/veryhigh.rst:267 msgid "" "This is a simplified interface to :c:func:`PyRun_FileExFlags` below, leaving " "*closeit* set to ``0``." @@ -443,7 +444,7 @@ msgstr "" "Esta es una interfaz simplificada para :c:func:`PyRun_FileExFlags` más " "abajo, dejando *closeit* establecido a ``0``." -#: ../Doc/c-api/veryhigh.rst:263 +#: ../Doc/c-api/veryhigh.rst:273 msgid "" "Similar to :c:func:`PyRun_StringFlags`, but the Python source code is read " "from *fp* instead of an in-memory string. *filename* should be the name of " @@ -458,7 +459,7 @@ msgstr "" "verdadero, el archivo se cierra antes que :c:func:`PyRun_FileExFlags` " "retorne." -#: ../Doc/c-api/veryhigh.rst:272 +#: ../Doc/c-api/veryhigh.rst:282 msgid "" "This is a simplified interface to :c:func:`Py_CompileStringFlags` below, " "leaving *flags* set to ``NULL``." @@ -466,7 +467,7 @@ msgstr "" "Esta es una interfaz simplificada para :c:func:`Py_CompileStringFlags` más " "abajo, dejando *flags* establecido a ``NULL``." -#: ../Doc/c-api/veryhigh.rst:278 +#: ../Doc/c-api/veryhigh.rst:288 msgid "" "This is a simplified interface to :c:func:`Py_CompileStringExFlags` below, " "with *optimize* set to ``-1``." @@ -474,7 +475,7 @@ msgstr "" "Esta es una interfaz simplificada para :c:func:`Py_CompileStringExFlags` más " "abajo, con *optimize* establecido a ``-1``." -#: ../Doc/c-api/veryhigh.rst:284 +#: ../Doc/c-api/veryhigh.rst:294 msgid "" "Parse and compile the Python source code in *str*, returning the resulting " "code object. The start token is given by *start*; this can be used to " @@ -493,7 +494,7 @@ msgstr "" "mensajes de excepción :exc:`SyntaxError`. Esto retorna ``NULL``' si el " "código no se puede analizar gramaticalmente o compilar." -#: ../Doc/c-api/veryhigh.rst:292 +#: ../Doc/c-api/veryhigh.rst:302 msgid "" "The integer *optimize* specifies the optimization level of the compiler; a " "value of ``-1`` selects the optimization level of the interpreter as given " @@ -508,7 +509,7 @@ msgstr "" "(los *asserts* se eliminan, ``__debug__`` es falso) o ``2`` (los docstrings " "también se eliminan) )" -#: ../Doc/c-api/veryhigh.rst:303 +#: ../Doc/c-api/veryhigh.rst:313 msgid "" "Like :c:func:`Py_CompileStringObject`, but *filename* is a byte string " "decoded from the filesystem encoding (:func:`os.fsdecode`)." @@ -517,7 +518,7 @@ msgstr "" "caracteres de byte decodificado desde la codificación del sistema de " "archivos (:func:`os.fsdecode`)." -#: ../Doc/c-api/veryhigh.rst:310 +#: ../Doc/c-api/veryhigh.rst:320 msgid "" "This is a simplified interface to :c:func:`PyEval_EvalCodeEx`, with just the " "code object, and global and local variables. The other arguments are set to " @@ -527,7 +528,7 @@ msgstr "" "el objeto de código y las variables globales y locales. Los otros argumentos " "están establecidos en ``NULL``." -#: ../Doc/c-api/veryhigh.rst:317 +#: ../Doc/c-api/veryhigh.rst:327 msgid "" "Evaluate a precompiled code object, given a particular environment for its " "evaluation. This environment consists of a dictionary of global variables, " @@ -542,7 +543,7 @@ msgstr "" "argumentos :ref:`keyword-only ` y una tupla de " "cierre de células." -#: ../Doc/c-api/veryhigh.rst:326 +#: ../Doc/c-api/veryhigh.rst:336 msgid "" "The C structure of the objects used to describe frame objects. The fields of " "this type are subject to change at any time." @@ -550,7 +551,7 @@ msgstr "" "La estructura en C de los objetos utilizados para describir objetos del " "marco. Los campos de este tipo están sujetos a cambios en cualquier momento." -#: ../Doc/c-api/veryhigh.rst:332 +#: ../Doc/c-api/veryhigh.rst:342 msgid "" "Evaluate an execution frame. This is a simplified interface to :c:func:" "`PyEval_EvalFrameEx`, for backward compatibility." @@ -558,7 +559,7 @@ msgstr "" "Evaluar un marco de ejecución. Esta es una interfaz simplificada para :c:" "func:`PyEval_EvalFrameEx`, para compatibilidad con versiones anteriores." -#: ../Doc/c-api/veryhigh.rst:338 +#: ../Doc/c-api/veryhigh.rst:348 msgid "" "This is the main, unvarnished function of Python interpretation. The code " "object associated with the execution frame *f* is executed, interpreting " @@ -574,7 +575,7 @@ msgstr "" "general; si es verdadero, entonces se genera una excepción de inmediato; " "esto se usa para los métodos :meth:`~generator.throw` de objetos generadores." -#: ../Doc/c-api/veryhigh.rst:345 +#: ../Doc/c-api/veryhigh.rst:355 msgid "" "This function now includes a debug assertion to help ensure that it does not " "silently discard an active exception." @@ -582,7 +583,7 @@ msgstr "" "Esta función ahora incluye una afirmación de depuración para ayudar a " "garantizar que no descarte silenciosamente una excepción activa." -#: ../Doc/c-api/veryhigh.rst:352 +#: ../Doc/c-api/veryhigh.rst:362 msgid "" "This function changes the flags of the current evaluation frame, and returns " "true on success, false on failure." @@ -590,7 +591,7 @@ msgstr "" "Esta función cambia los flags del marco de evaluación actual, y retorna " "verdad (*true*) en caso de éxito, falso (*false*) en caso de fallo." -#: ../Doc/c-api/veryhigh.rst:360 +#: ../Doc/c-api/veryhigh.rst:370 msgid "" "The start symbol from the Python grammar for isolated expressions; for use " "with :c:func:`Py_CompileString`." @@ -598,7 +599,7 @@ msgstr "" "El símbolo de inicio de la gramática de Python para expresiones aisladas; " "para usar con :c:func:`Py_CompileString`." -#: ../Doc/c-api/veryhigh.rst:368 +#: ../Doc/c-api/veryhigh.rst:378 msgid "" "The start symbol from the Python grammar for sequences of statements as read " "from a file or other source; for use with :c:func:`Py_CompileString`. This " @@ -609,7 +610,7 @@ msgstr "" "`Py_CompileString`. Este es el símbolo usado cuando se compile un código " "fuente en Python arbitrariamente largo." -#: ../Doc/c-api/veryhigh.rst:377 +#: ../Doc/c-api/veryhigh.rst:387 msgid "" "The start symbol from the Python grammar for a single statement; for use " "with :c:func:`Py_CompileString`. This is the symbol used for the interactive " @@ -619,7 +620,7 @@ msgstr "" "para usar con :c:func:`Py_CompileString`. Este es el símbolo usado para el " "bucle interactivo del intérprete." -#: ../Doc/c-api/veryhigh.rst:384 +#: ../Doc/c-api/veryhigh.rst:394 msgid "" "This is the structure used to hold compiler flags. In cases where code is " "only being compiled, it is passed as ``int flags``, and in cases where code " @@ -632,7 +633,7 @@ msgstr "" "*flags``. En este caso, ``from __future__ import`` puede modificar los " "*flags*." -#: ../Doc/c-api/veryhigh.rst:389 +#: ../Doc/c-api/veryhigh.rst:399 msgid "" "Whenever ``PyCompilerFlags *flags`` is ``NULL``, :attr:`cf_flags` is treated " "as equal to ``0``, and any modification due to ``from __future__ import`` is " @@ -642,11 +643,11 @@ msgstr "" "tratado como igual a ``0``, y cualquier modificación debido a ``from " "__future__ import`` es descartada." -#: ../Doc/c-api/veryhigh.rst:395 +#: ../Doc/c-api/veryhigh.rst:405 msgid "Compiler flags." msgstr "Flags del compilador." -#: ../Doc/c-api/veryhigh.rst:399 +#: ../Doc/c-api/veryhigh.rst:409 msgid "" "*cf_feature_version* is the minor Python version. It should be initialized " "to ``PY_MINOR_VERSION``." @@ -654,7 +655,7 @@ msgstr "" "*cf_feature_version* es la versión menor de Python. Debe ser inicializado a " "``PY_MINOR_VERSION``." -#: ../Doc/c-api/veryhigh.rst:402 +#: ../Doc/c-api/veryhigh.rst:412 msgid "" "The field is ignored by default, it is used if and only if ``PyCF_ONLY_AST`` " "flag is set in *cf_flags*." @@ -662,11 +663,11 @@ msgstr "" "El campo es ignorado por defecto, es usado si y solo si el flag " "``PyCF_ONLY_AST`` está configurado en *cf_flags*." -#: ../Doc/c-api/veryhigh.rst:405 +#: ../Doc/c-api/veryhigh.rst:415 msgid "Added *cf_feature_version* field." msgstr "Agregado el campo *cf_feature_version*." -#: ../Doc/c-api/veryhigh.rst:411 +#: ../Doc/c-api/veryhigh.rst:421 msgid "" "This bit can be set in *flags* to cause division operator ``/`` to be " "interpreted as \"true division\" according to :pep:`238`." diff --git a/c-api/weakref.po b/c-api/weakref.po index d393c10dae..4ea3a1260a 100644 --- a/c-api/weakref.po +++ b/c-api/weakref.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-17 14:49+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-07 09:39+0200\n" "Last-Translator: \n" "Language: es\n" @@ -39,18 +39,24 @@ msgstr "" "como un proxy del objeto original tanto como pueda." #: ../Doc/c-api/weakref.rst:16 -msgid "Return true if *ob* is either a reference or proxy object." +#, fuzzy +msgid "" +"Return true if *ob* is either a reference or proxy object. This function " +"always succeeds." msgstr "Retorna verdad (true) si *ob* es una referencia o un objeto proxy." -#: ../Doc/c-api/weakref.rst:21 -msgid "Return true if *ob* is a reference object." +#: ../Doc/c-api/weakref.rst:22 +#, fuzzy +msgid "" +"Return true if *ob* is a reference object. This function always succeeds." msgstr "Retorna verdad (true) si *ob* es un objeto de referencia." -#: ../Doc/c-api/weakref.rst:26 -msgid "Return true if *ob* is a proxy object." +#: ../Doc/c-api/weakref.rst:27 +#, fuzzy +msgid "Return true if *ob* is a proxy object. This function always succeeds." msgstr "Retorna verdad (true) si *ob* es un objeto proxy." -#: ../Doc/c-api/weakref.rst:31 +#: ../Doc/c-api/weakref.rst:32 #, fuzzy msgid "" "Return a weak reference object for the object *ob*. This will always return " @@ -72,7 +78,7 @@ msgstr "" "referido de forma débil, o si *callback* no es invocable, ``None``, o " "``NULL``, esto retornará ``NULL`` y causará un :exc:`TypeError`." -#: ../Doc/c-api/weakref.rst:43 +#: ../Doc/c-api/weakref.rst:44 #, fuzzy msgid "" "Return a weak reference proxy object for the object *ob*. This will always " @@ -94,7 +100,7 @@ msgstr "" "que puede ser referido de forma débil, o si *callback* no es invocable, " "``None``, o ``NULL``, esto retornará ``NULL`` y causará un :exc:`TypeError`." -#: ../Doc/c-api/weakref.rst:55 +#: ../Doc/c-api/weakref.rst:56 msgid "" "Return the referenced object from a weak reference, *ref*. If the referent " "is no longer live, returns :const:`Py_None`." @@ -102,7 +108,7 @@ msgstr "" "Retorna el objeto referenciado desde una referencia débil, *ref*. Si el " "referente no está vivo, retornará :const:`Py_None`." -#: ../Doc/c-api/weakref.rst:60 +#: ../Doc/c-api/weakref.rst:61 msgid "" "This function returns a **borrowed reference** to the referenced object. " "This means that you should always call :c:func:`Py_INCREF` on the object " @@ -112,7 +118,7 @@ msgstr "" "significa que siempre debes llamar :c:func:`Py_INCREF` en el objeto excepto " "si sabes que no puede ser destruido mientras lo estés usando." -#: ../Doc/c-api/weakref.rst:68 +#: ../Doc/c-api/weakref.rst:69 msgid "" "Similar to :c:func:`PyWeakref_GetObject`, but implemented as a macro that " "does no error checking." diff --git a/conf.py b/conf.py index 8956b12c0a..26ae74f940 100644 --- a/conf.py +++ b/conf.py @@ -18,7 +18,7 @@ sys.path.append(os.path.abspath('cpython/Doc/includes')) # Import all the Sphinx settings from cpython -sys.path.append(os.path.abspath('cpython/Doc')) +sys.path.insert(0, os.path.abspath('cpython/Doc')) from conf import * # Call patchlevel with the proper path to get the version from @@ -39,11 +39,27 @@ html_short_title = f'Documentación {release}' html_title = f'Documentación de Python en Español -- {release}' -exclude_patterns = [ - # This file is not included and it not marked as :orphan: + +# Extend settings from upstream +_exclude_patterns = [ + # This file is not included and it's not marked as :orphan: 'distutils/_setuptools_disclaimer.rst', - 'README.rst', + 'cpython/Doc/distutils/_setuptools_disclaimer.rst', +] +if 'exclude_patterns' in globals(): + exclude_patterns += _exclude_patterns +else: + exclude_patterns = _exclude_patterns + +_extensions = [ + 'sphinx_tabs.tabs', + 'sphinxemoji.sphinxemoji', ] +if 'extensions' in globals(): + extensions += _extensions +else: + extensions = _extensions + if not os.environ.get('SPHINX_GETTEXT') == 'True': # Override all the files from ``.overrides`` directory @@ -69,18 +85,6 @@ _stdauthor, 'manual'), ] -try: - extensions.extend([ - 'sphinx_tabs.tabs', - 'sphinxemoji.sphinxemoji', - ]) -except NameError: - extensions = [ - 'sphinx_tabs.tabs', - 'sphinxemoji.sphinxemoji', - ] - - def setup(app): def add_contributing_banner(app, doctree): diff --git a/copyright.po b/copyright.po index 19078233cf..f9a8b5221f 100644 --- a/copyright.po +++ b/copyright.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: python-doc-es\n" @@ -29,7 +29,7 @@ msgid "Python and this documentation is:" msgstr "" #: ../Doc/copyright.rst:7 -msgid "Copyright © 2001-2020 Python Software Foundation. All rights reserved." +msgid "Copyright © 2001-2021 Python Software Foundation. All rights reserved." msgstr "" #: ../Doc/copyright.rst:9 diff --git a/cpython b/cpython index 70fe95cdc9..e8e341993e 160000 --- a/cpython +++ b/cpython @@ -1 +1 @@ -Subproject commit 70fe95cdc9ac1b00d4f86b7525dca80caf7003e1 +Subproject commit e8e341993e3f80a3c456fb8e0219530c93c13151 diff --git a/dictionaries/library_socket.txt b/dictionaries/library_socket.txt new file mode 100644 index 0000000000..bae452eef7 --- /dev/null +++ b/dictionaries/library_socket.txt @@ -0,0 +1,18 @@ +socket +sockets +buffers +búfer +Unix +Windows +tuplas +Python +host +heredable +multidifusión +close +Ethernet +Qualcomm +meth +dfn +Linux +co diff --git a/distributing/index.po b/distributing/index.po index bf83c2b347..71adae1eb2 100644 --- a/distributing/index.po +++ b/distributing/index.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" -"Last-Translator: Federico Jurío \n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-08-16 20:23-0300\n" +"Last-Translator: Federico Jurío \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"X-Generator: Poedit 2.4.1\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Language: es\n" #: ../Doc/distributing/index.rst:5 msgid "Distributing Python Modules" @@ -283,28 +282,32 @@ msgstr "`Compilando y empaquetando el proyecto`_" msgid "`Uploading the project to the Python Packaging Index`_" msgstr "`Subiendo el proyecto al Python Packaging Index`_" -#: ../Doc/distributing/index.rst:141 +#: ../Doc/distributing/index.rst:131 +msgid "`The .pypirc file`_" +msgstr "" + +#: ../Doc/distributing/index.rst:144 msgid "How do I...?" msgstr "Cómo puedo...?" -#: ../Doc/distributing/index.rst:143 +#: ../Doc/distributing/index.rst:146 msgid "These are quick answers or links for some common tasks." msgstr "Estas son respuestas rápidas o enlaces para algunas tareas comunes." -#: ../Doc/distributing/index.rst:146 +#: ../Doc/distributing/index.rst:149 msgid "... choose a name for my project?" msgstr "... elegir un nombre para mi proyecto?" -#: ../Doc/distributing/index.rst:148 +#: ../Doc/distributing/index.rst:151 msgid "This isn't an easy topic, but here are a few tips:" msgstr "Este no es un tema fácil, pero aquí hay algunos consejos:" -#: ../Doc/distributing/index.rst:150 +#: ../Doc/distributing/index.rst:153 msgid "check the Python Packaging Index to see if the name is already in use" msgstr "" "verifique el \"Python Packaging Index\" para ver si el nombre ya está en uso" -#: ../Doc/distributing/index.rst:151 +#: ../Doc/distributing/index.rst:154 msgid "" "check popular hosting sites like GitHub, Bitbucket, etc to see if there is " "already a project with that name" @@ -312,13 +315,13 @@ msgstr "" "verifique sitios de alojamiento populares como GitHub, Bitbucket, etc. para " "ver si ya existe un proyecto con ese nombre" -#: ../Doc/distributing/index.rst:153 +#: ../Doc/distributing/index.rst:156 msgid "check what comes up in a web search for the name you're considering" msgstr "" "verifique lo que aparece en una búsqueda web para el nombre que está " "considerando" -#: ../Doc/distributing/index.rst:154 +#: ../Doc/distributing/index.rst:157 msgid "" "avoid particularly common words, especially ones with multiple meanings, as " "they can make it difficult for users to find your software when searching " @@ -328,11 +331,11 @@ msgstr "" "significados, ya que pueden dificultar que los usuarios encuentren su " "software cuando lo busquen" -#: ../Doc/distributing/index.rst:160 +#: ../Doc/distributing/index.rst:163 msgid "... create and distribute binary extensions?" msgstr "... crear y distribuir extensiones binarias?" -#: ../Doc/distributing/index.rst:162 +#: ../Doc/distributing/index.rst:165 msgid "" "This is actually quite a complex topic, with a variety of alternatives " "available depending on exactly what you're aiming to achieve. See the Python " @@ -342,7 +345,7 @@ msgstr "" "disponibles según exactamente lo que pretenda lograr. Consulte la \"Python " "Packaging User Guide\" para obtener más información y recomendaciones." -#: ../Doc/distributing/index.rst:168 +#: ../Doc/distributing/index.rst:171 msgid "" "`Python Packaging User Guide: Binary Extensions `__" diff --git a/distutils/apiref.po b/distutils/apiref.po index 28408efa73..3713120aad 100644 --- a/distutils/apiref.po +++ b/distutils/apiref.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:39+0100\n" "PO-Revision-Date: 2020-09-13 20:10-0400\n" +"Last-Translator: Samantha Valdez\n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"X-Generator: Poedit 2.4.1\n" -"Last-Translator: Samantha Valdez\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Language: es\n" #: ../Doc/distutils/apiref.rst:5 msgid "API Reference" @@ -40,17 +39,6 @@ msgstr "" "otras API, hace que la API sea coherente en diferentes versiones de Python " "y, por lo tanto, se recomienda usar ``distutils`` directamente." -#: ../Doc/distutils/_setuptools_disclaimer.rst:3 -msgid "" -"This document is being retained solely until the ``setuptools`` " -"documentation at https://setuptools.readthedocs.io/en/latest/setuptools.html " -"independently covers all of the relevant information currently included here." -msgstr "" -"Este documento se conserva únicamente hasta que la documentación de " -"``setuptools`` en https://setuptools.readthedocs.io/en/latest/setuptools." -"html cubra de forma independiente toda la información relevante que " -"actualmente se incluye aquí." - #: ../Doc/distutils/apiref.rst:19 msgid ":mod:`distutils.core` --- Core Distutils functionality" msgstr ":mod:`distutils.core` --- Funcionalidad Core Distutils" @@ -392,7 +380,7 @@ msgstr "" "procesamiento; los valores posibles son:" #: ../Doc/distutils/apiref.rst:143 ../Doc/distutils/apiref.rst:562 -#: ../Doc/distutils/apiref.rst:1583 +#: ../Doc/distutils/apiref.rst:1601 msgid "description" msgstr "descripción" @@ -2146,7 +2134,42 @@ msgstr "``macosx-10.5-universal``" msgid "``macosx-10.6-intel``" msgstr "``macosx-10.6-intel``" -#: ../Doc/distutils/apiref.rst:1148 +#: ../Doc/distutils/apiref.rst:1145 +msgid "" +"For AIX, Python 3.9 and later return a string starting with \"aix\", " +"followed by additional fields (separated by ``'-'``) that represent the " +"combined values of AIX Version, Release and Technology Level (first field), " +"Build Date (second field), and bit-size (third field). Python 3.8 and " +"earlier returned only a single additional field with the AIX Version and " +"Release." +msgstr "" + +#: ../Doc/distutils/apiref.rst:1151 +#, fuzzy +msgid "Examples of returned values on AIX:" +msgstr "Ejemplos de valores retornados:" + +#: ../Doc/distutils/apiref.rst:1153 +msgid "" +"``aix-5307-0747-32`` # 32-bit build on AIX ``oslevel -s``: 5300-07-00-0000" +msgstr "" + +#: ../Doc/distutils/apiref.rst:1155 +msgid "" +"``aix-7105-1731-64`` # 64-bit build on AIX ``oslevel -s``: 7100-05-01-1731" +msgstr "" + +#: ../Doc/distutils/apiref.rst:1157 +msgid "``aix-7.2`` # Legacy form reported in Python 3.8 and earlier" +msgstr "" + +#: ../Doc/distutils/apiref.rst:1159 +msgid "" +"The AIX platform string format now also includes the technology level, build " +"date, and ABI bit-size." +msgstr "" + +#: ../Doc/distutils/apiref.rst:1166 msgid "" "Return 'pathname' as a name that will work on the native filesystem, i.e. " "split it on '/' and put it back together again using the current directory " @@ -2163,7 +2186,7 @@ msgstr "" "sistema de archivos. Lanza :exc:`ValueError` en sistemas que no son Unix-ish " "si *pathname* comienza o termina con una barra." -#: ../Doc/distutils/apiref.rst:1158 +#: ../Doc/distutils/apiref.rst:1176 msgid "" "Return *pathname* with *new_root* prepended. If *pathname* is relative, " "this is equivalent to ``os.path.join(new_root,pathname)`` Otherwise, it " @@ -2175,7 +2198,7 @@ msgstr "" "requiere hacer que *pathname* sea relativo y luego unir los dos, lo cual es " "complicado en DOS/Windows." -#: ../Doc/distutils/apiref.rst:1165 +#: ../Doc/distutils/apiref.rst:1183 msgid "" "Ensure that 'os.environ' has all the environment variables we guarantee that " "users can use in config files, command-line options, etc. Currently this " @@ -2185,11 +2208,11 @@ msgstr "" "garantizamos que los usuarios pueden usar en archivos de configuración, " "opciones de línea de comandos, etc. Actualmente, esto incluye:" -#: ../Doc/distutils/apiref.rst:1169 +#: ../Doc/distutils/apiref.rst:1187 msgid ":envvar:`HOME` - user's home directory (Unix only)" msgstr ":envvar:`HOME` - directorio de inicio del usuario (solo Unix)" -#: ../Doc/distutils/apiref.rst:1170 +#: ../Doc/distutils/apiref.rst:1188 msgid "" ":envvar:`PLAT` - description of the current platform, including hardware and " "OS (see :func:`get_platform`)" @@ -2197,7 +2220,7 @@ msgstr "" ":envvar:`PLAT` - descripción de la plataforma actual, incluido el hardware y " "el sistema operativo (consulta :func:`get_platform`)" -#: ../Doc/distutils/apiref.rst:1176 +#: ../Doc/distutils/apiref.rst:1194 msgid "" "Perform shell/Perl-style variable substitution on *s*. Every occurrence of " "``$`` followed by a name is considered a variable, and variable is " @@ -2215,7 +2238,7 @@ msgstr "" "ver :func:`check_environ`. Lanza :exc:`ValueError` para cualquier variable " "que no se encuentre en *local_vars* u ``os.environ``." -#: ../Doc/distutils/apiref.rst:1183 +#: ../Doc/distutils/apiref.rst:1201 msgid "" "Note that this is not a fully-fledged string interpolation function. A valid " "``$variable`` can consist only of upper and lower case letters, numbers and " @@ -2226,7 +2249,7 @@ msgstr "" "mayúsculas y minúsculas, números y un guión bajo. No hay citas de estilo {} " "o () disponibles." -#: ../Doc/distutils/apiref.rst:1190 +#: ../Doc/distutils/apiref.rst:1208 msgid "" "Split a string up according to Unix shell-like rules for quotes and " "backslashes. In short: words are delimited by spaces, as long as those " @@ -2246,7 +2269,7 @@ msgstr "" "de comillas se eliminan de cualquier string entre comillas. Retorna una " "lista de palabras." -#: ../Doc/distutils/apiref.rst:1203 +#: ../Doc/distutils/apiref.rst:1221 msgid "" "Perform some action that affects the outside world (for instance, writing to " "the filesystem). Such actions are special because they are disabled by the " @@ -2263,12 +2286,12 @@ msgstr "" "\"acción externa\" que se está realizando), y un mensaje opcional para " "imprimir." -#: ../Doc/distutils/apiref.rst:1212 +#: ../Doc/distutils/apiref.rst:1230 msgid "Convert a string representation of truth to true (1) or false (0)." msgstr "" "Convierte una representación real de un string a verdadero (1) o falso (0)." -#: ../Doc/distutils/apiref.rst:1214 +#: ../Doc/distutils/apiref.rst:1232 msgid "" "True values are ``y``, ``yes``, ``t``, ``true``, ``on`` and ``1``; false " "values are ``n``, ``no``, ``f``, ``false``, ``off`` and ``0``. Raises :exc:" @@ -2278,7 +2301,7 @@ msgstr "" "los valores falsos son ``n``, ``no``, ``f``, ``false``, ``off`` and ``0``. " "Lanza :exc:`ValueError` si *val* es cualquier otra cosa." -#: ../Doc/distutils/apiref.rst:1221 +#: ../Doc/distutils/apiref.rst:1239 msgid "" "Byte-compile a collection of Python source files to :file:`.pyc` files in a :" "file:`__pycache__` subdirectory (see :pep:`3147` and :pep:`488`). *py_files* " @@ -2291,25 +2314,25 @@ msgstr "" "termine en :file:`.py` se omite silenciosamente. *optimize* debe ser uno de " "los siguientes:" -#: ../Doc/distutils/apiref.rst:1226 +#: ../Doc/distutils/apiref.rst:1244 msgid "``0`` - don't optimize" msgstr "``0`` - no optimizar" -#: ../Doc/distutils/apiref.rst:1227 +#: ../Doc/distutils/apiref.rst:1245 msgid "``1`` - normal optimization (like ``python -O``)" msgstr "``1`` - optimización normal (como ``python -O``)" -#: ../Doc/distutils/apiref.rst:1228 +#: ../Doc/distutils/apiref.rst:1246 msgid "``2`` - extra optimization (like ``python -OO``)" msgstr "``2`` - extra optimización (como ``python -OO``)" -#: ../Doc/distutils/apiref.rst:1230 +#: ../Doc/distutils/apiref.rst:1248 msgid "If *force* is true, all files are recompiled regardless of timestamps." msgstr "" "Si *force* es verdadero, todos los archivos se vuelven a compilar " "independientemente de las marcas de tiempo." -#: ../Doc/distutils/apiref.rst:1232 +#: ../Doc/distutils/apiref.rst:1250 msgid "" "The source filename encoded in each :term:`bytecode` file defaults to the " "filenames listed in *py_files*; you can modify these with *prefix* and " @@ -2325,7 +2348,7 @@ msgstr "" "directorio que se antepondrá (después de eliminar *prefix*). Puedes " "proporcionar uno o ambos (o ninguno) de *prefix* y * base_dir*, como desees." -#: ../Doc/distutils/apiref.rst:1239 +#: ../Doc/distutils/apiref.rst:1257 msgid "" "If *dry_run* is true, doesn't actually do anything that would affect the " "filesystem." @@ -2333,7 +2356,7 @@ msgstr "" "Si *dry_run* es verdadero, actualmente no hace nada que pueda afectar el " "sistema de archivos." -#: ../Doc/distutils/apiref.rst:1242 +#: ../Doc/distutils/apiref.rst:1260 msgid "" "Byte-compilation is either done directly in this interpreter process with " "the standard :mod:`py_compile` module, or indirectly by writing a temporary " @@ -2350,7 +2373,7 @@ msgstr "" "utilizado por el script generado en modo indirecto; a menos que sepa lo que " "está haciendo, se deja configurado en ``None``." -#: ../Doc/distutils/apiref.rst:1249 +#: ../Doc/distutils/apiref.rst:1267 msgid "" "Create ``.pyc`` files with an :func:`import magic tag ` in " "their name, in a :file:`__pycache__` subdirectory instead of files without " @@ -2360,11 +2383,11 @@ msgstr "" "en su nombre, en un subdirectorio :file:`__pycache__` en lugar de archivos " "sin etiqueta en el directorio actual." -#: ../Doc/distutils/apiref.rst:1254 +#: ../Doc/distutils/apiref.rst:1272 msgid "Create ``.pyc`` files according to :pep:`488`." msgstr "Crea archivos ``.pyc`` de acuerdo a :pep:`488`." -#: ../Doc/distutils/apiref.rst:1260 +#: ../Doc/distutils/apiref.rst:1278 msgid "" "Return a version of *header* escaped for inclusion in an :rfc:`822` header, " "by ensuring there are 8 spaces space after each newline. Note that it does " @@ -2374,11 +2397,11 @@ msgstr "" "`822`, asegurándose de que haya 8 espacios después de cada nueva línea. Ten " "en cuenta que no hace ninguna otra modificación del string." -#: ../Doc/distutils/apiref.rst:1270 +#: ../Doc/distutils/apiref.rst:1288 msgid ":mod:`distutils.dist` --- The Distribution class" msgstr ":mod:`distutils.dist` --- La clase *Distribution*" -#: ../Doc/distutils/apiref.rst:1277 +#: ../Doc/distutils/apiref.rst:1295 msgid "" "This module provides the :class:`~distutils.core.Distribution` class, which " "represents the module distribution being built/installed/distributed." @@ -2387,11 +2410,11 @@ msgstr "" "representa la distribución del módulo que se está construyendo/instalando/" "distribuyendo." -#: ../Doc/distutils/apiref.rst:1282 +#: ../Doc/distutils/apiref.rst:1300 msgid ":mod:`distutils.extension` --- The Extension class" msgstr ":mod:`distutils.extension` --- La clase *Extension*" -#: ../Doc/distutils/apiref.rst:1289 +#: ../Doc/distutils/apiref.rst:1307 msgid "" "This module provides the :class:`Extension` class, used to describe C/C++ " "extension modules in setup scripts." @@ -2399,19 +2422,19 @@ msgstr "" "Este módulo proporciona la clase :class:`Extension`, que se utiliza para " "describir los módulos de extensión C/C ++ en los scripts de configuración." -#: ../Doc/distutils/apiref.rst:1297 +#: ../Doc/distutils/apiref.rst:1315 msgid ":mod:`distutils.debug` --- Distutils debug mode" msgstr ":mod:`distutils.debug` --- modo de depuración *Distutils*" -#: ../Doc/distutils/apiref.rst:1303 +#: ../Doc/distutils/apiref.rst:1321 msgid "This module provides the DEBUG flag." msgstr "Este módulo proporciona el indicador *DEBUG*." -#: ../Doc/distutils/apiref.rst:1307 +#: ../Doc/distutils/apiref.rst:1325 msgid ":mod:`distutils.errors` --- Distutils exceptions" msgstr ":mod:`distutils.errors` --- excepciones *Distutils*" -#: ../Doc/distutils/apiref.rst:1313 +#: ../Doc/distutils/apiref.rst:1331 msgid "" "Provides exceptions used by the Distutils modules. Note that Distutils " "modules may raise standard exceptions; in particular, SystemExit is usually " @@ -2424,7 +2447,7 @@ msgstr "" "son culpa del usuario final (por ejemplo, argumentos incorrectos en la línea " "de comandos)." -#: ../Doc/distutils/apiref.rst:1317 +#: ../Doc/distutils/apiref.rst:1335 msgid "" "This module is safe to use in ``from ... import *`` mode; it only exports " "symbols whose names start with ``Distutils`` and end with ``Error``." @@ -2432,14 +2455,14 @@ msgstr "" "Este módulo es seguro de usar en el modo ``from ... import*``; solo exporta " "símbolos cuyos nombres comienzan con ``Distutils`` y terminan con ``Error``." -#: ../Doc/distutils/apiref.rst:1322 +#: ../Doc/distutils/apiref.rst:1340 msgid "" ":mod:`distutils.fancy_getopt` --- Wrapper around the standard getopt module" msgstr "" ":mod:`distutils.fancy_getopt` --- *Wrapper* alrededor del módulo estándar " "*getopt*" -#: ../Doc/distutils/apiref.rst:1328 +#: ../Doc/distutils/apiref.rst:1346 msgid "" "This module provides a wrapper around the standard :mod:`getopt` module " "that provides the following additional features:" @@ -2447,11 +2470,11 @@ msgstr "" "Este módulo proporciona una envoltura alrededor del modulo estándar :mod:" "`getopt` que proporciona las siguientes características adicionales:" -#: ../Doc/distutils/apiref.rst:1331 +#: ../Doc/distutils/apiref.rst:1349 msgid "short and long options are tied together" msgstr "las opciones cortas y largas están unidas" -#: ../Doc/distutils/apiref.rst:1333 +#: ../Doc/distutils/apiref.rst:1351 msgid "" "options have help strings, so :func:`fancy_getopt` could potentially create " "a complete usage summary" @@ -2459,11 +2482,11 @@ msgstr "" "las opciones tienen strings de ayuda, por lo que :func:`fancy_getopt` podría " "potencialmente crear un resumen de uso completo" -#: ../Doc/distutils/apiref.rst:1336 +#: ../Doc/distutils/apiref.rst:1354 msgid "options set attributes of a passed-in object" msgstr "las opciones establecen atributos de un objeto pasado" -#: ../Doc/distutils/apiref.rst:1338 +#: ../Doc/distutils/apiref.rst:1356 msgid "" "boolean options can have \"negative aliases\" --- eg. if :option:`!--quiet` " "is the \"negative alias\" of :option:`!--verbose`, then :option:`!--quiet` " @@ -2473,7 +2496,7 @@ msgstr "" "option:`!-quiet` es el \"alias negativo\" de :option:`!-verbose`, entonces: " "option:`!-quiet` en la línea de comando establece falso a *verbose*." -#: ../Doc/distutils/apiref.rst:1344 +#: ../Doc/distutils/apiref.rst:1362 msgid "" "Wrapper function. *options* is a list of ``(long_option, short_option, " "help_string)`` 3-tuples as described in the constructor for :class:" @@ -2492,11 +2515,11 @@ msgstr "" "`FancyGetopt`). *args* es la lista de argumentos. Usará ``sys.argv [1:]`` si " "pasa ``None`` como *args*." -#: ../Doc/distutils/apiref.rst:1355 +#: ../Doc/distutils/apiref.rst:1373 msgid "Wraps *text* to less than *width* wide." msgstr "Envuelve *text* a menos de *width* ancho." -#: ../Doc/distutils/apiref.rst:1360 +#: ../Doc/distutils/apiref.rst:1378 msgid "" "The option_table is a list of 3-tuples: ``(long_option, short_option, " "help_string)``" @@ -2504,7 +2527,7 @@ msgstr "" "option_table es una lista de 3 tuplas: ``(long_option, short_option, " "help_string)``" -#: ../Doc/distutils/apiref.rst:1363 +#: ../Doc/distutils/apiref.rst:1381 msgid "" "If an option takes an argument, its *long_option* should have ``'='`` " "appended; *short_option* should just be a single character, no ``':'`` in " @@ -2517,17 +2540,17 @@ msgstr "" "una *short_option* correspondiente. Todas las tuplas de opciones deben tener " "opciones largas." -#: ../Doc/distutils/apiref.rst:1368 +#: ../Doc/distutils/apiref.rst:1386 msgid "The :class:`FancyGetopt` class provides the following methods:" msgstr "La clase :class:`FancyGetopt` proporciona los siguientes métodos:" -#: ../Doc/distutils/apiref.rst:1373 +#: ../Doc/distutils/apiref.rst:1391 msgid "Parse command-line options in args. Store as attributes on *object*." msgstr "" "Analiza las opciones de la línea de comandos en *args*. Almacena como " "atributos en *object*." -#: ../Doc/distutils/apiref.rst:1375 +#: ../Doc/distutils/apiref.rst:1393 msgid "" "If *args* is ``None`` or not supplied, uses ``sys.argv[1:]``. If *object* " "is ``None`` or not supplied, creates a new :class:`OptionDummy` instance, " @@ -2544,7 +2567,7 @@ msgstr "" "retornado es una copia modificada de la lista *args* pasada, que se deja " "intacta." -#: ../Doc/distutils/apiref.rst:1387 +#: ../Doc/distutils/apiref.rst:1405 msgid "" "Returns the list of ``(option, value)`` tuples processed by the previous run " "of :meth:`getopt` Raises :exc:`RuntimeError` if :meth:`getopt` hasn't been " @@ -2554,7 +2577,7 @@ msgstr "" "ejecución anterior de :meth:`getopt` Lanza :exc:`RuntimeError` si :meth:" "`getopt` aún no se ha llamado." -#: ../Doc/distutils/apiref.rst:1394 +#: ../Doc/distutils/apiref.rst:1412 msgid "" "Generate help text (a list of strings, one per suggested line of output) " "from the option table for this :class:`FancyGetopt` object." @@ -2562,17 +2585,17 @@ msgstr "" "Genera un texto de ayuda (una lista de strings, una por cada línea de salida " "sugerida) de la tabla de opciones para este objeto :class:`FancyGetopt`." -#: ../Doc/distutils/apiref.rst:1397 +#: ../Doc/distutils/apiref.rst:1415 msgid "If supplied, prints the supplied *header* at the top of the help." msgstr "" "Si se suministra, imprime el *header* suministrado en la parte superior de " "la ayuda." -#: ../Doc/distutils/apiref.rst:1401 +#: ../Doc/distutils/apiref.rst:1419 msgid ":mod:`distutils.filelist` --- The FileList class" msgstr ":mod:`distutils.filelist` --- La clase *FileList*" -#: ../Doc/distutils/apiref.rst:1408 +#: ../Doc/distutils/apiref.rst:1426 msgid "" "This module provides the :class:`FileList` class, used for poking about the " "filesystem and building lists of files." @@ -2580,15 +2603,15 @@ msgstr "" "Este módulo proporciona la clase :class:`FileList`, utilizada para hurgar en " "el sistema de archivos y crear listas de archivos." -#: ../Doc/distutils/apiref.rst:1413 +#: ../Doc/distutils/apiref.rst:1431 msgid ":mod:`distutils.log` --- Simple :pep:`282`-style logging" msgstr ":mod:`distutils.log` --- Simple :pep:`282`-registro de estilo" -#: ../Doc/distutils/apiref.rst:1420 +#: ../Doc/distutils/apiref.rst:1438 msgid ":mod:`distutils.spawn` --- Spawn a sub-process" msgstr ":mod:`distutils.spawn` --- Genera un subproceso" -#: ../Doc/distutils/apiref.rst:1426 +#: ../Doc/distutils/apiref.rst:1444 msgid "" "This module provides the :func:`spawn` function, a front-end to various " "platform-specific functions for launching another program in a sub-process. " @@ -2600,12 +2623,12 @@ msgstr "" "subproceso. También proporciona :func:`find_executable` para buscar en la " "ruta un nombre ejecutable determinado." -#: ../Doc/distutils/apiref.rst:1433 +#: ../Doc/distutils/apiref.rst:1451 msgid ":mod:`distutils.sysconfig` --- System configuration information" msgstr "" ":mod:`distutils.sysconfig` --- Información de configuración del sistema" -#: ../Doc/distutils/apiref.rst:1442 +#: ../Doc/distutils/apiref.rst:1460 msgid "" "The :mod:`distutils.sysconfig` module provides access to Python's low-level " "configuration information. The specific configuration variables available " @@ -2626,7 +2649,7 @@ msgstr "" "se llama :file:`pyconfig.h` para las versiones de Python que comienzan con " "2.2, y :file:`config.h` para versiones anteriores de Python." -#: ../Doc/distutils/apiref.rst:1451 +#: ../Doc/distutils/apiref.rst:1469 msgid "" "Some additional functions are provided which perform some useful " "manipulations for other parts of the :mod:`distutils` package." @@ -2634,15 +2657,15 @@ msgstr "" "Se proporcionan algunas funciones adicionales que realizan algunas " "manipulaciones útiles para otras partes del paquete :mod:`distutils`." -#: ../Doc/distutils/apiref.rst:1457 +#: ../Doc/distutils/apiref.rst:1475 msgid "The result of ``os.path.normpath(sys.prefix)``." msgstr "El resultado de ``os.path.normpath(sys.prefix)``." -#: ../Doc/distutils/apiref.rst:1462 +#: ../Doc/distutils/apiref.rst:1480 msgid "The result of ``os.path.normpath(sys.exec_prefix)``." msgstr "El resultado de ``os.path.normpath(sys.exec_prefix)``." -#: ../Doc/distutils/apiref.rst:1467 +#: ../Doc/distutils/apiref.rst:1485 msgid "" "Return the value of a single variable. This is equivalent to " "``get_config_vars().get(name)``." @@ -2650,7 +2673,7 @@ msgstr "" "Retorna el valor de una sola variable. Esto es equivalente a " "``get_config_vars ().get(name)``." -#: ../Doc/distutils/apiref.rst:1473 +#: ../Doc/distutils/apiref.rst:1491 msgid "" "Return a set of variable definitions. If there are no arguments, this " "returns a dictionary mapping names of configuration variables to values. If " @@ -2665,7 +2688,7 @@ msgstr "" "asociados. Si un nombre de pila no tiene un valor correspondiente, se " "incluirá ``None`` para esa variable." -#: ../Doc/distutils/apiref.rst:1482 +#: ../Doc/distutils/apiref.rst:1500 msgid "" "Return the full path name of the configuration header. For Unix, this will " "be the header generated by the :program:`configure` script; for other " @@ -2678,7 +2701,7 @@ msgstr "" "por la distribución fuente de Python. El archivo es un archivo de texto " "específico de la plataforma." -#: ../Doc/distutils/apiref.rst:1490 +#: ../Doc/distutils/apiref.rst:1508 msgid "" "Return the full path name of the :file:`Makefile` used to build Python. For " "Unix, this will be a file generated by the :program:`configure` script; the " @@ -2691,7 +2714,7 @@ msgstr "" "El archivo es un archivo de texto específico de la plataforma, si existe. " "Esta función solo es útil en plataformas POSIX." -#: ../Doc/distutils/apiref.rst:1498 +#: ../Doc/distutils/apiref.rst:1516 msgid "" "Return the directory for either the general or platform-dependent C include " "files. If *plat_specific* is true, the platform-dependent include directory " @@ -2708,7 +2731,7 @@ msgstr "" "como *exec-prefix* en lugar de :const:`EXEC_PREFIX` si *plat_specific* es " "verdadero." -#: ../Doc/distutils/apiref.rst:1508 +#: ../Doc/distutils/apiref.rst:1526 msgid "" "Return the directory for either the general or platform-dependent library " "installation. If *plat_specific* is true, the platform-dependent include " @@ -2729,7 +2752,7 @@ msgstr "" "biblioteca estándar en lugar del directorio para la instalación de " "extensiones de terceros." -#: ../Doc/distutils/apiref.rst:1517 +#: ../Doc/distutils/apiref.rst:1535 msgid "" "The following function is only intended for use within the :mod:`distutils` " "package." @@ -2737,7 +2760,7 @@ msgstr "" "La siguiente función solo está pensada para su uso dentro del paquete :mod:" "`distutils`." -#: ../Doc/distutils/apiref.rst:1523 +#: ../Doc/distutils/apiref.rst:1541 msgid "" "Do any platform-specific customization of a :class:`distutils.ccompiler." "CCompiler` instance." @@ -2745,7 +2768,7 @@ msgstr "" "Realiza cualquier personalización específica de la plataforma de una " "instancia :class:`distutils.ccompiler.CCompiler`." -#: ../Doc/distutils/apiref.rst:1526 +#: ../Doc/distutils/apiref.rst:1544 msgid "" "This function is only needed on Unix at this time, but should be called " "consistently to support forward-compatibility. It inserts the information " @@ -2760,7 +2783,7 @@ msgstr "" "compilador seleccionado, las opciones del compilador y del enlazador, y la " "extensión utilizada por el enlazador para los objetos compartidos." -#: ../Doc/distutils/apiref.rst:1532 +#: ../Doc/distutils/apiref.rst:1550 msgid "" "This function is even more special-purpose, and should only be used from " "Python's own build procedures." @@ -2768,7 +2791,7 @@ msgstr "" "Esta función tiene un propósito aún más especial y solo debe usarse desde " "los propios procedimientos de compilación de Python." -#: ../Doc/distutils/apiref.rst:1538 +#: ../Doc/distutils/apiref.rst:1556 msgid "" "Inform the :mod:`distutils.sysconfig` module that it is being used as part " "of the build process for Python. This changes a lot of relative locations " @@ -2780,11 +2803,11 @@ msgstr "" "relativas de los archivos, lo que les permite ubicarse en el área de " "compilación en lugar de en un Python instalado." -#: ../Doc/distutils/apiref.rst:1545 +#: ../Doc/distutils/apiref.rst:1563 msgid ":mod:`distutils.text_file` --- The TextFile class" msgstr ":mod:`distutils.text_file` --- La clase *TextFile*" -#: ../Doc/distutils/apiref.rst:1551 +#: ../Doc/distutils/apiref.rst:1569 msgid "" "This module provides the :class:`TextFile` class, which gives an interface " "to text files that (optionally) takes care of stripping comments, ignoring " @@ -2795,7 +2818,7 @@ msgstr "" "los comentarios, ignorar las líneas en blanco y unir líneas con barras " "invertidas." -#: ../Doc/distutils/apiref.rst:1558 +#: ../Doc/distutils/apiref.rst:1576 msgid "" "This class provides a file-like object that takes care of all the things " "you commonly want to do when processing a text file that has some line-by-" @@ -2812,7 +2835,7 @@ msgstr "" "de la línea), elimina los espacios en blanco iniciales o finales. Todos " "estos son opcionales y controlables de forma independiente." -#: ../Doc/distutils/apiref.rst:1565 +#: ../Doc/distutils/apiref.rst:1583 msgid "" "The class provides a :meth:`warn` method so you can generate warning " "messages that report physical line number, even if the logical line in " @@ -2824,7 +2847,7 @@ msgstr "" "lógica en cuestión abarca varias líneas físicas. También proporciona :meth:" "`unreadline` para implementar una búsqueda anticipada de línea a la vez." -#: ../Doc/distutils/apiref.rst:1570 +#: ../Doc/distutils/apiref.rst:1588 msgid "" ":class:`TextFile` instances are create with either *filename*, *file*, or " "both. :exc:`RuntimeError` is raised if both are ``None``. *filename* should " @@ -2842,7 +2865,7 @@ msgstr "" "advertencia. Si no se proporciona *file*, :class:`TextFile` crea uno propio " "usando la función incorporada :func:`open`." -#: ../Doc/distutils/apiref.rst:1578 +#: ../Doc/distutils/apiref.rst:1596 msgid "" "The options are all boolean, and affect the values returned by :meth:" "`readline`" @@ -2850,19 +2873,19 @@ msgstr "" "Todas las opciones son booleanas y afectan los valores retornados por :meth:" "`readline`" -#: ../Doc/distutils/apiref.rst:1583 +#: ../Doc/distutils/apiref.rst:1601 msgid "option name" msgstr "nombre de la opción" -#: ../Doc/distutils/apiref.rst:1583 +#: ../Doc/distutils/apiref.rst:1601 msgid "default" msgstr "predeterminado" -#: ../Doc/distutils/apiref.rst:1585 +#: ../Doc/distutils/apiref.rst:1603 msgid "*strip_comments*" msgstr "*strip_comments*" -#: ../Doc/distutils/apiref.rst:1585 +#: ../Doc/distutils/apiref.rst:1603 msgid "" "strip from ``'#'`` to end-of-line, as well as any whitespace leading up to " "the ``'#'``\\ ---unless it is escaped by a backslash" @@ -2871,30 +2894,30 @@ msgstr "" "en blanco que conduzca al ``'#'`` \\ --- a menos que se escape por una barra " "invertida" -#: ../Doc/distutils/apiref.rst:1585 ../Doc/distutils/apiref.rst:1594 -#: ../Doc/distutils/apiref.rst:1599 +#: ../Doc/distutils/apiref.rst:1603 ../Doc/distutils/apiref.rst:1612 +#: ../Doc/distutils/apiref.rst:1617 msgid "true" msgstr "verdadero" -#: ../Doc/distutils/apiref.rst:1591 +#: ../Doc/distutils/apiref.rst:1609 msgid "*lstrip_ws*" msgstr "*lstrip_ws*" -#: ../Doc/distutils/apiref.rst:1591 +#: ../Doc/distutils/apiref.rst:1609 msgid "strip leading whitespace from each line before returning it" msgstr "" "elimina los espacios en blanco iniciales de cada línea antes de retornarlo" -#: ../Doc/distutils/apiref.rst:1591 ../Doc/distutils/apiref.rst:1609 -#: ../Doc/distutils/apiref.rst:1620 +#: ../Doc/distutils/apiref.rst:1609 ../Doc/distutils/apiref.rst:1627 +#: ../Doc/distutils/apiref.rst:1638 msgid "false" msgstr "falso" -#: ../Doc/distutils/apiref.rst:1594 +#: ../Doc/distutils/apiref.rst:1612 msgid "*rstrip_ws*" msgstr "*rstrip_ws*" -#: ../Doc/distutils/apiref.rst:1594 +#: ../Doc/distutils/apiref.rst:1612 msgid "" "strip trailing whitespace (including line terminator!) from each line before " "returning it." @@ -2902,11 +2925,11 @@ msgstr "" "elimina los espacios en blanco finales (incluido el terminador de línea!) de " "cada línea antes de retornarlo." -#: ../Doc/distutils/apiref.rst:1599 +#: ../Doc/distutils/apiref.rst:1617 msgid "*skip_blanks*" msgstr "*skip_blanks*" -#: ../Doc/distutils/apiref.rst:1599 +#: ../Doc/distutils/apiref.rst:1617 msgid "" "skip lines that are empty \\*after\\* stripping comments and whitespace. " "(If both lstrip_ws and rstrip_ws are false, then some lines may consist of " @@ -2918,11 +2941,11 @@ msgstr "" "algunas líneas pueden consistir únicamente en espacios en blanco: estos no " "se omitirán, incluso si *skip_blanks* es verdadero)." -#: ../Doc/distutils/apiref.rst:1609 +#: ../Doc/distutils/apiref.rst:1627 msgid "*join_lines*" msgstr "*join_lines*" -#: ../Doc/distutils/apiref.rst:1609 +#: ../Doc/distutils/apiref.rst:1627 msgid "" "if a backslash is the last non-newline character on a line after stripping " "comments and whitespace, join the following line to it to form one logical " @@ -2935,11 +2958,11 @@ msgstr "" "consecutivas terminan con una barra invertida, entonces N + 1 líneas físicas " "se unirán para formar una línea lógica." -#: ../Doc/distutils/apiref.rst:1620 +#: ../Doc/distutils/apiref.rst:1638 msgid "*collapse_join*" msgstr "*collapse_join*" -#: ../Doc/distutils/apiref.rst:1620 +#: ../Doc/distutils/apiref.rst:1638 msgid "" "strip leading whitespace from lines that are joined to their predecessor; " "only matters if ``(join_lines and not lstrip_ws)``" @@ -2947,7 +2970,7 @@ msgstr "" "elimina los espacios en blanco iniciales de las líneas que están unidas a su " "predecesor; solo importa si ``(*join_lines* y no *lstrip_ws*)``" -#: ../Doc/distutils/apiref.rst:1627 +#: ../Doc/distutils/apiref.rst:1645 msgid "" "Note that since *rstrip_ws* can strip the trailing newline, the semantics " "of :meth:`readline` must differ from those of the built-in file object's :" @@ -2962,7 +2985,7 @@ msgstr "" "una línea en blanco (o una línea con espacios en blanco), si *rstrip_ws* es " "verdadero pero *skip_blanks* no es." -#: ../Doc/distutils/apiref.rst:1636 +#: ../Doc/distutils/apiref.rst:1654 msgid "" "Open a new file *filename*. This overrides any *file* or *filename* " "constructor arguments." @@ -2970,7 +2993,7 @@ msgstr "" "Abre un nuevo archivo *filename*. Esto anula cualquier *file* o *filename* " "argumentado del constructor." -#: ../Doc/distutils/apiref.rst:1642 +#: ../Doc/distutils/apiref.rst:1660 msgid "" "Close the current file and forget everything we know about it (including the " "filename and the current line number)." @@ -2978,7 +3001,7 @@ msgstr "" "Cierra el archivo actual y olvida todo lo que sabemos sobre él (incluido el " "nombre del archivo y el número de línea actual)." -#: ../Doc/distutils/apiref.rst:1648 +#: ../Doc/distutils/apiref.rst:1666 msgid "" "Print (to stderr) a warning message tied to the current logical line in the " "current file. If the current logical line in the file spans multiple " @@ -2994,7 +3017,7 @@ msgstr "" "puede ser una lista o tupla para indicar un rango de líneas físicas, o un " "número entero para una sola línea física." -#: ../Doc/distutils/apiref.rst:1658 +#: ../Doc/distutils/apiref.rst:1676 msgid "" "Read and return a single logical line from the current file (or from an " "internal buffer if lines have previously been \"unread\" with :meth:" @@ -3014,7 +3037,7 @@ msgstr "" "acaba de leer. Retorna ``None`` al final del archivo, ya que un string vacío " "puede aparecer si *rstrip_ws* es verdadero pero *strip_blanks* no lo es." -#: ../Doc/distutils/apiref.rst:1669 +#: ../Doc/distutils/apiref.rst:1687 msgid "" "Read and return the list of all logical lines remaining in the current file. " "This updates the current line number to the last line of the file." @@ -3023,7 +3046,7 @@ msgstr "" "actual. Esto actualiza el número de línea actual a la última línea del " "archivo." -#: ../Doc/distutils/apiref.rst:1675 +#: ../Doc/distutils/apiref.rst:1693 msgid "" "Push *line* (a string) onto an internal buffer that will be checked by " "future :meth:`readline` calls. Handy for implementing a parser with line-at-" @@ -3042,20 +3065,20 @@ msgstr "" "`unreadline` antes de una llamada a :meth:`readline`, la mayoría de las " "líneas se retornarán en el primer orden más reciente." -#: ../Doc/distutils/apiref.rst:1684 +#: ../Doc/distutils/apiref.rst:1702 msgid ":mod:`distutils.version` --- Version number classes" msgstr ":mod:`distutils.version` --- Clases de número de versión" -#: ../Doc/distutils/apiref.rst:1699 +#: ../Doc/distutils/apiref.rst:1717 msgid ":mod:`distutils.cmd` --- Abstract base class for Distutils commands" msgstr "" ":mod:`distutils.cmd` --- Clase base abstracta para comandos *Distutils*" -#: ../Doc/distutils/apiref.rst:1706 +#: ../Doc/distutils/apiref.rst:1724 msgid "This module supplies the abstract base class :class:`Command`." msgstr "Este módulo proporciona la clase base abstracta :class:`Command`." -#: ../Doc/distutils/apiref.rst:1711 +#: ../Doc/distutils/apiref.rst:1729 msgid "" "Abstract base class for defining command classes, the \"worker bees\" of the " "Distutils. A useful analogy for command classes is to think of them as " @@ -3084,7 +3107,7 @@ msgstr "" "opciones, es el método :meth:`run`, que también debe ser implementado por " "cada clase de comando." -#: ../Doc/distutils/apiref.rst:1724 +#: ../Doc/distutils/apiref.rst:1742 msgid "" "The class constructor takes a single argument *dist*, a :class:`~distutils." "core.Distribution` instance." @@ -3092,16 +3115,16 @@ msgstr "" "El constructor de la clase toma un solo argumento *dist*, una instancia :" "class:`~ distutils.core.Distribution`." -#: ../Doc/distutils/apiref.rst:1729 +#: ../Doc/distutils/apiref.rst:1747 msgid "Creating a new Distutils command" msgstr "Creando un nuevo comando *Distutils*" -#: ../Doc/distutils/apiref.rst:1731 +#: ../Doc/distutils/apiref.rst:1749 msgid "This section outlines the steps to create a new Distutils command." msgstr "" "Esta sección describe los pasos para crear un nuevo comando *Distutils*." -#: ../Doc/distutils/apiref.rst:1733 +#: ../Doc/distutils/apiref.rst:1751 msgid "" "A new command lives in a module in the :mod:`distutils.command` package. " "There is a sample template in that directory called :file:" @@ -3124,12 +3147,12 @@ msgstr "" "para que implemente la clase :class:`peel_banana`, una subclase de :class:" "`distutils.cmd.Command`." -#: ../Doc/distutils/apiref.rst:1743 +#: ../Doc/distutils/apiref.rst:1761 msgid "Subclasses of :class:`Command` must define the following methods." msgstr "" "Las subclases de :class:`Command` deben definir los siguientes métodos." -#: ../Doc/distutils/apiref.rst:1747 +#: ../Doc/distutils/apiref.rst:1765 msgid "" "Set default values for all the options that this command supports. Note " "that these defaults may be overridden by other commands, by the setup " @@ -3146,7 +3169,7 @@ msgstr "" "implementaciones de :meth:`initialize_options` son solo un montón de " "asignaciones ``self.fo = None`` ." -#: ../Doc/distutils/apiref.rst:1756 +#: ../Doc/distutils/apiref.rst:1774 msgid "" "Set final values for all the options that this command supports. This is " "always called as late as possible, ie. after any option assignments from " @@ -3163,7 +3186,7 @@ msgstr "" "establecer *foo* desde *bar* siempre que *foo* todavía tenga el mismo valor " "que se asignó en :meth:`initialize_options`." -#: ../Doc/distutils/apiref.rst:1766 +#: ../Doc/distutils/apiref.rst:1784 msgid "" "A command's raison d'etre: carry out the action it exists to perform, " "controlled by the options initialized in :meth:`initialize_options`, " @@ -3178,7 +3201,7 @@ msgstr "" "`finalize_options`. Toda la salida de la terminal y la interacción del " "sistema de archivos debe realizarse mediante :meth:`run`." -#: ../Doc/distutils/apiref.rst:1775 +#: ../Doc/distutils/apiref.rst:1793 msgid "" "*sub_commands* formalizes the notion of a \"family\" of commands, e.g. " "``install`` as the parent with sub-commands ``install_lib``, " @@ -3201,7 +3224,7 @@ msgstr "" "``install_headers`` solo es aplicable si tenemos archivos de encabezado C " "para instalar). Si *predicate* es ``None``, ese comando siempre es aplicable." -#: ../Doc/distutils/apiref.rst:1786 +#: ../Doc/distutils/apiref.rst:1804 msgid "" "*sub_commands* is usually defined at the *end* of a class, because " "predicates can be methods of the class, so they must already have been " @@ -3211,27 +3234,27 @@ msgstr "" "predicados pueden ser métodos de la clase, por lo que ya deben haber sido " "definidos. El ejemplo canónico es el comando :command:`install`." -#: ../Doc/distutils/apiref.rst:1792 +#: ../Doc/distutils/apiref.rst:1810 msgid ":mod:`distutils.command` --- Individual Distutils commands" msgstr ":mod:`distutils.command` --- Comandos individuales de *Distutils*" -#: ../Doc/distutils/apiref.rst:1803 +#: ../Doc/distutils/apiref.rst:1821 msgid ":mod:`distutils.command.bdist` --- Build a binary installer" msgstr ":mod:`distutils.command.bdist` --- Construye un instalador binario" -#: ../Doc/distutils/apiref.rst:1813 +#: ../Doc/distutils/apiref.rst:1831 msgid "" ":mod:`distutils.command.bdist_packager` --- Abstract base class for packagers" msgstr "" ":mod:`distutils.command.bdist_packager` --- Clase base abstracta para " "empaquetadores" -#: ../Doc/distutils/apiref.rst:1823 +#: ../Doc/distutils/apiref.rst:1841 msgid ":mod:`distutils.command.bdist_dumb` --- Build a \"dumb\" installer" msgstr "" ":mod:`distutils.command.bdist_dumb` --- Construye un instalador \"*dump*\"" -#: ../Doc/distutils/apiref.rst:1833 +#: ../Doc/distutils/apiref.rst:1851 msgid "" ":mod:`distutils.command.bdist_msi` --- Build a Microsoft Installer binary " "package" @@ -3239,11 +3262,15 @@ msgstr "" ":mod:`distutils.command.bdist_msi` --- Construye un paquete binario " "instalador de Microsoft" -#: ../Doc/distutils/apiref.rst:1840 +#: ../Doc/distutils/apiref.rst:1858 ../Doc/distutils/apiref.rst:1887 +msgid "Use bdist_wheel (wheel packages) instead." +msgstr "Utiliza *bdist_wheel* (paquetes *wheel*) en su lugar." + +#: ../Doc/distutils/apiref.rst:1861 msgid "Builds a `Windows Installer`_ (.msi) binary package." msgstr "Construye un paquete binario `Windows Installer`_ (.msi)" -#: ../Doc/distutils/apiref.rst:1844 +#: ../Doc/distutils/apiref.rst:1865 msgid "" "In most cases, the ``bdist_msi`` installer is a better choice than the " "``bdist_wininst`` installer, because it provides better support for Win64 " @@ -3255,7 +3282,7 @@ msgstr "" "para plataformas Win64, permite a los administradores realizar instalaciones " "no interactivas y permite la instalación a través de políticas de grupo." -#: ../Doc/distutils/apiref.rst:1851 +#: ../Doc/distutils/apiref.rst:1872 msgid "" ":mod:`distutils.command.bdist_rpm` --- Build a binary distribution as a " "Redhat RPM and SRPM" @@ -3263,48 +3290,44 @@ msgstr "" ":mod:`distutils.command.bdist_rpm` --- Construye una distribución binaria " "como RedHat RPM y SRPM" -#: ../Doc/distutils/apiref.rst:1861 +#: ../Doc/distutils/apiref.rst:1882 msgid ":mod:`distutils.command.bdist_wininst` --- Build a Windows installer" msgstr "" ":mod:`distutils.command.bdist_wininst` --- Construye un instalador de Windows" -#: ../Doc/distutils/apiref.rst:1866 -msgid "Use bdist_wheel (wheel packages) instead." -msgstr "Utiliza *bdist_wheel* (paquetes *wheel*) en su lugar." - -#: ../Doc/distutils/apiref.rst:1874 +#: ../Doc/distutils/apiref.rst:1895 msgid ":mod:`distutils.command.sdist` --- Build a source distribution" msgstr "" ":mod:`distutils.command.sdist` --- Construye una distribución de código " "fuente" -#: ../Doc/distutils/apiref.rst:1884 +#: ../Doc/distutils/apiref.rst:1905 msgid ":mod:`distutils.command.build` --- Build all files of a package" msgstr "" ":mod:`distutils.command.build` --- Construye todos los archivos de un paquete" -#: ../Doc/distutils/apiref.rst:1894 +#: ../Doc/distutils/apiref.rst:1915 msgid "" ":mod:`distutils.command.build_clib` --- Build any C libraries in a package" msgstr "" ":mod:`distutils.command.build_clib` --- Construye cualquier biblioteca C en " "un paquete" -#: ../Doc/distutils/apiref.rst:1904 +#: ../Doc/distutils/apiref.rst:1925 msgid "" ":mod:`distutils.command.build_ext` --- Build any extensions in a package" msgstr "" ":mod:`distutils.command.build_ext` --- Construye cualquier extensión en un " "paquete" -#: ../Doc/distutils/apiref.rst:1914 +#: ../Doc/distutils/apiref.rst:1935 msgid "" ":mod:`distutils.command.build_py` --- Build the .py/.pyc files of a package" msgstr "" ":mod:`distutils.command.build_py` --- Construye los archivos .py/.pyc de un " "paquete" -#: ../Doc/distutils/apiref.rst:1924 +#: ../Doc/distutils/apiref.rst:1945 msgid "" "Alternative implementation of build_py which also runs the 2to3 conversion " "library on each .py file that is going to be installed. To use this in a " @@ -3316,28 +3339,28 @@ msgstr "" "esto en un archivo *setup.py* de una distribución que está diseñada para " "ejecutarse con Python 2.x y 3.x, agrega:" -#: ../Doc/distutils/apiref.rst:1934 +#: ../Doc/distutils/apiref.rst:1955 msgid "to your setup.py, and later::" msgstr "a su *setup.py*, y posteriormente:" -#: ../Doc/distutils/apiref.rst:1938 +#: ../Doc/distutils/apiref.rst:1959 msgid "to the invocation of setup()." msgstr "a la invocación de configuración setup()." -#: ../Doc/distutils/apiref.rst:1942 +#: ../Doc/distutils/apiref.rst:1963 msgid "" ":mod:`distutils.command.build_scripts` --- Build the scripts of a package" msgstr "" ":mod:`distutils.command.build_scripts` --- Construye los scripts de un " "paquete" -#: ../Doc/distutils/apiref.rst:1952 +#: ../Doc/distutils/apiref.rst:1973 msgid ":mod:`distutils.command.clean` --- Clean a package build area" msgstr "" ":mod:`distutils.command.clean` --- Limpia el área de construcción de un " "paquete" -#: ../Doc/distutils/apiref.rst:1957 +#: ../Doc/distutils/apiref.rst:1978 msgid "" "This command removes the temporary files created by :command:`build` and its " "subcommands, like intermediary compiled object files. With the ``--all`` " @@ -3348,7 +3371,7 @@ msgstr "" "intermediarios. Con la opción ``--all``, se eliminará el directorio de " "compilación completo." -#: ../Doc/distutils/apiref.rst:1961 +#: ../Doc/distutils/apiref.rst:1982 msgid "" "Extension modules built :ref:`in place ` will " "not be cleaned, as they are not in the build directory." @@ -3356,23 +3379,23 @@ msgstr "" "Los módulos de extensión construidos :ref:`in place ` no se limpiarán, ya que no están en el directorio de construcción." -#: ../Doc/distutils/apiref.rst:1966 +#: ../Doc/distutils/apiref.rst:1987 msgid ":mod:`distutils.command.config` --- Perform package configuration" msgstr "" ":mod:`distutils.command.config` --- Realiza la configuración de un paquete" -#: ../Doc/distutils/apiref.rst:1976 +#: ../Doc/distutils/apiref.rst:1997 msgid ":mod:`distutils.command.install` --- Install a package" msgstr ":mod:`distutils.command.install` --- Instala un paquete" -#: ../Doc/distutils/apiref.rst:1986 +#: ../Doc/distutils/apiref.rst:2007 msgid "" ":mod:`distutils.command.install_data` --- Install data files from a package" msgstr "" ":mod:`distutils.command.install_data` --- Instala archivos de datos de un " "paquete" -#: ../Doc/distutils/apiref.rst:1996 +#: ../Doc/distutils/apiref.rst:2017 msgid "" ":mod:`distutils.command.install_headers` --- Install C/C++ header files from " "a package" @@ -3380,14 +3403,14 @@ msgstr "" ":mod:`distutils.command.install_headers` --- Instala archivos de encabezado " "C/C++ desde un paquete" -#: ../Doc/distutils/apiref.rst:2006 +#: ../Doc/distutils/apiref.rst:2027 msgid "" ":mod:`distutils.command.install_lib` --- Install library files from a package" msgstr "" ":mod:`distutils.command.install_lib` --- Instala archivos de biblioteca " "desde un paquete" -#: ../Doc/distutils/apiref.rst:2016 +#: ../Doc/distutils/apiref.rst:2037 msgid "" ":mod:`distutils.command.install_scripts` --- Install script files from a " "package" @@ -3395,7 +3418,7 @@ msgstr "" ":mod:`distutils.command.install_scripts` --- Instala archivos de script " "desde un paquete" -#: ../Doc/distutils/apiref.rst:2026 +#: ../Doc/distutils/apiref.rst:2047 msgid "" ":mod:`distutils.command.register` --- Register a module with the Python " "Package Index" @@ -3403,7 +3426,7 @@ msgstr "" ":mod:`distutils.command.register` --- Registra un módulo con el índice de " "paquetes de Python" -#: ../Doc/distutils/apiref.rst:2032 +#: ../Doc/distutils/apiref.rst:2053 msgid "" "The ``register`` command registers the package with the Python Package " "Index. This is described in more detail in :pep:`301`." @@ -3411,12 +3434,12 @@ msgstr "" "El comando ``register`` registra el paquete con el índice de paquetes de " "Python. Esto se describe con más detalle en :pep:`301`." -#: ../Doc/distutils/apiref.rst:2039 +#: ../Doc/distutils/apiref.rst:2060 msgid ":mod:`distutils.command.check` --- Check the meta-data of a package" msgstr "" ":mod:`distutils.command.check` --- Verificar los metadatos de un paquete" -#: ../Doc/distutils/apiref.rst:2045 +#: ../Doc/distutils/apiref.rst:2066 msgid "" "The ``check`` command performs some tests on the meta-data of a package. For " "example, it verifies that all required meta-data are provided as the " @@ -3425,3 +3448,14 @@ msgstr "" "El comando ``check`` realiza algunas pruebas en los metadatos de un paquete. " "Por ejemplo, verifica que todos los metadatos requeridos se proporcionen " "como argumentos pasados ​​a la función :func:`setup`." + +#~ msgid "" +#~ "This document is being retained solely until the ``setuptools`` " +#~ "documentation at https://setuptools.readthedocs.io/en/latest/setuptools." +#~ "html independently covers all of the relevant information currently " +#~ "included here." +#~ msgstr "" +#~ "Este documento se conserva únicamente hasta que la documentación de " +#~ "``setuptools`` en https://setuptools.readthedocs.io/en/latest/setuptools." +#~ "html cubra de forma independiente toda la información relevante que " +#~ "actualmente se incluye aquí." diff --git a/distutils/builtdist.po b/distutils/builtdist.po index cc12a29cac..4fbb8e6f8d 100644 --- a/distutils/builtdist.po +++ b/distutils/builtdist.po @@ -10,33 +10,21 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:39+0100\n" "PO-Revision-Date: 2020-10-15 16:05+0200\n" +"Last-Translator: \n" +"Language: es_ES\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es_ES\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/distutils/builtdist.rst:5 msgid "Creating Built Distributions" msgstr "Crear distribuciones compiladas" -#: ../Doc/distutils/_setuptools_disclaimer.rst:3 -msgid "" -"This document is being retained solely until the ``setuptools`` " -"documentation at https://setuptools.readthedocs.io/en/latest/setuptools.html " -"independently covers all of the relevant information currently included here." -msgstr "" -"Este documento se conserva únicamente hasta que la documentación de " -"``setuptools`` en https://setuptools.readthedocs.io/en/latest/setuptools." -"html cubra de forma independiente toda la información relevante que se " -"incluye actualmente aquí." - #: ../Doc/distutils/builtdist.rst:9 msgid "" "A \"built distribution\" is what you're probably used to thinking of either " @@ -400,12 +388,18 @@ msgstr ":command:`bdist_msi`" msgid "msi" msgstr "*msi*" -#: ../Doc/distutils/builtdist.rst:150 ../Doc/distutils/builtdist.rst:305 -#: ../Doc/distutils/builtdist.rst:470 +#: ../Doc/distutils/builtdist.rst:150 ../Doc/distutils/builtdist.rst:308 +#: ../Doc/distutils/builtdist.rst:476 msgid "bdist_wininst is deprecated since Python 3.8." msgstr "*bdist_wininst* se encuentra obsoleto desde Python 3.8." -#: ../Doc/distutils/builtdist.rst:152 +#: ../Doc/distutils/builtdist.rst:153 ../Doc/distutils/builtdist.rst:311 +#: ../Doc/distutils/builtdist.rst:479 +#, fuzzy +msgid "bdist_msi is deprecated since Python 3.9." +msgstr "*bdist_wininst* se encuentra obsoleto desde Python 3.8." + +#: ../Doc/distutils/builtdist.rst:155 msgid "" "The following sections give details on the individual :command:`bdist_\\*` " "commands." @@ -413,11 +407,11 @@ msgstr "" "Las siguientes secciones proporcionan detalles sobre los comandos " "individuales de :command:`bdist_\\*` ." -#: ../Doc/distutils/builtdist.rst:168 +#: ../Doc/distutils/builtdist.rst:171 msgid "Creating RPM packages" msgstr "Creando paquetes *RPM*" -#: ../Doc/distutils/builtdist.rst:170 +#: ../Doc/distutils/builtdist.rst:173 msgid "" "The RPM format is used by many popular Linux distributions, including Red " "Hat, SuSE, and Mandrake. If one of these (or any of the other RPM-based " @@ -435,7 +429,7 @@ msgstr "" "entre distribuciones Linux, también podrá crear *RPMs* que funcionen en " "distribuciones diferentes basadas en *RPM*." -#: ../Doc/distutils/builtdist.rst:177 +#: ../Doc/distutils/builtdist.rst:180 msgid "" "The usual way to create an RPM of your module distribution is to run the :" "command:`bdist_rpm` command::" @@ -443,11 +437,11 @@ msgstr "" "El forma más común de crear un *RPM* de su distribución de módulo es " "ejecutar el comando :command:`bdist_rpm` ::" -#: ../Doc/distutils/builtdist.rst:182 +#: ../Doc/distutils/builtdist.rst:185 msgid "or the :command:`bdist` command with the :option:`!--format` option::" msgstr "o el comando :command:`bdist` con la opción :option:`!--format` ::" -#: ../Doc/distutils/builtdist.rst:186 +#: ../Doc/distutils/builtdist.rst:189 msgid "" "The former allows you to specify RPM-specific options; the latter allows " "you to easily specify multiple formats in one run. If you need to do both, " @@ -459,7 +453,7 @@ msgstr "" "hacer los dos, se pueden especificar explícitamente múltiples comandos :" "command:`bdist_\\*` y sus opciones::" -#: ../Doc/distutils/builtdist.rst:193 +#: ../Doc/distutils/builtdist.rst:196 msgid "" "Creating RPM packages is driven by a :file:`.spec` file, much as using the " "Distutils is driven by the setup script. To make your life easier, the :" @@ -477,75 +471,75 @@ msgstr "" "secciones en el archivo :file:`.spec` se derivan de las opciones del script " "de configuración de la siguiente manera:" -#: ../Doc/distutils/builtdist.rst:201 ../Doc/distutils/builtdist.rst:225 +#: ../Doc/distutils/builtdist.rst:204 ../Doc/distutils/builtdist.rst:228 msgid "RPM :file:`.spec` file option or section" msgstr "Opción de archivo *RPM* :file:`.spec` o sección" -#: ../Doc/distutils/builtdist.rst:201 +#: ../Doc/distutils/builtdist.rst:204 msgid "Distutils setup script option" msgstr "Opción del script de instalación de *Distutils*" -#: ../Doc/distutils/builtdist.rst:203 +#: ../Doc/distutils/builtdist.rst:206 msgid "Name" msgstr "Nombre" -#: ../Doc/distutils/builtdist.rst:203 +#: ../Doc/distutils/builtdist.rst:206 msgid "``name``" msgstr "``name``" -#: ../Doc/distutils/builtdist.rst:205 +#: ../Doc/distutils/builtdist.rst:208 msgid "Summary (in preamble)" msgstr "Resumen (en el preámbulo)" -#: ../Doc/distutils/builtdist.rst:205 +#: ../Doc/distutils/builtdist.rst:208 msgid "``description``" msgstr "``description``" -#: ../Doc/distutils/builtdist.rst:207 +#: ../Doc/distutils/builtdist.rst:210 msgid "Version" msgstr "Versión" -#: ../Doc/distutils/builtdist.rst:207 +#: ../Doc/distutils/builtdist.rst:210 msgid "``version``" msgstr "``version``" -#: ../Doc/distutils/builtdist.rst:209 ../Doc/distutils/builtdist.rst:232 +#: ../Doc/distutils/builtdist.rst:212 ../Doc/distutils/builtdist.rst:235 msgid "Vendor" msgstr "Vendedor" -#: ../Doc/distutils/builtdist.rst:209 +#: ../Doc/distutils/builtdist.rst:212 msgid "" "``author`` and ``author_email``, or --- & ``maintainer`` and " "``maintainer_email``" msgstr "" "``author`` y ``author_email``, o --- & ``maintainer`` y ``maintainer_email``" -#: ../Doc/distutils/builtdist.rst:213 +#: ../Doc/distutils/builtdist.rst:216 msgid "Copyright" msgstr "Copyright" -#: ../Doc/distutils/builtdist.rst:213 +#: ../Doc/distutils/builtdist.rst:216 msgid "``license``" msgstr "``license``" -#: ../Doc/distutils/builtdist.rst:215 +#: ../Doc/distutils/builtdist.rst:218 msgid "Url" msgstr "Url" -#: ../Doc/distutils/builtdist.rst:215 +#: ../Doc/distutils/builtdist.rst:218 msgid "``url``" msgstr "``url``" -#: ../Doc/distutils/builtdist.rst:217 +#: ../Doc/distutils/builtdist.rst:220 #, python-format msgid "%description (section)" msgstr "%description (sección)" -#: ../Doc/distutils/builtdist.rst:217 +#: ../Doc/distutils/builtdist.rst:220 msgid "``long_description``" msgstr "``long_description``" -#: ../Doc/distutils/builtdist.rst:220 +#: ../Doc/distutils/builtdist.rst:223 msgid "" "Additionally, there are many options in :file:`.spec` files that don't have " "corresponding options in the setup script. Most of these are handled " @@ -556,118 +550,118 @@ msgstr "" "están manejadas a través de opciones al comando :command:`bdist_rpm` como " "sigue:" -#: ../Doc/distutils/builtdist.rst:225 +#: ../Doc/distutils/builtdist.rst:228 msgid ":command:`bdist_rpm` option" msgstr "Opción :command:`bdist_rpm`" -#: ../Doc/distutils/builtdist.rst:225 +#: ../Doc/distutils/builtdist.rst:228 msgid "default value" msgstr "valor predefinido" -#: ../Doc/distutils/builtdist.rst:228 +#: ../Doc/distutils/builtdist.rst:231 msgid "Release" msgstr "*Release*" -#: ../Doc/distutils/builtdist.rst:228 +#: ../Doc/distutils/builtdist.rst:231 msgid "``release``" msgstr "``release``" -#: ../Doc/distutils/builtdist.rst:228 +#: ../Doc/distutils/builtdist.rst:231 msgid "\"1\"" msgstr "\"1\"" -#: ../Doc/distutils/builtdist.rst:230 +#: ../Doc/distutils/builtdist.rst:233 msgid "Group" msgstr "Grupo" -#: ../Doc/distutils/builtdist.rst:230 +#: ../Doc/distutils/builtdist.rst:233 msgid "``group``" msgstr "``group``" -#: ../Doc/distutils/builtdist.rst:230 +#: ../Doc/distutils/builtdist.rst:233 msgid "\"Development/Libraries\"" msgstr "\"Desarrollo/Librerías\"" -#: ../Doc/distutils/builtdist.rst:232 +#: ../Doc/distutils/builtdist.rst:235 msgid "``vendor``" msgstr "``vendor``" -#: ../Doc/distutils/builtdist.rst:232 +#: ../Doc/distutils/builtdist.rst:235 msgid "(see above)" msgstr "(ver arriba)" -#: ../Doc/distutils/builtdist.rst:234 +#: ../Doc/distutils/builtdist.rst:237 msgid "Packager" msgstr "Empaquetador" -#: ../Doc/distutils/builtdist.rst:234 +#: ../Doc/distutils/builtdist.rst:237 msgid "``packager``" msgstr "``packager``" -#: ../Doc/distutils/builtdist.rst:234 ../Doc/distutils/builtdist.rst:236 -#: ../Doc/distutils/builtdist.rst:238 ../Doc/distutils/builtdist.rst:240 -#: ../Doc/distutils/builtdist.rst:242 ../Doc/distutils/builtdist.rst:244 -#: ../Doc/distutils/builtdist.rst:246 ../Doc/distutils/builtdist.rst:248 +#: ../Doc/distutils/builtdist.rst:237 ../Doc/distutils/builtdist.rst:239 +#: ../Doc/distutils/builtdist.rst:241 ../Doc/distutils/builtdist.rst:243 +#: ../Doc/distutils/builtdist.rst:245 ../Doc/distutils/builtdist.rst:247 +#: ../Doc/distutils/builtdist.rst:249 ../Doc/distutils/builtdist.rst:251 msgid "(none)" msgstr "(ninguno)" -#: ../Doc/distutils/builtdist.rst:236 +#: ../Doc/distutils/builtdist.rst:239 msgid "Provides" msgstr "Proporciona" -#: ../Doc/distutils/builtdist.rst:236 +#: ../Doc/distutils/builtdist.rst:239 msgid "``provides``" msgstr "``provides``" -#: ../Doc/distutils/builtdist.rst:238 +#: ../Doc/distutils/builtdist.rst:241 msgid "Requires" msgstr "Requiere" -#: ../Doc/distutils/builtdist.rst:238 +#: ../Doc/distutils/builtdist.rst:241 msgid "``requires``" msgstr "``requires``" -#: ../Doc/distutils/builtdist.rst:240 +#: ../Doc/distutils/builtdist.rst:243 msgid "Conflicts" msgstr "Conflictos" -#: ../Doc/distutils/builtdist.rst:240 +#: ../Doc/distutils/builtdist.rst:243 msgid "``conflicts``" msgstr "``conflicts``" -#: ../Doc/distutils/builtdist.rst:242 +#: ../Doc/distutils/builtdist.rst:245 msgid "Obsoletes" msgstr "Obsolescencias" -#: ../Doc/distutils/builtdist.rst:242 +#: ../Doc/distutils/builtdist.rst:245 msgid "``obsoletes``" msgstr "``obsoletes``" -#: ../Doc/distutils/builtdist.rst:244 +#: ../Doc/distutils/builtdist.rst:247 msgid "Distribution" msgstr "Distribución" -#: ../Doc/distutils/builtdist.rst:244 +#: ../Doc/distutils/builtdist.rst:247 msgid "``distribution_name``" msgstr "``distribution_name``" -#: ../Doc/distutils/builtdist.rst:246 +#: ../Doc/distutils/builtdist.rst:249 msgid "BuildRequires" msgstr "Requisitos de compilación" -#: ../Doc/distutils/builtdist.rst:246 +#: ../Doc/distutils/builtdist.rst:249 msgid "``build_requires``" msgstr "``build_requires``" -#: ../Doc/distutils/builtdist.rst:248 +#: ../Doc/distutils/builtdist.rst:251 msgid "Icon" msgstr "Icono" -#: ../Doc/distutils/builtdist.rst:248 +#: ../Doc/distutils/builtdist.rst:251 msgid "``icon``" msgstr "``icon``" -#: ../Doc/distutils/builtdist.rst:251 +#: ../Doc/distutils/builtdist.rst:254 msgid "" "Obviously, supplying even a few of these options on the command-line would " "be tedious and error-prone, so it's usually best to put them in the setup " @@ -688,7 +682,7 @@ msgstr "" "temporalmente este archivo, puede pasar la opción :option:`!--no-user-cfg` " "a :file:`setup.py`." -#: ../Doc/distutils/builtdist.rst:259 +#: ../Doc/distutils/builtdist.rst:262 msgid "" "There are three steps to building a binary RPM package, all of which are " "handled automatically by the Distutils:" @@ -696,7 +690,7 @@ msgstr "" "Hay tres pasos para construir un paquete *RPM* binario, los cuales son " "manejados automáticamente por *Distutils*:" -#: ../Doc/distutils/builtdist.rst:262 +#: ../Doc/distutils/builtdist.rst:265 msgid "" "create a :file:`.spec` file, which describes the package (analogous to the " "Distutils setup script; in fact, much of the information in the setup " @@ -706,11 +700,11 @@ msgstr "" "de configuración de Distutils; de hecho, gran parte de la información en el " "script de configuración termina en el fichero :file:`.spec` )" -#: ../Doc/distutils/builtdist.rst:266 +#: ../Doc/distutils/builtdist.rst:269 msgid "create the source RPM" msgstr "crear el fuente RPM" -#: ../Doc/distutils/builtdist.rst:268 +#: ../Doc/distutils/builtdist.rst:271 msgid "" "create the \"binary\" RPM (which may or may not contain binary code, " "depending on whether your module distribution contains Python extensions)" @@ -718,7 +712,7 @@ msgstr "" "crear el \"binario\" RPM (que puede o no contener código binario, " "dependiendo de si la distribución de su módulo contiene extensiones Python)" -#: ../Doc/distutils/builtdist.rst:271 +#: ../Doc/distutils/builtdist.rst:274 msgid "" "Normally, RPM bundles the last two steps together; when you use the " "Distutils, all three steps are typically bundled together." @@ -726,7 +720,7 @@ msgstr "" "Normalmente, *RPM* agrupa los dos últimos pasos; cuando usa las *Distutils*, " "los tres pasos generalmente están agrupados." -#: ../Doc/distutils/builtdist.rst:274 +#: ../Doc/distutils/builtdist.rst:277 msgid "" "If you wish, you can separate these three steps. You can use the :option:" "`!--spec-only` option to make :command:`bdist_rpm` just create the :file:`." @@ -744,11 +738,11 @@ msgstr "" "archivo :file:`.spec` termina en lo más profundo del \"árbol de compilación" "\", en un directorio temporal creado por :command:`bdist_rpm`.)" -#: ../Doc/distutils/builtdist.rst:302 +#: ../Doc/distutils/builtdist.rst:305 msgid "Creating Windows Installers" msgstr "Crear instaladores de Windows" -#: ../Doc/distutils/builtdist.rst:307 +#: ../Doc/distutils/builtdist.rst:313 msgid "" "Executable installers are the natural format for binary distributions on " "Windows. They display a nice graphical user interface, display some " @@ -762,7 +756,7 @@ msgstr "" "los metadatos en el script de configuración, permiten al usuario seleccionar " "algunas opciones e iniciar o cancelar la instalación." -#: ../Doc/distutils/builtdist.rst:313 +#: ../Doc/distutils/builtdist.rst:319 msgid "" "Since the metadata is taken from the setup script, creating Windows " "installers is usually as easy as running::" @@ -770,11 +764,11 @@ msgstr "" "Dado que los metadatos se toman del script de configuración, crear " "instaladores de Windows suele ser tan fácil como ejecutar::" -#: ../Doc/distutils/builtdist.rst:318 +#: ../Doc/distutils/builtdist.rst:324 msgid "or the :command:`bdist` command with the :option:`!--formats` option::" msgstr "o el comando :command:`bdist` con la opción :option:`!--formats` ::" -#: ../Doc/distutils/builtdist.rst:322 +#: ../Doc/distutils/builtdist.rst:328 msgid "" "If you have a pure module distribution (only containing pure Python modules " "and packages), the resulting installer will be version independent and have " @@ -787,7 +781,7 @@ msgstr "" "crear distribuciones binarias ``wininst`` sólo se soporta en sistemas " "Windows." -#: ../Doc/distutils/builtdist.rst:327 +#: ../Doc/distutils/builtdist.rst:333 msgid "" "If you have a non-pure distribution, the extensions can only be created on a " "Windows platform, and will be Python version dependent. The installer " @@ -801,7 +795,7 @@ msgstr "" "`foo-1.0.win32-py2.0.exe`. Debe crear un instalador separado para cada " "versión de Python que se quiera soportar." -#: ../Doc/distutils/builtdist.rst:333 +#: ../Doc/distutils/builtdist.rst:339 msgid "" "The installer will try to compile pure modules into :term:`bytecode` after " "installation on the target system in normal and optimizing mode. If you " @@ -815,7 +809,7 @@ msgstr "" "command:`bdist_wininst` con la opción :option:`!--no-target-compile` o la " "opción :option:`!--no-target-optimize`." -#: ../Doc/distutils/builtdist.rst:339 +#: ../Doc/distutils/builtdist.rst:345 msgid "" "By default the installer will display the cool \"Python Powered\" logo when " "it is run, but you can also supply your own 152x261 bitmap which must be a " @@ -826,7 +820,7 @@ msgstr "" "152x261 que debe ser un archivo Windows :file:`.bmp` con la opción :option:" "`!--bitmap`." -#: ../Doc/distutils/builtdist.rst:343 +#: ../Doc/distutils/builtdist.rst:349 msgid "" "The installer will also display a large title on the desktop background " "window when it is run, which is constructed from the name of your " @@ -838,7 +832,7 @@ msgstr "" "distribución y el número de versión. Esto se puede cambiar a otro texto " "usando la opción :option:`!--title`." -#: ../Doc/distutils/builtdist.rst:348 +#: ../Doc/distutils/builtdist.rst:354 msgid "" "The installer file will be written to the \"distribution directory\" --- " "normally :file:`dist/`, but customizable with the :option:`!--dist-dir` " @@ -848,11 +842,11 @@ msgstr "" "--- normalmente :file:`dist/`, pero se puede personalizar con la opción :" "option:`!--dist-dir`." -#: ../Doc/distutils/builtdist.rst:354 +#: ../Doc/distutils/builtdist.rst:360 msgid "Cross-compiling on Windows" msgstr "Compilación cruzada en Windows" -#: ../Doc/distutils/builtdist.rst:356 +#: ../Doc/distutils/builtdist.rst:362 msgid "" "Starting with Python 2.6, distutils is capable of cross-compiling between " "Windows platforms. In practice, this means that with the correct tools " @@ -864,7 +858,7 @@ msgstr "" "las herramientas correctas instaladas, puede usar una versión de Windows de " "32bit para crear extensiones de 64bit y viceversa." -#: ../Doc/distutils/builtdist.rst:361 +#: ../Doc/distutils/builtdist.rst:367 msgid "" "To build for an alternate platform, specify the :option:`!--plat-name` " "option to the build command. Valid values are currently 'win32', and 'win-" @@ -875,7 +869,7 @@ msgstr "" "actualmente 'win32', y 'win-amd64'. Por ejemplo, en una versión de Windows " "de 32bit, puede ejecutar::" -#: ../Doc/distutils/builtdist.rst:367 +#: ../Doc/distutils/builtdist.rst:373 msgid "" "to build a 64bit version of your extension. The Windows Installers also " "support this option, so the command::" @@ -883,7 +877,7 @@ msgstr "" "para crear una versión de 64bit de su extensión. Los instaladores de Windows " "también admiten esta opción, por lo que el comando::" -#: ../Doc/distutils/builtdist.rst:372 +#: ../Doc/distutils/builtdist.rst:378 msgid "" "would create a 64bit installation executable on your 32bit version of " "Windows." @@ -891,7 +885,7 @@ msgstr "" "crearía un ejecutable de instalación de 64bit en su versión de 32bit de " "Windows." -#: ../Doc/distutils/builtdist.rst:374 +#: ../Doc/distutils/builtdist.rst:380 msgid "" "To cross-compile, you must download the Python source code and cross-compile " "Python itself for the platform you are targeting - it is not possible from a " @@ -911,7 +905,7 @@ msgstr "" "de código de Python y construir la configuración \" x64 \" del proyecto " "'pythoncore' antes de que sea posible la compilación cruzada de extensiones." -#: ../Doc/distutils/builtdist.rst:383 +#: ../Doc/distutils/builtdist.rst:389 msgid "" "Note that by default, Visual Studio 2008 does not install 64bit compilers or " "tools. You may need to reexecute the Visual Studio setup process and select " @@ -924,11 +918,11 @@ msgstr "" "(usar Panel de control -> [Agregar/Quitar] Programas es una forma " "conveniente de verificar o modificar su instalación existente)." -#: ../Doc/distutils/builtdist.rst:391 +#: ../Doc/distutils/builtdist.rst:397 msgid "The Postinstallation script" msgstr "El script posterior a la instalación" -#: ../Doc/distutils/builtdist.rst:393 +#: ../Doc/distutils/builtdist.rst:399 msgid "" "Starting with Python 2.3, a postinstallation script can be specified with " "the :option:`!--install-script` option. The basename of the script must be " @@ -940,7 +934,7 @@ msgstr "" "el nombre base del script y el nombre del archivo del *script* también se " "debe incluir en el argumento de los scripts de la función de configuración." -#: ../Doc/distutils/builtdist.rst:398 +#: ../Doc/distutils/builtdist.rst:404 msgid "" "This script will be run at installation time on the target system after all " "the files have been copied, with ``argv[1]`` set to :option:`!-install`, and " @@ -953,7 +947,7 @@ msgstr "" "desinstalación antes de que se eliminen los archivos con ``argv[1]`` " "establecido en :option:`!-remove`." -#: ../Doc/distutils/builtdist.rst:403 +#: ../Doc/distutils/builtdist.rst:409 msgid "" "The installation script runs embedded in the windows installer, every output " "(``sys.stdout``, ``sys.stderr``) is redirected into a buffer and will be " @@ -963,7 +957,7 @@ msgstr "" "cada salida (``sys.stdout``, ``sys.stderr``) se redirige a un búfer y se " "mostrará en la GUI una vez finalizado el *script*." -#: ../Doc/distutils/builtdist.rst:407 +#: ../Doc/distutils/builtdist.rst:413 msgid "" "Some functions especially useful in this context are available as additional " "built-in functions in the installation script." @@ -971,7 +965,7 @@ msgstr "" "Algunas funciones especialmente útiles en este contexto están disponibles " "como funciones integradas adicionales en el script de instalación." -#: ../Doc/distutils/builtdist.rst:414 +#: ../Doc/distutils/builtdist.rst:420 msgid "" "These functions should be called when a directory or file is created by the " "postinstall script at installation time. It will register *path* with the " @@ -984,7 +978,7 @@ msgstr "" "la distribución. Para mayor seguridad, los directorios solo se eliminan si " "están vacíos." -#: ../Doc/distutils/builtdist.rst:422 +#: ../Doc/distutils/builtdist.rst:428 msgid "" "This function can be used to retrieve special folder locations on Windows " "like the Start Menu or the Desktop. It returns the full path to the folder. " @@ -995,11 +989,11 @@ msgstr "" "completa al directorio. *csidl_string* debe ser una de las siguientes " "cadenas::" -#: ../Doc/distutils/builtdist.rst:442 +#: ../Doc/distutils/builtdist.rst:448 msgid "If the folder cannot be retrieved, :exc:`OSError` is raised." msgstr "Si no se puede recuperar el directorio, se lanza :exc:`OSError`." -#: ../Doc/distutils/builtdist.rst:444 +#: ../Doc/distutils/builtdist.rst:450 msgid "" "Which folders are available depends on the exact Windows version, and " "probably also the configuration. For details refer to Microsoft's " @@ -1010,7 +1004,7 @@ msgstr "" "consulte la documentación de Microsoft de la función :c:func:" "`SHGetSpecialFolderPath` ." -#: ../Doc/distutils/builtdist.rst:451 +#: ../Doc/distutils/builtdist.rst:457 msgid "" "This function creates a shortcut. *target* is the path to the program to be " "started by the shortcut. *description* is the description of the shortcut. " @@ -1030,11 +1024,11 @@ msgstr "" "*iconpath*. Nuevamente, para obtener más detalles, consulte la documentación " "de Microsoft para la interfaz :class:`IShellLink`." -#: ../Doc/distutils/builtdist.rst:462 +#: ../Doc/distutils/builtdist.rst:468 msgid "Vista User Access Control (UAC)" msgstr "*Vista User Access Control (UAC)*" -#: ../Doc/distutils/builtdist.rst:464 +#: ../Doc/distutils/builtdist.rst:470 msgid "" "Starting with Python 2.6, bdist_wininst supports a :option:`!--user-access-" "control` option. The default is 'none' (meaning no UAC handling is done), " @@ -1048,3 +1042,14 @@ msgstr "" "que significa que se solicita la elevación de UAC si Python se instaló para " "todos los usuarios) y 'force' (que significa que siempre se solicita la " "elevación)." + +#~ msgid "" +#~ "This document is being retained solely until the ``setuptools`` " +#~ "documentation at https://setuptools.readthedocs.io/en/latest/setuptools." +#~ "html independently covers all of the relevant information currently " +#~ "included here." +#~ msgstr "" +#~ "Este documento se conserva únicamente hasta que la documentación de " +#~ "``setuptools`` en https://setuptools.readthedocs.io/en/latest/setuptools." +#~ "html cubra de forma independiente toda la información relevante que se " +#~ "incluye actualmente aquí." diff --git a/distutils/commandref.po b/distutils/commandref.po index f98eb63151..ecd45aa772 100644 --- a/distutils/commandref.po +++ b/distutils/commandref.po @@ -10,32 +10,21 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:39+0100\n" "PO-Revision-Date: 2020-10-22 02:33-0500\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" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Last-Translator: José Luis Salgado Banda\n" -"Language: es\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/distutils/commandref.rst:5 msgid "Command Reference" msgstr "Referencia de Instrucciones" -#: ../Doc/distutils/_setuptools_disclaimer.rst:3 -msgid "" -"This document is being retained solely until the ``setuptools`` " -"documentation at https://setuptools.readthedocs.io/en/latest/setuptools.html " -"independently covers all of the relevant information currently included here." -msgstr "" -"Este documento se conserva únicamente hasta que la documentación " -"``setuptools`` en https://setuptools.readthedocs.io/en/latest/setuptools." -"html recoja, de forma independiente, toda la información relevante incluida " -"aquí." - #: ../Doc/distutils/commandref.rst:24 msgid "Installing modules: the :command:`install` command family" msgstr "Instalando módulos: la familia de comandos :command:`install`" @@ -180,3 +169,14 @@ msgstr "" "zA-Z``, ``a-f0-9_.``). La definición de \"caracter de nombre de archivo " "habitual\" es específica de la plataforma: en Unix es cualquier cosa excepto " "barra; en Windows cualquier cosa excepto barra invertida o dos puntos." + +#~ msgid "" +#~ "This document is being retained solely until the ``setuptools`` " +#~ "documentation at https://setuptools.readthedocs.io/en/latest/setuptools." +#~ "html independently covers all of the relevant information currently " +#~ "included here." +#~ msgstr "" +#~ "Este documento se conserva únicamente hasta que la documentación " +#~ "``setuptools`` en https://setuptools.readthedocs.io/en/latest/setuptools." +#~ "html recoja, de forma independiente, toda la información relevante " +#~ "incluida aquí." diff --git a/distutils/configfile.po b/distutils/configfile.po index 0fbef494a7..27715621eb 100644 --- a/distutils/configfile.po +++ b/distutils/configfile.po @@ -10,34 +10,22 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:39+0100\n" "PO-Revision-Date: 2020-05-13 09:49-0300\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/distutils/configfile.rst:5 #, fuzzy msgid "Writing the Setup Configuration File" msgstr "Escribir la configuración del archivo de configuración" -#: ../Doc/distutils/_setuptools_disclaimer.rst:3 -msgid "" -"This document is being retained solely until the ``setuptools`` " -"documentation at https://setuptools.readthedocs.io/en/latest/setuptools.html " -"independently covers all of the relevant information currently included here." -msgstr "" -"Este documento está siendo mantenido solamente hasta que la documentación de " -"``setuptools`` en https://setuptools.readthedocs.io/en/latest/setuptools." -"html cubra independientemente toda la información relevante actualmente " -"incluida aquí." - #: ../Doc/distutils/configfile.rst:9 msgid "" "Often, it's not possible to write down everything needed to build a " @@ -250,3 +238,14 @@ msgid "" msgstr "" "Es probable que este ideal no se logre hasta que la configuración automática " "sea completamente admitida por *Distutils*." + +#~ msgid "" +#~ "This document is being retained solely until the ``setuptools`` " +#~ "documentation at https://setuptools.readthedocs.io/en/latest/setuptools." +#~ "html independently covers all of the relevant information currently " +#~ "included here." +#~ msgstr "" +#~ "Este documento está siendo mantenido solamente hasta que la documentación " +#~ "de ``setuptools`` en https://setuptools.readthedocs.io/en/latest/" +#~ "setuptools.html cubra independientemente toda la información relevante " +#~ "actualmente incluida aquí." diff --git a/distutils/examples.po b/distutils/examples.po index 70a35e0610..14b2b3b31c 100644 --- a/distutils/examples.po +++ b/distutils/examples.po @@ -10,33 +10,21 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:39+0100\n" "PO-Revision-Date: 2020-07-14 12:24-0500\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.3.1\n" #: ../Doc/distutils/examples.rst:5 msgid "Distutils Examples" msgstr "Ejemplos de Distutils" -#: ../Doc/distutils/_setuptools_disclaimer.rst:3 -msgid "" -"This document is being retained solely until the ``setuptools`` " -"documentation at https://setuptools.readthedocs.io/en/latest/setuptools.html " -"independently covers all of the relevant information currently included here." -msgstr "" -"Este documento se conserva únicamente hasta que la documentación de " -"``setuptools`` en https://setuptools.readthedocs.io/en/latest/setuptools." -"html cubra de forma independiente toda la información relevante actualmente " -"aquí incluida." - #: ../Doc/distutils/examples.rst:9 msgid "" "This chapter provides a number of basic examples to help get started with " @@ -386,3 +374,14 @@ msgid "" msgstr "" "Note que la clase también puede ser instanciada con una ruta de archivo de " "metadatos para cargar sus valores::" + +#~ msgid "" +#~ "This document is being retained solely until the ``setuptools`` " +#~ "documentation at https://setuptools.readthedocs.io/en/latest/setuptools." +#~ "html independently covers all of the relevant information currently " +#~ "included here." +#~ msgstr "" +#~ "Este documento se conserva únicamente hasta que la documentación de " +#~ "``setuptools`` en https://setuptools.readthedocs.io/en/latest/setuptools." +#~ "html cubra de forma independiente toda la información relevante " +#~ "actualmente aquí incluida." diff --git a/distutils/extending.po b/distutils/extending.po index d65c251aa3..0bb9a4d691 100644 --- a/distutils/extending.po +++ b/distutils/extending.po @@ -10,33 +10,21 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:39+0100\n" "PO-Revision-Date: 2020-10-13 19:55+0200\n" +"Last-Translator: \n" +"Language: es_AR\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"X-Generator: Poedit 2.4.1\n" -"Last-Translator: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Language: es_AR\n" #: ../Doc/distutils/extending.rst:5 msgid "Extending Distutils" msgstr "Extendiendo Distutils" -#: ../Doc/distutils/_setuptools_disclaimer.rst:3 -msgid "" -"This document is being retained solely until the ``setuptools`` " -"documentation at https://setuptools.readthedocs.io/en/latest/setuptools.html " -"independently covers all of the relevant information currently included here." -msgstr "" -"Este documento se conserva únicamente hasta que la documentación de " -"``setuptools`` en https://setuptools.readthedocs.io/en/latest/setuptools." -"html cubra de manera independiente toda la información relevante incluida " -"aquí actualmente." - #: ../Doc/distutils/extending.rst:9 msgid "" "Distutils can be extended in various ways. Most extensions take the form of " @@ -199,3 +187,14 @@ msgstr "" "El elemento *filename* en el par no contiene información de la ruta, solo el " "nombre del archive en sí. En el modo ensayo, los pares aún deben ser " "añadidos para representar lo que se habría creado." + +#~ msgid "" +#~ "This document is being retained solely until the ``setuptools`` " +#~ "documentation at https://setuptools.readthedocs.io/en/latest/setuptools." +#~ "html independently covers all of the relevant information currently " +#~ "included here." +#~ msgstr "" +#~ "Este documento se conserva únicamente hasta que la documentación de " +#~ "``setuptools`` en https://setuptools.readthedocs.io/en/latest/setuptools." +#~ "html cubra de manera independiente toda la información relevante incluida " +#~ "aquí actualmente." diff --git a/distutils/index.po b/distutils/index.po index 5cbb71d1e2..0920483c5e 100644 --- a/distutils/index.po +++ b/distutils/index.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:39+0100\n" "PO-Revision-Date: 2020-11-21 17:08-0500\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/distutils/index.rst:5 msgid "Distributing Python Modules (Legacy version)" @@ -50,17 +49,6 @@ msgstr ":ref:`distributing-index`" msgid "The up to date module distribution documentations" msgstr "La documentación de distribución de módulos actualizada" -#: ../Doc/distutils/_setuptools_disclaimer.rst:3 -msgid "" -"This document is being retained solely until the ``setuptools`` " -"documentation at https://setuptools.readthedocs.io/en/latest/setuptools.html " -"independently covers all of the relevant information currently included here." -msgstr "" -"Este documento se conserva únicamente hasta que la documentación de " -"``setuptools`` en https://setuptools.readthedocs.io/en/latest/setuptools." -"html cubra de forma independiente toda la información relevante que se " -"incluye actualmente aquí." - #: ../Doc/distutils/index.rst:19 msgid "" "This guide only covers the basic tools for building and distributing " @@ -88,3 +76,14 @@ msgstr "" "capacidades subyacentes sobre las que se basan las ``setuptools`` para " "permitir que los desarrolladores de Python hagan que los módulos y " "extensiones de Python estén disponibles para una audiencia más amplia." + +#~ msgid "" +#~ "This document is being retained solely until the ``setuptools`` " +#~ "documentation at https://setuptools.readthedocs.io/en/latest/setuptools." +#~ "html independently covers all of the relevant information currently " +#~ "included here." +#~ msgstr "" +#~ "Este documento se conserva únicamente hasta que la documentación de " +#~ "``setuptools`` en https://setuptools.readthedocs.io/en/latest/setuptools." +#~ "html cubra de forma independiente toda la información relevante que se " +#~ "incluye actualmente aquí." diff --git a/distutils/introduction.po b/distutils/introduction.po index fc9f436456..9a50890b08 100644 --- a/distutils/introduction.po +++ b/distutils/introduction.po @@ -10,32 +10,21 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:39+0100\n" "PO-Revision-Date: 2020-05-13 22:20-0500\n" "Last-Translator: \n" "Language: es\n" "Language-Team: python-doc-esMIME-Version: 1.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\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" "Generated-By: Babel 2.8.0\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/distutils/introduction.rst:5 msgid "An Introduction to Distutils" msgstr "Una introducción a Distutils" -#: ../Doc/distutils/_setuptools_disclaimer.rst:3 -msgid "" -"This document is being retained solely until the ``setuptools`` " -"documentation at https://setuptools.readthedocs.io/en/latest/setuptools.html " -"independently covers all of the relevant information currently included here." -msgstr "" -"Este documento se conservará hasta que la documentación de ``setuptools`` en " -"https://setuptools.readthedocs.io/en/latest/setuptools.html cubra de forma " -"independiente toda la información relevante incluida aquí." - #: ../Doc/distutils/introduction.rst:9 msgid "" "This document covers using the Distutils to distribute your Python modules, " @@ -472,3 +461,13 @@ msgstr "" "el directorio de nivel superior del árbol fuente (o distribución fuente); el " "directorio donde :file:`setup.py` existe. Generalmente :file:`setup.py` se " "ejecutará desde este directorio." + +#~ msgid "" +#~ "This document is being retained solely until the ``setuptools`` " +#~ "documentation at https://setuptools.readthedocs.io/en/latest/setuptools." +#~ "html independently covers all of the relevant information currently " +#~ "included here." +#~ msgstr "" +#~ "Este documento se conservará hasta que la documentación de ``setuptools`` " +#~ "en https://setuptools.readthedocs.io/en/latest/setuptools.html cubra de " +#~ "forma independiente toda la información relevante incluida aquí." diff --git a/distutils/setupscript.po b/distutils/setupscript.po index 68320e0050..7d9633a99a 100644 --- a/distutils/setupscript.po +++ b/distutils/setupscript.po @@ -10,33 +10,21 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:39+0100\n" "PO-Revision-Date: 2020-06-29 22:51+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" "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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/distutils/setupscript.rst:5 msgid "Writing the Setup Script" msgstr "Escribir el script de configuración" -#: ../Doc/distutils/_setuptools_disclaimer.rst:3 -msgid "" -"This document is being retained solely until the ``setuptools`` " -"documentation at https://setuptools.readthedocs.io/en/latest/setuptools.html " -"independently covers all of the relevant information currently included here." -msgstr "" -"Este documento se retiene únicamente hasta que la documentación de " -"``setuptools`` en https://setuptools.readthedocs.io/en/latest/setuptools." -"html cubre de forma independiente toda la información relevante actualmente " -"incluida aquí." - #: ../Doc/distutils/setupscript.rst:9 msgid "" "The setup script is the centre of all activity in building, distributing, " @@ -1404,3 +1392,14 @@ msgstr "" "ahora imprimirá información detallada sobre lo que está haciendo, volcará el " "rastreo completo cuando ocurra una excepción e imprimirá todo el comando " "línea cuando falla un programa externo (como un compilador de C)." + +#~ msgid "" +#~ "This document is being retained solely until the ``setuptools`` " +#~ "documentation at https://setuptools.readthedocs.io/en/latest/setuptools." +#~ "html independently covers all of the relevant information currently " +#~ "included here." +#~ msgstr "" +#~ "Este documento se retiene únicamente hasta que la documentación de " +#~ "``setuptools`` en https://setuptools.readthedocs.io/en/latest/setuptools." +#~ "html cubre de forma independiente toda la información relevante " +#~ "actualmente incluida aquí." diff --git a/distutils/sourcedist.po b/distutils/sourcedist.po index edd4cf8d1b..ec312f936b 100644 --- a/distutils/sourcedist.po +++ b/distutils/sourcedist.po @@ -11,34 +11,21 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:39+0100\n" "PO-Revision-Date: 2020-05-12 15:44-0500\n" "Last-Translator: Carlos Joel Delgado Pizarro \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" -"X-Poedit-SourceCharset: UTF-8\n" #: ../Doc/distutils/sourcedist.rst:5 msgid "Creating a Source Distribution" msgstr "Crear una distribución del código fuente" -#: ../Doc/distutils/_setuptools_disclaimer.rst:3 -msgid "" -"This document is being retained solely until the ``setuptools`` " -"documentation at https://setuptools.readthedocs.io/en/latest/setuptools.html " -"independently covers all of the relevant information currently included here." -msgstr "" -"Este documento se conservará únicamente hasta que la documentación de " -"``setuptools`` en https://setuptools.readthedocs.io/en/latest/setuptools." -"html cubra de forma independiente toda la información relevante que " -"actualmente está incluida aquí." - #: ../Doc/distutils/sourcedist.rst:9 msgid "" "As shown in section :ref:`distutils-simple-example`, you use the :command:" @@ -573,3 +560,14 @@ msgstr "" #: ../Doc/distutils/sourcedist.rst:242 msgid ":option:`!-o` is a shortcut for :option:`!--manifest-only`." msgstr ":option:`!-o` es una forma corta de :option:`!--manifest-only`." + +#~ msgid "" +#~ "This document is being retained solely until the ``setuptools`` " +#~ "documentation at https://setuptools.readthedocs.io/en/latest/setuptools." +#~ "html independently covers all of the relevant information currently " +#~ "included here." +#~ msgstr "" +#~ "Este documento se conservará únicamente hasta que la documentación de " +#~ "``setuptools`` en https://setuptools.readthedocs.io/en/latest/setuptools." +#~ "html cubra de forma independiente toda la información relevante que " +#~ "actualmente está incluida aquí." diff --git a/extending/newtypes_tutorial.po b/extending/newtypes_tutorial.po index 36cdb2e56e..79b0eccaa2 100644 --- a/extending/newtypes_tutorial.po +++ b/extending/newtypes_tutorial.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-06-26 22:37+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" "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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/extending/newtypes_tutorial.rst:7 msgid "Defining Extension Types: Tutorial" @@ -621,13 +620,14 @@ msgstr "" "``primer`` miembro de esta manera:" #: ../Doc/extending/newtypes_tutorial.rst:415 +#, fuzzy msgid "" "But this would be risky. Our type doesn't restrict the type of the " "``first`` member, so it could be any kind of object. It could have a " "destructor that causes code to be executed that tries to access the " "``first`` member; or that destructor could release the :term:`Global " -"interpreter Lock` and let arbitrary code run in other threads that accesses " -"and modifies our object." +"interpreter Lock ` and let arbitrary code run in other threads that " +"accesses and modifies our object." msgstr "" "Pero esto sería arriesgado. Nuestro tipo no restringe el tipo del ``primer`` " "miembro, por lo que podría ser cualquier tipo de objeto. Podría tener un " diff --git a/faq/design.po b/faq/design.po index 762f649f21..cd65995d68 100644 --- a/faq/design.po +++ b/faq/design.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-06-28 19:40+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" "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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/faq/design.rst:3 msgid "Design and History FAQ" @@ -56,10 +55,11 @@ msgstr "" "los programadores de C encontrarán un fragmento de código como este::" #: ../Doc/faq/design.rst:26 +#, fuzzy msgid "" "Only the ``x++`` statement is executed if the condition is true, but the " -"indentation leads you to believe otherwise. Even experienced C programmers " -"will sometimes stare at it a long time wondering why ``y`` is being " +"indentation leads many to believe otherwise. Even experienced C programmers " +"will sometimes stare at it a long time wondering as to why ``y`` is being " "decremented even for ``x > y``." msgstr "" "Solo se ejecuta la instrucción ``x ++`` si la condición es verdadera, pero " @@ -70,18 +70,13 @@ msgstr "" #: ../Doc/faq/design.rst:31 msgid "" "Because there are no begin/end brackets, Python is much less prone to coding-" -"style conflicts. In C there are many different ways to place the braces. If " -"you're used to reading and writing code that uses one style, you will feel " -"at least slightly uneasy when reading (or being required to write) another " -"style." +"style conflicts. In C there are many different ways to place the braces. " +"After becoming used to reading and writing code using a particular style, it " +"is normal to feel somewhat uneasy when reading (or being required to write) " +"in a different one." msgstr "" -"Debido a que no hay corchetes de inicio/fin, Python es mucho menos propenso " -"a conflictos de estilo de codificación. En C hay muchas formas diferentes de " -"colocar las llaves. Si está acostumbrado a leer y escribir código que usa un " -"estilo, se sentirá al menos un poco incómodo cuando lea (o le pidan que " -"escriba) otro estilo." -#: ../Doc/faq/design.rst:36 +#: ../Doc/faq/design.rst:38 msgid "" "Many coding styles place begin/end brackets on a line by themselves. This " "makes programs considerably longer and wastes valuable screen space, making " @@ -101,24 +96,24 @@ msgstr "" "declaraciones y los tipos de datos de alto nivel también son responsables -- " "sino también la indentación basada en la sintaxis ciertamente ayuda." -#: ../Doc/faq/design.rst:46 +#: ../Doc/faq/design.rst:48 msgid "Why am I getting strange results with simple arithmetic operations?" msgstr "" "¿Por qué obtengo resultados extraños con operaciones aritméticas simples?" -#: ../Doc/faq/design.rst:48 +#: ../Doc/faq/design.rst:50 msgid "See the next question." msgstr "Ver la siguiente pregunta." -#: ../Doc/faq/design.rst:52 +#: ../Doc/faq/design.rst:54 msgid "Why are floating-point calculations so inaccurate?" msgstr "¿Por qué los cálculos de punto flotante son tan inexactos?" -#: ../Doc/faq/design.rst:54 +#: ../Doc/faq/design.rst:56 msgid "Users are often surprised by results like this::" msgstr "Los usuarios a menudo se sorprenden por resultados como este::" -#: ../Doc/faq/design.rst:59 +#: ../Doc/faq/design.rst:61 msgid "" "and think it is a bug in Python. It's not. This has little to do with " "Python, and much more to do with how the underlying platform handles " @@ -128,7 +123,7 @@ msgstr "" "y mucho más con la forma en que la plataforma subyacente maneja los números " "de punto flotante." -#: ../Doc/faq/design.rst:63 +#: ../Doc/faq/design.rst:65 msgid "" "The :class:`float` type in CPython uses a C ``double`` for storage. A :" "class:`float` object's value is stored in binary floating-point with a fixed " @@ -145,7 +140,7 @@ msgstr "" "en lo que respecta a las operaciones de punto flotante, Python se comporta " "como muchos lenguajes populares, incluidos C y Java." -#: ../Doc/faq/design.rst:70 +#: ../Doc/faq/design.rst:72 msgid "" "Many numbers that can be written easily in decimal notation cannot be " "expressed exactly in binary floating-point. For example, after::" @@ -154,7 +149,7 @@ msgstr "" "pueden expresar exactamente en coma flotante binaria. Por ejemplo, después " "de::" -#: ../Doc/faq/design.rst:75 +#: ../Doc/faq/design.rst:77 msgid "" "the value stored for ``x`` is a (very good) approximation to the decimal " "value ``1.2``, but is not exactly equal to it. On a typical machine, the " @@ -164,11 +159,11 @@ msgstr "" "decimal ``1.2``, pero no es exactamente igual a él. En una máquina típica, " "el valor real almacenado es::" -#: ../Doc/faq/design.rst:81 +#: ../Doc/faq/design.rst:83 msgid "which is exactly::" msgstr "que es exactamente::" -#: ../Doc/faq/design.rst:85 +#: ../Doc/faq/design.rst:87 msgid "" "The typical precision of 53 bits provides Python floats with 15--16 decimal " "digits of accuracy." @@ -176,7 +171,7 @@ msgstr "" "La precisión típica de 53 bits proporciona flotantes Python con 15--16 " "dígitos decimales de precisión." -#: ../Doc/faq/design.rst:88 +#: ../Doc/faq/design.rst:90 msgid "" "For a fuller explanation, please see the :ref:`floating point arithmetic " "` chapter in the Python tutorial." @@ -184,15 +179,15 @@ msgstr "" "Para obtener una explicación más completa, consulte el capítulo :ref:" "`aritmética de coma flotante ` en el tutorial de Python." -#: ../Doc/faq/design.rst:93 +#: ../Doc/faq/design.rst:95 msgid "Why are Python strings immutable?" msgstr "¿Por qué las cadenas de caracteres de Python son inmutables?" -#: ../Doc/faq/design.rst:95 +#: ../Doc/faq/design.rst:97 msgid "There are several advantages." msgstr "Hay varias ventajas." -#: ../Doc/faq/design.rst:97 +#: ../Doc/faq/design.rst:99 msgid "" "One is performance: knowing that a string is immutable means we can allocate " "space for it at creation time, and the storage requirements are fixed and " @@ -204,7 +199,7 @@ msgstr "" "almacenamiento son fijos e inmutables. Esta es también una de las razones " "para la distinción entre tuplas y listas." -#: ../Doc/faq/design.rst:102 +#: ../Doc/faq/design.rst:104 msgid "" "Another advantage is that strings in Python are considered as \"elemental\" " "as numbers. No amount of activity will change the value 8 to anything else, " @@ -216,13 +211,13 @@ msgstr "" "cosa, y en Python, ninguna cantidad de actividad cambiará la cadena \"ocho\" " "a otra cosa." -#: ../Doc/faq/design.rst:110 +#: ../Doc/faq/design.rst:112 msgid "Why must 'self' be used explicitly in method definitions and calls?" msgstr "" "¿Por qué debe usarse 'self' explícitamente en las definiciones y llamadas de " "métodos?" -#: ../Doc/faq/design.rst:112 +#: ../Doc/faq/design.rst:114 msgid "" "The idea was borrowed from Modula-3. It turns out to be very useful, for a " "variety of reasons." @@ -230,7 +225,7 @@ msgstr "" "La idea fue tomada de Modula-3. Resulta ser muy útil, por una variedad de " "razones." -#: ../Doc/faq/design.rst:115 +#: ../Doc/faq/design.rst:117 msgid "" "First, it's more obvious that you are using a method or instance attribute " "instead of a local variable. Reading ``self.x`` or ``self.meth()`` makes it " @@ -253,7 +248,7 @@ msgstr "" "los atributos de instancia tengan un prefijo ``m_``, porque el ser explícito " "también es útil en esos lenguajes." -#: ../Doc/faq/design.rst:125 +#: ../Doc/faq/design.rst:127 msgid "" "Second, it means that no special syntax is necessary if you want to " "explicitly reference or call the method from a particular class. In C++, if " @@ -274,7 +269,7 @@ msgstr "" "base del mismo nombre y, por lo tanto, tiene que llamar al método de clase " "base de alguna manera." -#: ../Doc/faq/design.rst:134 +#: ../Doc/faq/design.rst:136 msgid "" "Finally, for instance variables it solves a syntactic problem with " "assignment: since local variables in Python are (by definition!) those " @@ -308,15 +303,15 @@ msgstr "" "espacios de nombres diferentes, y debe decirle a Python qué espacio de " "nombres usar." -#: ../Doc/faq/design.rst:152 +#: ../Doc/faq/design.rst:154 msgid "Why can't I use an assignment in an expression?" msgstr "¿Por qué no puedo usar una tarea en una expresión?" -#: ../Doc/faq/design.rst:154 +#: ../Doc/faq/design.rst:156 msgid "Starting in Python 3.8, you can!" msgstr "¡A partir de Python 3.8, se puede!" -#: ../Doc/faq/design.rst:156 +#: ../Doc/faq/design.rst:158 msgid "" "Assignment expressions using the walrus operator `:=` assign a variable in " "an expression::" @@ -324,11 +319,11 @@ msgstr "" "Asignación de expresiones usando el operador de morsa `:=` asigna una " "variable en una expresión::" -#: ../Doc/faq/design.rst:162 +#: ../Doc/faq/design.rst:164 msgid "See :pep:`572` for more information." msgstr "Ver :pep:`572` para más información." -#: ../Doc/faq/design.rst:167 +#: ../Doc/faq/design.rst:169 msgid "" "Why does Python use methods for some functionality (e.g. list.index()) but " "functions for other (e.g. len(list))?" @@ -336,11 +331,11 @@ msgstr "" "¿Por qué Python usa métodos para alguna funcionalidad (por ejemplo, list." "index()) pero funciones para otra (por ejemplo, len(list))?" -#: ../Doc/faq/design.rst:169 +#: ../Doc/faq/design.rst:171 msgid "As Guido said:" msgstr "Como dijo Guido:" -#: ../Doc/faq/design.rst:171 +#: ../Doc/faq/design.rst:173 msgid "" "(a) For some operations, prefix notation just reads better than postfix -- " "prefix (and infix!) operations have a long tradition in mathematics which " @@ -355,7 +350,7 @@ msgstr "" "reescribimos una fórmula como x*(a+b) en x*a + x*b con la torpeza de hacer " "lo mismo usando una notación OO sin procesar." -#: ../Doc/faq/design.rst:178 +#: ../Doc/faq/design.rst:180 msgid "" "(b) When I read code that says len(x) I *know* that it is asking for the " "length of something. This tells me two things: the result is an integer, and " @@ -375,18 +370,18 @@ msgstr "" "implementando una asignación tiene un método get() o keys(), o algo que no " "es un archivo tiene un método write()." -#: ../Doc/faq/design.rst:205 +#: ../Doc/faq/design.rst:207 msgid "https://mail.python.org/pipermail/python-3000/2006-November/004643.html" msgstr "" "https://mail.python.org/pipermail/python-3000/2006-November/004643.html" -#: ../Doc/faq/design.rst:191 +#: ../Doc/faq/design.rst:193 msgid "Why is join() a string method instead of a list or tuple method?" msgstr "" "¿Por qué join() es un método de cadena de caracteres en lugar de un método " "de lista o tupla?" -#: ../Doc/faq/design.rst:193 +#: ../Doc/faq/design.rst:195 msgid "" "Strings became much more like other standard types starting in Python 1.6, " "when methods were added which give the same functionality that has always " @@ -401,15 +396,15 @@ msgstr "" "ampliamente aceptados, pero el que parece hacer que algunos programadores se " "sientan incómodos es:" -#: ../Doc/faq/design.rst:201 +#: ../Doc/faq/design.rst:203 msgid "which gives the result::" msgstr "que da el resultado::" -#: ../Doc/faq/design.rst:205 +#: ../Doc/faq/design.rst:207 msgid "There are two common arguments against this usage." msgstr "Hay dos argumentos comunes en contra de este uso." -#: ../Doc/faq/design.rst:207 +#: ../Doc/faq/design.rst:209 msgid "" "The first runs along the lines of: \"It looks really ugly using a method of " "a string literal (string constant)\", to which the answer is that it might, " @@ -423,7 +418,7 @@ msgstr "" "permiten los métodos en nombres vinculados a cadenas, no hay razón lógica " "para que no estén disponibles en literales." -#: ../Doc/faq/design.rst:213 +#: ../Doc/faq/design.rst:215 msgid "" "The second objection is typically cast as: \"I am really telling a sequence " "to join its members together with a string constant\". Sadly, you aren't. " @@ -436,7 +431,7 @@ msgstr "" "ser mucho menos difícil tener :meth:`~str.split` como método de cadena, ya " "que en ese caso es fácil ver que::" -#: ../Doc/faq/design.rst:220 +#: ../Doc/faq/design.rst:222 msgid "" "is an instruction to a string literal to return the substrings delimited by " "the given separator (or, by default, arbitrary runs of white space)." @@ -445,7 +440,7 @@ msgstr "" "caracteres delimitadas por el separador dado (o, por defecto, ejecuciones " "arbitrarias de espacio en blanco)." -#: ../Doc/faq/design.rst:223 +#: ../Doc/faq/design.rst:225 msgid "" ":meth:`~str.join` is a string method because in using it you are telling the " "separator string to iterate over a sequence of strings and insert itself " @@ -460,11 +455,11 @@ msgstr "" "secuencia, incluidas las clases nuevas que pueda definir usted mismo. " "Existen métodos similares para bytes y objetos bytearray." -#: ../Doc/faq/design.rst:231 +#: ../Doc/faq/design.rst:233 msgid "How fast are exceptions?" msgstr "¿Qué tan rápido van las excepciones?" -#: ../Doc/faq/design.rst:233 +#: ../Doc/faq/design.rst:235 msgid "" "A try/except block is extremely efficient if no exceptions are raised. " "Actually catching an exception is expensive. In versions of Python prior to " @@ -474,7 +469,7 @@ msgstr "" "excepciones. En realidad, capturar una excepción es costoso. En versiones de " "Python anteriores a la 2.0, era común usar este modismo::" -#: ../Doc/faq/design.rst:243 +#: ../Doc/faq/design.rst:245 msgid "" "This only made sense when you expected the dict to have the key almost all " "the time. If that wasn't the case, you coded it like this::" @@ -482,7 +477,7 @@ msgstr "" "Esto solo tenía sentido cuando esperaba que el dict tuviera la clave casi " "todo el tiempo. Si ese no fuera el caso, lo codificó así:" -#: ../Doc/faq/design.rst:251 +#: ../Doc/faq/design.rst:253 msgid "" "For this specific case, you could also use ``value = dict.setdefault(key, " "getvalue(key))``, but only if the ``getvalue()`` call is cheap enough " @@ -492,11 +487,11 @@ msgstr "" "setdefault(key, getvalue(key))``, pero solo si la llamada ``getvalue()`` es " "lo suficientemente barata porque se evalúa en todos los casos." -#: ../Doc/faq/design.rst:257 +#: ../Doc/faq/design.rst:259 msgid "Why isn't there a switch or case statement in Python?" msgstr "¿Por qué no hay un *switch* o una declaración *case* en Python?" -#: ../Doc/faq/design.rst:259 +#: ../Doc/faq/design.rst:261 msgid "" "You can do this easily enough with a sequence of ``if... elif... elif... " "else``. There have been some proposals for switch statement syntax, but " @@ -508,7 +503,7 @@ msgstr "" "declaración, pero todavía no hay consenso sobre si y cómo hacer pruebas de " "rango. Ver :pep:`275` para detalles completos y el estado actual." -#: ../Doc/faq/design.rst:264 +#: ../Doc/faq/design.rst:266 msgid "" "For cases where you need to choose from a very large number of " "possibilities, you can create a dictionary mapping case values to functions " @@ -518,7 +513,7 @@ msgstr "" "posibilidades, puede crear un diccionario que asigne valores de casos a " "funciones para llamar. Por ejemplo::" -#: ../Doc/faq/design.rst:278 +#: ../Doc/faq/design.rst:280 msgid "" "For calling methods on objects, you can simplify yet further by using the :" "func:`getattr` built-in to retrieve methods with a particular name::" @@ -526,7 +521,7 @@ msgstr "" "Para invocar métodos en objetos, puede simplificar aún más utilizando :func:" "`getattr` incorporado para recuperar métodos con un nombre particular::" -#: ../Doc/faq/design.rst:290 +#: ../Doc/faq/design.rst:292 msgid "" "It's suggested that you use a prefix for the method names, such as " "``visit_`` in this example. Without such a prefix, if values are coming " @@ -538,7 +533,7 @@ msgstr "" "una fuente no confiable, un atacante podría invocar cualquier método en su " "objeto." -#: ../Doc/faq/design.rst:296 +#: ../Doc/faq/design.rst:298 msgid "" "Can't you emulate threads in the interpreter instead of relying on an OS-" "specific thread implementation?" @@ -546,7 +541,7 @@ msgstr "" "¿No puede emular hilos en el intérprete en lugar de confiar en una " "implementación de hilos específica del sistema operativo?" -#: ../Doc/faq/design.rst:298 +#: ../Doc/faq/design.rst:300 msgid "" "Answer 1: Unfortunately, the interpreter pushes at least one C stack frame " "for each Python stack frame. Also, extensions can call back into Python at " @@ -559,7 +554,7 @@ msgstr "" "implementación completa de subprocesos requiere soporte de subprocesos para " "C." -#: ../Doc/faq/design.rst:303 +#: ../Doc/faq/design.rst:305 msgid "" "Answer 2: Fortunately, there is `Stackless Python `_, which has a completely redesigned " @@ -569,11 +564,11 @@ msgstr "" "stackless-dev/stackless/wiki>`_, que tiene un bucle de intérprete " "completamente rediseñado que evita la pila C." -#: ../Doc/faq/design.rst:308 +#: ../Doc/faq/design.rst:310 msgid "Why can't lambda expressions contain statements?" msgstr "¿Por qué las expresiones lambda no pueden contener sentencias?" -#: ../Doc/faq/design.rst:310 +#: ../Doc/faq/design.rst:312 msgid "" "Python lambda expressions cannot contain statements because Python's " "syntactic framework can't handle statements nested inside expressions. " @@ -588,7 +583,7 @@ msgstr "" "funcionalidad, las lambdas de Python son solo una notación abreviada si eres " "demasiado vago para definir una función." -#: ../Doc/faq/design.rst:316 +#: ../Doc/faq/design.rst:318 msgid "" "Functions are already first class objects in Python, and can be declared in " "a local scope. Therefore the only advantage of using a lambda instead of a " @@ -604,11 +599,11 @@ msgstr "" "objeto de función (que es exactamente el mismo tipo de se asigna un objeto " "que produce una expresión lambda)" -#: ../Doc/faq/design.rst:324 +#: ../Doc/faq/design.rst:326 msgid "Can Python be compiled to machine code, C or some other language?" msgstr "¿Se puede compilar Python en código máquina, C o algún otro lenguaje?" -#: ../Doc/faq/design.rst:326 +#: ../Doc/faq/design.rst:328 msgid "" "`Cython `_ compiles a modified version of Python with " "optional annotations into C extensions. `Nuitka `_ " @@ -622,11 +617,11 @@ msgstr "" "soportar el lenguaje completo de Python. Para compilar en Java puede " "considerar `VOC `_." -#: ../Doc/faq/design.rst:334 +#: ../Doc/faq/design.rst:336 msgid "How does Python manage memory?" msgstr "¿Cómo gestiona Python la memoria?" -#: ../Doc/faq/design.rst:336 +#: ../Doc/faq/design.rst:338 msgid "" "The details of Python memory management depend on the implementation. The " "standard implementation of Python, :term:`CPython`, uses reference counting " @@ -645,7 +640,7 @@ msgstr "" "proporciona funciones para realizar una recolección de basura, obtener " "estadísticas de depuración y ajustar los parámetros del recolector." -#: ../Doc/faq/design.rst:344 +#: ../Doc/faq/design.rst:346 msgid "" "Other implementations (such as `Jython `_ or `PyPy " "`_), however, can rely on a different mechanism such as " @@ -659,7 +654,7 @@ msgstr "" "sutiles de portabilidad si su código de Python depende del comportamiento de " "la implementación de conteo de referencias." -#: ../Doc/faq/design.rst:350 +#: ../Doc/faq/design.rst:352 msgid "" "In some Python implementations, the following code (which is fine in " "CPython) will probably run out of file descriptors::" @@ -667,7 +662,7 @@ msgstr "" "En algunas implementaciones de Python, el siguiente código (que está bien en " "CPython) probablemente se quedará sin descriptores de archivo::" -#: ../Doc/faq/design.rst:357 +#: ../Doc/faq/design.rst:359 msgid "" "Indeed, using CPython's reference counting and destructor scheme, each new " "assignment to *f* closes the previous file. With a traditional GC, however, " @@ -679,7 +674,7 @@ msgstr "" "embargo, con un GC tradicional, esos objetos de archivo solo se recopilarán " "(y cerrarán) a intervalos variables y posiblemente largos." -#: ../Doc/faq/design.rst:362 +#: ../Doc/faq/design.rst:364 msgid "" "If you want to write code that will work with any Python implementation, you " "should explicitly close the file or use the :keyword:`with` statement; this " @@ -690,13 +685,13 @@ msgstr "" "keyword:`with`; esto funcionará independientemente del esquema de " "administración de memoria::" -#: ../Doc/faq/design.rst:372 +#: ../Doc/faq/design.rst:374 msgid "Why doesn't CPython use a more traditional garbage collection scheme?" msgstr "" "¿Por qué CPython no utiliza un esquema de recolección de basura más " "tradicional?" -#: ../Doc/faq/design.rst:374 +#: ../Doc/faq/design.rst:376 msgid "" "For one thing, this is not a C standard feature and hence it's not portable. " "(Yes, we know about the Boehm GC library. It has bits of assembler code for " @@ -711,7 +706,7 @@ msgstr "" "completamente transparente; se requieren parches para obtener Python para " "trabajar con eso)" -#: ../Doc/faq/design.rst:380 +#: ../Doc/faq/design.rst:382 msgid "" "Traditional GC also becomes a problem when Python is embedded into other " "applications. While in a standalone Python it's fine to replace the " @@ -728,11 +723,11 @@ msgstr "" "quiero a Python. En este momento, CPython funciona con todo lo que " "implementa malloc() y free() correctamente." -#: ../Doc/faq/design.rst:389 +#: ../Doc/faq/design.rst:391 msgid "Why isn't all memory freed when CPython exits?" msgstr "¿Por qué no se libera toda la memoria cuando sale CPython?" -#: ../Doc/faq/design.rst:391 +#: ../Doc/faq/design.rst:393 msgid "" "Objects referenced from the global namespaces of Python modules are not " "always deallocated when Python exits. This may happen if there are circular " @@ -749,7 +744,7 @@ msgstr "" "Python es, sin embargo, agresivo sobre la limpieza de la memoria al salir e " "intenta destruir cada objeto." -#: ../Doc/faq/design.rst:398 +#: ../Doc/faq/design.rst:400 msgid "" "If you want to force Python to delete certain things on deallocation use " "the :mod:`atexit` module to run a function that will force those deletions." @@ -758,11 +753,11 @@ msgstr "" "el módulo :mod:`atexit` para ejecutar una función que obligará a esas " "eliminaciones." -#: ../Doc/faq/design.rst:403 +#: ../Doc/faq/design.rst:405 msgid "Why are there separate tuple and list data types?" msgstr "¿Por qué hay tipos de datos separados de tuplas y listas?" -#: ../Doc/faq/design.rst:405 +#: ../Doc/faq/design.rst:407 msgid "" "Lists and tuples, while similar in many respects, are generally used in " "fundamentally different ways. Tuples can be thought of as being similar to " @@ -778,7 +773,7 @@ msgstr "" "tipos que funcionan como un grupo. Por ejemplo, una coordenada cartesiana se " "representa adecuadamente como una tupla de dos o tres números." -#: ../Doc/faq/design.rst:412 +#: ../Doc/faq/design.rst:414 msgid "" "Lists, on the other hand, are more like arrays in other languages. They " "tend to hold a varying number of objects all of which have the same type and " @@ -794,7 +789,7 @@ msgstr "" "directorio actual. Las funciones que operan en esta salida generalmente no " "se romperían si agregara otro archivo o dos al directorio." -#: ../Doc/faq/design.rst:419 +#: ../Doc/faq/design.rst:421 msgid "" "Tuples are immutable, meaning that once a tuple has been created, you can't " "replace any of its elements with a new value. Lists are mutable, meaning " @@ -809,11 +804,11 @@ msgstr "" "claves de diccionario y, por lo tanto, solo las tuplas y no las listas se " "pueden usar como claves." -#: ../Doc/faq/design.rst:426 +#: ../Doc/faq/design.rst:428 msgid "How are lists implemented in CPython?" msgstr "¿Cómo se implementan las listas en Python?" -#: ../Doc/faq/design.rst:428 +#: ../Doc/faq/design.rst:430 msgid "" "CPython's lists are really variable-length arrays, not Lisp-style linked " "lists. The implementation uses a contiguous array of references to other " @@ -825,7 +820,7 @@ msgstr "" "referencias a otros objetos y mantiene un puntero a esta matriz y la " "longitud de la matriz en una estructura de encabezado de lista." -#: ../Doc/faq/design.rst:432 +#: ../Doc/faq/design.rst:434 msgid "" "This makes indexing a list ``a[i]`` an operation whose cost is independent " "of the size of the list or the value of the index." @@ -833,7 +828,7 @@ msgstr "" "Esto hace que indexar una lista ``a[i]`` una operación cuyo costo es " "independiente del tamaño de la lista o del valor del índice." -#: ../Doc/faq/design.rst:435 +#: ../Doc/faq/design.rst:437 msgid "" "When items are appended or inserted, the array of references is resized. " "Some cleverness is applied to improve the performance of appending items " @@ -846,11 +841,11 @@ msgstr "" "un espacio extra para que las próximas veces no requieran un cambio de " "tamaño real." -#: ../Doc/faq/design.rst:442 +#: ../Doc/faq/design.rst:444 msgid "How are dictionaries implemented in CPython?" msgstr "¿Cómo se implementan los diccionarios en CPython?" -#: ../Doc/faq/design.rst:444 +#: ../Doc/faq/design.rst:446 msgid "" "CPython's dictionaries are implemented as resizable hash tables. Compared " "to B-trees, this gives better performance for lookup (the most common " @@ -863,7 +858,7 @@ msgstr "" "con diferencia) en la mayoría de las circunstancias, y la implementación es " "más simple." -#: ../Doc/faq/design.rst:448 +#: ../Doc/faq/design.rst:450 msgid "" "Dictionaries work by computing a hash code for each key stored in the " "dictionary using the :func:`hash` built-in function. The hash code varies " @@ -886,11 +881,11 @@ msgstr "" "los diccionarios toman tiempo constante -- O(1), en notación Big-O -- para " "recuperar una clave." -#: ../Doc/faq/design.rst:459 +#: ../Doc/faq/design.rst:461 msgid "Why must dictionary keys be immutable?" msgstr "¿Por qué las claves del diccionario deben ser inmutables?" -#: ../Doc/faq/design.rst:461 +#: ../Doc/faq/design.rst:463 msgid "" "The hash table implementation of dictionaries uses a hash value calculated " "from the key value to find the key. If the key were a mutable object, its " @@ -912,7 +907,7 @@ msgstr "" "de buscar el valor anterior, tampoco lo encontraría, porque el valor del " "objeto que se encuentra en ese hash bin sería diferente." -#: ../Doc/faq/design.rst:470 +#: ../Doc/faq/design.rst:472 msgid "" "If you want a dictionary indexed with a list, simply convert the list to a " "tuple first; the function ``tuple(L)`` creates a tuple with the same entries " @@ -924,11 +919,11 @@ msgstr "" "mismas entradas que la lista ``L``. Las tuplas son inmutables y, por lo " "tanto, pueden usarse como claves de diccionario." -#: ../Doc/faq/design.rst:474 +#: ../Doc/faq/design.rst:476 msgid "Some unacceptable solutions that have been proposed:" msgstr "Algunas soluciones inaceptables que se han propuesto:" -#: ../Doc/faq/design.rst:476 +#: ../Doc/faq/design.rst:478 msgid "" "Hash lists by their address (object ID). This doesn't work because if you " "construct a new list with the same value it won't be found; e.g.::" @@ -936,7 +931,7 @@ msgstr "" "Listas de hash por su dirección (ID de objeto). Esto no funciona porque si " "construye una nueva lista con el mismo valor, no se encontrará; por ejemplo::" -#: ../Doc/faq/design.rst:482 +#: ../Doc/faq/design.rst:484 msgid "" "would raise a :exc:`KeyError` exception because the id of the ``[1, 2]`` " "used in the second line differs from that in the first line. In other " @@ -948,7 +943,7 @@ msgstr "" "palabras, las claves del diccionario deben compararse usando ``==``, no " "usando :keyword:`is`." -#: ../Doc/faq/design.rst:486 +#: ../Doc/faq/design.rst:488 msgid "" "Make a copy when using a list as a key. This doesn't work because the list, " "being a mutable object, could contain a reference to itself, and then the " @@ -958,7 +953,7 @@ msgstr "" "lista, al ser un objeto mutable, podría contener una referencia a sí misma, " "y luego el código de copia se ejecutaría en un bucle infinito." -#: ../Doc/faq/design.rst:490 +#: ../Doc/faq/design.rst:492 msgid "" "Allow lists as keys but tell the user not to modify them. This would allow " "a class of hard-to-track bugs in programs when you forgot or modified a list " @@ -971,7 +966,7 @@ msgstr "" "invariante importante de diccionarios: cada valor en ``d.keys()`` se puede " "usar como una clave del diccionario." -#: ../Doc/faq/design.rst:495 +#: ../Doc/faq/design.rst:497 msgid "" "Mark lists as read-only once they are used as a dictionary key. The problem " "is that it's not just the top-level object that could change its value; you " @@ -987,7 +982,7 @@ msgstr "" "los objetos accesibles desde allí como de solo lectura -- y nuevamente, los " "objetos autoreferenciados podrían causar un bucle infinito." -#: ../Doc/faq/design.rst:501 +#: ../Doc/faq/design.rst:503 msgid "" "There is a trick to get around this if you need to, but use it at your own " "risk: You can wrap a mutable structure inside a class instance which has " @@ -1003,7 +998,7 @@ msgstr "" "residen en un diccionario (u otra estructura basada en hash) permanezca fijo " "mientras el objeto está en el diccionario (u otra estructura). ::" -#: ../Doc/faq/design.rst:525 +#: ../Doc/faq/design.rst:527 msgid "" "Note that the hash computation is complicated by the possibility that some " "members of the list may be unhashable and also by the possibility of " @@ -1013,7 +1008,7 @@ msgstr "" "algunos miembros de la lista sean inquebrantables y también por la " "posibilidad de desbordamiento aritmético." -#: ../Doc/faq/design.rst:529 +#: ../Doc/faq/design.rst:531 msgid "" "Furthermore it must always be the case that if ``o1 == o2`` (ie ``o1." "__eq__(o2) is True``) then ``hash(o1) == hash(o2)`` (ie, ``o1.__hash__() == " @@ -1027,7 +1022,7 @@ msgstr "" "un diccionario o no. Si no cumple con estas restricciones, los diccionarios " "y otras estructuras basadas en hash se comportarán mal." -#: ../Doc/faq/design.rst:534 +#: ../Doc/faq/design.rst:536 msgid "" "In the case of ListWrapper, whenever the wrapper object is in a dictionary " "the wrapped list must not change to avoid anomalies. Don't do this unless " @@ -1040,11 +1035,11 @@ msgstr "" "requisitos y las consecuencias de no cumplirlos correctamente. Considérese " "advertido." -#: ../Doc/faq/design.rst:541 +#: ../Doc/faq/design.rst:543 msgid "Why doesn't list.sort() return the sorted list?" msgstr "¿Por qué list.sort() no retorna la lista ordenada?" -#: ../Doc/faq/design.rst:543 +#: ../Doc/faq/design.rst:545 msgid "" "In situations where performance matters, making a copy of the list just to " "sort it would be wasteful. Therefore, :meth:`list.sort` sorts the list in " @@ -1060,7 +1055,7 @@ msgstr "" "accidentalmente una lista cuando necesite una copia ordenada, pero también " "deberá mantener la versión sin ordenar." -#: ../Doc/faq/design.rst:549 +#: ../Doc/faq/design.rst:551 msgid "" "If you want to return a new list, use the built-in :func:`sorted` function " "instead. This function creates a new list from a provided iterable, sorts " @@ -1072,11 +1067,11 @@ msgstr "" "proporcionado, la ordena y la retorna. Por ejemplo, a continuación se " "explica cómo iterar sobre las teclas de un diccionario en orden ordenado:" -#: ../Doc/faq/design.rst:559 +#: ../Doc/faq/design.rst:561 msgid "How do you specify and enforce an interface spec in Python?" msgstr "¿Cómo se especifica y aplica una especificación de interfaz en Python?" -#: ../Doc/faq/design.rst:561 +#: ../Doc/faq/design.rst:563 msgid "" "An interface specification for a module as provided by languages such as C++ " "and Java describes the prototypes for the methods and functions of the " @@ -1089,7 +1084,7 @@ msgstr "" "especificaciones de la interfaz ayuda en la construcción de grandes " "programas." -#: ../Doc/faq/design.rst:566 +#: ../Doc/faq/design.rst:568 msgid "" "Python 2.6 adds an :mod:`abc` module that lets you define Abstract Base " "Classes (ABCs). You can then use :func:`isinstance` and :func:`issubclass` " @@ -1105,18 +1100,18 @@ msgstr "" "class:`~collections.abc.Iterable`, :class:`~collections.abc.Container` y :" "class:`~collections.abc.MutableMapping`." -#: ../Doc/faq/design.rst:573 +#: ../Doc/faq/design.rst:575 +#, fuzzy msgid "" "For Python, many of the advantages of interface specifications can be " -"obtained by an appropriate test discipline for components. There is also a " -"tool, PyChecker, which can be used to find problems due to subclassing." +"obtained by an appropriate test discipline for components." msgstr "" "Para Python, muchas de las ventajas de las especificaciones de interfaz se " "pueden obtener mediante una disciplina de prueba adecuada para los " "componentes. También hay una herramienta, PyChecker, que se puede usar para " "encontrar problemas debido a la subclasificación." -#: ../Doc/faq/design.rst:577 +#: ../Doc/faq/design.rst:578 msgid "" "A good test suite for a module can both provide a regression test and serve " "as a module interface specification and a set of examples. Many Python " @@ -1137,7 +1132,7 @@ msgstr "" "terceros se pueden utilizar para construir conjuntos de pruebas exhaustivas " "que ejercitan cada línea de código en un módulo." -#: ../Doc/faq/design.rst:585 +#: ../Doc/faq/design.rst:586 msgid "" "An appropriate testing discipline can help build large complex applications " "in Python as well as having interface specifications would. In fact, it can " @@ -1156,13 +1151,14 @@ msgstr "" "implementación :meth:`append` realmente haga esto correctamente, pero es " "trivial verificar esta propiedad en un conjunto de pruebas." -#: ../Doc/faq/design.rst:593 +#: ../Doc/faq/design.rst:594 +#, fuzzy msgid "" "Writing test suites is very helpful, and you might want to design your code " -"with an eye to making it easily tested. One increasingly popular technique, " -"test-directed development, calls for writing parts of the test suite first, " -"before you write any of the actual code. Of course Python allows you to be " -"sloppy and not write test cases at all." +"to make it easily tested. One increasingly popular technique, test-driven " +"development, calls for writing parts of the test suite first, before you " +"write any of the actual code. Of course Python allows you to be sloppy and " +"not write test cases at all." msgstr "" "Escribir conjuntos de pruebas es muy útil, y es posible que desee diseñar su " "código con miras a que sea fácilmente probado. Una técnica cada vez más " @@ -1170,13 +1166,24 @@ msgstr "" "conjunto de pruebas primero, antes de escribir el código real. Por supuesto, " "Python te permite ser descuidado y no escribir casos de prueba." -#: ../Doc/faq/design.rst:601 +#: ../Doc/faq/design.rst:602 msgid "Why is there no goto?" msgstr "¿Por qué no hay goto?" -#: ../Doc/faq/design.rst:603 +#: ../Doc/faq/design.rst:604 +msgid "" +"In the 1970s people realized that unrestricted goto could lead to messy " +"\"spaghetti\" code that was hard to understand and revise. In a high-level " +"language, it is also unneeded as long as there are ways to branch (in " +"Python, with ``if`` statements and ``or``, ``and``, and ``if-else`` " +"expressions) and loop (with ``while`` and ``for`` statements, possibly " +"containing ``continue`` and ``break``)." +msgstr "" + +#: ../Doc/faq/design.rst:611 +#, fuzzy msgid "" -"You can use exceptions to provide a \"structured goto\" that even works " +"One can also use exceptions to provide a \"structured goto\" that works even " "across function calls. Many feel that exceptions can conveniently emulate " "all reasonable uses of the \"go\" or \"goto\" constructs of C, Fortran, and " "other languages. For example::" @@ -1186,7 +1193,7 @@ msgstr "" "pueden emular convenientemente todos los usos razonables de los constructos " "\"go\" o \"goto\" de C, Fortran y otros lenguajes. Por ejemplo::" -#: ../Doc/faq/design.rst:618 +#: ../Doc/faq/design.rst:627 msgid "" "This doesn't allow you to jump into the middle of a loop, but that's usually " "considered an abuse of goto anyway. Use sparingly." @@ -1194,13 +1201,13 @@ msgstr "" "Esto no le permite saltar a la mitad de un bucle, pero de todos modos eso " "generalmente se considera un abuso de goto. Utilizar con moderación." -#: ../Doc/faq/design.rst:623 +#: ../Doc/faq/design.rst:632 msgid "Why can't raw strings (r-strings) end with a backslash?" msgstr "" "¿Por qué las cadenas de caracteres sin formato (r-strings) no pueden " "terminar con una barra diagonal inversa?" -#: ../Doc/faq/design.rst:625 +#: ../Doc/faq/design.rst:634 msgid "" "More precisely, they can't end with an odd number of backslashes: the " "unpaired backslash at the end escapes the closing quote character, leaving " @@ -1210,7 +1217,7 @@ msgstr "" "invertidas: la barra invertida no emparejada al final escapa el carácter de " "comillas de cierre, dejando una cadena sin terminar." -#: ../Doc/faq/design.rst:629 +#: ../Doc/faq/design.rst:638 msgid "" "Raw strings were designed to ease creating input for processors (chiefly " "regular expression engines) that want to do their own backslash escape " @@ -1229,7 +1236,7 @@ msgstr "" "cuando las cadenas de caracteres r (*r-strings*) se usan para el propósito " "previsto." -#: ../Doc/faq/design.rst:636 +#: ../Doc/faq/design.rst:645 msgid "" "If you're trying to build Windows pathnames, note that all Windows system " "calls accept forward slashes too::" @@ -1237,34 +1244,35 @@ msgstr "" "Si está intentando construir nombres de ruta de Windows, tenga en cuenta que " "todas las llamadas al sistema de Windows también aceptan barras diagonales:" -#: ../Doc/faq/design.rst:641 +#: ../Doc/faq/design.rst:650 msgid "" "If you're trying to build a pathname for a DOS command, try e.g. one of ::" msgstr "" "Si está tratando de construir una ruta para un comando de DOS, intente por " "ejemplo uno de los siguientes::" -#: ../Doc/faq/design.rst:649 +#: ../Doc/faq/design.rst:658 msgid "Why doesn't Python have a \"with\" statement for attribute assignments?" msgstr "" "¿Por qué Python no tiene una declaración \"with\" para las asignaciones de " "atributos?" -#: ../Doc/faq/design.rst:651 +#: ../Doc/faq/design.rst:660 +#, fuzzy msgid "" "Python has a 'with' statement that wraps the execution of a block, calling " -"code on the entrance and exit from the block. Some language have a " +"code on the entrance and exit from the block. Some languages have a " "construct that looks like this::" msgstr "" "Python tiene una declaración 'with' que envuelve la ejecución de un bloque, " "llamando al código en la entrada y salida del bloque. Algunos lenguajes " "tienen una construcción que se ve así:" -#: ../Doc/faq/design.rst:659 +#: ../Doc/faq/design.rst:668 msgid "In Python, such a construct would be ambiguous." msgstr "En Python, tal construcción sería ambigua." -#: ../Doc/faq/design.rst:661 +#: ../Doc/faq/design.rst:670 msgid "" "Other languages, such as Object Pascal, Delphi, and C++, use static types, " "so it's possible to know, in an unambiguous way, what member is being " @@ -1277,7 +1285,7 @@ msgstr "" "el compilador *siempre* conoce el alcance de cada variable en tiempo de " "compilación." -#: ../Doc/faq/design.rst:666 +#: ../Doc/faq/design.rst:675 msgid "" "Python uses dynamic types. It is impossible to know in advance which " "attribute will be referenced at runtime. Member attributes may be added or " @@ -1291,11 +1299,11 @@ msgstr "" "imposible saber, a partir de una simple lectura, a qué atributo se hace " "referencia: ¿uno local, uno global o un atributo miembro?" -#: ../Doc/faq/design.rst:672 +#: ../Doc/faq/design.rst:681 msgid "For instance, take the following incomplete snippet::" msgstr "Por ejemplo, tome el siguiente fragmento incompleto::" -#: ../Doc/faq/design.rst:678 +#: ../Doc/faq/design.rst:687 msgid "" "The snippet assumes that \"a\" must have a member attribute called \"x\". " "However, there is nothing in Python that tells the interpreter this. What " @@ -1310,7 +1318,7 @@ msgstr "" "naturaleza dinámica de Python hace que tales elecciones sean mucho más " "difíciles." -#: ../Doc/faq/design.rst:684 +#: ../Doc/faq/design.rst:693 msgid "" "The primary benefit of \"with\" and similar language features (reduction of " "code volume) can, however, easily be achieved in Python by assignment. " @@ -1320,11 +1328,11 @@ msgstr "" "lenguaje similares (reducción del volumen del código) se puede lograr " "fácilmente en Python mediante la asignación. En vez de::" -#: ../Doc/faq/design.rst:691 +#: ../Doc/faq/design.rst:700 msgid "write this::" msgstr "escribe esto::" -#: ../Doc/faq/design.rst:698 +#: ../Doc/faq/design.rst:707 msgid "" "This also has the side-effect of increasing execution speed because name " "bindings are resolved at run-time in Python, and the second version only " @@ -1334,12 +1342,12 @@ msgstr "" "ejecución porque los enlaces de nombres se resuelven en tiempo de ejecución " "en Python, y la segunda versión solo necesita realizar la resolución una vez." -#: ../Doc/faq/design.rst:704 +#: ../Doc/faq/design.rst:713 msgid "Why are colons required for the if/while/def/class statements?" msgstr "" "¿Por qué se requieren dos puntos para las declaraciones if/while/def/class?" -#: ../Doc/faq/design.rst:706 +#: ../Doc/faq/design.rst:715 msgid "" "The colon is required primarily to enhance readability (one of the results " "of the experimental ABC language). Consider this::" @@ -1347,11 +1355,11 @@ msgstr "" "Los dos puntos se requieren principalmente para mejorar la legibilidad (uno " "de los resultados del lenguaje ABC experimental). Considera esto::" -#: ../Doc/faq/design.rst:712 +#: ../Doc/faq/design.rst:721 msgid "versus ::" msgstr "versus ::" -#: ../Doc/faq/design.rst:717 +#: ../Doc/faq/design.rst:726 msgid "" "Notice how the second one is slightly easier to read. Notice further how a " "colon sets off the example in this FAQ answer; it's a standard usage in " @@ -1361,7 +1369,7 @@ msgstr "" "cómo los dos puntos establecen el ejemplo en esta respuesta de preguntas " "frecuentes; Es un uso estándar en inglés." -#: ../Doc/faq/design.rst:720 +#: ../Doc/faq/design.rst:729 msgid "" "Another minor reason is that the colon makes it easier for editors with " "syntax highlighting; they can look for colons to decide when indentation " @@ -1373,11 +1381,11 @@ msgstr "" "aumentar la indentación en lugar de tener que hacer un análisis más " "elaborado del texto del programa." -#: ../Doc/faq/design.rst:726 +#: ../Doc/faq/design.rst:735 msgid "Why does Python allow commas at the end of lists and tuples?" msgstr "¿Por qué Python permite comas al final de las listas y tuplas?" -#: ../Doc/faq/design.rst:728 +#: ../Doc/faq/design.rst:737 msgid "" "Python lets you add a trailing comma at the end of lists, tuples, and " "dictionaries::" @@ -1385,11 +1393,11 @@ msgstr "" "Python le permite agregar una coma final al final de las listas, tuplas y " "diccionarios::" -#: ../Doc/faq/design.rst:739 +#: ../Doc/faq/design.rst:748 msgid "There are several reasons to allow this." msgstr "Hay varias razones para permitir esto." -#: ../Doc/faq/design.rst:741 +#: ../Doc/faq/design.rst:750 msgid "" "When you have a literal value for a list, tuple, or dictionary spread across " "multiple lines, it's easier to add more elements because you don't have to " @@ -1401,7 +1409,7 @@ msgstr "" "tiene que recordar agregar una coma a la línea anterior. Las líneas también " "se pueden reordenar sin crear un error de sintaxis." -#: ../Doc/faq/design.rst:746 +#: ../Doc/faq/design.rst:755 msgid "" "Accidentally omitting the comma can lead to errors that are hard to " "diagnose. For example::" @@ -1409,7 +1417,7 @@ msgstr "" "La omisión accidental de la coma puede ocasionar errores difíciles de " "diagnosticar. Por ejemplo::" -#: ../Doc/faq/design.rst:756 +#: ../Doc/faq/design.rst:765 msgid "" "This list looks like it has four elements, but it actually contains three: " "\"fee\", \"fiefoo\" and \"fum\". Always adding the comma avoids this source " @@ -1419,10 +1427,23 @@ msgstr "" "tres: \"fee\", \"fiefoo\" y \"fum\". Agregar siempre la coma evita esta " "fuente de error." -#: ../Doc/faq/design.rst:759 +#: ../Doc/faq/design.rst:768 msgid "" "Allowing the trailing comma may also make programmatic code generation " "easier." msgstr "" "Permitir la coma final también puede facilitar la generación de código " "programático." + +#~ msgid "" +#~ "Because there are no begin/end brackets, Python is much less prone to " +#~ "coding-style conflicts. In C there are many different ways to place the " +#~ "braces. If you're used to reading and writing code that uses one style, " +#~ "you will feel at least slightly uneasy when reading (or being required to " +#~ "write) another style." +#~ msgstr "" +#~ "Debido a que no hay corchetes de inicio/fin, Python es mucho menos " +#~ "propenso a conflictos de estilo de codificación. En C hay muchas formas " +#~ "diferentes de colocar las llaves. Si está acostumbrado a leer y escribir " +#~ "código que usa un estilo, se sentirá al menos un poco incómodo cuando lea " +#~ "(o le pidan que escriba) otro estilo." diff --git a/faq/general.po b/faq/general.po index c1524a2b8d..9cd2d58fd2 100644 --- a/faq/general.po +++ b/faq/general.po @@ -1,22 +1,25 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. # Maintained by the python-doc-es workteam. -# docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ -# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers +# docs-es@python.org / +# https://mail.python.org/mailman3/lists/docs-es.python.org/ +# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get +# the list of volunteers # msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-06 11:59-0400\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-17 22:04-0300\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.0.6\n" -"Last-Translator: \n" -"Language: es\n" +"Generated-By: Babel 2.8.0\n" #: ../Doc/faq/general.rst:5 msgid "General Python FAQ" @@ -35,15 +38,18 @@ msgid "What is Python?" msgstr "¿Qué es Python?" #: ../Doc/faq/general.rst:18 +#, fuzzy msgid "" "Python is an interpreted, interactive, object-oriented programming " "language. It incorporates modules, exceptions, dynamic typing, very high " -"level dynamic data types, and classes. Python combines remarkable power " -"with very clear syntax. It has interfaces to many system calls and " -"libraries, as well as to various window systems, and is extensible in C or C+" -"+. It is also usable as an extension language for applications that need a " -"programmable interface. Finally, Python is portable: it runs on many Unix " -"variants, on the Mac, and on Windows 2000 and later." +"level dynamic data types, and classes. It supports multiple programming " +"paradigms beyond object-oriented programming, such as procedural and " +"functional programming. Python combines remarkable power with very clear " +"syntax. It has interfaces to many system calls and libraries, as well as to " +"various window systems, and is extensible in C or C++. It is also usable as " +"an extension language for applications that need a programmable interface. " +"Finally, Python is portable: it runs on many Unix variants including Linux " +"and macOS, and on Windows." msgstr "" "Python es un lenguaje interpretado, interactivo y orientado a objetos. " "Incorpora módulos, excepciones, tipado dinámico, tipos de datos de muy alto " @@ -54,7 +60,7 @@ msgstr "" "programable. Por último, Python es portable: corre en muchas variantes de " "Unix, en Mac y en Windows 2000 y posteriores. " -#: ../Doc/faq/general.rst:27 +#: ../Doc/faq/general.rst:28 msgid "" "To find out more, start with :ref:`tutorial-index`. The `Beginner's Guide " "to Python `_ links to other " @@ -64,11 +70,11 @@ msgstr "" "to Python `_ vincula a otros " "recursos y tutoriales introductorios para aprender Python. " -#: ../Doc/faq/general.rst:33 +#: ../Doc/faq/general.rst:34 msgid "What is the Python Software Foundation?" msgstr "¿Que es la *Python Software Foundation*?" -#: ../Doc/faq/general.rst:35 +#: ../Doc/faq/general.rst:36 msgid "" "The Python Software Foundation is an independent non-profit organization " "that holds the copyright on Python versions 2.1 and newer. The PSF's " @@ -82,7 +88,7 @@ msgstr "" "relacionada al lenguaje de programación Python y publicitar su uso. El sitio " "web de la PSF es https://www.python.org/psf/." -#: ../Doc/faq/general.rst:41 +#: ../Doc/faq/general.rst:42 msgid "" "Donations to the PSF are tax-exempt in the US. If you use Python and find " "it helpful, please contribute via `the PSF donation page `_." -#: ../Doc/faq/general.rst:47 +#: ../Doc/faq/general.rst:48 msgid "Are there copyright restrictions on the use of Python?" msgstr "¿Hay restricciones de *copyright* sobre el uso de Python?" -#: ../Doc/faq/general.rst:49 +#: ../Doc/faq/general.rst:50 msgid "" "You can do anything you want with the source, as long as you leave the " "copyrights in and display those copyrights in any documentation about Python " @@ -114,7 +120,7 @@ msgstr "" "incorporen Python de alguna manera. De cualquier manera nos gustaría saber " "de todos los usos comerciales de Python, por supuesto. " -#: ../Doc/faq/general.rst:56 +#: ../Doc/faq/general.rst:57 msgid "" "See `the PSF license page `_ to find " "further explanations and a link to the full text of the license." @@ -123,7 +129,7 @@ msgstr "" "encontrar explicaciones más detalladas y un vínculo al texto completo de la " "licencia. " -#: ../Doc/faq/general.rst:59 +#: ../Doc/faq/general.rst:60 msgid "" "The Python logo is trademarked, and in certain cases permission is required " "to use it. Consult `the Trademark Usage Policy `__ para más información." -#: ../Doc/faq/general.rst:65 +#: ../Doc/faq/general.rst:66 msgid "Why was Python created in the first place?" msgstr "¿Por qué motivos se creó Python?" -#: ../Doc/faq/general.rst:67 +#: ../Doc/faq/general.rst:68 msgid "" "Here's a *very* brief summary of what started it all, written by Guido van " "Rossum:" @@ -145,7 +151,7 @@ msgstr "" "Aquí hay un *muy* breve resumen sobre qué fue lo que comenzó todo, escrita " "por Guido van Rossum:" -#: ../Doc/faq/general.rst:70 +#: ../Doc/faq/general.rst:71 msgid "" "I had extensive experience with implementing an interpreted language in the " "ABC group at CWI, and from working with this group I had learned a lot about " @@ -160,7 +166,7 @@ msgstr "" "de datos de muy alto nivel (aunque los detalles son todos diferentes en " "Python). " -#: ../Doc/faq/general.rst:77 +#: ../Doc/faq/general.rst:78 msgid "" "I had a number of gripes about the ABC language, but also liked many of its " "features. It was impossible to extend the ABC language (or its " @@ -178,7 +184,7 @@ msgstr "" "leí su reporte. Modula-3 es el origen de la sintaxis y semántica que usé " "para las excepciones y otras características de Python." -#: ../Doc/faq/general.rst:85 +#: ../Doc/faq/general.rst:86 msgid "" "I was working in the Amoeba distributed operating system group at CWI. We " "needed a better way to do system administration than by writing either C " @@ -195,7 +201,7 @@ msgstr "" "hizo muy consciente de la importancia de las excepciones como una " "característica de los lenguaje de programación." -#: ../Doc/faq/general.rst:92 +#: ../Doc/faq/general.rst:93 msgid "" "It occurred to me that a scripting language with a syntax like ABC but with " "access to the Amoeba system calls would fill the need. I realized that it " @@ -208,7 +214,7 @@ msgstr "" "Amoeba, así que decidí que necesitaba un lenguaje que fuera generalmente " "extensible." -#: ../Doc/faq/general.rst:97 +#: ../Doc/faq/general.rst:98 msgid "" "During the 1989 Christmas holidays, I had a lot of time on my hand, so I " "decided to give it a try. During the next year, while still mostly working " @@ -222,7 +228,7 @@ msgstr "" "en el proyecto Amoeba con un éxito creciente, y los comentarios de mis " "colegas me hicieron agregar muchas mejoras iniciales." -#: ../Doc/faq/general.rst:103 +#: ../Doc/faq/general.rst:104 msgid "" "In February 1991, after just over a year of development, I decided to post " "to USENET. The rest is in the ``Misc/HISTORY`` file." @@ -230,11 +236,11 @@ msgstr "" "En febrero de 1991, justo después de un año de desarrollo, decidí publicarlo " "en USENET. El resto está en el archivo ``Misc/HISTORY``." -#: ../Doc/faq/general.rst:108 +#: ../Doc/faq/general.rst:109 msgid "What is Python good for?" msgstr "¿Para qué es bueno Python?" -#: ../Doc/faq/general.rst:110 +#: ../Doc/faq/general.rst:111 msgid "" "Python is a high-level general-purpose programming language that can be " "applied to many different classes of problems." @@ -242,7 +248,7 @@ msgstr "" "Python es un lenguaje de programación de propósito general de alto nivel que " "se puede aplicar a muchas clases diferentes de problemas." -#: ../Doc/faq/general.rst:113 +#: ../Doc/faq/general.rst:114 msgid "" "The language comes with a large standard library that covers areas such as " "string processing (regular expressions, Unicode, calculating differences " @@ -266,11 +272,11 @@ msgstr "" "`Python Package Index `_ para encontrar paquetes de tu " "interés. " -#: ../Doc/faq/general.rst:125 +#: ../Doc/faq/general.rst:126 msgid "How does the Python version numbering scheme work?" msgstr "¿Cómo funciona el esquema numérico de versiones de Python?" -#: ../Doc/faq/general.rst:127 +#: ../Doc/faq/general.rst:128 msgid "" "Python versions are numbered A.B.C or A.B. A is the major version number -- " "it is only incremented for really major changes in the language. B is the " @@ -285,7 +291,7 @@ msgstr "" "lanzamiento de corrección de errores. Mira el :pep:`6` para más información " "sobre los lanzamientos de corrección de errores. " -#: ../Doc/faq/general.rst:133 +#: ../Doc/faq/general.rst:134 msgid "" "Not all releases are bugfix releases. In the run-up to a new major release, " "a series of development releases are made, denoted as alpha, beta, or " @@ -305,14 +311,15 @@ msgstr "" "*release candidates* están congelados, sin hacer cambios excepto los " "necesarios para corregir bugs críticos. " -#: ../Doc/faq/general.rst:141 +#: ../Doc/faq/general.rst:142 +#, fuzzy msgid "" "Alpha, beta and release candidate versions have an additional suffix. The " "suffix for an alpha version is \"aN\" for some small number N, the suffix " "for a beta version is \"bN\" for some small number N, and the suffix for a " -"release candidate version is \"cN\" for some small number N. In other " +"release candidate version is \"rcN\" for some small number N. In other " "words, all versions labeled 2.0aN precede the versions labeled 2.0bN, which " -"precede versions labeled 2.0cN, and *those* precede 2.0." +"precede versions labeled 2.0rcN, and *those* precede 2.0." msgstr "" "Las versiones *alpha*, *beta* y *release candidates* tienen un sufijo " "adicional. El sufijo para la versión alpha es \"aN\" para algunos números N " @@ -322,7 +329,7 @@ msgstr "" "a las 2.0bN, que preceden a las etiquetadas 2.0cN, y *todas esas* preceden a " "la 2.0. " -#: ../Doc/faq/general.rst:148 +#: ../Doc/faq/general.rst:149 msgid "" "You may also find version numbers with a \"+\" suffix, e.g. \"2.2+\". These " "are unreleased versions, built directly from the CPython development " @@ -336,7 +343,7 @@ msgstr "" "lanzamiento menor se realiza, la versión es incrementada a la siguiente " "versión menor, que se vuelve \"a0\", por ejemplo \"2.4a0\". " -#: ../Doc/faq/general.rst:153 +#: ../Doc/faq/general.rst:154 msgid "" "See also the documentation for :data:`sys.version`, :data:`sys.hexversion`, " "and :data:`sys.version_info`." @@ -344,11 +351,11 @@ msgstr "" "Mira también la documentación para :data:`sys.version`, :data:`sys." "hexversion`, y :data:`sys.version_info`." -#: ../Doc/faq/general.rst:158 +#: ../Doc/faq/general.rst:159 msgid "How do I obtain a copy of the Python source?" msgstr "¿Cómo obtengo una copia del código fuente de Python?" -#: ../Doc/faq/general.rst:160 +#: ../Doc/faq/general.rst:161 msgid "" "The latest Python source distribution is always available from python.org, " "at https://www.python.org/downloads/. The latest development sources can be " @@ -359,7 +366,7 @@ msgstr "" "código fuente en desarrollo más reciente se puede obtener en https://github." "com/python/cpython/." -#: ../Doc/faq/general.rst:164 +#: ../Doc/faq/general.rst:165 msgid "" "The source distribution is a gzipped tar file containing the complete C " "source, Sphinx-formatted documentation, Python library modules, example " @@ -372,7 +379,7 @@ msgstr "" "software libremente distribuibles. El código fuente compilará y se " "ejecutará sin problemas en la mayoría de las plataformas Unix. " -#: ../Doc/faq/general.rst:169 +#: ../Doc/faq/general.rst:170 msgid "" "Consult the `Getting Started section of the Python Developer's Guide " "`__ for more information on getting the " @@ -382,11 +389,11 @@ msgstr "" "devguide.python.org/setup/>`__ para más información sobre cómo obtener el " "código fuente y compilarlo. " -#: ../Doc/faq/general.rst:175 +#: ../Doc/faq/general.rst:176 msgid "How do I get documentation on Python?" msgstr "¿Cómo consigo documentación sobre Python?" -#: ../Doc/faq/general.rst:179 +#: ../Doc/faq/general.rst:180 msgid "" "The standard documentation for the current stable version of Python is " "available at https://docs.python.org/3/. PDF, plain text, and downloadable " @@ -397,7 +404,7 @@ msgstr "" "versiones en PDF, texto plano y HTML descargable en https://docs.python." "org/3/download.html." -#: ../Doc/faq/general.rst:183 +#: ../Doc/faq/general.rst:184 msgid "" "The documentation is written in reStructuredText and processed by `the " "Sphinx documentation tool `__. The reStructuredText " @@ -408,11 +415,11 @@ msgstr "" "reStructuredText de la documentación son parte de la distribución fuente de " "Python. " -#: ../Doc/faq/general.rst:189 +#: ../Doc/faq/general.rst:190 msgid "I've never programmed before. Is there a Python tutorial?" msgstr "Nunca he programado antes. ¿Hay un tutorial de Python?" -#: ../Doc/faq/general.rst:191 +#: ../Doc/faq/general.rst:192 msgid "" "There are numerous tutorials and books available. The standard " "documentation includes :ref:`tutorial-index`." @@ -420,7 +427,7 @@ msgstr "" "Hay numerosos tutoriales y libros disponibles. La documentación estándar " "incluye :ref:`tutorial-index`." -#: ../Doc/faq/general.rst:194 +#: ../Doc/faq/general.rst:195 msgid "" "Consult `the Beginner's Guide `_ to find information for beginning Python programmers, " @@ -430,11 +437,11 @@ msgstr "" "BeginnersGuide>`_ para encontrar información para principiantes en Python, " "incluyendo una lista de tutoriales. " -#: ../Doc/faq/general.rst:199 +#: ../Doc/faq/general.rst:200 msgid "Is there a newsgroup or mailing list devoted to Python?" msgstr "¿Hay un *newsgroup* o una lista de correo dedicada a Python?" -#: ../Doc/faq/general.rst:201 +#: ../Doc/faq/general.rst:202 msgid "" "There is a newsgroup, :newsgroup:`comp.lang.python`, and a mailing list, " "`python-list `_. The " @@ -451,7 +458,7 @@ msgstr "" "tráfico, recibiendo cientos de publicaciones cada día. y los lectores de " "Usenet suelen ser más capaces de hacer frente a este volumen. " -#: ../Doc/faq/general.rst:208 +#: ../Doc/faq/general.rst:209 msgid "" "Announcements of new software releases and events can be found in comp.lang." "python.announce, a low-traffic moderated list that receives about five " @@ -464,7 +471,7 @@ msgstr "" "`lista de correos de anuncios de Python `_." -#: ../Doc/faq/general.rst:213 +#: ../Doc/faq/general.rst:214 msgid "" "More info about other mailing lists and newsgroups can be found at https://" "www.python.org/community/lists/." @@ -472,11 +479,11 @@ msgstr "" "Más información sobre listas de correo o grupos de noticias puede hallarse " "en https://www.python.org/community/lists/." -#: ../Doc/faq/general.rst:218 +#: ../Doc/faq/general.rst:219 msgid "How do I get a beta test version of Python?" msgstr "¿Cómo obtengo una versión de prueba *beta* de Python?" -#: ../Doc/faq/general.rst:220 +#: ../Doc/faq/general.rst:221 msgid "" "Alpha and beta releases are available from https://www.python.org/" "downloads/. All releases are announced on the comp.lang.python and comp." @@ -489,7 +496,7 @@ msgstr "" "principal de Python en https://www.python.org/; un *feed* RSS está " "disponible." -#: ../Doc/faq/general.rst:225 +#: ../Doc/faq/general.rst:226 msgid "" "You can also access the development version of Python through Git. See `The " "Python Developer's Guide `_ for details." @@ -498,11 +505,11 @@ msgstr "" "`The Python Developer's Guide `_ para los " "detalles. " -#: ../Doc/faq/general.rst:230 +#: ../Doc/faq/general.rst:231 msgid "How do I submit bug reports and patches for Python?" msgstr "¿Cómo envío un reporte de *bug* y parches para Python?" -#: ../Doc/faq/general.rst:232 +#: ../Doc/faq/general.rst:233 msgid "" "To report a bug or submit a patch, please use the Roundup installation at " "https://bugs.python.org/." @@ -510,7 +517,7 @@ msgstr "" "Para reportar un *bug* o enviar un parche, por favor usa la instalación de " "Roundup en https://bugs.python.org/." -#: ../Doc/faq/general.rst:235 +#: ../Doc/faq/general.rst:236 msgid "" "You must have a Roundup account to report bugs; this makes it possible for " "us to contact you if we have follow-up questions. It will also enable " @@ -526,7 +533,7 @@ msgstr "" "de Roundup a través del `procedimiento de reinicio de contraseña de Roundup " "`_." -#: ../Doc/faq/general.rst:241 +#: ../Doc/faq/general.rst:242 msgid "" "For more information on how Python is developed, consult `the Python " "Developer's Guide `_." @@ -534,16 +541,16 @@ msgstr "" "Para más información sobre cómo se desarrolla Python, consulta `the Python " "Developer's Guide `_." -#: ../Doc/faq/general.rst:246 +#: ../Doc/faq/general.rst:247 msgid "Are there any published articles about Python that I can reference?" msgstr "¿Hay algún artículo publicado sobre Python que pueda referir? " -#: ../Doc/faq/general.rst:248 +#: ../Doc/faq/general.rst:249 msgid "It's probably best to cite your favorite book about Python." msgstr "" "Lo más probable es que lo mejor sea citar a tu libro preferido sobre Python." -#: ../Doc/faq/general.rst:250 +#: ../Doc/faq/general.rst:251 msgid "" "The very first article about Python was written in 1991 and is now quite " "outdated." @@ -551,7 +558,7 @@ msgstr "" "El primer artículo publicado sobre Python fue escrito en 1991 y quedó " "bastante desactualizado. " -#: ../Doc/faq/general.rst:253 +#: ../Doc/faq/general.rst:254 msgid "" "Guido van Rossum and Jelke de Boer, \"Interactively Testing Remote Servers " "Using the Python Programming Language\", CWI Quarterly, Volume 4, Issue 4 " @@ -561,11 +568,11 @@ msgstr "" "Using the Python Programming Language\", CWI Quarterly, Volume 4, Issue 4 " "(Diembre de 1991), Amsterdam, pp 283--303*." -#: ../Doc/faq/general.rst:259 +#: ../Doc/faq/general.rst:260 msgid "Are there any books on Python?" msgstr "¿Hay libros sobre Python?" -#: ../Doc/faq/general.rst:261 +#: ../Doc/faq/general.rst:262 msgid "" "Yes, there are many, and more are being published. See the python.org wiki " "at https://wiki.python.org/moin/PythonBooks for a list." @@ -573,7 +580,7 @@ msgstr "" "Sí, hay muchos, y hay más siendo publicados. Mira la wiki de python.org en " "https://wiki.python.org/moin/PythonBooks para ver una lista. " -#: ../Doc/faq/general.rst:264 +#: ../Doc/faq/general.rst:265 msgid "" "You can also search online bookstores for \"Python\" and filter out the " "Monty Python references; or perhaps search for \"Python\" and \"language\"." @@ -581,11 +588,11 @@ msgstr "" "También puedes buscar \"Python\" en las librerías online y excluir las que " "refieran a los Monty Python; o quizás buscar \"Python\" y \"lenguaje\". " -#: ../Doc/faq/general.rst:269 +#: ../Doc/faq/general.rst:270 msgid "Where in the world is www.python.org located?" msgstr "¿En qué parte del mundo está ubicado www.python.org?" -#: ../Doc/faq/general.rst:271 +#: ../Doc/faq/general.rst:272 msgid "" "The Python project's infrastructure is located all over the world and is " "managed by the Python Infrastructure Team. Details `here `__." -#: ../Doc/faq/general.rst:276 +#: ../Doc/faq/general.rst:277 msgid "Why is it called Python?" msgstr "¿Por qué se llama Python?" -#: ../Doc/faq/general.rst:278 +#: ../Doc/faq/general.rst:279 msgid "" "When he began implementing Python, Guido van Rossum was also reading the " "published scripts from `\"Monty Python's Flying Circus\" `_. There are two production-ready " "versions of Python: 2.x and 3.x. The recommended version is 3.x, which is " "supported by most widely used libraries. Although 2.x is still widely used, " -"`it will not be maintained after January 1, 2020 `_." +"`it is not maintained anymore `_." msgstr "" "La última versión estable siempre se puede encontrar en la página `Python " "download page `_. Hay dos versiones de " @@ -672,19 +680,20 @@ msgstr "" "más usadas. Aunque la versión 2.x aún se usa, `no es mantenida desde el 1º " "de enero de 2020 `_." -#: ../Doc/faq/general.rst:315 +#: ../Doc/faq/general.rst:316 msgid "How many people are using Python?" msgstr "¿Cuánta gente usa Python?" -#: ../Doc/faq/general.rst:317 +#: ../Doc/faq/general.rst:318 +#, fuzzy msgid "" -"There are probably tens of thousands of users, though it's difficult to " -"obtain an exact count." +"There are probably millions of users, though it's difficult to obtain an " +"exact count." msgstr "" "Probablemente hay decenas de miles de usuarios y usuarias, aunque es difícil " "obtener una cuenta exacta. " -#: ../Doc/faq/general.rst:320 +#: ../Doc/faq/general.rst:321 msgid "" "Python is available for free download, so there are no sales figures, and " "it's available from many different sites and packaged with many Linux " @@ -695,7 +704,7 @@ msgstr "" "está empaquetado en muchas distribuciones de Linux, por lo que las " "estadísticas de descarga tampoco cuentan toda la historia. " -#: ../Doc/faq/general.rst:324 +#: ../Doc/faq/general.rst:325 msgid "" "The comp.lang.python newsgroup is very active, but not all Python users post " "to the group or even read it." @@ -703,11 +712,11 @@ msgstr "" "El grupo de noticias comp.lang.python es muy activo, pero no todos los " "usuarios de Python publican allí o incluso lo leen. " -#: ../Doc/faq/general.rst:329 +#: ../Doc/faq/general.rst:330 msgid "Have any significant projects been done in Python?" msgstr "¿Hay proyectos significativos hechos con Python?" -#: ../Doc/faq/general.rst:331 +#: ../Doc/faq/general.rst:332 msgid "" "See https://www.python.org/about/success for a list of projects that use " "Python. Consulting the proceedings for `past Python conferences `_ revelará contribuciones de " "diferentes empresas y organizaciones. " -#: ../Doc/faq/general.rst:336 +#: ../Doc/faq/general.rst:337 msgid "" "High-profile Python projects include `the Mailman mailing list manager " "`_ and `the Zope application server `_." @@ -762,11 +771,11 @@ msgstr "" "Los nuevos desarrollos son discutidos en `la lista de correo python-dev " "`_." -#: ../Doc/faq/general.rst:358 +#: ../Doc/faq/general.rst:359 msgid "Is it reasonable to propose incompatible changes to Python?" msgstr "¿Es razonable proponer cambios incompatibles a Python?" -#: ../Doc/faq/general.rst:360 +#: ../Doc/faq/general.rst:361 msgid "" "In general, no. There are already millions of lines of Python code around " "the world, so any change in the language that invalidates more than a very " @@ -782,7 +791,7 @@ msgstr "" "problema de actualizar toda la documentación; se han escrito muchos libros " "sobre Python y no queremos invalidarlos a todos de un plumazo. " -#: ../Doc/faq/general.rst:367 +#: ../Doc/faq/general.rst:368 msgid "" "Providing a gradual upgrade path is necessary if a feature has to be " "changed. :pep:`5` describes the procedure followed for introducing backward-" @@ -793,15 +802,15 @@ msgstr "" "introducir cambios incompatibles con versiones anteriores para minimizar " "disrupciones a los usuarios y usuarias. " -#: ../Doc/faq/general.rst:373 +#: ../Doc/faq/general.rst:374 msgid "Is Python a good language for beginning programmers?" msgstr "¿Python es un buen lenguaje para principiantes?" -#: ../Doc/faq/general.rst:375 +#: ../Doc/faq/general.rst:376 msgid "Yes." msgstr "Sí. " -#: ../Doc/faq/general.rst:377 +#: ../Doc/faq/general.rst:378 msgid "" "It is still common to start students with a procedural and statically typed " "language such as Pascal, C, or a subset of C++ or Java. Students may be " @@ -824,7 +833,7 @@ msgstr "" "introducidos a conceptos como bucles y procedimientos. Incluso puede " "trabajar con objetos definidos por el usuario en su primer curso. " -#: ../Doc/faq/general.rst:387 +#: ../Doc/faq/general.rst:388 msgid "" "For a student who has never programmed before, using a statically typed " "language seems unnatural. It presents additional complexity that the " @@ -843,7 +852,7 @@ msgstr "" "lenguaje de tipado estático es importante en el largo plazo, no es " "necesariamente el mejor tema a tratar en un primer curso de programación. " -#: ../Doc/faq/general.rst:395 +#: ../Doc/faq/general.rst:396 msgid "" "Many other aspects of Python make it a good first language. Like Java, " "Python has a large standard library so that students can be assigned " @@ -866,7 +875,7 @@ msgstr "" "reusar código. Módulos de terceros, como PyGame, también ayudan a extender " "los alcances de los y las estudiantes. " -#: ../Doc/faq/general.rst:404 +#: ../Doc/faq/general.rst:405 msgid "" "Python's interactive interpreter enables students to test language features " "while they're programming. They can keep a window with the interpreter " @@ -878,7 +887,7 @@ msgstr "" "corriendo mientras escriben el código de su programa en otra. Si no " "recuerdan los métodos para una lista, pueden hacer algo así::" -#: ../Doc/faq/general.rst:433 +#: ../Doc/faq/general.rst:434 msgid "" "With the interpreter, documentation is never far from the student as they " "are programming." @@ -886,7 +895,7 @@ msgstr "" "Con el intérprete, la documentación nunca está lejos de los o las " "estudiantes mientras están programando. " -#: ../Doc/faq/general.rst:436 +#: ../Doc/faq/general.rst:437 msgid "" "There are also good IDEs for Python. IDLE is a cross-platform IDE for " "Python that is written in Python using Tkinter. PythonWin is a Windows-" @@ -905,7 +914,7 @@ msgstr "" "moin/PythonEditors>`_ para ver una lista completa de entornos de " "programación." -#: ../Doc/faq/general.rst:444 +#: ../Doc/faq/general.rst:445 msgid "" "If you want to discuss Python's use in education, you may be interested in " "joining `the edu-sig mailing list \n" "Language: es\n" @@ -244,7 +244,8 @@ msgstr "" "lista incorrecta de argumentos. Se llama como ::" #: ../Doc/faq/library.rst:128 -msgid "so it should be declared with two arguments::" +#, fuzzy +msgid "so it should be declared with two parameters::" msgstr "así que debería declararse con dos argumentos::" #: ../Doc/faq/library.rst:135 @@ -303,9 +304,10 @@ msgid "at the bottom of the main module of your program." msgstr "al final del módulo principal de su programa." #: ../Doc/faq/library.rst:162 +#, fuzzy msgid "" -"Once your program is organized as a tractable collection of functions and " -"class behaviours you should write test functions that exercise the " +"Once your program is organized as a tractable collection of function and " +"class behaviours, you should write test functions that exercise the " "behaviours. A test suite that automates a sequence of tests can be " "associated with each module. This sounds like a lot of work, but since " "Python is so terse and flexible it's surprisingly easy. You can make coding " @@ -452,9 +454,10 @@ msgid "How do I parcel out work among a bunch of worker threads?" msgstr "¿Cómo puedo dividir trabajo entre un grupo de hilos?" #: ../Doc/faq/library.rst:298 +#, fuzzy msgid "" -"The easiest way is to use the new :mod:`concurrent.futures` module, " -"especially the :mod:`~concurrent.futures.ThreadPoolExecutor` class." +"The easiest way is to use the :mod:`concurrent.futures` module, especially " +"the :mod:`~concurrent.futures.ThreadPoolExecutor` class." msgstr "" "La manera más fácil es usar el nuevo módulo :mod:`concurrent.futures`, " "especialmente la clase :mod:`~concurrent.futures.ThreadPoolExecutor`." @@ -931,7 +934,8 @@ msgstr "" "formulario. ¿Existe algún código que me permita hacer esto fácilmente?" #: ../Doc/faq/library.rst:682 -msgid "Yes. Here's a simple example that uses urllib.request::" +#, fuzzy +msgid "Yes. Here's a simple example that uses :mod:`urllib.request`::" msgstr "Sí. Aquí hay un ejemplo sencillo que usa urllib.request::" #: ../Doc/faq/library.rst:697 @@ -1003,26 +1007,21 @@ msgstr "" #: ../Doc/faq/library.rst:767 msgid "" "To prevent the TCP connect from blocking, you can set the socket to non-" -"blocking mode. Then when you do the ``connect()``, you will either connect " -"immediately (unlikely) or get an exception that contains the error number as " -"``.errno``. ``errno.EINPROGRESS`` indicates that the connection is in " -"progress, but hasn't finished yet. Different OSes will return different " +"blocking mode. Then when you do the :meth:`socket.connect`, you will either " +"connect immediately (unlikely) or get an exception that contains the error " +"number as ``.errno``. ``errno.EINPROGRESS`` indicates that the connection is " +"in progress, but hasn't finished yet. Different OSes will return different " "values, so you're going to have to check what's returned on your system." msgstr "" -"Para prevenir el bloqueo en la conexión TCP, puede establecer el socket en " -"modo no bloqueante. Luego cuando ejecute ``connect()``, conectará " -"inmediatamente (improbable) u obtendrá una excepción que contiene el número " -"de error como ``.errno``. ``errno.EINPROGRESS`` indica que la conexión está " -"en curso, pero aún no ha terminado. Diferentes sistemas operativos " -"retornarán diferentes valores, así que debe comprobar cuál es el retornado " -"en su sistema." #: ../Doc/faq/library.rst:774 +#, fuzzy msgid "" -"You can use the ``connect_ex()`` method to avoid creating an exception. It " -"will just return the errno value. To poll, you can call ``connect_ex()`` " -"again later -- ``0`` or ``errno.EISCONN`` indicate that you're connected -- " -"or you can pass this socket to select to check if it's writable." +"You can use the :meth:`socket.connect_ex` method to avoid creating an " +"exception. It will just return the errno value. To poll, you can call :" +"meth:`socket.connect_ex` again later -- ``0`` or ``errno.EISCONN`` indicate " +"that you're connected -- or you can pass this socket to :meth:`select." +"select` to check if it's writable." msgstr "" "Puede usar el método ``connect_ex()`` para evitar crear una excepción. " "Retornará simplemente el número de error. Para sondear, puede llamar más " @@ -1032,28 +1031,25 @@ msgstr "" #: ../Doc/faq/library.rst:780 msgid "" -"The :mod:`asyncore` module presents a framework-like approach to the problem " -"of writing non-blocking networking code. The third-party `Twisted `_ library is a popular and feature-rich alternative." +"The :mod:`asyncio` module provides a general purpose single-threaded and " +"concurrent asynchronous library, which can be used for writing non-blocking " +"network code. The third-party `Twisted `_ " +"library is a popular and feature-rich alternative." msgstr "" -"El módulo :mod:`asyncore` ofrece una enfoque de tipo *framework* al problema " -"de escribir código de red no bloqueante. La biblioteca de terceros `Twisted " -"`_ es una alternativa popular y ofrece " -"muchas capacidades." -#: ../Doc/faq/library.rst:787 +#: ../Doc/faq/library.rst:788 msgid "Databases" msgstr "Bases de datos" -#: ../Doc/faq/library.rst:790 +#: ../Doc/faq/library.rst:791 msgid "Are there any interfaces to database packages in Python?" msgstr "¿Hay paquetes para interfaces a bases de datos en Python?" -#: ../Doc/faq/library.rst:792 +#: ../Doc/faq/library.rst:793 msgid "Yes." msgstr "Sí." -#: ../Doc/faq/library.rst:794 +#: ../Doc/faq/library.rst:795 msgid "" "Interfaces to disk-based hashes such as :mod:`DBM ` and :mod:`GDBM " "` are also included with standard Python. There is also the :mod:" @@ -1065,7 +1061,7 @@ msgstr "" "un módulo :mod:`sqlite3`, que proporciona una base de datos relacional " "ligera basada en disco." -#: ../Doc/faq/library.rst:799 +#: ../Doc/faq/library.rst:800 msgid "" "Support for most relational databases is available. See the " "`DatabaseProgramming wiki page `_ para más detalles." -#: ../Doc/faq/library.rst:805 +#: ../Doc/faq/library.rst:806 msgid "How do you implement persistent objects in Python?" msgstr "¿Cómo implementar objetos persistentes en Python?" -#: ../Doc/faq/library.rst:807 +#: ../Doc/faq/library.rst:808 msgid "" "The :mod:`pickle` library module solves this in a very general way (though " "you still can't store things like open files, sockets or windows), and the :" @@ -1092,15 +1088,15 @@ msgstr "" "*(g)dbm* para crear mapeos persistentes que contienen objetos arbitrarios " "Python." -#: ../Doc/faq/library.rst:814 +#: ../Doc/faq/library.rst:815 msgid "Mathematics and Numerics" msgstr "Matemáticas y Numérica" -#: ../Doc/faq/library.rst:817 +#: ../Doc/faq/library.rst:818 msgid "How do I generate random numbers in Python?" msgstr "¿Cómo genero números aleatorios en Python?" -#: ../Doc/faq/library.rst:819 +#: ../Doc/faq/library.rst:820 msgid "" "The standard module :mod:`random` implements a random number generator. " "Usage is simple::" @@ -1108,51 +1104,81 @@ msgstr "" "El módulo estándar :mod:`random` implementa un generador de números " "aleatorios. El uso es simple::" -#: ../Doc/faq/library.rst:825 +#: ../Doc/faq/library.rst:826 msgid "This returns a random floating point number in the range [0, 1)." msgstr "Esto retorna un número flotante aleatorio en el rango [0, 1)." -#: ../Doc/faq/library.rst:827 +#: ../Doc/faq/library.rst:828 msgid "" "There are also many other specialized generators in this module, such as:" msgstr "" "Hay también muchos otros generadores especializados en este módulo, tales " "como:" -#: ../Doc/faq/library.rst:829 +#: ../Doc/faq/library.rst:830 msgid "``randrange(a, b)`` chooses an integer in the range [a, b)." msgstr "``randrange(a, b)`` selecciona un entero en el rango [a, b)." -#: ../Doc/faq/library.rst:830 +#: ../Doc/faq/library.rst:831 msgid "``uniform(a, b)`` chooses a floating point number in the range [a, b)." msgstr "``uniform(a, b)`` selecciona un número flotante en el rango [a, b)." -#: ../Doc/faq/library.rst:831 +#: ../Doc/faq/library.rst:832 msgid "" "``normalvariate(mean, sdev)`` samples the normal (Gaussian) distribution." msgstr "" "``normalvariate(mean, sdev)`` muestrea una distribución normal (*Gausiana*)." -#: ../Doc/faq/library.rst:833 +#: ../Doc/faq/library.rst:834 msgid "Some higher-level functions operate on sequences directly, such as:" msgstr "" "Algunas funciones de alto nivel operan directamente sobre secuencias, tales " "como:" -#: ../Doc/faq/library.rst:835 -msgid "``choice(S)`` chooses random element from a given sequence" +#: ../Doc/faq/library.rst:836 +#, fuzzy +msgid "``choice(S)`` chooses a random element from a given sequence." msgstr "``choice(S)`` selecciona un elemento aleatorio de una secuencia dada" -#: ../Doc/faq/library.rst:836 -msgid "``shuffle(L)`` shuffles a list in-place, i.e. permutes it randomly" +#: ../Doc/faq/library.rst:837 +#, fuzzy +msgid "``shuffle(L)`` shuffles a list in-place, i.e. permutes it randomly." msgstr "" "``shuffle(L)`` reorganiza una lista in-situ, es decir, la permuta " "aleatoriamente" -#: ../Doc/faq/library.rst:838 +#: ../Doc/faq/library.rst:839 msgid "" "There's also a ``Random`` class you can instantiate to create independent " "multiple random number generators." msgstr "" "También hay una clase ``Random`` que usted puede instanciar para crear " "múltiples generadores independientes de valores aleatorios." + +#~ msgid "" +#~ "To prevent the TCP connect from blocking, you can set the socket to non-" +#~ "blocking mode. Then when you do the ``connect()``, you will either " +#~ "connect immediately (unlikely) or get an exception that contains the " +#~ "error number as ``.errno``. ``errno.EINPROGRESS`` indicates that the " +#~ "connection is in progress, but hasn't finished yet. Different OSes will " +#~ "return different values, so you're going to have to check what's returned " +#~ "on your system." +#~ msgstr "" +#~ "Para prevenir el bloqueo en la conexión TCP, puede establecer el socket " +#~ "en modo no bloqueante. Luego cuando ejecute ``connect()``, conectará " +#~ "inmediatamente (improbable) u obtendrá una excepción que contiene el " +#~ "número de error como ``.errno``. ``errno.EINPROGRESS`` indica que la " +#~ "conexión está en curso, pero aún no ha terminado. Diferentes sistemas " +#~ "operativos retornarán diferentes valores, así que debe comprobar cuál es " +#~ "el retornado en su sistema." + +#~ msgid "" +#~ "The :mod:`asyncore` module presents a framework-like approach to the " +#~ "problem of writing non-blocking networking code. The third-party `Twisted " +#~ "`_ library is a popular and feature-rich " +#~ "alternative." +#~ msgstr "" +#~ "El módulo :mod:`asyncore` ofrece una enfoque de tipo *framework* al " +#~ "problema de escribir código de red no bloqueante. La biblioteca de " +#~ "terceros `Twisted `_ es una alternativa " +#~ "popular y ofrece muchas capacidades." diff --git a/faq/programming.po b/faq/programming.po index 985d2a5e85..a1f8002932 100644 --- a/faq/programming.po +++ b/faq/programming.po @@ -10,16 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-06 11:59-0400\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-07-26 11:04+0200\n" -"Last-Translator: Kiko Correoso\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.0.6\n" +"Generated-By: Babel 2.8.0\n" #: ../Doc/faq/programming.rst:5 msgid "Programming FAQ" @@ -41,7 +41,7 @@ msgstr "" "¿Existe un depurador a nivel de código fuente con puntos de interrupción, " "depuración paso a paso, etc?" -#: ../Doc/faq/programming.rst:17 ../Doc/faq/programming.rst:63 +#: ../Doc/faq/programming.rst:17 ../Doc/faq/programming.rst:57 msgid "Yes." msgstr "Sí." @@ -76,10 +76,11 @@ msgstr "" "idle), incluye un depurador gráfico." #: ../Doc/faq/programming.rst:31 +#, fuzzy msgid "" "PythonWin is a Python IDE that includes a GUI debugger based on pdb. The " -"PythonWin debugger colors breakpoints and has quite a few cool features such " -"as debugging non-PythonWin programs. PythonWin is available as part of the " +"Pythonwin debugger colors breakpoints and has quite a few cool features such " +"as debugging non-Pythonwin programs. Pythonwin is available as part of the " "`Python for Windows Extensions `__ project and as a part of the ActivePython distribution (see https://www." "activestate.com/activepython\\ )." @@ -94,28 +95,13 @@ msgstr "" #: ../Doc/faq/programming.rst:38 msgid "" -"`Boa Constructor `_ is an IDE and " -"GUI builder that uses wxWidgets. It offers visual frame creation and " -"manipulation, an object inspector, many views on the source like object " -"browsers, inheritance hierarchies, doc string generated html documentation, " -"an advanced debugger, integrated help, and Zope support." -msgstr "" -"`Boa Constructor `_ es un IDE y " -"creador de GUIs que usa wxWidgets. Ofrece creación y manipulación visual de " -"marcos, un inspector de objetos, muchas vistas sobre la fuente como los " -"navegadores de objetos, jerarquías de herencia, documentación docstring " -"generada como html, un depurador avanzado, ayuda integrada y soporte para " -"Zope." - -#: ../Doc/faq/programming.rst:44 -msgid "" "`Eric `_ is an IDE built on PyQt and " "the Scintilla editing component." msgstr "" "`Eric `_ es un IDE creado usando PyQt " "y el componente de edición Scintilla." -#: ../Doc/faq/programming.rst:47 +#: ../Doc/faq/programming.rst:41 msgid "" "Pydb is a version of the standard Python debugger pdb, modified for use with " "DDD (Data Display Debugger), a popular graphical debugger front end. Pydb " @@ -127,7 +113,7 @@ msgstr "" "depuradores. Pydb se puede encontrar en http://bashdb.sourceforge.net/pydb/ " "y DDD se puede encontrar en https://www.gnu.org/software/ddd." -#: ../Doc/faq/programming.rst:52 +#: ../Doc/faq/programming.rst:46 msgid "" "There are a number of commercial Python IDEs that include graphical " "debuggers. They include:" @@ -135,55 +121,32 @@ msgstr "" "Existen varios IDEs comerciales para Python que incluyen depuradores " "gráficos. Entre ellos tenemos:" -#: ../Doc/faq/programming.rst:55 +#: ../Doc/faq/programming.rst:49 msgid "Wing IDE (https://wingware.com/)" msgstr "Wing IDE (https://wingware.com/)" -#: ../Doc/faq/programming.rst:56 +#: ../Doc/faq/programming.rst:50 msgid "Komodo IDE (https://komodoide.com/)" msgstr "Komodo IDE (https://komodoide.com/)" -#: ../Doc/faq/programming.rst:57 +#: ../Doc/faq/programming.rst:51 msgid "PyCharm (https://www.jetbrains.com/pycharm/)" msgstr "PyCharm (https://www.jetbrains.com/pycharm/)" -#: ../Doc/faq/programming.rst:61 -msgid "Is there a tool to help find bugs or perform static analysis?" +#: ../Doc/faq/programming.rst:55 +#, fuzzy +msgid "Are there tools to help find bugs or perform static analysis?" msgstr "" "¿Existe alguna herramienta que ayude a encontrar errores o realizar análisis " "estático?" -#: ../Doc/faq/programming.rst:65 +#: ../Doc/faq/programming.rst:59 msgid "" -"PyChecker is a static analysis tool that finds bugs in Python source code " -"and warns about code complexity and style. You can get PyChecker from " -"http://pychecker.sourceforge.net/." +"`Pylint `_ and `Pyflakes `_ do basic checking that will help you catch bugs sooner." msgstr "" -"PyChecker es un analizador estático que encuentra errores en código fuente " -"Python y avisa sobre complejidad del código y estilo. Puedes obtener " -"PyChecker desde http://pychecker.sourceforge.net/." -#: ../Doc/faq/programming.rst:69 -msgid "" -"`Pylint `_ is another tool that checks if a module " -"satisfies a coding standard, and also makes it possible to write plug-ins to " -"add a custom feature. In addition to the bug checking that PyChecker " -"performs, Pylint offers some additional features such as checking line " -"length, whether variable names are well-formed according to your coding " -"standard, whether declared interfaces are fully implemented, and more. " -"https://docs.pylint.org/ provides a full list of Pylint's features." -msgstr "" -"`Pylint `_ es otra herramienta que comprueba si un " -"módulo satisface un estándar de código y, además, también hace posible " -"escribir *plug-ins* para añadir características personalizadas. Además de " -"la comprobación de errores que realiza PyChecker, Pylint ofrece algunas " -"características adicionales como la comprobación de la longitud de línea, si " -"los nombres de variable han sido creados correctamente de acuerdo a tu " -"estándar de código, si las interfaces declaradas han sido implementadas de " -"forma completa y más. https://docs.pylint.org/ proporciona una lista " -"completa de las características de Pylint." - -#: ../Doc/faq/programming.rst:77 +#: ../Doc/faq/programming.rst:63 msgid "" "Static type checkers such as `Mypy `_, `Pyre `_, and `Pytype `_ can " @@ -194,12 +157,12 @@ msgstr "" "pueden hacer comprobaciones de las anotaciones de tipos en código fuente " "Python." -#: ../Doc/faq/programming.rst:84 +#: ../Doc/faq/programming.rst:70 msgid "How can I create a stand-alone binary from a Python script?" msgstr "" "¿Cómo puedo crear un binario independiente a partir de un programa Python?" -#: ../Doc/faq/programming.rst:86 +#: ../Doc/faq/programming.rst:72 msgid "" "You don't need the ability to compile Python to C code if all you want is a " "stand-alone program that users can download and run without having to " @@ -214,7 +177,7 @@ msgstr "" "un programa y une estos módulos conjuntamente con un binario Python para " "generar un único ejecutable." -#: ../Doc/faq/programming.rst:92 +#: ../Doc/faq/programming.rst:78 msgid "" "One is to use the freeze tool, which is included in the Python source tree " "as ``Tools/freeze``. It converts Python byte code to C arrays; a C compiler " @@ -227,7 +190,7 @@ msgstr "" "programa que, posteriormente se puede enlazar con los módulos estándar de " "Python." -#: ../Doc/faq/programming.rst:97 +#: ../Doc/faq/programming.rst:83 msgid "" "It works by scanning your source recursively for import statements (in both " "forms) and looking for the modules in the standard Python path as well as in " @@ -250,7 +213,7 @@ msgstr "" "generado y lo enlaza con el resto del intérprete de Python para formar un " "binario autónomo que actúa exactamente igual que su script." -#: ../Doc/faq/programming.rst:106 +#: ../Doc/faq/programming.rst:92 msgid "" "Obviously, freeze requires a C compiler. There are several other utilities " "which don't. One is Thomas Heller's py2exe (Windows only) at" @@ -259,11 +222,11 @@ msgstr "" "no necesitan un compilador C. Una de ellas es py2exe de Thomas Heller (solo " "disponible para Windows) en" -#: ../Doc/faq/programming.rst:109 +#: ../Doc/faq/programming.rst:95 msgid "http://www.py2exe.org/" msgstr "http://www.py2exe.org/" -#: ../Doc/faq/programming.rst:111 +#: ../Doc/faq/programming.rst:97 msgid "" "Another tool is Anthony Tuininga's `cx_Freeze `_." @@ -271,12 +234,12 @@ msgstr "" "Otra herramienta es `cx_Freeze `_ de Anthony Tuininga." -#: ../Doc/faq/programming.rst:115 +#: ../Doc/faq/programming.rst:101 msgid "Are there coding standards or a style guide for Python programs?" msgstr "" "¿Existen estándares de código o una guía de estilo para programas Python?" -#: ../Doc/faq/programming.rst:117 +#: ../Doc/faq/programming.rst:103 msgid "" "Yes. The coding style required for standard library modules is documented " "as :pep:`8`." @@ -284,16 +247,16 @@ msgstr "" "Sí. El estilo de código requerido para los módulos de la biblioteca estándar " "se encuentra documentado como :pep:`8`." -#: ../Doc/faq/programming.rst:122 +#: ../Doc/faq/programming.rst:108 msgid "Core Language" msgstr "Núcleo del lenguaje" -#: ../Doc/faq/programming.rst:125 +#: ../Doc/faq/programming.rst:111 msgid "Why am I getting an UnboundLocalError when the variable has a value?" msgstr "" "¿Por qué obtengo un *UnboundLocalError* cuando la variable tiene un valor?" -#: ../Doc/faq/programming.rst:127 +#: ../Doc/faq/programming.rst:113 msgid "" "It can be a surprise to get the UnboundLocalError in previously working code " "when it is modified by adding an assignment statement somewhere in the body " @@ -304,19 +267,19 @@ msgstr "" "añadido de una declaración de asignación en alguna parte del cuerpo de una " "función." -#: ../Doc/faq/programming.rst:131 +#: ../Doc/faq/programming.rst:117 msgid "This code:" msgstr "Este código:" -#: ../Doc/faq/programming.rst:139 +#: ../Doc/faq/programming.rst:125 msgid "works, but this code:" msgstr "funciona, pero este código:" -#: ../Doc/faq/programming.rst:146 +#: ../Doc/faq/programming.rst:132 msgid "results in an UnboundLocalError:" msgstr "resulta en un UnboundLocalError:" -#: ../Doc/faq/programming.rst:153 +#: ../Doc/faq/programming.rst:139 msgid "" "This is because when you make an assignment to a variable in a scope, that " "variable becomes local to that scope and shadows any similarly named " @@ -333,7 +296,7 @@ msgstr "" "el ``print(x)`` más próximo intenta mostrar la variable local no " "inicializada se muestra un error." -#: ../Doc/faq/programming.rst:160 +#: ../Doc/faq/programming.rst:146 msgid "" "In the example above you can access the outer scope variable by declaring it " "global:" @@ -341,7 +304,7 @@ msgstr "" "En el ejemplo anterior puedes acceder al ámbito de aplicación exterior a la " "variable declarándola como global:" -#: ../Doc/faq/programming.rst:171 +#: ../Doc/faq/programming.rst:157 msgid "" "This explicit declaration is required in order to remind you that (unlike " "the superficially analogous situation with class and instance variables) you " @@ -352,7 +315,7 @@ msgstr "" "clase e instancia) estás modificando el valor de la variable en un ámbito de " "aplicación más externo:" -#: ../Doc/faq/programming.rst:178 +#: ../Doc/faq/programming.rst:164 msgid "" "You can do a similar thing in a nested scope using the :keyword:`nonlocal` " "keyword:" @@ -360,12 +323,12 @@ msgstr "" "Puedes hacer algo similar en un ámbito de aplicación anidado usando la " "palabra clave :keyword:`nonlocal`:" -#: ../Doc/faq/programming.rst:195 +#: ../Doc/faq/programming.rst:181 msgid "What are the rules for local and global variables in Python?" msgstr "" "¿Cuáles son las reglas para las variables locales y globales en Python?" -#: ../Doc/faq/programming.rst:197 +#: ../Doc/faq/programming.rst:183 msgid "" "In Python, variables that are only referenced inside a function are " "implicitly global. If a variable is assigned a value anywhere within the " @@ -377,7 +340,7 @@ msgstr "" "valor en cualquier lugar dentro del cuerpo de una función, se asumirá que es " "local a no ser que explícitamente se la declare como global." -#: ../Doc/faq/programming.rst:201 +#: ../Doc/faq/programming.rst:187 msgid "" "Though a bit surprising at first, a moment's consideration explains this. " "On one hand, requiring :keyword:`global` for assigned variables provides a " @@ -396,7 +359,7 @@ msgstr "" "a un componente de un módulo importado. Este embrollo arruinaría la utilidad " "de la declaración \"global\" para identificar los efectos secundarios." -#: ../Doc/faq/programming.rst:211 +#: ../Doc/faq/programming.rst:197 msgid "" "Why do lambdas defined in a loop with different values all return the same " "result?" @@ -404,7 +367,7 @@ msgstr "" "¿Por qué las funciones lambda definidas en un bucle con diferentes valores " "devuelven todas el mismo resultado?" -#: ../Doc/faq/programming.rst:213 +#: ../Doc/faq/programming.rst:199 msgid "" "Assume you use a for loop to define a few different lambdas (or even plain " "functions), e.g.::" @@ -412,7 +375,7 @@ msgstr "" "Considera que usas un bucle *for* para crear unas pocas funciones lambda (o, " "incluso, funciones normales), por ejemplo.::" -#: ../Doc/faq/programming.rst:220 +#: ../Doc/faq/programming.rst:206 msgid "" "This gives you a list that contains 5 lambdas that calculate ``x**2``. You " "might expect that, when called, they would return, respectively, ``0``, " @@ -424,7 +387,7 @@ msgstr "" "respectivamente, ``0``, ``1``, ``4``, ``9``y ``16``. Sin embargo, cuando lo " "ejecutes verás que todas devuelven ``16``::" -#: ../Doc/faq/programming.rst:230 +#: ../Doc/faq/programming.rst:216 msgid "" "This happens because ``x`` is not local to the lambdas, but is defined in " "the outer scope, and it is accessed when the lambda is called --- not when " @@ -439,7 +402,7 @@ msgstr "" "e. ``16``. También puedes verificar esto mediante el cambio del valor de " "``x`` y ver como los resultados de las lambdas cambian::" -#: ../Doc/faq/programming.rst:240 +#: ../Doc/faq/programming.rst:226 msgid "" "In order to avoid this, you need to save the values in variables local to " "the lambdas, so that they don't rely on the value of the global ``x``::" @@ -448,7 +411,7 @@ msgstr "" "las funciones lambda de tal forma que no dependan del valor de la ``x`` " "global::" -#: ../Doc/faq/programming.rst:247 +#: ../Doc/faq/programming.rst:233 msgid "" "Here, ``n=x`` creates a new variable ``n`` local to the lambda and computed " "when the lambda is defined so that it has the same value that ``x`` had at " @@ -463,7 +426,7 @@ msgstr "" "en la tercera y así sucesivamente. Por tanto, ahora cada lambda retornará el " "resultado correcto::" -#: ../Doc/faq/programming.rst:258 +#: ../Doc/faq/programming.rst:244 msgid "" "Note that this behaviour is not peculiar to lambdas, but applies to regular " "functions too." @@ -471,11 +434,11 @@ msgstr "" "Es de destacar que este comportamiento no es peculiar de las funciones " "lambda sino que aplica también a las funciones regulares." -#: ../Doc/faq/programming.rst:263 +#: ../Doc/faq/programming.rst:249 msgid "How do I share global variables across modules?" msgstr "¿Cómo puedo compartir variables globales entre módulos?" -#: ../Doc/faq/programming.rst:265 +#: ../Doc/faq/programming.rst:251 msgid "" "The canonical way to share information across modules within a single " "program is to create a special module (often called config or cfg). Just " @@ -491,19 +454,19 @@ msgstr "" "una instancia de cada módulo, cualquier cambio hecho en el objeto módulo se " "reflejará en todos los sitios. Por ejemplo:" -#: ../Doc/faq/programming.rst:271 +#: ../Doc/faq/programming.rst:257 msgid "config.py::" msgstr "config.py::" -#: ../Doc/faq/programming.rst:275 +#: ../Doc/faq/programming.rst:261 msgid "mod.py::" msgstr "mod.py::" -#: ../Doc/faq/programming.rst:280 +#: ../Doc/faq/programming.rst:266 msgid "main.py::" msgstr "main.py::" -#: ../Doc/faq/programming.rst:286 +#: ../Doc/faq/programming.rst:272 msgid "" "Note that using a module is also the basis for implementing the Singleton " "design pattern, for the same reason." @@ -511,11 +474,11 @@ msgstr "" "Ten en cuenta que usar un módulo es también la base para la implementación " "del patrón de diseño Singleton, por la misma razón." -#: ../Doc/faq/programming.rst:291 +#: ../Doc/faq/programming.rst:277 msgid "What are the \"best practices\" for using import in a module?" msgstr "¿Cuáles son las \"buenas prácticas\" para usar import en un módulo?" -#: ../Doc/faq/programming.rst:293 +#: ../Doc/faq/programming.rst:279 msgid "" "In general, don't use ``from modulename import *``. Doing so clutters the " "importer's namespace, and makes it much harder for linters to detect " @@ -525,7 +488,7 @@ msgstr "" "espacio de nombres del importador y hace que sea más difícil para los " "*linters* el detectar los nombres sin definir." -#: ../Doc/faq/programming.rst:297 +#: ../Doc/faq/programming.rst:283 msgid "" "Import modules at the top of a file. Doing so makes it clear what other " "modules your code requires and avoids questions of whether the module name " @@ -539,17 +502,17 @@ msgstr "" "importados pero usar múltiples importaciones por línea usa menos espacio de " "pantalla." -#: ../Doc/faq/programming.rst:302 +#: ../Doc/faq/programming.rst:288 msgid "It's good practice if you import modules in the following order:" msgstr "Es una buena práctica si importas los módulos en el orden siguiente:" -#: ../Doc/faq/programming.rst:304 +#: ../Doc/faq/programming.rst:290 msgid "standard library modules -- e.g. ``sys``, ``os``, ``getopt``, ``re``" msgstr "" "módulos de la biblioteca estándar -- por ejemplo, ``sys``, ``os``, " "``getopt``, ``re``" -#: ../Doc/faq/programming.rst:305 +#: ../Doc/faq/programming.rst:291 msgid "" "third-party library modules (anything installed in Python's site-packages " "directory) -- e.g. mx.DateTime, ZODB, PIL.Image, etc." @@ -558,11 +521,11 @@ msgstr "" "directorio *site-packages* de Python) -- por ejemplo, mx.DateTime, ZODB, PIL." "Image, etc." -#: ../Doc/faq/programming.rst:307 +#: ../Doc/faq/programming.rst:293 msgid "locally-developed modules" msgstr "módulos desarrollados localmente" -#: ../Doc/faq/programming.rst:309 +#: ../Doc/faq/programming.rst:295 msgid "" "It is sometimes necessary to move imports to a function or class to avoid " "problems with circular imports. Gordon McMillan says:" @@ -570,7 +533,7 @@ msgstr "" "Hay veces en que es necesario mover las importaciones a una función o clase " "para evitar problemas de importaciones circulares. Gordon McMillan dice:" -#: ../Doc/faq/programming.rst:312 +#: ../Doc/faq/programming.rst:298 msgid "" "Circular imports are fine where both modules use the \"import \" " "form of import. They fail when the 2nd module wants to grab a name out of " @@ -585,7 +548,7 @@ msgstr "" "los nombres en el primero todavía no se encuentran disponibles debido a que " "el primer módulo se encuentra ocupado importando al segundo." -#: ../Doc/faq/programming.rst:318 +#: ../Doc/faq/programming.rst:304 msgid "" "In this case, if the second module is only used in one function, then the " "import can easily be moved into that function. By the time the import is " @@ -597,7 +560,7 @@ msgstr "" "momento en que se invoca a la importación el primer módulo habrá terminado " "de inicializarse y el segundo módulo podrá hacer la importación." -#: ../Doc/faq/programming.rst:323 +#: ../Doc/faq/programming.rst:309 msgid "" "It may also be necessary to move imports out of the top level of code if " "some of the modules are platform-specific. In that case, it may not even be " @@ -612,7 +575,7 @@ msgstr "" "módulos en el código correspondiente específico de la plataforma es una " "buena opción." -#: ../Doc/faq/programming.rst:328 +#: ../Doc/faq/programming.rst:314 msgid "" "Only move imports into a local scope, such as inside a function definition, " "if it's necessary to solve a problem such as avoiding a circular import or " @@ -638,11 +601,11 @@ msgstr "" "ha salido del ámbito de aplicación el módulo se encuentre, probablemente, " "en :data:`sys.modules`." -#: ../Doc/faq/programming.rst:341 +#: ../Doc/faq/programming.rst:327 msgid "Why are default values shared between objects?" msgstr "¿Por qué los valores por defecto se comparten entre objetos?" -#: ../Doc/faq/programming.rst:343 +#: ../Doc/faq/programming.rst:329 msgid "" "This type of bug commonly bites neophyte programmers. Consider this " "function::" @@ -650,7 +613,7 @@ msgstr "" "Este tipo de error golpea a menudo a programadores novatos. Considera esta " "función::" -#: ../Doc/faq/programming.rst:350 +#: ../Doc/faq/programming.rst:336 msgid "" "The first time you call this function, ``mydict`` contains a single item. " "The second time, ``mydict`` contains two items because when ``foo()`` begins " @@ -661,7 +624,7 @@ msgstr "" "que cuando comienza la ejecución de ``foo()``, ``mydict`` comienza " "conteniendo un elemento de partida." -#: ../Doc/faq/programming.rst:354 +#: ../Doc/faq/programming.rst:340 msgid "" "It is often expected that a function call creates new objects for default " "values. This is not what happens. Default values are created exactly once, " @@ -675,7 +638,7 @@ msgstr "" "se cambia el objeto, como el diccionario en este ejemplo, posteriores " "invocaciones a la función estarán referidas al objeto cambiado." -#: ../Doc/faq/programming.rst:359 +#: ../Doc/faq/programming.rst:345 msgid "" "By definition, immutable objects such as numbers, strings, tuples, and " "``None``, are safe from change. Changes to mutable objects such as " @@ -685,7 +648,7 @@ msgstr "" "``None`` están asegurados frente al cambio. Cambios en objetos mutables como " "diccionarios, listas e instancias de clase pueden llevar a confusión." -#: ../Doc/faq/programming.rst:363 +#: ../Doc/faq/programming.rst:349 msgid "" "Because of this feature, it is good programming practice to not use mutable " "objects as default values. Instead, use ``None`` as the default value and " @@ -698,11 +661,11 @@ msgstr "" "``None`` y crea una nueva lista/un nuevo diccionario/cualquier otras cosa " "que necesites. Por ejemplo, no escribas::" -#: ../Doc/faq/programming.rst:371 +#: ../Doc/faq/programming.rst:357 msgid "but::" msgstr "pero::" -#: ../Doc/faq/programming.rst:377 +#: ../Doc/faq/programming.rst:363 msgid "" "This feature can be useful. When you have a function that's time-consuming " "to compute, a common technique is to cache the parameters and the resulting " @@ -716,7 +679,7 @@ msgstr "" "*cacheado* si se solicita nuevamente el mismo valor. A esto se le llama " "\"memoizing\" y se puede implementar de la siguiente forma::" -#: ../Doc/faq/programming.rst:392 +#: ../Doc/faq/programming.rst:378 msgid "" "You could use a global variable containing a dictionary instead of the " "default value; it's a matter of taste." @@ -724,14 +687,14 @@ msgstr "" "Podrías usar una variable global conteniendo un diccionario en lugar de un " "valor por defecto; es una cuestión de gustos." -#: ../Doc/faq/programming.rst:397 +#: ../Doc/faq/programming.rst:383 msgid "" "How can I pass optional or keyword parameters from one function to another?" msgstr "" "¿Cómo puedo pasar parámetros por palabra clave u opcionales de una función a " "otra?" -#: ../Doc/faq/programming.rst:399 +#: ../Doc/faq/programming.rst:385 msgid "" "Collect the arguments using the ``*`` and ``**`` specifiers in the " "function's parameter list; this gives you the positional arguments as a " @@ -744,11 +707,11 @@ msgstr "" "diccionario. Puedes, entonces, pasar estos argumentos cuando invoques a " "otra función usando ``*`` y ``**``::" -#: ../Doc/faq/programming.rst:418 +#: ../Doc/faq/programming.rst:404 msgid "What is the difference between arguments and parameters?" msgstr "¿Cuál es la diferencia entre argumentos y parámetros?" -#: ../Doc/faq/programming.rst:420 +#: ../Doc/faq/programming.rst:406 msgid "" ":term:`Parameters ` are defined by the names that appear in a " "function definition, whereas :term:`arguments ` are the values " @@ -762,7 +725,7 @@ msgstr "" "Parámetros definen qué tipos de argumentos puede aceptar una función. por " "ejemplo, dada la definición de la función::" -#: ../Doc/faq/programming.rst:428 +#: ../Doc/faq/programming.rst:414 msgid "" "*foo*, *bar* and *kwargs* are parameters of ``func``. However, when calling " "``func``, for example::" @@ -770,30 +733,30 @@ msgstr "" "*foo*, *bar* y *kwargs* son parámetros de ``func``. Sin embargo, cuando " "invocamos a ``func``, por ejemplo::" -#: ../Doc/faq/programming.rst:433 +#: ../Doc/faq/programming.rst:419 msgid "the values ``42``, ``314``, and ``somevar`` are arguments." msgstr "los valores ``42``, ``314`` y ``somevar`` son argumentos." -#: ../Doc/faq/programming.rst:437 +#: ../Doc/faq/programming.rst:423 msgid "Why did changing list 'y' also change list 'x'?" msgstr "¿Por qué cambiando la lista 'y' cambia, también, la lista 'x'?" -#: ../Doc/faq/programming.rst:439 +#: ../Doc/faq/programming.rst:425 msgid "If you wrote code like::" msgstr "Si escribes código como::" -#: ../Doc/faq/programming.rst:449 +#: ../Doc/faq/programming.rst:435 msgid "" "you might be wondering why appending an element to ``y`` changed ``x`` too." msgstr "" "te estarás preguntando porque añadir un elemento a ``y`` ha cambiado también " "a ``x``." -#: ../Doc/faq/programming.rst:451 +#: ../Doc/faq/programming.rst:437 msgid "There are two factors that produce this result:" msgstr "Hay dos factores que provocan este resultado:" -#: ../Doc/faq/programming.rst:453 +#: ../Doc/faq/programming.rst:439 msgid "" "Variables are simply names that refer to objects. Doing ``y = x`` doesn't " "create a copy of the list -- it creates a new variable ``y`` that refers to " @@ -806,14 +769,14 @@ msgstr "" "solo existe un objeto (la lista) y tanto ``x`` como ``y`` hacen referencia " "al mismo." -#: ../Doc/faq/programming.rst:457 +#: ../Doc/faq/programming.rst:443 msgid "" "Lists are :term:`mutable`, which means that you can change their content." msgstr "" "Las listas son :term:`mutable`, lo que significa que puedes cambiar su " "contenido." -#: ../Doc/faq/programming.rst:459 +#: ../Doc/faq/programming.rst:445 msgid "" "After the call to :meth:`~list.append`, the content of the mutable object " "has changed from ``[]`` to ``[10]``. Since both the variables refer to the " @@ -824,11 +787,11 @@ msgstr "" "al mismo objeto, el usar cualquiera de los nombres accederá al valor " "modificado ``[10]``." -#: ../Doc/faq/programming.rst:463 +#: ../Doc/faq/programming.rst:449 msgid "If we instead assign an immutable object to ``x``::" msgstr "Si, por otra parte, asignamos un objeto inmutable a ``x``::" -#: ../Doc/faq/programming.rst:473 +#: ../Doc/faq/programming.rst:459 msgid "" "we can see that in this case ``x`` and ``y`` are not equal anymore. This is " "because integers are :term:`immutable`, and when we do ``x = x + 1`` we are " @@ -847,7 +810,7 @@ msgstr "" "referencian a ellos (``x`` ahora referencia a ``6`` pero ``y`` todavía " "referencia a ``5``)." -#: ../Doc/faq/programming.rst:481 +#: ../Doc/faq/programming.rst:467 msgid "" "Some operations (for example ``y.append(10)`` and ``y.sort()``) mutate the " "object, whereas superficially similar operations (for example ``y = y + " @@ -868,7 +831,7 @@ msgstr "" "lugar, ``None``, lo cual ayudará a que tu programa genera un error que pueda " "ser diagnosticado fácilmente." -#: ../Doc/faq/programming.rst:490 +#: ../Doc/faq/programming.rst:476 msgid "" "However, there is one class of operations where the same operation sometimes " "has different behaviors with different types: the augmented assignment " @@ -884,11 +847,11 @@ msgstr "" "extend([1, 2, 3])`` y muta ``a_list``, mientras que ``some_tuple += (1, 2, " "3)`` y ``some_int += 1`` crea nuevos objetos)." -#: ../Doc/faq/programming.rst:497 +#: ../Doc/faq/programming.rst:483 msgid "In other words:" msgstr "En otras palabras:" -#: ../Doc/faq/programming.rst:499 +#: ../Doc/faq/programming.rst:485 msgid "" "If we have a mutable object (:class:`list`, :class:`dict`, :class:`set`, " "etc.), we can use some specific operations to mutate it and all the " @@ -898,7 +861,7 @@ msgstr "" "etc.), podemos usar algunas operaciones específicas para mutarlo y todas las " "variables que referencian al mismo verán el cambio reflejado." -#: ../Doc/faq/programming.rst:502 +#: ../Doc/faq/programming.rst:488 msgid "" "If we have an immutable object (:class:`str`, :class:`int`, :class:`tuple`, " "etc.), all the variables that refer to it will always see the same value, " @@ -910,7 +873,7 @@ msgstr "" "valor pero las operaciones que transforman ese valor en un nuevo valor " "siempre retornan un nuevo objeto." -#: ../Doc/faq/programming.rst:507 +#: ../Doc/faq/programming.rst:493 msgid "" "If you want to know if two variables refer to the same object or not, you " "can use the :keyword:`is` operator, or the built-in function :func:`id`." @@ -918,13 +881,13 @@ msgstr "" "Si deseas saber si dos variables referencian o no al mismo objeto puedes " "usar el operador :keyword:`is` o la función incorporada :func:`id`." -#: ../Doc/faq/programming.rst:512 +#: ../Doc/faq/programming.rst:498 msgid "How do I write a function with output parameters (call by reference)?" msgstr "" "¿Cómo puedo escribir una función sin parámetros (invocación mediante " "referencia)?" -#: ../Doc/faq/programming.rst:514 +#: ../Doc/faq/programming.rst:500 msgid "" "Remember that arguments are passed by assignment in Python. Since " "assignment just creates references to objects, there's no alias between an " @@ -937,46 +900,46 @@ msgstr "" "no hay invocación por referencia per se. Puedes obtener el mismo efecto " "deseado de formas distintas." -#: ../Doc/faq/programming.rst:519 +#: ../Doc/faq/programming.rst:505 msgid "By returning a tuple of the results::" msgstr "Mediante el retorno de una tupla de resultados::" -#: ../Doc/faq/programming.rst:530 +#: ../Doc/faq/programming.rst:516 msgid "This is almost always the clearest solution." msgstr "Esta es, casi siempre, la solución más clara." -#: ../Doc/faq/programming.rst:532 +#: ../Doc/faq/programming.rst:518 msgid "" "By using global variables. This isn't thread-safe, and is not recommended." msgstr "" "Mediante el uso de variables globales. No es thread-safe y no se recomienda." -#: ../Doc/faq/programming.rst:534 +#: ../Doc/faq/programming.rst:520 msgid "By passing a mutable (changeable in-place) object::" msgstr "Pasando un objeto mutable (intercambiable en el mismo sitio)::" -#: ../Doc/faq/programming.rst:544 +#: ../Doc/faq/programming.rst:531 msgid "By passing in a dictionary that gets mutated::" msgstr "Pasando un diccionario que muta::" -#: ../Doc/faq/programming.rst:554 +#: ../Doc/faq/programming.rst:542 msgid "Or bundle up values in a class instance::" msgstr "O empaquetar valores en una instancia de clase::" -#: ../Doc/faq/programming.rst:570 +#: ../Doc/faq/programming.rst:559 msgid "There's almost never a good reason to get this complicated." msgstr "Casi nunca existe una buena razón para hacer esto tan complicado." -#: ../Doc/faq/programming.rst:572 +#: ../Doc/faq/programming.rst:561 msgid "Your best choice is to return a tuple containing the multiple results." msgstr "" "Tu mejor opción es retornar una tupla que contenga los múltiples resultados." -#: ../Doc/faq/programming.rst:576 +#: ../Doc/faq/programming.rst:565 msgid "How do you make a higher order function in Python?" msgstr "¿Cómo se puede hacer una función de orden superior en Python?" -#: ../Doc/faq/programming.rst:578 +#: ../Doc/faq/programming.rst:567 msgid "" "You have two choices: you can use nested scopes or you can use callable " "objects. For example, suppose you wanted to define ``linear(a,b)`` which " @@ -988,19 +951,19 @@ msgstr "" "b)`` que devuelve una función ``f(x)`` que calcula el valor ``a*x+b``. Usar " "ámbitos de aplicación anidados::" -#: ../Doc/faq/programming.rst:587 +#: ../Doc/faq/programming.rst:576 msgid "Or using a callable object::" msgstr "O usar un objeto invocable::" -#: ../Doc/faq/programming.rst:597 +#: ../Doc/faq/programming.rst:586 msgid "In both cases, ::" msgstr "En ambos casos, ::" -#: ../Doc/faq/programming.rst:601 +#: ../Doc/faq/programming.rst:590 msgid "gives a callable object where ``taxes(10e6) == 0.3 * 10e6 + 2``." msgstr "nos da un objeto invocable donde ``taxes(10e6) == 0.3 * 10e6 + 2``." -#: ../Doc/faq/programming.rst:603 +#: ../Doc/faq/programming.rst:592 msgid "" "The callable object approach has the disadvantage that it is a bit slower " "and results in slightly longer code. However, note that a collection of " @@ -1011,11 +974,11 @@ msgstr "" "destacar que una colección de invocables pueden compartir su firma vía " "herencia::" -#: ../Doc/faq/programming.rst:612 +#: ../Doc/faq/programming.rst:601 msgid "Object can encapsulate state for several methods::" msgstr "Los objetos pueden encapsular el estado de varios métodos::" -#: ../Doc/faq/programming.rst:630 +#: ../Doc/faq/programming.rst:619 msgid "" "Here ``inc()``, ``dec()`` and ``reset()`` act like functions which share the " "same counting variable." @@ -1023,11 +986,11 @@ msgstr "" "Aquí ``inc()``, ``dec()`` y ``reset()`` se comportan como funciones las " "cuales comparten la misma variable de conteo." -#: ../Doc/faq/programming.rst:635 +#: ../Doc/faq/programming.rst:624 msgid "How do I copy an object in Python?" msgstr "¿Cómo copio un objeto en Python?" -#: ../Doc/faq/programming.rst:637 +#: ../Doc/faq/programming.rst:626 msgid "" "In general, try :func:`copy.copy` or :func:`copy.deepcopy` for the general " "case. Not all objects can be copied, but most can." @@ -1036,7 +999,7 @@ msgstr "" "general. No todos los objetos se pueden copiar pero la mayoría sí que pueden " "copiarse." -#: ../Doc/faq/programming.rst:640 +#: ../Doc/faq/programming.rst:629 msgid "" "Some objects can be copied more easily. Dictionaries have a :meth:`~dict." "copy` method::" @@ -1044,15 +1007,15 @@ msgstr "" "Algunas objetos se pueden copiar de forma más sencilla. Los diccionarios " "disponen de un método :meth:`~dict.copy`::" -#: ../Doc/faq/programming.rst:645 +#: ../Doc/faq/programming.rst:634 msgid "Sequences can be copied by slicing::" msgstr "Las secuencias se pueden copiar usando un rebanado::" -#: ../Doc/faq/programming.rst:651 +#: ../Doc/faq/programming.rst:640 msgid "How can I find the methods or attributes of an object?" msgstr "¿Cómo puedo encontrar los métodos o atributos de un objeto?" -#: ../Doc/faq/programming.rst:653 +#: ../Doc/faq/programming.rst:642 msgid "" "For an instance x of a user-defined class, ``dir(x)`` returns an " "alphabetized list of the names containing the instance attributes and " @@ -1063,11 +1026,11 @@ msgstr "" "atributos y métodos de la instancia y los atributos definidos mediante su " "clase." -#: ../Doc/faq/programming.rst:659 +#: ../Doc/faq/programming.rst:648 msgid "How can my code discover the name of an object?" msgstr "¿Cómo puede mi código descubrir el nombre de un objeto?" -#: ../Doc/faq/programming.rst:661 +#: ../Doc/faq/programming.rst:650 msgid "" "Generally speaking, it can't, because objects don't really have names. " "Essentially, assignment always binds a name to a value; the same is true of " @@ -1080,7 +1043,7 @@ msgstr "" "``class`` pero, en este caso, el valor es un invocable. Considera el " "siguiente código::" -#: ../Doc/faq/programming.rst:677 +#: ../Doc/faq/programming.rst:666 msgid "" "Arguably the class has a name: even though it is bound to two names and " "invoked through the name B the created instance is still reported as an " @@ -1093,7 +1056,7 @@ msgstr "" "si el nombre de la instancia es a o b, ya que ambos nombres están ligados al " "mismo valor." -#: ../Doc/faq/programming.rst:682 +#: ../Doc/faq/programming.rst:671 msgid "" "Generally speaking it should not be necessary for your code to \"know the " "names\" of particular values. Unless you are deliberately writing " @@ -1105,7 +1068,7 @@ msgstr "" "deliberadamente programas introspectivos, esto suele ser una indicación de " "que un cambio de enfoque podría ser beneficioso." -#: ../Doc/faq/programming.rst:687 +#: ../Doc/faq/programming.rst:676 msgid "" "In comp.lang.python, Fredrik Lundh once gave an excellent analogy in answer " "to this question:" @@ -1113,7 +1076,7 @@ msgstr "" "En comp.lang.python, Fredrik Lundh proporcionó una vez una excelente " "analogía en respuesta a esta pregunta:" -#: ../Doc/faq/programming.rst:690 +#: ../Doc/faq/programming.rst:679 msgid "" "The same way as you get the name of that cat you found on your porch: the " "cat (object) itself cannot tell you its name, and it doesn't really care -- " @@ -1126,7 +1089,7 @@ msgstr "" "llama sería preguntando a todos los vecinos (espacios de nombres) si es su " "gato (objeto)..." -#: ../Doc/faq/programming.rst:695 +#: ../Doc/faq/programming.rst:684 msgid "" "....and don't be surprised if you'll find that it's known by many names, or " "no name at all!" @@ -1134,15 +1097,15 @@ msgstr "" "...y no te sorprendas si encuentras que se le conoce mediante diferentes " "nombres o ¡nadie conoce su nombre!" -#: ../Doc/faq/programming.rst:700 +#: ../Doc/faq/programming.rst:689 msgid "What's up with the comma operator's precedence?" msgstr "¿Qué ocurre con la precedencia del operador coma?" -#: ../Doc/faq/programming.rst:702 +#: ../Doc/faq/programming.rst:691 msgid "Comma is not an operator in Python. Consider this session::" msgstr "La coma no es un operador en Python. Considera la sesión::" -#: ../Doc/faq/programming.rst:707 +#: ../Doc/faq/programming.rst:696 msgid "" "Since the comma is not an operator, but a separator between expressions the " "above is evaluated as if you had entered::" @@ -1150,11 +1113,11 @@ msgstr "" "Debido a que la coma no es un operador sino un separador entre expresiones " "lo anterior se evalúe como se ha introducido::" -#: ../Doc/faq/programming.rst:712 +#: ../Doc/faq/programming.rst:701 msgid "not::" msgstr "no::" -#: ../Doc/faq/programming.rst:716 +#: ../Doc/faq/programming.rst:705 msgid "" "The same is true of the various assignment operators (``=``, ``+=`` etc). " "They are not truly operators but syntactic delimiters in assignment " @@ -1164,15 +1127,15 @@ msgstr "" "No son realmente operadores sino delimitadores sintácticos en declaraciones " "de asignación." -#: ../Doc/faq/programming.rst:721 +#: ../Doc/faq/programming.rst:710 msgid "Is there an equivalent of C's \"?:\" ternary operator?" msgstr "¿Existe un equivalente al operador ternario de C \"?:\"?" -#: ../Doc/faq/programming.rst:723 +#: ../Doc/faq/programming.rst:712 msgid "Yes, there is. The syntax is as follows::" msgstr "Sí, existe. La sintaxis es como sigue::" -#: ../Doc/faq/programming.rst:730 +#: ../Doc/faq/programming.rst:719 msgid "" "Before this syntax was introduced in Python 2.5, a common idiom was to use " "logical operators::" @@ -1180,7 +1143,7 @@ msgstr "" "Antes de que esta sintaxis se introdujera en Python 2.5 una expresión común " "fue el uso de operadores lógicos::" -#: ../Doc/faq/programming.rst:735 +#: ../Doc/faq/programming.rst:724 msgid "" "However, this idiom is unsafe, as it can give wrong results when *on_true* " "has a false boolean value. Therefore, it is always better to use the ``... " @@ -1190,12 +1153,12 @@ msgstr "" "erróneos cuando *on_true* tiene un valor booleano falso. Por tanto, siempre " "es mejor usar la forma ``... if ... else ...``." -#: ../Doc/faq/programming.rst:741 +#: ../Doc/faq/programming.rst:730 msgid "Is it possible to write obfuscated one-liners in Python?" msgstr "" "¿Es posible escribir expresiones en una línea de forma ofuscada en Python?" -#: ../Doc/faq/programming.rst:743 +#: ../Doc/faq/programming.rst:732 msgid "" "Yes. Usually this is done by nesting :keyword:`lambda` within :keyword:`!" "lambda`. See the following three examples, due to Ulf Bartelt::" @@ -1204,16 +1167,16 @@ msgstr "" "keyword:`!lambda`. Examina los siguientes tres ejemplos, creados por Ulf " "Bartelt::" -#: ../Doc/faq/programming.rst:770 +#: ../Doc/faq/programming.rst:759 msgid "Don't try this at home, kids!" msgstr "¡No probéis esto en casa, personitas!" -#: ../Doc/faq/programming.rst:776 +#: ../Doc/faq/programming.rst:765 msgid "What does the slash(/) in the parameter list of a function mean?" msgstr "" "¿Qué hace la barra (/) en medio de la lista de parámetros de una función?" -#: ../Doc/faq/programming.rst:778 +#: ../Doc/faq/programming.rst:767 msgid "" "A slash in the argument list of a function denotes that the parameters prior " "to it are positional-only. Positional-only parameters are the ones without " @@ -1231,7 +1194,7 @@ msgstr "" "acepta parámetros únicamente posicionales. Su documentación es de la " "siguiente forma::" -#: ../Doc/faq/programming.rst:791 +#: ../Doc/faq/programming.rst:780 msgid "" "The slash at the end of the parameter list means that both parameters are " "positional-only. Thus, calling :func:`divmod` with keyword arguments would " @@ -1241,15 +1204,15 @@ msgstr "" "son únicamente posicionales. Por tanto, invocar a :func:`pow` con " "argumentos con palabra clave podría derivar en un error::" -#: ../Doc/faq/programming.rst:802 +#: ../Doc/faq/programming.rst:791 msgid "Numbers and strings" msgstr "Números y cadenas" -#: ../Doc/faq/programming.rst:805 +#: ../Doc/faq/programming.rst:794 msgid "How do I specify hexadecimal and octal integers?" msgstr "¿Cómo puedo especificar enteros hexadecimales y octales?" -#: ../Doc/faq/programming.rst:807 +#: ../Doc/faq/programming.rst:796 msgid "" "To specify an octal digit, precede the octal value with a zero, and then a " "lower or uppercase \"o\". For example, to set the variable \"a\" to the " @@ -1259,7 +1222,7 @@ msgstr "" "\"o\" en minúscula o mayúscula. Por ejemplo, para definir la variable \"a\" " "con el valor octal \"10\" (8 en decimal), escribe::" -#: ../Doc/faq/programming.rst:815 +#: ../Doc/faq/programming.rst:804 msgid "" "Hexadecimal is just as easy. Simply precede the hexadecimal number with a " "zero, and then a lower or uppercase \"x\". Hexadecimal digits can be " @@ -1270,11 +1233,11 @@ msgstr "" "hexadecimales se pueden especificar en minúsculas o mayúsculas. Por " "ejemplo, en el intérprete de Python::" -#: ../Doc/faq/programming.rst:828 +#: ../Doc/faq/programming.rst:817 msgid "Why does -22 // 10 return -3?" msgstr "¿Por qué -22 // 10 devuelve -3?" -#: ../Doc/faq/programming.rst:830 +#: ../Doc/faq/programming.rst:819 msgid "" "It's primarily driven by the desire that ``i % j`` have the same sign as " "``j``. If you want that, and also want::" @@ -1282,7 +1245,7 @@ msgstr "" "Es debido, principalmente al deseo que ``i % j`` tenga el mismo signo que " "``j``. Si quieres eso y, además, quieres::" -#: ../Doc/faq/programming.rst:835 +#: ../Doc/faq/programming.rst:824 msgid "" "then integer division has to return the floor. C also requires that " "identity to hold, and then compilers that truncate ``i // j`` need to make " @@ -1293,7 +1256,7 @@ msgstr "" "compiladores truncan ``i // j`` necesitan que ``i % j`` tenga el mismo signo " "que ``i``." -#: ../Doc/faq/programming.rst:839 +#: ../Doc/faq/programming.rst:828 msgid "" "There are few real use cases for ``i % j`` when ``j`` is negative. When " "``j`` is positive, there are many, and in virtually all of them it's more " @@ -1307,11 +1270,11 @@ msgstr "" "las 10, ¿qué dijo hace 200 horas? ``-190 % 12 == 2`` es útil; ``-190 % 12 " "== -10`` es un error listo para morderte." -#: ../Doc/faq/programming.rst:847 +#: ../Doc/faq/programming.rst:836 msgid "How do I convert a string to a number?" msgstr "¿Cómo convierto una cadena a un número?" -#: ../Doc/faq/programming.rst:849 +#: ../Doc/faq/programming.rst:838 msgid "" "For integers, use the built-in :func:`int` type constructor, e.g. " "``int('144') == 144``. Similarly, :func:`float` converts to floating-point, " @@ -1322,14 +1285,15 @@ msgstr "" "convierte a un número de coma flotante, por ejemplo ``float('144') == " "144.0``." -#: ../Doc/faq/programming.rst:853 +#: ../Doc/faq/programming.rst:842 +#, fuzzy msgid "" "By default, these interpret the number as decimal, so that ``int('0144') == " -"144`` and ``int('0x144')`` raises :exc:`ValueError`. ``int(string, base)`` " -"takes the base to convert from as a second optional argument, so " -"``int('0x144', 16) == 324``. If the base is specified as 0, the number is " -"interpreted using Python's rules: a leading '0o' indicates octal, and '0x' " -"indicates a hex number." +"144`` holds true, and ``int('0x144')`` raises :exc:`ValueError`. " +"``int(string, base)`` takes the base to convert from as a second optional " +"argument, so ``int( '0x144', 16) == 324``. If the base is specified as 0, " +"the number is interpreted using Python's rules: a leading '0o' indicates " +"octal, and '0x' indicates a hex number." msgstr "" "Por defecto, estas interpretan el número como decimal de tal forma que " "``int('0144') == 144`` y ``int('0x144')`` lanzará :exc:`ValueError`. " @@ -1339,7 +1303,7 @@ msgstr "" "rules: un prefijo '0o' indica octal y un prefijo '0x' indica un número " "hexadecimal." -#: ../Doc/faq/programming.rst:859 +#: ../Doc/faq/programming.rst:849 msgid "" "Do not use the built-in function :func:`eval` if all you need is to convert " "strings to numbers. :func:`eval` will be significantly slower and it " @@ -1355,7 +1319,7 @@ msgstr "" "pasar``__import__('os').system(\"rm -rf $HOME\")`` lo cual borraría el " "directorio home al completo." -#: ../Doc/faq/programming.rst:866 +#: ../Doc/faq/programming.rst:856 msgid "" ":func:`eval` also has the effect of interpreting numbers as Python " "expressions, so that e.g. ``eval('09')`` gives a syntax error because Python " @@ -1366,11 +1330,11 @@ msgstr "" "sintaxis porque Python no permite un '0' inicial en un número decimal " "(excepto '0')." -#: ../Doc/faq/programming.rst:872 +#: ../Doc/faq/programming.rst:862 msgid "How do I convert a number to a string?" msgstr "¿Cómo puedo convertir un número a una cadena?" -#: ../Doc/faq/programming.rst:874 +#: ../Doc/faq/programming.rst:864 msgid "" "To convert, e.g., the number 144 to the string '144', use the built-in type " "constructor :func:`str`. If you want a hexadecimal or octal representation, " @@ -1386,11 +1350,11 @@ msgstr "" "ref:`formatstrings`, por ejemplo ``\"{:04d}\".format(144)`` produce " "``'0144'`` y ``\"{:.3f}\".format(1.0/3.0)`` produce ``'0.333'``." -#: ../Doc/faq/programming.rst:883 +#: ../Doc/faq/programming.rst:873 msgid "How do I modify a string in place?" msgstr "¿Cómo puedo modificar una cadena in situ?" -#: ../Doc/faq/programming.rst:885 +#: ../Doc/faq/programming.rst:875 msgid "" "You can't, because strings are immutable. In most situations, you should " "simply construct a new string from the various parts you want to assemble it " @@ -1404,15 +1368,15 @@ msgstr "" "habilidad de modificar en el mismo lugar datos unicode prueba usando el " "objeto :class:`io.StringIO` o el módulo :mod:`array`::" -#: ../Doc/faq/programming.rst:915 +#: ../Doc/faq/programming.rst:905 msgid "How do I use strings to call functions/methods?" msgstr "¿Cómo puedo usar cadenas para invocar funciones/métodos?" -#: ../Doc/faq/programming.rst:917 +#: ../Doc/faq/programming.rst:907 msgid "There are various techniques." msgstr "Existen varias técnicas." -#: ../Doc/faq/programming.rst:919 +#: ../Doc/faq/programming.rst:909 msgid "" "The best is to use a dictionary that maps strings to functions. The primary " "advantage of this technique is that the strings do not need to match the " @@ -1424,11 +1388,11 @@ msgstr "" "iguales que los nombres de las funciones. Esta es también la principal " "técnica que se usa para emular un constructo *case*::" -#: ../Doc/faq/programming.rst:934 +#: ../Doc/faq/programming.rst:924 msgid "Use the built-in function :func:`getattr`::" msgstr "Usa la función incorporada :func:`getattr`::" -#: ../Doc/faq/programming.rst:939 +#: ../Doc/faq/programming.rst:929 msgid "" "Note that :func:`getattr` works on any object, including classes, class " "instances, modules, and so on." @@ -1436,26 +1400,17 @@ msgstr "" "Nótese que :func:`getattr` funciona en cualquier objeto, incluido clases, " "instancias de clases, módulos, etc." -#: ../Doc/faq/programming.rst:942 +#: ../Doc/faq/programming.rst:932 msgid "This is used in several places in the standard library, like this::" msgstr "Esto se usa en varios lugares de la biblioteca estándar, como esto::" -#: ../Doc/faq/programming.rst:955 -msgid "Use :func:`locals` or :func:`eval` to resolve the function name::" +#: ../Doc/faq/programming.rst:945 +#, fuzzy +msgid "Use :func:`locals` to resolve the function name::" msgstr "" "Usa :func:`locals` o :func:`eval` para resolver el nombre de la función::" -#: ../Doc/faq/programming.rst:968 -msgid "" -"Note: Using :func:`eval` is slow and dangerous. If you don't have absolute " -"control over the contents of the string, someone could pass a string that " -"resulted in an arbitrary function being executed." -msgstr "" -"Nota: Usar :func:`eval` es lento y peligroso. Si no tienes el control " -"absoluto del contenido de la cadena cualquiera podría introducir una cadena " -"que resulte en la ejecución de código arbitrario." - -#: ../Doc/faq/programming.rst:973 +#: ../Doc/faq/programming.rst:957 msgid "" "Is there an equivalent to Perl's chomp() for removing trailing newlines from " "strings?" @@ -1463,7 +1418,7 @@ msgstr "" "¿Existe un equivalente a chomp() en Perl para eliminar nuevas líneas al " "final de las cadenas?" -#: ../Doc/faq/programming.rst:975 +#: ../Doc/faq/programming.rst:959 msgid "" "You can use ``S.rstrip(\"\\r\\n\")`` to remove all occurrences of any line " "terminator from the end of the string ``S`` without removing other trailing " @@ -1477,7 +1432,7 @@ msgstr "" "representa más de una línea con varias líneas vacías al final, las " "terminaciones de línea para todas las líneas vacías se eliminarán::" -#: ../Doc/faq/programming.rst:987 +#: ../Doc/faq/programming.rst:971 msgid "" "Since this is typically only desired when reading text one line at a time, " "using ``S.rstrip()`` this way works well." @@ -1485,15 +1440,15 @@ msgstr "" "Ya que esto solo sería deseable, típicamente, cuando lees texto línea a " "línea, usar ``S.rstrip()`` de esta forma funcionaría bien." -#: ../Doc/faq/programming.rst:992 +#: ../Doc/faq/programming.rst:976 msgid "Is there a scanf() or sscanf() equivalent?" msgstr "¿Existe un equivalente a scanf() o a sscanf() ?" -#: ../Doc/faq/programming.rst:994 +#: ../Doc/faq/programming.rst:978 msgid "Not as such." msgstr "No de la misma forma." -#: ../Doc/faq/programming.rst:996 +#: ../Doc/faq/programming.rst:980 msgid "" "For simple input parsing, the easiest approach is usually to split the line " "into whitespace-delimited words using the :meth:`~str.split` method of " @@ -1509,7 +1464,7 @@ msgstr "" "``split()`` permite un parámetro opcional \"sep\" que es útil si la línea " "usa algo diferente a espacios en blanco como separador." -#: ../Doc/faq/programming.rst:1002 +#: ../Doc/faq/programming.rst:986 msgid "" "For more complicated input parsing, regular expressions are more powerful " "than C's :c:func:`sscanf` and better suited for the task." @@ -1518,23 +1473,23 @@ msgstr "" "regulares son más poderosas que :c:func:`sscanf` de C y se ajustan mejor a " "esta tarea." -#: ../Doc/faq/programming.rst:1007 +#: ../Doc/faq/programming.rst:991 msgid "What does 'UnicodeDecodeError' or 'UnicodeEncodeError' error mean?" msgstr "¿Qué significa 'UnicodeDecodeError' o 'UnicodeEncodeError'?" -#: ../Doc/faq/programming.rst:1009 +#: ../Doc/faq/programming.rst:993 msgid "See the :ref:`unicode-howto`." msgstr "Ver :ref:`unicode-howto`." -#: ../Doc/faq/programming.rst:1013 +#: ../Doc/faq/programming.rst:997 msgid "Performance" msgstr "Rendimiento" -#: ../Doc/faq/programming.rst:1016 +#: ../Doc/faq/programming.rst:1000 msgid "My program is too slow. How do I speed it up?" msgstr "Mi programa es muy lento. ¿Cómo puedo acelerarlo?" -#: ../Doc/faq/programming.rst:1018 +#: ../Doc/faq/programming.rst:1002 msgid "" "That's a tough one, in general. First, here are a list of things to " "remember before diving further:" @@ -1542,7 +1497,7 @@ msgstr "" "Esa es una pregunta difícil, en general. Primero, aquí tienes una lista de " "cosas a recordar antes de ir más allá:" -#: ../Doc/faq/programming.rst:1021 +#: ../Doc/faq/programming.rst:1005 msgid "" "Performance characteristics vary across Python implementations. This FAQ " "focuses on :term:`CPython`." @@ -1551,7 +1506,7 @@ msgstr "" "implementaciones de Python. Estas preguntas frecuentes se enfocan en :term:" "`CPython`." -#: ../Doc/faq/programming.rst:1023 +#: ../Doc/faq/programming.rst:1007 msgid "" "Behaviour can vary across operating systems, especially when talking about I/" "O or multi-threading." @@ -1559,7 +1514,7 @@ msgstr "" "El comportamiento puede variar entre distintos sistemas operativos, " "especialmente cuando se habla de tareas I/O o multi-tarea." -#: ../Doc/faq/programming.rst:1025 +#: ../Doc/faq/programming.rst:1009 msgid "" "You should always find the hot spots in your program *before* attempting to " "optimize any code (see the :mod:`profile` module)." @@ -1567,7 +1522,7 @@ msgstr "" "Siempre deberías encontrar las partes importantes en tu programa *antes* de " "intentar optimizar el código (ver el módulo :mod:`profile`)." -#: ../Doc/faq/programming.rst:1027 +#: ../Doc/faq/programming.rst:1011 msgid "" "Writing benchmark scripts will allow you to iterate quickly when searching " "for improvements (see the :mod:`timeit` module)." @@ -1576,7 +1531,7 @@ msgstr "" "rápidamente cuando te encuentres buscando mejoras (ver el módulo :mod:" "`timeit`)." -#: ../Doc/faq/programming.rst:1029 +#: ../Doc/faq/programming.rst:1013 msgid "" "It is highly recommended to have good code coverage (through unit testing or " "any other technique) before potentially introducing regressions hidden in " @@ -1586,7 +1541,7 @@ msgstr "" "partir de pruebas unitarias o cualquier otra técnica) antes de introducir " "potenciales regresiones ocultas en sofisticadas optimizaciones." -#: ../Doc/faq/programming.rst:1033 +#: ../Doc/faq/programming.rst:1017 msgid "" "That being said, there are many tricks to speed up Python code. Here are " "some general principles which go a long way towards reaching acceptable " @@ -1596,7 +1551,7 @@ msgstr "" "tienes algunos principios generales que te permitirán llegar a alcanzar " "niveles de rendimiento aceptables:" -#: ../Doc/faq/programming.rst:1037 +#: ../Doc/faq/programming.rst:1021 msgid "" "Making your algorithms faster (or changing to faster ones) can yield much " "larger benefits than trying to sprinkle micro-optimization tricks all over " @@ -1606,7 +1561,7 @@ msgstr "" "provocar mayores beneficios que intentar unos pocos trucos de micro-" "optimización a través de todo tu código." -#: ../Doc/faq/programming.rst:1041 +#: ../Doc/faq/programming.rst:1025 msgid "" "Use the right data structures. Study documentation for the :ref:`bltin-" "types` and the :mod:`collections` module." @@ -1614,7 +1569,7 @@ msgstr "" "Utiliza las estructuras de datos correctas. Estudia la documentación para " "los :ref:`bltin-types` y el módulo :mod:`collections`." -#: ../Doc/faq/programming.rst:1044 +#: ../Doc/faq/programming.rst:1028 msgid "" "When the standard library provides a primitive for doing something, it is " "likely (although not guaranteed) to be faster than any alternative you may " @@ -1632,7 +1587,7 @@ msgstr "" "función relacionada :func:`sorted` para ordenar (y ver :ref:`sortinghowto` " "para ver ejemplos de uso moderadamente avanzados)." -#: ../Doc/faq/programming.rst:1052 +#: ../Doc/faq/programming.rst:1036 msgid "" "Abstractions tend to create indirections and force the interpreter to work " "more. If the levels of indirection outweigh the amount of useful work done, " @@ -1646,7 +1601,7 @@ msgstr "" "especialmente, en forma de pequeñas funciones o métodos (que también va en " "detrimento de la legibilidad)." -#: ../Doc/faq/programming.rst:1058 +#: ../Doc/faq/programming.rst:1042 msgid "" "If you have reached the limit of what pure Python can allow, there are tools " "to take you further away. For example, `Cython `_ can " @@ -1667,7 +1622,7 @@ msgstr "" "también puedes escribir :ref:`un módulo de extensión en C ` " "tú mismo." -#: ../Doc/faq/programming.rst:1068 +#: ../Doc/faq/programming.rst:1052 msgid "" "The wiki page devoted to `performance tips `_." @@ -1675,12 +1630,12 @@ msgstr "" "La página de la wiki dedicada a `trucos de rendimiento `_." -#: ../Doc/faq/programming.rst:1074 +#: ../Doc/faq/programming.rst:1058 msgid "What is the most efficient way to concatenate many strings together?" msgstr "" "¿Cuál es la forma más eficiente de concatenar muchas cadenas conjuntamente?" -#: ../Doc/faq/programming.rst:1076 +#: ../Doc/faq/programming.rst:1060 msgid "" ":class:`str` and :class:`bytes` objects are immutable, therefore " "concatenating many strings together is inefficient as each concatenation " @@ -1693,7 +1648,7 @@ msgstr "" "en tiempo de ejecución es cuadrático en relación a la longitud de la cadena " "final." -#: ../Doc/faq/programming.rst:1081 +#: ../Doc/faq/programming.rst:1065 msgid "" "To accumulate many :class:`str` objects, the recommended idiom is to place " "them into a list and call :meth:`str.join` at the end::" @@ -1701,13 +1656,13 @@ msgstr "" "Para acumular muchos objetos :class:`str`, la forma recomendada sería " "colocarlos en una lista y llamar al método :meth:`str.join` al final::" -#: ../Doc/faq/programming.rst:1089 +#: ../Doc/faq/programming.rst:1073 msgid "(another reasonably efficient idiom is to use :class:`io.StringIO`)" msgstr "" "(otra forma que sería razonable en términos de eficiencia sería usar :class:" "`io.StringIO`)" -#: ../Doc/faq/programming.rst:1091 +#: ../Doc/faq/programming.rst:1075 msgid "" "To accumulate many :class:`bytes` objects, the recommended idiom is to " "extend a :class:`bytearray` object using in-place concatenation (the ``+=`` " @@ -1717,15 +1672,15 @@ msgstr "" "extender un objeto :class:`bytearray` usando el operador de concatenación " "in situ (el operador ``+=``)::" -#: ../Doc/faq/programming.rst:1100 +#: ../Doc/faq/programming.rst:1084 msgid "Sequences (Tuples/Lists)" msgstr "Secuencias (Tuplas/Listas)" -#: ../Doc/faq/programming.rst:1103 +#: ../Doc/faq/programming.rst:1087 msgid "How do I convert between tuples and lists?" msgstr "¿Cómo convertir entre tuplas y listas?" -#: ../Doc/faq/programming.rst:1105 +#: ../Doc/faq/programming.rst:1089 msgid "" "The type constructor ``tuple(seq)`` converts any sequence (actually, any " "iterable) into a tuple with the same items in the same order." @@ -1734,7 +1689,7 @@ msgstr "" "cualquier iterable) en una tupla con los mismos elementos y en el mismo " "orden." -#: ../Doc/faq/programming.rst:1108 +#: ../Doc/faq/programming.rst:1092 msgid "" "For example, ``tuple([1, 2, 3])`` yields ``(1, 2, 3)`` and ``tuple('abc')`` " "yields ``('a', 'b', 'c')``. If the argument is a tuple, it does not make a " @@ -1747,7 +1702,7 @@ msgstr "" "llamar a :func:`tuple` no tendrá mucho coste si no estás seguro si un objeto " "ya es una tupla." -#: ../Doc/faq/programming.rst:1113 +#: ../Doc/faq/programming.rst:1097 msgid "" "The type constructor ``list(seq)`` converts any sequence or iterable into a " "list with the same items in the same order. For example, ``list((1, 2, " @@ -1760,11 +1715,11 @@ msgstr "" "``['a', 'b', 'c']``. Si el argumento es una lista, hará una copia como lo " "haría ``seq[:]``." -#: ../Doc/faq/programming.rst:1120 +#: ../Doc/faq/programming.rst:1104 msgid "What's a negative index?" msgstr "¿Qué es un índice negativo?" -#: ../Doc/faq/programming.rst:1122 +#: ../Doc/faq/programming.rst:1106 msgid "" "Python sequences are indexed with positive numbers and negative numbers. " "For positive numbers 0 is the first index 1 is the second index and so " @@ -1777,7 +1732,7 @@ msgstr "" "así en adelante. Para los índices negativos el -1 el último índice, el -2 " "el penúltimo, etc. Piensa en ``seq[-n]`` como si fuera ``seq[len(seq)-n]``." -#: ../Doc/faq/programming.rst:1127 +#: ../Doc/faq/programming.rst:1111 msgid "" "Using negative indices can be very convenient. For example ``S[:-1]`` is " "all of the string except for its last character, which is useful for " @@ -1787,18 +1742,18 @@ msgstr "" "``S[:-1]`` se usa para todo la cadena excepto para su último carácter, lo " "cual es útil para eliminar el salto de línea final de una cadena." -#: ../Doc/faq/programming.rst:1133 +#: ../Doc/faq/programming.rst:1117 msgid "How do I iterate over a sequence in reverse order?" msgstr "¿Cómo puedo iterar sobre una secuencia en orden inverso?" -#: ../Doc/faq/programming.rst:1135 -msgid "" -"Use the :func:`reversed` built-in function, which is new in Python 2.4::" +#: ../Doc/faq/programming.rst:1119 +#, fuzzy +msgid "Use the :func:`reversed` built-in function::" msgstr "" "Usa la función incorporada :func:`reversed`, la cual se introdujo en la " "versión de 2.4 de Python::" -#: ../Doc/faq/programming.rst:1140 +#: ../Doc/faq/programming.rst:1124 msgid "" "This won't touch your original sequence, but build a new copy with reversed " "order to iterate over." @@ -1806,25 +1761,21 @@ msgstr "" "Esto no transformará la secuencia original sino que creará una nueva copia " "en orden inverso por la que se puede iterar." -#: ../Doc/faq/programming.rst:1143 -msgid "With Python 2.3, you can use an extended slice syntax::" -msgstr "Desde Python 2.3 puedes usar la sintaxis extendida de rebanado::" - -#: ../Doc/faq/programming.rst:1150 +#: ../Doc/faq/programming.rst:1129 msgid "How do you remove duplicates from a list?" msgstr "¿Cómo eliminar duplicados de una lista?" -#: ../Doc/faq/programming.rst:1152 +#: ../Doc/faq/programming.rst:1131 msgid "See the Python Cookbook for a long discussion of many ways to do this:" msgstr "" "Puedes echar un vistazo al recetario de Python para ver una gran discusión " "mostrando muchas formas de hacer esto:" -#: ../Doc/faq/programming.rst:1154 +#: ../Doc/faq/programming.rst:1133 msgid "https://code.activestate.com/recipes/52560/" msgstr "https://code.activestate.com/recipes/52560/" -#: ../Doc/faq/programming.rst:1156 +#: ../Doc/faq/programming.rst:1135 msgid "" "If you don't mind reordering the list, sort it and then scan from the end of " "the list, deleting duplicates as you go::" @@ -1832,7 +1783,7 @@ msgstr "" "Si no te preocupa que la lista se reordene la puedes ordenar y, después, y " "después escanearla desde el final borrando duplicados a medida que avanzas::" -#: ../Doc/faq/programming.rst:1168 +#: ../Doc/faq/programming.rst:1147 msgid "" "If all elements of the list may be used as set keys (i.e. they are all :term:" "`hashable`) this is often faster ::" @@ -1840,7 +1791,7 @@ msgstr "" "Si todos los elementos de la lista pueden ser usados como claves (por " "ejemplo son todos :term:`hashable`) esto será, en general, más rápido ::" -#: ../Doc/faq/programming.rst:1173 +#: ../Doc/faq/programming.rst:1152 msgid "" "This converts the list into a set, thereby removing duplicates, and then " "back into a list." @@ -1848,15 +1799,33 @@ msgstr "" "Esto convierte la lista en un conjunto eliminando, por tanto, los duplicados " "y, posteriormente, puedes volver a una lista." -#: ../Doc/faq/programming.rst:1178 +#: ../Doc/faq/programming.rst:1157 +#, fuzzy +msgid "How do you remove multiple items from a list" +msgstr "¿Cómo eliminar duplicados de una lista?" + +#: ../Doc/faq/programming.rst:1159 +msgid "" +"As with removing duplicates, explicitly iterating in reverse with a delete " +"condition is one possibility. However, it is easier and faster to use slice " +"replacement with an implicit or explicit forward iteration. Here are three " +"variations.::" +msgstr "" + +#: ../Doc/faq/programming.rst:1168 +#, fuzzy +msgid "The list comprehension may be fastest." +msgstr "Usa una comprensión de listas::" + +#: ../Doc/faq/programming.rst:1172 msgid "How do you make an array in Python?" msgstr "¿Cómo se puede hacer un array en Python?" -#: ../Doc/faq/programming.rst:1180 +#: ../Doc/faq/programming.rst:1174 msgid "Use a list::" msgstr "Usa una lista::" -#: ../Doc/faq/programming.rst:1184 +#: ../Doc/faq/programming.rst:1178 msgid "" "Lists are equivalent to C or Pascal arrays in their time complexity; the " "primary difference is that a Python list can contain objects of many " @@ -1866,7 +1835,7 @@ msgstr "" "La principal diferencia es que una lista en Python puede contener objetos de " "diferentes tipos." -#: ../Doc/faq/programming.rst:1187 +#: ../Doc/faq/programming.rst:1181 msgid "" "The ``array`` module also provides methods for creating arrays of fixed " "types with compact representations, but they are slower to index than " @@ -1878,14 +1847,14 @@ msgstr "" "listas. Además, debes tener en cuenta que las extensiones Numeric y otras " "permiten definen estructuras de tipo array con diversas características." -#: ../Doc/faq/programming.rst:1192 +#: ../Doc/faq/programming.rst:1186 msgid "" "To get Lisp-style linked lists, you can emulate cons cells using tuples::" msgstr "" "Para obtener listas enlazadas al estilo de las de Lisp, puedes emular celdas " "cons usando tuplas::" -#: ../Doc/faq/programming.rst:1196 +#: ../Doc/faq/programming.rst:1190 msgid "" "If mutability is desired, you could use lists instead of tuples. Here the " "analogue of lisp car is ``lisp_list[0]`` and the analogue of cdr is " @@ -1898,25 +1867,25 @@ msgstr "" "debido a que, normalmente, será bastante más lento que el usar listas " "Python." -#: ../Doc/faq/programming.rst:1205 +#: ../Doc/faq/programming.rst:1199 msgid "How do I create a multidimensional list?" msgstr "¿Cómo puedo crear una lista multidimensional?" -#: ../Doc/faq/programming.rst:1207 +#: ../Doc/faq/programming.rst:1201 msgid "You probably tried to make a multidimensional array like this::" msgstr "" "Seguramente hayas intentado crear un array multidimensional de la siguiente " "forma::" -#: ../Doc/faq/programming.rst:1211 +#: ../Doc/faq/programming.rst:1205 msgid "This looks correct if you print it:" msgstr "Esto parece correcto si lo muestras en pantalla:" -#: ../Doc/faq/programming.rst:1222 +#: ../Doc/faq/programming.rst:1216 msgid "But when you assign a value, it shows up in multiple places:" msgstr "Pero cuando asignas un valor, se muestra en múltiples sitios:" -#: ../Doc/faq/programming.rst:1234 +#: ../Doc/faq/programming.rst:1228 msgid "" "The reason is that replicating a list with ``*`` doesn't create copies, it " "only creates references to the existing objects. The ``*3`` creates a list " @@ -1928,7 +1897,7 @@ msgstr "" "3 referencias a la misma lista de longitud dos. Cambios a una fila se " "mostrarán en todas las filas, lo cual, seguramente, no es lo que deseas." -#: ../Doc/faq/programming.rst:1239 +#: ../Doc/faq/programming.rst:1233 msgid "" "The suggested approach is to create a list of the desired length first and " "then fill in each element with a newly created list::" @@ -1937,7 +1906,7 @@ msgstr "" "deseada y, después, rellenar cada elemento con una lista creada en ese " "momento::" -#: ../Doc/faq/programming.rst:1246 +#: ../Doc/faq/programming.rst:1240 msgid "" "This generates a list containing 3 different lists of length two. You can " "also use a list comprehension::" @@ -1945,7 +1914,7 @@ msgstr "" "Esto genera una lista conteniendo 3 listas distintas de longitud dos. " "También puedes usar una comprensión de lista::" -#: ../Doc/faq/programming.rst:1252 +#: ../Doc/faq/programming.rst:1246 msgid "" "Or, you can use an extension that provides a matrix datatype; `NumPy `_ is the best known." @@ -1953,22 +1922,22 @@ msgstr "" "O puedes usar una extensión que proporcione un tipo de dato para matrices; " "`NumPy `_ es la más conocida." -#: ../Doc/faq/programming.rst:1257 +#: ../Doc/faq/programming.rst:1251 msgid "How do I apply a method to a sequence of objects?" msgstr "¿Cómo puedo aplicar un método a una secuencia de objetos?" -#: ../Doc/faq/programming.rst:1259 +#: ../Doc/faq/programming.rst:1253 msgid "Use a list comprehension::" msgstr "Usa una comprensión de listas::" -#: ../Doc/faq/programming.rst:1266 +#: ../Doc/faq/programming.rst:1260 msgid "" "Why does a_tuple[i] += ['item'] raise an exception when the addition works?" msgstr "" "¿Por qué hacer lo siguiente, ``a_tuple[i] += ['item']``, lanza una excepción " "cuando la suma funciona?" -#: ../Doc/faq/programming.rst:1268 +#: ../Doc/faq/programming.rst:1262 msgid "" "This is because of a combination of the fact that augmented assignment " "operators are *assignment* operators, and the difference between mutable and " @@ -1978,7 +1947,7 @@ msgstr "" "aumentada es un operador de *asignación* y a la diferencia entre objetos " "mutables e inmutable en Python." -#: ../Doc/faq/programming.rst:1272 +#: ../Doc/faq/programming.rst:1266 msgid "" "This discussion applies in general when augmented assignment operators are " "applied to elements of a tuple that point to mutable objects, but we'll use " @@ -1988,11 +1957,11 @@ msgstr "" "aumentada se aplican a elementos de una tupla que apuntan a objetos " "mutables. Pero vamos a usar una ``lista`` y ``+=`` para el ejemplo." -#: ../Doc/faq/programming.rst:1276 +#: ../Doc/faq/programming.rst:1270 msgid "If you wrote::" msgstr "Si escribes::" -#: ../Doc/faq/programming.rst:1284 +#: ../Doc/faq/programming.rst:1278 msgid "" "The reason for the exception should be immediately clear: ``1`` is added to " "the object ``a_tuple[0]`` points to (``1``), producing the result object, " @@ -2006,7 +1975,7 @@ msgstr "" "``2``, al elemento ``0`` de la tupla, obtenemos un error debido a que no " "podemos cambiar el elemento al que apunta la tupla." -#: ../Doc/faq/programming.rst:1290 +#: ../Doc/faq/programming.rst:1284 msgid "" "Under the covers, what this augmented assignment statement is doing is " "approximately this::" @@ -2014,7 +1983,7 @@ msgstr "" "En realidad, lo que esta declaración de asignación aumentada está haciendo " "es, aproximadamente, lo siguiente::" -#: ../Doc/faq/programming.rst:1299 +#: ../Doc/faq/programming.rst:1293 msgid "" "It is the assignment part of the operation that produces the error, since a " "tuple is immutable." @@ -2022,11 +1991,11 @@ msgstr "" "Es la parte de asignación de la operación la que provoca el error, debido a " "que una tupla es inmutable." -#: ../Doc/faq/programming.rst:1302 +#: ../Doc/faq/programming.rst:1296 msgid "When you write something like::" msgstr "Cuando escribes algo como lo siguiente::" -#: ../Doc/faq/programming.rst:1310 +#: ../Doc/faq/programming.rst:1304 msgid "" "The exception is a bit more surprising, and even more surprising is the fact " "that even though there was an error, the append worked::" @@ -2034,7 +2003,7 @@ msgstr "" "La excepción es un poco más sorprendente e, incluso, más sorprendente es el " "hecho que aunque hubo un error, la agregación funcionó::" -#: ../Doc/faq/programming.rst:1316 +#: ../Doc/faq/programming.rst:1310 msgid "" "To see why this happens, you need to know that (a) if an object implements " "an ``__iadd__`` magic method, it gets called when the ``+=`` augmented " @@ -2050,11 +2019,11 @@ msgstr "" "``extend`` en la lista y retornar la lista. Es por esto que decimos que " "para listas, ``+=`` es un atajo para ``list.extend``::" -#: ../Doc/faq/programming.rst:1328 +#: ../Doc/faq/programming.rst:1322 msgid "This is equivalent to::" msgstr "Esto es equivalente a ::" -#: ../Doc/faq/programming.rst:1333 +#: ../Doc/faq/programming.rst:1327 msgid "" "The object pointed to by a_list has been mutated, and the pointer to the " "mutated object is assigned back to ``a_list``. The end result of the " @@ -2066,13 +2035,13 @@ msgstr "" "opción debido a que es un puntero al mismo objeto al que estaba apuntando " "``a_list`` pero la asignación sí que ocurre." -#: ../Doc/faq/programming.rst:1338 +#: ../Doc/faq/programming.rst:1332 msgid "Thus, in our tuple example what is happening is equivalent to::" msgstr "" "Por tanto, en nuestro ejemplo con tupla lo que está pasando es equivalente " "a::" -#: ../Doc/faq/programming.rst:1346 +#: ../Doc/faq/programming.rst:1340 msgid "" "The ``__iadd__`` succeeds, and thus the list is extended, but even though " "``result`` points to the same object that ``a_tuple[0]`` already points to, " @@ -2084,7 +2053,7 @@ msgstr "" "``a_tuple[0]`` la asignación final sigue resultando en un error, debido a " "que las tuplas son inmutables." -#: ../Doc/faq/programming.rst:1352 +#: ../Doc/faq/programming.rst:1346 msgid "" "I want to do a complicated sort: can you do a Schwartzian Transform in " "Python?" @@ -2092,7 +2061,7 @@ msgstr "" "Quiero hacer una ordenación compleja: ¿Puedes hacer una transformada " "Schwartziana (Schwartzian Transform) en Python?" -#: ../Doc/faq/programming.rst:1354 +#: ../Doc/faq/programming.rst:1348 msgid "" "The technique, attributed to Randal Schwartz of the Perl community, sorts " "the elements of a list by a metric which maps each element to its \"sort " @@ -2104,11 +2073,11 @@ msgstr "" "elemento a su \"valor orden\". En Python, usa el argumento ``key`` par el " "método :meth:`list.sort`::" -#: ../Doc/faq/programming.rst:1363 +#: ../Doc/faq/programming.rst:1357 msgid "How can I sort one list by values from another list?" msgstr "¿Cómo puedo ordenar una lista a partir de valores de otra lista?" -#: ../Doc/faq/programming.rst:1365 +#: ../Doc/faq/programming.rst:1359 msgid "" "Merge them into an iterator of tuples, sort the resulting list, and then " "pick out the element you want. ::" @@ -2116,38 +2085,15 @@ msgstr "" "Las puedes unir en un iterador de tuplas, ordena la lista resultando y " "después extrae el elemento que deseas. ::" -#: ../Doc/faq/programming.rst:1379 -msgid "An alternative for the last step is::" -msgstr "Una alternativa para el último paso es::" - -#: ../Doc/faq/programming.rst:1384 -msgid "" -"If you find this more legible, you might prefer to use this instead of the " -"final list comprehension. However, it is almost twice as slow for long " -"lists. Why? First, the ``append()`` operation has to reallocate memory, and " -"while it uses some tricks to avoid doing that each time, it still has to do " -"it occasionally, and that costs quite a bit. Second, the expression " -"\"result.append\" requires an extra attribute lookup, and third, there's a " -"speed reduction from having to make all those function calls." -msgstr "" -"Si encuentras esto más legible, podrías preferir usar esto en lugar de una " -"comprensión de lista final. Sin embargo, es casi el doble de lento para " -"listas largas. ¿Por qué? Primero, la operación ``append()`` necesita " -"reasignar memoria y, aunque usa algunos trucos para evitar hacerlo en todo " -"momento, sigue teniéndolo que hacer ocasionalmente y eso tiene un poco de " -"coste. Segundo, la expresión \"result.append\" requiere una búsqueda " -"adicional de atributos y, tercero, hay una reducción de velocidad de tener " -"que hacer todas esas llamadas a funciones." - -#: ../Doc/faq/programming.rst:1394 +#: ../Doc/faq/programming.rst:1374 msgid "Objects" msgstr "Objetos" -#: ../Doc/faq/programming.rst:1397 +#: ../Doc/faq/programming.rst:1377 msgid "What is a class?" msgstr "¿Qué es una clase?" -#: ../Doc/faq/programming.rst:1399 +#: ../Doc/faq/programming.rst:1379 msgid "" "A class is the particular object type created by executing a class " "statement. Class objects are used as templates to create instance objects, " @@ -2159,7 +2105,7 @@ msgstr "" "instancias de objetos que son tanto los datos (atributos) como el código " "(métodos) específicos para un tipo de dato." -#: ../Doc/faq/programming.rst:1403 +#: ../Doc/faq/programming.rst:1383 msgid "" "A class can be based on one or more other classes, called its base " "class(es). It then inherits the attributes and methods of its base classes. " @@ -2176,11 +2122,11 @@ msgstr "" "``MaildirMailbox``, ``OutlookMailbox`` que gestionan distintos formatos " "específicos de buzón de correos." -#: ../Doc/faq/programming.rst:1412 +#: ../Doc/faq/programming.rst:1392 msgid "What is a method?" msgstr "¿Qué es un método?" -#: ../Doc/faq/programming.rst:1414 +#: ../Doc/faq/programming.rst:1394 msgid "" "A method is a function on some object ``x`` that you normally call as ``x." "name(arguments...)``. Methods are defined as functions inside the class " @@ -2190,11 +2136,11 @@ msgstr "" "de la forma ``x.name(arguments...)``. Los métodos se definen como " "funciones dentro de la definición de la clase::" -#: ../Doc/faq/programming.rst:1424 +#: ../Doc/faq/programming.rst:1404 msgid "What is self?" msgstr "¿Qué es self?" -#: ../Doc/faq/programming.rst:1426 +#: ../Doc/faq/programming.rst:1406 msgid "" "Self is merely a conventional name for the first argument of a method. A " "method defined as ``meth(self, a, b, c)`` should be called as ``x.meth(a, b, " @@ -2207,11 +2153,11 @@ msgstr "" "que se definió; el método invocado pensará que se le ha invocado como " "``meth(x, a, b, c)``." -#: ../Doc/faq/programming.rst:1431 +#: ../Doc/faq/programming.rst:1411 msgid "See also :ref:`why-self`." msgstr "Ver también :ref:`why-self`." -#: ../Doc/faq/programming.rst:1435 +#: ../Doc/faq/programming.rst:1415 msgid "" "How do I check if an object is an instance of a given class or of a subclass " "of it?" @@ -2219,7 +2165,7 @@ msgstr "" "¿Cómo puedo comprobar si un objeto es una instancia de una clase dada o de " "una subclase de la misma?" -#: ../Doc/faq/programming.rst:1437 +#: ../Doc/faq/programming.rst:1417 msgid "" "Use the built-in function ``isinstance(obj, cls)``. You can check if an " "object is an instance of any of a number of classes by providing a tuple " @@ -2234,7 +2180,7 @@ msgstr "" "tipos incorporados por ejemplo ``isinstance(obj, str)`` o ``isinstance(obj, " "(int, float, complex))``." -#: ../Doc/faq/programming.rst:1443 +#: ../Doc/faq/programming.rst:1423 msgid "" "Note that most programs do not use :func:`isinstance` on user-defined " "classes very often. If you are developing the classes yourself, a more " @@ -2250,7 +2196,7 @@ msgstr "" "comprobando la clase del objeto e ir haciendo cosas en base a la clase que " "es. Por ejemplo, si tienes una función que hace lo siguiente::" -#: ../Doc/faq/programming.rst:1457 +#: ../Doc/faq/programming.rst:1437 msgid "" "A better approach is to define a ``search()`` method on all the classes and " "just call it::" @@ -2258,11 +2204,11 @@ msgstr "" "Un enfoque más adecuado sería definir un método ``search()`` en todas las " "clases e invocarlo::" -#: ../Doc/faq/programming.rst:1472 +#: ../Doc/faq/programming.rst:1452 msgid "What is delegation?" msgstr "¿Qué es la delegación?" -#: ../Doc/faq/programming.rst:1474 +#: ../Doc/faq/programming.rst:1454 msgid "" "Delegation is an object oriented technique (also called a design pattern). " "Let's say you have an object ``x`` and want to change the behaviour of just " @@ -2276,7 +2222,7 @@ msgstr "" "proporciona una nueva implementación del método que te interesa cambiar y " "delega el resto de métodos al método correspondiente de ``x``." -#: ../Doc/faq/programming.rst:1480 +#: ../Doc/faq/programming.rst:1460 msgid "" "Python programmers can easily implement delegation. For example, the " "following class implements a class that behaves like a file but converts all " @@ -2287,7 +2233,7 @@ msgstr "" "comporta como un fichero pero convierte todos los datos escritos a " "mayúsculas::" -#: ../Doc/faq/programming.rst:1495 +#: ../Doc/faq/programming.rst:1475 msgid "" "Here the ``UpperOut`` class redefines the ``write()`` method to convert the " "argument string to uppercase before calling the underlying ``self._outfile." @@ -2303,7 +2249,7 @@ msgstr "" "consulta :ref:`la referencia del lenguaje ` para obtener " "más información sobre cómo controlar el acceso a atributos." -#: ../Doc/faq/programming.rst:1502 +#: ../Doc/faq/programming.rst:1482 msgid "" "Note that for more general cases delegation can get trickier. When " "attributes must be set as well as retrieved, the class must define a :meth:" @@ -2317,7 +2263,7 @@ msgstr "" "cuidado. La implementación básica de :meth:`__setattr__` es, " "aproximadamente, equivalente a lo siguiente::" -#: ../Doc/faq/programming.rst:1513 +#: ../Doc/faq/programming.rst:1493 msgid "" "Most :meth:`__setattr__` implementations must modify ``self.__dict__`` to " "store local state for self without causing an infinite recursion." @@ -2326,7 +2272,7 @@ msgstr "" "__dict__`` para almacenar el estado local para self sin provocar una " "recursión infinita." -#: ../Doc/faq/programming.rst:1518 +#: ../Doc/faq/programming.rst:1498 msgid "" "How do I call a method defined in a base class from a derived class that " "overrides it?" @@ -2334,11 +2280,11 @@ msgstr "" "¿Cómo invoco a un método definido en una clase base desde una clase derivada " "que lo ha sobreescrito?" -#: ../Doc/faq/programming.rst:1520 +#: ../Doc/faq/programming.rst:1500 msgid "Use the built-in :func:`super` function::" msgstr "Usa la función incorporada :func:`super`::" -#: ../Doc/faq/programming.rst:1526 +#: ../Doc/faq/programming.rst:1506 msgid "" "For version prior to 3.0, you may be using classic classes: For a class " "definition such as ``class Derived(Base): ...`` you can call method " @@ -2352,34 +2298,26 @@ msgstr "" "``Base``) como ``Base.meth(self, arguments...)``. Aquí, ``Base.meth`` es un " "método no ligado y, por tanto, debes proporcionar el argumento ``self``." -#: ../Doc/faq/programming.rst:1534 +#: ../Doc/faq/programming.rst:1514 msgid "How can I organize my code to make it easier to change the base class?" msgstr "" "¿Cómo puedo organizar mi código para hacer que sea más sencillo modificar la " "clase base?" -#: ../Doc/faq/programming.rst:1536 +#: ../Doc/faq/programming.rst:1516 msgid "" -"You could define an alias for the base class, assign the real base class to " -"it before your class definition, and use the alias throughout your class. " -"Then all you have to change is the value assigned to the alias. " -"Incidentally, this trick is also handy if you want to decide dynamically (e." -"g. depending on availability of resources) which base class to use. " -"Example::" -msgstr "" -"Puedes definir un alias para la clase base, asignar la clase base real al " -"alias antes de la definición de tu clase y usar el alias a lo largo de toda " -"la clase. Entonces, lo único que tienes que cambiar es el valor asignado al " -"alias. Sin pretenderlo, este truco también es útil si desear decidir de " -"forma dinámica (por ejemplo dependiendo de la disponibilidad de recursos) " -"qué clase base usar. Ejemplo::" - -#: ../Doc/faq/programming.rst:1551 +"You could assign the base class to an alias and derive from the alias. Then " +"all you have to change is the value assigned to the alias. Incidentally, " +"this trick is also handy if you want to decide dynamically (e.g. depending " +"on availability of resources) which base class to use. Example::" +msgstr "" + +#: ../Doc/faq/programming.rst:1531 msgid "How do I create static class data and static class methods?" msgstr "" "¿Cómo puedo crear datos estáticos de clase y métodos estáticos de clase?" -#: ../Doc/faq/programming.rst:1553 +#: ../Doc/faq/programming.rst:1533 msgid "" "Both static data and static methods (in the sense of C++ or Java) are " "supported in Python." @@ -2387,7 +2325,7 @@ msgstr "" "Tanto los datos estáticos como los métodos estáticos (en el sentido de C++ o " "Java) están permitidos en Python." -#: ../Doc/faq/programming.rst:1556 +#: ../Doc/faq/programming.rst:1536 msgid "" "For static data, simply define a class attribute. To assign a new value to " "the attribute, you have to explicitly use the class name in the assignment::" @@ -2396,7 +2334,7 @@ msgstr "" "un nuevo valor al atributo debes usar de forma explícita el nombre de la " "clase en la asignación::" -#: ../Doc/faq/programming.rst:1568 +#: ../Doc/faq/programming.rst:1548 msgid "" "``c.count`` also refers to ``C.count`` for any ``c`` such that " "``isinstance(c, C)`` holds, unless overridden by ``c`` itself or by some " @@ -2407,7 +2345,7 @@ msgstr "" "sobreescrita por si misma o por alguna clase contenida en la búsqueda de " "clases base desde``c.__class__`` hasta ``C``." -#: ../Doc/faq/programming.rst:1572 +#: ../Doc/faq/programming.rst:1552 msgid "" "Caution: within a method of C, an assignment like ``self.count = 42`` " "creates a new and unrelated instance named \"count\" in ``self``'s own " @@ -2421,11 +2359,11 @@ msgstr "" "especificar la clase tanto si se produce desde dentro de un método como si " "no::" -#: ../Doc/faq/programming.rst:1579 +#: ../Doc/faq/programming.rst:1559 msgid "Static methods are possible::" msgstr "Los métodos estáticos son posibles::" -#: ../Doc/faq/programming.rst:1587 +#: ../Doc/faq/programming.rst:1567 msgid "" "However, a far more straightforward way to get the effect of a static method " "is via a simple module-level function::" @@ -2433,7 +2371,7 @@ msgstr "" "Sin embargo, una forma más directa de obtener el efecto de un método " "estático sería mediante una simple función a nivel de módulo::" -#: ../Doc/faq/programming.rst:1593 +#: ../Doc/faq/programming.rst:1573 msgid "" "If your code is structured so as to define one class (or tightly related " "class hierarchy) per module, this supplies the desired encapsulation." @@ -2442,11 +2380,11 @@ msgstr "" "de clases altamente relacionadas) por módulo, esto proporcionará la " "encapsulación deseada." -#: ../Doc/faq/programming.rst:1598 +#: ../Doc/faq/programming.rst:1578 msgid "How can I overload constructors (or methods) in Python?" msgstr "¿Como puedo sobrecargar constructores (o métodos) en Python?" -#: ../Doc/faq/programming.rst:1600 +#: ../Doc/faq/programming.rst:1580 msgid "" "This answer actually applies to all methods, but the question usually comes " "up first in the context of constructors." @@ -2454,11 +2392,11 @@ msgstr "" "Esta respuesta es aplicable, en realidad, a todos los métodos pero la " "pregunta suele surgir primero en el contexto de los constructores." -#: ../Doc/faq/programming.rst:1603 +#: ../Doc/faq/programming.rst:1583 msgid "In C++ you'd write" msgstr "En C++ deberías escribir" -#: ../Doc/faq/programming.rst:1612 +#: ../Doc/faq/programming.rst:1592 msgid "" "In Python you have to write a single constructor that catches all cases " "using default arguments. For example::" @@ -2466,26 +2404,26 @@ msgstr "" "En Python solo debes escribir un único constructor que tenga en cuenta todos " "los casos usando los argumentos por defecto. Por ejemplo::" -#: ../Doc/faq/programming.rst:1622 +#: ../Doc/faq/programming.rst:1602 msgid "This is not entirely equivalent, but close enough in practice." msgstr "" "Esto no es totalmente equivalente pero, en la práctica, es muy similar." -#: ../Doc/faq/programming.rst:1624 +#: ../Doc/faq/programming.rst:1604 msgid "You could also try a variable-length argument list, e.g. ::" msgstr "" "Podrías intentar, también una lista de argumentos de longitud variable, por " "ejemplo ::" -#: ../Doc/faq/programming.rst:1629 +#: ../Doc/faq/programming.rst:1609 msgid "The same approach works for all method definitions." msgstr "El mismo enfoque funciona para todas las definiciones de métodos." -#: ../Doc/faq/programming.rst:1633 +#: ../Doc/faq/programming.rst:1613 msgid "I try to use __spam and I get an error about _SomeClassName__spam." msgstr "Intento usar __spam y obtengo un error sobre _SomeClassName__spam." -#: ../Doc/faq/programming.rst:1635 +#: ../Doc/faq/programming.rst:1615 msgid "" "Variable names with double leading underscores are \"mangled\" to provide a " "simple but effective way to define class private variables. Any identifier " @@ -2501,7 +2439,7 @@ msgstr "" "bajo como sufijo) se reemplaza con ``_classname__spam``, donde ``classname`` " "es el nombre de la clase eliminando cualquier guión bajo prefijado." -#: ../Doc/faq/programming.rst:1641 +#: ../Doc/faq/programming.rst:1621 msgid "" "This doesn't guarantee privacy: an outside user can still deliberately " "access the \"_classname__spam\" attribute, and private values are visible in " @@ -2514,15 +2452,15 @@ msgstr "" "programadores Python no se suelen molestar en usar nombres privados de " "variables." -#: ../Doc/faq/programming.rst:1648 +#: ../Doc/faq/programming.rst:1628 msgid "My class defines __del__ but it is not called when I delete the object." msgstr "Mi clase define __del__ pero no se le invoca cuando borro el objeto." -#: ../Doc/faq/programming.rst:1650 +#: ../Doc/faq/programming.rst:1630 msgid "There are several possible reasons for this." msgstr "Existen varias razones posibles para que suceda así." -#: ../Doc/faq/programming.rst:1652 +#: ../Doc/faq/programming.rst:1632 msgid "" "The del statement does not necessarily call :meth:`__del__` -- it simply " "decrements the object's reference count, and if this reaches zero :meth:" @@ -2532,7 +2470,7 @@ msgstr "" "simplemente reduce el conteo de referencias del objeto y, si se reduce a " "cero entonces es cuando se invoca a :meth:`__del__`." -#: ../Doc/faq/programming.rst:1656 +#: ../Doc/faq/programming.rst:1636 msgid "" "If your data structures contain circular links (e.g. a tree where each child " "has a parent reference and each parent has a list of children) the reference " @@ -2558,7 +2496,7 @@ msgstr "" "collect` para forzar una recolección pero *existen* casos patológicos en los " "cuales los objetos nunca serán recolectados." -#: ../Doc/faq/programming.rst:1667 +#: ../Doc/faq/programming.rst:1647 msgid "" "Despite the cycle collector, it's still a good idea to define an explicit " "``close()`` method on objects to be called whenever you're done with them. " @@ -2575,7 +2513,7 @@ msgstr "" "``close()`` debe asegurarse que puede ser invocado más de una vez en el " "mismo objeto." -#: ../Doc/faq/programming.rst:1674 +#: ../Doc/faq/programming.rst:1654 msgid "" "Another way to avoid cyclical references is to use the :mod:`weakref` " "module, which allows you to point to objects without incrementing their " @@ -2588,7 +2526,7 @@ msgstr "" "referencias débiles para las referencias del padre y hermanos (¡si es que " "las necesitan!)." -#: ../Doc/faq/programming.rst:1687 +#: ../Doc/faq/programming.rst:1667 msgid "" "Finally, if your :meth:`__del__` method raises an exception, a warning " "message is printed to :data:`sys.stderr`." @@ -2596,12 +2534,12 @@ msgstr "" "Finalmente, si tu método :meth:`__del__` lanza una excepción, se manda un " "mensaje de alerta a :data:`sys.stderr`." -#: ../Doc/faq/programming.rst:1692 +#: ../Doc/faq/programming.rst:1672 msgid "How do I get a list of all instances of a given class?" msgstr "" "¿Cómo puedo obtener una lista de todas las instancias de una clase dada?" -#: ../Doc/faq/programming.rst:1694 +#: ../Doc/faq/programming.rst:1674 msgid "" "Python does not keep track of all instances of a class (or of a built-in " "type). You can program the class's constructor to keep track of all " @@ -2612,11 +2550,11 @@ msgstr "" "haga seguimiento de todas sus instancias manteniendo una lista de " "referencias débiles a cada instancia." -#: ../Doc/faq/programming.rst:1700 +#: ../Doc/faq/programming.rst:1680 msgid "Why does the result of ``id()`` appear to be not unique?" msgstr "¿Por qué el resultado de ``id()`` no parece ser único?" -#: ../Doc/faq/programming.rst:1702 +#: ../Doc/faq/programming.rst:1682 msgid "" "The :func:`id` builtin returns an integer that is guaranteed to be unique " "during the lifetime of the object. Since in CPython, this is the object's " @@ -2631,7 +2569,7 @@ msgstr "" "localiza en la misma posición en memoria. Esto se puede ver ilustrado en " "este ejemplo:" -#: ../Doc/faq/programming.rst:1713 +#: ../Doc/faq/programming.rst:1693 msgid "" "The two ids belong to different integer objects that are created before, and " "deleted immediately after execution of the ``id()`` call. To be sure that " @@ -2643,15 +2581,15 @@ msgstr "" "``id()``. Para estar seguro que los objetos cuya id quieres examinar siguen " "vivos crea otra referencia al objeto:" -#: ../Doc/faq/programming.rst:1726 +#: ../Doc/faq/programming.rst:1706 msgid "Modules" msgstr "Módulos" -#: ../Doc/faq/programming.rst:1729 +#: ../Doc/faq/programming.rst:1709 msgid "How do I create a .pyc file?" msgstr "¿Cómo creo un fichero .pyc?" -#: ../Doc/faq/programming.rst:1731 +#: ../Doc/faq/programming.rst:1711 msgid "" "When a module is imported for the first time (or when the source file has " "changed since the current compiled file was created) a ``.pyc`` file " @@ -2670,7 +2608,7 @@ msgstr "" "dependerá del binario ``python`` en particular que lo creó. (Ver :pep:" "`3147` para detalles.)" -#: ../Doc/faq/programming.rst:1739 +#: ../Doc/faq/programming.rst:1719 msgid "" "One reason that a ``.pyc`` file may not be created is a permissions problem " "with the directory containing the source file, meaning that the " @@ -2684,7 +2622,7 @@ msgstr "" "suceder, por ejemplo, si desarrollas como un usuario pero lo ejecutas como " "otro, como si estuvieras probando en un servidor web." -#: ../Doc/faq/programming.rst:1744 +#: ../Doc/faq/programming.rst:1724 msgid "" "Unless the :envvar:`PYTHONDONTWRITEBYTECODE` environment variable is set, " "creation of a .pyc file is automatic if you're importing a module and Python " @@ -2698,7 +2636,7 @@ msgstr "" "(permisos, espacio libre, etc...) para crear un subdirectorio " "``__pycache__`` y escribir un módulo compilado en ese subdirectorio." -#: ../Doc/faq/programming.rst:1749 +#: ../Doc/faq/programming.rst:1729 msgid "" "Running Python on a top level script is not considered an import and no ``." "pyc`` will be created. For example, if you have a top-level module ``foo." @@ -2714,7 +2652,7 @@ msgstr "" "pyc`` para ``xyz`` porque ``xyz`` ha sido importado, pero no se creará un " "fichero ``.pyc`` para ``foo`` ya que ``foo.py`` no ha sido importado." -#: ../Doc/faq/programming.rst:1756 +#: ../Doc/faq/programming.rst:1736 msgid "" "If you need to create a ``.pyc`` file for ``foo`` -- that is, to create a ``." "pyc`` file for a module that is not imported -- you can, using the :mod:" @@ -2724,7 +2662,7 @@ msgstr "" "crear un fichero ``.pyc`` para un módulo que no ha sido importado -- puedes " "usar los módulos :mod:`py_compile` y :mod:`compileall`." -#: ../Doc/faq/programming.rst:1760 +#: ../Doc/faq/programming.rst:1740 msgid "" "The :mod:`py_compile` module can manually compile any module. One way is to " "use the ``compile()`` function in that module interactively::" @@ -2733,7 +2671,7 @@ msgstr "" "Una forma sería usando la función ``compile()`` de ese módulo de forma " "interactiva::" -#: ../Doc/faq/programming.rst:1766 +#: ../Doc/faq/programming.rst:1746 msgid "" "This will write the ``.pyc`` to a ``__pycache__`` subdirectory in the same " "location as ``foo.py`` (or you can override that with the optional parameter " @@ -2743,7 +2681,7 @@ msgstr "" "localización en la que se encuentre ``foo.py`` (o, puedes sobreescribir ese " "comportamiento con el parámetro opcional ``cfile``)." -#: ../Doc/faq/programming.rst:1770 +#: ../Doc/faq/programming.rst:1750 msgid "" "You can also automatically compile all files in a directory or directories " "using the :mod:`compileall` module. You can do it from the shell prompt by " @@ -2755,11 +2693,11 @@ msgstr "" "línea de comandos ejecutando ``compileall.py`` y proporcionando una ruta al " "directorio que contiene los ficheros Python a compilar::" -#: ../Doc/faq/programming.rst:1779 +#: ../Doc/faq/programming.rst:1759 msgid "How do I find the current module name?" msgstr "¿Cómo puedo encontrar el nombre del módulo en uso?" -#: ../Doc/faq/programming.rst:1781 +#: ../Doc/faq/programming.rst:1761 msgid "" "A module can find out its own module name by looking at the predefined " "global variable ``__name__``. If this has the value ``'__main__'``, the " @@ -2774,62 +2712,62 @@ msgstr "" "para la línea de comandos o para probarse a si mismos y solo ejecutan código " "después de comprobar ``__name__``::" -#: ../Doc/faq/programming.rst:1796 +#: ../Doc/faq/programming.rst:1776 msgid "How can I have modules that mutually import each other?" msgstr "¿Cómo podría tener módulos que se importan mutuamente entre ellos?" -#: ../Doc/faq/programming.rst:1798 +#: ../Doc/faq/programming.rst:1778 msgid "Suppose you have the following modules:" msgstr "Supón que tienes los siguientes módulos:" -#: ../Doc/faq/programming.rst:1800 +#: ../Doc/faq/programming.rst:1780 msgid "foo.py::" msgstr "foo.py::" -#: ../Doc/faq/programming.rst:1805 +#: ../Doc/faq/programming.rst:1785 msgid "bar.py::" msgstr "bar.py::" -#: ../Doc/faq/programming.rst:1810 +#: ../Doc/faq/programming.rst:1790 msgid "The problem is that the interpreter will perform the following steps:" msgstr "El problema es que el intérprete realizará los siguientes pasos:" -#: ../Doc/faq/programming.rst:1812 +#: ../Doc/faq/programming.rst:1792 msgid "main imports foo" msgstr "main importa a foo" -#: ../Doc/faq/programming.rst:1813 +#: ../Doc/faq/programming.rst:1793 msgid "Empty globals for foo are created" msgstr "Se crea un *globals* vacío para foo" -#: ../Doc/faq/programming.rst:1814 +#: ../Doc/faq/programming.rst:1794 msgid "foo is compiled and starts executing" msgstr "foo se compila y se comienza a ejecutar" -#: ../Doc/faq/programming.rst:1815 +#: ../Doc/faq/programming.rst:1795 msgid "foo imports bar" msgstr "foo importa a bar" -#: ../Doc/faq/programming.rst:1816 +#: ../Doc/faq/programming.rst:1796 msgid "Empty globals for bar are created" msgstr "Se crea un *globals* vacío para bar" -#: ../Doc/faq/programming.rst:1817 +#: ../Doc/faq/programming.rst:1797 msgid "bar is compiled and starts executing" msgstr "bar se compila y se comienza a ejecutar" -#: ../Doc/faq/programming.rst:1818 +#: ../Doc/faq/programming.rst:1798 msgid "" "bar imports foo (which is a no-op since there already is a module named foo)" msgstr "" "bar importa a foo (lo cual no es una opción ya que ya hay un módulo que se " "llama foo)" -#: ../Doc/faq/programming.rst:1819 +#: ../Doc/faq/programming.rst:1799 msgid "bar.foo_var = foo.foo_var" msgstr "bar.foo_var = foo.foo_var" -#: ../Doc/faq/programming.rst:1821 +#: ../Doc/faq/programming.rst:1801 msgid "" "The last step fails, because Python isn't done with interpreting ``foo`` yet " "and the global symbol dictionary for ``foo`` is still empty." @@ -2838,7 +2776,7 @@ msgstr "" "interpretar a ``foo`` y el diccionario de símbolos global para ``foo`` " "todavía se encuentra vacío." -#: ../Doc/faq/programming.rst:1824 +#: ../Doc/faq/programming.rst:1804 msgid "" "The same thing happens when you use ``import foo``, and then try to access " "``foo.foo_var`` in global code." @@ -2846,11 +2784,11 @@ msgstr "" "Lo mismo ocurre cuando usas ``import foo`` y luego tratas de acceder a ``foo." "foo_var`` en un código global." -#: ../Doc/faq/programming.rst:1827 +#: ../Doc/faq/programming.rst:1807 msgid "There are (at least) three possible workarounds for this problem." msgstr "Existen (al menos) tres posibles soluciones para este problema." -#: ../Doc/faq/programming.rst:1829 +#: ../Doc/faq/programming.rst:1809 msgid "" "Guido van Rossum recommends avoiding all uses of ``from import ..." "``, and placing all code inside functions. Initializations of global " @@ -2864,14 +2802,14 @@ msgstr "" "únicamente constantes o funciones incorporadas . Esto significa que todo se " "referenciará como ``.`` desde un módulo importado." -#: ../Doc/faq/programming.rst:1834 +#: ../Doc/faq/programming.rst:1814 msgid "" "Jim Roskind suggests performing steps in the following order in each module:" msgstr "" "Jim Roskind sugiere realizar los siguientes pasos en el siguiente orden en " "cada módulo:" -#: ../Doc/faq/programming.rst:1836 +#: ../Doc/faq/programming.rst:1816 msgid "" "exports (globals, functions, and classes that don't need imported base " "classes)" @@ -2879,18 +2817,18 @@ msgstr "" "exportar (*globals*, funciones y clases que no necesitan clases bases " "importadas)" -#: ../Doc/faq/programming.rst:1838 +#: ../Doc/faq/programming.rst:1818 msgid "``import`` statements" msgstr "``import`` declaraciones" -#: ../Doc/faq/programming.rst:1839 +#: ../Doc/faq/programming.rst:1819 msgid "" "active code (including globals that are initialized from imported values)." msgstr "" "código activo (incluyendo *globals* que han sido inicializados desde valores " "importados)." -#: ../Doc/faq/programming.rst:1841 +#: ../Doc/faq/programming.rst:1821 msgid "" "van Rossum doesn't like this approach much because the imports appear in a " "strange place, but it does work." @@ -2898,7 +2836,7 @@ msgstr "" "este enfoque no le gusta mucho a van Rossum debido a que los import aparecen " "en lugares extraños, pero funciona." -#: ../Doc/faq/programming.rst:1844 +#: ../Doc/faq/programming.rst:1824 msgid "" "Matthias Urlichs recommends restructuring your code so that the recursive " "import is not necessary in the first place." @@ -2906,15 +2844,15 @@ msgstr "" "Matthias Urlichs recomienda reestructurar tu código de tal forma que un " "import recursivo no sea necesario." -#: ../Doc/faq/programming.rst:1847 +#: ../Doc/faq/programming.rst:1827 msgid "These solutions are not mutually exclusive." msgstr "Estas soluciones no son mutuamente excluyentes." -#: ../Doc/faq/programming.rst:1851 +#: ../Doc/faq/programming.rst:1831 msgid "__import__('x.y.z') returns ; how do I get z?" msgstr "__import__('x.y.z') devuelve ; ¿cómo puedo obtener z?" -#: ../Doc/faq/programming.rst:1853 +#: ../Doc/faq/programming.rst:1833 msgid "" "Consider using the convenience function :func:`~importlib.import_module` " "from :mod:`importlib` instead::" @@ -2922,7 +2860,7 @@ msgstr "" "Considera, en su lugar, usa la función de conveniencia :func:`~importlib." "import_module` de :mod:`importlib`::" -#: ../Doc/faq/programming.rst:1860 +#: ../Doc/faq/programming.rst:1840 msgid "" "When I edit an imported module and reimport it, the changes don't show up. " "Why does this happen?" @@ -2930,7 +2868,7 @@ msgstr "" "Cuando edito un módulo importado y lo reimporto los cambios no tienen " "efecto. ¿Por qué sucede esto?" -#: ../Doc/faq/programming.rst:1862 +#: ../Doc/faq/programming.rst:1842 msgid "" "For reasons of efficiency as well as consistency, Python only reads the " "module file on the first time a module is imported. If it didn't, in a " @@ -2945,7 +2883,7 @@ msgstr "" "básico muchas veces. Para forzar una relectura de un módulo que ha sido " "modificado haz lo siguiente::" -#: ../Doc/faq/programming.rst:1872 +#: ../Doc/faq/programming.rst:1852 #, python-format msgid "" "Warning: this technique is not 100% fool-proof. In particular, modules " @@ -2954,7 +2892,7 @@ msgstr "" "Alerta: esta técnica no es 100% segura. En particular, los módulos que " "contienen declaraciones como ::" -#: ../Doc/faq/programming.rst:1877 +#: ../Doc/faq/programming.rst:1857 msgid "" "will continue to work with the old version of the imported objects. If the " "module contains class definitions, existing class instances will *not* be " @@ -2966,10 +2904,102 @@ msgstr "" "existentes *no* se actualizarán para usar la nueva definición de la clase. " "Esto podría resultar en el comportamiento paradójico siguiente::" -#: ../Doc/faq/programming.rst:1890 +#: ../Doc/faq/programming.rst:1870 msgid "" "The nature of the problem is made clear if you print out the \"identity\" of " "the class objects::" msgstr "" "La naturaleza del problema se hace evidente si muestras la \"identity\" de " "los objetos clase::" + +#~ msgid "" +#~ "`Boa Constructor `_ is an IDE " +#~ "and GUI builder that uses wxWidgets. It offers visual frame creation and " +#~ "manipulation, an object inspector, many views on the source like object " +#~ "browsers, inheritance hierarchies, doc string generated html " +#~ "documentation, an advanced debugger, integrated help, and Zope support." +#~ msgstr "" +#~ "`Boa Constructor `_ es un IDE y " +#~ "creador de GUIs que usa wxWidgets. Ofrece creación y manipulación visual " +#~ "de marcos, un inspector de objetos, muchas vistas sobre la fuente como " +#~ "los navegadores de objetos, jerarquías de herencia, documentación " +#~ "docstring generada como html, un depurador avanzado, ayuda integrada y " +#~ "soporte para Zope." + +#~ msgid "" +#~ "PyChecker is a static analysis tool that finds bugs in Python source code " +#~ "and warns about code complexity and style. You can get PyChecker from " +#~ "http://pychecker.sourceforge.net/." +#~ msgstr "" +#~ "PyChecker es un analizador estático que encuentra errores en código " +#~ "fuente Python y avisa sobre complejidad del código y estilo. Puedes " +#~ "obtener PyChecker desde http://pychecker.sourceforge.net/." + +#~ msgid "" +#~ "`Pylint `_ is another tool that checks if a " +#~ "module satisfies a coding standard, and also makes it possible to write " +#~ "plug-ins to add a custom feature. In addition to the bug checking that " +#~ "PyChecker performs, Pylint offers some additional features such as " +#~ "checking line length, whether variable names are well-formed according to " +#~ "your coding standard, whether declared interfaces are fully implemented, " +#~ "and more. https://docs.pylint.org/ provides a full list of Pylint's " +#~ "features." +#~ msgstr "" +#~ "`Pylint `_ es otra herramienta que comprueba si " +#~ "un módulo satisface un estándar de código y, además, también hace posible " +#~ "escribir *plug-ins* para añadir características personalizadas. Además " +#~ "de la comprobación de errores que realiza PyChecker, Pylint ofrece " +#~ "algunas características adicionales como la comprobación de la longitud " +#~ "de línea, si los nombres de variable han sido creados correctamente de " +#~ "acuerdo a tu estándar de código, si las interfaces declaradas han sido " +#~ "implementadas de forma completa y más. https://docs.pylint.org/ " +#~ "proporciona una lista completa de las características de Pylint." + +#~ msgid "" +#~ "Note: Using :func:`eval` is slow and dangerous. If you don't have " +#~ "absolute control over the contents of the string, someone could pass a " +#~ "string that resulted in an arbitrary function being executed." +#~ msgstr "" +#~ "Nota: Usar :func:`eval` es lento y peligroso. Si no tienes el control " +#~ "absoluto del contenido de la cadena cualquiera podría introducir una " +#~ "cadena que resulte en la ejecución de código arbitrario." + +#~ msgid "With Python 2.3, you can use an extended slice syntax::" +#~ msgstr "Desde Python 2.3 puedes usar la sintaxis extendida de rebanado::" + +#~ msgid "An alternative for the last step is::" +#~ msgstr "Una alternativa para el último paso es::" + +#~ msgid "" +#~ "If you find this more legible, you might prefer to use this instead of " +#~ "the final list comprehension. However, it is almost twice as slow for " +#~ "long lists. Why? First, the ``append()`` operation has to reallocate " +#~ "memory, and while it uses some tricks to avoid doing that each time, it " +#~ "still has to do it occasionally, and that costs quite a bit. Second, the " +#~ "expression \"result.append\" requires an extra attribute lookup, and " +#~ "third, there's a speed reduction from having to make all those function " +#~ "calls." +#~ msgstr "" +#~ "Si encuentras esto más legible, podrías preferir usar esto en lugar de " +#~ "una comprensión de lista final. Sin embargo, es casi el doble de lento " +#~ "para listas largas. ¿Por qué? Primero, la operación ``append()`` " +#~ "necesita reasignar memoria y, aunque usa algunos trucos para evitar " +#~ "hacerlo en todo momento, sigue teniéndolo que hacer ocasionalmente y eso " +#~ "tiene un poco de coste. Segundo, la expresión \"result.append\" requiere " +#~ "una búsqueda adicional de atributos y, tercero, hay una reducción de " +#~ "velocidad de tener que hacer todas esas llamadas a funciones." + +#~ msgid "" +#~ "You could define an alias for the base class, assign the real base class " +#~ "to it before your class definition, and use the alias throughout your " +#~ "class. Then all you have to change is the value assigned to the alias. " +#~ "Incidentally, this trick is also handy if you want to decide dynamically " +#~ "(e.g. depending on availability of resources) which base class to use. " +#~ "Example::" +#~ msgstr "" +#~ "Puedes definir un alias para la clase base, asignar la clase base real al " +#~ "alias antes de la definición de tu clase y usar el alias a lo largo de " +#~ "toda la clase. Entonces, lo único que tienes que cambiar es el valor " +#~ "asignado al alias. Sin pretenderlo, este truco también es útil si desear " +#~ "decidir de forma dinámica (por ejemplo dependiendo de la disponibilidad " +#~ "de recursos) qué clase base usar. Ejemplo::" diff --git a/faq/windows.po b/faq/windows.po index a3e0f36e58..0142b62893 100644 --- a/faq/windows.po +++ b/faq/windows.po @@ -1,23 +1,25 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. # Maintained by the python-doc-es workteam. -# docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ -# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers +# docs-es@python.org / +# https://mail.python.org/mailman3/lists/docs-es.python.org/ +# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get +# the list of volunteers # msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-06 11:59-0400\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-07-22 10:31-0300\n" +"Last-Translator: \n" +"Language: es_AR\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es_AR\n" -"X-Generator: Poedit 2.2.1\n" +"Generated-By: Babel 2.8.0\n" #: ../Doc/faq/windows.rst:9 msgid "Python on Windows FAQ" @@ -228,8 +230,9 @@ msgid "How do I make an executable from a Python script?" msgstr "¿Cómo hacer un ejecutable a partir de un script de Python?" #: ../Doc/faq/windows.rst:143 +#, fuzzy msgid "" -"See `cx_Freeze `_ for a " +"See `cx_Freeze `_ for a " "distutils extension that allows you to create console and GUI executables " "from Python code. `py2exe `_, the most popular " "extension for building Python 2.x-based executables, does not yet support " @@ -512,8 +515,9 @@ msgid "How do I check for a keypress without blocking?" msgstr "¿Cómo verifico una pulsación de tecla sin bloquearla?" #: ../Doc/faq/windows.rst:282 +#, fuzzy msgid "" -"Use the msvcrt module. This is a standard Windows-specific extension " +"Use the :mod:`msvcrt` module. This is a standard Windows-specific extension " "module. It defines a function ``kbhit()`` which checks whether a keyboard " "hit is present, and ``getch()`` which gets one character without echoing it." msgstr "" diff --git a/glossary.po b/glossary.po index dbfe53ea05..310672f29a 100644 --- a/glossary.po +++ b/glossary.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-06 22:27+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-09 18:30-0300\n" "Last-Translator: María Andrea Vignau\n" "Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\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" "Generated-By: Babel 2.8.0\n" -"X-Generator: Poedit 2.0.6\n" #: ../Doc/glossary.rst:5 msgid "Glossary" @@ -462,10 +461,20 @@ msgstr "" "documentación de :ref:`el módulo dis `." #: ../Doc/glossary.rst:191 +msgid "callback" +msgstr "" + +#: ../Doc/glossary.rst:193 +msgid "" +"A subroutine function which is passed as an argument to be executed at some " +"point in the future." +msgstr "" + +#: ../Doc/glossary.rst:195 msgid "class" msgstr "clase" -#: ../Doc/glossary.rst:193 +#: ../Doc/glossary.rst:197 msgid "" "A template for creating user-defined objects. Class definitions normally " "contain method definitions which operate on instances of the class." @@ -474,11 +483,11 @@ msgstr "" "de clase normalmente contienen definiciones de métodos que operan una " "instancia de la clase." -#: ../Doc/glossary.rst:196 +#: ../Doc/glossary.rst:200 msgid "class variable" msgstr "variable de clase" -#: ../Doc/glossary.rst:198 +#: ../Doc/glossary.rst:202 msgid "" "A variable defined in a class and intended to be modified only at class " "level (i.e., not in an instance of the class)." @@ -486,11 +495,11 @@ msgstr "" "Una variable definida en una clase y prevista para ser modificada sólo a " "nivel de clase (es decir, no en una instancia de la clase)." -#: ../Doc/glossary.rst:200 +#: ../Doc/glossary.rst:204 msgid "coercion" msgstr "coerción" -#: ../Doc/glossary.rst:202 +#: ../Doc/glossary.rst:206 msgid "" "The implicit conversion of an instance of one type to another during an " "operation which involves two arguments of the same type. For example, " @@ -510,11 +519,11 @@ msgstr "" "argumentos, incluso de tipos compatibles, deberían ser normalizados al mismo " "tipo por el programador, por ejemplo ``float(3)+4.5`` en lugar de ``3+4.5``." -#: ../Doc/glossary.rst:210 +#: ../Doc/glossary.rst:214 msgid "complex number" msgstr "número complejo" -#: ../Doc/glossary.rst:212 +#: ../Doc/glossary.rst:216 msgid "" "An extension of the familiar real number system in which all numbers are " "expressed as a sum of a real part and an imaginary part. Imaginary numbers " @@ -537,11 +546,11 @@ msgstr "" "use :mod:`cmath`. El uso de números complejos es matemática bastante " "avanzada. Si no le parecen necesarios, puede ignorarlos sin inconvenientes." -#: ../Doc/glossary.rst:222 +#: ../Doc/glossary.rst:226 msgid "context manager" msgstr "administrador de contextos" -#: ../Doc/glossary.rst:224 +#: ../Doc/glossary.rst:228 msgid "" "An object which controls the environment seen in a :keyword:`with` statement " "by defining :meth:`__enter__` and :meth:`__exit__` methods. See :pep:`343`." @@ -549,11 +558,11 @@ msgstr "" "Un objeto que controla el entorno en la sentencia :keyword:`with` definiendo " "los métodos :meth:`__enter__` y :meth:`__exit__`. Vea :pep:`343`." -#: ../Doc/glossary.rst:227 +#: ../Doc/glossary.rst:231 msgid "context variable" msgstr "variable de contexto" -#: ../Doc/glossary.rst:229 +#: ../Doc/glossary.rst:233 msgid "" "A variable which can have different values depending on its context. This is " "similar to Thread-Local Storage in which each execution thread may have a " @@ -570,11 +579,11 @@ msgstr "" "contexto es mantener registro de las variables en tareas concurrentes " "asíncronas. Vea :mod:`contextvars`." -#: ../Doc/glossary.rst:236 +#: ../Doc/glossary.rst:240 msgid "contiguous" msgstr "contiguo" -#: ../Doc/glossary.rst:240 +#: ../Doc/glossary.rst:244 msgid "" "A buffer is considered contiguous exactly if it is either *C-contiguous* or " "*Fortran contiguous*. Zero-dimensional buffers are C and Fortran " @@ -592,11 +601,11 @@ msgstr "" "orden de las direcciones de memoria. Sin embargo, en arreglos Fortran " "contiguos, el primer índice vería más rápidamente." -#: ../Doc/glossary.rst:248 +#: ../Doc/glossary.rst:252 msgid "coroutine" msgstr "corrutina" -#: ../Doc/glossary.rst:250 +#: ../Doc/glossary.rst:254 msgid "" "Coroutines are a more generalized form of subroutines. Subroutines are " "entered at one point and exited at another point. Coroutines can be " @@ -609,11 +618,11 @@ msgstr "" "Pueden ser implementadas con la sentencia :keyword:`async def`. Vea además :" "pep:`492`." -#: ../Doc/glossary.rst:255 +#: ../Doc/glossary.rst:259 msgid "coroutine function" msgstr "función corrutina" -#: ../Doc/glossary.rst:257 +#: ../Doc/glossary.rst:261 msgid "" "A function which returns a :term:`coroutine` object. A coroutine function " "may be defined with the :keyword:`async def` statement, and may contain :" @@ -625,11 +634,11 @@ msgstr "" "las palabras claves :keyword:`await`, :keyword:`async for`, y :keyword:" "`async with`. Las mismas son introducidas en :pep:`492`." -#: ../Doc/glossary.rst:262 +#: ../Doc/glossary.rst:266 msgid "CPython" msgstr "CPython" -#: ../Doc/glossary.rst:264 +#: ../Doc/glossary.rst:268 msgid "" "The canonical implementation of the Python programming language, as " "distributed on `python.org `_. The term \"CPython\" " @@ -641,11 +650,11 @@ msgstr "" "es usado cuando es necesario distinguir esta implementación de otras como " "*Jython* o *IronPython*." -#: ../Doc/glossary.rst:268 +#: ../Doc/glossary.rst:272 msgid "decorator" msgstr "decorador" -#: ../Doc/glossary.rst:270 +#: ../Doc/glossary.rst:274 msgid "" "A function returning another function, usually applied as a function " "transformation using the ``@wrapper`` syntax. Common examples for " @@ -655,7 +664,7 @@ msgstr "" "de transformación empleando la sintaxis ``@envoltorio``. Ejemplos comunes de " "decoradores son :func:`classmethod` y :func:`staticmethod`." -#: ../Doc/glossary.rst:274 +#: ../Doc/glossary.rst:278 msgid "" "The decorator syntax is merely syntactic sugar, the following two function " "definitions are semantically equivalent::" @@ -663,7 +672,7 @@ msgstr "" "La sintaxis del decorador es meramente azúcar sintáctico, las definiciones " "de las siguientes dos funciones son semánticamente equivalentes::" -#: ../Doc/glossary.rst:285 +#: ../Doc/glossary.rst:289 msgid "" "The same concept exists for classes, but is less commonly used there. See " "the documentation for :ref:`function definitions ` and :ref:`class " @@ -673,11 +682,11 @@ msgstr "" "documentación de :ref:`function definitions ` y :ref:`class " "definitions ` para mayor detalle sobre decoradores." -#: ../Doc/glossary.rst:288 +#: ../Doc/glossary.rst:292 msgid "descriptor" msgstr "descriptor" -#: ../Doc/glossary.rst:290 +#: ../Doc/glossary.rst:294 msgid "" "Any object which defines the methods :meth:`__get__`, :meth:`__set__`, or :" "meth:`__delete__`. When a class attribute is a descriptor, its special " @@ -700,18 +709,20 @@ msgstr "" "propiedades, métodos de clase, métodos estáticos, y referencia a súper " "clases." -#: ../Doc/glossary.rst:300 +#: ../Doc/glossary.rst:304 +#, fuzzy msgid "" -"For more information about descriptors' methods, see :ref:`descriptors`." +"For more information about descriptors' methods, see :ref:`descriptors` or " +"the :ref:`Descriptor How To Guide `." msgstr "" "Para mayor información sobre los métodos de los descriptores vea :ref:" "`descriptors`." -#: ../Doc/glossary.rst:301 +#: ../Doc/glossary.rst:306 msgid "dictionary" msgstr "diccionario" -#: ../Doc/glossary.rst:303 +#: ../Doc/glossary.rst:308 msgid "" "An associative array, where arbitrary keys are mapped to values. The keys " "can be any object with :meth:`__hash__` and :meth:`__eq__` methods. Called a " @@ -721,11 +732,24 @@ msgstr "" "Las claves pueden ser cualquier objeto con los métodos :meth:`__hash__` y :" "meth:`__eq__` . Son llamadas hash en Perl." -#: ../Doc/glossary.rst:306 +#: ../Doc/glossary.rst:311 +#, fuzzy +msgid "dictionary comprehension" +msgstr "comprensión de listas" + +#: ../Doc/glossary.rst:313 +msgid "" +"A compact way to process all or part of the elements in an iterable and " +"return a dictionary with the results. ``results = {n: n ** 2 for n in " +"range(10)}`` generates a dictionary containing key ``n`` mapped to value ``n " +"** 2``. See :ref:`comprehensions`." +msgstr "" + +#: ../Doc/glossary.rst:317 msgid "dictionary view" msgstr "vista de diccionario" -#: ../Doc/glossary.rst:308 +#: ../Doc/glossary.rst:319 msgid "" "The objects returned from :meth:`dict.keys`, :meth:`dict.values`, and :meth:" "`dict.items` are called dictionary views. They provide a dynamic view on the " @@ -740,11 +764,11 @@ msgstr "" "la vista de diccionario a convertirse en una lista completa, use " "``list(dictview)``. Vea :ref:`dict-views`." -#: ../Doc/glossary.rst:314 +#: ../Doc/glossary.rst:325 msgid "docstring" msgstr "docstring" -#: ../Doc/glossary.rst:316 +#: ../Doc/glossary.rst:327 msgid "" "A string literal which appears as the first expression in a class, function " "or module. While ignored when the suite is executed, it is recognized by " @@ -758,11 +782,11 @@ msgstr "" "clase, función o módulo comprendida. Como está disponible mediante " "introspección, es el lugar canónico para ubicar la documentación del objeto." -#: ../Doc/glossary.rst:322 +#: ../Doc/glossary.rst:333 msgid "duck-typing" msgstr "tipado de pato" -#: ../Doc/glossary.rst:324 +#: ../Doc/glossary.rst:335 msgid "" "A programming style which does not look at an object's type to determine if " "it has the right interface; instead, the method or attribute is simply " @@ -785,11 +809,11 @@ msgstr "" "classes `. En su lugar, generalmente pregunta con :func:" "`hasattr` o :term:`EAFP`." -#: ../Doc/glossary.rst:333 +#: ../Doc/glossary.rst:344 msgid "EAFP" msgstr "EAFP" -#: ../Doc/glossary.rst:335 +#: ../Doc/glossary.rst:346 msgid "" "Easier to ask for forgiveness than permission. This common Python coding " "style assumes the existence of valid keys or attributes and catches " @@ -806,11 +830,11 @@ msgstr "" "Esta técnica contrasta con estilo :term:`LBYL` usual en otros lenguajes como " "C." -#: ../Doc/glossary.rst:341 +#: ../Doc/glossary.rst:352 msgid "expression" msgstr "expresión" -#: ../Doc/glossary.rst:343 +#: ../Doc/glossary.rst:354 msgid "" "A piece of syntax which can be evaluated to some value. In other words, an " "expression is an accumulation of expression elements like literals, names, " @@ -828,11 +852,11 @@ msgstr "" "`statement`\\s que no pueden ser usadas como expresiones, como la :keyword:" "`while`. Las asignaciones también son sentencias, no expresiones." -#: ../Doc/glossary.rst:350 +#: ../Doc/glossary.rst:361 msgid "extension module" msgstr "módulo de extensión" -#: ../Doc/glossary.rst:352 +#: ../Doc/glossary.rst:363 msgid "" "A module written in C or C++, using Python's C API to interact with the core " "and with user code." @@ -840,11 +864,11 @@ msgstr "" "Un módulo escrito en C o C++, usando la API para C de Python para " "interactuar con el núcleo y el código del usuario." -#: ../Doc/glossary.rst:354 +#: ../Doc/glossary.rst:365 msgid "f-string" msgstr "f-string" -#: ../Doc/glossary.rst:356 +#: ../Doc/glossary.rst:367 msgid "" "String literals prefixed with ``'f'`` or ``'F'`` are commonly called \"f-" "strings\" which is short for :ref:`formatted string literals `. " @@ -854,11 +878,11 @@ msgstr "" "``'F'``, que es una abreviatura para :ref:`formatted string literals `. Vea también :pep:`498`." -#: ../Doc/glossary.rst:359 +#: ../Doc/glossary.rst:370 msgid "file object" msgstr "objeto archivo" -#: ../Doc/glossary.rst:361 +#: ../Doc/glossary.rst:372 msgid "" "An object exposing a file-oriented API (with methods such as :meth:`read()` " "or :meth:`write()`) to an underlying resource. Depending on the way it was " @@ -875,7 +899,7 @@ msgstr "" "sockets, pipes, etc.). Los objetos archivo son también denominados :dfn:" "`objetos tipo archivo` o :dfn:`flujos`." -#: ../Doc/glossary.rst:369 +#: ../Doc/glossary.rst:380 msgid "" "There are actually three categories of file objects: raw :term:`binary files " "`, buffered :term:`binary files ` and :term:`text " @@ -889,19 +913,19 @@ msgstr "" "módulo :mod:`io`. La forma canónica de crear objetos archivo es usando la " "función :func:`open`." -#: ../Doc/glossary.rst:374 +#: ../Doc/glossary.rst:385 msgid "file-like object" msgstr "objetos tipo archivo" -#: ../Doc/glossary.rst:376 +#: ../Doc/glossary.rst:387 msgid "A synonym for :term:`file object`." msgstr "Un sinónimo de :term:`file object`." -#: ../Doc/glossary.rst:377 +#: ../Doc/glossary.rst:388 msgid "finder" msgstr "buscador" -#: ../Doc/glossary.rst:379 +#: ../Doc/glossary.rst:390 msgid "" "An object that tries to find the :term:`loader` for a module that is being " "imported." @@ -909,7 +933,7 @@ msgstr "" "Un objeto que trata de encontrar el :term:`loader` para el módulo que está " "siendo importado." -#: ../Doc/glossary.rst:382 +#: ../Doc/glossary.rst:393 msgid "" "Since Python 3.3, there are two types of finder: :term:`meta path finders " "` for use with :data:`sys.meta_path`, and :term:`path " @@ -920,15 +944,15 @@ msgstr "" "y :term:`buscadores de entradas de rutas ` para usar " "con :data:`sys.path_hooks`." -#: ../Doc/glossary.rst:386 +#: ../Doc/glossary.rst:397 msgid "See :pep:`302`, :pep:`420` and :pep:`451` for much more detail." msgstr "Vea :pep:`302`, :pep:`420` y :pep:`451` para mayores detalles." -#: ../Doc/glossary.rst:387 +#: ../Doc/glossary.rst:398 msgid "floor division" msgstr "división entera" -#: ../Doc/glossary.rst:389 +#: ../Doc/glossary.rst:400 msgid "" "Mathematical division that rounds down to nearest integer. The floor " "division operator is ``//``. For example, the expression ``11 // 4`` " @@ -942,11 +966,11 @@ msgstr "" "verdadera división de números flotantes. Note que ``(-11) // 4`` es ``-3`` " "porque es ``-2.75`` redondeado *para abajo*. Ver :pep:`238`." -#: ../Doc/glossary.rst:394 +#: ../Doc/glossary.rst:405 msgid "function" msgstr "función" -#: ../Doc/glossary.rst:396 +#: ../Doc/glossary.rst:407 msgid "" "A series of statements which returns some value to a caller. It can also be " "passed zero or more :term:`arguments ` which may be used in the " @@ -958,16 +982,16 @@ msgstr "" "ser usados en la ejecución de la misma. Vea también :term:`parameter`, :term:" "`method`, y la sección :ref:`function`." -#: ../Doc/glossary.rst:400 +#: ../Doc/glossary.rst:411 msgid "function annotation" msgstr "anotación de función" -#: ../Doc/glossary.rst:402 +#: ../Doc/glossary.rst:413 msgid "An :term:`annotation` of a function parameter or return value." msgstr "" "Una :term:`annotation` del parámetro de una función o un valor de retorno." -#: ../Doc/glossary.rst:404 +#: ../Doc/glossary.rst:415 msgid "" "Function annotations are usually used for :term:`type hints `: " "for example, this function is expected to take two :class:`int` arguments " @@ -978,13 +1002,13 @@ msgstr "" "tome dos argumentos de clase :class:`int` y también se espera que retorne " "dos valores :class:`int`::" -#: ../Doc/glossary.rst:412 +#: ../Doc/glossary.rst:423 msgid "Function annotation syntax is explained in section :ref:`function`." msgstr "" "La sintaxis de las anotaciones de funciones son explicadas en la sección :" "ref:`function`." -#: ../Doc/glossary.rst:414 +#: ../Doc/glossary.rst:425 msgid "" "See :term:`variable annotation` and :pep:`484`, which describe this " "functionality." @@ -992,11 +1016,11 @@ msgstr "" "Vea :term:`variable annotation` y :pep:`484`, que describen esta " "funcionalidad." -#: ../Doc/glossary.rst:416 +#: ../Doc/glossary.rst:427 msgid "__future__" msgstr "__future__" -#: ../Doc/glossary.rst:418 +#: ../Doc/glossary.rst:429 msgid "" "A pseudo-module which programmers can use to enable new language features " "which are not compatible with the current interpreter." @@ -1004,7 +1028,7 @@ msgstr "" "Un pseudo-módulo que los programadores pueden usar para habilitar nuevas " "capacidades del lenguaje que no son compatibles con el intérprete actual." -#: ../Doc/glossary.rst:421 +#: ../Doc/glossary.rst:432 msgid "" "By importing the :mod:`__future__` module and evaluating its variables, you " "can see when a new feature was first added to the language and when it " @@ -1014,11 +1038,11 @@ msgstr "" "cuándo las nuevas capacidades fueron agregadas por primera vez al lenguaje y " "cuando se quedaron establecidas por defecto::" -#: ../Doc/glossary.rst:428 +#: ../Doc/glossary.rst:439 msgid "garbage collection" msgstr "recolección de basura" -#: ../Doc/glossary.rst:430 +#: ../Doc/glossary.rst:441 msgid "" "The process of freeing memory when it is not used anymore. Python performs " "garbage collection via reference counting and a cyclic garbage collector " @@ -1031,11 +1055,11 @@ msgstr "" "romper las referencias cíclicas. El recogedor de basura puede ser " "controlado mediante el módulo :mod:`gc` ." -#: ../Doc/glossary.rst:436 +#: ../Doc/glossary.rst:447 msgid "generator" msgstr "generador" -#: ../Doc/glossary.rst:438 +#: ../Doc/glossary.rst:449 msgid "" "A function which returns a :term:`generator iterator`. It looks like a " "normal function except that it contains :keyword:`yield` expressions for " @@ -1047,7 +1071,7 @@ msgstr "" "producir series de valores utilizables en un bucle *for* o que pueden ser " "obtenidas una por una con la función :func:`next`." -#: ../Doc/glossary.rst:443 +#: ../Doc/glossary.rst:454 msgid "" "Usually refers to a generator function, but may refer to a *generator " "iterator* in some contexts. In cases where the intended meaning isn't " @@ -1057,15 +1081,15 @@ msgstr "" "*iterador generador* en ciertos contextos. En aquellos casos en los que el " "significado no está claro, usar los términos completos evita la ambigüedad." -#: ../Doc/glossary.rst:446 +#: ../Doc/glossary.rst:457 msgid "generator iterator" msgstr "iterador generador" -#: ../Doc/glossary.rst:448 +#: ../Doc/glossary.rst:459 msgid "An object created by a :term:`generator` function." msgstr "Un objeto creado por una función :term:`generator`." -#: ../Doc/glossary.rst:450 +#: ../Doc/glossary.rst:461 msgid "" "Each :keyword:`yield` temporarily suspends processing, remembering the " "location execution state (including local variables and pending try-" @@ -1078,11 +1102,11 @@ msgstr "" "dejado, a diferencia de lo que ocurre con las funciones que comienzan " "nuevamente con cada invocación." -#: ../Doc/glossary.rst:457 +#: ../Doc/glossary.rst:468 msgid "generator expression" msgstr "expresión generadora" -#: ../Doc/glossary.rst:459 +#: ../Doc/glossary.rst:470 msgid "" "An expression that returns an iterator. It looks like a normal expression " "followed by a :keyword:`!for` clause defining a loop variable, range, and an " @@ -1094,11 +1118,11 @@ msgstr "" "bucle, un rango y una cláusula opcional :keyword:`!if`. La expresión " "combinada genera valores para la función contenedora::" -#: ../Doc/glossary.rst:466 +#: ../Doc/glossary.rst:477 msgid "generic function" msgstr "función genérica" -#: ../Doc/glossary.rst:468 +#: ../Doc/glossary.rst:479 msgid "" "A function composed of multiple functions implementing the same operation " "for different types. Which implementation should be used during a call is " @@ -1108,7 +1132,7 @@ msgstr "" "para diferentes tipos. Qué implementación deberá ser usada durante la " "llamada a la misma es determinado por el algoritmo de despacho." -#: ../Doc/glossary.rst:472 +#: ../Doc/glossary.rst:483 msgid "" "See also the :term:`single dispatch` glossary entry, the :func:`functools." "singledispatch` decorator, and :pep:`443`." @@ -1116,19 +1140,37 @@ msgstr "" "Vea también la entrada de glosario :term:`single dispatch`, el decorador :" "func:`functools.singledispatch`, y :pep:`443`." -#: ../Doc/glossary.rst:475 +#: ../Doc/glossary.rst:485 +#, fuzzy +msgid "generic type" +msgstr "función genérica" + +#: ../Doc/glossary.rst:487 +msgid "" +"A :term:`type` that can be parameterized; typically a container like :class:" +"`list`. Used for :term:`type hints ` and :term:`annotations " +"`." +msgstr "" + +#: ../Doc/glossary.rst:491 +msgid "" +"See :pep:`483` for more details, and :mod:`typing` or :ref:`generic alias " +"type ` for its uses." +msgstr "" + +#: ../Doc/glossary.rst:493 msgid "GIL" msgstr "GIL" -#: ../Doc/glossary.rst:477 +#: ../Doc/glossary.rst:495 msgid "See :term:`global interpreter lock`." msgstr "Vea :term:`global interpreter lock`." -#: ../Doc/glossary.rst:478 +#: ../Doc/glossary.rst:496 msgid "global interpreter lock" msgstr "bloqueo global del intérprete" -#: ../Doc/glossary.rst:480 +#: ../Doc/glossary.rst:498 msgid "" "The mechanism used by the :term:`CPython` interpreter to assure that only " "one thread executes Python :term:`bytecode` at a time. This simplifies the " @@ -1146,7 +1188,7 @@ msgstr "" "hilos, a costa de mucho del paralelismo ofrecido por las máquinas con " "múltiples procesadores." -#: ../Doc/glossary.rst:489 +#: ../Doc/glossary.rst:507 msgid "" "However, some extension modules, either standard or third-party, are " "designed so as to release the GIL when doing computationally-intensive tasks " @@ -1158,7 +1200,7 @@ msgstr "" "computacionalmente intensivas como la compresión o el *hashing*. Además, el " "GIL siempre es liberado cuando se hace entrada/salida." -#: ../Doc/glossary.rst:494 +#: ../Doc/glossary.rst:512 msgid "" "Past efforts to create a \"free-threaded\" interpreter (one which locks " "shared data at a much finer granularity) have not been successful because " @@ -1172,11 +1214,11 @@ msgstr "" "un solo procesador. Se cree que superar este problema de rendimiento haría " "la implementación mucho más compleja y por tanto, más costosa de mantener." -#: ../Doc/glossary.rst:500 +#: ../Doc/glossary.rst:518 msgid "hash-based pyc" msgstr "hash-based pyc" -#: ../Doc/glossary.rst:502 +#: ../Doc/glossary.rst:520 msgid "" "A bytecode cache file that uses the hash rather than the last-modified time " "of the corresponding source file to determine its validity. See :ref:`pyc-" @@ -1186,11 +1228,11 @@ msgstr "" "la última modificación del archivo fuente correspondiente para determinar su " "validez. Vea :ref:`pyc-invalidation`." -#: ../Doc/glossary.rst:505 +#: ../Doc/glossary.rst:523 msgid "hashable" msgstr "hashable" -#: ../Doc/glossary.rst:507 +#: ../Doc/glossary.rst:525 msgid "" "An object is *hashable* if it has a hash value which never changes during " "its lifetime (it needs a :meth:`__hash__` method), and can be compared to " @@ -1202,7 +1244,7 @@ msgstr "" "comparado con otro objeto (necesita el método :meth:`__eq__` ). Los objetos " "hashables que se comparan iguales deben tener el mismo número hash." -#: ../Doc/glossary.rst:512 +#: ../Doc/glossary.rst:530 msgid "" "Hashability makes an object usable as a dictionary key and a set member, " "because these data structures use the hash value internally." @@ -1211,7 +1253,7 @@ msgstr "" "miembro de un set, porque éstas estructuras de datos usan los valores de " "hash internamente." -#: ../Doc/glossary.rst:515 +#: ../Doc/glossary.rst:533 msgid "" "Most of Python's immutable built-in objects are hashable; mutable containers " "(such as lists or dictionaries) are not; immutable containers (such as " @@ -1228,11 +1270,11 @@ msgstr "" "Todos se comparan como desiguales (excepto consigo mismos), y su valor de " "hash está derivado de su función :func:`id`." -#: ../Doc/glossary.rst:522 +#: ../Doc/glossary.rst:540 msgid "IDLE" msgstr "IDLE" -#: ../Doc/glossary.rst:524 +#: ../Doc/glossary.rst:542 msgid "" "An Integrated Development Environment for Python. IDLE is a basic editor " "and interpreter environment which ships with the standard distribution of " @@ -1242,11 +1284,11 @@ msgstr "" "Environment for Python*. IDLE es un editor básico y un entorno de " "intérprete que se incluye con la distribución estándar de Python." -#: ../Doc/glossary.rst:527 +#: ../Doc/glossary.rst:545 msgid "immutable" msgstr "inmutable" -#: ../Doc/glossary.rst:529 +#: ../Doc/glossary.rst:547 msgid "" "An object with a fixed value. Immutable objects include numbers, strings " "and tuples. Such an object cannot be altered. A new object has to be " @@ -1260,11 +1302,11 @@ msgstr "" "en lugares donde es necesario un valor de hash constante, por ejemplo como " "claves de un diccionario." -#: ../Doc/glossary.rst:534 +#: ../Doc/glossary.rst:552 msgid "import path" msgstr "ruta de importación" -#: ../Doc/glossary.rst:536 +#: ../Doc/glossary.rst:554 msgid "" "A list of locations (or :term:`path entries `) that are searched " "by the :term:`path based finder` for modules to import. During import, this " @@ -1277,11 +1319,11 @@ msgstr "" "path`, pero para los subpaquetes también puede incluir al atributo " "``__path__`` del paquete padre." -#: ../Doc/glossary.rst:541 +#: ../Doc/glossary.rst:559 msgid "importing" msgstr "importar" -#: ../Doc/glossary.rst:543 +#: ../Doc/glossary.rst:561 msgid "" "The process by which Python code in one module is made available to Python " "code in another module." @@ -1289,11 +1331,11 @@ msgstr "" "El proceso mediante el cual el código Python dentro de un módulo se hace " "alcanzable desde otro código Python en otro módulo." -#: ../Doc/glossary.rst:545 +#: ../Doc/glossary.rst:563 msgid "importer" msgstr "importador" -#: ../Doc/glossary.rst:547 +#: ../Doc/glossary.rst:565 msgid "" "An object that both finds and loads a module; both a :term:`finder` and :" "term:`loader` object." @@ -1301,11 +1343,11 @@ msgstr "" "Un objeto que buscan y lee un módulo; un objeto que es tanto :term:`finder` " "como :term:`loader`." -#: ../Doc/glossary.rst:549 +#: ../Doc/glossary.rst:567 msgid "interactive" msgstr "interactivo" -#: ../Doc/glossary.rst:551 +#: ../Doc/glossary.rst:569 msgid "" "Python has an interactive interpreter which means you can enter statements " "and expressions at the interpreter prompt, immediately execute them and see " @@ -1320,11 +1362,11 @@ msgstr "" "forma muy potente de probar nuevas ideas o inspeccionar módulos y paquetes " "(recuerde ``help(x)``)." -#: ../Doc/glossary.rst:557 +#: ../Doc/glossary.rst:575 msgid "interpreted" msgstr "interpretado" -#: ../Doc/glossary.rst:559 +#: ../Doc/glossary.rst:577 msgid "" "Python is an interpreted language, as opposed to a compiled one, though the " "distinction can be blurry because of the presence of the bytecode compiler. " @@ -1341,11 +1383,11 @@ msgstr "" "cortos que los compilados, sin embargo sus programas suelen correr más " "lentamente. Vea también :term:`interactive`." -#: ../Doc/glossary.rst:566 +#: ../Doc/glossary.rst:584 msgid "interpreter shutdown" msgstr "apagado del intérprete" -#: ../Doc/glossary.rst:568 +#: ../Doc/glossary.rst:586 msgid "" "When asked to shut down, the Python interpreter enters a special phase where " "it gradually releases all allocated resources, such as modules and various " @@ -1366,7 +1408,7 @@ msgstr "" "no funcionar más (ejemplos comunes son los módulos de bibliotecas o los " "artefactos de advertencias *warnings machinery*)" -#: ../Doc/glossary.rst:577 +#: ../Doc/glossary.rst:595 msgid "" "The main reason for interpreter shutdown is that the ``__main__`` module or " "the script being run has finished executing." @@ -1374,18 +1416,19 @@ msgstr "" "La principal razón para el apagado del intérpreter es que el módulo " "``__main__`` o el script que estaba corriendo termine su ejecución." -#: ../Doc/glossary.rst:579 +#: ../Doc/glossary.rst:597 msgid "iterable" msgstr "iterable" -#: ../Doc/glossary.rst:581 +#: ../Doc/glossary.rst:599 +#, fuzzy msgid "" "An object capable of returning its members one at a time. Examples of " "iterables include all sequence types (such as :class:`list`, :class:`str`, " "and :class:`tuple`) and some non-sequence types like :class:`dict`, :term:" "`file objects `, and objects of any classes you define with an :" "meth:`__iter__` method or with a :meth:`__getitem__` method that implements :" -"term:`Sequence` semantics." +"term:`Sequence ` semantics." msgstr "" "Un objeto capaz de retornar sus miembros uno por vez. Ejemplos de iterables " "son todos los tipos de secuencias (como :class:`list`, :class:`str`, y :" @@ -1394,7 +1437,7 @@ msgstr "" "los métodos :meth:`__iter__` o con un método :meth:`__getitem__` que " "implementen la semántica de :term:`Sequence`." -#: ../Doc/glossary.rst:588 +#: ../Doc/glossary.rst:606 msgid "" "Iterables can be used in a :keyword:`for` loop and in many other places " "where a sequence is needed (:func:`zip`, :func:`map`, ...). When an " @@ -1416,11 +1459,11 @@ msgstr "" "variable temporal sin nombre para mantener el iterador mientras dura el " "bucle. Vea también :term:`iterator`, :term:`sequence`, y :term:`generator`." -#: ../Doc/glossary.rst:598 +#: ../Doc/glossary.rst:616 msgid "iterator" msgstr "iterador" -#: ../Doc/glossary.rst:600 +#: ../Doc/glossary.rst:618 msgid "" "An object representing a stream of data. Repeated calls to the iterator's :" "meth:`~iterator.__next__` method (or passing it to the built-in function :" @@ -1453,15 +1496,15 @@ msgstr "" "iterador exhausto usado en previas iteraciones, haciéndolo aparecer como un " "contenedor vacío." -#: ../Doc/glossary.rst:615 +#: ../Doc/glossary.rst:633 msgid "More information can be found in :ref:`typeiter`." msgstr "Puede encontrar más información en :ref:`typeiter`." -#: ../Doc/glossary.rst:616 +#: ../Doc/glossary.rst:634 msgid "key function" msgstr "función clave" -#: ../Doc/glossary.rst:618 +#: ../Doc/glossary.rst:636 msgid "" "A key function or collation function is a callable that returns a value used " "for sorting or ordering. For example, :func:`locale.strxfrm` is used to " @@ -1472,7 +1515,7 @@ msgstr "" "`locale.strxfrm` es usada para producir claves de ordenamiento que se " "adaptan a las convenciones específicas de ordenamiento de un *locale*." -#: ../Doc/glossary.rst:623 +#: ../Doc/glossary.rst:641 msgid "" "A number of tools in Python accept key functions to control how elements are " "ordered or grouped. They include :func:`min`, :func:`max`, :func:`sorted`, :" @@ -1484,7 +1527,7 @@ msgstr "" "`min`, :func:`max`, :func:`sorted`, :meth:`list.sort`, :func:`heapq.merge`, :" "func:`heapq.nsmallest`, :func:`heapq.nlargest`, y :func:`itertools.groupby`." -#: ../Doc/glossary.rst:629 +#: ../Doc/glossary.rst:647 msgid "" "There are several ways to create a key function. For example. the :meth:" "`str.lower` method can serve as a key function for case insensitive sorts. " @@ -1505,19 +1548,19 @@ msgstr "" "`Sorting HOW TO ` ejemplos de cómo crear y usar funciones " "clave." -#: ../Doc/glossary.rst:637 +#: ../Doc/glossary.rst:655 msgid "keyword argument" msgstr "argumento nombrado" -#: ../Doc/glossary.rst:639 ../Doc/glossary.rst:916 +#: ../Doc/glossary.rst:657 ../Doc/glossary.rst:934 msgid "See :term:`argument`." msgstr "Vea :term:`argument`." -#: ../Doc/glossary.rst:640 +#: ../Doc/glossary.rst:658 msgid "lambda" msgstr "lambda" -#: ../Doc/glossary.rst:642 +#: ../Doc/glossary.rst:660 msgid "" "An anonymous inline function consisting of a single :term:`expression` which " "is evaluated when the function is called. The syntax to create a lambda " @@ -1527,11 +1570,11 @@ msgstr "" "que es evaluada cuando la función es llamada. La sintaxis para crear una " "función lambda es ``lambda [parameters]: expression``" -#: ../Doc/glossary.rst:645 +#: ../Doc/glossary.rst:663 msgid "LBYL" msgstr "LBYL" -#: ../Doc/glossary.rst:647 +#: ../Doc/glossary.rst:665 msgid "" "Look before you leap. This coding style explicitly tests for pre-conditions " "before making calls or lookups. This style contrasts with the :term:`EAFP` " @@ -1544,7 +1587,7 @@ msgstr "" "`EAFP` y está caracterizado por la presencia de muchas sentencias :keyword:" "`if`." -#: ../Doc/glossary.rst:652 +#: ../Doc/glossary.rst:670 msgid "" "In a multi-threaded environment, the LBYL approach can risk introducing a " "race condition between \"the looking\" and \"the leaping\". For example, " @@ -1559,11 +1602,11 @@ msgstr "" "del test, pero antes de retornar el valor. Este problema puede ser resuelto " "usando bloqueos o empleando el método EAFP." -#: ../Doc/glossary.rst:657 +#: ../Doc/glossary.rst:675 msgid "list" msgstr "lista" -#: ../Doc/glossary.rst:659 +#: ../Doc/glossary.rst:677 msgid "" "A built-in Python :term:`sequence`. Despite its name it is more akin to an " "array in other languages than to a linked list since access to elements is " @@ -1573,11 +1616,11 @@ msgstr "" "similar a un arreglo en otros lenguajes que a una lista enlazada porque el " "acceso a los elementos es O(1)." -#: ../Doc/glossary.rst:662 +#: ../Doc/glossary.rst:680 msgid "list comprehension" msgstr "comprensión de listas" -#: ../Doc/glossary.rst:664 +#: ../Doc/glossary.rst:682 msgid "" "A compact way to process all or part of the elements in a sequence and " "return a list with the results. ``result = ['{:#04x}'.format(x) for x in " @@ -1592,11 +1635,11 @@ msgstr "" "`if` es opcional. Si es omitida, todos los elementos en ``range(256)`` son " "procesados." -#: ../Doc/glossary.rst:670 +#: ../Doc/glossary.rst:688 msgid "loader" msgstr "cargador" -#: ../Doc/glossary.rst:672 +#: ../Doc/glossary.rst:690 msgid "" "An object that loads a module. It must define a method named :meth:" "`load_module`. A loader is typically returned by a :term:`finder`. See :pep:" @@ -1608,19 +1651,19 @@ msgstr "" "`finder`. Vea :pep:`302` para detalles y :class:`importlib.abc.Loader` para " "una :term:`abstract base class`." -#: ../Doc/glossary.rst:676 +#: ../Doc/glossary.rst:694 msgid "magic method" msgstr "método mágico" -#: ../Doc/glossary.rst:680 +#: ../Doc/glossary.rst:698 msgid "An informal synonym for :term:`special method`." msgstr "Una manera informal de llamar a un :term:`special method`." -#: ../Doc/glossary.rst:681 +#: ../Doc/glossary.rst:699 msgid "mapping" msgstr "mapeado" -#: ../Doc/glossary.rst:683 +#: ../Doc/glossary.rst:701 msgid "" "A container object that supports arbitrary key lookups and implements the " "methods specified in the :class:`~collections.abc.Mapping` or :class:" @@ -1636,11 +1679,11 @@ msgstr "" "`collections.defaultdict`, :class:`collections.OrderedDict` y :class:" "`collections.Counter`." -#: ../Doc/glossary.rst:689 +#: ../Doc/glossary.rst:707 msgid "meta path finder" msgstr "meta buscadores de ruta" -#: ../Doc/glossary.rst:691 +#: ../Doc/glossary.rst:709 msgid "" "A :term:`finder` returned by a search of :data:`sys.meta_path`. Meta path " "finders are related to, but different from :term:`path entry finders `, pero son algo diferente." -#: ../Doc/glossary.rst:695 +#: ../Doc/glossary.rst:713 msgid "" "See :class:`importlib.abc.MetaPathFinder` for the methods that meta path " "finders implement." @@ -1658,11 +1701,11 @@ msgstr "" "Vea en :class:`importlib.abc.MetaPathFinder` los métodos que los meta " "buscadores de ruta implementan." -#: ../Doc/glossary.rst:697 +#: ../Doc/glossary.rst:715 msgid "metaclass" msgstr "metaclase" -#: ../Doc/glossary.rst:699 +#: ../Doc/glossary.rst:717 msgid "" "The class of a class. Class definitions create a class name, a class " "dictionary, and a list of base classes. The metaclass is responsible for " @@ -1685,15 +1728,15 @@ msgstr "" "*loggear* acceso de atributos, agregar seguridad a hilos, rastrear la " "creación de objetos, implementar *singletons*, y muchas otras tareas." -#: ../Doc/glossary.rst:709 +#: ../Doc/glossary.rst:727 msgid "More information can be found in :ref:`metaclasses`." msgstr "Más información hallará en :ref:`metaclasses`." -#: ../Doc/glossary.rst:710 +#: ../Doc/glossary.rst:728 msgid "method" msgstr "método" -#: ../Doc/glossary.rst:712 +#: ../Doc/glossary.rst:730 msgid "" "A function which is defined inside a class body. If called as an attribute " "of an instance of that class, the method will get the instance object as its " @@ -1705,11 +1748,11 @@ msgstr "" "instanciado como su primer :term:`argument` (el cual es usualmente " "denominado `self`). Vea :term:`function` y :term:`nested scope`." -#: ../Doc/glossary.rst:716 +#: ../Doc/glossary.rst:734 msgid "method resolution order" msgstr "orden de resolución de métodos" -#: ../Doc/glossary.rst:718 +#: ../Doc/glossary.rst:736 msgid "" "Method Resolution Order is the order in which base classes are searched for " "a member during lookup. See `The Python 2.3 Method Resolution Order `_ los " "detalles del algoritmo usado por el intérprete Python desde la versión 2.3." -#: ../Doc/glossary.rst:722 +#: ../Doc/glossary.rst:740 msgid "module" msgstr "módulo" -#: ../Doc/glossary.rst:724 +#: ../Doc/glossary.rst:742 msgid "" "An object that serves as an organizational unit of Python code. Modules " "have a namespace containing arbitrary Python objects. Modules are loaded " @@ -1735,15 +1778,15 @@ msgstr "" "módulos tienen espacios de nombres conteniendo objetos Python arbitrarios. " "Los módulos son cargados en Python por el proceso de :term:`importing`." -#: ../Doc/glossary.rst:728 +#: ../Doc/glossary.rst:746 msgid "See also :term:`package`." msgstr "Vea también :term:`package`." -#: ../Doc/glossary.rst:729 +#: ../Doc/glossary.rst:747 msgid "module spec" msgstr "especificador de módulo" -#: ../Doc/glossary.rst:731 +#: ../Doc/glossary.rst:749 msgid "" "A namespace containing the import-related information used to load a module. " "An instance of :class:`importlib.machinery.ModuleSpec`." @@ -1752,19 +1795,19 @@ msgstr "" "importación usada al leer un módulo. Una instancia de :class:`importlib." "machinery.ModuleSpec`." -#: ../Doc/glossary.rst:733 +#: ../Doc/glossary.rst:751 msgid "MRO" msgstr "MRO" -#: ../Doc/glossary.rst:735 +#: ../Doc/glossary.rst:753 msgid "See :term:`method resolution order`." msgstr "Vea :term:`method resolution order`." -#: ../Doc/glossary.rst:736 +#: ../Doc/glossary.rst:754 msgid "mutable" msgstr "mutable" -#: ../Doc/glossary.rst:738 +#: ../Doc/glossary.rst:756 msgid "" "Mutable objects can change their value but keep their :func:`id`. See also :" "term:`immutable`." @@ -1772,11 +1815,11 @@ msgstr "" "Los objetos mutables pueden cambiar su valor pero mantener su :func:`id`. " "Vea también :term:`immutable`." -#: ../Doc/glossary.rst:740 +#: ../Doc/glossary.rst:758 msgid "named tuple" msgstr "tupla nombrada" -#: ../Doc/glossary.rst:742 +#: ../Doc/glossary.rst:760 msgid "" "The term \"named tuple\" applies to any type or class that inherits from " "tuple and whose indexable elements are also accessible using named " @@ -1787,7 +1830,7 @@ msgstr "" "usando atributos nombrados. Este tipo o clase puede tener además otras " "capacidades." -#: ../Doc/glossary.rst:746 +#: ../Doc/glossary.rst:764 msgid "" "Several built-in types are named tuples, including the values returned by :" "func:`time.localtime` and :func:`os.stat`. Another example is :data:`sys." @@ -1797,7 +1840,7 @@ msgstr "" "retornados por :func:`time.localtime` y :func:`os.stat`. Otro ejemplo es :" "data:`sys.float_info`::" -#: ../Doc/glossary.rst:757 +#: ../Doc/glossary.rst:775 msgid "" "Some named tuples are built-in types (such as the above examples). " "Alternatively, a named tuple can be created from a regular class definition " @@ -1814,11 +1857,11 @@ msgstr "" "automáticamente brinda métodos adicionales que pueden no estar presentes en " "las tuplas nombradas personalizadas o incorporadas." -#: ../Doc/glossary.rst:764 +#: ../Doc/glossary.rst:782 msgid "namespace" msgstr "espacio de nombres" -#: ../Doc/glossary.rst:766 +#: ../Doc/glossary.rst:784 msgid "" "The place where a variable is stored. Namespaces are implemented as " "dictionaries. There are the local, global and built-in namespaces as well " @@ -1842,11 +1885,11 @@ msgstr "" "implementadas en los módulos :mod:`random` y :mod:`itertools`, " "respectivamente." -#: ../Doc/glossary.rst:776 +#: ../Doc/glossary.rst:794 msgid "namespace package" msgstr "paquete de espacios de nombres" -#: ../Doc/glossary.rst:778 +#: ../Doc/glossary.rst:796 msgid "" "A :pep:`420` :term:`package` which serves only as a container for " "subpackages. Namespace packages may have no physical representation, and " @@ -1858,15 +1901,15 @@ msgstr "" "específicamente se diferencian de los :term:`regular package` porque no " "tienen un archivo ``__init__.py``." -#: ../Doc/glossary.rst:783 +#: ../Doc/glossary.rst:801 msgid "See also :term:`module`." msgstr "Vea también :term:`module`." -#: ../Doc/glossary.rst:784 +#: ../Doc/glossary.rst:802 msgid "nested scope" msgstr "alcances anidados" -#: ../Doc/glossary.rst:786 +#: ../Doc/glossary.rst:804 msgid "" "The ability to refer to a variable in an enclosing definition. For " "instance, a function defined inside another function can refer to variables " @@ -1884,11 +1927,11 @@ msgstr "" "nombres global. Con :keyword:`nonlocal` se puede escribir en alcances " "exteriores." -#: ../Doc/glossary.rst:793 +#: ../Doc/glossary.rst:811 msgid "new-style class" msgstr "clase de nuevo estilo" -#: ../Doc/glossary.rst:795 +#: ../Doc/glossary.rst:813 msgid "" "Old name for the flavor of classes now used for all class objects. In " "earlier Python versions, only new-style classes could use Python's newer, " @@ -1901,11 +1944,11 @@ msgstr "" "`~object.__slots__`, descriptores, propiedades, :meth:`__getattribute__`, " "métodos de clase y métodos estáticos." -#: ../Doc/glossary.rst:799 +#: ../Doc/glossary.rst:817 msgid "object" msgstr "objeto" -#: ../Doc/glossary.rst:801 +#: ../Doc/glossary.rst:819 msgid "" "Any data with state (attributes or value) and defined behavior (methods). " "Also the ultimate base class of any :term:`new-style class`." @@ -1914,11 +1957,11 @@ msgstr "" "(métodos). También es la más básica clase base para cualquier :term:`new-" "style class`." -#: ../Doc/glossary.rst:804 +#: ../Doc/glossary.rst:822 msgid "package" msgstr "paquete" -#: ../Doc/glossary.rst:806 +#: ../Doc/glossary.rst:824 msgid "" "A Python :term:`module` which can contain submodules or recursively, " "subpackages. Technically, a package is a Python module with an ``__path__`` " @@ -1928,15 +1971,15 @@ msgstr "" "subpaquetes. Técnicamente, un paquete es un módulo Python con un atributo " "``__path__``." -#: ../Doc/glossary.rst:810 +#: ../Doc/glossary.rst:828 msgid "See also :term:`regular package` and :term:`namespace package`." msgstr "Vea también :term:`regular package` y :term:`namespace package`." -#: ../Doc/glossary.rst:811 +#: ../Doc/glossary.rst:829 msgid "parameter" msgstr "parámetro" -#: ../Doc/glossary.rst:813 +#: ../Doc/glossary.rst:831 msgid "" "A named entity in a :term:`function` (or method) definition that specifies " "an :term:`argument` (or in some cases, arguments) that the function can " @@ -1946,7 +1989,7 @@ msgstr "" "que especifica un :term:`argument` (o en algunos casos, varios argumentos) " "que la función puede aceptar. Existen cinco tipos de argumentos:" -#: ../Doc/glossary.rst:817 +#: ../Doc/glossary.rst:835 msgid "" ":dfn:`positional-or-keyword`: specifies an argument that can be passed " "either :term:`positionally ` or as a :term:`keyword argument " @@ -1958,7 +2001,7 @@ msgstr "" "`. Este es el tipo por defecto de parámetro, como *foo* y *bar* " "en el siguiente ejemplo::" -#: ../Doc/glossary.rst:826 +#: ../Doc/glossary.rst:844 msgid "" ":dfn:`positional-only`: specifies an argument that can be supplied only by " "position. Positional-only parameters can be defined by including a ``/`` " @@ -1970,7 +2013,7 @@ msgstr "" "incluyendo un carácter ``/`` en la lista de parámetros de la función después " "de ellos, como *posonly1* y *posonly2* en el ejemplo que sigue::" -#: ../Doc/glossary.rst:835 +#: ../Doc/glossary.rst:853 msgid "" ":dfn:`keyword-only`: specifies an argument that can be supplied only by " "keyword. Keyword-only parameters can be defined by including a single var-" @@ -1984,7 +2027,7 @@ msgstr "" "en la lista de parámetros en la definición de la función, como *kw_only1* y " "*kw_only2* en el ejemplo siguiente::" -#: ../Doc/glossary.rst:843 +#: ../Doc/glossary.rst:861 msgid "" ":dfn:`var-positional`: specifies that an arbitrary sequence of positional " "arguments can be provided (in addition to any positional arguments already " @@ -1998,7 +2041,7 @@ msgstr "" "ser definido anteponiendo al nombre del parámetro ``*``, como a *args* en el " "siguiente ejemplo::" -#: ../Doc/glossary.rst:851 +#: ../Doc/glossary.rst:869 msgid "" ":dfn:`var-keyword`: specifies that arbitrarily many keyword arguments can be " "provided (in addition to any keyword arguments already accepted by other " @@ -2011,7 +2054,7 @@ msgstr "" "anteponiendo al nombre del parámetro con ``**``, como *kwargs* en el ejemplo " "precedente." -#: ../Doc/glossary.rst:857 +#: ../Doc/glossary.rst:875 msgid "" "Parameters can specify both optional and required arguments, as well as " "default values for some optional arguments." @@ -2019,7 +2062,7 @@ msgstr "" "Los parámetros puede especificar tanto argumentos opcionales como " "requeridos, así como valores por defecto para algunos argumentos opcionales." -#: ../Doc/glossary.rst:860 +#: ../Doc/glossary.rst:878 msgid "" "See also the :term:`argument` glossary entry, the FAQ question on :ref:`the " "difference between arguments and parameters `, " @@ -2031,11 +2074,11 @@ msgstr "" "la clase :class:`inspect.Parameter`, la sección :ref:`function` , y :pep:" "`362`." -#: ../Doc/glossary.rst:864 +#: ../Doc/glossary.rst:882 msgid "path entry" msgstr "entrada de ruta" -#: ../Doc/glossary.rst:866 +#: ../Doc/glossary.rst:884 msgid "" "A single location on the :term:`import path` which the :term:`path based " "finder` consults to find modules for importing." @@ -2043,11 +2086,11 @@ msgstr "" "Una ubicación única en el :term:`import path` que el :term:`path based " "finder` consulta para encontrar los módulos a importar." -#: ../Doc/glossary.rst:868 +#: ../Doc/glossary.rst:886 msgid "path entry finder" msgstr "buscador de entradas de ruta" -#: ../Doc/glossary.rst:870 +#: ../Doc/glossary.rst:888 msgid "" "A :term:`finder` returned by a callable on :data:`sys.path_hooks` (i.e. a :" "term:`path entry hook`) which knows how to locate modules given a :term:" @@ -2057,7 +2100,7 @@ msgstr "" "es, un :term:`path entry hook`) que sabe cómo localizar módulos dada una :" "term:`path entry`." -#: ../Doc/glossary.rst:874 +#: ../Doc/glossary.rst:892 msgid "" "See :class:`importlib.abc.PathEntryFinder` for the methods that path entry " "finders implement." @@ -2065,11 +2108,11 @@ msgstr "" "Vea en :class:`importlib.abc.PathEntryFinder` los métodos que los buscadores " "de entradas de ruta implementan." -#: ../Doc/glossary.rst:876 +#: ../Doc/glossary.rst:894 msgid "path entry hook" msgstr "gancho a entrada de ruta" -#: ../Doc/glossary.rst:878 +#: ../Doc/glossary.rst:896 msgid "" "A callable on the :data:`sys.path_hook` list which returns a :term:`path " "entry finder` if it knows how to find modules on a specific :term:`path " @@ -2079,11 +2122,11 @@ msgstr "" "entry finder` si éste sabe cómo encontrar módulos en un :term:`path entry` " "específico." -#: ../Doc/glossary.rst:881 +#: ../Doc/glossary.rst:899 msgid "path based finder" msgstr "buscador basado en ruta" -#: ../Doc/glossary.rst:883 +#: ../Doc/glossary.rst:901 msgid "" "One of the default :term:`meta path finders ` which " "searches an :term:`import path` for modules." @@ -2091,11 +2134,11 @@ msgstr "" "Uno de los :term:`meta buscadores de ruta ` por defecto " "que busca un :term:`import path` para los módulos." -#: ../Doc/glossary.rst:885 +#: ../Doc/glossary.rst:903 msgid "path-like object" msgstr "objeto tipo ruta" -#: ../Doc/glossary.rst:887 +#: ../Doc/glossary.rst:905 msgid "" "An object representing a file system path. A path-like object is either a :" "class:`str` or :class:`bytes` object representing a path, or an object " @@ -2115,11 +2158,11 @@ msgstr "" "emplearse para garantizar que retorne respectivamente :class:`str` o :class:" "`bytes`. Introducido por :pep:`519`." -#: ../Doc/glossary.rst:895 +#: ../Doc/glossary.rst:913 msgid "PEP" msgstr "PEP" -#: ../Doc/glossary.rst:897 +#: ../Doc/glossary.rst:915 msgid "" "Python Enhancement Proposal. A PEP is a design document providing " "information to the Python community, or describing a new feature for Python " @@ -2132,7 +2175,7 @@ msgstr "" "deberían dar una especificación técnica concisa y una fundamentación para " "las capacidades propuestas." -#: ../Doc/glossary.rst:903 +#: ../Doc/glossary.rst:921 msgid "" "PEPs are intended to be the primary mechanisms for proposing major new " "features, for collecting community input on an issue, and for documenting " @@ -2146,15 +2189,15 @@ msgstr "" "El autor del PEP es el responsable de lograr consenso con la comunidad y " "documentar las opiniones disidentes." -#: ../Doc/glossary.rst:909 +#: ../Doc/glossary.rst:927 msgid "See :pep:`1`." msgstr "Vea :pep:`1`." -#: ../Doc/glossary.rst:910 +#: ../Doc/glossary.rst:928 msgid "portion" msgstr "porción" -#: ../Doc/glossary.rst:912 +#: ../Doc/glossary.rst:930 msgid "" "A set of files in a single directory (possibly stored in a zip file) that " "contribute to a namespace package, as defined in :pep:`420`." @@ -2163,15 +2206,15 @@ msgstr "" "archivo comprimido *zip*) que contribuye a un espacio de nombres de paquete, " "como está definido en :pep:`420`." -#: ../Doc/glossary.rst:914 +#: ../Doc/glossary.rst:932 msgid "positional argument" msgstr "argumento posicional" -#: ../Doc/glossary.rst:917 +#: ../Doc/glossary.rst:935 msgid "provisional API" msgstr "API provisoria" -#: ../Doc/glossary.rst:919 +#: ../Doc/glossary.rst:937 msgid "" "A provisional API is one which has been deliberately excluded from the " "standard library's backwards compatibility guarantees. While major changes " @@ -2190,7 +2233,7 @@ msgstr "" "ocurrirán si fallas fundamentales y serias son descubiertas que no fueron " "vistas antes de la inclusión de la API." -#: ../Doc/glossary.rst:928 +#: ../Doc/glossary.rst:946 msgid "" "Even for provisional APIs, backwards incompatible changes are seen as a " "\"solution of last resort\" - every attempt will still be made to find a " @@ -2201,7 +2244,7 @@ msgstr "" "encontrar una solución compatible hacia atrás para los problemas " "identificados." -#: ../Doc/glossary.rst:932 +#: ../Doc/glossary.rst:950 msgid "" "This process allows the standard library to continue to evolve over time, " "without locking in problematic design errors for extended periods of time. " @@ -2211,19 +2254,19 @@ msgstr "" "el tiempo, sin bloquearse por errores de diseño problemáticos por períodos " "extensos de tiempo. Vea :pep:`411` para más detalles." -#: ../Doc/glossary.rst:935 +#: ../Doc/glossary.rst:953 msgid "provisional package" msgstr "paquete provisorio" -#: ../Doc/glossary.rst:937 +#: ../Doc/glossary.rst:955 msgid "See :term:`provisional API`." msgstr "Vea :term:`provisional API`." -#: ../Doc/glossary.rst:938 +#: ../Doc/glossary.rst:956 msgid "Python 3000" msgstr "Python 3000" -#: ../Doc/glossary.rst:940 +#: ../Doc/glossary.rst:958 msgid "" "Nickname for the Python 3.x release line (coined long ago when the release " "of version 3 was something in the distant future.) This is also abbreviated " @@ -2233,11 +2276,11 @@ msgstr "" "cuando llegar a la versión 3 era algo distante en el futuro.) También se lo " "abrevió como *Py3k*." -#: ../Doc/glossary.rst:943 +#: ../Doc/glossary.rst:961 msgid "Pythonic" msgstr "Pythónico" -#: ../Doc/glossary.rst:945 +#: ../Doc/glossary.rst:963 msgid "" "An idea or piece of code which closely follows the most common idioms of the " "Python language, rather than implementing code using concepts common to " @@ -2254,15 +2297,15 @@ msgstr "" "construcción, así que los que no están familiarizados con Python podrían " "usar contadores numéricos::" -#: ../Doc/glossary.rst:955 +#: ../Doc/glossary.rst:973 msgid "As opposed to the cleaner, Pythonic method::" msgstr "En contraste, un método Pythónico más limpio::" -#: ../Doc/glossary.rst:959 +#: ../Doc/glossary.rst:977 msgid "qualified name" msgstr "nombre calificado" -#: ../Doc/glossary.rst:961 +#: ../Doc/glossary.rst:979 msgid "" "A dotted name showing the \"path\" from a module's global scope to a class, " "function or method defined in that module, as defined in :pep:`3155`. For " @@ -2274,7 +2317,7 @@ msgstr "" "`3155`. Para las funciones o clases de más alto nivel, el nombre calificado " "es el igual al nombre del objeto::" -#: ../Doc/glossary.rst:978 +#: ../Doc/glossary.rst:996 msgid "" "When used to refer to modules, the *fully qualified name* means the entire " "dotted path to the module, including any parent packages, e.g. ``email.mime." @@ -2284,11 +2327,11 @@ msgstr "" "calificado* significa la ruta con puntos completo al módulo, incluyendo " "cualquier paquete padre, por ejemplo, `email.mime.text``::" -#: ../Doc/glossary.rst:985 +#: ../Doc/glossary.rst:1003 msgid "reference count" msgstr "contador de referencias" -#: ../Doc/glossary.rst:987 +#: ../Doc/glossary.rst:1005 msgid "" "The number of references to an object. When the reference count of an " "object drops to zero, it is deallocated. Reference counting is generally " @@ -2304,11 +2347,11 @@ msgstr "" "`~sys.getrefcount` que los programadores pueden emplear para retornar el " "conteo de referencias de un objeto en particular." -#: ../Doc/glossary.rst:993 +#: ../Doc/glossary.rst:1011 msgid "regular package" msgstr "paquete regular" -#: ../Doc/glossary.rst:995 +#: ../Doc/glossary.rst:1013 msgid "" "A traditional :term:`package`, such as a directory containing an ``__init__." "py`` file." @@ -2316,15 +2359,15 @@ msgstr "" "Un :term:`package` tradicional, como aquellos con un directorio conteniendo " "el archivo ``__init__.py``." -#: ../Doc/glossary.rst:998 +#: ../Doc/glossary.rst:1016 msgid "See also :term:`namespace package`." msgstr "Vea también :term:`namespace package`." -#: ../Doc/glossary.rst:999 +#: ../Doc/glossary.rst:1017 msgid "__slots__" msgstr "__slots__" -#: ../Doc/glossary.rst:1001 +#: ../Doc/glossary.rst:1019 msgid "" "A declaration inside a class that saves memory by pre-declaring space for " "instance attributes and eliminating instance dictionaries. Though popular, " @@ -2338,11 +2381,11 @@ msgstr "" "correctamente y es mejor reservarla para los casos raros en los que existen " "grandes cantidades de instancias en aplicaciones con uso crítico de memoria." -#: ../Doc/glossary.rst:1006 +#: ../Doc/glossary.rst:1024 msgid "sequence" msgstr "secuencia" -#: ../Doc/glossary.rst:1008 +#: ../Doc/glossary.rst:1026 msgid "" "An :term:`iterable` which supports efficient element access using integer " "indices via the :meth:`__getitem__` special method and defines a :meth:" @@ -2361,13 +2404,14 @@ msgstr "" "una secuencia porque las búsquedas son por claves arbitraria :term:" "`immutable` y no por enteros." -#: ../Doc/glossary.rst:1017 +#: ../Doc/glossary.rst:1035 +#, fuzzy msgid "" "The :class:`collections.abc.Sequence` abstract base class defines a much " "richer interface that goes beyond just :meth:`__getitem__` and :meth:" "`__len__`, adding :meth:`count`, :meth:`index`, :meth:`__contains__`, and :" "meth:`__reversed__`. Types that implement this expanded interface can be " -"registered explicitly using :func:`~abc.register`." +"registered explicitly using :func:`~abc.ABCMeta.register`." msgstr "" "La clase base abstracta :class:`collections.abc.Sequence` define una " "interfaz mucho más rica que va más allá de sólo :meth:`__getitem__` y :meth:" @@ -2375,11 +2419,24 @@ msgstr "" "meth:`__reversed__`. Los tipos que implementan esta interfaz expandida " "pueden ser registrados explícitamente usando :func:`~abc.register`." -#: ../Doc/glossary.rst:1024 +#: ../Doc/glossary.rst:1042 +#, fuzzy +msgid "set comprehension" +msgstr "comprensión de listas" + +#: ../Doc/glossary.rst:1044 +msgid "" +"A compact way to process all or part of the elements in an iterable and " +"return a set with the results. ``results = {c for c in 'abracadabra' if c " +"not in 'abc'}`` generates the set of strings ``{'r', 'd'}``. See :ref:" +"`comprehensions`." +msgstr "" + +#: ../Doc/glossary.rst:1048 msgid "single dispatch" msgstr "despacho único" -#: ../Doc/glossary.rst:1026 +#: ../Doc/glossary.rst:1050 msgid "" "A form of :term:`generic function` dispatch where the implementation is " "chosen based on the type of a single argument." @@ -2387,11 +2444,11 @@ msgstr "" "Una forma de despacho de una :term:`generic function` donde la " "implementación es elegida a partir del tipo de un sólo argumento." -#: ../Doc/glossary.rst:1028 +#: ../Doc/glossary.rst:1052 msgid "slice" msgstr "rebanada" -#: ../Doc/glossary.rst:1030 +#: ../Doc/glossary.rst:1054 msgid "" "An object usually containing a portion of a :term:`sequence`. A slice is " "created using the subscript notation, ``[]`` with colons between numbers " @@ -2403,11 +2460,11 @@ msgstr "" "números cuando se ponen varios, como en ``nombre_variable[1:3:5]``. La " "notación con corchete (suscrito) usa internamente objetos :class:`slice`." -#: ../Doc/glossary.rst:1034 +#: ../Doc/glossary.rst:1058 msgid "special method" msgstr "método especial" -#: ../Doc/glossary.rst:1038 +#: ../Doc/glossary.rst:1062 msgid "" "A method that is called implicitly by Python to execute a certain operation " "on a type, such as addition. Such methods have names starting and ending " @@ -2419,11 +2476,11 @@ msgstr "" "comienzan y terminan con doble barra baja. Los métodos especiales están " "documentados en :ref:`specialnames`." -#: ../Doc/glossary.rst:1042 +#: ../Doc/glossary.rst:1066 msgid "statement" msgstr "sentencia" -#: ../Doc/glossary.rst:1044 +#: ../Doc/glossary.rst:1068 msgid "" "A statement is part of a suite (a \"block\" of code). A statement is either " "an :term:`expression` or one of several constructs with a keyword, such as :" @@ -2434,19 +2491,19 @@ msgstr "" "sintaxis usando una palabra clave, como :keyword:`if`, :keyword:`while` o :" "keyword:`for`." -#: ../Doc/glossary.rst:1047 +#: ../Doc/glossary.rst:1071 msgid "text encoding" msgstr "codificación de texto" -#: ../Doc/glossary.rst:1049 +#: ../Doc/glossary.rst:1073 msgid "A codec which encodes Unicode strings to bytes." msgstr "Un códec que codifica las cadenas Unicode a bytes." -#: ../Doc/glossary.rst:1050 +#: ../Doc/glossary.rst:1074 msgid "text file" msgstr "archivo de texto" -#: ../Doc/glossary.rst:1052 +#: ../Doc/glossary.rst:1076 msgid "" "A :term:`file object` able to read and write :class:`str` objects. Often, a " "text file actually accesses a byte-oriented datastream and handles the :term:" @@ -2460,7 +2517,7 @@ msgstr "" "archivos de texto que son abiertos en modo texto (``'r'`` o ``'w'``), :data:" "`sys.stdin`, :data:`sys.stdout`, y las instancias de :class:`io.StringIO`." -#: ../Doc/glossary.rst:1059 +#: ../Doc/glossary.rst:1083 msgid "" "See also :term:`binary file` for a file object able to read and write :term:" "`bytes-like objects `." @@ -2468,11 +2525,11 @@ msgstr "" "Vea también :term:`binary file` por objeto de archivos capaces de leer y " "escribir :term:`objeto tipo binario `." -#: ../Doc/glossary.rst:1061 +#: ../Doc/glossary.rst:1085 msgid "triple-quoted string" msgstr "cadena con triple comilla" -#: ../Doc/glossary.rst:1063 +#: ../Doc/glossary.rst:1087 msgid "" "A string which is bound by three instances of either a quotation mark (\") " "or an apostrophe ('). While they don't provide any functionality not " @@ -2489,11 +2546,11 @@ msgstr "" "las cadenas y pueden abarcar múltiples líneas sin el uso de caracteres de " "continuación, haciéndolas particularmente útiles para escribir docstrings." -#: ../Doc/glossary.rst:1070 +#: ../Doc/glossary.rst:1094 msgid "type" msgstr "tipo" -#: ../Doc/glossary.rst:1072 +#: ../Doc/glossary.rst:1096 msgid "" "The type of a Python object determines what kind of object it is; every " "object has a type. An object's type is accessible as its :attr:`~instance." @@ -2503,16 +2560,16 @@ msgstr "" "tiene un tipo. El tipo de un objeto puede ser accedido por su atributo :" "attr:`~instance.__class__` o puede ser conseguido usando ``type(obj)``." -#: ../Doc/glossary.rst:1076 +#: ../Doc/glossary.rst:1100 msgid "type alias" msgstr "alias de tipos" -#: ../Doc/glossary.rst:1078 +#: ../Doc/glossary.rst:1102 msgid "A synonym for a type, created by assigning the type to an identifier." msgstr "" "Un sinónimo para un tipo, creado al asignar un tipo a un identificador." -#: ../Doc/glossary.rst:1080 +#: ../Doc/glossary.rst:1104 msgid "" "Type aliases are useful for simplifying :term:`type hints `. For " "example::" @@ -2520,19 +2577,19 @@ msgstr "" "Los alias de tipos son útiles para simplificar los :term:`indicadores de " "tipo `. Por ejemplo::" -#: ../Doc/glossary.rst:1089 +#: ../Doc/glossary.rst:1111 msgid "could be made more readable like this::" msgstr "podría ser más legible así::" -#: ../Doc/glossary.rst:1098 ../Doc/glossary.rst:1112 +#: ../Doc/glossary.rst:1118 ../Doc/glossary.rst:1132 msgid "See :mod:`typing` and :pep:`484`, which describe this functionality." msgstr "Vea :mod:`typing` y :pep:`484`, que describen esta funcionalidad." -#: ../Doc/glossary.rst:1099 +#: ../Doc/glossary.rst:1119 msgid "type hint" msgstr "indicador de tipo" -#: ../Doc/glossary.rst:1101 +#: ../Doc/glossary.rst:1121 msgid "" "An :term:`annotation` that specifies the expected type for a variable, a " "class attribute, or a function parameter or return value." @@ -2540,7 +2597,7 @@ msgstr "" "Una :term:`annotation` que especifica el tipo esperado para una variable, " "un atributo de clase, un parámetro para una función o un valor de retorno." -#: ../Doc/glossary.rst:1104 +#: ../Doc/glossary.rst:1124 msgid "" "Type hints are optional and are not enforced by Python but they are useful " "to static type analysis tools, and aid IDEs with code completion and " @@ -2550,7 +2607,7 @@ msgstr "" "son útiles para las herramientas de análisis de tipos estático, y ayuda a " "las IDE en el completado del código y la refactorización." -#: ../Doc/glossary.rst:1108 +#: ../Doc/glossary.rst:1128 msgid "" "Type hints of global variables, class attributes, and functions, but not " "local variables, can be accessed using :func:`typing.get_type_hints`." @@ -2559,11 +2616,11 @@ msgstr "" "funciones, no de variables locales, pueden ser accedidos usando :func:" "`typing.get_type_hints`." -#: ../Doc/glossary.rst:1113 +#: ../Doc/glossary.rst:1133 msgid "universal newlines" msgstr "saltos de líneas universales" -#: ../Doc/glossary.rst:1115 +#: ../Doc/glossary.rst:1135 msgid "" "A manner of interpreting text streams in which all of the following are " "recognized as ending a line: the Unix end-of-line convention ``'\\n'``, the " @@ -2577,22 +2634,22 @@ msgstr "" "convención de Macintosh ``'\\r'``. Vea :pep:`278` y :pep:`3116`, además de :" "func:`bytes.splitlines` para usos adicionales." -#: ../Doc/glossary.rst:1120 +#: ../Doc/glossary.rst:1140 msgid "variable annotation" msgstr "anotación de variable" -#: ../Doc/glossary.rst:1122 +#: ../Doc/glossary.rst:1142 msgid "An :term:`annotation` of a variable or a class attribute." msgstr "Una :term:`annotation` de una variable o un atributo de clase." -#: ../Doc/glossary.rst:1124 +#: ../Doc/glossary.rst:1144 msgid "" "When annotating a variable or a class attribute, assignment is optional::" msgstr "" "Cuando se anota una variable o un atributo de clase, la asignación es " "opcional::" -#: ../Doc/glossary.rst:1129 +#: ../Doc/glossary.rst:1149 msgid "" "Variable annotations are usually used for :term:`type hints `: " "for example this variable is expected to take :class:`int` values::" @@ -2601,13 +2658,13 @@ msgstr "" "hints `: por ejemplo, se espera que esta variable tenga valores " "de clase :class:`int`::" -#: ../Doc/glossary.rst:1135 +#: ../Doc/glossary.rst:1155 msgid "Variable annotation syntax is explained in section :ref:`annassign`." msgstr "" "La sintaxis de la anotación de variables está explicada en la sección :ref:" "`annassign`." -#: ../Doc/glossary.rst:1137 +#: ../Doc/glossary.rst:1157 msgid "" "See :term:`function annotation`, :pep:`484` and :pep:`526`, which describe " "this functionality." @@ -2615,11 +2672,11 @@ msgstr "" "Vea :term:`function annotation`, :pep:`484` y :pep:`526`, los cuales " "describen esta funcionalidad." -#: ../Doc/glossary.rst:1139 +#: ../Doc/glossary.rst:1159 msgid "virtual environment" msgstr "entorno virtual" -#: ../Doc/glossary.rst:1141 +#: ../Doc/glossary.rst:1161 msgid "" "A cooperatively isolated runtime environment that allows Python users and " "applications to install and upgrade Python distribution packages without " @@ -2631,15 +2688,15 @@ msgstr "" "distribución de Python sin interferir con el comportamiento de otras " "aplicaciones de Python en el mismo sistema." -#: ../Doc/glossary.rst:1146 +#: ../Doc/glossary.rst:1166 msgid "See also :mod:`venv`." msgstr "Vea también :mod:`venv`." -#: ../Doc/glossary.rst:1147 +#: ../Doc/glossary.rst:1167 msgid "virtual machine" msgstr "máquina virtual" -#: ../Doc/glossary.rst:1149 +#: ../Doc/glossary.rst:1169 msgid "" "A computer defined entirely in software. Python's virtual machine executes " "the :term:`bytecode` emitted by the bytecode compiler." @@ -2647,11 +2704,11 @@ msgstr "" "Una computadora definida enteramente por software. La máquina virtual de " "Python ejecuta el :term:`bytecode` generado por el compilador de *bytecode*." -#: ../Doc/glossary.rst:1151 +#: ../Doc/glossary.rst:1171 msgid "Zen of Python" msgstr "Zen de Python" -#: ../Doc/glossary.rst:1153 +#: ../Doc/glossary.rst:1173 msgid "" "Listing of Python design principles and philosophies that are helpful in " "understanding and using the language. The listing can be found by typing " diff --git a/howto/descriptor.po b/howto/descriptor.po index 064505a3b4..a1842be7db 100644 --- a/howto/descriptor.po +++ b/howto/descriptor.po @@ -10,19 +10,18 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-08-20 15:05+0200\n" +"Last-Translator: Francisco Jesús Sevilla García \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Francisco Jesús Sevilla García \n" -"Language: es\n" -"X-Generator: Poedit 2.4.1\n" -#: ../Doc/howto/descriptor.rst:3 +#: ../Doc/howto/descriptor.rst:5 msgid "Descriptor HowTo Guide" msgstr "Guía práctica de uso de los descriptores" @@ -30,7 +29,7 @@ msgstr "Guía práctica de uso de los descriptores" msgid "Author" msgstr "Autor" -#: ../Doc/howto/descriptor.rst:5 +#: ../Doc/howto/descriptor.rst:7 msgid "Raymond Hettinger" msgstr "Raymond Hettinger" @@ -38,70 +37,382 @@ msgstr "Raymond Hettinger" msgid "Contact" msgstr "Contacto" -#: ../Doc/howto/descriptor.rst:6 +#: ../Doc/howto/descriptor.rst:8 msgid "" msgstr "" -#: ../Doc/howto/descriptor.rst:8 +#: ../Doc/howto/descriptor.rst:11 msgid "Contents" msgstr "Contenidos" -#: ../Doc/howto/descriptor.rst:11 +#: ../Doc/howto/descriptor.rst:13 +msgid "" +":term:`Descriptors ` let objects customize attribute lookup, " +"storage, and deletion." +msgstr "" + +#: ../Doc/howto/descriptor.rst:16 +msgid "This guide has four major sections:" +msgstr "" + +#: ../Doc/howto/descriptor.rst:18 +msgid "" +"The \"primer\" gives a basic overview, moving gently from simple examples, " +"adding one feature at a time. Start here if you're new to descriptors." +msgstr "" + +#: ../Doc/howto/descriptor.rst:21 +msgid "" +"The second section shows a complete, practical descriptor example. If you " +"already know the basics, start there." +msgstr "" + +#: ../Doc/howto/descriptor.rst:24 +msgid "" +"The third section provides a more technical tutorial that goes into the " +"detailed mechanics of how descriptors work. Most people don't need this " +"level of detail." +msgstr "" + +#: ../Doc/howto/descriptor.rst:28 +msgid "" +"The last section has pure Python equivalents for built-in descriptors that " +"are written in C. Read this if you're curious about how functions turn into " +"bound methods or about the implementation of common tools like :func:" +"`classmethod`, :func:`staticmethod`, :func:`property`, and :term:`__slots__`." +msgstr "" + +#: ../Doc/howto/descriptor.rst:36 +msgid "Primer" +msgstr "" + +#: ../Doc/howto/descriptor.rst:38 +msgid "" +"In this primer, we start with the most basic possible example and then we'll " +"add new capabilities one by one." +msgstr "" + +#: ../Doc/howto/descriptor.rst:43 +msgid "Simple example: A descriptor that returns a constant" +msgstr "" + +#: ../Doc/howto/descriptor.rst:45 +msgid "" +"The :class:`Ten` class is a descriptor that always returns the constant " +"``10`` from its :meth:`__get__` method:" +msgstr "" + +#: ../Doc/howto/descriptor.rst:54 +msgid "" +"To use the descriptor, it must be stored as a class variable in another " +"class:" +msgstr "" + +#: ../Doc/howto/descriptor.rst:62 +msgid "" +"An interactive session shows the difference between normal attribute lookup " +"and descriptor lookup:" +msgstr "" + +#: ../Doc/howto/descriptor.rst:73 +msgid "" +"In the ``a.x`` attribute lookup, the dot operator finds the key ``x`` and " +"the value ``5`` in the class dictionary. In the ``a.y`` lookup, the dot " +"operator finds a descriptor instance, recognized by its ``__get__`` method, " +"and calls that method which returns ``10``." +msgstr "" + +#: ../Doc/howto/descriptor.rst:78 +msgid "" +"Note that the value ``10`` is not stored in either the class dictionary or " +"the instance dictionary. Instead, the value ``10`` is computed on demand." +msgstr "" + +#: ../Doc/howto/descriptor.rst:81 +msgid "" +"This example shows how a simple descriptor works, but it isn't very useful. " +"For retrieving constants, normal attribute lookup would be better." +msgstr "" + +#: ../Doc/howto/descriptor.rst:84 +msgid "" +"In the next section, we'll create something more useful, a dynamic lookup." +msgstr "" + +#: ../Doc/howto/descriptor.rst:88 +msgid "Dynamic lookups" +msgstr "" + +#: ../Doc/howto/descriptor.rst:90 +msgid "" +"Interesting descriptors typically run computations instead of returning " +"constants:" +msgstr "" + +#: ../Doc/howto/descriptor.rst:109 +msgid "" +"An interactive session shows that the lookup is dynamic — it computes " +"different, updated answers each time::" +msgstr "" + +#: ../Doc/howto/descriptor.rst:122 +msgid "" +"Besides showing how descriptors can run computations, this example also " +"reveals the purpose of the parameters to :meth:`__get__`. The *self* " +"parameter is *size*, an instance of *DirectorySize*. The *obj* parameter is " +"either *g* or *s*, an instance of *Directory*. It is the *obj* parameter " +"that lets the :meth:`__get__` method learn the target directory. The " +"*objtype* parameter is the class *Directory*." +msgstr "" + +#: ../Doc/howto/descriptor.rst:131 +msgid "Managed attributes" +msgstr "" + +#: ../Doc/howto/descriptor.rst:133 +msgid "" +"A popular use for descriptors is managing access to instance data. The " +"descriptor is assigned to a public attribute in the class dictionary while " +"the actual data is stored as a private attribute in the instance " +"dictionary. The descriptor's :meth:`__get__` and :meth:`__set__` methods " +"are triggered when the public attribute is accessed." +msgstr "" + +#: ../Doc/howto/descriptor.rst:139 +msgid "" +"In the following example, *age* is the public attribute and *_age* is the " +"private attribute. When the public attribute is accessed, the descriptor " +"logs the lookup or update:" +msgstr "" + +#: ../Doc/howto/descriptor.rst:172 +msgid "" +"An interactive session shows that all access to the managed attribute *age* " +"is logged, but that the regular attribute *name* is not logged:" +msgstr "" + +#: ../Doc/howto/descriptor.rst:206 +msgid "" +"One major issue with this example is that the private name *_age* is " +"hardwired in the *LoggedAgeAccess* class. That means that each instance can " +"only have one logged attribute and that its name is unchangeable. In the " +"next example, we'll fix that problem." +msgstr "" + +#: ../Doc/howto/descriptor.rst:213 +msgid "Customized names" +msgstr "" + +#: ../Doc/howto/descriptor.rst:215 +msgid "" +"When a class uses descriptors, it can inform each descriptor about which " +"variable name was used." +msgstr "" + +#: ../Doc/howto/descriptor.rst:218 +msgid "" +"In this example, the :class:`Person` class has two descriptor instances, " +"*name* and *age*. When the :class:`Person` class is defined, it makes a " +"callback to :meth:`__set_name__` in *LoggedAccess* so that the field names " +"can be recorded, giving each descriptor its own *public_name* and " +"*private_name*:" +msgstr "" + +#: ../Doc/howto/descriptor.rst:256 +msgid "" +"An interactive session shows that the :class:`Person` class has called :meth:" +"`__set_name__` so that the field names would be recorded. Here we call :" +"func:`vars` to look up the descriptor without triggering it:" +msgstr "" + +#: ../Doc/howto/descriptor.rst:267 +msgid "The new class now logs access to both *name* and *age*:" +msgstr "" + +#: ../Doc/howto/descriptor.rst:284 +msgid "The two *Person* instances contain only the private names::" +msgstr "" + +#: ../Doc/howto/descriptor.rst:293 +msgid "Closing thoughts" +msgstr "" + +#: ../Doc/howto/descriptor.rst:295 +msgid "" +"A :term:`descriptor` is what we call any object that defines :meth:" +"`__get__`, :meth:`__set__`, or :meth:`__delete__`." +msgstr "" + +#: ../Doc/howto/descriptor.rst:298 +msgid "" +"Optionally, descriptors can have a :meth:`__set_name__` method. This is " +"only used in cases where a descriptor needs to know either the class where " +"it was created or the name of class variable it was assigned to. (This " +"method, if present, is called even if the class is not a descriptor.)" +msgstr "" + +#: ../Doc/howto/descriptor.rst:303 +msgid "" +"Descriptors get invoked by the dot \"operator\" during attribute lookup. If " +"a descriptor is accessed indirectly with ``vars(some_class)" +"[descriptor_name]``, the descriptor instance is returned without invoking it." +msgstr "" + +#: ../Doc/howto/descriptor.rst:307 +msgid "" +"Descriptors only work when used as class variables. When put in instances, " +"they have no effect." +msgstr "" + +#: ../Doc/howto/descriptor.rst:310 +msgid "" +"The main motivation for descriptors is to provide a hook allowing objects " +"stored in class variables to control what happens during attribute lookup." +msgstr "" + +#: ../Doc/howto/descriptor.rst:313 +msgid "" +"Traditionally, the calling class controls what happens during lookup. " +"Descriptors invert that relationship and allow the data being looked-up to " +"have a say in the matter." +msgstr "" + +#: ../Doc/howto/descriptor.rst:317 +msgid "" +"Descriptors are used throughout the language. It is how functions turn into " +"bound methods. Common tools like :func:`classmethod`, :func:" +"`staticmethod`, :func:`property`, and :func:`functools.cached_property` are " +"all implemented as descriptors." +msgstr "" + +#: ../Doc/howto/descriptor.rst:324 +msgid "Complete Practical Example" +msgstr "" + +#: ../Doc/howto/descriptor.rst:326 +msgid "" +"In this example, we create a practical and powerful tool for locating " +"notoriously hard to find data corruption bugs." +msgstr "" + +#: ../Doc/howto/descriptor.rst:331 +msgid "Validator class" +msgstr "" + +#: ../Doc/howto/descriptor.rst:333 +msgid "" +"A validator is a descriptor for managed attribute access. Prior to storing " +"any data, it verifies that the new value meets various type and range " +"restrictions. If those restrictions aren't met, it raises an exception to " +"prevent data corruption at its source." +msgstr "" + +#: ../Doc/howto/descriptor.rst:338 +msgid "" +"This :class:`Validator` class is both an :term:`abstract base class` and a " +"managed attribute descriptor:" +msgstr "" + +#: ../Doc/howto/descriptor.rst:361 +msgid "" +"Custom validators need to inherit from :class:`Validator` and must supply a :" +"meth:`validate` method to test various restrictions as needed." +msgstr "" + +#: ../Doc/howto/descriptor.rst:366 +msgid "Custom validators" +msgstr "" + +#: ../Doc/howto/descriptor.rst:368 +msgid "Here are three practical data validation utilities:" +msgstr "" + +#: ../Doc/howto/descriptor.rst:370 +msgid "" +":class:`OneOf` verifies that a value is one of a restricted set of options." +msgstr "" + +#: ../Doc/howto/descriptor.rst:372 +msgid "" +":class:`Number` verifies that a value is either an :class:`int` or :class:" +"`float`. Optionally, it verifies that a value is between a given minimum or " +"maximum." +msgstr "" + +#: ../Doc/howto/descriptor.rst:376 +msgid "" +":class:`String` verifies that a value is a :class:`str`. Optionally, it " +"validates a given minimum or maximum length. It can validate a user-defined " +"`predicate `_ " +"as well." +msgstr "" + +#: ../Doc/howto/descriptor.rst:435 +msgid "Practical application" +msgstr "" + +#: ../Doc/howto/descriptor.rst:437 +msgid "Here's how the data validators can be used in a real class:" +msgstr "" + +#: ../Doc/howto/descriptor.rst:452 +msgid "The descriptors prevent invalid instances from being created:" +msgstr "" + +#: ../Doc/howto/descriptor.rst:479 +msgid "Technical Tutorial" +msgstr "" + +#: ../Doc/howto/descriptor.rst:481 +msgid "" +"What follows is a more technical tutorial for the mechanics and details of " +"how descriptors work." +msgstr "" + +#: ../Doc/howto/descriptor.rst:486 msgid "Abstract" msgstr "Resumen" -#: ../Doc/howto/descriptor.rst:13 +#: ../Doc/howto/descriptor.rst:488 msgid "" "Defines descriptors, summarizes the protocol, and shows how descriptors are " -"called. Examines a custom descriptor and several built-in Python " -"descriptors including functions, properties, static methods, and class " -"methods. Shows how each works by giving a pure Python equivalent and a " -"sample application." +"called. Provides an example showing how object relational mappings work." msgstr "" -"Definir los descriptores, resumir el protocolo y mostrar como los " -"descriptores son llamados. Estudiar un descriptor personalizado y varios " -"descriptores de Python incorporados, incluidas funciones, propiedades, " -"métodos estáticos y métodos de clase. Mostrar como funciona cada uno " -"proporcionando un equivalente puro de Python y un ejemplo de aplicación." -#: ../Doc/howto/descriptor.rst:18 +#: ../Doc/howto/descriptor.rst:491 +#, fuzzy msgid "" "Learning about descriptors not only provides access to a larger toolset, it " -"creates a deeper understanding of how Python works and an appreciation for " -"the elegance of its design." +"creates a deeper understanding of how Python works." msgstr "" "Aprender acerca de los descriptores no solo brinda acceso a un conjunto de " "herramientas mayor, sino que genera una comprensión más profunda de como " "funciona Python y una apreciación sobre la elegancia de su diseño." -#: ../Doc/howto/descriptor.rst:24 -msgid "Definition and Introduction" +#: ../Doc/howto/descriptor.rst:496 +#, fuzzy +msgid "Definition and introduction" msgstr "Definición e introducción" -#: ../Doc/howto/descriptor.rst:26 +#: ../Doc/howto/descriptor.rst:498 msgid "" -"In general, a descriptor is an object attribute with \"binding behavior\", " -"one whose attribute access has been overridden by methods in the descriptor " -"protocol. Those methods are :meth:`__get__`, :meth:`__set__`, and :meth:" -"`__delete__`. If any of those methods are defined for an object, it is said " -"to be a descriptor." +"In general, a descriptor is an attribute value that has one of the methods " +"in the descriptor protocol. Those methods are :meth:`__get__`, :meth:" +"`__set__`, and :meth:`__delete__`. If any of those methods are defined for " +"an attribute, it is said to be a :term:`descriptor`." msgstr "" -"En general, un descriptor es un atributo de objeto con \"comportamiento " -"vinculante\", dónde el acceso al atributo ha sido reemplazado por métodos en " -"el protocolo del descriptor. Esos métodos son :meth:`__get__`, :meth:" -"`__set__` y :meth:`__delete__`. Si alguno de esos métodos está definido para " -"un objeto, se dice que es un descriptor." -#: ../Doc/howto/descriptor.rst:32 +#: ../Doc/howto/descriptor.rst:503 +#, fuzzy msgid "" "The default behavior for attribute access is to get, set, or delete the " "attribute from an object's dictionary. For instance, ``a.x`` has a lookup " "chain starting with ``a.__dict__['x']``, then ``type(a).__dict__['x']``, and " -"continuing through the base classes of ``type(a)`` excluding metaclasses. If " -"the looked-up value is an object defining one of the descriptor methods, " -"then Python may override the default behavior and invoke the descriptor " -"method instead. Where this occurs in the precedence chain depends on which " -"descriptor methods were defined." +"continuing through the method resolution order of ``type(a)``. If the looked-" +"up value is an object defining one of the descriptor methods, then Python " +"may override the default behavior and invoke the descriptor method instead. " +"Where this occurs in the precedence chain depends on which descriptor " +"methods were defined." msgstr "" "El comportamiento predeterminado para el acceso a los atributos es obtener, " "establecer o eliminar el atributo del diccionario de un objeto. Por ejemplo, " @@ -113,39 +424,33 @@ msgstr "" "lugar. El lugar donde ésto ocurre en la cadena de precedencia depende de qué " "métodos del descriptor fueron definidos." -#: ../Doc/howto/descriptor.rst:41 +#: ../Doc/howto/descriptor.rst:512 msgid "" "Descriptors are a powerful, general purpose protocol. They are the " "mechanism behind properties, methods, static methods, class methods, and :" -"func:`super()`. They are used throughout Python itself to implement the new " -"style classes introduced in version 2.2. Descriptors simplify the " -"underlying C-code and offer a flexible set of new tools for everyday Python " -"programs." -msgstr "" -"Los descriptores son un potente protocolo de propósito general. Son el " -"mecanismo detrás de las propiedades, métodos, métodos estáticos, métodos de " -"clase y :func:`super()`. Se utilizan en todo Python para implementar las " -"clases de nuevo estilo introducidas en la versión 2.2. Los descriptores " -"simplifican el código C subyacente y ofrecen un conjunto flexible de nuevas " -"herramientas para los programas de Python cotidianos." - -#: ../Doc/howto/descriptor.rst:49 -msgid "Descriptor Protocol" +"func:`super()`. They are used throughout Python itself. Descriptors " +"simplify the underlying C code and offer a flexible set of new tools for " +"everyday Python programs." +msgstr "" + +#: ../Doc/howto/descriptor.rst:520 +#, fuzzy +msgid "Descriptor protocol" msgstr "Protocolo descriptor" -#: ../Doc/howto/descriptor.rst:51 +#: ../Doc/howto/descriptor.rst:522 msgid "``descr.__get__(self, obj, type=None) -> value``" msgstr "``descr.__get__(self, obj, type=None) -> value``" -#: ../Doc/howto/descriptor.rst:53 +#: ../Doc/howto/descriptor.rst:524 msgid "``descr.__set__(self, obj, value) -> None``" msgstr "``descr.__set__(self, obj, value) -> None``" -#: ../Doc/howto/descriptor.rst:55 +#: ../Doc/howto/descriptor.rst:526 msgid "``descr.__delete__(self, obj) -> None``" msgstr "``descr.__delete__(self, obj) -> None``" -#: ../Doc/howto/descriptor.rst:57 +#: ../Doc/howto/descriptor.rst:528 msgid "" "That is all there is to it. Define any of these methods and an object is " "considered a descriptor and can override default behavior upon being looked " @@ -155,11 +460,12 @@ msgstr "" "el objeto se considera un descriptor y puede anular el comportamiento " "predeterminado al ser buscado como un atributo." -#: ../Doc/howto/descriptor.rst:61 +#: ../Doc/howto/descriptor.rst:532 +#, fuzzy msgid "" "If an object defines :meth:`__set__` or :meth:`__delete__`, it is considered " "a data descriptor. Descriptors that only define :meth:`__get__` are called " -"non-data descriptors (they are typically used for methods but other uses are " +"non-data descriptors (they are often used for methods but other uses are " "possible)." msgstr "" "Si un objeto define :meth:`__set__` o :meth:`__delete__`, se considera un " @@ -167,7 +473,7 @@ msgstr "" "denominan descriptores de no-datos (normalmente se utilizan para métodos, " "pero son posibles otros usos)." -#: ../Doc/howto/descriptor.rst:66 +#: ../Doc/howto/descriptor.rst:537 msgid "" "Data and non-data descriptors differ in how overrides are calculated with " "respect to entries in an instance's dictionary. If an instance's dictionary " @@ -182,7 +488,7 @@ msgstr "" "diccionario de una instancia tiene una entrada con el mismo nombre que un " "descriptor de no-datos, la entrada del diccionario tiene prioridad." -#: ../Doc/howto/descriptor.rst:72 +#: ../Doc/howto/descriptor.rst:543 msgid "" "To make a read-only data descriptor, define both :meth:`__get__` and :meth:" "`__set__` with the :meth:`__set__` raising an :exc:`AttributeError` when " @@ -195,203 +501,310 @@ msgstr "" "forma que lance una excepción genérica es suficiente para convertirlo en un " "descriptor de datos." -#: ../Doc/howto/descriptor.rst:79 -msgid "Invoking Descriptors" -msgstr "Invocar descriptores" +#: ../Doc/howto/descriptor.rst:550 +msgid "Overview of descriptor invocation" +msgstr "" -#: ../Doc/howto/descriptor.rst:81 +#: ../Doc/howto/descriptor.rst:552 +#, fuzzy msgid "" -"A descriptor can be called directly by its method name. For example, ``d." -"__get__(obj)``." +"A descriptor can be called directly with ``desc.__get__(obj)`` or ``desc." +"__get__(None, cls)``." msgstr "" "Un descriptor puede ser llamado directamente mediante el nombre de su " "método. Por ejemplo ``d.__get__(obj)``." -#: ../Doc/howto/descriptor.rst:84 +#: ../Doc/howto/descriptor.rst:555 msgid "" -"Alternatively, it is more common for a descriptor to be invoked " -"automatically upon attribute access. For example, ``obj.d`` looks up ``d`` " -"in the dictionary of ``obj``. If ``d`` defines the method :meth:`__get__`, " -"then ``d.__get__(obj)`` is invoked according to the precedence rules listed " -"below." +"But it is more common for a descriptor to be invoked automatically from " +"attribute access." msgstr "" -"Alternativamente, es más común que un descriptor se invoque automáticamente " -"al acceder a un atributo. Por ejemplo, ``obj.d`` busca ``d`` en el " -"diccionario de ``obj``. Si ``d`` define el método :meth:`__get__`, entonces " -"se invoca ``d.__get__(obj)`` de acuerdo con las reglas de precedencia que se " -"enumeran a continuación." -#: ../Doc/howto/descriptor.rst:89 +#: ../Doc/howto/descriptor.rst:558 msgid "" -"The details of invocation depend on whether ``obj`` is an object or a class." +"The expression ``obj.x`` looks up the attribute ``x`` in the chain of " +"namespaces for ``obj``. If the search finds a descriptor outside of the " +"instance ``__dict__``, its :meth:`__get__` method is invoked according to " +"the precedence rules listed below." +msgstr "" + +#: ../Doc/howto/descriptor.rst:563 +#, fuzzy +msgid "" +"The details of invocation depend on whether ``obj`` is an object, class, or " +"instance of super." msgstr "" "Los detalles de la invocación dependen de si ``obj`` es un objeto o una " "clase." -#: ../Doc/howto/descriptor.rst:91 +#: ../Doc/howto/descriptor.rst:568 +msgid "Invocation from an instance" +msgstr "" + +#: ../Doc/howto/descriptor.rst:570 +msgid "" +"Instance lookup scans through a chain of namespaces giving data descriptors " +"the highest priority, followed by instance variables, then non-data " +"descriptors, then class variables, and lastly :meth:`__getattr__` if it is " +"provided." +msgstr "" + +#: ../Doc/howto/descriptor.rst:575 +msgid "" +"If a descriptor is found for ``a.x``, then it is invoked with: ``desc." +"__get__(a, type(a))``." +msgstr "" + +#: ../Doc/howto/descriptor.rst:578 +msgid "" +"The logic for a dotted lookup is in :meth:`object.__getattribute__`. Here " +"is a pure Python equivalent:" +msgstr "" + +#: ../Doc/howto/descriptor.rst:698 +msgid "" +"Interestingly, attribute lookup doesn't call :meth:`object.__getattribute__` " +"directly. Instead, both the dot operator and the :func:`getattr` function " +"perform attribute lookup by way of a helper function:" +msgstr "" + +#: ../Doc/howto/descriptor.rst:713 +msgid "" +"So if :meth:`__getattr__` exists, it is called whenever :meth:" +"`__getattribute__` raises :exc:`AttributeError` (either directly or in one " +"of the descriptor calls)." +msgstr "" + +#: ../Doc/howto/descriptor.rst:716 +msgid "" +"Also, if a user calls :meth:`object.__getattribute__` directly, the :meth:" +"`__getattr__` hook is bypassed entirely." +msgstr "" + +#: ../Doc/howto/descriptor.rst:721 +#, fuzzy +msgid "Invocation from a class" +msgstr "Llamado desde una clase" + +#: ../Doc/howto/descriptor.rst:723 +msgid "" +"The logic for a dotted lookup such as ``A.x`` is in :meth:`type." +"__getattribute__`. The steps are similar to those for :meth:`object." +"__getattribute__` but the instance dictionary lookup is replaced by a search " +"through the class's :term:`method resolution order`." +msgstr "" + +#: ../Doc/howto/descriptor.rst:728 +msgid "If a descriptor is found, it is invoked with ``desc.__get__(None, A)``." +msgstr "" + +#: ../Doc/howto/descriptor.rst:730 +msgid "" +"The full C implementation can be found in :c:func:`type_getattro()` and :c:" +"func:`_PyType_Lookup()` in :source:`Objects/typeobject.c`." +msgstr "" + +#: ../Doc/howto/descriptor.rst:735 +msgid "Invocation from super" +msgstr "" + +#: ../Doc/howto/descriptor.rst:737 +msgid "" +"The logic for super's dotted lookup is in the :meth:`__getattribute__` " +"method for object returned by :class:`super()`." +msgstr "" + +#: ../Doc/howto/descriptor.rst:740 msgid "" -"For objects, the machinery is in :meth:`object.__getattribute__` which " -"transforms ``b.x`` into ``type(b).__dict__['x'].__get__(b, type(b))``. The " -"implementation works through a precedence chain that gives data descriptors " -"priority over instance variables, instance variables priority over non-data " -"descriptors, and assigns lowest priority to :meth:`__getattr__` if provided. " -"The full C implementation can be found in :c:func:" -"`PyObject_GenericGetAttr()` in :source:`Objects/object.c`." +"A dotted lookup such as ``super(A, obj).m`` searches ``obj.__class__." +"__mro__`` for the base class ``B`` immediately following ``A`` and then " +"returns ``B.__dict__['m'].__get__(obj, A)``. If not a descriptor, ``m`` is " +"returned unchanged." msgstr "" -"Para los objetos, el mecanismo se encuentra en :meth:`object." -"__getattribute__` que transforma ``b.x`` en ``type(b).__dict__['x']." -"__get__(b, type(b))``. La implementación funciona a través de una cadena de " -"precedencia que da a los descriptores de datos prioridad sobre las variables " -"de instancia, a las variables de instancia prioridad sobre los descriptores " -"de no-datos y asigna la prioridad más baja a :meth:`__getattr__` si se " -"proporciona. La implementación completa en C se puede encontrar en :c:func:" -"`PyObject_GenericGetAttr()` en :source:`Objects/object.c`." -#: ../Doc/howto/descriptor.rst:99 +#: ../Doc/howto/descriptor.rst:745 +#, fuzzy msgid "" -"For classes, the machinery is in :meth:`type.__getattribute__` which " -"transforms ``B.x`` into ``B.__dict__['x'].__get__(None, B)``. In pure " -"Python, it looks like::" +"The full C implementation can be found in :c:func:`super_getattro()` in :" +"source:`Objects/typeobject.c`. A pure Python equivalent can be found in " +"`Guido's Tutorial `_." msgstr "" -"Para clases, el mecanismo se define en :meth:`type.__getattribute__` que " -"transforma ``B.x`` en ``B.__dict__['x'].__get__(None, B)``. En Python puro, " -"quedaría así::" +"Los detalles de la implementación están en :c:func:`super_getattro()` en :" +"source:`Objects/typeobject.c` y un equivalente puro de Python se puede " +"encontrar en el `Guido's Tutorial`_." -#: ../Doc/howto/descriptor.rst:110 +#: ../Doc/howto/descriptor.rst:752 +msgid "Summary of invocation logic" +msgstr "" + +#: ../Doc/howto/descriptor.rst:754 +msgid "" +"The mechanism for descriptors is embedded in the :meth:`__getattribute__()` " +"methods for :class:`object`, :class:`type`, and :func:`super`." +msgstr "" + +#: ../Doc/howto/descriptor.rst:757 msgid "The important points to remember are:" msgstr "Los puntos importantes a recordar son:" -#: ../Doc/howto/descriptor.rst:112 -msgid "descriptors are invoked by the :meth:`__getattribute__` method" +#: ../Doc/howto/descriptor.rst:759 +#, fuzzy +msgid "Descriptors are invoked by the :meth:`__getattribute__` method." msgstr "los descriptores son invocados por el método :meth:`__getattribute__`" -#: ../Doc/howto/descriptor.rst:113 -msgid "overriding :meth:`__getattribute__` prevents automatic descriptor calls" +#: ../Doc/howto/descriptor.rst:761 +msgid "" +"Classes inherit this machinery from :class:`object`, :class:`type`, or :func:" +"`super`." +msgstr "" + +#: ../Doc/howto/descriptor.rst:764 +#, fuzzy +msgid "" +"Overriding :meth:`__getattribute__` prevents automatic descriptor calls " +"because all the descriptor logic is in that method." msgstr "" "redefinir :meth:`__getattribute__` evita las llamadas automáticas al " "descriptor" -#: ../Doc/howto/descriptor.rst:114 +#: ../Doc/howto/descriptor.rst:767 +#, fuzzy msgid "" ":meth:`object.__getattribute__` and :meth:`type.__getattribute__` make " -"different calls to :meth:`__get__`." +"different calls to :meth:`__get__`. The first includes the instance and may " +"include the class. The second puts in ``None`` for the instance and always " +"includes the class." msgstr "" ":meth:`object.__getattribute__` y :meth:`type.__getattribute__` realizan " "diferentes llamadas a :meth:`__get__`." -#: ../Doc/howto/descriptor.rst:116 -msgid "data descriptors always override instance dictionaries." +#: ../Doc/howto/descriptor.rst:772 +#, fuzzy +msgid "Data descriptors always override instance dictionaries." msgstr "" "los descriptores de datos siempre anulan los diccionarios de instancia." -#: ../Doc/howto/descriptor.rst:117 -msgid "non-data descriptors may be overridden by instance dictionaries." +#: ../Doc/howto/descriptor.rst:774 +#, fuzzy +msgid "Non-data descriptors may be overridden by instance dictionaries." msgstr "" "los descriptores de no-datos pueden ser reemplazados por los diccionarios de " "instancia." -#: ../Doc/howto/descriptor.rst:119 +#: ../Doc/howto/descriptor.rst:778 +msgid "Automatic name notification" +msgstr "" + +#: ../Doc/howto/descriptor.rst:780 msgid "" -"The object returned by ``super()`` also has a custom :meth:" -"`__getattribute__` method for invoking descriptors. The attribute lookup " -"``super(B, obj).m`` searches ``obj.__class__.__mro__`` for the base class " -"``A`` immediately following ``B`` and then returns ``A.__dict__['m']." -"__get__(obj, B)``. If not a descriptor, ``m`` is returned unchanged. If " -"not in the dictionary, ``m`` reverts to a search using :meth:`object." -"__getattribute__`." +"Sometimes it is desirable for a descriptor to know what class variable name " +"it was assigned to. When a new class is created, the :class:`type` " +"metaclass scans the dictionary of the new class. If any of the entries are " +"descriptors and if they define :meth:`__set_name__`, that method is called " +"with two arguments. The *owner* is the class where the descriptor is used, " +"and the *name* is the class variable the descriptor was assigned to." msgstr "" -"El objeto devuelto por ``super()`` también tiene un método personalizado :" -"meth:`__getattribute__` para poder invocar descriptores. La búsqueda de " -"atributo ``super(B, obj).m`` busca ``obj.__class__.__mro__`` para la clase " -"base ``A`` inmediatamente después de ``B`` y luego devuelve ``A." -"__dict__['m'].__get__(obj, B)``. Si no es un descriptor, se devuelve ``m`` " -"sin cambios. Si no está en el diccionario, ``m`` revierte a una búsqueda " -"usando :meth:`object.__getattribute__`." -#: ../Doc/howto/descriptor.rst:126 +#: ../Doc/howto/descriptor.rst:787 +#, fuzzy msgid "" -"The implementation details are in :c:func:`super_getattro()` in :source:" -"`Objects/typeobject.c`. and a pure Python equivalent can be found in " -"`Guido's Tutorial`_." +"The implementation details are in :c:func:`type_new()` and :c:func:" +"`set_names()` in :source:`Objects/typeobject.c`." msgstr "" "Los detalles de la implementación están en :c:func:`super_getattro()` en :" "source:`Objects/typeobject.c` y un equivalente puro de Python se puede " "encontrar en el `Guido's Tutorial`_." -#: ../Doc/howto/descriptor.rst:132 +#: ../Doc/howto/descriptor.rst:790 msgid "" -"The details above show that the mechanism for descriptors is embedded in " -"the :meth:`__getattribute__()` methods for :class:`object`, :class:`type`, " -"and :func:`super`. Classes inherit this machinery when they derive from :" -"class:`object` or if they have a meta-class providing similar functionality. " -"Likewise, classes can turn-off descriptor invocation by overriding :meth:" -"`__getattribute__()`." +"Since the update logic is in :meth:`type.__new__`, notifications only take " +"place at the time of class creation. If descriptors are added to the class " +"afterwards, :meth:`__set_name__` will need to be called manually." msgstr "" -"Los detalles anteriores muestran que el mecanismo para los descriptores está " -"incrustado en los métodos :meth:`__getattribute__()` para :class:`object`, :" -"class:`type` y :func:`super`. Las clases heredan este mecanismo cuando " -"derivan de :class:`object` o mediante una metaclase que proporcione " -"funcionalidades similares. Del mismo modo, las clases pueden desactivar la " -"invocación del descriptor redefiniendo :meth:`__getattribute__()`." -#: ../Doc/howto/descriptor.rst:141 -msgid "Descriptor Example" +#: ../Doc/howto/descriptor.rst:796 +#, fuzzy +msgid "ORM example" msgstr "Ejemplo de descriptor" -#: ../Doc/howto/descriptor.rst:143 +#: ../Doc/howto/descriptor.rst:798 +#, python-format msgid "" -"The following code creates a class whose objects are data descriptors which " -"print a message for each get or set. Overriding :meth:`__getattribute__` is " -"alternate approach that could do this for every attribute. However, this " -"descriptor is useful for monitoring just a few chosen attributes::" +"The following code is simplified skeleton showing how data descriptors could " +"be used to implement an `object relational mapping `_." +msgstr "" + +#: ../Doc/howto/descriptor.rst:802 +msgid "" +"The essential idea is that the data is stored in an external database. The " +"Python instances only hold keys to the database's tables. Descriptors take " +"care of lookups or updates:" +msgstr "" + +#: ../Doc/howto/descriptor.rst:821 +msgid "" +"We can use the :class:`Field` class to define `models `_ that describe the schema for each table in a " +"database:" +msgstr "" + +#: ../Doc/howto/descriptor.rst:846 +msgid "To use the models, first connect to the database::" msgstr "" -"El siguiente código crea una clase cuyos objetos son descriptores de datos " -"que imprimen un mensaje para cada lectura o escritura. Redefinir :meth:" -"`__getattribute__` es un enfoque alternativo que podría hacer esto para cada " -"atributo. Sin embargo, este descriptor es útil para monitorizar solo algunos " -"atributos elegidos::" -#: ../Doc/howto/descriptor.rst:181 +#: ../Doc/howto/descriptor.rst:851 msgid "" -"The protocol is simple and offers exciting possibilities. Several use cases " -"are so common that they have been packaged into individual function calls. " -"Properties, bound methods, static methods, and class methods are all based " -"on the descriptor protocol." +"An interactive session shows how data is retrieved from the database and how " +"it can be updated:" msgstr "" -"El protocolo es simple y ofrece interesantes posibilidades. Varios casos de " -"uso son tan comunes que se han empaquetado en llamadas a funciones " -"individuales. Las propiedades, los métodos vinculados, los métodos estáticos " -"y los métodos de clase se basan en el protocolo descriptor." -#: ../Doc/howto/descriptor.rst:188 +#: ../Doc/howto/descriptor.rst:896 +msgid "Pure Python Equivalents" +msgstr "" + +#: ../Doc/howto/descriptor.rst:898 +msgid "" +"The descriptor protocol is simple and offers exciting possibilities. " +"Several use cases are so common that they have been prepackaged into built-" +"in tools. Properties, bound methods, static methods, class methods, and \\_" +"\\_slots\\_\\_ are all based on the descriptor protocol." +msgstr "" + +#: ../Doc/howto/descriptor.rst:905 msgid "Properties" msgstr "Propiedades" -#: ../Doc/howto/descriptor.rst:190 +#: ../Doc/howto/descriptor.rst:907 +#, fuzzy msgid "" "Calling :func:`property` is a succinct way of building a data descriptor " -"that triggers function calls upon access to an attribute. Its signature is::" +"that triggers a function call upon access to an attribute. Its signature " +"is::" msgstr "" "Llamar a :func:`property` es una forma sucinta de construir un descriptor de " "datos que desencadena llamadas a funciones al acceder a un atributo. Su " "firma es::" -#: ../Doc/howto/descriptor.rst:195 +#: ../Doc/howto/descriptor.rst:912 +#, fuzzy msgid "" -"The documentation shows a typical use to define a managed attribute ``x``::" +"The documentation shows a typical use to define a managed attribute ``x``:" msgstr "" "La documentación muestra un uso típico para definir un atributo administrado " "``x``::" -#: ../Doc/howto/descriptor.rst:203 +#: ../Doc/howto/descriptor.rst:922 +#, fuzzy msgid "" "To see how :func:`property` is implemented in terms of the descriptor " -"protocol, here is a pure Python equivalent::" +"protocol, here is a pure Python equivalent:" msgstr "" "Para ver cómo se implementa :func:`property` en términos del protocolo " "descriptor, aquí hay un equivalente puro de Python::" -#: ../Doc/howto/descriptor.rst:243 +#: ../Doc/howto/descriptor.rst:1015 msgid "" "The :func:`property` builtin helps whenever a user interface has granted " "attribute access and then subsequent changes require the intervention of a " @@ -401,14 +814,15 @@ msgstr "" "usuario ha otorgado acceso a atributos y luego los cambios posteriores " "requieren la intervención de un método." -#: ../Doc/howto/descriptor.rst:247 +#: ../Doc/howto/descriptor.rst:1019 +#, fuzzy msgid "" "For instance, a spreadsheet class may grant access to a cell value through " "``Cell('b10').value``. Subsequent improvements to the program require the " "cell to be recalculated on every access; however, the programmer does not " "want to affect existing client code accessing the attribute directly. The " "solution is to wrap access to the value attribute in a property data " -"descriptor::" +"descriptor:" msgstr "" "Por ejemplo, una clase de hoja de cálculo puede otorgar acceso al valor de " "una celda a través de ``Cell('b10').value``. Las mejoras posteriores del " @@ -417,11 +831,18 @@ msgstr "" "accede al atributo directamente. La solución es envolver el acceso al valor " "del atributo en un descriptor de datos mediante una propiedad::" -#: ../Doc/howto/descriptor.rst:263 -msgid "Functions and Methods" +#: ../Doc/howto/descriptor.rst:1036 +msgid "" +"Either the built-in :func:`property` or our :func:`Property` equivalent " +"would work in this example." +msgstr "" + +#: ../Doc/howto/descriptor.rst:1041 +#, fuzzy +msgid "Functions and methods" msgstr "Funciones y métodos" -#: ../Doc/howto/descriptor.rst:265 +#: ../Doc/howto/descriptor.rst:1043 msgid "" "Python's object oriented features are built upon a function based " "environment. Using non-data descriptors, the two are merged seamlessly." @@ -430,48 +851,77 @@ msgstr "" "basado en funciones. Usando descriptores de no-datos, ambas se combinan " "perfectamente." -#: ../Doc/howto/descriptor.rst:268 +#: ../Doc/howto/descriptor.rst:1046 +msgid "" +"Functions stored in class dictionaries get turned into methods when invoked. " +"Methods only differ from regular functions in that the object instance is " +"prepended to the other arguments. By convention, the instance is called " +"*self* but could be called *this* or any other variable name." +msgstr "" + +#: ../Doc/howto/descriptor.rst:1051 msgid "" -"Class dictionaries store methods as functions. In a class definition, " -"methods are written using :keyword:`def` or :keyword:`lambda`, the usual " -"tools for creating functions. Methods only differ from regular functions in " -"that the first argument is reserved for the object instance. By Python " -"convention, the instance reference is called *self* but may be called *this* " -"or any other variable name." +"Methods can be created manually with :class:`types.MethodType` which is " +"roughly equivalent to:" msgstr "" -"Los diccionarios de clase almacenan los métodos como funciones. En una " -"definición de clase, los métodos se escriben usando :keyword:`def` o :" -"keyword:`lambda`, las herramientas habituales para crear funciones. Los " -"métodos solo difieren de las funciones regulares en que el primer argumento " -"está reservado para la instancia del objeto. Por convención en Python, la " -"referencia de instancia se llama *self* pero puede llamarse *this* o " -"cualquier otro nombre de variable." -#: ../Doc/howto/descriptor.rst:275 +#: ../Doc/howto/descriptor.rst:1068 msgid "" -"To support method calls, functions include the :meth:`__get__` method for " -"binding methods during attribute access. This means that all functions are " -"non-data descriptors which return bound methods when they are invoked from " -"an object. In pure Python, it works like this::" +"To support automatic creation of methods, functions include the :meth:" +"`__get__` method for binding methods during attribute access. This means " +"that functions are non-data descriptors that return bound methods during " +"dotted lookup from an instance. Here's how it works:" msgstr "" -"Para admitir llamadas a métodos, las funciones incluyen el método :meth:" -"`__get__` para vincular métodos durante el acceso a atributos. Esto " -"significa que todas las funciones son descriptores de no-datos que devuelven " -"métodos enlazados cuando se invocan desde un objeto. En Python puro, " -"funciona así::" -#: ../Doc/howto/descriptor.rst:288 +#: ../Doc/howto/descriptor.rst:1084 +#, fuzzy msgid "" -"Running the interpreter shows how the function descriptor works in practice::" +"Running the following class in the interpreter shows how the function " +"descriptor works in practice:" msgstr "" "Ejecutar el intérprete muestra como funciona el descriptor de función en la " "práctica::" -#: ../Doc/howto/descriptor.rst:326 -msgid "Static Methods and Class Methods" -msgstr "Métodos estáticos y métodos de clase" +#: ../Doc/howto/descriptor.rst:1093 +msgid "" +"The function has a :term:`qualified name` attribute to support introspection:" +msgstr "" + +#: ../Doc/howto/descriptor.rst:1100 +msgid "" +"Accessing the function through the class dictionary does not invoke :meth:" +"`__get__`. Instead, it just returns the underlying function object::" +msgstr "" + +#: ../Doc/howto/descriptor.rst:1106 +msgid "" +"Dotted access from a class calls :meth:`__get__` which just returns the " +"underlying function unchanged::" +msgstr "" -#: ../Doc/howto/descriptor.rst:328 +#: ../Doc/howto/descriptor.rst:1112 +msgid "" +"The interesting behavior occurs during dotted access from an instance. The " +"dotted lookup calls :meth:`__get__` which returns a bound method object::" +msgstr "" + +#: ../Doc/howto/descriptor.rst:1119 +msgid "" +"Internally, the bound method stores the underlying function and the bound " +"instance::" +msgstr "" + +#: ../Doc/howto/descriptor.rst:1128 +msgid "" +"If you have ever wondered where *self* comes from in regular methods or " +"where *cls* comes from in class methods, this is it!" +msgstr "" + +#: ../Doc/howto/descriptor.rst:1133 +msgid "Other kinds of methods" +msgstr "" + +#: ../Doc/howto/descriptor.rst:1135 msgid "" "Non-data descriptors provide a simple mechanism for variations on the usual " "patterns of binding functions into methods." @@ -479,11 +929,12 @@ msgstr "" "Los descriptores de no-datos proporcionan un mecanismo simple para " "variaciones de los patrones habituales para vincular funciones en métodos." -#: ../Doc/howto/descriptor.rst:331 +#: ../Doc/howto/descriptor.rst:1138 +#, fuzzy msgid "" "To recap, functions have a :meth:`__get__` method so that they can be " "converted to a method when accessed as attributes. The non-data descriptor " -"transforms an ``obj.f(*args)`` call into ``f(obj, *args)``. Calling ``klass." +"transforms an ``obj.f(*args)`` call into ``f(obj, *args)``. Calling ``cls." "f(*args)`` becomes ``f(*args)``." msgstr "" "En resumen, las funciones tienen un método :meth:`__get__` para que se " @@ -491,52 +942,60 @@ msgstr "" "descriptor de no-datos transforma una llamada a ``obj.f(*args)`` en ``f(obj, " "*args)``. Llamar a ``klass.f(*args)`` se convierte en ``f(*args)``." -#: ../Doc/howto/descriptor.rst:336 +#: ../Doc/howto/descriptor.rst:1143 msgid "This chart summarizes the binding and its two most useful variants:" msgstr "" "Este cuadro resume el enlace (*binding*) y sus dos variantes más útiles:" -#: ../Doc/howto/descriptor.rst:339 +#: ../Doc/howto/descriptor.rst:1146 msgid "Transformation" msgstr "Transformación" -#: ../Doc/howto/descriptor.rst:339 -msgid "Called from an Object" +#: ../Doc/howto/descriptor.rst:1146 +#, fuzzy +msgid "Called from an object" msgstr "Llamado desde un objeto" -#: ../Doc/howto/descriptor.rst:339 -msgid "Called from a Class" +#: ../Doc/howto/descriptor.rst:1146 +#, fuzzy +msgid "Called from a class" msgstr "Llamado desde una clase" -#: ../Doc/howto/descriptor.rst:342 +#: ../Doc/howto/descriptor.rst:1149 msgid "function" msgstr "función" -#: ../Doc/howto/descriptor.rst:342 +#: ../Doc/howto/descriptor.rst:1149 msgid "f(obj, \\*args)" msgstr "f(obj, \\*args)" -#: ../Doc/howto/descriptor.rst:342 ../Doc/howto/descriptor.rst:344 +#: ../Doc/howto/descriptor.rst:1149 ../Doc/howto/descriptor.rst:1151 msgid "f(\\*args)" msgstr "f(\\*args)" -#: ../Doc/howto/descriptor.rst:344 +#: ../Doc/howto/descriptor.rst:1151 msgid "staticmethod" msgstr "método estático" -#: ../Doc/howto/descriptor.rst:346 +#: ../Doc/howto/descriptor.rst:1153 msgid "classmethod" msgstr "método de clase" -#: ../Doc/howto/descriptor.rst:346 +#: ../Doc/howto/descriptor.rst:1153 msgid "f(type(obj), \\*args)" msgstr "f(type(obj), \\*args)" -#: ../Doc/howto/descriptor.rst:346 -msgid "f(klass, \\*args)" +#: ../Doc/howto/descriptor.rst:1153 +#, fuzzy +msgid "f(cls, \\*args)" msgstr "f(klass, \\*args)" -#: ../Doc/howto/descriptor.rst:349 +#: ../Doc/howto/descriptor.rst:1158 +#, fuzzy +msgid "Static methods" +msgstr "método estático" + +#: ../Doc/howto/descriptor.rst:1160 msgid "" "Static methods return the underlying function without changes. Calling " "either ``c.f`` or ``C.f`` is the equivalent of a direct lookup into ``object." @@ -550,7 +1009,7 @@ msgstr "" "Como resultado, la función se vuelve idénticamente accesible desde un objeto " "o una clase." -#: ../Doc/howto/descriptor.rst:355 +#: ../Doc/howto/descriptor.rst:1166 msgid "" "Good candidates for static methods are methods that do not reference the " "``self`` variable." @@ -558,7 +1017,7 @@ msgstr "" "Buenos candidatos para ser métodos estáticos son los métodos que no hacen " "referencia a la variable ``self``." -#: ../Doc/howto/descriptor.rst:358 +#: ../Doc/howto/descriptor.rst:1169 msgid "" "For instance, a statistics package may include a container class for " "experimental data. The class provides normal methods for computing the " @@ -579,39 +1038,48 @@ msgstr "" "en particular. Se puede llamar desde un objeto o la clase: ``s.erf(1.5) --" "> .9332`` o ``Sample.erf(1.5) --> .9332``." -#: ../Doc/howto/descriptor.rst:367 +#: ../Doc/howto/descriptor.rst:1178 +#, fuzzy msgid "" -"Since staticmethods return the underlying function with no changes, the " -"example calls are unexciting::" +"Since static methods return the underlying function with no changes, the " +"example calls are unexciting:" msgstr "" "Dado que los métodos estáticos devuelven la función subyacente sin cambios, " "las llamadas de ejemplo carecen de interés::" -#: ../Doc/howto/descriptor.rst:380 +#: ../Doc/howto/descriptor.rst:1195 +#, fuzzy msgid "" "Using the non-data descriptor protocol, a pure Python version of :func:" -"`staticmethod` would look like this::" +"`staticmethod` would look like this:" msgstr "" "Usando el protocolo descriptor de no-datos, una versión pura de Python de :" "func:`staticmethod` se vería así::" -#: ../Doc/howto/descriptor.rst:392 +#: ../Doc/howto/descriptor.rst:1211 +#, fuzzy +msgid "Class methods" +msgstr "método de clase" + +#: ../Doc/howto/descriptor.rst:1213 +#, fuzzy msgid "" "Unlike static methods, class methods prepend the class reference to the " "argument list before calling the function. This format is the same for " -"whether the caller is an object or a class::" +"whether the caller is an object or a class:" msgstr "" "A diferencia de los métodos estáticos, los métodos de clase anteponen la " "referencia de clase a la lista de argumentos antes de llamar a la función. " "Este formato es el mismo si quien llama es un objeto o una clase::" -#: ../Doc/howto/descriptor.rst:407 +#: ../Doc/howto/descriptor.rst:1231 +#, fuzzy msgid "" -"This behavior is useful whenever the function only needs to have a class " -"reference and does not care about any underlying data. One use for " -"classmethods is to create alternate class constructors. In Python 2.3, the " -"classmethod :func:`dict.fromkeys` creates a new dictionary from a list of " -"keys. The pure Python equivalent is::" +"This behavior is useful whenever the method only needs to have a class " +"reference and does not rely on data stored in a specific instance. One use " +"for class methods is to create alternate class constructors. For example, " +"the classmethod :func:`dict.fromkeys` creates a new dictionary from a list " +"of keys. The pure Python equivalent is:" msgstr "" "Este comportamiento es útil siempre que la función solo necesite tener una " "referencia de clase y no preocuparse por los datos subyacentes. Un uso de " @@ -619,14 +1087,277 @@ msgstr "" "2.3, el método de clase :func:`dict.fromkeys` crea un nuevo diccionario a " "partir de una lista de claves. El equivalente puro de Python es:" -#: ../Doc/howto/descriptor.rst:423 -msgid "Now a new dictionary of unique keys can be constructed like this::" +#: ../Doc/howto/descriptor.rst:1248 +#, fuzzy +msgid "Now a new dictionary of unique keys can be constructed like this:" msgstr "Ahora se puede construir un nuevo diccionario de claves únicas así::" -#: ../Doc/howto/descriptor.rst:428 +#: ../Doc/howto/descriptor.rst:1258 +#, fuzzy msgid "" "Using the non-data descriptor protocol, a pure Python version of :func:" -"`classmethod` would look like this::" +"`classmethod` would look like this:" msgstr "" "Usando el protocolo descriptor de no-datos, una implementación pura en " "Python de :func:`classmethod` se vería así::" + +#: ../Doc/howto/descriptor.rst:1296 +msgid "" +"The code path for ``hasattr(obj, '__get__')`` was added in Python 3.9 and " +"makes it possible for :func:`classmethod` to support chained decorators. For " +"example, a classmethod and property could be chained together:" +msgstr "" + +#: ../Doc/howto/descriptor.rst:1315 +msgid "Member objects and __slots__" +msgstr "" + +#: ../Doc/howto/descriptor.rst:1317 +msgid "" +"When a class defines ``__slots__``, it replaces instance dictionaries with a " +"fixed-length array of slot values. From a user point of view that has " +"several effects:" +msgstr "" + +#: ../Doc/howto/descriptor.rst:1321 +msgid "" +"1. Provides immediate detection of bugs due to misspelled attribute " +"assignments. Only attribute names specified in ``__slots__`` are allowed:" +msgstr "" + +#: ../Doc/howto/descriptor.rst:1337 +msgid "" +"2. Helps create immutable objects where descriptors manage access to private " +"attributes stored in ``__slots__``:" +msgstr "" + +#: ../Doc/howto/descriptor.rst:1372 +msgid "" +"3. Saves memory. On a 64-bit Linux build, an instance with two attributes " +"takes 48 bytes with ``__slots__`` and 152 bytes without. This `flyweight " +"design pattern `_ likely " +"only matters when a large number of instances are going to be created." +msgstr "" + +#: ../Doc/howto/descriptor.rst:1377 +msgid "" +"4. Blocks tools like :func:`functools.cached_property` which require an " +"instance dictionary to function correctly:" +msgstr "" + +#: ../Doc/howto/descriptor.rst:1399 +msgid "" +"It is not possible to create an exact drop-in pure Python version of " +"``__slots__`` because it requires direct access to C structures and control " +"over object memory allocation. However, we can build a mostly faithful " +"simulation where the actual C structure for slots is emulated by a private " +"``_slotvalues`` list. Reads and writes to that private structure are " +"managed by member descriptors:" +msgstr "" + +#: ../Doc/howto/descriptor.rst:1442 +msgid "" +"The :meth:`type.__new__` method takes care of adding member objects to class " +"variables:" +msgstr "" + +#: ../Doc/howto/descriptor.rst:1458 +msgid "" +"The :meth:`object.__new__` method takes care of creating instances that have " +"slots instead of an instance dictionary. Here is a rough simulation in pure " +"Python:" +msgstr "" + +#: ../Doc/howto/descriptor.rst:1493 +msgid "" +"To use the simulation in a real class, just inherit from :class:`Object` and " +"set the :term:`metaclass` to :class:`Type`:" +msgstr "" + +#: ../Doc/howto/descriptor.rst:1507 +msgid "" +"At this point, the metaclass has loaded member objects for *x* and *y*::" +msgstr "" + +#: ../Doc/howto/descriptor.rst:1528 +msgid "" +"When instances are created, they have a ``slot_values`` list where the " +"attributes are stored:" +msgstr "" + +#: ../Doc/howto/descriptor.rst:1540 +msgid "Misspelled or unassigned attributes will raise an exception:" +msgstr "" + +#~ msgid "" +#~ "Defines descriptors, summarizes the protocol, and shows how descriptors " +#~ "are called. Examines a custom descriptor and several built-in Python " +#~ "descriptors including functions, properties, static methods, and class " +#~ "methods. Shows how each works by giving a pure Python equivalent and a " +#~ "sample application." +#~ msgstr "" +#~ "Definir los descriptores, resumir el protocolo y mostrar como los " +#~ "descriptores son llamados. Estudiar un descriptor personalizado y varios " +#~ "descriptores de Python incorporados, incluidas funciones, propiedades, " +#~ "métodos estáticos y métodos de clase. Mostrar como funciona cada uno " +#~ "proporcionando un equivalente puro de Python y un ejemplo de aplicación." + +#~ msgid "" +#~ "In general, a descriptor is an object attribute with \"binding behavior" +#~ "\", one whose attribute access has been overridden by methods in the " +#~ "descriptor protocol. Those methods are :meth:`__get__`, :meth:`__set__`, " +#~ "and :meth:`__delete__`. If any of those methods are defined for an " +#~ "object, it is said to be a descriptor." +#~ msgstr "" +#~ "En general, un descriptor es un atributo de objeto con \"comportamiento " +#~ "vinculante\", dónde el acceso al atributo ha sido reemplazado por métodos " +#~ "en el protocolo del descriptor. Esos métodos son :meth:`__get__`, :meth:" +#~ "`__set__` y :meth:`__delete__`. Si alguno de esos métodos está definido " +#~ "para un objeto, se dice que es un descriptor." + +#~ msgid "" +#~ "Descriptors are a powerful, general purpose protocol. They are the " +#~ "mechanism behind properties, methods, static methods, class methods, and :" +#~ "func:`super()`. They are used throughout Python itself to implement the " +#~ "new style classes introduced in version 2.2. Descriptors simplify the " +#~ "underlying C-code and offer a flexible set of new tools for everyday " +#~ "Python programs." +#~ msgstr "" +#~ "Los descriptores son un potente protocolo de propósito general. Son el " +#~ "mecanismo detrás de las propiedades, métodos, métodos estáticos, métodos " +#~ "de clase y :func:`super()`. Se utilizan en todo Python para implementar " +#~ "las clases de nuevo estilo introducidas en la versión 2.2. Los " +#~ "descriptores simplifican el código C subyacente y ofrecen un conjunto " +#~ "flexible de nuevas herramientas para los programas de Python cotidianos." + +#~ msgid "Invoking Descriptors" +#~ msgstr "Invocar descriptores" + +#~ msgid "" +#~ "Alternatively, it is more common for a descriptor to be invoked " +#~ "automatically upon attribute access. For example, ``obj.d`` looks up " +#~ "``d`` in the dictionary of ``obj``. If ``d`` defines the method :meth:" +#~ "`__get__`, then ``d.__get__(obj)`` is invoked according to the precedence " +#~ "rules listed below." +#~ msgstr "" +#~ "Alternativamente, es más común que un descriptor se invoque " +#~ "automáticamente al acceder a un atributo. Por ejemplo, ``obj.d`` busca " +#~ "``d`` en el diccionario de ``obj``. Si ``d`` define el método :meth:" +#~ "`__get__`, entonces se invoca ``d.__get__(obj)`` de acuerdo con las " +#~ "reglas de precedencia que se enumeran a continuación." + +#~ msgid "" +#~ "For objects, the machinery is in :meth:`object.__getattribute__` which " +#~ "transforms ``b.x`` into ``type(b).__dict__['x'].__get__(b, type(b))``. " +#~ "The implementation works through a precedence chain that gives data " +#~ "descriptors priority over instance variables, instance variables priority " +#~ "over non-data descriptors, and assigns lowest priority to :meth:" +#~ "`__getattr__` if provided. The full C implementation can be found in :c:" +#~ "func:`PyObject_GenericGetAttr()` in :source:`Objects/object.c`." +#~ msgstr "" +#~ "Para los objetos, el mecanismo se encuentra en :meth:`object." +#~ "__getattribute__` que transforma ``b.x`` en ``type(b).__dict__['x']." +#~ "__get__(b, type(b))``. La implementación funciona a través de una cadena " +#~ "de precedencia que da a los descriptores de datos prioridad sobre las " +#~ "variables de instancia, a las variables de instancia prioridad sobre los " +#~ "descriptores de no-datos y asigna la prioridad más baja a :meth:" +#~ "`__getattr__` si se proporciona. La implementación completa en C se puede " +#~ "encontrar en :c:func:`PyObject_GenericGetAttr()` en :source:`Objects/" +#~ "object.c`." + +#~ msgid "" +#~ "For classes, the machinery is in :meth:`type.__getattribute__` which " +#~ "transforms ``B.x`` into ``B.__dict__['x'].__get__(None, B)``. In pure " +#~ "Python, it looks like::" +#~ msgstr "" +#~ "Para clases, el mecanismo se define en :meth:`type.__getattribute__` que " +#~ "transforma ``B.x`` en ``B.__dict__['x'].__get__(None, B)``. En Python " +#~ "puro, quedaría así::" + +#~ msgid "" +#~ "The object returned by ``super()`` also has a custom :meth:" +#~ "`__getattribute__` method for invoking descriptors. The attribute lookup " +#~ "``super(B, obj).m`` searches ``obj.__class__.__mro__`` for the base class " +#~ "``A`` immediately following ``B`` and then returns ``A.__dict__['m']." +#~ "__get__(obj, B)``. If not a descriptor, ``m`` is returned unchanged. If " +#~ "not in the dictionary, ``m`` reverts to a search using :meth:`object." +#~ "__getattribute__`." +#~ msgstr "" +#~ "El objeto devuelto por ``super()`` también tiene un método personalizado :" +#~ "meth:`__getattribute__` para poder invocar descriptores. La búsqueda de " +#~ "atributo ``super(B, obj).m`` busca ``obj.__class__.__mro__`` para la " +#~ "clase base ``A`` inmediatamente después de ``B`` y luego devuelve ``A." +#~ "__dict__['m'].__get__(obj, B)``. Si no es un descriptor, se devuelve " +#~ "``m`` sin cambios. Si no está en el diccionario, ``m`` revierte a una " +#~ "búsqueda usando :meth:`object.__getattribute__`." + +#~ msgid "" +#~ "The details above show that the mechanism for descriptors is embedded in " +#~ "the :meth:`__getattribute__()` methods for :class:`object`, :class:" +#~ "`type`, and :func:`super`. Classes inherit this machinery when they " +#~ "derive from :class:`object` or if they have a meta-class providing " +#~ "similar functionality. Likewise, classes can turn-off descriptor " +#~ "invocation by overriding :meth:`__getattribute__()`." +#~ msgstr "" +#~ "Los detalles anteriores muestran que el mecanismo para los descriptores " +#~ "está incrustado en los métodos :meth:`__getattribute__()` para :class:" +#~ "`object`, :class:`type` y :func:`super`. Las clases heredan este " +#~ "mecanismo cuando derivan de :class:`object` o mediante una metaclase que " +#~ "proporcione funcionalidades similares. Del mismo modo, las clases pueden " +#~ "desactivar la invocación del descriptor redefiniendo :meth:" +#~ "`__getattribute__()`." + +#~ msgid "" +#~ "The following code creates a class whose objects are data descriptors " +#~ "which print a message for each get or set. Overriding :meth:" +#~ "`__getattribute__` is alternate approach that could do this for every " +#~ "attribute. However, this descriptor is useful for monitoring just a few " +#~ "chosen attributes::" +#~ msgstr "" +#~ "El siguiente código crea una clase cuyos objetos son descriptores de " +#~ "datos que imprimen un mensaje para cada lectura o escritura. Redefinir :" +#~ "meth:`__getattribute__` es un enfoque alternativo que podría hacer esto " +#~ "para cada atributo. Sin embargo, este descriptor es útil para monitorizar " +#~ "solo algunos atributos elegidos::" + +#~ msgid "" +#~ "The protocol is simple and offers exciting possibilities. Several use " +#~ "cases are so common that they have been packaged into individual function " +#~ "calls. Properties, bound methods, static methods, and class methods are " +#~ "all based on the descriptor protocol." +#~ msgstr "" +#~ "El protocolo es simple y ofrece interesantes posibilidades. Varios casos " +#~ "de uso son tan comunes que se han empaquetado en llamadas a funciones " +#~ "individuales. Las propiedades, los métodos vinculados, los métodos " +#~ "estáticos y los métodos de clase se basan en el protocolo descriptor." + +#~ msgid "" +#~ "Class dictionaries store methods as functions. In a class definition, " +#~ "methods are written using :keyword:`def` or :keyword:`lambda`, the usual " +#~ "tools for creating functions. Methods only differ from regular functions " +#~ "in that the first argument is reserved for the object instance. By " +#~ "Python convention, the instance reference is called *self* but may be " +#~ "called *this* or any other variable name." +#~ msgstr "" +#~ "Los diccionarios de clase almacenan los métodos como funciones. En una " +#~ "definición de clase, los métodos se escriben usando :keyword:`def` o :" +#~ "keyword:`lambda`, las herramientas habituales para crear funciones. Los " +#~ "métodos solo difieren de las funciones regulares en que el primer " +#~ "argumento está reservado para la instancia del objeto. Por convención en " +#~ "Python, la referencia de instancia se llama *self* pero puede llamarse " +#~ "*this* o cualquier otro nombre de variable." + +#~ msgid "" +#~ "To support method calls, functions include the :meth:`__get__` method for " +#~ "binding methods during attribute access. This means that all functions " +#~ "are non-data descriptors which return bound methods when they are invoked " +#~ "from an object. In pure Python, it works like this::" +#~ msgstr "" +#~ "Para admitir llamadas a métodos, las funciones incluyen el método :meth:" +#~ "`__get__` para vincular métodos durante el acceso a atributos. Esto " +#~ "significa que todas las funciones son descriptores de no-datos que " +#~ "devuelven métodos enlazados cuando se invocan desde un objeto. En Python " +#~ "puro, funciona así::" + +#~ msgid "Static Methods and Class Methods" +#~ msgstr "Métodos estáticos y métodos de clase" diff --git a/howto/instrumentation.po b/howto/instrumentation.po index d0fbeca152..be4997d4ff 100644 --- a/howto/instrumentation.po +++ b/howto/instrumentation.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-10-09 13:37-0300\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/howto/instrumentation.rst:7 msgid "Instrumenting CPython with DTrace and SystemTap" @@ -246,7 +245,7 @@ msgstr "(asumiendo una compilación de depuración de CPython 3.6)" msgid "Available static markers" msgstr "Marcadores estáticos disponibles" -#: ../Doc/howto/instrumentation.rst:279 +#: ../Doc/howto/instrumentation.rst:277 msgid "" "This marker indicates that execution of a Python function has begun. It is " "only triggered for pure-Python (bytecode) functions." @@ -254,7 +253,7 @@ msgstr "" "Este marcador indica que ha comenzado la ejecución de una función de Python. " "Solo se activa para funciones de Python puro (código de bytes)." -#: ../Doc/howto/instrumentation.rst:282 +#: ../Doc/howto/instrumentation.rst:280 msgid "" "The filename, function name, and line number are provided back to the " "tracing script as positional arguments, which must be accessed using ``" @@ -264,7 +263,7 @@ msgstr "" "devuelven al script de rastreo como argumentos posicionales, a los que se " "debe acceder usando ``$arg1``, ``$arg2``, ``$arg3``:" -#: ../Doc/howto/instrumentation.rst:286 +#: ../Doc/howto/instrumentation.rst:284 msgid "" "``$arg1`` : ``(const char *)`` filename, accessible using " "``user_string($arg1)``" @@ -272,7 +271,7 @@ msgstr "" "``$arg1`` : ``(const char *)`` nombre del archivo, accesible usando " "``user_string($arg1)``" -#: ../Doc/howto/instrumentation.rst:288 +#: ../Doc/howto/instrumentation.rst:286 msgid "" "``$arg2`` : ``(const char *)`` function name, accessible using " "``user_string($arg2)``" @@ -280,11 +279,11 @@ msgstr "" "``$arg2`` : ``(const char *)`` nombre de la función, accesible usando " "``user_string($arg2)``" -#: ../Doc/howto/instrumentation.rst:291 +#: ../Doc/howto/instrumentation.rst:289 msgid "``$arg3`` : ``int`` line number" msgstr "``$arg3`` : ``int`` número de linea" -#: ../Doc/howto/instrumentation.rst:295 +#: ../Doc/howto/instrumentation.rst:293 msgid "" "This marker is the converse of :c:func:`function__entry`, and indicates that " "execution of a Python function has ended (either via ``return``, or via an " @@ -295,11 +294,11 @@ msgstr "" "o vía una excepción). Solo se activa para funciones de Python puro (código " "de bytes)." -#: ../Doc/howto/instrumentation.rst:299 +#: ../Doc/howto/instrumentation.rst:297 msgid "The arguments are the same as for :c:func:`function__entry`" msgstr "Los argumentos son los mismos que para :c:func:`function__entry`" -#: ../Doc/howto/instrumentation.rst:303 +#: ../Doc/howto/instrumentation.rst:301 msgid "" "This marker indicates a Python line is about to be executed. It is the " "equivalent of line-by-line tracing with a Python profiler. It is not " @@ -309,11 +308,11 @@ msgstr "" "el equivalente al rastreo línea por línea con un generador de perfiles de " "Python. No se activa con las funciones de C." -#: ../Doc/howto/instrumentation.rst:307 +#: ../Doc/howto/instrumentation.rst:305 msgid "The arguments are the same as for :c:func:`function__entry`." msgstr "Los argumentos son los mismos que para :c:func:`function__entry`." -#: ../Doc/howto/instrumentation.rst:311 +#: ../Doc/howto/instrumentation.rst:309 msgid "" "Fires when the Python interpreter starts a garbage collection cycle. " "``arg0`` is the generation to scan, like :func:`gc.collect()`." @@ -321,7 +320,7 @@ msgstr "" "Se activa cuando el intérprete de Python inicia un ciclo de recolección de " "basura. ``arg0`` es la generación a escanear, como :func:`gc.collect()`." -#: ../Doc/howto/instrumentation.rst:316 +#: ../Doc/howto/instrumentation.rst:314 msgid "" "Fires when the Python interpreter finishes a garbage collection cycle. " "``arg0`` is the number of collected objects." @@ -329,7 +328,7 @@ msgstr "" "Se activa cuando el intérprete de Python finaliza un ciclo de recolección de " "basura. ``arg0`` es el número de objetos recopilados." -#: ../Doc/howto/instrumentation.rst:321 +#: ../Doc/howto/instrumentation.rst:319 msgid "" "Fires before :mod:`importlib` attempts to find and load the module. ``arg0`` " "is the module name." @@ -337,7 +336,7 @@ msgstr "" "Se activa antes :mod:`importlib` e intenta encontrar y cargar el módulo. " "``arg0`` es el nombre del módulo." -#: ../Doc/howto/instrumentation.rst:328 +#: ../Doc/howto/instrumentation.rst:326 msgid "" "Fires after :mod:`importlib`'s find_and_load function is called. ``arg0`` is " "the module name, ``arg1`` indicates if module was successfully loaded." @@ -346,7 +345,7 @@ msgstr "" "llamada. ``arg0`` es el nombre del módulo,``arg1`` indica si el módulo se " "cargó correctamente." -#: ../Doc/howto/instrumentation.rst:337 +#: ../Doc/howto/instrumentation.rst:335 msgid "" "Fires when :func:`sys.audit` or :c:func:`PySys_Audit` is called. ``arg0`` is " "the event name as C string, ``arg1`` is a :c:type:`PyObject` pointer to a " @@ -356,11 +355,11 @@ msgstr "" "``arg0`` es el nombre del evento como cadena C, ``arg1`` es un puntero :c:" "type:`PyObject` a un objeto tupla." -#: ../Doc/howto/instrumentation.rst:345 +#: ../Doc/howto/instrumentation.rst:343 msgid "SystemTap Tapsets" msgstr "SystemTap Tapsets" -#: ../Doc/howto/instrumentation.rst:347 +#: ../Doc/howto/instrumentation.rst:345 msgid "" "The higher-level way to use the SystemTap integration is to use a \"tapset" "\": SystemTap's equivalent of a library, which hides some of the lower-level " @@ -370,13 +369,13 @@ msgstr "" "utilizar un \"tapset\": el equivalente de SystemTap a una biblioteca, que " "oculta algunos de los detalles de bajo nivel de los marcadores estáticos." -#: ../Doc/howto/instrumentation.rst:351 +#: ../Doc/howto/instrumentation.rst:349 msgid "Here is a tapset file, based on a non-shared build of CPython:" msgstr "" "A continuación un archivo de tapset, basado en una compilación no compartida " "de CPython:" -#: ../Doc/howto/instrumentation.rst:374 +#: ../Doc/howto/instrumentation.rst:372 msgid "" "If this file is installed in SystemTap's tapset directory (e.g. ``/usr/share/" "systemtap/tapset``), then these additional probepoints become available:" @@ -385,7 +384,7 @@ msgstr "" "ejemplo, ``/usr/share/systemtap/tapset``), estos puntos de sonda adicionales " "estarán disponibles:" -#: ../Doc/howto/instrumentation.rst:380 +#: ../Doc/howto/instrumentation.rst:378 msgid "" "This probe point indicates that execution of a Python function has begun. It " "is only triggered for pure-Python (bytecode) functions." @@ -393,9 +392,10 @@ msgstr "" "Este punto de sonda indica que ha comenzado la ejecución de una función de " "Python. Solo se activa para funciones de Python puro (código de bytes)." -#: ../Doc/howto/instrumentation.rst:385 +#: ../Doc/howto/instrumentation.rst:383 +#, fuzzy msgid "" -"This probe point is the converse of :c:func:`python.function.return`, and " +"This probe point is the converse of ``python.function.return``, and " "indicates that execution of a Python function has ended (either via " "``return``, or via an exception). It is only triggered for pure-Python " "(bytecode) functions." @@ -405,11 +405,11 @@ msgstr "" "mediante ``return`` o mediante una excepción). Solo se activa para funciones " "de Python puro (código de bytes)." -#: ../Doc/howto/instrumentation.rst:392 +#: ../Doc/howto/instrumentation.rst:390 msgid "Examples" msgstr "Ejemplos" -#: ../Doc/howto/instrumentation.rst:393 +#: ../Doc/howto/instrumentation.rst:391 msgid "" "This SystemTap script uses the tapset above to more cleanly implement the " "example given above of tracing the Python function-call hierarchy, without " @@ -420,7 +420,7 @@ msgstr "" "funciones de Python, sin necesidad de nombrar directamente los marcadores " "estáticos:" -#: ../Doc/howto/instrumentation.rst:412 +#: ../Doc/howto/instrumentation.rst:410 msgid "" "The following script uses the tapset above to provide a top-like view of all " "running CPython code, showing the top 20 most frequently-entered bytecode " diff --git a/howto/logging-cookbook.po b/howto/logging-cookbook.po index da4266046f..6b84aa1803 100644 --- a/howto/logging-cookbook.po +++ b/howto/logging-cookbook.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: python-doc-es\n" @@ -795,16 +795,16 @@ msgstr "" #: ../Doc/howto/logging-cookbook.rst:1370 msgid "" "Below is an example of a logging configuration dictionary - it's taken from " -"the `documentation on the Django project `_. This dictionary is passed to :" +"the `documentation on the Django project `_. This dictionary is passed to :" "func:`~config.dictConfig` to put the configuration into effect::" msgstr "" #: ../Doc/howto/logging-cookbook.rst:1426 msgid "" "For more information about this configuration, you can see the `relevant " -"section `_ of the Django documentation." +"section `_ of the Django documentation." msgstr "" #: ../Doc/howto/logging-cookbook.rst:1433 diff --git a/howto/logging.po b/howto/logging.po index 9d4729f3dd..dea17495f3 100644 --- a/howto/logging.po +++ b/howto/logging.po @@ -1,29 +1,31 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. # Maintained by the python-doc-es workteam. -# docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ -# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers +# docs-es@python.org / +# https://mail.python.org/mailman3/lists/docs-es.python.org/ +# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get +# the list of volunteers # msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-06 11:59-0400\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-29 17:19-0700\n" +"Last-Translator: \n" +"Language: es_US\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.3.1\n" -"Last-Translator: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Language: es_US\n" +"Generated-By: Babel 2.8.0\n" #: ../Doc/howto/logging.rst:3 msgid "Logging HOWTO" msgstr "HOWTO Hacer Registros (*Logging*)" -#: ../Doc/howto/logging.rst:0 +#: ../Doc/howto/logging.rst msgid "Author" msgstr "Autor" @@ -164,7 +166,7 @@ msgstr "" "eventos que se utilizan para rastrear. A continuación se describen los " "niveles estándar y su aplicabilidad (en orden creciente de gravedad):" -#: ../Doc/howto/logging.rst:69 ../Doc/howto/logging.rst:846 +#: ../Doc/howto/logging.rst:69 ../Doc/howto/logging.rst:855 msgid "Level" msgstr "Nivel" @@ -172,7 +174,7 @@ msgstr "Nivel" msgid "When it's used" msgstr "Cuando es usado" -#: ../Doc/howto/logging.rst:71 ../Doc/howto/logging.rst:856 +#: ../Doc/howto/logging.rst:71 ../Doc/howto/logging.rst:865 msgid "``DEBUG``" msgstr "``DEBUG``" @@ -183,7 +185,7 @@ msgstr "" "Información detallada, típicamente de interés sólo durante el diagnóstico de " "problemas." -#: ../Doc/howto/logging.rst:74 ../Doc/howto/logging.rst:854 +#: ../Doc/howto/logging.rst:74 ../Doc/howto/logging.rst:863 msgid "``INFO``" msgstr "``INFO``" @@ -191,7 +193,7 @@ msgstr "``INFO``" msgid "Confirmation that things are working as expected." msgstr "Confirmación de que las cosas están funcionando como se esperaba." -#: ../Doc/howto/logging.rst:77 ../Doc/howto/logging.rst:852 +#: ../Doc/howto/logging.rst:77 ../Doc/howto/logging.rst:861 msgid "``WARNING``" msgstr "``WARNING``" @@ -205,7 +207,7 @@ msgstr "" "el futuro cercano (por ejemplo, \"espacio de disco bajo\"). El software " "sigue funcionando como se esperaba." -#: ../Doc/howto/logging.rst:82 ../Doc/howto/logging.rst:850 +#: ../Doc/howto/logging.rst:82 ../Doc/howto/logging.rst:859 msgid "``ERROR``" msgstr "``ERROR``" @@ -217,7 +219,7 @@ msgstr "" "Debido a un problema más grave, el software no ha sido capaz de realizar " "alguna función." -#: ../Doc/howto/logging.rst:85 ../Doc/howto/logging.rst:848 +#: ../Doc/howto/logging.rst:85 ../Doc/howto/logging.rst:857 msgid "``CRITICAL``" msgstr "``CRITICAL``" @@ -294,7 +296,16 @@ msgstr "" "Python recién iniciado, y no sólo continúe de la sesión descrita " "anteriormente::" -#: ../Doc/howto/logging.rst:136 +#: ../Doc/howto/logging.rst:137 +msgid "" +"The *encoding* argument was added. In earlier Python versions, or if not " +"specified, the encoding used is the default value used by :func:`open`. " +"While not shown in the above example, an *errors* argument can also now be " +"passed, which determines how encoding errors are handled. For available " +"values and the default, see the documentation for :func:`open`." +msgstr "" + +#: ../Doc/howto/logging.rst:144 msgid "" "And now if we open the file and look at what we have, we should find the log " "messages:" @@ -302,7 +313,7 @@ msgstr "" "Y ahora si abrimos el archivo y miramos lo que tenemos, deberíamos encontrar " "los mensajes de registro:" -#: ../Doc/howto/logging.rst:145 +#: ../Doc/howto/logging.rst:154 msgid "" "This example also shows how you can set the logging level which acts as the " "threshold for tracking. In this case, because we set the threshold to " @@ -312,14 +323,14 @@ msgstr "" "que actúa como umbral para el rastreo. En este caso, como establecimos el " "umbral en ``DEBUG``, todos los mensajes fueron impresos." -#: ../Doc/howto/logging.rst:149 +#: ../Doc/howto/logging.rst:158 msgid "" "If you want to set the logging level from a command-line option such as:" msgstr "" "Si quieres establecer el nivel de registro desde una opción de línea de " "comandos como:" -#: ../Doc/howto/logging.rst:155 +#: ../Doc/howto/logging.rst:164 msgid "" "and you have the value of the parameter passed for ``--log`` in some " "variable *loglevel*, you can use::" @@ -327,7 +338,7 @@ msgstr "" "y tienes el valor del parámetro pasado por ``--log`` en alguna variable " "*loglevel*, puedes usar::" -#: ../Doc/howto/logging.rst:160 +#: ../Doc/howto/logging.rst:169 msgid "" "to get the value which you'll pass to :func:`basicConfig` via the *level* " "argument. You may want to error check any user input value, perhaps as in " @@ -337,7 +348,7 @@ msgstr "" "argumento *level*. Puede que quieras comprobar un error por cualquier valor " "de entrada del usuario, quizás como en el siguiente ejemplo::" -#: ../Doc/howto/logging.rst:172 +#: ../Doc/howto/logging.rst:181 msgid "" "The call to :func:`basicConfig` should come *before* any calls to :func:" "`debug`, :func:`info` etc. As it's intended as a one-off simple " @@ -349,7 +360,7 @@ msgstr "" "facilidad de configuración única, sólo la primera llamada hará realmente " "algo: las llamadas subsiguientes son efectivamente no-ops." -#: ../Doc/howto/logging.rst:177 +#: ../Doc/howto/logging.rst:186 msgid "" "If you run the above script several times, the messages from successive runs " "are appended to the file *example.log*. If you want each run to start " @@ -362,7 +373,7 @@ msgstr "" "puedes especificar el argumento *filemode*, cambiando la llamada en el " "ejemplo anterior a::" -#: ../Doc/howto/logging.rst:184 +#: ../Doc/howto/logging.rst:193 msgid "" "The output will be the same as before, but the log file is no longer " "appended to, so the messages from earlier runs are lost." @@ -370,11 +381,11 @@ msgstr "" "La impresión será la misma que antes, pero el archivo de registro ya no se " "adjunta, por lo que los mensajes de las ejecuciones anteriores se pierden." -#: ../Doc/howto/logging.rst:189 +#: ../Doc/howto/logging.rst:198 msgid "Logging from multiple modules" msgstr "*Logging* de múltiples módulos" -#: ../Doc/howto/logging.rst:191 +#: ../Doc/howto/logging.rst:200 msgid "" "If your program consists of multiple modules, here's an example of how you " "could organize logging in it::" @@ -382,11 +393,11 @@ msgstr "" "Si su programa consiste de múltiples módulos, aquí hay un ejemplo de cómo " "podría organizar el inicio de sesión en él::" -#: ../Doc/howto/logging.rst:215 +#: ../Doc/howto/logging.rst:224 msgid "If you run *myapp.py*, you should see this in *myapp.log*:" msgstr "Si ejecutas *myapp.py*, deberías ver esto en *myapp.log*:" -#: ../Doc/howto/logging.rst:223 +#: ../Doc/howto/logging.rst:232 msgid "" "which is hopefully what you were expecting to see. You can generalize this " "to multiple modules, using the pattern in *mylib.py*. Note that for this " @@ -404,11 +415,11 @@ msgstr "" "documentación más allá del nivel del tutorial -- ver :ref:`logging-advanced-" "tutorial`." -#: ../Doc/howto/logging.rst:233 +#: ../Doc/howto/logging.rst:242 msgid "Logging variable data" msgstr "Registrar datos de variables" -#: ../Doc/howto/logging.rst:235 +#: ../Doc/howto/logging.rst:244 msgid "" "To log variable data, use a format string for the event description message " "and append the variable data as arguments. For example::" @@ -417,11 +428,12 @@ msgstr "" "mensaje de descripción del evento y añada los datos variables como " "argumentos. Por ejemplo::" -#: ../Doc/howto/logging.rst:241 +#: ../Doc/howto/logging.rst:250 msgid "will display:" msgstr "se mostrará:" -#: ../Doc/howto/logging.rst:247 +#: ../Doc/howto/logging.rst:256 +#, python-format msgid "" "As you can see, merging of variable data into the event description message " "uses the old, %-style of string formatting. This is for backwards " @@ -438,11 +450,11 @@ msgstr "" "pero explorarlas está fuera del alcance de este tutorial: ver :ref:" "`formatting-styles` para más información." -#: ../Doc/howto/logging.rst:256 +#: ../Doc/howto/logging.rst:265 msgid "Changing the format of displayed messages" msgstr "Cambiar el formato de los mensajes mostrados" -#: ../Doc/howto/logging.rst:258 +#: ../Doc/howto/logging.rst:267 msgid "" "To change the format which is used to display messages, you need to specify " "the format you want to use::" @@ -450,11 +462,11 @@ msgstr "" "Para cambiar el formato que se utiliza para visualizar los mensajes, es " "necesario especificar el formato que se desea utilizar::" -#: ../Doc/howto/logging.rst:267 +#: ../Doc/howto/logging.rst:276 msgid "which would print:" msgstr "que se imprimirá:" -#: ../Doc/howto/logging.rst:275 +#: ../Doc/howto/logging.rst:284 msgid "" "Notice that the 'root' which appeared in earlier examples has disappeared. " "For a full set of things that can appear in format strings, you can refer to " @@ -470,11 +482,12 @@ msgstr "" "*message* (descripción del evento, incluyendo los datos variables) y tal vez " "mostrar cuándo ocurrió el evento. Esto se describe en la siguiente sección." -#: ../Doc/howto/logging.rst:284 +#: ../Doc/howto/logging.rst:293 msgid "Displaying the date/time in messages" msgstr "Visualización de la fecha/hora en los mensajes" -#: ../Doc/howto/logging.rst:286 +#: ../Doc/howto/logging.rst:295 +#, python-format msgid "" "To display the date and time of an event, you would place '%(asctime)s' in " "your format string::" @@ -482,11 +495,11 @@ msgstr "" "Para mostrar la fecha y la hora de un evento, usted colocaría '%(asctime)s' " "en su cadena de formato::" -#: ../Doc/howto/logging.rst:293 +#: ../Doc/howto/logging.rst:302 msgid "which should print something like this:" msgstr "que debería imprimir algo como esto:" -#: ../Doc/howto/logging.rst:299 +#: ../Doc/howto/logging.rst:308 msgid "" "The default format for date/time display (shown above) is like ISO8601 or :" "rfc:`3339`. If you need more control over the formatting of the date/time, " @@ -497,11 +510,11 @@ msgstr "" "formato de la fecha/hora, proporcione un argumento *datefmt* a " "``basicConfig``, como en este ejemplo::" -#: ../Doc/howto/logging.rst:307 +#: ../Doc/howto/logging.rst:316 msgid "which would display something like this:" msgstr "que mostraría algo como esto:" -#: ../Doc/howto/logging.rst:313 +#: ../Doc/howto/logging.rst:322 msgid "" "The format of the *datefmt* argument is the same as supported by :func:`time." "strftime`." @@ -509,11 +522,11 @@ msgstr "" "El formato del argumento *datefmt* es el mismo que el soportado por :func:" "`time.strftime`." -#: ../Doc/howto/logging.rst:318 +#: ../Doc/howto/logging.rst:327 msgid "Next Steps" msgstr "Próximos pasos" -#: ../Doc/howto/logging.rst:320 +#: ../Doc/howto/logging.rst:329 msgid "" "That concludes the basic tutorial. It should be enough to get you up and " "running with logging. There's a lot more that the logging package offers, " @@ -527,7 +540,7 @@ msgstr "" "tiempo en la lectura de las siguientes secciones. Si estás listo para eso, " "toma un poco de tu bebida favorita y sigue adelante." -#: ../Doc/howto/logging.rst:326 +#: ../Doc/howto/logging.rst:335 msgid "" "If your logging needs are simple, then use the above examples to incorporate " "logging into your own scripts, and if you run into problems or don't " @@ -541,7 +554,7 @@ msgstr "" "lang.python (disponible en https://groups.google.com/forum/#!forum/comp.lang." "python) y debería recibir ayuda antes de que transcurra demasiado tiempo." -#: ../Doc/howto/logging.rst:332 +#: ../Doc/howto/logging.rst:341 msgid "" "Still here? You can carry on reading the next few sections, which provide a " "slightly more advanced/in-depth tutorial than the basic one above. After " @@ -551,11 +564,11 @@ msgstr "" "proporcionan un tutorial un poco más avanzado y profundo que el básico de " "arriba. Después de eso, puedes echar un vistazo al :ref:`logging-cookbook`." -#: ../Doc/howto/logging.rst:340 +#: ../Doc/howto/logging.rst:349 msgid "Advanced Logging Tutorial" msgstr "Tutorial de registro avanzado" -#: ../Doc/howto/logging.rst:342 +#: ../Doc/howto/logging.rst:351 msgid "" "The logging library takes a modular approach and offers several categories " "of components: loggers, handlers, filters, and formatters." @@ -563,13 +576,13 @@ msgstr "" "La biblioteca de logging adopta un enfoque modular y ofrece varias " "categorías de componentes: registradores, gestores, filtros y formateadores." -#: ../Doc/howto/logging.rst:345 +#: ../Doc/howto/logging.rst:354 msgid "Loggers expose the interface that application code directly uses." msgstr "" "Los registradores exponen la interfaz que el código de la aplicación utiliza " "directamente." -#: ../Doc/howto/logging.rst:346 +#: ../Doc/howto/logging.rst:355 msgid "" "Handlers send the log records (created by loggers) to the appropriate " "destination." @@ -577,7 +590,7 @@ msgstr "" "Los gestores envían los registros de log (creados por los registradores) al " "destino apropiado." -#: ../Doc/howto/logging.rst:348 +#: ../Doc/howto/logging.rst:357 msgid "" "Filters provide a finer grained facility for determining which log records " "to output." @@ -585,13 +598,13 @@ msgstr "" "Los filtros proporcionan una instalación de grano más fino para determinar " "qué registros de log se deben producir." -#: ../Doc/howto/logging.rst:350 +#: ../Doc/howto/logging.rst:359 msgid "Formatters specify the layout of log records in the final output." msgstr "" "Los formatos especifican la disposición de los archivos de log en el " "resultado final." -#: ../Doc/howto/logging.rst:352 +#: ../Doc/howto/logging.rst:361 msgid "" "Log event information is passed between loggers, handlers, filters and " "formatters in a :class:`LogRecord` instance." @@ -599,7 +612,7 @@ msgstr "" "La información de los eventos de registro se pasa entre los registradores, " "gestores, filtros y formateadores en una instancia :class:`LogRecord`." -#: ../Doc/howto/logging.rst:355 +#: ../Doc/howto/logging.rst:364 msgid "" "Logging is performed by calling methods on instances of the :class:`Logger` " "class (hereafter called :dfn:`loggers`). Each instance has a name, and they " @@ -618,7 +631,7 @@ msgstr "" "cualquier cosa que se desee, e indican el área de una aplicación en la que " "se origina un mensaje registrado." -#: ../Doc/howto/logging.rst:362 +#: ../Doc/howto/logging.rst:371 msgid "" "A good convention to use when naming loggers is to use a module-level " "logger, in each module which uses logging, named as follows::" @@ -627,7 +640,7 @@ msgstr "" "es utilizar un registrador a nivel de módulo, en cada módulo que utilice el " "registro, llamado de la siguiente manera::" -#: ../Doc/howto/logging.rst:367 +#: ../Doc/howto/logging.rst:376 msgid "" "This means that logger names track the package/module hierarchy, and it's " "intuitively obvious where events are logged just from the logger name." @@ -636,7 +649,7 @@ msgstr "" "paquetes/módulos, y es intuitivamente obvio donde se registran los eventos " "sólo a partir del nombre del registrador." -#: ../Doc/howto/logging.rst:370 +#: ../Doc/howto/logging.rst:379 msgid "" "The root of the hierarchy of loggers is called the root logger. That's the " "logger used by the functions :func:`debug`, :func:`info`, :func:`warning`, :" @@ -650,7 +663,7 @@ msgstr "" "del registrador raíz. Las funciones y los métodos tienen las mismas firmas. " "El nombre del root *logger* se imprime como ‘root’ en la salida registrada." -#: ../Doc/howto/logging.rst:376 +#: ../Doc/howto/logging.rst:385 msgid "" "It is, of course, possible to log messages to different destinations. " "Support is included in the package for writing log messages to files, HTTP " @@ -669,7 +682,7 @@ msgstr "" "de registro si tienes requisitos especiales que no se cumplen con ninguna de " "las clases de gestor incorporadas." -#: ../Doc/howto/logging.rst:383 +#: ../Doc/howto/logging.rst:392 msgid "" "By default, no destination is set for any logging messages. You can specify " "a destination (such as console or file) by using :func:`basicConfig` as in " @@ -689,13 +702,13 @@ msgstr "" "stderr``) y un formato por defecto para el mensaje mostrado antes de delegar " "en el registrador root para hacer la salida real del mensaje." -#: ../Doc/howto/logging.rst:391 +#: ../Doc/howto/logging.rst:400 msgid "The default format set by :func:`basicConfig` for messages is:" msgstr "" "El formato por defecto establecido por :func:`basicConfig` para los mensajes " "es:" -#: ../Doc/howto/logging.rst:397 +#: ../Doc/howto/logging.rst:406 msgid "" "You can change this by passing a format string to :func:`basicConfig` with " "the *format* keyword argument. For all options regarding how a format string " @@ -705,11 +718,11 @@ msgstr "" "el argumento de la palabra clave *format*. Para todas las opciones relativas " "a cómo se construye una cadena de formato, ver :ref:`formatter-objects`." -#: ../Doc/howto/logging.rst:402 +#: ../Doc/howto/logging.rst:411 msgid "Logging Flow" msgstr "Flujo de Registro" -#: ../Doc/howto/logging.rst:404 +#: ../Doc/howto/logging.rst:413 msgid "" "The flow of log event information in loggers and handlers is illustrated in " "the following diagram." @@ -717,11 +730,11 @@ msgstr "" "En el siguiente diagrama se ilustra el flujo de información de los eventos " "de registro en los registradores y gestores." -#: ../Doc/howto/logging.rst:410 +#: ../Doc/howto/logging.rst:419 msgid "Loggers" msgstr "Registradores" -#: ../Doc/howto/logging.rst:412 +#: ../Doc/howto/logging.rst:421 msgid "" ":class:`Logger` objects have a threefold job. First, they expose several " "methods to application code so that applications can log messages at " @@ -738,7 +751,7 @@ msgstr "" "objetos registradores pasan los mensajes de registro relevantes a todos los " "manejadores de registro interesados." -#: ../Doc/howto/logging.rst:418 +#: ../Doc/howto/logging.rst:427 msgid "" "The most widely used methods on logger objects fall into two categories: " "configuration and message sending." @@ -746,11 +759,11 @@ msgstr "" "Los métodos más utilizados en los objetos de registro se dividen en dos " "categorías: configuración y envío de mensajes." -#: ../Doc/howto/logging.rst:421 +#: ../Doc/howto/logging.rst:430 msgid "These are the most common configuration methods:" msgstr "Estos son los métodos de configuración más comunes:" -#: ../Doc/howto/logging.rst:423 +#: ../Doc/howto/logging.rst:432 msgid "" ":meth:`Logger.setLevel` specifies the lowest-severity log message a logger " "will handle, where debug is the lowest built-in severity level and critical " @@ -764,7 +777,7 @@ msgstr "" "el nivel de severidad es INFO, el registrador sólo manejará los mensajes " "INFO, WARNING, ERROR y CRITICAL e ignorará los mensajes DEBUG." -#: ../Doc/howto/logging.rst:429 +#: ../Doc/howto/logging.rst:438 msgid "" ":meth:`Logger.addHandler` and :meth:`Logger.removeHandler` add and remove " "handler objects from the logger object. Handlers are covered in more detail " @@ -774,7 +787,7 @@ msgstr "" "los objetos *handler* del objeto *logger*. Los manejadores (*handlers*) se " "tratan con más detalle en :ref:`handler-basic`." -#: ../Doc/howto/logging.rst:433 +#: ../Doc/howto/logging.rst:442 msgid "" ":meth:`Logger.addFilter` and :meth:`Logger.removeFilter` add and remove " "filter objects from the logger object. Filters are covered in more detail " @@ -784,7 +797,7 @@ msgstr "" "objetos de filtro del objeto logger. Los filtros se tratan con más detalle " "en :ref:`filter`." -#: ../Doc/howto/logging.rst:437 +#: ../Doc/howto/logging.rst:446 msgid "" "You don't need to always call these methods on every logger you create. See " "the last two paragraphs in this section." @@ -792,14 +805,15 @@ msgstr "" "No es necesario que siempre llames a estos métodos en cada registrador que " "crees. Vea los dos últimos párrafos de esta sección." -#: ../Doc/howto/logging.rst:440 +#: ../Doc/howto/logging.rst:449 msgid "" "With the logger object configured, the following methods create log messages:" msgstr "" "Con el objeto *logger* configurado, los siguientes métodos crean mensajes de " "log:" -#: ../Doc/howto/logging.rst:442 +#: ../Doc/howto/logging.rst:451 +#, python-format msgid "" ":meth:`Logger.debug`, :meth:`Logger.info`, :meth:`Logger.warning`, :meth:" "`Logger.error`, and :meth:`Logger.critical` all create log records with a " @@ -822,7 +836,7 @@ msgstr "" "clave de ``exc_info`` y la usan para determinar si registran información de " "excepción." -#: ../Doc/howto/logging.rst:452 +#: ../Doc/howto/logging.rst:461 msgid "" ":meth:`Logger.exception` creates a log message similar to :meth:`Logger." "error`. The difference is that :meth:`Logger.exception` dumps a stack trace " @@ -833,7 +847,7 @@ msgstr "" "pila junto con él. Llama a este método sólo desde un manejador de " "excepciones." -#: ../Doc/howto/logging.rst:456 +#: ../Doc/howto/logging.rst:465 msgid "" ":meth:`Logger.log` takes a log level as an explicit argument. This is a " "little more verbose for logging messages than using the log level " @@ -845,7 +859,7 @@ msgstr "" "conveniencia de nivel de registro listados arriba, pero así es como se " "registra en niveles de registro personalizados." -#: ../Doc/howto/logging.rst:460 +#: ../Doc/howto/logging.rst:469 msgid "" ":func:`getLogger` returns a reference to a logger instance with the " "specified name if it is provided, or ``root`` if not. The names are period-" @@ -865,7 +879,7 @@ msgstr "" "un *logger* con un nombre de ``foo``, los *loggers* con nombres de ``foo." "bar``, ``foo.bar.baz``, y ``foo.bam`` son todos descendientes de ``foo``." -#: ../Doc/howto/logging.rst:468 +#: ../Doc/howto/logging.rst:477 msgid "" "Loggers have a concept of *effective level*. If a level is not explicitly " "set on a logger, the level of its parent is used instead as its effective " @@ -886,7 +900,7 @@ msgstr "" "evento, el nivel efectivo del registrador se utiliza para determinar si el " "evento se pasa a los manejadores del registrador." -#: ../Doc/howto/logging.rst:476 +#: ../Doc/howto/logging.rst:485 msgid "" "Child loggers propagate messages up to the handlers associated with their " "ancestor loggers. Because of this, it is unnecessary to define and configure " @@ -903,11 +917,11 @@ msgstr "" "desactivar la propagación estableciendo el atributo *propagate* de un " "*logger* en ``False``.)" -#: ../Doc/howto/logging.rst:487 +#: ../Doc/howto/logging.rst:496 msgid "Handlers" msgstr "Gestores" -#: ../Doc/howto/logging.rst:489 +#: ../Doc/howto/logging.rst:498 msgid "" ":class:`~logging.Handler` objects are responsible for dispatching the " "appropriate log messages (based on the log messages' severity) to the " @@ -931,7 +945,7 @@ msgstr "" "responsable de enviar mensajes de una severidad específica a una ubicación " "específica." -#: ../Doc/howto/logging.rst:499 +#: ../Doc/howto/logging.rst:508 msgid "" "The standard library includes quite a few handler types (see :ref:`useful-" "handlers`); the tutorials use mainly :class:`StreamHandler` and :class:" @@ -941,7 +955,7 @@ msgstr "" "`useful-handlers`); los tutoriales usan principalmente :class:" "`StreamHandler` y :class:`FileHandler` en sus ejemplos." -#: ../Doc/howto/logging.rst:503 +#: ../Doc/howto/logging.rst:512 msgid "" "There are very few methods in a handler for application developers to " "concern themselves with. The only handler methods that seem relevant for " @@ -954,7 +968,7 @@ msgstr "" "de manejador incorporados (es decir, que no crean manejadores " "personalizados) son los siguientes métodos de configuración:" -#: ../Doc/howto/logging.rst:508 +#: ../Doc/howto/logging.rst:517 msgid "" "The :meth:`~Handler.setLevel` method, just as in logger objects, specifies " "the lowest severity that will be dispatched to the appropriate destination. " @@ -970,7 +984,7 @@ msgstr "" "manejadores. El nivel establecido en cada manejador determina qué mensajes " "enviará ese manejador." -#: ../Doc/howto/logging.rst:514 +#: ../Doc/howto/logging.rst:523 msgid "" ":meth:`~Handler.setFormatter` selects a Formatter object for this handler to " "use." @@ -978,7 +992,7 @@ msgstr "" ":meth:`~Handler.setFormatter` selecciona un objeto *Formatter* para que este " "*handler* lo use." -#: ../Doc/howto/logging.rst:517 +#: ../Doc/howto/logging.rst:526 msgid "" ":meth:`~Handler.addFilter` and :meth:`~Handler.removeFilter` respectively " "configure and deconfigure filter objects on handlers." @@ -986,7 +1000,7 @@ msgstr "" ":meth:`~Handler.addFilter` y :meth:`~Handler.removeFilter` respectivamente " "configuran y desconfiguran los objetos del filtro en los handlers." -#: ../Doc/howto/logging.rst:520 +#: ../Doc/howto/logging.rst:529 msgid "" "Application code should not directly instantiate and use instances of :class:" "`Handler`. Instead, the :class:`Handler` class is a base class that defines " @@ -998,11 +1012,11 @@ msgstr "" "base que define la interfaz que todos los *handlers* deben tener y establece " "algún comportamiento por defecto que las clases hijas pueden usar (o anular)." -#: ../Doc/howto/logging.rst:527 +#: ../Doc/howto/logging.rst:536 msgid "Formatters" msgstr "Formateadores" -#: ../Doc/howto/logging.rst:529 +#: ../Doc/howto/logging.rst:538 msgid "" "Formatter objects configure the final order, structure, and contents of the " "log message. Unlike the base :class:`logging.Handler` class, application " @@ -1019,7 +1033,7 @@ msgstr "" "argumentos opcionales -- una cadena de formato de mensaje, una cadena de " "formato de fecha y un indicador de estilo." -#: ../Doc/howto/logging.rst:538 +#: ../Doc/howto/logging.rst:547 msgid "" "If there is no message format string, the default is to use the raw " "message. If there is no date format string, the default date format is:" @@ -1028,7 +1042,7 @@ msgstr "" "utilizar el mensaje en bruto. Si no hay una cadena de formato de fecha, el " "formato de fecha por defecto es:" -#: ../Doc/howto/logging.rst:545 +#: ../Doc/howto/logging.rst:554 msgid "" "with the milliseconds tacked on at the end. The ``style`` is one of `%`, '{' " "or '$'. If one of these is not specified, then '%' will be used." @@ -1036,7 +1050,7 @@ msgstr "" "con los milisegundos clavados al final. El ``style`` es uno de `%`, ‘{‘ o " "‘$’. Si uno de estos no se especifica, entonces se usará ‘%’." -#: ../Doc/howto/logging.rst:548 +#: ../Doc/howto/logging.rst:557 msgid "" "If the ``style`` is '%', the message format string uses ``%()s`` styled string substitution; the possible keys are documented in :" @@ -1053,11 +1067,11 @@ msgstr "" "'$' entonces la cadena del formato del mensaje debe ajustarse a lo que se " "espera de :meth:`string.Template.substitute`." -#: ../Doc/howto/logging.rst:555 +#: ../Doc/howto/logging.rst:564 msgid "Added the ``style`` parameter." msgstr "Añadió el parámetro ``style``." -#: ../Doc/howto/logging.rst:558 +#: ../Doc/howto/logging.rst:567 msgid "" "The following message format string will log the time in a human-readable " "format, the severity of the message, and the contents of the message, in " @@ -1067,7 +1081,7 @@ msgstr "" "legible para los humanos, la gravedad del mensaje y el contenido del " "mensaje, en ese orden::" -#: ../Doc/howto/logging.rst:564 +#: ../Doc/howto/logging.rst:573 msgid "" "Formatters use a user-configurable function to convert the creation time of " "a record to a tuple. By default, :func:`time.localtime` is used; to change " @@ -1086,15 +1100,15 @@ msgstr "" "que todas las horas de registro se muestren en GMT, establece el atributo " "``converter`` en la clase *Formatter* (a ``time.gmtime`` para mostrar GMT)." -#: ../Doc/howto/logging.rst:574 +#: ../Doc/howto/logging.rst:583 msgid "Configuring Logging" msgstr "Configuración del registro" -#: ../Doc/howto/logging.rst:578 +#: ../Doc/howto/logging.rst:587 msgid "Programmers can configure logging in three ways:" msgstr "Los programadores pueden configurar el registro en tres maneras:" -#: ../Doc/howto/logging.rst:580 +#: ../Doc/howto/logging.rst:589 msgid "" "Creating loggers, handlers, and formatters explicitly using Python code that " "calls the configuration methods listed above." @@ -1102,7 +1116,7 @@ msgstr "" "Creando registradores, manejadores y formateadores explícitamente usando " "código Python que llama a los métodos de configuración listados arriba." -#: ../Doc/howto/logging.rst:582 +#: ../Doc/howto/logging.rst:591 msgid "" "Creating a logging config file and reading it using the :func:`fileConfig` " "function." @@ -1110,7 +1124,7 @@ msgstr "" "Creando un archivo de configuración de registro y leyéndolo usando la " "función :func:`fileConfig`." -#: ../Doc/howto/logging.rst:584 +#: ../Doc/howto/logging.rst:593 msgid "" "Creating a dictionary of configuration information and passing it to the :" "func:`dictConfig` function." @@ -1118,7 +1132,7 @@ msgstr "" "Creando un diccionario de información de configuración y pasándolo a la " "función :func:`dictConfig`." -#: ../Doc/howto/logging.rst:587 +#: ../Doc/howto/logging.rst:596 msgid "" "For the reference documentation on the last two options, see :ref:`logging-" "config-api`. The following example configures a very simple logger, a " @@ -1129,13 +1143,13 @@ msgstr "" "simple, un manejador de consola, y un formateador simple usando código " "Python::" -#: ../Doc/howto/logging.rst:617 +#: ../Doc/howto/logging.rst:626 msgid "" "Running this module from the command line produces the following output:" msgstr "" "Ejecutar este módulo desde la línea de comandos produce la siguiente salida:" -#: ../Doc/howto/logging.rst:628 +#: ../Doc/howto/logging.rst:637 msgid "" "The following Python module creates a logger, handler, and formatter nearly " "identical to those in the example listed above, with the only difference " @@ -1145,18 +1159,18 @@ msgstr "" "casi idéntico a los del ejemplo anterior, con la única diferencia de los " "nombres de los objetos::" -#: ../Doc/howto/logging.rst:647 +#: ../Doc/howto/logging.rst:656 msgid "Here is the logging.conf file:" msgstr "Aquí está el archivo logging.conf:" -#: ../Doc/howto/logging.rst:680 +#: ../Doc/howto/logging.rst:689 msgid "" "The output is nearly identical to that of the non-config-file-based example:" msgstr "" "La salida es casi idéntica a la del ejemplo basado en un archivo no " "configurado:" -#: ../Doc/howto/logging.rst:691 +#: ../Doc/howto/logging.rst:700 msgid "" "You can see that the config file approach has a few advantages over the " "Python code approach, mainly separation of configuration and code and the " @@ -1167,7 +1181,7 @@ msgstr "" "la configuración y el código y la capacidad de los no codificadores de " "modificar fácilmente las propiedades de registro." -#: ../Doc/howto/logging.rst:695 +#: ../Doc/howto/logging.rst:704 msgid "" "The :func:`fileConfig` function takes a default parameter, " "``disable_existing_loggers``, which defaults to ``True`` for reasons of " @@ -1186,7 +1200,7 @@ msgstr "" "documentación de referencia para más información, y especifique ``False`` " "para este parámetro si lo desea." -#: ../Doc/howto/logging.rst:703 +#: ../Doc/howto/logging.rst:712 msgid "" "The dictionary passed to :func:`dictConfig` can also specify a Boolean value " "with key ``disable_existing_loggers``, which if not specified explicitly in " @@ -1202,7 +1216,7 @@ msgstr "" "desea - en cuyo caso, proporcione a la clave explícitamente un valor de " "``False``." -#: ../Doc/howto/logging.rst:713 +#: ../Doc/howto/logging.rst:722 msgid "" "Note that the class names referenced in config files need to be either " "relative to the logging module, or absolute values which can be resolved " @@ -1221,7 +1235,7 @@ msgstr "" "``mymodule``, donde ``mypackage`` está disponible en la ruta de importación " "de Python)." -#: ../Doc/howto/logging.rst:721 +#: ../Doc/howto/logging.rst:730 msgid "" "In Python 3.2, a new means of configuring logging has been introduced, using " "dictionaries to hold configuration information. This provides a superset of " @@ -1250,7 +1264,7 @@ msgstr "" "sobre un zócalo, o usar cualquier enfoque que tenga sentido para tu " "aplicación." -#: ../Doc/howto/logging.rst:733 +#: ../Doc/howto/logging.rst:742 msgid "" "Here's an example of the same configuration as above, in YAML format for the " "new dictionary-based approach:" @@ -1258,7 +1272,7 @@ msgstr "" "Aquí hay un ejemplo de la misma configuración que arriba, en formato YAML " "para el nuevo enfoque basado en el diccionario:" -#: ../Doc/howto/logging.rst:757 +#: ../Doc/howto/logging.rst:766 msgid "" "For more information about logging using a dictionary, see :ref:`logging-" "config-api`." @@ -1266,11 +1280,11 @@ msgstr "" "Para más información sobre el registro usando un diccionario, ver :ref:" "`logging-config-api`." -#: ../Doc/howto/logging.rst:761 +#: ../Doc/howto/logging.rst:770 msgid "What happens if no configuration is provided" msgstr "¿Qué pasa si no se proporciona ninguna configuración" -#: ../Doc/howto/logging.rst:763 +#: ../Doc/howto/logging.rst:772 msgid "" "If no logging configuration is provided, it is possible to have a situation " "where a logging event needs to be output, but no handlers can be found to " @@ -1283,13 +1297,13 @@ msgstr "" "suceso. El comportamiento del paquete de registro en estas circunstancias " "depende de la versión de Python." -#: ../Doc/howto/logging.rst:768 +#: ../Doc/howto/logging.rst:777 msgid "For versions of Python prior to 3.2, the behaviour is as follows:" msgstr "" "Para las versiones de Python anteriores a la 3.2, el comportamiento es el " "siguiente:" -#: ../Doc/howto/logging.rst:770 +#: ../Doc/howto/logging.rst:779 msgid "" "If *logging.raiseExceptions* is ``False`` (production mode), the event is " "silently dropped." @@ -1297,7 +1311,7 @@ msgstr "" "Si *logging.raiseExceptions* es ``Falso`` (modo de producción), el evento es " "abandonado silenciosamente." -#: ../Doc/howto/logging.rst:773 +#: ../Doc/howto/logging.rst:782 msgid "" "If *logging.raiseExceptions* is ``True`` (development mode), a message 'No " "handlers could be found for logger X.Y.Z' is printed once." @@ -1306,11 +1320,11 @@ msgstr "" "una vez un mensaje '*No handlers could be found for logger X.Y.Z*' ('No se " "pudo encontrar ningún manejador (*handler*) para el *logger* X.Y.Z')." -#: ../Doc/howto/logging.rst:776 +#: ../Doc/howto/logging.rst:785 msgid "In Python 3.2 and later, the behaviour is as follows:" msgstr "En Python 3.2 y posteriores, el comportamiento es el siguiente:" -#: ../Doc/howto/logging.rst:778 +#: ../Doc/howto/logging.rst:787 msgid "" "The event is output using a 'handler of last resort', stored in ``logging." "lastResort``. This internal handler is not associated with any logger, and " @@ -1330,7 +1344,7 @@ msgstr "" "descripción del evento. El nivel del manejador se establece en ``WARNING``, " "por lo que todos los eventos de esta y mayores severidades serán emitidos." -#: ../Doc/howto/logging.rst:787 +#: ../Doc/howto/logging.rst:796 msgid "" "To obtain the pre-3.2 behaviour, ``logging.lastResort`` can be set to " "``None``." @@ -1338,11 +1352,11 @@ msgstr "" "Para obtener el comportamiento anterior a la 3.2, ``logging.lastResort`` se " "puede configurar como ``None``." -#: ../Doc/howto/logging.rst:792 +#: ../Doc/howto/logging.rst:801 msgid "Configuring Logging for a Library" msgstr "Configurando Logging para una biblioteca" -#: ../Doc/howto/logging.rst:794 +#: ../Doc/howto/logging.rst:803 msgid "" "When developing a library which uses logging, you should take care to " "document how the library uses logging - for example, the names of loggers " @@ -1361,7 +1375,7 @@ msgstr "" "``WARNING`` y mayores se imprimirán en ``sys.stderr``. Esto se considera el " "mejor comportamiento por defecto." -#: ../Doc/howto/logging.rst:802 +#: ../Doc/howto/logging.rst:811 msgid "" "If for some reason you *don't* want these messages printed in the absence of " "any logging configuration, you can attach a do-nothing handler to the top-" @@ -1383,7 +1397,7 @@ msgstr "" "registro realizadas en el código de la biblioteca enviarán una salida a esos " "manejadores, como es normal." -#: ../Doc/howto/logging.rst:811 +#: ../Doc/howto/logging.rst:820 msgid "" "A do-nothing handler is included in the logging package: :class:`~logging." "NullHandler` (since Python 3.1). An instance of this handler could be added " @@ -1402,7 +1416,7 @@ msgstr "" "*foo* se hace usando registradores con nombres que coincidan con 'foo.x', " "'foo.x.y', etc. entonces el código::" -#: ../Doc/howto/logging.rst:822 +#: ../Doc/howto/logging.rst:831 msgid "" "should have the desired effect. If an organisation produces a number of " "libraries, then the logger name specified can be 'orgname.foo' rather than " @@ -1412,7 +1426,7 @@ msgstr "" "bibliotecas, el nombre del registrador especificado puede ser ‘orgname.foo’ " "en lugar de sólo ‘foo’." -#: ../Doc/howto/logging.rst:826 +#: ../Doc/howto/logging.rst:835 msgid "" "It is strongly advised that you *do not add any handlers other than* :class:" "`~logging.NullHandler` *to your library's loggers*. This is because the " @@ -1431,11 +1445,11 @@ msgstr "" "interferir en su capacidad de realizar pruebas unitarias y entregar " "registros que se ajusten a sus necesidades." -#: ../Doc/howto/logging.rst:837 +#: ../Doc/howto/logging.rst:846 msgid "Logging Levels" msgstr "Niveles de registro" -#: ../Doc/howto/logging.rst:839 +#: ../Doc/howto/logging.rst:848 msgid "" "The numeric values of logging levels are given in the following table. These " "are primarily of interest if you want to define your own levels, and need " @@ -1449,39 +1463,39 @@ msgstr "" "niveles predefinidos. Si se define un nivel con el mismo valor numérico, " "éste sobrescribe el valor predefinido; el nombre predefinido se pierde." -#: ../Doc/howto/logging.rst:846 +#: ../Doc/howto/logging.rst:855 msgid "Numeric value" msgstr "Valor numérico" -#: ../Doc/howto/logging.rst:848 +#: ../Doc/howto/logging.rst:857 msgid "50" msgstr "50" -#: ../Doc/howto/logging.rst:850 +#: ../Doc/howto/logging.rst:859 msgid "40" msgstr "40" -#: ../Doc/howto/logging.rst:852 +#: ../Doc/howto/logging.rst:861 msgid "30" msgstr "30" -#: ../Doc/howto/logging.rst:854 +#: ../Doc/howto/logging.rst:863 msgid "20" msgstr "20" -#: ../Doc/howto/logging.rst:856 +#: ../Doc/howto/logging.rst:865 msgid "10" msgstr "10" -#: ../Doc/howto/logging.rst:858 +#: ../Doc/howto/logging.rst:867 msgid "``NOTSET``" msgstr "``NOTSET``" -#: ../Doc/howto/logging.rst:858 +#: ../Doc/howto/logging.rst:867 msgid "0" msgstr "0" -#: ../Doc/howto/logging.rst:861 +#: ../Doc/howto/logging.rst:870 msgid "" "Levels can also be associated with loggers, being set either by the " "developer or through loading a saved logging configuration. When a logging " @@ -1498,7 +1512,7 @@ msgstr "" "método, no se genera ningún mensaje de registro. Este es el mecanismo básico " "que controla la verbosidad de la salida del registro." -#: ../Doc/howto/logging.rst:868 +#: ../Doc/howto/logging.rst:877 msgid "" "Logging messages are encoded as instances of the :class:`~logging.LogRecord` " "class. When a logger decides to actually log an event, a :class:`~logging." @@ -1509,7 +1523,7 @@ msgstr "" "evento, se crea una instancia :class:`~logging.LogRecord` a partir del " "mensaje de registro." -#: ../Doc/howto/logging.rst:872 +#: ../Doc/howto/logging.rst:881 msgid "" "Logging messages are subjected to a dispatch mechanism through the use of :" "dfn:`handlers`, which are instances of subclasses of the :class:`Handler` " @@ -1541,7 +1555,7 @@ msgstr "" "establezca en un valor falso, en cuyo caso el paso a los *handlers* " "ancestrales se detiene)." -#: ../Doc/howto/logging.rst:886 +#: ../Doc/howto/logging.rst:895 msgid "" "Just as for loggers, handlers can have levels associated with them. A " "handler's level acts as a filter in the same way as a logger's level does. " @@ -1557,11 +1571,11 @@ msgstr "" "a su destino. La mayoría de las subclases definidas por el usuario de :class:" "`Handler` necesitarán anular este :meth:`~Handler.emit`." -#: ../Doc/howto/logging.rst:895 +#: ../Doc/howto/logging.rst:904 msgid "Custom Levels" msgstr "Niveles personalizados" -#: ../Doc/howto/logging.rst:897 +#: ../Doc/howto/logging.rst:906 msgid "" "Defining your own levels is possible, but should not be necessary, as the " "existing levels have been chosen on the basis of practical experience. " @@ -1585,11 +1599,11 @@ msgstr "" "usuario, porque un valor numérico dado podría significar cosas diferentes " "para diferentes bibliotecas." -#: ../Doc/howto/logging.rst:910 +#: ../Doc/howto/logging.rst:919 msgid "Useful Handlers" msgstr "Gestores útiles" -#: ../Doc/howto/logging.rst:912 +#: ../Doc/howto/logging.rst:921 msgid "" "In addition to the base :class:`Handler` class, many useful subclasses are " "provided:" @@ -1597,7 +1611,7 @@ msgstr "" "Además de la base :class:`Handler` class, se proporcionan muchas subclases " "útiles:" -#: ../Doc/howto/logging.rst:915 +#: ../Doc/howto/logging.rst:924 msgid "" ":class:`StreamHandler` instances send messages to streams (file-like " "objects)." @@ -1605,12 +1619,12 @@ msgstr "" ":class:`StreamHandler` instancias envían mensajes a los *streams* (objetos " "como de tipo archivo)." -#: ../Doc/howto/logging.rst:918 +#: ../Doc/howto/logging.rst:927 msgid ":class:`FileHandler` instances send messages to disk files." msgstr "" ":class:`FileHandler` instancias enviar mensajes a los archivos del disco." -#: ../Doc/howto/logging.rst:920 +#: ../Doc/howto/logging.rst:929 msgid "" ":class:`~handlers.BaseRotatingHandler` is the base class for handlers that " "rotate log files at a certain point. It is not meant to be instantiated " @@ -1623,7 +1637,7 @@ msgstr "" "`~handlers.RotatingFileHandler` o :class:`~handlers." "TimedRotatingFileHandler`." -#: ../Doc/howto/logging.rst:925 +#: ../Doc/howto/logging.rst:934 msgid "" ":class:`~handlers.RotatingFileHandler` instances send messages to disk " "files, with support for maximum log file sizes and log file rotation." @@ -1632,7 +1646,7 @@ msgstr "" "los archivos de disco, con soporte para el tamaño máximo de los archivos de " "registro y la rotación de los mismos." -#: ../Doc/howto/logging.rst:928 +#: ../Doc/howto/logging.rst:937 msgid "" ":class:`~handlers.TimedRotatingFileHandler` instances send messages to disk " "files, rotating the log file at certain timed intervals." @@ -1641,7 +1655,7 @@ msgstr "" "mensajes a los archivos de disco, rotando el archivo de registro a ciertos " "intervalos de tiempo." -#: ../Doc/howto/logging.rst:931 +#: ../Doc/howto/logging.rst:940 msgid "" ":class:`~handlers.SocketHandler` instances send messages to TCP/IP sockets. " "Since 3.4, Unix domain sockets are also supported." @@ -1650,7 +1664,7 @@ msgstr "" "sockets TCP/IP. Desde la versión 3.4, los sockets de dominio Unix también " "están soportados." -#: ../Doc/howto/logging.rst:934 +#: ../Doc/howto/logging.rst:943 msgid "" ":class:`~handlers.DatagramHandler` instances send messages to UDP sockets. " "Since 3.4, Unix domain sockets are also supported." @@ -1659,7 +1673,7 @@ msgstr "" "sockets UDP. Desde la versión 3.4, los sockets de dominio Unix también están " "soportados." -#: ../Doc/howto/logging.rst:937 +#: ../Doc/howto/logging.rst:946 msgid "" ":class:`~handlers.SMTPHandler` instances send messages to a designated email " "address." @@ -1667,7 +1681,7 @@ msgstr "" "Las instancias de :class:`~handlers.SMTPHandler` envían mensajes a una " "dirección de correo electrónico designada." -#: ../Doc/howto/logging.rst:940 +#: ../Doc/howto/logging.rst:949 msgid "" ":class:`~handlers.SysLogHandler` instances send messages to a Unix syslog " "daemon, possibly on a remote machine." @@ -1675,7 +1689,7 @@ msgstr "" "Las instancias de :class:`~handlers.SysLogHandler` envían mensajes a un " "demonio del syslog de Unix, posiblemente en una máquina remota." -#: ../Doc/howto/logging.rst:943 +#: ../Doc/howto/logging.rst:952 msgid "" ":class:`~handlers.NTEventLogHandler` instances send messages to a Windows " "NT/2000/XP event log." @@ -1683,7 +1697,7 @@ msgstr "" "Las instancias de :class:`~handlers.NTEventLogHandler` envían mensajes a un " "registro de eventos de Windows NT/2000/XP." -#: ../Doc/howto/logging.rst:946 +#: ../Doc/howto/logging.rst:955 msgid "" ":class:`~handlers.MemoryHandler` instances send messages to a buffer in " "memory, which is flushed whenever specific criteria are met." @@ -1691,7 +1705,7 @@ msgstr "" "Las instancias de :class:`~handlers.MemoryHandler` envían mensajes a un " "buffer en la memoria, que es limpiado cuando se cumplen ciertos criterios." -#: ../Doc/howto/logging.rst:949 +#: ../Doc/howto/logging.rst:958 msgid "" ":class:`~handlers.HTTPHandler` instances send messages to an HTTP server " "using either ``GET`` or ``POST`` semantics." @@ -1699,7 +1713,7 @@ msgstr "" "Las instancias de :class:`~handlers.HTTPHandler` envían mensajes a un " "servidor HTTP usando la semántica de \"GET\" o \"POST\"." -#: ../Doc/howto/logging.rst:952 +#: ../Doc/howto/logging.rst:961 msgid "" ":class:`~handlers.WatchedFileHandler` instances watch the file they are " "logging to. If the file changes, it is closed and reopened using the file " @@ -1711,7 +1725,7 @@ msgstr "" "usando el nombre del archivo. Este manejador sólo es útil en sistemas tipo " "Unix; Windows no soporta el mecanismo subyacente utilizado." -#: ../Doc/howto/logging.rst:957 +#: ../Doc/howto/logging.rst:966 msgid "" ":class:`~handlers.QueueHandler` instances send messages to a queue, such as " "those implemented in the :mod:`queue` or :mod:`multiprocessing` modules." @@ -1720,7 +1734,7 @@ msgstr "" "cola, como los implementados en los módulos :mod:`queue` or :mod:" "`multiprocessing`." -#: ../Doc/howto/logging.rst:960 +#: ../Doc/howto/logging.rst:969 msgid "" ":class:`NullHandler` instances do nothing with error messages. They are used " "by library developers who want to use logging, but want to avoid the 'No " @@ -1735,15 +1749,15 @@ msgstr "" "la biblioteca no ha configurado el registro. Vea :ref:`library-config` para " "más información." -#: ../Doc/howto/logging.rst:966 +#: ../Doc/howto/logging.rst:975 msgid "The :class:`NullHandler` class." msgstr "La clase :class:`NullHandler`." -#: ../Doc/howto/logging.rst:969 +#: ../Doc/howto/logging.rst:978 msgid "The :class:`~handlers.QueueHandler` class." msgstr "La :class:`~handlers.QueueHandler` (La clase de gestores de Cola)." -#: ../Doc/howto/logging.rst:972 +#: ../Doc/howto/logging.rst:981 msgid "" "The :class:`NullHandler`, :class:`StreamHandler` and :class:`FileHandler` " "classes are defined in the core logging package. The other handlers are " @@ -1756,7 +1770,8 @@ msgstr "" "(También hay otro submódulo, :mod:`logging.config`, para la funcionalidad de " "configuración)" -#: ../Doc/howto/logging.rst:977 +#: ../Doc/howto/logging.rst:986 +#, python-format msgid "" "Logged messages are formatted for presentation through instances of the :" "class:`Formatter` class. They are initialized with a format string suitable " @@ -1766,7 +1781,7 @@ msgstr "" "instancias de la clase :class:`Formatter`. Se inicializan con una cadena de " "formato adecuada para su uso con el operador % y un diccionario." -#: ../Doc/howto/logging.rst:981 +#: ../Doc/howto/logging.rst:990 msgid "" "For formatting multiple messages in a batch, instances of :class:`~handlers." "BufferingFormatter` can be used. In addition to the format string (which is " @@ -1778,7 +1793,7 @@ msgstr "" "(que se aplica a cada mensaje del lote), hay una provisión para cadenas de " "formato de cabecera y de trailer." -#: ../Doc/howto/logging.rst:986 +#: ../Doc/howto/logging.rst:995 msgid "" "When filtering based on logger level and/or handler level is not enough, " "instances of :class:`Filter` can be added to both :class:`Logger` and :class:" @@ -1795,7 +1810,7 @@ msgstr "" "todos sus filtros para obtener permiso. Si algún filtro retorna un valor " "falso, el mensaje no se procesa más." -#: ../Doc/howto/logging.rst:993 +#: ../Doc/howto/logging.rst:1002 msgid "" "The basic :class:`Filter` functionality allows filtering by specific logger " "name. If this feature is used, messages sent to the named logger and its " @@ -1806,11 +1821,11 @@ msgstr "" "registrador nombrado y a sus hijos se permiten a través del filtro, y todos " "los demás se eliminan." -#: ../Doc/howto/logging.rst:1001 +#: ../Doc/howto/logging.rst:1010 msgid "Exceptions raised during logging" msgstr "Excepciones lanzadas durante logging" -#: ../Doc/howto/logging.rst:1003 +#: ../Doc/howto/logging.rst:1012 msgid "" "The logging package is designed to swallow exceptions which occur while " "logging in production. This is so that errors which occur while handling " @@ -1823,7 +1838,7 @@ msgstr "" "configuración del registro, errores de red u otros errores similares - no " "causen que la aplicación que utiliza el registro termine prematuramente." -#: ../Doc/howto/logging.rst:1008 +#: ../Doc/howto/logging.rst:1017 msgid "" ":class:`SystemExit` and :class:`KeyboardInterrupt` exceptions are never " "swallowed. Other exceptions which occur during the :meth:`~Handler.emit` " @@ -1835,7 +1850,7 @@ msgstr "" "excepciones que ocurren durante el método :meth:`~Handler.emit` de una " "subclase :class:`Handler` se pasan a su método :meth:`~Handler.handleError` ." -#: ../Doc/howto/logging.rst:1013 +#: ../Doc/howto/logging.rst:1022 msgid "" "The default implementation of :meth:`~Handler.handleError` in :class:" "`Handler` checks to see if a module-level variable, :data:`raiseExceptions`, " @@ -1847,7 +1862,7 @@ msgstr "" "`raiseExceptions`, está establecida. Si se establece, se imprime una traza " "en :data:`sys.stderr`. Si no se establece, se traga la excepción." -#: ../Doc/howto/logging.rst:1018 +#: ../Doc/howto/logging.rst:1027 msgid "" "The default value of :data:`raiseExceptions` is ``True``. This is because " "during development, you typically want to be notified of any exceptions that " @@ -1859,11 +1874,11 @@ msgstr "" "notificado de cualquier excepción que ocurra. Se aconseja que establezca :" "data:`raiseExceptions` a ``False`` para el uso en producción." -#: ../Doc/howto/logging.rst:1028 +#: ../Doc/howto/logging.rst:1037 msgid "Using arbitrary objects as messages" msgstr "Usando objetos arbitrarios como mensajes" -#: ../Doc/howto/logging.rst:1030 +#: ../Doc/howto/logging.rst:1039 msgid "" "In the preceding sections and examples, it has been assumed that the message " "passed when logging the event is a string. However, this is not the only " @@ -1883,11 +1898,11 @@ msgstr "" "método :class:`~handlers.SocketHandler` emite un evento al *pickling* y " "enviarlo por el cable." -#: ../Doc/howto/logging.rst:1041 +#: ../Doc/howto/logging.rst:1050 msgid "Optimization" msgstr "Optimización" -#: ../Doc/howto/logging.rst:1043 +#: ../Doc/howto/logging.rst:1052 msgid "" "Formatting of message arguments is deferred until it cannot be avoided. " "However, computing the arguments passed to the logging method can also be " @@ -1905,7 +1920,7 @@ msgstr "" "y retorna true si el evento sería creado por el *Logger* para ese nivel de " "llamada. Puedes escribir código como este::" -#: ../Doc/howto/logging.rst:1055 +#: ../Doc/howto/logging.rst:1064 msgid "" "so that if the logger's threshold is set above ``DEBUG``, the calls to :func:" "`expensive_func1` and :func:`expensive_func2` are never made." @@ -1914,7 +1929,7 @@ msgstr "" "``DEBUG``, las llamadas a :func:`expensive_func1` y :func:`expensive_func2` " "nunca se hacen." -#: ../Doc/howto/logging.rst:1058 +#: ../Doc/howto/logging.rst:1067 msgid "" "In some cases, :meth:`~Logger.isEnabledFor` can itself be more expensive " "than you'd like (e.g. for deeply nested loggers where an explicit level is " @@ -1936,7 +1951,7 @@ msgstr "" "dinámicamente mientras la aplicación se está ejecutando (lo cual no es tan " "común)." -#: ../Doc/howto/logging.rst:1067 +#: ../Doc/howto/logging.rst:1076 msgid "" "There are other optimizations which can be made for specific applications " "which need more precise control over what logging information is collected. " @@ -1948,47 +1963,47 @@ msgstr "" "recoge. Aquí hay una lista de cosas que puede hacer para evitar el " "procesamiento durante el registro que no necesita:" -#: ../Doc/howto/logging.rst:1073 +#: ../Doc/howto/logging.rst:1082 msgid "What you don't want to collect" msgstr "Lo que no quieres colectar" -#: ../Doc/howto/logging.rst:1073 +#: ../Doc/howto/logging.rst:1082 msgid "How to avoid collecting it" msgstr "Cómo evitar coleccionarlo" -#: ../Doc/howto/logging.rst:1075 +#: ../Doc/howto/logging.rst:1084 msgid "Information about where calls were made from." msgstr "Información sobre dónde se hicieron las llamadas." -#: ../Doc/howto/logging.rst:1075 +#: ../Doc/howto/logging.rst:1084 +#, fuzzy msgid "" "Set ``logging._srcfile`` to ``None``. This avoids calling :func:`sys." "_getframe`, which may help to speed up your code in environments like PyPy " -"(which can't speed up code that uses :func:`sys._getframe`), if and when " -"PyPy supports Python 3.x." +"(which can't speed up code that uses :func:`sys._getframe`)." msgstr "" "Ponga ``logging._srcfile`` a ``None``. Esto evita llamar a :func:`sys." "_getframe`, lo que puede ayudar a acelerar tu código en entornos como PyPy " "(cual no puede acelerar el código que usa :func:`sys._getframe`), siempre y " "cuando PyPy soporte Python 3.x." -#: ../Doc/howto/logging.rst:1083 +#: ../Doc/howto/logging.rst:1091 msgid "Threading information." msgstr "Información sobre código con hilos." -#: ../Doc/howto/logging.rst:1083 +#: ../Doc/howto/logging.rst:1091 msgid "Set ``logging.logThreads`` to ``0``." msgstr "Ponga ``logging.logThreads`` en ``0``." -#: ../Doc/howto/logging.rst:1085 +#: ../Doc/howto/logging.rst:1093 msgid "Process information." msgstr "Procesar la información." -#: ../Doc/howto/logging.rst:1085 +#: ../Doc/howto/logging.rst:1093 msgid "Set ``logging.logProcesses`` to ``0``." msgstr "Ponga ``logging.logProcesses`` en ``0``." -#: ../Doc/howto/logging.rst:1088 +#: ../Doc/howto/logging.rst:1096 msgid "" "Also note that the core logging module only includes the basic handlers. If " "you don't import :mod:`logging.handlers` and :mod:`logging.config`, they " @@ -1998,30 +2013,30 @@ msgstr "" "gestores básicos. Si no importas :mod:`logging.handlers` y :mod:`logging." "config`, no ocuparán ninguna memoria." -#: ../Doc/howto/logging.rst:1095 +#: ../Doc/howto/logging.rst:1103 msgid "Module :mod:`logging`" msgstr "Módulo :mod:`logging`" -#: ../Doc/howto/logging.rst:1095 +#: ../Doc/howto/logging.rst:1103 msgid "API reference for the logging module." msgstr "Referencia API para el módulo de registro." -#: ../Doc/howto/logging.rst:1098 +#: ../Doc/howto/logging.rst:1106 msgid "Module :mod:`logging.config`" msgstr "Módulo :mod:`logging.config`" -#: ../Doc/howto/logging.rst:1098 +#: ../Doc/howto/logging.rst:1106 msgid "Configuration API for the logging module." msgstr "API de configuración para el módulo de registro." -#: ../Doc/howto/logging.rst:1101 +#: ../Doc/howto/logging.rst:1109 msgid "Module :mod:`logging.handlers`" msgstr "Módulo :mod:`logging.handlers`" -#: ../Doc/howto/logging.rst:1101 +#: ../Doc/howto/logging.rst:1109 msgid "Useful handlers included with the logging module." msgstr "Gestores útiles incluidos en el módulo de registro." -#: ../Doc/howto/logging.rst:1103 +#: ../Doc/howto/logging.rst:1111 msgid ":ref:`A logging cookbook `" msgstr ":ref:`Un libro de recetas `" diff --git a/howto/pyporting.po b/howto/pyporting.po index 9a533e0361..aef95498af 100644 --- a/howto/pyporting.po +++ b/howto/pyporting.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-12-27 11:58+0100\n" +"Last-Translator: Juan Biondi \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Juan Biondi \n" -"Language: es\n" -"X-Generator: Poedit 2.4.2\n" #: ../Doc/howto/pyporting.rst:5 msgid "Porting Python 2 Code to Python 3" @@ -92,46 +91,51 @@ msgid "Only worry about supporting Python 2.7" msgstr "Sólo preocúpate por admitir Python 2.7" #: ../Doc/howto/pyporting.rst:33 +#, fuzzy msgid "" -"Make sure you have good test coverage (coverage.py_ can help; ``pip install " -"coverage``)" +"Make sure you have good test coverage (coverage.py_ can help; ``python -m " +"pip install coverage``)" msgstr "" "Asegúrese de tener una buena cobertura de prueba (coverage.py_ puede ayudar; " "``pip install coverage``)" -#: ../Doc/howto/pyporting.rst:35 ../Doc/howto/pyporting.rst:116 +#: ../Doc/howto/pyporting.rst:35 ../Doc/howto/pyporting.rst:122 msgid "Learn the differences between Python 2 & 3" msgstr "Aprende las diferencias entre Python 2 & 3" #: ../Doc/howto/pyporting.rst:36 +#, fuzzy msgid "" -"Use Futurize_ (or Modernize_) to update your code (e.g. ``pip install " -"future``)" +"Use Futurize_ (or Modernize_) to update your code (e.g. ``python -m pip " +"install future``)" msgstr "" "Utilice Futurize_ (o Modernize_) para actualizar el código (por ejemplo, " "``pip install future``)" #: ../Doc/howto/pyporting.rst:37 +#, fuzzy msgid "" "Use Pylint_ to help make sure you don't regress on your Python 3 support " -"(``pip install pylint``)" +"(``python -m pip install pylint``)" msgstr "" "Utilice Pylint_ para asegurarse de que no retrocede en la compatibilidad con " "Python 3 (``pip install pylint``)" #: ../Doc/howto/pyporting.rst:39 +#, fuzzy msgid "" "Use caniusepython3_ to find out which of your dependencies are blocking your " -"use of Python 3 (``pip install caniusepython3``)" +"use of Python 3 (``python -m pip install caniusepython3``)" msgstr "" "Utilice caniusepython3_ para averiguar cuáles de sus dependencias están " "bloqueando el uso de Python 3 (``pip install caniusepython3``)" #: ../Doc/howto/pyporting.rst:41 +#, fuzzy msgid "" "Once your dependencies are no longer blocking you, use continuous " "integration to make sure you stay compatible with Python 2 & 3 (tox_ can " -"help test against multiple versions of Python; ``pip install tox``)" +"help test against multiple versions of Python; ``python -m pip install tox``)" msgstr "" "Una vez que sus dependencias ya no le estén bloqueando, utilice la " "integración continua para asegurarse de que sigue siendo compatible con " @@ -139,10 +143,11 @@ msgstr "" "``pip install tox``)" #: ../Doc/howto/pyporting.rst:44 +#, fuzzy msgid "" "Consider using optional static type checking to make sure your type usage " "works in both Python 2 & 3 (e.g. use mypy_ to check your typing under both " -"Python 2 & Python 3)." +"Python 2 & Python 3; ``python -m pip install mypy``)." msgstr "" "Considere la posibilidad de usar la comprobación de tipos estáticos opcional " "para asegurarse de que el uso de tipos funciona tanto en Python 2 como 3 " @@ -150,10 +155,17 @@ msgstr "" "3)." #: ../Doc/howto/pyporting.rst:50 +msgid "" +"Note: Using ``python -m pip install`` guarantees that the ``pip`` you invoke " +"is the one installed for the Python currently in use, whether it be a system-" +"wide ``pip`` or one installed within a :ref:`virtual environment `." +msgstr "" + +#: ../Doc/howto/pyporting.rst:56 msgid "Details" msgstr "Detalles" -#: ../Doc/howto/pyporting.rst:52 +#: ../Doc/howto/pyporting.rst:58 msgid "" "A key point about supporting Python 2 & 3 simultaneously is that you can " "start **today**! Even if your dependencies are not supporting Python 3 yet " @@ -168,7 +180,7 @@ msgstr "" "admitir Python 3 conducen a código más limpio utilizando prácticas más " "recientes incluso en código Python 2." -#: ../Doc/howto/pyporting.rst:58 +#: ../Doc/howto/pyporting.rst:64 msgid "" "Another key point is that modernizing your Python 2 code to also support " "Python 3 is largely automated for you. While you might have to make some API " @@ -183,7 +195,7 @@ msgstr "" "nivel inferior ahora se realiza principalmente por usted y, por lo tanto, al " "menos puede beneficiarse de los cambios automatizados inmediatamente." -#: ../Doc/howto/pyporting.rst:64 +#: ../Doc/howto/pyporting.rst:70 msgid "" "Keep those key points in mind while you read on about the details of porting " "your code to support Python 2 & 3 simultaneously." @@ -191,17 +203,18 @@ msgstr "" "Tenga en cuenta esos puntos clave mientras lee sobre los detalles de la " "migración del código para admitir Python 2 & 3 simultáneamente." -#: ../Doc/howto/pyporting.rst:69 +#: ../Doc/howto/pyporting.rst:75 msgid "Drop support for Python 2.6 and older" msgstr "Compatibilidad con Python 2.6 y versiones anteriores" -#: ../Doc/howto/pyporting.rst:71 +#: ../Doc/howto/pyporting.rst:77 +#, fuzzy msgid "" "While you can make Python 2.5 work with Python 3, it is **much** easier if " "you only have to work with Python 2.7. If dropping Python 2.5 is not an " "option then the six_ project can help you support Python 2.5 & 3 " -"simultaneously (``pip install six``). Do realize, though, that nearly all " -"the projects listed in this HOWTO will not be available to you." +"simultaneously (``python -m pip install six``). Do realize, though, that " +"nearly all the projects listed in this HOWTO will not be available to you." msgstr "" "Aunque puede hacer que Python 2.5 funcione con Python 3, es **mucho** más " "fácil si solo tiene que trabajar con Python 2.7. Si soltar Python 2.5 no es " @@ -210,7 +223,7 @@ msgstr "" "todos los proyectos enumerados en este HOWTO no estarán disponibles para " "usted." -#: ../Doc/howto/pyporting.rst:77 +#: ../Doc/howto/pyporting.rst:83 msgid "" "If you are able to skip Python 2.5 and older, then the required changes to " "your code should continue to look and feel like idiomatic Python code. At " @@ -224,7 +237,7 @@ msgstr "" "casos o tendrá que importar una función en lugar de usar una integrada, pero " "de lo contrario la transformación general no debería sentirse ajena a usted." -#: ../Doc/howto/pyporting.rst:83 +#: ../Doc/howto/pyporting.rst:89 msgid "" "But you should aim for only supporting Python 2.7. Python 2.6 is no longer " "freely supported and thus is not receiving bugfixes. This means **you** will " @@ -243,14 +256,14 @@ msgstr "" "fácil para usted si sólo admite las versiones de Python que tiene que " "admitir." -#: ../Doc/howto/pyporting.rst:92 +#: ../Doc/howto/pyporting.rst:98 msgid "" "Make sure you specify the proper version support in your ``setup.py`` file" msgstr "" "Asegúrese de especificar el soporte de versión adecuado en su archivo " "``setup.py``" -#: ../Doc/howto/pyporting.rst:94 +#: ../Doc/howto/pyporting.rst:100 msgid "" "In your ``setup.py`` file you should have the proper `trove classifier`_ " "specifying what versions of Python you support. As your project does not " @@ -266,11 +279,11 @@ msgstr "" "versión principal/menor de Python que admita, por ejemplo, ``Programming " "Language :: Python :: 2.7``." -#: ../Doc/howto/pyporting.rst:103 +#: ../Doc/howto/pyporting.rst:109 msgid "Have good test coverage" msgstr "Tener una buena cobertura de prueba" -#: ../Doc/howto/pyporting.rst:105 +#: ../Doc/howto/pyporting.rst:111 #, python-format msgid "" "Once you have your code supporting the oldest version of Python 2 you want " @@ -292,7 +305,7 @@ msgstr "" "difícil obtener una cobertura superior al 90%). Si aún no tiene una " "herramienta para medir la cobertura de la prueba, se recomienda coverage.py_." -#: ../Doc/howto/pyporting.rst:118 +#: ../Doc/howto/pyporting.rst:124 msgid "" "Once you have your code well-tested you are ready to begin porting your code " "to Python 3! But to fully understand how your code is going to change and " @@ -311,11 +324,11 @@ msgstr "" "Python 3`_ (que es gratis en línea). También hay una práctica `cheat sheet`_ " "del proyecto Python-Future.." -#: ../Doc/howto/pyporting.rst:128 +#: ../Doc/howto/pyporting.rst:134 msgid "Update your code" msgstr "Actualiza tu código" -#: ../Doc/howto/pyporting.rst:130 +#: ../Doc/howto/pyporting.rst:136 msgid "" "Once you feel like you know what is different in Python 3 compared to Python " "2, it's time to update your code! You have a choice between two tools in " @@ -342,7 +355,7 @@ msgstr "" "podría ser mejor considerar Futurize para comenzar a adaptarse a cualquier " "nueva práctica que Python 3 introduce a la que aún no está acostumbrado." -#: ../Doc/howto/pyporting.rst:142 +#: ../Doc/howto/pyporting.rst:148 msgid "" "Regardless of which tool you choose, they will update your code to run under " "Python 3 while staying compatible with the version of Python 2 you started " @@ -363,7 +376,7 @@ msgstr "" "transformar el código de la aplicación sabiendo que cualquier prueba que " "falle es un error de traducción." -#: ../Doc/howto/pyporting.rst:150 +#: ../Doc/howto/pyporting.rst:156 msgid "" "Unfortunately the tools can't automate everything to make your code work " "under Python 3 and so there are a handful of things you will need to update " @@ -389,11 +402,11 @@ msgstr "" "considerar grandes problemas que pueden ser difíciles de depurar si no se " "observan." -#: ../Doc/howto/pyporting.rst:162 +#: ../Doc/howto/pyporting.rst:168 msgid "Division" msgstr "División" -#: ../Doc/howto/pyporting.rst:164 +#: ../Doc/howto/pyporting.rst:170 msgid "" "In Python 3, ``5 / 2 == 2.5`` and not ``2``; all division between ``int`` " "values result in a ``float``. This change has actually been planned since " @@ -411,11 +424,11 @@ msgstr "" "intérprete con el indicador ``-Q``. Si no ha estado haciendo esto, entonces " "tendrá que ir a través de su código y hacer dos cosas:" -#: ../Doc/howto/pyporting.rst:172 +#: ../Doc/howto/pyporting.rst:178 msgid "Add ``from __future__ import division`` to your files" msgstr "Añadir ``from __future__ import division`` a sus archivos" -#: ../Doc/howto/pyporting.rst:173 +#: ../Doc/howto/pyporting.rst:179 msgid "" "Update any division operator as necessary to either use ``//`` to use floor " "division or continue using ``/`` and expect a float" @@ -424,7 +437,7 @@ msgstr "" "``//`` para usar la división de suelo o continuar usando ``/`` y esperar un " "número flotante" -#: ../Doc/howto/pyporting.rst:176 +#: ../Doc/howto/pyporting.rst:182 msgid "" "The reason that ``/`` isn't simply translated to ``//`` automatically is " "that if an object defines a ``__truediv__`` method but not ``__floordiv__`` " @@ -437,11 +450,11 @@ msgstr "" "clase definida por el usuario que utiliza ``/`` para significar alguna " "operación pero no ``//`` para la misma cosa o en absoluto)." -#: ../Doc/howto/pyporting.rst:183 +#: ../Doc/howto/pyporting.rst:189 msgid "Text versus binary data" msgstr "Texto frente a datos binarios" -#: ../Doc/howto/pyporting.rst:185 +#: ../Doc/howto/pyporting.rst:191 msgid "" "In Python 2 you could use the ``str`` type for both text and binary data. " "Unfortunately this confluence of two different concepts could lead to " @@ -462,7 +475,7 @@ msgstr "" "que las API no se molestarían explícitamente en admitir explícitamente " "``Unicode`` cuando reclamaban compatibilidad con datos de texto." -#: ../Doc/howto/pyporting.rst:194 +#: ../Doc/howto/pyporting.rst:200 msgid "" "To make the distinction between text and binary data clearer and more " "pronounced, Python 3 did what most languages created in the age of the " @@ -483,7 +496,7 @@ msgstr "" "que preocuparse ahora cuando está utilizando texto en comparación con los " "datos binarios, por lo que esto no se puede automatizar por completo." -#: ../Doc/howto/pyporting.rst:203 +#: ../Doc/howto/pyporting.rst:209 msgid "" "To start, you will need to decide which APIs take text and which take binary " "(it is **highly** recommended you don't design APIs that can take both due " @@ -520,39 +533,39 @@ msgstr "" "porque ``str`` en Python 3 no tiene el método). Tenga en cuenta que a partir " "de Python 3.5 se agregó el método ``__mod__`` al tipo bytes." -#: ../Doc/howto/pyporting.rst:220 +#: ../Doc/howto/pyporting.rst:226 msgid "**Text data**" msgstr "**Datos de texto**" -#: ../Doc/howto/pyporting.rst:220 +#: ../Doc/howto/pyporting.rst:226 msgid "**Binary data**" msgstr "**Datos binarios**" -#: ../Doc/howto/pyporting.rst:222 +#: ../Doc/howto/pyporting.rst:228 msgid "\\" msgstr "\\" -#: ../Doc/howto/pyporting.rst:222 +#: ../Doc/howto/pyporting.rst:228 msgid "decode" msgstr "decode" -#: ../Doc/howto/pyporting.rst:224 +#: ../Doc/howto/pyporting.rst:230 msgid "encode" msgstr "encode" -#: ../Doc/howto/pyporting.rst:226 +#: ../Doc/howto/pyporting.rst:232 msgid "format" msgstr "format" -#: ../Doc/howto/pyporting.rst:228 +#: ../Doc/howto/pyporting.rst:234 msgid "isdecimal" msgstr "isdecimal" -#: ../Doc/howto/pyporting.rst:230 +#: ../Doc/howto/pyporting.rst:236 msgid "isnumeric" msgstr "isnumeric" -#: ../Doc/howto/pyporting.rst:233 +#: ../Doc/howto/pyporting.rst:239 msgid "" "Making the distinction easier to handle can be accomplished by encoding and " "decoding between binary data and text at the edge of your code. This means " @@ -570,7 +583,7 @@ msgstr "" "tener que realizar un seguimiento del tipo de datos con los que está " "trabajando." -#: ../Doc/howto/pyporting.rst:240 +#: ../Doc/howto/pyporting.rst:246 msgid "" "The next issue is making sure you know whether the string literals in your " "code represent text or binary data. You should add a ``b`` prefix to any " @@ -587,7 +600,7 @@ msgstr "" "uso ha demostrado que no es tan eficaz como agregar un prefijo ``b`` o ``u`` " "a todos los literales explícitamente)" -#: ../Doc/howto/pyporting.rst:247 +#: ../Doc/howto/pyporting.rst:253 msgid "" "As part of this dichotomy you also need to be careful about opening files. " "Unless you have been working on Windows, there is a chance you have not " @@ -620,7 +633,7 @@ msgstr "" "moleste con la práctica obsoleta de usar :func:`codecs.open` ya que sólo es " "necesario para mantener la compatibilidad con Python 2.5." -#: ../Doc/howto/pyporting.rst:261 +#: ../Doc/howto/pyporting.rst:267 msgid "" "The constructors of both ``str`` and ``bytes`` have different semantics for " "the same arguments between Python 2 & 3. Passing an integer to ``bytes`` in " @@ -643,7 +656,7 @@ msgstr "" "representación de cadena de texto del objeto bytes: ``str(b'3') == " "\"b'3'\"``." -#: ../Doc/howto/pyporting.rst:271 +#: ../Doc/howto/pyporting.rst:277 msgid "" "Finally, the indexing of binary data requires careful handling (slicing does " "**not** require any special handling). In Python 2, ``b'123'[1] == b'2'`` " @@ -663,15 +676,15 @@ msgstr "" "elemento. El proyecto six_ tiene una función denominada ``six.indexbytes()`` " "que devolverá un entero como en Python 3: ``six.indexbytes(b'123', 1)``." -#: ../Doc/howto/pyporting.rst:280 +#: ../Doc/howto/pyporting.rst:286 msgid "To summarize:" msgstr "Para resumir:" -#: ../Doc/howto/pyporting.rst:282 +#: ../Doc/howto/pyporting.rst:288 msgid "Decide which of your APIs take text and which take binary data" msgstr "Decida cuál de sus API toma texto y cuáles toman datos binarios" -#: ../Doc/howto/pyporting.rst:283 +#: ../Doc/howto/pyporting.rst:289 msgid "" "Make sure that your code that works with text also works with ``unicode`` " "and code for binary data works with ``bytes`` in Python 2 (see the table " @@ -682,7 +695,7 @@ msgstr "" "2 (consulte la tabla anterior para los métodos que no puede usar para cada " "tipo)" -#: ../Doc/howto/pyporting.rst:286 +#: ../Doc/howto/pyporting.rst:292 msgid "" "Mark all binary literals with a ``b`` prefix, textual literals with a ``u`` " "prefix" @@ -690,7 +703,7 @@ msgstr "" "Marque todos los literales binarios con un prefijo ``b``, literales " "textuales con un prefijo ``u``" -#: ../Doc/howto/pyporting.rst:288 +#: ../Doc/howto/pyporting.rst:294 msgid "" "Decode binary data to text as soon as possible, encode text as binary data " "as late as possible" @@ -698,7 +711,7 @@ msgstr "" "Descodificar datos binarios en texto tan pronto como sea posible, codificar " "texto como datos binarios tan tarde como sea posible" -#: ../Doc/howto/pyporting.rst:290 +#: ../Doc/howto/pyporting.rst:296 msgid "" "Open files using :func:`io.open` and make sure to specify the ``b`` mode " "when appropriate" @@ -706,16 +719,16 @@ msgstr "" "Abra los archivos con :func:`io.open` y asegúrese de especificar el modo " "``b`` cuando sea apropiado" -#: ../Doc/howto/pyporting.rst:292 +#: ../Doc/howto/pyporting.rst:298 msgid "Be careful when indexing into binary data" msgstr "Tenga cuidado al indexar en datos binarios" -#: ../Doc/howto/pyporting.rst:296 +#: ../Doc/howto/pyporting.rst:302 msgid "Use feature detection instead of version detection" msgstr "" "Utilice la detección de funciones en lugar de la detección de versiones" -#: ../Doc/howto/pyporting.rst:298 +#: ../Doc/howto/pyporting.rst:304 msgid "" "Inevitably you will have code that has to choose what to do based on what " "version of Python is running. The best way to do this is with feature " @@ -732,7 +745,7 @@ msgstr "" "contra Python 2 y no Python 3. Para ayudar a explicar esto, veamos un " "ejemplo." -#: ../Doc/howto/pyporting.rst:305 +#: ../Doc/howto/pyporting.rst:311 msgid "" "Let's pretend that you need access to a feature of :mod:`importlib` that is " "available in Python's standard library since Python 3.3 and available for " @@ -745,7 +758,7 @@ msgstr "" "tenga la tentación de escribir código para acceder, por ejemplo, al módulo :" "mod:`importlib.abc` haciendo lo siguiente:" -#: ../Doc/howto/pyporting.rst:317 +#: ../Doc/howto/pyporting.rst:323 msgid "" "The problem with this code is what happens when Python 4 comes out? It would " "be better to treat Python 2 as the exceptional case instead of Python 3 and " @@ -757,7 +770,7 @@ msgstr "" "las futuras versiones de Python serán más compatibles con Python 3 que " "Python 2::" -#: ../Doc/howto/pyporting.rst:329 +#: ../Doc/howto/pyporting.rst:335 msgid "" "The best solution, though, is to do no version detection at all and instead " "rely on feature detection. That avoids any potential issues of getting the " @@ -768,11 +781,11 @@ msgstr "" "evita cualquier problema potencial de conseguir la detección de la versión " "incorrecta y le ayuda a mantenerse compatible con el futuro:" -#: ../Doc/howto/pyporting.rst:340 +#: ../Doc/howto/pyporting.rst:346 msgid "Prevent compatibility regressions" msgstr "Evitar regresiones de compatibilidad" -#: ../Doc/howto/pyporting.rst:342 +#: ../Doc/howto/pyporting.rst:348 msgid "" "Once you have fully translated your code to be compatible with Python 3, you " "will want to make sure your code doesn't regress and stop working under " @@ -785,7 +798,7 @@ msgstr "" "dependencia que le está bloqueando para que no se ejecute realmente en " "Python 3 en este momento." -#: ../Doc/howto/pyporting.rst:347 +#: ../Doc/howto/pyporting.rst:353 msgid "" "To help with staying compatible, any new modules you create should have at " "least the following block of code at the top of it::" @@ -793,7 +806,7 @@ msgstr "" "Para ayudar a mantenerse compatible, los módulos nuevos que cree deben tener " "al menos el siguiente bloque de código en la parte superior del misma::" -#: ../Doc/howto/pyporting.rst:354 +#: ../Doc/howto/pyporting.rst:360 msgid "" "You can also run Python 2 with the ``-3`` flag to be warned about various " "compatibility issues your code triggers during execution. If you turn " @@ -806,7 +819,7 @@ msgstr "" "con ``-Werror``, puede asegurarse de que no se pierda accidentalmente una " "advertencia." -#: ../Doc/howto/pyporting.rst:359 +#: ../Doc/howto/pyporting.rst:365 msgid "" "You can also use the Pylint_ project and its ``--py3k`` flag to lint your " "code to receive warnings when your code begins to deviate from Python 3 " @@ -823,11 +836,11 @@ msgstr "" "Python 2.7 y Python 3.4 o posterior, ya que es la compatibilidad mínima de " "la versión mínima de Python de Pylint." -#: ../Doc/howto/pyporting.rst:368 +#: ../Doc/howto/pyporting.rst:374 msgid "Check which dependencies block your transition" msgstr "Compruebe qué dependencias bloquean la transición" -#: ../Doc/howto/pyporting.rst:370 +#: ../Doc/howto/pyporting.rst:376 msgid "" "**After** you have made your code compatible with Python 3 you should begin " "to care about whether your dependencies have also been ported. The " @@ -843,7 +856,7 @@ msgstr "" "herramienta de línea de comandos, así como una interfaz web en https://" "caniusepython3.com." -#: ../Doc/howto/pyporting.rst:377 +#: ../Doc/howto/pyporting.rst:383 msgid "" "The project also provides code which you can integrate into your test suite " "so that you will have a failing test when you no longer have dependencies " @@ -857,12 +870,12 @@ msgstr "" "comprobar manualmente sus dependencias y recibir notificaciones rápidamente " "cuando puede empezar a ejecutarse en Python 3." -#: ../Doc/howto/pyporting.rst:384 +#: ../Doc/howto/pyporting.rst:390 msgid "Update your ``setup.py`` file to denote Python 3 compatibility" msgstr "" "Actualice su archivo ``setup.py`` para denotar compatibilidad con Python 3" -#: ../Doc/howto/pyporting.rst:386 +#: ../Doc/howto/pyporting.rst:392 msgid "" "Once your code works under Python 3, you should update the classifiers in " "your ``setup.py`` to contain ``Programming Language :: Python :: 3`` and to " @@ -877,11 +890,11 @@ msgstr "" "3. Lo ideal es que también desee agregar clasificadores para cada versión " "principal/menor de Python que ahora admita." -#: ../Doc/howto/pyporting.rst:394 +#: ../Doc/howto/pyporting.rst:400 msgid "Use continuous integration to stay compatible" msgstr "Utilice la integración continua para seguir siendo compatible" -#: ../Doc/howto/pyporting.rst:396 +#: ../Doc/howto/pyporting.rst:402 msgid "" "Once you are able to fully run under Python 3 you will want to make sure " "your code always works under both Python 2 & 3. Probably the best tool for " @@ -896,7 +909,7 @@ msgstr "" "continua para que nunca interrumpa accidentalmente la compatibilidad con " "Python 2 o 3." -#: ../Doc/howto/pyporting.rst:402 +#: ../Doc/howto/pyporting.rst:408 msgid "" "You may also want to use the ``-bb`` flag with the Python 3 interpreter to " "trigger an exception when you are comparing bytes to strings or bytes to an " @@ -917,7 +930,7 @@ msgstr "" "produzcan este tipo de comparaciones, lo que hace que el error sea mucho más " "fácil de rastrear." -#: ../Doc/howto/pyporting.rst:410 +#: ../Doc/howto/pyporting.rst:416 msgid "" "And that's mostly it! At this point your code base is compatible with both " "Python 2 and 3 simultaneously. Your testing will also be set up so that you " @@ -930,13 +943,13 @@ msgstr "" "independientemente de la versión en la que ejecute normalmente las pruebas " "durante el desarrollo." -#: ../Doc/howto/pyporting.rst:417 +#: ../Doc/howto/pyporting.rst:423 msgid "Consider using optional static type checking" msgstr "" "Considere la posibilidad de usar la comprobación de tipos estáticos " "opcionales" -#: ../Doc/howto/pyporting.rst:419 +#: ../Doc/howto/pyporting.rst:425 msgid "" "Another way to help port your code is to use a static type checker like " "mypy_ or pytype_ on your code. These tools can be used to analyze your code " diff --git a/howto/sockets.po b/howto/sockets.po index 9b0520cd8d..252f0bb634 100644 --- a/howto/sockets.po +++ b/howto/sockets.po @@ -1,29 +1,31 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. # Maintained by the python-doc-es workteam. -# docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ -# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers +# docs-es@python.org / +# https://mail.python.org/mailman3/lists/docs-es.python.org/ +# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get +# the list of volunteers # msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-06 11:59-0400\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-08-06 09:28-0400\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.3.1\n" +"Generated-By: Babel 2.8.0\n" #: ../Doc/howto/sockets.rst:5 msgid "Socket Programming HOWTO" msgstr "HOW TO - Programación con sockets" -#: ../Doc/howto/sockets.rst:0 +#: ../Doc/howto/sockets.rst msgid "Author" msgstr "Autor" @@ -31,7 +33,6 @@ msgstr "Autor" msgid "Gordon McMillan" msgstr "Gordon McMillan" -#: ../Doc/howto/sockets.rst:None msgid "Abstract" msgstr "Resumen" @@ -56,6 +57,7 @@ msgid "Sockets" msgstr "Sockets" #: ../Doc/howto/sockets.rst:22 +#, python-format msgid "" "I'm only going to talk about INET (i.e. IPv4) sockets, but they account for " "at least 99% of the sockets in use. And I'll only talk about STREAM (i.e. " @@ -605,10 +607,11 @@ msgstr "" "tu aplicación estará casi correcta." #: ../Doc/howto/sockets.rst:320 +#, fuzzy msgid "" -"In Python, you use ``socket.setblocking(0)`` to make it non-blocking. In C, " -"it's more complex, (for one thing, you'll need to choose between the BSD " -"flavor ``O_NONBLOCK`` and the almost indistinguishable Posix flavor " +"In Python, you use ``socket.setblocking(False)`` to make it non-blocking. In " +"C, it's more complex, (for one thing, you'll need to choose between the BSD " +"flavor ``O_NONBLOCK`` and the almost indistinguishable POSIX flavor " "``O_NDELAY``, which is completely different from ``TCP_NODELAY``), but it's " "the exact same idea. You do this after creating the socket, but before using " "it. (Actually, if you're nuts, you can switch back and forth.)" diff --git a/howto/sorting.po b/howto/sorting.po index 242bbbc3e3..99df1af074 100644 --- a/howto/sorting.po +++ b/howto/sorting.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-09 20:29-0300\n" +"Last-Translator: Carlos A. Crespo \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Carlos A. Crespo \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/howto/sorting.rst:4 msgid "Sorting HOW TO" @@ -97,32 +96,36 @@ msgid "Key Functions" msgstr "Funciones clave" #: ../Doc/howto/sorting.rst:45 +#, fuzzy msgid "" "Both :meth:`list.sort` and :func:`sorted` have a *key* parameter to specify " -"a function to be called on each list element prior to making comparisons." +"a function (or other callable) to be called on each list element prior to " +"making comparisons." msgstr "" "Ambos :meth:`list.sort` y :func:`sorted` tienen un parámetro *clave* para " "especificar una función que se llamará en cada elemento de la lista antes de " "hacer comparaciones." -#: ../Doc/howto/sorting.rst:48 +#: ../Doc/howto/sorting.rst:49 msgid "For example, here's a case-insensitive string comparison:" msgstr "" "Por ejemplo, aquí hay una comparación de cadenas que no distingue entre " "mayúsculas y minúsculas:" -#: ../Doc/howto/sorting.rst:53 +#: ../Doc/howto/sorting.rst:54 +#, fuzzy msgid "" -"The value of the *key* parameter should be a function that takes a single " -"argument and returns a key to use for sorting purposes. This technique is " -"fast because the key function is called exactly once for each input record." +"The value of the *key* parameter should be a function (or other callable) " +"that takes a single argument and returns a key to use for sorting purposes. " +"This technique is fast because the key function is called exactly once for " +"each input record." msgstr "" "El valor del parámetro *key* debe ser una función que tome un solo argumento " "y retorne una clave para usar con fines de clasificación. Esta técnica es " "rápida porque la función *key* se llama exactamente una vez para cada " "registro de entrada." -#: ../Doc/howto/sorting.rst:57 +#: ../Doc/howto/sorting.rst:59 msgid "" "A common pattern is to sort complex objects using some of the object's " "indices as keys. For example:" @@ -131,17 +134,17 @@ msgstr "" "índices del objeto como claves. Por ejemplo:" # habíamos utilizado "nombrados" en named tuples. -#: ../Doc/howto/sorting.rst:68 +#: ../Doc/howto/sorting.rst:70 msgid "" "The same technique works for objects with named attributes. For example:" msgstr "" "La misma técnica funciona para objetos con atributos nombrados. Por ejemplo:" -#: ../Doc/howto/sorting.rst:87 +#: ../Doc/howto/sorting.rst:89 msgid "Operator Module Functions" msgstr "Funciones del módulo *operator*" -#: ../Doc/howto/sorting.rst:89 +#: ../Doc/howto/sorting.rst:91 msgid "" "The key-function patterns shown above are very common, so Python provides " "convenience functions to make accessor functions easier and faster. The :mod:" @@ -154,13 +157,13 @@ msgstr "" "`~operator.itemgetter`, :func:`~operator.attrgetter`, y :func:`~operator." "methodcaller`." -#: ../Doc/howto/sorting.rst:94 +#: ../Doc/howto/sorting.rst:96 msgid "Using those functions, the above examples become simpler and faster:" msgstr "" "Usando esas funciones, los ejemplos anteriores se vuelven más simples y " "rápidos:" -#: ../Doc/howto/sorting.rst:104 +#: ../Doc/howto/sorting.rst:106 msgid "" "The operator module functions allow multiple levels of sorting. For example, " "to sort by *grade* then by *age*:" @@ -168,11 +171,11 @@ msgstr "" "Las funciones del módulo *operator* permiten múltiples niveles de " "clasificación. Por ejemplo, para ordenar por *grade* y luego por *age*:" -#: ../Doc/howto/sorting.rst:114 +#: ../Doc/howto/sorting.rst:116 msgid "Ascending and Descending" msgstr "Ascendente y descendente" -#: ../Doc/howto/sorting.rst:116 +#: ../Doc/howto/sorting.rst:118 msgid "" "Both :meth:`list.sort` and :func:`sorted` accept a *reverse* parameter with " "a boolean value. This is used to flag descending sorts. For example, to get " @@ -182,11 +185,11 @@ msgstr "" "un valor booleano. Esto se usa para marcar tipos descendentes. Por ejemplo, " "para obtener los datos de los estudiantes en orden inverso de *edad*:" -#: ../Doc/howto/sorting.rst:127 +#: ../Doc/howto/sorting.rst:129 msgid "Sort Stability and Complex Sorts" msgstr "Estabilidad de ordenamiento y ordenamientos complejos" -#: ../Doc/howto/sorting.rst:129 +#: ../Doc/howto/sorting.rst:131 msgid "" "Sorts are guaranteed to be `stable `_\\. That means that when multiple records have " @@ -196,7 +199,7 @@ msgstr "" "org/wiki/Algoritmo_de_ordenamiento#Estabilidad>`_\\. Eso significa que " "cuando varios registros tienen la misma clave, se conserva su orden original." -#: ../Doc/howto/sorting.rst:137 +#: ../Doc/howto/sorting.rst:139 msgid "" "Notice how the two records for *blue* retain their original order so that " "``('blue', 1)`` is guaranteed to precede ``('blue', 2)``." @@ -204,7 +207,7 @@ msgstr "" "Observe cómo los dos registros para *blue* conservan su orden original de " "modo que se garantice que ``('blue', 1)`` preceda a ``('blue', 2)``." -#: ../Doc/howto/sorting.rst:140 +#: ../Doc/howto/sorting.rst:142 msgid "" "This wonderful property lets you build complex sorts in a series of sorting " "steps. For example, to sort the student data by descending *grade* and then " @@ -215,7 +218,7 @@ msgstr "" "descendente por *grade* y luego ascendente por *age*, ordene primero por " "*age* y luego por *grade*:" -#: ../Doc/howto/sorting.rst:148 +#: ../Doc/howto/sorting.rst:150 msgid "" "This can be abstracted out into a wrapper function that can take a list and " "tuples of field and order to sort them on multiple passes." @@ -223,7 +226,7 @@ msgstr "" "Esto se puede encapsular en una función que tome una lista y tuplas " "(atributo, orden) para ordenarlas por múltiples pases." -#: ../Doc/howto/sorting.rst:159 +#: ../Doc/howto/sorting.rst:161 msgid "" "The `Timsort `_ algorithm used in " "Python does multiple sorts efficiently because it can take advantage of any " @@ -233,17 +236,17 @@ msgstr "" "Python realiza múltiples ordenamientos de manera eficiente porque puede " "aprovechar cualquier orden ya presente en el conjunto de datos." -#: ../Doc/howto/sorting.rst:164 +#: ../Doc/howto/sorting.rst:166 msgid "The Old Way Using Decorate-Sort-Undecorate" msgstr "El método tradicional utilizando *Decorate-Sort-Undecorate*" -#: ../Doc/howto/sorting.rst:166 +#: ../Doc/howto/sorting.rst:168 msgid "This idiom is called Decorate-Sort-Undecorate after its three steps:" msgstr "" "Este patrón de implementación, llamado DSU (por sus siglas en inglés " "*Decorate-Sort-Undecorate*), se realiza en tres pasos:" -#: ../Doc/howto/sorting.rst:168 +#: ../Doc/howto/sorting.rst:170 msgid "" "First, the initial list is decorated with new values that control the sort " "order." @@ -251,11 +254,11 @@ msgstr "" "Primero, la lista inicial está \"decorada\" con nuevos valores que " "controlarán el orden en que se realizará el pedido." -#: ../Doc/howto/sorting.rst:170 +#: ../Doc/howto/sorting.rst:172 msgid "Second, the decorated list is sorted." msgstr "En segundo lugar, se ordena la lista decorada." -#: ../Doc/howto/sorting.rst:172 +#: ../Doc/howto/sorting.rst:174 msgid "" "Finally, the decorations are removed, creating a list that contains only the " "initial values in the new order." @@ -263,14 +266,14 @@ msgstr "" "Finalmente, los valores decorados se eliminan, creando una lista que " "contiene solo los valores iniciales en el nuevo orden." -#: ../Doc/howto/sorting.rst:175 +#: ../Doc/howto/sorting.rst:177 msgid "" "For example, to sort the student data by *grade* using the DSU approach:" msgstr "" "Por ejemplo, para ordenar los datos de los estudiantes por *grade* " "utilizando el enfoque DSU:" -#: ../Doc/howto/sorting.rst:182 +#: ../Doc/howto/sorting.rst:184 msgid "" "This idiom works because tuples are compared lexicographically; the first " "items are compared; if they are the same then the second items are compared, " @@ -280,7 +283,7 @@ msgstr "" "se comparan los primeros objetos; si hay objetos idénticos, se compara el " "siguiente objeto, y así sucesivamente." -#: ../Doc/howto/sorting.rst:186 +#: ../Doc/howto/sorting.rst:188 msgid "" "It is not strictly necessary in all cases to include the index *i* in the " "decorated list, but including it gives two benefits:" @@ -288,7 +291,7 @@ msgstr "" "No es estrictamente necesario en todos los casos incluir el índice *i* en la " "lista decorada, pero incluirlo ofrece dos ventajas:" -#: ../Doc/howto/sorting.rst:189 +#: ../Doc/howto/sorting.rst:191 msgid "" "The sort is stable -- if two items have the same key, their order will be " "preserved in the sorted list." @@ -296,7 +299,7 @@ msgstr "" "El orden es estable: si dos elementos tienen la misma clave, su orden se " "conservará en la lista ordenada." -#: ../Doc/howto/sorting.rst:192 +#: ../Doc/howto/sorting.rst:194 msgid "" "The original items do not have to be comparable because the ordering of the " "decorated tuples will be determined by at most the first two items. So for " @@ -308,7 +311,7 @@ msgstr "" "elementos. Entonces, por ejemplo, la lista original podría contener números " "complejos que no se pueden ordenar directamente." -#: ../Doc/howto/sorting.rst:197 +#: ../Doc/howto/sorting.rst:199 msgid "" "Another name for this idiom is `Schwartzian transform `_\\, after Randal L. Schwartz, who " @@ -318,7 +321,7 @@ msgstr "" "wikipedia.org/wiki/Schwartzian_transform>`_\\, después de que Randal L. " "Schwartz la popularizara entre los programadores de Perl." -#: ../Doc/howto/sorting.rst:201 +#: ../Doc/howto/sorting.rst:203 msgid "" "Now that Python sorting provides key-functions, this technique is not often " "needed." @@ -326,11 +329,11 @@ msgstr "" "Ahora que la clasificación de Python proporciona funciones clave, esta " "técnica ya no se usa con frecuencia." -#: ../Doc/howto/sorting.rst:205 +#: ../Doc/howto/sorting.rst:207 msgid "The Old Way Using the *cmp* Parameter" msgstr "El método tradicional utilizando el Parámetro *cmp*" -#: ../Doc/howto/sorting.rst:207 +#: ../Doc/howto/sorting.rst:209 msgid "" "Many constructs given in this HOWTO assume Python 2.4 or later. Before that, " "there was no :func:`sorted` builtin and :meth:`list.sort` took no keyword " @@ -343,8 +346,9 @@ msgstr "" "esto, todas las versiones de Py2.x admiten el parámetro *cmp* para manejar " "la función de comparación especificada por el usuario." -# "rich comparisons" -> comparaciones enriquecidas? o es un concepto específico? -#: ../Doc/howto/sorting.rst:212 +# "rich comparisons" -> comparaciones enriquecidas? o es un concepto +# específico? +#: ../Doc/howto/sorting.rst:214 #, fuzzy msgid "" "In Py3.0, the *cmp* parameter was removed entirely (as part of a larger " @@ -355,7 +359,7 @@ msgstr "" "esfuerzo para simplificar y unificar el lenguaje, eliminando el conflicto " "entre las comparaciones enriquecidas y el método mágico :meth:`__cmp__`)." -#: ../Doc/howto/sorting.rst:216 +#: ../Doc/howto/sorting.rst:218 msgid "" "In Py2.x, sort allowed an optional function which can be called for doing " "the comparisons. That function should take two arguments to be compared and " @@ -368,11 +372,11 @@ msgstr "" "iguales o retornar un valor positivo para mayor que. Por ejemplo, podemos " "hacer:" -#: ../Doc/howto/sorting.rst:226 +#: ../Doc/howto/sorting.rst:228 msgid "Or you can reverse the order of comparison with:" msgstr "O puede revertir el orden de comparación con:" -#: ../Doc/howto/sorting.rst:233 +#: ../Doc/howto/sorting.rst:235 msgid "" "When porting code from Python 2.x to 3.x, the situation can arise when you " "have the user supplying a comparison function and you need to convert that " @@ -383,13 +387,13 @@ msgstr "" "esta función en una función clave. El siguiente paquete hace que sea fácil " "de hacer:" -#: ../Doc/howto/sorting.rst:256 +#: ../Doc/howto/sorting.rst:258 msgid "To convert to a key function, just wrap the old comparison function:" msgstr "" "Para convertir a una función clave, simplemente ajuste la antigua función de " "comparación:" -#: ../Doc/howto/sorting.rst:267 +#: ../Doc/howto/sorting.rst:269 msgid "" "In Python 3.2, the :func:`functools.cmp_to_key` function was added to the :" "mod:`functools` module in the standard library." @@ -397,11 +401,11 @@ msgstr "" "En Python 3.2, la función :func:`functools.cmp_to_key` se agregó al módulo :" "mod:`functools` en la biblioteca estándar." -#: ../Doc/howto/sorting.rst:271 +#: ../Doc/howto/sorting.rst:273 msgid "Odd and Ends" msgstr "Comentarios finales" -#: ../Doc/howto/sorting.rst:273 +#: ../Doc/howto/sorting.rst:275 msgid "" "For locale aware sorting, use :func:`locale.strxfrm` for a key function or :" "func:`locale.strcoll` for a comparison function." @@ -409,7 +413,7 @@ msgstr "" "Para una ordenación local, use :func:`locale.strxfrm` para una función clave " "o :func:`locale.strcoll` para una función de comparación." -#: ../Doc/howto/sorting.rst:276 +#: ../Doc/howto/sorting.rst:278 msgid "" "The *reverse* parameter still maintains sort stability (so that records with " "equal keys retain the original order). Interestingly, that effect can be " @@ -421,7 +425,7 @@ msgstr "" "ese efecto se puede simular sin el parámetro utilizando la función " "incorporada :func:`reversed` dos veces:" -#: ../Doc/howto/sorting.rst:288 +#: ../Doc/howto/sorting.rst:290 #, fuzzy msgid "" "The sort routines are guaranteed to use :meth:`__lt__` when making " @@ -432,7 +436,7 @@ msgstr "" "comparaciones entre dos objetos. Por lo tanto, es fácil agregar un orden de " "clasificación estándar a una clase definiendo un método :meth:`__lt__` ::" -#: ../Doc/howto/sorting.rst:296 +#: ../Doc/howto/sorting.rst:298 msgid "" "Key functions need not depend directly on the objects being sorted. A key " "function can also access external resources. For instance, if the student " diff --git a/howto/unicode.po b/howto/unicode.po index 5e406b789b..3423a6e263 100644 --- a/howto/unicode.po +++ b/howto/unicode.po @@ -10,16 +10,17 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-08-19 19:57-0300\n" +"Last-Translator: Laureano Silva \n" +"Language: es\n" "Language-Team: python-doc-es (https://mail.python.org/mailman3/lists/docs-es." "python.org)\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Last-Translator: Laureano Silva \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" +"Generated-By: Babel 2.8.0\n" #: ../Doc/howto/unicode.rst:5 msgid "Unicode HOWTO" @@ -105,9 +106,10 @@ msgstr "" msgid "" "The Unicode standard describes how characters are represented by **code " "points**. A code point value is an integer in the range 0 to 0x10FFFF " -"(about 1.1 million values, with some 110 thousand assigned so far). In the " -"standard and in this document, a code point is written using the notation ``U" -"+265E`` to mean the character with value ``0x265e`` (9,822 in decimal)." +"(about 1.1 million values, the `actual number assigned `_ is less than that). In the standard and in " +"this document, a code point is written using the notation ``U+265E`` to mean " +"the character with value ``0x265e`` (9,822 in decimal)." msgstr "" "El estándar Unicode describe como son representados los caracteres por " "**códigos de posición**. Un código de posición es un entero en el rango 0 a " @@ -116,7 +118,7 @@ msgstr "" "usando la notación ``U+265E`` para referirse al carácter con el valor " "``0x265e`` (9822 en decimal)." -#: ../Doc/howto/unicode.rst:49 +#: ../Doc/howto/unicode.rst:50 #, fuzzy msgid "" "The Unicode standard contains a lot of tables listing characters and their " @@ -125,7 +127,7 @@ msgstr "" "El estándar Unicode contiene muchas tablas con caracteres y sus " "correspondientes códigos de posición:" -#: ../Doc/howto/unicode.rst:70 +#: ../Doc/howto/unicode.rst:71 #, fuzzy msgid "" "Strictly, these definitions imply that it's meaningless to say 'this is " @@ -140,7 +142,7 @@ msgstr "" "NEGRO DE AJEDREZ', '♞'. En contextos informales esta distinción entre puntos " "de código y caracteres a veces se olvidará." -#: ../Doc/howto/unicode.rst:77 +#: ../Doc/howto/unicode.rst:78 msgid "" "A character is represented on a screen or on paper by a set of graphical " "elements that's called a **glyph**. The glyph for an uppercase A, for " @@ -157,12 +159,12 @@ msgstr "" "para mostrar es generalmente el trabajo de un kit de herramientas GUI o el " "renderizador de fuentes de una terminal." -#: ../Doc/howto/unicode.rst:86 +#: ../Doc/howto/unicode.rst:87 #, fuzzy msgid "Encodings" msgstr "Codificaciones" -#: ../Doc/howto/unicode.rst:88 +#: ../Doc/howto/unicode.rst:89 msgid "" "To summarize the previous section: a Unicode string is a sequence of code " "points, which are numbers from 0 through ``0x10FFFF`` (1,114,111 decimal). " @@ -179,7 +181,7 @@ msgstr "" "Unicode a una secuencia de bytes son llamadas **Codificación de carácter**, " "o sólo una **codificación**." -#: ../Doc/howto/unicode.rst:96 +#: ../Doc/howto/unicode.rst:97 msgid "" "The first encoding you might think of is using 32-bit integers as the code " "unit, and then using the CPU's representation of 32-bit integers. In this " @@ -189,7 +191,7 @@ msgstr "" "como unidad de código, y luego usar la representación de la CPU de enteros " "de 32 bits. En esta representación, la cadena \"Python\" podría verse así:" -#: ../Doc/howto/unicode.rst:106 +#: ../Doc/howto/unicode.rst:107 msgid "" "This representation is straightforward but using it presents a number of " "problems." @@ -197,13 +199,13 @@ msgstr "" "Esta representación es sencilla pero utilizarla presenta una serie de " "problemas." -#: ../Doc/howto/unicode.rst:109 +#: ../Doc/howto/unicode.rst:110 msgid "It's not portable; different processors order the bytes differently." msgstr "" "No es portable; diferentes procesadores ordenan los bytes de manera " "diferente." -#: ../Doc/howto/unicode.rst:111 +#: ../Doc/howto/unicode.rst:112 msgid "" "It's very wasteful of space. In most texts, the majority of the code points " "are less than 127, or less than 255, so a lot of space is occupied by " @@ -222,7 +224,7 @@ msgstr "" "grandes), pero expandir nuestro uso del disco y el ancho de banda de la red " "en un factor de 4 es intolerable." -#: ../Doc/howto/unicode.rst:119 +#: ../Doc/howto/unicode.rst:120 msgid "" "It's not compatible with existing C functions such as ``strlen()``, so a new " "family of wide string functions would need to be used." @@ -230,7 +232,7 @@ msgstr "" "No es compatible con funciones existentes en C como ``strlen()``, para eso " "se necesitaría una nueva familia de funciones de cadenas." -#: ../Doc/howto/unicode.rst:122 +#: ../Doc/howto/unicode.rst:123 msgid "" "Therefore this encoding isn't used very much, and people instead choose " "other encodings that are more efficient and convenient, such as UTF-8." @@ -238,7 +240,7 @@ msgstr "" "Por lo tanto esta codificación no es muy utilizada, y la gente prefiere " "elegir codificaciones que son mas eficientes y convenientes, como UTF-8." -#: ../Doc/howto/unicode.rst:125 +#: ../Doc/howto/unicode.rst:126 msgid "" "UTF-8 is one of the most commonly used encodings, and Python often defaults " "to using it. UTF stands for \"Unicode Transformation Format\", and the '8' " @@ -252,14 +254,14 @@ msgstr "" "codificación. (También hay codificaciones UTF-16 y UTF-32, pero son menos " "frecuentes que UTF-8.) UTF-8 usa las siguientes reglas:" -#: ../Doc/howto/unicode.rst:131 +#: ../Doc/howto/unicode.rst:132 msgid "" "If the code point is < 128, it's represented by the corresponding byte value." msgstr "" "Si el código de posición is < 128, es representado por el valor de byte " "correspondiente." -#: ../Doc/howto/unicode.rst:132 +#: ../Doc/howto/unicode.rst:133 msgid "" "If the code point is >= 128, it's turned into a sequence of two, three, or " "four bytes, where each byte of the sequence is between 128 and 255." @@ -267,16 +269,16 @@ msgstr "" "Si el código de posición es >= 128, se transforma en una secuencia de dos, " "tres, o cuatro bytes, donde cada byte de la secuencia está entre 128 y 255." -#: ../Doc/howto/unicode.rst:135 +#: ../Doc/howto/unicode.rst:136 msgid "UTF-8 has several convenient properties:" msgstr "UTF-8 tiene varias propiedades convenientes:" -#: ../Doc/howto/unicode.rst:137 +#: ../Doc/howto/unicode.rst:138 #, fuzzy msgid "It can handle any Unicode code point." msgstr "Puede manejar cualquier código de posición Unicode." -#: ../Doc/howto/unicode.rst:138 +#: ../Doc/howto/unicode.rst:139 #, fuzzy msgid "" "A Unicode string is turned into a sequence of bytes that contains embedded " @@ -291,11 +293,11 @@ msgstr "" "``strcpy()`` y enviado a través de protocolos que no pueden manejar bytes " "cero." -#: ../Doc/howto/unicode.rst:143 +#: ../Doc/howto/unicode.rst:144 msgid "A string of ASCII text is also valid UTF-8 text." msgstr "Una cadena de texto ASCII es también texto UTF-8." -#: ../Doc/howto/unicode.rst:144 +#: ../Doc/howto/unicode.rst:145 msgid "" "UTF-8 is fairly compact; the majority of commonly used characters can be " "represented with one or two bytes." @@ -303,7 +305,7 @@ msgstr "" "UTF-8 es bastante compacto; La mayoría de los caracteres comúnmente usados " "pueden ser representados con uno o dos bytes." -#: ../Doc/howto/unicode.rst:146 +#: ../Doc/howto/unicode.rst:147 msgid "" "If bytes are corrupted or lost, it's possible to determine the start of the " "next UTF-8-encoded code point and resynchronize. It's also unlikely that " @@ -313,7 +315,7 @@ msgstr "" "del próximo código de posición y re-sincronizar. También es poco probable " "que datos aleatorios de 8 bit se vean como UTF-8 válido." -#: ../Doc/howto/unicode.rst:149 +#: ../Doc/howto/unicode.rst:150 msgid "" "UTF-8 is a byte oriented encoding. The encoding specifies that each " "character is represented by a specific sequence of one or more bytes. This " @@ -328,16 +330,17 @@ msgstr "" "UTF-32, donde la secuencia de bytes varía según el hardware en el que se " "codificó la cadena." -#: ../Doc/howto/unicode.rst:157 ../Doc/howto/unicode.rst:513 -#: ../Doc/howto/unicode.rst:734 +#: ../Doc/howto/unicode.rst:158 ../Doc/howto/unicode.rst:514 +#: ../Doc/howto/unicode.rst:735 msgid "References" msgstr "Referencias" -#: ../Doc/howto/unicode.rst:159 +#: ../Doc/howto/unicode.rst:160 +#, fuzzy msgid "" -"The `Unicode Consortium site `_ has character " +"The `Unicode Consortium site `_ has character " "charts, a glossary, and PDF versions of the Unicode specification. Be " -"prepared for some difficult reading. `A chronology `_ of the origin and development of Unicode is also available on " "the site." msgstr "" @@ -347,7 +350,7 @@ msgstr "" "unicode.org/history/>`_ del origen y desarrollo de Unicode se encuentra " "disponible en el sitio." -#: ../Doc/howto/unicode.rst:164 +#: ../Doc/howto/unicode.rst:165 msgid "" "On the Computerphile Youtube channel, Tom Scott briefly `discusses the " "history of Unicode and UTF-8 `_ " @@ -357,7 +360,7 @@ msgstr "" "historia de Unicode y UTF-8 ` " "(9 minutos 36 segundos)." -#: ../Doc/howto/unicode.rst:168 +#: ../Doc/howto/unicode.rst:169 msgid "" "To help understand the standard, Jukka Korpela has written `an introductory " "guide `_ to reading the Unicode " @@ -367,7 +370,7 @@ msgstr "" "introductoria `_ para leer tablas de " "caracteres Unicode." -#: ../Doc/howto/unicode.rst:172 +#: ../Doc/howto/unicode.rst:173 msgid "" "Another `good introductory article `_\" and `UTF-8 " @@ -392,11 +395,11 @@ msgstr "" "%C3%B3n_de_caracteres>`_\" y `UTF-8 `_, " "por ejemplo." -#: ../Doc/howto/unicode.rst:183 +#: ../Doc/howto/unicode.rst:184 msgid "Python's Unicode Support" msgstr "Soporte Unicode de Python" -#: ../Doc/howto/unicode.rst:185 +#: ../Doc/howto/unicode.rst:186 msgid "" "Now that you've learned the rudiments of Unicode, we can look at Python's " "Unicode features." @@ -404,11 +407,11 @@ msgstr "" "Ahora que ya ha aprendido los rudimentos de Unicode, podemos mirar las " "características de Unicode de Python." -#: ../Doc/howto/unicode.rst:189 +#: ../Doc/howto/unicode.rst:190 msgid "The String Type" msgstr "El tipo cadena" -#: ../Doc/howto/unicode.rst:191 +#: ../Doc/howto/unicode.rst:192 #, fuzzy msgid "" "Since Python 3.0, the language's :class:`str` type contains Unicode " @@ -420,7 +423,7 @@ msgstr "" "que cualquier cadena creada con ``\"unicode rocks!\"``, ``'unicode " "rocks!'``, o la sintaxis de triple comillas es almacenada como Unicode." -#: ../Doc/howto/unicode.rst:195 +#: ../Doc/howto/unicode.rst:196 #, fuzzy msgid "" "The default encoding for Python source code is UTF-8, so you can simply " @@ -429,14 +432,14 @@ msgstr "" "La codificación por defecto para código fuente Python es UTF-8, entonces " "puedes incluir un carácter unicode simplemente en una cadena literal::" -#: ../Doc/howto/unicode.rst:205 +#: ../Doc/howto/unicode.rst:206 msgid "" "Side note: Python 3 also supports using Unicode characters in identifiers::" msgstr "" "Nota al margen: Python 3 también soporta el uso de caracteres Unicode en " "identificadores::" -#: ../Doc/howto/unicode.rst:211 +#: ../Doc/howto/unicode.rst:212 #, fuzzy msgid "" "If you can't enter a particular character in your editor or want to keep the " @@ -449,7 +452,7 @@ msgstr "" "escapadas en cadenas literales. (Dependiendo de tu sistema, puedes ver el " "glifo delta mayúscula en lugar de \\u.) ::" -#: ../Doc/howto/unicode.rst:223 +#: ../Doc/howto/unicode.rst:224 msgid "" "In addition, one can create a string using the :func:`~bytes.decode` method " "of :class:`bytes`. This method takes an *encoding* argument, such as " @@ -459,7 +462,7 @@ msgstr "" "la clase :class:`bytes`. Este método recibe una *codificación* como " "argumento, como ``UTF-8``, y opcionalmente un argumento *errores*." -#: ../Doc/howto/unicode.rst:227 +#: ../Doc/howto/unicode.rst:228 msgid "" "The *errors* argument specifies the response when the input string can't be " "converted according to the encoding's rules. Legal values for this argument " @@ -477,7 +480,7 @@ msgstr "" "Unicode), o ``'backslahsreplace'`` (inserta una secuencia de escape ``" "\\xNN``). Los siguientes ejemplos muestran las diferencias ::" -#: ../Doc/howto/unicode.rst:247 +#: ../Doc/howto/unicode.rst:248 msgid "" "Encodings are specified as strings containing the encoding's name. Python " "comes with roughly 100 different encodings; see the Python Library Reference " @@ -492,7 +495,7 @@ msgstr "" "por ejemplo, ``'latin-1'``, ``'iso_8859_1'`` y ``'8859``' son sinónimos para " "la misma codificación." -#: ../Doc/howto/unicode.rst:253 +#: ../Doc/howto/unicode.rst:254 msgid "" "One-character Unicode strings can also be created with the :func:`chr` built-" "in function, which takes integers and returns a Unicode string of length 1 " @@ -506,11 +509,11 @@ msgstr "" "inversa es la función incorporada :func:`ord` que toma una cadena Unicode de " "un carácter y retorna el código de posición::" -#: ../Doc/howto/unicode.rst:265 +#: ../Doc/howto/unicode.rst:266 msgid "Converting to Bytes" msgstr "Convirtiendo a Bytes" -#: ../Doc/howto/unicode.rst:267 +#: ../Doc/howto/unicode.rst:268 msgid "" "The opposite method of :meth:`bytes.decode` is :meth:`str.encode`, which " "returns a :class:`bytes` representation of the Unicode string, encoded in " @@ -520,7 +523,7 @@ msgstr "" "una representación de :class:`bytes` de la cadena Unicode, codificada en la " "codificación solicitada." -#: ../Doc/howto/unicode.rst:271 +#: ../Doc/howto/unicode.rst:272 msgid "" "The *errors* parameter is the same as the parameter of the :meth:`~bytes." "decode` method but supports a few more possible handlers. As well as " @@ -533,11 +536,11 @@ msgstr "" "El parámetro *errores* es el mismo que el parámetro del método :meth:`~bytes." "decode` pero soporta algunos manejadores mas." -#: ../Doc/howto/unicode.rst:279 +#: ../Doc/howto/unicode.rst:280 msgid "The following example shows the different results::" msgstr "El siguiente ejemplo muestra los diferentes resultados::" -#: ../Doc/howto/unicode.rst:300 +#: ../Doc/howto/unicode.rst:301 msgid "" "The low-level routines for registering and accessing the available encodings " "are found in the :mod:`codecs` module. Implementing new encodings also " @@ -554,11 +557,11 @@ msgstr "" "escribir nuevas codificaciones es una tarea especializada, por lo que el " "módulo no se cubrirá en este CÓMO." -#: ../Doc/howto/unicode.rst:309 +#: ../Doc/howto/unicode.rst:310 msgid "Unicode Literals in Python Source Code" msgstr "Literales Unicode en código fuente Python" -#: ../Doc/howto/unicode.rst:311 +#: ../Doc/howto/unicode.rst:312 msgid "" "In Python source code, specific Unicode code points can be written using the " "``\\u`` escape sequence, which is followed by four hex digits giving the " @@ -571,7 +574,7 @@ msgstr "" "escape ``\\U`` es similar, pero espera ocho dígitos hexadecimales, no " "cuatro::" -#: ../Doc/howto/unicode.rst:323 +#: ../Doc/howto/unicode.rst:324 msgid "" "Using escape sequences for code points greater than 127 is fine in small " "doses, but becomes an annoyance if you're using many accented characters, as " @@ -586,7 +589,7 @@ msgstr "" "cadenas usando la función incorporada :func:`chr`, pero esto es aún más " "tedioso." -#: ../Doc/howto/unicode.rst:329 +#: ../Doc/howto/unicode.rst:330 msgid "" "Ideally, you'd want to be able to write literals in your language's natural " "encoding. You could then edit Python source code with your favorite editor " @@ -598,7 +601,7 @@ msgstr "" "favorito, que mostrará los caracteres acentuados de forma natural y tendrá " "los caracteres correctos utilizados en tiempo de ejecución." -#: ../Doc/howto/unicode.rst:334 +#: ../Doc/howto/unicode.rst:335 msgid "" "Python supports writing source code in UTF-8 by default, but you can use " "almost any encoding if you declare the encoding being used. This is done by " @@ -610,7 +613,7 @@ msgstr "" "codificación que está utilizando. Esto se hace mediante la inclusión de un " "comentario especial en la primera o segunda línea del archivo fuente::" -#: ../Doc/howto/unicode.rst:344 +#: ../Doc/howto/unicode.rst:345 msgid "" "The syntax is inspired by Emacs's notation for specifying variables local to " "a file. Emacs supports many different variables, but Python only supports " @@ -625,7 +628,7 @@ msgstr "" "una convención. Python busca ``coding: name`` o ``coding=name`` en el " "comentario." -#: ../Doc/howto/unicode.rst:350 +#: ../Doc/howto/unicode.rst:351 msgid "" "If you don't include such a comment, the default encoding used will be UTF-8 " "as already mentioned. See also :pep:`263` for more information." @@ -633,11 +636,11 @@ msgstr "" "Si no incluye dicho comentario, la codificación predeterminada utilizada " "será UTF-8 como ya se mencionó. Ver también :pep:`263` para más información." -#: ../Doc/howto/unicode.rst:355 +#: ../Doc/howto/unicode.rst:356 msgid "Unicode Properties" msgstr "Propiedades Unicode" -#: ../Doc/howto/unicode.rst:357 +#: ../Doc/howto/unicode.rst:358 msgid "" "The Unicode specification includes a database of information about code " "points. For each defined code point, the information includes the " @@ -654,7 +657,7 @@ msgstr "" "relacionadas con la visualización, como cómo usar el punto de código en " "texto bidireccional." -#: ../Doc/howto/unicode.rst:365 +#: ../Doc/howto/unicode.rst:366 msgid "" "The following program displays some information about several characters, " "and prints the numeric value of one particular character::" @@ -662,11 +665,12 @@ msgstr "" "El siguiente programa muestra información sobre varios caracteres e imprime " "el valor numérico de un carácter en particular::" -#: ../Doc/howto/unicode.rst:379 +#: ../Doc/howto/unicode.rst:380 msgid "When run, this prints:" msgstr "Cuando se ejecuta, este imprime:" -#: ../Doc/howto/unicode.rst:390 +#: ../Doc/howto/unicode.rst:391 +#, fuzzy msgid "" "The category codes are abbreviations describing the nature of the character. " "These are grouped into categories such as \"Letter\", \"Number\", " @@ -674,7 +678,7 @@ msgid "" "subcategories. To take the codes from the above output, ``'Ll'`` means " "'Letter, lowercase', ``'No'`` means \"Number, other\", ``'Mn'`` is \"Mark, " "nonspacing\", and ``'So'`` is \"Symbol, other\". See `the General Category " -"Values section of the Unicode Character Database documentation `_ for a list of category " "codes." msgstr "" @@ -688,11 +692,11 @@ msgstr "" "documentation `_ para obtener una lista de códigos de categoría." -#: ../Doc/howto/unicode.rst:401 +#: ../Doc/howto/unicode.rst:402 msgid "Comparing Strings" msgstr "Comparando cadenas" -#: ../Doc/howto/unicode.rst:403 +#: ../Doc/howto/unicode.rst:404 msgid "" "Unicode adds some complication to comparing strings, because the same set of " "characters can be represented by different sequences of code points. For " @@ -709,7 +713,7 @@ msgstr "" "'COMBINING CIRCUMFLEX ACCENT' . Estos producirán la misma salida cuando se " "impriman, pero uno es una cadena de longitud 1 y el otro es de longitud 2." -#: ../Doc/howto/unicode.rst:411 +#: ../Doc/howto/unicode.rst:412 msgid "" "One tool for a case-insensitive comparison is the :meth:`~str.casefold` " "string method that converts a string to a case-insensitive form following an " @@ -724,7 +728,7 @@ msgstr "" "especial para caracteres como la letra Alemana 'ß' (punto de código U+00DF), " "que se convierte en el par de letras minúsculas 'ss'." -#: ../Doc/howto/unicode.rst:424 +#: ../Doc/howto/unicode.rst:425 msgid "" "A second tool is the :mod:`unicodedata` module's :func:`~unicodedata." "normalize` function that converts strings to one of several normal forms, " @@ -740,12 +744,12 @@ msgstr "" "realizar comparaciones de cadenas que no informarán falsamente la " "desigualdad si dos cadenas usan caracteres combinados de manera diferente:" -#: ../Doc/howto/unicode.rst:447 +#: ../Doc/howto/unicode.rst:448 #, fuzzy msgid "When run, this outputs:" msgstr "Cuando se ejecuta, imprime esto:" -#: ../Doc/howto/unicode.rst:456 +#: ../Doc/howto/unicode.rst:457 msgid "" "The first argument to the :func:`~unicodedata.normalize` function is a " "string giving the desired normalization form, which can be one of 'NFC', " @@ -755,13 +759,13 @@ msgstr "" "cadena que proporciona la forma de normalización deseada, que puede ser una " "de 'NFC', 'NFKC', 'NFD' y 'NFKD'." -#: ../Doc/howto/unicode.rst:460 +#: ../Doc/howto/unicode.rst:461 msgid "The Unicode Standard also specifies how to do caseless comparisons::" msgstr "" "El estándar Unicode también especifica cómo hacer comparaciones sin " "mayúsculas y minúsculas::" -#: ../Doc/howto/unicode.rst:476 +#: ../Doc/howto/unicode.rst:477 msgid "" "This will print ``True``. (Why is :func:`NFD` invoked twice? Because there " "are a few characters that make :meth:`casefold` return a non-normalized " @@ -774,11 +778,11 @@ msgstr "" "nuevamente. Consulte la sección 3.13 del Estándar Unicode para una discusión " "y un ejemplo.)" -#: ../Doc/howto/unicode.rst:483 +#: ../Doc/howto/unicode.rst:484 msgid "Unicode Regular Expressions" msgstr "Expresiones Regulares Unicode" -#: ../Doc/howto/unicode.rst:485 +#: ../Doc/howto/unicode.rst:486 msgid "" "The regular expressions supported by the :mod:`re` module can be provided " "either as bytes or strings. Some of the special character sequences such as " @@ -794,7 +798,7 @@ msgstr "" "coincidirá con los caracteres ``[0-9]`` en bytes, pero en las cadenas " "coincidirá con cualquier carácter que esté en la categoría ``'Nd'``." -#: ../Doc/howto/unicode.rst:492 +#: ../Doc/howto/unicode.rst:493 msgid "" "The string in this example has the number 57 written in both Thai and Arabic " "numerals::" @@ -802,7 +806,7 @@ msgstr "" "La cadena en este ejemplo tiene el número 57 escrito en números tailandeses " "y árabes::" -#: ../Doc/howto/unicode.rst:502 +#: ../Doc/howto/unicode.rst:503 msgid "" "When executed, ``\\d+`` will match the Thai numerals and print them out. If " "you supply the :const:`re.ASCII` flag to :func:`~re.compile`, ``\\d+`` will " @@ -812,7 +816,7 @@ msgstr "" "imprimirá. Si proporciona el indicador :const:`re.ASCII` a :func:`~re." "compile`, ``\\d+`` coincidirá con la subcadena \"57\" en su lugar." -#: ../Doc/howto/unicode.rst:506 +#: ../Doc/howto/unicode.rst:507 msgid "" "Similarly, ``\\w`` matches a wide variety of Unicode characters but only " "``[a-zA-Z0-9_]`` in bytes or if :const:`re.ASCII` is supplied, and ``\\s`` " @@ -823,13 +827,13 @@ msgstr "" "suministra, y ``\\s`` coincidirá con los caracteres de espacio en blanco " "Unicode o ``[ \\t\\n\\r\\f\\v]``." -#: ../Doc/howto/unicode.rst:517 +#: ../Doc/howto/unicode.rst:518 msgid "Some good alternative discussions of Python's Unicode support are:" msgstr "" "Algunas buenas discusiones alternativas sobre el soporte Unicode de Python " "son:" -#: ../Doc/howto/unicode.rst:519 +#: ../Doc/howto/unicode.rst:520 msgid "" "`Processing Text Files in Python 3 `_, by Nick Coghlan." @@ -837,7 +841,7 @@ msgstr "" "`Processing Text Files in Python 3 `_, por *Nick Coghlan*." -#: ../Doc/howto/unicode.rst:520 +#: ../Doc/howto/unicode.rst:521 msgid "" "`Pragmatic Unicode `_, a PyCon " "2012 presentation by Ned Batchelder." @@ -845,7 +849,7 @@ msgstr "" "`Pragmatic Unicode `_, una " "presentación de *Ned Batchelder* en PyCon 2012." -#: ../Doc/howto/unicode.rst:522 +#: ../Doc/howto/unicode.rst:523 msgid "" "The :class:`str` type is described in the Python library reference at :ref:" "`textseq`." @@ -853,15 +857,15 @@ msgstr "" "El tipo :class:`str` se describe en la referencia de la biblioteca de Python " "en :ref:`textseq`." -#: ../Doc/howto/unicode.rst:525 +#: ../Doc/howto/unicode.rst:526 msgid "The documentation for the :mod:`unicodedata` module." msgstr "La documentación para el módulo :mod:`unicodedata`." -#: ../Doc/howto/unicode.rst:527 +#: ../Doc/howto/unicode.rst:528 msgid "The documentation for the :mod:`codecs` module." msgstr "La documentación para el módulo :mod:`codecs`." -#: ../Doc/howto/unicode.rst:529 +#: ../Doc/howto/unicode.rst:530 msgid "" "Marc-André Lemburg gave `a presentation titled \"Python and Unicode\" (PDF " "slides) `_ at " @@ -876,11 +880,11 @@ msgstr "" "(donde el tipo de cadena Unicode se llama ``unicode`` y los literales " "comienzan con ``u``)." -#: ../Doc/howto/unicode.rst:537 +#: ../Doc/howto/unicode.rst:538 msgid "Reading and Writing Unicode Data" msgstr "Leyendo y escribiendo datos Unicode" -#: ../Doc/howto/unicode.rst:539 +#: ../Doc/howto/unicode.rst:540 msgid "" "Once you've written some code that works with Unicode data, the next problem " "is input/output. How do you get Unicode strings into your program, and how " @@ -891,7 +895,7 @@ msgstr "" "programa y cómo convierte Unicode en una forma adecuada para almacenamiento " "o transmisión?" -#: ../Doc/howto/unicode.rst:543 +#: ../Doc/howto/unicode.rst:544 msgid "" "It's possible that you may not need to do anything depending on your input " "sources and output destinations; you should check whether the libraries used " @@ -906,7 +910,7 @@ msgstr "" "relacionales también admiten columnas con valores Unicode y pueden retornar " "valores Unicode de una consulta SQL." -#: ../Doc/howto/unicode.rst:549 +#: ../Doc/howto/unicode.rst:550 msgid "" "Unicode data is usually converted to a particular encoding before it gets " "written to disk or sent over a socket. It's possible to do all the work " @@ -920,7 +924,7 @@ msgstr "" "de 8 bits y convierta los bytes con ``bytes.decode(codificación)``. Sin " "embargo, no se recomienda el enfoque manual." -#: ../Doc/howto/unicode.rst:554 +#: ../Doc/howto/unicode.rst:555 msgid "" "One problem is the multi-byte nature of encodings; one Unicode character can " "be represented by several bytes. If you want to read the file in arbitrary-" @@ -945,7 +949,7 @@ msgstr "" "necesitarías tener tanto la cadena codificada como su versión Unicode en la " "memoria)." -#: ../Doc/howto/unicode.rst:564 +#: ../Doc/howto/unicode.rst:565 msgid "" "The solution would be to use the low-level decoding interface to catch the " "case of partial coding sequences. The work of implementing this has already " @@ -966,11 +970,11 @@ msgstr "" "y *errors* de :func:`open` que se interpretan como los de :meth:`str.encode` " "y :meth:`bytes.decode`." -#: ../Doc/howto/unicode.rst:573 +#: ../Doc/howto/unicode.rst:574 msgid "Reading Unicode from a file is therefore simple::" msgstr "Por lo tanto, leer Unicode de un archivo es simple::" -#: ../Doc/howto/unicode.rst:579 +#: ../Doc/howto/unicode.rst:580 msgid "" "It's also possible to open files in update mode, allowing both reading and " "writing::" @@ -978,7 +982,7 @@ msgstr "" "También es posible abrir archivos en modo de actualización, lo que permite " "leer y escribir::" -#: ../Doc/howto/unicode.rst:587 +#: ../Doc/howto/unicode.rst:588 msgid "" "The Unicode character ``U+FEFF`` is used as a byte-order mark (BOM), and is " "often written as the first character of a file in order to assist with " @@ -1000,7 +1004,7 @@ msgstr "" "para codificaciones 'little-endian' y 'big-endian', que especifican un orden " "de bytes particular y no omiten la BOM." -#: ../Doc/howto/unicode.rst:596 +#: ../Doc/howto/unicode.rst:597 msgid "" "In some areas, it is also convention to use a \"BOM\" at the start of UTF-8 " "encoded files; the name is misleading since UTF-8 is not byte-order " @@ -1014,11 +1018,11 @@ msgstr "" "codificado en UTF-8. Para leer dichos archivos, use el códec 'utf-8-sig' " "para omitir automáticamente la marca si está presente." -#: ../Doc/howto/unicode.rst:603 +#: ../Doc/howto/unicode.rst:604 msgid "Unicode filenames" msgstr "Nombres de archivos Unicode" -#: ../Doc/howto/unicode.rst:605 +#: ../Doc/howto/unicode.rst:606 msgid "" "Most of the operating systems in common use today support filenames that " "contain arbitrary Unicode characters. Usually this is implemented by " @@ -1039,7 +1043,7 @@ msgstr "" "variables de entorno ``LANG`` o ``LC_CTYPE``; si no lo ha hecho, la " "codificación predeterminada es nuevamente UTF-8." -#: ../Doc/howto/unicode.rst:615 +#: ../Doc/howto/unicode.rst:616 msgid "" "The :func:`sys.getfilesystemencoding` function returns the encoding to use " "on your current system, in case you want to do the encoding manually, but " @@ -1054,7 +1058,7 @@ msgstr "" "nombre de archivo, y se convertirá automáticamente a la codificación " "correcta para usted::" -#: ../Doc/howto/unicode.rst:625 +#: ../Doc/howto/unicode.rst:626 msgid "" "Functions in the :mod:`os` module such as :func:`os.stat` will also accept " "Unicode filenames." @@ -1062,7 +1066,7 @@ msgstr "" "Las funciones en el módulo :mod:`os` como :func:`os.stat` también aceptarán " "nombres de archivo Unicode." -#: ../Doc/howto/unicode.rst:628 +#: ../Doc/howto/unicode.rst:629 msgid "" "The :func:`os.listdir` function returns filenames, which raises an issue: " "should it return the Unicode version of filenames, or should it return bytes " @@ -1085,11 +1089,11 @@ msgstr "" "bytes. Por ejemplo, suponiendo que la codificación predeterminada del " "sistema de archivos es UTF-8, ejecutando el siguiente programa::" -#: ../Doc/howto/unicode.rst:646 +#: ../Doc/howto/unicode.rst:647 msgid "will produce the following output:" msgstr "producirá la siguiente salida:" -#: ../Doc/howto/unicode.rst:654 +#: ../Doc/howto/unicode.rst:655 msgid "" "The first list contains UTF-8-encoded filenames, and the second list " "contains the Unicode versions." @@ -1097,7 +1101,7 @@ msgstr "" "La primera lista contiene nombres de archivos codificados con UTF-8, y la " "segunda lista contiene las versiones Unicode." -#: ../Doc/howto/unicode.rst:657 +#: ../Doc/howto/unicode.rst:658 msgid "" "Note that on most occasions, you should can just stick with using Unicode " "with these APIs. The bytes APIs should only be used on systems where " @@ -1109,11 +1113,11 @@ msgstr "" "pueden estar presentes nombres de archivo no codificables; eso es " "prácticamente solo sistemas Unix ahora." -#: ../Doc/howto/unicode.rst:664 +#: ../Doc/howto/unicode.rst:665 msgid "Tips for Writing Unicode-aware Programs" msgstr "Consejos para escribir programas compatibles con Unicode" -#: ../Doc/howto/unicode.rst:666 +#: ../Doc/howto/unicode.rst:667 msgid "" "This section provides some suggestions on writing software that deals with " "Unicode." @@ -1121,11 +1125,11 @@ msgstr "" "Esta sección proporciona algunas sugerencias sobre cómo escribir software " "que maneje Unicode." -#: ../Doc/howto/unicode.rst:669 +#: ../Doc/howto/unicode.rst:670 msgid "The most important tip is:" msgstr "El consejo más importante es:" -#: ../Doc/howto/unicode.rst:671 +#: ../Doc/howto/unicode.rst:672 msgid "" "Software should only work with Unicode strings internally, decoding the " "input data as soon as possible and encoding the output only at the end." @@ -1134,7 +1138,7 @@ msgstr "" "decodificando los datos de entrada lo antes posible y codificando la salida " "solo al final." -#: ../Doc/howto/unicode.rst:674 +#: ../Doc/howto/unicode.rst:675 msgid "" "If you attempt to write processing functions that accept both Unicode and " "byte strings, you will find your program vulnerable to bugs wherever you " @@ -1148,7 +1152,7 @@ msgstr "" "decodificación automática: si hace, por ejemplo: ``str+bytes``, un :exc:" "`TypeError` se generará." -#: ../Doc/howto/unicode.rst:679 +#: ../Doc/howto/unicode.rst:680 msgid "" "When using data coming from a web browser or some other untrusted source, a " "common technique is to check for illegal characters in a string before using " @@ -1170,11 +1174,11 @@ msgstr "" "puede elegir una forma inteligente de ocultar el texto malicioso en el flujo " "de bytes codificado." -#: ../Doc/howto/unicode.rst:690 +#: ../Doc/howto/unicode.rst:691 msgid "Converting Between File Encodings" msgstr "Conversión entre codificaciones de archivo" -#: ../Doc/howto/unicode.rst:692 +#: ../Doc/howto/unicode.rst:693 msgid "" "The :class:`~codecs.StreamRecoder` class can transparently convert between " "encodings, taking a stream that returns data in encoding #1 and behaving " @@ -1185,7 +1189,7 @@ msgstr "" "la codificación 1 y comportarse como una secuencia que retorna datos en la " "codificación 2." -#: ../Doc/howto/unicode.rst:696 +#: ../Doc/howto/unicode.rst:697 msgid "" "For example, if you have an input file *f* that's in Latin-1, you can wrap " "it with a :class:`~codecs.StreamRecoder` to return bytes encoded in UTF-8::" @@ -1194,11 +1198,11 @@ msgstr "" "envolverlo con :class:`~codecs.StreamRecoder` para retornar bytes " "codificados en UTF-8::" -#: ../Doc/howto/unicode.rst:710 +#: ../Doc/howto/unicode.rst:711 msgid "Files in an Unknown Encoding" msgstr "Archivos en una codificación desconocida" -#: ../Doc/howto/unicode.rst:712 +#: ../Doc/howto/unicode.rst:713 msgid "" "What can you do if you need to make a change to a file, but don't know the " "file's encoding? If you know the encoding is ASCII-compatible and only want " @@ -1210,7 +1214,7 @@ msgstr "" "ASCII y solo desea examinar o modificar las partes ASCII, puede abrir el " "archivo con el manejador de errores ``surrogateescape``::" -#: ../Doc/howto/unicode.rst:726 +#: ../Doc/howto/unicode.rst:727 msgid "" "The ``surrogateescape`` error handler will decode any non-ASCII bytes as " "code points in a special range running from U+DC80 to U+DCFF. These code " @@ -1223,7 +1227,7 @@ msgstr "" "cuando se use el controlador de error ``subrogateescape`` para codificar los " "datos y volver a escribirlos." -#: ../Doc/howto/unicode.rst:736 +#: ../Doc/howto/unicode.rst:737 msgid "" "One section of `Mastering Python 3 Input/Output `_, a PyCon 2010 talk by David " @@ -1234,7 +1238,7 @@ msgstr "" "Beazley* en la PyCon 2010, analiza el procesamiento de texto y el manejo de " "datos binarios." -#: ../Doc/howto/unicode.rst:740 +#: ../Doc/howto/unicode.rst:741 msgid "" "The `PDF slides for Marc-André Lemburg's presentation \"Writing Unicode-" "aware Applications in Python\" `_ is a PyCon 2013 talk by Benjamin Peterson that " @@ -1258,11 +1262,11 @@ msgstr "" "unicode-in-python>`_ es una charla de *Benjamin Peterson* en PyCon 2013 que " "analiza la representación interna de Unicode en Python 3.3." -#: ../Doc/howto/unicode.rst:753 +#: ../Doc/howto/unicode.rst:754 msgid "Acknowledgements" msgstr "Agradecimientos" -#: ../Doc/howto/unicode.rst:755 +#: ../Doc/howto/unicode.rst:756 msgid "" "The initial draft of this document was written by Andrew Kuchling. It has " "since been revised further by Alexander Belopolsky, Georg Brandl, Andrew " @@ -1272,7 +1276,7 @@ msgstr "" "Desde entonces ha sido revisado por *Alexander Belopolsky, Georg Brandl, " "Andrew Kuchling y Ezio Melotti*." -#: ../Doc/howto/unicode.rst:759 +#: ../Doc/howto/unicode.rst:760 msgid "" "Thanks to the following people who have noted errors or offered suggestions " "on this article: Éric Araujo, Nicholas Bastin, Nick Coghlan, Marius " diff --git a/howto/urllib2.po b/howto/urllib2.po index 4f35ceed3b..2aeca2d166 100644 --- a/howto/urllib2.po +++ b/howto/urllib2.po @@ -1,29 +1,31 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. # Maintained by the python-doc-es workteam. -# docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ -# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers +# docs-es@python.org / +# https://mail.python.org/mailman3/lists/docs-es.python.org/ +# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get +# the list of volunteers # msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-06 11:59-0400\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-30 20:13-0300\n" +"Last-Translator: \n" +"Language: es_AR\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es_AR\n" -"X-Generator: Poedit 2.3.1\n" +"Generated-By: Babel 2.8.0\n" #: ../Doc/howto/urllib2.rst:5 msgid "HOWTO Fetch Internet Resources Using The urllib Package" msgstr "HOWTO - Cómo obtener recursos de Internet con el paquete urllib" -#: ../Doc/howto/urllib2.rst:0 +#: ../Doc/howto/urllib2.rst msgid "Author" msgstr "Autor" @@ -175,10 +177,11 @@ msgstr "" "FTP de la siguiente manera::" #: ../Doc/howto/urllib2.rst:98 +#, fuzzy msgid "" "In the case of HTTP, there are two extra things that Request objects allow " "you to do: First, you can pass data to be sent to the server. Second, you " -"can pass extra information (\"metadata\") *about* the data or the about " +"can pass extra information (\"metadata\") *about* the data or about the " "request itself, to the server - this information is sent as HTTP \"headers" "\". Let's look at each of these in turn." msgstr "" diff --git a/install/index.po b/install/index.po index 863eefd906..19abc6c733 100644 --- a/install/index.po +++ b/install/index.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:39+0100\n" "PO-Revision-Date: 2020-08-11 09:27-0300\n" +"Last-Translator: Emmanuel Arias \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Emmanuel Arias \n" -"Language: es\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/install/index.rst:7 msgid "Installing Python Modules (Legacy version)" @@ -46,16 +45,6 @@ msgstr "" "La documentación actualizada de instalación de módulos. Para el uso regular " "de Python, es casi seguro que desee ese documento en lugar de este." -#: ../Doc/distutils/_setuptools_disclaimer.rst:3 -msgid "" -"This document is being retained solely until the ``setuptools`` " -"documentation at https://setuptools.readthedocs.io/en/latest/setuptools.html " -"independently covers all of the relevant information currently included here." -msgstr "" -"Este documento es mantenido hasta que la documentación de ``setuptool`` en " -"https://setuptools.readthedocs.io/en/latest/setuptools.html cubra " -"independientemente toda la información relevante que se incluye aquí." - #: ../Doc/install/index.rst:23 msgid "" "This guide only covers the basic tools for building and distributing " @@ -2051,17 +2040,26 @@ msgstr "" "existentes con bibliotecas OMF del mismo nombre." #: ../Doc/install/index.rst:1067 -msgid "" -"Check https://www.sourceware.org/cygwin/ and http://www.mingw.org/ for more " -"information" +#, fuzzy +msgid "Check https://www.sourceware.org/cygwin/ for more information" msgstr "" "Diríjase a https://www.sourceware.org/cygwin/ and http://www.mingw.org/ para " "mayor información" -#: ../Doc/install/index.rst:1070 +#: ../Doc/install/index.rst:1069 msgid "" "Then you have no POSIX emulation available, but you also don't need :file:" "`cygwin1.dll`." msgstr "" "Entonces no tiene disponible la emulación POSIX, pero tampoco necesita :file:" "`cygwin1.dll`." + +#~ msgid "" +#~ "This document is being retained solely until the ``setuptools`` " +#~ "documentation at https://setuptools.readthedocs.io/en/latest/setuptools." +#~ "html independently covers all of the relevant information currently " +#~ "included here." +#~ msgstr "" +#~ "Este documento es mantenido hasta que la documentación de ``setuptool`` " +#~ "en https://setuptools.readthedocs.io/en/latest/setuptools.html cubra " +#~ "independientemente toda la información relevante que se incluye aquí." diff --git a/library/2to3.po b/library/2to3.po index 046202467a..168b32d619 100644 --- a/library/2to3.po +++ b/library/2to3.po @@ -1,37 +1,38 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. # Maintained by the python-doc-es workteam. -# docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ -# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers +# docs-es@python.org / +# https://mail.python.org/mailman3/lists/docs-es.python.org/ +# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get +# the list of volunteers # msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-06 11:59-0400\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-06-29 22:50+0200\n" +"Last-Translator: Alvar Maciel \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Alvar Maciel \n" -"Language: es\n" -"X-Generator: Poedit 2.3.1\n" +"Generated-By: Babel 2.8.0\n" #: ../Doc/library/2to3.rst:4 msgid "2to3 - Automated Python 2 to 3 code translation" msgstr "2to3 - Traducción de código Python 2 a 3" #: ../Doc/library/2to3.rst:8 +#, fuzzy msgid "" "2to3 is a Python program that reads Python 2.x source code and applies a " "series of *fixers* to transform it into valid Python 3.x code. The standard " "library contains a rich set of fixers that will handle almost all code. " "2to3 supporting library :mod:`lib2to3` is, however, a flexible and generic " -"library, so it is possible to write your own fixers for 2to3. :mod:" -"`lib2to3` could also be adapted to custom applications in which Python code " -"needs to be edited automatically." +"library, so it is possible to write your own fixers for 2to3." msgstr "" "2to3 es un programa hecho en Python que lee código fuente en Python 2.x y " "aplica una serie de *fixers* para transformarlo en código Python 3.x válido. " @@ -42,11 +43,11 @@ msgstr "" "adaptarse a aplicaciones propias en las cuales el código en Python necesite " "editarse automáticamente." -#: ../Doc/library/2to3.rst:20 +#: ../Doc/library/2to3.rst:18 msgid "Using 2to3" msgstr "Usando 2to3" -#: ../Doc/library/2to3.rst:22 +#: ../Doc/library/2to3.rst:20 msgid "" "2to3 will usually be installed with the Python interpreter as a script. It " "is also located in the :file:`Tools/scripts` directory of the Python root." @@ -55,7 +56,7 @@ msgstr "" "*script*. También se encuentra ubicada en el directorio :file:`Tools/" "scripts` en la raíz de Python." -#: ../Doc/library/2to3.rst:25 +#: ../Doc/library/2to3.rst:23 msgid "" "2to3's basic arguments are a list of files or directories to transform. The " "directories are recursively traversed for Python sources." @@ -64,15 +65,15 @@ msgstr "" "convertir. Los directorios se recorren recursivamente en búsqueda de " "archivos en Python." -#: ../Doc/library/2to3.rst:28 +#: ../Doc/library/2to3.rst:26 msgid "Here is a sample Python 2.x source file, :file:`example.py`::" msgstr "Este es un ejemplo de un archivo en Python 2.x, :file: `example.py`::" -#: ../Doc/library/2to3.rst:36 +#: ../Doc/library/2to3.rst:34 msgid "It can be converted to Python 3.x code via 2to3 on the command line:" msgstr "Puede ser convertido a Python 3.x vía 2to3 desde la línea de comandos:" -#: ../Doc/library/2to3.rst:42 +#: ../Doc/library/2to3.rst:40 msgid "" "A diff against the original source file is printed. 2to3 can also write the " "needed modifications right back to the source file. (A backup of the " @@ -85,12 +86,12 @@ msgstr "" "proporcione :option:`!-n`.) La escritura de los cambios se habilita con la " "opción :option:`!-w`:" -#: ../Doc/library/2to3.rst:51 +#: ../Doc/library/2to3.rst:49 msgid "After transformation, :file:`example.py` looks like this::" msgstr "" "Después de la conversión, :file:`example.py` se ve de la siguiente manera::" -#: ../Doc/library/2to3.rst:59 +#: ../Doc/library/2to3.rst:57 msgid "" "Comments and exact indentation are preserved throughout the translation " "process." @@ -98,7 +99,7 @@ msgstr "" "Los comentarios y la identación exacta se conservan durante todo el proceso " "de conversión." -#: ../Doc/library/2to3.rst:61 +#: ../Doc/library/2to3.rst:59 msgid "" "By default, 2to3 runs a set of :ref:`predefined fixers <2to3-fixers>`. The :" "option:`!-l` flag lists all available fixers. An explicit set of fixers to " @@ -112,11 +113,11 @@ msgstr "" "Asimismo la opción :option:`!-x` deshabilita el *fixer* que se explicita. El " "siguiente ejemplo corre solo solo los *fixers* ``imports`` y ``has_key``:" -#: ../Doc/library/2to3.rst:70 +#: ../Doc/library/2to3.rst:68 msgid "This command runs every fixer except the ``apply`` fixer:" msgstr "Este comando corre todos los *fixers* excepto el ``apply`` *fixer*:" -#: ../Doc/library/2to3.rst:76 +#: ../Doc/library/2to3.rst:74 msgid "" "Some fixers are *explicit*, meaning they aren't run by default and must be " "listed on the command line to be run. Here, in addition to the default " @@ -126,12 +127,12 @@ msgstr "" "y deben ser listados en la línea de comando para que se ejecuten. Acá, " "además de los *fixers* por defectos, se ejecuta el *fixer* ``idioms``:" -#: ../Doc/library/2to3.rst:84 +#: ../Doc/library/2to3.rst:82 msgid "Notice how passing ``all`` enables all default fixers." msgstr "" "Puede observarse que pasar ``all`` habilita todos los *fixers* por defecto." -#: ../Doc/library/2to3.rst:86 +#: ../Doc/library/2to3.rst:84 msgid "" "Sometimes 2to3 will find a place in your source code that needs to be " "changed, but 2to3 cannot fix automatically. In this case, 2to3 will print a " @@ -143,7 +144,7 @@ msgstr "" "va a imprimir una advertencia debajo del *diff* del archivo. Deberá tomar " "nota de la advertencia para obtener un código compatible con 3.x." -#: ../Doc/library/2to3.rst:91 +#: ../Doc/library/2to3.rst:89 msgid "" "2to3 can also refactor doctests. To enable this mode, use the :option:`!-d` " "flag. Note that *only* doctests will be refactored. This also doesn't " @@ -156,7 +157,7 @@ msgstr "" "Por ejemplo, *doctest* de ejemplo en un documento reST también pueden ser " "refactorizados con esta opción." -#: ../Doc/library/2to3.rst:96 +#: ../Doc/library/2to3.rst:94 msgid "" "The :option:`!-v` option enables output of more information on the " "translation process." @@ -165,7 +166,8 @@ msgstr "" "de conversión." # No se si queda clara esta oración -#: ../Doc/library/2to3.rst:99 +#: ../Doc/library/2to3.rst:97 +#, fuzzy msgid "" "Since some print statements can be parsed as function calls or statements, " "2to3 cannot always read files containing the print function. When 2to3 " @@ -173,7 +175,8 @@ msgid "" "compiler directive, it modifies its internal grammar to interpret :func:" "`print` as a function. This change can also be enabled manually with the :" "option:`!-p` flag. Use :option:`!-p` to run fixers on code that already has " -"had its print statements converted." +"had its print statements converted. Also :option:`!-e` can be used to make :" +"func:`exec` a function." msgstr "" "Como algunas declaraciones *print* pueden ser pasadas como llamadas a " "funciones o declaraciones, 2to3 no siempre lee archivos que contienen la " @@ -184,7 +187,7 @@ msgstr "" "opción :option:`!-p` para ejecutar los *fixers* en el código al que ya se le " "han convertido sus declaraciones *print*." -#: ../Doc/library/2to3.rst:107 +#: ../Doc/library/2to3.rst:105 msgid "" "The :option:`!-o` or :option:`!--output-dir` option allows specification of " "an alternate directory for processed output files to be written to. The :" @@ -197,11 +200,11 @@ msgstr "" "respaldo no tienen sentido cuando no se sobreescriben los archivos " "originales." -#: ../Doc/library/2to3.rst:112 +#: ../Doc/library/2to3.rst:110 msgid "The :option:`!-o` option was added." msgstr "Se agregó la opción :option:` !-o`." -#: ../Doc/library/2to3.rst:115 +#: ../Doc/library/2to3.rst:113 msgid "" "The :option:`!-W` or :option:`!--write-unchanged-files` flag tells 2to3 to " "always write output files even if no changes were required to the file. " @@ -216,11 +219,11 @@ msgstr "" "a otro. Esta opción incluye a la opción :option:`!-w` ya que no tendría " "sentido de otra manera." -#: ../Doc/library/2to3.rst:121 +#: ../Doc/library/2to3.rst:119 msgid "The :option:`!-W` flag was added." msgstr "Se agregó la opción :option:`!-W`." -#: ../Doc/library/2to3.rst:124 +#: ../Doc/library/2to3.rst:122 msgid "" "The :option:`!--add-suffix` option specifies a string to append to all " "output filenames. The :option:`!-n` flag is required when specifying this " @@ -231,25 +234,25 @@ msgstr "" "de respaldo no son necesarias cuando escribimos a un archivo con distinto " "nombre. Ejemplo:" -#: ../Doc/library/2to3.rst:132 +#: ../Doc/library/2to3.rst:130 msgid "Will cause a converted file named ``example.py3`` to be written." msgstr "" "Hará que se escriba una archivo convertido con el nombre ``example.py3``." -#: ../Doc/library/2to3.rst:134 +#: ../Doc/library/2to3.rst:132 msgid "The :option:`!--add-suffix` option was added." msgstr "Se agrega la opción :option:`!--add-suffix`." -#: ../Doc/library/2to3.rst:137 +#: ../Doc/library/2to3.rst:135 msgid "To translate an entire project from one directory tree to another use:" msgstr "" "Para convertir un proyecto entero de un árbol de directorios a otro use:" -#: ../Doc/library/2to3.rst:147 +#: ../Doc/library/2to3.rst:145 msgid "Fixers" msgstr "Fixers" -#: ../Doc/library/2to3.rst:149 +#: ../Doc/library/2to3.rst:147 msgid "" "Each step of transforming code is encapsulated in a fixer. The command " "``2to3 -l`` lists them. As :ref:`documented above <2to3-using>`, each can " @@ -260,7 +263,7 @@ msgstr "" "cada uno de estos puede habilitarse o deshabilitarse individualmente. En " "esta sección se los describe más detalladamente." -#: ../Doc/library/2to3.rst:156 +#: ../Doc/library/2to3.rst:154 msgid "" "Removes usage of :func:`apply`. For example ``apply(function, *args, " "**kwargs)`` is converted to ``function(*args, **kwargs)``." @@ -268,102 +271,102 @@ msgstr "" "Elimina el uso de :func:`apply`. Por ejemplo ``apply(function, *args, " "**kwargs)`` es convertido a ``function(*args, **kwargs)``." -#: ../Doc/library/2to3.rst:161 +#: ../Doc/library/2to3.rst:159 msgid "Replaces deprecated :mod:`unittest` method names with the correct ones." msgstr "" "Reemplaza los nombre de método :mod:`unittest` en desuso por los correctos." -#: ../Doc/library/2to3.rst:164 ../Doc/library/2to3.rst:352 +#: ../Doc/library/2to3.rst:162 ../Doc/library/2to3.rst:350 msgid "From" msgstr "De" -#: ../Doc/library/2to3.rst:164 ../Doc/library/2to3.rst:352 +#: ../Doc/library/2to3.rst:162 ../Doc/library/2to3.rst:350 msgid "To" msgstr "A" -#: ../Doc/library/2to3.rst:166 +#: ../Doc/library/2to3.rst:164 msgid "``failUnlessEqual(a, b)``" msgstr "``failUnlessEqual(a, b)``" -#: ../Doc/library/2to3.rst:166 ../Doc/library/2to3.rst:168 +#: ../Doc/library/2to3.rst:164 ../Doc/library/2to3.rst:166 msgid ":meth:`assertEqual(a, b) `" msgstr ":meth:`assertEqual(a, b) `" -#: ../Doc/library/2to3.rst:168 +#: ../Doc/library/2to3.rst:166 msgid "``assertEquals(a, b)``" msgstr "``assertEquals(a, b)``" -#: ../Doc/library/2to3.rst:170 +#: ../Doc/library/2to3.rst:168 msgid "``failIfEqual(a, b)``" msgstr "``failIfEqual(a, b)``" -#: ../Doc/library/2to3.rst:170 ../Doc/library/2to3.rst:172 +#: ../Doc/library/2to3.rst:168 ../Doc/library/2to3.rst:170 msgid ":meth:`assertNotEqual(a, b) `" msgstr ":meth:`assertNotEqual(a, b) `" -#: ../Doc/library/2to3.rst:172 +#: ../Doc/library/2to3.rst:170 msgid "``assertNotEquals(a, b)``" msgstr "``assertNotEquals(a, b)``" -#: ../Doc/library/2to3.rst:174 +#: ../Doc/library/2to3.rst:172 msgid "``failUnless(a)``" msgstr "``failUnless(a)``" -#: ../Doc/library/2to3.rst:174 ../Doc/library/2to3.rst:176 +#: ../Doc/library/2to3.rst:172 ../Doc/library/2to3.rst:174 msgid ":meth:`assertTrue(a) `" msgstr ":meth:`assertTrue(a) `" -#: ../Doc/library/2to3.rst:176 +#: ../Doc/library/2to3.rst:174 msgid "``assert_(a)``" msgstr "``assert_(a)``" -#: ../Doc/library/2to3.rst:178 +#: ../Doc/library/2to3.rst:176 msgid "``failIf(a)``" msgstr "``failIf(a)``" -#: ../Doc/library/2to3.rst:178 +#: ../Doc/library/2to3.rst:176 msgid ":meth:`assertFalse(a) `" msgstr ":meth:`assertFalse(a) `" -#: ../Doc/library/2to3.rst:180 +#: ../Doc/library/2to3.rst:178 msgid "``failUnlessRaises(exc, cal)``" msgstr "``failUnlessRaises(exc, cal)``" -#: ../Doc/library/2to3.rst:180 +#: ../Doc/library/2to3.rst:178 msgid ":meth:`assertRaises(exc, cal) `" msgstr ":meth:`assertRaises(exc, cal) `" -#: ../Doc/library/2to3.rst:182 +#: ../Doc/library/2to3.rst:180 msgid "``failUnlessAlmostEqual(a, b)``" msgstr "``failUnlessAlmostEqual(a, b)``" -#: ../Doc/library/2to3.rst:182 ../Doc/library/2to3.rst:184 +#: ../Doc/library/2to3.rst:180 ../Doc/library/2to3.rst:182 msgid ":meth:`assertAlmostEqual(a, b) `" msgstr ":meth:`assertAlmostEqual(a, b) `" -#: ../Doc/library/2to3.rst:184 +#: ../Doc/library/2to3.rst:182 msgid "``assertAlmostEquals(a, b)``" msgstr "``assertAlmostEquals(a, b)``" -#: ../Doc/library/2to3.rst:186 +#: ../Doc/library/2to3.rst:184 msgid "``failIfAlmostEqual(a, b)``" msgstr "``failIfAlmostEqual(a, b)``" -#: ../Doc/library/2to3.rst:186 ../Doc/library/2to3.rst:188 +#: ../Doc/library/2to3.rst:184 ../Doc/library/2to3.rst:186 msgid "" ":meth:`assertNotAlmostEqual(a, b) `" msgstr "" ":meth:`assertNotAlmostEqual(a, b) `" -#: ../Doc/library/2to3.rst:188 +#: ../Doc/library/2to3.rst:186 msgid "``assertNotAlmostEquals(a, b)``" msgstr "``assertNotAlmostEquals(a, b)``" -#: ../Doc/library/2to3.rst:194 +#: ../Doc/library/2to3.rst:192 msgid "Converts :class:`basestring` to :class:`str`." msgstr "Convierte :class:`basestring` a :class:`str`." -#: ../Doc/library/2to3.rst:198 +#: ../Doc/library/2to3.rst:196 msgid "" "Converts :class:`buffer` to :class:`memoryview`. This fixer is optional " "because the :class:`memoryview` API is similar but not exactly the same as " @@ -373,7 +376,7 @@ msgstr "" "porque la API :class:`memoryview` es similar pero no exactamente la misma " "que la del :class:`buffer`." -#: ../Doc/library/2to3.rst:204 +#: ../Doc/library/2to3.rst:202 msgid "" "Fixes dictionary iteration methods. :meth:`dict.iteritems` is converted to :" "meth:`dict.items`, :meth:`dict.iterkeys` to :meth:`dict.keys`, and :meth:" @@ -391,15 +394,15 @@ msgstr "" "values`. También incluye los usos existentes de :meth:`dict.items`, :meth:" "`dict.keys`, y :meth:`dict.values` en una llamada a :class:`list`." -#: ../Doc/library/2to3.rst:214 +#: ../Doc/library/2to3.rst:212 msgid "Converts ``except X, T`` to ``except X as T``." msgstr "Convierte ``except X, T`` a ``except X as T``." -#: ../Doc/library/2to3.rst:218 +#: ../Doc/library/2to3.rst:216 msgid "Converts the ``exec`` statement to the :func:`exec` function." msgstr "Convierte la declaración ``exec`` a la función :func:`exec`." -#: ../Doc/library/2to3.rst:222 +#: ../Doc/library/2to3.rst:220 msgid "" "Removes usage of :func:`execfile`. The argument to :func:`execfile` is " "wrapped in calls to :func:`open`, :func:`compile`, and :func:`exec`." @@ -408,7 +411,7 @@ msgstr "" "`execfile` es encapsulado para las funciones :func:`open`, :func:`compile`, " "y :func:`exec`." -#: ../Doc/library/2to3.rst:227 +#: ../Doc/library/2to3.rst:225 msgid "" "Changes assignment of :attr:`sys.exitfunc` to use of the :mod:`atexit` " "module." @@ -416,13 +419,13 @@ msgstr "" "Cambia la declaración de :attr:`sys.exitfunc` para usar el módulo :mod:" "`atexit`." -#: ../Doc/library/2to3.rst:232 +#: ../Doc/library/2to3.rst:230 msgid "Wraps :func:`filter` usage in a :class:`list` call." msgstr "" "Encapsula la función :func:`filter` usando una llamada para la clase :class:" "`list`." -#: ../Doc/library/2to3.rst:236 +#: ../Doc/library/2to3.rst:234 msgid "" "Fixes function attributes that have been renamed. For example, " "``my_function.func_closure`` is converted to ``my_function.__closure__``." @@ -430,19 +433,19 @@ msgstr "" "Corrige los atributos de la función que fueron renombrados. Por ejemplo, " "``my_function.func_closure`` es convertido a ``my_function.__closure__``." -#: ../Doc/library/2to3.rst:241 +#: ../Doc/library/2to3.rst:239 msgid "Removes ``from __future__ import new_feature`` statements." msgstr "Elimina la declaración ``from __future__ import new_feature``." -#: ../Doc/library/2to3.rst:245 +#: ../Doc/library/2to3.rst:243 msgid "Renames :func:`os.getcwdu` to :func:`os.getcwd`." msgstr "Renombra la función :func:`os.getcwdu` a :func:`os.getcwd`." -#: ../Doc/library/2to3.rst:249 +#: ../Doc/library/2to3.rst:247 msgid "Changes ``dict.has_key(key)`` to ``key in dict``." msgstr "Cambia ``dict.has_key(key)`` a ``key in dict``." -#: ../Doc/library/2to3.rst:253 +#: ../Doc/library/2to3.rst:251 msgid "" "This optional fixer performs several transformations that make Python code " "more idiomatic. Type comparisons like ``type(x) is SomeClass`` and " @@ -456,22 +459,23 @@ msgstr "" "``while 1`` cambia a ``while True``. Este *fixer* también intenta hacer uso " "de :func:`sorted` en los lugares apropiados. Por ejemplo, en este bloque::" -#: ../Doc/library/2to3.rst:262 +#: ../Doc/library/2to3.rst:260 msgid "is changed to ::" msgstr "es convertido a ::" -# sibilings impor es traducido en protugues como importaciones de hermanos. No se, no me agrada mucho eso de importaciones hermanas o entre hermanos. -#: ../Doc/library/2to3.rst:268 +# sibilings impor es traducido en protugues como importaciones de hermanos. No +# se, no me agrada mucho eso de importaciones hermanas o entre hermanos. +#: ../Doc/library/2to3.rst:266 msgid "Detects sibling imports and converts them to relative imports." msgstr "" "Detecta las importaciones entre hermanos y las convierte en importaciones " "relativas." -#: ../Doc/library/2to3.rst:272 +#: ../Doc/library/2to3.rst:270 msgid "Handles module renames in the standard library." msgstr "Maneja los cambios de nombre de módulo en la librería estándar." -#: ../Doc/library/2to3.rst:276 +#: ../Doc/library/2to3.rst:274 msgid "" "Handles other modules renames in the standard library. It is separate from " "the :2to3fixer:`imports` fixer only because of technical limitations." @@ -480,15 +484,15 @@ msgstr "" "separada del *fixer* :2to3fixer:`imports` solo por motivos de limitaciones " "técnicas." -#: ../Doc/library/2to3.rst:281 +#: ../Doc/library/2to3.rst:279 msgid "Converts ``input(prompt)`` to ``eval(input(prompt))``." msgstr "Convierte ``input(prompt)`` a ``eval(input(prompt))``." -#: ../Doc/library/2to3.rst:285 +#: ../Doc/library/2to3.rst:283 msgid "Converts :func:`intern` to :func:`sys.intern`." msgstr "Convierte :func:`intern` a :func:`sys.intern`." -#: ../Doc/library/2to3.rst:289 +#: ../Doc/library/2to3.rst:287 msgid "" "Fixes duplicate types in the second argument of :func:`isinstance`. For " "example, ``isinstance(x, (int, int))`` is converted to ``isinstance(x, " @@ -500,7 +504,7 @@ msgstr "" "y ``isinstance(x, (int, float, int))`` es convertido a ``isinstance(x, (int, " "float))``." -#: ../Doc/library/2to3.rst:296 +#: ../Doc/library/2to3.rst:294 msgid "" "Removes imports of :func:`itertools.ifilter`, :func:`itertools.izip`, and :" "func:`itertools.imap`. Imports of :func:`itertools.ifilterfalse` are also " @@ -510,7 +514,7 @@ msgstr "" "y :func:`itertools.imap`. Importación de :func:`itertools.ifilterfalse` " "también se cambian a :func:`itertools.filterfalse`." -#: ../Doc/library/2to3.rst:302 +#: ../Doc/library/2to3.rst:300 msgid "" "Changes usage of :func:`itertools.ifilter`, :func:`itertools.izip`, and :" "func:`itertools.imap` to their built-in equivalents. :func:`itertools." @@ -520,11 +524,11 @@ msgstr "" "`itertools.imap` para sus equivalentes integrados :func:`itertools." "ifilterfalse` es cambiado a :func:`itertools.filterfalse`." -#: ../Doc/library/2to3.rst:308 +#: ../Doc/library/2to3.rst:306 msgid "Renames :class:`long` to :class:`int`." msgstr "Renombra :class:`long` a :class:`int`." -#: ../Doc/library/2to3.rst:312 +#: ../Doc/library/2to3.rst:310 msgid "" "Wraps :func:`map` in a :class:`list` call. It also changes ``map(None, x)`` " "to ``list(x)``. Using ``from future_builtins import map`` disables this " @@ -534,7 +538,7 @@ msgstr "" "``map(None, x)`` a ``list(x)``. Usando``from future_builtins import map`` se " "deshabilita este *fixer*." -#: ../Doc/library/2to3.rst:318 +#: ../Doc/library/2to3.rst:316 msgid "" "Converts the old metaclass syntax (``__metaclass__ = Meta`` in the class " "body) to the new (``class X(metaclass=Meta)``)." @@ -542,7 +546,7 @@ msgstr "" "Convierte la vieja sintaxis de metaclase (``__metaclass__ = Meta`` en el " "cuerpo de la clase) a la nueva sintaxis (``class X(metaclass=Meta)``)." -#: ../Doc/library/2to3.rst:323 +#: ../Doc/library/2to3.rst:321 msgid "" "Fixes old method attribute names. For example, ``meth.im_func`` is " "converted to ``meth.__func__``." @@ -550,11 +554,11 @@ msgstr "" "Corrige nombres de atributos de métodos antiguos. Por ejemplo, ``meth." "im_func`` is convertido a ``meth.__func__``." -#: ../Doc/library/2to3.rst:328 +#: ../Doc/library/2to3.rst:326 msgid "Converts the old not-equal syntax, ``<>``, to ``!=``." msgstr "Convierte la antigua sintaxis no-igual, ``<>``, a ``!=``." -#: ../Doc/library/2to3.rst:332 +#: ../Doc/library/2to3.rst:330 msgid "" "Converts the use of iterator's :meth:`~iterator.next` methods to the :func:" "`next` function. It also renames :meth:`next` methods to :meth:`~iterator." @@ -564,15 +568,15 @@ msgstr "" "función :func:`next`. También renombra métodos :meth:`next` a :meth:" "`~iterator.__next__`." -#: ../Doc/library/2to3.rst:338 +#: ../Doc/library/2to3.rst:336 msgid "Renames :meth:`__nonzero__` to :meth:`~object.__bool__`." msgstr "Renombra el método :meth:`__nonzero__` a :meth:`~object.__bool__`." -#: ../Doc/library/2to3.rst:342 +#: ../Doc/library/2to3.rst:340 msgid "Converts octal literals into the new syntax." msgstr "Convierte literales octales a la nueva sintaxis." -#: ../Doc/library/2to3.rst:346 +#: ../Doc/library/2to3.rst:344 msgid "" "Converts calls to various functions in the :mod:`operator` module to other, " "but equivalent, function calls. When needed, the appropriate ``import`` " @@ -584,64 +588,65 @@ msgstr "" "agregan las declaraciones ``import`` apropiadas, por ejemplo ``import " "collections.abc``. Se realizan los siguientes mapeos:" -#: ../Doc/library/2to3.rst:354 +#: ../Doc/library/2to3.rst:352 msgid "``operator.isCallable(obj)``" msgstr "``operator.isCallable(obj)``" -#: ../Doc/library/2to3.rst:354 +#: ../Doc/library/2to3.rst:352 msgid "``callable(obj)``" msgstr "``callable(obj)``" -#: ../Doc/library/2to3.rst:355 +#: ../Doc/library/2to3.rst:353 msgid "``operator.sequenceIncludes(obj)``" msgstr "``operator.sequenceIncludes(obj)``" -#: ../Doc/library/2to3.rst:355 +#: ../Doc/library/2to3.rst:353 msgid "``operator.contains(obj)``" msgstr "``operator.contains(obj)``" -#: ../Doc/library/2to3.rst:356 +#: ../Doc/library/2to3.rst:354 msgid "``operator.isSequenceType(obj)``" msgstr "``operator.isSequenceType(obj)``" -#: ../Doc/library/2to3.rst:356 +#: ../Doc/library/2to3.rst:354 msgid "``isinstance(obj, collections.abc.Sequence)``" msgstr "``isinstance(obj, collections.abc.Sequence)``" -#: ../Doc/library/2to3.rst:357 +#: ../Doc/library/2to3.rst:355 msgid "``operator.isMappingType(obj)``" msgstr "``operator.isMappingType(obj)``" -#: ../Doc/library/2to3.rst:357 +#: ../Doc/library/2to3.rst:355 msgid "``isinstance(obj, collections.abc.Mapping)``" msgstr "``isinstance(obj, collections.abc.Mapping)``" -#: ../Doc/library/2to3.rst:358 +#: ../Doc/library/2to3.rst:356 msgid "``operator.isNumberType(obj)``" msgstr "``operator.isNumberType(obj)``" -#: ../Doc/library/2to3.rst:358 +#: ../Doc/library/2to3.rst:356 msgid "``isinstance(obj, numbers.Number)``" msgstr "``isinstance(obj, numbers.Number)``" -#: ../Doc/library/2to3.rst:359 +#: ../Doc/library/2to3.rst:357 msgid "``operator.repeat(obj, n)``" msgstr "``operator.repeat(obj, n)``" -#: ../Doc/library/2to3.rst:359 +#: ../Doc/library/2to3.rst:357 msgid "``operator.mul(obj, n)``" msgstr "``operator.mul(obj, n)``" -#: ../Doc/library/2to3.rst:360 +#: ../Doc/library/2to3.rst:358 msgid "``operator.irepeat(obj, n)``" msgstr "``operator.irepeat(obj, n)``" -#: ../Doc/library/2to3.rst:360 +#: ../Doc/library/2to3.rst:358 msgid "``operator.imul(obj, n)``" msgstr "``operator.imul(obj, n)``" -# No supe bien como traducir list comprehensions, en la traducción portuguesa está como "em lista comprehensions." -#: ../Doc/library/2to3.rst:365 +# No supe bien como traducir list comprehensions, en la traducción portuguesa +# está como "em lista comprehensions." +#: ../Doc/library/2to3.rst:363 msgid "" "Add extra parenthesis where they are required in list comprehensions. For " "example, ``[x for x in 1, 2]`` becomes ``[x for x in (1, 2)]``." @@ -650,11 +655,11 @@ msgstr "" "comprensión. Por ejemplo ``[x for x in 1, 2]`` se convierte en ``[x for x in " "(1, 2)]``." -#: ../Doc/library/2to3.rst:370 +#: ../Doc/library/2to3.rst:368 msgid "Converts the ``print`` statement to the :func:`print` function." msgstr "Convierte la declaración ``print`` en la función :func:`print`." -#: ../Doc/library/2to3.rst:374 +#: ../Doc/library/2to3.rst:372 msgid "" "Converts ``raise E, V`` to ``raise E(V)``, and ``raise E, V, T`` to ``raise " "E(V).with_traceback(T)``. If ``E`` is a tuple, the translation will be " @@ -665,27 +670,27 @@ msgstr "" "incorrecta porque sustituir tuplas por excepciones fue eliminado en Python " "3.0." -#: ../Doc/library/2to3.rst:380 +#: ../Doc/library/2to3.rst:378 msgid "Converts :func:`raw_input` to :func:`input`." msgstr "Conviertes :func:`raw_input` to :func:`input`." -#: ../Doc/library/2to3.rst:384 +#: ../Doc/library/2to3.rst:382 msgid "Handles the move of :func:`reduce` to :func:`functools.reduce`." msgstr "Maneja el movimiento de :func:`reduce` a :func:`functools.reduce`." -#: ../Doc/library/2to3.rst:388 +#: ../Doc/library/2to3.rst:386 msgid "Converts :func:`reload` to :func:`importlib.reload`." msgstr "Convierte :func:`reload` a :func:`importlib.reload`." -#: ../Doc/library/2to3.rst:392 +#: ../Doc/library/2to3.rst:390 msgid "Changes :data:`sys.maxint` to :data:`sys.maxsize`." msgstr "Cambia :data:`sys.maxint` a :data:`sys.maxsize`." -#: ../Doc/library/2to3.rst:396 +#: ../Doc/library/2to3.rst:394 msgid "Replaces backtick repr with the :func:`repr` function." msgstr "Sustituye el *backtick* repr por la función :func:`repr`." -#: ../Doc/library/2to3.rst:400 +#: ../Doc/library/2to3.rst:398 msgid "" "Replaces use of the :class:`set` constructor with set literals. This fixer " "is optional." @@ -693,11 +698,11 @@ msgstr "" "Sustituye el uso de la clase constructora :class:`set` por su literal. Este " "*fixer* es opcional." -#: ../Doc/library/2to3.rst:405 +#: ../Doc/library/2to3.rst:403 msgid "Renames :exc:`StandardError` to :exc:`Exception`." msgstr "Renombra :exc:`StandardError` a :exc:`Exception`." -#: ../Doc/library/2to3.rst:409 +#: ../Doc/library/2to3.rst:407 msgid "" "Changes the deprecated :data:`sys.exc_value`, :data:`sys.exc_type`, :data:" "`sys.exc_traceback` to use :func:`sys.exc_info`." @@ -705,11 +710,11 @@ msgstr "" "Cambia los :data:`sys.exc_value`, :data:`sys.exc_type`, :data:`sys." "exc_traceback` en desuso para usar la función :func:`sys.exc_info`." -#: ../Doc/library/2to3.rst:414 +#: ../Doc/library/2to3.rst:412 msgid "Fixes the API change in generator's :meth:`throw` method." msgstr "Corrige el cambio de la API en el método generador :meth:`throw`." -#: ../Doc/library/2to3.rst:418 +#: ../Doc/library/2to3.rst:416 msgid "" "Removes implicit tuple parameter unpacking. This fixer inserts temporary " "variables." @@ -717,7 +722,7 @@ msgstr "" "Elimina el desempaquetamiento implícito del parámetro de tupla. Este *fixer* " "inserta variables temporarias." -#: ../Doc/library/2to3.rst:423 +#: ../Doc/library/2to3.rst:421 msgid "" "Fixes code broken from the removal of some members in the :mod:`types` " "module." @@ -725,11 +730,11 @@ msgstr "" "Corrige el código roto por la remoción de algunos miembros en el módulo :mod:" "`types`." -#: ../Doc/library/2to3.rst:428 +#: ../Doc/library/2to3.rst:426 msgid "Renames :class:`unicode` to :class:`str`." msgstr "Renombra :class:`unicode` a :class:`str`." -#: ../Doc/library/2to3.rst:432 +#: ../Doc/library/2to3.rst:430 msgid "" "Handles the rename of :mod:`urllib` and :mod:`urllib2` to the :mod:`urllib` " "package." @@ -737,7 +742,7 @@ msgstr "" "Maneja el renombramiento de los módulos :mod:`urllib` y :mod:`urllib2` para " "el paquete :mod:`urllib`." -#: ../Doc/library/2to3.rst:437 +#: ../Doc/library/2to3.rst:435 msgid "" "Removes excess whitespace from comma separated items. This fixer is " "optional." @@ -745,7 +750,7 @@ msgstr "" "Remueve el exceso de espacios blancos de los ítems separados por coma. Este " "*fixer* es opcional." -#: ../Doc/library/2to3.rst:442 +#: ../Doc/library/2to3.rst:440 msgid "" "Renames :func:`xrange` to :func:`range` and wraps existing :func:`range` " "calls with :class:`list`." @@ -753,11 +758,11 @@ msgstr "" "Renombra :func:`xrange` a :func:`range` y encapsula la llamada a la función " "existente :func:`range` con :class:`list`." -#: ../Doc/library/2to3.rst:447 +#: ../Doc/library/2to3.rst:445 msgid "Changes ``for x in file.xreadlines()`` to ``for x in file``." msgstr "Cambia ``for x in file.xreadlines()`` por ``for x in file``." -#: ../Doc/library/2to3.rst:451 +#: ../Doc/library/2to3.rst:449 msgid "" "Wraps :func:`zip` usage in a :class:`list` call. This is disabled when " "``from future_builtins import zip`` appears." @@ -766,15 +771,24 @@ msgstr "" "class:`list`. Esto está deshabilitado cuando ``from future_builtins import " "zip`` aparece." -#: ../Doc/library/2to3.rst:456 +#: ../Doc/library/2to3.rst:454 msgid ":mod:`lib2to3` - 2to3's library" msgstr ":mod:`lib2to3` - librería 2to3" -#: ../Doc/library/2to3.rst:465 +#: ../Doc/library/2to3.rst:463 msgid "**Source code:** :source:`Lib/lib2to3/`" msgstr "**Código fuente:** :source:`Lib/lib2to3/`" -#: ../Doc/library/2to3.rst:471 +#: ../Doc/library/2to3.rst:467 +msgid "" +"Python 3.9 will switch to a PEG parser (see :pep:`617`), and Python 3.10 may " +"include new language syntax that is not parsable by lib2to3's LL(1) parser. " +"The ``lib2to3`` module may be removed from the standard library in a future " +"Python version. Consider third-party alternatives such as `LibCST`_ or " +"`parso`_." +msgstr "" + +#: ../Doc/library/2to3.rst:476 msgid "" "The :mod:`lib2to3` API should be considered unstable and may change " "drastically in the future." diff --git a/library/__future__.po b/library/__future__.po index 9620def64a..781593e1e2 100644 --- a/library/__future__.po +++ b/library/__future__.po @@ -1,23 +1,25 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. # Maintained by the python-doc-es workteam. -# docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ -# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers +# docs-es@python.org / +# https://mail.python.org/mailman3/lists/docs-es.python.org/ +# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get +# the list of volunteers # msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-06 11:59-0400\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-08-24 20:44-0500\n" +"Last-Translator: Gustavo Huarcaya \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Last-Translator: Gustavo Huarcaya \n" -"Language: es\n" -"X-Generator: Poedit 1.8.12\n" -"X-Poedit-SourceCharset: UTF-8\n" +"Generated-By: Babel 2.8.0\n" #: ../Doc/library/__future__.rst:2 msgid ":mod:`__future__` --- Future statement definitions" @@ -277,8 +279,9 @@ msgid "3.7.0b1" msgstr "3.7.0b1" #: ../Doc/library/__future__.rst:93 -msgid "4.0" -msgstr "4.0" +#, fuzzy +msgid "3.10" +msgstr "3.0" #: ../Doc/library/__future__.rst:93 msgid ":pep:`563`: *Postponed evaluation of annotations*" @@ -291,3 +294,6 @@ msgstr ":ref:`future`" #: ../Doc/library/__future__.rst:103 msgid "How the compiler treats future imports." msgstr "Cómo trata el compilador las importaciones futuras." + +#~ msgid "4.0" +#~ msgstr "4.0" diff --git a/library/argparse.po b/library/argparse.po index 08feaa3d7d..03cdce9788 100644 --- a/library/argparse.po +++ b/library/argparse.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-08-26 23:50+0200\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/argparse.rst:2 msgid "" @@ -279,10 +278,16 @@ msgstr "" "inequívoca. (por defecto: ``True``)" #: ../Doc/library/argparse.rst:182 +msgid "" +"exit_on_error_ - Determines whether or not ArgumentParser exits with error " +"info when an error occurs. (default: ``True``)" +msgstr "" + +#: ../Doc/library/argparse.rst:185 msgid "*allow_abbrev* parameter was added." msgstr "se añadió el parámetro *allow_abbrev*." -#: ../Doc/library/argparse.rst:185 +#: ../Doc/library/argparse.rst:188 msgid "" "In previous versions, *allow_abbrev* also disabled grouping of short flags " "such as ``-vv`` to mean ``-v -v``." @@ -290,16 +295,21 @@ msgstr "" "En versiones anteriores, *allow_abbrev* también deshabilitaba la agrupación " "de banderas (*flags*) cortas como ``-vv`` para que sea ``-v -v``." -#: ../Doc/library/argparse.rst:189 ../Doc/library/argparse.rst:687 +#: ../Doc/library/argparse.rst:192 +#, fuzzy +msgid "*exit_on_error* parameter was added." +msgstr "se añadió el parámetro *allow_abbrev*." + +#: ../Doc/library/argparse.rst:195 ../Doc/library/argparse.rst:715 msgid "The following sections describe how each of these are used." msgstr "" "En las siguientes secciones se describe cómo se utiliza cada una de ellas." -#: ../Doc/library/argparse.rst:193 +#: ../Doc/library/argparse.rst:199 msgid "prog" msgstr "*prog*" -#: ../Doc/library/argparse.rst:195 +#: ../Doc/library/argparse.rst:201 msgid "" "By default, :class:`ArgumentParser` objects use ``sys.argv[0]`` to determine " "how to display the name of the program in help messages. This default is " @@ -314,7 +324,7 @@ msgstr "" "la línea de comandos. Por ejemplo, considera un archivo llamado ``myprogram." "py`` con el siguiente código::" -#: ../Doc/library/argparse.rst:206 +#: ../Doc/library/argparse.rst:212 msgid "" "The help for this program will display ``myprogram.py`` as the program name " "(regardless of where the program was invoked from):" @@ -322,7 +332,7 @@ msgstr "" "La ayuda para este programa mostrará ``myprogram.py`` como el nombre del " "programa (sin importar desde dónde se haya invocado el programa):" -#: ../Doc/library/argparse.rst:225 +#: ../Doc/library/argparse.rst:231 msgid "" "To change this default behavior, another value can be supplied using the " "``prog=`` argument to :class:`ArgumentParser`::" @@ -330,7 +340,7 @@ msgstr "" "Para cambiar este comportamiento por defecto, se puede proporcionar otro " "valor usando el argumento``prog=`` para :class:`ArgumentParser`::" -#: ../Doc/library/argparse.rst:235 +#: ../Doc/library/argparse.rst:241 #, python-format msgid "" "Note that the program name, whether determined from ``sys.argv[0]`` or from " @@ -341,11 +351,11 @@ msgstr "" "``sys.argv[0]`` o del argumento ``prog=`` , está disponible para los " "mensajes de ayuda usando el especificador de formato ``%(prog)s``." -#: ../Doc/library/argparse.rst:252 +#: ../Doc/library/argparse.rst:258 msgid "usage" msgstr "uso" -#: ../Doc/library/argparse.rst:254 +#: ../Doc/library/argparse.rst:260 msgid "" "By default, :class:`ArgumentParser` calculates the usage message from the " "arguments it contains::" @@ -353,14 +363,14 @@ msgstr "" "Por defecto, :class:`ArgumentParser` determina el mensaje de uso a partir de " "los argumentos que contiene::" -#: ../Doc/library/argparse.rst:270 +#: ../Doc/library/argparse.rst:276 msgid "" "The default message can be overridden with the ``usage=`` keyword argument::" msgstr "" "El mensaje por defecto puede ser sustituido con el argumento de palabra " "clave ``usage=``::" -#: ../Doc/library/argparse.rst:285 +#: ../Doc/library/argparse.rst:291 #, python-format msgid "" "The ``%(prog)s`` format specifier is available to fill in the program name " @@ -369,11 +379,11 @@ msgstr "" "El especificador de formato ``%(prog)s`` está preparado para introducir el " "nombre del programa en los mensajes de ayuda." -#: ../Doc/library/argparse.rst:290 +#: ../Doc/library/argparse.rst:296 msgid "description" msgstr "*description*" -#: ../Doc/library/argparse.rst:292 +#: ../Doc/library/argparse.rst:298 msgid "" "Most calls to the :class:`ArgumentParser` constructor will use the " "``description=`` keyword argument. This argument gives a brief description " @@ -388,7 +398,7 @@ msgstr "" "(*usage*) de la línea de comandos y los mensajes de ayuda para los distintos " "argumentos::" -#: ../Doc/library/argparse.rst:307 +#: ../Doc/library/argparse.rst:313 msgid "" "By default, the description will be line-wrapped so that it fits within the " "given space. To change this behavior, see the formatter_class_ argument." @@ -397,11 +407,11 @@ msgstr "" "espacio dado. Para cambiar este comportamiento, revisa el argumento " "formatter_class_." -#: ../Doc/library/argparse.rst:312 +#: ../Doc/library/argparse.rst:318 msgid "epilog" msgstr "*epilog*" -#: ../Doc/library/argparse.rst:314 +#: ../Doc/library/argparse.rst:320 msgid "" "Some programs like to display additional description of the program after " "the description of the arguments. Such text can be specified using the " @@ -411,7 +421,7 @@ msgstr "" "después de la descripción de los argumentos. Dicho texto puede ser " "especificado usando el argumento ``epilog=`` para :class:`ArgumentParser`::" -#: ../Doc/library/argparse.rst:331 +#: ../Doc/library/argparse.rst:337 msgid "" "As with the description_ argument, the ``epilog=`` text is by default line-" "wrapped, but this behavior can be adjusted with the formatter_class_ " @@ -421,11 +431,11 @@ msgstr "" "defecto ajustado a una línea, pero este comportamiento puede ser modificado " "con el argumento formatter_class_ para :class:`ArgumentParser`." -#: ../Doc/library/argparse.rst:337 +#: ../Doc/library/argparse.rst:343 msgid "parents" msgstr "*parents*" -#: ../Doc/library/argparse.rst:339 +#: ../Doc/library/argparse.rst:345 msgid "" "Sometimes, several parsers share a common set of arguments. Rather than " "repeating the definitions of these arguments, a single parser with all the " @@ -443,7 +453,7 @@ msgstr "" "de posición y de opción de éstos, y añade estas acciones al objeto :class:" "`ArgumentParser` que se está construyendo::" -#: ../Doc/library/argparse.rst:359 +#: ../Doc/library/argparse.rst:365 msgid "" "Note that most parent parsers will specify ``add_help=False``. Otherwise, " "the :class:`ArgumentParser` will see two ``-h/--help`` options (one in the " @@ -454,7 +464,7 @@ msgstr "" "opciones ``-h/—help`` (una para el padre y otra para el hijo) y generará un " "error." -#: ../Doc/library/argparse.rst:364 +#: ../Doc/library/argparse.rst:370 msgid "" "You must fully initialize the parsers before passing them via ``parents=``. " "If you change the parent parsers after the child parser, those changes will " @@ -464,11 +474,11 @@ msgstr "" "de ``parents=``. Si cambias los analizadores padre después del analizador " "hijo, esos cambios no se reflejarán en el hijo." -#: ../Doc/library/argparse.rst:370 +#: ../Doc/library/argparse.rst:376 msgid "formatter_class" msgstr "*formatter_class*" -#: ../Doc/library/argparse.rst:372 +#: ../Doc/library/argparse.rst:378 msgid "" ":class:`ArgumentParser` objects allow the help formatting to be customized " "by specifying an alternate formatting class. Currently, there are four such " @@ -478,7 +488,7 @@ msgstr "" "ayuda especificando una clase de formato alternativa. Actualmente, hay " "cuatro clases de este tipo:" -#: ../Doc/library/argparse.rst:381 +#: ../Doc/library/argparse.rst:387 msgid "" ":class:`RawDescriptionHelpFormatter` and :class:`RawTextHelpFormatter` give " "more control over how textual descriptions are displayed. By default, :class:" @@ -490,7 +500,7 @@ msgstr "" "objetos :class:`ArgumentParser` ajustan a la línea los textos de " "description_ y epilog_ en los mensajes de ayuda de la línea de comandos::" -#: ../Doc/library/argparse.rst:406 +#: ../Doc/library/argparse.rst:412 msgid "" "Passing :class:`RawDescriptionHelpFormatter` as ``formatter_class=`` " "indicates that description_ and epilog_ are already correctly formatted and " @@ -500,7 +510,7 @@ msgstr "" "que description_ y epilog_ ya tienen el formato correcto y no deben ser " "ajustados a la línea::" -#: ../Doc/library/argparse.rst:432 +#: ../Doc/library/argparse.rst:438 msgid "" ":class:`RawTextHelpFormatter` maintains whitespace for all sorts of help " "text, including argument descriptions. However, multiple new lines are " @@ -512,7 +522,7 @@ msgstr "" "líneas nuevas son reemplazadas por una sola. Si deseas conservar varias " "líneas en blanco, añade espacios entre las nuevas líneas." -#: ../Doc/library/argparse.rst:437 +#: ../Doc/library/argparse.rst:443 msgid "" ":class:`ArgumentDefaultsHelpFormatter` automatically adds information about " "default values to each of the argument help messages::" @@ -521,7 +531,7 @@ msgstr "" "sobre los valores por defecto a cada uno de los mensajes de ayuda de los " "argumentos::" -#: ../Doc/library/argparse.rst:455 +#: ../Doc/library/argparse.rst:461 msgid "" ":class:`MetavarTypeHelpFormatter` uses the name of the type_ argument for " "each argument as the display name for its values (rather than using the " @@ -531,11 +541,11 @@ msgstr "" "cada argumento como el nombre a mostrar para sus valores (en lugar de " "utilizar dest_ como lo hace el formato habitual)::" -#: ../Doc/library/argparse.rst:476 +#: ../Doc/library/argparse.rst:482 msgid "prefix_chars" msgstr "*prefix_chars*" -#: ../Doc/library/argparse.rst:478 +#: ../Doc/library/argparse.rst:484 msgid "" "Most command-line options will use ``-`` as the prefix, e.g. ``-f/--foo``. " "Parsers that need to support different or additional prefix characters, e.g. " @@ -548,7 +558,7 @@ msgstr "" "``+f`` o ``/foo``, pueden especificarlos usando el " "argumento``prefix_chars=`` para el constructor *ArgumentParser*::" -#: ../Doc/library/argparse.rst:490 +#: ../Doc/library/argparse.rst:496 msgid "" "The ``prefix_chars=`` argument defaults to ``'-'``. Supplying a set of " "characters that does not include ``-`` will cause ``-f/--foo`` options to be " @@ -558,11 +568,11 @@ msgstr "" "Proporcionar un conjunto de caracteres que no incluya ``-`` causará que las " "opciones ``-f/--foo`` no sean inhabilitadas." -#: ../Doc/library/argparse.rst:496 +#: ../Doc/library/argparse.rst:502 msgid "fromfile_prefix_chars" msgstr "*fromfile_prefix_chars*" -#: ../Doc/library/argparse.rst:498 +#: ../Doc/library/argparse.rst:504 msgid "" "Sometimes, for example when dealing with a particularly long argument lists, " "it may make sense to keep the list of arguments in a file rather than typing " @@ -579,7 +589,7 @@ msgstr "" "caracteres especificados se tratarán como archivos, y serán reemplazados por " "los argumentos que contienen. Por ejemplo::" -#: ../Doc/library/argparse.rst:512 +#: ../Doc/library/argparse.rst:518 msgid "" "Arguments read from a file must by default be one per line (but see also :" "meth:`~ArgumentParser.convert_arg_line_to_args`) and are treated as if they " @@ -595,7 +605,7 @@ msgstr "" "la expresión ``[‘-f’, ‘foo’, ‘@args.txt’]`` se considera equivalente a la " "expresión ``[‘-f’, ‘foo’, ‘-f’, ‘bar’]``." -#: ../Doc/library/argparse.rst:518 +#: ../Doc/library/argparse.rst:524 msgid "" "The ``fromfile_prefix_chars=`` argument defaults to ``None``, meaning that " "arguments will never be treated as file references." @@ -604,11 +614,11 @@ msgstr "" "significa que los argumentos nunca serán tratados como referencias de " "archivos." -#: ../Doc/library/argparse.rst:523 +#: ../Doc/library/argparse.rst:529 msgid "argument_default" msgstr "*argument_default*" -#: ../Doc/library/argparse.rst:525 +#: ../Doc/library/argparse.rst:531 msgid "" "Generally, argument defaults are specified either by passing a default to :" "meth:`~ArgumentParser.add_argument` or by calling the :meth:`~ArgumentParser." @@ -630,11 +640,11 @@ msgstr "" "`~ArgumentParser.parse_args` , proporcionamos el argumento " "``argument_default=SUPPRESS``::" -#: ../Doc/library/argparse.rst:545 +#: ../Doc/library/argparse.rst:551 msgid "allow_abbrev" msgstr "*allow_abbrev*" -#: ../Doc/library/argparse.rst:547 +#: ../Doc/library/argparse.rst:553 msgid "" "Normally, when you pass an argument list to the :meth:`~ArgumentParser." "parse_args` method of an :class:`ArgumentParser`, it :ref:`recognizes " @@ -644,17 +654,17 @@ msgstr "" "`~ArgumentParser.parse_args` de un :class:`ArgumentParser`, :ref:`reconoce " "las abreviaturas ` de las opciones largas." -#: ../Doc/library/argparse.rst:551 +#: ../Doc/library/argparse.rst:557 msgid "This feature can be disabled by setting ``allow_abbrev`` to ``False``::" msgstr "" "Esta característica puede ser desactivada poniendo ``allow_abbrev`` a " "``False``::" -#: ../Doc/library/argparse.rst:564 +#: ../Doc/library/argparse.rst:570 msgid "conflict_handler" msgstr "*conflict_handler*" -#: ../Doc/library/argparse.rst:566 +#: ../Doc/library/argparse.rst:572 msgid "" ":class:`ArgumentParser` objects do not allow two actions with the same " "option string. By default, :class:`ArgumentParser` objects raise an " @@ -666,7 +676,7 @@ msgstr "" "`ArgumentParser` lanzan una excepción si se intenta crear un argumento con " "una cadena de caracteres de opción que ya está en uso::" -#: ../Doc/library/argparse.rst:578 +#: ../Doc/library/argparse.rst:584 msgid "" "Sometimes (e.g. when using parents_) it may be useful to simply override any " "older arguments with the same option string. To get this behavior, the " @@ -678,7 +688,7 @@ msgstr "" "opción. Para lograr este comportamiento, se puede suministrar el valor " "``'resolve'`` al argumento ``conflict_handler=`` de :class:`ArgumentParser`::" -#: ../Doc/library/argparse.rst:594 +#: ../Doc/library/argparse.rst:600 msgid "" "Note that :class:`ArgumentParser` objects only remove an action if all of " "its option strings are overridden. So, in the example above, the old ``-f/--" @@ -691,11 +701,11 @@ msgstr "" "acción``-f``, porque sólo la cadena de caracteres de opción ``--foo`` fue " "anulada." -#: ../Doc/library/argparse.rst:601 +#: ../Doc/library/argparse.rst:607 msgid "add_help" msgstr "*add_help*" -#: ../Doc/library/argparse.rst:603 +#: ../Doc/library/argparse.rst:609 msgid "" "By default, ArgumentParser objects add an option which simply displays the " "parser's help message. For example, consider a file named ``myprogram.py`` " @@ -705,7 +715,7 @@ msgstr "" "muestra el mensaje de ayuda del analizador. Por ejemplo, considera un " "archivo llamado ``myprogram.py`` que contiene el siguiente código::" -#: ../Doc/library/argparse.rst:612 +#: ../Doc/library/argparse.rst:618 msgid "" "If ``-h`` or ``--help`` is supplied at the command line, the ArgumentParser " "help will be printed:" @@ -713,7 +723,7 @@ msgstr "" "Si ``-h`` o ``--help`` se indica en la línea de comandos, se imprimirá la " "ayuda de *ArgumentParser*:" -#: ../Doc/library/argparse.rst:624 +#: ../Doc/library/argparse.rst:630 msgid "" "Occasionally, it may be useful to disable the addition of this help option. " "This can be achieved by passing ``False`` as the ``add_help=`` argument to :" @@ -723,7 +733,7 @@ msgstr "" "ayuda. Esto se puede lograr pasando ``False`` como argumento de " "``add_help=`` a :class:`ArgumentParser`::" -#: ../Doc/library/argparse.rst:636 +#: ../Doc/library/argparse.rst:642 msgid "" "The help option is typically ``-h/--help``. The exception to this is if the " "``prefix_chars=`` is specified and does not include ``-``, in which case ``-" @@ -735,11 +745,35 @@ msgstr "" "``--help`` no son opciones válidas. En este caso, el primer carácter en " "``prefix_chars`` se utiliza para preceder a las opciones de ayuda::" -#: ../Doc/library/argparse.rst:651 +#: ../Doc/library/argparse.rst:657 +msgid "exit_on_error" +msgstr "" + +#: ../Doc/library/argparse.rst:659 +#, fuzzy +msgid "" +"Normally, when you pass an invalid argument list to the :meth:" +"`~ArgumentParser.parse_args` method of an :class:`ArgumentParser`, it will " +"exit with error info." +msgstr "" +"Normalmente, cuando pasas una lista de argumentos al método :meth:" +"`~ArgumentParser.parse_args` de un :class:`ArgumentParser`, :ref:`reconoce " +"las abreviaturas ` de las opciones largas." + +#: ../Doc/library/argparse.rst:662 +#, fuzzy +msgid "" +"If the user would like catch errors manually, the feature can be enable by " +"setting ``exit_on_error`` to ``False``::" +msgstr "" +"Esta característica puede ser desactivada poniendo ``allow_abbrev`` a " +"``False``::" + +#: ../Doc/library/argparse.rst:679 msgid "The add_argument() method" msgstr "El método *add_argument()*" -#: ../Doc/library/argparse.rst:657 +#: ../Doc/library/argparse.rst:685 msgid "" "Define how a single command-line argument should be parsed. Each parameter " "has its own more detailed description below, but in short they are:" @@ -748,7 +782,7 @@ msgstr "" "comandos. Cada parámetro tiene su propia descripción más detallada a " "continuación, pero en resumen son::" -#: ../Doc/library/argparse.rst:660 +#: ../Doc/library/argparse.rst:688 msgid "" "`name or flags`_ - Either a name or a list of option strings, e.g. ``foo`` " "or ``-f, --foo``." @@ -756,7 +790,7 @@ msgstr "" "`name or flags`_ - Ya sea un nombre o una lista de cadena de caracteres de " "opción, e.g. ``foo`` o ``-f, --foo``." -#: ../Doc/library/argparse.rst:663 +#: ../Doc/library/argparse.rst:691 msgid "" "action_ - The basic type of action to be taken when this argument is " "encountered at the command line." @@ -764,37 +798,38 @@ msgstr "" "action_ - El tipo básico de acción a tomar cuando este argumento se " "encuentra en la línea de comandos." -#: ../Doc/library/argparse.rst:666 +#: ../Doc/library/argparse.rst:694 msgid "nargs_ - The number of command-line arguments that should be consumed." msgstr "" "nargs_ - El número de argumentos de la línea de comandos que deben ser " "consumidos." -#: ../Doc/library/argparse.rst:668 +#: ../Doc/library/argparse.rst:696 msgid "" "const_ - A constant value required by some action_ and nargs_ selections." msgstr "" "const_ - Un valor fijo requerido por algunas selecciones de action_ y nargs_." -#: ../Doc/library/argparse.rst:670 +#: ../Doc/library/argparse.rst:698 +#, fuzzy msgid "" "default_ - The value produced if the argument is absent from the command " -"line." +"line and if it is absent from the namespace object." msgstr "" "default_ - El valor dado si el argumento está ausente de la línea de " "comandos." -#: ../Doc/library/argparse.rst:673 +#: ../Doc/library/argparse.rst:701 msgid "" "type_ - The type to which the command-line argument should be converted." msgstr "" "type_ - El tipo al que debe convertirse el argumento de la línea de comandos." -#: ../Doc/library/argparse.rst:675 +#: ../Doc/library/argparse.rst:703 msgid "choices_ - A container of the allowable values for the argument." msgstr "choices_ - Un contenedor con los valores permitidos para el argumento." -#: ../Doc/library/argparse.rst:677 +#: ../Doc/library/argparse.rst:705 msgid "" "required_ - Whether or not the command-line option may be omitted (optionals " "only)." @@ -802,15 +837,15 @@ msgstr "" "required_ - Si se puede omitir o no la opción de la línea de comandos (sólo " "opcionales)." -#: ../Doc/library/argparse.rst:680 +#: ../Doc/library/argparse.rst:708 msgid "help_ - A brief description of what the argument does." msgstr "help_ - Una breve descripción de lo que hace el argumento." -#: ../Doc/library/argparse.rst:682 +#: ../Doc/library/argparse.rst:710 msgid "metavar_ - A name for the argument in usage messages." msgstr "metavar_ - Un nombre para el argumento en los mensajes de uso." -#: ../Doc/library/argparse.rst:684 +#: ../Doc/library/argparse.rst:712 msgid "" "dest_ - The name of the attribute to be added to the object returned by :" "meth:`parse_args`." @@ -818,11 +853,11 @@ msgstr "" "dest_ - El nombre del atributo que será añadido al objeto retornado por :" "meth:`parse_args`." -#: ../Doc/library/argparse.rst:691 +#: ../Doc/library/argparse.rst:719 msgid "name or flags" msgstr "*name or flags*" -#: ../Doc/library/argparse.rst:693 +#: ../Doc/library/argparse.rst:721 msgid "" "The :meth:`~ArgumentParser.add_argument` method must know whether an " "optional argument, like ``-f`` or ``--foo``, or a positional argument, like " @@ -838,11 +873,11 @@ msgstr "" "indicadores (*flags*), o un simple nombre de argumento (*name*). Por " "ejemplo, se puede crear un argumento opcional como::" -#: ../Doc/library/argparse.rst:702 +#: ../Doc/library/argparse.rst:730 msgid "while a positional argument could be created like::" msgstr "mientras que un argumento posicional podría ser creado como::" -#: ../Doc/library/argparse.rst:706 +#: ../Doc/library/argparse.rst:734 msgid "" "When :meth:`~ArgumentParser.parse_args` is called, optional arguments will " "be identified by the ``-`` prefix, and the remaining arguments will be " @@ -852,11 +887,11 @@ msgstr "" "opcionales serán identificados por el prefijo ``-``, y el resto de los " "argumentos serán asumidos como posicionales::" -#: ../Doc/library/argparse.rst:723 +#: ../Doc/library/argparse.rst:751 msgid "action" msgstr "*action*" -#: ../Doc/library/argparse.rst:725 +#: ../Doc/library/argparse.rst:753 msgid "" ":class:`ArgumentParser` objects associate command-line arguments with " "actions. These actions can do just about anything with the command-line " @@ -873,7 +908,7 @@ msgstr "" "especifica cómo deben ser manejados los argumentos de la línea de comandos. " "Las acciones proporcionadas son:" -#: ../Doc/library/argparse.rst:731 +#: ../Doc/library/argparse.rst:759 msgid "" "``'store'`` - This just stores the argument's value. This is the default " "action. For example::" @@ -881,7 +916,7 @@ msgstr "" "``'store'`` - Esta sólo almacena el valor del argumento. Esta es la acción " "por defecto. Por ejemplo::" -#: ../Doc/library/argparse.rst:739 +#: ../Doc/library/argparse.rst:767 msgid "" "``'store_const'`` - This stores the value specified by the const_ keyword " "argument. The ``'store_const'`` action is most commonly used with optional " @@ -892,7 +927,7 @@ msgstr "" "argumentos opcionales que especifican algún tipo de indicador (*flag*). Por " "ejemplo::" -#: ../Doc/library/argparse.rst:748 +#: ../Doc/library/argparse.rst:776 msgid "" "``'store_true'`` and ``'store_false'`` - These are special cases of " "``'store_const'`` used for storing the values ``True`` and ``False`` " @@ -904,7 +939,7 @@ msgstr "" "respectivamente. Además, crean valores por defecto de ``False`` y ``True`` " "respectivamente. Por ejemplo::" -#: ../Doc/library/argparse.rst:760 +#: ../Doc/library/argparse.rst:788 msgid "" "``'append'`` - This stores a list, and appends each argument value to the " "list. This is useful to allow an option to be specified multiple times. " @@ -914,7 +949,7 @@ msgstr "" "la lista. Esto es útil para permitir que una opción sea especificada varias " "veces. Ejemplo de uso::" -#: ../Doc/library/argparse.rst:769 +#: ../Doc/library/argparse.rst:797 msgid "" "``'append_const'`` - This stores a list, and appends the value specified by " "the const_ keyword argument to the list. (Note that the const_ keyword " @@ -928,7 +963,7 @@ msgstr "" "``'append_const'`` es útil típicamente cuando múltiples argumentos necesitan " "almacenar constantes a la misma lista. Por ejemplo::" -#: ../Doc/library/argparse.rst:781 +#: ../Doc/library/argparse.rst:809 msgid "" "``'count'`` - This counts the number of times a keyword argument occurs. For " "example, this is useful for increasing verbosity levels::" @@ -937,13 +972,13 @@ msgstr "" "clave aparece. Por ejemplo, esto es útil para incrementar los niveles de " "detalle::" -#: ../Doc/library/argparse.rst:789 +#: ../Doc/library/argparse.rst:817 msgid "Note, the *default* will be ``None`` unless explicitly set to *0*." msgstr "" "Observa, *default* (el valor por defecto) será ``None`` a menos que " "explícitamente se establezca como *0*." -#: ../Doc/library/argparse.rst:791 +#: ../Doc/library/argparse.rst:819 msgid "" "``'help'`` - This prints a complete help message for all the options in the " "current parser and then exits. By default a help action is automatically " @@ -955,7 +990,7 @@ msgstr "" "acción de ayuda automáticamente al analizador. Ver :class:`ArgumentParser` " "para detalles de cómo se genera la salida." -#: ../Doc/library/argparse.rst:796 +#: ../Doc/library/argparse.rst:824 msgid "" "``'version'`` - This expects a ``version=`` keyword argument in the :meth:" "`~ArgumentParser.add_argument` call, and prints version information and " @@ -965,7 +1000,7 @@ msgstr "" "llamada :meth:`~ArgumentParser.add_argument`, e imprime la información de la " "versión y finaliza cuando es invocada::" -#: ../Doc/library/argparse.rst:806 +#: ../Doc/library/argparse.rst:834 msgid "" "``'extend'`` - This stores a list, and extends each argument value to the " "list. Example usage::" @@ -973,31 +1008,39 @@ msgstr "" "``’extend’`` - Esta almacena una lista, y extiende cada valor del argumento " "a la lista. Ejemplo de uso::" -#: ../Doc/library/argparse.rst:817 +#: ../Doc/library/argparse.rst:845 msgid "" "You may also specify an arbitrary action by passing an Action subclass or " -"other object that implements the same interface. The recommended way to do " -"this is to extend :class:`Action`, overriding the ``__call__`` method and " -"optionally the ``__init__`` method." +"other object that implements the same interface. The " +"``BooleanOptionalAction`` is available in ``argparse`` and adds support for " +"boolean actions such as ``--foo`` and ``--no-foo``::" +msgstr "" + +#: ../Doc/library/argparse.rst:856 +#, fuzzy +msgid "" +"The recommended way to create a custom action is to extend :class:`Action`, " +"overriding the ``__call__`` method and optionally the ``__init__`` and " +"``format_usage`` methods." msgstr "" "También puedes especificar una acción arbitraria pasando una subclase " "*Action* u otro objeto que implemente la misma interfaz. La forma " "recomendada de hacer esto es extender :class:`Action`, sobrescribiendo el " "método``__call__`` y opcionalmente el método``__init__``." -#: ../Doc/library/argparse.rst:822 +#: ../Doc/library/argparse.rst:860 msgid "An example of a custom action::" msgstr "Un ejemplo de una acción personalizada::" -#: ../Doc/library/argparse.rst:842 +#: ../Doc/library/argparse.rst:880 msgid "For more details, see :class:`Action`." msgstr "Para más detalles, ver :class:`Action`." -#: ../Doc/library/argparse.rst:845 +#: ../Doc/library/argparse.rst:883 msgid "nargs" msgstr "*nargs*" -#: ../Doc/library/argparse.rst:847 +#: ../Doc/library/argparse.rst:885 msgid "" "ArgumentParser objects usually associate a single command-line argument with " "a single action to be taken. The ``nargs`` keyword argument associates a " @@ -1009,7 +1052,7 @@ msgstr "" "``nargs`` asocia un número diferente de argumentos de línea de comandos con " "una sola acción. Los valores admitidos son:" -#: ../Doc/library/argparse.rst:852 +#: ../Doc/library/argparse.rst:890 msgid "" "``N`` (an integer). ``N`` arguments from the command line will be gathered " "together into a list. For example::" @@ -1017,7 +1060,7 @@ msgstr "" "``N`` (un entero). ``N`` argumentos de la línea de comandos se agruparán en " "una lista. Por ejemplo::" -#: ../Doc/library/argparse.rst:861 +#: ../Doc/library/argparse.rst:899 msgid "" "Note that ``nargs=1`` produces a list of one item. This is different from " "the default, in which the item is produced by itself." @@ -1026,7 +1069,7 @@ msgstr "" "diferente del valor por defecto, en el que el elemento se produce por sí " "mismo." -#: ../Doc/library/argparse.rst:866 +#: ../Doc/library/argparse.rst:904 msgid "" "``'?'``. One argument will be consumed from the command line if possible, " "and produced as a single item. If no command-line argument is present, the " @@ -1043,7 +1086,7 @@ msgstr "" "comandos. En este caso se obtendrá el valor de const_. Algunos ejemplos para " "ilustrar esto::" -#: ../Doc/library/argparse.rst:883 +#: ../Doc/library/argparse.rst:921 msgid "" "One of the more common uses of ``nargs='?'`` is to allow optional input and " "output files::" @@ -1051,7 +1094,7 @@ msgstr "" "Uno de los usos más comunes de ``nargs='?'`` es permitir archivos de entrada " "y salida opcionales::" -#: ../Doc/library/argparse.rst:900 +#: ../Doc/library/argparse.rst:938 msgid "" "``'*'``. All command-line arguments present are gathered into a list. Note " "that it generally doesn't make much sense to have more than one positional " @@ -1063,7 +1106,7 @@ msgstr "" "más de un argumento posicional con ``nargs=‘*’``, pero es posible tener " "múltiples argumentos opcionales con ``nargs=‘*’``. Por ejemplo::" -#: ../Doc/library/argparse.rst:914 +#: ../Doc/library/argparse.rst:952 msgid "" "``'+'``. Just like ``'*'``, all command-line args present are gathered into " "a list. Additionally, an error message will be generated if there wasn't at " @@ -1073,17 +1116,7 @@ msgstr "" "se recogen en una lista. Además, se generará un mensaje de error si no había " "al menos un argumento presente en la línea de comandos. Por ejemplo::" -#: ../Doc/library/argparse.rst:928 -msgid "" -"``argparse.REMAINDER``. All the remaining command-line arguments are " -"gathered into a list. This is commonly useful for command line utilities " -"that dispatch to other command line utilities::" -msgstr "" -"``argparse.REMAINDER``. Todos los argumentos restantes de la línea de " -"comandos se recogen en una lista. Esto es útil habitualmente para utilidades " -"de línea de comandos que envían a otras utilidades de línea de comandos::" - -#: ../Doc/library/argparse.rst:939 +#: ../Doc/library/argparse.rst:964 msgid "" "If the ``nargs`` keyword argument is not provided, the number of arguments " "consumed is determined by the action_. Generally this means a single " @@ -1095,11 +1128,11 @@ msgstr "" "que se consumirá un único argumento de línea de comandos y se obtendrá un " "único elemento (no una lista)." -#: ../Doc/library/argparse.rst:945 +#: ../Doc/library/argparse.rst:970 msgid "const" msgstr "*const*" -#: ../Doc/library/argparse.rst:947 +#: ../Doc/library/argparse.rst:972 msgid "" "The ``const`` argument of :meth:`~ArgumentParser.add_argument` is used to " "hold constant values that are not read from the command line but are " @@ -1111,7 +1144,7 @@ msgstr "" "que son necesarios para las diversas acciones de :class:`ArgumentParser`. " "Los dos usos más comunes son:" -#: ../Doc/library/argparse.rst:951 +#: ../Doc/library/argparse.rst:976 msgid "" "When :meth:`~ArgumentParser.add_argument` is called with " "``action='store_const'`` or ``action='append_const'``. These actions add " @@ -1123,7 +1156,7 @@ msgstr "" "el valor ``const`` a uno de los atributos del objeto retornado por :meth:" "`~ArgumentParser.parse_args`. Mira la descripción action_ para ver ejemplos." -#: ../Doc/library/argparse.rst:956 +#: ../Doc/library/argparse.rst:981 msgid "" "When :meth:`~ArgumentParser.add_argument` is called with option strings " "(like ``-f`` or ``--foo``) and ``nargs='?'``. This creates an optional " @@ -1139,7 +1172,7 @@ msgstr "" "encuentra sin ningún argumento de línea de comandos que la siga, asumirá en " "su lugar el valor de ``const``. Mira la descripción nargs_ para ejemplos." -#: ../Doc/library/argparse.rst:963 +#: ../Doc/library/argparse.rst:988 msgid "" "With the ``'store_const'`` and ``'append_const'`` actions, the ``const`` " "keyword argument must be given. For other actions, it defaults to ``None``." @@ -1148,11 +1181,11 @@ msgstr "" "argumento palabra clave ``const``. Para otras acciones, por defecto es " "``None``." -#: ../Doc/library/argparse.rst:968 +#: ../Doc/library/argparse.rst:993 msgid "default" msgstr "*default*" -#: ../Doc/library/argparse.rst:970 +#: ../Doc/library/argparse.rst:995 msgid "" "All optional arguments and some positional arguments may be omitted at the " "command line. The ``default`` keyword argument of :meth:`~ArgumentParser." @@ -1169,7 +1202,13 @@ msgstr "" "cuando la cadena de caracteres de opción no está presente en la línea de " "comandos::" -#: ../Doc/library/argparse.rst:984 +#: ../Doc/library/argparse.rst:1009 +msgid "" +"If the target namespace already has an attribute set, the action *default* " +"will not over write it::" +msgstr "" + +#: ../Doc/library/argparse.rst:1017 msgid "" "If the ``default`` value is a string, the parser parses the value as if it " "were a command-line argument. In particular, the parser applies any type_ " @@ -1183,7 +1222,7 @@ msgstr "" "`Namespace`. En caso contrario, el analizador utiliza el valor tal y como " "es::" -#: ../Doc/library/argparse.rst:995 +#: ../Doc/library/argparse.rst:1028 msgid "" "For positional arguments with nargs_ equal to ``?`` or ``*``, the " "``default`` value is used when no command-line argument was present::" @@ -1192,7 +1231,7 @@ msgstr "" "``default`` se utiliza cuando no hay ningún argumento de línea de comandos " "presente::" -#: ../Doc/library/argparse.rst:1006 +#: ../Doc/library/argparse.rst:1039 msgid "" "Providing ``default=argparse.SUPPRESS`` causes no attribute to be added if " "the command-line argument was not present::" @@ -1200,75 +1239,84 @@ msgstr "" "Proporcionar ``default=argparse.SUPPRESS`` causa que no se agregue ningún " "atributo si el argumento de la línea de comandos no está presente::" -#: ../Doc/library/argparse.rst:1018 +#: ../Doc/library/argparse.rst:1051 msgid "type" msgstr "*type*" -#: ../Doc/library/argparse.rst:1020 +#: ../Doc/library/argparse.rst:1053 msgid "" -"By default, :class:`ArgumentParser` objects read command-line arguments in " -"as simple strings. However, quite often the command-line string should " -"instead be interpreted as another type, like a :class:`float` or :class:" -"`int`. The ``type`` keyword argument of :meth:`~ArgumentParser." -"add_argument` allows any necessary type-checking and type conversions to be " -"performed. Common built-in types and functions can be used directly as the " -"value of the ``type`` argument::" +"By default, the parser reads command-line arguments in as simple strings. " +"However, quite often the command-line string should instead be interpreted " +"as another type, such as a :class:`float` or :class:`int`. The ``type`` " +"keyword for :meth:`~ArgumentParser.add_argument` allows any necessary type-" +"checking and type conversions to be performed." msgstr "" -"Por defecto, los objetos :class:`ArgumentParser` leen los argumentos de la " -"línea de comandos como simples cadenas de caracteres. Sin embargo, muy a " -"menudo la cadena de caracteres de la línea de comandos debe ser interpretada " -"como otro tipo, como una :class:`float` o :class:`int`. El argumento de " -"palabra clave ``type`` de :meth:`~ArgumentParser.add_argument` permite " -"realizar cualquier comprobación y conversión de tipos que sea necesaria. Los " -"tipos y funciones incorporadas (*built-in*) comunes pueden ser usados " -"directamente como el valor del argumento ``type``::" -#: ../Doc/library/argparse.rst:1033 +#: ../Doc/library/argparse.rst:1059 msgid "" -"See the section on the default_ keyword argument for information on when the " -"``type`` argument is applied to default arguments." +"If the type_ keyword is used with the default_ keyword, the type converter " +"is only applied if the default is a string." msgstr "" -"Consulta la sección sobre el argumento de palabra clave default_ para " -"obtener información sobre cuándo se aplica el argumento ``type`` a los " -"argumentos por defecto." -#: ../Doc/library/argparse.rst:1036 +#: ../Doc/library/argparse.rst:1062 msgid "" -"To ease the use of various types of files, the argparse module provides the " -"factory FileType which takes the ``mode=``, ``bufsize=``, ``encoding=`` and " -"``errors=`` arguments of the :func:`open` function. For example, " -"``FileType('w')`` can be used to create a writable file::" +"The argument to ``type`` can be any callable that accepts a single string. " +"If the function raises :exc:`ArgumentTypeError`, :exc:`TypeError`, or :exc:" +"`ValueError`, the exception is caught and a nicely formatted error message " +"is displayed. No other exception types are handled." +msgstr "" + +#: ../Doc/library/argparse.rst:1067 +msgid "Common built-in types and functions can be used as type converters:" msgstr "" -"Para facilitar el uso de varios tipos de archivos, el módulo *argparse* " -"proporciona *FileType* de fábrica que toma los argumentos ``mode=``, " -"``bufsize=``, ``encoding=`` y ``errors=`` de la función :func:`open`. Por " -"ejemplo, ``FileType('w')`` puede usarse para crear un archivo modificable::" -#: ../Doc/library/argparse.rst:1046 +#: ../Doc/library/argparse.rst:1083 +msgid "User defined functions can be used as well:" +msgstr "" + +#: ../Doc/library/argparse.rst:1095 msgid "" -"``type=`` can take any callable that takes a single string argument and " -"returns the converted value::" +"The :func:`bool` function is not recommended as a type converter. All it " +"does is convert empty strings to ``False`` and non-empty strings to " +"``True``. This is usually not what is desired." msgstr "" -"``type=`` puede aceptar cualquier invocable que use un sólo argumento de " -"cadena de caracteres y retorne el valor convertido::" -#: ../Doc/library/argparse.rst:1065 +#: ../Doc/library/argparse.rst:1099 msgid "" -"The choices_ keyword argument may be more convenient for type checkers that " -"simply check against a range of values::" +"In general, the ``type`` keyword is a convenience that should only be used " +"for simple conversions that can only raise one of the three supported " +"exceptions. Anything with more interesting error-handling or resource " +"management should be done downstream after the arguments are parsed." msgstr "" -"El argumento de palabra clave choices_ puede ser más conveniente para las " -"verificadoras de tipo que simplemente comparan contra un rango de valores::" -#: ../Doc/library/argparse.rst:1076 -msgid "See the choices_ section for more details." -msgstr "Consulta la sección choices_ para más detalles." +#: ../Doc/library/argparse.rst:1104 +msgid "" +"For example, JSON or YAML conversions have complex error cases that require " +"better reporting than can be given by the ``type`` keyword. An :exc:`~json." +"JSONDecodeError` would not be well formatted and a :exc:`FileNotFound` " +"exception would not be handled at all." +msgstr "" + +#: ../Doc/library/argparse.rst:1109 +msgid "" +"Even :class:`~argparse.FileType` has its limitations for use with the " +"``type`` keyword. If one argument uses *FileType* and then a subsequent " +"argument fails, an error is reported but the file is not automatically " +"closed. In this case, it would be better to wait until after the parser has " +"run and then use the :keyword:`with`-statement to manage the files." +msgstr "" + +#: ../Doc/library/argparse.rst:1115 +msgid "" +"For type checkers that simply check against a fixed set of values, consider " +"using the choices_ keyword instead." +msgstr "" -#: ../Doc/library/argparse.rst:1080 +#: ../Doc/library/argparse.rst:1120 msgid "choices" msgstr "*choices*" -#: ../Doc/library/argparse.rst:1082 +#: ../Doc/library/argparse.rst:1122 msgid "" "Some command-line arguments should be selected from a restricted set of " "values. These can be handled by passing a container object as the *choices* " @@ -1283,7 +1331,7 @@ msgstr "" "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:1097 +#: ../Doc/library/argparse.rst:1137 msgid "" "Note that inclusion in the *choices* container is checked after any type_ " "conversions have been performed, so the type of the objects in the *choices* " @@ -1294,7 +1342,7 @@ msgstr "" "el tipo de los objetos del contenedor *choices* debe coincidir con el type_ " "especificado::" -#: ../Doc/library/argparse.rst:1109 +#: ../Doc/library/argparse.rst:1149 msgid "" "Any container can be passed as the *choices* value, so :class:`list` " "objects, :class:`set` objects, and custom containers are all supported." @@ -1303,11 +1351,25 @@ msgstr "" "los objetos :class:`list`, :class:`set` , y los contenedores personalizados " "están todos soportados." -#: ../Doc/library/argparse.rst:1114 +#: ../Doc/library/argparse.rst:1152 +msgid "" +"Use of :class:`enum.Enum` is not recommended because it is difficult to " +"control its appearance in usage, help, and error messages." +msgstr "" + +#: ../Doc/library/argparse.rst:1155 +msgid "" +"Formatted choices overrides the default *metavar* which is normally derived " +"from *dest*. This is usually what you want because the user never sees the " +"*dest* parameter. If this display isn't desirable (perhaps because there " +"are many choices), just specify an explicit metavar_." +msgstr "" + +#: ../Doc/library/argparse.rst:1162 msgid "required" msgstr "*required*" -#: ../Doc/library/argparse.rst:1116 +#: ../Doc/library/argparse.rst:1164 msgid "" "In general, the :mod:`argparse` module assumes that flags like ``-f`` and " "``--bar`` indicate *optional* arguments, which can always be omitted at the " @@ -1320,7 +1382,7 @@ msgstr "" "puede especificar``True`` para el argumento de palabra clave``required=`` " "en :meth:`~ArgumentParser.add_argument`::" -#: ../Doc/library/argparse.rst:1129 +#: ../Doc/library/argparse.rst:1177 msgid "" "As the example shows, if an option is marked as ``required``, :meth:" "`~ArgumentParser.parse_args` will report an error if that option is not " @@ -1330,7 +1392,7 @@ msgstr "" "`~ArgumentParser.parse_args` informará de un error si esa opción no está " "presente en la línea de comandos." -#: ../Doc/library/argparse.rst:1135 +#: ../Doc/library/argparse.rst:1183 msgid "" "Required options are generally considered bad form because users expect " "*options* to be *optional*, and thus they should be avoided when possible." @@ -1339,11 +1401,11 @@ msgstr "" "los usuarios esperan que las *opciones* sean *opcionales*, y por lo tanto " "deberían ser evitadas cuando sea posible." -#: ../Doc/library/argparse.rst:1140 +#: ../Doc/library/argparse.rst:1188 msgid "help" msgstr "*help*" -#: ../Doc/library/argparse.rst:1142 +#: ../Doc/library/argparse.rst:1190 msgid "" "The ``help`` value is a string containing a brief description of the " "argument. When a user requests help (usually by using ``-h`` or ``--help`` " @@ -1355,7 +1417,7 @@ msgstr "" "usando ``-h`` o ``--help`` en la línea de comandos), estas descripciones " "``help`` se mostrarán con cada argumento::" -#: ../Doc/library/argparse.rst:1162 +#: ../Doc/library/argparse.rst:1210 #, python-format msgid "" "The ``help`` strings can include various format specifiers to avoid " @@ -1371,7 +1433,7 @@ msgstr "" "meth:`~ArgumentParser.add_argument`, por ejemplo ``%(default)s``, ``" "%(type)s``, etc.::" -#: ../Doc/library/argparse.rst:1179 +#: ../Doc/library/argparse.rst:1227 #, python-format msgid "" "As the help string supports %-formatting, if you want a literal ``%`` to " @@ -1380,7 +1442,7 @@ msgstr "" "Como la cadena de caracteres de ayuda soporta el formato-%, si quieres que " "aparezca un ``%`` literal en la ayuda, debes escribirlo como ``%%``." -#: ../Doc/library/argparse.rst:1182 +#: ../Doc/library/argparse.rst:1230 msgid "" ":mod:`argparse` supports silencing the help entry for certain options, by " "setting the ``help`` value to ``argparse.SUPPRESS``::" @@ -1388,11 +1450,11 @@ msgstr "" ":mod:`argparse` soporta el silenciar la ayuda para ciertas opciones, " "ajustando el valor ``help`` a ``argparse.SUPPRESS``::" -#: ../Doc/library/argparse.rst:1195 +#: ../Doc/library/argparse.rst:1243 msgid "metavar" msgstr "*metavar*" -#: ../Doc/library/argparse.rst:1197 +#: ../Doc/library/argparse.rst:1245 msgid "" "When :class:`ArgumentParser` generates help messages, it needs some way to " "refer to each expected argument. By default, ArgumentParser objects use the " @@ -1413,11 +1475,11 @@ msgstr "" "que debería seguirse por un único argumento de línea de comandos se " "denominará ``FOO``. Un ejemplo::" -#: ../Doc/library/argparse.rst:1221 +#: ../Doc/library/argparse.rst:1269 msgid "An alternative name can be specified with ``metavar``::" msgstr "Un nombre alternativo se puede especificar con ``metavar``::" -#: ../Doc/library/argparse.rst:1238 +#: ../Doc/library/argparse.rst:1286 msgid "" "Note that ``metavar`` only changes the *displayed* name - the name of the " "attribute on the :meth:`~ArgumentParser.parse_args` object is still " @@ -1427,7 +1489,7 @@ msgstr "" "del atributo en el objeto :meth:`~ArgumentParser.parse_args` sigue estando " "determinado por el valor dest_." -#: ../Doc/library/argparse.rst:1242 +#: ../Doc/library/argparse.rst:1290 msgid "" "Different values of ``nargs`` may cause the metavar to be used multiple " "times. Providing a tuple to ``metavar`` specifies a different display for " @@ -1437,11 +1499,11 @@ msgstr "" "múltiples veces. Proporcionar una tupla a ``metavar`` especifica una " "visualización diferente para cada uno de los argumentos::" -#: ../Doc/library/argparse.rst:1259 +#: ../Doc/library/argparse.rst:1307 msgid "dest" msgstr "*dest*" -#: ../Doc/library/argparse.rst:1261 +#: ../Doc/library/argparse.rst:1309 msgid "" "Most :class:`ArgumentParser` actions add some value as an attribute of the " "object returned by :meth:`~ArgumentParser.parse_args`. The name of this " @@ -1457,7 +1519,7 @@ msgstr "" "posicional, se proporciona ``dest`` normalmente como primer argumento de :" "meth:`~ArgumentParser.add_argument`::" -#: ../Doc/library/argparse.rst:1273 +#: ../Doc/library/argparse.rst:1321 msgid "" "For optional argument actions, the value of ``dest`` is normally inferred " "from the option strings. :class:`ArgumentParser` generates the value of " @@ -1478,16 +1540,16 @@ msgstr "" "que la cadena de caracteres es un nombre de atributo válido. Los ejemplos " "siguientes ilustran este comportamiento::" -#: ../Doc/library/argparse.rst:1290 +#: ../Doc/library/argparse.rst:1338 msgid "``dest`` allows a custom attribute name to be provided::" msgstr "" "``dest`` permite que se proporcione un nombre de atributo personalizado::" -#: ../Doc/library/argparse.rst:1298 +#: ../Doc/library/argparse.rst:1346 msgid "Action classes" msgstr "Las clases *Action*" -#: ../Doc/library/argparse.rst:1300 +#: ../Doc/library/argparse.rst:1348 msgid "" "Action classes implement the Action API, a callable which returns a callable " "which processes arguments from the command-line. Any object which follows " @@ -1498,7 +1560,7 @@ msgstr "" "objeto que siga esta API puede ser pasado como el parámetro ``action`` a :" "meth:`add_argument`." -#: ../Doc/library/argparse.rst:1309 +#: ../Doc/library/argparse.rst:1357 msgid "" "Action objects are used by an ArgumentParser to represent the information " "needed to parse a single argument from one or more strings from the command " @@ -1513,7 +1575,7 @@ msgstr "" "clave pasado a :meth:`ArgumentParser.add_argument` excepto para la propia " "``action``." -#: ../Doc/library/argparse.rst:1315 +#: ../Doc/library/argparse.rst:1363 msgid "" "Instances of Action (or return value of any callable to the ``action`` " "parameter) should have attributes \"dest\", \"option_strings\", \"default\", " @@ -1526,7 +1588,7 @@ msgstr "" "forma más fácil de asegurar que estos atributos estén definidos es llamar a " "``Action.__init__``." -#: ../Doc/library/argparse.rst:1320 +#: ../Doc/library/argparse.rst:1368 msgid "" "Action instances should be callable, so subclasses must override the " "``__call__`` method, which should accept four parameters:" @@ -1534,11 +1596,11 @@ msgstr "" "Las instancias de *Action* deben ser invocables, por lo que las subclases " "deben anular el método ``__call__``, que debería aceptar cuatro parámetros:" -#: ../Doc/library/argparse.rst:1323 +#: ../Doc/library/argparse.rst:1371 msgid "``parser`` - The ArgumentParser object which contains this action." msgstr "``parser`` - El objeto *ArgumentParser* que contiene esta acción." -#: ../Doc/library/argparse.rst:1325 +#: ../Doc/library/argparse.rst:1373 msgid "" "``namespace`` - The :class:`Namespace` object that will be returned by :meth:" "`~ArgumentParser.parse_args`. Most actions add an attribute to this object " @@ -1548,7 +1610,7 @@ msgstr "" "`~ArgumentParser.parse_args`. La mayoría de las acciones añaden un atributo " "a este objeto usando :func:`setattr`." -#: ../Doc/library/argparse.rst:1329 +#: ../Doc/library/argparse.rst:1377 msgid "" "``values`` - The associated command-line arguments, with any type " "conversions applied. Type conversions are specified with the type_ keyword " @@ -1558,7 +1620,7 @@ msgstr "" "tipo de conversión aplicada. Las conversiones de tipos se especifican con el " "argumento de palabra clave type_ a :meth:`~ArgumentParser.add_argument`." -#: ../Doc/library/argparse.rst:1333 +#: ../Doc/library/argparse.rst:1381 msgid "" "``option_string`` - The option string that was used to invoke this action. " "The ``option_string`` argument is optional, and will be absent if the action " @@ -1568,7 +1630,7 @@ msgstr "" "invocar esta acción. El argumento ``option_string`` es opcional, y estará " "ausente si la acción está asociada a un argumento de posición." -#: ../Doc/library/argparse.rst:1337 +#: ../Doc/library/argparse.rst:1385 msgid "" "The ``__call__`` method may perform arbitrary actions, but will typically " "set attributes on the ``namespace`` based on ``dest`` and ``values``." @@ -1576,11 +1638,18 @@ msgstr "" "El método ``__call__`` puede realizar acciones arbitrarias, pero típicamente " "estable atributos en ``namespace`` basados en ``dest`` y ``values``." -#: ../Doc/library/argparse.rst:1342 +#: ../Doc/library/argparse.rst:1388 +msgid "" +"Action subclasses can define a ``format_usage`` method that takes no " +"argument and return a string which will be used when printing the usage of " +"the program. If such method is not provided, a sensible default will be used." +msgstr "" + +#: ../Doc/library/argparse.rst:1393 msgid "The parse_args() method" msgstr "El método *parse_args()*" -#: ../Doc/library/argparse.rst:1346 +#: ../Doc/library/argparse.rst:1397 msgid "" "Convert argument strings to objects and assign them as attributes of the " "namespace. Return the populated namespace." @@ -1589,7 +1658,7 @@ msgstr "" "como atributos del espacio de nombres (*namespace*). Retorna el espacio de " "nombres (*namespace*) ocupado." -#: ../Doc/library/argparse.rst:1349 +#: ../Doc/library/argparse.rst:1400 msgid "" "Previous calls to :meth:`add_argument` determine exactly what objects are " "created and how they are assigned. See the documentation for :meth:" @@ -1599,7 +1668,7 @@ msgstr "" "objetos se crean y cómo se asignan. Mira la documentación de :meth:" "`add_argument` para más detalles." -#: ../Doc/library/argparse.rst:1353 +#: ../Doc/library/argparse.rst:1404 msgid "" "args_ - List of strings to parse. The default is taken from :data:`sys." "argv`." @@ -1607,7 +1676,7 @@ msgstr "" "args_ - Lista de cadenas de caracteres para analizar. El valor por defecto " "se toma de :data:`sys.argv`." -#: ../Doc/library/argparse.rst:1356 +#: ../Doc/library/argparse.rst:1407 msgid "" "namespace_ - An object to take the attributes. The default is a new empty :" "class:`Namespace` object." @@ -1615,11 +1684,11 @@ msgstr "" "namespace_ - Un objeto para obtener los atributos. Por defecto es un nuevo " "objeto vacío :class:`Namespace`." -#: ../Doc/library/argparse.rst:1361 +#: ../Doc/library/argparse.rst:1412 msgid "Option value syntax" msgstr "Sintaxis del valor de la opción" -#: ../Doc/library/argparse.rst:1363 +#: ../Doc/library/argparse.rst:1414 msgid "" "The :meth:`~ArgumentParser.parse_args` method supports several ways of " "specifying the value of an option (if it takes one). In the simplest case, " @@ -1629,7 +1698,7 @@ msgstr "" "especificar el valor de una opción (si requiere uno). En el caso más simple, " "la opción y su valor se pasan como dos argumentos separados::" -#: ../Doc/library/argparse.rst:1375 +#: ../Doc/library/argparse.rst:1426 msgid "" "For long options (options with names longer than a single character), the " "option and value can also be passed as a single command-line argument, using " @@ -1639,7 +1708,7 @@ msgstr "" "carácter), la opción y el valor también se pueden pasar como un sólo " "argumento de línea de comandos, utilizando ``=`` para separarlos::" -#: ../Doc/library/argparse.rst:1382 +#: ../Doc/library/argparse.rst:1433 msgid "" "For short options (options only one character long), the option and its " "value can be concatenated::" @@ -1647,7 +1716,7 @@ msgstr "" "Para las opciones cortas (opciones de un sólo carácter de largo), la opción " "y su valor pueden ser concatenados::" -#: ../Doc/library/argparse.rst:1388 +#: ../Doc/library/argparse.rst:1439 msgid "" "Several short options can be joined together, using only a single ``-`` " "prefix, as long as only the last option (or none of them) requires a value::" @@ -1655,11 +1724,11 @@ msgstr "" "Se pueden unir varias opciones cortas, usando un sólo prefijo ``-``, siempre " "y cuando sólo la última opción (o ninguna de ellas) requiera un valor::" -#: ../Doc/library/argparse.rst:1400 +#: ../Doc/library/argparse.rst:1451 msgid "Invalid arguments" msgstr "Argumentos no válidos" -#: ../Doc/library/argparse.rst:1402 +#: ../Doc/library/argparse.rst:1453 msgid "" "While parsing the command line, :meth:`~ArgumentParser.parse_args` checks " "for a variety of errors, including ambiguous options, invalid types, invalid " @@ -1672,11 +1741,11 @@ msgstr "" "etc. Cuando encuentra un error de este tipo, termina y muestra el error " "junto con un mensaje de uso::" -#: ../Doc/library/argparse.rst:1428 +#: ../Doc/library/argparse.rst:1479 msgid "Arguments containing ``-``" msgstr "Argumentos conteniendo ``-``" -#: ../Doc/library/argparse.rst:1430 +#: ../Doc/library/argparse.rst:1481 msgid "" "The :meth:`~ArgumentParser.parse_args` method attempts to give errors " "whenever the user has clearly made a mistake, but some situations are " @@ -1696,7 +1765,7 @@ msgstr "" "comenzar con ``-`` si se ven como números negativos y no hay opciones en el " "analizador que se puedan ver como números negativos ::" -#: ../Doc/library/argparse.rst:1468 +#: ../Doc/library/argparse.rst:1519 msgid "" "If you have positional arguments that must begin with ``-`` and don't look " "like negative numbers, you can insert the pseudo-argument ``'--'`` which " @@ -1708,11 +1777,11 @@ msgstr "" "a :meth:`~ArgumentParser.parse_args` que todo lo que sigue es un argumento " "de posición::" -#: ../Doc/library/argparse.rst:1479 +#: ../Doc/library/argparse.rst:1530 msgid "Argument abbreviations (prefix matching)" msgstr "Abreviaturas de los argumentos (coincidencia de prefijos)" -#: ../Doc/library/argparse.rst:1481 +#: ../Doc/library/argparse.rst:1532 msgid "" "The :meth:`~ArgumentParser.parse_args` method :ref:`by default " "` allows long options to be abbreviated to a prefix, if the " @@ -1722,7 +1791,7 @@ msgstr "" "` permite abreviar las opciones largas a un prefijo, si la " "abreviatura es inequívoca (el prefijo coincide con una opción única)::" -#: ../Doc/library/argparse.rst:1496 +#: ../Doc/library/argparse.rst:1547 msgid "" "An error is produced for arguments that could produce more than one options. " "This feature can be disabled by setting :ref:`allow_abbrev` to ``False``." @@ -1731,11 +1800,11 @@ msgstr "" "opción. Esta característica puede ser desactivada poniendo :ref:" "`allow_abbrev` a ``False``." -#: ../Doc/library/argparse.rst:1502 +#: ../Doc/library/argparse.rst:1553 msgid "Beyond ``sys.argv``" msgstr "Más allá de ``sys.argv``" -#: ../Doc/library/argparse.rst:1504 +#: ../Doc/library/argparse.rst:1555 msgid "" "Sometimes it may be useful to have an ArgumentParser parse arguments other " "than those of :data:`sys.argv`. This can be accomplished by passing a list " @@ -1747,11 +1816,11 @@ msgstr "" "cadenas de caracteres a :meth:`~ArgumentParser.parse_args`. Esto es útil " "para probar en el *prompt* interactivo::" -#: ../Doc/library/argparse.rst:1524 +#: ../Doc/library/argparse.rst:1575 msgid "The Namespace object" msgstr "El objeto *Namespace*" -#: ../Doc/library/argparse.rst:1528 +#: ../Doc/library/argparse.rst:1579 msgid "" "Simple class used by default by :meth:`~ArgumentParser.parse_args` to create " "an object holding attributes and return it." @@ -1759,7 +1828,7 @@ msgstr "" "Clase simple utilizada por defecto por :meth:`~ArgumentParser.parse_args` " "para crear un objeto que contenga atributos y retornarlo." -#: ../Doc/library/argparse.rst:1531 +#: ../Doc/library/argparse.rst:1582 msgid "" "This class is deliberately simple, just an :class:`object` subclass with a " "readable string representation. If you prefer to have dict-like view of the " @@ -1770,7 +1839,7 @@ msgstr "" "en forma de diccionario de los atributos, puedes usar el lenguaje estándar " "de Python, :func:`vars`::" -#: ../Doc/library/argparse.rst:1541 +#: ../Doc/library/argparse.rst:1592 msgid "" "It may also be useful to have an :class:`ArgumentParser` assign attributes " "to an already existing object, rather than a new :class:`Namespace` object. " @@ -1781,15 +1850,15 @@ msgstr "" "Esto se puede lograr especificando el argumento de palabra clave " "``namespace=``::" -#: ../Doc/library/argparse.rst:1557 +#: ../Doc/library/argparse.rst:1608 msgid "Other utilities" msgstr "Otras utilidades" -#: ../Doc/library/argparse.rst:1560 +#: ../Doc/library/argparse.rst:1611 msgid "Sub-commands" msgstr "Sub-comandos" -#: ../Doc/library/argparse.rst:1567 +#: ../Doc/library/argparse.rst:1618 msgid "" "Many programs split up their functionality into a number of sub-commands, " "for example, the ``svn`` program can invoke sub-commands like ``svn " @@ -1817,11 +1886,11 @@ msgstr "" "argumento de construcción :class:`ArgumentParser`, y retorna un objeto :" "class:`ArgumentParser` que puede ser modificado de la forma habitual." -#: ../Doc/library/argparse.rst:1579 +#: ../Doc/library/argparse.rst:1630 msgid "Description of parameters:" msgstr "Descripción de los parámetros:" -#: ../Doc/library/argparse.rst:1581 +#: ../Doc/library/argparse.rst:1632 msgid "" "title - title for the sub-parser group in help output; by default " "\"subcommands\" if description is provided, otherwise uses title for " @@ -1831,7 +1900,7 @@ msgstr "" "ayuda; por defecto *\"subcommands\"* si se proporciona la descripción, de lo " "contrario utiliza el título para los argumentos de posición" -#: ../Doc/library/argparse.rst:1585 +#: ../Doc/library/argparse.rst:1636 msgid "" "description - description for the sub-parser group in help output, by " "default ``None``" @@ -1839,7 +1908,7 @@ msgstr "" "*description* - descripción para el grupo del analizador secundario en la " "salida de la ayuda, por defecto ``None``" -#: ../Doc/library/argparse.rst:1588 +#: ../Doc/library/argparse.rst:1639 msgid "" "prog - usage information that will be displayed with sub-command help, by " "default the name of the program and any positional arguments before the " @@ -1849,7 +1918,7 @@ msgstr "" "comandos, por defecto el nombre del programa y cualquier argumento de " "posición antes del argumento del analizador secundario" -#: ../Doc/library/argparse.rst:1592 +#: ../Doc/library/argparse.rst:1643 msgid "" "parser_class - class which will be used to create sub-parser instances, by " "default the class of the current parser (e.g. ArgumentParser)" @@ -1858,7 +1927,7 @@ msgstr "" "secundario, por defecto la clase del analizador actual (por ejemplo, " "ArgumentParser)" -#: ../Doc/library/argparse.rst:1595 +#: ../Doc/library/argparse.rst:1646 msgid "" "action_ - the basic type of action to be taken when this argument is " "encountered at the command line" @@ -1866,7 +1935,7 @@ msgstr "" "action_ - el tipo básico de acción a tomar cuando este argumento se " "encuentre en la línea de comandos" -#: ../Doc/library/argparse.rst:1598 +#: ../Doc/library/argparse.rst:1649 msgid "" "dest_ - name of the attribute under which sub-command name will be stored; " "by default ``None`` and no value is stored" @@ -1874,7 +1943,7 @@ msgstr "" "dest_ - nombre del atributo en el que se almacenará el nombre del sub-" "comando; por defecto ``None`` y no se almacena ningún valor" -#: ../Doc/library/argparse.rst:1601 +#: ../Doc/library/argparse.rst:1652 msgid "" "required_ - Whether or not a subcommand must be provided, by default " "``False`` (added in 3.7)" @@ -1882,13 +1951,13 @@ msgstr "" "required_ - Si se debe proporcionar o no un sub-comando, por defecto " "``False`` (añadido en 3.7)" -#: ../Doc/library/argparse.rst:1604 +#: ../Doc/library/argparse.rst:1655 msgid "help_ - help for sub-parser group in help output, by default ``None``" msgstr "" "help_ - ayuda para el grupo de análisis secundario en la salida de la ayuda, " "por defecto ``None``" -#: ../Doc/library/argparse.rst:1606 +#: ../Doc/library/argparse.rst:1657 msgid "" "metavar_ - string presenting available sub-commands in help; by default it " "is ``None`` and presents sub-commands in form {cmd1, cmd2, ..}" @@ -1897,11 +1966,11 @@ msgstr "" "la ayuda; por defecto es ``None`` y presenta los sub-comandos de la forma " "{cmd1, cmd2, ..}" -#: ../Doc/library/argparse.rst:1609 +#: ../Doc/library/argparse.rst:1660 msgid "Some example usage::" msgstr "Algún ejemplo de uso::" -#: ../Doc/library/argparse.rst:1630 +#: ../Doc/library/argparse.rst:1681 msgid "" "Note that the object returned by :meth:`parse_args` will only contain " "attributes for the main parser and the subparser that was selected by the " @@ -1918,7 +1987,7 @@ msgstr "" "especifica el comando``b``, sólo están presentes los atributos ``foo`` y " "``baz``." -#: ../Doc/library/argparse.rst:1637 +#: ../Doc/library/argparse.rst:1688 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 " @@ -1933,7 +2002,7 @@ msgstr "" "para cada comando del analizador secundario suministrando el argumento " "``help=`` a :meth:`add_parser` como se ha indicado anteriormente)." -#: ../Doc/library/argparse.rst:1673 +#: ../Doc/library/argparse.rst:1724 msgid "" "The :meth:`add_subparsers` method also supports ``title`` and " "``description`` keyword arguments. When either is present, the subparser's " @@ -1944,7 +2013,7 @@ msgstr "" "presente, los comandos del analizador secundario aparecerán en su propio " "grupo en la salida de la ayuda. Por ejemplo::" -#: ../Doc/library/argparse.rst:1694 +#: ../Doc/library/argparse.rst:1745 msgid "" "Furthermore, ``add_parser`` supports an additional ``aliases`` argument, " "which allows multiple strings to refer to the same subparser. This example, " @@ -1955,7 +2024,7 @@ msgstr "" "Este ejemplo, algo del estilo``svn``, alias ``co`` como abreviatura para " "``checkout``::" -#: ../Doc/library/argparse.rst:1705 +#: ../Doc/library/argparse.rst:1756 msgid "" "One particularly effective way of handling sub-commands is to combine the " "use of the :meth:`add_subparsers` method with calls to :meth:`set_defaults` " @@ -1967,7 +2036,7 @@ msgstr "" "para que cada analizador secundario sepa qué función de Python debe " "ejecutar. Por ejemplo::" -#: ../Doc/library/argparse.rst:1742 +#: ../Doc/library/argparse.rst:1793 msgid "" "This way, you can let :meth:`parse_args` do the job of calling the " "appropriate function after argument parsing is complete. Associating " @@ -1984,15 +2053,15 @@ msgstr "" "del analizador secundario que se ha invocado, el argumento de palabra clave " "``dest`` a la llamada :meth:`add_subparsers` hará el trabajo::" -#: ../Doc/library/argparse.rst:1758 +#: ../Doc/library/argparse.rst:1809 msgid "New *required* keyword argument." msgstr "Nuevo argumento de palabra clave *required*." -#: ../Doc/library/argparse.rst:1763 +#: ../Doc/library/argparse.rst:1814 msgid "FileType objects" msgstr "Objetos *FileType*" -#: ../Doc/library/argparse.rst:1767 +#: ../Doc/library/argparse.rst:1818 msgid "" "The :class:`FileType` factory creates objects that can be passed to the type " "argument of :meth:`ArgumentParser.add_argument`. Arguments that have :class:" @@ -2007,7 +2076,7 @@ msgstr "" "codificaciones y manejo de errores solicitados (véase la función :func:" "`open` para más detalles)::" -#: ../Doc/library/argparse.rst:1779 +#: ../Doc/library/argparse.rst:1830 msgid "" "FileType objects understand the pseudo-argument ``'-'`` and automatically " "convert this into ``sys.stdin`` for readable :class:`FileType` objects and " @@ -2017,15 +2086,15 @@ msgstr "" "automáticamente en ``sys.stdin`` para objetos de lectura :class:`FileType` y " "``sys.stdout`` para objetos de escritura :class:`FileType`::" -#: ../Doc/library/argparse.rst:1788 +#: ../Doc/library/argparse.rst:1839 msgid "The *encodings* and *errors* keyword arguments." msgstr "Los argumentos de palabra clave *encodings* y *errors*." -#: ../Doc/library/argparse.rst:1793 +#: ../Doc/library/argparse.rst:1844 msgid "Argument groups" msgstr "Grupos de argumentos" -#: ../Doc/library/argparse.rst:1797 +#: ../Doc/library/argparse.rst:1848 msgid "" "By default, :class:`ArgumentParser` groups command-line arguments into " "\"positional arguments\" and \"optional arguments\" when displaying help " @@ -2039,7 +2108,7 @@ msgstr "" "argumentos que esta predeterminada, se pueden crear grupos apropiados usando " "el método :meth:`add_argument_group`::" -#: ../Doc/library/argparse.rst:1814 +#: ../Doc/library/argparse.rst:1865 msgid "" "The :meth:`add_argument_group` method returns an argument group object which " "has an :meth:`~ArgumentParser.add_argument` method just like a regular :" @@ -2057,7 +2126,7 @@ msgstr "" "`add_argument_group` acepta los argumentos *title* y *description* que " "pueden ser usados para personalizar esta presentación::" -#: ../Doc/library/argparse.rst:1840 +#: ../Doc/library/argparse.rst:1891 msgid "" "Note that any arguments not in your user-defined groups will end up back in " "the usual \"positional arguments\" and \"optional arguments\" sections." @@ -2066,11 +2135,11 @@ msgstr "" "por el usuario terminará en las secciones habituales de \"argumentos de " "posición\" y \"argumentos opcionales\"." -#: ../Doc/library/argparse.rst:1845 +#: ../Doc/library/argparse.rst:1896 msgid "Mutual exclusion" msgstr "Exclusión mutua" -#: ../Doc/library/argparse.rst:1849 +#: ../Doc/library/argparse.rst:1900 msgid "" "Create a mutually exclusive group. :mod:`argparse` will make sure that only " "one of the arguments in the mutually exclusive group was present on the " @@ -2080,7 +2149,7 @@ msgstr "" "sólo uno de los argumentos del grupo de exclusividad mutua esté presente en " "la línea de comandos::" -#: ../Doc/library/argparse.rst:1865 +#: ../Doc/library/argparse.rst:1916 msgid "" "The :meth:`add_mutually_exclusive_group` method also accepts a *required* " "argument, to indicate that at least one of the mutually exclusive arguments " @@ -2090,7 +2159,7 @@ msgstr "" "*required*, para indicar que se requiere al menos uno de los argumentos " "mutuamente exclusivos::" -#: ../Doc/library/argparse.rst:1877 +#: ../Doc/library/argparse.rst:1928 msgid "" "Note that currently mutually exclusive argument groups do not support the " "*title* and *description* arguments of :meth:`~ArgumentParser." @@ -2100,11 +2169,11 @@ msgstr "" "no admiten los argumentos *title* y *description* de :meth:`~ArgumentParser." "add_argument_group`." -#: ../Doc/library/argparse.rst:1883 +#: ../Doc/library/argparse.rst:1934 msgid "Parser defaults" msgstr "Valores por defecto del analizador" -#: ../Doc/library/argparse.rst:1887 +#: ../Doc/library/argparse.rst:1938 msgid "" "Most of the time, the attributes of the object returned by :meth:" "`parse_args` will be fully determined by inspecting the command-line " @@ -2118,14 +2187,14 @@ msgstr "" "permite que se añadan algunos atributos adicionales que se determinan sin " "ninguna inspección de la línea de comandos::" -#: ../Doc/library/argparse.rst:1899 +#: ../Doc/library/argparse.rst:1950 msgid "" "Note that parser-level defaults always override argument-level defaults::" msgstr "" "Ten en cuenta que los valores por defecto a nivel analizador siempre " "prevalecen sobre los valores por defecto a nivel argumento::" -#: ../Doc/library/argparse.rst:1907 +#: ../Doc/library/argparse.rst:1958 msgid "" "Parser-level defaults can be particularly useful when working with multiple " "parsers. See the :meth:`~ArgumentParser.add_subparsers` method for an " @@ -2135,7 +2204,7 @@ msgstr "" "trabaja con varios analizadores. Consulta el método :meth:`~ArgumentParser." "add_subparsers` para ver un ejemplo de este tipo." -#: ../Doc/library/argparse.rst:1913 +#: ../Doc/library/argparse.rst:1964 msgid "" "Get the default value for a namespace attribute, as set by either :meth:" "`~ArgumentParser.add_argument` or by :meth:`~ArgumentParser.set_defaults`::" @@ -2144,11 +2213,11 @@ msgstr "" "(*namespace*), establecido ya sea por :meth:`~ArgumentParser.add_argument` o " "por :meth:`~ArgumentParser.set_defaults`::" -#: ../Doc/library/argparse.rst:1924 +#: ../Doc/library/argparse.rst:1975 msgid "Printing help" msgstr "Mostrando la ayuda" -#: ../Doc/library/argparse.rst:1926 +#: ../Doc/library/argparse.rst:1977 msgid "" "In most typical applications, :meth:`~ArgumentParser.parse_args` will take " "care of formatting and printing any usage or error messages. However, " @@ -2158,7 +2227,7 @@ msgstr "" "parse_args` se encargará de dar formato y mostrar cualquier mensaje de uso o " "de error. Sin embargo, hay varios métodos para dar formato disponibles:" -#: ../Doc/library/argparse.rst:1932 +#: ../Doc/library/argparse.rst:1983 msgid "" "Print a brief description of how the :class:`ArgumentParser` should be " "invoked on the command line. If *file* is ``None``, :data:`sys.stdout` is " @@ -2168,7 +2237,7 @@ msgstr "" "`ArgumentParser` en la línea de comandos. Si *file* es ``None``, se asume :" "data:`sys.stdout`." -#: ../Doc/library/argparse.rst:1938 +#: ../Doc/library/argparse.rst:1989 msgid "" "Print a help message, including the program usage and information about the " "arguments registered with the :class:`ArgumentParser`. If *file* is " @@ -2178,7 +2247,7 @@ msgstr "" "sobre los argumentos registrados en el :class:`ArgumentParser`. Si *file* es " "``None``, se asume :data:`sys.stdout`." -#: ../Doc/library/argparse.rst:1942 +#: ../Doc/library/argparse.rst:1993 msgid "" "There are also variants of these methods that simply return a string instead " "of printing it:" @@ -2186,7 +2255,7 @@ msgstr "" "También hay variantes de estos métodos que simplemente retornan una cadena " "de caracteres en lugar de mostrarla:" -#: ../Doc/library/argparse.rst:1947 +#: ../Doc/library/argparse.rst:1998 msgid "" "Return a string containing a brief description of how the :class:" "`ArgumentParser` should be invoked on the command line." @@ -2194,7 +2263,7 @@ msgstr "" "Retorna una cadena de caracteres que contiene una breve descripción de cómo " "se debe invocar el :class:`ArgumentParser` en la línea de comandos." -#: ../Doc/library/argparse.rst:1952 +#: ../Doc/library/argparse.rst:2003 msgid "" "Return a string containing a help message, including the program usage and " "information about the arguments registered with the :class:`ArgumentParser`." @@ -2203,11 +2272,11 @@ msgstr "" "incluyendo el uso del programa e información sobre los argumentos " "registrados en el :class:`ArgumentParser`." -#: ../Doc/library/argparse.rst:1957 +#: ../Doc/library/argparse.rst:2008 msgid "Partial parsing" msgstr "Análisis parcial" -#: ../Doc/library/argparse.rst:1961 +#: ../Doc/library/argparse.rst:2012 msgid "" "Sometimes a script may only parse a few of the command-line arguments, " "passing the remaining arguments on to another script or program. In these " @@ -2226,7 +2295,7 @@ msgstr "" "elementos que contiene el espacio de nombres ocupado y la lista de " "argumentos de cadena de caracteres restantes." -#: ../Doc/library/argparse.rst:1977 +#: ../Doc/library/argparse.rst:2028 msgid "" ":ref:`Prefix matching ` rules apply to :meth:" "`parse_known_args`. The parser may consume an option even if it's just a " @@ -2238,11 +2307,11 @@ msgstr "" "sólo un prefijo de una de sus opciones conocidas, en lugar de dejarla en la " "lista de argumentos restantes." -#: ../Doc/library/argparse.rst:1984 +#: ../Doc/library/argparse.rst:2035 msgid "Customizing file parsing" msgstr "Personalizando el análisis de archivos" -#: ../Doc/library/argparse.rst:1988 +#: ../Doc/library/argparse.rst:2039 msgid "" "Arguments that are read from a file (see the *fromfile_prefix_chars* keyword " "argument to the :class:`ArgumentParser` constructor) are read one argument " @@ -2254,7 +2323,7 @@ msgstr "" "uno por línea. :meth:`convert_arg_line_to_args` puede ser invalidado para " "una lectura más elegante." -#: ../Doc/library/argparse.rst:1993 +#: ../Doc/library/argparse.rst:2044 msgid "" "This method takes a single argument *arg_line* which is a string read from " "the argument file. It returns a list of arguments parsed from this string. " @@ -2265,7 +2334,7 @@ msgstr "" "argumentos analizados a partir de esta cadena de caracteres. El método se " "llama una vez por línea leída del fichero de argumentos, en orden." -#: ../Doc/library/argparse.rst:1997 +#: ../Doc/library/argparse.rst:2048 msgid "" "A useful override of this method is one that treats each space-separated " "word as an argument. The following example demonstrates how to do this::" @@ -2274,11 +2343,11 @@ msgstr "" "por un espacio como un argumento. El siguiente ejemplo demuestra cómo " "hacerlo::" -#: ../Doc/library/argparse.rst:2006 +#: ../Doc/library/argparse.rst:2057 msgid "Exiting methods" msgstr "Métodos de salida" -#: ../Doc/library/argparse.rst:2010 +#: ../Doc/library/argparse.rst:2061 msgid "" "This method terminates the program, exiting with the specified *status* and, " "if given, it prints a *message* before that. The user can override this " @@ -2288,7 +2357,7 @@ msgstr "" "si corresponde, muestra un *message* antes de eso. El usuario puede anular " "este método para manejar estos pasos de manera diferente::" -#: ../Doc/library/argparse.rst:2022 +#: ../Doc/library/argparse.rst:2073 msgid "" "This method prints a usage message including the *message* to the standard " "error and terminates the program with a status code of 2." @@ -2296,11 +2365,11 @@ msgstr "" "Este método imprime un mensaje de uso incluyendo el *message* para error " "estándar y finaliza el programa con código de estado 2." -#: ../Doc/library/argparse.rst:2027 +#: ../Doc/library/argparse.rst:2078 msgid "Intermixed parsing" msgstr "Análisis entremezclado" -#: ../Doc/library/argparse.rst:2032 +#: ../Doc/library/argparse.rst:2083 msgid "" "A number of Unix commands allow the user to intermix optional arguments with " "positional arguments. The :meth:`~ArgumentParser.parse_intermixed_args` " @@ -2312,7 +2381,7 @@ msgstr "" "parse_intermixed_args` y :meth:`~ArgumentParser.parse_known_intermixed_args` " "soportan este modo de análisis." -#: ../Doc/library/argparse.rst:2037 +#: ../Doc/library/argparse.rst:2088 msgid "" "These parsers do not support all the argparse features, and will raise " "exceptions if unsupported features are used. In particular, subparsers, " @@ -2325,7 +2394,7 @@ msgstr "" "grupos mutuamente exclusivos que incluyen tanto opcionales como de posición " "no están soportados." -#: ../Doc/library/argparse.rst:2042 +#: ../Doc/library/argparse.rst:2093 msgid "" "The following example shows the difference between :meth:`~ArgumentParser." "parse_known_args` and :meth:`~ArgumentParser.parse_intermixed_args`: the " @@ -2337,7 +2406,7 @@ msgstr "" "primero retorna ``['2', '3']`` como argumentos sin procesar, mientras que el " "segundo recoge todos los de posición en ``rest``. ::" -#: ../Doc/library/argparse.rst:2057 +#: ../Doc/library/argparse.rst:2108 msgid "" ":meth:`~ArgumentParser.parse_known_intermixed_args` returns a two item tuple " "containing the populated namespace and the list of remaining argument " @@ -2350,11 +2419,11 @@ msgstr "" "parse_intermixed_args` arroja un error si quedan argumentos de cadenas de " "caracteres sin procesar." -#: ../Doc/library/argparse.rst:2067 +#: ../Doc/library/argparse.rst:2118 msgid "Upgrading optparse code" msgstr "Actualizar el código de *optparse*" -#: ../Doc/library/argparse.rst:2069 +#: ../Doc/library/argparse.rst:2120 msgid "" "Originally, the :mod:`argparse` module had attempted to maintain " "compatibility with :mod:`optparse`. However, :mod:`optparse` was difficult " @@ -2372,7 +2441,7 @@ msgstr "" "copiado y pegado o *monkey-patched*, ya no parecía práctico tratar de " "mantener la retro-compatibilidad." -#: ../Doc/library/argparse.rst:2076 +#: ../Doc/library/argparse.rst:2127 msgid "" "The :mod:`argparse` module improves on the standard library :mod:`optparse` " "module in a number of ways including:" @@ -2380,38 +2449,38 @@ msgstr "" "El módulo :mod:`argparse` mejora la biblioteca estándar del módulo :mod:" "`optparse` de varias maneras, incluyendo:" -#: ../Doc/library/argparse.rst:2079 +#: ../Doc/library/argparse.rst:2130 msgid "Handling positional arguments." msgstr "Manejando argumentos de posición." -#: ../Doc/library/argparse.rst:2080 +#: ../Doc/library/argparse.rst:2131 msgid "Supporting sub-commands." msgstr "Soportando sub-comandos." -#: ../Doc/library/argparse.rst:2081 +#: ../Doc/library/argparse.rst:2132 msgid "Allowing alternative option prefixes like ``+`` and ``/``." msgstr "Permitiendo prefijos de opción alternativos como ``+`` y ``/``." -#: ../Doc/library/argparse.rst:2082 +#: ../Doc/library/argparse.rst:2133 msgid "Handling zero-or-more and one-or-more style arguments." msgstr "Manejando argumentos de estilo cero o más y uno o más." -#: ../Doc/library/argparse.rst:2083 +#: ../Doc/library/argparse.rst:2134 msgid "Producing more informative usage messages." msgstr "Generando mensajes de uso más informativos." -#: ../Doc/library/argparse.rst:2084 +#: ../Doc/library/argparse.rst:2135 msgid "Providing a much simpler interface for custom ``type`` and ``action``." msgstr "" "Proporcionando una interfaz mucho más simple para ``type`` y ``action`` " "personalizadas." -#: ../Doc/library/argparse.rst:2086 +#: ../Doc/library/argparse.rst:2137 msgid "A partial upgrade path from :mod:`optparse` to :mod:`argparse`:" msgstr "" "Una manera de actualizar parcialmente de :mod:`optparse` a :mod:`argparse`:" -#: ../Doc/library/argparse.rst:2088 +#: ../Doc/library/argparse.rst:2139 msgid "" "Replace all :meth:`optparse.OptionParser.add_option` calls with :meth:" "`ArgumentParser.add_argument` calls." @@ -2419,7 +2488,7 @@ msgstr "" "Reemplaza todas las llamadas :meth:`optparse.OptionParser.add_option` con " "llamadas :meth:`ArgumentParser.add_argument`." -#: ../Doc/library/argparse.rst:2091 +#: ../Doc/library/argparse.rst:2142 msgid "" "Replace ``(options, args) = parser.parse_args()`` with ``args = parser." "parse_args()`` and add additional :meth:`ArgumentParser.add_argument` calls " @@ -2432,7 +2501,7 @@ msgstr "" "antes se llamaba ``options``, ahora en el contexto :mod:`argparse` se llama " "``args``." -#: ../Doc/library/argparse.rst:2096 +#: ../Doc/library/argparse.rst:2147 msgid "" "Replace :meth:`optparse.OptionParser.disable_interspersed_args` by using :" "meth:`~ArgumentParser.parse_intermixed_args` instead of :meth:" @@ -2442,7 +2511,7 @@ msgstr "" "`~ArgumentParser.parse_intermixed_args` en lugar de :meth:`~ArgumentParser." "parse_args`." -#: ../Doc/library/argparse.rst:2100 +#: ../Doc/library/argparse.rst:2151 msgid "" "Replace callback actions and the ``callback_*`` keyword arguments with " "``type`` or ``action`` arguments." @@ -2450,7 +2519,7 @@ msgstr "" "Reemplaza las acciones de respuesta y los argumentos de palabra clave " "``callback_*`` con argumentos de ``type`` o ``action``." -#: ../Doc/library/argparse.rst:2103 +#: ../Doc/library/argparse.rst:2154 msgid "" "Replace string names for ``type`` keyword arguments with the corresponding " "type objects (e.g. int, float, complex, etc)." @@ -2459,7 +2528,7 @@ msgstr "" "clave ``type`` con los correspondientes objetos tipo (por ejemplo, *int*, " "*float*, *complex*, etc)." -#: ../Doc/library/argparse.rst:2106 +#: ../Doc/library/argparse.rst:2157 msgid "" "Replace :class:`optparse.Values` with :class:`Namespace` and :exc:`optparse." "OptionError` and :exc:`optparse.OptionValueError` with :exc:`ArgumentError`." @@ -2467,7 +2536,7 @@ msgstr "" "Reemplaza :class:`optparse.Values` por :class:`Namespace` y :exc:`optparse." "OptionError` y :exc:`optparse.OptionValueError` por :exc:`ArgumentError`." -#: ../Doc/library/argparse.rst:2110 +#: ../Doc/library/argparse.rst:2161 #, python-format msgid "" "Replace strings with implicit arguments such as ``%default`` or ``%prog`` " @@ -2479,7 +2548,7 @@ msgstr "" "para dar formato a cadenas de caracteres, es decir, ``%(default)s`` y ``" "%(prog)s``." -#: ../Doc/library/argparse.rst:2114 +#: ../Doc/library/argparse.rst:2165 msgid "" "Replace the OptionParser constructor ``version`` argument with a call to " "``parser.add_argument('--version', action='version', version='` ``array.__new__`` with arguments " "``typecode``, ``initializer``." @@ -269,11 +261,11 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``array.__new__`` con " "argumentos ``typecode``, ``initializer``." -#: ../Doc/library/array.rst:83 +#: ../Doc/library/array.rst:84 msgid "A string with all available type codes." msgstr "Una cadena de caracteres con todos los códigos de tipos disponible." -#: ../Doc/library/array.rst:85 +#: ../Doc/library/array.rst:86 msgid "" "Array objects support the ordinary sequence operations of indexing, slicing, " "concatenation, and multiplication. When using slice assignment, the " @@ -290,24 +282,24 @@ msgstr "" "cualquier momento cuando los objetos :term:`bytes-like objects ` son soportados." -#: ../Doc/library/array.rst:91 +#: ../Doc/library/array.rst:92 msgid "The following data items and methods are also supported:" msgstr "Los siguientes tipos de datos y métodos también son soportados:" -#: ../Doc/library/array.rst:95 +#: ../Doc/library/array.rst:96 msgid "The typecode character used to create the array." msgstr "El carácter typecode utilizado para crear el arreglo." -#: ../Doc/library/array.rst:100 +#: ../Doc/library/array.rst:101 msgid "The length in bytes of one array item in the internal representation." msgstr "" "La longitud en bytes de un elemento del arreglo en su representación interna." -#: ../Doc/library/array.rst:105 +#: ../Doc/library/array.rst:106 msgid "Append a new item with value *x* to the end of the array." msgstr "Añade un nuevo elemento con valor *x* al final del arreglo." -#: ../Doc/library/array.rst:110 +#: ../Doc/library/array.rst:111 msgid "" "Return a tuple ``(address, length)`` giving the current memory address and " "the length in elements of the buffer used to hold array's contents. The " @@ -327,7 +319,7 @@ msgstr "" "ciertas operaciones :c:func:`ioctl`. Los números retornados son válidos " "mientras el arreglo exista y no se cambie la longitud del mismo." -#: ../Doc/library/array.rst:120 +#: ../Doc/library/array.rst:121 msgid "" "When using array objects from code written in C or C++ (the only way to " "effectively make use of this information), it makes more sense to use the " @@ -342,7 +334,7 @@ msgstr "" "nuevo código. Las interfaces de buffer son documentadas en :ref:" "`bufferobjects`." -#: ../Doc/library/array.rst:129 +#: ../Doc/library/array.rst:130 msgid "" "\"Byteswap\" all items of the array. This is only supported for values " "which are 1, 2, 4, or 8 bytes in size; for other types of values, :exc:" @@ -354,11 +346,11 @@ msgstr "" "`RuntimeError`. Es útil cuando leemos información de un fichero en una " "máquina con diferente orden de bytes." -#: ../Doc/library/array.rst:137 +#: ../Doc/library/array.rst:138 msgid "Return the number of occurrences of *x* in the array." msgstr "Retorna el número de ocurrencias de *x* en el arreglo." -#: ../Doc/library/array.rst:142 +#: ../Doc/library/array.rst:143 msgid "" "Append items from *iterable* to the end of the array. If *iterable* is " "another array, it must have *exactly* the same type code; if not, :exc:" @@ -371,7 +363,7 @@ msgstr "" "un iterable y sus elementos deben ser del tipo correcto para ser añadidos al " "arreglo." -#: ../Doc/library/array.rst:150 +#: ../Doc/library/array.rst:151 msgid "" "Appends items from the string, interpreting the string as an array of " "machine values (as if it had been read from a file using the :meth:" @@ -381,11 +373,11 @@ msgstr "" "como un arreglo de valores máquina (como si se leyera de un fichero " "utilizando el método :meth:`fromfile`)." -#: ../Doc/library/array.rst:153 +#: ../Doc/library/array.rst:154 msgid ":meth:`fromstring` is renamed to :meth:`frombytes` for clarity." msgstr ":meth:`fromstring` se renombra como :meth:`frombytes` por claridad." -#: ../Doc/library/array.rst:159 +#: ../Doc/library/array.rst:160 msgid "" "Read *n* items (as machine values) from the :term:`file object` *f* and " "append them to the end of the array. If less than *n* items are available, :" @@ -399,7 +391,7 @@ msgstr "" "insertados al arreglo. *f* debe de ser un objeto de archivo incorporado " "real; cualquier otra cosa con un método :meth:`read` no funcionará." -#: ../Doc/library/array.rst:168 +#: ../Doc/library/array.rst:169 msgid "" "Append items from the list. This is equivalent to ``for x in list: a." "append(x)`` except that if there is a type error, the array is unchanged." @@ -407,11 +399,7 @@ msgstr "" "Añade los elementos de la lista. Es equivalente a ``for x in list: a." "append(x)`` excepto que si hay un error de tipo, el arreglo no se modifica." -#: ../Doc/library/array.rst:174 -msgid "Deprecated alias for :meth:`frombytes`." -msgstr "Alias obsoleto para :meth:`frombytes`." - -#: ../Doc/library/array.rst:181 +#: ../Doc/library/array.rst:175 msgid "" "Extends this array with data from the given unicode string. The array must " "be a type ``'u'`` array; otherwise a :exc:`ValueError` is raised. Use " @@ -423,7 +411,7 @@ msgstr "" "`ValueError`. Utiliza ``array.frombytes(unicodestring.encode(enc))`` para " "añadir datos Unicode a un arreglo de algún otro tipo." -#: ../Doc/library/array.rst:189 +#: ../Doc/library/array.rst:183 msgid "" "Return the smallest *i* such that *i* is the index of the first occurrence " "of *x* in the array." @@ -431,7 +419,7 @@ msgstr "" "Retorna la *i* más pequeña de modo que *i* es el índice de la primera " "ocurrencia de *x* en el arreglo." -#: ../Doc/library/array.rst:195 +#: ../Doc/library/array.rst:189 msgid "" "Insert a new item with value *x* in the array before position *i*. Negative " "values are treated as being relative to the end of the array." @@ -440,7 +428,7 @@ msgstr "" "*i*. Si hay valores negativos son tratados como relativos a la posición " "final del arreglo." -#: ../Doc/library/array.rst:201 +#: ../Doc/library/array.rst:195 msgid "" "Removes the item with the index *i* from the array and returns it. The " "optional argument defaults to ``-1``, so that by default the last item is " @@ -450,15 +438,15 @@ msgstr "" "opcional por defecto es ``-1``, en caso de utilizar el argumento por defecto " "el ultimo elemento es eliminado y retornado." -#: ../Doc/library/array.rst:208 +#: ../Doc/library/array.rst:202 msgid "Remove the first occurrence of *x* from the array." msgstr "Elimina la primera ocurrencia de *x* del arreglo." -#: ../Doc/library/array.rst:213 +#: ../Doc/library/array.rst:207 msgid "Reverse the order of the items in the array." msgstr "Invierte el orden de los elementos en el arreglo." -#: ../Doc/library/array.rst:218 +#: ../Doc/library/array.rst:212 msgid "" "Convert the array to an array of machine values and return the bytes " "representation (the same sequence of bytes that would be written to a file " @@ -468,25 +456,21 @@ msgstr "" "representación en formato de bytes (la misma secuencia de bytes que se deben " "escribir en un fichero por el método :meth:`tofile`.)" -#: ../Doc/library/array.rst:222 +#: ../Doc/library/array.rst:216 msgid ":meth:`tostring` is renamed to :meth:`tobytes` for clarity." msgstr ":meth:`tostring` se renombra como :meth:`tobytes` para claridad." -#: ../Doc/library/array.rst:228 +#: ../Doc/library/array.rst:222 msgid "Write all items (as machine values) to the :term:`file object` *f*." msgstr "" "Escribe todos los elementos (incluido elementos máquina) a el :term:`file " "object` *f*." -#: ../Doc/library/array.rst:233 +#: ../Doc/library/array.rst:227 msgid "Convert the array to an ordinary list with the same items." msgstr "Convierte el arreglo a una lista ordinaria con los mismos elementos." -#: ../Doc/library/array.rst:238 -msgid "Deprecated alias for :meth:`tobytes`." -msgstr "Alias obsoleto para :meth:`tobytes`." - -#: ../Doc/library/array.rst:245 +#: ../Doc/library/array.rst:232 msgid "" "Convert the array to a unicode string. The array must be a type ``'u'`` " "array; otherwise a :exc:`ValueError` is raised. Use ``array.tobytes()." @@ -497,7 +481,7 @@ msgstr "" "``array.tobytes().decode(enc)`` para obtener una cadena de texto unicode de " "un arreglo de algún otro tipo." -#: ../Doc/library/array.rst:250 +#: ../Doc/library/array.rst:237 msgid "" "When an array object is printed or converted to a string, it is represented " "as ``array(typecode, initializer)``. The *initializer* is omitted if the " @@ -516,19 +500,19 @@ msgstr "" "clase :class:`~array.array` ha sido importada utilizando ``from array import " "array``. Ejemplos::" -#: ../Doc/library/array.rst:267 +#: ../Doc/library/array.rst:254 msgid "Module :mod:`struct`" msgstr "Módulo :mod:`struct`" -#: ../Doc/library/array.rst:267 +#: ../Doc/library/array.rst:254 msgid "Packing and unpacking of heterogeneous binary data." msgstr "Empaquetado y desempaquetado de datos binarios heterogéneos." -#: ../Doc/library/array.rst:271 +#: ../Doc/library/array.rst:258 msgid "Module :mod:`xdrlib`" msgstr "Módulo :mod:`xdrlib`" -#: ../Doc/library/array.rst:270 +#: ../Doc/library/array.rst:257 msgid "" "Packing and unpacking of External Data Representation (XDR) data as used in " "some remote procedure call systems." @@ -537,11 +521,11 @@ msgstr "" "(XDR) como los utilizados en algunos sistemas de llamadas de procedimientos " "remotos." -#: ../Doc/library/array.rst:274 +#: ../Doc/library/array.rst:261 msgid "`The Numerical Python Documentation `_" msgstr "`La documentación numérica de Python `_" -#: ../Doc/library/array.rst:274 +#: ../Doc/library/array.rst:261 msgid "" "The Numeric Python extension (NumPy) defines another array type; see http://" "www.numpy.org/ for further information about Numerical Python." @@ -549,3 +533,28 @@ msgstr "" "La extensión numérica de Python (NumPy) define otro tipo de arreglos; " "consultar http://www.numpy.org/ para información adicional sobre Python " "numérico." + +#~ msgid "Py_UNICODE" +#~ msgstr "Py_UNICODE" + +#~ msgid "" +#~ "The ``'u'`` type code corresponds to Python's obsolete unicode character " +#~ "(:c:type:`Py_UNICODE` which is :c:type:`wchar_t`). Depending on the " +#~ "platform, it can be 16 bits or 32 bits." +#~ msgstr "" +#~ "El código de tipo ``'u'`` corresponde al carácter unicode obsoleto de " +#~ "Python (:c:type:`Py_UNICODE` que es :c:type:`wchar_t`). Dependiendo de la " +#~ "plataforma, puede ser de 16 bits o de 32 bits." + +#~ msgid "" +#~ "``'u'`` will be removed together with the rest of the :c:type:" +#~ "`Py_UNICODE` API." +#~ msgstr "" +#~ "``'u'`` será eliminada conjuntamente con el resto de :c:type:`Py_UNICODE` " +#~ "API." + +#~ msgid "Deprecated alias for :meth:`frombytes`." +#~ msgstr "Alias obsoleto para :meth:`frombytes`." + +#~ msgid "Deprecated alias for :meth:`tobytes`." +#~ msgstr "Alias obsoleto para :meth:`tobytes`." diff --git a/library/ast.po b/library/ast.po index 7b2241737a..e8b792f590 100644 --- a/library/ast.po +++ b/library/ast.po @@ -10,27 +10,26 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-06-29 00:37+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" "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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/library/ast.rst:2 msgid ":mod:`ast` --- Abstract Syntax Trees" msgstr ":mod:`ast` --- Árboles de sintaxis abstracta" -#: ../Doc/library/ast.rst:10 +#: ../Doc/library/ast.rst:14 msgid "**Source code:** :source:`Lib/ast.py`" msgstr "**Código fuente:** :source:`Lib/ast.py`" -#: ../Doc/library/ast.rst:14 +#: ../Doc/library/ast.rst:18 msgid "" "The :mod:`ast` module helps Python applications to process trees of the " "Python abstract syntax grammar. The abstract syntax itself might change " @@ -42,7 +41,7 @@ msgstr "" "misma puede cambiar con cada versión de Python; Este módulo ayuda a " "descubrir mediante programación cómo se ve la gramática actual." -#: ../Doc/library/ast.rst:19 +#: ../Doc/library/ast.rst:23 msgid "" "An abstract syntax tree can be generated by passing :data:`ast." "PyCF_ONLY_AST` as a flag to the :func:`compile` built-in function, or using " @@ -58,11 +57,19 @@ msgstr "" "puede compilar un árbol de sintaxis abstracta en un objeto de código Python " "utilizando la función incorporada :func:`compile`." -#: ../Doc/library/ast.rst:27 +#: ../Doc/library/ast.rst:33 +msgid "Abstract Grammar" +msgstr "Gramática abstracta" + +#: ../Doc/library/ast.rst:35 +msgid "The abstract grammar is currently defined as follows:" +msgstr "La gramática abstracta se define actualmente de la siguiente manera:" + +#: ../Doc/library/ast.rst:42 msgid "Node classes" msgstr "Clases Nodo" -#: ../Doc/library/ast.rst:31 +#: ../Doc/library/ast.rst:46 msgid "" "This is the base of all AST node classes. The actual node classes are " "derived from the :file:`Parser/Python.asdl` file, which is reproduced :ref:" @@ -74,7 +81,7 @@ msgstr "" "`abajo `. Se definen en el módulo :mod:`_ast` C y se " "reexportan en :mod:`ast`." -#: ../Doc/library/ast.rst:36 +#: ../Doc/library/ast.rst:51 msgid "" "There is one class defined for each left-hand side symbol in the abstract " "grammar (for example, :class:`ast.stmt` or :class:`ast.expr`). In addition, " @@ -93,7 +100,7 @@ msgstr "" "izquierdo es abstracta: solo se crean instancias de nodos de constructor " "específicos." -#: ../Doc/library/ast.rst:49 +#: ../Doc/library/ast.rst:64 msgid "" "Each concrete class has an attribute :attr:`_fields` which gives the names " "of all child nodes." @@ -101,7 +108,7 @@ msgstr "" "Cada clase concreta tiene un atributo :attr:`_fields` que proporciona los " "nombres de todos los nodos secundarios." -#: ../Doc/library/ast.rst:52 +#: ../Doc/library/ast.rst:67 msgid "" "Each instance of a concrete class has one attribute for each child node, of " "the type as defined in the grammar. For example, :class:`ast.BinOp` " @@ -111,7 +118,7 @@ msgstr "" "secundario, del tipo definido en la gramática. Por ejemplo, las instancias :" "class:`ast.BinOp` tienen un atributo :attr:`left` de tipo :class:`ast.expr`." -#: ../Doc/library/ast.rst:56 +#: ../Doc/library/ast.rst:71 msgid "" "If these attributes are marked as optional in the grammar (using a question " "mark), the value might be ``None``. If the attributes can have zero-or-more " @@ -125,7 +132,7 @@ msgstr "" "representan como listas de Python. Todos los atributos posibles deben estar " "presentes y tener valores válidos al compilar un AST con :func:`compile`." -#: ../Doc/library/ast.rst:67 +#: ../Doc/library/ast.rst:82 msgid "" "Instances of :class:`ast.expr` and :class:`ast.stmt` subclasses have :attr:" "`lineno`, :attr:`col_offset`, :attr:`lineno`, and :attr:`col_offset` " @@ -145,7 +152,7 @@ msgstr "" "primer y último token que generó el nodo. El desplazamiento UTF-8 se " "registra porque el analizador utiliza UTF-8 internamente." -#: ../Doc/library/ast.rst:75 +#: ../Doc/library/ast.rst:90 msgid "" "Note that the end positions are not required by the compiler and are " "therefore optional. The end offset is *after* the last symbol, for example " @@ -158,14 +165,14 @@ msgstr "" "expresión de una línea usando ``source_line[node.col_offset: node." "end_col_offset]``." -#: ../Doc/library/ast.rst:80 +#: ../Doc/library/ast.rst:95 msgid "" "The constructor of a class :class:`ast.T` parses its arguments as follows:" msgstr "" "El constructor de una clase :class:`ast.T` analiza sus argumentos de la " "siguiente manera:" -#: ../Doc/library/ast.rst:82 +#: ../Doc/library/ast.rst:97 msgid "" "If there are positional arguments, there must be as many as there are items " "in :attr:`T._fields`; they will be assigned as attributes of these names." @@ -173,7 +180,7 @@ msgstr "" "Si hay argumentos posicionales, debe haber tantos como elementos en :attr:`T." "_fields`; serán asignados como atributos de estos nombres." -#: ../Doc/library/ast.rst:84 +#: ../Doc/library/ast.rst:99 msgid "" "If there are keyword arguments, they will set the attributes of the same " "names to the given values." @@ -181,7 +188,7 @@ msgstr "" "Si hay argumentos de palabras clave, establecerán los atributos de los " "mismos nombres a los valores dados." -#: ../Doc/library/ast.rst:87 +#: ../Doc/library/ast.rst:102 msgid "" "For example, to create and populate an :class:`ast.UnaryOp` node, you could " "use ::" @@ -189,39 +196,644 @@ msgstr "" "Por ejemplo, para crear y completar un nodo :class:`ast.UnaryOp`, puede " "usar ::" -#: ../Doc/library/ast.rst:99 +#: ../Doc/library/ast.rst:114 msgid "or the more compact ::" msgstr "o la más compacta ::" -#: ../Doc/library/ast.rst:106 +#: ../Doc/library/ast.rst:121 msgid "Class :class:`ast.Constant` is now used for all constants." msgstr "La clase :class:`ast.Constant` ahora se usa para todas las constantes." -#: ../Doc/library/ast.rst:110 +#: ../Doc/library/ast.rst:125 +msgid "" +"Simple indices are represented by their value, extended slices are " +"represented as tuples." +msgstr "" + +#: ../Doc/library/ast.rst:130 msgid "" "Old classes :class:`ast.Num`, :class:`ast.Str`, :class:`ast.Bytes`, :class:" "`ast.NameConstant` and :class:`ast.Ellipsis` are still available, but they " -"will be removed in future Python releases. In the meanwhile, instantiating " +"will be removed in future Python releases. In the meantime, instantiating " "them will return an instance of a different class." msgstr "" -"Las clases antiguas :class:`ast.Num`, :class:`ast.Str`, :class:`ast.Bytes`, :" -"class:`ast.NameConstant` y :class:`ast.Ellipsis` todavía están disponibles, " -"pero se eliminarán en futuras versiones de Python. Mientras tanto, " -"instanciarlos retornará una instancia de una clase diferente." -#: ../Doc/library/ast.rst:119 -msgid "Abstract Grammar" -msgstr "Gramática abstracta" +#: ../Doc/library/ast.rst:137 +msgid "" +"Old classes :class:`ast.Index` and :class:`ast.ExtSlice` are still " +"available, but they will be removed in future Python releases. In the " +"meantime, instantiating them will return an instance of a different class." +msgstr "" -#: ../Doc/library/ast.rst:121 -msgid "The abstract grammar is currently defined as follows:" -msgstr "La gramática abstracta se define actualmente de la siguiente manera:" +#: ../Doc/library/ast.rst:143 +msgid "" +"The descriptions of the specific node classes displayed here were initially " +"adapted from the fantastic `Green Tree Snakes `__ project and all its contributors." +msgstr "" + +#: ../Doc/library/ast.rst:149 +msgid "Literals" +msgstr "" + +#: ../Doc/library/ast.rst:153 +msgid "" +"A constant value. The ``value`` attribute of the ``Constant`` literal " +"contains the Python object it represents. The values represented can be " +"simple types such as a number, string or ``None``, but also immutable " +"container types (tuples and frozensets) if all of their elements are " +"constant." +msgstr "" + +#: ../Doc/library/ast.rst:167 +msgid "" +"Node representing a single formatting field in an f-string. If the string " +"contains a single formatting field and nothing else the node can be isolated " +"otherwise it appears in :class:`JoinedStr`." +msgstr "" + +#: ../Doc/library/ast.rst:171 +msgid "" +"``value`` is any expression node (such as a literal, a variable, or a " +"function call)." +msgstr "" + +#: ../Doc/library/ast.rst:173 +msgid "``conversion`` is an integer:" +msgstr "" + +#: ../Doc/library/ast.rst:175 +msgid "-1: no formatting" +msgstr "" + +#: ../Doc/library/ast.rst:176 +msgid "115: ``!s`` string formatting" +msgstr "" + +#: ../Doc/library/ast.rst:177 +msgid "114: ``!r`` repr formatting" +msgstr "" + +#: ../Doc/library/ast.rst:178 +msgid "97: ``!a`` ascii formatting" +msgstr "" + +#: ../Doc/library/ast.rst:180 +msgid "" +"``format_spec`` is a :class:`JoinedStr` node representing the formatting of " +"the value, or ``None`` if no format was specified. Both ``conversion`` and " +"``format_spec`` can be set at the same time." +msgstr "" + +#: ../Doc/library/ast.rst:187 +msgid "" +"An f-string, comprising a series of :class:`FormattedValue` and :class:" +"`Constant` nodes." +msgstr "" + +#: ../Doc/library/ast.rst:216 +msgid "" +"A list or tuple. ``elts`` holds a list of nodes representing the elements. " +"``ctx`` is :class:`Store` if the container is an assignment target (i.e. " +"``(x,y)=something``), and :class:`Load` otherwise." +msgstr "" + +#: ../Doc/library/ast.rst:242 +msgid "A set. ``elts`` holds a list of nodes representing the set's elements." +msgstr "" + +#: ../Doc/library/ast.rst:257 +msgid "" +"A dictionary. ``keys`` and ``values`` hold lists of nodes representing the " +"keys and the values respectively, in matching order (what would be returned " +"when calling :code:`dictionary.keys()` and :code:`dictionary.values()`)." +msgstr "" + +#: ../Doc/library/ast.rst:261 +msgid "" +"When doing dictionary unpacking using dictionary literals the expression to " +"be expanded goes in the ``values`` list, with a ``None`` at the " +"corresponding position in ``keys``." +msgstr "" + +#: ../Doc/library/ast.rst:279 +msgid "Variables" +msgstr "" + +#: ../Doc/library/ast.rst:283 +msgid "" +"A variable name. ``id`` holds the name as a string, and ``ctx`` is one of " +"the following types." +msgstr "" + +#: ../Doc/library/ast.rst:291 +msgid "" +"Variable references can be used to load the value of a variable, to assign a " +"new value to it, or to delete it. Variable references are given a context to " +"distinguish these cases." +msgstr "" + +#: ../Doc/library/ast.rst:324 +msgid "" +"A ``*var`` variable reference. ``value`` holds the variable, typically a :" +"class:`Name` node. This type must be used when building a :class:`Call` node " +"with ``*args``." +msgstr "" + +#: ../Doc/library/ast.rst:347 +msgid "Expressions" +msgstr "" + +#: ../Doc/library/ast.rst:351 +msgid "" +"When an expression, such as a function call, appears as a statement by " +"itself with its return value not used or stored, it is wrapped in this " +"container. ``value`` holds one of the other nodes in this section, a :class:" +"`Constant`, a :class:`Name`, a :class:`Lambda`, a :class:`Yield` or :class:" +"`YieldFrom` node." +msgstr "" + +#: ../Doc/library/ast.rst:370 +msgid "" +"A unary operation. ``op`` is the operator, and ``operand`` any expression " +"node." +msgstr "" + +#: ../Doc/library/ast.rst:379 +msgid "" +"Unary operator tokens. :class:`Not` is the ``not`` keyword, :class:`Invert` " +"is the ``~`` operator." +msgstr "" + +#: ../Doc/library/ast.rst:393 +msgid "" +"A binary operation (like addition or division). ``op`` is the operator, and " +"``left`` and ``right`` are any expression nodes." +msgstr "" + +#: ../Doc/library/ast.rst:420 +msgid "Binary operator tokens." +msgstr "" + +#: ../Doc/library/ast.rst:425 +msgid "" +"A boolean operation, 'or' or 'and'. ``op`` is :class:`Or` or :class:`And`. " +"``values`` are the values involved. Consecutive operations with the same " +"operator, such as ``a or b or c``, are collapsed into one node with several " +"values." +msgstr "" + +#: ../Doc/library/ast.rst:430 +msgid "This doesn't include ``not``, which is a :class:`UnaryOp`." +msgstr "" + +#: ../Doc/library/ast.rst:446 +msgid "Boolean operator tokens." +msgstr "" + +#: ../Doc/library/ast.rst:451 +msgid "" +"A comparison of two or more values. ``left`` is the first value in the " +"comparison, ``ops`` the list of operators, and ``comparators`` the list of " +"values after the first element in the comparison." +msgstr "" + +#: ../Doc/library/ast.rst:480 +msgid "Comparison operator tokens." +msgstr "" + +#: ../Doc/library/ast.rst:485 +msgid "" +"A function call. ``func`` is the function, which will often be a :class:" +"`Name` or :class:`Attribute` object. Of the arguments:" +msgstr "" + +#: ../Doc/library/ast.rst:488 +msgid "``args`` holds a list of the arguments passed by position." +msgstr "" + +#: ../Doc/library/ast.rst:489 +msgid "" +"``keywords`` holds a list of :class:`keyword` objects representing arguments " +"passed by keyword." +msgstr "" + +#: ../Doc/library/ast.rst:492 +msgid "" +"When creating a ``Call`` node, ``args`` and ``keywords`` are required, but " +"they can be empty lists. ``starargs`` and ``kwargs`` are optional." +msgstr "" + +#: ../Doc/library/ast.rst:516 +msgid "" +"A keyword argument to a function call or class definition. ``arg`` is a raw " +"string of the parameter name, ``value`` is a node to pass in." +msgstr "" + +#: ../Doc/library/ast.rst:522 +msgid "" +"An expression such as ``a if b else c``. Each field holds a single node, so " +"in the following example, all three are :class:`Name` nodes." +msgstr "" + +#: ../Doc/library/ast.rst:537 +msgid "" +"Attribute access, e.g. ``d.keys``. ``value`` is a node, typically a :class:" +"`Name`. ``attr`` is a bare string giving the name of the attribute, and " +"``ctx`` is :class:`Load`, :class:`Store` or :class:`Del` according to how " +"the attribute is acted on." +msgstr "" + +#: ../Doc/library/ast.rst:554 +msgid "" +"A named expression. This AST node is produced by the assignment expressions " +"operator (also known as the walrus operator). As opposed to the :class:" +"`Assign` node in which the first argument can be multiple nodes, in this " +"case both ``target`` and ``value`` must be single nodes." +msgstr "" + +#: ../Doc/library/ast.rst:569 +msgid "Subscripting" +msgstr "" + +#: ../Doc/library/ast.rst:573 +msgid "" +"A subscript, such as ``l[1]``. ``value`` is the subscripted object (usually " +"sequence or mapping). ``slice`` is an index, slice or key. It can be a :" +"class:`Tuple` and contain a :class:`Slice`. ``ctx`` is :class:`Load`, :class:" +"`Store` or :class:`Del` according to the action performed with the subscript." +msgstr "" + +#: ../Doc/library/ast.rst:597 +msgid "" +"Regular slicing (on the form ``lower:upper`` or ``lower:upper:step``). Can " +"occur only inside the *slice* field of :class:`Subscript`, either directly " +"or as an element of :class:`Tuple`." +msgstr "" + +#: ../Doc/library/ast.rst:614 +msgid "Comprehensions" +msgstr "" + +#: ../Doc/library/ast.rst:621 +msgid "" +"List and set comprehensions, generator expressions, and dictionary " +"comprehensions. ``elt`` (or ``key`` and ``value``) is a single node " +"representing the part that will be evaluated for each item." +msgstr "" + +#: ../Doc/library/ast.rst:625 +msgid "``generators`` is a list of :class:`comprehension` nodes." +msgstr "" + +#: ../Doc/library/ast.rst:667 +msgid "" +"One ``for`` clause in a comprehension. ``target`` is the reference to use " +"for each element - typically a :class:`Name` or :class:`Tuple` node. " +"``iter`` is the object to iterate over. ``ifs`` is a list of test " +"expressions: each ``for`` clause can have multiple ``ifs``." +msgstr "" + +#: ../Doc/library/ast.rst:672 +msgid "" +"``is_async`` indicates a comprehension is asynchronous (using an ``async " +"for`` instead of ``for``). The value is an integer (0 or 1)." +msgstr "" + +#: ../Doc/library/ast.rst:738 +msgid "Statements" +msgstr "" + +#: ../Doc/library/ast.rst:742 +msgid "" +"An assignment. ``targets`` is a list of nodes, and ``value`` is a single " +"node." +msgstr "" + +#: ../Doc/library/ast.rst:744 +msgid "" +"Multiple nodes in ``targets`` represents assigning the same value to each. " +"Unpacking is represented by putting a :class:`Tuple` or :class:`List` within " +"``targets``." +msgstr "" + +#: ../Doc/library/ast.rst:750 ../Doc/library/ast.rst:1037 +#: ../Doc/library/ast.rst:1210 ../Doc/library/ast.rst:1263 +msgid "" +"``type_comment`` is an optional string with the type annotation as a comment." +msgstr "" + +#: ../Doc/library/ast.rst:780 +msgid "" +"An assignment with a type annotation. ``target`` is a single node and can be " +"a :class:`Name`, a :class:`Attribute` or a :class:`Subscript`. " +"``annotation`` is the annotation, such as a :class:`Constant` or :class:" +"`Name` node. ``value`` is a single optional node. ``simple`` is a boolean " +"integer set to True for a :class:`Name` node in ``target`` that do not " +"appear in between parenthesis and are hence pure names and not expressions." +msgstr "" + +#: ../Doc/library/ast.rst:835 +msgid "" +"Augmented assignment, such as ``a += 1``. In the following example, " +"``target`` is a :class:`Name` node for ``x`` (with the :class:`Store` " +"context), ``op`` is :class:`Add`, and ``value`` is a :class:`Constant` with " +"value for 1." +msgstr "" + +#: ../Doc/library/ast.rst:840 +msgid "" +"The ``target`` attribute connot be of class :class:`Tuple` or :class:`List`, " +"unlike the targets of :class:`Assign`." +msgstr "" + +#: ../Doc/library/ast.rst:857 +msgid "" +"A ``raise`` statement. ``exc`` is the exception object to be raised, " +"normally a :class:`Call` or :class:`Name`, or ``None`` for a standalone " +"``raise``. ``cause`` is the optional part for ``y`` in ``raise x from y``." +msgstr "" + +#: ../Doc/library/ast.rst:874 +msgid "" +"An assertion. ``test`` holds the condition, such as a :class:`Compare` node. " +"``msg`` holds the failure message." +msgstr "" + +#: ../Doc/library/ast.rst:890 +msgid "" +"Represents a ``del`` statement. ``targets`` is a list of nodes, such as :" +"class:`Name`, :class:`Attribute` or :class:`Subscript` nodes." +msgstr "" + +#: ../Doc/library/ast.rst:908 +msgid "A ``pass`` statement." +msgstr "" + +#: ../Doc/library/ast.rst:919 +msgid "" +"Other statements which are only applicable inside functions or loops are " +"described in other sections." +msgstr "" + +#: ../Doc/library/ast.rst:923 +msgid "Imports" +msgstr "" + +#: ../Doc/library/ast.rst:927 +msgid "An import statement. ``names`` is a list of :class:`alias` nodes." +msgstr "" + +#: ../Doc/library/ast.rst:944 +msgid "" +"Represents ``from x import y``. ``module`` is a raw string of the 'from' " +"name, without any leading dots, or ``None`` for statements such as ``from . " +"import foo``. ``level`` is an integer holding the level of the relative " +"import (0 means absolute import)." +msgstr "" + +#: ../Doc/library/ast.rst:966 +msgid "" +"Both parameters are raw strings of the names. ``asname`` can be ``None`` if " +"the regular name is to be used." +msgstr "" + +#: ../Doc/library/ast.rst:983 +msgid "Control flow" +msgstr "" + +#: ../Doc/library/ast.rst:986 +msgid "" +"Optional clauses such as ``else`` are stored as an empty list if they're not " +"present." +msgstr "" + +#: ../Doc/library/ast.rst:991 +msgid "" +"An ``if`` statement. ``test`` holds a single node, such as a :class:" +"`Compare` node. ``body`` and ``orelse`` each hold a list of nodes." +msgstr "" + +#: ../Doc/library/ast.rst:994 +msgid "" +"``elif`` clauses don't have a special representation in the AST, but rather " +"appear as extra :class:`If` nodes within the ``orelse`` section of the " +"previous one." +msgstr "" + +#: ../Doc/library/ast.rst:1029 +msgid "" +"A ``for`` loop. ``target`` holds the variable(s) the loop assigns to, as a " +"single :class:`Name`, :class:`Tuple` or :class:`List` node. ``iter`` holds " +"the item to be looped over, again as a single node. ``body`` and ``orelse`` " +"contain lists of nodes to execute. Those in ``orelse`` are executed if the " +"loop finishes normally, rather than via a ``break`` statement." +msgstr "" + +#: ../Doc/library/ast.rst:1063 +msgid "" +"A ``while`` loop. ``test`` holds the condition, such as a :class:`Compare` " +"node." +msgstr "" + +#: ../Doc/library/ast.rst:1090 +msgid "The ``break`` and ``continue`` statements." +msgstr "" + +#: ../Doc/library/ast.rst:1125 +msgid "" +"``try`` blocks. All attributes are list of nodes to execute, except for " +"``handlers``, which is a list of :class:`ExceptHandler` nodes." +msgstr "" + +#: ../Doc/library/ast.rst:1171 +msgid "" +"A single ``except`` clause. ``type`` is the exception type it will match, " +"typically a :class:`Name` node (or ``None`` for a catch-all ``except:`` " +"clause). ``name`` is a raw string for the name to hold the exception, or " +"``None`` if the clause doesn't have ``as foo``. ``body`` is a list of nodes." +msgstr "" + +#: ../Doc/library/ast.rst:1205 +msgid "" +"A ``with`` block. ``items`` is a list of :class:`withitem` nodes " +"representing the context managers, and ``body`` is the indented block inside " +"the context." +msgstr "" + +#: ../Doc/library/ast.rst:1215 +msgid "" +"A single context manager in a ``with`` block. ``context_expr`` is the " +"context manager, often a :class:`Call` node. ``optional_vars`` is a :class:" +"`Name`, :class:`Tuple` or :class:`List` for the ``as foo`` part, or ``None`` " +"if that isn't used." +msgstr "" + +#: ../Doc/library/ast.rst:1248 +msgid "Function and class definitions" +msgstr "" + +#: ../Doc/library/ast.rst:1252 +msgid "A function definition." +msgstr "" + +#: ../Doc/library/ast.rst:1254 +msgid "``name`` is a raw string of the function name." +msgstr "" + +#: ../Doc/library/ast.rst:1255 +msgid "``args`` is a :class:`arguments` node." +msgstr "" + +#: ../Doc/library/ast.rst:1256 +msgid "``body`` is the list of nodes inside the function." +msgstr "" + +#: ../Doc/library/ast.rst:1257 +msgid "" +"``decorator_list`` is the list of decorators to be applied, stored outermost " +"first (i.e. the first in the list will be applied last)." +msgstr "" + +#: ../Doc/library/ast.rst:1259 +msgid "``returns`` is the return annotation." +msgstr "" + +#: ../Doc/library/ast.rst:1268 +msgid "" +"``lambda`` is a minimal function definition that can be used inside an " +"expression. Unlike :class:`FunctionDef`, ``body`` holds a single node." +msgstr "" + +#: ../Doc/library/ast.rst:1292 +msgid "The arguments for a function." +msgstr "" + +#: ../Doc/library/ast.rst:1294 +msgid "" +"``posonlyargs``, ``args`` and ``kwonlyargs`` are lists of :class:`arg` nodes." +msgstr "" + +#: ../Doc/library/ast.rst:1295 +msgid "" +"``vararg`` and ``kwarg`` are single :class:`arg` nodes, referring to the " +"``*args, **kwargs`` parameters." +msgstr "" + +#: ../Doc/library/ast.rst:1297 +msgid "" +"``kw_defaults`` is a list of default values for keyword-only arguments. If " +"one is ``None``, the corresponding argument is required." +msgstr "" + +#: ../Doc/library/ast.rst:1299 +msgid "" +"``defaults`` is a list of default values for arguments that can be passed " +"positionally. If there are fewer defaults, they correspond to the last n " +"arguments." +msgstr "" + +#: ../Doc/library/ast.rst:1306 +msgid "" +"A single argument in a list. ``arg`` is a raw string of the argument name, " +"``annotation`` is its annotation, such as a :class:`Str` or :class:`Name` " +"node." +msgstr "" + +#: ../Doc/library/ast.rst:1312 +msgid "" +"``type_comment`` is an optional string with the type annotation as a comment" +msgstr "" + +#: ../Doc/library/ast.rst:1356 +msgid "A ``return`` statement." +msgstr "" + +#: ../Doc/library/ast.rst:1371 +msgid "" +"A ``yield`` or ``yield from`` expression. Because these are expressions, " +"they must be wrapped in a :class:`Expr` node if the value sent back is not " +"used." +msgstr "" + +#: ../Doc/library/ast.rst:1396 +msgid "" +"``global`` and ``nonlocal`` statements. ``names`` is a list of raw strings." +msgstr "" + +#: ../Doc/library/ast.rst:1423 +msgid "A class definition." +msgstr "" + +#: ../Doc/library/ast.rst:1425 +msgid "``name`` is a raw string for the class name" +msgstr "" + +#: ../Doc/library/ast.rst:1426 +msgid "``bases`` is a list of nodes for explicitly specified base classes." +msgstr "" + +#: ../Doc/library/ast.rst:1427 +msgid "" +"``keywords`` is a list of :class:`keyword` nodes, principally for " +"'metaclass'. Other keywords will be passed to the metaclass, as per " +"`PEP-3115 `_." +msgstr "" + +#: ../Doc/library/ast.rst:1430 +msgid "" +"``starargs`` and ``kwargs`` are each a single node, as in a function call. " +"starargs will be expanded to join the list of base classes, and kwargs will " +"be passed to the metaclass." +msgstr "" + +#: ../Doc/library/ast.rst:1433 +msgid "" +"``body`` is a list of nodes representing the code within the class " +"definition." +msgstr "" + +#: ../Doc/library/ast.rst:1435 +msgid "``decorator_list`` is a list of nodes, as in :class:`FunctionDef`." +msgstr "" -#: ../Doc/library/ast.rst:128 +#: ../Doc/library/ast.rst:1464 +msgid "Async and await" +msgstr "" + +#: ../Doc/library/ast.rst:1468 +msgid "" +"An ``async def`` function definition. Has the same fields as :class:" +"`FunctionDef`." +msgstr "" + +#: ../Doc/library/ast.rst:1474 +msgid "" +"An ``await`` expression. ``value`` is what it waits for. Only valid in the " +"body of an :class:`AsyncFunctionDef`." +msgstr "" + +#: ../Doc/library/ast.rst:1507 +msgid "" +"``async for`` loops and ``async with`` context managers. They have the same " +"fields as :class:`For` and :class:`With`, respectively. Only valid in the " +"body of an :class:`AsyncFunctionDef`." +msgstr "" + +#: ../Doc/library/ast.rst:1512 +msgid "" +"When a string is parsed by :func:`ast.parse`, operator nodes (subclasses of :" +"class:`ast.operator`, :class:`ast.unaryop`, :class:`ast.cmpop`, :class:`ast." +"boolop` and :class:`ast.expr_context`) on the returned tree will be " +"singletons. Changes to one will be reflected in all other occurrences of the " +"same value (e.g. :class:`ast.Add`)." +msgstr "" + +#: ../Doc/library/ast.rst:1520 msgid ":mod:`ast` Helpers" msgstr "Ayudantes de :mod:`ast`" -#: ../Doc/library/ast.rst:130 +#: ../Doc/library/ast.rst:1522 msgid "" "Apart from the node classes, the :mod:`ast` module defines these utility " "functions and classes for traversing abstract syntax trees:" @@ -229,7 +841,7 @@ msgstr "" "Además de las clases de nodo, el módulo :mod:`ast` define estas funciones y " "clases de utilidad para atravesar árboles de sintaxis abstracta:" -#: ../Doc/library/ast.rst:135 +#: ../Doc/library/ast.rst:1527 msgid "" "Parse the source into an AST node. Equivalent to ``compile(source, " "filename, mode, ast.PyCF_ONLY_AST)``." @@ -237,7 +849,7 @@ msgstr "" "Analiza la fuente en un nodo AST. Equivalente a ``compile(source, filename, " "mode, ast.PyCF_ONLY_AST)``." -#: ../Doc/library/ast.rst:138 +#: ../Doc/library/ast.rst:1530 msgid "" "If ``type_comments=True`` is given, the parser is modified to check and " "return type comments as specified by :pep:`484` and :pep:`526`. This is " @@ -260,7 +872,7 @@ msgstr "" "``type_ignores`` de :class:`Module` (de lo contrario, siempre es una lista " "vacía)." -#: ../Doc/library/ast.rst:148 +#: ../Doc/library/ast.rst:1540 msgid "" "In addition, if ``mode`` is ``'func_type'``, the input syntax is modified to " "correspond to :pep:`484` \"signature type comments\", e.g. ``(str, int) -> " @@ -270,7 +882,7 @@ msgstr "" "para corresponder a :pep:`484` \"comentarios de tipo de firma\", por ejemplo " "``(str, int) -> List[str]``." -#: ../Doc/library/ast.rst:152 +#: ../Doc/library/ast.rst:1544 msgid "" "Also, setting ``feature_version`` to a tuple ``(major, minor)`` will attempt " "to parse using that Python version's grammar. Currently ``major`` must equal " @@ -285,7 +897,7 @@ msgstr "" "nombres de variables. La versión más baja admitida es ``(3, 4)``; la más " "alto es ``sys.version_info[0:2]``." -#: ../Doc/library/ast.rst:160 ../Doc/library/ast.rst:181 +#: ../Doc/library/ast.rst:1552 ../Doc/library/ast.rst:1591 msgid "" "It is possible to crash the Python interpreter with a sufficiently large/" "complex string due to stack depth limitations in Python's AST compiler." @@ -294,12 +906,32 @@ msgstr "" "suficientemente grande/compleja debido a las limitaciones de profundidad de " "pila en el compilador AST de Python." -#: ../Doc/library/ast.rst:164 +#: ../Doc/library/ast.rst:1556 msgid "Added ``type_comments``, ``mode='func_type'`` and ``feature_version``." msgstr "" "Se agregaron ``type_comments``, ``mode='func_type'`` y ``feature_version``." -#: ../Doc/library/ast.rst:170 +#: ../Doc/library/ast.rst:1562 +msgid "" +"Unparse an :class:`ast.AST` object and generate a string with code that " +"would produce an equivalent :class:`ast.AST` object if parsed back with :" +"func:`ast.parse`." +msgstr "" + +#: ../Doc/library/ast.rst:1567 +msgid "" +"The produced code string will not necessarily be equal to the original code " +"that generated the :class:`ast.AST` object (without any compiler " +"optimizations, such as constant tuples/frozensets)." +msgstr "" + +#: ../Doc/library/ast.rst:1572 +msgid "" +"Trying to unparse a highly complex expression would result with :exc:" +"`RecursionError`." +msgstr "" + +#: ../Doc/library/ast.rst:1580 msgid "" "Safely evaluate an expression node or a string containing a Python literal " "or container display. The string or node provided may only consist of the " @@ -312,7 +944,7 @@ msgstr "" "literales de Python: cadenas de caracteres, bytes, números, tuplas, listas, " "diccionarios, conjuntos, booleanos y ``None``." -#: ../Doc/library/ast.rst:175 +#: ../Doc/library/ast.rst:1585 msgid "" "This can be used for safely evaluating strings containing Python values from " "untrusted sources without the need to parse the values oneself. It is not " @@ -324,11 +956,15 @@ msgstr "" "analizar los valores uno mismo. No es capaz de evaluar expresiones complejas " "arbitrariamente, por ejemplo, que involucran operadores o indexación." -#: ../Doc/library/ast.rst:185 +#: ../Doc/library/ast.rst:1595 msgid "Now allows bytes and set literals." msgstr "Ahora permite bytes y establece literales." -#: ../Doc/library/ast.rst:191 +#: ../Doc/library/ast.rst:1598 +msgid "Now supports creating empty sets with ``'set()'``." +msgstr "" + +#: ../Doc/library/ast.rst:1604 msgid "" "Return the docstring of the given *node* (which must be a :class:" "`FunctionDef`, :class:`AsyncFunctionDef`, :class:`ClassDef`, or :class:" @@ -340,11 +976,11 @@ msgstr "" "`ClassDef`, o :class:`Module`), o ``None`` si no tiene docstring. Si *clean* " "es verdadero, limpia la sangría del docstring con :func:`inspect.cleandoc`." -#: ../Doc/library/ast.rst:197 +#: ../Doc/library/ast.rst:1610 msgid ":class:`AsyncFunctionDef` is now supported." msgstr ":class:`AsyncFunctionDef` ahora está soportada." -#: ../Doc/library/ast.rst:203 +#: ../Doc/library/ast.rst:1616 msgid "" "Get source code segment of the *source* that generated *node*. If some " "location information (:attr:`lineno`, :attr:`end_lineno`, :attr:" @@ -354,7 +990,7 @@ msgstr "" "falta información de ubicación (:attr:`lineno`, :attr:`end_lineno`, :attr:" "`col_offset`, o :attr:`end_col_offset`), retorna ``None``." -#: ../Doc/library/ast.rst:207 +#: ../Doc/library/ast.rst:1620 msgid "" "If *padded* is ``True``, the first line of a multi-line statement will be " "padded with spaces to match its original position." @@ -362,7 +998,7 @@ msgstr "" "Si *padded* es ``True``, la primera línea de una declaración de varias " "líneas se rellenará con espacios para que coincidan con su posición original." -#: ../Doc/library/ast.rst:215 +#: ../Doc/library/ast.rst:1628 msgid "" "When you compile a node tree with :func:`compile`, the compiler expects :" "attr:`lineno` and :attr:`col_offset` attributes for every node that supports " @@ -377,7 +1013,7 @@ msgstr "" "establecidos, configurándolos en los valores del nodo principal. Funciona de " "forma recursiva comenzando en *node*." -#: ../Doc/library/ast.rst:224 +#: ../Doc/library/ast.rst:1637 msgid "" "Increment the line number and end line number of each node in the tree " "starting at *node* by *n*. This is useful to \"move code\" to a different " @@ -387,7 +1023,7 @@ msgstr "" "árbol comenzando en *node* por *n*. Esto es útil para \"mover código\" a una " "ubicación diferente en un archivo." -#: ../Doc/library/ast.rst:231 +#: ../Doc/library/ast.rst:1644 msgid "" "Copy source location (:attr:`lineno`, :attr:`col_offset`, :attr:" "`end_lineno`, and :attr:`end_col_offset`) from *old_node* to *new_node* if " @@ -397,7 +1033,7 @@ msgstr "" "`end_lineno`, y :attr:`end_col_offset`) de *old_node* a *new_node* si es " "posible, y retorna *new_node*." -#: ../Doc/library/ast.rst:238 +#: ../Doc/library/ast.rst:1651 msgid "" "Yield a tuple of ``(fieldname, value)`` for each field in ``node._fields`` " "that is present on *node*." @@ -405,7 +1041,7 @@ msgstr "" "Produce (*yield*) una tupla de ``(fieldname, value)`` para cada campo en " "``node._fields`` que está presente en *node*." -#: ../Doc/library/ast.rst:244 +#: ../Doc/library/ast.rst:1657 msgid "" "Yield all direct child nodes of *node*, that is, all fields that are nodes " "and all items of fields that are lists of nodes." @@ -413,7 +1049,7 @@ msgstr "" "Cede todos los nodos secundarios directos de *node*, es decir, todos los " "campos que son nodos y todos los elementos de campos que son listas de nodos." -#: ../Doc/library/ast.rst:250 +#: ../Doc/library/ast.rst:1663 msgid "" "Recursively yield all descendant nodes in the tree starting at *node* " "(including *node* itself), in no specified order. This is useful if you " @@ -424,7 +1060,7 @@ msgstr "" "es útil si solo desea modificar los nodos en su lugar y no le importa el " "contexto." -#: ../Doc/library/ast.rst:257 +#: ../Doc/library/ast.rst:1670 msgid "" "A node visitor base class that walks the abstract syntax tree and calls a " "visitor function for every node found. This function may return a value " @@ -435,7 +1071,7 @@ msgstr "" "función puede retornar un valor que se reenvía mediante el método :meth:" "`visit`." -#: ../Doc/library/ast.rst:261 +#: ../Doc/library/ast.rst:1674 msgid "" "This class is meant to be subclassed, with the subclass adding visitor " "methods." @@ -443,7 +1079,7 @@ msgstr "" "Esta clase está destinada a ser subclase, con la subclase agregando métodos " "de visitante." -#: ../Doc/library/ast.rst:266 +#: ../Doc/library/ast.rst:1679 msgid "" "Visit a node. The default implementation calls the method called :samp:" "`self.visit_{classname}` where *classname* is the name of the node class, " @@ -453,11 +1089,11 @@ msgstr "" "samp:`self.visit_{classname}` donde *classname* es el nombre de la clase de " "nodo, o :meth:`generic_visit` si ese método no existe." -#: ../Doc/library/ast.rst:272 +#: ../Doc/library/ast.rst:1685 msgid "This visitor calls :meth:`visit` on all children of the node." msgstr "Este visitante llama :meth:`visit` en todos los hijos del nodo." -#: ../Doc/library/ast.rst:274 +#: ../Doc/library/ast.rst:1687 msgid "" "Note that child nodes of nodes that have a custom visitor method won't be " "visited unless the visitor calls :meth:`generic_visit` or visits them itself." @@ -466,7 +1102,7 @@ msgstr "" "de visitante personalizado no se visitarán a menos que el visitante llame :" "meth:`generic_visit` o los visite a sí mismo." -#: ../Doc/library/ast.rst:278 +#: ../Doc/library/ast.rst:1691 msgid "" "Don't use the :class:`NodeVisitor` if you want to apply changes to nodes " "during traversal. For this a special visitor exists (:class:" @@ -476,7 +1112,7 @@ msgstr "" "recorrido. Para esto existe un visitante especial (:class:`NodeTransformer`) " "que permite modificaciones." -#: ../Doc/library/ast.rst:284 +#: ../Doc/library/ast.rst:1697 msgid "" "Methods :meth:`visit_Num`, :meth:`visit_Str`, :meth:`visit_Bytes`, :meth:" "`visit_NameConstant` and :meth:`visit_Ellipsis` are deprecated now and will " @@ -488,7 +1124,7 @@ msgstr "" "serán llamados en futuras versiones de Python. Agregue el método :meth:" "`visit_Constant` para manejar todos los nodos constantes." -#: ../Doc/library/ast.rst:292 +#: ../Doc/library/ast.rst:1705 msgid "" "A :class:`NodeVisitor` subclass that walks the abstract syntax tree and " "allows modification of nodes." @@ -496,7 +1132,7 @@ msgstr "" "Una subclase de :class:`NodeVisitor` que recorre el árbol de sintaxis " "abstracta y permite la modificación de nodos." -#: ../Doc/library/ast.rst:295 +#: ../Doc/library/ast.rst:1708 msgid "" "The :class:`NodeTransformer` will walk the AST and use the return value of " "the visitor methods to replace or remove the old node. If the return value " @@ -511,7 +1147,7 @@ msgstr "" "valor de retorno. El valor de retorno puede ser el nodo original, en cuyo " "caso no se realiza ningún reemplazo." -#: ../Doc/library/ast.rst:301 +#: ../Doc/library/ast.rst:1714 msgid "" "Here is an example transformer that rewrites all occurrences of name lookups " "(``foo``) to ``data['foo']``::" @@ -519,7 +1155,7 @@ msgstr "" "Aquí hay un transformador de ejemplo que reescribe todas las apariciones de " "búsquedas de nombres (``foo``) en ``data['foo']``::" -#: ../Doc/library/ast.rst:313 +#: ../Doc/library/ast.rst:1726 msgid "" "Keep in mind that if the node you're operating on has child nodes you must " "either transform the child nodes yourself or call the :meth:`generic_visit` " @@ -529,7 +1165,7 @@ msgstr "" "secundarios, debe transformar los nodos secundarios usted mismo o llamar " "primero al método :meth:`generic_visit` para el nodo." -#: ../Doc/library/ast.rst:317 +#: ../Doc/library/ast.rst:1730 msgid "" "For nodes that were part of a collection of statements (that applies to all " "statement nodes), the visitor may also return a list of nodes rather than " @@ -539,7 +1175,7 @@ msgstr "" "aplica a todos los nodos de declaración), el visitante también puede " "retornar una lista de nodos en lugar de solo un nodo." -#: ../Doc/library/ast.rst:321 +#: ../Doc/library/ast.rst:1734 msgid "" "If :class:`NodeTransformer` introduces new nodes (that weren't part of " "original tree) without giving them location information (such as :attr:" @@ -551,11 +1187,11 @@ msgstr "" "func:`fix_missing_locations` debería llamarse con el nuevo sub-árbol para " "recalcular la información de ubicación ::" -#: ../Doc/library/ast.rst:329 +#: ../Doc/library/ast.rst:1742 msgid "Usually you use the transformer like this::" msgstr "Usualmente usas el transformador así:" -#: ../Doc/library/ast.rst:336 +#: ../Doc/library/ast.rst:1749 msgid "" "Return a formatted dump of the tree in *node*. This is mainly useful for " "debugging purposes. If *annotate_fields* is true (by default), the returned " @@ -574,7 +1210,91 @@ msgstr "" "vuelcan de forma predeterminada. Si esto se desea, *include_attributes* se " "puede establecer en verdadero." -#: ../Doc/library/ast.rst:346 +#: ../Doc/library/ast.rst:1757 +msgid "" +"If *indent* is a non-negative integer or string, then the tree will be " +"pretty-printed with that indent level. An indent level of 0, negative, or ``" +"\"\"`` will only insert newlines. ``None`` (the default) selects the single " +"line representation. Using a positive integer indent indents that many " +"spaces per level. If *indent* is a string (such as ``\"\\t\"``), that " +"string is used to indent each level." +msgstr "" + +#: ../Doc/library/ast.rst:1764 +msgid "Added the *indent* option." +msgstr "" + +#: ../Doc/library/ast.rst:1771 +msgid "Compiler Flags" +msgstr "" + +#: ../Doc/library/ast.rst:1773 +msgid "" +"The following flags may be passed to :func:`compile` in order to change " +"effects on the compilation of a program:" +msgstr "" + +#: ../Doc/library/ast.rst:1778 +msgid "" +"Enables support for top-level ``await``, ``async for``, ``async with`` and " +"async comprehensions." +msgstr "" + +#: ../Doc/library/ast.rst:1785 +msgid "" +"Generates and returns an abstract syntax tree instead of returning a " +"compiled code object." +msgstr "" + +#: ../Doc/library/ast.rst:1790 +msgid "" +"Enables support for :pep:`484` and :pep:`526` style type comments (``# type: " +"``, ``# type: ignore ``)." +msgstr "" + +#: ../Doc/library/ast.rst:1799 +msgid "Command-Line Usage" +msgstr "" + +#: ../Doc/library/ast.rst:1803 +msgid "" +"The :mod:`ast` module can be executed as a script from the command line. It " +"is as simple as:" +msgstr "" + +#: ../Doc/library/ast.rst:1810 +msgid "The following options are accepted:" +msgstr "" + +#: ../Doc/library/ast.rst:1816 +msgid "Show the help message and exit." +msgstr "" + +#: ../Doc/library/ast.rst:1821 +msgid "" +"Specify what kind of code must be compiled, like the *mode* argument in :" +"func:`parse`." +msgstr "" + +#: ../Doc/library/ast.rst:1826 +msgid "Don't parse type comments." +msgstr "" + +#: ../Doc/library/ast.rst:1830 +msgid "Include attributes such as line numbers and column offsets." +msgstr "" + +#: ../Doc/library/ast.rst:1835 +msgid "Indentation of nodes in AST (number of spaces)." +msgstr "" + +#: ../Doc/library/ast.rst:1837 +msgid "" +"If :file:`infile` is specified its contents are parsed to AST and dumped to " +"stdout. Otherwise, the content is read from stdin." +msgstr "" + +#: ../Doc/library/ast.rst:1843 msgid "" "`Green Tree Snakes `_, an external " "documentation resource, has good details on working with Python ASTs." @@ -582,3 +1302,44 @@ msgstr "" "`Green Tree Snakes `_, un recurso " "de documentación externo, tiene buenos detalles sobre cómo trabajar con " "Python AST." + +#: ../Doc/library/ast.rst:1846 +msgid "" +"`ASTTokens `_ " +"annotates Python ASTs with the positions of tokens and text in the source " +"code that generated them. This is helpful for tools that make source code " +"transformations." +msgstr "" + +#: ../Doc/library/ast.rst:1851 +msgid "" +"`leoAst.py `_ unifies the " +"token-based and parse-tree-based views of python programs by inserting two-" +"way links between tokens and ast nodes." +msgstr "" + +#: ../Doc/library/ast.rst:1855 +msgid "" +"`LibCST `_ parses code as a Concrete Syntax " +"Tree that looks like an ast tree and keeps all formatting details. It's " +"useful for building automated refactoring (codemod) applications and linters." +msgstr "" + +#: ../Doc/library/ast.rst:1860 +msgid "" +"`Parso `_ is a Python parser that supports " +"error recovery and round-trip parsing for different Python versions (in " +"multiple Python versions). Parso is also able to list multiple syntax errors " +"in your python file." +msgstr "" + +#~ msgid "" +#~ "Old classes :class:`ast.Num`, :class:`ast.Str`, :class:`ast.Bytes`, :" +#~ "class:`ast.NameConstant` and :class:`ast.Ellipsis` are still available, " +#~ "but they will be removed in future Python releases. In the meanwhile, " +#~ "instantiating them will return an instance of a different class." +#~ msgstr "" +#~ "Las clases antiguas :class:`ast.Num`, :class:`ast.Str`, :class:`ast." +#~ "Bytes`, :class:`ast.NameConstant` y :class:`ast.Ellipsis` todavía están " +#~ "disponibles, pero se eliminarán en futuras versiones de Python. Mientras " +#~ "tanto, instanciarlos retornará una instancia de una clase diferente." diff --git a/library/asyncio-api-index.po b/library/asyncio-api-index.po index 1db4e4c0bd..43e16a7dbb 100644 --- a/library/asyncio-api-index.po +++ b/library/asyncio-api-index.po @@ -1,22 +1,25 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. # Maintained by the python-doc-es workteam. -# docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ -# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers +# docs-es@python.org / +# https://mail.python.org/mailman3/lists/docs-es.python.org/ +# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get +# the list of volunteers # msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-06 11:59-0400\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-09-10 00:17+0200\n" +"Last-Translator: Álvaro Mondéjar Rubio \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Last-Translator: Álvaro Mondéjar Rubio \n" -"Language: es\n" -"X-Generator: Poedit 2.4.1\n" +"Generated-By: Babel 2.8.0\n" #: ../Doc/library/asyncio-api-index.rst:6 msgid "High-level API Index" @@ -120,31 +123,40 @@ msgid "Task object." msgstr "Objeto Tarea." #: ../Doc/library/asyncio-api-index.rst:51 -msgid ":func:`run_coroutine_threadsafe`" +#, fuzzy +msgid ":func:`to_thread`" msgstr ":func:`run_coroutine_threadsafe`" #: ../Doc/library/asyncio-api-index.rst:52 +msgid "Asychronously run a function in a separate OS thread." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:54 +msgid ":func:`run_coroutine_threadsafe`" +msgstr ":func:`run_coroutine_threadsafe`" + +#: ../Doc/library/asyncio-api-index.rst:55 msgid "Schedule a coroutine from another OS thread." msgstr "Programa una corrutina de desde otro hilo del sistema operativo." -#: ../Doc/library/asyncio-api-index.rst:54 +#: ../Doc/library/asyncio-api-index.rst:57 msgid "``for in`` :func:`as_completed`" msgstr "``for in`` :func:`as_completed`" -#: ../Doc/library/asyncio-api-index.rst:55 +#: ../Doc/library/asyncio-api-index.rst:58 msgid "Monitor for completion with a ``for`` loop." msgstr "Monitorea por completitud con un loop ``for``." -#: ../Doc/library/asyncio-api-index.rst:59 -#: ../Doc/library/asyncio-api-index.rst:95 -#: ../Doc/library/asyncio-api-index.rst:119 -#: ../Doc/library/asyncio-api-index.rst:155 -#: ../Doc/library/asyncio-api-index.rst:188 -#: ../Doc/library/asyncio-api-index.rst:213 +#: ../Doc/library/asyncio-api-index.rst:62 +#: ../Doc/library/asyncio-api-index.rst:98 +#: ../Doc/library/asyncio-api-index.rst:122 +#: ../Doc/library/asyncio-api-index.rst:158 +#: ../Doc/library/asyncio-api-index.rst:191 +#: ../Doc/library/asyncio-api-index.rst:216 msgid "Examples" msgstr "Ejemplos" -#: ../Doc/library/asyncio-api-index.rst:60 +#: ../Doc/library/asyncio-api-index.rst:63 msgid "" ":ref:`Using asyncio.gather() to run things in parallel " "`." @@ -152,7 +164,7 @@ msgstr "" ":ref:`Usando asyncio.gather() para ejecutar cosas en paralelo " "`." -#: ../Doc/library/asyncio-api-index.rst:63 +#: ../Doc/library/asyncio-api-index.rst:66 msgid "" ":ref:`Using asyncio.wait_for() to enforce a timeout " "`." @@ -160,25 +172,25 @@ msgstr "" ":ref:`Usando asyncio.wait_for() para forzar un tiempo de expiración " "`." -#: ../Doc/library/asyncio-api-index.rst:66 +#: ../Doc/library/asyncio-api-index.rst:69 msgid ":ref:`Cancellation `." msgstr ":ref:`Cancelación `." -#: ../Doc/library/asyncio-api-index.rst:68 +#: ../Doc/library/asyncio-api-index.rst:71 msgid ":ref:`Using asyncio.sleep() `." msgstr ":ref:`Usando asyncio.sleep() `." -#: ../Doc/library/asyncio-api-index.rst:70 +#: ../Doc/library/asyncio-api-index.rst:73 msgid "See also the main :ref:`Tasks documentation page `." msgstr "" "Ver también la :ref:`página principal de documentación de Tareas " "`." -#: ../Doc/library/asyncio-api-index.rst:74 +#: ../Doc/library/asyncio-api-index.rst:77 msgid "Queues" msgstr "Colas" -#: ../Doc/library/asyncio-api-index.rst:76 +#: ../Doc/library/asyncio-api-index.rst:79 msgid "" "Queues should be used to distribute work amongst multiple asyncio Tasks, " "implement connection pools, and pub/sub patterns." @@ -186,31 +198,31 @@ msgstr "" "Las colas deberían ser usadas para distribuir trabajo entre múltiples Tareas " "asyncio, implementar pools de conexiones y patrones pub/sub." -#: ../Doc/library/asyncio-api-index.rst:84 +#: ../Doc/library/asyncio-api-index.rst:87 msgid ":class:`Queue`" msgstr ":class:`Queue`" -#: ../Doc/library/asyncio-api-index.rst:85 +#: ../Doc/library/asyncio-api-index.rst:88 msgid "A FIFO queue." msgstr "Una cola FIFO." -#: ../Doc/library/asyncio-api-index.rst:87 +#: ../Doc/library/asyncio-api-index.rst:90 msgid ":class:`PriorityQueue`" msgstr ":class:`PriorityQueue`" -#: ../Doc/library/asyncio-api-index.rst:88 +#: ../Doc/library/asyncio-api-index.rst:91 msgid "A priority queue." msgstr "Una cola de prioridad." -#: ../Doc/library/asyncio-api-index.rst:90 +#: ../Doc/library/asyncio-api-index.rst:93 msgid ":class:`LifoQueue`" msgstr ":class:`LifoQueue`" -#: ../Doc/library/asyncio-api-index.rst:91 +#: ../Doc/library/asyncio-api-index.rst:94 msgid "A LIFO queue." msgstr "Una cola LIFO." -#: ../Doc/library/asyncio-api-index.rst:96 +#: ../Doc/library/asyncio-api-index.rst:99 msgid "" ":ref:`Using asyncio.Queue to distribute workload between several Tasks " "`." @@ -218,165 +230,165 @@ msgstr "" ":ref:`Usando asyncio.Queue para distribuir carga de trabajo entre varias " "Tareas `." -#: ../Doc/library/asyncio-api-index.rst:99 +#: ../Doc/library/asyncio-api-index.rst:102 msgid "See also the :ref:`Queues documentation page `." msgstr "" "Ver también la :ref:`página de documentación de Colas `." -#: ../Doc/library/asyncio-api-index.rst:103 +#: ../Doc/library/asyncio-api-index.rst:106 msgid "Subprocesses" msgstr "Subprocesos" -#: ../Doc/library/asyncio-api-index.rst:105 +#: ../Doc/library/asyncio-api-index.rst:108 msgid "Utilities to spawn subprocesses and run shell commands." msgstr "Utilidades para generar subprocesos y ejecutar comandos de consola." -#: ../Doc/library/asyncio-api-index.rst:111 +#: ../Doc/library/asyncio-api-index.rst:114 msgid "``await`` :func:`create_subprocess_exec`" msgstr "``await`` :func:`create_subprocess_exec`" -#: ../Doc/library/asyncio-api-index.rst:112 +#: ../Doc/library/asyncio-api-index.rst:115 msgid "Create a subprocess." msgstr "Crea un subproceso." -#: ../Doc/library/asyncio-api-index.rst:114 +#: ../Doc/library/asyncio-api-index.rst:117 msgid "``await`` :func:`create_subprocess_shell`" msgstr "``await`` :func:`create_subprocess_shell`" -#: ../Doc/library/asyncio-api-index.rst:115 +#: ../Doc/library/asyncio-api-index.rst:118 msgid "Run a shell command." msgstr "Ejecuta un comando de consola." -#: ../Doc/library/asyncio-api-index.rst:120 +#: ../Doc/library/asyncio-api-index.rst:123 msgid ":ref:`Executing a shell command `." msgstr "" ":ref:`Ejecutando un comando de consola `." -#: ../Doc/library/asyncio-api-index.rst:122 +#: ../Doc/library/asyncio-api-index.rst:125 msgid "See also the :ref:`subprocess APIs ` documentation." msgstr "" "Ver también la documentación de las :ref:`APIs de subprocesos `." -#: ../Doc/library/asyncio-api-index.rst:127 +#: ../Doc/library/asyncio-api-index.rst:130 msgid "Streams" msgstr "Flujos" -#: ../Doc/library/asyncio-api-index.rst:129 +#: ../Doc/library/asyncio-api-index.rst:132 msgid "High-level APIs to work with network IO." msgstr "APIs de alto nivel para trabajar con IO de red." -#: ../Doc/library/asyncio-api-index.rst:135 +#: ../Doc/library/asyncio-api-index.rst:138 msgid "``await`` :func:`open_connection`" msgstr "``await`` :func:`open_connection`" -#: ../Doc/library/asyncio-api-index.rst:136 +#: ../Doc/library/asyncio-api-index.rst:139 msgid "Establish a TCP connection." msgstr "Establece una conexión TCP." -#: ../Doc/library/asyncio-api-index.rst:138 +#: ../Doc/library/asyncio-api-index.rst:141 msgid "``await`` :func:`open_unix_connection`" msgstr "``await`` :func:`open_unix_connection`" -#: ../Doc/library/asyncio-api-index.rst:139 +#: ../Doc/library/asyncio-api-index.rst:142 msgid "Establish a Unix socket connection." msgstr "Establece una conexión de un socket Unix." -#: ../Doc/library/asyncio-api-index.rst:141 +#: ../Doc/library/asyncio-api-index.rst:144 msgid "``await`` :func:`start_server`" msgstr "``await`` :func:`start_server`" -#: ../Doc/library/asyncio-api-index.rst:142 +#: ../Doc/library/asyncio-api-index.rst:145 msgid "Start a TCP server." msgstr "Lanza un servidor TCP." -#: ../Doc/library/asyncio-api-index.rst:144 +#: ../Doc/library/asyncio-api-index.rst:147 msgid "``await`` :func:`start_unix_server`" msgstr "``await`` :func:`start_unix_server`" -#: ../Doc/library/asyncio-api-index.rst:145 +#: ../Doc/library/asyncio-api-index.rst:148 msgid "Start a Unix socket server." msgstr "Lanza un servidor de sockets Unix." -#: ../Doc/library/asyncio-api-index.rst:147 +#: ../Doc/library/asyncio-api-index.rst:150 msgid ":class:`StreamReader`" msgstr ":class:`StreamReader`" -#: ../Doc/library/asyncio-api-index.rst:148 +#: ../Doc/library/asyncio-api-index.rst:151 msgid "High-level async/await object to receive network data." msgstr "Objeto de alto nivel async/await para recibir datos de red." -#: ../Doc/library/asyncio-api-index.rst:150 +#: ../Doc/library/asyncio-api-index.rst:153 msgid ":class:`StreamWriter`" msgstr ":class:`StreamWriter`" -#: ../Doc/library/asyncio-api-index.rst:151 +#: ../Doc/library/asyncio-api-index.rst:154 msgid "High-level async/await object to send network data." msgstr "Objeto de alto nivel async/await para enviar datos de red." -#: ../Doc/library/asyncio-api-index.rst:156 +#: ../Doc/library/asyncio-api-index.rst:159 msgid ":ref:`Example TCP client `." msgstr ":ref:`Cliente TCP de ejemplo `." -#: ../Doc/library/asyncio-api-index.rst:158 +#: ../Doc/library/asyncio-api-index.rst:161 msgid "See also the :ref:`streams APIs ` documentation." msgstr "" "Ver también la documentación de :ref:`APIs de flujos `." -#: ../Doc/library/asyncio-api-index.rst:163 +#: ../Doc/library/asyncio-api-index.rst:166 msgid "Synchronization" msgstr "Sincronización" -#: ../Doc/library/asyncio-api-index.rst:165 +#: ../Doc/library/asyncio-api-index.rst:168 msgid "Threading-like synchronization primitives that can be used in Tasks." msgstr "" "Primitivas de sincronización al estilo hilos que pueden ser usadas en Tareas." -#: ../Doc/library/asyncio-api-index.rst:171 +#: ../Doc/library/asyncio-api-index.rst:174 msgid ":class:`Lock`" msgstr ":class:`Lock`" -#: ../Doc/library/asyncio-api-index.rst:172 +#: ../Doc/library/asyncio-api-index.rst:175 msgid "A mutex lock." msgstr "Un bloqueo mutex." -#: ../Doc/library/asyncio-api-index.rst:174 +#: ../Doc/library/asyncio-api-index.rst:177 msgid ":class:`Event`" msgstr ":class:`Event`" -#: ../Doc/library/asyncio-api-index.rst:175 +#: ../Doc/library/asyncio-api-index.rst:178 msgid "An event object." msgstr "Un objeto de evento." -#: ../Doc/library/asyncio-api-index.rst:177 +#: ../Doc/library/asyncio-api-index.rst:180 msgid ":class:`Condition`" msgstr ":class:`Condition`" -#: ../Doc/library/asyncio-api-index.rst:178 +#: ../Doc/library/asyncio-api-index.rst:181 msgid "A condition object." msgstr "Un objeto de condición." -#: ../Doc/library/asyncio-api-index.rst:180 +#: ../Doc/library/asyncio-api-index.rst:183 msgid ":class:`Semaphore`" msgstr ":class:`Semaphore`" -#: ../Doc/library/asyncio-api-index.rst:181 +#: ../Doc/library/asyncio-api-index.rst:184 msgid "A semaphore." msgstr "Un semáforo." -#: ../Doc/library/asyncio-api-index.rst:183 +#: ../Doc/library/asyncio-api-index.rst:186 msgid ":class:`BoundedSemaphore`" msgstr ":class:`BoundedSemaphore`" -#: ../Doc/library/asyncio-api-index.rst:184 +#: ../Doc/library/asyncio-api-index.rst:187 msgid "A bounded semaphore." msgstr "Un semáforo acotado." -#: ../Doc/library/asyncio-api-index.rst:189 +#: ../Doc/library/asyncio-api-index.rst:192 msgid ":ref:`Using asyncio.Event `." msgstr ":ref:`Usando asyncio.Event `." -#: ../Doc/library/asyncio-api-index.rst:191 +#: ../Doc/library/asyncio-api-index.rst:194 msgid "" "See also the documentation of asyncio :ref:`synchronization primitives " "`." @@ -384,15 +396,15 @@ msgstr "" "Ver también la documentación de las :ref:`primitivas de sincronización " "` de asyncio." -#: ../Doc/library/asyncio-api-index.rst:196 +#: ../Doc/library/asyncio-api-index.rst:199 msgid "Exceptions" msgstr "Excepciones" -#: ../Doc/library/asyncio-api-index.rst:203 +#: ../Doc/library/asyncio-api-index.rst:206 msgid ":exc:`asyncio.TimeoutError`" msgstr ":exc:`asyncio.TimeoutError`" -#: ../Doc/library/asyncio-api-index.rst:204 +#: ../Doc/library/asyncio-api-index.rst:207 msgid "" "Raised on timeout by functions like :func:`wait_for`. Keep in mind that " "``asyncio.TimeoutError`` is **unrelated** to the built-in :exc:" @@ -402,16 +414,16 @@ msgstr "" "mente que `asyncio.TimeoutError`` **no está relacionada** con la excepción " "predefinida :exc:`TimeoutError`." -#: ../Doc/library/asyncio-api-index.rst:208 +#: ../Doc/library/asyncio-api-index.rst:211 msgid ":exc:`asyncio.CancelledError`" msgstr ":exc:`asyncio.CancelledError`" -#: ../Doc/library/asyncio-api-index.rst:209 +#: ../Doc/library/asyncio-api-index.rst:212 msgid "Raised when a Task is cancelled. See also :meth:`Task.cancel`." msgstr "" "Lanzada cuando una Tarea es cancelada. Ver también :meth:`Task.cancel`." -#: ../Doc/library/asyncio-api-index.rst:214 +#: ../Doc/library/asyncio-api-index.rst:217 msgid "" ":ref:`Handling CancelledError to run code on cancellation request " "`." @@ -419,7 +431,7 @@ msgstr "" ":ref:`Gestionando CancelledError para ejecutar código en petición de " "cancelación `." -#: ../Doc/library/asyncio-api-index.rst:217 +#: ../Doc/library/asyncio-api-index.rst:220 msgid "" "See also the full list of :ref:`asyncio-specific exceptions `." diff --git a/library/asyncio-dev.po b/library/asyncio-dev.po index ff7a8ba3f6..cee14ae9da 100644 --- a/library/asyncio-dev.po +++ b/library/asyncio-dev.po @@ -10,16 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-10-07 09:13+0200\n" "Last-Translator: Álvaro Mondéjar \n" "Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/asyncio-dev.rst:7 msgid "Developing with asyncio" @@ -61,9 +61,8 @@ msgstr "" "Definiendo la variable de entorno :envvar:`PYTHONASYNCIODEBUG` a ``1``." #: ../Doc/library/asyncio-dev.rst:28 -msgid "Using the :option:`-X` ``dev`` Python command line option." +msgid "Using the :ref:`Python Development Mode `." msgstr "" -"Usando la opción :option:`-X` ``dev`` de la línea de comandos de Python." #: ../Doc/library/asyncio-dev.rst:30 msgid "Passing ``debug=True`` to :func:`asyncio.run`." @@ -158,8 +157,9 @@ msgstr "" "ejecución se suspende y el bucle de eventos ejecuta la siguiente Tarea." #: ../Doc/library/asyncio-dev.rst:76 +#, fuzzy msgid "" -"To schedule a callback from a different OS thread, the :meth:`loop." +"To schedule a :term:`callback` from another OS thread, the :meth:`loop." "call_soon_threadsafe` method should be used. Example::" msgstr "" "Para ejecutar un callback desde un hilo diferente del sistema operativo se " @@ -208,11 +208,24 @@ msgstr "" "un hilo diferente del sistema operativo sin bloquear el hilo del sistema " "operativo en el que el bucle de eventos está siendo ejecutado." -#: ../Doc/library/asyncio-dev.rst:114 +#: ../Doc/library/asyncio-dev.rst:110 +msgid "" +"There is currently no way to schedule coroutines or callbacks directly from " +"a different process (such as one started with :mod:`multiprocessing`). The :" +"ref:`Event Loop Methods ` section lists APIs that can " +"read from pipes and watch file descriptors without blocking the event loop. " +"In addition, asyncio's :ref:`Subprocess ` APIs provide a " +"way to start a process and communicate with it from the event loop. Lastly, " +"the aforementioned :meth:`loop.run_in_executor` method can also be used with " +"a :class:`concurrent.futures.ProcessPoolExecutor` to execute code in a " +"different process." +msgstr "" + +#: ../Doc/library/asyncio-dev.rst:124 msgid "Running Blocking Code" msgstr "Ejecutando Código Bloqueante" -#: ../Doc/library/asyncio-dev.rst:116 +#: ../Doc/library/asyncio-dev.rst:126 msgid "" "Blocking (CPU-bound) code should not be called directly. For example, if a " "function performs a CPU-intensive calculation for 1 second, all concurrent " @@ -223,7 +236,7 @@ msgstr "" "CPU durante 1 segundo, todas las Tareas y operaciones de Entrada/Salida (IO) " "concurrentes se retrasarían 1 segundo." -#: ../Doc/library/asyncio-dev.rst:121 +#: ../Doc/library/asyncio-dev.rst:131 msgid "" "An executor can be used to run a task in a different thread or even in a " "different process to avoid blocking the OS thread with the event loop. See " @@ -234,11 +247,11 @@ msgstr "" "operativo con el bucle de eventos. Consulte el método :meth:`loop." "run_in_executor` para más detalles." -#: ../Doc/library/asyncio-dev.rst:130 +#: ../Doc/library/asyncio-dev.rst:140 msgid "Logging" msgstr "Logueando" -#: ../Doc/library/asyncio-dev.rst:132 +#: ../Doc/library/asyncio-dev.rst:142 msgid "" "asyncio uses the :mod:`logging` module and all logging is performed via the " "``\"asyncio\"`` logger." @@ -246,7 +259,7 @@ msgstr "" "asyncio usa el módulo :mod:`logging` y todo el logueo es realizado mediante " "el logger ``\"asyncio\"``." -#: ../Doc/library/asyncio-dev.rst:135 +#: ../Doc/library/asyncio-dev.rst:145 msgid "" "The default log level is :py:data:`logging.INFO`, which can be easily " "adjusted::" @@ -254,11 +267,11 @@ msgstr "" "El nivel de log por defecto es :py:data:`logging.INFO`, el cual puede ser " "fácilmente ajustado::" -#: ../Doc/library/asyncio-dev.rst:144 +#: ../Doc/library/asyncio-dev.rst:154 msgid "Detect never-awaited coroutines" msgstr "Detectar corrutinas no esperadas" -#: ../Doc/library/asyncio-dev.rst:146 +#: ../Doc/library/asyncio-dev.rst:156 msgid "" "When a coroutine function is called, but not awaited (e.g. ``coro()`` " "instead of ``await coro()``) or the coroutine is not scheduled with :meth:" @@ -268,15 +281,15 @@ msgstr "" "``coro()`` en lugar de ``await coro()``) o la corrutina no es programada " "con :meth:`asyncio.create_task`, asyncio emitirá una :exc:`RuntimeWarning`::" -#: ../Doc/library/asyncio-dev.rst:161 ../Doc/library/asyncio-dev.rst:206 +#: ../Doc/library/asyncio-dev.rst:171 ../Doc/library/asyncio-dev.rst:216 msgid "Output::" msgstr "Salida::" -#: ../Doc/library/asyncio-dev.rst:166 ../Doc/library/asyncio-dev.rst:222 +#: ../Doc/library/asyncio-dev.rst:176 ../Doc/library/asyncio-dev.rst:232 msgid "Output in debug mode::" msgstr "Salida en modo depuración::" -#: ../Doc/library/asyncio-dev.rst:179 +#: ../Doc/library/asyncio-dev.rst:189 msgid "" "The usual fix is to either await the coroutine or call the :meth:`asyncio." "create_task` function::" @@ -284,11 +297,11 @@ msgstr "" "La solución habitual es esperar la corrutina o llamar a la función :meth:" "`asyncio.create_task`::" -#: ../Doc/library/asyncio-dev.rst:187 +#: ../Doc/library/asyncio-dev.rst:197 msgid "Detect never-retrieved exceptions" msgstr "Detectar excepciones nunca recuperadas" -#: ../Doc/library/asyncio-dev.rst:189 +#: ../Doc/library/asyncio-dev.rst:199 msgid "" "If a :meth:`Future.set_exception` is called but the Future object is never " "awaited on, the exception would never be propagated to the user code. In " @@ -300,14 +313,18 @@ msgstr "" "este caso, asyncio emitiría un mensaje de registro cuando el objeto Futuro " "fuera recolectado como basura." -#: ../Doc/library/asyncio-dev.rst:194 +#: ../Doc/library/asyncio-dev.rst:204 msgid "Example of an unhandled exception::" msgstr "Ejemplo de una excepción no manejada::" -#: ../Doc/library/asyncio-dev.rst:217 +#: ../Doc/library/asyncio-dev.rst:227 msgid "" ":ref:`Enable the debug mode ` to get the traceback where " "the task was created::" msgstr "" ":ref:`Habilita el modo depuración ` para obtener el " "seguimiento de pila (*traceback*) donde la tarea fue creada::" + +#~ msgid "Using the :option:`-X` ``dev`` Python command line option." +#~ msgstr "" +#~ "Usando la opción :option:`-X` ``dev`` de la línea de comandos de Python." diff --git a/library/asyncio-eventloop.po b/library/asyncio-eventloop.po index ddcfac39ae..05f9d46de3 100644 --- a/library/asyncio-eventloop.po +++ b/library/asyncio-eventloop.po @@ -10,18 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-09-22 17:54+0000\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" "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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" -"X-Generator: Poedit 2.4.1\n" -"X-Poedit-Bookmarks: -1,38,-1,-1,-1,-1,-1,-1,-1,-1\n" #: ../Doc/library/asyncio-eventloop.rst:6 msgid "Event Loop" @@ -309,6 +307,7 @@ msgstr "" "manera confiable todos los generadores asíncronos planificados." #: ../Doc/library/asyncio-eventloop.rst:163 +#: ../Doc/library/asyncio-eventloop.rst:183 msgid "" "Note that there is no need to call this function when :func:`asyncio.run` is " "used." @@ -317,24 +316,33 @@ msgstr "" "`asyncio.run` es utilizado." #: ../Doc/library/asyncio-eventloop.rst:166 -#: ../Doc/library/asyncio-eventloop.rst:1062 -#: ../Doc/library/asyncio-eventloop.rst:1444 +#: ../Doc/library/asyncio-eventloop.rst:1074 +#: ../Doc/library/asyncio-eventloop.rst:1456 msgid "Example::" msgstr "Ejemplo::" #: ../Doc/library/asyncio-eventloop.rst:178 +msgid "" +"Schedule the closure of the default executor and wait for it to join all of " +"the threads in the :class:`ThreadPoolExecutor`. After calling this method, " +"a :exc:`RuntimeError` will be raised if :meth:`loop.run_in_executor` is " +"called while using the default executor." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:190 msgid "Scheduling callbacks" msgstr "Programación de llamadas de retorno" -#: ../Doc/library/asyncio-eventloop.rst:182 +#: ../Doc/library/asyncio-eventloop.rst:194 +#, fuzzy msgid "" -"Schedule a *callback* to be called with *args* arguments at the next " -"iteration of the event loop." +"Schedule the *callback* :term:`callback` to be called with *args* arguments " +"at the next iteration of the event loop." msgstr "" "Planifica un *callback* para ser ejecutada con los argumentos *args* en la " "próxima iteración del bucle de eventos." -#: ../Doc/library/asyncio-eventloop.rst:185 +#: ../Doc/library/asyncio-eventloop.rst:197 msgid "" "Callbacks are called in the order in which they are registered. Each " "callback will be called exactly once." @@ -342,8 +350,8 @@ msgstr "" "Llamadas que son ejecutadas en el orden en el que fueron registradas. Cada " "llamada será ejecutada exactamente una sola vez." -#: ../Doc/library/asyncio-eventloop.rst:188 -#: ../Doc/library/asyncio-eventloop.rst:251 +#: ../Doc/library/asyncio-eventloop.rst:200 +#: ../Doc/library/asyncio-eventloop.rst:263 msgid "" "An optional keyword-only *context* argument allows specifying a custom :" "class:`contextvars.Context` for the *callback* to run in. The current " @@ -354,7 +362,7 @@ msgstr "" "*callback* será ejecutada. Cuando no se provee *context* el contexto actual " "es utilizado." -#: ../Doc/library/asyncio-eventloop.rst:192 +#: ../Doc/library/asyncio-eventloop.rst:204 msgid "" "An instance of :class:`asyncio.Handle` is returned, which can be used later " "to cancel the callback." @@ -362,11 +370,11 @@ msgstr "" "Una instancia de :class:`asyncio.Handle` es retornada, que puede ser " "utilizada después para cancelar la llamada." -#: ../Doc/library/asyncio-eventloop.rst:195 +#: ../Doc/library/asyncio-eventloop.rst:207 msgid "This method is not thread-safe." msgstr "Este método no es seguro para subprocesos." -#: ../Doc/library/asyncio-eventloop.rst:199 +#: ../Doc/library/asyncio-eventloop.rst:211 msgid "" "A thread-safe variant of :meth:`call_soon`. Must be used to schedule " "callbacks *from another thread*." @@ -374,7 +382,7 @@ msgstr "" "Una variante de :meth:`call_soon` que es segura para subprocesos. Debe ser " "usada en llamadas planificadas *desde otro hilo*." -#: ../Doc/library/asyncio-eventloop.rst:202 +#: ../Doc/library/asyncio-eventloop.rst:214 msgid "" "See the :ref:`concurrency and multithreading ` " "section of the documentation." @@ -382,9 +390,9 @@ msgstr "" "Vea sección :ref:`concurrencia y multiproceso ` de " "la documentación." -#: ../Doc/library/asyncio-eventloop.rst:205 -#: ../Doc/library/asyncio-eventloop.rst:255 -#: ../Doc/library/asyncio-eventloop.rst:275 +#: ../Doc/library/asyncio-eventloop.rst:217 +#: ../Doc/library/asyncio-eventloop.rst:267 +#: ../Doc/library/asyncio-eventloop.rst:287 msgid "" "The *context* keyword-only parameter was added. See :pep:`567` for more " "details." @@ -392,7 +400,7 @@ msgstr "" "Fue agregado el parámetro solo de palabra clave *context*. Vea :pep:`567` " "para mas detalles." -#: ../Doc/library/asyncio-eventloop.rst:213 +#: ../Doc/library/asyncio-eventloop.rst:225 msgid "" "Most :mod:`asyncio` scheduling functions don't allow passing keyword " "arguments. To do that, use :func:`functools.partial`::" @@ -401,7 +409,7 @@ msgstr "" "argumentos de palabra clave. Para hacer eso utilice :func:`functools." "partial`::" -#: ../Doc/library/asyncio-eventloop.rst:220 +#: ../Doc/library/asyncio-eventloop.rst:232 msgid "" "Using partial objects is usually more convenient than using lambdas, as " "asyncio can render partial objects better in debug and error messages." @@ -410,11 +418,11 @@ msgstr "" "lambdas, ya que asyncio puede renderizar mejor objetos parciales en mensajes " "de depuración y error." -#: ../Doc/library/asyncio-eventloop.rst:228 +#: ../Doc/library/asyncio-eventloop.rst:240 msgid "Scheduling delayed callbacks" msgstr "Planificando llamadas retardadas" -#: ../Doc/library/asyncio-eventloop.rst:230 +#: ../Doc/library/asyncio-eventloop.rst:242 msgid "" "Event loop provides mechanisms to schedule callback functions to be called " "at some point in the future. Event loop uses monotonic clocks to track time." @@ -423,7 +431,7 @@ msgstr "" "que serán ejecutadas en algún punto en el futuro. El bucle de eventos usa " "relojes monotónicos para seguir el tiempo." -#: ../Doc/library/asyncio-eventloop.rst:237 +#: ../Doc/library/asyncio-eventloop.rst:249 msgid "" "Schedule *callback* to be called after the given *delay* number of seconds " "(can be either an int or a float)." @@ -431,8 +439,8 @@ msgstr "" "Planifica *callback* para ser ejecutada luego de *delay* número de segundos " "(puede ser tanto un entero como un flotante)." -#: ../Doc/library/asyncio-eventloop.rst:240 -#: ../Doc/library/asyncio-eventloop.rst:272 +#: ../Doc/library/asyncio-eventloop.rst:252 +#: ../Doc/library/asyncio-eventloop.rst:284 msgid "" "An instance of :class:`asyncio.TimerHandle` is returned which can be used to " "cancel the callback." @@ -440,7 +448,7 @@ msgstr "" "Una instancia de :class:`asyncio.TimerHandle` es retornada, la que puede ser " "utilizada para cancelar la ejecución." -#: ../Doc/library/asyncio-eventloop.rst:243 +#: ../Doc/library/asyncio-eventloop.rst:255 msgid "" "*callback* will be called exactly once. If two callbacks are scheduled for " "exactly the same time, the order in which they are called is undefined." @@ -449,7 +457,7 @@ msgstr "" "planificadas para el mismo momento exacto, el orden en el que son ejecutadas " "es indefinido." -#: ../Doc/library/asyncio-eventloop.rst:247 +#: ../Doc/library/asyncio-eventloop.rst:259 msgid "" "The optional positional *args* will be passed to the callback when it is " "called. If you want the callback to be called with keyword arguments use :" @@ -459,7 +467,7 @@ msgstr "" "sea ejecutada. Si quieres que la llamada sea ejecutada con argumentos de " "palabra clave usa :func:`functools.partial`." -#: ../Doc/library/asyncio-eventloop.rst:259 +#: ../Doc/library/asyncio-eventloop.rst:271 msgid "" "In Python 3.7 and earlier with the default event loop implementation, the " "*delay* could not exceed one day. This has been fixed in Python 3.8." @@ -468,7 +476,7 @@ msgstr "" "eventos predeterminada, el *delay* no puede exceder un día. Esto fue " "arreglado en Python 3.8." -#: ../Doc/library/asyncio-eventloop.rst:266 +#: ../Doc/library/asyncio-eventloop.rst:278 msgid "" "Schedule *callback* to be called at the given absolute timestamp *when* (an " "int or a float), using the same time reference as :meth:`loop.time`." @@ -477,11 +485,11 @@ msgstr "" "*when* (un entero o un flotante), usando la misma referencia de tiempo que :" "meth:`loop.time`." -#: ../Doc/library/asyncio-eventloop.rst:270 +#: ../Doc/library/asyncio-eventloop.rst:282 msgid "This method's behavior is the same as :meth:`call_later`." msgstr "El comportamiento de este método es el mismo que :meth:`call_later`." -#: ../Doc/library/asyncio-eventloop.rst:279 +#: ../Doc/library/asyncio-eventloop.rst:291 msgid "" "In Python 3.7 and earlier with the default event loop implementation, the " "difference between *when* and the current time could not exceed one day. " @@ -491,7 +499,7 @@ msgstr "" "eventos predeterminada, la diferencia entre *when* y el tiempo actual no " "puede exceder un día. Esto fue arreglado en Python 3.8." -#: ../Doc/library/asyncio-eventloop.rst:286 +#: ../Doc/library/asyncio-eventloop.rst:298 msgid "" "Return the current time, as a :class:`float` value, according to the event " "loop's internal monotonic clock." @@ -499,7 +507,7 @@ msgstr "" "Retorna el tiempo actual, como un :class:`float`, de acuerdo al reloj " "monotónico interno del bucle de evento." -#: ../Doc/library/asyncio-eventloop.rst:290 +#: ../Doc/library/asyncio-eventloop.rst:302 msgid "" "In Python 3.7 and earlier timeouts (relative *delay* or absolute *when*) " "should not exceed one day. This has been fixed in Python 3.8." @@ -507,19 +515,19 @@ msgstr "" "En Python 3.7 y versiones anteriores los tiempos de espera (*delay* relativo " "o *when* absoluto) no deben exceder un día. Esto fue arreglado en Python 3.8." -#: ../Doc/library/asyncio-eventloop.rst:296 +#: ../Doc/library/asyncio-eventloop.rst:308 msgid "The :func:`asyncio.sleep` function." msgstr "La función :func:`asyncio.sleep`." -#: ../Doc/library/asyncio-eventloop.rst:300 +#: ../Doc/library/asyncio-eventloop.rst:312 msgid "Creating Futures and Tasks" msgstr "Creando Futuros y Tareas" -#: ../Doc/library/asyncio-eventloop.rst:304 +#: ../Doc/library/asyncio-eventloop.rst:316 msgid "Create an :class:`asyncio.Future` object attached to the event loop." msgstr "Crea un objeto :class:`asyncio.Future` adjunto al bucle de eventos." -#: ../Doc/library/asyncio-eventloop.rst:306 +#: ../Doc/library/asyncio-eventloop.rst:318 msgid "" "This is the preferred way to create Futures in asyncio. This lets third-" "party event loops provide alternative implementations of the Future object " @@ -529,14 +537,14 @@ msgstr "" "bucles de eventos de terceros provean implementaciones alternativas del " "objeto Future (con mejor rendimiento o instrumentación)." -#: ../Doc/library/asyncio-eventloop.rst:314 +#: ../Doc/library/asyncio-eventloop.rst:326 msgid "" "Schedule the execution of a :ref:`coroutine`. Return a :class:`Task` object." msgstr "" "Planifica la ejecución de una :ref:`Coroutine`. Retorna un objeto :class:" "`Task`." -#: ../Doc/library/asyncio-eventloop.rst:317 +#: ../Doc/library/asyncio-eventloop.rst:329 msgid "" "Third-party event loops can use their own subclass of :class:`Task` for " "interoperability. In this case, the result type is a subclass of :class:" @@ -546,7 +554,7 @@ msgstr "" "`Task` por interoperabilidad. En este caso, el tipo de resultado es una " "subclase de :class:`Task`." -#: ../Doc/library/asyncio-eventloop.rst:321 +#: ../Doc/library/asyncio-eventloop.rst:333 msgid "" "If the *name* argument is provided and not ``None``, it is set as the name " "of the task using :meth:`Task.set_name`." @@ -554,17 +562,17 @@ msgstr "" "Si el argumento *name* es provisto y no ``None``, se establece como el " "nombre de la tarea usando :meth:`Task.set_name`." -#: ../Doc/library/asyncio-eventloop.rst:324 +#: ../Doc/library/asyncio-eventloop.rst:336 msgid "Added the ``name`` parameter." msgstr "Agregado el parámetro ``name``." -#: ../Doc/library/asyncio-eventloop.rst:329 +#: ../Doc/library/asyncio-eventloop.rst:341 msgid "Set a task factory that will be used by :meth:`loop.create_task`." msgstr "" "Establece una fábrica de tareas que será utilizada por :meth:`loop." "create_task`." -#: ../Doc/library/asyncio-eventloop.rst:332 +#: ../Doc/library/asyncio-eventloop.rst:344 msgid "" "If *factory* is ``None`` the default task factory will be set. Otherwise, " "*factory* must be a *callable* with the signature matching ``(loop, coro)``, " @@ -578,16 +586,16 @@ msgstr "" "y *coro* es un objeto de corrutina. El ejecutable debe retornar una objeto :" "class:`asyncio.Future` compatible." -#: ../Doc/library/asyncio-eventloop.rst:340 +#: ../Doc/library/asyncio-eventloop.rst:352 msgid "Return a task factory or ``None`` if the default one is in use." msgstr "" "Retorna una fábrica de tareas o ``None`` si la predefinida está en uso." -#: ../Doc/library/asyncio-eventloop.rst:344 +#: ../Doc/library/asyncio-eventloop.rst:356 msgid "Opening network connections" msgstr "Abriendo conexiones de red" -#: ../Doc/library/asyncio-eventloop.rst:353 +#: ../Doc/library/asyncio-eventloop.rst:365 msgid "" "Open a streaming transport connection to a given address specified by *host* " "and *port*." @@ -595,7 +603,7 @@ msgstr "" "Abre una conexión de transmisión de transporte a una dirección especificada " "por *host* y *port*." -#: ../Doc/library/asyncio-eventloop.rst:356 +#: ../Doc/library/asyncio-eventloop.rst:368 msgid "" "The socket family can be either :py:data:`~socket.AF_INET` or :py:data:" "`~socket.AF_INET6` depending on *host* (or the *family* argument, if " @@ -605,13 +613,13 @@ msgstr "" "data:`~socket.AF_INET6` dependiendo de *host* (o del argumento *family* si " "es que fue provisto)." -#: ../Doc/library/asyncio-eventloop.rst:360 +#: ../Doc/library/asyncio-eventloop.rst:372 msgid "The socket type will be :py:data:`~socket.SOCK_STREAM`." msgstr "El tipo de socket será :py:data:`~socket.SOCK_STREAM`." -#: ../Doc/library/asyncio-eventloop.rst:362 -#: ../Doc/library/asyncio-eventloop.rst:978 -#: ../Doc/library/asyncio-eventloop.rst:994 +#: ../Doc/library/asyncio-eventloop.rst:374 +#: ../Doc/library/asyncio-eventloop.rst:990 +#: ../Doc/library/asyncio-eventloop.rst:1006 msgid "" "*protocol_factory* must be a callable returning an :ref:`asyncio protocol " "` implementation." @@ -619,7 +627,7 @@ msgstr "" "*protocol_factory* debe ser un ejecutable que retorna una implementación " "del :ref:`asyncio protocol `." -#: ../Doc/library/asyncio-eventloop.rst:365 +#: ../Doc/library/asyncio-eventloop.rst:377 msgid "" "This method will try to establish the connection in the background. When " "successful, it returns a ``(transport, protocol)`` pair." @@ -627,11 +635,11 @@ msgstr "" "Este método tratará de establecer la conexión en un segundo plano. Cuando es " "exitosa, retorna un par ``(transport, protocol)``." -#: ../Doc/library/asyncio-eventloop.rst:368 +#: ../Doc/library/asyncio-eventloop.rst:380 msgid "The chronological synopsis of the underlying operation is as follows:" msgstr "La sinopsis cronológica de las operaciones subyacentes es como sigue:" -#: ../Doc/library/asyncio-eventloop.rst:370 +#: ../Doc/library/asyncio-eventloop.rst:382 msgid "" "The connection is established and a :ref:`transport ` is " "created for it." @@ -639,7 +647,7 @@ msgstr "" "La conexión es establecida y un :ref:`transport ` es " "creado para ello." -#: ../Doc/library/asyncio-eventloop.rst:373 +#: ../Doc/library/asyncio-eventloop.rst:385 msgid "" "*protocol_factory* is called without arguments and is expected to return a :" "ref:`protocol ` instance." @@ -647,7 +655,7 @@ msgstr "" "*protocol_factory* es llamado sin argumentos y se espera que retorne una " "instancia de :ref:`protocol `." -#: ../Doc/library/asyncio-eventloop.rst:376 +#: ../Doc/library/asyncio-eventloop.rst:388 msgid "" "The protocol instance is coupled with the transport by calling its :meth:" "`~BaseProtocol.connection_made` method." @@ -655,24 +663,24 @@ msgstr "" "La instancia del protocolo se acopla con el transporte mediante el llamado " "de su método :meth:`~BaseProtocol.connection_made`." -#: ../Doc/library/asyncio-eventloop.rst:379 +#: ../Doc/library/asyncio-eventloop.rst:391 msgid "A ``(transport, protocol)`` tuple is returned on success." msgstr "" "Una tupla ``(transport, protocol)`` es retornada cuando se tiene éxito." -#: ../Doc/library/asyncio-eventloop.rst:381 +#: ../Doc/library/asyncio-eventloop.rst:393 msgid "" "The created transport is an implementation-dependent bidirectional stream." msgstr "" "El transporte creado es una transmisión (*stream*) bidireccional que depende " "de la implementación." -#: ../Doc/library/asyncio-eventloop.rst:384 -#: ../Doc/library/asyncio-eventloop.rst:506 +#: ../Doc/library/asyncio-eventloop.rst:396 +#: ../Doc/library/asyncio-eventloop.rst:518 msgid "Other arguments:" msgstr "Otros argumentos:" -#: ../Doc/library/asyncio-eventloop.rst:386 +#: ../Doc/library/asyncio-eventloop.rst:398 msgid "" "*ssl*: if given and not false, a SSL/TLS transport is created (by default a " "plain TCP transport is created). If *ssl* is a :class:`ssl.SSLContext` " @@ -686,11 +694,11 @@ msgstr "" "transporte; si *ssl* es :const:`True`, se utiliza un contexto predeterminado " "retornado por :func:`ssl.create_default_context`." -#: ../Doc/library/asyncio-eventloop.rst:392 +#: ../Doc/library/asyncio-eventloop.rst:404 msgid ":ref:`SSL/TLS security considerations `" msgstr ":ref:`Consideraciones de seguridad SSL/TLS `" -#: ../Doc/library/asyncio-eventloop.rst:394 +#: ../Doc/library/asyncio-eventloop.rst:406 msgid "" "*server_hostname* sets or overrides the hostname that the target server's " "certificate will be matched against. Should only be passed if *ssl* is not " @@ -710,7 +718,7 @@ msgstr "" "permitiendo potenciales ataques de hombre-en-el-medio, *man-in-the-middle " "attacks*)." -#: ../Doc/library/asyncio-eventloop.rst:402 +#: ../Doc/library/asyncio-eventloop.rst:414 msgid "" "*family*, *proto*, *flags* are the optional address family, protocol and " "flags to be passed through to getaddrinfo() for *host* resolution. If given, " @@ -722,7 +730,7 @@ msgstr "" "de *host*. Si están dados, todos ellos deberían ser enteros de las " "constantes del módulo :mod:`socket` correspondiente." -#: ../Doc/library/asyncio-eventloop.rst:407 +#: ../Doc/library/asyncio-eventloop.rst:419 #, fuzzy msgid "" "*happy_eyeballs_delay*, if given, enables Happy Eyeballs for this " @@ -740,7 +748,7 @@ msgstr "" "Delay*) como es definido en :rfc:`8305`. Un valor predefinido sensible que " "es recomendado por el RFC es ``0.25`` (250 milisegundos)." -#: ../Doc/library/asyncio-eventloop.rst:415 +#: ../Doc/library/asyncio-eventloop.rst:427 msgid "" "*interleave* controls address reordering when a host name resolves to " "multiple IP addresses. If ``0`` or unspecified, no reordering is done, and " @@ -760,7 +768,7 @@ msgstr "" "`8305`. El valor predefinido es ``0`` si *happy_eyeballs_delay* no es " "especificado, y ``1`` si lo es." -#: ../Doc/library/asyncio-eventloop.rst:424 +#: ../Doc/library/asyncio-eventloop.rst:436 msgid "" "*sock*, if given, should be an existing, already connected :class:`socket." "socket` object to be used by the transport. If *sock* is given, none of " @@ -772,7 +780,7 @@ msgstr "" "ningún *host*, *port*, *family*, *proto*, *flags*, *happy_eyeballs_delay*, " "*interleave* o *local_addr* deben ser especificados." -#: ../Doc/library/asyncio-eventloop.rst:430 +#: ../Doc/library/asyncio-eventloop.rst:442 msgid "" "*local_addr*, if given, is a ``(local_host, local_port)`` tuple used to bind " "the socket to locally. The *local_host* and *local_port* are looked up " @@ -783,8 +791,8 @@ msgstr "" "buscados usando ``getaddrinfo()``, de manera similar que con *host* y " "*puerto*." -#: ../Doc/library/asyncio-eventloop.rst:434 -#: ../Doc/library/asyncio-eventloop.rst:787 +#: ../Doc/library/asyncio-eventloop.rst:446 +#: ../Doc/library/asyncio-eventloop.rst:799 msgid "" "*ssl_handshake_timeout* is (for a TLS connection) the time in seconds to " "wait for the TLS handshake to complete before aborting the connection. " @@ -794,11 +802,11 @@ msgstr "" "esperar que se complete el apretón de manos (*handshake*) TLS antes de " "abortar la conexión. ``60.0`` segundos si es ``None`` (predefinido)." -#: ../Doc/library/asyncio-eventloop.rst:440 +#: ../Doc/library/asyncio-eventloop.rst:452 msgid "Added the *happy_eyeballs_delay* and *interleave* parameters." msgstr "Agregados los parámetros *happy_eyeballs_delay* y *interleave*." -#: ../Doc/library/asyncio-eventloop.rst:442 +#: ../Doc/library/asyncio-eventloop.rst:454 msgid "" "Happy Eyeballs Algorithm: Success with Dual-Stack Hosts. When a server's " "IPv4 path and protocol are working, but the server's IPv6 path and protocol " @@ -818,18 +826,18 @@ msgstr "" "para algoritmos que reducen esta demora visible por el usuario, y provee un " "algoritmo." -#: ../Doc/library/asyncio-eventloop.rst:451 +#: ../Doc/library/asyncio-eventloop.rst:463 msgid "For more information: https://tools.ietf.org/html/rfc6555" msgstr "Para mas información: https://tools.ietf.org/html/rfc6555" -#: ../Doc/library/asyncio-eventloop.rst:455 -#: ../Doc/library/asyncio-eventloop.rst:572 -#: ../Doc/library/asyncio-eventloop.rst:725 +#: ../Doc/library/asyncio-eventloop.rst:467 +#: ../Doc/library/asyncio-eventloop.rst:584 +#: ../Doc/library/asyncio-eventloop.rst:737 msgid "The *ssl_handshake_timeout* parameter." msgstr "El parámetro *ssl_handshake_timeout*." -#: ../Doc/library/asyncio-eventloop.rst:459 -#: ../Doc/library/asyncio-eventloop.rst:655 +#: ../Doc/library/asyncio-eventloop.rst:471 +#: ../Doc/library/asyncio-eventloop.rst:667 msgid "" "The socket option :py:data:`~socket.TCP_NODELAY` is set by default for all " "TCP connections." @@ -837,12 +845,12 @@ msgstr "" "La opción del socket :py:data:`~socket.TCP_NODELAY` es establecida de manera " "predeterminada para todas las conexiones TCP." -#: ../Doc/library/asyncio-eventloop.rst:464 -#: ../Doc/library/asyncio-eventloop.rst:660 +#: ../Doc/library/asyncio-eventloop.rst:476 +#: ../Doc/library/asyncio-eventloop.rst:672 msgid "Added support for SSL/TLS in :class:`ProactorEventLoop`." msgstr "Agregado el soporte para SSL/TLS en :class:`ProactorEventLoop`." -#: ../Doc/library/asyncio-eventloop.rst:468 +#: ../Doc/library/asyncio-eventloop.rst:480 msgid "" "The :func:`open_connection` function is a high-level alternative API. It " "returns a pair of (:class:`StreamReader`, :class:`StreamWriter`) that can be " @@ -852,7 +860,7 @@ msgstr "" "Retorna un par de (:class:`StreamReader`, :class:`StreamWriter`) que puede " "ser usado directamente en código async/await." -#: ../Doc/library/asyncio-eventloop.rst:479 +#: ../Doc/library/asyncio-eventloop.rst:491 msgid "" "The parameter *reuse_address* is no longer supported, as using :py:data:" "`~sockets.SO_REUSEADDR` poses a significant security concern for UDP. " @@ -862,7 +870,7 @@ msgstr "" "`~sockets.SO_REUSEADDR` plantea un problema de seguridad importante para " "UDP. Pasando explícitamente ``reuse_address=True`` lanzará una excepción." -#: ../Doc/library/asyncio-eventloop.rst:483 +#: ../Doc/library/asyncio-eventloop.rst:495 msgid "" "When multiple processes with differing UIDs assign sockets to an identical " "UDP socket address with ``SO_REUSEADDR``, incoming packets can become " @@ -872,7 +880,7 @@ msgstr "" "dirección socket UDP con ``SO_REUSEADDR``, los paquetes entrantes pueden " "distribuirse aleatoriamente entre los sockets." -#: ../Doc/library/asyncio-eventloop.rst:487 +#: ../Doc/library/asyncio-eventloop.rst:499 msgid "" "For supported platforms, *reuse_port* can be used as a replacement for " "similar functionality. With *reuse_port*, :py:data:`~sockets.SO_REUSEPORT` " @@ -885,11 +893,11 @@ msgstr "" "que procesos con distintos UIDs asignen sockets a la misma dirección de " "socket." -#: ../Doc/library/asyncio-eventloop.rst:493 +#: ../Doc/library/asyncio-eventloop.rst:505 msgid "Create a datagram connection." msgstr "Crea un datagrama de conexión." -#: ../Doc/library/asyncio-eventloop.rst:495 +#: ../Doc/library/asyncio-eventloop.rst:507 msgid "" "The socket family can be either :py:data:`~socket.AF_INET`, :py:data:" "`~socket.AF_INET6`, or :py:data:`~socket.AF_UNIX`, depending on *host* (or " @@ -899,13 +907,13 @@ msgstr "" "`~socket.AF_INET6`, como :py:data:`~socket.AF_UNIX`, dependiendo de *host* " "(o del argumento *family*, si fue provisto)." -#: ../Doc/library/asyncio-eventloop.rst:499 +#: ../Doc/library/asyncio-eventloop.rst:511 msgid "The socket type will be :py:data:`~socket.SOCK_DGRAM`." msgstr "El tipo de socket será :py:data:`~socket.SOCK_DGRAM`." -#: ../Doc/library/asyncio-eventloop.rst:501 -#: ../Doc/library/asyncio-eventloop.rst:597 -#: ../Doc/library/asyncio-eventloop.rst:708 +#: ../Doc/library/asyncio-eventloop.rst:513 +#: ../Doc/library/asyncio-eventloop.rst:609 +#: ../Doc/library/asyncio-eventloop.rst:720 msgid "" "*protocol_factory* must be a callable returning a :ref:`protocol ` implementation." @@ -913,13 +921,13 @@ msgstr "" "*protocol_factory* debe ser un ejecutable que retorne una implementación de :" "ref:`protocol `." -#: ../Doc/library/asyncio-eventloop.rst:504 -#: ../Doc/library/asyncio-eventloop.rst:558 +#: ../Doc/library/asyncio-eventloop.rst:516 +#: ../Doc/library/asyncio-eventloop.rst:570 msgid "A tuple of ``(transport, protocol)`` is returned on success." msgstr "" "Una tupla de ``(transport, protocol)`` es retornada cuando se tiene éxito." -#: ../Doc/library/asyncio-eventloop.rst:508 +#: ../Doc/library/asyncio-eventloop.rst:520 msgid "" "*local_addr*, if given, is a ``(local_host, local_port)`` tuple used to bind " "the socket to locally. The *local_host* and *local_port* are looked up " @@ -929,7 +937,7 @@ msgstr "" "para enlazar el socket localmente. Los *local_host* y *local_port* son " "buscados utilizando :meth:`getaddrinfo`." -#: ../Doc/library/asyncio-eventloop.rst:512 +#: ../Doc/library/asyncio-eventloop.rst:524 msgid "" "*remote_addr*, if given, is a ``(remote_host, remote_port)`` tuple used to " "connect the socket to a remote address. The *remote_host* and *remote_port* " @@ -939,7 +947,7 @@ msgstr "" "utilizada para conectar el socket a una dirección remota. Los *remote_host* " "y *remote_port* son buscados utilizando :meth:`getaddrinfo`." -#: ../Doc/library/asyncio-eventloop.rst:516 +#: ../Doc/library/asyncio-eventloop.rst:528 msgid "" "*family*, *proto*, *flags* are the optional address family, protocol and " "flags to be passed through to :meth:`getaddrinfo` for *host* resolution. If " @@ -951,7 +959,7 @@ msgstr "" "resolución de *host*. Si está dado, estos deben ser todos enteros de las " "constantes del módulo :mod:`socket` correspondiente." -#: ../Doc/library/asyncio-eventloop.rst:521 +#: ../Doc/library/asyncio-eventloop.rst:533 msgid "" "*reuse_port* tells the kernel to allow this endpoint to be bound to the same " "port as other existing endpoints are bound to, so long as they all set this " @@ -966,7 +974,7 @@ msgstr "" "algunos sistemas Unix. Si la constante :py:data:`~socket.SO_REUSEPORT` no " "está definida entonces esta funcionalidad no es soportada." -#: ../Doc/library/asyncio-eventloop.rst:527 +#: ../Doc/library/asyncio-eventloop.rst:539 msgid "" "*allow_broadcast* tells the kernel to allow this endpoint to send messages " "to the broadcast address." @@ -974,7 +982,7 @@ msgstr "" "*allow_broadcast* dice al kernel que habilite este punto de conexión para " "enviar mensajes a la dirección de transmisión (*broadcast*)." -#: ../Doc/library/asyncio-eventloop.rst:530 +#: ../Doc/library/asyncio-eventloop.rst:542 msgid "" "*sock* can optionally be specified in order to use a preexisting, already " "connected, :class:`socket.socket` object to be used by the transport. If " @@ -986,7 +994,7 @@ msgstr "" "transporte. Si están especificados, *local_addr* y *remote_addr* deben ser " "omitidos (tienen que ser :const:`None`)." -#: ../Doc/library/asyncio-eventloop.rst:535 +#: ../Doc/library/asyncio-eventloop.rst:547 msgid "" "See :ref:`UDP echo client protocol ` and :" "ref:`UDP echo server protocol ` examples." @@ -995,7 +1003,7 @@ msgstr "" "client-protocol>` y :ref:`UDP echo server protocol `." -#: ../Doc/library/asyncio-eventloop.rst:538 +#: ../Doc/library/asyncio-eventloop.rst:550 msgid "" "The *family*, *proto*, *flags*, *reuse_address*, *reuse_port, " "*allow_broadcast*, and *sock* parameters were added." @@ -1003,7 +1011,7 @@ msgstr "" "Los parámetros *family*, *proto*, *flags*, *reuse_address*, *reuse_port*, " "*allow_broadcast* y *sock* fueron agregados." -#: ../Doc/library/asyncio-eventloop.rst:542 +#: ../Doc/library/asyncio-eventloop.rst:554 msgid "" "The *reuse_address* parameter is no longer supported due to security " "concerns." @@ -1011,15 +1019,15 @@ msgstr "" "El parámetro *reuse_address* ya no es soportado debido a problemas de " "seguridad." -#: ../Doc/library/asyncio-eventloop.rst:546 +#: ../Doc/library/asyncio-eventloop.rst:558 msgid "Added support for Windows." msgstr "Se agregó soporte para Windows." -#: ../Doc/library/asyncio-eventloop.rst:553 +#: ../Doc/library/asyncio-eventloop.rst:565 msgid "Create a Unix connection." msgstr "Crear una conexión Unix." -#: ../Doc/library/asyncio-eventloop.rst:555 +#: ../Doc/library/asyncio-eventloop.rst:567 msgid "" "The socket family will be :py:data:`~socket.AF_UNIX`; socket type will be :" "py:data:`~socket.SOCK_STREAM`." @@ -1027,7 +1035,7 @@ msgstr "" "La familia de sockets será :py:data:`~socket.AF_UNIX`; el tipo de socket " "será :py:data:`~socket.SOCK_STREAM`." -#: ../Doc/library/asyncio-eventloop.rst:560 +#: ../Doc/library/asyncio-eventloop.rst:572 msgid "" "*path* is the name of a Unix domain socket and is required, unless a *sock* " "parameter is specified. Abstract Unix sockets, :class:`str`, :class:" @@ -1037,7 +1045,7 @@ msgstr "" "que un parámetro *sock* sea especificado. Los socket Unix abstractos, :class:" "`str`, :class:`bytes`, y :class:`~pathlib.Path` son soportados." -#: ../Doc/library/asyncio-eventloop.rst:565 +#: ../Doc/library/asyncio-eventloop.rst:577 msgid "" "See the documentation of the :meth:`loop.create_connection` method for " "information about arguments to this method." @@ -1045,21 +1053,21 @@ msgstr "" "Vea la documentación del método :meth:`loop.create_connection` para " "información acerca de los argumentos de este método." -#: ../Doc/library/asyncio-eventloop.rst:569 -#: ../Doc/library/asyncio-eventloop.rst:689 -#: ../Doc/library/asyncio-eventloop.rst:1045 +#: ../Doc/library/asyncio-eventloop.rst:581 +#: ../Doc/library/asyncio-eventloop.rst:701 +#: ../Doc/library/asyncio-eventloop.rst:1057 msgid ":ref:`Availability `: Unix." msgstr ":ref:`Availability `: Unix." -#: ../Doc/library/asyncio-eventloop.rst:576 +#: ../Doc/library/asyncio-eventloop.rst:588 msgid "The *path* parameter can now be a :term:`path-like object`." msgstr "El parámetro *path* ahora puede ser un :term:`path-like object`." -#: ../Doc/library/asyncio-eventloop.rst:580 +#: ../Doc/library/asyncio-eventloop.rst:592 msgid "Creating network servers" msgstr "Creando servidores de red" -#: ../Doc/library/asyncio-eventloop.rst:590 +#: ../Doc/library/asyncio-eventloop.rst:602 msgid "" "Create a TCP server (socket type :data:`~socket.SOCK_STREAM`) listening on " "*port* of the *host* address." @@ -1067,15 +1075,15 @@ msgstr "" "Crea un servidor TCP (tipo de socket :data:`~socket.SOCK_STREAM`) escuchando " "en *port* de la dirección *host*." -#: ../Doc/library/asyncio-eventloop.rst:593 +#: ../Doc/library/asyncio-eventloop.rst:605 msgid "Returns a :class:`Server` object." msgstr "Retorna un objeto :class:`Server`." -#: ../Doc/library/asyncio-eventloop.rst:595 +#: ../Doc/library/asyncio-eventloop.rst:607 msgid "Arguments:" msgstr "Argumentos:" -#: ../Doc/library/asyncio-eventloop.rst:600 +#: ../Doc/library/asyncio-eventloop.rst:612 msgid "" "The *host* parameter can be set to several types which determine where the " "server would be listening:" @@ -1083,7 +1091,7 @@ msgstr "" "El parámetro *host* puede ser establecido a distintos tipos que determinan " "donde el servidor estaría escuchando:" -#: ../Doc/library/asyncio-eventloop.rst:603 +#: ../Doc/library/asyncio-eventloop.rst:615 msgid "" "If *host* is a string, the TCP server is bound to a single network interface " "specified by *host*." @@ -1091,7 +1099,7 @@ msgstr "" "Si *host* es una cadena, el servidor TCP está enlazado a una sola interfaz " "de red especificada por *host*." -#: ../Doc/library/asyncio-eventloop.rst:606 +#: ../Doc/library/asyncio-eventloop.rst:618 msgid "" "If *host* is a sequence of strings, the TCP server is bound to all network " "interfaces specified by the sequence." @@ -1099,7 +1107,7 @@ msgstr "" "Si *host* es una secuencia de cadenas, el servidor TCP está enlazado a todas " "las interfaces de red especificadas por la secuencia." -#: ../Doc/library/asyncio-eventloop.rst:609 +#: ../Doc/library/asyncio-eventloop.rst:621 msgid "" "If *host* is an empty string or ``None``, all interfaces are assumed and a " "list of multiple sockets will be returned (most likely one for IPv4 and " @@ -1109,7 +1117,7 @@ msgstr "" "una lista con múltiples sockets será retornada (mas probablemente uno para " "IPv4 y otro para IPv6)." -#: ../Doc/library/asyncio-eventloop.rst:613 +#: ../Doc/library/asyncio-eventloop.rst:625 msgid "" "*family* can be set to either :data:`socket.AF_INET` or :data:`~socket." "AF_INET6` to force the socket to use IPv4 or IPv6. If not set, the *family* " @@ -1120,11 +1128,11 @@ msgstr "" "*family* será determinada por medio del nombre del host (por defecto será :" "data:`~socket.AF_UNSPEC`)." -#: ../Doc/library/asyncio-eventloop.rst:618 +#: ../Doc/library/asyncio-eventloop.rst:630 msgid "*flags* is a bitmask for :meth:`getaddrinfo`." msgstr "*flags* es una máscara de bits para :meth:`getaddrinfo`." -#: ../Doc/library/asyncio-eventloop.rst:620 +#: ../Doc/library/asyncio-eventloop.rst:632 msgid "" "*sock* can optionally be specified in order to use a preexisting socket " "object. If specified, *host* and *port* must not be specified." @@ -1133,7 +1141,7 @@ msgstr "" "preexistentes. Si se utiliza, entonces *host* y *port* no deben ser " "especificados." -#: ../Doc/library/asyncio-eventloop.rst:623 +#: ../Doc/library/asyncio-eventloop.rst:635 msgid "" "*backlog* is the maximum number of queued connections passed to :meth:" "`~socket.socket.listen` (defaults to 100)." @@ -1141,7 +1149,7 @@ msgstr "" "*backlog* es el número máximo de conexiones encoladas pasadas a :meth:" "`~socket.socket.listen` (el valor predeterminado es 100)." -#: ../Doc/library/asyncio-eventloop.rst:626 +#: ../Doc/library/asyncio-eventloop.rst:638 msgid "" "*ssl* can be set to an :class:`~ssl.SSLContext` instance to enable TLS over " "the accepted connections." @@ -1149,7 +1157,7 @@ msgstr "" "*ssl* puede ser establecido como una instancia de :class:`~ssl.SSLContext` " "para habilitar TLS sobre las conexiones aceptadas." -#: ../Doc/library/asyncio-eventloop.rst:629 +#: ../Doc/library/asyncio-eventloop.rst:641 msgid "" "*reuse_address* tells the kernel to reuse a local socket in ``TIME_WAIT`` " "state, without waiting for its natural timeout to expire. If not specified " @@ -1159,7 +1167,7 @@ msgstr "" "``TIME_WAIT``, sin esperar que su plazo de ejecución expire. Si no es " "especificado será establecido automáticamente como ``True`` en Unix." -#: ../Doc/library/asyncio-eventloop.rst:634 +#: ../Doc/library/asyncio-eventloop.rst:646 msgid "" "*reuse_port* tells the kernel to allow this endpoint to be bound to the same " "port as other existing endpoints are bound to, so long as they all set this " @@ -1170,7 +1178,7 @@ msgstr "" "existentes también están unidos, siempre y cuando todos ellos establezcan " "esta bandera al ser creados." -#: ../Doc/library/asyncio-eventloop.rst:639 +#: ../Doc/library/asyncio-eventloop.rst:651 msgid "" "*ssl_handshake_timeout* is (for a TLS server) the time in seconds to wait " "for the TLS handshake to complete before aborting the connection. ``60.0`` " @@ -1180,7 +1188,7 @@ msgstr "" "esperar por el apretón de manos (*handshake*) TLS a ser completado antes de " "abortar la conexión. ``60.0`` si es ``None`` (su valor predeterminado)." -#: ../Doc/library/asyncio-eventloop.rst:643 +#: ../Doc/library/asyncio-eventloop.rst:655 msgid "" "*start_serving* set to ``True`` (the default) causes the created server to " "start accepting connections immediately. When set to ``False``, the user " @@ -1193,15 +1201,15 @@ msgstr "" "start_serving` o :meth:`Server.serve_forever` para que el servidor comience " "a aceptar conexiones." -#: ../Doc/library/asyncio-eventloop.rst:651 +#: ../Doc/library/asyncio-eventloop.rst:663 msgid "Added *ssl_handshake_timeout* and *start_serving* parameters." msgstr "Agregados los parámetros *ssl_handshake_timeout* y *start_serving*." -#: ../Doc/library/asyncio-eventloop.rst:664 +#: ../Doc/library/asyncio-eventloop.rst:676 msgid "The *host* parameter can be a sequence of strings." msgstr "El parámetro *host* puede ser una secuencia de cadenas." -#: ../Doc/library/asyncio-eventloop.rst:668 +#: ../Doc/library/asyncio-eventloop.rst:680 msgid "" "The :func:`start_server` function is a higher-level alternative API that " "returns a pair of :class:`StreamReader` and :class:`StreamWriter` that can " @@ -1211,7 +1219,7 @@ msgstr "" "retorna un par de :class:`StreamReader` y :class:`StreamWriter` que pueden " "ser usados en código async/await." -#: ../Doc/library/asyncio-eventloop.rst:677 +#: ../Doc/library/asyncio-eventloop.rst:689 msgid "" "Similar to :meth:`loop.create_server` but works with the :py:data:`~socket." "AF_UNIX` socket family." @@ -1219,7 +1227,7 @@ msgstr "" "Similar a :meth:`loop.create_server` pero funciona con la familia de " "sockets :py:data:`~socket.AF_UNIX`." -#: ../Doc/library/asyncio-eventloop.rst:680 +#: ../Doc/library/asyncio-eventloop.rst:692 msgid "" "*path* is the name of a Unix domain socket, and is required, unless a *sock* " "argument is provided. Abstract Unix sockets, :class:`str`, :class:`bytes`, " @@ -1229,7 +1237,7 @@ msgstr "" "el argumento *sock* sea provisto. Son soportados sockets unix abstractos, :" "class:`str`, :class:`bytes`, y rutas :class:`~pathlib.Path`." -#: ../Doc/library/asyncio-eventloop.rst:685 +#: ../Doc/library/asyncio-eventloop.rst:697 msgid "" "See the documentation of the :meth:`loop.create_server` method for " "information about arguments to this method." @@ -1237,19 +1245,19 @@ msgstr "" "Vea la documentación de el método :meth:`loop.create_server` para mas " "información acerca de los argumentos de este método." -#: ../Doc/library/asyncio-eventloop.rst:692 +#: ../Doc/library/asyncio-eventloop.rst:704 msgid "The *ssl_handshake_timeout* and *start_serving* parameters." msgstr "Los parámetros *ssl_handshake_timeout*y *start_serving*." -#: ../Doc/library/asyncio-eventloop.rst:696 +#: ../Doc/library/asyncio-eventloop.rst:708 msgid "The *path* parameter can now be a :class:`~pathlib.Path` object." msgstr "El parámetro *path* ahora puede ser un objeto :class:`~pathlib.Path`." -#: ../Doc/library/asyncio-eventloop.rst:701 +#: ../Doc/library/asyncio-eventloop.rst:713 msgid "Wrap an already accepted connection into a transport/protocol pair." msgstr "Envuelve una conexión ya aceptada en un par de transporte/protocolo." -#: ../Doc/library/asyncio-eventloop.rst:703 +#: ../Doc/library/asyncio-eventloop.rst:715 msgid "" "This method can be used by servers that accept connections outside of " "asyncio but that use asyncio to handle them." @@ -1257,12 +1265,12 @@ msgstr "" "Este método puede ser usado por servidores que acepten conexiones por fuera " "de asyncio, pero que usen asyncio para manejarlas." -#: ../Doc/library/asyncio-eventloop.rst:706 -#: ../Doc/library/asyncio-eventloop.rst:773 +#: ../Doc/library/asyncio-eventloop.rst:718 +#: ../Doc/library/asyncio-eventloop.rst:785 msgid "Parameters:" msgstr "Parámetros:" -#: ../Doc/library/asyncio-eventloop.rst:711 +#: ../Doc/library/asyncio-eventloop.rst:723 msgid "" "*sock* is a preexisting socket object returned from :meth:`socket.accept " "`." @@ -1270,7 +1278,7 @@ msgstr "" "*sock* es un objeto socket preexistente retornado por :meth:`socket.accept " "`." -#: ../Doc/library/asyncio-eventloop.rst:714 +#: ../Doc/library/asyncio-eventloop.rst:726 msgid "" "*ssl* can be set to an :class:`~ssl.SSLContext` to enable SSL over the " "accepted connections." @@ -1278,7 +1286,7 @@ msgstr "" "*ssl* puede ser establecido como un :class:`~ssl.SSLContext` para habilitar " "SSL sobre las conexiones aceptadas." -#: ../Doc/library/asyncio-eventloop.rst:717 +#: ../Doc/library/asyncio-eventloop.rst:729 msgid "" "*ssl_handshake_timeout* is (for an SSL connection) the time in seconds to " "wait for the SSL handshake to complete before aborting the connection. " @@ -1288,32 +1296,32 @@ msgstr "" "se esperará para que se complete el apretón de manos (*handshake*) SSL antes " "de abortar la conexión. ``60.0`` si es ``None`` (su valor predeterminado)." -#: ../Doc/library/asyncio-eventloop.rst:721 +#: ../Doc/library/asyncio-eventloop.rst:733 msgid "Returns a ``(transport, protocol)`` pair." msgstr "Retorna un par ``(transport, protocol)``." -#: ../Doc/library/asyncio-eventloop.rst:731 +#: ../Doc/library/asyncio-eventloop.rst:743 msgid "Transferring files" msgstr "Transfiriendo archivos" -#: ../Doc/library/asyncio-eventloop.rst:736 +#: ../Doc/library/asyncio-eventloop.rst:748 msgid "" "Send a *file* over a *transport*. Return the total number of bytes sent." msgstr "" "Envía un *file* a través de un *transport*. Retorna el numero total de bytes " "enviados." -#: ../Doc/library/asyncio-eventloop.rst:739 +#: ../Doc/library/asyncio-eventloop.rst:751 msgid "The method uses high-performance :meth:`os.sendfile` if available." msgstr "" "El método usa :meth:`os.sendfile` de alto rendimiento si está disponible." -#: ../Doc/library/asyncio-eventloop.rst:741 +#: ../Doc/library/asyncio-eventloop.rst:753 msgid "*file* must be a regular file object opened in binary mode." msgstr "*file* debe ser un objeto de archivo regular abierto en modo binario." -#: ../Doc/library/asyncio-eventloop.rst:743 -#: ../Doc/library/asyncio-eventloop.rst:933 +#: ../Doc/library/asyncio-eventloop.rst:755 +#: ../Doc/library/asyncio-eventloop.rst:945 msgid "" "*offset* tells from where to start reading the file. If specified, *count* " "is the total number of bytes to transmit as opposed to sending the file " @@ -1328,7 +1336,7 @@ msgstr "" "error, y :meth:`file.tell() ` puede ser usado para obtener " "el número de bytes enviados hasta el momento." -#: ../Doc/library/asyncio-eventloop.rst:750 +#: ../Doc/library/asyncio-eventloop.rst:762 msgid "" "*fallback* set to ``True`` makes asyncio to manually read and send the file " "when the platform does not support the sendfile system call (e.g. Windows or " @@ -1338,7 +1346,7 @@ msgstr "" "manualmente cuando la plataforma no soporta la llamada de envío de archivos " "del sistema (por ejemplo, Windows o sockets SSL en Unix)." -#: ../Doc/library/asyncio-eventloop.rst:754 +#: ../Doc/library/asyncio-eventloop.rst:766 msgid "" "Raise :exc:`SendfileNotAvailableError` if the system does not support the " "*sendfile* syscall and *fallback* is ``False``." @@ -1346,15 +1354,15 @@ msgstr "" "Lanza :exc:`SendfileNotAvailableError` si el sistema no soporta la llamada " "de envío de archivos del sistema y *fallback* es ``True``." -#: ../Doc/library/asyncio-eventloop.rst:761 +#: ../Doc/library/asyncio-eventloop.rst:773 msgid "TLS Upgrade" msgstr "Actualización de TLS" -#: ../Doc/library/asyncio-eventloop.rst:767 +#: ../Doc/library/asyncio-eventloop.rst:779 msgid "Upgrade an existing transport-based connection to TLS." msgstr "Actualiza una conexión basada en transporte ya existente a TLS." -#: ../Doc/library/asyncio-eventloop.rst:769 +#: ../Doc/library/asyncio-eventloop.rst:781 msgid "" "Return a new transport instance, that the *protocol* must start using " "immediately after the *await*. The *transport* instance passed to the " @@ -1364,7 +1372,7 @@ msgstr "" "usar inmediatamente después del *await*. La instancia *transport* pasada al " "método *start_tls* nunca debe ser usada de nuevo." -#: ../Doc/library/asyncio-eventloop.rst:775 +#: ../Doc/library/asyncio-eventloop.rst:787 msgid "" "*transport* and *protocol* instances that methods like :meth:`~loop." "create_server` and :meth:`~loop.create_connection` return." @@ -1372,11 +1380,11 @@ msgstr "" "Las instancias *transport* y *protocol* que retornan los métodos como :meth:" "`~loop.create_server` y :meth:`~loop.create_connection`." -#: ../Doc/library/asyncio-eventloop.rst:779 +#: ../Doc/library/asyncio-eventloop.rst:791 msgid "*sslcontext*: a configured instance of :class:`~ssl.SSLContext`." msgstr "*sslcontext*: una instancia configurada de :class:`~ssl.SSLContext`." -#: ../Doc/library/asyncio-eventloop.rst:781 +#: ../Doc/library/asyncio-eventloop.rst:793 msgid "" "*server_side* pass ``True`` when a server-side connection is being upgraded " "(like the one created by :meth:`~loop.create_server`)." @@ -1384,7 +1392,7 @@ msgstr "" "*server_side* pasa `True` cuando se actualiza una conexión del lado del " "servidor (como en el caso de una creada por :meth:`~loop.create_server`)." -#: ../Doc/library/asyncio-eventloop.rst:784 +#: ../Doc/library/asyncio-eventloop.rst:796 msgid "" "*server_hostname*: sets or overrides the host name that the target server's " "certificate will be matched against." @@ -1392,11 +1400,11 @@ msgstr "" "*server_hostname*: establece o reemplaza el nombre del host contra el cual " "se compara el certificado del servidor de destino." -#: ../Doc/library/asyncio-eventloop.rst:795 +#: ../Doc/library/asyncio-eventloop.rst:807 msgid "Watching file descriptors" msgstr "Viendo descriptores de archivos" -#: ../Doc/library/asyncio-eventloop.rst:799 +#: ../Doc/library/asyncio-eventloop.rst:811 msgid "" "Start monitoring the *fd* file descriptor for read availability and invoke " "*callback* with the specified arguments once *fd* is available for reading." @@ -1405,13 +1413,13 @@ msgstr "" "lectura e invoca *callback* con los argumentos especificados una vez que " "*fd* está habilitado para ser leído." -#: ../Doc/library/asyncio-eventloop.rst:805 +#: ../Doc/library/asyncio-eventloop.rst:817 msgid "Stop monitoring the *fd* file descriptor for read availability." msgstr "" "Deja de monitorear el descriptor de archivos *fd* para disponibilidad de " "lectura." -#: ../Doc/library/asyncio-eventloop.rst:809 +#: ../Doc/library/asyncio-eventloop.rst:821 msgid "" "Start monitoring the *fd* file descriptor for write availability and invoke " "*callback* with the specified arguments once *fd* is available for writing." @@ -1420,8 +1428,8 @@ msgstr "" "escritura e invoca *callback* con los argumentos especificados una vez que " "*fd* está habilitado para ser escrito." -#: ../Doc/library/asyncio-eventloop.rst:813 -#: ../Doc/library/asyncio-eventloop.rst:1032 +#: ../Doc/library/asyncio-eventloop.rst:825 +#: ../Doc/library/asyncio-eventloop.rst:1044 msgid "" "Use :func:`functools.partial` :ref:`to pass keyword arguments ` to *callback*." @@ -1429,13 +1437,13 @@ msgstr "" "Use :func:`functools.partial` :ref:`para pasar argumentos de palabra clave " "` a *callback*." -#: ../Doc/library/asyncio-eventloop.rst:818 +#: ../Doc/library/asyncio-eventloop.rst:830 msgid "Stop monitoring the *fd* file descriptor for write availability." msgstr "" "Deja de monitorear el descriptor de archivos *fd* para disponibilidad de " "escritura." -#: ../Doc/library/asyncio-eventloop.rst:820 +#: ../Doc/library/asyncio-eventloop.rst:832 msgid "" "See also :ref:`Platform Support ` section for some " "limitations of these methods." @@ -1443,11 +1451,11 @@ msgstr "" "Vea también la sección :ref:`Soporte de plataforma ` para algunas limitaciones de estos métodos." -#: ../Doc/library/asyncio-eventloop.rst:825 +#: ../Doc/library/asyncio-eventloop.rst:837 msgid "Working with socket objects directly" msgstr "Trabajar con objetos sockets directamente" -#: ../Doc/library/asyncio-eventloop.rst:827 +#: ../Doc/library/asyncio-eventloop.rst:839 msgid "" "In general, protocol implementations that use transport-based APIs such as :" "meth:`loop.create_connection` and :meth:`loop.create_server` are faster than " @@ -1462,7 +1470,7 @@ msgstr "" "rendimiento no es crítico, y trabajar directamente con objetos :class:" "`~socket.socket` es mas conveniente." -#: ../Doc/library/asyncio-eventloop.rst:836 +#: ../Doc/library/asyncio-eventloop.rst:848 msgid "" "Receive up to *nbytes* from *sock*. Asynchronous version of :meth:`socket." "recv() `." @@ -1470,20 +1478,20 @@ msgstr "" "Recibe hasta *nbytes* de *sock*. Versión asíncrona de :meth:`socket.recv() " "`." -#: ../Doc/library/asyncio-eventloop.rst:839 +#: ../Doc/library/asyncio-eventloop.rst:851 msgid "Return the received data as a bytes object." msgstr "Retorna los datos recibidos como un objeto bytes." -#: ../Doc/library/asyncio-eventloop.rst:841 -#: ../Doc/library/asyncio-eventloop.rst:855 -#: ../Doc/library/asyncio-eventloop.rst:870 -#: ../Doc/library/asyncio-eventloop.rst:883 -#: ../Doc/library/asyncio-eventloop.rst:909 -#: ../Doc/library/asyncio-eventloop.rst:947 +#: ../Doc/library/asyncio-eventloop.rst:853 +#: ../Doc/library/asyncio-eventloop.rst:867 +#: ../Doc/library/asyncio-eventloop.rst:882 +#: ../Doc/library/asyncio-eventloop.rst:895 +#: ../Doc/library/asyncio-eventloop.rst:921 +#: ../Doc/library/asyncio-eventloop.rst:959 msgid "*sock* must be a non-blocking socket." msgstr "*sock* debe ser un socket no bloqueante." -#: ../Doc/library/asyncio-eventloop.rst:843 +#: ../Doc/library/asyncio-eventloop.rst:855 msgid "" "Even though this method was always documented as a coroutine method, " "releases before Python 3.7 returned a :class:`Future`. Since Python 3.7 this " @@ -1493,7 +1501,7 @@ msgstr "" "corrutina, los lanzamientos previos a Python 3.7 retornaban un :class:" "`Future`. Desde Python 3.7 este es un método ``async def``." -#: ../Doc/library/asyncio-eventloop.rst:850 +#: ../Doc/library/asyncio-eventloop.rst:862 msgid "" "Receive data from *sock* into the *buf* buffer. Modeled after the blocking :" "meth:`socket.recv_into() ` method." @@ -1501,11 +1509,11 @@ msgstr "" "Recibe datos desde *sock* en el búfer *buf*. Modelado después del método " "bloqueante :meth:`socket.recv_into() `." -#: ../Doc/library/asyncio-eventloop.rst:853 +#: ../Doc/library/asyncio-eventloop.rst:865 msgid "Return the number of bytes written to the buffer." msgstr "Retorna el número de bytes escritos en el búfer." -#: ../Doc/library/asyncio-eventloop.rst:861 +#: ../Doc/library/asyncio-eventloop.rst:873 msgid "" "Send *data* to the *sock* socket. Asynchronous version of :meth:`socket." "sendall() `." @@ -1513,7 +1521,7 @@ msgstr "" "Envía *data* al socket *sock*. Versión asíncrona de :meth:`socket.sendall() " "`." -#: ../Doc/library/asyncio-eventloop.rst:864 +#: ../Doc/library/asyncio-eventloop.rst:876 msgid "" "This method continues to send to the socket until either all data in *data* " "has been sent or an error occurs. ``None`` is returned on success. On " @@ -1527,7 +1535,7 @@ msgstr "" "hay manera de determinar cuantos datos, si es que se hubo alguno, se " "procesaron correctamente por el extremo receptor de la conexión." -#: ../Doc/library/asyncio-eventloop.rst:872 +#: ../Doc/library/asyncio-eventloop.rst:884 msgid "" "Even though the method was always documented as a coroutine method, before " "Python 3.7 it returned an :class:`Future`. Since Python 3.7, this is an " @@ -1537,16 +1545,16 @@ msgstr "" "corrutina, antes de Python 3.7 retorna un :class:`Future`. Desde Python 3.7, " "este es un método ``async def``." -#: ../Doc/library/asyncio-eventloop.rst:879 +#: ../Doc/library/asyncio-eventloop.rst:891 msgid "Connect *sock* to a remote socket at *address*." msgstr "Conecta *sock* a un socket remoto en *address*." -#: ../Doc/library/asyncio-eventloop.rst:881 +#: ../Doc/library/asyncio-eventloop.rst:893 msgid "" "Asynchronous version of :meth:`socket.connect() `." msgstr "Versión asíncrona de :meth:`socket.connect() `." -#: ../Doc/library/asyncio-eventloop.rst:885 +#: ../Doc/library/asyncio-eventloop.rst:897 msgid "" "``address`` no longer needs to be resolved. ``sock_connect`` will try to " "check if the *address* is already resolved by calling :func:`socket." @@ -1558,7 +1566,7 @@ msgstr "" "inet_pton`. Si no lo fue, se utilizará :meth:`loop.getaddrinfo` ara resolver " "*address*." -#: ../Doc/library/asyncio-eventloop.rst:894 +#: ../Doc/library/asyncio-eventloop.rst:906 msgid "" ":meth:`loop.create_connection` and :func:`asyncio.open_connection() " "`." @@ -1566,7 +1574,7 @@ msgstr "" ":meth:`loop.create_connection` y :func:`asyncio.open_connection() " "`." -#: ../Doc/library/asyncio-eventloop.rst:900 +#: ../Doc/library/asyncio-eventloop.rst:912 msgid "" "Accept a connection. Modeled after the blocking :meth:`socket.accept() " "` method." @@ -1574,7 +1582,7 @@ msgstr "" "Acepta una conexión. Modelado después del método bloqueante :meth:`socket." "accept() `." -#: ../Doc/library/asyncio-eventloop.rst:903 +#: ../Doc/library/asyncio-eventloop.rst:915 msgid "" "The socket must be bound to an address and listening for connections. The " "return value is a pair ``(conn, address)`` where *conn* is a *new* socket " @@ -1587,7 +1595,7 @@ msgstr "" "conexión, y *address*\n" " es la dirección enlazada al socket en el otro extremo de la conexión." -#: ../Doc/library/asyncio-eventloop.rst:911 +#: ../Doc/library/asyncio-eventloop.rst:923 msgid "" "Even though the method was always documented as a coroutine method, before " "Python 3.7 it returned a :class:`Future`. Since Python 3.7, this is an " @@ -1597,11 +1605,11 @@ msgstr "" "corrutina, antes de Python 3.7 retorna un :class:`Future`. Desde Python 3.7, " "este es un método ``async def``." -#: ../Doc/library/asyncio-eventloop.rst:918 +#: ../Doc/library/asyncio-eventloop.rst:930 msgid ":meth:`loop.create_server` and :func:`start_server`." msgstr ":meth:`loop.create_server` y :func:`start_server`." -#: ../Doc/library/asyncio-eventloop.rst:923 +#: ../Doc/library/asyncio-eventloop.rst:935 msgid "" "Send a file using high-performance :mod:`os.sendfile` if possible. Return " "the total number of bytes sent." @@ -1609,13 +1617,13 @@ msgstr "" "Envía un archivo usando :mod:`os.sendfile` de alto rendimiento si es " "posible. Retorna el número total de bytes enviados." -#: ../Doc/library/asyncio-eventloop.rst:926 +#: ../Doc/library/asyncio-eventloop.rst:938 msgid "" "Asynchronous version of :meth:`socket.sendfile() `." msgstr "" "Versión asíncrona de :meth:`socket.sendfile() `." -#: ../Doc/library/asyncio-eventloop.rst:928 +#: ../Doc/library/asyncio-eventloop.rst:940 msgid "" "*sock* must be a non-blocking :const:`socket.SOCK_STREAM` :class:`~socket." "socket`." @@ -1623,11 +1631,11 @@ msgstr "" "*sock* debe ser un :const:`socket.SOCK_STREAM` :class:`~socket.socket` no " "bloqueante." -#: ../Doc/library/asyncio-eventloop.rst:931 +#: ../Doc/library/asyncio-eventloop.rst:943 msgid "*file* must be a regular file object open in binary mode." msgstr "*file* debe ser un objeto de archivo regular abierto en modo binario." -#: ../Doc/library/asyncio-eventloop.rst:940 +#: ../Doc/library/asyncio-eventloop.rst:952 msgid "" "*fallback*, when set to ``True``, makes asyncio manually read and send the " "file when the platform does not support the sendfile syscall (e.g. Windows " @@ -1637,7 +1645,7 @@ msgstr "" "escriba el archivo manualmente cuando el sistema no soporta la llamada de " "envío de archivos del sistema (por ejemplo, Windows o sockets SSL en Unix)." -#: ../Doc/library/asyncio-eventloop.rst:944 +#: ../Doc/library/asyncio-eventloop.rst:956 msgid "" "Raise :exc:`SendfileNotAvailableError` if the system does not support " "*sendfile* syscall and *fallback* is ``False``." @@ -1645,19 +1653,19 @@ msgstr "" "Lanza :exc:`SendfileNotAvailableError` si el sistema no soporta la llamada " "de envío de archivos del sistema *sendfile* y *fallback* es ``False``." -#: ../Doc/library/asyncio-eventloop.rst:953 +#: ../Doc/library/asyncio-eventloop.rst:965 msgid "DNS" msgstr "DNS" -#: ../Doc/library/asyncio-eventloop.rst:958 +#: ../Doc/library/asyncio-eventloop.rst:970 msgid "Asynchronous version of :meth:`socket.getaddrinfo`." msgstr "Versión asíncrona de :meth:`socket.getaddrinfo`." -#: ../Doc/library/asyncio-eventloop.rst:962 +#: ../Doc/library/asyncio-eventloop.rst:974 msgid "Asynchronous version of :meth:`socket.getnameinfo`." msgstr "Asynchronous version of :meth:`socket.getnameinfo`." -#: ../Doc/library/asyncio-eventloop.rst:964 +#: ../Doc/library/asyncio-eventloop.rst:976 msgid "" "Both *getaddrinfo* and *getnameinfo* methods were always documented to " "return a coroutine, but prior to Python 3.7 they were, in fact, returning :" @@ -1669,19 +1677,19 @@ msgstr "" "objetos :class:`Future`. A partir de Python 3.7, ambos métodos son " "corrutinas." -#: ../Doc/library/asyncio-eventloop.rst:972 +#: ../Doc/library/asyncio-eventloop.rst:984 msgid "Working with pipes" msgstr "Trabajando con tuberías" -#: ../Doc/library/asyncio-eventloop.rst:976 +#: ../Doc/library/asyncio-eventloop.rst:988 msgid "Register the read end of *pipe* in the event loop." msgstr "Registra el fin de lectura de *pipe* en el bucle de eventos." -#: ../Doc/library/asyncio-eventloop.rst:981 +#: ../Doc/library/asyncio-eventloop.rst:993 msgid "*pipe* is a :term:`file-like object `." msgstr "*pipe* es un :term:`objeto de tipo archivo `." -#: ../Doc/library/asyncio-eventloop.rst:983 +#: ../Doc/library/asyncio-eventloop.rst:995 msgid "" "Return pair ``(transport, protocol)``, where *transport* supports the :class:" "`ReadTransport` interface and *protocol* is an object instantiated by the " @@ -1691,8 +1699,8 @@ msgstr "" "interface :class:`ReadTransport` y *protocol* es un objeto instanciado por " "*protocol_factory*." -#: ../Doc/library/asyncio-eventloop.rst:987 -#: ../Doc/library/asyncio-eventloop.rst:1003 +#: ../Doc/library/asyncio-eventloop.rst:999 +#: ../Doc/library/asyncio-eventloop.rst:1015 msgid "" "With :class:`SelectorEventLoop` event loop, the *pipe* is set to non-" "blocking mode." @@ -1700,15 +1708,15 @@ msgstr "" "Con el bucle de eventos :class:`SelectorEventLoop`, el *pipe* es establecido " "en modo no bloqueante." -#: ../Doc/library/asyncio-eventloop.rst:992 +#: ../Doc/library/asyncio-eventloop.rst:1004 msgid "Register the write end of *pipe* in the event loop." msgstr "Registra el fin de escritura de *pipe* en el bucle de eventos." -#: ../Doc/library/asyncio-eventloop.rst:997 +#: ../Doc/library/asyncio-eventloop.rst:1009 msgid "*pipe* is :term:`file-like object `." msgstr "*pipe* es un :term:`objeto de tipo archivo `." -#: ../Doc/library/asyncio-eventloop.rst:999 +#: ../Doc/library/asyncio-eventloop.rst:1011 msgid "" "Return pair ``(transport, protocol)``, where *transport* supports :class:" "`WriteTransport` interface and *protocol* is an object instantiated by the " @@ -1718,7 +1726,7 @@ msgstr "" "interface :class:`WriteTransport` y *protocol* es un objeto inicializado por " "*protocol_factory*." -#: ../Doc/library/asyncio-eventloop.rst:1008 +#: ../Doc/library/asyncio-eventloop.rst:1020 msgid "" ":class:`SelectorEventLoop` does not support the above methods on Windows. " "Use :class:`ProactorEventLoop` instead for Windows." @@ -1726,21 +1734,21 @@ msgstr "" ":class:`SelectorEventLoop` no soporta los métodos anteriores en windows. En " "su lugar, use :class:`ProactorEventLoop` para Windows." -#: ../Doc/library/asyncio-eventloop.rst:1013 +#: ../Doc/library/asyncio-eventloop.rst:1025 msgid "" "The :meth:`loop.subprocess_exec` and :meth:`loop.subprocess_shell` methods." msgstr "" "Los métodos :meth:`loop.subprocess_exec` y :meth:`loop.subprocess_shell`." -#: ../Doc/library/asyncio-eventloop.rst:1018 +#: ../Doc/library/asyncio-eventloop.rst:1030 msgid "Unix signals" msgstr "Señales Unix" -#: ../Doc/library/asyncio-eventloop.rst:1022 +#: ../Doc/library/asyncio-eventloop.rst:1034 msgid "Set *callback* as the handler for the *signum* signal." msgstr "Establece *callback* como el gestor para la señal *signum*." -#: ../Doc/library/asyncio-eventloop.rst:1024 +#: ../Doc/library/asyncio-eventloop.rst:1036 msgid "" "The callback will be invoked by *loop*, along with other queued callbacks " "and runnable coroutines of that event loop. Unlike signal handlers " @@ -1752,7 +1760,7 @@ msgstr "" "señal la registren usando :func:`signal.signal`, una llamada registrada con " "esta función tiene permitido interactuar con el bucle de eventos." -#: ../Doc/library/asyncio-eventloop.rst:1029 +#: ../Doc/library/asyncio-eventloop.rst:1041 msgid "" "Raise :exc:`ValueError` if the signal number is invalid or uncatchable. " "Raise :exc:`RuntimeError` if there is a problem setting up the handler." @@ -1760,18 +1768,18 @@ msgstr "" "Lanza :exc:`ValueError` si el número de señal es invalido o inalcanzable. " "Lanza :exc:`RuntimeError` si hay algún problema preparando el gestor." -#: ../Doc/library/asyncio-eventloop.rst:1035 +#: ../Doc/library/asyncio-eventloop.rst:1047 msgid "" "Like :func:`signal.signal`, this function must be invoked in the main thread." msgstr "" "Como :func:`signal.signal`, esta función debe ser invocada en el hilo " "principal." -#: ../Doc/library/asyncio-eventloop.rst:1040 +#: ../Doc/library/asyncio-eventloop.rst:1052 msgid "Remove the handler for the *sig* signal." msgstr "Elimina el gestor para la señal *sig*." -#: ../Doc/library/asyncio-eventloop.rst:1042 +#: ../Doc/library/asyncio-eventloop.rst:1054 msgid "" "Return ``True`` if the signal handler was removed, or ``False`` if no " "handler was set for the given signal." @@ -1779,20 +1787,20 @@ msgstr "" "Retorna ``True`` si el gestor de señal fue eliminado, o ``False`` si no se " "estableció gestor para la señal dada." -#: ../Doc/library/asyncio-eventloop.rst:1049 +#: ../Doc/library/asyncio-eventloop.rst:1061 msgid "The :mod:`signal` module." msgstr "El módulo :mod:`signal`." -#: ../Doc/library/asyncio-eventloop.rst:1053 +#: ../Doc/library/asyncio-eventloop.rst:1065 msgid "Executing code in thread or process pools" msgstr "Ejecutando código en un hilos o grupos de procesos" -#: ../Doc/library/asyncio-eventloop.rst:1057 +#: ../Doc/library/asyncio-eventloop.rst:1069 #, fuzzy msgid "Arrange for *func* to be called in the specified executor." msgstr "Arregla que *func* sea llamada en el ejecutor especificado." -#: ../Doc/library/asyncio-eventloop.rst:1059 +#: ../Doc/library/asyncio-eventloop.rst:1071 msgid "" "The *executor* argument should be an :class:`concurrent.futures.Executor` " "instance. The default executor is used if *executor* is ``None``." @@ -1800,11 +1808,11 @@ msgstr "" "El argumento *executor* debe ser una instancia de :class:`concurrent.futures." "Executor`. El ejecutor predeterminado es usado si *executor* es ``None``." -#: ../Doc/library/asyncio-eventloop.rst:1103 +#: ../Doc/library/asyncio-eventloop.rst:1115 msgid "This method returns a :class:`asyncio.Future` object." msgstr "Este método retorna un objeto :class:`asyncio.Future`." -#: ../Doc/library/asyncio-eventloop.rst:1105 +#: ../Doc/library/asyncio-eventloop.rst:1117 msgid "" "Use :func:`functools.partial` :ref:`to pass keyword arguments ` to *func*." @@ -1812,7 +1820,7 @@ msgstr "" "Use :func:`functools.partial` :ref:`para pasar argumentos de palabra clave " "` a *func*." -#: ../Doc/library/asyncio-eventloop.rst:1108 +#: ../Doc/library/asyncio-eventloop.rst:1120 #, fuzzy msgid "" ":meth:`loop.run_in_executor` no longer configures the ``max_workers`` of the " @@ -1825,7 +1833,7 @@ msgstr "" "subprocesos (:class:`~concurrent.futures.ThreadPoolExecutor`) para " "configurar al predeterminado." -#: ../Doc/library/asyncio-eventloop.rst:1117 +#: ../Doc/library/asyncio-eventloop.rst:1129 msgid "" "Set *executor* as the default executor used by :meth:`run_in_executor`. " "*executor* should be an instance of :class:`~concurrent.futures." @@ -1835,7 +1843,7 @@ msgstr "" "`run_in_executor`. *executor* debe ser una instancia de :class:`~concurrent." "futures.ThreadPoolExecutor`." -#: ../Doc/library/asyncio-eventloop.rst:1121 +#: ../Doc/library/asyncio-eventloop.rst:1133 msgid "" "Using an executor that is not an instance of :class:`~concurrent.futures." "ThreadPoolExecutor` is deprecated and will trigger an error in Python 3.9." @@ -1843,7 +1851,7 @@ msgstr "" "Usar un ejecutor que no es una instancia de :class:`~concurrent.futures." "ThreadPoolExecutor` es obsoleto y disparará un error en Python 3.9." -#: ../Doc/library/asyncio-eventloop.rst:1126 +#: ../Doc/library/asyncio-eventloop.rst:1138 msgid "" "*executor* must be an instance of :class:`concurrent.futures." "ThreadPoolExecutor`." @@ -1851,22 +1859,22 @@ msgstr "" "*executor* debe ser una instancia de :class:`concurrent.futures." "ThreadPoolExecutor`." -#: ../Doc/library/asyncio-eventloop.rst:1131 +#: ../Doc/library/asyncio-eventloop.rst:1143 msgid "Error Handling API" msgstr "API para manejo de errores" -#: ../Doc/library/asyncio-eventloop.rst:1133 +#: ../Doc/library/asyncio-eventloop.rst:1145 msgid "Allows customizing how exceptions are handled in the event loop." msgstr "" "Permite personalizar como son manejadas las excepciones en el bucle de " "eventos." -#: ../Doc/library/asyncio-eventloop.rst:1137 +#: ../Doc/library/asyncio-eventloop.rst:1149 msgid "Set *handler* as the new event loop exception handler." msgstr "" "Establece *handler* como el nuevo gestor de excepciones del bucle de eventos." -#: ../Doc/library/asyncio-eventloop.rst:1139 +#: ../Doc/library/asyncio-eventloop.rst:1151 msgid "" "If *handler* is ``None``, the default exception handler will be set. " "Otherwise, *handler* must be a callable with the signature matching ``(loop, " @@ -1881,7 +1889,7 @@ msgstr "" "detalles de la excepción (vea la documentación de :meth:" "`call_exception_handler` para detalles acerca del contexto)." -#: ../Doc/library/asyncio-eventloop.rst:1149 +#: ../Doc/library/asyncio-eventloop.rst:1161 msgid "" "Return the current exception handler, or ``None`` if no custom exception " "handler was set." @@ -1889,11 +1897,11 @@ msgstr "" "Retorna el gesto de excepciones actual, o ``None`` si no fue establecido " "ningún gestor de excepciones personalizado." -#: ../Doc/library/asyncio-eventloop.rst:1156 +#: ../Doc/library/asyncio-eventloop.rst:1168 msgid "Default exception handler." msgstr "Gestor de excepciones por defecto." -#: ../Doc/library/asyncio-eventloop.rst:1158 +#: ../Doc/library/asyncio-eventloop.rst:1170 msgid "" "This is called when an exception occurs and no exception handler is set. " "This can be called by a custom exception handler that wants to defer to the " @@ -1903,7 +1911,7 @@ msgstr "" "de excepciones. Esto puede ser llamado por un gestor de excepciones " "personalizado que quiera cambiar el comportamiento del gestor predeterminado." -#: ../Doc/library/asyncio-eventloop.rst:1162 +#: ../Doc/library/asyncio-eventloop.rst:1174 msgid "" "*context* parameter has the same meaning as in :meth:" "`call_exception_handler`." @@ -1911,11 +1919,11 @@ msgstr "" "El parámetro *context* tiene el mismo significado que en :meth:" "`call_exception_handler`." -#: ../Doc/library/asyncio-eventloop.rst:1167 +#: ../Doc/library/asyncio-eventloop.rst:1179 msgid "Call the current event loop exception handler." msgstr "Llama al gestor de excepciones del bucle de eventos actual." -#: ../Doc/library/asyncio-eventloop.rst:1169 +#: ../Doc/library/asyncio-eventloop.rst:1181 msgid "" "*context* is a ``dict`` object containing the following keys (new keys may " "be introduced in future Python versions):" @@ -1923,37 +1931,37 @@ msgstr "" "*context* es un objeto ``dict`` conteniendo las siguientes claves (en " "futuras versiones de Python podrían introducirse nuevas claves):" -#: ../Doc/library/asyncio-eventloop.rst:1172 +#: ../Doc/library/asyncio-eventloop.rst:1184 msgid "'message': Error message;" msgstr "'message': Mensaje de error;" -#: ../Doc/library/asyncio-eventloop.rst:1173 +#: ../Doc/library/asyncio-eventloop.rst:1185 msgid "'exception' (optional): Exception object;" msgstr "'exception' (opcional): Objeto de excepción;" -#: ../Doc/library/asyncio-eventloop.rst:1174 +#: ../Doc/library/asyncio-eventloop.rst:1186 msgid "'future' (optional): :class:`asyncio.Future` instance;" msgstr "'future' (opcional): instancia de :class:`asyncio.Future`;" -#: ../Doc/library/asyncio-eventloop.rst:1175 +#: ../Doc/library/asyncio-eventloop.rst:1187 msgid "'handle' (optional): :class:`asyncio.Handle` instance;" msgstr "'handle' (opcional): instancia de :class:`asyncio.Handle`;" -#: ../Doc/library/asyncio-eventloop.rst:1176 +#: ../Doc/library/asyncio-eventloop.rst:1188 msgid "'protocol' (optional): :ref:`Protocol ` instance;" msgstr "" "'protocol' (opcional): instancia de :ref:`Protocol `;" -#: ../Doc/library/asyncio-eventloop.rst:1177 +#: ../Doc/library/asyncio-eventloop.rst:1189 msgid "'transport' (optional): :ref:`Transport ` instance;" msgstr "" "'transport' (opcional): instancia de :ref:`Transport `;" -#: ../Doc/library/asyncio-eventloop.rst:1178 +#: ../Doc/library/asyncio-eventloop.rst:1190 msgid "'socket' (optional): :class:`socket.socket` instance." msgstr "'socket' (opcional): instancia de :class:`socket.socket`." -#: ../Doc/library/asyncio-eventloop.rst:1182 +#: ../Doc/library/asyncio-eventloop.rst:1194 msgid "" "This method should not be overloaded in subclassed event loops. For custom " "exception handling, use the :meth:`set_exception_handler()` method." @@ -1962,15 +1970,15 @@ msgstr "" "gestión de excepciones personalizadas, use el método :meth:" "`set_exception_handler()`." -#: ../Doc/library/asyncio-eventloop.rst:1187 +#: ../Doc/library/asyncio-eventloop.rst:1199 msgid "Enabling debug mode" msgstr "Habilitando el modo depuración" -#: ../Doc/library/asyncio-eventloop.rst:1191 +#: ../Doc/library/asyncio-eventloop.rst:1203 msgid "Get the debug mode (:class:`bool`) of the event loop." msgstr "Obtiene el modo depuración (:class:`bool`) del bucle de eventos." -#: ../Doc/library/asyncio-eventloop.rst:1193 +#: ../Doc/library/asyncio-eventloop.rst:1205 msgid "" "The default value is ``True`` if the environment variable :envvar:" "`PYTHONASYNCIODEBUG` is set to a non-empty string, ``False`` otherwise." @@ -1979,27 +1987,28 @@ msgstr "" "`PYTHONASYNCIODEBUG` es establecida a una cadena no vacía, de otro modo será " "``False``." -#: ../Doc/library/asyncio-eventloop.rst:1199 +#: ../Doc/library/asyncio-eventloop.rst:1211 msgid "Set the debug mode of the event loop." msgstr "Establece el modo de depuración del bucle de eventos." -#: ../Doc/library/asyncio-eventloop.rst:1203 +#: ../Doc/library/asyncio-eventloop.rst:1215 +#, fuzzy msgid "" -"The new ``-X dev`` command line option can now also be used to enable the " -"debug mode." +"The new :ref:`Python Development Mode ` can now also be used to " +"enable the debug mode." msgstr "" "La nueva opción de linea de comandos ``-X dev`` ahora también puede ser " "utilizada para habilitar el modo depuración." -#: ../Doc/library/asyncio-eventloop.rst:1208 +#: ../Doc/library/asyncio-eventloop.rst:1220 msgid "The :ref:`debug mode of asyncio `." msgstr "El :ref:`modo depuración de asyncio `." -#: ../Doc/library/asyncio-eventloop.rst:1212 +#: ../Doc/library/asyncio-eventloop.rst:1224 msgid "Running Subprocesses" msgstr "Ejecutando Subprocesos" -#: ../Doc/library/asyncio-eventloop.rst:1214 +#: ../Doc/library/asyncio-eventloop.rst:1226 msgid "" "Methods described in this subsections are low-level. In regular async/await " "code consider using the high-level :func:`asyncio.create_subprocess_shell` " @@ -2009,7 +2018,7 @@ msgstr "" "await regular considere usar las convenientes funciones de alto nivel :func:" "`asyncio.create_subprocess_shell` y :func:`asyncio.create_subprocess_exec`." -#: ../Doc/library/asyncio-eventloop.rst:1221 +#: ../Doc/library/asyncio-eventloop.rst:1233 msgid "" "The default asyncio event loop on **Windows** does not support subprocesses. " "See :ref:`Subprocess Support on Windows ` for " @@ -2019,22 +2028,22 @@ msgstr "" "subprocesos. Vea :ref:`Soporte de subprocesos en Windows ` para mas detalles." -#: ../Doc/library/asyncio-eventloop.rst:1229 +#: ../Doc/library/asyncio-eventloop.rst:1241 msgid "" "Create a subprocess from one or more string arguments specified by *args*." msgstr "" "Crea un subproceso de uno o mas argumentos de cadena especificados por " "*args*." -#: ../Doc/library/asyncio-eventloop.rst:1232 +#: ../Doc/library/asyncio-eventloop.rst:1244 msgid "*args* must be a list of strings represented by:" msgstr "*args* debe ser una lista de cadenas representadas por:" -#: ../Doc/library/asyncio-eventloop.rst:1234 +#: ../Doc/library/asyncio-eventloop.rst:1246 msgid ":class:`str`;" msgstr ":class:`str`;" -#: ../Doc/library/asyncio-eventloop.rst:1235 +#: ../Doc/library/asyncio-eventloop.rst:1247 msgid "" "or :class:`bytes`, encoded to the :ref:`filesystem encoding `." @@ -2042,7 +2051,7 @@ msgstr "" "o :class:`bytes`, codificados a la :ref:`codificación del sistema de " "archivos `." -#: ../Doc/library/asyncio-eventloop.rst:1238 +#: ../Doc/library/asyncio-eventloop.rst:1250 msgid "" "The first string specifies the program executable, and the remaining strings " "specify the arguments. Together, string arguments form the ``argv`` of the " @@ -2052,7 +2061,7 @@ msgstr "" "especifican los argumentos. En conjunto, los argumentos de cadena forman el " "``argv`` del programa." -#: ../Doc/library/asyncio-eventloop.rst:1242 +#: ../Doc/library/asyncio-eventloop.rst:1254 msgid "" "This is similar to the standard library :class:`subprocess.Popen` class " "called with ``shell=False`` and the list of strings passed as the first " @@ -2065,7 +2074,7 @@ msgstr "" "sólo argumento que es una lista de cadenas, *subprocess_exec* toma múltiples " "cadenas como argumentos." -#: ../Doc/library/asyncio-eventloop.rst:1248 +#: ../Doc/library/asyncio-eventloop.rst:1260 msgid "" "The *protocol_factory* must be a callable returning a subclass of the :class:" "`asyncio.SubprocessProtocol` class." @@ -2073,15 +2082,15 @@ msgstr "" "El *protocol_factory* debe ser un ejecutable que retorne una subclase de la " "clase :class:`asyncio.SubprocessProtocol`." -#: ../Doc/library/asyncio-eventloop.rst:1251 +#: ../Doc/library/asyncio-eventloop.rst:1263 msgid "Other parameters:" msgstr "Otros parámetros:" -#: ../Doc/library/asyncio-eventloop.rst:1253 +#: ../Doc/library/asyncio-eventloop.rst:1265 msgid "*stdin* can be any of these:" msgstr "*stdin* puede ser cualquier de estos:" -#: ../Doc/library/asyncio-eventloop.rst:1255 +#: ../Doc/library/asyncio-eventloop.rst:1267 msgid "" "a file-like object representing a pipe to be connected to the subprocess's " "standard input stream using :meth:`~loop.connect_write_pipe`" @@ -2090,9 +2099,9 @@ msgstr "" "flujo de entrada estándar del subproceso utilizando :meth:`~loop." "connect_write_pipe`" -#: ../Doc/library/asyncio-eventloop.rst:1258 #: ../Doc/library/asyncio-eventloop.rst:1270 #: ../Doc/library/asyncio-eventloop.rst:1282 +#: ../Doc/library/asyncio-eventloop.rst:1294 msgid "" "the :const:`subprocess.PIPE` constant (default) which will create a new pipe " "and connect it," @@ -2100,9 +2109,9 @@ msgstr "" "la constante :const:`subprocess.PIPE` (predeterminado) que creará una " "tubería nueva y la conectará," -#: ../Doc/library/asyncio-eventloop.rst:1260 #: ../Doc/library/asyncio-eventloop.rst:1272 #: ../Doc/library/asyncio-eventloop.rst:1284 +#: ../Doc/library/asyncio-eventloop.rst:1296 msgid "" "the value ``None`` which will make the subprocess inherit the file " "descriptor from this process" @@ -2110,9 +2119,9 @@ msgstr "" "el valor ``None`` que hará que el subproceso herede el descriptor de archivo " "de este proceso" -#: ../Doc/library/asyncio-eventloop.rst:1262 #: ../Doc/library/asyncio-eventloop.rst:1274 #: ../Doc/library/asyncio-eventloop.rst:1286 +#: ../Doc/library/asyncio-eventloop.rst:1298 msgid "" "the :const:`subprocess.DEVNULL` constant which indicates that the special :" "data:`os.devnull` file will be used" @@ -2120,11 +2129,11 @@ msgstr "" "la constante :const:`subprocess.DEVNULL` que indica que el archivo especial :" "data:`os.devnull` será utilizado" -#: ../Doc/library/asyncio-eventloop.rst:1265 +#: ../Doc/library/asyncio-eventloop.rst:1277 msgid "*stdout* can be any of these:" msgstr "*stdout* puede ser cualquier de estos:" -#: ../Doc/library/asyncio-eventloop.rst:1267 +#: ../Doc/library/asyncio-eventloop.rst:1279 msgid "" "a file-like object representing a pipe to be connected to the subprocess's " "standard output stream using :meth:`~loop.connect_write_pipe`" @@ -2133,11 +2142,11 @@ msgstr "" "flujo de salida estándar del subproceso utilizando :meth:`~loop." "connect_write_pipe`" -#: ../Doc/library/asyncio-eventloop.rst:1277 +#: ../Doc/library/asyncio-eventloop.rst:1289 msgid "*stderr* can be any of these:" msgstr "*stderr* puede ser cualquier de estos:" -#: ../Doc/library/asyncio-eventloop.rst:1279 +#: ../Doc/library/asyncio-eventloop.rst:1291 msgid "" "a file-like object representing a pipe to be connected to the subprocess's " "standard error stream using :meth:`~loop.connect_write_pipe`" @@ -2146,7 +2155,7 @@ msgstr "" "flujo de error estándar del subproceso utilizando :meth:`~loop." "connect_write_pipe`" -#: ../Doc/library/asyncio-eventloop.rst:1288 +#: ../Doc/library/asyncio-eventloop.rst:1300 msgid "" "the :const:`subprocess.STDOUT` constant which will connect the standard " "error stream to the process' standard output stream" @@ -2154,7 +2163,7 @@ msgstr "" "la constante :const:`subprocess.STDOUT` que conectará el flujo de errores " "predeterminado al flujo de salida predeterminado del proceso" -#: ../Doc/library/asyncio-eventloop.rst:1291 +#: ../Doc/library/asyncio-eventloop.rst:1303 msgid "" "All other keyword arguments are passed to :class:`subprocess.Popen` without " "interpretation, except for *bufsize*, *universal_newlines*, *shell*, *text*, " @@ -2165,7 +2174,7 @@ msgstr "" "*shell*, *text*, *encoding* y *errors*, que no deben ser especificados en lo " "absoluto." -#: ../Doc/library/asyncio-eventloop.rst:1296 +#: ../Doc/library/asyncio-eventloop.rst:1308 msgid "" "The ``asyncio`` subprocess API does not support decoding the streams as " "text. :func:`bytes.decode` can be used to convert the bytes returned from " @@ -2175,7 +2184,7 @@ msgstr "" "func:`bytes.decode` puede ser usado para convertir a texto los bytes " "retornados por el flujo." -#: ../Doc/library/asyncio-eventloop.rst:1300 +#: ../Doc/library/asyncio-eventloop.rst:1312 msgid "" "See the constructor of the :class:`subprocess.Popen` class for documentation " "on other arguments." @@ -2183,7 +2192,7 @@ msgstr "" "Vea el constructor de la clase :class:`subprocess.Popen` para documentación " "acerca de otros argumentos." -#: ../Doc/library/asyncio-eventloop.rst:1303 +#: ../Doc/library/asyncio-eventloop.rst:1315 msgid "" "Returns a pair of ``(transport, protocol)``, where *transport* conforms to " "the :class:`asyncio.SubprocessTransport` base class and *protocol* is an " @@ -2193,7 +2202,7 @@ msgstr "" "la clase base :class:`asyncio.SubprocessTransport` y *protocol* es un objeto " "instanciado por *protocol_factory*." -#: ../Doc/library/asyncio-eventloop.rst:1311 +#: ../Doc/library/asyncio-eventloop.rst:1323 msgid "" "Create a subprocess from *cmd*, which can be a :class:`str` or a :class:" "`bytes` string encoded to the :ref:`filesystem encoding `, usando la sintaxis \"shell\" de la plataforma." -#: ../Doc/library/asyncio-eventloop.rst:1316 +#: ../Doc/library/asyncio-eventloop.rst:1328 msgid "" "This is similar to the standard library :class:`subprocess.Popen` class " "called with ``shell=True``." @@ -2211,7 +2220,7 @@ msgstr "" "Esto es similar a la clase de la librería estándar :class:`subprocess.Popen` " "llamada con ``shell=True``." -#: ../Doc/library/asyncio-eventloop.rst:1319 +#: ../Doc/library/asyncio-eventloop.rst:1331 msgid "" "The *protocol_factory* must be a callable returning a subclass of the :class:" "`SubprocessProtocol` class." @@ -2219,7 +2228,7 @@ msgstr "" "El *protocol_factory* debe ser un ejecutable que retorne una subclase de la " "clase :class:`asyncio.SubprocessProtocol`." -#: ../Doc/library/asyncio-eventloop.rst:1322 +#: ../Doc/library/asyncio-eventloop.rst:1334 msgid "" "See :meth:`~loop.subprocess_exec` for more details about the remaining " "arguments." @@ -2227,7 +2236,7 @@ msgstr "" "Vea :meth:`~loop.subprocess_exec` para mas detalles acerca de los argumentos " "restantes." -#: ../Doc/library/asyncio-eventloop.rst:1325 +#: ../Doc/library/asyncio-eventloop.rst:1337 msgid "" "Returns a pair of ``(transport, protocol)``, where *transport* conforms to " "the :class:`SubprocessTransport` base class and *protocol* is an object " @@ -2237,7 +2246,7 @@ msgstr "" "la clase base :class:`SubprocessTransport` y *protocol* es un objeto " "instanciado por *protocol_factory*." -#: ../Doc/library/asyncio-eventloop.rst:1330 +#: ../Doc/library/asyncio-eventloop.rst:1342 msgid "" "It is the application's responsibility to ensure that all whitespace and " "special characters are quoted appropriately to avoid `shell injection " @@ -2253,11 +2262,11 @@ msgstr "" "usada para escapar apropiadamente espacios en blanco y caracteres especiales " "en cadenas que van a ser usadas para construir comandos de consola." -#: ../Doc/library/asyncio-eventloop.rst:1339 +#: ../Doc/library/asyncio-eventloop.rst:1351 msgid "Callback Handles" msgstr "Gestores de llamadas" -#: ../Doc/library/asyncio-eventloop.rst:1343 +#: ../Doc/library/asyncio-eventloop.rst:1355 msgid "" "A callback wrapper object returned by :meth:`loop.call_soon`, :meth:`loop." "call_soon_threadsafe`." @@ -2265,7 +2274,7 @@ msgstr "" "Un objeto de contenedor de llamada retornado por :meth:`loop.call_soon`, :" "meth:`loop.call_soon_threadsafe`." -#: ../Doc/library/asyncio-eventloop.rst:1348 +#: ../Doc/library/asyncio-eventloop.rst:1360 msgid "" "Cancel the callback. If the callback has already been canceled or executed, " "this method has no effect." @@ -2273,11 +2282,11 @@ msgstr "" "Cancela la llamada. Si la llamada ya fue cancelada o ejecutada, este método " "no tiene efecto." -#: ../Doc/library/asyncio-eventloop.rst:1353 +#: ../Doc/library/asyncio-eventloop.rst:1365 msgid "Return ``True`` if the callback was cancelled." msgstr "Retorna ``True`` si la llamada fue cancelada." -#: ../Doc/library/asyncio-eventloop.rst:1359 +#: ../Doc/library/asyncio-eventloop.rst:1371 msgid "" "A callback wrapper object returned by :meth:`loop.call_later`, and :meth:" "`loop.call_at`." @@ -2285,16 +2294,16 @@ msgstr "" "Un objeto de contenedor de llamada retornado por :meth:`loop.call_later`, " "and :meth:`loop.call_at`." -#: ../Doc/library/asyncio-eventloop.rst:1362 +#: ../Doc/library/asyncio-eventloop.rst:1374 msgid "This class is a subclass of :class:`Handle`." msgstr "Esta clase es una subclase de :class:`Handle`." -#: ../Doc/library/asyncio-eventloop.rst:1366 +#: ../Doc/library/asyncio-eventloop.rst:1378 msgid "Return a scheduled callback time as :class:`float` seconds." msgstr "" "Retorna el tiempo de una llamada planificada como :class:`float` segundos." -#: ../Doc/library/asyncio-eventloop.rst:1368 +#: ../Doc/library/asyncio-eventloop.rst:1380 msgid "" "The time is an absolute timestamp, using the same time reference as :meth:" "`loop.time`." @@ -2302,11 +2311,11 @@ msgstr "" "El tiempo es una marca de tiempo absoluta, usando la misma referencia de " "tiempo que :meth:`loop.time`." -#: ../Doc/library/asyncio-eventloop.rst:1375 +#: ../Doc/library/asyncio-eventloop.rst:1387 msgid "Server Objects" msgstr "Objetos Servidor" -#: ../Doc/library/asyncio-eventloop.rst:1377 +#: ../Doc/library/asyncio-eventloop.rst:1389 msgid "" "Server objects are created by :meth:`loop.create_server`, :meth:`loop." "create_unix_server`, :func:`start_server`, and :func:`start_unix_server` " @@ -2316,11 +2325,11 @@ msgstr "" "create_server`, :meth:`loop.create_unix_server`, :func:`start_server`, y :" "func:`start_unix_server`." -#: ../Doc/library/asyncio-eventloop.rst:1381 +#: ../Doc/library/asyncio-eventloop.rst:1393 msgid "Do not instantiate the class directly." msgstr "No instanciar la clase directamente." -#: ../Doc/library/asyncio-eventloop.rst:1385 +#: ../Doc/library/asyncio-eventloop.rst:1397 msgid "" "*Server* objects are asynchronous context managers. When used in an ``async " "with`` statement, it's guaranteed that the Server object is closed and not " @@ -2331,12 +2340,12 @@ msgstr "" "Servidor está cerrado y no está aceptando nuevas conexiones cuando la " "declaración ``async with`` es completada::" -#: ../Doc/library/asyncio-eventloop.rst:1398 +#: ../Doc/library/asyncio-eventloop.rst:1410 msgid "Server object is an asynchronous context manager since Python 3.7." msgstr "" "El objeto Servidor es un gestor asíncrono de contexto desde Python 3.7." -#: ../Doc/library/asyncio-eventloop.rst:1403 +#: ../Doc/library/asyncio-eventloop.rst:1415 msgid "" "Stop serving: close listening sockets and set the :attr:`sockets` attribute " "to ``None``." @@ -2344,7 +2353,7 @@ msgstr "" "Deja de servir: deja de escuchar sockets y establece el atributo :attr:" "`sockets` a ``None``." -#: ../Doc/library/asyncio-eventloop.rst:1406 +#: ../Doc/library/asyncio-eventloop.rst:1418 msgid "" "The sockets that represent existing incoming client connections are left " "open." @@ -2352,7 +2361,7 @@ msgstr "" "Los sockets que representan conexiones entrantes existentes de clientes se " "dejan abiertas." -#: ../Doc/library/asyncio-eventloop.rst:1409 +#: ../Doc/library/asyncio-eventloop.rst:1421 msgid "" "The server is closed asynchronously, use the :meth:`wait_closed` coroutine " "to wait until the server is closed." @@ -2360,15 +2369,15 @@ msgstr "" "El servidor es cerrado de manera asíncrona, usa la corrutina :meth:" "`wait_closed` para esperar hasta que el servidor esté cerrado." -#: ../Doc/library/asyncio-eventloop.rst:1414 +#: ../Doc/library/asyncio-eventloop.rst:1426 msgid "Return the event loop associated with the server object." msgstr "Retorna el bucle de eventos asociado con el objeto Servidor." -#: ../Doc/library/asyncio-eventloop.rst:1420 +#: ../Doc/library/asyncio-eventloop.rst:1432 msgid "Start accepting connections." msgstr "Comienza a aceptar conexiones." -#: ../Doc/library/asyncio-eventloop.rst:1422 +#: ../Doc/library/asyncio-eventloop.rst:1434 msgid "" "This method is idempotent, so it can be called when the server is already " "being serving." @@ -2376,7 +2385,7 @@ msgstr "" "Este método es idempotente, así que puede ser llamado cuando el servidor ya " "está sirviendo." -#: ../Doc/library/asyncio-eventloop.rst:1425 +#: ../Doc/library/asyncio-eventloop.rst:1437 msgid "" "The *start_serving* keyword-only parameter to :meth:`loop.create_server` " "and :meth:`asyncio.start_server` allows creating a Server object that is not " @@ -2390,7 +2399,7 @@ msgstr "" "``Server.start_serving()``, o :meth:`Server.serve_forever` pueden ser usados " "para hacer que el servidor empiece a aceptar conexiones." -#: ../Doc/library/asyncio-eventloop.rst:1436 +#: ../Doc/library/asyncio-eventloop.rst:1448 msgid "" "Start accepting connections until the coroutine is cancelled. Cancellation " "of ``serve_forever`` task causes the server to be closed." @@ -2398,7 +2407,7 @@ msgstr "" "Comienza a aceptar conexiones hasta que la corrutina sea cancelada. La " "cancelación de la tarea ``serve_forever`` hace que el servidor sea cerrado." -#: ../Doc/library/asyncio-eventloop.rst:1440 +#: ../Doc/library/asyncio-eventloop.rst:1452 msgid "" "This method can be called if the server is already accepting connections. " "Only one ``serve_forever`` task can exist per one *Server* object." @@ -2406,21 +2415,21 @@ msgstr "" "Este método puede ser llamado si el servidor ya está aceptando conexiones. " "Solamente una tarea ``serve_forever`` puede existir para un objeto *Server*." -#: ../Doc/library/asyncio-eventloop.rst:1462 +#: ../Doc/library/asyncio-eventloop.rst:1474 msgid "Return ``True`` if the server is accepting new connections." msgstr "Retorna ``True`` si el servidor está aceptando nuevas conexiones." -#: ../Doc/library/asyncio-eventloop.rst:1468 +#: ../Doc/library/asyncio-eventloop.rst:1480 msgid "Wait until the :meth:`close` method completes." msgstr "Espera hasta que el método :meth:`close` se complete." -#: ../Doc/library/asyncio-eventloop.rst:1472 +#: ../Doc/library/asyncio-eventloop.rst:1484 msgid "List of :class:`socket.socket` objects the server is listening on." msgstr "" "Lista todos los objetos :class:`socket.socket` en los que el servidor está " "escuchando." -#: ../Doc/library/asyncio-eventloop.rst:1474 +#: ../Doc/library/asyncio-eventloop.rst:1486 msgid "" "Prior to Python 3.7 ``Server.sockets`` used to return an internal list of " "server sockets directly. In 3.7 a copy of that list is returned." @@ -2428,11 +2437,11 @@ msgstr "" "Antes de Python 3.7 ``Server.sockets`` solía retornar directamente una lista " "interna de servidores socket. En 3.7 se retorna una copia de esa lista." -#: ../Doc/library/asyncio-eventloop.rst:1483 +#: ../Doc/library/asyncio-eventloop.rst:1495 msgid "Event Loop Implementations" msgstr "Implementaciones del bucle de eventos" -#: ../Doc/library/asyncio-eventloop.rst:1485 +#: ../Doc/library/asyncio-eventloop.rst:1497 msgid "" "asyncio ships with two different event loop implementations: :class:" "`SelectorEventLoop` and :class:`ProactorEventLoop`." @@ -2440,7 +2449,7 @@ msgstr "" "asyncio viene con dos implementaciones diferentes del bucle de eventos: :" "class:`SelectorEventLoop` y :class:`ProactorEventLoop`." -#: ../Doc/library/asyncio-eventloop.rst:1488 +#: ../Doc/library/asyncio-eventloop.rst:1500 msgid "" "By default asyncio is configured to use :class:`SelectorEventLoop` on Unix " "and :class:`ProactorEventLoop` on Windows." @@ -2448,11 +2457,11 @@ msgstr "" "De manera predefinida asyncio está configurado para usar :class:" "`SelectorEventLoop` en Unix y :class:`ProactorEventLoop` en Windows." -#: ../Doc/library/asyncio-eventloop.rst:1494 +#: ../Doc/library/asyncio-eventloop.rst:1506 msgid "An event loop based on the :mod:`selectors` module." msgstr "Un bucle de eventos basado en el módulo :mod:`selectors`." -#: ../Doc/library/asyncio-eventloop.rst:1496 +#: ../Doc/library/asyncio-eventloop.rst:1508 msgid "" "Uses the most efficient *selector* available for the given platform. It is " "also possible to manually configure the exact selector implementation to be " @@ -2462,21 +2471,21 @@ msgstr "" "es posible configurar manualmente la implementación exacta del selector a " "utilizar::" -#: ../Doc/library/asyncio-eventloop.rst:1508 +#: ../Doc/library/asyncio-eventloop.rst:1520 msgid ":ref:`Availability `: Unix, Windows." msgstr ":ref:`Disponibilidad `: Unix, Windows." -#: ../Doc/library/asyncio-eventloop.rst:1513 +#: ../Doc/library/asyncio-eventloop.rst:1525 msgid "An event loop for Windows that uses \"I/O Completion Ports\" (IOCP)." msgstr "" "Un bucle de eventos para Windows que usa \"E/S Puertos de Finalización" "\" (IOCP)." -#: ../Doc/library/asyncio-eventloop.rst:1516 +#: ../Doc/library/asyncio-eventloop.rst:1528 msgid ":ref:`Availability `: Windows." msgstr ":ref:`Disponibilidad `: Windows." -#: ../Doc/library/asyncio-eventloop.rst:1519 +#: ../Doc/library/asyncio-eventloop.rst:1531 msgid "" "`MSDN documentation on I/O Completion Ports `_." @@ -2484,11 +2493,11 @@ msgstr "" "`Documentaci´on de MSDN sobre E/S Puertos de Finalización `_." -#: ../Doc/library/asyncio-eventloop.rst:1525 +#: ../Doc/library/asyncio-eventloop.rst:1537 msgid "Abstract base class for asyncio-compliant event loops." msgstr "Clase base abstracta para bucles de evento compatibles con asyncio." -#: ../Doc/library/asyncio-eventloop.rst:1527 +#: ../Doc/library/asyncio-eventloop.rst:1539 msgid "" "The :ref:`Event Loop Methods ` section lists all methods " "that an alternative implementation of ``AbstractEventLoop`` should have " @@ -2498,11 +2507,11 @@ msgstr "" "todos los métodos que como implementación alternativa de " "``AbstractEventLoop`` debería haber estado definido." -#: ../Doc/library/asyncio-eventloop.rst:1533 +#: ../Doc/library/asyncio-eventloop.rst:1545 msgid "Examples" msgstr "Examples" -#: ../Doc/library/asyncio-eventloop.rst:1535 +#: ../Doc/library/asyncio-eventloop.rst:1547 msgid "" "Note that all examples in this section **purposefully** show how to use the " "low-level event loop APIs, such as :meth:`loop.run_forever` and :meth:`loop." @@ -2515,11 +2524,11 @@ msgstr "" "raramente necesitan ser escritas de esta manera; considere utilizar " "funciones de alto nivel como :func:`asyncio.run`." -#: ../Doc/library/asyncio-eventloop.rst:1545 +#: ../Doc/library/asyncio-eventloop.rst:1557 msgid "Hello World with call_soon()" msgstr "Hola Mundo con call_soon()" -#: ../Doc/library/asyncio-eventloop.rst:1547 +#: ../Doc/library/asyncio-eventloop.rst:1559 msgid "" "An example using the :meth:`loop.call_soon` method to schedule a callback. " "The callback displays ``\"Hello World\"`` and then stops the event loop::" @@ -2528,7 +2537,7 @@ msgstr "" "llamada. La llamada muestra ``\"Hello World\"`` y luego para el bucle de " "eventos::" -#: ../Doc/library/asyncio-eventloop.rst:1571 +#: ../Doc/library/asyncio-eventloop.rst:1583 msgid "" "A similar :ref:`Hello World ` example created with a coroutine " "and the :func:`run` function." @@ -2536,11 +2545,11 @@ msgstr "" "Un ejemplo similar de :ref:`Hola Mundo ` creado con una corrutina " "y la función :func:`run`." -#: ../Doc/library/asyncio-eventloop.rst:1578 +#: ../Doc/library/asyncio-eventloop.rst:1590 msgid "Display the current date with call_later()" msgstr "Muestra la fecha actual con call_later()" -#: ../Doc/library/asyncio-eventloop.rst:1580 +#: ../Doc/library/asyncio-eventloop.rst:1592 msgid "" "An example of a callback displaying the current date every second. The " "callback uses the :meth:`loop.call_later` method to reschedule itself after " @@ -2550,7 +2559,7 @@ msgstr "" "usa el método :meth:`loop.call_later` para volver a planificarse después de " "5 segundos, y después para el bucle de eventos::" -#: ../Doc/library/asyncio-eventloop.rst:1608 +#: ../Doc/library/asyncio-eventloop.rst:1620 msgid "" "A similar :ref:`current date ` example created with a " "coroutine and the :func:`run` function." @@ -2558,11 +2567,11 @@ msgstr "" "Un ejemplo similar a :ref:`fecha actual ` creado con " "una corrutina y la función :func:`run`." -#: ../Doc/library/asyncio-eventloop.rst:1615 +#: ../Doc/library/asyncio-eventloop.rst:1627 msgid "Watch a file descriptor for read events" msgstr "Mirar un descriptor de archivo para leer eventos" -#: ../Doc/library/asyncio-eventloop.rst:1617 +#: ../Doc/library/asyncio-eventloop.rst:1629 msgid "" "Wait until a file descriptor received some data using the :meth:`loop." "add_reader` method and then close the event loop::" @@ -2570,7 +2579,7 @@ msgstr "" "Espera hasta que el descriptor de archivo reciba algún dato usando el " "método :meth:`loop.add_reader` y entonces cierra el bucle de eventos::" -#: ../Doc/library/asyncio-eventloop.rst:1655 +#: ../Doc/library/asyncio-eventloop.rst:1667 msgid "" "A similar :ref:`example ` using " "transports, protocols, and the :meth:`loop.create_connection` method." @@ -2578,7 +2587,7 @@ msgstr "" "Un :ref:`ejemplo ` similar usando " "transportes, protocolos y el método :meth:`loop.create_connection`." -#: ../Doc/library/asyncio-eventloop.rst:1659 +#: ../Doc/library/asyncio-eventloop.rst:1671 msgid "" "Another similar :ref:`example ` " "using the high-level :func:`asyncio.open_connection` function and streams." @@ -2587,15 +2596,15 @@ msgstr "" "usando la función de alto nivel :func:`asyncio.open_connection` y " "transmisiones." -#: ../Doc/library/asyncio-eventloop.rst:1667 +#: ../Doc/library/asyncio-eventloop.rst:1679 msgid "Set signal handlers for SIGINT and SIGTERM" msgstr "Establece los gestores de señal para SIGINT y SIGTERM" -#: ../Doc/library/asyncio-eventloop.rst:1669 +#: ../Doc/library/asyncio-eventloop.rst:1681 msgid "(This ``signals`` example only works on Unix.)" msgstr "(Este ejemplo de ``signals`` solamente funcionan en Unix.)" -#: ../Doc/library/asyncio-eventloop.rst:1671 +#: ../Doc/library/asyncio-eventloop.rst:1683 msgid "" "Register handlers for signals :py:data:`SIGINT` and :py:data:`SIGTERM` using " "the :meth:`loop.add_signal_handler` method::" diff --git a/library/asyncio-future.po b/library/asyncio-future.po index ab3b79453f..ad15a14039 100644 --- a/library/asyncio-future.po +++ b/library/asyncio-future.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-10-07 09:20+0200\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/asyncio-future.rst:8 msgid "Futures" @@ -188,7 +187,7 @@ msgstr "" "Si el Future es *done* y tiene una excepción establecida por el método :meth:" "`set_exception`, este método lanzará esta excepción." -#: ../Doc/library/asyncio-future.rst:103 ../Doc/library/asyncio-future.rst:188 +#: ../Doc/library/asyncio-future.rst:103 ../Doc/library/asyncio-future.rst:191 msgid "" "If the Future has been *cancelled*, this method raises a :exc:" "`CancelledError` exception." @@ -315,11 +314,15 @@ msgstr "" "contrario, cambia el estado del Future a *cancelled*, programa las " "retrollamadas, y retorna ``True``." -#: ../Doc/library/asyncio-future.rst:183 +#: ../Doc/library/asyncio-future.rst:181 +msgid "Added the ``msg`` parameter." +msgstr "" + +#: ../Doc/library/asyncio-future.rst:186 msgid "Return the exception that was set on this Future." msgstr "Retorna la excepción definida en este Future." -#: ../Doc/library/asyncio-future.rst:185 +#: ../Doc/library/asyncio-future.rst:188 msgid "" "The exception (or ``None`` if no exception was set) is returned only if the " "Future is *done*." @@ -327,7 +330,7 @@ msgstr "" "La excepción (o ``None`` si no se había establecido ninguna excepción) es " "retornada sólo si Future es *done*." -#: ../Doc/library/asyncio-future.rst:191 +#: ../Doc/library/asyncio-future.rst:194 msgid "" "If the Future isn't *done* yet, this method raises an :exc:" "`InvalidStateError` exception." @@ -335,13 +338,13 @@ msgstr "" "Si el Future todavía no es *done*, este método lanza una excepción :exc:" "`InvalidStateError`." -#: ../Doc/library/asyncio-future.rst:196 +#: ../Doc/library/asyncio-future.rst:199 msgid "Return the event loop the Future object is bound to." msgstr "" "Retorna el bucle de eventos (*event loop*) al cual el objeto Future está " "asociado." -#: ../Doc/library/asyncio-future.rst:203 +#: ../Doc/library/asyncio-future.rst:206 msgid "" "This example creates a Future object, creates and schedules an asynchronous " "Task to set result for the Future, and waits until the Future has a result::" @@ -350,7 +353,7 @@ msgstr "" "establecer el resultado para el Future, y espera hasta que el Future tenga " "un resultado::" -#: ../Doc/library/asyncio-future.rst:238 +#: ../Doc/library/asyncio-future.rst:241 msgid "" "The Future object was designed to mimic :class:`concurrent.futures.Future`. " "Key differences include:" @@ -358,7 +361,7 @@ msgstr "" "El objeto Future fue diseñado para imitar a :class:`concurrent.futures." "Future`. Entre las principales diferencias están:" -#: ../Doc/library/asyncio-future.rst:241 +#: ../Doc/library/asyncio-future.rst:244 msgid "" "unlike asyncio Futures, :class:`concurrent.futures.Future` instances cannot " "be awaited." @@ -366,7 +369,7 @@ msgstr "" "al contrario que Futures de *asyncio*, las instancias de :class:`concurrent." "futures.Future` no son aguardables (*await*)." -#: ../Doc/library/asyncio-future.rst:244 +#: ../Doc/library/asyncio-future.rst:247 msgid "" ":meth:`asyncio.Future.result` and :meth:`asyncio.Future.exception` do not " "accept the *timeout* argument." @@ -374,7 +377,7 @@ msgstr "" ":meth:`asyncio.Future.result` y :meth:`asyncio.Future.exception` no aceptan " "el argumento *timeout*." -#: ../Doc/library/asyncio-future.rst:247 +#: ../Doc/library/asyncio-future.rst:250 msgid "" ":meth:`asyncio.Future.result` and :meth:`asyncio.Future.exception` raise an :" "exc:`InvalidStateError` exception when the Future is not *done*." @@ -382,7 +385,7 @@ msgstr "" ":meth:`asyncio.Future.result` y :meth:`asyncio.Future.exception` lanzan una " "excepción :exc:`InvalidStateError` cuando el Future no es *done*." -#: ../Doc/library/asyncio-future.rst:251 +#: ../Doc/library/asyncio-future.rst:254 msgid "" "Callbacks registered with :meth:`asyncio.Future.add_done_callback` are not " "called immediately. They are scheduled with :meth:`loop.call_soon` instead." @@ -391,10 +394,16 @@ msgstr "" "add_done_callback` no son llamadas inmediatamente, sino que son programadas " "con :meth:`loop.call_soon`." -#: ../Doc/library/asyncio-future.rst:255 +#: ../Doc/library/asyncio-future.rst:258 msgid "" "asyncio Future is not compatible with the :func:`concurrent.futures.wait` " "and :func:`concurrent.futures.as_completed` functions." msgstr "" "*asyncio* Future no es compatible con las funciones :func:`concurrent." "futures.wait` ni :func:`concurrent.futures.as_completed`." + +#: ../Doc/library/asyncio-future.rst:262 +msgid "" +":meth:`asyncio.Future.cancel` accepts an optional ``msg`` argument, but :" +"func:`concurrent.futures.cancel` does not." +msgstr "" diff --git a/library/asyncio-policy.po b/library/asyncio-policy.po index 563e393f84..73cd9e90d8 100644 --- a/library/asyncio-policy.po +++ b/library/asyncio-policy.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-10-06 19:01+0200\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/asyncio-policy.rst:8 msgid "Policies" @@ -356,9 +355,10 @@ msgstr "" "ejecuta en un hilo de SO no principal." #: ../Doc/library/asyncio-policy.rst:211 +#, fuzzy msgid "" "There is no noticeable overhead when handling a big number of children " -"(*O(1)* each time a child terminates), but stating a thread per process " +"(*O(1)* each time a child terminates), but starting a thread per process " "requires extra memory." msgstr "" "No hay sobrecarga notable cuando se gestiona un número grande de procesos " @@ -370,10 +370,11 @@ msgid "This watcher is used by default." msgstr "Este observador es usado por defecto." #: ../Doc/library/asyncio-policy.rst:220 +#, fuzzy msgid "" "This implementation registers a :py:data:`SIGCHLD` signal handler on " "instantiation. That can break third-party code that installs a custom " -"handler for `SIGCHLD`. signal)." +"handler for :py:data:`SIGCHLD` signal." msgstr "" "Esta implementación registra un gestor de señal en instanciación :py:data:" "`SIGCHLD`. Eso puede romper código de terceras partes que instalen un gestor " @@ -452,10 +453,21 @@ msgstr "" "para trabajar, como :class:`SafeChildWatcher`." #: ../Doc/library/asyncio-policy.rst:262 +msgid "" +"This implementation polls process file descriptors (pidfds) to await child " +"process termination. In some respects, :class:`PidfdChildWatcher` is a " +"\"Goldilocks\" child watcher implementation. It doesn't require signals or " +"threads, doesn't interfere with any processes launched outside the event " +"loop, and scales linearly with the number of subprocesses launched by the " +"event loop. The main disadvantage is that pidfds are specific to Linux, and " +"only work on recent (5.3+) kernels." +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:274 msgid "Custom Policies" msgstr "Personalizar Políticas" -#: ../Doc/library/asyncio-policy.rst:264 +#: ../Doc/library/asyncio-policy.rst:276 msgid "" "To implement a new event loop policy, it is recommended to subclass :class:" "`DefaultEventLoopPolicy` and override the methods for which custom behavior " diff --git a/library/asyncio-protocol.po b/library/asyncio-protocol.po index 32d81305a6..0edbab43ce 100644 --- a/library/asyncio-protocol.po +++ b/library/asyncio-protocol.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-09-07 15:02+0200\n" +"Last-Translator: Francisco Jesús Sevilla García \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Francisco Jesús Sevilla García \n" -"Language: es\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/asyncio-protocol.rst:9 msgid "Transports and Protocols" @@ -1025,7 +1024,7 @@ msgstr "" "el cierre de la conexión." #: ../Doc/library/asyncio-protocol.rst:577 -#: ../Doc/library/asyncio-protocol.rst:638 +#: ../Doc/library/asyncio-protocol.rst:635 msgid "State machine:" msgstr "Máquina de estado:" @@ -1033,17 +1032,7 @@ msgstr "Máquina de estado:" msgid "Buffered Streaming Protocols" msgstr "Protocolos de *streaming* mediante búfer" -#: ../Doc/library/asyncio-protocol.rst:590 -msgid "" -"**Important:** this has been added to asyncio in Python 3.7 *on a " -"provisional basis*! This is as an experimental API that might be changed or " -"removed completely in Python 3.8." -msgstr "" -"**Importante:** ¡esto se ha agregado a asyncio en Python 3.7 *de forma " -"provisional*! Debe tratarse como una API experimental que puede cambiarse o " -"eliminarse por completo en Python 3.8." - -#: ../Doc/library/asyncio-protocol.rst:595 +#: ../Doc/library/asyncio-protocol.rst:592 msgid "" "Buffered Protocols can be used with any event loop method that supports " "`Streaming Protocols`_." @@ -1051,7 +1040,7 @@ msgstr "" "Los protocolos que hacen uso de un búfer se pueden utilizar con cualquier " "método del bucle de eventos que admita `Streaming Protocols`_." -#: ../Doc/library/asyncio-protocol.rst:598 +#: ../Doc/library/asyncio-protocol.rst:595 msgid "" "``BufferedProtocol`` implementations allow explicit manual allocation and " "control of the receive buffer. Event loops can then use the buffer provided " @@ -1068,18 +1057,18 @@ msgstr "" "de protocolos sofisticados pueden reducir significativamente la cantidad de " "asignaciones de búfer." -#: ../Doc/library/asyncio-protocol.rst:605 +#: ../Doc/library/asyncio-protocol.rst:602 msgid "" "The following callbacks are called on :class:`BufferedProtocol` instances:" msgstr "" "Las siguientes retrollamadas son llamadas en instancias :class:" "`BufferedProtocol`:" -#: ../Doc/library/asyncio-protocol.rst:610 +#: ../Doc/library/asyncio-protocol.rst:607 msgid "Called to allocate a new receive buffer." msgstr "Se llama para asignar un nuevo búfer de recepción." -#: ../Doc/library/asyncio-protocol.rst:612 +#: ../Doc/library/asyncio-protocol.rst:609 msgid "" "*sizehint* is the recommended minimum size for the returned buffer. It is " "acceptable to return smaller or larger buffers than what *sizehint* " @@ -1091,7 +1080,7 @@ msgstr "" "*sizehint*. Cuando se establece en -1, el tamaño del búfer puede ser " "arbitrario. Es un error retornar un búfer con tamaño cero." -#: ../Doc/library/asyncio-protocol.rst:617 +#: ../Doc/library/asyncio-protocol.rst:614 msgid "" "``get_buffer()`` must return an object implementing the :ref:`buffer " "protocol `." @@ -1099,15 +1088,15 @@ msgstr "" "``get_buffer()`` debe retornar un objeto que implemente el :ref:`protocolo " "de búfer `." -#: ../Doc/library/asyncio-protocol.rst:622 +#: ../Doc/library/asyncio-protocol.rst:619 msgid "Called when the buffer was updated with the received data." msgstr "Se llama cuando el búfer se ha actualizado con los datos recibidos." -#: ../Doc/library/asyncio-protocol.rst:624 +#: ../Doc/library/asyncio-protocol.rst:621 msgid "*nbytes* is the total number of bytes that were written to the buffer." msgstr "*nbytes* es el número total de bytes que se escribieron en el búfer." -#: ../Doc/library/asyncio-protocol.rst:628 +#: ../Doc/library/asyncio-protocol.rst:625 msgid "" "See the documentation of the :meth:`protocol.eof_received() ` method." @@ -1115,7 +1104,7 @@ msgstr "" "Consulte la documentación del método :meth:`protocol.eof_received() " "`." -#: ../Doc/library/asyncio-protocol.rst:632 +#: ../Doc/library/asyncio-protocol.rst:629 msgid "" ":meth:`~BufferedProtocol.get_buffer` can be called an arbitrary number of " "times during a connection. However, :meth:`protocol.eof_received() " @@ -1129,11 +1118,11 @@ msgstr "" "`~BufferedProtocol.get_buffer` y :meth:`~BufferedProtocol.buffer_updated` no " "serán llamados después de eso." -#: ../Doc/library/asyncio-protocol.rst:651 +#: ../Doc/library/asyncio-protocol.rst:648 msgid "Datagram Protocols" msgstr "Protocolos de datagramas" -#: ../Doc/library/asyncio-protocol.rst:653 +#: ../Doc/library/asyncio-protocol.rst:650 msgid "" "Datagram Protocol instances should be constructed by protocol factories " "passed to the :meth:`loop.create_datagram_endpoint` method." @@ -1142,7 +1131,7 @@ msgstr "" "fábricas de protocolos pasadas al método :meth:`loop." "create_datagram_endpoint`." -#: ../Doc/library/asyncio-protocol.rst:658 +#: ../Doc/library/asyncio-protocol.rst:655 msgid "" "Called when a datagram is received. *data* is a bytes object containing the " "incoming data. *addr* is the address of the peer sending the data; the " @@ -1152,7 +1141,7 @@ msgstr "" "contiene los datos entrantes. *addr* es la dirección del par que envía los " "datos; el formato exacto depende del transporte." -#: ../Doc/library/asyncio-protocol.rst:664 +#: ../Doc/library/asyncio-protocol.rst:661 msgid "" "Called when a previous send or receive operation raises an :class:" "`OSError`. *exc* is the :class:`OSError` instance." @@ -1160,7 +1149,7 @@ msgstr "" "Se llama cuando una operación de envío o recepción anterior genera una :" "class:`OSError`. *exc* es la instancia :class:`OSError`." -#: ../Doc/library/asyncio-protocol.rst:667 +#: ../Doc/library/asyncio-protocol.rst:664 msgid "" "This method is called in rare conditions, when the transport (e.g. UDP) " "detects that a datagram could not be delivered to its recipient. In many " @@ -1171,7 +1160,7 @@ msgstr "" "destinatario. Sin embargo, en la mayoría de casos, los datagramas que no se " "puedan entregar se eliminarán silenciosamente." -#: ../Doc/library/asyncio-protocol.rst:674 +#: ../Doc/library/asyncio-protocol.rst:671 msgid "" "On BSD systems (macOS, FreeBSD, etc.) flow control is not supported for " "datagram protocols, because there is no reliable way to detect send failures " @@ -1182,7 +1171,7 @@ msgstr "" "forma confiable de detectar fallos de envío causados por escribir demasiados " "paquetes." -#: ../Doc/library/asyncio-protocol.rst:678 +#: ../Doc/library/asyncio-protocol.rst:675 msgid "" "The socket always appears 'ready' and excess packets are dropped. An :class:" "`OSError` with ``errno`` set to :const:`errno.ENOBUFS` may or may not be " @@ -1194,11 +1183,11 @@ msgstr "" "const:`errno.ENOBUFS` puede o no ser generado; si se genera, se informará a :" "meth:`DatagramProtocol.error_received` pero en caso contrario se ignorará." -#: ../Doc/library/asyncio-protocol.rst:687 +#: ../Doc/library/asyncio-protocol.rst:684 msgid "Subprocess Protocols" msgstr "Protocolos de subprocesos" -#: ../Doc/library/asyncio-protocol.rst:689 +#: ../Doc/library/asyncio-protocol.rst:686 msgid "" "Datagram Protocol instances should be constructed by protocol factories " "passed to the :meth:`loop.subprocess_exec` and :meth:`loop.subprocess_shell` " @@ -1208,44 +1197,44 @@ msgstr "" "fábricas de protocolos pasadas a los métodos :meth:`loop.subprocess_exec` y :" "meth:`loop.subprocess_shell`." -#: ../Doc/library/asyncio-protocol.rst:695 +#: ../Doc/library/asyncio-protocol.rst:692 msgid "" "Called when the child process writes data into its stdout or stderr pipe." msgstr "" "Se llama cuando el proceso hijo escribe datos en su pipe stdout o stderr." -#: ../Doc/library/asyncio-protocol.rst:698 +#: ../Doc/library/asyncio-protocol.rst:695 msgid "*fd* is the integer file descriptor of the pipe." msgstr "*fd* es el descriptor de archivo entero de la pipe." -#: ../Doc/library/asyncio-protocol.rst:700 +#: ../Doc/library/asyncio-protocol.rst:697 msgid "*data* is a non-empty bytes object containing the received data." msgstr "*data* es un objeto bytes no vacío que contiene los datos recibidos." -#: ../Doc/library/asyncio-protocol.rst:704 +#: ../Doc/library/asyncio-protocol.rst:701 msgid "" "Called when one of the pipes communicating with the child process is closed." msgstr "" "Se llama cuando se cierra una de las pipes que se comunican con el proceso " "hijo." -#: ../Doc/library/asyncio-protocol.rst:707 +#: ../Doc/library/asyncio-protocol.rst:704 msgid "*fd* is the integer file descriptor that was closed." msgstr "*fd* es el descriptor de archivo entero que se cerró." -#: ../Doc/library/asyncio-protocol.rst:711 +#: ../Doc/library/asyncio-protocol.rst:708 msgid "Called when the child process has exited." msgstr "Se llama cuando el proceso hijo ha finalizado." -#: ../Doc/library/asyncio-protocol.rst:715 +#: ../Doc/library/asyncio-protocol.rst:712 msgid "Examples" msgstr "Ejemplos" -#: ../Doc/library/asyncio-protocol.rst:720 +#: ../Doc/library/asyncio-protocol.rst:717 msgid "TCP Echo Server" msgstr "Servidor de eco TCP" -#: ../Doc/library/asyncio-protocol.rst:722 +#: ../Doc/library/asyncio-protocol.rst:719 msgid "" "Create a TCP echo server using the :meth:`loop.create_server` method, send " "back received data, and close the connection::" @@ -1253,7 +1242,7 @@ msgstr "" "Crear un servidor de eco TCP usando el método :meth:`loop.create_server`, " "enviar de vuelta los datos recibidos y cerrar la conexión::" -#: ../Doc/library/asyncio-protocol.rst:763 +#: ../Doc/library/asyncio-protocol.rst:760 msgid "" "The :ref:`TCP echo server using streams ` " "example uses the high-level :func:`asyncio.start_server` function." @@ -1261,11 +1250,11 @@ msgstr "" "El ejemplo :ref:`Servidor de eco TCP usando streams ` usa la función de alto nivel :func:`asyncio.start_server`." -#: ../Doc/library/asyncio-protocol.rst:769 +#: ../Doc/library/asyncio-protocol.rst:766 msgid "TCP Echo Client" msgstr "Cliente de eco TCP" -#: ../Doc/library/asyncio-protocol.rst:771 +#: ../Doc/library/asyncio-protocol.rst:768 msgid "" "A TCP echo client using the :meth:`loop.create_connection` method, sends " "data, and waits until the connection is closed::" @@ -1273,7 +1262,7 @@ msgstr "" "Un cliente de eco TCP usando el método :meth:`loop.create_connection`, envía " "datos y espera hasta que la conexión se cierre::" -#: ../Doc/library/asyncio-protocol.rst:819 +#: ../Doc/library/asyncio-protocol.rst:816 msgid "" "The :ref:`TCP echo client using streams ` " "example uses the high-level :func:`asyncio.open_connection` function." @@ -1281,11 +1270,11 @@ msgstr "" "El ejemplo :ref:`Cliente de eco TCP usando streams ` usa la función de alto nivel :func:`asyncio.open_connection`." -#: ../Doc/library/asyncio-protocol.rst:826 +#: ../Doc/library/asyncio-protocol.rst:823 msgid "UDP Echo Server" msgstr "Servidor de eco UDP" -#: ../Doc/library/asyncio-protocol.rst:828 +#: ../Doc/library/asyncio-protocol.rst:825 msgid "" "A UDP echo server, using the :meth:`loop.create_datagram_endpoint` method, " "sends back received data::" @@ -1293,11 +1282,11 @@ msgstr "" "Un servidor de eco UDP, usando el método :meth:`loop." "create_datagram_endpoint`, envía de vuelta los datos recibidos::" -#: ../Doc/library/asyncio-protocol.rst:870 +#: ../Doc/library/asyncio-protocol.rst:867 msgid "UDP Echo Client" msgstr "Cliente de eco UDP" -#: ../Doc/library/asyncio-protocol.rst:872 +#: ../Doc/library/asyncio-protocol.rst:869 msgid "" "A UDP echo client, using the :meth:`loop.create_datagram_endpoint` method, " "sends data and closes the transport when it receives the answer::" @@ -1306,11 +1295,11 @@ msgstr "" "create_datagram_endpoint`, envía datos y cierra el transporte cuando recibe " "la respuesta:" -#: ../Doc/library/asyncio-protocol.rst:927 +#: ../Doc/library/asyncio-protocol.rst:924 msgid "Connecting Existing Sockets" msgstr "Conectando sockets existentes" -#: ../Doc/library/asyncio-protocol.rst:929 +#: ../Doc/library/asyncio-protocol.rst:926 msgid "" "Wait until a socket receives data using the :meth:`loop.create_connection` " "method with a protocol::" @@ -1318,7 +1307,7 @@ msgstr "" "Espera hasta que un socket reciba datos usando el método :meth:`loop." "create_connection` mediante un protocolo::" -#: ../Doc/library/asyncio-protocol.rst:983 +#: ../Doc/library/asyncio-protocol.rst:980 msgid "" "The :ref:`watch a file descriptor for read events " "` example uses the low-level :meth:`loop." @@ -1328,7 +1317,7 @@ msgstr "" "` utiliza el método de bajo nivel :meth:`loop." "add_reader` para registrar un descriptor de archivo." -#: ../Doc/library/asyncio-protocol.rst:987 +#: ../Doc/library/asyncio-protocol.rst:984 msgid "" "The :ref:`register an open socket to wait for data using streams " "` example uses high-level streams " @@ -1338,11 +1327,11 @@ msgstr "" "streams ` usa *streams* de alto " "nivel creados por la función :func:`open_connection` en una corrutina." -#: ../Doc/library/asyncio-protocol.rst:994 +#: ../Doc/library/asyncio-protocol.rst:991 msgid "loop.subprocess_exec() and SubprocessProtocol" msgstr "*loop.subprocess_exec()* y *SubprocessProtocol*" -#: ../Doc/library/asyncio-protocol.rst:996 +#: ../Doc/library/asyncio-protocol.rst:993 msgid "" "An example of a subprocess protocol used to get the output of a subprocess " "and to wait for the subprocess exit." @@ -1350,11 +1339,12 @@ msgstr "" "Un ejemplo de un protocolo de subproceso que se utiliza para obtener la " "salida de un subproceso y esperar su terminación." -#: ../Doc/library/asyncio-protocol.rst:999 -msgid "The subprocess is created by th :meth:`loop.subprocess_exec` method::" +#: ../Doc/library/asyncio-protocol.rst:996 +#, fuzzy +msgid "The subprocess is created by the :meth:`loop.subprocess_exec` method::" msgstr "El subproceso es creado por el método :meth:`loop.subprocess_exec`::" -#: ../Doc/library/asyncio-protocol.rst:1045 +#: ../Doc/library/asyncio-protocol.rst:1042 msgid "" "See also the :ref:`same example ` " "written using high-level APIs." @@ -1362,3 +1352,12 @@ msgstr "" "Consulte también el :ref:`mismo ejemplo " "` escrito utilizando la API de alto " "nivel." + +#~ msgid "" +#~ "**Important:** this has been added to asyncio in Python 3.7 *on a " +#~ "provisional basis*! This is as an experimental API that might be changed " +#~ "or removed completely in Python 3.8." +#~ msgstr "" +#~ "**Importante:** ¡esto se ha agregado a asyncio en Python 3.7 *de forma " +#~ "provisional*! Debe tratarse como una API experimental que puede cambiarse " +#~ "o eliminarse por completo en Python 3.8." diff --git a/library/asyncio-subprocess.po b/library/asyncio-subprocess.po index 72a738063b..8bb3107543 100644 --- a/library/asyncio-subprocess.po +++ b/library/asyncio-subprocess.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-10-30 20:40-0500\n" +"Last-Translator: Adolfo Hristo David Roque Gámez \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Adolfo Hristo David Roque Gámez \n" -"Language: es\n" -"X-Generator: Poedit 2.4\n" #: ../Doc/library/asyncio-subprocess.rst:7 msgid "Subprocesses" @@ -136,18 +135,18 @@ msgstr "" "usadas para construir comandos de *shell*." #: ../Doc/library/asyncio-subprocess.rst:113 +#, fuzzy msgid "" -"The default asyncio event loop implementation on **Windows** does not " -"support subprocesses. Subprocesses are available for Windows if a :class:" -"`ProactorEventLoop` is used. See :ref:`Subprocess Support on Windows " -"` for details." +"Subprocesses are available for Windows if a :class:`ProactorEventLoop` is " +"used. See :ref:`Subprocess Support on Windows ` " +"for details." msgstr "" "La implementación del bucle de eventos de asyncio por defecto en **Windows** " "no admite sub-procesos. Los sub-procesos están disponibles para Windows si " "un :class:`ProactorEventLoop` es usado. Véase :ref:`Soporte de Sub-procesos " "en Windows ` para los detalles." -#: ../Doc/library/asyncio-subprocess.rst:121 +#: ../Doc/library/asyncio-subprocess.rst:119 msgid "" "asyncio also has the following *low-level* APIs to work with subprocesses: :" "meth:`loop.subprocess_exec`, :meth:`loop.subprocess_shell`, :meth:`loop." @@ -162,15 +161,15 @@ msgstr "" "transports>` y los :ref:`Sub-procesos de Protocolos `." -#: ../Doc/library/asyncio-subprocess.rst:129 +#: ../Doc/library/asyncio-subprocess.rst:127 msgid "Constants" msgstr "Constantes" -#: ../Doc/library/asyncio-subprocess.rst:133 +#: ../Doc/library/asyncio-subprocess.rst:131 msgid "Can be passed to the *stdin*, *stdout* or *stderr* parameters." msgstr "Se le puede pasar a los parámetros *stding*, *stdout* o *stderr*." -#: ../Doc/library/asyncio-subprocess.rst:135 +#: ../Doc/library/asyncio-subprocess.rst:133 msgid "" "If *PIPE* is passed to *stdin* argument, the :attr:`Process.stdin ` attribute will point to a :class:`StreamWriter` " @@ -180,7 +179,7 @@ msgstr "" "` apuntará a la instancia :class:" "`StreamWriter`." -#: ../Doc/library/asyncio-subprocess.rst:139 +#: ../Doc/library/asyncio-subprocess.rst:137 msgid "" "If *PIPE* is passed to *stdout* or *stderr* arguments, the :attr:`Process." "stdout ` and :attr:`Process.stderr " @@ -192,7 +191,7 @@ msgstr "" "` apuntarán a las instancias :class:" "`StreamReader`." -#: ../Doc/library/asyncio-subprocess.rst:146 +#: ../Doc/library/asyncio-subprocess.rst:144 msgid "" "Special value that can be used as the *stderr* argument and indicates that " "standard error should be redirected into standard output." @@ -200,7 +199,7 @@ msgstr "" "Un valor especial que puede ser usado como el argumento de *stderr* e indica " "que los errores estándar deben ser redireccionados en la salida estándar." -#: ../Doc/library/asyncio-subprocess.rst:151 +#: ../Doc/library/asyncio-subprocess.rst:149 msgid "" "Special value that can be used as the *stdin*, *stdout* or *stderr* argument " "to process creation functions. It indicates that the special file :data:`os." @@ -211,11 +210,11 @@ msgstr "" "archivo especial :data:`os.devnull` será usado para la correspondiente " "transmisión del sub-proceso." -#: ../Doc/library/asyncio-subprocess.rst:157 +#: ../Doc/library/asyncio-subprocess.rst:155 msgid "Interacting with Subprocesses" msgstr "Interactuando con Subprocesos" -#: ../Doc/library/asyncio-subprocess.rst:159 +#: ../Doc/library/asyncio-subprocess.rst:157 msgid "" "Both :func:`create_subprocess_exec` and :func:`create_subprocess_shell` " "functions return instances of the *Process* class. *Process* is a high-" @@ -227,7 +226,7 @@ msgstr "" "*Process* es un envoltorio de alto nivel que permite comunicarse con los " "subprocesos y estar atento a sus términos." -#: ../Doc/library/asyncio-subprocess.rst:166 +#: ../Doc/library/asyncio-subprocess.rst:164 msgid "" "An object that wraps OS processes created by the :func:" "`create_subprocess_exec` and :func:`create_subprocess_shell` functions." @@ -235,7 +234,7 @@ msgstr "" "Un objeto que envuelve procesos del SO creados por las funciones :func:" "`create_subprocess_exec` y :func:`create_subprocess_shell`." -#: ../Doc/library/asyncio-subprocess.rst:170 +#: ../Doc/library/asyncio-subprocess.rst:168 msgid "" "This class is designed to have a similar API to the :class:`subprocess." "Popen` class, but there are some notable differences:" @@ -243,7 +242,7 @@ msgstr "" "Esta clase está diseñada para tener un API similar a la clase :class:" "`subprocess.Popen`, pero hay algunas diferencias notables:" -#: ../Doc/library/asyncio-subprocess.rst:174 +#: ../Doc/library/asyncio-subprocess.rst:172 msgid "" "unlike Popen, Process instances do not have an equivalent to the :meth:" "`~subprocess.Popen.poll` method;" @@ -251,7 +250,7 @@ msgstr "" "a diferencia de Popen, las instancias de Process no tiene un equivalente del " "método :meth:`~subprocess.Popen.poll`;" -#: ../Doc/library/asyncio-subprocess.rst:177 +#: ../Doc/library/asyncio-subprocess.rst:175 msgid "" "the :meth:`~asyncio.subprocess.Process.communicate` and :meth:`~asyncio." "subprocess.Process.wait` methods don't have a *timeout* parameter: use the :" @@ -261,7 +260,7 @@ msgstr "" "`~asyncio.subprocess.Process.wait` no tienen un parámetro *timeout*: use la " "función :func:`wait_for`;" -#: ../Doc/library/asyncio-subprocess.rst:181 +#: ../Doc/library/asyncio-subprocess.rst:179 msgid "" "the :meth:`Process.wait() ` method is " "asynchronous, whereas :meth:`subprocess.Popen.wait` method is implemented as " @@ -271,17 +270,17 @@ msgstr "" "asíncrono, mientras que el método :meth:`subprocess.Popen.wait` es " "implementado como un bucle de espera activa;" -#: ../Doc/library/asyncio-subprocess.rst:185 +#: ../Doc/library/asyncio-subprocess.rst:183 msgid "the *universal_newlines* parameter is not supported." msgstr "el parámetro *universal_newlines* no es compatible." -#: ../Doc/library/asyncio-subprocess.rst:187 +#: ../Doc/library/asyncio-subprocess.rst:185 msgid "This class is :ref:`not thread safe `." msgstr "" "Esta clase no es segura para subprocesos (:ref:`not thread safe `)." -#: ../Doc/library/asyncio-subprocess.rst:189 +#: ../Doc/library/asyncio-subprocess.rst:187 msgid "" "See also the :ref:`Subprocess and Threads ` " "section." @@ -289,15 +288,15 @@ msgstr "" "Véase también la sección :ref:`Subprocesos e Hilos `." -#: ../Doc/library/asyncio-subprocess.rst:194 +#: ../Doc/library/asyncio-subprocess.rst:192 msgid "Wait for the child process to terminate." msgstr "Espera a que el proceso hijo termine." -#: ../Doc/library/asyncio-subprocess.rst:196 +#: ../Doc/library/asyncio-subprocess.rst:194 msgid "Set and return the :attr:`returncode` attribute." msgstr "Define y retorna el atributo :attr:`returncode`." -#: ../Doc/library/asyncio-subprocess.rst:200 +#: ../Doc/library/asyncio-subprocess.rst:198 msgid "" "This method can deadlock when using ``stdout=PIPE`` or ``stderr=PIPE`` and " "the child process generates so much output that it blocks waiting for the OS " @@ -309,23 +308,23 @@ msgstr "" "tubería de búfer del SO acepte más datos. Use el método :meth:`communicate` " "cuando use tuberías para evitar esta condición." -#: ../Doc/library/asyncio-subprocess.rst:208 +#: ../Doc/library/asyncio-subprocess.rst:206 msgid "Interact with process:" msgstr "Interactuar con el proceso:" -#: ../Doc/library/asyncio-subprocess.rst:210 +#: ../Doc/library/asyncio-subprocess.rst:208 msgid "send data to *stdin* (if *input* is not ``None``);" msgstr "envía datos a *stdin* (si *input* no es ``None``);" -#: ../Doc/library/asyncio-subprocess.rst:211 +#: ../Doc/library/asyncio-subprocess.rst:209 msgid "read data from *stdout* and *stderr*, until EOF is reached;" msgstr "lee datos desde *stdout* y *stderr*, hasta que el llegue al EOF;" -#: ../Doc/library/asyncio-subprocess.rst:212 +#: ../Doc/library/asyncio-subprocess.rst:210 msgid "wait for process to terminate." msgstr "espera a que el proceso termine." -#: ../Doc/library/asyncio-subprocess.rst:214 +#: ../Doc/library/asyncio-subprocess.rst:212 msgid "" "The optional *input* argument is the data (:class:`bytes` object) that will " "be sent to the child process." @@ -333,11 +332,11 @@ msgstr "" "El argumento opcional *input* son los datos (objetos :class:`bytes`) que " "serán enviados a los procesos hijos." -#: ../Doc/library/asyncio-subprocess.rst:217 +#: ../Doc/library/asyncio-subprocess.rst:215 msgid "Return a tuple ``(stdout_data, stderr_data)``." msgstr "Retorna una tupla ``(stdout_data, stderr_data)``." -#: ../Doc/library/asyncio-subprocess.rst:219 +#: ../Doc/library/asyncio-subprocess.rst:217 msgid "" "If either :exc:`BrokenPipeError` or :exc:`ConnectionResetError` exception is " "raised when writing *input* into *stdin*, the exception is ignored. This " @@ -349,7 +348,7 @@ msgstr "" "ignorada. Esta condición ocurre cuando el proceso finaliza antes de que " "todos los datos sean escritos en *stdin*." -#: ../Doc/library/asyncio-subprocess.rst:224 +#: ../Doc/library/asyncio-subprocess.rst:222 msgid "" "If it is desired to send data to the process' *stdin*, the process needs to " "be created with ``stdin=PIPE``. Similarly, to get anything other than " @@ -361,7 +360,7 @@ msgstr "" "excepto ``None`` en la tupla del resultado, el proceso tiene que ser creado " "con los argumentos ``stdout=PIPE`` y/o ``stderr=PIPE``." -#: ../Doc/library/asyncio-subprocess.rst:230 +#: ../Doc/library/asyncio-subprocess.rst:228 msgid "" "Note, that the data read is buffered in memory, so do not use this method if " "the data size is large or unlimited." @@ -369,11 +368,11 @@ msgstr "" "Tenga en cuenta que los datos leídos son almacenados en memoria, por lo que " "no utilice este método si el tamaño de los datos es más grande o ilimitado." -#: ../Doc/library/asyncio-subprocess.rst:235 +#: ../Doc/library/asyncio-subprocess.rst:233 msgid "Sends the signal *signal* to the child process." msgstr "Envíe la señal *signal* al proceso hijo." -#: ../Doc/library/asyncio-subprocess.rst:239 +#: ../Doc/library/asyncio-subprocess.rst:237 msgid "" "On Windows, :py:data:`SIGTERM` is an alias for :meth:`terminate`. " "``CTRL_C_EVENT`` and ``CTRL_BREAK_EVENT`` can be sent to processes started " @@ -383,11 +382,11 @@ msgstr "" "enviar ``CTRL_C_EVENT`` y ``CTRL_BREAK_EVENT`` a procesos iniciados con un " "parámetro *creationflags* que incluye ``CREATE_NEW_PROCESS_GROUP``." -#: ../Doc/library/asyncio-subprocess.rst:246 +#: ../Doc/library/asyncio-subprocess.rst:244 msgid "Stop the child process." msgstr "Para al proceso hijo." -#: ../Doc/library/asyncio-subprocess.rst:248 +#: ../Doc/library/asyncio-subprocess.rst:246 msgid "" "On POSIX systems this method sends :py:data:`signal.SIGTERM` to the child " "process." @@ -395,7 +394,7 @@ msgstr "" "En sistemas POSIX este método envía :py:data:`signal.SIGNTERM` al proceso " "hijo." -#: ../Doc/library/asyncio-subprocess.rst:251 +#: ../Doc/library/asyncio-subprocess.rst:249 msgid "" "On Windows the Win32 API function :c:func:`TerminateProcess` is called to " "stop the child process." @@ -403,21 +402,21 @@ msgstr "" "En Windows, la función de la API de Win32 :c:func:`TerminateProcess` es " "llamado para parar a los procesos hijos." -#: ../Doc/library/asyncio-subprocess.rst:256 +#: ../Doc/library/asyncio-subprocess.rst:254 msgid "Kill the child." msgstr "Termina el proceso hijo." -#: ../Doc/library/asyncio-subprocess.rst:258 +#: ../Doc/library/asyncio-subprocess.rst:256 msgid "" "On POSIX systems this method sends :py:data:`SIGKILL` to the child process." msgstr "" "En sistemas POSIX, este método envía :py:data:`SIGKILL` al proceso hijo." -#: ../Doc/library/asyncio-subprocess.rst:261 +#: ../Doc/library/asyncio-subprocess.rst:259 msgid "On Windows this method is an alias for :meth:`terminate`." msgstr "En Windows este método es un alias para :meth:`terminate`." -#: ../Doc/library/asyncio-subprocess.rst:265 +#: ../Doc/library/asyncio-subprocess.rst:263 msgid "" "Standard input stream (:class:`StreamWriter`) or ``None`` if the process was " "created with ``stdin=None``." @@ -425,7 +424,7 @@ msgstr "" "Flujo de entrada estándar (:class:`StreamWriter`) o ``None`` si el proceso " "fue creado con ``stdin=None``." -#: ../Doc/library/asyncio-subprocess.rst:270 +#: ../Doc/library/asyncio-subprocess.rst:268 msgid "" "Standard output stream (:class:`StreamReader`) or ``None`` if the process " "was created with ``stdout=None``." @@ -433,7 +432,7 @@ msgstr "" "Flujo de salida estándar (:class:`SreamReader`) o ``None`` si el proceso fue " "creado con ``stdout=None``." -#: ../Doc/library/asyncio-subprocess.rst:275 +#: ../Doc/library/asyncio-subprocess.rst:273 msgid "" "Standard error stream (:class:`StreamReader`) or ``None`` if the process was " "created with ``stderr=None``." @@ -441,7 +440,7 @@ msgstr "" "Flujo de salida estándar (:class:`StreamReader`) o ``None`` si el proceso " "fue creado con ``stderr=None``." -#: ../Doc/library/asyncio-subprocess.rst:280 +#: ../Doc/library/asyncio-subprocess.rst:278 msgid "" "Use the :meth:`communicate` method rather than :attr:`process.stdin.write() " "`, :attr:`await process.stdout.read() ` or :attr:`await " @@ -453,11 +452,11 @@ msgstr "" "process.stderr.read `. Esto evita bloqueos debido a que los flujos " "pausan la lectura o escritura y bloqueando al proceso hijo." -#: ../Doc/library/asyncio-subprocess.rst:289 +#: ../Doc/library/asyncio-subprocess.rst:287 msgid "Process identification number (PID)." msgstr "Número de identificación del Proceso (PID por sus siglas en inglés)." -#: ../Doc/library/asyncio-subprocess.rst:291 +#: ../Doc/library/asyncio-subprocess.rst:289 msgid "" "Note that for processes created by the :func:`create_subprocess_shell` " "function, this attribute is the PID of the spawned shell." @@ -465,15 +464,15 @@ msgstr "" "Tenga en cuenta que para procesos creados por la función :func:`create­" "_subprocess_shell`, este atributo es el PID del shell generado." -#: ../Doc/library/asyncio-subprocess.rst:296 +#: ../Doc/library/asyncio-subprocess.rst:294 msgid "Return code of the process when it exits." msgstr "Código de retorno del proceso cuando finaliza." -#: ../Doc/library/asyncio-subprocess.rst:298 +#: ../Doc/library/asyncio-subprocess.rst:296 msgid "A ``None`` value indicates that the process has not terminated yet." msgstr "Un valor ``None`` indica que el proceso todavía no ha finalizado." -#: ../Doc/library/asyncio-subprocess.rst:300 +#: ../Doc/library/asyncio-subprocess.rst:298 msgid "" "A negative value ``-N`` indicates that the child was terminated by signal " "``N`` (POSIX only)." @@ -481,11 +480,11 @@ msgstr "" "Un valor negativo ``-N`` indica que el hijo ha finalizado por la señal ``N`` " "(sólo para POSIX)." -#: ../Doc/library/asyncio-subprocess.rst:307 +#: ../Doc/library/asyncio-subprocess.rst:305 msgid "Subprocess and Threads" msgstr "Subprocesos y Hilos" -#: ../Doc/library/asyncio-subprocess.rst:309 +#: ../Doc/library/asyncio-subprocess.rst:307 msgid "" "Standard asyncio event loop supports running subprocesses from different " "threads by default." @@ -493,7 +492,7 @@ msgstr "" "Por defecto el bucle de eventos de asyncio estándar permite correr " "subprocesos desde hilos diferentes." -#: ../Doc/library/asyncio-subprocess.rst:312 +#: ../Doc/library/asyncio-subprocess.rst:310 msgid "" "On Windows subprocesses are provided by :class:`ProactorEventLoop` only " "(default), :class:`SelectorEventLoop` has no subprocess support." @@ -501,7 +500,7 @@ msgstr "" "En Windows, sólo :class:`ProactorEventLoop` proporciona subprocesos (por " "defecto), :class:`SelectorEventLoop` no es compatible con subprocesos." -#: ../Doc/library/asyncio-subprocess.rst:315 +#: ../Doc/library/asyncio-subprocess.rst:313 msgid "" "On UNIX *child watchers* are used for subprocess finish waiting, see :ref:" "`asyncio-watchers` for more info." @@ -510,7 +509,7 @@ msgstr "" "finalización de subprocesos, véase :ref:`asyncio-watchers` para más " "información." -#: ../Doc/library/asyncio-subprocess.rst:321 +#: ../Doc/library/asyncio-subprocess.rst:319 msgid "" "UNIX switched to use :class:`ThreadedChildWatcher` for spawning subprocesses " "from different threads without any limitation." @@ -518,7 +517,7 @@ msgstr "" "UNIX cambió para usar :class:`ThreadedChildWatcher` para generar subprocesos " "de hilos diferentes sin ninguna limitación." -#: ../Doc/library/asyncio-subprocess.rst:324 +#: ../Doc/library/asyncio-subprocess.rst:322 msgid "" "Spawning a subprocess with *inactive* current child watcher raises :exc:" "`RuntimeError`." @@ -526,7 +525,7 @@ msgstr "" "Crear un subproceso con el observador del hijo *inactivo* lanza un :exc:" "`RuntimeError`." -#: ../Doc/library/asyncio-subprocess.rst:327 +#: ../Doc/library/asyncio-subprocess.rst:325 msgid "" "Note that alternative event loop implementations might have own limitations; " "please refer to their documentation." @@ -534,7 +533,7 @@ msgstr "" "Tenga en cuenta que implementaciones alternativas del bucle de eventos " "pueden tener limitaciones propias; por favor consulte su documentación." -#: ../Doc/library/asyncio-subprocess.rst:332 +#: ../Doc/library/asyncio-subprocess.rst:330 msgid "" "The :ref:`Concurrency and multithreading in asyncio ` section." @@ -542,11 +541,11 @@ msgstr "" "La sección :ref:`Concurrencia y multihilos en asyncio `." -#: ../Doc/library/asyncio-subprocess.rst:337 +#: ../Doc/library/asyncio-subprocess.rst:335 msgid "Examples" msgstr "Ejemplos" -#: ../Doc/library/asyncio-subprocess.rst:339 +#: ../Doc/library/asyncio-subprocess.rst:337 msgid "" "An example using the :class:`~asyncio.subprocess.Process` class to control a " "subprocess and the :class:`StreamReader` class to read from its standard " @@ -556,13 +555,13 @@ msgstr "" "controlar un subproceso y la clase :class:`StreamReader` para leer de su " "salida estándar." -#: ../Doc/library/asyncio-subprocess.rst:345 +#: ../Doc/library/asyncio-subprocess.rst:343 msgid "" "The subprocess is created by the :func:`create_subprocess_exec` function::" msgstr "" "El subproceso es creado por la función :func:`create_subprocess_exec`::" -#: ../Doc/library/asyncio-subprocess.rst:372 +#: ../Doc/library/asyncio-subprocess.rst:370 msgid "" "See also the :ref:`same example ` written " "using low-level APIs." diff --git a/library/asyncio-sync.po b/library/asyncio-sync.po index 4a4b3454eb..3b333c0865 100644 --- a/library/asyncio-sync.po +++ b/library/asyncio-sync.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-10-05 19:15+0200\n" +"Last-Translator: Francisco Jesús Sevilla García \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Francisco Jesús Sevilla García \n" -"Language: es\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/asyncio-sync.rst:7 msgid "Synchronization Primitives" @@ -180,11 +179,12 @@ msgstr "" "ha ocurrido algún evento." #: ../Doc/library/asyncio-sync.rst:106 +#, fuzzy msgid "" "An Event object manages an internal flag that can be set to *true* with the :" -"meth:`set` method and reset to *false* with the :meth:`clear` method. The :" -"meth:`wait` method blocks until the flag is set to *true*. The flag is set " -"to *false* initially." +"meth:`~Event.set` method and reset to *false* with the :meth:`clear` " +"method. The :meth:`~Event.wait` method blocks until the flag is set to " +"*true*. The flag is set to *false* initially." msgstr "" "Un objeto Event gestiona un indicador interno que puede ser establecido en " "*verdadero* mediante el método :meth:`set` y restaurado a *falso* con el " @@ -201,9 +201,10 @@ msgid "Wait until the event is set." msgstr "Espera hasta que se establezca el evento." #: ../Doc/library/asyncio-sync.rst:144 +#, fuzzy msgid "" "If the event is set, return ``True`` immediately. Otherwise block until " -"another task calls :meth:`set`." +"another task calls :meth:`~Event.set`." msgstr "" "Si el evento está establecido, retorna ``True`` inmediatamente. En caso " "contrario, bloquea hasta que alguna otra tarea invoca al método :meth:`set`." @@ -223,9 +224,10 @@ msgid "Clear (unset) the event." msgstr "Borra (restablece) el evento." #: ../Doc/library/asyncio-sync.rst:158 +#, fuzzy msgid "" -"Tasks awaiting on :meth:`wait` will now block until the :meth:`set` method " -"is called again." +"Tasks awaiting on :meth:`~Event.wait` will now block until the :meth:`~Event." +"set` method is called again." msgstr "" "Las tareas pendientes en :meth:`wait` ahora se bloquearán hasta que se " "vuelva a llamar al método :meth:`set` de nuevo." @@ -459,10 +461,11 @@ msgstr "" "contador interno por encima del *valor* inicial." #: ../Doc/library/asyncio-sync.rst:352 +#, fuzzy msgid "" "Acquiring a lock using ``await lock`` or ``yield from lock`` and/or :keyword:" -"`with` statement (``with await lock``, ``with (yield from lock)``) is " -"deprecated. Use ``async with lock`` instead." +"`with` statement (``with await lock``, ``with (yield from lock)``) was " +"removed. Use ``async with lock`` instead." msgstr "" "Adquirir un bloqueo usando ``await lock`` o ``yield from lock`` y/o la " "declaración :keyword:`with` (``with await lock``, ``with (yield from " diff --git a/library/asyncio-task.po b/library/asyncio-task.po index 211025f6b8..50abca384a 100644 --- a/library/asyncio-task.po +++ b/library/asyncio-task.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-12-12 14:25-0300\n" +"Last-Translator: Emmanuel Arias \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Emmanuel Arias \n" -"Language: es\n" -"X-Generator: Poedit 2.4.2\n" #: ../Doc/library/asyncio-task.rst:6 msgid "Coroutines and Tasks" @@ -244,9 +243,10 @@ msgid "Execute the :term:`coroutine` *coro* and return the result." msgstr "Ejecuta la :term:`coroutine` *coro* y retornando el resultado." #: ../Doc/library/asyncio-task.rst:217 +#, fuzzy msgid "" "This function runs the passed coroutine, taking care of managing the asyncio " -"event loop and *finalizing asynchronous generators*." +"event loop, *finalizing asynchronous generators*, and closing the threadpool." msgstr "" "Esta función ejecuta la corrutina pasada, encargándose de administrar el " "bucle de eventos asyncio y *finalizar los generadores asíncronos*." @@ -274,12 +274,16 @@ msgstr "" "Debe usarse como un punto de entrada principal para los programas asyncio, e " "idealmente solo debe llamarse una vez." -#: ../Doc/library/asyncio-task.rst:230 ../Doc/library/asyncio-task.rst:354 -#: ../Doc/library/asyncio-task.rst:463 ../Doc/library/asyncio-task.rst:593 +#: ../Doc/library/asyncio-task.rst:230 ../Doc/library/asyncio-task.rst:356 +#: ../Doc/library/asyncio-task.rst:474 ../Doc/library/asyncio-task.rst:606 msgid "Example::" msgstr "Ejemplo::" -#: ../Doc/library/asyncio-task.rst:242 +#: ../Doc/library/asyncio-task.rst:240 +msgid "Updated to use :meth:`loop.shutdown_default_executor`." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:244 msgid "" "The source code for ``asyncio.run()`` can be found in :source:`Lib/asyncio/" "runners.py`." @@ -287,11 +291,11 @@ msgstr "" "El código fuente para ``asyncio.run()`` se puede encontrar en :source:`Lib/" "asyncio/runners.py`." -#: ../Doc/library/asyncio-task.rst:246 +#: ../Doc/library/asyncio-task.rst:248 msgid "Creating Tasks" msgstr "Creando Tareas" -#: ../Doc/library/asyncio-task.rst:250 +#: ../Doc/library/asyncio-task.rst:252 msgid "" "Wrap the *coro* :ref:`coroutine ` into a :class:`Task` and " "schedule its execution. Return the Task object." @@ -299,7 +303,7 @@ msgstr "" "Envuelve una :ref:`coroutine ` *coro* en una :class:`Task` y " "programa su ejecución. Retorna el objeto Tarea." -#: ../Doc/library/asyncio-task.rst:253 +#: ../Doc/library/asyncio-task.rst:255 msgid "" "If *name* is not ``None``, it is set as the name of the task using :meth:" "`Task.set_name`." @@ -307,7 +311,7 @@ msgstr "" "Si *name* no es ``None``, se establece como el nombre de la tarea mediante :" "meth:`Task.set_name`." -#: ../Doc/library/asyncio-task.rst:256 +#: ../Doc/library/asyncio-task.rst:258 msgid "" "The task is executed in the loop returned by :func:`get_running_loop`, :exc:" "`RuntimeError` is raised if there is no running loop in current thread." @@ -316,7 +320,7 @@ msgstr "" "`RuntimeError` se genera si no hay ningún bucle en ejecución en el " "subproceso actual." -#: ../Doc/library/asyncio-task.rst:260 +#: ../Doc/library/asyncio-task.rst:262 msgid "" "This function has been **added in Python 3.7**. Prior to Python 3.7, the " "low-level :func:`asyncio.ensure_future` function can be used instead::" @@ -325,19 +329,19 @@ msgstr "" "función de bajo nivel :func:`asyncio.ensure_future` se puede utilizar en su " "lugar::" -#: ../Doc/library/asyncio-task.rst:277 ../Doc/library/asyncio-task.rst:716 +#: ../Doc/library/asyncio-task.rst:279 ../Doc/library/asyncio-task.rst:788 msgid "Added the ``name`` parameter." msgstr "Se ha añadido el parámetro ``name``." -#: ../Doc/library/asyncio-task.rst:282 +#: ../Doc/library/asyncio-task.rst:284 msgid "Sleeping" msgstr "Durmiendo" -#: ../Doc/library/asyncio-task.rst:286 +#: ../Doc/library/asyncio-task.rst:288 msgid "Block for *delay* seconds." msgstr "Bloquea por *delay* segundos." -#: ../Doc/library/asyncio-task.rst:288 +#: ../Doc/library/asyncio-task.rst:290 msgid "" "If *result* is provided, it is returned to the caller when the coroutine " "completes." @@ -345,32 +349,32 @@ msgstr "" "Si se proporciona *result*, se retorna al autor de la llamada cuando se " "completa la corrutina." -#: ../Doc/library/asyncio-task.rst:291 +#: ../Doc/library/asyncio-task.rst:293 msgid "" "``sleep()`` always suspends the current task, allowing other tasks to run." msgstr "" "``sleep()`` siempre suspende la tarea actual, permitiendo que se ejecuten " "otras tareas." -#: ../Doc/library/asyncio-task.rst:296 ../Doc/library/asyncio-task.rst:351 -#: ../Doc/library/asyncio-task.rst:430 ../Doc/library/asyncio-task.rst:460 -#: ../Doc/library/asyncio-task.rst:545 ../Doc/library/asyncio-task.rst:592 -#: ../Doc/library/asyncio-task.rst:721 +#: ../Doc/library/asyncio-task.rst:298 ../Doc/library/asyncio-task.rst:353 +#: ../Doc/library/asyncio-task.rst:440 ../Doc/library/asyncio-task.rst:471 +#: ../Doc/library/asyncio-task.rst:558 ../Doc/library/asyncio-task.rst:605 +#: ../Doc/library/asyncio-task.rst:793 msgid "The *loop* parameter." msgstr "El parámetro *loop*." -#: ../Doc/library/asyncio-task.rst:299 +#: ../Doc/library/asyncio-task.rst:301 msgid "" "Example of coroutine displaying the current date every second for 5 seconds::" msgstr "" "Ejemplo de una rutina que muestra la fecha actual cada segundo durante 5 " "segundos::" -#: ../Doc/library/asyncio-task.rst:318 +#: ../Doc/library/asyncio-task.rst:320 msgid "Running Tasks Concurrently" msgstr "Ejecutando Tareas Concurrentemente" -#: ../Doc/library/asyncio-task.rst:322 +#: ../Doc/library/asyncio-task.rst:324 msgid "" "Run :ref:`awaitable objects ` in the *aws* sequence " "*concurrently*." @@ -378,7 +382,7 @@ msgstr "" "Ejecute :ref:`objetos esperables ` en la secuencia *aws* " "de forma *concurrently*." -#: ../Doc/library/asyncio-task.rst:325 +#: ../Doc/library/asyncio-task.rst:327 msgid "" "If any awaitable in *aws* is a coroutine, it is automatically scheduled as a " "Task." @@ -386,7 +390,7 @@ msgstr "" "Si cualquier esperable en *aws* es una corrutina, se programa " "automáticamente como una Tarea." -#: ../Doc/library/asyncio-task.rst:328 +#: ../Doc/library/asyncio-task.rst:330 msgid "" "If all awaitables are completed successfully, the result is an aggregate " "list of returned values. The order of result values corresponds to the " @@ -396,7 +400,7 @@ msgstr "" "lista agregada de valores retornados. El orden de los valores de resultado " "corresponde al orden de esperables en *aws*." -#: ../Doc/library/asyncio-task.rst:332 +#: ../Doc/library/asyncio-task.rst:334 msgid "" "If *return_exceptions* is ``False`` (default), the first raised exception is " "immediately propagated to the task that awaits on ``gather()``. Other " @@ -408,7 +412,7 @@ msgstr "" "``gather()``. Otros esperables en la secuencia *aws* **no se cancelarán** y " "continuarán ejecutándose." -#: ../Doc/library/asyncio-task.rst:337 +#: ../Doc/library/asyncio-task.rst:339 msgid "" "If *return_exceptions* is ``True``, exceptions are treated the same as " "successful results, and aggregated in the result list." @@ -416,7 +420,7 @@ msgstr "" "Si *return_exceptions* es ``True``, las excepciones se tratan igual que los " "resultados correctos y se agregan en la lista de resultados." -#: ../Doc/library/asyncio-task.rst:340 +#: ../Doc/library/asyncio-task.rst:342 msgid "" "If ``gather()`` is *cancelled*, all submitted awaitables (that have not " "completed yet) are also *cancelled*." @@ -424,7 +428,7 @@ msgstr "" "Si ``gather()`` es *cancelado*, todos los esperables enviados (que aún no se " "han completado) también se *cancelan*." -#: ../Doc/library/asyncio-task.rst:343 +#: ../Doc/library/asyncio-task.rst:345 msgid "" "If any Task or Future from the *aws* sequence is *cancelled*, it is treated " "as if it raised :exc:`CancelledError` -- the ``gather()`` call is **not** " @@ -436,7 +440,16 @@ msgstr "" "cancela en este caso. Esto es para evitar la cancelación de una Tarea/Futuro " "enviada para hacer que otras Tareas/Futuros sean canceladas." -#: ../Doc/library/asyncio-task.rst:388 +#: ../Doc/library/asyncio-task.rst:391 +msgid "" +"If *return_exceptions* is False, cancelling gather() after it has been " +"marked done won't cancel any submitted awaitables. For instance, gather can " +"be marked done after propagating an exception to the caller, therefore, " +"calling ``gather.cancel()`` after catching an exception (raised by one of " +"the awaitables) from gather won't cancel any other awaitables." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:398 msgid "" "If the *gather* itself is cancelled, the cancellation is propagated " "regardless of *return_exceptions*." @@ -444,11 +457,11 @@ msgstr "" "Si se cancela el propio *gather*, la cancelación se propaga " "independientemente de *return_exceptions*." -#: ../Doc/library/asyncio-task.rst:394 +#: ../Doc/library/asyncio-task.rst:404 msgid "Shielding From Cancellation" msgstr "Protección contra Cancelación" -#: ../Doc/library/asyncio-task.rst:398 +#: ../Doc/library/asyncio-task.rst:408 msgid "" "Protect an :ref:`awaitable object ` from being :meth:" "`cancelled `." @@ -456,19 +469,19 @@ msgstr "" "Protege un :ref:`objeto esperable ` de ser :meth:" "`cancelado `." -#: ../Doc/library/asyncio-task.rst:401 ../Doc/library/asyncio-task.rst:441 +#: ../Doc/library/asyncio-task.rst:411 ../Doc/library/asyncio-task.rst:451 msgid "If *aw* is a coroutine it is automatically scheduled as a Task." msgstr "Si *aw* es una corrutina, se programa automáticamente como una Tarea." -#: ../Doc/library/asyncio-task.rst:403 +#: ../Doc/library/asyncio-task.rst:413 msgid "The statement::" msgstr "La declaración::" -#: ../Doc/library/asyncio-task.rst:407 +#: ../Doc/library/asyncio-task.rst:417 msgid "is equivalent to::" msgstr "es equivalente a::" -#: ../Doc/library/asyncio-task.rst:411 +#: ../Doc/library/asyncio-task.rst:421 msgid "" "*except* that if the coroutine containing it is cancelled, the Task running " "in ``something()`` is not cancelled. From the point of view of " @@ -482,7 +495,7 @@ msgstr "" "cancelado, por lo que la expresión \"await\" sigue generando un :exc:" "`CancelledError`." -#: ../Doc/library/asyncio-task.rst:417 +#: ../Doc/library/asyncio-task.rst:427 msgid "" "If ``something()`` is cancelled by other means (i.e. from within itself) " "that would also cancel ``shield()``." @@ -490,7 +503,7 @@ msgstr "" "Si ``something()`` se cancela por otros medios (es decir, desde dentro de sí " "mismo) eso también cancelaría ``shield()``." -#: ../Doc/library/asyncio-task.rst:420 +#: ../Doc/library/asyncio-task.rst:430 msgid "" "If it is desired to completely ignore cancellation (not recommended) the " "``shield()`` function should be combined with a try/except clause, as " @@ -500,11 +513,11 @@ msgstr "" "función ``shield()`` debe combinarse con una cláusula try/except, como se " "indica a continuación::" -#: ../Doc/library/asyncio-task.rst:434 +#: ../Doc/library/asyncio-task.rst:444 msgid "Timeouts" msgstr "Tiempo agotado" -#: ../Doc/library/asyncio-task.rst:438 +#: ../Doc/library/asyncio-task.rst:448 msgid "" "Wait for the *aw* :ref:`awaitable ` to complete with a " "timeout." @@ -512,7 +525,7 @@ msgstr "" "Espere a que el *aw* :ref:`esperable ` se complete con " "un tiempo agotado." -#: ../Doc/library/asyncio-task.rst:443 +#: ../Doc/library/asyncio-task.rst:453 msgid "" "*timeout* can either be ``None`` or a float or int number of seconds to wait " "for. If *timeout* is ``None``, block until the future completes." @@ -520,7 +533,7 @@ msgstr "" "*timeout* puede ser ``None`` o punto flotante o un número entero de segundos " "a esperar. Si *timeout* es ``None``, se bloquea hasta que futuro se complete." -#: ../Doc/library/asyncio-task.rst:447 +#: ../Doc/library/asyncio-task.rst:457 msgid "" "If a timeout occurs, it cancels the task and raises :exc:`asyncio." "TimeoutError`." @@ -528,7 +541,7 @@ msgstr "" "Si se produce un agotamiento de tiempo, cancela la tarea y genera :exc:" "`asyncio.TimeoutError`." -#: ../Doc/library/asyncio-task.rst:450 +#: ../Doc/library/asyncio-task.rst:460 msgid "" "To avoid the task :meth:`cancellation `, wrap it in :func:" "`shield`." @@ -536,19 +549,21 @@ msgstr "" "Para evitar la :meth:`cancelación ` de la tarea , envuélvala " "en :func:`shield`." -#: ../Doc/library/asyncio-task.rst:453 +#: ../Doc/library/asyncio-task.rst:463 +#, fuzzy msgid "" "The function will wait until the future is actually cancelled, so the total " -"wait time may exceed the *timeout*." +"wait time may exceed the *timeout*. If an exception happens during " +"cancellation, it is propagated." msgstr "" "La función esperará hasta que el futuro este cancelado, por lo que el tiempo " "de espera total puede superar el *timeout*." -#: ../Doc/library/asyncio-task.rst:456 +#: ../Doc/library/asyncio-task.rst:467 msgid "If the wait is cancelled, the future *aw* is also cancelled." msgstr "Si se cancela la espera, el futuro *aw* también se cancela." -#: ../Doc/library/asyncio-task.rst:483 +#: ../Doc/library/asyncio-task.rst:494 msgid "" "When *aw* is cancelled due to a timeout, ``wait_for`` waits for *aw* to be " "cancelled. Previously, it raised :exc:`asyncio.TimeoutError` immediately." @@ -557,28 +572,33 @@ msgstr "" "espera a que se cancele *aw*. Anteriormente, se lanzó inmediatamente :exc:" "`asyncio.TimeoutError`." -#: ../Doc/library/asyncio-task.rst:490 +#: ../Doc/library/asyncio-task.rst:501 msgid "Waiting Primitives" msgstr "Esperando Primitivas" -#: ../Doc/library/asyncio-task.rst:495 +#: ../Doc/library/asyncio-task.rst:506 +#, fuzzy msgid "" -"Run :ref:`awaitable objects ` in the *aws* set " +"Run :ref:`awaitable objects ` in the *aws* iterable " "concurrently and block until the condition specified by *return_when*." msgstr "" "Ejecute :ref:`objetos esperables ` en el conjunto *aws* " "simultáneamente y bloquee hasta que la condición especificada por " "*return_when*." -#: ../Doc/library/asyncio-task.rst:499 +#: ../Doc/library/asyncio-task.rst:510 +msgid "The *aws* iterable must not be empty." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:512 msgid "Returns two sets of Tasks/Futures: ``(done, pending)``." msgstr "Retorna dos conjuntos de Tareas/Futuros: ``(done, pending)``." -#: ../Doc/library/asyncio-task.rst:501 +#: ../Doc/library/asyncio-task.rst:514 msgid "Usage::" msgstr "Uso::" -#: ../Doc/library/asyncio-task.rst:505 +#: ../Doc/library/asyncio-task.rst:518 msgid "" "*timeout* (a float or int), if specified, can be used to control the maximum " "number of seconds to wait before returning." @@ -587,7 +607,7 @@ msgstr "" "para controlar el número máximo de segundos que hay que esperar antes de " "retornar." -#: ../Doc/library/asyncio-task.rst:508 +#: ../Doc/library/asyncio-task.rst:521 msgid "" "Note that this function does not raise :exc:`asyncio.TimeoutError`. Futures " "or Tasks that aren't done when the timeout occurs are simply returned in the " @@ -597,7 +617,7 @@ msgstr "" "Futuros o Tareas que no terminan cuando se agota el tiempo simplemente se " "retornan en el segundo conjunto." -#: ../Doc/library/asyncio-task.rst:512 +#: ../Doc/library/asyncio-task.rst:525 msgid "" "*return_when* indicates when this function should return. It must be one of " "the following constants:" @@ -605,27 +625,27 @@ msgstr "" "*return_when* indica cuándo debe retornar esta función. Debe ser una de las " "siguientes constantes:" -#: ../Doc/library/asyncio-task.rst:518 +#: ../Doc/library/asyncio-task.rst:531 msgid "Constant" msgstr "Constante" -#: ../Doc/library/asyncio-task.rst:518 +#: ../Doc/library/asyncio-task.rst:531 msgid "Description" msgstr "Descripción" -#: ../Doc/library/asyncio-task.rst:520 +#: ../Doc/library/asyncio-task.rst:533 msgid ":const:`FIRST_COMPLETED`" msgstr ":const:`FIRST_COMPLETED`" -#: ../Doc/library/asyncio-task.rst:520 +#: ../Doc/library/asyncio-task.rst:533 msgid "The function will return when any future finishes or is cancelled." msgstr "La función retornará cuando cualquier Futuro termine o se cancele." -#: ../Doc/library/asyncio-task.rst:523 +#: ../Doc/library/asyncio-task.rst:536 msgid ":const:`FIRST_EXCEPTION`" msgstr ":const:`FIRST_EXCEPTION`" -#: ../Doc/library/asyncio-task.rst:523 +#: ../Doc/library/asyncio-task.rst:536 msgid "" "The function will return when any future finishes by raising an exception. " "If no future raises an exception then it is equivalent to :const:" @@ -635,15 +655,15 @@ msgstr "" "excepción. Si ningún Futuro lanza una excepción, entonces es equivalente a :" "const:`ALL_COMPLETED`." -#: ../Doc/library/asyncio-task.rst:529 +#: ../Doc/library/asyncio-task.rst:542 msgid ":const:`ALL_COMPLETED`" msgstr ":const:`ALL_COMPLETED`" -#: ../Doc/library/asyncio-task.rst:529 +#: ../Doc/library/asyncio-task.rst:542 msgid "The function will return when all futures finish or are cancelled." msgstr "La función retornará cuando todos los Futuros terminen o se cancelen." -#: ../Doc/library/asyncio-task.rst:533 +#: ../Doc/library/asyncio-task.rst:546 msgid "" "Unlike :func:`~asyncio.wait_for`, ``wait()`` does not cancel the futures " "when a timeout occurs." @@ -651,7 +671,7 @@ msgstr "" "A diferencia de :func:`~asyncio.wait_for`, ``wait()`` no cancela los Futuros " "cuando se produce un agotamiento de tiempo." -#: ../Doc/library/asyncio-task.rst:538 +#: ../Doc/library/asyncio-task.rst:551 msgid "" "If any awaitable in *aws* is a coroutine, it is automatically scheduled as a " "Task. Passing coroutines objects to ``wait()`` directly is deprecated as it " @@ -662,7 +682,7 @@ msgstr "" "directamente está en desuso, ya que conduce a :ref:`comportamiento confuso " "`." -#: ../Doc/library/asyncio-task.rst:550 +#: ../Doc/library/asyncio-task.rst:563 msgid "" "``wait()`` schedules coroutines as Tasks automatically and later returns " "those implicitly created Task objects in ``(done, pending)`` sets. " @@ -673,27 +693,23 @@ msgstr "" "``(done, pending)``. Por lo tanto, el código siguiente no funcionará como se " "esperaba::" -#: ../Doc/library/asyncio-task.rst:563 +#: ../Doc/library/asyncio-task.rst:576 msgid "Here is how the above snippet can be fixed::" msgstr "Aquí es cómo se puede arreglar el fragmento de código anterior::" -#: ../Doc/library/asyncio-task.rst:576 +#: ../Doc/library/asyncio-task.rst:589 msgid "Passing coroutine objects to ``wait()`` directly is deprecated." msgstr "El paso de objetos corrutina a ``wait()`` directamente está en desuso." -#: ../Doc/library/asyncio-task.rst:582 +#: ../Doc/library/asyncio-task.rst:595 msgid "" -"Run :ref:`awaitable objects ` in the *aws* set " -"concurrently. Return an iterator of :class:`Future` objects. Each Future " -"object returned represents the earliest result from the set of the remaining " -"awaitables." +"Run :ref:`awaitable objects ` in the *aws* iterable " +"concurrently. Return an iterator of coroutines. Each coroutine returned can " +"be awaited to get the earliest next result from the iterable of the " +"remaining awaitables." msgstr "" -"Ejecute :ref:`objetos aguardables ` en el conjunto *aws* " -"simultáneamente. Devuelve un iterador de objetos :class:`Future`. Cada " -"objeto Future devuelto representa el resultado más antiguo del conjunto de " -"los aguardables restantes." -#: ../Doc/library/asyncio-task.rst:587 +#: ../Doc/library/asyncio-task.rst:600 msgid "" "Raises :exc:`asyncio.TimeoutError` if the timeout occurs before all Futures " "are done." @@ -701,16 +717,60 @@ msgstr "" "Lanza :exc:`asyncio.TimeoutError` si el agotamiento de tiempo ocurre antes " "que todos los Futuros terminen." -#: ../Doc/library/asyncio-task.rst:601 +#: ../Doc/library/asyncio-task.rst:614 +msgid "Running in Threads" +msgstr "" + +#: ../Doc/library/asyncio-task.rst:618 +msgid "Asynchronously run function *func* in a separate thread." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:620 +msgid "" +"Any \\*args and \\*\\*kwargs supplied for this function are directly passed " +"to *func*. Also, the current :class:`contextvars.Context` is propagated, " +"allowing context variables from the event loop thread to be accessed in the " +"separate thread." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:625 +msgid "" +"Return a coroutine that can be awaited to get the eventual result of *func*." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:627 +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 ran in the main thread. For example::" +msgstr "" + +#: ../Doc/library/asyncio-task.rst:657 +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 "" + +#: ../Doc/library/asyncio-task.rst:664 +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 "" + +#: ../Doc/library/asyncio-task.rst:673 msgid "Scheduling From Other Threads" msgstr "Planificación Desde Otros Hilos" -#: ../Doc/library/asyncio-task.rst:605 +#: ../Doc/library/asyncio-task.rst:677 msgid "Submit a coroutine to the given event loop. Thread-safe." msgstr "" "Envía una corrutina al bucle de eventos especificado. Seguro para Hilos." -#: ../Doc/library/asyncio-task.rst:607 +#: ../Doc/library/asyncio-task.rst:679 msgid "" "Return a :class:`concurrent.futures.Future` to wait for the result from " "another OS thread." @@ -718,7 +778,7 @@ msgstr "" "Retorna :class:`concurrent.futures.Future` para esperar el resultado de otro " "hilo del SO (Sistema Operativo)." -#: ../Doc/library/asyncio-task.rst:610 +#: ../Doc/library/asyncio-task.rst:682 msgid "" "This function is meant to be called from a different OS thread than the one " "where the event loop is running. Example::" @@ -726,7 +786,7 @@ msgstr "" "Esta función está pensada para llamarse desde un hilo del SO diferente al " "que se ejecuta el bucle de eventos. Ejemplo::" -#: ../Doc/library/asyncio-task.rst:622 +#: ../Doc/library/asyncio-task.rst:694 msgid "" "If an exception is raised in the coroutine, the returned Future will be " "notified. It can also be used to cancel the task in the event loop::" @@ -735,7 +795,7 @@ msgstr "" "notificado. También se puede utilizar para cancelar la tarea en el bucle de " "eventos::" -#: ../Doc/library/asyncio-task.rst:636 +#: ../Doc/library/asyncio-task.rst:708 msgid "" "See the :ref:`concurrency and multithreading ` " "section of the documentation." @@ -743,7 +803,7 @@ msgstr "" "Consulte la sección de la documentación :ref:`Concurrencia y multi hilos " "`." -#: ../Doc/library/asyncio-task.rst:639 +#: ../Doc/library/asyncio-task.rst:711 msgid "" "Unlike other asyncio functions this function requires the *loop* argument to " "be passed explicitly." @@ -751,11 +811,11 @@ msgstr "" "A diferencia de otras funciones asyncio, esta función requiere que el " "argumento *loop* se pase explícitamente." -#: ../Doc/library/asyncio-task.rst:646 +#: ../Doc/library/asyncio-task.rst:718 msgid "Introspection" msgstr "Introspección" -#: ../Doc/library/asyncio-task.rst:651 +#: ../Doc/library/asyncio-task.rst:723 msgid "" "Return the currently running :class:`Task` instance, or ``None`` if no task " "is running." @@ -763,7 +823,7 @@ msgstr "" "Retorna la instancia :class:`Task` actualmente en ejecución o ``None`` si no " "se está ejecutando ninguna tarea." -#: ../Doc/library/asyncio-task.rst:654 +#: ../Doc/library/asyncio-task.rst:726 msgid "" "If *loop* is ``None`` :func:`get_running_loop` is used to get the current " "loop." @@ -771,12 +831,12 @@ msgstr "" "Si *loop* es ``None`` :func:`get_running_loop` se utiliza para obtener el " "bucle actual." -#: ../Doc/library/asyncio-task.rst:662 +#: ../Doc/library/asyncio-task.rst:734 msgid "Return a set of not yet finished :class:`Task` objects run by the loop." msgstr "" "Retorna un conjunto de objetos :class:`Task` que se ejecutan por el bucle." -#: ../Doc/library/asyncio-task.rst:665 +#: ../Doc/library/asyncio-task.rst:737 msgid "" "If *loop* is ``None``, :func:`get_running_loop` is used for getting current " "loop." @@ -784,11 +844,11 @@ msgstr "" "Si *loop* es ``None``, :func:`get_running_loop` se utiliza para obtener el " "bucle actual." -#: ../Doc/library/asyncio-task.rst:672 +#: ../Doc/library/asyncio-task.rst:744 msgid "Task Object" msgstr "Objeto Task" -#: ../Doc/library/asyncio-task.rst:676 +#: ../Doc/library/asyncio-task.rst:748 msgid "" "A :class:`Future-like ` object that runs a Python :ref:`coroutine " "`. Not thread-safe." @@ -796,7 +856,7 @@ msgstr "" "Un objeto :class:`similar a Futuro ` que ejecuta Python :ref:" "`coroutine `. No es seguro hilos." -#: ../Doc/library/asyncio-task.rst:679 +#: ../Doc/library/asyncio-task.rst:751 msgid "" "Tasks are used to run coroutines in event loops. If a coroutine awaits on a " "Future, the Task suspends the execution of the coroutine and waits for the " @@ -808,7 +868,7 @@ msgstr "" "corrutina y espera la finalización del Futuro. Cuando el Futuro *termina*, " "se reanuda la ejecución de la corrutina envuelta." -#: ../Doc/library/asyncio-task.rst:685 +#: ../Doc/library/asyncio-task.rst:757 msgid "" "Event loops use cooperative scheduling: an event loop runs one Task at a " "time. While a Task awaits for the completion of a Future, the event loop " @@ -819,7 +879,7 @@ msgstr "" "de un Futuro, el bucle de eventos ejecuta otras tareas, retorno de llamada o " "realiza operaciones de E/S." -#: ../Doc/library/asyncio-task.rst:690 +#: ../Doc/library/asyncio-task.rst:762 msgid "" "Use the high-level :func:`asyncio.create_task` function to create Tasks, or " "the low-level :meth:`loop.create_task` or :func:`ensure_future` functions. " @@ -829,7 +889,7 @@ msgstr "" "Tareas, o las funciones de bajo nivel :meth:`loop.create_task` o :func:" "`ensure_future`. Se desaconseja la creación de instancias manuales de Tareas." -#: ../Doc/library/asyncio-task.rst:695 +#: ../Doc/library/asyncio-task.rst:767 msgid "" "To cancel a running Task use the :meth:`cancel` method. Calling it will " "cause the Task to throw a :exc:`CancelledError` exception into the wrapped " @@ -841,7 +901,7 @@ msgstr "" "corrutina contenida. Si una corrutina está esperando en un objeto Futuro " "durante la cancelación, se cancelará el objeto Futuro." -#: ../Doc/library/asyncio-task.rst:700 +#: ../Doc/library/asyncio-task.rst:772 msgid "" ":meth:`cancelled` can be used to check if the Task was cancelled. The method " "returns ``True`` if the wrapped coroutine did not suppress the :exc:" @@ -851,7 +911,7 @@ msgstr "" "cancelada. El método devuelve ``True`` si la corrutina contenida no suprimió " "la excepción :exc:`CancelledError` y se canceló realmente." -#: ../Doc/library/asyncio-task.rst:705 +#: ../Doc/library/asyncio-task.rst:777 msgid "" ":class:`asyncio.Task` inherits from :class:`Future` all of its APIs except :" "meth:`Future.set_result` and :meth:`Future.set_exception`." @@ -859,7 +919,7 @@ msgstr "" ":class:`asyncio.Task` hereda de :class:`Future` todas sus API excepto :meth:" "`Future.set_result` y :meth:`Future.set_exception`." -#: ../Doc/library/asyncio-task.rst:709 +#: ../Doc/library/asyncio-task.rst:781 msgid "" "Tasks support the :mod:`contextvars` module. When a Task is created it " "copies the current context and later runs its coroutine in the copied " @@ -869,15 +929,15 @@ msgstr "" "copia el contexto actual y, posteriormente, ejecuta su corrutina en el " "contexto copiado." -#: ../Doc/library/asyncio-task.rst:713 +#: ../Doc/library/asyncio-task.rst:785 msgid "Added support for the :mod:`contextvars` module." msgstr "Agregado soporte para el módulo :mod:`contextvars`." -#: ../Doc/library/asyncio-task.rst:724 +#: ../Doc/library/asyncio-task.rst:796 msgid "Request the Task to be cancelled." msgstr "Solicita que se cancele la Tarea." -#: ../Doc/library/asyncio-task.rst:726 +#: ../Doc/library/asyncio-task.rst:798 msgid "" "This arranges for a :exc:`CancelledError` exception to be thrown into the " "wrapped coroutine on the next cycle of the event loop." @@ -885,7 +945,7 @@ msgstr "" "Esto hace que una excepción :exc:`CancelledError` sea lanzada a la corrutina " "contenida en el próximo ciclo del bucle de eventos." -#: ../Doc/library/asyncio-task.rst:729 +#: ../Doc/library/asyncio-task.rst:801 msgid "" "The coroutine then has a chance to clean up or even deny the request by " "suppressing the exception with a :keyword:`try` ... ... ``except " @@ -901,7 +961,12 @@ msgstr "" "cancelada, aunque suprimir la cancelación por completo no es común y se " "desalienta activamente." -#: ../Doc/library/asyncio-task.rst:739 +#: ../Doc/library/asyncio-task.rst:809 +#, fuzzy +msgid "Added the ``msg`` parameter." +msgstr "Se ha añadido el parámetro ``name``." + +#: ../Doc/library/asyncio-task.rst:814 msgid "" "The following example illustrates how coroutines can intercept the " "cancellation request::" @@ -909,11 +974,11 @@ msgstr "" "En el ejemplo siguiente se muestra cómo las corrutinas pueden interceptar la " "solicitud de cancelación::" -#: ../Doc/library/asyncio-task.rst:778 +#: ../Doc/library/asyncio-task.rst:853 msgid "Return ``True`` if the Task is *cancelled*." msgstr "Retorna ``True`` si la Tarea se *cancela*." -#: ../Doc/library/asyncio-task.rst:780 +#: ../Doc/library/asyncio-task.rst:855 msgid "" "The Task is *cancelled* when the cancellation was requested with :meth:" "`cancel` and the wrapped coroutine propagated the :exc:`CancelledError` " @@ -923,11 +988,11 @@ msgstr "" "la corrutina contenida propagó la excepción :exc:`CancelledError` que se le " "ha lanzado." -#: ../Doc/library/asyncio-task.rst:786 +#: ../Doc/library/asyncio-task.rst:861 msgid "Return ``True`` if the Task is *done*." msgstr "Retorna ``True`` si la Tarea está *finalizada*." -#: ../Doc/library/asyncio-task.rst:788 +#: ../Doc/library/asyncio-task.rst:863 msgid "" "A Task is *done* when the wrapped coroutine either returned a value, raised " "an exception, or the Task was cancelled." @@ -935,11 +1000,11 @@ msgstr "" "Una tarea está *finalizada* cuando la corrutina contenida retornó un valor, " "lanzó una excepción, o se canceló la Tarea." -#: ../Doc/library/asyncio-task.rst:793 +#: ../Doc/library/asyncio-task.rst:868 msgid "Return the result of the Task." msgstr "Retorna el resultado de la Tarea." -#: ../Doc/library/asyncio-task.rst:795 +#: ../Doc/library/asyncio-task.rst:870 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.)" @@ -948,7 +1013,7 @@ msgstr "" "contenida (o si la corrutina lanzó una excepción, esa excepción se vuelve a " "relanzar.)" -#: ../Doc/library/asyncio-task.rst:799 ../Doc/library/asyncio-task.rst:813 +#: ../Doc/library/asyncio-task.rst:874 ../Doc/library/asyncio-task.rst:888 msgid "" "If the Task has been *cancelled*, this method raises a :exc:`CancelledError` " "exception." @@ -956,7 +1021,7 @@ msgstr "" "Si la Tarea ha sido *cancelada*, este método lanza una excepción :exc:" "`CancelledError`." -#: ../Doc/library/asyncio-task.rst:802 +#: ../Doc/library/asyncio-task.rst:877 msgid "" "If the Task's result isn't yet available, this method raises a :exc:" "`InvalidStateError` exception." @@ -964,11 +1029,11 @@ msgstr "" "Si el resultado de la Tarea aún no está disponible, este método lanza una " "excepción :exc:`InvalidStateError`." -#: ../Doc/library/asyncio-task.rst:807 +#: ../Doc/library/asyncio-task.rst:882 msgid "Return the exception of the Task." msgstr "Retorna la excepción de la Tarea." -#: ../Doc/library/asyncio-task.rst:809 +#: ../Doc/library/asyncio-task.rst:884 msgid "" "If the wrapped coroutine raised an exception that exception is returned. If " "the wrapped coroutine returned normally this method returns ``None``." @@ -976,7 +1041,7 @@ msgstr "" "Si la corrutina contenida lanzó una excepción, esa excepción es retornada. " "Si la corrutina contenida retorna normalmente, este método retorna ``None``." -#: ../Doc/library/asyncio-task.rst:816 +#: ../Doc/library/asyncio-task.rst:891 msgid "" "If the Task isn't *done* yet, this method raises an :exc:`InvalidStateError` " "exception." @@ -984,28 +1049,28 @@ msgstr "" "Si la Tarea aún no está *terminada*, este método lanza una excepción :exc:" "`InvalidStateError`." -#: ../Doc/library/asyncio-task.rst:821 +#: ../Doc/library/asyncio-task.rst:896 msgid "Add a callback to be run when the Task is *done*." msgstr "" "Agrega una retro llamada que se ejecutará cuando la Tarea esté *terminada*." -#: ../Doc/library/asyncio-task.rst:823 ../Doc/library/asyncio-task.rst:832 +#: ../Doc/library/asyncio-task.rst:898 ../Doc/library/asyncio-task.rst:907 msgid "This method should only be used in low-level callback-based code." msgstr "" "Este método solo se debe usar en código basado en retrollamada de bajo nivel." -#: ../Doc/library/asyncio-task.rst:825 +#: ../Doc/library/asyncio-task.rst:900 msgid "" "See the documentation of :meth:`Future.add_done_callback` for more details." msgstr "" "Consulte la documentación de :meth:`Future.add_done_callback` para obtener " "más detalles." -#: ../Doc/library/asyncio-task.rst:830 +#: ../Doc/library/asyncio-task.rst:905 msgid "Remove *callback* from the callbacks list." msgstr "Remueve la *retrollamada* de la lista de retrollamadas." -#: ../Doc/library/asyncio-task.rst:834 +#: ../Doc/library/asyncio-task.rst:909 msgid "" "See the documentation of :meth:`Future.remove_done_callback` for more " "details." @@ -1013,11 +1078,11 @@ msgstr "" "Consulte la documentación de :meth:`Future.remove_done_callback` para " "obtener más detalles." -#: ../Doc/library/asyncio-task.rst:839 +#: ../Doc/library/asyncio-task.rst:914 msgid "Return the list of stack frames for this Task." msgstr "Retorna la lista de marcos de pila para esta tarea." -#: ../Doc/library/asyncio-task.rst:841 +#: ../Doc/library/asyncio-task.rst:916 msgid "" "If the wrapped coroutine is not done, this returns the stack where it is " "suspended. If the coroutine has completed successfully or was cancelled, " @@ -1029,15 +1094,15 @@ msgstr "" "retorna una lista vacía. Si la corrutina terminó por una excepción, esto " "retorna la lista de marcos de seguimiento." -#: ../Doc/library/asyncio-task.rst:847 +#: ../Doc/library/asyncio-task.rst:922 msgid "The frames are always ordered from oldest to newest." msgstr "Los marcos siempre se ordenan de más antiguo a más nuevo." -#: ../Doc/library/asyncio-task.rst:849 +#: ../Doc/library/asyncio-task.rst:924 msgid "Only one stack frame is returned for a suspended coroutine." msgstr "Solo se retorna un marco de pila para una corrutina suspendida." -#: ../Doc/library/asyncio-task.rst:851 +#: ../Doc/library/asyncio-task.rst:926 msgid "" "The optional *limit* argument sets the maximum number of frames to return; " "by default all available frames are returned. The ordering of the returned " @@ -1052,11 +1117,11 @@ msgstr "" "pila, pero se devuelven los marcos más antiguos de un *traceback*. (Esto " "coincide con el comportamiento del módulo traceback.)ss" -#: ../Doc/library/asyncio-task.rst:860 +#: ../Doc/library/asyncio-task.rst:935 msgid "Print the stack or traceback for this Task." msgstr "Imprime la pila o el seguimiento de esta tarea." -#: ../Doc/library/asyncio-task.rst:862 +#: ../Doc/library/asyncio-task.rst:937 msgid "" "This produces output similar to that of the traceback module for the frames " "retrieved by :meth:`get_stack`." @@ -1064,11 +1129,11 @@ msgstr "" "Esto produce una salida similar a la del módulo traceback para los marcos " "recuperados por :meth:`get_stack`." -#: ../Doc/library/asyncio-task.rst:865 +#: ../Doc/library/asyncio-task.rst:940 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:867 +#: ../Doc/library/asyncio-task.rst:942 msgid "" "The *file* argument is an I/O stream to which the output is written; by " "default output is written to :data:`sys.stderr`." @@ -1076,15 +1141,15 @@ 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`." -#: ../Doc/library/asyncio-task.rst:872 +#: ../Doc/library/asyncio-task.rst:947 msgid "Return the coroutine object wrapped by the :class:`Task`." msgstr "Retorna el objeto corrutina contenido por :class:`Task`." -#: ../Doc/library/asyncio-task.rst:878 +#: ../Doc/library/asyncio-task.rst:953 msgid "Return the name of the Task." msgstr "Retorna el nombre de la Tarea." -#: ../Doc/library/asyncio-task.rst:880 +#: ../Doc/library/asyncio-task.rst:955 msgid "" "If no name has been explicitly assigned to the Task, the default asyncio " "Task implementation generates a default name during instantiation." @@ -1093,18 +1158,18 @@ msgstr "" "implementación de Tarea asyncio predeterminada genera un nombre " "predeterminado durante la creación de instancias." -#: ../Doc/library/asyncio-task.rst:888 +#: ../Doc/library/asyncio-task.rst:963 msgid "Set the name of the Task." msgstr "Establece el nombre de la Tarea." -#: ../Doc/library/asyncio-task.rst:890 +#: ../Doc/library/asyncio-task.rst:965 msgid "" "The *value* argument can be any object, which is then converted to a string." msgstr "" "El argumento *value* puede ser cualquier objeto, que luego se convierte en " "una cadena." -#: ../Doc/library/asyncio-task.rst:893 +#: ../Doc/library/asyncio-task.rst:968 msgid "" "In the default Task implementation, the name will be visible in the :func:" "`repr` output of a task object." @@ -1112,53 +1177,11 @@ msgstr "" "En la implementación de Task predeterminada, el nombre será visible en la " "salida :func:`repr` de un objeto de tarea." -#: ../Doc/library/asyncio-task.rst:900 -msgid "Return a set of all tasks for an event loop." -msgstr "Retorna un conjunto de todas las tareas para un bucle de eventos." - -#: ../Doc/library/asyncio-task.rst:902 -msgid "" -"By default all tasks for the current event loop are returned. If *loop* is " -"``None``, the :func:`get_event_loop` function is used to get the current " -"loop." -msgstr "" -"De forma predeterminada, se retornan todas las tareas del bucle de eventos " -"actual. Si *loop* es ``None``, la función :func:`get_event_loop` se utiliza " -"para obtener el bucle actual." - -#: ../Doc/library/asyncio-task.rst:908 -msgid "" -"Do not call this as a task method. Use the :func:`asyncio.all_tasks` " -"function instead." -msgstr "" -"No llame a esto como un método de tarea. Utilice la función :func:`asyncio." -"all_tasks` en su lugar." - -#: ../Doc/library/asyncio-task.rst:913 -msgid "Return the currently running task or ``None``." -msgstr "Retorna la tarea que se está ejecutando actualmente o ``None``." - -#: ../Doc/library/asyncio-task.rst:915 -msgid "" -"If *loop* is ``None``, the :func:`get_event_loop` function is used to get " -"the current loop." -msgstr "" -"Si *bucle* es ``None``, la función :func:`get_event_loop` se utiliza para " -"obtener el bucle actual." - -#: ../Doc/library/asyncio-task.rst:920 -msgid "" -"Do not call this as a task method. Use the :func:`asyncio.current_task` " -"function instead." -msgstr "" -"No llame a esto como un método de tarea. Utilice la función :func:`asyncio." -"current_task` en su lugar." - -#: ../Doc/library/asyncio-task.rst:927 +#: ../Doc/library/asyncio-task.rst:977 msgid "Generator-based Coroutines" msgstr "Corrutinas basadas en generadores" -#: ../Doc/library/asyncio-task.rst:931 +#: ../Doc/library/asyncio-task.rst:981 msgid "" "Support for generator-based coroutines is **deprecated** and is scheduled " "for removal in Python 3.10." @@ -1166,7 +1189,7 @@ msgstr "" "La compatibilidad con corrutinas basadas en generadores está **en desuso** y " "está programada para su eliminación en Python 3.10." -#: ../Doc/library/asyncio-task.rst:934 +#: ../Doc/library/asyncio-task.rst:984 msgid "" "Generator-based coroutines predate async/await syntax. They are Python " "generators that use ``yield from`` expressions to await on Futures and other " @@ -1176,7 +1199,7 @@ msgstr "" "await. Son generadores de Python que utilizan expresiones ``yield from`` " "para esperar en Futuros y otras corrutinas." -#: ../Doc/library/asyncio-task.rst:938 +#: ../Doc/library/asyncio-task.rst:988 msgid "" "Generator-based coroutines should be decorated with :func:`@asyncio." "coroutine `, although this is not enforced." @@ -1184,11 +1207,11 @@ msgstr "" "Las corrutinas basadas en generadores deben estar decoradas con :func:" "`@asyncio.coroutine `, aunque esto no se aplica." -#: ../Doc/library/asyncio-task.rst:945 +#: ../Doc/library/asyncio-task.rst:995 msgid "Decorator to mark generator-based coroutines." msgstr "Decorador para marcar corrutinas basadas en generadores." -#: ../Doc/library/asyncio-task.rst:947 +#: ../Doc/library/asyncio-task.rst:997 msgid "" "This decorator enables legacy generator-based coroutines to be compatible " "with async/await code::" @@ -1196,20 +1219,20 @@ msgstr "" "Este decorador permite que las corrutinas basadas en generadores de " "versiones anteriores (*legacy*) sean compatibles con el código async/await::" -#: ../Doc/library/asyncio-task.rst:957 +#: ../Doc/library/asyncio-task.rst:1007 msgid "This decorator should not be used for :keyword:`async def` coroutines." msgstr "" "Este decorador no debe utilizarse para corrutinas :keyword:`async def`." -#: ../Doc/library/asyncio-task.rst:962 +#: ../Doc/library/asyncio-task.rst:1012 msgid "Use :keyword:`async def` instead." msgstr "Usar :keyword:`async def` en su lugar." -#: ../Doc/library/asyncio-task.rst:966 +#: ../Doc/library/asyncio-task.rst:1016 msgid "Return ``True`` if *obj* is a :ref:`coroutine object `." msgstr "Retorna ``True`` si *obj* es un :ref:`coroutine object `." -#: ../Doc/library/asyncio-task.rst:968 +#: ../Doc/library/asyncio-task.rst:1018 msgid "" "This method is different from :func:`inspect.iscoroutine` because it returns " "``True`` for generator-based coroutines." @@ -1217,12 +1240,12 @@ msgstr "" "Este método es diferente de :func:`inspect.iscoroutine` porque retorna " "``True`` para corrutinas basadas en generadores." -#: ../Doc/library/asyncio-task.rst:973 +#: ../Doc/library/asyncio-task.rst:1023 msgid "Return ``True`` if *func* is a :ref:`coroutine function `." msgstr "" "Retorna ``True`` si *func* es una :ref:`coroutine function `." -#: ../Doc/library/asyncio-task.rst:976 +#: ../Doc/library/asyncio-task.rst:1026 msgid "" "This method is different from :func:`inspect.iscoroutinefunction` because it " "returns ``True`` for generator-based coroutine functions decorated with :" @@ -1231,3 +1254,50 @@ msgstr "" "Este método es diferente de :func:`inspect.iscoroutinefunction` porque " "retorna ``True`` para funciones de corrutinas basadas en generadores " "decoradas con :func:`@coroutine `." + +#~ msgid "" +#~ "Run :ref:`awaitable objects ` in the *aws* set " +#~ "concurrently. Return an iterator of :class:`Future` objects. Each Future " +#~ "object returned represents the earliest result from the set of the " +#~ "remaining awaitables." +#~ msgstr "" +#~ "Ejecute :ref:`objetos aguardables ` en el conjunto " +#~ "*aws* simultáneamente. Devuelve un iterador de objetos :class:`Future`. " +#~ "Cada objeto Future devuelto representa el resultado más antiguo del " +#~ "conjunto de los aguardables restantes." + +#~ msgid "Return a set of all tasks for an event loop." +#~ msgstr "Retorna un conjunto de todas las tareas para un bucle de eventos." + +#~ msgid "" +#~ "By default all tasks for the current event loop are returned. If *loop* " +#~ "is ``None``, the :func:`get_event_loop` function is used to get the " +#~ "current loop." +#~ msgstr "" +#~ "De forma predeterminada, se retornan todas las tareas del bucle de " +#~ "eventos actual. Si *loop* es ``None``, la función :func:`get_event_loop` " +#~ "se utiliza para obtener el bucle actual." + +#~ msgid "" +#~ "Do not call this as a task method. Use the :func:`asyncio.all_tasks` " +#~ "function instead." +#~ msgstr "" +#~ "No llame a esto como un método de tarea. Utilice la función :func:" +#~ "`asyncio.all_tasks` en su lugar." + +#~ msgid "Return the currently running task or ``None``." +#~ msgstr "Retorna la tarea que se está ejecutando actualmente o ``None``." + +#~ msgid "" +#~ "If *loop* is ``None``, the :func:`get_event_loop` function is used to get " +#~ "the current loop." +#~ msgstr "" +#~ "Si *bucle* es ``None``, la función :func:`get_event_loop` se utiliza para " +#~ "obtener el bucle actual." + +#~ msgid "" +#~ "Do not call this as a task method. Use the :func:`asyncio.current_task` " +#~ "function instead." +#~ msgstr "" +#~ "No llame a esto como un método de tarea. Utilice la función :func:" +#~ "`asyncio.current_task` en su lugar." diff --git a/library/audit_events.po b/library/audit_events.po index 07637c8f6e..ed7c5087fa 100644 --- a/library/audit_events.po +++ b/library/audit_events.po @@ -9,10 +9,12 @@ msgid "" msgstr "" "Project-Id-Version: Python en Español 3.7\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-06-29 17:24+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Xavi Rambla\n" "Language: es\n" +"Language-Team: es \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -51,3 +53,80 @@ msgstr "" "eventos lanzados por otras implementaciones. Ver la documentación de tus " "especificaciones en tiempo de ejecución para los eventos lanzados " "recientemente." + +#: ../Doc/library/audit_events.rst:23 +msgid "" +"The following events are raised internally and do not correspond to any " +"public API of CPython:" +msgstr "" + +#: ../Doc/library/audit_events.rst:27 +#, fuzzy +msgid "Audit event" +msgstr "Tabla de auditoría de eventos" + +#: ../Doc/library/audit_events.rst:27 +msgid "Arguments" +msgstr "" + +#: ../Doc/library/audit_events.rst:29 +msgid "_winapi.CreateFile" +msgstr "" + +#: ../Doc/library/audit_events.rst:29 +msgid "" +"``file_name``, ``desired_access``, ``share_mode``, ``creation_disposition``, " +"``flags_and_attributes``" +msgstr "" + +#: ../Doc/library/audit_events.rst:33 +msgid "_winapi.CreateJunction" +msgstr "" + +#: ../Doc/library/audit_events.rst:33 +msgid "``src_path``, ``dst_path``" +msgstr "" + +#: ../Doc/library/audit_events.rst:35 +msgid "_winapi.CreateNamedPipe" +msgstr "" + +#: ../Doc/library/audit_events.rst:35 +msgid "``name``, ``open_mode``, ``pipe_mode``" +msgstr "" + +#: ../Doc/library/audit_events.rst:37 +msgid "_winapi.CreatePipe" +msgstr "" + +#: ../Doc/library/audit_events.rst:39 +msgid "_winapi.CreateProcess" +msgstr "" + +#: ../Doc/library/audit_events.rst:39 +msgid "``application_name``, ``command_line``, ``current_directory``" +msgstr "" + +#: ../Doc/library/audit_events.rst:42 +msgid "_winapi.OpenProcess" +msgstr "" + +#: ../Doc/library/audit_events.rst:42 +msgid "``process_id``, ``desired_access``" +msgstr "" + +#: ../Doc/library/audit_events.rst:44 +msgid "_winapi.TerminateProcess" +msgstr "" + +#: ../Doc/library/audit_events.rst:44 +msgid "``handle``, ``exit_code``" +msgstr "" + +#: ../Doc/library/audit_events.rst:46 +msgid "ctypes.PyObj_FromPtr" +msgstr "" + +#: ../Doc/library/audit_events.rst:46 +msgid "``obj``" +msgstr "" diff --git a/library/base64.po b/library/base64.po index 66c92a9d34..2cb57e30c0 100644 --- a/library/base64.po +++ b/library/base64.po @@ -1,23 +1,25 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. # Maintained by the python-doc-es workteam. -# docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ -# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers +# docs-es@python.org / +# https://mail.python.org/mailman3/lists/docs-es.python.org/ +# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get +# the list of volunteers # msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-06 11:59-0400\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-06-29 21:32+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" "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" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" +"Generated-By: Babel 2.8.0\n" #: ../Doc/library/base64.rst:2 msgid ":mod:`base64` --- Base16, Base32, Base64, Base85 Data Encodings" @@ -420,11 +422,7 @@ msgstr "" "debe contener una o más líneas de datos codificados en base64, y retornará " "los :class:`bytes` decodificados." -#: ../Doc/library/base64.rst:240 -msgid "Deprecated alias of :func:`decodebytes`." -msgstr "Alias deprecado de :func:`decodebytes`." - -#: ../Doc/library/base64.rst:247 +#: ../Doc/library/base64.rst:241 msgid "" "Encode the contents of the binary *input* file and write the resulting " "base64 encoded data to the *output* file. *input* and *output* must be :term:" @@ -441,7 +439,7 @@ msgstr "" "además de garantizar que la salida siempre termine con una nueva línea, " "según :rfc:`2045` (MIME)." -#: ../Doc/library/base64.rst:257 +#: ../Doc/library/base64.rst:251 msgid "" "Encode the :term:`bytes-like object` *s*, which can contain arbitrary binary " "data, and return :class:`bytes` containing the base64-encoded data, with " @@ -454,26 +452,22 @@ msgstr "" "insertado después de cada 76 bytes de salida, y asegurando que haya una " "nueva línea final, según :rfc:`2045` (MIME)." -#: ../Doc/library/base64.rst:266 -msgid "Deprecated alias of :func:`encodebytes`." -msgstr "Alias deprecado de :func:`encodebytes`." - -#: ../Doc/library/base64.rst:271 +#: ../Doc/library/base64.rst:259 msgid "An example usage of the module:" msgstr "Un ejemplo de uso del módulo:" -#: ../Doc/library/base64.rst:285 +#: ../Doc/library/base64.rst:273 msgid "Module :mod:`binascii`" msgstr "Módulo :mod:`binascii`" -#: ../Doc/library/base64.rst:285 +#: ../Doc/library/base64.rst:273 msgid "" "Support module containing ASCII-to-binary and binary-to-ASCII conversions." msgstr "" "Módulo de soporte que contiene conversiones de ASCII a binario y binario a " "ASCII." -#: ../Doc/library/base64.rst:288 +#: ../Doc/library/base64.rst:276 msgid "" ":rfc:`1521` - MIME (Multipurpose Internet Mail Extensions) Part One: " "Mechanisms for Specifying and Describing the Format of Internet Message " @@ -483,10 +477,16 @@ msgstr "" "uno: Mecanismos para especificar y describir el formato de los cuerpos de " "mensajes de Internet" -#: ../Doc/library/base64.rst:288 +#: ../Doc/library/base64.rst:276 msgid "" "Section 5.2, \"Base64 Content-Transfer-Encoding,\" provides the definition " "of the base64 encoding." msgstr "" "La Sección 5.2, \"Codificación de transferencia de contenido Base64\", " "proporciona la definición de la codificación base64." + +#~ msgid "Deprecated alias of :func:`decodebytes`." +#~ msgstr "Alias deprecado de :func:`decodebytes`." + +#~ msgid "Deprecated alias of :func:`encodebytes`." +#~ msgstr "Alias deprecado de :func:`encodebytes`." diff --git a/library/bz2.po b/library/bz2.po index b9ae4a995e..935f880c8c 100644 --- a/library/bz2.po +++ b/library/bz2.po @@ -11,17 +11,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-07-26 19:37+0200\n" +"Last-Translator: Santiago E Fraire Willemoes \n" +"Language: en_GB\n" "Language-Team: English - United Kingdom \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Santiago E Fraire Willemoes \n" -"Language: en_GB\n" -"X-Generator: Gtranslator 3.36.0\n" #: ../Doc/library/bz2.rst:2 msgid ":mod:`bz2` --- Support for :program:`bzip2` compression" @@ -138,11 +137,11 @@ msgstr "" "una instancia :class:`io.TextIOWrapper` con la codificación especificada, el " "comportamiento de manejo de errores y los final(es) de línea." -#: ../Doc/library/bz2.rst:61 ../Doc/library/bz2.rst:131 +#: ../Doc/library/bz2.rst:61 ../Doc/library/bz2.rst:126 msgid "The ``'x'`` (exclusive creation) mode was added." msgstr "El modo ``'x'`` (creación exclusiva) ha sido agregado." -#: ../Doc/library/bz2.rst:64 ../Doc/library/bz2.rst:138 +#: ../Doc/library/bz2.rst:64 ../Doc/library/bz2.rst:133 msgid "Accepts a :term:`path-like object`." msgstr "Acepta un objeto similar a una ruta (:term:`path-like object`)." @@ -183,12 +182,6 @@ msgstr "" #: ../Doc/library/bz2.rst:84 msgid "" -"The *buffering* argument is ignored. Its use is deprecated since Python 3.0." -msgstr "" -"El argumento *buffering* se ignora. Su uso está en desuso desde Python 3.0." - -#: ../Doc/library/bz2.rst:86 -msgid "" "If *mode* is ``'w'`` or ``'a'``, *compresslevel* can be an integer between " "``1`` and ``9`` specifying the level of compression: ``1`` produces the " "least compression, and ``9`` (default) produces the most compression." @@ -197,7 +190,7 @@ msgstr "" "entre ``1`` y ``9`` especificando el nivel de compresión: ``1`` produce la " "menor compresión y ``9`` (predeterminado) produce la mayor compresión." -#: ../Doc/library/bz2.rst:90 +#: ../Doc/library/bz2.rst:88 msgid "" "If *mode* is ``'r'``, the input file may be the concatenation of multiple " "compressed streams." @@ -205,7 +198,7 @@ msgstr "" "Si *mode* es ``'r'``, el archivo de entrada puede ser la concatenación de " "múltiples flujos (streams) comprimidos." -#: ../Doc/library/bz2.rst:93 +#: ../Doc/library/bz2.rst:91 msgid "" ":class:`BZ2File` provides all of the members specified by the :class:`io." "BufferedIOBase`, except for :meth:`detach` and :meth:`truncate`. Iteration " @@ -215,11 +208,11 @@ msgstr "" "BufferedIOBase`, excepto :meth:`detach` y :meth:`truncate`. Se admite la " "iteración y la palabra clave :keyword:`with`." -#: ../Doc/library/bz2.rst:97 +#: ../Doc/library/bz2.rst:95 msgid ":class:`BZ2File` also provides the following method:" msgstr ":class:`BZ2File` también proporciona el siguiente método:" -#: ../Doc/library/bz2.rst:101 +#: ../Doc/library/bz2.rst:99 msgid "" "Return buffered data without advancing the file position. At least one byte " "of data will be returned (unless at EOF). The exact number of bytes returned " @@ -229,7 +222,7 @@ msgstr "" "Se retornará al menos un byte de datos (a menos que sea EOF). El número " "exacto de bytes retornados no está especificado." -#: ../Doc/library/bz2.rst:105 +#: ../Doc/library/bz2.rst:103 msgid "" "While calling :meth:`peek` does not change the file position of the :class:" "`BZ2File`, it may change the position of the underlying file object (e.g. if " @@ -241,17 +234,11 @@ msgstr "" "ejemplo, si :class:`BZ2File` se construyó pasando un objeto de archivo a " "*filename*)." -#: ../Doc/library/bz2.rst:113 -msgid "The keyword argument *buffering* was deprecated and is now ignored." -msgstr "" -"El argumento de la palabra clave *buffering* quedó en desuso y ahora se " -"ignora." - -#: ../Doc/library/bz2.rst:116 +#: ../Doc/library/bz2.rst:111 msgid "Support for the :keyword:`with` statement was added." msgstr "Se agregó soporte para la declaración :keyword:`with`." -#: ../Doc/library/bz2.rst:119 +#: ../Doc/library/bz2.rst:114 msgid "" "The :meth:`fileno`, :meth:`readable`, :meth:`seekable`, :meth:`writable`, :" "meth:`read1` and :meth:`readinto` methods were added." @@ -259,7 +246,7 @@ msgstr "" "Se agregaron los métodos :meth:`fileno`, :meth:`legible`, :meth:`seekable`, :" "meth:`writable`, :meth:`read1` y :meth:`readinto`." -#: ../Doc/library/bz2.rst:123 +#: ../Doc/library/bz2.rst:118 msgid "" "Support was added for *filename* being a :term:`file object` instead of an " "actual filename." @@ -267,7 +254,7 @@ msgstr "" "Se agregó soporte para *filename* siendo un objeto de archivo (:term:`file " "object`) en lugar de un nombre de archivo real." -#: ../Doc/library/bz2.rst:127 +#: ../Doc/library/bz2.rst:122 msgid "" "The ``'a'`` (append) mode was added, along with support for reading multi-" "stream files." @@ -275,18 +262,28 @@ msgstr "" "Se agregó el modo ``'a'`` (agregar), junto con el soporte para leer archivos " "de flujo múltiple (multi-stream)." -#: ../Doc/library/bz2.rst:134 +#: ../Doc/library/bz2.rst:129 msgid "" "The :meth:`~io.BufferedIOBase.read` method now accepts an argument of " "``None``." msgstr "" "El método :meth:`~io.BufferedIOBase.read` ahora acepta el argumento ``None``." -#: ../Doc/library/bz2.rst:143 +#: ../Doc/library/bz2.rst:136 +msgid "" +"The *buffering* parameter has been removed. It was ignored and deprecated " +"since Python 3.0. Pass an open file object to control how the file is opened." +msgstr "" + +#: ../Doc/library/bz2.rst:141 +msgid "The *compresslevel* parameter became keyword-only." +msgstr "" + +#: ../Doc/library/bz2.rst:145 msgid "Incremental (de)compression" msgstr "(De)compresión incremental" -#: ../Doc/library/bz2.rst:147 +#: ../Doc/library/bz2.rst:149 msgid "" "Create a new compressor object. This object may be used to compress data " "incrementally. For one-shot compression, use the :func:`compress` function " @@ -296,7 +293,7 @@ msgstr "" "datos de forma incremental. Para comprimir en un solo paso, use la función :" "func:`compress` en su lugar." -#: ../Doc/library/bz2.rst:151 ../Doc/library/bz2.rst:239 +#: ../Doc/library/bz2.rst:153 ../Doc/library/bz2.rst:241 msgid "" "*compresslevel*, if given, must be an integer between ``1`` and ``9``. The " "default is ``9``." @@ -304,7 +301,7 @@ msgstr "" "*compresslevel*, si se proporciona, debe ser un número entero entre ``1`` y " "``9``. El valor predeterminado es ``9``." -#: ../Doc/library/bz2.rst:156 +#: ../Doc/library/bz2.rst:158 msgid "" "Provide data to the compressor object. Returns a chunk of compressed data if " "possible, or an empty byte string otherwise." @@ -312,7 +309,7 @@ msgstr "" "Provee datos al objeto del compresor. Retorna un fragmento de datos " "comprimidos si es posible, o una cadena de bytes vacía de lo contrario." -#: ../Doc/library/bz2.rst:159 +#: ../Doc/library/bz2.rst:161 msgid "" "When you have finished providing data to the compressor, call the :meth:" "`flush` method to finish the compression process." @@ -320,7 +317,7 @@ msgstr "" "Cuando haya terminado de proporcionar datos al compresor, llame al método :" "meth:`flush` para finalizar el proceso de compresión." -#: ../Doc/library/bz2.rst:165 +#: ../Doc/library/bz2.rst:167 msgid "" "Finish the compression process. Returns the compressed data left in internal " "buffers." @@ -328,14 +325,14 @@ msgstr "" "Termina el proceso de compresión. Retorna los datos comprimidos que quedan " "en los búferes internos." -#: ../Doc/library/bz2.rst:168 +#: ../Doc/library/bz2.rst:170 msgid "" "The compressor object may not be used after this method has been called." msgstr "" "El objeto compresor no puede usarse después de que se haya llamado a este " "método." -#: ../Doc/library/bz2.rst:173 +#: ../Doc/library/bz2.rst:175 msgid "" "Create a new decompressor object. This object may be used to decompress data " "incrementally. For one-shot compression, use the :func:`decompress` function " @@ -345,7 +342,7 @@ msgstr "" "descomprimir datos de forma incremental. Para descomprimir en un solo paso, " "use la función :func:`decompress` en su lugar." -#: ../Doc/library/bz2.rst:178 +#: ../Doc/library/bz2.rst:180 msgid "" "This class does not transparently handle inputs containing multiple " "compressed streams, unlike :func:`decompress` and :class:`BZ2File`. If you " @@ -358,7 +355,7 @@ msgstr "" "class:`BZ2Decompressor`, debe usar un nuevo descompresor para cada flujo " "(stream)." -#: ../Doc/library/bz2.rst:185 +#: ../Doc/library/bz2.rst:187 msgid "" "Decompress *data* (a :term:`bytes-like object`), returning uncompressed data " "as bytes. Some of *data* may be buffered internally, for use in later calls " @@ -371,7 +368,7 @@ msgstr "" "retornados deben concatenarse con la salida de cualquier llamada anterior a :" "meth:`decompress`." -#: ../Doc/library/bz2.rst:191 +#: ../Doc/library/bz2.rst:193 msgid "" "If *max_length* is nonnegative, returns at most *max_length* bytes of " "decompressed data. If this limit is reached and further output can be " @@ -385,7 +382,7 @@ msgstr "" "En este caso, la siguiente llamada a :meth:`~.decompress` puede proporcionar " "*datos* como``b''`` para obtener más de la salida." -#: ../Doc/library/bz2.rst:198 +#: ../Doc/library/bz2.rst:200 msgid "" "If all of the input data was decompressed and returned (either because this " "was less than *max_length* bytes, or because *max_length* was negative), " @@ -395,7 +392,7 @@ msgstr "" "esto era menor que *max_length* bytes, o porque *max_length* era negativo), " "el atributo :attr:`~.needs_input` se establecerá en ``True``." -#: ../Doc/library/bz2.rst:203 +#: ../Doc/library/bz2.rst:205 msgid "" "Attempting to decompress data after the end of stream is reached raises an " "`EOFError`. Any data found after the end of the stream is ignored and saved " @@ -405,19 +402,19 @@ msgstr "" "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`." -#: ../Doc/library/bz2.rst:207 +#: ../Doc/library/bz2.rst:209 msgid "Added the *max_length* parameter." msgstr "Añadido el parámetro *max_length*" -#: ../Doc/library/bz2.rst:212 +#: ../Doc/library/bz2.rst:214 msgid "``True`` if the end-of-stream marker has been reached." msgstr "``True`` si se ha alcanzado el marcador de fin de flujo." -#: ../Doc/library/bz2.rst:219 +#: ../Doc/library/bz2.rst:221 msgid "Data found after the end of the compressed stream." msgstr "Datos encontrados después del final del flujo comprimido." -#: ../Doc/library/bz2.rst:221 +#: ../Doc/library/bz2.rst:223 msgid "" "If this attribute is accessed before the end of the stream has been reached, " "its value will be ``b''``." @@ -425,7 +422,7 @@ msgstr "" "Si se accede a este atributo antes de que se haya alcanzado el final del " "flujo, su valor será ``b''``." -#: ../Doc/library/bz2.rst:226 +#: ../Doc/library/bz2.rst:228 msgid "" "``False`` if the :meth:`.decompress` method can provide more decompressed " "data before requiring new uncompressed input." @@ -433,25 +430,25 @@ msgstr "" "``False`` si el método :meth:`.decompress` puede proporcionar más datos " "descomprimidos antes de requerir una nueva entrada sin comprimir." -#: ../Doc/library/bz2.rst:233 +#: ../Doc/library/bz2.rst:235 msgid "One-shot (de)compression" msgstr "(Des)comprimir en un solo paso" -#: ../Doc/library/bz2.rst:237 +#: ../Doc/library/bz2.rst:239 msgid "Compress *data*, a :term:`bytes-like object `." msgstr "" "Comprime *datos*, un :term:`objetos tipo binarios `." -#: ../Doc/library/bz2.rst:242 +#: ../Doc/library/bz2.rst:244 msgid "For incremental compression, use a :class:`BZ2Compressor` instead." msgstr "Para compresión incremental, use :class:`BZ2Compressor` en su lugar." -#: ../Doc/library/bz2.rst:247 +#: ../Doc/library/bz2.rst:249 msgid "Decompress *data*, a :term:`bytes-like object `." msgstr "" "Descomprime *datos*, un :term:`objetos tipo binarios `." -#: ../Doc/library/bz2.rst:249 +#: ../Doc/library/bz2.rst:251 msgid "" "If *data* is the concatenation of multiple compressed streams, decompress " "all of the streams." @@ -459,24 +456,24 @@ msgstr "" "Si *data* es la concatenación de múltiples flujos comprimidos, descomprime " "todos los flujos." -#: ../Doc/library/bz2.rst:252 +#: ../Doc/library/bz2.rst:254 msgid "For incremental decompression, use a :class:`BZ2Decompressor` instead." msgstr "" "Para la descompresión incremental, use :class:`BZ2Decompressor` en su lugar." -#: ../Doc/library/bz2.rst:254 +#: ../Doc/library/bz2.rst:256 msgid "Support for multi-stream inputs was added." msgstr "Se agregó soporte para entradas de flujo múltiple." -#: ../Doc/library/bz2.rst:260 +#: ../Doc/library/bz2.rst:262 msgid "Examples of usage" msgstr "Ejemplos de uso" -#: ../Doc/library/bz2.rst:262 +#: ../Doc/library/bz2.rst:264 msgid "Below are some examples of typical usage of the :mod:`bz2` module." msgstr "Aquí hay algunos ejemplos del uso típico del modulo :mod:`bz2`." -#: ../Doc/library/bz2.rst:264 +#: ../Doc/library/bz2.rst:266 msgid "" "Using :func:`compress` and :func:`decompress` to demonstrate round-trip " "compression:" @@ -484,11 +481,11 @@ msgstr "" "Usando :func:`compress` y :func:`decompress` para demostrar una compresión " "de ida y vuelta (*round-trip*):" -#: ../Doc/library/bz2.rst:285 +#: ../Doc/library/bz2.rst:284 msgid "Using :class:`BZ2Compressor` for incremental compression:" msgstr "Usando :class:`BZ2Compressor` para compresión incremental:" -#: ../Doc/library/bz2.rst:304 +#: ../Doc/library/bz2.rst:302 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, " @@ -499,6 +496,18 @@ msgstr "" "mal, mientras que los datos ordenados y repetitivos generalmente producen " "una alta relación de compresión." -#: ../Doc/library/bz2.rst:308 +#: ../Doc/library/bz2.rst:306 msgid "Writing and reading a bzip2-compressed file in binary mode:" msgstr "Escribiendo y leyendo un archivo comprimido con bzip2 en modo binario:" + +#~ msgid "" +#~ "The *buffering* argument is ignored. Its use is deprecated since Python " +#~ "3.0." +#~ msgstr "" +#~ "El argumento *buffering* se ignora. Su uso está en desuso desde Python " +#~ "3.0." + +#~ msgid "The keyword argument *buffering* was deprecated and is now ignored." +#~ msgstr "" +#~ "El argumento de la palabra clave *buffering* quedó en desuso y ahora se " +#~ "ignora." diff --git a/library/calendar.po b/library/calendar.po index ba50be2e19..e07773c820 100644 --- a/library/calendar.po +++ b/library/calendar.po @@ -1,23 +1,25 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. # Maintained by the python-doc-es workteam. -# docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ -# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers +# docs-es@python.org / +# https://mail.python.org/mailman3/lists/docs-es.python.org/ +# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get +# the list of volunteers # msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-06 11:59-0400\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-06-30 10:11-0500\n" +"Last-Translator: \n" +"Language: es_ES\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es_ES\n" -"X-Generator: Poedit 2.3.1\n" +"Generated-By: Babel 2.8.0\n" #: ../Doc/library/calendar.rst:2 msgid ":mod:`calendar` --- General calendar-related functions" @@ -501,9 +503,10 @@ msgstr "" "mes, para el *year* y *month* especificados." #: ../Doc/library/calendar.rst:351 +#, fuzzy msgid "" "Returns a matrix representing a month's calendar. Each row represents a " -"week; days outside of the month a represented by zeros. Each week begins " +"week; days outside of the month are represented by zeros. Each week begins " "with Monday unless set by :func:`setfirstweekday`." msgstr "" "Retorna una matriz que representa el calendario de un mes. Cada fila " diff --git a/library/cgi.po b/library/cgi.po index 90fb2828ab..dd8abd2bb6 100644 --- a/library/cgi.po +++ b/library/cgi.po @@ -10,16 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-10-22 15:27-0500\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Last-Translator: \n" -"X-Generator: Poedit 2.4.1\n" -"Language: es\n" #: ../Doc/library/cgi.rst:2 msgid ":mod:`cgi` --- Common Gateway Interface support" @@ -485,10 +485,11 @@ msgstr "" "algoritmos implementados en este módulo en otras circunstancias." #: ../Doc/library/cgi.rst:282 +#, fuzzy msgid "" "Parse a query in the environment or from a file (the file defaults to ``sys." -"stdin``). The *keep_blank_values* and *strict_parsing* parameters are " -"passed to :func:`urllib.parse.parse_qs` unchanged." +"stdin``). The *keep_blank_values*, *strict_parsing* and *separator* " +"parameters are passed to :func:`urllib.parse.parse_qs` unchanged." msgstr "" "Analiza una consulta en el entorno o desde un archivo (el archivo tiene como " "valor predeterminado ``sys.stdin``). Los parámetros *keep_blank_values* y " @@ -536,7 +537,11 @@ msgstr "" "son de archivo, el valor es ahora una lista de cadenas de caracteres, no " "bytes." -#: ../Doc/library/cgi.rst:309 +#: ../Doc/library/cgi.rst:306 +msgid "Added the *separator* parameter." +msgstr "" + +#: ../Doc/library/cgi.rst:312 msgid "" "Parse a MIME header (such as :mailheader:`Content-Type`) into a main value " "and a dictionary of parameters." @@ -544,7 +549,7 @@ msgstr "" "Analiza un encabezado MIME (como :mailheader:`Content-Type`) en un valor " "principal y un diccionario de parámetros." -#: ../Doc/library/cgi.rst:315 +#: ../Doc/library/cgi.rst:318 msgid "" "Robust test CGI script, usable as main program. Writes minimal HTTP headers " "and formats all information provided to the script in HTML form." @@ -553,29 +558,29 @@ msgstr "" "encabezados HTTP mínimos y formatea toda la información proporcionada al " "script en formato HTML." -#: ../Doc/library/cgi.rst:321 +#: ../Doc/library/cgi.rst:324 msgid "Format the shell environment in HTML." msgstr "Da formato al entorno del shell en HTML." -#: ../Doc/library/cgi.rst:326 +#: ../Doc/library/cgi.rst:329 msgid "Format a form in HTML." msgstr "Da formato a un formulario en HTML." -#: ../Doc/library/cgi.rst:331 +#: ../Doc/library/cgi.rst:334 msgid "Format the current directory in HTML." msgstr "Da formato al directorio actual en HTML." -#: ../Doc/library/cgi.rst:336 +#: ../Doc/library/cgi.rst:339 msgid "Print a list of useful (used by CGI) environment variables in HTML." msgstr "" "Imprime una lista de variables de entorno útiles (utilizadas por CGI) en " "HTML." -#: ../Doc/library/cgi.rst:342 +#: ../Doc/library/cgi.rst:345 msgid "Caring about security" msgstr "Preocuparse por la seguridad" -#: ../Doc/library/cgi.rst:346 +#: ../Doc/library/cgi.rst:349 msgid "" "There's one important rule: if you invoke an external program (via the :func:" "`os.system` or :func:`os.popen` functions. or others with similar " @@ -594,7 +599,7 @@ msgstr "" "partes de la URL o nombres de campo pueden no ser confiables, ya que la " "solicitud no tiene que venir de su formulario!" -#: ../Doc/library/cgi.rst:354 +#: ../Doc/library/cgi.rst:357 msgid "" "To be on the safe side, if you must pass a string gotten from a form to a " "shell command, you should make sure the string contains only alphanumeric " @@ -605,11 +610,11 @@ msgstr "" "caracteres contiene solo caracteres alfanuméricos, guiones, guiones bajos y " "puntos." -#: ../Doc/library/cgi.rst:360 +#: ../Doc/library/cgi.rst:363 msgid "Installing your CGI script on a Unix system" msgstr "Instalando su script de CGI en un sistema Unix" -#: ../Doc/library/cgi.rst:362 +#: ../Doc/library/cgi.rst:365 msgid "" "Read the documentation for your HTTP server and check with your local system " "administrator to find the directory where CGI scripts should be installed; " @@ -620,7 +625,7 @@ msgstr "" "scripts CGI; por lo general, esto se encuentra en un directorio :file:`cgi-" "bin` en el árbol del servidor." -#: ../Doc/library/cgi.rst:366 +#: ../Doc/library/cgi.rst:369 msgid "" "Make sure that your script is readable and executable by \"others\"; the " "Unix file mode should be ``0o755`` octal (use ``chmod 0755 filename``). " @@ -632,13 +637,13 @@ msgstr "" "Asegúrese de que la primera línea del script contiene ``#!`` a partir de la " "columna 1 seguida del nombre de ruta del intérprete de Python, por ejemplo::" -#: ../Doc/library/cgi.rst:373 +#: ../Doc/library/cgi.rst:376 msgid "" "Make sure the Python interpreter exists and is executable by \"others\"." msgstr "" "Asegúrese que el intérprete de Python exista y sea ejecutable por \"otros\"." -#: ../Doc/library/cgi.rst:375 +#: ../Doc/library/cgi.rst:378 msgid "" "Make sure that any files your script needs to read or write are readable or " "writable, respectively, by \"others\" --- their mode should be ``0o644`` for " @@ -665,7 +670,7 @@ msgstr "" "ejecutables (:envvar:`PATH`) o la ruta de búsqueda del módulo Python (:" "envvar:`PYTHONPATH`) que se establecerá en cualquier cosa interesante." -#: ../Doc/library/cgi.rst:386 +#: ../Doc/library/cgi.rst:389 msgid "" "If you need to load modules from a directory which is not on Python's " "default module search path, you can change the path in your script, before " @@ -675,12 +680,12 @@ msgstr "" "búsqueda de módulos predeterminada de Python, puede cambiar la ruta en su " "script, antes de importar otros módulos. Por ejemplo::" -#: ../Doc/library/cgi.rst:394 +#: ../Doc/library/cgi.rst:397 msgid "(This way, the directory inserted last will be searched first!)" msgstr "" "(¡De esta manera, el directorio insertado de último será buscado primero!)" -#: ../Doc/library/cgi.rst:396 +#: ../Doc/library/cgi.rst:399 msgid "" "Instructions for non-Unix systems will vary; check your HTTP server's " "documentation (it will usually have a section on CGI scripts)." @@ -689,11 +694,11 @@ msgstr "" "documentación de su servidor HTTP (usualmente tendrá una sección sobre " "scripts CGI)." -#: ../Doc/library/cgi.rst:401 +#: ../Doc/library/cgi.rst:404 msgid "Testing your CGI script" msgstr "Probando su script de CGI" -#: ../Doc/library/cgi.rst:403 +#: ../Doc/library/cgi.rst:406 msgid "" "Unfortunately, a CGI script will generally not run when you try it from the " "command line, and a script that works perfectly from the command line may " @@ -710,7 +715,7 @@ msgstr "" "no lo ejecutará en absoluto y lo más probable es que el servidor HTTP envíe " "un error críptico al cliente." -#: ../Doc/library/cgi.rst:410 +#: ../Doc/library/cgi.rst:413 msgid "" "Assuming your script has no syntax errors, yet it does not work, you have no " "choice but to read the next section." @@ -718,11 +723,11 @@ msgstr "" "Asumiendo que su script no tiene errores de sintaxis, pero este no funciona, " "no tiene más opción que leer la siguiente sección." -#: ../Doc/library/cgi.rst:415 +#: ../Doc/library/cgi.rst:418 msgid "Debugging CGI scripts" msgstr "Depurando scripts de CGI" -#: ../Doc/library/cgi.rst:419 +#: ../Doc/library/cgi.rst:422 msgid "" "First of all, check for trivial installation errors --- reading the section " "above on installing your CGI script carefully can save you a lot of time. " @@ -744,7 +749,7 @@ msgstr "" "instalado en el directorio estándar :file:`cgi-bin`, debería ser posible " "enviarle una solicitud introduciendo una URL en su navegador de la forma:" -#: ../Doc/library/cgi.rst:432 +#: ../Doc/library/cgi.rst:435 msgid "" "If this gives an error of type 404, the server cannot find the script -- " "perhaps you need to install it in a different directory. If it gives " @@ -765,7 +770,7 @@ msgstr "" "sigue el mismo procedimiento para su propio script, ya debería poder " "depurarlo." -#: ../Doc/library/cgi.rst:441 +#: ../Doc/library/cgi.rst:444 msgid "" "The next step could be to call the :mod:`cgi` module's :func:`test` function " "from your script: replace its main code with the single statement ::" @@ -774,7 +779,7 @@ msgstr "" "mod:`cgi` de su script: reemplace su código principal con la declaración " "única ::" -#: ../Doc/library/cgi.rst:446 +#: ../Doc/library/cgi.rst:449 msgid "" "This should produce the same results as those gotten from installing the :" "file:`cgi.py` file itself." @@ -782,7 +787,7 @@ msgstr "" "Esto debería producir los mismos resultados que los obtenidos al instalar el " "archivo :file:`cgi.py` en sí." -#: ../Doc/library/cgi.rst:449 +#: ../Doc/library/cgi.rst:452 msgid "" "When an ordinary Python script raises an unhandled exception (for whatever " "reason: of a typo in a module name, a file that can't be opened, etc.), the " @@ -799,7 +804,7 @@ msgstr "" "termine en uno de los archivos de registro del servidor HTTP o se descarte " "por completo." -#: ../Doc/library/cgi.rst:456 +#: ../Doc/library/cgi.rst:459 msgid "" "Fortunately, once you have managed to get your script to execute *some* " "code, you can easily send tracebacks to the Web browser using the :mod:" @@ -809,7 +814,7 @@ msgstr "" "código, puede enviar fácilmente tracebacks al navegador web utilizando el " "módulo :mod:`cgitb`. Si aún no lo ha hecho, solo añada las líneas::" -#: ../Doc/library/cgi.rst:463 +#: ../Doc/library/cgi.rst:466 msgid "" "to the top of your script. Then try running it again; when a problem " "occurs, you should see a detailed report that will likely make apparent the " @@ -819,7 +824,7 @@ msgstr "" "problema ocurra, debería ver un informe detallado que probablemente muestre " "la causa del error." -#: ../Doc/library/cgi.rst:467 +#: ../Doc/library/cgi.rst:470 msgid "" "If you suspect that there may be a problem in importing the :mod:`cgitb` " "module, you can use an even more robust approach (which only uses built-in " @@ -828,7 +833,7 @@ msgstr "" "Si sospecha que puede haber un problema al importar el módulo :mod:`cgitb`, " "puede usar un enfoque aún más robusto (que solo usa módulos integrados)::" -#: ../Doc/library/cgi.rst:476 +#: ../Doc/library/cgi.rst:479 msgid "" "This relies on the Python interpreter to print the traceback. The content " "type of the output is set to plain text, which disables all HTML " @@ -845,11 +850,11 @@ msgstr "" "traceback. Dado que no se está realizando ninguna interpretación HTML, el " "traceback será legible." -#: ../Doc/library/cgi.rst:485 +#: ../Doc/library/cgi.rst:488 msgid "Common problems and solutions" msgstr "Problemas comunes y soluciones" -#: ../Doc/library/cgi.rst:487 +#: ../Doc/library/cgi.rst:490 msgid "" "Most HTTP servers buffer the output from CGI scripts until the script is " "completed. This means that it is not possible to display a progress report " @@ -860,11 +865,11 @@ msgstr "" "mostrar un reporte del progreso en la parte del cliente mientras que el " "script se esté ejecutando." -#: ../Doc/library/cgi.rst:491 +#: ../Doc/library/cgi.rst:494 msgid "Check the installation instructions above." msgstr "Compruebe las instrucciones de instalación anteriores." -#: ../Doc/library/cgi.rst:493 +#: ../Doc/library/cgi.rst:496 msgid "" "Check the HTTP server's log files. (``tail -f logfile`` in a separate " "window may be useful!)" @@ -872,7 +877,7 @@ msgstr "" "Verifique los archivos de registro (logs) del servidor HTTP. (¡Usar ``tail -" "f logfile`` en una ventana separada puede ser útil!)" -#: ../Doc/library/cgi.rst:496 +#: ../Doc/library/cgi.rst:499 msgid "" "Always check a script for syntax errors first, by doing something like " "``python script.py``." @@ -880,7 +885,7 @@ msgstr "" "Siempre verifique un script para encontrar errores de sintaxis primero, " "haciendo algo como ``python script.py``." -#: ../Doc/library/cgi.rst:499 +#: ../Doc/library/cgi.rst:502 msgid "" "If your script does not have any syntax errors, try adding ``import cgitb; " "cgitb.enable()`` to the top of the script." @@ -888,7 +893,7 @@ msgstr "" "Si su script no tiene ningún error sintáctico, pruebe añadiendo ``import " "cgitb; cgitb.enable()`` en la parte superior del script." -#: ../Doc/library/cgi.rst:502 +#: ../Doc/library/cgi.rst:505 msgid "" "When invoking external programs, make sure they can be found. Usually, this " "means using absolute path names --- :envvar:`PATH` is usually not set to a " @@ -898,7 +903,7 @@ msgstr "" "encontrados. Generalmente esto significa usar nombres de ruta absolutos --- :" "envvar:`PATH` generalmente no se establece en un valor útil en un script CGI." -#: ../Doc/library/cgi.rst:506 +#: ../Doc/library/cgi.rst:509 msgid "" "When reading or writing external files, make sure they can be read or " "written by the userid under which your CGI script will be running: this is " @@ -911,7 +916,7 @@ msgstr "" "algún userid especificado explícitamente por la función ``suexec`` del " "servidor web." -#: ../Doc/library/cgi.rst:511 +#: ../Doc/library/cgi.rst:514 msgid "" "Don't try to give a CGI script a set-uid mode. This doesn't work on most " "systems, and is a security liability as well." @@ -919,11 +924,11 @@ msgstr "" "No intente darle un modo set-uid a un script CGI. Esto no funciona en la " "mayoría de sistemas, además de ser un riesgo de seguridad." -#: ../Doc/library/cgi.rst:515 +#: ../Doc/library/cgi.rst:518 msgid "Footnotes" msgstr "Notas al pie" -#: ../Doc/library/cgi.rst:516 +#: ../Doc/library/cgi.rst:519 msgid "" "Note that some recent versions of the HTML specification do state what order " "the field values should be supplied in, but knowing whether a request was " diff --git a/library/code.po b/library/code.po index d6b4f1e886..1386bdfc0f 100644 --- a/library/code.po +++ b/library/code.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-10-04 14:57-0300\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/code.rst:2 msgid ":mod:`code` --- Interpreter base classes" @@ -111,11 +110,12 @@ msgstr "" "la misma decisión que el bucle principal del intérprete real." #: ../Doc/library/code.rst:57 +#, fuzzy msgid "" "*source* is the source string; *filename* is the optional filename from " "which source was read, defaulting to ``''``; and *symbol* is the " -"optional grammar start symbol, which should be either ``'single'`` (the " -"default) or ``'eval'``." +"optional grammar start symbol, which should be ``'single'`` (the default), " +"``'eval'`` or ``'exec'``." msgstr "" "*source* es la cadena de caracteres fuente; *filename* es el nombre de " "archivo opcional desde el que se leyó la fuente, por defecto es " diff --git a/library/codecs.po b/library/codecs.po index 95c47f57c7..dbcd016e5d 100644 --- a/library/codecs.po +++ b/library/codecs.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-06-24 19:55+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" "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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/library/codecs.rst:2 msgid ":mod:`codecs` --- Codec registry and base classes" @@ -510,8 +509,8 @@ msgid "Value" msgstr "Valor" #: ../Doc/library/codecs.rst:301 ../Doc/library/codecs.rst:324 -#: ../Doc/library/codecs.rst:357 ../Doc/library/codecs.rst:1268 -#: ../Doc/library/codecs.rst:1335 ../Doc/library/codecs.rst:1390 +#: ../Doc/library/codecs.rst:357 ../Doc/library/codecs.rst:1269 +#: ../Doc/library/codecs.rst:1336 ../Doc/library/codecs.rst:1391 msgid "Meaning" msgstr "Significado" @@ -1222,10 +1221,10 @@ msgstr "" "reutilizando el método :meth:`write`). Los códecs de bytes a bytes estándar " "no admiten este método." -#: ../Doc/library/codecs.rst:697 -msgid "Flushes and resets the codec buffers used for keeping state." -msgstr "" -"Vacía y restablece los búferes de códec utilizados para mantener el estado." +#: ../Doc/library/codecs.rst:697 ../Doc/library/codecs.rst:792 +#, fuzzy +msgid "Resets the codec buffers used for keeping internal state." +msgstr "Restablece los búferes de códec utilizados para mantener el estado." #: ../Doc/library/codecs.rst:699 msgid "" @@ -1403,10 +1402,6 @@ msgstr "" "*sizehint*, si se proporciona, se pasa como argumento *size* al método :meth:" "`read` del *stream*." -#: ../Doc/library/codecs.rst:792 -msgid "Resets the codec buffers used for keeping state." -msgstr "Restablece los búferes de códec utilizados para mantener el estado." - #: ../Doc/library/codecs.rst:794 msgid "" "Note that no stream repositioning should take place. This method is " @@ -1873,13 +1868,13 @@ msgstr "una página de códigos EBCDIC de IBM" msgid "an IBM PC code page, which is ASCII compatible" msgstr "una página de códigos de IBM PC, que es compatible con ASCII" -#: ../Doc/library/codecs.rst:1014 ../Doc/library/codecs.rst:1268 -#: ../Doc/library/codecs.rst:1335 ../Doc/library/codecs.rst:1390 +#: ../Doc/library/codecs.rst:1014 ../Doc/library/codecs.rst:1269 +#: ../Doc/library/codecs.rst:1336 ../Doc/library/codecs.rst:1391 msgid "Codec" msgstr "Códec" -#: ../Doc/library/codecs.rst:1014 ../Doc/library/codecs.rst:1268 -#: ../Doc/library/codecs.rst:1335 ../Doc/library/codecs.rst:1390 +#: ../Doc/library/codecs.rst:1014 ../Doc/library/codecs.rst:1269 +#: ../Doc/library/codecs.rst:1336 ../Doc/library/codecs.rst:1391 msgid "Aliases" msgstr "Aliases" @@ -1974,7 +1969,7 @@ msgstr "EBCDIC-CP-BE, EBCDIC-CP-CH, IBM500" #: ../Doc/library/codecs.rst:1032 ../Doc/library/codecs.rst:1041 #: ../Doc/library/codecs.rst:1052 ../Doc/library/codecs.rst:1088 #: ../Doc/library/codecs.rst:1095 ../Doc/library/codecs.rst:1148 -#: ../Doc/library/codecs.rst:1176 ../Doc/library/codecs.rst:1203 +#: ../Doc/library/codecs.rst:1176 ../Doc/library/codecs.rst:1204 msgid "Western Europe" msgstr "Europa Occidental" @@ -2058,7 +2053,7 @@ msgstr "857, IBM857" #: ../Doc/library/codecs.rst:1050 ../Doc/library/codecs.rst:1082 #: ../Doc/library/codecs.rst:1099 ../Doc/library/codecs.rst:1166 -#: ../Doc/library/codecs.rst:1205 +#: ../Doc/library/codecs.rst:1206 msgid "Turkish" msgstr "Turco" @@ -2178,8 +2173,8 @@ msgstr "932, ms932, mskanji, ms-kanji" #: ../Doc/library/codecs.rst:1111 ../Doc/library/codecs.rst:1113 #: ../Doc/library/codecs.rst:1130 ../Doc/library/codecs.rst:1133 #: ../Doc/library/codecs.rst:1138 ../Doc/library/codecs.rst:1141 -#: ../Doc/library/codecs.rst:1143 ../Doc/library/codecs.rst:1210 -#: ../Doc/library/codecs.rst:1213 ../Doc/library/codecs.rst:1216 +#: ../Doc/library/codecs.rst:1143 ../Doc/library/codecs.rst:1211 +#: ../Doc/library/codecs.rst:1214 ../Doc/library/codecs.rst:1217 msgid "Japanese" msgstr "Japonés" @@ -2624,7 +2619,7 @@ msgstr "kz1048" msgid "kz_1048, strk1048_2002, rk1048" msgstr "kz_1048, strk1048_2002, rk1048" -#: ../Doc/library/codecs.rst:1190 ../Doc/library/codecs.rst:1207 +#: ../Doc/library/codecs.rst:1190 ../Doc/library/codecs.rst:1208 msgid "Kazakh" msgstr "Kazajo" @@ -2657,134 +2652,134 @@ msgid "mac_latin2" msgstr "mac_latin2" #: ../Doc/library/codecs.rst:1201 -msgid "maclatin2, maccentraleurope" -msgstr "maclatin2, maccentraleurope" +msgid "maclatin2, maccentraleurope, mac_centeuro" +msgstr "maclatin2, maccentraleurope, mac_centeuro" -#: ../Doc/library/codecs.rst:1203 +#: ../Doc/library/codecs.rst:1204 msgid "mac_roman" msgstr "mac_roman" -#: ../Doc/library/codecs.rst:1203 +#: ../Doc/library/codecs.rst:1204 msgid "macroman, macintosh" msgstr "macroman, macintosh" -#: ../Doc/library/codecs.rst:1205 +#: ../Doc/library/codecs.rst:1206 msgid "mac_turkish" msgstr "mac_turkish" -#: ../Doc/library/codecs.rst:1205 +#: ../Doc/library/codecs.rst:1206 msgid "macturkish" msgstr "macturkish" -#: ../Doc/library/codecs.rst:1207 +#: ../Doc/library/codecs.rst:1208 msgid "ptcp154" msgstr "ptcp154" -#: ../Doc/library/codecs.rst:1207 +#: ../Doc/library/codecs.rst:1208 msgid "csptcp154, pt154, cp154, cyrillic-asian" msgstr "csptcp154, pt154, cp154, cyrillic-asian" -#: ../Doc/library/codecs.rst:1210 +#: ../Doc/library/codecs.rst:1211 msgid "shift_jis" msgstr "shift_jis" -#: ../Doc/library/codecs.rst:1210 +#: ../Doc/library/codecs.rst:1211 msgid "csshiftjis, shiftjis, sjis, s_jis" msgstr "csshiftjis, shiftjis, sjis, s_jis" -#: ../Doc/library/codecs.rst:1213 +#: ../Doc/library/codecs.rst:1214 msgid "shift_jis_2004" msgstr "shift_jis_2004" -#: ../Doc/library/codecs.rst:1213 +#: ../Doc/library/codecs.rst:1214 msgid "shiftjis2004, sjis_2004, sjis2004" msgstr "shiftjis2004, sjis_2004, sjis2004" -#: ../Doc/library/codecs.rst:1216 +#: ../Doc/library/codecs.rst:1217 msgid "shift_jisx0213" msgstr "shift_jisx0213" -#: ../Doc/library/codecs.rst:1216 +#: ../Doc/library/codecs.rst:1217 msgid "shiftjisx0213, sjisx0213, s_jisx0213" msgstr "shiftjisx0213, sjisx0213, s_jisx0213" -#: ../Doc/library/codecs.rst:1219 +#: ../Doc/library/codecs.rst:1220 msgid "utf_32" msgstr "utf_32" -#: ../Doc/library/codecs.rst:1219 +#: ../Doc/library/codecs.rst:1220 msgid "U32, utf32" msgstr "U32, utf32" -#: ../Doc/library/codecs.rst:1219 ../Doc/library/codecs.rst:1221 -#: ../Doc/library/codecs.rst:1223 ../Doc/library/codecs.rst:1225 -#: ../Doc/library/codecs.rst:1227 ../Doc/library/codecs.rst:1229 -#: ../Doc/library/codecs.rst:1231 ../Doc/library/codecs.rst:1233 -#: ../Doc/library/codecs.rst:1235 +#: ../Doc/library/codecs.rst:1220 ../Doc/library/codecs.rst:1222 +#: ../Doc/library/codecs.rst:1224 ../Doc/library/codecs.rst:1226 +#: ../Doc/library/codecs.rst:1228 ../Doc/library/codecs.rst:1230 +#: ../Doc/library/codecs.rst:1232 ../Doc/library/codecs.rst:1234 +#: ../Doc/library/codecs.rst:1236 msgid "all languages" msgstr "todos los lenguajes" -#: ../Doc/library/codecs.rst:1221 +#: ../Doc/library/codecs.rst:1222 msgid "utf_32_be" msgstr "utf_32_be" -#: ../Doc/library/codecs.rst:1221 +#: ../Doc/library/codecs.rst:1222 msgid "UTF-32BE" msgstr "UTF-32BE" -#: ../Doc/library/codecs.rst:1223 +#: ../Doc/library/codecs.rst:1224 msgid "utf_32_le" msgstr "utf_32_le" -#: ../Doc/library/codecs.rst:1223 +#: ../Doc/library/codecs.rst:1224 msgid "UTF-32LE" msgstr "UTF-32LE" -#: ../Doc/library/codecs.rst:1225 +#: ../Doc/library/codecs.rst:1226 msgid "utf_16" msgstr "utf_16" -#: ../Doc/library/codecs.rst:1225 +#: ../Doc/library/codecs.rst:1226 msgid "U16, utf16" msgstr "U16, utf16" -#: ../Doc/library/codecs.rst:1227 +#: ../Doc/library/codecs.rst:1228 msgid "utf_16_be" msgstr "utf_16_be" -#: ../Doc/library/codecs.rst:1227 +#: ../Doc/library/codecs.rst:1228 msgid "UTF-16BE" msgstr "UTF-16BE" -#: ../Doc/library/codecs.rst:1229 +#: ../Doc/library/codecs.rst:1230 msgid "utf_16_le" msgstr "utf_16_le" -#: ../Doc/library/codecs.rst:1229 +#: ../Doc/library/codecs.rst:1230 msgid "UTF-16LE" msgstr "UTF-16LE" -#: ../Doc/library/codecs.rst:1231 +#: ../Doc/library/codecs.rst:1232 msgid "utf_7" msgstr "utf_7" -#: ../Doc/library/codecs.rst:1231 +#: ../Doc/library/codecs.rst:1232 msgid "U7, unicode-1-1-utf-7" msgstr "U7, unicode-1-1-utf-7" -#: ../Doc/library/codecs.rst:1233 +#: ../Doc/library/codecs.rst:1234 msgid "utf_8" msgstr "utf_8" -#: ../Doc/library/codecs.rst:1233 +#: ../Doc/library/codecs.rst:1234 msgid "U8, UTF, utf8, cp65001" msgstr "U8, UTF, utf8, cp65001" -#: ../Doc/library/codecs.rst:1235 +#: ../Doc/library/codecs.rst:1236 msgid "utf_8_sig" msgstr "utf_8_sig" -#: ../Doc/library/codecs.rst:1238 +#: ../Doc/library/codecs.rst:1239 msgid "" "The utf-16\\* and utf-32\\* encoders no longer allow surrogate code points " "(``U+D800``--``U+DFFF``) to be encoded. The utf-32\\* decoders no longer " @@ -2795,15 +2790,15 @@ msgstr "" "ya no decodifican secuencias de bytes que corresponden a puntos de código " "sustituto." -#: ../Doc/library/codecs.rst:1244 +#: ../Doc/library/codecs.rst:1245 msgid "``cp65001`` is now an alias to ``utf_8``." msgstr "``cp65001`` ahora es un alias de ``utf_8``." -#: ../Doc/library/codecs.rst:1249 +#: ../Doc/library/codecs.rst:1250 msgid "Python Specific Encodings" msgstr "Codificaciones específicas de Python" -#: ../Doc/library/codecs.rst:1251 +#: ../Doc/library/codecs.rst:1252 msgid "" "A number of predefined codecs are specific to Python, so their codec names " "have no meaning outside Python. These are listed in the tables below based " @@ -2821,11 +2816,11 @@ msgstr "" "texto). Para los códecs asimétricos, el significado indicado describe la " "dirección de codificación." -#: ../Doc/library/codecs.rst:1259 +#: ../Doc/library/codecs.rst:1260 msgid "Text Encodings" msgstr "Codificaciones de texto" -#: ../Doc/library/codecs.rst:1261 +#: ../Doc/library/codecs.rst:1262 msgid "" "The following codecs provide :class:`str` to :class:`bytes` encoding and :" "term:`bytes-like object` to :class:`str` decoding, similar to the Unicode " @@ -2835,11 +2830,11 @@ msgstr "" "`bytes` y decodificación de :term:`bytes-like object` a :class:`str`, " "similar a las codificaciones de texto Unicode." -#: ../Doc/library/codecs.rst:1270 +#: ../Doc/library/codecs.rst:1271 msgid "idna" msgstr "idna" -#: ../Doc/library/codecs.rst:1270 +#: ../Doc/library/codecs.rst:1271 msgid "" "Implement :rfc:`3490`, see also :mod:`encodings.idna`. Only " "``errors='strict'`` is supported." @@ -2847,53 +2842,53 @@ msgstr "" "Implementar :rfc:`3490`, ver también :mod:`encodings.idna`. Solo se admite " "``errors='strict'``." -#: ../Doc/library/codecs.rst:1276 +#: ../Doc/library/codecs.rst:1277 msgid "mbcs" msgstr "mbcs" -#: ../Doc/library/codecs.rst:1276 +#: ../Doc/library/codecs.rst:1277 msgid "ansi, dbcs" msgstr "ansi, dbcs" -#: ../Doc/library/codecs.rst:1276 +#: ../Doc/library/codecs.rst:1277 msgid "" "Windows only: Encode the operand according to the ANSI codepage (CP_ACP)." msgstr "" "Solo Windows: codifique el operando de acuerdo con la página de códigos ANSI " "(CP_ACP)." -#: ../Doc/library/codecs.rst:1280 +#: ../Doc/library/codecs.rst:1281 msgid "oem" msgstr "oem" -#: ../Doc/library/codecs.rst:1280 +#: ../Doc/library/codecs.rst:1281 msgid "" "Windows only: Encode the operand according to the OEM codepage (CP_OEMCP)." msgstr "" "Solo Windows: codifique el operando de acuerdo con la página de códigos OEM " "(CP_OEMCP)." -#: ../Doc/library/codecs.rst:1286 +#: ../Doc/library/codecs.rst:1287 msgid "palmos" msgstr "palmos" -#: ../Doc/library/codecs.rst:1286 +#: ../Doc/library/codecs.rst:1287 msgid "Encoding of PalmOS 3.5." msgstr "Codificación de PalmOS 3.5." -#: ../Doc/library/codecs.rst:1288 +#: ../Doc/library/codecs.rst:1289 msgid "punycode" msgstr "punycode" -#: ../Doc/library/codecs.rst:1288 +#: ../Doc/library/codecs.rst:1289 msgid "Implement :rfc:`3492`. Stateful codecs are not supported." msgstr "Implementar :rfc:`3492`. Los códecs con estado no son compatibles." -#: ../Doc/library/codecs.rst:1292 +#: ../Doc/library/codecs.rst:1293 msgid "raw_unicode_escape" msgstr "raw_unicode_escape" -#: ../Doc/library/codecs.rst:1292 +#: ../Doc/library/codecs.rst:1293 msgid "" "Latin-1 encoding with ``\\uXXXX`` and ``\\UXXXXXXXX`` for other code points. " "Existing backslashes are not escaped in any way. It is used in the Python " @@ -2903,11 +2898,11 @@ msgstr "" "código. Las barras invertidas existentes no se escapan de ninguna manera. Se " "usa en el protocolo Python *pickle*." -#: ../Doc/library/codecs.rst:1301 +#: ../Doc/library/codecs.rst:1302 msgid "undefined" msgstr "indefinido" -#: ../Doc/library/codecs.rst:1301 +#: ../Doc/library/codecs.rst:1302 msgid "" "Raise an exception for all conversions, even empty strings. The error " "handler is ignored." @@ -2915,11 +2910,11 @@ msgstr "" "Lanza una excepción para todas las conversiones, incluso cadenas vacías. El " "controlador de errores se ignora." -#: ../Doc/library/codecs.rst:1306 +#: ../Doc/library/codecs.rst:1307 msgid "unicode_escape" msgstr "unicode_escape" -#: ../Doc/library/codecs.rst:1306 +#: ../Doc/library/codecs.rst:1307 msgid "" "Encoding suitable as the contents of a Unicode literal in ASCII-encoded " "Python source code, except that quotes are not escaped. Decode from Latin-1 " @@ -2930,15 +2925,15 @@ msgstr "" "Decodificar desde el código fuente Latin-1. Tenga en cuenta que el código " "fuente de Python realmente usa UTF-8 por defecto" -#: ../Doc/library/codecs.rst:1318 +#: ../Doc/library/codecs.rst:1319 msgid "\"unicode_internal\" codec is removed." msgstr "Se elimina el códec \"unicode_internal\"." -#: ../Doc/library/codecs.rst:1325 +#: ../Doc/library/codecs.rst:1326 msgid "Binary Transforms" msgstr "Transformaciones Binarias" -#: ../Doc/library/codecs.rst:1327 +#: ../Doc/library/codecs.rst:1328 msgid "" "The following codecs provide binary transforms: :term:`bytes-like object` " "to :class:`bytes` mappings. They are not supported by :meth:`bytes.decode` " @@ -2948,19 +2943,19 @@ msgstr "" "term:`bytes-like object` a :class:`bytes`. No son compatibles con :meth:" "`bytes.decode` (que solo produce :class:`str` de salida)." -#: ../Doc/library/codecs.rst:1335 +#: ../Doc/library/codecs.rst:1336 msgid "Encoder / decoder" msgstr "Codificador / decodificador" -#: ../Doc/library/codecs.rst:1337 +#: ../Doc/library/codecs.rst:1338 msgid "base64_codec [#b64]_" msgstr "base64_codec [#b64]_" -#: ../Doc/library/codecs.rst:1337 +#: ../Doc/library/codecs.rst:1338 msgid "base64, base_64" msgstr "base64, base_64" -#: ../Doc/library/codecs.rst:1337 +#: ../Doc/library/codecs.rst:1338 msgid "" "Convert the operand to multiline MIME base64 (the result always includes a " "trailing ``'\\n'``)." @@ -2968,101 +2963,101 @@ msgstr "" "Convierta el operando a MIME base64 multilínea (el resultado siempre incluye " "un ``'\\n'`` final)." -#: ../Doc/library/codecs.rst:1342 +#: ../Doc/library/codecs.rst:1343 msgid "" "accepts any :term:`bytes-like object` as input for encoding and decoding" msgstr "" "acepta cualquier :term:`bytes-like object` como entrada para codificar y " "decodificar" -#: ../Doc/library/codecs.rst:1337 +#: ../Doc/library/codecs.rst:1338 msgid ":meth:`base64.encodebytes` / :meth:`base64.decodebytes`" msgstr ":meth:`base64.encodebytes` / :meth:`base64.decodebytes`" -#: ../Doc/library/codecs.rst:1348 +#: ../Doc/library/codecs.rst:1349 msgid "bz2_codec" msgstr "bz2_codec" -#: ../Doc/library/codecs.rst:1348 +#: ../Doc/library/codecs.rst:1349 msgid "bz2" msgstr "bz2" -#: ../Doc/library/codecs.rst:1348 +#: ../Doc/library/codecs.rst:1349 msgid "Compress the operand using bz2." msgstr "Comprime el operando usando bz2." -#: ../Doc/library/codecs.rst:1348 +#: ../Doc/library/codecs.rst:1349 msgid ":meth:`bz2.compress` / :meth:`bz2.decompress`" msgstr ":meth:`bz2.compress` / :meth:`bz2.decompress`" -#: ../Doc/library/codecs.rst:1351 +#: ../Doc/library/codecs.rst:1352 msgid "hex_codec" msgstr "hex_codec" -#: ../Doc/library/codecs.rst:1351 +#: ../Doc/library/codecs.rst:1352 msgid "hex" msgstr "hex" -#: ../Doc/library/codecs.rst:1351 +#: ../Doc/library/codecs.rst:1352 msgid "" "Convert the operand to hexadecimal representation, with two digits per byte." msgstr "" "Convierte el operando en representación hexadecimal, con dos dígitos por " "byte." -#: ../Doc/library/codecs.rst:1351 +#: ../Doc/library/codecs.rst:1352 msgid ":meth:`binascii.b2a_hex` / :meth:`binascii.a2b_hex`" msgstr ":meth:`binascii.b2a_hex` / :meth:`binascii.a2b_hex`" -#: ../Doc/library/codecs.rst:1356 +#: ../Doc/library/codecs.rst:1357 msgid "quopri_codec" msgstr "quopri_codec" -#: ../Doc/library/codecs.rst:1356 +#: ../Doc/library/codecs.rst:1357 msgid "quopri, quotedprintable, quoted_printable" msgstr "quopri, quotedprintable, quoted_printable" -#: ../Doc/library/codecs.rst:1356 +#: ../Doc/library/codecs.rst:1357 msgid "Convert the operand to MIME quoted printable." msgstr "Convierte el operando a MIME citado imprimible." -#: ../Doc/library/codecs.rst:1356 +#: ../Doc/library/codecs.rst:1357 msgid ":meth:`quopri.encode` with ``quotetabs=True`` / :meth:`quopri.decode`" msgstr ":meth:`quopri.encode` con ``quotetabs=True`` / :meth:`quopri.decode`" -#: ../Doc/library/codecs.rst:1360 +#: ../Doc/library/codecs.rst:1361 msgid "uu_codec" msgstr "uu_codec" -#: ../Doc/library/codecs.rst:1360 +#: ../Doc/library/codecs.rst:1361 msgid "uu" msgstr "uu" -#: ../Doc/library/codecs.rst:1360 +#: ../Doc/library/codecs.rst:1361 msgid "Convert the operand using uuencode." msgstr "Convierte el operando usando uuencode." -#: ../Doc/library/codecs.rst:1360 +#: ../Doc/library/codecs.rst:1361 msgid ":meth:`uu.encode` / :meth:`uu.decode`" msgstr ":meth:`uu.encode` / :meth:`uu.decode`" -#: ../Doc/library/codecs.rst:1363 +#: ../Doc/library/codecs.rst:1364 msgid "zlib_codec" msgstr "zlib_codec" -#: ../Doc/library/codecs.rst:1363 +#: ../Doc/library/codecs.rst:1364 msgid "zip, zlib" msgstr "zip, zlib" -#: ../Doc/library/codecs.rst:1363 +#: ../Doc/library/codecs.rst:1364 msgid "Compress the operand using gzip." msgstr "Comprime el operando usando gzip." -#: ../Doc/library/codecs.rst:1363 +#: ../Doc/library/codecs.rst:1364 msgid ":meth:`zlib.compress` / :meth:`zlib.decompress`" msgstr ":meth:`zlib.compress` / :meth:`zlib.decompress`" -#: ../Doc/library/codecs.rst:1367 +#: ../Doc/library/codecs.rst:1368 msgid "" "In addition to :term:`bytes-like objects `, " "``'base64_codec'`` also accepts ASCII-only instances of :class:`str` for " @@ -3072,19 +3067,19 @@ msgstr "" "``'base64_codec'`` también acepta instancias solo ASCII de :class:`str` para " "decodificación" -#: ../Doc/library/codecs.rst:1371 +#: ../Doc/library/codecs.rst:1372 msgid "Restoration of the binary transforms." msgstr "Restauración de las transformaciones binarias." -#: ../Doc/library/codecs.rst:1374 +#: ../Doc/library/codecs.rst:1375 msgid "Restoration of the aliases for the binary transforms." msgstr "Restauración de los alias para las transformaciones binarias." -#: ../Doc/library/codecs.rst:1381 +#: ../Doc/library/codecs.rst:1382 msgid "Text Transforms" msgstr "Transformaciones de texto" -#: ../Doc/library/codecs.rst:1383 +#: ../Doc/library/codecs.rst:1384 msgid "" "The following codec provides a text transform: a :class:`str` to :class:" "`str` mapping. It is not supported by :meth:`str.encode` (which only " @@ -3094,34 +3089,34 @@ msgstr "" "class:`str` a :class:`str`. No es compatible con :meth:`str.encode` (que " "solo produce :class:`bytes` de salida)." -#: ../Doc/library/codecs.rst:1392 +#: ../Doc/library/codecs.rst:1393 msgid "rot_13" msgstr "rot_13" -#: ../Doc/library/codecs.rst:1392 +#: ../Doc/library/codecs.rst:1393 msgid "rot13" msgstr "rot13" -#: ../Doc/library/codecs.rst:1392 +#: ../Doc/library/codecs.rst:1393 msgid "Return the Caesar-cypher encryption of the operand." msgstr "Retorna el cifrado César (*Caesar-cypher*) del operando." -#: ../Doc/library/codecs.rst:1397 +#: ../Doc/library/codecs.rst:1398 msgid "Restoration of the ``rot_13`` text transform." msgstr "Restauración de la transformación de texto ``rot_13``." -#: ../Doc/library/codecs.rst:1400 +#: ../Doc/library/codecs.rst:1401 msgid "Restoration of the ``rot13`` alias." msgstr "Restauración del alias ``rot13``." -#: ../Doc/library/codecs.rst:1405 +#: ../Doc/library/codecs.rst:1406 msgid "" ":mod:`encodings.idna` --- Internationalized Domain Names in Applications" msgstr "" ":mod:`encodings.idna` --- Nombres de dominio internacionalizados en " "aplicaciones" -#: ../Doc/library/codecs.rst:1411 +#: ../Doc/library/codecs.rst:1412 msgid "" "This module implements :rfc:`3490` (Internationalized Domain Names in " "Applications) and :rfc:`3492` (Nameprep: A Stringprep Profile for " @@ -3133,7 +3128,7 @@ msgstr "" "nombres de dominio internacionalizados (IDN)). Se basa en la codificación " "``punycode`` y :mod:`stringprep`." -#: ../Doc/library/codecs.rst:1416 +#: ../Doc/library/codecs.rst:1417 msgid "" "These RFCs together define a protocol to support non-ASCII characters in " "domain names. A domain name containing non-ASCII characters (such as ``www." @@ -3158,7 +3153,7 @@ msgstr "" "el cable, y volver a convertir las etiquetas ACE a Unicode antes de " "presentarlas al usuario." -#: ../Doc/library/codecs.rst:1427 +#: ../Doc/library/codecs.rst:1428 msgid "" "Python supports this conversion in several ways: the ``idna`` codec " "performs conversion between Unicode and ACE, separating an input string into " @@ -3189,7 +3184,7 @@ msgstr "" "también envían un mensaje transparente IDNA *hostname* en el campo :" "mailheader:`Host` si envía ese campo)." -#: ../Doc/library/codecs.rst:1440 +#: ../Doc/library/codecs.rst:1441 msgid "" "When receiving host names from the wire (such as in reverse name lookup), no " "automatic conversion to Unicode is performed: applications wishing to " @@ -3200,7 +3195,7 @@ msgstr "" "aplicaciones que deseen presentar dichos nombres de host al usuario deben " "decodificarlos en Unicode." -#: ../Doc/library/codecs.rst:1444 +#: ../Doc/library/codecs.rst:1445 msgid "" "The module :mod:`encodings.idna` also implements the nameprep procedure, " "which performs certain normalizations on host names, to achieve case-" @@ -3213,7 +3208,7 @@ msgstr "" "internacionales y unificar caracteres similares. Las funciones *nameprep* se " "pueden usar directamente si lo desea." -#: ../Doc/library/codecs.rst:1452 +#: ../Doc/library/codecs.rst:1453 msgid "" "Return the nameprepped version of *label*. The implementation currently " "assumes query strings, so ``AllowUnassigned`` is true." @@ -3222,7 +3217,7 @@ msgstr "" "*label*. La implementación actualmente asume cadenas de caracteres de " "consulta, por lo que ``AllowUnassigned`` es verdadero." -#: ../Doc/library/codecs.rst:1458 +#: ../Doc/library/codecs.rst:1459 msgid "" "Convert a label to ASCII, as specified in :rfc:`3490`. ``UseSTD3ASCIIRules`` " "is assumed to be false." @@ -3230,27 +3225,27 @@ msgstr "" "Convierte una etiqueta a ASCII, como se especifica en :rfc:`3490`. Se supone " "que ``UseSTD3ASCIIRules`` es falso." -#: ../Doc/library/codecs.rst:1464 +#: ../Doc/library/codecs.rst:1465 msgid "Convert a label to Unicode, as specified in :rfc:`3490`." msgstr "Convierte una etiqueta a Unicode, como se especifica en :rfc:`3490`." -#: ../Doc/library/codecs.rst:1468 +#: ../Doc/library/codecs.rst:1469 msgid ":mod:`encodings.mbcs` --- Windows ANSI codepage" msgstr ":mod:`encodings.mbcs` --- Página de códigos ANSI de Windows" -#: ../Doc/library/codecs.rst:1473 +#: ../Doc/library/codecs.rst:1474 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:1476 +#: ../Doc/library/codecs.rst:1477 msgid ":ref:`Availability `: Windows only." msgstr ":ref:`Availability `: solo Windows." -#: ../Doc/library/codecs.rst:1477 +#: ../Doc/library/codecs.rst:1478 msgid "Support any error handler." msgstr "Admite cualquier controlador de errores." -#: ../Doc/library/codecs.rst:1480 +#: ../Doc/library/codecs.rst:1481 msgid "" "Before 3.2, the *errors* argument was ignored; ``'replace'`` was always used " "to encode, and ``'ignore'`` to decode." @@ -3258,11 +3253,11 @@ msgstr "" "Antes de 3.2, se ignoraba el argumento *errors*; ``'replace'`` siempre se " "usó para codificar e ``'ignore'`` para decodificar." -#: ../Doc/library/codecs.rst:1486 +#: ../Doc/library/codecs.rst:1487 msgid ":mod:`encodings.utf_8_sig` --- UTF-8 codec with BOM signature" msgstr ":mod:`encodings.utf_8_sig` --- Códec UTF-8 con firma BOM" -#: ../Doc/library/codecs.rst:1492 +#: ../Doc/library/codecs.rst:1493 msgid "" "This module implements a variant of the UTF-8 codec. On encoding, a UTF-8 " "encoded BOM will be prepended to the UTF-8 encoded bytes. For the stateful " @@ -3276,3 +3271,8 @@ msgstr "" "primera escritura en el flujo de bytes). En la decodificación, se omitirá " "una lista de materiales opcional codificada en UTF-8 al comienzo de los " "datos." + +#~ msgid "Flushes and resets the codec buffers used for keeping state." +#~ msgstr "" +#~ "Vacía y restablece los búferes de códec utilizados para mantener el " +#~ "estado." diff --git a/library/codeop.po b/library/codeop.po index ead397ba72..a7b21c6dbf 100644 --- a/library/codeop.po +++ b/library/codeop.po @@ -1,21 +1,24 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. -# Maintained by the python-doc-es workteam. -# docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ -# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers +# Maintained by the python-doc-es workteam. +# docs-es@python.org / +# https://mail.python.org/mailman3/lists/docs-es.python.org/ +# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get +# the list of volunteers # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-06 11:59-0400\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: python-doc-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" +"Generated-By: Babel 2.8.0\n" #: ../Doc/library/codeop.rst:2 msgid ":mod:`codeop` --- Compile Python code" @@ -79,11 +82,12 @@ msgstr "" #: ../Doc/library/codeop.rst:45 msgid "" "The *symbol* argument determines whether *source* is compiled as a statement " -"(``'single'``, the default) or as an :term:`expression` (``'eval'``). Any " -"other value will cause :exc:`ValueError` to be raised." +"(``'single'``, the default), as a sequence of statements (``'exec'``) or as " +"an :term:`expression` (``'eval'``). Any other value will cause :exc:" +"`ValueError` to be raised." msgstr "" -#: ../Doc/library/codeop.rst:51 +#: ../Doc/library/codeop.rst:52 msgid "" "It is possible (but not likely) that the parser stops parsing with a " "successful outcome before reaching the end of the source; in this case, " @@ -92,7 +96,7 @@ msgid "" "This will be fixed once the API for the parser is better." msgstr "" -#: ../Doc/library/codeop.rst:60 +#: ../Doc/library/codeop.rst:61 msgid "" "Instances of this class have :meth:`__call__` methods identical in signature " "to the built-in function :func:`compile`, but with the difference that if " @@ -101,7 +105,7 @@ msgid "" "statement in force." msgstr "" -#: ../Doc/library/codeop.rst:69 +#: ../Doc/library/codeop.rst:70 msgid "" "Instances of this class have :meth:`__call__` methods identical in signature " "to :func:`compile_command`; the difference is that if the instance compiles " diff --git a/library/collections.abc.po b/library/collections.abc.po index 77acd3997f..7b6f72738d 100644 --- a/library/collections.abc.po +++ b/library/collections.abc.po @@ -1,23 +1,25 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. # Maintained by the python-doc-es workteam. -# docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ -# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers +# docs-es@python.org / +# https://mail.python.org/mailman3/lists/docs-es.python.org/ +# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get +# the list of volunteers # msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-06 11:59-0400\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-07-11 10:01-0300\n" +"Last-Translator: \n" +"Language: es_AR\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es_AR\n" -"X-Generator: Poedit 2.2.1\n" +"Generated-By: Babel 2.8.0\n" #: ../Doc/library/collections.abc.rst:2 msgid ":mod:`collections.abc` --- Abstract Base Classes for Containers" @@ -332,19 +334,31 @@ msgstr "``asend``, ``athrow``" msgid "``aclose``, ``__aiter__``, ``__anext__``" msgstr "``aclose``, ``__aiter__``, ``__anext__``" -#: ../Doc/library/collections.abc.rst:105 -msgid "" -"ABCs for classes that provide respectively the methods :meth:" -"`__contains__`, :meth:`__hash__`, :meth:`__len__`, and :meth:`__call__`." -msgstr "" -"ABCs para clases que proporcionan respectivamente los métodos :meth:" -"`__contains__`, :meth:`__hash__`, :meth:`__len__`, and :meth:`__call__`." +#: ../Doc/library/collections.abc.rst:102 +#, fuzzy +msgid "ABC for classes that provide the :meth:`__contains__` method." +msgstr "ABC para clases que proporcionan el método :meth:`__iter__`." + +#: ../Doc/library/collections.abc.rst:106 +#, fuzzy +msgid "ABC for classes that provide the :meth:`__hash__` method." +msgstr "ABC para clases que proporcionan el método :meth:`__iter__`." #: ../Doc/library/collections.abc.rst:110 +#, fuzzy +msgid "ABC for classes that provide the :meth:`__len__` method." +msgstr "ABC para clases que proporcionan el método :meth:`__iter__`." + +#: ../Doc/library/collections.abc.rst:114 +#, fuzzy +msgid "ABC for classes that provide the :meth:`__call__` method." +msgstr "ABC para clases que proporcionan el método :meth:`__iter__`." + +#: ../Doc/library/collections.abc.rst:118 msgid "ABC for classes that provide the :meth:`__iter__` method." msgstr "ABC para clases que proporcionan el método :meth:`__iter__`." -#: ../Doc/library/collections.abc.rst:112 +#: ../Doc/library/collections.abc.rst:120 msgid "" "Checking ``isinstance(obj, Iterable)`` detects classes that are registered " "as :class:`Iterable` or that have an :meth:`__iter__` method, but it does " @@ -358,11 +372,11 @@ msgstr "" "única forma confiable de determinar si un objeto es :term:`iterable` es " "llamar a ``iter(obj)``." -#: ../Doc/library/collections.abc.rst:120 +#: ../Doc/library/collections.abc.rst:128 msgid "ABC for sized iterable container classes." msgstr "ABC para clases de contenedor iterables de tamaño." -#: ../Doc/library/collections.abc.rst:126 +#: ../Doc/library/collections.abc.rst:134 msgid "" "ABC for classes that provide the :meth:`~iterator.__iter__` and :meth:" "`~iterator.__next__` methods. See also the definition of :term:`iterator`." @@ -370,14 +384,14 @@ msgstr "" "ABC para clases que proporcionan el método :meth:`~iterator.__iter__` y :" "meth:`~iterator.__next__`. Ver también la definición de :term:`iterator`." -#: ../Doc/library/collections.abc.rst:132 +#: ../Doc/library/collections.abc.rst:140 msgid "" "ABC for iterable classes that also provide the :meth:`__reversed__` method." msgstr "" "ABC para clases iterables que también proporcionan :meth:`__reversed__` " "method." -#: ../Doc/library/collections.abc.rst:139 +#: ../Doc/library/collections.abc.rst:147 msgid "" "ABC for generator classes that implement the protocol defined in :pep:`342` " "that extends iterators with the :meth:`~generator.send`, :meth:`~generator." @@ -389,11 +403,11 @@ msgstr "" "meth:`~generator.throw` and :meth:`~generator.close`. Ver también la " "definición de :term:`generator`." -#: ../Doc/library/collections.abc.rst:150 +#: ../Doc/library/collections.abc.rst:158 msgid "ABCs for read-only and mutable :term:`sequences `." msgstr "ABC para solo lectura y mutable :term:`secuencias `." -#: ../Doc/library/collections.abc.rst:152 +#: ../Doc/library/collections.abc.rst:160 msgid "" "Implementation note: Some of the mixin methods, such as :meth:`__iter__`, :" "meth:`__reversed__` and :meth:`index`, make repeated calls to the " @@ -411,25 +425,25 @@ msgstr "" "lineal (como lo sería con una lista vinculada), los mixins tendrán un " "rendimiento cuadrático y probablemente deberán ser anulados." -#: ../Doc/library/collections.abc.rst:161 +#: ../Doc/library/collections.abc.rst:169 msgid "The index() method added support for *stop* and *start* arguments." msgstr "El método index() agregó soporte para los argumentos *stop* y *start*." -#: ../Doc/library/collections.abc.rst:168 +#: ../Doc/library/collections.abc.rst:176 msgid "ABCs for read-only and mutable sets." msgstr "ABC para conjuntos de solo lectura y mutables." -#: ../Doc/library/collections.abc.rst:173 +#: ../Doc/library/collections.abc.rst:181 msgid "ABCs for read-only and mutable :term:`mappings `." msgstr "ABC para solo lectura y mutable :term:`mapeos `." -#: ../Doc/library/collections.abc.rst:180 +#: ../Doc/library/collections.abc.rst:188 msgid "" "ABCs for mapping, items, keys, and values :term:`views `." msgstr "" "ABC para mapeo, elementos, claves y valores :term:`vistas `." -#: ../Doc/library/collections.abc.rst:184 +#: ../Doc/library/collections.abc.rst:192 msgid "" "ABC for :term:`awaitable` objects, which can be used in :keyword:`await` " "expressions. Custom implementations must provide the :meth:`__await__` " @@ -439,15 +453,16 @@ msgstr "" "keyword:`await`. Las implementaciones personalizadas deben proporcionar el " "método :meth:`__await__`." -#: ../Doc/library/collections.abc.rst:188 +#: ../Doc/library/collections.abc.rst:196 +#, fuzzy msgid "" -":term:`Coroutine` objects and instances of the :class:`~collections.abc." -"Coroutine` ABC are all instances of this ABC." +":term:`Coroutine ` objects and instances of the :class:" +"`~collections.abc.Coroutine` ABC are all instances of this ABC." msgstr "" ":term:`Coroutine` objetos e instancias de la clase :class:`~collections.abc." "Coroutine` ABC son todas las instancias de este ABC." -#: ../Doc/library/collections.abc.rst:192 +#: ../Doc/library/collections.abc.rst:200 msgid "" "In CPython, generator-based coroutines (generators decorated with :func:" "`types.coroutine` or :func:`asyncio.coroutine`) are *awaitables*, even " @@ -461,7 +476,7 @@ msgstr "" "``isinstance(gencoro, Awaitable)`` para ellos retornará ``False``. Use :func:" "`inspect.isawaitable` para detectarlos." -#: ../Doc/library/collections.abc.rst:202 +#: ../Doc/library/collections.abc.rst:210 msgid "" "ABC for coroutine compatible classes. These implement the following " "methods, defined in :ref:`coroutine-objects`: :meth:`~coroutine.send`, :meth:" @@ -477,7 +492,7 @@ msgstr "" "instancias de :class:`Coroutine` también son instancias de :class:" "`Awaitable`. Ver también la definición de :term:`coroutine`." -#: ../Doc/library/collections.abc.rst:210 +#: ../Doc/library/collections.abc.rst:218 msgid "" "In CPython, generator-based coroutines (generators decorated with :func:" "`types.coroutine` or :func:`asyncio.coroutine`) are *awaitables*, even " @@ -491,7 +506,7 @@ msgstr "" "``isinstance(gencoro, Coroutine)`` para ellos retornará ``False``. Use :func:" "`inspect.isawaitable` para detectarlos." -#: ../Doc/library/collections.abc.rst:220 +#: ../Doc/library/collections.abc.rst:228 msgid "" "ABC for classes that provide ``__aiter__`` method. See also the definition " "of :term:`asynchronous iterable`." @@ -499,7 +514,7 @@ msgstr "" "ABC para las clases que proporcionan el método ``__aiter__``. Ver también la " "definición de :term:`asynchronous iterable`." -#: ../Doc/library/collections.abc.rst:227 +#: ../Doc/library/collections.abc.rst:235 msgid "" "ABC for classes that provide ``__aiter__`` and ``__anext__`` methods. See " "also the definition of :term:`asynchronous iterator`." @@ -507,7 +522,7 @@ msgstr "" "ABC para clases que proveen métodos ``__aiter__`` and ``__anext__``. Ver " "también la definición de :term:`asynchronous iterator`." -#: ../Doc/library/collections.abc.rst:234 +#: ../Doc/library/collections.abc.rst:242 msgid "" "ABC for asynchronous generator classes that implement the protocol defined " "in :pep:`525` and :pep:`492`." @@ -515,7 +530,7 @@ msgstr "" "ABC para clases generadoras asincrónicas que implementan el protocolo " "definido en :pep:`525` y :pep:`492`." -#: ../Doc/library/collections.abc.rst:240 +#: ../Doc/library/collections.abc.rst:248 msgid "" "These ABCs allow us to ask classes or instances if they provide particular " "functionality, for example::" @@ -523,7 +538,7 @@ msgstr "" "Estos ABC nos permiten preguntar a clases o instancias si proporcionan una " "funcionalidad particular, por ejemplo::" -#: ../Doc/library/collections.abc.rst:247 +#: ../Doc/library/collections.abc.rst:255 msgid "" "Several of the ABCs are also useful as mixins that make it easier to develop " "classes supporting container APIs. For example, to write a class supporting " @@ -539,12 +554,13 @@ msgstr "" "meth:`__len__`. El ABC proporciona los métodos restantes, como :meth:" "`__and__` y :meth:`isdisjoint`::" -#: ../Doc/library/collections.abc.rst:276 +#: ../Doc/library/collections.abc.rst:284 msgid "Notes on using :class:`Set` and :class:`MutableSet` as a mixin:" msgstr "" "Notas sobre el uso de :class:`Set` y :class:`MutableSet` como un mixin:" -#: ../Doc/library/collections.abc.rst:279 +#: ../Doc/library/collections.abc.rst:287 +#, fuzzy msgid "" "Since some set operations create new sets, the default mixin methods need a " "way to create new instances from an iterable. The class constructor is " @@ -553,7 +569,8 @@ msgid "" "`_from_iterable` which calls ``cls(iterable)`` to produce a new set. If the :" "class:`Set` mixin is being used in a class with a different constructor " "signature, you will need to override :meth:`_from_iterable` with a " -"classmethod that can construct new instances from an iterable argument." +"classmethod or regular method that can construct new instances from an " +"iterable argument." msgstr "" "Dado que algunas operaciones de conjuntos crean nuevos conjuntos, los " "métodos mixin predeterminados necesitan una forma de crear nuevas instancias " @@ -565,7 +582,7 @@ msgstr "" "deberá reemplazar :meth:`_from_iterable` con un método de clase que pueda " "construir nuevas instancias a partir de un argumento iterable." -#: ../Doc/library/collections.abc.rst:290 +#: ../Doc/library/collections.abc.rst:298 msgid "" "To override the comparisons (presumably for speed, as the semantics are " "fixed), redefine :meth:`__le__` and :meth:`__ge__`, then the other " @@ -575,7 +592,7 @@ msgstr "" "las semánticas son fijas), redefinir :meth:`__le__` y :meth:`__ge__`, luego " "las otras operaciones seguirán automáticamente su ejemplo." -#: ../Doc/library/collections.abc.rst:295 +#: ../Doc/library/collections.abc.rst:303 msgid "" "The :class:`Set` mixin provides a :meth:`_hash` method to compute a hash " "value for the set; however, :meth:`__hash__` is not defined because not all " @@ -589,7 +606,7 @@ msgstr "" "capacidad de encadenamiento en conjuntos que usan mixin, herede de ambos :" "meth:`Set` y :meth:`Hashable`, luego defina ``__hash__ = Set._hash``." -#: ../Doc/library/collections.abc.rst:303 +#: ../Doc/library/collections.abc.rst:311 msgid "" "`OrderedSet recipe `_ for an " "example built on :class:`MutableSet`." @@ -597,8 +614,15 @@ msgstr "" "`OrderedSet receta `_ para un " "ejemplo basado en :class:`MutableSet`." -#: ../Doc/library/collections.abc.rst:306 +#: ../Doc/library/collections.abc.rst:314 msgid "For more about ABCs, see the :mod:`abc` module and :pep:`3119`." msgstr "" "Para obtener más información sobre ABCs, ver el módulo :mod:`abc` y :pep:" "`3119`." + +#~ msgid "" +#~ "ABCs for classes that provide respectively the methods :meth:" +#~ "`__contains__`, :meth:`__hash__`, :meth:`__len__`, and :meth:`__call__`." +#~ msgstr "" +#~ "ABCs para clases que proporcionan respectivamente los métodos :meth:" +#~ "`__contains__`, :meth:`__hash__`, :meth:`__len__`, and :meth:`__call__`." diff --git a/library/collections.po b/library/collections.po index 5c414930bf..5ecd5ae5f5 100644 --- a/library/collections.po +++ b/library/collections.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-11-20 10:41-0500\n" +"Last-Translator: Javier Daza C\n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Javier Daza C\n" -"Language: es\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/collections.rst:2 msgid ":mod:`collections` --- Container datatypes" @@ -275,7 +274,11 @@ msgstr "" "Esto da el mismo orden que una serie de llamadas a :meth:`dict.update` " "comenzando con el último mapeo::" -#: ../Doc/library/collections.rst:121 +#: ../Doc/library/collections.rst:119 +msgid "Added support for ``|`` and ``|=`` operators, specified in :pep:`584`." +msgstr "" + +#: ../Doc/library/collections.rst:124 msgid "" "The `MultiContext class `_ in the Enthought `CodeTools package " @@ -287,9 +290,10 @@ msgstr "" "`CodeTools `_ tiene opciones para " "admitir la escritura en cualquier mapeo de la cadena." -#: ../Doc/library/collections.rst:127 +#: ../Doc/library/collections.rst:130 +#, fuzzy msgid "" -"Django's `Context class `_ for templating is a read-only chain of mappings. It " "also features pushing and popping of contexts similar to the :meth:" "`~collections.ChainMap.new_child` method and the :attr:`~collections." @@ -301,7 +305,7 @@ msgstr "" "contextos similar al método :meth:`~collections.ChainMap.new_child` y a la " "propiedad :attr:`~collections.ChainMap.parents` ." -#: ../Doc/library/collections.rst:134 +#: ../Doc/library/collections.rst:137 msgid "" "The `Nested Contexts recipe `_ " "has options to control whether writes and other mutations apply only to the " @@ -311,7 +315,7 @@ msgstr "" "recipes/577434/>`_ tiene opciones para controlar si las escrituras y otras " "mutaciones se aplican solo al primer mapeo o a cualquier mapeo en la cadena." -#: ../Doc/library/collections.rst:139 +#: ../Doc/library/collections.rst:142 msgid "" "A `greatly simplified read-only version of Chainmap `_." @@ -319,20 +323,20 @@ msgstr "" "Una `versión de solo lectura muy simplificada de Chainmap `_." -#: ../Doc/library/collections.rst:144 +#: ../Doc/library/collections.rst:147 msgid ":class:`ChainMap` Examples and Recipes" msgstr "Ejemplos y recetas :class:`ChainMap`" -#: ../Doc/library/collections.rst:146 +#: ../Doc/library/collections.rst:149 msgid "This section shows various approaches to working with chained maps." msgstr "" "Esta sección muestra varios enfoques para trabajar con mapas encadenados." -#: ../Doc/library/collections.rst:149 +#: ../Doc/library/collections.rst:152 msgid "Example of simulating Python's internal lookup chain::" msgstr "Ejemplo de simulación de la cadena de búsqueda interna de Python:" -#: ../Doc/library/collections.rst:154 +#: ../Doc/library/collections.rst:157 msgid "" "Example of letting user specified command-line arguments take precedence " "over environment variables which in turn take precedence over default " @@ -342,7 +346,7 @@ msgstr "" "por el usuario tengan prioridad sobre las variables de entorno que, a su " "vez, tienen prioridad sobre los valores predeterminados::" -#: ../Doc/library/collections.rst:171 +#: ../Doc/library/collections.rst:174 msgid "" "Example patterns for using the :class:`ChainMap` class to simulate nested " "contexts::" @@ -350,7 +354,7 @@ msgstr "" "Patrones de ejemplo para usar la clase :class:`ChainMap` para simular " "contextos anidados::" -#: ../Doc/library/collections.rst:190 +#: ../Doc/library/collections.rst:193 msgid "" "The :class:`ChainMap` class only makes updates (writes and deletions) to the " "first mapping in the chain while lookups will search the full chain. " @@ -363,11 +367,11 @@ msgstr "" "eliminaciones profundas, es fácil crear una subclase que actualice las " "llaves que se encuentran más profundas en la cadena::" -#: ../Doc/library/collections.rst:221 +#: ../Doc/library/collections.rst:224 msgid ":class:`Counter` objects" msgstr "Objetos :class:`Counter`" -#: ../Doc/library/collections.rst:223 +#: ../Doc/library/collections.rst:226 msgid "" "A counter tool is provided to support convenient and rapid tallies. For " "example::" @@ -375,7 +379,7 @@ msgstr "" "Se proporciona una herramienta de contador para respaldar recuentos rápidos " "y convenientes. Por ejemplo::" -#: ../Doc/library/collections.rst:242 +#: ../Doc/library/collections.rst:245 msgid "" "A :class:`Counter` is a :class:`dict` subclass for counting hashable " "objects. It is a collection where elements are stored as dictionary keys and " @@ -390,7 +394,7 @@ msgstr "" "de cero o negativos. La clase :class:`Counter` es similar a los *bags* o " "multiconjuntos en otros idiomas." -#: ../Doc/library/collections.rst:248 +#: ../Doc/library/collections.rst:251 msgid "" "Elements are counted from an *iterable* or initialized from another " "*mapping* (or counter):" @@ -398,7 +402,7 @@ msgstr "" "Los elementos se cuentan desde un *iterable* o se inicializan desde otro " "*mapeo* (o contador):" -#: ../Doc/library/collections.rst:256 +#: ../Doc/library/collections.rst:259 msgid "" "Counter objects have a dictionary interface except that they return a zero " "count for missing items instead of raising a :exc:`KeyError`:" @@ -407,7 +411,7 @@ msgstr "" "un conteo de cero para los elementos faltantes en lugar de levantar una :exc:" "`KeyError`:" -#: ../Doc/library/collections.rst:263 +#: ../Doc/library/collections.rst:266 msgid "" "Setting a count to zero does not remove an element from a counter. Use " "``del`` to remove it entirely:" @@ -415,7 +419,7 @@ msgstr "" "Establecer un conteo en cero no elimina un elemento de un contador. Utilice " "``del`` para eliminarlo por completo:" -#: ../Doc/library/collections.rst:271 +#: ../Doc/library/collections.rst:274 msgid "" "As a :class:`dict` subclass, :class:`Counter` Inherited the capability to " "remember insertion order. Math operations on *Counter* objects also " @@ -429,7 +433,7 @@ msgstr "" "encuentra un elemento por primera vez en el operando izquierdo y luego según " "el orden encontrado en el operando derecho." -#: ../Doc/library/collections.rst:277 +#: ../Doc/library/collections.rst:280 msgid "" "Counter objects support three methods beyond those available for all " "dictionaries:" @@ -437,7 +441,7 @@ msgstr "" "Los objetos Counter admiten tres métodos más allá de los disponibles para " "todos los diccionarios:" -#: ../Doc/library/collections.rst:282 +#: ../Doc/library/collections.rst:285 msgid "" "Return an iterator over elements repeating each as many times as its count. " "Elements are returned in the order first encountered. If an element's count " @@ -448,7 +452,7 @@ msgstr "" "primera vez. Si el conteo de un elemento es menor que uno, :meth:`elements` " "lo ignorará." -#: ../Doc/library/collections.rst:292 +#: ../Doc/library/collections.rst:295 msgid "" "Return a list of the *n* most common elements and their counts from the most " "common to the least. If *n* is omitted or ``None``, :meth:`most_common` " @@ -460,7 +464,7 @@ msgstr "" "retorna *todos* los elementos del contador. Los elementos con conteos " "iguales se ordenan en el orden en que se encontraron por primera vez:" -#: ../Doc/library/collections.rst:302 +#: ../Doc/library/collections.rst:305 msgid "" "Elements are subtracted from an *iterable* or from another *mapping* (or " "counter). Like :meth:`dict.update` but subtracts counts instead of " @@ -470,7 +474,7 @@ msgstr "" "Como :meth:`dict.update` pero resta los conteos en lugar de reemplazarlos. " "Tanto las entradas como las salidas pueden ser cero o negativas." -#: ../Doc/library/collections.rst:314 +#: ../Doc/library/collections.rst:317 msgid "" "The usual dictionary methods are available for :class:`Counter` objects " "except for two which work differently for counters." @@ -478,12 +482,12 @@ msgstr "" "Los métodos de diccionario habituales están disponibles para objetos :class:" "`Counter` excepto dos que funcionan de manera diferente para los contadores." -#: ../Doc/library/collections.rst:319 +#: ../Doc/library/collections.rst:322 msgid "This class method is not implemented for :class:`Counter` objects." msgstr "" "Este método de clase no está implementado para objetos :class:`Counter` ." -#: ../Doc/library/collections.rst:323 +#: ../Doc/library/collections.rst:326 msgid "" "Elements are counted from an *iterable* or added-in from another *mapping* " "(or counter). Like :meth:`dict.update` but adds counts instead of replacing " @@ -495,11 +499,11 @@ msgstr "" "reemplazarlos. Además, se espera que el *iterable* sea una secuencia de " "elementos, no una secuencia de parejas ``(llave, valor)`` ." -#: ../Doc/library/collections.rst:328 +#: ../Doc/library/collections.rst:331 msgid "Common patterns for working with :class:`Counter` objects::" msgstr "Patrones comunes para trabajar con objetos :class:`Counter`::" -#: ../Doc/library/collections.rst:340 +#: ../Doc/library/collections.rst:343 msgid "" "Several mathematical operations are provided for combining :class:`Counter` " "objects to produce multisets (counters that have counts greater than zero). " @@ -517,7 +521,7 @@ msgstr "" "puede aceptar entradas con conteos con signo, pero la salida excluirá los " "resultados con conteos de cero o menos." -#: ../Doc/library/collections.rst:358 +#: ../Doc/library/collections.rst:361 msgid "" "Unary addition and subtraction are shortcuts for adding an empty counter or " "subtracting from an empty counter." @@ -525,14 +529,14 @@ msgstr "" "La suma y resta unaria son atajos para agregar un contador vacío o restar de " "un contador vacío." -#: ../Doc/library/collections.rst:367 +#: ../Doc/library/collections.rst:370 msgid "" "Added support for unary plus, unary minus, and in-place multiset operations." msgstr "" "Se agregó soporte para operaciones unarias de adición, resta y multiconjunto " "en su lugar (*in-place*)." -#: ../Doc/library/collections.rst:372 +#: ../Doc/library/collections.rst:375 msgid "" "Counters were primarily designed to work with positive integers to represent " "running counts; however, care was taken to not unnecessarily preclude use " @@ -545,7 +549,7 @@ msgstr "" "valores negativos. Para ayudar con esos casos de uso, esta sección documenta " "el rango mínimo y las restricciones de tipo." -#: ../Doc/library/collections.rst:377 +#: ../Doc/library/collections.rst:380 msgid "" "The :class:`Counter` class itself is a dictionary subclass with no " "restrictions on its keys and values. The values are intended to be numbers " @@ -556,7 +560,7 @@ msgstr "" "números que representan conteos, pero *podría* almacenar cualquier cosa en " "el campo de valor." -#: ../Doc/library/collections.rst:381 +#: ../Doc/library/collections.rst:384 msgid "" "The :meth:`~Counter.most_common` method requires only that the values be " "orderable." @@ -564,7 +568,7 @@ msgstr "" "El método :meth:`~Counter.most_common` solo requiere que los valores se " "puedan ordenar." -#: ../Doc/library/collections.rst:383 +#: ../Doc/library/collections.rst:386 msgid "" "For in-place operations such as ``c[key] += 1``, the value type need only " "support addition and subtraction. So fractions, floats, and decimals would " @@ -578,7 +582,7 @@ msgstr "" "negativos. Lo mismo ocurre con :meth:`~Counter.update` y :meth:`~Counter." "subtract` que permiten valores negativos y cero para las entradas y salidas." -#: ../Doc/library/collections.rst:389 +#: ../Doc/library/collections.rst:392 msgid "" "The multiset methods are designed only for use cases with positive values. " "The inputs may be negative or zero, but only outputs with positive values " @@ -590,7 +594,7 @@ msgstr "" "crean salidas con valores positivos. No hay restricciones de tipo, pero el " "tipo de valor debe admitir la suma, la resta y la comparación." -#: ../Doc/library/collections.rst:394 +#: ../Doc/library/collections.rst:397 msgid "" "The :meth:`~Counter.elements` method requires integer counts. It ignores " "zero and negative counts." @@ -598,7 +602,7 @@ msgstr "" "El método :meth:`~Counter.elements` requiere conteos enteros. Ignora los " "conteos de cero y negativos." -#: ../Doc/library/collections.rst:399 +#: ../Doc/library/collections.rst:402 msgid "" "`Bag class `_ in Smalltalk." @@ -606,14 +610,14 @@ msgstr "" "`Clase Bag `_ en Smalltalk." -#: ../Doc/library/collections.rst:402 +#: ../Doc/library/collections.rst:405 msgid "" "Wikipedia entry for `Multisets `_." msgstr "" "Entrada de Wikipedia para `Multiconjuntos `_." -#: ../Doc/library/collections.rst:404 +#: ../Doc/library/collections.rst:407 msgid "" "`C++ multisets `_ tutorial with examples." @@ -621,7 +625,7 @@ msgstr "" "Tutorial de `multiconjuntos de C++ `_ con ejemplos." -#: ../Doc/library/collections.rst:407 +#: ../Doc/library/collections.rst:410 msgid "" "For mathematical operations on multisets and their use cases, see *Knuth, " "Donald. The Art of Computer Programming Volume II, Section 4.6.3, Exercise " @@ -631,7 +635,7 @@ msgstr "" "*Knuth, Donald. The Art of Computer Programming Volume II, Sección 4.6.3, " "Ejercicio 19*." -#: ../Doc/library/collections.rst:411 +#: ../Doc/library/collections.rst:414 msgid "" "To enumerate all distinct multisets of a given size over a given set of " "elements, see :func:`itertools.combinations_with_replacement`::" @@ -640,11 +644,11 @@ msgstr "" "conjunto dado de elementos, consulte :func:`itertools." "combinations_with_replacement`::" -#: ../Doc/library/collections.rst:418 +#: ../Doc/library/collections.rst:421 msgid ":class:`deque` objects" msgstr "Objetos :class:`deque`" -#: ../Doc/library/collections.rst:422 +#: ../Doc/library/collections.rst:425 msgid "" "Returns a new deque object initialized left-to-right (using :meth:`append`) " "with data from *iterable*. If *iterable* is not specified, the new deque is " @@ -654,7 +658,7 @@ msgstr "" "meth:`append`) con datos de *iterable*. Si no se especifica *iterable*, el " "nuevo deque estará vacío." -#: ../Doc/library/collections.rst:425 +#: ../Doc/library/collections.rst:428 msgid "" "Deques are a generalization of stacks and queues (the name is pronounced " "\"deck\" and is short for \"double-ended queue\"). Deques support thread-" @@ -667,7 +671,7 @@ msgstr "" "pops eficientes en memoria desde cualquier lado del deque con " "aproximadamente el mismo rendimiento O(1) en cualquier dirección." -#: ../Doc/library/collections.rst:430 +#: ../Doc/library/collections.rst:433 msgid "" "Though :class:`list` objects support similar operations, they are optimized " "for fast fixed-length operations and incur O(n) memory movement costs for " @@ -680,7 +684,7 @@ msgstr "" "que cambian tanto el tamaño como la posición de la representación de datos " "subyacente." -#: ../Doc/library/collections.rst:436 +#: ../Doc/library/collections.rst:439 msgid "" "If *maxlen* is not specified or is ``None``, deques may grow to an arbitrary " "length. Otherwise, the deque is bounded to the specified maximum length. " @@ -699,31 +703,31 @@ msgstr "" "También son útiles para rastrear transacciones y otros grupos de datos donde " "solo la actividad más reciente es de interés." -#: ../Doc/library/collections.rst:445 +#: ../Doc/library/collections.rst:448 msgid "Deque objects support the following methods:" msgstr "Los objetos deque admiten los siguientes métodos:" -#: ../Doc/library/collections.rst:449 +#: ../Doc/library/collections.rst:452 msgid "Add *x* to the right side of the deque." msgstr "Agregue *x* al lado derecho del deque." -#: ../Doc/library/collections.rst:454 +#: ../Doc/library/collections.rst:457 msgid "Add *x* to the left side of the deque." msgstr "Agregue *x* al lado izquierdo del deque." -#: ../Doc/library/collections.rst:459 +#: ../Doc/library/collections.rst:462 msgid "Remove all elements from the deque leaving it with length 0." msgstr "Retire todos los elementos del deque dejándolo con longitud 0." -#: ../Doc/library/collections.rst:464 +#: ../Doc/library/collections.rst:467 msgid "Create a shallow copy of the deque." msgstr "Crea una copia superficial del deque." -#: ../Doc/library/collections.rst:471 +#: ../Doc/library/collections.rst:474 msgid "Count the number of deque elements equal to *x*." msgstr "Cuente el número de elementos deque igual a *x*." -#: ../Doc/library/collections.rst:478 +#: ../Doc/library/collections.rst:481 msgid "" "Extend the right side of the deque by appending elements from the iterable " "argument." @@ -731,7 +735,7 @@ msgstr "" "Extienda el lado derecho del deque agregando elementos del argumento " "iterable." -#: ../Doc/library/collections.rst:484 +#: ../Doc/library/collections.rst:487 msgid "" "Extend the left side of the deque by appending elements from *iterable*. " "Note, the series of left appends results in reversing the order of elements " @@ -741,7 +745,7 @@ msgstr "" "Tenga en cuenta que la serie de appends a la izquierda da como resultado la " "inversión del orden de los elementos en el argumento iterable." -#: ../Doc/library/collections.rst:491 +#: ../Doc/library/collections.rst:494 msgid "" "Return the position of *x* in the deque (at or after index *start* and " "before index *stop*). Returns the first match or raises :exc:`ValueError` " @@ -751,11 +755,11 @@ msgstr "" "antes del índice *stop*). Retorna la primera coincidencia o lanza :exc:" "`ValueError` si no se encuentra." -#: ../Doc/library/collections.rst:500 +#: ../Doc/library/collections.rst:503 msgid "Insert *x* into the deque at position *i*." msgstr "Ingrese *x* en el dique en la posición *i*." -#: ../Doc/library/collections.rst:502 +#: ../Doc/library/collections.rst:505 msgid "" "If the insertion would cause a bounded deque to grow beyond *maxlen*, an :" "exc:`IndexError` is raised." @@ -763,7 +767,7 @@ msgstr "" "Si la inserción causara que un deque limitado crezca más allá de *maxlen*, " "se lanza un :exc:`IndexError`." -#: ../Doc/library/collections.rst:510 +#: ../Doc/library/collections.rst:513 msgid "" "Remove and return an element from the right side of the deque. If no " "elements are present, raises an :exc:`IndexError`." @@ -771,7 +775,7 @@ msgstr "" "Elimina y retorna un elemento del lado derecho del deque. Si no hay " "elementos presentes, lanza un :exc:`IndexError`." -#: ../Doc/library/collections.rst:516 +#: ../Doc/library/collections.rst:519 msgid "" "Remove and return an element from the left side of the deque. If no elements " "are present, raises an :exc:`IndexError`." @@ -779,7 +783,7 @@ msgstr "" "Elimina y retorna un elemento del lado izquierdo del deque. Si no hay " "elementos presentes, lanza un :exc:`IndexError`." -#: ../Doc/library/collections.rst:522 +#: ../Doc/library/collections.rst:525 msgid "" "Remove the first occurrence of *value*. If not found, raises a :exc:" "`ValueError`." @@ -787,13 +791,13 @@ msgstr "" "Elimina la primera aparición de *value*. Si no se encuentra, lanza un :exc:" "`ValueError`." -#: ../Doc/library/collections.rst:528 +#: ../Doc/library/collections.rst:531 msgid "Reverse the elements of the deque in-place and then return ``None``." msgstr "" "Invierte los elementos del deque en su lugar (*in-place*) y luego retorna " "``None``." -#: ../Doc/library/collections.rst:535 +#: ../Doc/library/collections.rst:538 msgid "" "Rotate the deque *n* steps to the right. If *n* is negative, rotate to the " "left." @@ -801,7 +805,7 @@ msgstr "" "Gira el deque *n* pasos a la derecha. Si *n* es negativo, lo gira hacia la " "izquierda." -#: ../Doc/library/collections.rst:538 +#: ../Doc/library/collections.rst:541 msgid "" "When the deque is not empty, rotating one step to the right is equivalent to " "``d.appendleft(d.pop())``, and rotating one step to the left is equivalent " @@ -811,15 +815,15 @@ msgstr "" "appendleft(d.pop())``, y girar un paso hacia la izquierda equivale a ``d." "append(d.popleft())``." -#: ../Doc/library/collections.rst:543 +#: ../Doc/library/collections.rst:546 msgid "Deque objects also provide one read-only attribute:" msgstr "Los objetos deque también proporcionan un atributo de solo lectura:" -#: ../Doc/library/collections.rst:547 +#: ../Doc/library/collections.rst:550 msgid "Maximum size of a deque or ``None`` if unbounded." msgstr "Tamaño máximo de un deque o ``None`` si no está limitado." -#: ../Doc/library/collections.rst:552 +#: ../Doc/library/collections.rst:555 msgid "" "In addition to the above, deques support iteration, pickling, ``len(d)``, " "``reversed(d)``, ``copy.copy(d)``, ``copy.deepcopy(d)``, membership testing " @@ -834,7 +838,7 @@ msgstr "" "ambos extremos, pero se ralentiza hasta O(n) en el medio. Para un acceso " "aleatorio rápido, use listas en su lugar." -#: ../Doc/library/collections.rst:558 +#: ../Doc/library/collections.rst:561 msgid "" "Starting in version 3.5, deques support ``__add__()``, ``__mul__()``, and " "``__imul__()``." @@ -842,19 +846,19 @@ msgstr "" "A partir de la versión 3.5, los deques admiten ``__add__()``, ``__mul__()``, " "y ``__imul__()``." -#: ../Doc/library/collections.rst:561 +#: ../Doc/library/collections.rst:564 msgid "Example:" msgstr "Ejemplo:" -#: ../Doc/library/collections.rst:618 +#: ../Doc/library/collections.rst:621 msgid ":class:`deque` Recipes" msgstr "Recetas :class:`deque`" -#: ../Doc/library/collections.rst:620 +#: ../Doc/library/collections.rst:623 msgid "This section shows various approaches to working with deques." msgstr "Esta sección muestra varios enfoques para trabajar con deques." -#: ../Doc/library/collections.rst:622 +#: ../Doc/library/collections.rst:625 msgid "" "Bounded length deques provide functionality similar to the ``tail`` filter " "in Unix::" @@ -862,7 +866,7 @@ msgstr "" "Los deques de longitud limitada proporcionan una funcionalidad similar al " "filtro ``tail`` en Unix::" -#: ../Doc/library/collections.rst:630 +#: ../Doc/library/collections.rst:633 msgid "" "Another approach to using deques is to maintain a sequence of recently added " "elements by appending to the right and popping to the left::" @@ -871,7 +875,7 @@ msgstr "" "agregados recientemente haciendo appending a la derecha y popping a la " "izquierda:" -#: ../Doc/library/collections.rst:645 +#: ../Doc/library/collections.rst:648 msgid "" "A `round-robin scheduler `_ can be implemented with input iterators stored in a :" @@ -887,7 +891,7 @@ msgstr "" "con :meth:`~deque.popleft`; de lo contrario, se puede volver en ciclos al " "final con el método :meth:`~deque.rotate` ::" -#: ../Doc/library/collections.rst:664 +#: ../Doc/library/collections.rst:667 msgid "" "The :meth:`~deque.rotate` method provides a way to implement :class:`deque` " "slicing and deletion. For example, a pure Python implementation of ``del " @@ -898,7 +902,7 @@ msgstr "" "pura de Python de ``del d[n]`` se basa en el método ``rotate()`` para " "colocar los elementos que se van a extraer::" -#: ../Doc/library/collections.rst:673 +#: ../Doc/library/collections.rst:676 msgid "" "To implement :class:`deque` slicing, use a similar approach applying :meth:" "`~deque.rotate` to bring a target element to the left side of the deque. " @@ -915,11 +919,11 @@ msgstr "" "implementar manipulaciones de pila de estilo hacia adelante como ``dup``, " "``drop``, ``swap``, ``over``, ``pick``, ``rot``, y ``roll``." -#: ../Doc/library/collections.rst:683 +#: ../Doc/library/collections.rst:686 msgid ":class:`defaultdict` objects" msgstr "Objetos :class:`defaultdict`" -#: ../Doc/library/collections.rst:687 +#: ../Doc/library/collections.rst:690 msgid "" "Returns a new dictionary-like object. :class:`defaultdict` is a subclass of " "the built-in :class:`dict` class. It overrides one method and adds one " @@ -931,7 +935,7 @@ msgstr "" "una variable de instancia de escritura. La funcionalidad restante es la " "misma que para la clase :class:`dict` y no está documentada aquí." -#: ../Doc/library/collections.rst:692 +#: ../Doc/library/collections.rst:695 msgid "" "The first argument provides the initial value for the :attr:" "`default_factory` attribute; it defaults to ``None``. All remaining " @@ -943,7 +947,7 @@ msgstr "" "se tratan de la misma forma que si se pasaran al constructor :class:`dict`, " "incluidos los argumentos de palabras clave." -#: ../Doc/library/collections.rst:698 +#: ../Doc/library/collections.rst:701 msgid "" ":class:`defaultdict` objects support the following method in addition to the " "standard :class:`dict` operations:" @@ -951,7 +955,7 @@ msgstr "" "Los objetos :class:`defaultdict` admiten el siguiente método además de las " "operaciones estándar de :class:`dict`:" -#: ../Doc/library/collections.rst:703 +#: ../Doc/library/collections.rst:706 msgid "" "If the :attr:`default_factory` attribute is ``None``, this raises a :exc:" "`KeyError` exception with the *key* as argument." @@ -959,7 +963,7 @@ msgstr "" "Si el atributo :attr:`default_factory` es ``None``, lanza una excepción :exc:" "`KeyError` con la *llave* como argumento." -#: ../Doc/library/collections.rst:706 +#: ../Doc/library/collections.rst:709 msgid "" "If :attr:`default_factory` is not ``None``, it is called without arguments " "to provide a default value for the given *key*, this value is inserted in " @@ -969,7 +973,7 @@ msgstr "" "proporcionar un valor predeterminado para la *llave* dada, este valor se " "inserta en el diccionario para la *llave* y se retorna." -#: ../Doc/library/collections.rst:710 +#: ../Doc/library/collections.rst:713 msgid "" "If calling :attr:`default_factory` raises an exception this exception is " "propagated unchanged." @@ -977,7 +981,7 @@ msgstr "" "Si llamar a :attr:`default_factory` lanza una excepción, esta excepción se " "propaga sin cambios." -#: ../Doc/library/collections.rst:713 +#: ../Doc/library/collections.rst:716 msgid "" "This method is called by the :meth:`__getitem__` method of the :class:`dict` " "class when the requested key is not found; whatever it returns or raises is " @@ -987,7 +991,7 @@ msgstr "" "`dict` cuando no se encuentra la llave solicitada; todo lo que retorna o " "lanza es retornado o lanzado por :meth:`__getitem__`." -#: ../Doc/library/collections.rst:717 +#: ../Doc/library/collections.rst:720 msgid "" "Note that :meth:`__missing__` is *not* called for any operations besides :" "meth:`__getitem__`. This means that :meth:`get` will, like normal " @@ -999,12 +1003,12 @@ msgstr "" "diccionarios normales, retornará ``None`` por defecto en lugar de usar :attr:" "`default_factory`." -#: ../Doc/library/collections.rst:723 +#: ../Doc/library/collections.rst:726 msgid ":class:`defaultdict` objects support the following instance variable:" msgstr "" "los objetos :class:`defaultdict` admiten la siguiente variable de instancia:" -#: ../Doc/library/collections.rst:728 +#: ../Doc/library/collections.rst:731 msgid "" "This attribute is used by the :meth:`__missing__` method; it is initialized " "from the first argument to the constructor, if present, or to ``None``, if " @@ -1014,11 +1018,16 @@ msgstr "" "desde el primer argumento al constructor, si está presente, o en ``None``, " "si está ausente." -#: ../Doc/library/collections.rst:734 +#: ../Doc/library/collections.rst:735 ../Doc/library/collections.rst:1132 +msgid "" +"Added merge (``|``) and update (``|=``) operators, specified in :pep:`584`." +msgstr "" + +#: ../Doc/library/collections.rst:741 msgid ":class:`defaultdict` Examples" msgstr "Ejemplos :class:`defaultdict`" -#: ../Doc/library/collections.rst:736 +#: ../Doc/library/collections.rst:743 msgid "" "Using :class:`list` as the :attr:`~defaultdict.default_factory`, it is easy " "to group a sequence of key-value pairs into a dictionary of lists:" @@ -1026,7 +1035,7 @@ msgstr "" "Usando :class:`list` como :attr:`~defaultdict.default_factory`, es fácil " "agrupar una secuencia de pares llave-valor en un diccionario de listas:" -#: ../Doc/library/collections.rst:747 +#: ../Doc/library/collections.rst:754 msgid "" "When each key is encountered for the first time, it is not already in the " "mapping; so an entry is automatically created using the :attr:`~defaultdict." @@ -1046,7 +1055,7 @@ msgstr "" "agrega otro valor a la lista. Esta técnica es más simple y rápida que una " "técnica equivalente usando :meth:`dict.setdefault`:" -#: ../Doc/library/collections.rst:762 +#: ../Doc/library/collections.rst:769 msgid "" "Setting the :attr:`~defaultdict.default_factory` to :class:`int` makes the :" "class:`defaultdict` useful for counting (like a bag or multiset in other " @@ -1056,7 +1065,7 @@ msgstr "" "class:`defaultdict` sea útil para contar (como un bag o multiconjunto en " "otros idiomas):" -#: ../Doc/library/collections.rst:774 +#: ../Doc/library/collections.rst:781 msgid "" "When a letter is first encountered, it is missing from the mapping, so the :" "attr:`~defaultdict.default_factory` function calls :func:`int` to supply a " @@ -1068,7 +1077,7 @@ msgstr "" "proporcionar una cuenta predeterminada de cero. La operación de incremento " "luego acumula el conteo de cada letra." -#: ../Doc/library/collections.rst:778 +#: ../Doc/library/collections.rst:785 msgid "" "The function :func:`int` which always returns zero is just a special case of " "constant functions. A faster and more flexible way to create constant " @@ -1080,7 +1089,7 @@ msgstr "" "constantes es utilizar una función lambda que pueda proporcionar cualquier " "valor constante (no solo cero):" -#: ../Doc/library/collections.rst:790 +#: ../Doc/library/collections.rst:797 msgid "" "Setting the :attr:`~defaultdict.default_factory` to :class:`set` makes the :" "class:`defaultdict` useful for building a dictionary of sets:" @@ -1088,12 +1097,12 @@ msgstr "" "Establecer :attr:`~defaultdict.default_factory` en :class:`set` hace que :" "class:`defaultdict` sea útil para construir un diccionario de conjuntos:" -#: ../Doc/library/collections.rst:803 +#: ../Doc/library/collections.rst:810 msgid ":func:`namedtuple` Factory Function for Tuples with Named Fields" msgstr "" ":func:`namedtuple` Funciones *Factory* para Tuplas y Campos con Nombres" -#: ../Doc/library/collections.rst:805 +#: ../Doc/library/collections.rst:812 msgid "" "Named tuples assign meaning to each position in a tuple and allow for more " "readable, self-documenting code. They can be used wherever regular tuples " @@ -1105,7 +1114,7 @@ msgstr "" "usen tuplas regulares y agregan la capacidad de acceder a los campos por " "nombre en lugar del índice de posición." -#: ../Doc/library/collections.rst:811 +#: ../Doc/library/collections.rst:818 msgid "" "Returns a new tuple subclass named *typename*. The new subclass is used to " "create tuple-like objects that have fields accessible by attribute lookup as " @@ -1120,7 +1129,7 @@ msgstr "" "y un método útil :meth:`__repr__` que lista el contenido de la tupla en un " "formato de ``nombre=valor``." -#: ../Doc/library/collections.rst:817 +#: ../Doc/library/collections.rst:824 msgid "" "The *field_names* are a sequence of strings such as ``['x', 'y']``. " "Alternatively, *field_names* can be a single string with each fieldname " @@ -1131,7 +1140,7 @@ msgstr "" "nombre de campo separado por espacios en blanco y/o comas, por ejemplo ``’x " "y’`` or ``’x, y’``." -#: ../Doc/library/collections.rst:821 +#: ../Doc/library/collections.rst:828 msgid "" "Any valid Python identifier may be used for a fieldname except for names " "starting with an underscore. Valid identifiers consist of letters, digits, " @@ -1144,7 +1153,7 @@ msgstr "" "comienzan con un dígito o guion bajo y no pueden ser :mod:`keyword` como " "*class*, *for*, *return*, *global*, *pass*, o *raise*." -#: ../Doc/library/collections.rst:827 +#: ../Doc/library/collections.rst:834 msgid "" "If *rename* is true, invalid fieldnames are automatically replaced with " "positional names. For example, ``['abc', 'def', 'ghi', 'abc']`` is " @@ -1156,7 +1165,7 @@ msgstr "" "‘ghi’, ‘abc’]`` se convierte en ``[‘abc’, ‘_1’, ‘ghi’, ‘_3’]``, eliminando " "la palabra clave ``def`` y el nombre de campo duplicado ``abc``." -#: ../Doc/library/collections.rst:832 +#: ../Doc/library/collections.rst:839 msgid "" "*defaults* can be ``None`` or an :term:`iterable` of default values. Since " "fields with a default value must come after any fields without a default, " @@ -1173,7 +1182,7 @@ msgstr "" "``(1, 2)``, entonces ``x`` será un argumento obligatorio, ``y`` tendrá el " "valor predeterminado de ``1``, y ``z`` el valor predeterminado de ``2``." -#: ../Doc/library/collections.rst:839 +#: ../Doc/library/collections.rst:846 msgid "" "If *module* is defined, the ``__module__`` attribute of the named tuple is " "set to that value." @@ -1181,7 +1190,7 @@ msgstr "" "Si se define *module*, el atributo ``__module__`` de la tupla nombrada se " "establece en ese valor." -#: ../Doc/library/collections.rst:842 +#: ../Doc/library/collections.rst:849 msgid "" "Named tuple instances do not have per-instance dictionaries, so they are " "lightweight and require no more memory than regular tuples." @@ -1189,11 +1198,17 @@ msgstr "" "Las instancias de tuplas con nombre no tienen diccionarios por instancia, " "por lo que son livianas y no requieren más memoria que las tuplas normales." -#: ../Doc/library/collections.rst:845 +#: ../Doc/library/collections.rst:852 +msgid "" +"To support pickling, the named tuple class should be assigned to a variable " +"that matches *typename*." +msgstr "" + +#: ../Doc/library/collections.rst:855 msgid "Added support for *rename*." msgstr "Se agregó soporte para *rename*." -#: ../Doc/library/collections.rst:848 +#: ../Doc/library/collections.rst:858 msgid "" "The *verbose* and *rename* parameters became :ref:`keyword-only arguments " "`." @@ -1201,21 +1216,21 @@ msgstr "" "Los parámetros *verbose* y *rename* se convirtieron en :ref:`argumentos de " "solo palabra clave `." -#: ../Doc/library/collections.rst:852 +#: ../Doc/library/collections.rst:862 msgid "Added the *module* parameter." msgstr "Se agregó el parámetro *module*." -#: ../Doc/library/collections.rst:855 +#: ../Doc/library/collections.rst:865 msgid "Removed the *verbose* parameter and the :attr:`_source` attribute." msgstr "Se eliminaron el parámetro *verbose* y el atributo :attr:`_source`." -#: ../Doc/library/collections.rst:858 +#: ../Doc/library/collections.rst:868 msgid "" "Added the *defaults* parameter and the :attr:`_field_defaults` attribute." msgstr "" "Se agregaron el parámetro *defaults* y él atributo :attr:`_field_defaults`." -#: ../Doc/library/collections.rst:878 +#: ../Doc/library/collections.rst:888 msgid "" "Named tuples are especially useful for assigning field names to result " "tuples returned by the :mod:`csv` or :mod:`sqlite3` modules::" @@ -1224,7 +1239,7 @@ msgstr "" "a las tuplas de resultado retornadas por los módulos :mod:`csv` o :mod:" "`sqlite3`::" -#: ../Doc/library/collections.rst:894 +#: ../Doc/library/collections.rst:904 msgid "" "In addition to the methods inherited from tuples, named tuples support three " "additional methods and two attributes. To prevent conflicts with field " @@ -1235,14 +1250,14 @@ msgstr "" "nombres de campo, los nombres de método y atributo comienzan con un guión " "bajo." -#: ../Doc/library/collections.rst:900 +#: ../Doc/library/collections.rst:910 msgid "" "Class method that makes a new instance from an existing sequence or iterable." msgstr "" "Método de clase que crea una nueva instancia a partir de una secuencia " "existente o iterable." -#: ../Doc/library/collections.rst:910 +#: ../Doc/library/collections.rst:920 msgid "" "Return a new :class:`dict` which maps field names to their corresponding " "values:" @@ -1250,11 +1265,11 @@ msgstr "" "Retorna un nuevo :class:`dict` que asigna los nombres de los campos a sus " "valores correspondientes:" -#: ../Doc/library/collections.rst:919 +#: ../Doc/library/collections.rst:929 msgid "Returns an :class:`OrderedDict` instead of a regular :class:`dict`." msgstr "Retorna un :class:`OrderedDict` en lugar de un :class:`dict` regular." -#: ../Doc/library/collections.rst:922 +#: ../Doc/library/collections.rst:932 msgid "" "Returns a regular :class:`dict` instead of an :class:`OrderedDict`. As of " "Python 3.7, regular dicts are guaranteed to be ordered. If the extra " @@ -1267,7 +1282,7 @@ msgstr "" "corrección sugerida es emitir el resultado al tipo deseado: ``OrderedDict(nt." "_asdict())``." -#: ../Doc/library/collections.rst:931 +#: ../Doc/library/collections.rst:941 msgid "" "Return a new instance of the named tuple replacing specified fields with new " "values::" @@ -1275,7 +1290,7 @@ msgstr "" "Retorna una nueva instancia de la tupla nombrada reemplazando los campos " "especificados con nuevos valores::" -#: ../Doc/library/collections.rst:943 +#: ../Doc/library/collections.rst:953 msgid "" "Tuple of strings listing the field names. Useful for introspection and for " "creating new named tuple types from existing named tuples." @@ -1284,11 +1299,11 @@ msgstr "" "introspección y para crear nuevos tipos de tuplas con nombre a partir de " "tuplas con nombre existentes." -#: ../Doc/library/collections.rst:958 +#: ../Doc/library/collections.rst:968 msgid "Dictionary mapping field names to default values." msgstr "Diccionario de nombres de campos mapeados a valores predeterminados." -#: ../Doc/library/collections.rst:968 +#: ../Doc/library/collections.rst:978 msgid "" "To retrieve a field whose name is stored in a string, use the :func:" "`getattr` function:" @@ -1296,7 +1311,7 @@ msgstr "" "Para recuperar un campo cuyo nombre está almacenado en una cadena, use la " "función :func:`getattr`:" -#: ../Doc/library/collections.rst:974 +#: ../Doc/library/collections.rst:984 msgid "" "To convert a dictionary to a named tuple, use the double-star-operator (as " "described in :ref:`tut-unpacking-arguments`):" @@ -1304,7 +1319,7 @@ msgstr "" "Para convertir un diccionario en una tupla con nombre, use el operador de " "doble estrella (como se describe en :ref:`tut-unpacking-arguments`):" -#: ../Doc/library/collections.rst:981 +#: ../Doc/library/collections.rst:991 msgid "" "Since a named tuple is a regular Python class, it is easy to add or change " "functionality with a subclass. Here is how to add a calculated field and a " @@ -1314,7 +1329,7 @@ msgstr "" "cambiar la funcionalidad con una subclase. A continuación, se explica cómo " "agregar un campo calculado y un formato de impresión de ancho fijo:" -#: ../Doc/library/collections.rst:1000 +#: ../Doc/library/collections.rst:1010 msgid "" "The subclass shown above sets ``__slots__`` to an empty tuple. This helps " "keep memory requirements low by preventing the creation of instance " @@ -1324,7 +1339,7 @@ msgstr "" "Esto ayuda a mantener bajos los requisitos de memoria al evitar la creación " "de diccionarios de instancia." -#: ../Doc/library/collections.rst:1003 +#: ../Doc/library/collections.rst:1013 msgid "" "Subclassing is not useful for adding new, stored fields. Instead, simply " "create a new named tuple type from the :attr:`~somenamedtuple._fields` " @@ -1334,7 +1349,7 @@ msgstr "" "lugar, simplemente cree un nuevo tipo de tupla con nombre a partir del " "atributo :attr:`~somenamedtuple._fields`:" -#: ../Doc/library/collections.rst:1008 +#: ../Doc/library/collections.rst:1018 msgid "" "Docstrings can be customized by making direct assignments to the ``__doc__`` " "fields:" @@ -1342,11 +1357,11 @@ msgstr "" "Los docstrings se pueden personalizar realizando asignaciones directas a los " "campos ``__doc__`` :" -#: ../Doc/library/collections.rst:1017 +#: ../Doc/library/collections.rst:1027 msgid "Property docstrings became writeable." msgstr "Los docstrings de propiedad se pueden escribir." -#: ../Doc/library/collections.rst:1022 +#: ../Doc/library/collections.rst:1032 msgid "" "See :class:`typing.NamedTuple` for a way to add type hints for named " "tuples. It also provides an elegant notation using the :keyword:`class` " @@ -1356,7 +1371,7 @@ msgstr "" "sugerencias de tipo para tuplas con nombre. También proporciona una notación " "elegante usando la palabra clave :keyword:`class`::" -#: ../Doc/library/collections.rst:1031 +#: ../Doc/library/collections.rst:1041 msgid "" "See :meth:`types.SimpleNamespace` for a mutable namespace based on an " "underlying dictionary instead of a tuple." @@ -1364,7 +1379,7 @@ msgstr "" "Vea :meth:`types.SimpleNamespace` para un espacio de nombres mutable basado " "en un diccionario subyacente en lugar de una tupla." -#: ../Doc/library/collections.rst:1034 +#: ../Doc/library/collections.rst:1044 msgid "" "The :mod:`dataclasses` module provides a decorator and functions for " "automatically adding generated special methods to user-defined classes." @@ -1373,11 +1388,11 @@ msgstr "" "agregar automáticamente métodos especiales generados a clases definidas por " "el usuario." -#: ../Doc/library/collections.rst:1039 +#: ../Doc/library/collections.rst:1049 msgid ":class:`OrderedDict` objects" msgstr "Objetos :class:`OrderedDict`" -#: ../Doc/library/collections.rst:1041 +#: ../Doc/library/collections.rst:1051 msgid "" "Ordered dictionaries are just like regular dictionaries but have some extra " "capabilities relating to ordering operations. They have become less " @@ -1390,11 +1405,11 @@ msgstr "" "class:`dict` ganó la capacidad de recordar el orden de inserción (este nuevo " "comportamiento quedó garantizado en Python 3.7)." -#: ../Doc/library/collections.rst:1047 +#: ../Doc/library/collections.rst:1057 msgid "Some differences from :class:`dict` still remain:" msgstr "Aún quedan algunas diferencias con :class:`dict` :" -#: ../Doc/library/collections.rst:1049 +#: ../Doc/library/collections.rst:1059 msgid "" "The regular :class:`dict` was designed to be very good at mapping " "operations. Tracking insertion order was secondary." @@ -1402,7 +1417,7 @@ msgstr "" "El :class:`dict` normal fue diseñado para ser muy bueno en operaciones de " "mapeo. El seguimiento del pedido de inserción era secundario." -#: ../Doc/library/collections.rst:1052 +#: ../Doc/library/collections.rst:1062 msgid "" "The :class:`OrderedDict` was designed to be good at reordering operations. " "Space efficiency, iteration speed, and the performance of update operations " @@ -1412,7 +1427,7 @@ msgstr "" "operaciones. La eficiencia del espacio, la velocidad de iteración y el " "rendimiento de las operaciones de actualización fueron secundarios." -#: ../Doc/library/collections.rst:1056 +#: ../Doc/library/collections.rst:1066 msgid "" "Algorithmically, :class:`OrderedDict` can handle frequent reordering " "operations better than :class:`dict`. This makes it suitable for tracking " @@ -1424,14 +1439,14 @@ msgstr "" "rastrear accesos recientes (por ejemplo, en un `cache LRU `_)." -#: ../Doc/library/collections.rst:1061 +#: ../Doc/library/collections.rst:1071 msgid "" "The equality operation for :class:`OrderedDict` checks for matching order." msgstr "" "La operación de igualdad para :class:`OrderedDict` comprueba el orden " "coincidente." -#: ../Doc/library/collections.rst:1063 +#: ../Doc/library/collections.rst:1073 msgid "" "The :meth:`popitem` method of :class:`OrderedDict` has a different " "signature. It accepts an optional argument to specify which item is popped." @@ -1439,7 +1454,7 @@ msgstr "" "El método :meth:`popitem` de :class:`OrderedDict` tiene una firma diferente. " "Acepta un argumento opcional para especificar qué elemento es *popped*." -#: ../Doc/library/collections.rst:1066 +#: ../Doc/library/collections.rst:1076 msgid "" ":class:`OrderedDict` has a :meth:`move_to_end` method to efficiently " "reposition an element to an endpoint." @@ -1447,12 +1462,12 @@ msgstr "" ":class:`OrderedDict` tiene un método :meth:`move_to_end` para reposiciones " "eficientemente un elemento a un punto final." -#: ../Doc/library/collections.rst:1069 +#: ../Doc/library/collections.rst:1079 msgid "Until Python 3.8, :class:`dict` lacked a :meth:`__reversed__` method." msgstr "" "Hasta Python 3.8, :class:`dict` carecía de un método :meth:`__reversed__`." -#: ../Doc/library/collections.rst:1074 +#: ../Doc/library/collections.rst:1084 msgid "" "Return an instance of a :class:`dict` subclass that has methods specialized " "for rearranging dictionary order." @@ -1460,7 +1475,7 @@ msgstr "" "Retorna una instancia de una subclase :class:`dict` que tiene métodos " "especializados para reorganizar el orden del diccionario." -#: ../Doc/library/collections.rst:1081 +#: ../Doc/library/collections.rst:1091 msgid "" "The :meth:`popitem` method for ordered dictionaries returns and removes a " "(key, value) pair. The pairs are returned in :abbr:`LIFO (last-in, first-" @@ -1472,7 +1487,7 @@ msgstr "" "first-out)` si el *último* es verdadero o en orden :abbr:`FIFO (first-in, " "first-out)` si es falso." -#: ../Doc/library/collections.rst:1088 +#: ../Doc/library/collections.rst:1098 msgid "" "Move an existing *key* to either end of an ordered dictionary. The item is " "moved to the right end if *last* is true (the default) or to the beginning " @@ -1483,7 +1498,7 @@ msgstr "" "valor predeterminado) o al principio si el *último* es falso. Lanza :exc:" "`KeyError` si la *llave* no existe::" -#: ../Doc/library/collections.rst:1103 +#: ../Doc/library/collections.rst:1113 msgid "" "In addition to the usual mapping methods, ordered dictionaries also support " "reverse iteration using :func:`reversed`." @@ -1491,7 +1506,7 @@ msgstr "" "Además de los métodos de mapeo habituales, los diccionarios ordenados " "también admiten la iteración inversa usando :func:`reversed`." -#: ../Doc/library/collections.rst:1106 +#: ../Doc/library/collections.rst:1116 msgid "" "Equality tests between :class:`OrderedDict` objects are order-sensitive and " "are implemented as ``list(od1.items())==list(od2.items())``. Equality tests " @@ -1507,7 +1522,7 @@ msgstr "" "diccionarios normales. Esto permite que los objetos :class:`OrderedDict` " "sean sustituidos en cualquier lugar donde se utilice un diccionario normal." -#: ../Doc/library/collections.rst:1113 +#: ../Doc/library/collections.rst:1123 msgid "" "The items, keys, and values :term:`views ` of :class:" "`OrderedDict` now support reverse iteration using :func:`reversed`." @@ -1515,7 +1530,7 @@ msgstr "" "Los elementos, llaves y valores :term:`vistas ` de :class:" "`OrderedDict` ahora admiten la iteración inversa usando :func:`reversed`." -#: ../Doc/library/collections.rst:1117 +#: ../Doc/library/collections.rst:1127 msgid "" "With the acceptance of :pep:`468`, order is retained for keyword arguments " "passed to the :class:`OrderedDict` constructor and its :meth:`update` method." @@ -1524,11 +1539,11 @@ msgstr "" "palabras clave pasados al constructor :class:`OrderedDict` y su método :meth:" "`update`." -#: ../Doc/library/collections.rst:1123 +#: ../Doc/library/collections.rst:1137 msgid ":class:`OrderedDict` Examples and Recipes" msgstr "Ejemplos y Recetas :class:`OrderedDict`" -#: ../Doc/library/collections.rst:1125 +#: ../Doc/library/collections.rst:1139 msgid "" "It is straightforward to create an ordered dictionary variant that remembers " "the order the keys were *last* inserted. If a new entry overwrites an " @@ -1540,7 +1555,7 @@ msgstr "" "sobrescribe una entrada existente, la posición de inserción original se " "cambia y se mueve al final::" -#: ../Doc/library/collections.rst:1137 +#: ../Doc/library/collections.rst:1151 msgid "" "An :class:`OrderedDict` would also be useful for implementing variants of :" "func:`functools.lru_cache`::" @@ -1548,11 +1563,11 @@ msgstr "" "U :class:`OrderedDict` también sería útil para implementar variantes de :" "func:`functools.lru_cache`::" -#: ../Doc/library/collections.rst:1160 +#: ../Doc/library/collections.rst:1176 msgid ":class:`UserDict` objects" msgstr "Objetos :class:`UserDict`" -#: ../Doc/library/collections.rst:1162 +#: ../Doc/library/collections.rst:1178 msgid "" "The class, :class:`UserDict` acts as a wrapper around dictionary objects. " "The need for this class has been partially supplanted by the ability to " @@ -1565,7 +1580,7 @@ msgstr "" "`dict`; sin embargo, es más fácil trabajar con esta clase porque se puede " "acceder al diccionario subyacente como un atributo." -#: ../Doc/library/collections.rst:1170 +#: ../Doc/library/collections.rst:1186 msgid "" "Class that simulates a dictionary. The instance's contents are kept in a " "regular dictionary, which is accessible via the :attr:`data` attribute of :" @@ -1580,7 +1595,7 @@ msgstr "" "que no se mantendrá una referencia a *initialdata*, lo que permite que se " "utilice para otros fines." -#: ../Doc/library/collections.rst:1176 +#: ../Doc/library/collections.rst:1192 msgid "" "In addition to supporting the methods and operations of mappings, :class:" "`UserDict` instances provide the following attribute:" @@ -1588,18 +1603,18 @@ msgstr "" "Además de admitir los métodos y operaciones de los mappings, las instancias :" "class:`UserDict` proporcionan el siguiente atributo:" -#: ../Doc/library/collections.rst:1181 +#: ../Doc/library/collections.rst:1197 msgid "" "A real dictionary used to store the contents of the :class:`UserDict` class." msgstr "" "Un diccionario real utilizado para almacenar el contenido de la clase :class:" "`UserDict` ." -#: ../Doc/library/collections.rst:1187 +#: ../Doc/library/collections.rst:1203 msgid ":class:`UserList` objects" msgstr "Objetos :class:`UserList`" -#: ../Doc/library/collections.rst:1189 +#: ../Doc/library/collections.rst:1205 msgid "" "This class acts as a wrapper around list objects. It is a useful base class " "for your own list-like classes which can inherit from them and override " @@ -1611,7 +1626,7 @@ msgstr "" "ellas y anular métodos existentes o agregar nuevos. De esta forma, se pueden " "agregar nuevos comportamientos a las listas." -#: ../Doc/library/collections.rst:1194 +#: ../Doc/library/collections.rst:1210 msgid "" "The need for this class has been partially supplanted by the ability to " "subclass directly from :class:`list`; however, this class can be easier to " @@ -1622,7 +1637,7 @@ msgstr "" "fácil trabajar con esta clase porque se puede acceder a la lista subyacente " "como atributo." -#: ../Doc/library/collections.rst:1200 +#: ../Doc/library/collections.rst:1216 msgid "" "Class that simulates a list. The instance's contents are kept in a regular " "list, which is accessible via the :attr:`data` attribute of :class:" @@ -1637,7 +1652,7 @@ msgstr "" "*list* puede ser cualquier iterable, por ejemplo, una lista de Python real o " "un objeto :class:`UserList`." -#: ../Doc/library/collections.rst:1206 +#: ../Doc/library/collections.rst:1222 msgid "" "In addition to supporting the methods and operations of mutable sequences, :" "class:`UserList` instances provide the following attribute:" @@ -1645,7 +1660,7 @@ msgstr "" "Además de admitir los métodos y operaciones de secuencias mutables, las " "instancias :class:`UserList` proporcionan el siguiente atributo:" -#: ../Doc/library/collections.rst:1211 +#: ../Doc/library/collections.rst:1227 msgid "" "A real :class:`list` object used to store the contents of the :class:" "`UserList` class." @@ -1653,7 +1668,7 @@ msgstr "" "Un objeto real :class:`list` usado para almacenar el contenido de la clase :" "class:`UserList` ." -#: ../Doc/library/collections.rst:1214 +#: ../Doc/library/collections.rst:1230 #, fuzzy msgid "" "**Subclassing requirements:** Subclasses of :class:`UserList` are expected " @@ -1670,7 +1685,7 @@ msgstr "" "Para hacerlo, asume que se puede llamar al constructor con un solo " "parámetro, que es un objeto de secuencia utilizado como fuente de datos." -#: ../Doc/library/collections.rst:1221 +#: ../Doc/library/collections.rst:1237 msgid "" "If a derived class does not wish to comply with this requirement, all of the " "special methods supported by this class will need to be overridden; please " @@ -1682,11 +1697,11 @@ msgstr "" "fuentes para obtener información sobre los métodos que deben proporcionarse " "en ese caso." -#: ../Doc/library/collections.rst:1227 +#: ../Doc/library/collections.rst:1243 msgid ":class:`UserString` objects" msgstr "Objetos :class:`UserString`" -#: ../Doc/library/collections.rst:1229 +#: ../Doc/library/collections.rst:1245 msgid "" "The class, :class:`UserString` acts as a wrapper around string objects. The " "need for this class has been partially supplanted by the ability to subclass " @@ -1699,7 +1714,7 @@ msgstr "" "sin embargo, es más fácil trabajar con esta clase porque se puede acceder a " "la cadena subyacente como atributo." -#: ../Doc/library/collections.rst:1237 +#: ../Doc/library/collections.rst:1253 msgid "" "Class that simulates a string object. The instance's content is kept in a " "regular string object, which is accessible via the :attr:`data` attribute " @@ -1714,7 +1729,7 @@ msgstr "" "*seq* puede ser cualquier objeto que se pueda convertir en una cadena usando " "la función incorporada :func:`str`." -#: ../Doc/library/collections.rst:1244 +#: ../Doc/library/collections.rst:1260 msgid "" "In addition to supporting the methods and operations of strings, :class:" "`UserString` instances provide the following attribute:" @@ -1722,7 +1737,7 @@ msgstr "" "Además de admitir los métodos y operaciones de cadenas, las instancias :" "class:`UserString` proporcionan el siguiente atributo:" -#: ../Doc/library/collections.rst:1249 +#: ../Doc/library/collections.rst:1265 msgid "" "A real :class:`str` object used to store the contents of the :class:" "`UserString` class." @@ -1730,7 +1745,7 @@ msgstr "" "Un objeto real :class:`str` usado para almacenar el contenido de la clase :" "class:`UserString`." -#: ../Doc/library/collections.rst:1252 +#: ../Doc/library/collections.rst:1268 msgid "" "New methods ``__getnewargs__``, ``__rmod__``, ``casefold``, ``format_map``, " "``isprintable``, and ``maketrans``." diff --git a/library/colorsys.po b/library/colorsys.po index f128bc0df5..48a0149166 100644 --- a/library/colorsys.po +++ b/library/colorsys.po @@ -1,23 +1,25 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. # Maintained by the python-doc-es workteam. -# docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ -# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers +# docs-es@python.org / +# https://mail.python.org/mailman3/lists/docs-es.python.org/ +# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get +# the list of volunteers # msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-06 11:59-0400\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-10-05 15:02+0200\n" +"Last-Translator: \n" +"Language: es_ES\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es_ES\n" -"X-Generator: Poedit 2.4.1\n" +"Generated-By: Babel 2.8.0\n" #: ../Doc/library/colorsys.rst:2 msgid ":mod:`colorsys` --- Conversions between color systems" @@ -49,8 +51,9 @@ msgstr "" "espacios, las coordenadas están todas entre 0 y 1." #: ../Doc/library/colorsys.rst:23 +#, fuzzy msgid "" -"More information about color spaces can be found at http://poynton.ca/" +"More information about color spaces can be found at https://poynton.ca/" "ColorFAQ.html and https://www.cambridgeincolour.com/tutorials/color-spaces." "htm." msgstr "" diff --git a/library/compileall.po b/library/compileall.po index 4a78110f0a..a88b0d92f1 100644 --- a/library/compileall.po +++ b/library/compileall.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-08-31 22:48-0300\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/compileall.rst:2 msgid ":mod:`compileall` --- Byte-compile Python libraries" @@ -105,7 +104,13 @@ msgstr "" "de seguimiento y otros mensajes en casos donde el archivo fuente no existe " "al momento en que el archivo de código de bytes se ejecuta." -#: ../Doc/library/compileall.rst:57 +#: ../Doc/library/compileall.rst:58 +msgid "" +"Remove (``-s``) or append (``-p``) the given prefix of paths recorded in the " +"``.pyc`` files. Cannot be combined with ``-d``." +msgstr "" + +#: ../Doc/library/compileall.rst:64 msgid "" "regex is used to search the full path to each file considered for " "compilation, and if the regex produces a match, the file is skipped." @@ -113,7 +118,7 @@ msgstr "" "regex se usa para buscar la ruta completa a cada archivo considerado para " "compilación, y si la regex produce una coincidencia, se omite el archivo." -#: ../Doc/library/compileall.rst:62 +#: ../Doc/library/compileall.rst:69 msgid "" "Read the file ``list`` and add each line that it contains to the list of " "files and directories to compile. If ``list`` is ``-``, read lines from " @@ -122,7 +127,7 @@ msgstr "" "Leer el archivo ``list`` y cada línea que contiene la lista de archivos y " "directorios a compilar. Si ``list`` es ``-``, leer líneas desde ``stdin``." -#: ../Doc/library/compileall.rst:68 +#: ../Doc/library/compileall.rst:75 msgid "" "Write the byte-code files to their legacy locations and names, which may " "overwrite byte-code files created by another version of Python. The default " @@ -135,7 +140,7 @@ msgstr "" "archivos en sus locaciones y nombres :pep:`3147`, lo cual permite que " "archivos de código de byte de versiones múltiples de Python coexistan." -#: ../Doc/library/compileall.rst:75 +#: ../Doc/library/compileall.rst:82 msgid "" "Control the maximum recursion level for subdirectories. If this is given, " "then ``-l`` option will not be taken into account. :program:`python -m " @@ -147,7 +152,7 @@ msgstr "" "compileall -r 0` es equivalente a :program:`python -m compileall " " -l`." -#: ../Doc/library/compileall.rst:82 +#: ../Doc/library/compileall.rst:89 msgid "" "Use *N* workers to compile the files within the given directory. If ``0`` is " "used, then the result of :func:`os.cpu_count()` will be used." @@ -155,7 +160,7 @@ msgstr "" "Usar *workers* *N* para compilar los archivos dentro del directorio dado. Si " "```0`` se usa, entonces se usa el resultado de :func:`os.cpu_count()`." -#: ../Doc/library/compileall.rst:88 +#: ../Doc/library/compileall.rst:95 msgid "" "Control how the generated byte-code files are invalidated at runtime. The " "``timestamp`` value, means that ``.pyc`` files with the source timestamp and " @@ -179,11 +184,28 @@ msgstr "" "``checked-hash`` si la variable de entorno `SOURCE_DATE_EPOCH`` está " "definida." -#: ../Doc/library/compileall.rst:99 +#: ../Doc/library/compileall.rst:108 +msgid "" +"Compile with the given optimization level. May be used multiple times to " +"compile for multiple levels at a time (for example, ``compileall -o 1 -o " +"2``)." +msgstr "" + +#: ../Doc/library/compileall.rst:114 +msgid "Ignore symlinks pointing outside the given directory." +msgstr "" + +#: ../Doc/library/compileall.rst:118 +msgid "" +"If two ``.pyc`` files with different optimization level have the same " +"content, use hard links to consolidate duplicate files." +msgstr "" + +#: ../Doc/library/compileall.rst:121 msgid "Added the ``-i``, ``-b`` and ``-h`` options." msgstr "Se agregaron las opciones ``-i``, ``-b`` y ``-h``." -#: ../Doc/library/compileall.rst:102 +#: ../Doc/library/compileall.rst:124 msgid "" "Added the ``-j``, ``-r``, and ``-qq`` options. ``-q`` option was changed " "to a multilevel value. ``-b`` will always produce a byte-code file ending " @@ -193,11 +215,18 @@ msgstr "" "cambió a un valor multinivel. ``-b`` siempre producirá un archivo de código " "de byte que termina en ``.pyc``, nunca ``.pyo``." -#: ../Doc/library/compileall.rst:107 +#: ../Doc/library/compileall.rst:129 msgid "Added the ``--invalidation-mode`` option." msgstr "Se agregó la opción ``--invalidation-mode``." -#: ../Doc/library/compileall.rst:111 +#: ../Doc/library/compileall.rst:132 +msgid "" +"Added the ``-s``, ``-p``, ``-e`` and ``--hardlink-dupes`` options. Raised " +"the default recursion limit from 10 to :py:func:`sys.getrecursionlimit()`. " +"Added the possibility to specify the ``-o`` option multiple times." +msgstr "" + +#: ../Doc/library/compileall.rst:139 msgid "" "There is no command-line option to control the optimization level used by " "the :func:`compile` function, because the Python interpreter itself already " @@ -207,7 +236,7 @@ msgstr "" "que usa la función :func:`compile` porque el intérprete de Python en sí " "mismo ya proporciona la opción: :program:`python -O -m compileall`." -#: ../Doc/library/compileall.rst:115 +#: ../Doc/library/compileall.rst:143 msgid "" "Similarly, the :func:`compile` function respects the :attr:`sys." "pycache_prefix` setting. The generated bytecode cache will only be useful " @@ -219,11 +248,11 @@ msgstr "" "func:`compile` se ejecuta con el mismo :attr:`sys.pycache_prefix` (si es que " "existe alguno) que se utilizará en el momento de ejecución." -#: ../Doc/library/compileall.rst:121 +#: ../Doc/library/compileall.rst:149 msgid "Public functions" msgstr "Funciones públicas" -#: ../Doc/library/compileall.rst:125 +#: ../Doc/library/compileall.rst:153 msgid "" "Recursively descend the directory tree named by *dir*, compiling all :file:`." "py` files along the way. Return a true value if all the files compiled " @@ -234,15 +263,16 @@ msgstr "" "Devolver un valor verdadero si todos los archivos se compilan exitosamente, " "y un valor falso en el caso contrario." -#: ../Doc/library/compileall.rst:129 +#: ../Doc/library/compileall.rst:157 +#, fuzzy msgid "" "The *maxlevels* parameter is used to limit the depth of the recursion; it " -"defaults to ``10``." +"defaults to ``sys.getrecursionlimit()``." msgstr "" "El parámetro *maxlevels* se usar para limitar la profundidad de la " "recursión; toma como valor predeterminado ``10``." -#: ../Doc/library/compileall.rst:132 +#: ../Doc/library/compileall.rst:160 msgid "" "If *ddir* is given, it is prepended to the path to each file being compiled " "for use in compilation time tracebacks, and is also compiled in to the byte-" @@ -256,7 +286,7 @@ msgstr "" "casos donde el archivo fuente no existe en el momento cuando el archivo de " "código de byte se ejecuta." -#: ../Doc/library/compileall.rst:138 +#: ../Doc/library/compileall.rst:166 msgid "" "If *force* is true, modules are re-compiled even if the timestamps are up to " "date." @@ -264,7 +294,7 @@ msgstr "" "Si *force* es verdadero, los módulos se re-compilan aun cuando las marcas de " "tiempo están actualizadas." -#: ../Doc/library/compileall.rst:141 +#: ../Doc/library/compileall.rst:169 msgid "" "If *rx* is given, its search method is called on the complete path to each " "file considered for compilation, and if it returns a true value, the file is " @@ -274,7 +304,7 @@ msgstr "" "considerado para compilación, y si devuelve un valor verdadero, el archivo " "se saltea." -#: ../Doc/library/compileall.rst:145 ../Doc/library/compileall.rst:209 +#: ../Doc/library/compileall.rst:173 ../Doc/library/compileall.rst:249 msgid "" "If *quiet* is ``False`` or ``0`` (the default), the filenames and other " "information are printed to standard out. Set to ``1``, only errors are " @@ -285,7 +315,7 @@ msgstr "" "en ``1``, solo se imprimen los errores. Si se configura en ``2``, se suprime " "toda la salida." -#: ../Doc/library/compileall.rst:149 ../Doc/library/compileall.rst:213 +#: ../Doc/library/compileall.rst:177 ../Doc/library/compileall.rst:253 msgid "" "If *legacy* is true, byte-code files are written to their legacy locations " "and names, which may overwrite byte-code files created by another version of " @@ -300,15 +330,18 @@ msgstr "" "cual permite que archivos de código de byte de múltiples versiones de Python " "coexistan." -#: ../Doc/library/compileall.rst:155 ../Doc/library/compileall.rst:219 +#: ../Doc/library/compileall.rst:183 ../Doc/library/compileall.rst:259 +#, fuzzy msgid "" "*optimize* specifies the optimization level for the compiler. It is passed " -"to the built-in :func:`compile` function." +"to the built-in :func:`compile` function. Accepts also a sequence of " +"optimization levels which lead to multiple compilations of one :file:`.py` " +"file in one call." msgstr "" "*optimize* especifica el nivel de optimización para el compilador. Se pasa a " "una función incorporada :func:`compile`." -#: ../Doc/library/compileall.rst:158 +#: ../Doc/library/compileall.rst:187 msgid "" "The argument *workers* specifies how many workers are used to compile files " "in parallel. The default is to not use multiple workers. If the platform " @@ -324,7 +357,7 @@ msgstr "" "*workers* es 0, el número de núcleos se usa en el sistema. Si *workers* es " "menor que ``0``, se genera un :exc:`ValueError`." -#: ../Doc/library/compileall.rst:165 ../Doc/library/compileall.rst:222 +#: ../Doc/library/compileall.rst:194 ../Doc/library/compileall.rst:263 msgid "" "*invalidation_mode* should be a member of the :class:`py_compile." "PycInvalidationMode` enum and controls how the generated pycs are " @@ -334,21 +367,35 @@ msgstr "" "`py_compile.PycInvalidationMode` y controla cómo se invalidan los pycs " "generados en el momento de ejecución." -#: ../Doc/library/compileall.rst:169 ../Doc/library/compileall.rst:251 +#: ../Doc/library/compileall.rst:198 ../Doc/library/compileall.rst:267 +msgid "" +"The *stripdir*, *prependdir* and *limit_sl_dest* arguments correspond to the " +"``-s``, ``-p`` and ``-e`` options described above. They may be specified as " +"``str``, ``bytes`` or :py:class:`os.PathLike`." +msgstr "" + +#: ../Doc/library/compileall.rst:202 ../Doc/library/compileall.rst:271 +msgid "" +"If *hardlink_dupes* is true and two ``.pyc`` files with different " +"optimization level have the same content, use hard links to consolidate " +"duplicate files." +msgstr "" + +#: ../Doc/library/compileall.rst:205 ../Doc/library/compileall.rst:302 msgid "Added the *legacy* and *optimize* parameter." msgstr "Se agregó el parámetro *legacy* y *optimize*." -#: ../Doc/library/compileall.rst:172 +#: ../Doc/library/compileall.rst:208 msgid "Added the *workers* parameter." msgstr "Se agregó el parámetro *workers*." -#: ../Doc/library/compileall.rst:175 ../Doc/library/compileall.rst:228 -#: ../Doc/library/compileall.rst:254 +#: ../Doc/library/compileall.rst:211 ../Doc/library/compileall.rst:276 +#: ../Doc/library/compileall.rst:305 msgid "*quiet* parameter was changed to a multilevel value." msgstr "El parámetro *quiet* se cambió a un valor multinivel." -#: ../Doc/library/compileall.rst:178 ../Doc/library/compileall.rst:231 -#: ../Doc/library/compileall.rst:257 +#: ../Doc/library/compileall.rst:214 ../Doc/library/compileall.rst:279 +#: ../Doc/library/compileall.rst:308 msgid "" "The *legacy* parameter only writes out ``.pyc`` files, not ``.pyo`` files no " "matter what the value of *optimize* is." @@ -356,27 +403,34 @@ msgstr "" "El parámetro *legacy* solo escribe archivos ``.pyc``, no archivos ``.pyo``, " "no import cuál sea el valor de *optimize*." -#: ../Doc/library/compileall.rst:182 +#: ../Doc/library/compileall.rst:218 msgid "Accepts a :term:`path-like object`." msgstr "Acepta un :term:`path-like object`." -#: ../Doc/library/compileall.rst:185 ../Doc/library/compileall.rst:235 -#: ../Doc/library/compileall.rst:261 +#: ../Doc/library/compileall.rst:221 ../Doc/library/compileall.rst:283 +#: ../Doc/library/compileall.rst:312 msgid "The *invalidation_mode* parameter was added." msgstr "Se agregó el parámetro *invalidation_mode*." -#: ../Doc/library/compileall.rst:188 ../Doc/library/compileall.rst:238 -#: ../Doc/library/compileall.rst:264 +#: ../Doc/library/compileall.rst:224 ../Doc/library/compileall.rst:286 +#: ../Doc/library/compileall.rst:315 msgid "The *invalidation_mode* parameter's default value is updated to None." msgstr "" "El valor predeterminado del parámetro *invalidation_mode* se actualiza a " "*None*." -#: ../Doc/library/compileall.rst:191 +#: ../Doc/library/compileall.rst:227 msgid "Setting *workers* to 0 now chooses the optimal number of cores." msgstr "Configurar *workers* a 0 ahora elige el número óptimo de núcleos." -#: ../Doc/library/compileall.rst:196 +#: ../Doc/library/compileall.rst:230 +msgid "" +"Added *stripdir*, *prependdir*, *limit_sl_dest* and *hardlink_dupes* " +"arguments. Default value of *maxlevels* was changed from ``10`` to ``sys." +"getrecursionlimit()``" +msgstr "" + +#: ../Doc/library/compileall.rst:236 msgid "" "Compile the file with path *fullname*. Return a true value if the file " "compiled successfully, and a false value otherwise." @@ -384,7 +438,7 @@ msgstr "" "Compilar el archivo con ruta *fullname*. Retorna un valor verdadero si el " "archivo se compila exitosamente, y uno falso en el caso contrario." -#: ../Doc/library/compileall.rst:199 +#: ../Doc/library/compileall.rst:239 msgid "" "If *ddir* is given, it is prepended to the path to the file being compiled " "for use in compilation time tracebacks, and is also compiled in to the byte-" @@ -398,7 +452,7 @@ msgstr "" "otros mensajes en casos donde el archivo fuente no existe en el momento en " "que el archivo de código de bytes es ejecutado." -#: ../Doc/library/compileall.rst:205 +#: ../Doc/library/compileall.rst:245 msgid "" "If *rx* is given, its search method is passed the full path name to the file " "being compiled, and if it returns a true value, the file is not compiled and " @@ -408,7 +462,13 @@ msgstr "" "hacia el archivo que está siendo compilado, y si devuelve un valor " "verdadero, el archivo no se compila y retorna ``True``." -#: ../Doc/library/compileall.rst:243 +#: ../Doc/library/compileall.rst:289 +msgid "" +"Added *stripdir*, *prependdir*, *limit_sl_dest* and *hardlink_dupes* " +"arguments." +msgstr "" + +#: ../Doc/library/compileall.rst:294 msgid "" "Byte-compile all the :file:`.py` files found along ``sys.path``. Return a " "true value if all the files compiled successfully, and a false value " @@ -418,7 +478,7 @@ msgstr "" "Retorna un valor verdadero si todos los archivos se compilan exitosamente, y " "uno falso en el caso contrario." -#: ../Doc/library/compileall.rst:246 +#: ../Doc/library/compileall.rst:297 msgid "" "If *skip_curdir* is true (the default), the current directory is not " "included in the search. All other parameters are passed to the :func:" @@ -431,10 +491,18 @@ msgstr "" "funciones de compilación, ``maxlevels`` tomar ``0`` como valor " "predeterminado." -#: ../Doc/library/compileall.rst:267 +#: ../Doc/library/compileall.rst:318 msgid "" "To force a recompile of all the :file:`.py` files in the :file:`Lib/` " "subdirectory and all its subdirectories::" msgstr "" "Para forzar la re-compilación del los archivos :file:`.py` en el " "subdirectorio :file:`Lib/` y todos sus subdirectorios::" + +#: ../Doc/library/compileall.rst:335 +msgid "Module :mod:`py_compile`" +msgstr "" + +#: ../Doc/library/compileall.rst:336 +msgid "Byte-compile a single source file." +msgstr "" diff --git a/library/concurrent.futures.po b/library/concurrent.futures.po index c14f81ad5e..000e57b56a 100644 --- a/library/concurrent.futures.po +++ b/library/concurrent.futures.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-06-28 16:00-0300\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"X-Generator: Poedit 2.3.1\n" -"Last-Translator: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Language: es\n" #: ../Doc/library/concurrent.futures.rst:2 msgid ":mod:`concurrent.futures` --- Launching parallel tasks" @@ -169,6 +168,20 @@ msgstr "" "futuros pendientes hayan finalizado su ejecución." #: ../Doc/library/concurrent.futures.rst:85 +msgid "" +"If *cancel_futures* is ``True``, this method will cancel all pending futures " +"that the executor has not started running. Any futures that are completed or " +"running won't be cancelled, regardless of the value of *cancel_futures*." +msgstr "" + +#: ../Doc/library/concurrent.futures.rst:90 +msgid "" +"If both *cancel_futures* and *wait* are ``True``, all futures that the " +"executor has started running will be completed prior to this method " +"returning. The remaining futures are cancelled." +msgstr "" + +#: ../Doc/library/concurrent.futures.rst:94 #, fuzzy msgid "" "You can avoid having to call this method explicitly if you use the :keyword:" @@ -180,11 +193,15 @@ msgstr "" "como si :meth:`Executor.shutdown` hubiera sido llamado con *wait* en " "``True``)::" -#: ../Doc/library/concurrent.futures.rst:99 +#: ../Doc/library/concurrent.futures.rst:106 +msgid "Added *cancel_futures*." +msgstr "" + +#: ../Doc/library/concurrent.futures.rst:111 msgid "ThreadPoolExecutor" msgstr "ThreadPoolExecutor" -#: ../Doc/library/concurrent.futures.rst:101 +#: ../Doc/library/concurrent.futures.rst:113 msgid "" ":class:`ThreadPoolExecutor` is an :class:`Executor` subclass that uses a " "pool of threads to execute calls asynchronously." @@ -192,7 +209,7 @@ msgstr "" ":class:`ThreadPoolExecutor` es una subclase de :class:`Executor` que usa un " "grupo de hilos para ejecutar llamadas de forma asincrónica." -#: ../Doc/library/concurrent.futures.rst:104 +#: ../Doc/library/concurrent.futures.rst:116 msgid "" "Deadlocks can occur when the callable associated with a :class:`Future` " "waits on the results of another :class:`Future`. For example::" @@ -200,11 +217,11 @@ msgstr "" "Pueden ocurrir bloqueos mutuos cuando la llamada asociada a un :class:" "`Future` espera el resultado de otro :class:`Future`. Por ejemplo::" -#: ../Doc/library/concurrent.futures.rst:123 +#: ../Doc/library/concurrent.futures.rst:135 msgid "And::" msgstr "Y::" -#: ../Doc/library/concurrent.futures.rst:137 +#: ../Doc/library/concurrent.futures.rst:149 msgid "" "An :class:`Executor` subclass that uses a pool of at most *max_workers* " "threads to execute calls asynchronously." @@ -212,7 +229,7 @@ msgstr "" "Subclase de :class:`Executor` que utiliza un grupo de hilos de *max_workers* " "como máximo para ejecutar llamadas de forma asincrónica." -#: ../Doc/library/concurrent.futures.rst:140 +#: ../Doc/library/concurrent.futures.rst:152 msgid "" "*initializer* is an optional callable that is called at the start of each " "worker thread; *initargs* is a tuple of arguments passed to the " @@ -227,7 +244,7 @@ msgstr "" "BrokenThreadPool`, así como cualquier intento de enviar más trabajos al " "grupo." -#: ../Doc/library/concurrent.futures.rst:146 +#: ../Doc/library/concurrent.futures.rst:158 msgid "" "If *max_workers* is ``None`` or not given, it will default to the number of " "processors on the machine, multiplied by ``5``, assuming that :class:" @@ -241,7 +258,7 @@ msgstr "" "de trabajo de CPU y que el numero de trabajadores debe ser mayor que el " "número de trabajadores para :class:`ProcessPoolExecutor`." -#: ../Doc/library/concurrent.futures.rst:154 +#: ../Doc/library/concurrent.futures.rst:166 msgid "" "The *thread_name_prefix* argument was added to allow users to control the :" "class:`threading.Thread` names for worker threads created by the pool for " @@ -251,12 +268,12 @@ msgstr "" "controlar los nombres asignados a los :class:`threading.Thread` creados por " "el grupo para facilitar la depuración del programa." -#: ../Doc/library/concurrent.futures.rst:159 -#: ../Doc/library/concurrent.futures.rst:252 +#: ../Doc/library/concurrent.futures.rst:171 +#: ../Doc/library/concurrent.futures.rst:265 msgid "Added the *initializer* and *initargs* arguments." msgstr "Se agregaron los argumentos *initializer* y *initargs*." -#: ../Doc/library/concurrent.futures.rst:162 +#: ../Doc/library/concurrent.futures.rst:174 msgid "" "Default value of *max_workers* is changed to ``min(32, os.cpu_count() + " "4)``. This default value preserves at least 5 workers for I/O bound tasks. " @@ -269,7 +286,7 @@ msgstr "" "núcleos de CPU para tareas vinculadas a la CPU que liberan el GIL. Y evita " "utilizar recursos muy grandes implícitamente en máquinas de muchos núcleos." -#: ../Doc/library/concurrent.futures.rst:168 +#: ../Doc/library/concurrent.futures.rst:180 msgid "" "ThreadPoolExecutor now reuses idle worker threads before starting " "*max_workers* worker threads too." @@ -277,22 +294,23 @@ msgstr "" "ThreadPoolExecutor ahora también reutiliza hilos inactivos antes de crear " "*max_workers* hilos de trabajo." -#: ../Doc/library/concurrent.futures.rst:175 +#: ../Doc/library/concurrent.futures.rst:187 msgid "ThreadPoolExecutor Example" msgstr "Ejemplo de ThreadPoolExecutor" -#: ../Doc/library/concurrent.futures.rst:207 +#: ../Doc/library/concurrent.futures.rst:219 msgid "ProcessPoolExecutor" msgstr "ProcessPoolExecutor" -#: ../Doc/library/concurrent.futures.rst:209 +#: ../Doc/library/concurrent.futures.rst:221 #, fuzzy msgid "" "The :class:`ProcessPoolExecutor` class is an :class:`Executor` subclass that " "uses a pool of processes to execute calls asynchronously. :class:" "`ProcessPoolExecutor` uses the :mod:`multiprocessing` module, which allows " -"it to side-step the :term:`Global Interpreter Lock` but also means that only " -"picklable objects can be executed and returned." +"it to side-step the :term:`Global Interpreter Lock ` but also means that only picklable objects can be executed and " +"returned." msgstr "" "La clase :class:`ProcessPoolExecutor` es una subclase de :class:`Executor` " "que utiliza un grupo de procesos para ejecutar llamadas de forma " @@ -301,7 +319,7 @@ msgstr "" "Lock` pero también significa que solo se pueden ejecutar y retornar objetos " "serializables con *pickle*." -#: ../Doc/library/concurrent.futures.rst:215 +#: ../Doc/library/concurrent.futures.rst:228 msgid "" "The ``__main__`` module must be importable by worker subprocesses. This " "means that :class:`ProcessPoolExecutor` will not work in the interactive " @@ -311,7 +329,7 @@ msgstr "" "Esto significa que :class:`ProcessPoolExecutor` no funcionará en el " "intérprete interactivo." -#: ../Doc/library/concurrent.futures.rst:218 +#: ../Doc/library/concurrent.futures.rst:231 msgid "" "Calling :class:`Executor` or :class:`Future` methods from a callable " "submitted to a :class:`ProcessPoolExecutor` will result in deadlock." @@ -319,18 +337,19 @@ msgstr "" "Llamar a métodos de :class:`Executor` o :class:`Future` desde el invocable " "enviado a :class:`ProcessPoolExecutor` resultará en bloqueos mutuos." -#: ../Doc/library/concurrent.futures.rst:223 +#: ../Doc/library/concurrent.futures.rst:236 +#, fuzzy msgid "" "An :class:`Executor` subclass that executes calls asynchronously using a " "pool of at most *max_workers* processes. If *max_workers* is ``None`` or " "not given, it will default to the number of processors on the machine. If " -"*max_workers* is lower or equal to ``0``, then a :exc:`ValueError` will be " -"raised. On Windows, *max_workers* must be equal or lower than ``61``. If it " -"is not then :exc:`ValueError` will be raised. If *max_workers* is ``None``, " -"then the default chosen will be at most ``61``, even if more processors are " -"available. *mp_context* can be a multiprocessing context or None. It will be " -"used to launch the workers. If *mp_context* is ``None`` or not given, the " -"default multiprocessing context is used." +"*max_workers* is less than or equal to ``0``, then a :exc:`ValueError` will " +"be raised. On Windows, *max_workers* must be less than or equal to ``61``. " +"If it is not then :exc:`ValueError` will be raised. If *max_workers* is " +"``None``, then the default chosen will be at most ``61``, even if more " +"processors are available. *mp_context* can be a multiprocessing context or " +"None. It will be used to launch the workers. If *mp_context* is ``None`` or " +"not given, the default multiprocessing context is used." msgstr "" "Subclase de :class:`Executor` que ejecuta llamadas asincrónicas mediante un " "grupo de, como máximo, *max_workers* procesos. Si *max_workers* es ``None`` " @@ -344,13 +363,14 @@ msgstr "" "iniciar los trabajadores. Si *mp_context* es ``None`` o no es especificado, " "se utilizará el contexto predeterminado de multiprocesamiento." -#: ../Doc/library/concurrent.futures.rst:236 +#: ../Doc/library/concurrent.futures.rst:249 +#, fuzzy msgid "" "*initializer* is an optional callable that is called at the start of each " "worker process; *initargs* is a tuple of arguments passed to the " "initializer. Should *initializer* raise an exception, all currently pending " "jobs will raise a :exc:`~concurrent.futures.process.BrokenProcessPool`, as " -"well any attempt to submit more jobs to the pool." +"well as any attempt to submit more jobs to the pool." msgstr "" "*initializer* es un invocable opcional que es llamado al comienzo de cada " "proceso trabajador; *initargs* es una tupla de argumentos pasados al " @@ -359,7 +379,7 @@ msgstr "" "BrokenProcessPool`, así como cualquier intento de enviar más trabajos al " "grupo." -#: ../Doc/library/concurrent.futures.rst:242 +#: ../Doc/library/concurrent.futures.rst:255 msgid "" "When one of the worker processes terminates abruptly, a :exc:" "`BrokenProcessPool` error is now raised. Previously, behaviour was " @@ -371,7 +391,7 @@ msgstr "" "pero las operaciones en el ejecutor o sus futuros a menudo se detenían o " "bloqueaban mutuamente." -#: ../Doc/library/concurrent.futures.rst:248 +#: ../Doc/library/concurrent.futures.rst:261 msgid "" "The *mp_context* argument was added to allow users to control the " "start_method for worker processes created by the pool." @@ -379,15 +399,15 @@ msgstr "" "El argumento *mp_context* se agregó para permitir a los usuarios controlar " "el método de iniciación para procesos de trabajo creados en el grupo." -#: ../Doc/library/concurrent.futures.rst:258 +#: ../Doc/library/concurrent.futures.rst:271 msgid "ProcessPoolExecutor Example" msgstr "Ejemplo de *ProcessPoolExecutor*" -#: ../Doc/library/concurrent.futures.rst:296 +#: ../Doc/library/concurrent.futures.rst:309 msgid "Future Objects" msgstr "Objetos Futuro" -#: ../Doc/library/concurrent.futures.rst:298 +#: ../Doc/library/concurrent.futures.rst:311 msgid "" "The :class:`Future` class encapsulates the asynchronous execution of a " "callable. :class:`Future` instances are created by :meth:`Executor.submit`." @@ -395,7 +415,7 @@ msgstr "" "La clase :class:`Future` encapsula la ejecución asincrónica del invocable. " "Las instancias de :class:`Future` son creadas por :meth:`Executor.submit`." -#: ../Doc/library/concurrent.futures.rst:303 +#: ../Doc/library/concurrent.futures.rst:316 msgid "" "Encapsulates the asynchronous execution of a callable. :class:`Future` " "instances are created by :meth:`Executor.submit` and should not be created " @@ -405,7 +425,7 @@ msgstr "" "`Future` son creadas por :meth:`Executor.submit` y no deberían ser creadas " "directamente, excepto para pruebas." -#: ../Doc/library/concurrent.futures.rst:309 +#: ../Doc/library/concurrent.futures.rst:322 msgid "" "Attempt to cancel the call. If the call is currently being executed or " "finished running and cannot be cancelled then the method will return " @@ -417,11 +437,11 @@ msgstr "" "``False``, de lo contrario la llamada será cancelada y el método retornará " "``True``." -#: ../Doc/library/concurrent.futures.rst:316 +#: ../Doc/library/concurrent.futures.rst:329 msgid "Return ``True`` if the call was successfully cancelled." msgstr "Retorna ``True`` si la llamada fue cancelada exitosamente." -#: ../Doc/library/concurrent.futures.rst:320 +#: ../Doc/library/concurrent.futures.rst:333 msgid "" "Return ``True`` if the call is currently being executed and cannot be " "cancelled." @@ -429,14 +449,14 @@ msgstr "" "Retorna ``True`` si la llamada está siendo ejecutada y no puede ser " "cancelada." -#: ../Doc/library/concurrent.futures.rst:325 +#: ../Doc/library/concurrent.futures.rst:338 msgid "" "Return ``True`` if the call was successfully cancelled or finished running." msgstr "" "Retorna ``True`` si la llamada fue cancelada exitosamente o terminó su " "ejecución." -#: ../Doc/library/concurrent.futures.rst:330 +#: ../Doc/library/concurrent.futures.rst:343 msgid "" "Return the value returned by the call. If the call hasn't yet completed then " "this method will wait up to *timeout* seconds. If the call hasn't completed " @@ -450,8 +470,8 @@ msgstr "" "TimeoutError` será lanzada. *timeout* puede ser un int o un float. Si " "*timeout* es ``None`` o no fue especificado, no hay limite de espera." -#: ../Doc/library/concurrent.futures.rst:337 -#: ../Doc/library/concurrent.futures.rst:351 +#: ../Doc/library/concurrent.futures.rst:350 +#: ../Doc/library/concurrent.futures.rst:364 msgid "" "If the future is cancelled before completing then :exc:`.CancelledError` " "will be raised." @@ -459,12 +479,12 @@ msgstr "" "Si el futuro es cancelado antes de finalizar su ejecución, :exc:`." "CancelledError` será lanzada." -#: ../Doc/library/concurrent.futures.rst:340 +#: ../Doc/library/concurrent.futures.rst:353 msgid "If the call raised, this method will raise the same exception." msgstr "" "Si la llamada lanzó una excepción, este método lanzará la misma excepción." -#: ../Doc/library/concurrent.futures.rst:344 +#: ../Doc/library/concurrent.futures.rst:357 msgid "" "Return the exception raised by the call. If the call hasn't yet completed " "then this method will wait up to *timeout* seconds. If the call hasn't " @@ -479,11 +499,11 @@ msgstr "" "un float. Si *timeout* es ``None`` o no es especificado, no hay limite en el " "tiempo de espera." -#: ../Doc/library/concurrent.futures.rst:354 +#: ../Doc/library/concurrent.futures.rst:367 msgid "If the call completed without raising, ``None`` is returned." msgstr "Si la llamada es completada sin excepciones, se retornará ```None``." -#: ../Doc/library/concurrent.futures.rst:358 +#: ../Doc/library/concurrent.futures.rst:371 msgid "" "Attaches the callable *fn* to the future. *fn* will be called, with the " "future as its only argument, when the future is cancelled or finishes " @@ -493,7 +513,7 @@ msgstr "" "como su único argumento, cuando el futuro sea cancelado o finalice su " "ejecución." -#: ../Doc/library/concurrent.futures.rst:362 +#: ../Doc/library/concurrent.futures.rst:375 #, fuzzy msgid "" "Added callables are called in the order that they were added and are always " @@ -508,7 +528,7 @@ msgstr "" "el invocable lanza una subclase de :exc:`BaseException` el comportamiento no " "está definido." -#: ../Doc/library/concurrent.futures.rst:368 +#: ../Doc/library/concurrent.futures.rst:381 msgid "" "If the future has already completed or been cancelled, *fn* will be called " "immediately." @@ -516,7 +536,7 @@ msgstr "" "Si el futuro ya ha finalizado su ejecución o fue cancelado, *fn* retornará " "inmediatamente." -#: ../Doc/library/concurrent.futures.rst:371 +#: ../Doc/library/concurrent.futures.rst:384 msgid "" "The following :class:`Future` methods are meant for use in unit tests and :" "class:`Executor` implementations." @@ -524,7 +544,7 @@ msgstr "" "Los siguientes métodos de :class:`Future` están pensados para ser usados en " "pruebas unitarias e implementaciones de :class:`Executor`." -#: ../Doc/library/concurrent.futures.rst:376 +#: ../Doc/library/concurrent.futures.rst:389 msgid "" "This method should only be called by :class:`Executor` implementations " "before executing the work associated with the :class:`Future` and by unit " @@ -534,7 +554,7 @@ msgstr "" "antes de ejecutar el trabajo asociado al :class:`Future` y por las pruebas " "unitarias." -#: ../Doc/library/concurrent.futures.rst:380 +#: ../Doc/library/concurrent.futures.rst:393 msgid "" "If the method returns ``False`` then the :class:`Future` was cancelled, i." "e. :meth:`Future.cancel` was called and returned `True`. Any threads " @@ -546,7 +566,7 @@ msgstr "" "la finalización del :class:`Future` (i.e. a través de :func:`as_completed` " "o :func:`wait`) serán despertados." -#: ../Doc/library/concurrent.futures.rst:385 +#: ../Doc/library/concurrent.futures.rst:398 msgid "" "If the method returns ``True`` then the :class:`Future` was not cancelled " "and has been put in the running state, i.e. calls to :meth:`Future.running` " @@ -556,7 +576,7 @@ msgstr "" "y ha sido colocado en estado de ejecución, i.e. las llamadas a :meth:`Future." "running` retornarán `True`." -#: ../Doc/library/concurrent.futures.rst:389 +#: ../Doc/library/concurrent.futures.rst:402 msgid "" "This method can only be called once and cannot be called after :meth:`Future." "set_result` or :meth:`Future.set_exception` have been called." @@ -565,14 +585,14 @@ msgstr "" "de haber llamado a :meth:`Future.set_result` o a :meth:`Future." "set_exception`." -#: ../Doc/library/concurrent.futures.rst:395 +#: ../Doc/library/concurrent.futures.rst:408 msgid "" "Sets the result of the work associated with the :class:`Future` to *result*." msgstr "" "Establece *result* como el resultado del trabajo asociado al :class:`Future`." -#: ../Doc/library/concurrent.futures.rst:398 #: ../Doc/library/concurrent.futures.rst:411 +#: ../Doc/library/concurrent.futures.rst:424 msgid "" "This method should only be used by :class:`Executor` implementations and " "unit tests." @@ -580,8 +600,8 @@ msgstr "" "Este método solo debe ser usado por implementaciones de :class:`Executor` y " "pruebas unitarias." -#: ../Doc/library/concurrent.futures.rst:401 #: ../Doc/library/concurrent.futures.rst:414 +#: ../Doc/library/concurrent.futures.rst:427 msgid "" "This method raises :exc:`concurrent.futures.InvalidStateError` if the :class:" "`Future` is already done." @@ -589,7 +609,7 @@ msgstr "" "Este método lanza :exc:`concurrent.futures.InvalidStateError` si :class:" "`Future` ya ha finalizado su ejecución." -#: ../Doc/library/concurrent.futures.rst:408 +#: ../Doc/library/concurrent.futures.rst:421 msgid "" "Sets the result of the work associated with the :class:`Future` to the :" "class:`Exception` *exception*." @@ -597,11 +617,11 @@ msgstr "" "Establece *exception*, subclase de :class:`Exception`, como el resultado del " "trabajo asociado al :class:`Future`." -#: ../Doc/library/concurrent.futures.rst:420 +#: ../Doc/library/concurrent.futures.rst:433 msgid "Module Functions" msgstr "Funciones del Módulo" -#: ../Doc/library/concurrent.futures.rst:424 +#: ../Doc/library/concurrent.futures.rst:437 msgid "" "Wait for the :class:`Future` instances (possibly created by different :class:" "`Executor` instances) given by *fs* to complete. Returns a named 2-tuple of " @@ -619,7 +639,7 @@ msgstr "" "futuros que no finalizaron su ejecución (pueden estar pendientes o " "ejecutándose en ese momento)." -#: ../Doc/library/concurrent.futures.rst:431 +#: ../Doc/library/concurrent.futures.rst:444 msgid "" "*timeout* can be used to control the maximum number of seconds to wait " "before returning. *timeout* can be an int or float. If *timeout* is not " @@ -630,7 +650,7 @@ msgstr "" "*timeout* no es especificado o es ``None``, no hay limite en el tiempo de " "espera." -#: ../Doc/library/concurrent.futures.rst:435 +#: ../Doc/library/concurrent.futures.rst:448 msgid "" "*return_when* indicates when this function should return. It must be one of " "the following constants:" @@ -638,27 +658,27 @@ msgstr "" "*return_when* indica cuando debe retornar esta función. Debe ser alguna de " "las siguientes constantes:" -#: ../Doc/library/concurrent.futures.rst:441 +#: ../Doc/library/concurrent.futures.rst:454 msgid "Constant" msgstr "Constante" -#: ../Doc/library/concurrent.futures.rst:441 +#: ../Doc/library/concurrent.futures.rst:454 msgid "Description" msgstr "Descripción" -#: ../Doc/library/concurrent.futures.rst:443 +#: ../Doc/library/concurrent.futures.rst:456 msgid ":const:`FIRST_COMPLETED`" msgstr ":const:`FIRST_COMPLETED`" -#: ../Doc/library/concurrent.futures.rst:443 +#: ../Doc/library/concurrent.futures.rst:456 msgid "The function will return when any future finishes or is cancelled." msgstr "La función retornará cuando cualquier futuro finalice o sea cancelado." -#: ../Doc/library/concurrent.futures.rst:446 +#: ../Doc/library/concurrent.futures.rst:459 msgid ":const:`FIRST_EXCEPTION`" msgstr ":const:`FIRST_EXCEPTION`" -#: ../Doc/library/concurrent.futures.rst:446 +#: ../Doc/library/concurrent.futures.rst:459 msgid "" "The function will return when any future finishes by raising an exception. " "If no future raises an exception then it is equivalent to :const:" @@ -668,16 +688,16 @@ msgstr "" "excepción. Si ningún futuro lanza una excepción, esta opción es equivalente " "a :const:`ALL_COMPLETED`." -#: ../Doc/library/concurrent.futures.rst:452 +#: ../Doc/library/concurrent.futures.rst:465 msgid ":const:`ALL_COMPLETED`" msgstr ":const:`ALL_COMPLETED`" -#: ../Doc/library/concurrent.futures.rst:452 +#: ../Doc/library/concurrent.futures.rst:465 msgid "The function will return when all futures finish or are cancelled." msgstr "" "La función retornará cuando todos los futuros finalicen o sean cancelados." -#: ../Doc/library/concurrent.futures.rst:458 +#: ../Doc/library/concurrent.futures.rst:471 #, fuzzy msgid "" "Returns an iterator over the :class:`Future` instances (possibly created by " @@ -703,11 +723,11 @@ msgstr "" "float. Si *timeout* no es especificado o es ``None``, no hay limite en el " "tiempo de espera." -#: ../Doc/library/concurrent.futures.rst:472 +#: ../Doc/library/concurrent.futures.rst:485 msgid ":pep:`3148` -- futures - execute computations asynchronously" msgstr ":pep:`3148` -- futuros - ejecutar cómputos asincrónicamente" -#: ../Doc/library/concurrent.futures.rst:472 +#: ../Doc/library/concurrent.futures.rst:485 msgid "" "The proposal which described this feature for inclusion in the Python " "standard library." @@ -715,19 +735,19 @@ msgstr "" "La propuesta que describe esta propuesta de inclusión en la biblioteca " "estándar de Python." -#: ../Doc/library/concurrent.futures.rst:477 +#: ../Doc/library/concurrent.futures.rst:490 msgid "Exception classes" msgstr "Clases de Excepciones" -#: ../Doc/library/concurrent.futures.rst:483 +#: ../Doc/library/concurrent.futures.rst:496 msgid "Raised when a future is cancelled." msgstr "Lanzada cuando un futuro es cancelado." -#: ../Doc/library/concurrent.futures.rst:487 +#: ../Doc/library/concurrent.futures.rst:500 msgid "Raised when a future operation exceeds the given timeout." msgstr "Lanzada cuando un futuro excede el tiempo de espera máximo." -#: ../Doc/library/concurrent.futures.rst:491 +#: ../Doc/library/concurrent.futures.rst:504 msgid "" "Derived from :exc:`RuntimeError`, this exception class is raised when an " "executor is broken for some reason, and cannot be used to submit or execute " @@ -737,7 +757,7 @@ msgstr "" "ejecutor se encuentra corrupto por algún motivo y no puede ser utilizado " "para enviar o ejecutar nuevas tareas." -#: ../Doc/library/concurrent.futures.rst:499 +#: ../Doc/library/concurrent.futures.rst:512 msgid "" "Raised when an operation is performed on a future that is not allowed in the " "current state." @@ -745,7 +765,7 @@ msgstr "" "Lanzada cuando una operación es realizada sobre un futuro que no permite " "dicha operación en el estado actual." -#: ../Doc/library/concurrent.futures.rst:508 +#: ../Doc/library/concurrent.futures.rst:521 msgid "" "Derived from :exc:`~concurrent.futures.BrokenExecutor`, this exception class " "is raised when one of the workers of a :class:`ThreadPoolExecutor` has " @@ -755,7 +775,7 @@ msgstr "" "lanzada cuando uno de los trabajadores de :class:`ThreadPoolExecutor` ha " "fallado en su inicialización." -#: ../Doc/library/concurrent.futures.rst:518 +#: ../Doc/library/concurrent.futures.rst:531 msgid "" "Derived from :exc:`~concurrent.futures.BrokenExecutor` (formerly :exc:" "`RuntimeError`), this exception class is raised when one of the workers of " diff --git a/library/constants.po b/library/constants.po index fc97d15745..a199f406d5 100644 --- a/library/constants.po +++ b/library/constants.po @@ -1,23 +1,25 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. # Maintained by the python-doc-es workteam. -# docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ -# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers +# docs-es@python.org / +# https://mail.python.org/mailman3/lists/docs-es.python.org/ +# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get +# the list of volunteers # msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-06 11:59-0400\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-15 18:43-0300\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" +"Generated-By: Babel 2.8.0\n" #: ../Doc/library/constants.rst:4 msgid "Built-in Constants" @@ -58,13 +60,14 @@ msgstr "" "ilegales y generan un :exc:`SyntaxError`." #: ../Doc/library/constants.rst:29 +#, fuzzy msgid "" "Special value which should be returned by the binary special methods (e.g. :" "meth:`__eq__`, :meth:`__lt__`, :meth:`__add__`, :meth:`__rsub__`, etc.) to " "indicate that the operation is not implemented with respect to the other " "type; may be returned by the in-place binary special methods (e.g. :meth:" -"`__imul__`, :meth:`__iand__`, etc.) for the same purpose. Its truth value is " -"true." +"`__imul__`, :meth:`__iand__`, etc.) for the same purpose. It should not be " +"evaluated in a boolean context." msgstr "" "Valor especial que deben retornar los métodos especiales binarios (por " "ejemplo, :meth:`__eq__`, :meth:`__lt__`, :meth:`__add__`, :meth:`__rsub__`, " @@ -106,8 +109,15 @@ msgstr "" "nombres y propósitos similares. Consulte :exc:`NotImplementedError` para " "obtener más información sobre cuándo usarlo." +#: ../Doc/library/constants.rst:53 +msgid "" +"Evaluating ``NotImplemented`` in a boolean context is deprecated. While it " +"currently evaluates as true, it will emit a :exc:`DeprecationWarning`. It " +"will raise a :exc:`TypeError` in a future version of Python." +msgstr "" + # la redacción está un poco difícil de seguir -#: ../Doc/library/constants.rst:57 +#: ../Doc/library/constants.rst:62 #, fuzzy msgid "" "The same as the ellipsis literal \"``...``\". Special value used mostly in " @@ -118,7 +128,7 @@ msgstr "" "utilizado principalmente en conjunto con la sintaxis de segmentación " "extendida para tipos de datos de contenedor definidos por el usuario." -#: ../Doc/library/constants.rst:63 +#: ../Doc/library/constants.rst:68 msgid "" "This constant is true if Python was not started with an :option:`-O` option. " "See also the :keyword:`assert` statement." @@ -126,7 +136,7 @@ msgstr "" "Esta constante es verdadera si Python no se inició con una opción :option:`-" "O`. Vea también la instrucción :keyword:`assert`." -#: ../Doc/library/constants.rst:69 +#: ../Doc/library/constants.rst:74 msgid "" "The names :data:`None`, :data:`False`, :data:`True` and :data:`__debug__` " "cannot be reassigned (assignments to them, even as an attribute name, raise :" @@ -137,11 +147,11 @@ msgstr "" "atributo, lanza :exc:`SyntaxError` ), por lo que pueden considerarse " "constantes \"verdaderas\"." -#: ../Doc/library/constants.rst:75 +#: ../Doc/library/constants.rst:80 msgid "Constants added by the :mod:`site` module" msgstr "Constantes agregadas por el módulo :mod:`site`" -#: ../Doc/library/constants.rst:77 +#: ../Doc/library/constants.rst:82 #, fuzzy msgid "" "The :mod:`site` module (which is imported automatically during startup, " @@ -154,7 +164,7 @@ msgstr "" "constantes al espacio de nombres incorporado. Son útiles para el intérprete " "interactivo y no se deben usar en programas." -#: ../Doc/library/constants.rst:85 +#: ../Doc/library/constants.rst:90 msgid "" "Objects that when printed, print a message like \"Use quit() or Ctrl-D (i.e. " "EOF) to exit\", and when called, raise :exc:`SystemExit` with the specified " @@ -164,7 +174,7 @@ msgstr "" "D (i.e. EOF) to exit\", y cuando se llama, lanza :exc:`SystemExit` con el " "código de salida especificado." -#: ../Doc/library/constants.rst:92 +#: ../Doc/library/constants.rst:97 #, fuzzy msgid "" "Objects that when printed or called, print the text of copyright or credits, " @@ -173,7 +183,7 @@ msgstr "" "Objetos que cuando se imprimen o se llaman, muestra el texto de los derechos " "de autor o créditos, respectivamente." -#: ../Doc/library/constants.rst:97 +#: ../Doc/library/constants.rst:102 msgid "" "Object that when printed, prints the message \"Type license() to see the " "full license text\", and when called, displays the full license text in a " diff --git a/library/csv.po b/library/csv.po index 723ff9d600..474227649b 100644 --- a/library/csv.po +++ b/library/csv.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-07-28 01:42-0300\n" +"Last-Translator: Marco Richetta \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Marco Richetta \n" -"Language: es\n" -"X-Generator: Poedit 2.3.1\n" #: ../Doc/library/csv.rst:2 msgid ":mod:`csv` --- CSV File Reading and Writing" @@ -144,7 +143,7 @@ msgstr "" "citados son transformados en flotantes)." #: ../Doc/library/csv.rst:75 ../Doc/library/csv.rst:105 -#: ../Doc/library/csv.rst:173 ../Doc/library/csv.rst:209 +#: ../Doc/library/csv.rst:176 ../Doc/library/csv.rst:212 msgid "A short usage example::" msgstr "Un pequeño ejemplo de uso::" @@ -281,10 +280,15 @@ msgstr "" "instancia subyacente de :class:`reader`." #: ../Doc/library/csv.rst:170 +#, fuzzy +msgid "Returned rows are now of type :class:`OrderedDict`." +msgstr "Las filas retornadas son ahora de tipo :class:`dict`." + +#: ../Doc/library/csv.rst:173 msgid "Returned rows are now of type :class:`dict`." msgstr "Las filas retornadas son ahora de tipo :class:`dict`." -#: ../Doc/library/csv.rst:191 +#: ../Doc/library/csv.rst:194 msgid "" "Create an object which operates like a regular writer but maps dictionaries " "onto output rows. The *fieldnames* parameter is a :mod:`sequence " @@ -313,7 +317,7 @@ msgstr "" "palabra clave u opcional es pasado a la instancia subyacente de :class:" "`reader`." -#: ../Doc/library/csv.rst:206 +#: ../Doc/library/csv.rst:209 msgid "" "Note that unlike the :class:`DictReader` class, the *fieldnames* parameter " "of the :class:`DictWriter` class is not optional." @@ -321,7 +325,7 @@ msgstr "" "Nótese que a diferencia de la clase :class:`DictReader`, el parámetro " "*fieldnames* de la clase :class:`DictWriter` no es opcional." -#: ../Doc/library/csv.rst:225 +#: ../Doc/library/csv.rst:228 msgid "" "The :class:`Dialect` class is a container class relied on primarily for its " "attributes, which are used to define the parameters for a specific :class:" @@ -331,7 +335,7 @@ msgstr "" "sus atributos, que son usados para definir los parámetros para una " "instancia :class:`reader` o :class:`writer` específica." -#: ../Doc/library/csv.rst:232 +#: ../Doc/library/csv.rst:235 msgid "" "The :class:`excel` class defines the usual properties of an Excel-generated " "CSV file. It is registered with the dialect name ``'excel'``." @@ -339,7 +343,7 @@ msgstr "" "La clase :class:`excel` define las propiedades usuales de un archivo CSV " "generado por Excel. Esta registrada con el nombre de dialecto ``'excel'``." -#: ../Doc/library/csv.rst:238 +#: ../Doc/library/csv.rst:241 msgid "" "The :class:`excel_tab` class defines the usual properties of an Excel-" "generated TAB-delimited file. It is registered with the dialect name " @@ -349,7 +353,7 @@ msgstr "" "delimitado por tabulaciones generado por Excel. Esta registrada con el " "nombre de dialecto ``'excel-tab'``." -#: ../Doc/library/csv.rst:244 +#: ../Doc/library/csv.rst:247 msgid "" "The :class:`unix_dialect` class defines the usual properties of a CSV file " "generated on UNIX systems, i.e. using ``'\\n'`` as line terminator and " @@ -360,16 +364,16 @@ msgstr "" "línea y citando todos los campos. Esta registrada con el nombre de dialecto " "``'unix'``." -#: ../Doc/library/csv.rst:253 +#: ../Doc/library/csv.rst:256 msgid "The :class:`Sniffer` class is used to deduce the format of a CSV file." msgstr "" "La clase :class:`Sniffer` es usada para deducir el formato de un archivo CSV." -#: ../Doc/library/csv.rst:255 +#: ../Doc/library/csv.rst:258 msgid "The :class:`Sniffer` class provides two methods:" msgstr "La clase :class:`Sniffer` provee 2 métodos:" -#: ../Doc/library/csv.rst:259 +#: ../Doc/library/csv.rst:262 msgid "" "Analyze the given *sample* and return a :class:`Dialect` subclass reflecting " "the parameters found. If the optional *delimiters* parameter is given, it " @@ -380,7 +384,7 @@ msgstr "" "este será interpretado como una cadena que contiene posibles caracteres " "delimitadores válidos." -#: ../Doc/library/csv.rst:267 +#: ../Doc/library/csv.rst:270 msgid "" "Analyze the sample text (presumed to be in CSV format) and return :const:" "`True` if the first row appears to be a series of column headers." @@ -389,19 +393,19 @@ msgstr "" "const:`True` si la primera fila parece ser una serie de encabezados de " "columna." -#: ../Doc/library/csv.rst:270 +#: ../Doc/library/csv.rst:273 msgid "An example for :class:`Sniffer` use::" msgstr "Un ejemplo para el uso de :class:`Sniffer`::" -#: ../Doc/library/csv.rst:279 +#: ../Doc/library/csv.rst:282 msgid "The :mod:`csv` module defines the following constants:" msgstr "El módulo :mod:`csv` define las siguientes constantes:" -#: ../Doc/library/csv.rst:283 +#: ../Doc/library/csv.rst:286 msgid "Instructs :class:`writer` objects to quote all fields." msgstr "Ordena a los objetos :class:`writer` citar todos los campos." -#: ../Doc/library/csv.rst:288 +#: ../Doc/library/csv.rst:291 msgid "" "Instructs :class:`writer` objects to only quote those fields which contain " "special characters such as *delimiter*, *quotechar* or any of the characters " @@ -411,17 +415,17 @@ msgstr "" "contengan caracteres especiales como por ejemplo *delimiter, *quotechar* o " "cualquiera de los caracteres en *lineterminator*." -#: ../Doc/library/csv.rst:295 +#: ../Doc/library/csv.rst:298 msgid "Instructs :class:`writer` objects to quote all non-numeric fields." msgstr "" "Ordena a los objetos :class:`writer` citar todos los campos no numéricos." -#: ../Doc/library/csv.rst:297 +#: ../Doc/library/csv.rst:300 msgid "Instructs the reader to convert all non-quoted fields to type *float*." msgstr "" "Ordena al *reader* a convertir todos los campos no citados al tipo *float*." -#: ../Doc/library/csv.rst:302 +#: ../Doc/library/csv.rst:305 msgid "" "Instructs :class:`writer` objects to never quote fields. When the current " "*delimiter* occurs in output data it is preceded by the current *escapechar* " @@ -434,7 +438,7 @@ msgstr "" "lanzará :exc:`Error` si cualquier carácter que requiere escaparse es " "encontrado." -#: ../Doc/library/csv.rst:307 +#: ../Doc/library/csv.rst:310 msgid "" "Instructs :class:`reader` to perform no special processing of quote " "characters." @@ -442,19 +446,19 @@ msgstr "" "Ordena a :class:`reader` no ejecutar un procesamiento especial de caracteres " "citados." -#: ../Doc/library/csv.rst:309 +#: ../Doc/library/csv.rst:312 msgid "The :mod:`csv` module defines the following exception:" msgstr "El módulo :mod:`csv` define la siguiente excepción:" -#: ../Doc/library/csv.rst:314 +#: ../Doc/library/csv.rst:317 msgid "Raised by any of the functions when an error is detected." msgstr "Lanzada por cualquiera de las funciones cuando se detecta un error." -#: ../Doc/library/csv.rst:319 +#: ../Doc/library/csv.rst:322 msgid "Dialects and Formatting Parameters" msgstr "Dialectos y parámetros de formato" -#: ../Doc/library/csv.rst:321 +#: ../Doc/library/csv.rst:324 msgid "" "To make it easier to specify the format of input and output records, " "specific formatting parameters are grouped together into dialects. A " @@ -477,18 +481,18 @@ msgstr "" "con los mismos nombres que los atributos definidos debajo para la clase :" "class:`Dialect`." -#: ../Doc/library/csv.rst:331 +#: ../Doc/library/csv.rst:334 msgid "Dialects support the following attributes:" msgstr "Los dialectos soportan los siguientes atributos:" -#: ../Doc/library/csv.rst:336 +#: ../Doc/library/csv.rst:339 msgid "" "A one-character string used to separate fields. It defaults to ``','``." msgstr "" "Una cadena de un solo carácter usada para separar campos. Por defecto es " "``','``." -#: ../Doc/library/csv.rst:341 +#: ../Doc/library/csv.rst:344 msgid "" "Controls how instances of *quotechar* appearing inside a field should " "themselves be quoted. When :const:`True`, the character is doubled. When :" @@ -500,7 +504,7 @@ msgstr "" "Cuando es :const:`False`, el *escapechar* es usado como un prefijo el " "*quotechar*. Por defecto es :const:`True`." -#: ../Doc/library/csv.rst:346 +#: ../Doc/library/csv.rst:349 msgid "" "On output, if *doublequote* is :const:`False` and no *escapechar* is set, :" "exc:`Error` is raised if a *quotechar* is found in a field." @@ -509,7 +513,7 @@ msgstr "" "está configurado, un :exc:`Error` es lanzado si se encuentra un *quotechar* " "en algún campo." -#: ../Doc/library/csv.rst:352 +#: ../Doc/library/csv.rst:355 msgid "" "A one-character string used by the writer to escape the *delimiter* if " "*quoting* is set to :const:`QUOTE_NONE` and the *quotechar* if *doublequote* " @@ -523,7 +527,7 @@ msgstr "" "*escapechar* elimina cualquier significado especial del siguiente carácter. " "Por defecto es :const:`None`, lo que deshabilita el escape." -#: ../Doc/library/csv.rst:360 +#: ../Doc/library/csv.rst:363 msgid "" "The string used to terminate lines produced by the :class:`writer`. It " "defaults to ``'\\r\\n'``." @@ -531,7 +535,7 @@ msgstr "" "La cadena de caracteres usada para terminar las líneas producidas por :class:" "`writer`. Por defecto es ``'\\r\\n'``." -#: ../Doc/library/csv.rst:365 +#: ../Doc/library/csv.rst:368 msgid "" "The :class:`reader` is hard-coded to recognise either ``'\\r'`` or ``'\\n'`` " "as end-of-line, and ignores *lineterminator*. This behavior may change in " @@ -541,7 +545,7 @@ msgstr "" "``'\\n'`` como final de línea, e ignora *lineterminator*. Este " "comportamiento puede cambiar en el futuro." -#: ../Doc/library/csv.rst:372 +#: ../Doc/library/csv.rst:375 msgid "" "A one-character string used to quote fields containing special characters, " "such as the *delimiter* or *quotechar*, or which contain new-line " @@ -551,7 +555,7 @@ msgstr "" "caracteres especiales, como lo son *delimiter* o *quotechar*, o que " "contienen caracteres de nueva línea. Por defecto es ``'\"'``." -#: ../Doc/library/csv.rst:379 +#: ../Doc/library/csv.rst:382 msgid "" "Controls when quotes should be generated by the writer and recognised by the " "reader. It can take on any of the :const:`QUOTE_\\*` constants (see " @@ -562,7 +566,7 @@ msgstr "" "`QUOTE_\\*` (ver sección :ref:`csv-contents`) y por defecto es :const:" "`QUOTE_MINIMAL`." -#: ../Doc/library/csv.rst:386 +#: ../Doc/library/csv.rst:389 msgid "" "When :const:`True`, whitespace immediately following the *delimiter* is " "ignored. The default is :const:`False`." @@ -570,7 +574,7 @@ msgstr "" "Cuando es :const:`True`, el espacio en blanco que sigue después del " "*delimiter* es ignorado. Por defecto es :const:`False`." -#: ../Doc/library/csv.rst:392 +#: ../Doc/library/csv.rst:395 msgid "" "When ``True``, raise exception :exc:`Error` on bad CSV input. The default is " "``False``." @@ -578,11 +582,11 @@ msgstr "" "Cuando es ``True``, lanza una excepción :exc:`Error` sobre una mala entrada " "CSV. Por defecto es ``False``." -#: ../Doc/library/csv.rst:396 +#: ../Doc/library/csv.rst:399 msgid "Reader Objects" msgstr "Objetos *Reader*" -#: ../Doc/library/csv.rst:398 +#: ../Doc/library/csv.rst:401 msgid "" "Reader objects (:class:`DictReader` instances and objects returned by the :" "func:`reader` function) have the following public methods:" @@ -590,7 +594,7 @@ msgstr "" "Los objetos *reader* (instancias de :class:`DictReader` y objetos retornados " "por la función :func:`reader`) contienen los siguientes métodos públicos:" -#: ../Doc/library/csv.rst:403 +#: ../Doc/library/csv.rst:406 msgid "" "Return the next row of the reader's iterable object as a list (if the object " "was returned from :func:`reader`) or a dict (if it is a :class:`DictReader` " @@ -602,15 +606,15 @@ msgstr "" "una instancia de :class:`DictReader`), analizada acorde al dialecto actual. " "Normalmente deberías llamarlo como ``next(reader)``." -#: ../Doc/library/csv.rst:409 +#: ../Doc/library/csv.rst:412 msgid "Reader objects have the following public attributes:" msgstr "Los objetos *reader* contienen los siguientes atributos públicos:" -#: ../Doc/library/csv.rst:413 +#: ../Doc/library/csv.rst:416 msgid "A read-only description of the dialect in use by the parser." msgstr "Una descripción de sólo lectura del dialecto en uso por el intérprete." -#: ../Doc/library/csv.rst:418 +#: ../Doc/library/csv.rst:421 msgid "" "The number of lines read from the source iterator. This is not the same as " "the number of records returned, as records can span multiple lines." @@ -619,11 +623,11 @@ msgstr "" "número de registros retornado, ya que los registros pueden abarcar múltiples " "líneas." -#: ../Doc/library/csv.rst:422 +#: ../Doc/library/csv.rst:425 msgid "DictReader objects have the following public attribute:" msgstr "Los objetos *DictReader* tienen los siguientes atributos públicos:" -#: ../Doc/library/csv.rst:426 +#: ../Doc/library/csv.rst:429 msgid "" "If not passed as a parameter when creating the object, this attribute is " "initialized upon first access or when the first record is read from the file." @@ -632,11 +636,11 @@ msgstr "" "inicializado en el primer acceso o cuando es leído el primer registro del " "archivo." -#: ../Doc/library/csv.rst:433 +#: ../Doc/library/csv.rst:436 msgid "Writer Objects" msgstr "Objetos *Writer*" -#: ../Doc/library/csv.rst:435 +#: ../Doc/library/csv.rst:438 msgid "" ":class:`Writer` objects (:class:`DictWriter` instances and objects returned " "by the :func:`writer` function) have the following public methods. A *row* " @@ -656,7 +660,7 @@ msgstr "" "rodeados de paréntesis. Esto puede causar algunos problemas para otros " "programas que leen archivos CSV (asumiendo que soportan números complejos)." -#: ../Doc/library/csv.rst:446 +#: ../Doc/library/csv.rst:449 msgid "" "Write the *row* parameter to the writer's file object, formatted according " "to the current dialect. Return the return value of the call to the *write* " @@ -666,11 +670,11 @@ msgstr "" "según el dialecto actual. Retorna el valor de retorno de la llamada al " "método *write* del objeto de archivo subyacente." -#: ../Doc/library/csv.rst:450 +#: ../Doc/library/csv.rst:453 msgid "Added support of arbitrary iterables." msgstr "Agregado soporte para iterables." -#: ../Doc/library/csv.rst:455 +#: ../Doc/library/csv.rst:458 msgid "" "Write all elements in *rows* (an iterable of *row* objects as described " "above) to the writer's file object, formatted according to the current " @@ -680,19 +684,19 @@ msgstr "" "describe anteriormente) al objeto de archivo del *writer*, formateados según " "el dialecto actual." -#: ../Doc/library/csv.rst:459 +#: ../Doc/library/csv.rst:462 msgid "Writer objects have the following public attribute:" msgstr "Los objetos *writer* contienen los siguientes atributos públicos:" -#: ../Doc/library/csv.rst:464 +#: ../Doc/library/csv.rst:467 msgid "A read-only description of the dialect in use by the writer." msgstr "Una descripción de solo lectura del dialecto en uso por el *writer*." -#: ../Doc/library/csv.rst:467 +#: ../Doc/library/csv.rst:470 msgid "DictWriter objects have the following public method:" msgstr "Los objetos *DictWriter* contienen los siguientes métodos públicos:" -#: ../Doc/library/csv.rst:472 +#: ../Doc/library/csv.rst:475 msgid "" "Write a row with the field names (as specified in the constructor) to the " "writer's file object, formatted according to the current dialect. Return the " @@ -703,7 +707,7 @@ msgstr "" "actual. Retorna el valor de retorno de la llamada a :meth:`csvwriter." "writerow` usada internamente." -#: ../Doc/library/csv.rst:477 +#: ../Doc/library/csv.rst:480 msgid "" ":meth:`writeheader` now also returns the value returned by the :meth:" "`csvwriter.writerow` method it uses internally." @@ -711,23 +715,23 @@ msgstr "" ":meth:`writeheader` ahora también retorna el valor retornado por el método :" "meth:`csvwriter.writerow` que usa internamente." -#: ../Doc/library/csv.rst:485 +#: ../Doc/library/csv.rst:488 msgid "Examples" msgstr "Ejemplos" -#: ../Doc/library/csv.rst:487 +#: ../Doc/library/csv.rst:490 msgid "The simplest example of reading a CSV file::" msgstr "El ejemplo más simple de lectura de un archivo CSV::" -#: ../Doc/library/csv.rst:495 +#: ../Doc/library/csv.rst:498 msgid "Reading a file with an alternate format::" msgstr "Lectura de un archivo con un formato alternativo::" -#: ../Doc/library/csv.rst:503 +#: ../Doc/library/csv.rst:506 msgid "The corresponding simplest possible writing example is::" msgstr "El correspondiente ejemplo de escritura más simple es::" -#: ../Doc/library/csv.rst:510 +#: ../Doc/library/csv.rst:513 msgid "" "Since :func:`open` is used to open a CSV file for reading, the file will by " "default be decoded into unicode using the system default encoding (see :func:" @@ -740,7 +744,7 @@ msgstr "" "decodificar un archivo usando una codificación diferente, usa el argumento " "``encoding`` de open::" -#: ../Doc/library/csv.rst:521 +#: ../Doc/library/csv.rst:524 msgid "" "The same applies to writing in something other than the system default " "encoding: specify the encoding argument when opening the output file." @@ -749,11 +753,11 @@ msgstr "" "del sistema: especifique el argumento de codificación cuando abra el archivo " "de salida." -#: ../Doc/library/csv.rst:524 +#: ../Doc/library/csv.rst:527 msgid "Registering a new dialect::" msgstr "Registrando un nuevo dialecto::" -#: ../Doc/library/csv.rst:531 +#: ../Doc/library/csv.rst:534 msgid "" "A slightly more advanced use of the reader --- catching and reporting " "errors::" @@ -761,7 +765,7 @@ msgstr "" "Un uso ligeramente más avanzado del *reader* --- captura y reporte de " "errores::" -#: ../Doc/library/csv.rst:543 +#: ../Doc/library/csv.rst:546 msgid "" "And while the module doesn't directly support parsing strings, it can easily " "be done::" @@ -769,11 +773,11 @@ msgstr "" "Y a pesar de que el módulo no soporta el análisis de cadenas de caracteres " "directamente, puede ser realizado fácilmente::" -#: ../Doc/library/csv.rst:552 +#: ../Doc/library/csv.rst:555 msgid "Footnotes" msgstr "Notas al pie" -#: ../Doc/library/csv.rst:553 +#: ../Doc/library/csv.rst:556 msgid "" "If ``newline=''`` is not specified, newlines embedded inside quoted fields " "will not be interpreted correctly, and on platforms that use ``\\r\\n`` " diff --git a/library/ctypes.po b/library/ctypes.po index f9ba14b26a..b560d15eeb 100644 --- a/library/ctypes.po +++ b/library/ctypes.po @@ -10,16 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-08-22 12:54+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" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"X-Generator: Poedit 2.3.1\n" -"Language: es\n" #: ../Doc/library/ctypes.rst:2 msgid ":mod:`ctypes` --- A foreign function library for Python" @@ -288,7 +288,7 @@ msgstr "" "Antes de pasar a llamar funciones con otros tipos de parámetros, tenemos que " "aprender más sobre los tipos de datos :mod:`ctypes`." -#: ../Doc/library/ctypes.rst:211 ../Doc/library/ctypes.rst:2128 +#: ../Doc/library/ctypes.rst:211 ../Doc/library/ctypes.rst:2143 msgid "Fundamental data types" msgstr "Tipos de datos fundamentales" @@ -1587,7 +1587,7 @@ msgstr "" "enlazador posix :option:`!-l`). Si no se puede encontrar ninguna biblioteca, " "retorna ``None``." -#: ../Doc/library/ctypes.rst:1270 ../Doc/library/ctypes.rst:1903 +#: ../Doc/library/ctypes.rst:1270 ../Doc/library/ctypes.rst:1918 msgid "The exact functionality is system dependent." msgstr "La funcionalidad exacta depende del sistema." @@ -1669,7 +1669,25 @@ msgstr "" "Las funciones de estas bibliotecas usan la convención estándar de llamada C, " "y se asume que retornan :c:type:`int`." -#: ../Doc/library/ctypes.rst:1332 +#: ../Doc/library/ctypes.rst:1329 +msgid "" +"On Windows creating a :class:`CDLL` instance may fail even if the DLL name " +"exists. When a dependent DLL of the loaded DLL is not found, a :exc:" +"`OSError` error is raised with the message *\"[WinError 126] The specified " +"module could not be found\".* This error message does not contain the name " +"of the missing DLL because the Windows API does not return this information " +"making this error hard to diagnose. To resolve this error and determine " +"which DLL is not found, you need to find the list of dependent DLLs and " +"determine which one is not found using Windows debugging and tracing tools." +msgstr "" + +#: ../Doc/library/ctypes.rst:1341 +msgid "" +"`Microsoft DUMPBIN tool `_ -- A tool to find DLL dependents." +msgstr "" + +#: ../Doc/library/ctypes.rst:1347 msgid "" "Windows only: Instances of this class represent loaded shared libraries, " "functions in these libraries use the ``stdcall`` calling convention, and are " @@ -1686,11 +1704,11 @@ msgstr "" "junto con un código de error adicional. Si el valor de retorno señala un " "fracaso, se eleva automáticamente un :class:`OSError``." -#: ../Doc/library/ctypes.rst:1339 +#: ../Doc/library/ctypes.rst:1354 msgid ":exc:`WindowsError` used to be raised." msgstr ":exc:`WindowsError` solía ser lanzado." -#: ../Doc/library/ctypes.rst:1345 +#: ../Doc/library/ctypes.rst:1360 msgid "" "Windows only: Instances of this class represent loaded shared libraries, " "functions in these libraries use the ``stdcall`` calling convention, and are " @@ -1700,7 +1718,7 @@ msgstr "" "compartidas cargadas, las funciones de estas bibliotecas usan la convención " "de llamada ``stdcall``, y se supone que retornan :c:type:`int` por defecto." -#: ../Doc/library/ctypes.rst:1349 +#: ../Doc/library/ctypes.rst:1364 msgid "" "On Windows CE only the standard calling convention is used, for convenience " "the :class:`WinDLL` and :class:`OleDLL` use the standard calling convention " @@ -1710,7 +1728,7 @@ msgstr "" "comodidad las :class:`WinDLL` y :class:`OleDLL` utilizan la convención de " "llamadas estándar en esta plataforma." -#: ../Doc/library/ctypes.rst:1353 +#: ../Doc/library/ctypes.rst:1368 msgid "" "The Python :term:`global interpreter lock` is released before calling any " "function exported by these libraries, and reacquired afterwards." @@ -1718,7 +1736,7 @@ msgstr "" "El termino Python :term:`global interpreter lock` es lanzado antes de llamar " "a cualquier función exportada por estas librerías, y se requiere después." -#: ../Doc/library/ctypes.rst:1359 +#: ../Doc/library/ctypes.rst:1374 msgid "" "Instances of this class behave like :class:`CDLL` instances, except that the " "Python GIL is *not* released during the function call, and after the " @@ -1731,13 +1749,13 @@ msgstr "" "el flag de error de Python. Si el flag de error esta activado, se lanza una " "excepción Python." -#: ../Doc/library/ctypes.rst:1364 +#: ../Doc/library/ctypes.rst:1379 msgid "Thus, this is only useful to call Python C api functions directly." msgstr "" "Por lo tanto, esto sólo es útil para llamar directamente a las funciones api " "C de Pythoni." -#: ../Doc/library/ctypes.rst:1366 +#: ../Doc/library/ctypes.rst:1381 msgid "" "All these classes can be instantiated by calling them with at least one " "argument, the pathname of the shared library. If you have an existing " @@ -1753,7 +1771,7 @@ msgstr "" "``LoadLibrary`` de la plataforma subyacente es utilizada para cargar la " "biblioteca en el proceso, y obtener un manejador de la misma." -#: ../Doc/library/ctypes.rst:1373 +#: ../Doc/library/ctypes.rst:1388 msgid "" "The *mode* parameter can be used to specify how the library is loaded. For " "details, consult the :manpage:`dlopen(3)` manpage. On Windows, *mode* is " @@ -1765,7 +1783,7 @@ msgstr "" "manpage. En Windows, *mode* es ignorado. En los sistemas posix, RTLD_NOW " "siempre se agrega, y no es configurable." -#: ../Doc/library/ctypes.rst:1378 +#: ../Doc/library/ctypes.rst:1393 msgid "" "The *use_errno* parameter, when set to true, enables a ctypes mechanism that " "allows accessing the system :data:`errno` error number in a safe way. :mod:" @@ -1782,7 +1800,7 @@ msgstr "" "función se intercambia con la copia privada de ctypes, lo mismo ocurre " "inmediatamente después de la llamada a la función." -#: ../Doc/library/ctypes.rst:1385 +#: ../Doc/library/ctypes.rst:1400 msgid "" "The function :func:`ctypes.get_errno` returns the value of the ctypes " "private copy, and the function :func:`ctypes.set_errno` changes the ctypes " @@ -1792,7 +1810,7 @@ msgstr "" "ctypes, y la función :func:`ctypes.set_errno` cambia la copia privada de " "ctypes a un nuevo valor y retorna el valor anterior." -#: ../Doc/library/ctypes.rst:1389 +#: ../Doc/library/ctypes.rst:1404 msgid "" "The *use_last_error* parameter, when set to true, enables the same mechanism " "for the Windows error code which is managed by the :func:`GetLastError` and :" @@ -1807,7 +1825,7 @@ msgstr "" "set_last_error` se utilizan para solicitar y cambiar la copia privada ctypes " "del código de error de Windows." -#: ../Doc/library/ctypes.rst:1395 +#: ../Doc/library/ctypes.rst:1410 msgid "" "The *winmode* parameter is used on Windows to specify how the library is " "loaded (since *mode* is ignored). It takes any value that is valid for the " @@ -1824,11 +1842,11 @@ msgstr "" "completa a la DLL es la forma más segura de asegurar que se cargan la " "biblioteca y las dependencias correctas." -#: ../Doc/library/ctypes.rst:1402 +#: ../Doc/library/ctypes.rst:1417 msgid "Added *winmode* parameter." msgstr "Añadido el parámetro *winmode*." -#: ../Doc/library/ctypes.rst:1409 +#: ../Doc/library/ctypes.rst:1424 msgid "" "Flag to use as *mode* parameter. On platforms where this flag is not " "available, it is defined as the integer zero." @@ -1836,7 +1854,7 @@ msgstr "" "Flag para usar como parámetro *modo*. En las plataformas en las que esta " "bandera no está disponible, se define como el cero entero." -#: ../Doc/library/ctypes.rst:1416 +#: ../Doc/library/ctypes.rst:1431 msgid "" "Flag to use as *mode* parameter. On platforms where this is not available, " "it is the same as *RTLD_GLOBAL*." @@ -1844,7 +1862,7 @@ msgstr "" "Flag para usar como parámetro *modo*. En las plataformas en las que esto no " "está disponible, es lo mismo que *RTLD_GLOBAL*." -#: ../Doc/library/ctypes.rst:1423 +#: ../Doc/library/ctypes.rst:1438 msgid "" "The default mode which is used to load shared libraries. On OSX 10.3, this " "is *RTLD_GLOBAL*, otherwise it is the same as *RTLD_LOCAL*." @@ -1853,7 +1871,7 @@ msgstr "" "En OSX 10.3, esto es *RTLD_GLOBAL*, de lo contrario es lo mismo que " "*RTLD_LOCAL*." -#: ../Doc/library/ctypes.rst:1426 +#: ../Doc/library/ctypes.rst:1441 msgid "" "Instances of these classes have no public methods. Functions exported by " "the shared library can be accessed as attributes or by index. Please note " @@ -1868,7 +1886,7 @@ msgstr "" "repetidamente se retorna el mismo objeto cada vez. Por otro lado, acceder a " "ella a través de un índice retorna un nuevo objeto cada vez::" -#: ../Doc/library/ctypes.rst:1439 +#: ../Doc/library/ctypes.rst:1454 msgid "" "The following public attributes are available, their name starts with an " "underscore to not clash with exported function names:" @@ -1876,15 +1894,15 @@ msgstr "" "Los siguientes atributos públicos están disponibles, su nombre comienza con " "un guión bajo para no chocar con los nombres de las funciones exportadas:" -#: ../Doc/library/ctypes.rst:1445 +#: ../Doc/library/ctypes.rst:1460 msgid "The system handle used to access the library." msgstr "El manejador del sistema usado para acceder a la biblioteca." -#: ../Doc/library/ctypes.rst:1450 +#: ../Doc/library/ctypes.rst:1465 msgid "The name of the library passed in the constructor." msgstr "El nombre de la biblioteca pasado en el constructor." -#: ../Doc/library/ctypes.rst:1452 +#: ../Doc/library/ctypes.rst:1467 msgid "" "Shared libraries can also be loaded by using one of the prefabricated " "objects, which are instances of the :class:`LibraryLoader` class, either by " @@ -1896,7 +1914,7 @@ msgstr "" "`LibraryLoader`, ya sea llamando al método :meth:`LoadLibrary`, o " "recuperando la biblioteca como atributo de la instancia de carga." -#: ../Doc/library/ctypes.rst:1460 +#: ../Doc/library/ctypes.rst:1475 msgid "" "Class which loads shared libraries. *dlltype* should be one of the :class:" "`CDLL`, :class:`PyDLL`, :class:`WinDLL`, or :class:`OleDLL` types." @@ -1904,7 +1922,7 @@ msgstr "" "Clase que carga bibliotecas compartidas. *dlltype* debe ser uno de los " "tipos :class:`CDLL`, :class:`PyDLL`, :class:`WinDLL`, o :class:`OleDLL`." -#: ../Doc/library/ctypes.rst:1463 +#: ../Doc/library/ctypes.rst:1478 msgid "" ":meth:`__getattr__` has special behavior: It allows loading a shared library " "by accessing it as attribute of a library loader instance. The result is " @@ -1915,7 +1933,7 @@ msgstr "" "carga de biblioteca. El resultado se almacena en caché, de modo que los " "accesos repetidos a los atributos retornan la misma biblioteca cada vez." -#: ../Doc/library/ctypes.rst:1469 +#: ../Doc/library/ctypes.rst:1484 msgid "" "Load a shared library into the process and return it. This method always " "returns a new instance of the library." @@ -1923,27 +1941,27 @@ msgstr "" "Carga una biblioteca compartida en el proceso y la retorna. Este método " "siempre retorna una nueva instancia de la biblioteca." -#: ../Doc/library/ctypes.rst:1473 +#: ../Doc/library/ctypes.rst:1488 msgid "These prefabricated library loaders are available:" msgstr "Estos cargadores prefabricados de bibliotecas están disponibles:" -#: ../Doc/library/ctypes.rst:1478 +#: ../Doc/library/ctypes.rst:1493 msgid "Creates :class:`CDLL` instances." msgstr "Crea instancias de :class:`CDLL`." -#: ../Doc/library/ctypes.rst:1484 +#: ../Doc/library/ctypes.rst:1499 msgid "Windows only: Creates :class:`WinDLL` instances." msgstr "Sólo Windows: Crea instancias de :class:`WinDLL`." -#: ../Doc/library/ctypes.rst:1490 +#: ../Doc/library/ctypes.rst:1505 msgid "Windows only: Creates :class:`OleDLL` instances." msgstr "Sólo Windows: Crea instancias de :class:`OleDLL`." -#: ../Doc/library/ctypes.rst:1496 +#: ../Doc/library/ctypes.rst:1511 msgid "Creates :class:`PyDLL` instances." msgstr "Crea instancias de :class:`PyDLL`." -#: ../Doc/library/ctypes.rst:1499 +#: ../Doc/library/ctypes.rst:1514 msgid "" "For accessing the C Python api directly, a ready-to-use Python shared " "library object is available:" @@ -1951,7 +1969,7 @@ msgstr "" "Para acceder directamente a la API C de Python, se dispone de un objeto de " "biblioteca compartida de Python listo-para-usar:" -#: ../Doc/library/ctypes.rst:1505 +#: ../Doc/library/ctypes.rst:1520 msgid "" "An instance of :class:`PyDLL` that exposes Python C API functions as " "attributes. Note that all these functions are assumed to return C :c:type:" @@ -1964,6 +1982,7 @@ msgstr "" "tienes que asignar el atributo correcto :attr:`restype` para usar estas " "funciones." +#: ../Doc/library/ctypes.rst:1525 #, fuzzy msgid "" "Raises an :ref:`auditing event ` ``ctypes.dlopen`` with argument " @@ -1972,7 +1991,7 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``ctypes.dlopen`` con " "argumento ``name``." -#: ../Doc/library/ctypes.rst:1512 +#: ../Doc/library/ctypes.rst:1527 msgid "" "Loading a library through any of these objects raises an :ref:`auditing " "event ` ``ctypes.dlopen`` with string argument ``name``, the name " @@ -1982,6 +2001,7 @@ msgstr "" "`evento de auditoría ` ``ctypes.dlopen`` con el argumento de " "cadena ``name``, el nombre usado para cargar la biblioteca." +#: ../Doc/library/ctypes.rst:1531 #, fuzzy msgid "" "Raises an :ref:`auditing event ` ``ctypes.dlsym`` with arguments " @@ -1990,7 +2010,7 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``ctypes.dlsym`` con " "argumentos ``library``, ``name``." -#: ../Doc/library/ctypes.rst:1518 +#: ../Doc/library/ctypes.rst:1533 msgid "" "Accessing a function on a loaded library raises an auditing event ``ctypes." "dlsym`` with arguments ``library`` (the library object) and ``name`` (the " @@ -2000,6 +2020,7 @@ msgstr "" "auditoría ``ctypes.dlsym`` con argumentos ``library`` (el objeto de la " "biblioteca) y ``name`` (el nombre del símbolo como cadena o entero)." +#: ../Doc/library/ctypes.rst:1537 #, fuzzy msgid "" "Raises an :ref:`auditing event ` ``ctypes.dlsym/handle`` with " @@ -2008,7 +2029,7 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``ctypes.dlsym/handle`` con " "argumentos ``handle``, ``name``." -#: ../Doc/library/ctypes.rst:1524 +#: ../Doc/library/ctypes.rst:1539 msgid "" "In cases when only the library handle is available rather than the object, " "accessing a function raises an auditing event ``ctypes.dlsym/handle`` with " @@ -2019,11 +2040,11 @@ msgstr "" "auditoría ``ctypes.dlsym/handle`` con los argumentos ``handle`` (el " "manejador de la biblioteca en bruto) y ``name``." -#: ../Doc/library/ctypes.rst:1531 +#: ../Doc/library/ctypes.rst:1546 msgid "Foreign functions" msgstr "Funciones foráneas" -#: ../Doc/library/ctypes.rst:1533 +#: ../Doc/library/ctypes.rst:1548 msgid "" "As explained in the previous section, foreign functions can be accessed as " "attributes of loaded shared libraries. The function objects created in this " @@ -2038,11 +2059,11 @@ msgstr "" "retornan el tipo de resultado por defecto especificado por el cargador de la " "biblioteca. Son instancias de una clase privada:" -#: ../Doc/library/ctypes.rst:1542 +#: ../Doc/library/ctypes.rst:1557 msgid "Base class for C callable foreign functions." msgstr "Clase base para funciones foráneas C invocables." -#: ../Doc/library/ctypes.rst:1544 +#: ../Doc/library/ctypes.rst:1559 msgid "" "Instances of foreign functions are also C compatible data types; they " "represent C function pointers." @@ -2050,7 +2071,7 @@ msgstr "" "Las instancias de funciones foráneas también son tipos de datos compatibles " "con C; representan punteros de funciones C." -#: ../Doc/library/ctypes.rst:1547 +#: ../Doc/library/ctypes.rst:1562 msgid "" "This behavior can be customized by assigning to special attributes of the " "foreign function object." @@ -2058,7 +2079,7 @@ msgstr "" "Este comportamiento puede personalizarse asignando a los atributos " "especiales del objeto de la función foránea." -#: ../Doc/library/ctypes.rst:1552 +#: ../Doc/library/ctypes.rst:1567 msgid "" "Assign a ctypes type to specify the result type of the foreign function. Use " "``None`` for :c:type:`void`, a function not returning anything." @@ -2066,7 +2087,7 @@ msgstr "" "Asigne un tipo de ctypes para especificar el tipo de resultado de la función " "externa. Usa ``None`` para :c:type:`void`, una función que no retorna nada." -#: ../Doc/library/ctypes.rst:1555 +#: ../Doc/library/ctypes.rst:1570 msgid "" "It is possible to assign a callable Python object that is not a ctypes type, " "in this case the function is assumed to return a C :c:type:`int`, and the " @@ -2083,7 +2104,7 @@ msgstr "" "un tipo de datos ctypes como :attr:`restype` y asigne un invocable al " "atributo :attr:`errcheck`." -#: ../Doc/library/ctypes.rst:1564 +#: ../Doc/library/ctypes.rst:1579 msgid "" "Assign a tuple of ctypes types to specify the argument types that the " "function accepts. Functions using the ``stdcall`` calling convention can " @@ -2097,7 +2118,7 @@ msgstr "" "la longitud de esta tupla; las funciones que utilizan la convención de " "llamada C aceptan también argumentos adicionales no especificados." -#: ../Doc/library/ctypes.rst:1570 +#: ../Doc/library/ctypes.rst:1585 msgid "" "When a foreign function is called, each actual argument is passed to the :" "meth:`from_param` class method of the items in the :attr:`argtypes` tuple, " @@ -2113,7 +2134,7 @@ msgstr "" "tupla :attr:`argtypes` convertirá una cadena pasada como argumento en un " "objeto de bytes utilizando reglas de conversión ctypes." -#: ../Doc/library/ctypes.rst:1577 +#: ../Doc/library/ctypes.rst:1592 msgid "" "New: It is now possible to put items in argtypes which are not ctypes types, " "but each item must have a :meth:`from_param` method which returns a value " @@ -2126,7 +2147,7 @@ msgstr "" "ctypes). Esto permite definir adaptadores que pueden adaptar objetos " "personalizados como parámetros de la función." -#: ../Doc/library/ctypes.rst:1584 +#: ../Doc/library/ctypes.rst:1599 msgid "" "Assign a Python function or another callable to this attribute. The callable " "will be called with three or more arguments:" @@ -2134,7 +2155,7 @@ msgstr "" "Asigne una función Python u otra llamada a este atributo. El invocable será " "llamado con tres o más argumentos:" -#: ../Doc/library/ctypes.rst:1591 +#: ../Doc/library/ctypes.rst:1606 msgid "" "*result* is what the foreign function returns, as specified by the :attr:" "`restype` attribute." @@ -2142,7 +2163,7 @@ msgstr "" "*result* es lo que retorna la función externa, como se especifica en el " "atributo :attr:`restype`." -#: ../Doc/library/ctypes.rst:1594 +#: ../Doc/library/ctypes.rst:1609 msgid "" "*func* is the foreign function object itself, this allows reusing the same " "callable object to check or post process the results of several functions." @@ -2151,7 +2172,7 @@ msgstr "" "el mismo objeto invocable para comprobar o postprocesar los resultados de " "varias funciones." -#: ../Doc/library/ctypes.rst:1598 +#: ../Doc/library/ctypes.rst:1613 msgid "" "*arguments* is a tuple containing the parameters originally passed to the " "function call, this allows specializing the behavior on the arguments used." @@ -2160,7 +2181,7 @@ msgstr "" "la llamada de la función, esto permite especializar el comportamiento en los " "argumentos utilizados." -#: ../Doc/library/ctypes.rst:1602 +#: ../Doc/library/ctypes.rst:1617 msgid "" "The object that this function returns will be returned from the foreign " "function call, but it can also check the result value and raise an exception " @@ -2170,7 +2191,7 @@ msgstr "" "función foránea, pero también puede comprobar el valor del resultado y hacer " "una excepción si la llamada de la función foránea ha fallado." -#: ../Doc/library/ctypes.rst:1609 +#: ../Doc/library/ctypes.rst:1624 msgid "" "This exception is raised when a foreign function call cannot convert one of " "the passed arguments." @@ -2178,6 +2199,7 @@ msgstr "" "Esta excepción se lanza cuando una llamada a una función foránea no puede " "convertir uno de los argumentos pasados." +#: ../Doc/library/ctypes.rst:1628 #, fuzzy msgid "" "Raises an :ref:`auditing event ` ``ctypes.seh_exception`` with " @@ -2186,7 +2208,7 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``ctypes.seh_exception`` con " "el argumento ``code``." -#: ../Doc/library/ctypes.rst:1615 +#: ../Doc/library/ctypes.rst:1630 msgid "" "On Windows, when a foreign function call raises a system exception (for " "example, due to an access violation), it will be captured and replaced with " @@ -2201,6 +2223,7 @@ msgstr "" "permitiendo que un gancho de auditoría reemplace la excepción con la suya " "propia." +#: ../Doc/library/ctypes.rst:1636 #, fuzzy msgid "" "Raises an :ref:`auditing event ` ``ctypes.call_function`` with " @@ -2209,7 +2232,7 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``ctypes.call_function`` con " "argumentos ``func_pointer``, ``arguments``." -#: ../Doc/library/ctypes.rst:1623 +#: ../Doc/library/ctypes.rst:1638 msgid "" "Some ways to invoke foreign function calls may raise an auditing event " "``ctypes.call_function`` with arguments ``function pointer`` and " @@ -2219,11 +2242,11 @@ msgstr "" "evento de auditoría ``ctypes.call_function`` con los argumentos ``function " "pointer`` y ``arguments``." -#: ../Doc/library/ctypes.rst:1629 +#: ../Doc/library/ctypes.rst:1644 msgid "Function prototypes" msgstr "Prototipos de funciones" -#: ../Doc/library/ctypes.rst:1631 +#: ../Doc/library/ctypes.rst:1646 msgid "" "Foreign functions can also be created by instantiating function prototypes. " "Function prototypes are similar to function prototypes in C; they describe a " @@ -2242,7 +2265,7 @@ msgstr "" "decoradores, y como tales, ser aplicadas a las funciones a través de la " "sintaxis ``@wrapper``. Ver :ref:`ctypes-callback-functions` para ejemplos." -#: ../Doc/library/ctypes.rst:1642 +#: ../Doc/library/ctypes.rst:1657 msgid "" "The returned function prototype creates functions that use the standard C " "calling convention. The function will release the GIL during the call. If " @@ -2257,7 +2280,7 @@ msgstr "" "antes y después de la llamada; *use_last_error* hace lo mismo con el código " "de error de Windows." -#: ../Doc/library/ctypes.rst:1652 +#: ../Doc/library/ctypes.rst:1667 msgid "" "Windows only: The returned function prototype creates functions that use the " "``stdcall`` calling convention, except on Windows CE where :func:" @@ -2271,7 +2294,7 @@ msgstr "" "durante la llamada. *use_errno* y *use_last_error* tienen el mismo " "significado que arriba." -#: ../Doc/library/ctypes.rst:1661 +#: ../Doc/library/ctypes.rst:1676 msgid "" "The returned function prototype creates functions that use the Python " "calling convention. The function will *not* release the GIL during the call." @@ -2279,7 +2302,7 @@ msgstr "" "El prototipo de función retornado crea funciones que usan la convención de " "llamadas de Python. La función *no* liberará el GIL durante la llamada." -#: ../Doc/library/ctypes.rst:1664 +#: ../Doc/library/ctypes.rst:1679 msgid "" "Function prototypes created by these factory functions can be instantiated " "in different ways, depending on the type and number of the parameters in the " @@ -2289,21 +2312,21 @@ msgstr "" "ser instanciados de diferentes maneras, dependiendo del tipo y el número de " "los parámetros en la llamada:" -#: ../Doc/library/ctypes.rst:1672 +#: ../Doc/library/ctypes.rst:1687 msgid "" "Returns a foreign function at the specified address which must be an integer." msgstr "" "Retorna una función foránea en la dirección especificada que debe ser un " "número entero." -#: ../Doc/library/ctypes.rst:1679 +#: ../Doc/library/ctypes.rst:1694 msgid "" "Create a C callable function (a callback function) from a Python *callable*." msgstr "" "Crear una función de llamada C (una función de retrollamada) a partir de un " "*callable* Python." -#: ../Doc/library/ctypes.rst:1686 +#: ../Doc/library/ctypes.rst:1701 msgid "" "Returns a foreign function exported by a shared library. *func_spec* must be " "a 2-tuple ``(name_or_ordinal, library)``. The first item is the name of the " @@ -2316,7 +2339,7 @@ msgstr "" "la función exportada como entero pequeño. El segundo elemento es la " "instancia de la biblioteca compartida." -#: ../Doc/library/ctypes.rst:1696 +#: ../Doc/library/ctypes.rst:1711 msgid "" "Returns a foreign function that will call a COM method. *vtbl_index* is the " "index into the virtual function table, a small non-negative integer. *name* " @@ -2329,7 +2352,7 @@ msgstr "" "identificador de la interfaz que se utiliza en el informe de errores " "extendido." -#: ../Doc/library/ctypes.rst:1701 +#: ../Doc/library/ctypes.rst:1716 msgid "" "COM methods use a special calling convention: They require a pointer to the " "COM interface as first argument, in addition to those parameters that are " @@ -2339,7 +2362,7 @@ msgstr "" "puntero a la interfaz COM como primer argumento, además de los parámetros " "que se especifican en la tupla :attr:`argtypes`." -#: ../Doc/library/ctypes.rst:1705 +#: ../Doc/library/ctypes.rst:1720 msgid "" "The optional *paramflags* parameter creates foreign function wrappers with " "much more functionality than the features described above." @@ -2347,12 +2370,12 @@ msgstr "" "El parámetro opcional *paramflags* crea envoltorios de funciones foráneas " "con mucha más funcionalidad que las características descritas anteriormente." -#: ../Doc/library/ctypes.rst:1708 +#: ../Doc/library/ctypes.rst:1723 msgid "*paramflags* must be a tuple of the same length as :attr:`argtypes`." msgstr "" "*paramflags* deben ser una tupla de la misma longitud que :attr:`argtypes`." -#: ../Doc/library/ctypes.rst:1710 +#: ../Doc/library/ctypes.rst:1725 msgid "" "Each item in this tuple contains further information about a parameter, it " "must be a tuple containing one, two, or three items." @@ -2360,7 +2383,7 @@ msgstr "" "Cada elemento de esta tupla contiene más información sobre un parámetro, " "debe ser una tupla que contenga uno, dos o tres elementos." -#: ../Doc/library/ctypes.rst:1713 +#: ../Doc/library/ctypes.rst:1728 msgid "" "The first item is an integer containing a combination of direction flags for " "the parameter:" @@ -2368,31 +2391,31 @@ msgstr "" "El primer elemento es un entero que contiene una combinación de flags de " "dirección para el parámetro:" -#: ../Doc/library/ctypes.rst:1717 +#: ../Doc/library/ctypes.rst:1732 msgid "1" msgstr "1" -#: ../Doc/library/ctypes.rst:1717 +#: ../Doc/library/ctypes.rst:1732 msgid "Specifies an input parameter to the function." msgstr "Especifica un parámetro de entrada a la función." -#: ../Doc/library/ctypes.rst:1720 +#: ../Doc/library/ctypes.rst:1735 msgid "2" msgstr "2" -#: ../Doc/library/ctypes.rst:1720 +#: ../Doc/library/ctypes.rst:1735 msgid "Output parameter. The foreign function fills in a value." msgstr "Parámetro de salida. La función foránea rellena un valor." -#: ../Doc/library/ctypes.rst:1723 +#: ../Doc/library/ctypes.rst:1738 msgid "4" msgstr "4" -#: ../Doc/library/ctypes.rst:1723 +#: ../Doc/library/ctypes.rst:1738 msgid "Input parameter which defaults to the integer zero." msgstr "Parámetro de entrada que por defecto es el cero entero." -#: ../Doc/library/ctypes.rst:1725 +#: ../Doc/library/ctypes.rst:1740 msgid "" "The optional second item is the parameter name as string. If this is " "specified, the foreign function can be called with named parameters." @@ -2401,11 +2424,11 @@ msgstr "" "especifica esto, se puede llamar a la función foránea con parámetros con " "nombre." -#: ../Doc/library/ctypes.rst:1728 +#: ../Doc/library/ctypes.rst:1743 msgid "The optional third item is the default value for this parameter." msgstr "El tercer elemento opcional es el valor por defecto de este parámetro." -#: ../Doc/library/ctypes.rst:1730 +#: ../Doc/library/ctypes.rst:1745 msgid "" "This example demonstrates how to wrap the Windows ``MessageBoxW`` function " "so that it supports default parameters and named arguments. The C " @@ -2415,15 +2438,15 @@ msgstr "" "para que soporte los parámetros por defecto y los argumentos con nombre. La " "declaración C del archivo de cabecera de Windows es esta::" -#: ../Doc/library/ctypes.rst:1741 ../Doc/library/ctypes.rst:1764 +#: ../Doc/library/ctypes.rst:1756 ../Doc/library/ctypes.rst:1779 msgid "Here is the wrapping with :mod:`ctypes`::" msgstr "Aquí está el envoltorio con :mod:`ctypes`::" -#: ../Doc/library/ctypes.rst:1749 +#: ../Doc/library/ctypes.rst:1764 msgid "The ``MessageBox`` foreign function can now be called in these ways::" msgstr "La función foránea de ``MessageBox`` puede ser llamada de esta manera:" -#: ../Doc/library/ctypes.rst:1755 +#: ../Doc/library/ctypes.rst:1770 msgid "" "A second example demonstrates output parameters. The win32 " "``GetWindowRect`` function retrieves the dimensions of a specified window by " @@ -2435,7 +2458,7 @@ msgstr "" "especificada copiándolas en la estructura ``RECT`` que la persona que llama " "tiene que suministrar. Aquí está la declaración C::" -#: ../Doc/library/ctypes.rst:1773 +#: ../Doc/library/ctypes.rst:1788 msgid "" "Functions with output parameters will automatically return the output " "parameter value if there is a single one, or a tuple containing the output " @@ -2447,7 +2470,7 @@ msgstr "" "valores del parámetro de salida cuando hay más de uno, por lo que la función " "GetWindowRect retorna ahora una instancia RECT, cuando se llama." -#: ../Doc/library/ctypes.rst:1778 +#: ../Doc/library/ctypes.rst:1793 msgid "" "Output parameters can be combined with the :attr:`errcheck` protocol to do " "further output processing and error checking. The win32 ``GetWindowRect`` " @@ -2461,7 +2484,7 @@ msgstr "" "el éxito o el fracaso, por lo que esta función podría hacer la comprobación " "de errores, y plantea una excepción cuando la llamada api ha fallado::" -#: ../Doc/library/ctypes.rst:1791 +#: ../Doc/library/ctypes.rst:1806 msgid "" "If the :attr:`errcheck` function returns the argument tuple it receives " "unchanged, :mod:`ctypes` continues the normal processing it does on the " @@ -2476,11 +2499,11 @@ msgstr "" "la función y retornarlos en su lugar, el procesamiento normal ya no tendrá " "lugar::" -#: ../Doc/library/ctypes.rst:1810 +#: ../Doc/library/ctypes.rst:1825 msgid "Utility functions" msgstr "Funciones de utilidad" -#: ../Doc/library/ctypes.rst:1814 +#: ../Doc/library/ctypes.rst:1829 msgid "" "Returns the address of the memory buffer as integer. *obj* must be an " "instance of a ctypes type." @@ -2488,7 +2511,7 @@ msgstr "" "Retorna la dirección del buffer de memoria como un entero. *obj* debe ser " "una instancia de tipo ctypes." -#: ../Doc/library/ctypes.rst:1817 +#: ../Doc/library/ctypes.rst:1832 msgid "" "Raises an :ref:`auditing event ` ``ctypes.addressof`` with " "argument ``obj``." @@ -2496,7 +2519,7 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``ctypes.addressof`` con el " "argumento ``obj``." -#: ../Doc/library/ctypes.rst:1822 +#: ../Doc/library/ctypes.rst:1837 msgid "" "Returns the alignment requirements of a ctypes type. *obj_or_type* must be a " "ctypes type or instance." @@ -2504,7 +2527,7 @@ msgstr "" "Retorna los requerimientos de alineación de un tipo de ctypes. *obj_or_type* " "debe ser un tipo o instancia ctypes." -#: ../Doc/library/ctypes.rst:1828 +#: ../Doc/library/ctypes.rst:1843 msgid "" "Returns a light-weight pointer to *obj*, which must be an instance of a " "ctypes type. *offset* defaults to zero, and must be an integer that will be " @@ -2514,11 +2537,11 @@ msgstr "" "ctypes. *offset* es por defecto cero, y debe ser un entero que se añadirá al " "valor del puntero interno." -#: ../Doc/library/ctypes.rst:1832 +#: ../Doc/library/ctypes.rst:1847 msgid "``byref(obj, offset)`` corresponds to this C code::" msgstr "``byref(obj, offset)`` corresponde a este código C::" -#: ../Doc/library/ctypes.rst:1836 +#: ../Doc/library/ctypes.rst:1851 msgid "" "The returned object can only be used as a foreign function call parameter. " "It behaves similar to ``pointer(obj)``, but the construction is a lot faster." @@ -2527,7 +2550,7 @@ msgstr "" "función foránea. Se comporta de manera similar a ``pointer(obj)``, pero la " "construcción es mucho más rápida." -#: ../Doc/library/ctypes.rst:1842 +#: ../Doc/library/ctypes.rst:1857 msgid "" "This function is similar to the cast operator in C. It returns a new " "instance of *type* which points to the same memory block as *obj*. *type* " @@ -2539,7 +2562,7 @@ msgstr "" "debe ser un tipo de puntero, y *obj* debe ser un objeto que pueda ser " "interpretado como un puntero." -#: ../Doc/library/ctypes.rst:1850 +#: ../Doc/library/ctypes.rst:1865 msgid "" "This function creates a mutable character buffer. The returned object is a " "ctypes array of :class:`c_char`." @@ -2547,7 +2570,7 @@ msgstr "" "Esta función crea un búfer de caracteres mutables. El objeto retornado es un " "arreglo de ctypes de :class:`c_char`." -#: ../Doc/library/ctypes.rst:1853 +#: ../Doc/library/ctypes.rst:1868 msgid "" "*init_or_size* must be an integer which specifies the size of the array, or " "a bytes object which will be used to initialize the array items." @@ -2556,7 +2579,7 @@ msgstr "" "arreglo, o un objeto de bytes que se utilizará para inicializar los " "elementos del arreglo." -#: ../Doc/library/ctypes.rst:1856 +#: ../Doc/library/ctypes.rst:1871 msgid "" "If a bytes object is specified as first argument, the buffer is made one " "item larger than its length so that the last element in the array is a NUL " @@ -2570,7 +2593,7 @@ msgstr "" "segundo argumento que permite especificar el tamaño del arreglo si no se " "debe utilizar la longitud de los bytes." -#: ../Doc/library/ctypes.rst:1861 +#: ../Doc/library/ctypes.rst:1876 msgid "" "Raises an :ref:`auditing event ` ``ctypes.create_string_buffer`` " "with arguments ``init``, ``size``." @@ -2578,7 +2601,7 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``ctypes." "create_string_buffer`` con argumentos ``init``, ``size``." -#: ../Doc/library/ctypes.rst:1866 +#: ../Doc/library/ctypes.rst:1881 msgid "" "This function creates a mutable unicode character buffer. The returned " "object is a ctypes array of :class:`c_wchar`." @@ -2586,7 +2609,7 @@ msgstr "" "Esta función crea un búfer de caracteres unicode mutable. El objeto " "retornado es un arreglo de ctypes de :class:`c_wchar`." -#: ../Doc/library/ctypes.rst:1869 +#: ../Doc/library/ctypes.rst:1884 msgid "" "*init_or_size* must be an integer which specifies the size of the array, or " "a string which will be used to initialize the array items." @@ -2594,7 +2617,7 @@ msgstr "" "*init_or_size* debe ser un entero que especifique el tamaño del arreglo, o " "una cadena que se utilizará para inicializar los elementos del arreglo." -#: ../Doc/library/ctypes.rst:1872 +#: ../Doc/library/ctypes.rst:1887 msgid "" "If a string is specified as first argument, the buffer is made one item " "larger than the length of the string so that the last element in the array " @@ -2608,7 +2631,7 @@ msgstr "" "entero como segundo argumento que permite especificar el tamaño del arreglo " "si no se debe utilizar la longitud de la cadena." -#: ../Doc/library/ctypes.rst:1878 +#: ../Doc/library/ctypes.rst:1893 msgid "" "Raises an :ref:`auditing event ` ``ctypes.create_unicode_buffer`` " "with arguments ``init``, ``size``." @@ -2616,7 +2639,7 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``ctypes." "create_unicode_buffer`` con argumentos ``init``, ``size``." -#: ../Doc/library/ctypes.rst:1883 +#: ../Doc/library/ctypes.rst:1898 msgid "" "Windows only: This function is a hook which allows implementing in-process " "COM servers with ctypes. It is called from the DllCanUnloadNow function " @@ -2626,7 +2649,7 @@ msgstr "" "COM en proceso con ctypes. Se llama desde la función DllCanUnloadNow que la " "extensión _ctypes dll exporta." -#: ../Doc/library/ctypes.rst:1890 +#: ../Doc/library/ctypes.rst:1905 msgid "" "Windows only: This function is a hook which allows implementing in-process " "COM servers with ctypes. It is called from the DllGetClassObject function " @@ -2636,12 +2659,13 @@ msgstr "" "COM en proceso con ctypes. Se llama desde la función DllGetClassObject que " "la extensión ``_ctypes`` exporta." -#: ../Doc/library/ctypes.rst:1898 +#: ../Doc/library/ctypes.rst:1913 +#, fuzzy msgid "" "Try to find a library and return a pathname. *name* is the library name " "without any prefix like ``lib``, suffix like ``.so``, ``.dylib`` or version " -"number (this is the form used for the posix linker option :option:`!-l`). If " -"no library can be found, returns ``None``." +"number (this is the form used for the posix linker option :option:`!-l`). " +"If no library can be found, returns ``None``." msgstr "" "Intenta encontrar una biblioteca y retornar un nombre. *name* es el nombre " "de la biblioteca sin ningún prefijo como ``lib``, sufijo como ``.so``, ``." @@ -2649,7 +2673,7 @@ msgstr "" "enlazador posix :option:`!-l`). Si no se puede encontrar ninguna biblioteca, " "retorna ``None``." -#: ../Doc/library/ctypes.rst:1909 +#: ../Doc/library/ctypes.rst:1924 msgid "" "Windows only: return the filename of the VC runtime library used by Python, " "and by the extension modules. If the name of the library cannot be " @@ -2659,7 +2683,7 @@ msgstr "" "ejecución de VC usada por Python, y por los módulos de extensión. Si no se " "puede determinar el nombre de la biblioteca, se retorna ``None``." -#: ../Doc/library/ctypes.rst:1913 +#: ../Doc/library/ctypes.rst:1928 msgid "" "If you need to free memory, for example, allocated by an extension module " "with a call to the ``free(void *)``, it is important that you use the " @@ -2669,7 +2693,7 @@ msgstr "" "extensión con una llamada al ``free(void *)``, es importante que utilice la " "función en la misma biblioteca que asignó la memoria." -#: ../Doc/library/ctypes.rst:1920 +#: ../Doc/library/ctypes.rst:1935 msgid "" "Windows only: Returns a textual description of the error code *code*. If no " "error code is specified, the last error code is used by calling the Windows " @@ -2679,7 +2703,7 @@ msgstr "" "no se especifica ningún código de error, se utiliza el último código de " "error llamando a la función de api de Windows GetLastError." -#: ../Doc/library/ctypes.rst:1927 +#: ../Doc/library/ctypes.rst:1942 msgid "" "Windows only: Returns the last error code set by Windows in the calling " "thread. This function calls the Windows `GetLastError()` function directly, " @@ -2690,7 +2714,7 @@ msgstr "" "`GetLastError()` de Windows, no retorna la copia ctypes-private del código " "de error." -#: ../Doc/library/ctypes.rst:1933 +#: ../Doc/library/ctypes.rst:1948 msgid "" "Returns the current value of the ctypes-private copy of the system :data:" "`errno` variable in the calling thread." @@ -2698,7 +2722,7 @@ msgstr "" "Retorna el valor actual de la copia ctypes-private de la variable de " "sistema :data:`errno` en el hilo de llamada." -#: ../Doc/library/ctypes.rst:1936 +#: ../Doc/library/ctypes.rst:1951 msgid "" "Raises an :ref:`auditing event ` ``ctypes.get_errno`` with no " "arguments." @@ -2706,7 +2730,7 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``ctypes.get_errno`` sin " "argumentos." -#: ../Doc/library/ctypes.rst:1940 +#: ../Doc/library/ctypes.rst:1955 msgid "" "Windows only: returns the current value of the ctypes-private copy of the " "system :data:`LastError` variable in the calling thread." @@ -2714,7 +2738,7 @@ msgstr "" "Sólo Windows: retorna el valor actual de la copia ctypes-private de la " "variable de sistema :data:`LastError` en el hilo de llamada." -#: ../Doc/library/ctypes.rst:1943 +#: ../Doc/library/ctypes.rst:1958 msgid "" "Raises an :ref:`auditing event ` ``ctypes.get_last_error`` with no " "arguments." @@ -2722,7 +2746,7 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``ctypes.get_last_error`` sin " "argumentos." -#: ../Doc/library/ctypes.rst:1947 +#: ../Doc/library/ctypes.rst:1962 msgid "" "Same as the standard C memmove library function: copies *count* bytes from " "*src* to *dst*. *dst* and *src* must be integers or ctypes instances that " @@ -2732,7 +2756,7 @@ msgstr "" "*count* bytes de *src* a *dst*. *dst* y *src* deben ser enteros o instancias " "ctypes que pueden ser convertidos en punteros." -#: ../Doc/library/ctypes.rst:1954 +#: ../Doc/library/ctypes.rst:1969 msgid "" "Same as the standard C memset library function: fills the memory block at " "address *dst* with *count* bytes of value *c*. *dst* must be an integer " @@ -2743,7 +2767,7 @@ msgstr "" "*dst* debe ser un número entero que especifique una dirección, o una " "instancia ctypes." -#: ../Doc/library/ctypes.rst:1961 +#: ../Doc/library/ctypes.rst:1976 msgid "" "This factory function creates and returns a new ctypes pointer type. Pointer " "types are cached and reused internally, so calling this function repeatedly " @@ -2754,7 +2778,7 @@ msgstr "" "que llamar a esta función repetidamente es barato. *type* debe ser un tipo " "ctypes." -#: ../Doc/library/ctypes.rst:1968 +#: ../Doc/library/ctypes.rst:1983 msgid "" "This function creates a new pointer instance, pointing to *obj*. The " "returned object is of the type ``POINTER(type(obj))``." @@ -2762,7 +2786,7 @@ msgstr "" "Esta función crea una nueva instancia de puntero, apuntando a *obj*. El " "objeto retornado es del tipo ``POINTER(tipo(obj))``." -#: ../Doc/library/ctypes.rst:1971 +#: ../Doc/library/ctypes.rst:1986 msgid "" "Note: If you just want to pass a pointer to an object to a foreign function " "call, you should use ``byref(obj)`` which is much faster." @@ -2770,7 +2794,7 @@ msgstr "" "Nota: Si sólo quieres pasar un puntero a un objeto a una llamada de función " "foránea, deberías usar ``byref(obj)`` que es mucho más rápido." -#: ../Doc/library/ctypes.rst:1977 +#: ../Doc/library/ctypes.rst:1992 msgid "" "This function resizes the internal memory buffer of *obj*, which must be an " "instance of a ctypes type. It is not possible to make the buffer smaller " @@ -2782,7 +2806,7 @@ msgstr "" "el tamaño nativo del tipo de objetos, como lo indica ``size of " "(type(obj))``, pero es posible agrandar el buffer." -#: ../Doc/library/ctypes.rst:1985 +#: ../Doc/library/ctypes.rst:2000 msgid "" "Set the current value of the ctypes-private copy of the system :data:`errno` " "variable in the calling thread to *value* and return the previous value." @@ -2790,7 +2814,7 @@ msgstr "" "Poner el valor actual de la copia ctypes-private de la variable del sistema :" "data:`errno` en el hilo de llamada a *valor* y retornar el valor anterior." -#: ../Doc/library/ctypes.rst:1988 +#: ../Doc/library/ctypes.rst:2003 msgid "" "Raises an :ref:`auditing event ` ``ctypes.set_errno`` with " "argument ``errno``." @@ -2798,7 +2822,7 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``ctypes.set_errno`` con " "argumento ``errno``." -#: ../Doc/library/ctypes.rst:1993 +#: ../Doc/library/ctypes.rst:2008 msgid "" "Windows only: set the current value of the ctypes-private copy of the " "system :data:`LastError` variable in the calling thread to *value* and " @@ -2808,7 +2832,7 @@ msgstr "" "variable del sistema :data:`LastError` en el hilo de llamada a *valor* y " "retorna el valor anterior." -#: ../Doc/library/ctypes.rst:1997 +#: ../Doc/library/ctypes.rst:2012 msgid "" "Raises an :ref:`auditing event ` ``ctypes.set_last_error`` with " "argument ``error``." @@ -2816,7 +2840,7 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``ctypes.set_last_error`` con " "argumento ``error``." -#: ../Doc/library/ctypes.rst:2002 +#: ../Doc/library/ctypes.rst:2017 msgid "" "Returns the size in bytes of a ctypes type or instance memory buffer. Does " "the same as the C ``sizeof`` operator." @@ -2824,7 +2848,7 @@ msgstr "" "Retorna el tamaño en bytes de un buffer de memoria tipo ctypes o instancia. " "Hace lo mismo que el operador C ``sizeof``." -#: ../Doc/library/ctypes.rst:2008 +#: ../Doc/library/ctypes.rst:2023 msgid "" "This function returns the C string starting at memory address *address* as a " "bytes object. If size is specified, it is used as size, otherwise the string " @@ -2834,7 +2858,7 @@ msgstr "" "*address* como un objeto de bytes. Si se especifica el tamaño, se utiliza " "como tamaño, de lo contrario se asume que la cadena tiene un final cero." -#: ../Doc/library/ctypes.rst:2012 +#: ../Doc/library/ctypes.rst:2027 msgid "" "Raises an :ref:`auditing event ` ``ctypes.string_at`` with " "arguments ``address``, ``size``." @@ -2842,7 +2866,7 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``ctypes.string_at`` con " "argumentos ``address``, ``size``." -#: ../Doc/library/ctypes.rst:2017 +#: ../Doc/library/ctypes.rst:2032 msgid "" "Windows only: this function is probably the worst-named thing in ctypes. It " "creates an instance of OSError. If *code* is not specified, " @@ -2856,11 +2880,11 @@ msgstr "" "especifica *descr*, se llama a :func:`FormatError`` para obtener una " "descripción textual del error." -#: ../Doc/library/ctypes.rst:2023 +#: ../Doc/library/ctypes.rst:2038 msgid "An instance of :exc:`WindowsError` used to be created." msgstr "Una instancia de :exc:`WindowsError` solía ser creada." -#: ../Doc/library/ctypes.rst:2029 +#: ../Doc/library/ctypes.rst:2044 msgid "" "This function returns the wide character string starting at memory address " "*address* as a string. If *size* is specified, it is used as the number of " @@ -2872,7 +2896,7 @@ msgstr "" "utiliza como el número de caracteres de la cadena, de lo contrario se asume " "que la cadena tiene un final cero." -#: ../Doc/library/ctypes.rst:2034 +#: ../Doc/library/ctypes.rst:2049 msgid "" "Raises an :ref:`auditing event ` ``ctypes.wstring_at`` with " "arguments ``address``, ``size``." @@ -2880,11 +2904,11 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``ctypes.wstring_at`` con " "argumentos ``address``, ``size``." -#: ../Doc/library/ctypes.rst:2040 +#: ../Doc/library/ctypes.rst:2055 msgid "Data types" msgstr "Tipos de datos" -#: ../Doc/library/ctypes.rst:2045 +#: ../Doc/library/ctypes.rst:2060 msgid "" "This non-public class is the common base class of all ctypes data types. " "Among other things, all ctypes type instances contain a memory block that " @@ -2901,7 +2925,7 @@ msgstr "" "ésta contiene otros objetos de Python que deben mantenerse vivos en caso de " "que el bloque de memoria contenga punteros." -#: ../Doc/library/ctypes.rst:2052 +#: ../Doc/library/ctypes.rst:2067 msgid "" "Common methods of ctypes data types, these are all class methods (to be " "exact, they are methods of the :term:`metaclass`):" @@ -2909,7 +2933,7 @@ msgstr "" "Métodos comunes de tipos de datos ctypes, estos son todos métodos de clase " "(para ser exactos, son métodos del :term:`metaclass`):" -#: ../Doc/library/ctypes.rst:2057 +#: ../Doc/library/ctypes.rst:2072 msgid "" "This method returns a ctypes instance that shares the buffer of the *source* " "object. The *source* object must support the writeable buffer interface. " @@ -2923,7 +2947,7 @@ msgstr "" "de la fuente en bytes; el valor por defecto es cero. Si el buffer de la " "fuente no es lo suficientemente grande se lanza un :exc:`ValueError`." -#: ../Doc/library/ctypes.rst:2063 ../Doc/library/ctypes.rst:2073 +#: ../Doc/library/ctypes.rst:2078 ../Doc/library/ctypes.rst:2088 msgid "" "Raises an :ref:`auditing event ` ``ctypes.cdata/buffer`` with " "arguments ``pointer``, ``size``, ``offset``." @@ -2931,7 +2955,7 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``ctypes.cdata/buffer`` con " "argumentos ``pointer``, ``size``, ``offset``." -#: ../Doc/library/ctypes.rst:2067 +#: ../Doc/library/ctypes.rst:2082 msgid "" "This method creates a ctypes instance, copying the buffer from the *source* " "object buffer which must be readable. The optional *offset* parameter " @@ -2944,7 +2968,7 @@ msgstr "" "es cero. Si el buffer de fuente no es lo suficientemente grande se lanza un :" "exc:`ValueError`." -#: ../Doc/library/ctypes.rst:2077 +#: ../Doc/library/ctypes.rst:2092 msgid "" "This method returns a ctypes type instance using the memory specified by " "*address* which must be an integer." @@ -2952,6 +2976,7 @@ msgstr "" "Este método retorna una instancia de tipo ctypes utilizando la memoria " "especificada por *address* que debe ser un entero." +#: ../Doc/library/ctypes.rst:2095 #, fuzzy msgid "" "Raises an :ref:`auditing event ` ``ctypes.cdata`` with argument " @@ -2960,7 +2985,7 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``ctypes.cdata`` con " "argumento ``address``." -#: ../Doc/library/ctypes.rst:2082 +#: ../Doc/library/ctypes.rst:2097 msgid "" "This method, and others that indirectly call this method, raises an :ref:" "`auditing event ` ``ctypes.cdata`` with argument ``address``." @@ -2968,7 +2993,7 @@ msgstr "" "Este método, y otros que indirectamente llaman a este método, lanzan un :ref:" "`evento de auditoría ` ``ctypes.cdata`` con argumento ``address``." -#: ../Doc/library/ctypes.rst:2088 +#: ../Doc/library/ctypes.rst:2103 msgid "" "This method adapts *obj* to a ctypes type. It is called with the actual " "object used in a foreign function call when the type is present in the " @@ -2980,7 +3005,7 @@ msgstr "" "la tupla :attr:`argtypes` de la función foránea; debe retornar un objeto que " "pueda ser usado como parámetro de llamada a la función." -#: ../Doc/library/ctypes.rst:2093 +#: ../Doc/library/ctypes.rst:2108 msgid "" "All ctypes data types have a default implementation of this classmethod that " "normally returns *obj* if that is an instance of the type. Some types " @@ -2990,7 +3015,7 @@ msgstr "" "este método de clase que normalmente retorna *obj* si es una instancia del " "tipo. Algunos tipos aceptan también otros objetos." -#: ../Doc/library/ctypes.rst:2099 +#: ../Doc/library/ctypes.rst:2114 msgid "" "This method returns a ctypes type instance exported by a shared library. " "*name* is the name of the symbol that exports the data, *library* is the " @@ -3000,11 +3025,11 @@ msgstr "" "biblioteca compartida. *name* es el nombre del símbolo que exporta los " "datos, *library* es la biblioteca compartida cargada." -#: ../Doc/library/ctypes.rst:2103 +#: ../Doc/library/ctypes.rst:2118 msgid "Common instance variables of ctypes data types:" msgstr "Variables de instancia común de los tipos de datos de ctypes:" -#: ../Doc/library/ctypes.rst:2107 +#: ../Doc/library/ctypes.rst:2122 msgid "" "Sometimes ctypes data instances do not own the memory block they contain, " "instead they share part of the memory block of a base object. The :attr:" @@ -3016,7 +3041,7 @@ msgstr "" "El miembro de sólo lectura :attr:`_b_base_` es el objeto raíz ctypes que " "posee el bloque de memoria." -#: ../Doc/library/ctypes.rst:2114 +#: ../Doc/library/ctypes.rst:2129 msgid "" "This read-only variable is true when the ctypes data instance has allocated " "the memory block itself, false otherwise." @@ -3025,7 +3050,7 @@ msgstr "" "ctypes ha sido asignada a el propio bloque de memoria, falsa en caso " "contrario." -#: ../Doc/library/ctypes.rst:2119 +#: ../Doc/library/ctypes.rst:2134 msgid "" "This member is either ``None`` or a dictionary containing Python objects " "that need to be kept alive so that the memory block contents is kept valid. " @@ -3037,7 +3062,7 @@ msgstr "" "válido. Este objeto sólo se expone para su depuración; nunca modifique el " "contenido de este diccionario." -#: ../Doc/library/ctypes.rst:2132 +#: ../Doc/library/ctypes.rst:2147 msgid "" "This non-public class is the base class of all fundamental ctypes data " "types. It is mentioned here because it contains the common attributes of the " @@ -3052,11 +3077,11 @@ msgstr "" "tipos de datos ctypes que no son y no contienen punteros ahora pueden ser " "archivados." -#: ../Doc/library/ctypes.rst:2138 +#: ../Doc/library/ctypes.rst:2153 msgid "Instances have a single attribute:" msgstr "Los instancias tienen un solo atributo:" -#: ../Doc/library/ctypes.rst:2142 +#: ../Doc/library/ctypes.rst:2157 msgid "" "This attribute contains the actual value of the instance. For integer and " "pointer types, it is an integer, for character types, it is a single " @@ -3068,7 +3093,7 @@ msgstr "" "cadena de bytes de un solo carácter, para los tipos de punteros de " "caracteres es un objeto o cadena de bytes de Python." -#: ../Doc/library/ctypes.rst:2147 +#: ../Doc/library/ctypes.rst:2162 msgid "" "When the ``value`` attribute is retrieved from a ctypes instance, usually a " "new object is returned each time. :mod:`ctypes` does *not* implement " @@ -3080,7 +3105,7 @@ msgstr "" "implementa el retorno del objeto original, siempre se construye un nuevo " "objeto. Lo mismo ocurre con todas las demás instancias de objetos ctypes." -#: ../Doc/library/ctypes.rst:2153 +#: ../Doc/library/ctypes.rst:2168 msgid "" "Fundamental data types, when returned as foreign function call results, or, " "for example, by retrieving structure field members or array items, are " @@ -3095,7 +3120,7 @@ msgstr "" "externa tiene un :attr:`restype` de :class:`c_char_p`, siempre recibirá un " "objeto de bytes Python, *no* una instancia de :class:`c_char_p`." -#: ../Doc/library/ctypes.rst:2161 +#: ../Doc/library/ctypes.rst:2176 msgid "" "Subclasses of fundamental data types do *not* inherit this behavior. So, if " "a foreign functions :attr:`restype` is a subclass of :class:`c_void_p`, you " @@ -3108,11 +3133,11 @@ msgstr "" "llamada a la función. Por supuesto, puedes obtener el valor del puntero " "accediendo al atributo ``value``." -#: ../Doc/library/ctypes.rst:2166 +#: ../Doc/library/ctypes.rst:2181 msgid "These are the fundamental ctypes data types:" msgstr "Estos son los tipos de datos fundamentales de ctypes:" -#: ../Doc/library/ctypes.rst:2170 +#: ../Doc/library/ctypes.rst:2185 msgid "" "Represents the C :c:type:`signed char` datatype, and interprets the value as " "small integer. The constructor accepts an optional integer initializer; no " @@ -3122,7 +3147,7 @@ msgstr "" "como un entero pequeño. El constructor acepta un inicializador de entero " "opcional; no se hace ninguna comprobación de desbordamiento." -#: ../Doc/library/ctypes.rst:2177 +#: ../Doc/library/ctypes.rst:2192 msgid "" "Represents the C :c:type:`char` datatype, and interprets the value as a " "single character. The constructor accepts an optional string initializer, " @@ -3132,7 +3157,7 @@ msgstr "" "solo carácter. El constructor acepta un inicializador de cadena opcional, la " "longitud de la cadena debe ser exactamente un carácter." -#: ../Doc/library/ctypes.rst:2184 +#: ../Doc/library/ctypes.rst:2199 msgid "" "Represents the C :c:type:`char *` datatype when it points to a zero-" "terminated string. For a general character pointer that may also point to " @@ -3144,7 +3169,7 @@ msgstr "" "apuntar a datos binarios, se debe usar ``POINTER(c_char)``. El constructor " "acepta una dirección entera, o un objeto de bytes." -#: ../Doc/library/ctypes.rst:2192 +#: ../Doc/library/ctypes.rst:2207 msgid "" "Represents the C :c:type:`double` datatype. The constructor accepts an " "optional float initializer." @@ -3152,7 +3177,7 @@ msgstr "" "Representa el tipo de datos C :c:type:`double`. El constructor acepta un " "inicializador flotante opcional." -#: ../Doc/library/ctypes.rst:2198 +#: ../Doc/library/ctypes.rst:2213 msgid "" "Represents the C :c:type:`long double` datatype. The constructor accepts an " "optional float initializer. On platforms where ``sizeof(long double) == " @@ -3162,7 +3187,7 @@ msgstr "" "un inicializador flotante opcional. En las plataformas donde ``sizeof(long " "double) == sizeof(double)`` es un alias de :class:`c_double`." -#: ../Doc/library/ctypes.rst:2204 +#: ../Doc/library/ctypes.rst:2219 msgid "" "Represents the C :c:type:`float` datatype. The constructor accepts an " "optional float initializer." @@ -3170,7 +3195,7 @@ msgstr "" "Representa el tipo de datos C :c:type:`float`. El constructor acepta un " "inicializador flotante opcional." -#: ../Doc/library/ctypes.rst:2210 +#: ../Doc/library/ctypes.rst:2225 msgid "" "Represents the C :c:type:`signed int` datatype. The constructor accepts an " "optional integer initializer; no overflow checking is done. On platforms " @@ -3181,7 +3206,7 @@ msgstr "" "desbordamiento. En plataformas donde ``sizeof(int) == sizeof(long)`` es un " "alias de :class:`c_long`." -#: ../Doc/library/ctypes.rst:2217 +#: ../Doc/library/ctypes.rst:2232 msgid "" "Represents the C 8-bit :c:type:`signed int` datatype. Usually an alias for :" "class:`c_byte`." @@ -3189,7 +3214,7 @@ msgstr "" "Representa el tipo de datos C 8-bit :c:type:`signed int`. Normalmente un " "alias para :class:`c_byte`." -#: ../Doc/library/ctypes.rst:2223 +#: ../Doc/library/ctypes.rst:2238 msgid "" "Represents the C 16-bit :c:type:`signed int` datatype. Usually an alias " "for :class:`c_short`." @@ -3197,7 +3222,7 @@ msgstr "" "Representa el tipo de datos C 16-bit :c:type:`signed int`. Normalmente un " "alias para :class:`c_short`." -#: ../Doc/library/ctypes.rst:2229 +#: ../Doc/library/ctypes.rst:2244 msgid "" "Represents the C 32-bit :c:type:`signed int` datatype. Usually an alias " "for :class:`c_int`." @@ -3205,7 +3230,7 @@ msgstr "" "Representa el tipo de datos C 32-bit :c:type:`signed int`. Normalmente un " "alias para :class:`c_int`." -#: ../Doc/library/ctypes.rst:2235 +#: ../Doc/library/ctypes.rst:2250 msgid "" "Represents the C 64-bit :c:type:`signed int` datatype. Usually an alias " "for :class:`c_longlong`." @@ -3213,7 +3238,7 @@ msgstr "" "Representa el tipo de datos C 64-bit :c:type:`signed int`. Normalmente un " "alias para :class:`c_longlong`." -#: ../Doc/library/ctypes.rst:2241 +#: ../Doc/library/ctypes.rst:2256 msgid "" "Represents the C :c:type:`signed long` datatype. The constructor accepts an " "optional integer initializer; no overflow checking is done." @@ -3222,7 +3247,7 @@ msgstr "" "un inicializador entero opcional; no se hace ninguna comprobación de " "desbordamiento." -#: ../Doc/library/ctypes.rst:2247 +#: ../Doc/library/ctypes.rst:2262 msgid "" "Represents the C :c:type:`signed long long` datatype. The constructor " "accepts an optional integer initializer; no overflow checking is done." @@ -3231,7 +3256,7 @@ msgstr "" "constructor acepta un inicializador entero opcional; no se hace ninguna " "comprobación de desbordamiento." -#: ../Doc/library/ctypes.rst:2253 +#: ../Doc/library/ctypes.rst:2268 msgid "" "Represents the C :c:type:`signed short` datatype. The constructor accepts " "an optional integer initializer; no overflow checking is done." @@ -3240,15 +3265,15 @@ msgstr "" "un inicializador entero opcional; no se hace ninguna comprobación de " "desbordamiento." -#: ../Doc/library/ctypes.rst:2259 +#: ../Doc/library/ctypes.rst:2274 msgid "Represents the C :c:type:`size_t` datatype." msgstr "Representa el tipo de datos C :c:type:`size_t`." -#: ../Doc/library/ctypes.rst:2264 +#: ../Doc/library/ctypes.rst:2279 msgid "Represents the C :c:type:`ssize_t` datatype." msgstr "Representa el tipo de datos C :c:type:`ssize_t`." -#: ../Doc/library/ctypes.rst:2271 +#: ../Doc/library/ctypes.rst:2286 msgid "" "Represents the C :c:type:`unsigned char` datatype, it interprets the value " "as small integer. The constructor accepts an optional integer initializer; " @@ -3258,7 +3283,7 @@ msgstr "" "como un entero pequeño. El constructor acepta un inicializador entero " "opcional; no se hace ninguna comprobación de desbordamiento." -#: ../Doc/library/ctypes.rst:2278 +#: ../Doc/library/ctypes.rst:2293 msgid "" "Represents the C :c:type:`unsigned int` datatype. The constructor accepts " "an optional integer initializer; no overflow checking is done. On platforms " @@ -3269,7 +3294,7 @@ msgstr "" "desbordamiento. En plataformas donde ``sizeof(int) == sizeof(long)`` es un " "alias para :class:`c_ulong`." -#: ../Doc/library/ctypes.rst:2285 +#: ../Doc/library/ctypes.rst:2300 msgid "" "Represents the C 8-bit :c:type:`unsigned int` datatype. Usually an alias " "for :class:`c_ubyte`." @@ -3277,7 +3302,7 @@ msgstr "" "Representa el tipo de datos C 8-bit :c:type:`unsigned int`. Normalmente un " "alias para :class:`c_ubyte`." -#: ../Doc/library/ctypes.rst:2291 +#: ../Doc/library/ctypes.rst:2306 msgid "" "Represents the C 16-bit :c:type:`unsigned int` datatype. Usually an alias " "for :class:`c_ushort`." @@ -3285,7 +3310,7 @@ msgstr "" "Representa el tipo de datos C 16-bit :c:type:`unsigned int`. Normalmente un " "alias para :class:`c_ushort`." -#: ../Doc/library/ctypes.rst:2297 +#: ../Doc/library/ctypes.rst:2312 msgid "" "Represents the C 32-bit :c:type:`unsigned int` datatype. Usually an alias " "for :class:`c_uint`." @@ -3293,7 +3318,7 @@ msgstr "" "Representa el tipo de datos C 32-bit :c:type:`unsigned int`. Normalmente un " "alias para :class:`c_uint`." -#: ../Doc/library/ctypes.rst:2303 +#: ../Doc/library/ctypes.rst:2318 msgid "" "Represents the C 64-bit :c:type:`unsigned int` datatype. Usually an alias " "for :class:`c_ulonglong`." @@ -3301,7 +3326,7 @@ msgstr "" "Representa el tipo de datos C 64-bit :c:type:`unsigned int`. Normalmente un " "alias para :class:`c_ulonglong`." -#: ../Doc/library/ctypes.rst:2309 +#: ../Doc/library/ctypes.rst:2324 msgid "" "Represents the C :c:type:`unsigned long` datatype. The constructor accepts " "an optional integer initializer; no overflow checking is done." @@ -3310,7 +3335,7 @@ msgstr "" "un inicializador entero opcional; no se hace ninguna comprobación de " "desbordamiento." -#: ../Doc/library/ctypes.rst:2315 +#: ../Doc/library/ctypes.rst:2330 msgid "" "Represents the C :c:type:`unsigned long long` datatype. The constructor " "accepts an optional integer initializer; no overflow checking is done." @@ -3319,7 +3344,7 @@ msgstr "" "acepta un inicializador entero opcional; no se hace ninguna comprobación de " "desbordamiento." -#: ../Doc/library/ctypes.rst:2321 +#: ../Doc/library/ctypes.rst:2336 msgid "" "Represents the C :c:type:`unsigned short` datatype. The constructor accepts " "an optional integer initializer; no overflow checking is done." @@ -3328,7 +3353,7 @@ msgstr "" "acepta un inicializador entero opcional; no se hace ninguna comprobación de " "desbordamiento." -#: ../Doc/library/ctypes.rst:2327 +#: ../Doc/library/ctypes.rst:2342 msgid "" "Represents the C :c:type:`void *` type. The value is represented as " "integer. The constructor accepts an optional integer initializer." @@ -3336,7 +3361,7 @@ msgstr "" "Representa el tipo C :c:type:`void *`. El valor se representa como un " "entero. El constructor acepta un inicializador entero opcional." -#: ../Doc/library/ctypes.rst:2333 +#: ../Doc/library/ctypes.rst:2348 msgid "" "Represents the C :c:type:`wchar_t` datatype, and interprets the value as a " "single character unicode string. The constructor accepts an optional string " @@ -3347,7 +3372,7 @@ msgstr "" "inicializador de cadena opcional, la longitud de la cadena debe ser " "exactamente de un carácter." -#: ../Doc/library/ctypes.rst:2340 +#: ../Doc/library/ctypes.rst:2355 msgid "" "Represents the C :c:type:`wchar_t *` datatype, which must be a pointer to a " "zero-terminated wide character string. The constructor accepts an integer " @@ -3357,7 +3382,7 @@ msgstr "" "una cadena de caracteres anchos con terminación cero. El constructor acepta " "una dirección entera, o una cadena." -#: ../Doc/library/ctypes.rst:2347 +#: ../Doc/library/ctypes.rst:2362 msgid "" "Represent the C :c:type:`bool` datatype (more accurately, :c:type:`_Bool` " "from C99). Its value can be ``True`` or ``False``, and the constructor " @@ -3367,7 +3392,7 @@ msgstr "" "`_Bool` de C99). Su valor puede ser ``True`` o ``False``, y el constructor " "acepta cualquier objeto que tenga un valor verdadero." -#: ../Doc/library/ctypes.rst:2354 +#: ../Doc/library/ctypes.rst:2369 msgid "" "Windows only: Represents a :c:type:`HRESULT` value, which contains success " "or error information for a function or method call." @@ -3375,7 +3400,7 @@ msgstr "" "Sólo Windows: Representa un valor :c:type:`HRESULT` , que contiene " "información de éxito o error para una llamada de función o método." -#: ../Doc/library/ctypes.rst:2360 +#: ../Doc/library/ctypes.rst:2375 msgid "" "Represents the C :c:type:`PyObject *` datatype. Calling this without an " "argument creates a ``NULL`` :c:type:`PyObject *` pointer." @@ -3383,7 +3408,7 @@ msgstr "" "Representa el tipo de datos C :c:type:`PyObject *`. Llamar esto sin un " "argumento crea un puntero ``NULL`` :c:type:`PyObject *`." -#: ../Doc/library/ctypes.rst:2363 +#: ../Doc/library/ctypes.rst:2378 msgid "" "The :mod:`ctypes.wintypes` module provides quite some other Windows specific " "data types, for example :c:type:`HWND`, :c:type:`WPARAM`, or :c:type:" @@ -3395,24 +3420,24 @@ msgstr "" "type:`DWORD`. Algunas estructuras útiles como :c:type:`MSG` o :c:type:`RECT` " "también están definidas." -#: ../Doc/library/ctypes.rst:2371 +#: ../Doc/library/ctypes.rst:2386 msgid "Structured data types" msgstr "Tipos de datos estructurados" -#: ../Doc/library/ctypes.rst:2376 +#: ../Doc/library/ctypes.rst:2391 msgid "Abstract base class for unions in native byte order." msgstr "Clase base abstracta para uniones en orden de bytes nativos." -#: ../Doc/library/ctypes.rst:2381 +#: ../Doc/library/ctypes.rst:2396 msgid "Abstract base class for structures in *big endian* byte order." msgstr "Clase base abstracta para estructuras en orden de bytes *big endian*." -#: ../Doc/library/ctypes.rst:2386 +#: ../Doc/library/ctypes.rst:2401 msgid "Abstract base class for structures in *little endian* byte order." msgstr "" "Clase base abstracta para estructuras en orden de bytes *little endian*." -#: ../Doc/library/ctypes.rst:2388 +#: ../Doc/library/ctypes.rst:2403 msgid "" "Structures with non-native byte order cannot contain pointer type fields, or " "any other data types containing pointer type fields." @@ -3421,11 +3446,11 @@ msgstr "" "tipo puntero, o cualquier otro tipo de datos que contenga campos de tipo " "puntero." -#: ../Doc/library/ctypes.rst:2394 +#: ../Doc/library/ctypes.rst:2409 msgid "Abstract base class for structures in *native* byte order." msgstr "Clase base abstracta para estructuras en orden de bytes *native*." -#: ../Doc/library/ctypes.rst:2396 +#: ../Doc/library/ctypes.rst:2411 msgid "" "Concrete structure and union types must be created by subclassing one of " "these types, and at least define a :attr:`_fields_` class variable. :mod:" @@ -3437,7 +3462,7 @@ msgstr "" "`_fields_`. :mod:`ctypes` creará :term:`descriptor`\\s que permitan leer y " "escribir los campos por accesos directos de atributos. Estos son los" -#: ../Doc/library/ctypes.rst:2404 +#: ../Doc/library/ctypes.rst:2419 msgid "" "A sequence defining the structure fields. The items must be 2-tuples or 3-" "tuples. The first item is the name of the field, the second item specifies " @@ -3447,7 +3472,7 @@ msgstr "" "de 2 o 3 tuplas. El primer ítem es el nombre del campo, el segundo ítem " "especifica el tipo de campo; puede ser cualquier tipo de datos ctypes." -#: ../Doc/library/ctypes.rst:2408 +#: ../Doc/library/ctypes.rst:2423 msgid "" "For integer type fields like :class:`c_int`, a third optional item can be " "given. It must be a small positive integer defining the bit width of the " @@ -3457,7 +3482,7 @@ msgstr "" "elemento opcional. Debe ser un pequeño entero positivo que defina el ancho " "de bit del campo." -#: ../Doc/library/ctypes.rst:2412 +#: ../Doc/library/ctypes.rst:2427 msgid "" "Field names must be unique within one structure or union. This is not " "checked, only one field can be accessed when names are repeated." @@ -3466,7 +3491,7 @@ msgstr "" "Esto no se comprueba, sólo se puede acceder a un campo cuando los nombres se " "repiten." -#: ../Doc/library/ctypes.rst:2415 +#: ../Doc/library/ctypes.rst:2430 msgid "" "It is possible to define the :attr:`_fields_` class variable *after* the " "class statement that defines the Structure subclass, this allows creating " @@ -3476,7 +3501,7 @@ msgstr "" "sentencia de clase que define la subclase Estructura, esto permite crear " "tipos de datos que se refieren directa o indirectamente a sí mismos::" -#: ../Doc/library/ctypes.rst:2425 +#: ../Doc/library/ctypes.rst:2440 msgid "" "The :attr:`_fields_` class variable must, however, be defined before the " "type is first used (an instance is created, :func:`sizeof` is called on it, " @@ -3488,7 +3513,7 @@ msgstr "" "func:`sizeof`, y así sucesivamente). Las asignaciones posteriores a la " "variable de clase :attr:`_fields_` lanzarán un AttributeError." -#: ../Doc/library/ctypes.rst:2430 +#: ../Doc/library/ctypes.rst:2445 msgid "" "It is possible to define sub-subclasses of structure types, they inherit the " "fields of the base class plus the :attr:`_fields_` defined in the sub-" @@ -3497,7 +3522,7 @@ msgstr "" "Es posible definir subclases de tipos de estructura, que heredan los campos " "de la clase base más el :attr:`_fields_` definido en la subclase, si existe." -#: ../Doc/library/ctypes.rst:2437 +#: ../Doc/library/ctypes.rst:2452 msgid "" "An optional small integer that allows overriding the alignment of structure " "fields in the instance. :attr:`_pack_` must already be defined when :attr:" @@ -3507,7 +3532,7 @@ msgstr "" "estructura en la instancia. :attr:`_pack_` ya debe estar definido cuando se " "asigna :attr:`_fields_`, de lo contrario no tendrá ningún efecto." -#: ../Doc/library/ctypes.rst:2444 +#: ../Doc/library/ctypes.rst:2459 msgid "" "An optional sequence that lists the names of unnamed (anonymous) fields. :" "attr:`_anonymous_` must be already defined when :attr:`_fields_` is " @@ -3517,7 +3542,7 @@ msgstr "" "(anónimos). :attr:`_anonymous_` debe estar ya definida cuando se asigna :" "attr:`_fields_`, de lo contrario no tendrá ningún efecto." -#: ../Doc/library/ctypes.rst:2448 +#: ../Doc/library/ctypes.rst:2463 msgid "" "The fields listed in this variable must be structure or union type fields. :" "mod:`ctypes` will create descriptors in the structure type that allows " @@ -3529,11 +3554,11 @@ msgstr "" "permitan acceder a los campos anidados directamente, sin necesidad de crear " "el campo de estructura o unión." -#: ../Doc/library/ctypes.rst:2453 +#: ../Doc/library/ctypes.rst:2468 msgid "Here is an example type (Windows)::" msgstr "Aquí hay un tipo de ejemplo (Windows)::" -#: ../Doc/library/ctypes.rst:2466 +#: ../Doc/library/ctypes.rst:2481 msgid "" "The ``TYPEDESC`` structure describes a COM data type, the ``vt`` field " "specifies which one of the union fields is valid. Since the ``u`` field is " @@ -3549,7 +3574,7 @@ msgstr "" "son equivalentes, pero el primero es más rápido ya que no necesita crear una " "instancia de unión temporal::" -#: ../Doc/library/ctypes.rst:2478 +#: ../Doc/library/ctypes.rst:2493 msgid "" "It is possible to define sub-subclasses of structures, they inherit the " "fields of the base class. If the subclass definition has a separate :attr:" @@ -3561,7 +3586,7 @@ msgstr "" "`_fields_` separada, los campos especificados en ella se añaden a los campos " "de la clase base." -#: ../Doc/library/ctypes.rst:2483 +#: ../Doc/library/ctypes.rst:2498 msgid "" "Structure and union constructors accept both positional and keyword " "arguments. Positional arguments are used to initialize member fields in the " @@ -3578,15 +3603,15 @@ msgstr "" "inicializarán :attr:`_fields_` con el mismo nombre, o crearán nuevos " "atributos para nombres no presentes en :attr:`_fields_`." -#: ../Doc/library/ctypes.rst:2494 +#: ../Doc/library/ctypes.rst:2509 msgid "Arrays and pointers" msgstr "Arreglos y punteros" -#: ../Doc/library/ctypes.rst:2498 +#: ../Doc/library/ctypes.rst:2513 msgid "Abstract base class for arrays." msgstr "Clase base abstracta para arreglos." -#: ../Doc/library/ctypes.rst:2500 +#: ../Doc/library/ctypes.rst:2515 msgid "" "The recommended way to create concrete array types is by multiplying any :" "mod:`ctypes` data type with a positive integer. Alternatively, you can " @@ -3602,7 +3627,7 @@ msgstr "" "ser leídos y escritos usando subíndices estándar y accesos slice; para las " "lecturas slice, el objeto resultante *no es* en sí mismo un :class:`Array`." -#: ../Doc/library/ctypes.rst:2510 +#: ../Doc/library/ctypes.rst:2525 msgid "" "A positive integer specifying the number of elements in the array. Out-of-" "range subscripts result in an :exc:`IndexError`. Will be returned by :func:" @@ -3612,11 +3637,11 @@ msgstr "" "conjunto. Los subíndices fuera de rango dan como resultado un :exc:" "`IndexError`. Será retornado por :func:`len`." -#: ../Doc/library/ctypes.rst:2517 +#: ../Doc/library/ctypes.rst:2532 msgid "Specifies the type of each element in the array." msgstr "Especifica el tipo de cada elemento del arreglo." -#: ../Doc/library/ctypes.rst:2520 +#: ../Doc/library/ctypes.rst:2535 msgid "" "Array subclass constructors accept positional arguments, used to initialize " "the elements in order." @@ -3624,11 +3649,11 @@ msgstr "" "Los constructores de subclases de arreglos aceptan argumentos posicionales, " "usados para inicializar los elementos en orden." -#: ../Doc/library/ctypes.rst:2526 +#: ../Doc/library/ctypes.rst:2541 msgid "Private, abstract base class for pointers." msgstr "Clase base, privada y abstracta para punteros." -#: ../Doc/library/ctypes.rst:2528 +#: ../Doc/library/ctypes.rst:2543 msgid "" "Concrete pointer types are created by calling :func:`POINTER` with the type " "that will be pointed to; this is done automatically by :func:`pointer`." @@ -3636,7 +3661,7 @@ msgstr "" "Los tipos de punteros concretos se crean llamando a :func:`POINTER` con el " "tipo que será apuntado; esto se hace automáticamente por :func:`pointer`." -#: ../Doc/library/ctypes.rst:2532 +#: ../Doc/library/ctypes.rst:2547 msgid "" "If a pointer points to an array, its elements can be read and written using " "standard subscript and slice accesses. Pointer objects have no size, so :" @@ -3651,13 +3676,14 @@ msgstr "" "(como en C), y los subíndices fuera de rango probablemente se bloqueen con " "una violación de acceso (si tienes suerte)." -#: ../Doc/library/ctypes.rst:2542 +#: ../Doc/library/ctypes.rst:2557 msgid "Specifies the type pointed to." msgstr "Especifica el tipo apuntado." -#: ../Doc/library/ctypes.rst:2546 +#: ../Doc/library/ctypes.rst:2561 +#, fuzzy msgid "" -"Returns the object to which to pointer points. Assigning to this attribute " +"Returns the object to which to pointer points. Assigning to this attribute " "changes the pointer to point to the assigned object." msgstr "" "Retorna el objeto al que apunta. Asignar a este atributo cambia el puntero " diff --git a/library/curses.po b/library/curses.po index d4711baacf..5e45d51619 100644 --- a/library/curses.po +++ b/library/curses.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-08-27 21:20-0500\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.4\n" #: ../Doc/library/curses.rst:2 msgid ":mod:`curses` --- Terminal handling for character-cell displays" @@ -212,9 +211,10 @@ msgstr "" "modo *cbreak*." #: ../Doc/library/curses.rst:114 +#, fuzzy msgid "" "Return the intensity of the red, green, and blue (RGB) components in the " -"color *color_number*, which must be between ``0`` and :const:`COLORS`. " +"color *color_number*, which must be between ``0`` and ``COLORS - 1``. " "Return a 3-tuple, containing the R,G,B values for the given color, which " "will be between ``0`` (no component) and ``1000`` (maximum amount of " "component)." @@ -226,18 +226,19 @@ msgstr "" "cantidad de componente)." #: ../Doc/library/curses.rst:122 +#, fuzzy msgid "" -"Return the attribute value for displaying text in the specified color. This " -"attribute value can be combined with :const:`A_STANDOUT`, :const:" -"`A_REVERSE`, and the other :const:`A_\\*` attributes. :func:`pair_number` " -"is the counterpart to this function." +"Return the attribute value for displaying text in the specified color pair. " +"Only the first 256 color pairs are supported. This attribute value can be " +"combined with :const:`A_STANDOUT`, :const:`A_REVERSE`, and the other :const:" +"`A_\\*` attributes. :func:`pair_number` is the counterpart to this function." msgstr "" "Retorna el valor del atributo para desplegar texto en el color específico. " "Este calor del atributo puede ser combinado con :const:`A_STANDOUT`, :const:" "`A_REVERSE`, y otros atributos :const:`A_\\*`. :func:`pair_number` es la " "contraparte para esta función." -#: ../Doc/library/curses.rst:130 +#: ../Doc/library/curses.rst:131 msgid "" "Set the cursor state. *visibility* can be set to ``0``, ``1``, or ``2``, " "for invisible, normal, or very visible. If the terminal supports the " @@ -251,7 +252,7 @@ msgstr "" "otra manera ejecuta una excepción. En muchos terminales, el modo \"visible" "\" es un cursor subrayado y el modo \"muy visible\" es un cursor de bloque." -#: ../Doc/library/curses.rst:139 +#: ../Doc/library/curses.rst:140 msgid "" "Save the current terminal mode as the \"program\" mode, the mode when the " "running program is using curses. (Its counterpart is the \"shell\" mode, " @@ -263,7 +264,7 @@ msgstr "" "\", para cuando el programa no está en curses.) Seguido de la llamada a :" "func:`reset_prog_mode` restaurará este modo." -#: ../Doc/library/curses.rst:147 +#: ../Doc/library/curses.rst:148 msgid "" "Save the current terminal mode as the \"shell\" mode, the mode when the " "running program is not using curses. (Its counterpart is the \"program\" " @@ -275,11 +276,11 @@ msgstr "" "\"program\", cuando el programa está usando las capacidades de curses.) Las " "llamadas subsecuentes a :func:`reset_shell_mode` restaurarán este modo." -#: ../Doc/library/curses.rst:155 +#: ../Doc/library/curses.rst:156 msgid "Insert an *ms* millisecond pause in output." msgstr "Inserte una pausa en milisegundo *ms* en la salida." -#: ../Doc/library/curses.rst:160 +#: ../Doc/library/curses.rst:161 msgid "" "Update the physical screen. The curses library keeps two data structures, " "one representing the current physical screen contents and a virtual screen " @@ -291,7 +292,7 @@ msgstr "" "pantalla virtual representa el próximo estado deseado. La base :func:" "`doupdate` actualiza la pantalla física para comparar la pantalla virtual." -#: ../Doc/library/curses.rst:165 +#: ../Doc/library/curses.rst:166 msgid "" "The virtual screen may be updated by a :meth:`~window.noutrefresh` call " "after write operations such as :meth:`~window.addstr` have been performed on " @@ -309,7 +310,7 @@ msgstr "" "y quizás reducir los parpadeos de la pantalla usando la llamada :meth:`!" "noutrefresh` en todas las ventanas, seguido por un simple :func:`!doupdate`." -#: ../Doc/library/curses.rst:175 +#: ../Doc/library/curses.rst:176 msgid "" "Enter echo mode. In echo mode, each character input is echoed to the screen " "as it is entered." @@ -317,11 +318,11 @@ msgstr "" "Entrar en modo echo. En modo echo, cada caracter de entrada es repercutido " "a la pantalla como este es introducido." -#: ../Doc/library/curses.rst:181 +#: ../Doc/library/curses.rst:182 msgid "De-initialize the library, and return terminal to normal status." msgstr "Desinicializa la librería y retorne el terminal al estado normal." -#: ../Doc/library/curses.rst:186 +#: ../Doc/library/curses.rst:187 msgid "" "Return the user's current erase character as a one-byte bytes object. Under " "Unix operating systems this is a property of the controlling tty of the " @@ -332,7 +333,7 @@ msgstr "" "controlador tty de el programa curses, y no es configurado por la librería " "curses en sí misma." -#: ../Doc/library/curses.rst:193 +#: ../Doc/library/curses.rst:194 msgid "" "The :func:`.filter` routine, if used, must be called before :func:`initscr` " "is called. The effect is that, during those calls, :envvar:`LINES` is set " @@ -351,7 +352,7 @@ msgstr "" "Este puede ser usado para habilitar la línea editando el carácter en un " "tiempo sin tocar el resto de las pantallas." -#: ../Doc/library/curses.rst:203 +#: ../Doc/library/curses.rst:204 msgid "" "Flash the screen. That is, change it to reverse-video and then change it " "back in a short interval. Some people prefer such as 'visible bell' to the " @@ -361,7 +362,7 @@ msgstr "" "nuevo en un corto intervalo. Algunas personas prefieren como 'campana " "visible' para la señal de atención audible producida por :func:`beep`." -#: ../Doc/library/curses.rst:210 +#: ../Doc/library/curses.rst:211 msgid "" "Flush all input buffers. This throws away any typeahead that has been " "typed by the user and has not yet been processed by the program." @@ -370,10 +371,11 @@ msgstr "" "que ha sido escrito por el usuario y no ha sido aún procesado por el " "programa." -#: ../Doc/library/curses.rst:216 +#: ../Doc/library/curses.rst:217 +#, fuzzy msgid "" "After :meth:`~window.getch` returns :const:`KEY_MOUSE` to signal a mouse " -"event, this method should be call to retrieve the queued mouse event, " +"event, this method should be called to retrieve the queued mouse event, " "represented as a 5-tuple ``(id, x, y, z, bstate)``. *id* is an ID value used " "to distinguish multiple devices, and *x*, *y*, *z* are the event's " "coordinates. (*z* is currently unused.) *bstate* is an integer value whose " @@ -397,7 +399,7 @@ msgstr "" "`BUTTONn_TRIPLE_CLICKED`, :const:`BUTTON_SHIFT`, :const:`BUTTON_CTRL`, :" "const:`BUTTON_ALT`." -#: ../Doc/library/curses.rst:230 +#: ../Doc/library/curses.rst:231 msgid "" "Return the current coordinates of the virtual screen cursor as a tuple ``(y, " "x)``. If :meth:`leaveok ` is currently ``True``, then " @@ -407,7 +409,7 @@ msgstr "" "tupla ``(y, x)``. Si :meth:`leaveok ` es actualmente " "``True`` entonces retorna ``(-1,-1)``." -#: ../Doc/library/curses.rst:236 +#: ../Doc/library/curses.rst:237 msgid "" "Read window related data stored in the file by an earlier :func:`putwin` " "call. The routine then creates and initializes a new window using that data, " @@ -417,7 +419,7 @@ msgstr "" "llamada temprana a :func:`putwin`. La rutina entonces crea e inicializa una " "nueva ventana usando esos datos, retornando el nuevo objeto de ventana." -#: ../Doc/library/curses.rst:243 +#: ../Doc/library/curses.rst:244 msgid "" "Return ``True`` if the terminal can display colors; otherwise, return " "``False``." @@ -425,7 +427,7 @@ msgstr "" "Retorna \"True\" si el terminal puede desplegar colores, en caso contrario, " "retorna \"False\"." -#: ../Doc/library/curses.rst:248 +#: ../Doc/library/curses.rst:249 msgid "" "Return ``True`` if the terminal has insert- and delete-character " "capabilities. This function is included for historical reasons only, as all " @@ -436,7 +438,7 @@ msgstr "" "que todos los emuladores de la terminal de software modernos tienen tales " "capacidades." -#: ../Doc/library/curses.rst:255 +#: ../Doc/library/curses.rst:256 msgid "" "Return ``True`` if the terminal has insert- and delete-line capabilities, or " "can simulate them using scrolling regions. This function is included for " @@ -448,7 +450,7 @@ msgstr "" "función es incluida por razones históricas solamente, como todos los " "emuladores de terminales de software modernos tienen tales capacidades." -#: ../Doc/library/curses.rst:263 +#: ../Doc/library/curses.rst:264 msgid "" "Take a key value *ch*, and return ``True`` if the current terminal type " "recognizes a key with that value." @@ -456,7 +458,7 @@ msgstr "" "Toma una clave valor *ch*, y retorna \"True\" si el tipo de terminal actual " "reconoce una clave con ese valor." -#: ../Doc/library/curses.rst:269 +#: ../Doc/library/curses.rst:270 msgid "" "Used for half-delay mode, which is similar to cbreak mode in that characters " "typed by the user are immediately available to the program. However, after " @@ -471,12 +473,13 @@ msgstr "" "*tenths* debe ser un número entre ``1`` y ``255``. Use :func:`nocbreak` " "para salir del modo de medio retardo." -#: ../Doc/library/curses.rst:278 +#: ../Doc/library/curses.rst:279 +#, fuzzy msgid "" "Change the definition of a color, taking the number of the color to be " "changed followed by three RGB values (for the amounts of red, green, and " -"blue components). The value of *color_number* must be between ``0`` and :" -"const:`COLORS`. Each of *r*, *g*, *b*, must be a value between ``0`` and " +"blue components). The value of *color_number* must be between ``0`` and " +"`COLORS - 1`. Each of *r*, *g*, *b*, must be a value between ``0`` and " "``1000``. When :func:`init_color` is used, all occurrences of that color on " "the screen immediately change to the new definition. This function is a no-" "op on most terminals; it is active only if :func:`can_change_color` returns " @@ -491,16 +494,18 @@ msgstr "" "definición. Esta función no es operativa en varios terminales, esto " "solamente se activa si :func:`can_change_color` retorna ``True``." -#: ../Doc/library/curses.rst:289 +#: ../Doc/library/curses.rst:290 +#, fuzzy msgid "" "Change the definition of a color-pair. It takes three arguments: the number " "of the color-pair to be changed, the foreground color number, and the " "background color number. The value of *pair_number* must be between ``1`` " "and ``COLOR_PAIRS - 1`` (the ``0`` color pair is wired to white on black and " "cannot be changed). The value of *fg* and *bg* arguments must be between " -"``0`` and :const:`COLORS`. If the color-pair was previously initialized, " -"the screen is refreshed and all occurrences of that color-pair are changed " -"to the new definition." +"``0`` and ``COLORS - 1``, or, after calling :func:`use_default_colors`, " +"``-1``. If the color-pair was previously initialized, the screen is " +"refreshed and all occurrences of that color-pair are changed to the new " +"definition." msgstr "" "Cambiar la definición de un par de color. Esto toma tres argumentos: El " "número de el par de color ha ser cambiado, el número de color del primer " @@ -511,7 +516,7 @@ msgstr "" "previamente inicializado, la pantalla es refrescada y todas las ocurrencias " "de ese par de color son cambiados para la nueva definición." -#: ../Doc/library/curses.rst:301 +#: ../Doc/library/curses.rst:303 msgid "" "Initialize the library. Return a :ref:`window ` " "object which represents the whole screen." @@ -519,7 +524,7 @@ msgstr "" "Inicializa la librería. Retorna un objeto :ref:`window ` el cual representa a toda la pantalla." -#: ../Doc/library/curses.rst:306 +#: ../Doc/library/curses.rst:308 msgid "" "If there is an error opening the terminal, the underlying curses library may " "cause the interpreter to exit." @@ -527,7 +532,7 @@ msgstr "" "Si hay un error al abrir el terminal, la librería curses subyacente puede " "causar que el interprete salga." -#: ../Doc/library/curses.rst:312 +#: ../Doc/library/curses.rst:314 msgid "" "Return ``True`` if :func:`resize_term` would modify the window structure, " "``False`` otherwise." @@ -535,7 +540,7 @@ msgstr "" "Retorna \"True\" si :func:`resize_term` modificaría la estructura de la " "ventana, \"False\" en caso contrario." -#: ../Doc/library/curses.rst:318 +#: ../Doc/library/curses.rst:320 msgid "" "Return ``True`` if :func:`endwin` has been called (that is, the curses " "library has been deinitialized)." @@ -543,7 +548,7 @@ msgstr "" "Retorna \"True\" si :func:`endwin` ha sido llamado (eso es que la librería " "curses ha sido desinicializada)." -#: ../Doc/library/curses.rst:324 +#: ../Doc/library/curses.rst:326 msgid "" "Return the name of the key numbered *k* as a bytes object. The name of a " "key generating printable ASCII character is the key's character. The name " @@ -562,7 +567,7 @@ msgstr "" "consistente del prefijo ``b'M-'`` seguido por el nombre del correspondiente " "carácter ASCII." -#: ../Doc/library/curses.rst:334 +#: ../Doc/library/curses.rst:336 msgid "" "Return the user's current line kill character as a one-byte bytes object. " "Under Unix operating systems this is a property of the controlling tty of " @@ -573,7 +578,7 @@ msgstr "" "propiedad del controlador *tty* del programa *curses*, y no está configurado " "por la librería *curses* por sí mismo." -#: ../Doc/library/curses.rst:341 +#: ../Doc/library/curses.rst:343 msgid "" "Return a bytes object containing the terminfo long name field describing the " "current terminal. The maximum length of a verbose description is 128 " @@ -584,7 +589,7 @@ msgstr "" "verbosa es 128 caracteres. Esto es definido solamente después de la llamada " "a :func:`initscr`." -#: ../Doc/library/curses.rst:348 +#: ../Doc/library/curses.rst:350 msgid "" "If *flag* is ``True``, allow 8-bit characters to be input. If *flag* is " "``False``, allow only 7-bit chars." @@ -592,7 +597,7 @@ msgstr "" "Si *flag* es \"True\", permite caracteres de 8 bits para ser introducidos. " "Si *flag* es \"False\", permite solamente caracteres de 7 bits." -#: ../Doc/library/curses.rst:354 +#: ../Doc/library/curses.rst:356 msgid "" "Set the maximum time in milliseconds that can elapse between press and " "release events in order for them to be recognized as a click, and return the " @@ -604,7 +609,7 @@ msgstr "" "retornen el valor del intervalo anterior. El valor por defecto es 200 msec, " "o una quinta parte de un segundo." -#: ../Doc/library/curses.rst:361 +#: ../Doc/library/curses.rst:363 msgid "" "Set the mouse events to be reported, and return a tuple ``(availmask, " "oldmask)``. *availmask* indicates which of the specified mouse events can " @@ -619,11 +624,11 @@ msgstr "" "ventana dada. Si esta función nunca es llamada, los eventos del mouse nunca " "son reportados." -#: ../Doc/library/curses.rst:370 +#: ../Doc/library/curses.rst:372 msgid "Sleep for *ms* milliseconds." msgstr "Duerme durante *ms* milisegundos." -#: ../Doc/library/curses.rst:375 +#: ../Doc/library/curses.rst:377 msgid "" "Create and return a pointer to a new pad data structure with the given " "number of lines and columns. Return a pad as a window object." @@ -632,7 +637,7 @@ msgstr "" "el número dado de líneas y columnas. Retorna un *pad* como un objeto de " "ventana." -#: ../Doc/library/curses.rst:378 +#: ../Doc/library/curses.rst:380 msgid "" "A pad is like a window, except that it is not restricted by the screen size, " "and is not necessarily associated with a particular part of the screen. " @@ -662,7 +667,7 @@ msgstr "" "argumento *s* define una caja de recorte en la pantalla con la cual la " "región de la almohadilla será mostrada." -#: ../Doc/library/curses.rst:394 +#: ../Doc/library/curses.rst:396 msgid "" "Return a new :ref:`window `, whose left-upper corner " "is at ``(begin_y, begin_x)``, and whose height/width is *nlines*/*ncols*." @@ -671,7 +676,7 @@ msgstr "" "superior izquierda esta en ``(begin_y, begin_x)``, y cuyo alto/ancho es " "*nlines*/*ncols*." -#: ../Doc/library/curses.rst:397 +#: ../Doc/library/curses.rst:399 msgid "" "By default, the window will extend from the specified position to the lower " "right corner of the screen." @@ -679,7 +684,7 @@ msgstr "" "Por defecto, la ventana extenderá desde la posición especificada para la " "esquina inferior derecha de la pantalla." -#: ../Doc/library/curses.rst:403 +#: ../Doc/library/curses.rst:405 msgid "" "Enter newline mode. This mode translates the return key into newline on " "input, and translates newline into return and line-feed on output. Newline " @@ -689,19 +694,19 @@ msgstr "" "nueva línea en la entrada, y traduce la nueva línea en retorno y avance de " "línea en la salida. El modo de nueva línea está inicialmente encendida." -#: ../Doc/library/curses.rst:410 +#: ../Doc/library/curses.rst:412 msgid "" "Leave cbreak mode. Return to normal \"cooked\" mode with line buffering." msgstr "" "Salir del modo *cbreak*. Retorne al modo normal \"cooked\" con la línea del " "búfer." -#: ../Doc/library/curses.rst:415 +#: ../Doc/library/curses.rst:417 msgid "Leave echo mode. Echoing of input characters is turned off." msgstr "" "Salir del modo echo. El eco de los caracteres de entrada está desactivado." -#: ../Doc/library/curses.rst:420 +#: ../Doc/library/curses.rst:422 msgid "" "Leave newline mode. Disable translation of return into newline on input, " "and disable low-level translation of newline into newline/return on output " @@ -719,7 +724,7 @@ msgstr "" "vertical un poco; también, estará disponible para detectar la tecla de " "retorno en la entrada." -#: ../Doc/library/curses.rst:430 +#: ../Doc/library/curses.rst:432 msgid "" "When the :func:`!noqiflush` routine is used, normal flush of input and " "output queues associated with the ``INTR``, ``QUIT`` and ``SUSP`` characters " @@ -733,22 +738,23 @@ msgstr "" "manejador de señales si quieres que la salida continúe como si la " "interrupción no hubiera ocurrido después de que el manejador exista." -#: ../Doc/library/curses.rst:438 +#: ../Doc/library/curses.rst:440 msgid "Leave raw mode. Return to normal \"cooked\" mode with line buffering." msgstr "" "Salir del modo raw. Retorna al modo normal \"cooked\" con la línea del búfer." -#: ../Doc/library/curses.rst:443 +#: ../Doc/library/curses.rst:445 +#, fuzzy msgid "" "Return a tuple ``(fg, bg)`` containing the colors for the requested color " -"pair. The value of *pair_number* must be between ``1`` and ``COLOR_PAIRS - " +"pair. The value of *pair_number* must be between ``0`` and ``COLOR_PAIRS - " "1``." msgstr "" "Retorna una tupla ``(fg, bg)`` conteniendo los colores del par de color " "solicitado. El valor de *pair_number* debe ser entre ``1`` y ``COLOR_PAIRS - " "1``." -#: ../Doc/library/curses.rst:449 +#: ../Doc/library/curses.rst:451 msgid "" "Return the number of the color-pair set by the attribute value *attr*. :func:" "`color_pair` is the counterpart to this function." @@ -756,7 +762,7 @@ msgstr "" "Retorna el numero del conjunto de pares de colores para el valor del " "atributo *attr*. :func:`color_pair` es la contraparte de esta función." -#: ../Doc/library/curses.rst:455 +#: ../Doc/library/curses.rst:457 msgid "" "Equivalent to ``tputs(str, 1, putchar)``; emit the value of a specified " "terminfo capability for the current terminal. Note that the output of :func:" @@ -766,7 +772,7 @@ msgstr "" "especificada *terminfo* para el terminal actual. Nota que la salida de :func:" "`putp` siempre va a la salida estándar." -#: ../Doc/library/curses.rst:462 +#: ../Doc/library/curses.rst:464 msgid "" "If *flag* is ``False``, the effect is the same as calling :func:`noqiflush`. " "If *flag* is ``True``, or no argument is provided, the queues will be " @@ -776,7 +782,7 @@ msgstr "" "`noqiflush`. Si *flag* es ``True``, o el argumento no es proveído, la cola " "será nivelada cuando estos caracteres de control son leídos." -#: ../Doc/library/curses.rst:469 +#: ../Doc/library/curses.rst:471 msgid "" "Enter raw mode. In raw mode, normal line buffering and processing of " "interrupt, quit, suspend, and flow control keys are turned off; characters " @@ -787,7 +793,7 @@ msgstr "" "suspensión y control de flujo son apagadas; los caracteres son presentados a " "la función de entrada de *curses* una por una." -#: ../Doc/library/curses.rst:476 +#: ../Doc/library/curses.rst:478 msgid "" "Restore the terminal to \"program\" mode, as previously saved by :func:" "`def_prog_mode`." @@ -795,7 +801,7 @@ msgstr "" "Restaura la terminal para el modo \"program\", anteriormente guardado por :" "func:`def_prog_mode`." -#: ../Doc/library/curses.rst:482 +#: ../Doc/library/curses.rst:484 msgid "" "Restore the terminal to \"shell\" mode, as previously saved by :func:" "`def_shell_mode`." @@ -803,7 +809,7 @@ msgstr "" "Restablece el terminal al modo \"shell\" como lo guardó previamente :func:" "`def_shell_mode`." -#: ../Doc/library/curses.rst:488 +#: ../Doc/library/curses.rst:490 msgid "" "Restore the state of the terminal modes to what it was at the last call to :" "func:`savetty`." @@ -811,7 +817,7 @@ msgstr "" "Restablece el estado del modo del terminal para lo que esto fue en el último " "llamado a :func:`savetty`." -#: ../Doc/library/curses.rst:494 +#: ../Doc/library/curses.rst:496 msgid "" "Backend function used by :func:`resizeterm`, performing most of the work; " "when resizing the windows, :func:`resize_term` blank-fills the areas that " @@ -828,7 +834,7 @@ msgstr "" "convención de llamadas del las almohadillas, esto no es posible para " "redimensionar estos sin interacciones adicionales con la aplicación." -#: ../Doc/library/curses.rst:504 +#: ../Doc/library/curses.rst:506 msgid "" "Resize the standard and current windows to the specified dimensions, and " "adjusts other bookkeeping data used by the curses library that record the " @@ -839,7 +845,7 @@ msgstr "" "*curses* que registra las dimensiones de la ventana (en particular el " "manejador SIGWINCH )." -#: ../Doc/library/curses.rst:511 +#: ../Doc/library/curses.rst:513 msgid "" "Save the current state of the terminal modes in a buffer, usable by :func:" "`resetty`." @@ -847,7 +853,28 @@ msgstr "" "Guarda el estado actual del modo del terminal en un búfer, usable por :func:" "`resetty`." -#: ../Doc/library/curses.rst:517 +#: ../Doc/library/curses.rst:518 +msgid "Retrieves the value set by :func:`set_escdelay`." +msgstr "" + +#: ../Doc/library/curses.rst:524 +msgid "" +"Sets the number of milliseconds to wait after reading an escape character, " +"to distinguish between an individual escape character entered on the " +"keyboard from escape sequences sent by cursor and function keys." +msgstr "" + +#: ../Doc/library/curses.rst:532 +msgid "Retrieves the value set by :func:`set_tabsize`." +msgstr "" + +#: ../Doc/library/curses.rst:538 +msgid "" +"Sets the number of columns used by the curses library when converting a tab " +"character to spaces as it adds the tab to a window." +msgstr "" + +#: ../Doc/library/curses.rst:545 msgid "" "Set the virtual screen cursor to *y*, *x*. If *y* and *x* are both ``-1``, " "then :meth:`leaveok ` is set ``True``." @@ -855,7 +882,7 @@ msgstr "" "Fija el cursor de la pantalla virtual para *y*, *x*. Si *y* y *x* son ambos " "\"-1\", entonces :meth:`leaveok ` es configurado \"True\"." -#: ../Doc/library/curses.rst:523 +#: ../Doc/library/curses.rst:551 msgid "" "Initialize the terminal. *term* is a string giving the terminal name, or " "``None``; if omitted or ``None``, the value of the :envvar:`TERM` " @@ -869,7 +896,7 @@ msgstr "" "descriptor al cual alguna secuencia de inicialización será enviada; si no es " "suministrada o ``-1``, el archivo descriptor para ``sys.stdout`` será usado." -#: ../Doc/library/curses.rst:532 +#: ../Doc/library/curses.rst:560 msgid "" "Must be called if the programmer wants to use colors, and before any other " "color manipulation routine is called. It is good practice to call this " @@ -880,7 +907,7 @@ msgstr "" "buena práctica para llamar esta rutina inmediatamente después de :func:" "`initscr`." -#: ../Doc/library/curses.rst:536 +#: ../Doc/library/curses.rst:564 msgid "" ":func:`start_color` initializes eight basic colors (black, red, green, " "yellow, blue, magenta, cyan, and white), and two global variables in the :" @@ -896,7 +923,7 @@ msgstr "" "soportar. Esto también restaura los colores en la terminal para los valores " "que ellos tienen cuando la terminal fue solo activada." -#: ../Doc/library/curses.rst:545 +#: ../Doc/library/curses.rst:573 msgid "" "Return a logical OR of all video attributes supported by the terminal. This " "information is useful when a curses program needs complete control over the " @@ -906,7 +933,7 @@ msgstr "" "terminal. Esta información es útil cuando un programa *curses* necesita " "completar el control sobre la apariencia de la pantalla." -#: ../Doc/library/curses.rst:552 +#: ../Doc/library/curses.rst:580 msgid "" "Return the value of the environment variable :envvar:`TERM`, as a bytes " "object, truncated to 14 characters." @@ -914,7 +941,7 @@ msgstr "" "Retorna el valor de la variable de entorno :envvar:`TERM`, como un objeto de " "bytes, trucado para 14 caracteres." -#: ../Doc/library/curses.rst:558 +#: ../Doc/library/curses.rst:586 msgid "" "Return the value of the Boolean capability corresponding to the terminfo " "capability name *capname* as an integer. Return the value ``-1`` if " @@ -926,7 +953,7 @@ msgstr "" "``-1`` si *capname* no es una capacidad booleana, o ``0`` si es cancelada o " "ausente desde la descripción de la terminal." -#: ../Doc/library/curses.rst:566 +#: ../Doc/library/curses.rst:594 msgid "" "Return the value of the numeric capability corresponding to the terminfo " "capability name *capname* as an integer. Return the value ``-2`` if " @@ -938,7 +965,7 @@ msgstr "" "*capname* no es una capacidad numérica, o ``-1`` si esta es cancelada o " "ausente desde la descripción del terminal." -#: ../Doc/library/curses.rst:574 +#: ../Doc/library/curses.rst:602 msgid "" "Return the value of the string capability corresponding to the terminfo " "capability name *capname* as a bytes object. Return ``None`` if *capname* " @@ -951,7 +978,7 @@ msgstr "" "\" de *terminfo*, o es cancelada o ausente desde la descripción de la " "terminal." -#: ../Doc/library/curses.rst:582 +#: ../Doc/library/curses.rst:610 msgid "" "Instantiate the bytes object *str* with the supplied parameters, where *str* " "should be a parameterized string obtained from the terminfo database. E.g. " @@ -964,7 +991,7 @@ msgstr "" "resultar en ``b'\\033[6;4H'``, el resultado exacto depende del tipo de " "terminal." -#: ../Doc/library/curses.rst:590 +#: ../Doc/library/curses.rst:618 msgid "" "Specify that the file descriptor *fd* be used for typeahead checking. If " "*fd* is ``-1``, then no typeahead checking is done." @@ -973,7 +1000,7 @@ msgstr "" "anticipada. Si *fd* es \"-1\", entonces no se realiza ninguna verificación " "anticipada." -#: ../Doc/library/curses.rst:593 +#: ../Doc/library/curses.rst:621 msgid "" "The curses library does \"line-breakout optimization\" by looking for " "typeahead periodically while updating the screen. If input is found, and it " @@ -990,7 +1017,7 @@ msgstr "" "avance. Esta función permite especificar un archivo diferente al descriptor " "para la verificación anticipada." -#: ../Doc/library/curses.rst:602 +#: ../Doc/library/curses.rst:630 msgid "" "Return a bytes object which is a printable representation of the character " "*ch*. Control characters are represented as a caret followed by the " @@ -1002,15 +1029,15 @@ msgstr "" "de intercalación seguido del carácter, por ejemplo como ``b'^C'``. La " "impresión de caracteres son dejados como están." -#: ../Doc/library/curses.rst:609 +#: ../Doc/library/curses.rst:637 msgid "Push *ch* so the next :meth:`~window.getch` will return it." msgstr "Presiona *ch* para que el siguiente :meth:`~window.getch` lo retorne." -#: ../Doc/library/curses.rst:613 +#: ../Doc/library/curses.rst:641 msgid "Only one *ch* can be pushed before :meth:`!getch` is called." msgstr "Solamente un *ch* puede ser colocado antes :meth:`!getch` es llamada." -#: ../Doc/library/curses.rst:618 +#: ../Doc/library/curses.rst:646 msgid "" "Update :envvar:`LINES` and :envvar:`COLS`. Useful for detecting manual " "screen resize." @@ -1018,17 +1045,17 @@ msgstr "" "Actualiza :envvar:`LINES` y :envvar:`COLS`. Útil para detectar el cambio " "manual del tamaño de pantalla." -#: ../Doc/library/curses.rst:625 +#: ../Doc/library/curses.rst:653 msgid "Push *ch* so the next :meth:`~window.get_wch` will return it." msgstr "" "Presiona *ch* para que el siguiente :meth:`~window.get_wch` lo retorne." -#: ../Doc/library/curses.rst:629 +#: ../Doc/library/curses.rst:657 msgid "Only one *ch* can be pushed before :meth:`!get_wch` is called." msgstr "" "Solamente un *ch* puede ser presionado antes :meth:`!get_wch` es llamada." -#: ../Doc/library/curses.rst:636 +#: ../Doc/library/curses.rst:664 msgid "" "Push a :const:`KEY_MOUSE` event onto the input queue, associating the given " "state data with it." @@ -1036,7 +1063,7 @@ msgstr "" "Coloca un evento :const:`KEY_MOUSE` en la cola de entrada, asociando el " "estado de los datos dados con esto." -#: ../Doc/library/curses.rst:642 +#: ../Doc/library/curses.rst:670 msgid "" "If used, this function should be called before :func:`initscr` or newterm " "are called. When *flag* is ``False``, the values of lines and columns " @@ -1053,7 +1080,7 @@ msgstr "" "cuyo caso el comportamiento por defecto sería usar el tamaño de ventana si :" "envvar:`LINES` y :envvar:`COLUMNS` no están configuradas)." -#: ../Doc/library/curses.rst:652 +#: ../Doc/library/curses.rst:680 msgid "" "Allow use of default values for colors on terminals supporting this feature. " "Use this to support transparency in your application. The default color is " @@ -1068,7 +1095,7 @@ msgstr "" "COLOR_RED, -1)``, por ejemplo, los pares de color *x* a un primer plano de " "color rojo en el fondo por defecto." -#: ../Doc/library/curses.rst:661 +#: ../Doc/library/curses.rst:689 msgid "" "Initialize curses and call another callable object, *func*, which should be " "the rest of your curses-using application. If the application raises an " @@ -1093,11 +1120,11 @@ msgstr "" "restaura el modo *cooked*, habilita el echo, y desactiva el teclado del " "terminal." -#: ../Doc/library/curses.rst:675 +#: ../Doc/library/curses.rst:703 msgid "Window Objects" msgstr "Objetos de ventana" -#: ../Doc/library/curses.rst:677 +#: ../Doc/library/curses.rst:705 msgid "" "Window objects, as returned by :func:`initscr` and :func:`newwin` above, " "have the following methods and attributes:" @@ -1105,10 +1132,11 @@ msgstr "" "Los objetos ventana, retornados por :func:`initscr` y :func:`newwin` " "anteriores, tienen los siguientes métodos y atributos:" -#: ../Doc/library/curses.rst:684 +#: ../Doc/library/curses.rst:712 +#, fuzzy msgid "" "Paint character *ch* at ``(y, x)`` with attributes *attr*, overwriting any " -"character previously painter at that location. By default, the character " +"character previously painted at that location. By default, the character " "position and attributes are the current settings for the window object." msgstr "" "Pinte el carácter *ch* en ``(y, x)`` con los atributos *attr*, sobre-" @@ -1116,7 +1144,7 @@ msgstr "" "defecto, la posición del carácter y atributos son los configurados " "actualmente por el objeto ventana." -#: ../Doc/library/curses.rst:690 +#: ../Doc/library/curses.rst:718 msgid "" "Writing outside the window, subwindow, or pad raises a :exc:`curses.error`. " "Attempting to write to the lower right corner of a window, subwindow, or pad " @@ -1127,7 +1155,7 @@ msgstr "" "ventana, sub-ventana, o *pad* causará una excepción a ser generada después " "de que el carácter es pintado." -#: ../Doc/library/curses.rst:698 +#: ../Doc/library/curses.rst:726 msgid "" "Paint at most *n* characters of the character string *str* at ``(y, x)`` " "with attributes *attr*, overwriting anything previously on the display." @@ -1135,7 +1163,7 @@ msgstr "" "Pintar como máximo *n* caracteres de la cadena de texto *str* en \"(y,x)\" " "con atributos *attr*, sobrescribiendo algo previamente en la pantalla." -#: ../Doc/library/curses.rst:706 +#: ../Doc/library/curses.rst:734 msgid "" "Paint the character string *str* at ``(y, x)`` with attributes *attr*, " "overwriting anything previously on the display." @@ -1143,7 +1171,7 @@ msgstr "" "Dibuja la cadena de caracteres *str* en \"(y,x)\" con atributos *attr*, " "sobrescribiendo cualquier cosa previamente en la pantalla." -#: ../Doc/library/curses.rst:711 +#: ../Doc/library/curses.rst:739 msgid "" "Writing outside the window, subwindow, or pad raises :exc:`curses.error`. " "Attempting to write to the lower right corner of a window, subwindow, or pad " @@ -1154,7 +1182,7 @@ msgstr "" "ventana, sub-ventana, o *pad* causará una excepción a ser generada después " "de que la cadena de caracteres es pintada." -#: ../Doc/library/curses.rst:715 +#: ../Doc/library/curses.rst:743 msgid "" "A `bug in ncurses `_, the backend for " "this Python module, can cause SegFaults when resizing windows. This is fixed " @@ -1170,7 +1198,7 @@ msgstr "" "llamas :func:`addstr` con un *str* que tiene embebido nuevas líneas. En su " "lugar, llama :func:`addstr` separadamente por cada línea." -#: ../Doc/library/curses.rst:725 +#: ../Doc/library/curses.rst:753 msgid "" "Remove attribute *attr* from the \"background\" set applied to all writes to " "the current window." @@ -1178,7 +1206,7 @@ msgstr "" "Remueve el atributo *attr* desde el conjunto \"background\" aplicado a todos " "los escritos para la ventana actual." -#: ../Doc/library/curses.rst:731 +#: ../Doc/library/curses.rst:759 msgid "" "Add attribute *attr* from the \"background\" set applied to all writes to " "the current window." @@ -1186,7 +1214,7 @@ msgstr "" "Añade el atributo *attr* del conjunto del *background* aplicado para todas " "las escrituras de la ventana actual." -#: ../Doc/library/curses.rst:737 +#: ../Doc/library/curses.rst:765 msgid "" "Set the \"background\" set of attributes to *attr*. This set is initially " "``0`` (no attributes)." @@ -1194,7 +1222,7 @@ msgstr "" "Establezca el conjunto de atributos \"background para *attr*. Este conjunto " "es inicialmente \"0\" (sin atributos)." -#: ../Doc/library/curses.rst:743 +#: ../Doc/library/curses.rst:771 msgid "" "Set the background property of the window to the character *ch*, with " "attributes *attr*. The change is then applied to every character position " @@ -1204,7 +1232,7 @@ msgstr "" "atributos *atte*. El cambio es entonces aplicado para la posición de cada " "carácter en esa ventana:" -#: ../Doc/library/curses.rst:747 +#: ../Doc/library/curses.rst:775 msgid "" "The attribute of every character in the window is changed to the new " "background attribute." @@ -1212,7 +1240,7 @@ msgstr "" "El atributo de cada carácter en la ventana es cambiado por el nuevo atributo " "de fondo." -#: ../Doc/library/curses.rst:750 +#: ../Doc/library/curses.rst:778 msgid "" "Wherever the former background character appears, it is changed to the new " "background character." @@ -1220,7 +1248,7 @@ msgstr "" "Dónde quiera que el carácter del fondo anterior aparezca, es cambiado al " "nuevo carácter de fondo." -#: ../Doc/library/curses.rst:756 +#: ../Doc/library/curses.rst:784 msgid "" "Set the window's background. A window's background consists of a character " "and any combination of attributes. The attribute part of the background is " @@ -1238,7 +1266,7 @@ msgstr "" "una propiedad del carácter y se mueve con el carácter a través de cualquier " "operación de desplazamiento e inserción/eliminación de línea/carácter." -#: ../Doc/library/curses.rst:766 +#: ../Doc/library/curses.rst:794 msgid "" "Draw a border around the edges of the window. Each parameter specifies the " "character to use for a specific part of the border; see the table below for " @@ -1248,7 +1276,7 @@ msgstr "" "especifica el carácter a usar para una parte específica del borde; ve la " "tabla abajo para más detalles." -#: ../Doc/library/curses.rst:772 +#: ../Doc/library/curses.rst:800 msgid "" "A ``0`` value for any parameter will cause the default character to be used " "for that parameter. Keyword parameters can *not* be used. The defaults are " @@ -1258,107 +1286,107 @@ msgstr "" "ser usado para ese parámetro. parámetros de palabras clave pueden *no* ser " "usados. Los valores predeterminados son listados en esta tabla:" -#: ../Doc/library/curses.rst:777 +#: ../Doc/library/curses.rst:805 msgid "Parameter" msgstr "Parámetro" -#: ../Doc/library/curses.rst:777 +#: ../Doc/library/curses.rst:805 msgid "Description" msgstr "Descripción" -#: ../Doc/library/curses.rst:777 +#: ../Doc/library/curses.rst:805 msgid "Default value" msgstr "Valor por defecto" -#: ../Doc/library/curses.rst:779 +#: ../Doc/library/curses.rst:807 msgid "*ls*" msgstr "*ls*" -#: ../Doc/library/curses.rst:779 +#: ../Doc/library/curses.rst:807 msgid "Left side" msgstr "Lado izquierdo" -#: ../Doc/library/curses.rst:779 ../Doc/library/curses.rst:781 +#: ../Doc/library/curses.rst:807 ../Doc/library/curses.rst:809 msgid ":const:`ACS_VLINE`" msgstr ":const:`ACS_VLINE`" -#: ../Doc/library/curses.rst:781 +#: ../Doc/library/curses.rst:809 msgid "*rs*" msgstr "*rs*" -#: ../Doc/library/curses.rst:781 +#: ../Doc/library/curses.rst:809 msgid "Right side" msgstr "Lado derecho" -#: ../Doc/library/curses.rst:783 +#: ../Doc/library/curses.rst:811 msgid "*ts*" msgstr "*ts*" -#: ../Doc/library/curses.rst:783 +#: ../Doc/library/curses.rst:811 msgid "Top" msgstr "Arriba" -#: ../Doc/library/curses.rst:783 ../Doc/library/curses.rst:785 +#: ../Doc/library/curses.rst:811 ../Doc/library/curses.rst:813 msgid ":const:`ACS_HLINE`" msgstr ":const:`ACS_HLINE`" -#: ../Doc/library/curses.rst:785 +#: ../Doc/library/curses.rst:813 msgid "*bs*" msgstr "*bs*" -#: ../Doc/library/curses.rst:785 +#: ../Doc/library/curses.rst:813 msgid "Bottom" msgstr "Abajo" -#: ../Doc/library/curses.rst:787 +#: ../Doc/library/curses.rst:815 msgid "*tl*" msgstr "*tl*" -#: ../Doc/library/curses.rst:787 +#: ../Doc/library/curses.rst:815 msgid "Upper-left corner" msgstr "Esquina superior izquierda" -#: ../Doc/library/curses.rst:787 +#: ../Doc/library/curses.rst:815 msgid ":const:`ACS_ULCORNER`" msgstr ":const:`ACS_ULCORNER`" -#: ../Doc/library/curses.rst:789 +#: ../Doc/library/curses.rst:817 msgid "*tr*" msgstr "*tr*" -#: ../Doc/library/curses.rst:789 +#: ../Doc/library/curses.rst:817 msgid "Upper-right corner" msgstr "Esquina superior derecha" -#: ../Doc/library/curses.rst:789 +#: ../Doc/library/curses.rst:817 msgid ":const:`ACS_URCORNER`" msgstr ":const:`ACS_URCORNER`" -#: ../Doc/library/curses.rst:791 +#: ../Doc/library/curses.rst:819 msgid "*bl*" msgstr "*bl*" -#: ../Doc/library/curses.rst:791 +#: ../Doc/library/curses.rst:819 msgid "Bottom-left corner" msgstr "Esquina inferior izquierda" -#: ../Doc/library/curses.rst:791 +#: ../Doc/library/curses.rst:819 msgid ":const:`ACS_LLCORNER`" msgstr ":const:`ACS_LLCORNER`" -#: ../Doc/library/curses.rst:793 +#: ../Doc/library/curses.rst:821 msgid "*br*" msgstr "*br*" -#: ../Doc/library/curses.rst:793 +#: ../Doc/library/curses.rst:821 msgid "Bottom-right corner" msgstr "Esquina inferior derecha" -#: ../Doc/library/curses.rst:793 +#: ../Doc/library/curses.rst:821 msgid ":const:`ACS_LRCORNER`" msgstr ":const:`ACS_LRCORNER`" -#: ../Doc/library/curses.rst:799 +#: ../Doc/library/curses.rst:827 msgid "" "Similar to :meth:`border`, but both *ls* and *rs* are *vertch* and both *ts* " "and *bs* are *horch*. The default corner characters are always used by this " @@ -1368,7 +1396,7 @@ msgstr "" "*bs* son *horch*. Los caracteres de esquina predeterminados son siempre " "usados por esta función." -#: ../Doc/library/curses.rst:808 +#: ../Doc/library/curses.rst:836 msgid "" "Set the attributes of *num* characters at the current cursor position, or at " "position ``(y, x)`` if supplied. If *num* is not given or is ``-1``, the " @@ -1385,7 +1413,7 @@ msgstr "" "`touchline` tal que el contenido será vuelto a mostrar por la actualización " "de la siguiente ventana." -#: ../Doc/library/curses.rst:818 +#: ../Doc/library/curses.rst:846 msgid "" "Like :meth:`erase`, but also cause the whole window to be repainted upon " "next call to :meth:`refresh`." @@ -1393,7 +1421,7 @@ msgstr "" "Semejante a :meth:`erase`, pero también causa que toda la ventana sea " "repintada sobre la siguiente llamada para :meth:`refresh`." -#: ../Doc/library/curses.rst:824 +#: ../Doc/library/curses.rst:852 msgid "" "If *flag* is ``True``, the next call to :meth:`refresh` will clear the " "window completely." @@ -1401,7 +1429,7 @@ msgstr "" "Si *flag* es \"True\", la siguiente llamada para :meth:`refresh` limpiará la " "ventana completamente." -#: ../Doc/library/curses.rst:830 +#: ../Doc/library/curses.rst:858 msgid "" "Erase from cursor to the end of the window: all lines below the cursor are " "deleted, and then the equivalent of :meth:`clrtoeol` is performed." @@ -1410,11 +1438,11 @@ msgstr "" "el cursor son eliminadas, y entonces el equivalente de :meth:`clrtoeol` es " "realizado." -#: ../Doc/library/curses.rst:836 +#: ../Doc/library/curses.rst:864 msgid "Erase from cursor to the end of the line." msgstr "Borrar desde el cursor hasta el final de la línea." -#: ../Doc/library/curses.rst:841 +#: ../Doc/library/curses.rst:869 msgid "" "Update the current cursor position of all the ancestors of the window to " "reflect the current cursor position of the window." @@ -1422,11 +1450,11 @@ msgstr "" "Actualice la posición actual del cursor de todos los ancestros de la ventana " "para reflejar la posición actual del cursor de la ventana." -#: ../Doc/library/curses.rst:847 +#: ../Doc/library/curses.rst:875 msgid "Delete any character at ``(y, x)``." msgstr "Borrar cualquier carácter en \"(y,x)\"." -#: ../Doc/library/curses.rst:852 +#: ../Doc/library/curses.rst:880 msgid "" "Delete the line under the cursor. All following lines are moved up by one " "line." @@ -1434,7 +1462,7 @@ msgstr "" "Borra la línea bajo el cursor. Todas las líneas siguientes son movidas una " "línea hacía arriba." -#: ../Doc/library/curses.rst:858 +#: ../Doc/library/curses.rst:886 msgid "" "An abbreviation for \"derive window\", :meth:`derwin` is the same as " "calling :meth:`subwin`, except that *begin_y* and *begin_x* are relative to " @@ -1446,7 +1474,7 @@ msgstr "" "origen de la ventana, más bien relativo a la pantalla completa. Retorna un " "objeto ventana para la ventana derivada." -#: ../Doc/library/curses.rst:866 +#: ../Doc/library/curses.rst:894 msgid "" "Add character *ch* with attribute *attr*, and immediately call :meth:" "`refresh` on the window." @@ -1454,7 +1482,7 @@ msgstr "" "Añada el carácter *ch* con atributo *attr*, e inmediatamente llame a :meth:" "`refresh` en la ventana." -#: ../Doc/library/curses.rst:872 +#: ../Doc/library/curses.rst:900 msgid "" "Test whether the given pair of screen-relative character-cell coordinates " "are enclosed by the given window, returning ``True`` or ``False``. It is " @@ -1466,7 +1494,7 @@ msgstr "" "``False``. Esto es útil para determinar que subconjunto de las ventanas de " "pantalla encierran la locación de un evento del mouse." -#: ../Doc/library/curses.rst:880 +#: ../Doc/library/curses.rst:908 msgid "" "Encoding used to encode method arguments (Unicode strings and characters). " "The encoding attribute is inherited from the parent window when a subwindow " @@ -1479,20 +1507,20 @@ msgstr "" "meth:`window.subwin`. Por defecto, la codificación local es usada (ver :" "func:`locale.getpreferredencoding`)." -#: ../Doc/library/curses.rst:890 +#: ../Doc/library/curses.rst:918 msgid "Clear the window." msgstr "Limpiar la ventana." -#: ../Doc/library/curses.rst:895 +#: ../Doc/library/curses.rst:923 msgid "Return a tuple ``(y, x)`` of co-ordinates of upper-left corner." msgstr "" "Retorna una tupla \"(y,x)\" de coordenadas de la esquina superior izquierda." -#: ../Doc/library/curses.rst:900 +#: ../Doc/library/curses.rst:928 msgid "Return the given window's current background character/attribute pair." msgstr "Retorna el par carácter/atributo dada la ventana actual." -#: ../Doc/library/curses.rst:905 +#: ../Doc/library/curses.rst:933 msgid "" "Get a character. Note that the integer returned does *not* have to be in " "ASCII range: function keys, keypad keys and so on are represented by numbers " @@ -1505,7 +1533,7 @@ msgstr "" "``-1`` si no hay entrada, en caso contrario espere hasta que una tecla es " "presionada." -#: ../Doc/library/curses.rst:913 +#: ../Doc/library/curses.rst:941 msgid "" "Get a wide character. Return a character for most keys, or an integer for " "function keys, keypad keys, and other special keys. In no-delay mode, raise " @@ -1516,7 +1544,7 @@ msgstr "" "teclas especiales. En modo de no retorna, genera una excepción si no hay " "entrada." -#: ../Doc/library/curses.rst:922 +#: ../Doc/library/curses.rst:950 msgid "" "Get a character, returning a string instead of an integer, as :meth:`getch` " "does. Function keys, keypad keys and other special keys return a multibyte " @@ -1529,11 +1557,11 @@ msgstr "" "conteniendo el nombre de la tecla. En modo de no retardo, genera una " "excepción si no hay entrada." -#: ../Doc/library/curses.rst:930 +#: ../Doc/library/curses.rst:958 msgid "Return a tuple ``(y, x)`` of the height and width of the window." msgstr "Retorna una tupla \"(y,x)\" de el alto y ancho de la ventana." -#: ../Doc/library/curses.rst:935 +#: ../Doc/library/curses.rst:963 msgid "" "Return the beginning coordinates of this window relative to its parent " "window as a tuple ``(y, x)``. Return ``(-1, -1)`` if this window has no " @@ -1543,14 +1571,14 @@ msgstr "" "padre como una tupla ``(y, x)``. Retorna ``(-1, -1)`` si esta ventana no " "tiene padre." -#: ../Doc/library/curses.rst:945 +#: ../Doc/library/curses.rst:973 msgid "" "Read a bytes object from the user, with primitive line editing capacity." msgstr "" "Lee un objeto de bytes desde el usuario, con capacidad de edición de línea " "primitiva." -#: ../Doc/library/curses.rst:950 +#: ../Doc/library/curses.rst:978 msgid "" "Return a tuple ``(y, x)`` of current cursor position relative to the " "window's upper-left corner." @@ -1558,7 +1586,7 @@ msgstr "" "Retorna una tupla ``(y, x)`` de la posición actual del cursor relativa para " "la esquina superior izquierda de la ventana." -#: ../Doc/library/curses.rst:957 +#: ../Doc/library/curses.rst:985 msgid "" "Display a horizontal line starting at ``(y, x)`` with length *n* consisting " "of the character *ch*." @@ -1566,7 +1594,7 @@ msgstr "" "Muestra una línea horizontal iniciando en ``(y, x)`` con longitud *n* " "consistente de el carácter *ch*." -#: ../Doc/library/curses.rst:963 +#: ../Doc/library/curses.rst:991 msgid "" "If *flag* is ``False``, curses no longer considers using the hardware insert/" "delete character feature of the terminal; if *flag* is ``True``, use of " @@ -1579,7 +1607,7 @@ msgstr "" "*curses* es inicializado primero, el uso de caracteres de inserción / " "borrado está habilitado por defecto." -#: ../Doc/library/curses.rst:971 +#: ../Doc/library/curses.rst:999 msgid "" "If *flag* is ``True``, :mod:`curses` will try and use hardware line editing " "facilities. Otherwise, line insertion/deletion are disabled." @@ -1588,7 +1616,7 @@ msgstr "" "línea de edición de hardware. En caso contrario, la línea inserción/borrado " "están deshabilitadas." -#: ../Doc/library/curses.rst:977 +#: ../Doc/library/curses.rst:1005 msgid "" "If *flag* is ``True``, any change in the window image automatically causes " "the window to be refreshed; you no longer have to call :meth:`refresh` " @@ -1601,7 +1629,7 @@ msgstr "" "rendimiento considerablemente, debido a las repeticiones de llamada a " "*wrefresh*. Esta opción está deshabilitada por defecto." -#: ../Doc/library/curses.rst:985 +#: ../Doc/library/curses.rst:1013 msgid "" "Return the character at the given position in the window. The bottom 8 bits " "are the character proper, and upper bits are the attributes." @@ -1610,7 +1638,7 @@ msgstr "" "son los caracteres propiamente dichos, y los bits superiores son los " "atributos." -#: ../Doc/library/curses.rst:992 +#: ../Doc/library/curses.rst:1020 msgid "" "Paint character *ch* at ``(y, x)`` with attributes *attr*, moving the line " "from position *x* right by one character." @@ -1618,7 +1646,7 @@ msgstr "" "Pinta el carácter *ch* en ``(y, x)`` con atributos *attr*, moviendo la línea " "desde la posición *x* a la derecha un carácter." -#: ../Doc/library/curses.rst:998 +#: ../Doc/library/curses.rst:1026 msgid "" "Insert *nlines* lines into the specified window above the current line. The " "*nlines* bottom lines are lost. For negative *nlines*, delete *nlines* " @@ -1632,7 +1660,7 @@ msgstr "" "mueve las restantes hacia arriba. Se borran las *nlines* líneas inferiores. " "La posición del cursor actual se mantiene igual." -#: ../Doc/library/curses.rst:1007 +#: ../Doc/library/curses.rst:1035 msgid "" "Insert a blank line under the cursor. All following lines are moved down by " "one line." @@ -1640,7 +1668,7 @@ msgstr "" "Inserte una línea en blanco bajo el cursos. Las líneas siguientes se " "moverán una línea hacía abajo." -#: ../Doc/library/curses.rst:1014 +#: ../Doc/library/curses.rst:1042 msgid "" "Insert a character string (as many characters as will fit on the line) " "before the character under the cursor, up to *n* characters. If *n* is " @@ -1656,7 +1684,7 @@ msgstr "" "caracteres de la derecha en la línea. La posición del cursor no cambia " "(después de mover a *y*, *x*, si es especificado)." -#: ../Doc/library/curses.rst:1024 +#: ../Doc/library/curses.rst:1052 msgid "" "Insert a character string (as many characters as will fit on the line) " "before the character under the cursor. All characters to the right of the " @@ -1669,7 +1697,7 @@ msgstr "" "el cursor son desplazados a la derecha, perdiéndose los caracteres de la " "derecha en línea." -#: ../Doc/library/curses.rst:1033 +#: ../Doc/library/curses.rst:1061 msgid "" "Return a bytes object of characters, extracted from the window starting at " "the current cursor position, or at *y*, *x* if specified. Attributes are " @@ -1682,7 +1710,7 @@ msgstr "" "especificado, :meth:`instr` retorna una cadena de caracteres como máximo de " "*n* caracteres (exclusivo de la NULL final)." -#: ../Doc/library/curses.rst:1041 +#: ../Doc/library/curses.rst:1069 msgid "" "Return ``True`` if the specified line was modified since the last call to :" "meth:`refresh`; otherwise return ``False``. Raise a :exc:`curses.error` " @@ -1692,7 +1720,7 @@ msgstr "" "llamada a :meth:`refresh`; de otra manera retorna ``False``. Genera una " "excepción :exc:`curses.error` si *line* no es válida para la ventana dada." -#: ../Doc/library/curses.rst:1048 +#: ../Doc/library/curses.rst:1076 msgid "" "Return ``True`` if the specified window was modified since the last call to :" "meth:`refresh`; otherwise return ``False``." @@ -1700,7 +1728,7 @@ msgstr "" "Retorna ``True`` si la ventana especificada fue modificada desde la última " "llamada para :meth:`refresh`; en caso contrario, retorna ``False``." -#: ../Doc/library/curses.rst:1054 +#: ../Doc/library/curses.rst:1082 msgid "" "If *flag* is ``True``, escape sequences generated by some keys (keypad, " "function keys) will be interpreted by :mod:`curses`. If *flag* is ``False``, " @@ -1711,7 +1739,7 @@ msgstr "" "*flag* es ``False``, evita las secuencias que serán dejadas como está en la " "corriente de entrada." -#: ../Doc/library/curses.rst:1061 +#: ../Doc/library/curses.rst:1089 msgid "" "If *flag* is ``True``, cursor is left where it is on update, instead of " "being at \"cursor position.\" This reduces cursor movement where possible. " @@ -1721,7 +1749,7 @@ msgstr "" "por ejemplo estando en \"cursor position.\" Esto reduce el movimiento del " "cursor siempre que sea posible. Si es posible, el cursor se hará invisible." -#: ../Doc/library/curses.rst:1065 +#: ../Doc/library/curses.rst:1093 msgid "" "If *flag* is ``False``, cursor will always be at \"cursor position\" after " "an update." @@ -1729,11 +1757,11 @@ msgstr "" "Si *flag* es \"False\", el cursor siempre estará en \"cursor position\" " "después de una actualización." -#: ../Doc/library/curses.rst:1070 +#: ../Doc/library/curses.rst:1098 msgid "Move cursor to ``(new_y, new_x)``." msgstr "Mueve el cursor a \"(new_y, new_x)\"." -#: ../Doc/library/curses.rst:1075 +#: ../Doc/library/curses.rst:1103 msgid "" "Move the window inside its parent window. The screen-relative parameters of " "the window are not changed. This routine is used to display different parts " @@ -1744,21 +1772,21 @@ msgstr "" "diferentes partes de la ventana padre en la misma posición física en la " "pantalla." -#: ../Doc/library/curses.rst:1082 +#: ../Doc/library/curses.rst:1110 msgid "Move the window so its upper-left corner is at ``(new_y, new_x)``." msgstr "" "Mueve la ventana a su esquina superior izquierda que está en \"(new_y," "new_x)\"." -#: ../Doc/library/curses.rst:1087 +#: ../Doc/library/curses.rst:1115 msgid "If *flag* is ``True``, :meth:`getch` will be non-blocking." msgstr "Si *flag* es \"True\", :meth:`getch` no será bloqueada." -#: ../Doc/library/curses.rst:1092 +#: ../Doc/library/curses.rst:1120 msgid "If *flag* is ``True``, escape sequences will not be timed out." msgstr "Si *flag* es \"True\", las secuencias de escape no serán agotadas." -#: ../Doc/library/curses.rst:1094 +#: ../Doc/library/curses.rst:1122 msgid "" "If *flag* is ``False``, after a few milliseconds, an escape sequence will " "not be interpreted, and will be left in the input stream as is." @@ -1766,7 +1794,7 @@ msgstr "" "Si *flag* es ``False``, después de pocos milisegundos, una secuencia de " "escape no será interpretada, y será dejada en el flujo de entrada como está." -#: ../Doc/library/curses.rst:1100 +#: ../Doc/library/curses.rst:1128 msgid "" "Mark for refresh but wait. This function updates the data structure " "representing the desired state of the window, but does not force an update " @@ -1777,7 +1805,7 @@ msgstr "" "actualización en la pantalla física. Para realizar eso, llame :func:" "`doupdate`." -#: ../Doc/library/curses.rst:1107 +#: ../Doc/library/curses.rst:1135 msgid "" "Overlay the window on top of *destwin*. The windows need not be the same " "size, only the overlapping region is copied. This copy is non-destructive, " @@ -1789,7 +1817,7 @@ msgstr "" "es destructiva, lo que significa que el carácter de fondo actual no sobre-" "escribe el contenido viejo de *destwin*." -#: ../Doc/library/curses.rst:1112 +#: ../Doc/library/curses.rst:1140 msgid "" "To get fine-grained control over the copied region, the second form of :meth:" "`overlay` can be used. *sminrow* and *smincol* are the upper-left " @@ -1801,7 +1829,7 @@ msgstr "" "coordenadas superior izquierda de la ventana de origen, y las otras " "variables marcan un rectángulo en la ventana destino." -#: ../Doc/library/curses.rst:1120 +#: ../Doc/library/curses.rst:1148 msgid "" "Overwrite the window on top of *destwin*. The windows need not be the same " "size, in which case only the overlapping region is copied. This copy is " @@ -1813,7 +1841,7 @@ msgstr "" "que es copiada. Esta copia es destructiva, lo cual significa que el " "carácter de fondo actual sobre-escribe el contenido viejo de *destwin*." -#: ../Doc/library/curses.rst:1125 +#: ../Doc/library/curses.rst:1153 msgid "" "To get fine-grained control over the copied region, the second form of :meth:" "`overwrite` can be used. *sminrow* and *smincol* are the upper-left " @@ -1825,7 +1853,7 @@ msgstr "" "coordenadas superior izquierda de la ventana origen, las otras variables " "marcan un rectángulo en la ventana de destino." -#: ../Doc/library/curses.rst:1133 +#: ../Doc/library/curses.rst:1161 msgid "" "Write all data associated with the window into the provided file object. " "This information can be later retrieved using the :func:`getwin` function." @@ -1834,7 +1862,7 @@ msgstr "" "proveído. Esta información puede estar después recuperada usando la " "función :func:`getwin`." -#: ../Doc/library/curses.rst:1139 +#: ../Doc/library/curses.rst:1167 msgid "" "Indicate that the *num* screen lines, starting at line *beg*, are corrupted " "and should be completely redrawn on the next :meth:`refresh` call." @@ -1843,7 +1871,7 @@ msgstr "" "son corruptos y deberían ser completamente redibujado en la siguiente " "llamada :meth:`refresh`." -#: ../Doc/library/curses.rst:1145 +#: ../Doc/library/curses.rst:1173 msgid "" "Touch the entire window, causing it to be completely redrawn on the next :" "meth:`refresh` call." @@ -1851,7 +1879,7 @@ msgstr "" "Toca la ventana completa, causando que se vuelva a dibujar completamente en " "la siguiente llamada :meth:`refresh` ." -#: ../Doc/library/curses.rst:1151 +#: ../Doc/library/curses.rst:1179 msgid "" "Update the display immediately (sync actual screen with previous drawing/" "deleting methods)." @@ -1859,7 +1887,7 @@ msgstr "" "Actualiza la pantalla inmediatamente (sincronice la pantalla actual con los " "métodos previos de dibujar/borrar)." -#: ../Doc/library/curses.rst:1154 +#: ../Doc/library/curses.rst:1182 msgid "" "The 6 optional arguments can only be specified when the window is a pad " "created with :func:`newpad`. The additional parameters are needed to " @@ -1886,7 +1914,7 @@ msgstr "" "estructura respectiva. Valores negativos de *pminrow*, *pmincol*, " "*sminrow*, o *smincol* son tratados como si fueran cero." -#: ../Doc/library/curses.rst:1168 +#: ../Doc/library/curses.rst:1196 msgid "" "Reallocate storage for a curses window to adjust its dimensions to the " "specified values. If either dimension is larger than the current values, " @@ -1899,13 +1927,13 @@ msgstr "" "espacios en blanco que tiene la ejecución del fondo actual (como ajustado " "por :meth:`bkgdset`) uniéndolos." -#: ../Doc/library/curses.rst:1176 +#: ../Doc/library/curses.rst:1204 msgid "Scroll the screen or scrolling region upward by *lines* lines." msgstr "" "Desplace la pantalla o la región de desplazamiento hacia arriba por *lines* " "líneas." -#: ../Doc/library/curses.rst:1181 +#: ../Doc/library/curses.rst:1209 msgid "" "Control what happens when the cursor of a window is moved off the edge of " "the window or scrolling region, either as a result of a newline action on " @@ -1923,7 +1951,7 @@ msgstr "" "desplazamiento físico en el terminal, también será necesario llamar :meth:" "`idlok`." -#: ../Doc/library/curses.rst:1191 +#: ../Doc/library/curses.rst:1219 msgid "" "Set the scrolling region from line *top* to line *bottom*. All scrolling " "actions will take place in this region." @@ -1931,7 +1959,7 @@ msgstr "" "Configura la región de desplazamiento desde la línea *top* hasta la línea " "*bottom*. Todas las acciones de desplazamiento tomarán lugar en esta región." -#: ../Doc/library/curses.rst:1197 +#: ../Doc/library/curses.rst:1225 msgid "" "Turn off the standout attribute. On some terminals this has the side effect " "of turning off all attributes." @@ -1939,11 +1967,11 @@ msgstr "" "Desactive el atributo destacado. En algunos terminales esto tiene el efecto " "secundario de desactivar todos los atributos." -#: ../Doc/library/curses.rst:1203 +#: ../Doc/library/curses.rst:1231 msgid "Turn on attribute *A_STANDOUT*." msgstr "Active el atributo *A_STANDOUT*." -#: ../Doc/library/curses.rst:1209 ../Doc/library/curses.rst:1216 +#: ../Doc/library/curses.rst:1237 ../Doc/library/curses.rst:1244 msgid "" "Return a sub-window, whose upper-left corner is at ``(begin_y, begin_x)``, " "and whose width/height is *ncols*/*nlines*." @@ -1951,7 +1979,7 @@ msgstr "" "Retorna la sub-ventana, cuya esquina superior izquierda esta en ``(begin_y, " "begin_x)``, y cuyo ancho/alto es *ncols*/*nlines*." -#: ../Doc/library/curses.rst:1219 +#: ../Doc/library/curses.rst:1247 msgid "" "By default, the sub-window will extend from the specified position to the " "lower right corner of the window." @@ -1959,7 +1987,7 @@ msgstr "" "Por defecto, la sub-ventana extenderá desde la posición especificada para la " "esquina inferior derecha de la ventana." -#: ../Doc/library/curses.rst:1225 +#: ../Doc/library/curses.rst:1253 msgid "" "Touch each location in the window that has been touched in any of its " "ancestor windows. This routine is called by :meth:`refresh`, so it should " @@ -1969,7 +1997,7 @@ msgstr "" "ventanas padres. Esta rutina es llamada por :meth:`refresh`, esto casi " "nunca debería ser necesario para llamarlo manualmente." -#: ../Doc/library/curses.rst:1232 +#: ../Doc/library/curses.rst:1260 msgid "" "If *flag* is ``True``, then :meth:`syncup` is called automatically whenever " "there is a change in the window." @@ -1977,7 +2005,7 @@ msgstr "" "Si *flag* es ``True``, entonces :meth:`syncup` es llamada automáticamente " "cuando hay un cambio en la ventana." -#: ../Doc/library/curses.rst:1238 +#: ../Doc/library/curses.rst:1266 msgid "" "Touch all locations in ancestors of the window that have been changed in " "the window." @@ -1985,7 +2013,7 @@ msgstr "" "Toque todas las locaciones de los ancestros de la ventana que han sido " "cambiados en la ventana." -#: ../Doc/library/curses.rst:1244 +#: ../Doc/library/curses.rst:1272 msgid "" "Set blocking or non-blocking read behavior for the window. If *delay* is " "negative, blocking read is used (which will wait indefinitely for input). " @@ -2002,7 +2030,7 @@ msgstr "" "bloqueará por *delay* milisegundos, y retorna ``-1`` si aún no entra en el " "final de ese tiempo." -#: ../Doc/library/curses.rst:1254 +#: ../Doc/library/curses.rst:1282 msgid "" "Pretend *count* lines have been changed, starting with line *start*. If " "*changed* is supplied, it specifies whether the affected lines are marked as " @@ -2014,7 +2042,7 @@ msgstr "" "marcadas como hayan sido cambiadas (*changed*\\ ``=True``) o no cambiadas " "(*changed*\\ ``=False``)." -#: ../Doc/library/curses.rst:1261 +#: ../Doc/library/curses.rst:1289 msgid "" "Pretend the whole window has been changed, for purposes of drawing " "optimizations." @@ -2022,7 +2050,7 @@ msgstr "" "Suponga que toda la ventana ha sido cambiada, con el fin de optimizar el " "dibujo." -#: ../Doc/library/curses.rst:1267 +#: ../Doc/library/curses.rst:1295 msgid "" "Mark all lines in the window as unchanged since the last call to :meth:" "`refresh`." @@ -2030,7 +2058,7 @@ msgstr "" "Marque todas las líneas en la ventana como no cambiadas desde la última " "llamada para :meth:`refresh`." -#: ../Doc/library/curses.rst:1274 +#: ../Doc/library/curses.rst:1302 msgid "" "Display a vertical line starting at ``(y, x)`` with length *n* consisting of " "the character *ch*." @@ -2038,15 +2066,15 @@ msgstr "" "Muestre una línea vertical iniciando en ``(y, x)`` con longitud *n* " "consistente de el carácter *ch*." -#: ../Doc/library/curses.rst:1279 +#: ../Doc/library/curses.rst:1307 msgid "Constants" msgstr "Constantes" -#: ../Doc/library/curses.rst:1281 +#: ../Doc/library/curses.rst:1309 msgid "The :mod:`curses` module defines the following data members:" msgstr "El módulo :mod:`curses` define los siguientes miembros de datos:" -#: ../Doc/library/curses.rst:1286 +#: ../Doc/library/curses.rst:1314 msgid "" "Some curses routines that return an integer, such as :meth:`~window." "getch`, return :const:`ERR` upon failure." @@ -2054,7 +2082,7 @@ msgstr "" "Algunas rutinas de *curses* que retornan un entero, tales como :meth:" "`~window.getch`, retorna :const:`ERR` sobre el fallo." -#: ../Doc/library/curses.rst:1292 +#: ../Doc/library/curses.rst:1320 msgid "" "Some curses routines that return an integer, such as :func:`napms`, " "return :const:`OK` upon success." @@ -2062,7 +2090,7 @@ msgstr "" "Algunas rutinas de *curses* que retornan un entero, tales como :func:" "`napms`, retorna :const:`OK` tras el éxito." -#: ../Doc/library/curses.rst:1298 +#: ../Doc/library/curses.rst:1326 msgid "" "A bytes object representing the current version of the module. Also " "available as :const:`__version__`." @@ -2070,7 +2098,7 @@ msgstr "" "Un objeto de bytes representando la versión actual de el módulo. También " "disponible como :const:`__version__`." -#: ../Doc/library/curses.rst:1304 +#: ../Doc/library/curses.rst:1332 msgid "" "A named tuple containing the three components of the ncurses library " "version: *major*, *minor*, and *patch*. All values are integers. The " @@ -2082,11 +2110,11 @@ msgstr "" "componentes pueden también ser accedidos por nombre, así ``curses." "ncurses_version[0]`` es equivalente a ``curses.ncurses_version.major`` y así." -#: ../Doc/library/curses.rst:1309 +#: ../Doc/library/curses.rst:1337 msgid "Availability: if the ncurses library is used." msgstr "Disponibilidad: si la librería ncurses es usada." -#: ../Doc/library/curses.rst:1314 +#: ../Doc/library/curses.rst:1342 msgid "" "Some constants are available to specify character cell attributes. The exact " "constants available are system dependent." @@ -2095,164 +2123,164 @@ msgstr "" "celdas de caracteres. Las constantes exactas disponible dependen del " "sistema." -#: ../Doc/library/curses.rst:1318 +#: ../Doc/library/curses.rst:1346 msgid "Attribute" msgstr "Atributo" -#: ../Doc/library/curses.rst:1318 ../Doc/library/curses.rst:1366 -#: ../Doc/library/curses.rst:1610 +#: ../Doc/library/curses.rst:1346 ../Doc/library/curses.rst:1394 +#: ../Doc/library/curses.rst:1638 msgid "Meaning" msgstr "Significado" -#: ../Doc/library/curses.rst:1320 +#: ../Doc/library/curses.rst:1348 msgid "``A_ALTCHARSET``" msgstr "``A_ALTCHARSET``" -#: ../Doc/library/curses.rst:1320 +#: ../Doc/library/curses.rst:1348 msgid "Alternate character set mode" msgstr "Modo de conjunto de caracteres alternativo" -#: ../Doc/library/curses.rst:1322 +#: ../Doc/library/curses.rst:1350 msgid "``A_BLINK``" msgstr "``A_BLINK``" -#: ../Doc/library/curses.rst:1322 +#: ../Doc/library/curses.rst:1350 msgid "Blink mode" msgstr "Modo parpadeo" -#: ../Doc/library/curses.rst:1324 +#: ../Doc/library/curses.rst:1352 msgid "``A_BOLD``" msgstr "``A_BOLD``" -#: ../Doc/library/curses.rst:1324 +#: ../Doc/library/curses.rst:1352 msgid "Bold mode" msgstr "Modo negrita" -#: ../Doc/library/curses.rst:1326 +#: ../Doc/library/curses.rst:1354 msgid "``A_DIM``" msgstr "``A_DIM``" -#: ../Doc/library/curses.rst:1326 +#: ../Doc/library/curses.rst:1354 msgid "Dim mode" msgstr "Modo tenue" -#: ../Doc/library/curses.rst:1328 +#: ../Doc/library/curses.rst:1356 msgid "``A_INVIS``" msgstr "``A_INVIS``" -#: ../Doc/library/curses.rst:1328 +#: ../Doc/library/curses.rst:1356 msgid "Invisible or blank mode" msgstr "Modo invisible o en blanco" -#: ../Doc/library/curses.rst:1330 +#: ../Doc/library/curses.rst:1358 msgid "``A_ITALIC``" msgstr "``A_ITALIC``" -#: ../Doc/library/curses.rst:1330 +#: ../Doc/library/curses.rst:1358 msgid "Italic mode" msgstr "Modo cursiva" -#: ../Doc/library/curses.rst:1332 +#: ../Doc/library/curses.rst:1360 msgid "``A_NORMAL``" msgstr "``A_NORMAL``" -#: ../Doc/library/curses.rst:1332 +#: ../Doc/library/curses.rst:1360 msgid "Normal attribute" msgstr "Atributo normal" -#: ../Doc/library/curses.rst:1334 +#: ../Doc/library/curses.rst:1362 msgid "``A_PROTECT``" msgstr "``A_PROTECT``" -#: ../Doc/library/curses.rst:1334 +#: ../Doc/library/curses.rst:1362 msgid "Protected mode" msgstr "Modo protegido" -#: ../Doc/library/curses.rst:1336 +#: ../Doc/library/curses.rst:1364 msgid "``A_REVERSE``" msgstr "``A_REVERSE``" -#: ../Doc/library/curses.rst:1336 +#: ../Doc/library/curses.rst:1364 msgid "Reverse background and foreground colors" msgstr "Fondo inverso y colores de primer plano" -#: ../Doc/library/curses.rst:1339 +#: ../Doc/library/curses.rst:1367 msgid "``A_STANDOUT``" msgstr "``A_STANDOUT``" -#: ../Doc/library/curses.rst:1339 +#: ../Doc/library/curses.rst:1367 msgid "Standout mode" msgstr "Modo destacado" -#: ../Doc/library/curses.rst:1341 +#: ../Doc/library/curses.rst:1369 msgid "``A_UNDERLINE``" msgstr "``A_UNDERLINE``" -#: ../Doc/library/curses.rst:1341 +#: ../Doc/library/curses.rst:1369 msgid "Underline mode" msgstr "Modo subrayado" -#: ../Doc/library/curses.rst:1343 +#: ../Doc/library/curses.rst:1371 msgid "``A_HORIZONTAL``" msgstr "``A_HORIZONTAL``" -#: ../Doc/library/curses.rst:1343 +#: ../Doc/library/curses.rst:1371 msgid "Horizontal highlight" msgstr "Resaltado horizontal" -#: ../Doc/library/curses.rst:1345 +#: ../Doc/library/curses.rst:1373 msgid "``A_LEFT``" msgstr "``A_LEFT``" -#: ../Doc/library/curses.rst:1345 +#: ../Doc/library/curses.rst:1373 msgid "Left highlight" msgstr "Resaltado a la izquierda" -#: ../Doc/library/curses.rst:1347 +#: ../Doc/library/curses.rst:1375 msgid "``A_LOW``" msgstr "``A_LOW``" -#: ../Doc/library/curses.rst:1347 +#: ../Doc/library/curses.rst:1375 msgid "Low highlight" msgstr "Resaltado bajo" -#: ../Doc/library/curses.rst:1349 +#: ../Doc/library/curses.rst:1377 msgid "``A_RIGHT``" msgstr "``A_RIGHT``" -#: ../Doc/library/curses.rst:1349 +#: ../Doc/library/curses.rst:1377 msgid "Right highlight" msgstr "Resaltado a la derecha" -#: ../Doc/library/curses.rst:1351 +#: ../Doc/library/curses.rst:1379 msgid "``A_TOP``" msgstr "``A_TOP``" -#: ../Doc/library/curses.rst:1351 +#: ../Doc/library/curses.rst:1379 msgid "Top highlight" msgstr "Resaltado arriba" -#: ../Doc/library/curses.rst:1353 +#: ../Doc/library/curses.rst:1381 msgid "``A_VERTICAL``" msgstr "``A_VERTICAL``" -#: ../Doc/library/curses.rst:1353 +#: ../Doc/library/curses.rst:1381 msgid "Vertical highlight" msgstr "Resaltado vertical" -#: ../Doc/library/curses.rst:1355 ../Doc/library/curses.rst:1371 +#: ../Doc/library/curses.rst:1383 ../Doc/library/curses.rst:1399 msgid "``A_CHARTEXT``" msgstr "``A_CHARTEXT``" -#: ../Doc/library/curses.rst:1355 ../Doc/library/curses.rst:1371 +#: ../Doc/library/curses.rst:1383 ../Doc/library/curses.rst:1399 msgid "Bit-mask to extract a character" msgstr "Mascara de bits para extraer un caracter" -#: ../Doc/library/curses.rst:1359 +#: ../Doc/library/curses.rst:1387 msgid "``A_ITALIC`` was added." msgstr "``A_ITALIC`` fue añadido." -#: ../Doc/library/curses.rst:1362 +#: ../Doc/library/curses.rst:1390 msgid "" "Several constants are available to extract corresponding attributes returned " "by some methods." @@ -2260,27 +2288,27 @@ msgstr "" "Varias constantes están disponibles para extraer los atributos " "correspondientes retornados por algunos métodos." -#: ../Doc/library/curses.rst:1366 +#: ../Doc/library/curses.rst:1394 msgid "Bit-mask" msgstr "Mascara de bits" -#: ../Doc/library/curses.rst:1368 +#: ../Doc/library/curses.rst:1396 msgid "``A_ATTRIBUTES``" msgstr "``A_ATTRIBUTES``" -#: ../Doc/library/curses.rst:1368 +#: ../Doc/library/curses.rst:1396 msgid "Bit-mask to extract attributes" msgstr "Mascara de bits para extraer atributos" -#: ../Doc/library/curses.rst:1374 +#: ../Doc/library/curses.rst:1402 msgid "``A_COLOR``" msgstr "``A_COLOR``" -#: ../Doc/library/curses.rst:1374 +#: ../Doc/library/curses.rst:1402 msgid "Bit-mask to extract color-pair field information" msgstr "Mascara de bits para extraer información de campo de pares de colores" -#: ../Doc/library/curses.rst:1378 +#: ../Doc/library/curses.rst:1406 msgid "" "Keys are referred to by integer constants with names starting with " "``KEY_``. The exact keycaps available are system dependent." @@ -2288,767 +2316,767 @@ msgstr "" "Las teclas se denominan constantes enteras con nombres que comienzan con " "``KEY_``. Las teclas exactas disponibles son dependientes del sistema." -#: ../Doc/library/curses.rst:1384 +#: ../Doc/library/curses.rst:1412 msgid "Key constant" msgstr "Clave constante" -#: ../Doc/library/curses.rst:1384 +#: ../Doc/library/curses.rst:1412 msgid "Key" msgstr "Clave" -#: ../Doc/library/curses.rst:1386 +#: ../Doc/library/curses.rst:1414 msgid "``KEY_MIN``" msgstr "``KEY_MIN``" -#: ../Doc/library/curses.rst:1386 +#: ../Doc/library/curses.rst:1414 msgid "Minimum key value" msgstr "Valor mínimo de la clave" -#: ../Doc/library/curses.rst:1388 +#: ../Doc/library/curses.rst:1416 msgid "``KEY_BREAK``" msgstr "``KEY_BREAK``" -#: ../Doc/library/curses.rst:1388 +#: ../Doc/library/curses.rst:1416 msgid "Break key (unreliable)" msgstr "Clave rota (no confiable)" -#: ../Doc/library/curses.rst:1390 +#: ../Doc/library/curses.rst:1418 msgid "``KEY_DOWN``" msgstr "``KEY_DOWN``" -#: ../Doc/library/curses.rst:1390 +#: ../Doc/library/curses.rst:1418 msgid "Down-arrow" msgstr "Flecha hacia abajo" -#: ../Doc/library/curses.rst:1392 +#: ../Doc/library/curses.rst:1420 msgid "``KEY_UP``" msgstr "``KEY_UP``" -#: ../Doc/library/curses.rst:1392 +#: ../Doc/library/curses.rst:1420 msgid "Up-arrow" msgstr "Flecha hacia arriba" -#: ../Doc/library/curses.rst:1394 +#: ../Doc/library/curses.rst:1422 msgid "``KEY_LEFT``" msgstr "``KEY_LEFT``" -#: ../Doc/library/curses.rst:1394 +#: ../Doc/library/curses.rst:1422 msgid "Left-arrow" msgstr "Flecha hacia la izquierda" -#: ../Doc/library/curses.rst:1396 +#: ../Doc/library/curses.rst:1424 msgid "``KEY_RIGHT``" msgstr "``KEY_RIGHT``" -#: ../Doc/library/curses.rst:1396 +#: ../Doc/library/curses.rst:1424 msgid "Right-arrow" msgstr "Flecha hacia la derecha" -#: ../Doc/library/curses.rst:1398 +#: ../Doc/library/curses.rst:1426 msgid "``KEY_HOME``" msgstr "``KEY_HOME``" -#: ../Doc/library/curses.rst:1398 +#: ../Doc/library/curses.rst:1426 msgid "Home key (upward+left arrow)" msgstr "Tecla de inicio (flecha hacia arriba + flecha hacia la izquierda)" -#: ../Doc/library/curses.rst:1400 +#: ../Doc/library/curses.rst:1428 msgid "``KEY_BACKSPACE``" msgstr "``KEY_BACKSPACE``" -#: ../Doc/library/curses.rst:1400 +#: ../Doc/library/curses.rst:1428 msgid "Backspace (unreliable)" msgstr "Retroceso (no confiable)" -#: ../Doc/library/curses.rst:1402 +#: ../Doc/library/curses.rst:1430 msgid "``KEY_F0``" msgstr "``KEY_F0``" -#: ../Doc/library/curses.rst:1402 +#: ../Doc/library/curses.rst:1430 msgid "Function keys. Up to 64 function keys are supported." msgstr "Teclas de función. Más de 64 teclas de función son soportadas." -#: ../Doc/library/curses.rst:1405 +#: ../Doc/library/curses.rst:1433 msgid "``KEY_Fn``" msgstr "``KEY_Fn``" -#: ../Doc/library/curses.rst:1405 +#: ../Doc/library/curses.rst:1433 msgid "Value of function key *n*" msgstr "Valor de tecla de función *n*" -#: ../Doc/library/curses.rst:1407 +#: ../Doc/library/curses.rst:1435 msgid "``KEY_DL``" msgstr "``KEY_DL``" -#: ../Doc/library/curses.rst:1407 +#: ../Doc/library/curses.rst:1435 msgid "Delete line" msgstr "Borrar línea" -#: ../Doc/library/curses.rst:1409 +#: ../Doc/library/curses.rst:1437 msgid "``KEY_IL``" msgstr "``KEY_IL``" -#: ../Doc/library/curses.rst:1409 +#: ../Doc/library/curses.rst:1437 msgid "Insert line" msgstr "Inserte línea" -#: ../Doc/library/curses.rst:1411 +#: ../Doc/library/curses.rst:1439 msgid "``KEY_DC``" msgstr "``KEY_DC``" -#: ../Doc/library/curses.rst:1411 +#: ../Doc/library/curses.rst:1439 msgid "Delete character" msgstr "Borrar caracter" -#: ../Doc/library/curses.rst:1413 +#: ../Doc/library/curses.rst:1441 msgid "``KEY_IC``" msgstr "``KEY_IC``" -#: ../Doc/library/curses.rst:1413 +#: ../Doc/library/curses.rst:1441 msgid "Insert char or enter insert mode" msgstr "Insertar carácter o ingresara al modo de inserción" -#: ../Doc/library/curses.rst:1415 +#: ../Doc/library/curses.rst:1443 msgid "``KEY_EIC``" msgstr "``KEY_EIC``" -#: ../Doc/library/curses.rst:1415 +#: ../Doc/library/curses.rst:1443 msgid "Exit insert char mode" msgstr "Salir del modo de inserción de caracteres" -#: ../Doc/library/curses.rst:1417 +#: ../Doc/library/curses.rst:1445 msgid "``KEY_CLEAR``" msgstr "``KEY_CLEAR``" -#: ../Doc/library/curses.rst:1417 +#: ../Doc/library/curses.rst:1445 msgid "Clear screen" msgstr "Limpiar pantalla" -#: ../Doc/library/curses.rst:1419 +#: ../Doc/library/curses.rst:1447 msgid "``KEY_EOS``" msgstr "``KEY_EOS``" -#: ../Doc/library/curses.rst:1419 +#: ../Doc/library/curses.rst:1447 msgid "Clear to end of screen" msgstr "Limpiar al final de pantalla" -#: ../Doc/library/curses.rst:1421 +#: ../Doc/library/curses.rst:1449 msgid "``KEY_EOL``" msgstr "``KEY_EOL``" -#: ../Doc/library/curses.rst:1421 +#: ../Doc/library/curses.rst:1449 msgid "Clear to end of line" msgstr "Limpiar al final de la línea" -#: ../Doc/library/curses.rst:1423 +#: ../Doc/library/curses.rst:1451 msgid "``KEY_SF``" msgstr "``KEY_SF``" -#: ../Doc/library/curses.rst:1423 +#: ../Doc/library/curses.rst:1451 msgid "Scroll 1 line forward" msgstr "Desplazar una línea hacia adelante" -#: ../Doc/library/curses.rst:1425 +#: ../Doc/library/curses.rst:1453 msgid "``KEY_SR``" msgstr "``KEY_SR``" -#: ../Doc/library/curses.rst:1425 +#: ../Doc/library/curses.rst:1453 msgid "Scroll 1 line backward (reverse)" msgstr "Desplazar una línea hacia atrás (reversa)" -#: ../Doc/library/curses.rst:1427 +#: ../Doc/library/curses.rst:1455 msgid "``KEY_NPAGE``" msgstr "``KEY_NPAGE``" -#: ../Doc/library/curses.rst:1427 +#: ../Doc/library/curses.rst:1455 msgid "Next page" msgstr "Página siguiente" -#: ../Doc/library/curses.rst:1429 +#: ../Doc/library/curses.rst:1457 msgid "``KEY_PPAGE``" msgstr "``KEY_PPAGE``" -#: ../Doc/library/curses.rst:1429 +#: ../Doc/library/curses.rst:1457 msgid "Previous page" msgstr "Página anterior" -#: ../Doc/library/curses.rst:1431 +#: ../Doc/library/curses.rst:1459 msgid "``KEY_STAB``" msgstr "``KEY_STAB``" -#: ../Doc/library/curses.rst:1431 +#: ../Doc/library/curses.rst:1459 msgid "Set tab" msgstr "Establecer pestaña" -#: ../Doc/library/curses.rst:1433 +#: ../Doc/library/curses.rst:1461 msgid "``KEY_CTAB``" msgstr "``KEY_CTAB``" -#: ../Doc/library/curses.rst:1433 +#: ../Doc/library/curses.rst:1461 msgid "Clear tab" msgstr "Limpiar pestaña" -#: ../Doc/library/curses.rst:1435 +#: ../Doc/library/curses.rst:1463 msgid "``KEY_CATAB``" msgstr "``KEY_CATAB``" -#: ../Doc/library/curses.rst:1435 +#: ../Doc/library/curses.rst:1463 msgid "Clear all tabs" msgstr "Limpiar todas las pestañas" -#: ../Doc/library/curses.rst:1437 +#: ../Doc/library/curses.rst:1465 msgid "``KEY_ENTER``" msgstr "``KEY_ENTER``" -#: ../Doc/library/curses.rst:1437 +#: ../Doc/library/curses.rst:1465 msgid "Enter or send (unreliable)" msgstr "Ingresar o enviar (no confiable)" -#: ../Doc/library/curses.rst:1439 +#: ../Doc/library/curses.rst:1467 msgid "``KEY_SRESET``" msgstr "``KEY_SRESET``" -#: ../Doc/library/curses.rst:1439 +#: ../Doc/library/curses.rst:1467 msgid "Soft (partial) reset (unreliable)" msgstr "Reinicio suave (parcial) (no confiable)" -#: ../Doc/library/curses.rst:1441 +#: ../Doc/library/curses.rst:1469 msgid "``KEY_RESET``" msgstr "``KEY_RESET``" -#: ../Doc/library/curses.rst:1441 +#: ../Doc/library/curses.rst:1469 msgid "Reset or hard reset (unreliable)" msgstr "Reinicio o reinicio fuerte (no confiable)" -#: ../Doc/library/curses.rst:1443 +#: ../Doc/library/curses.rst:1471 msgid "``KEY_PRINT``" msgstr "``KEY_PRINT``" -#: ../Doc/library/curses.rst:1443 +#: ../Doc/library/curses.rst:1471 msgid "Print" msgstr "Imprimir" -#: ../Doc/library/curses.rst:1445 +#: ../Doc/library/curses.rst:1473 msgid "``KEY_LL``" msgstr "``KEY_LL``" -#: ../Doc/library/curses.rst:1445 +#: ../Doc/library/curses.rst:1473 msgid "Home down or bottom (lower left)" msgstr "Inicio abajo o abajo (abajo a la izquierda)" -#: ../Doc/library/curses.rst:1447 +#: ../Doc/library/curses.rst:1475 msgid "``KEY_A1``" msgstr "``KEY_A1``" -#: ../Doc/library/curses.rst:1447 +#: ../Doc/library/curses.rst:1475 msgid "Upper left of keypad" msgstr "Superior izquierda del teclado" -#: ../Doc/library/curses.rst:1449 +#: ../Doc/library/curses.rst:1477 msgid "``KEY_A3``" msgstr "``KEY_A3``" -#: ../Doc/library/curses.rst:1449 +#: ../Doc/library/curses.rst:1477 msgid "Upper right of keypad" msgstr "Superior derecha de el teclado" -#: ../Doc/library/curses.rst:1451 +#: ../Doc/library/curses.rst:1479 msgid "``KEY_B2``" msgstr "``KEY_B2``" -#: ../Doc/library/curses.rst:1451 +#: ../Doc/library/curses.rst:1479 msgid "Center of keypad" msgstr "Centro del teclado" -#: ../Doc/library/curses.rst:1453 +#: ../Doc/library/curses.rst:1481 msgid "``KEY_C1``" msgstr "``KEY_C1``" -#: ../Doc/library/curses.rst:1453 +#: ../Doc/library/curses.rst:1481 msgid "Lower left of keypad" msgstr "Inferior izquierdo del teclado" -#: ../Doc/library/curses.rst:1455 +#: ../Doc/library/curses.rst:1483 msgid "``KEY_C3``" msgstr "``KEY_C3``" -#: ../Doc/library/curses.rst:1455 +#: ../Doc/library/curses.rst:1483 msgid "Lower right of keypad" msgstr "Inferior derecho del teclado" -#: ../Doc/library/curses.rst:1457 +#: ../Doc/library/curses.rst:1485 msgid "``KEY_BTAB``" msgstr "``KEY_BTAB``" -#: ../Doc/library/curses.rst:1457 +#: ../Doc/library/curses.rst:1485 msgid "Back tab" msgstr "Pestaña trasera" -#: ../Doc/library/curses.rst:1459 +#: ../Doc/library/curses.rst:1487 msgid "``KEY_BEG``" msgstr "``KEY_BEG``" -#: ../Doc/library/curses.rst:1459 +#: ../Doc/library/curses.rst:1487 msgid "Beg (beginning)" msgstr "Mendigar (Comienzo)" -#: ../Doc/library/curses.rst:1461 +#: ../Doc/library/curses.rst:1489 msgid "``KEY_CANCEL``" msgstr "``KEY_CANCEL``" -#: ../Doc/library/curses.rst:1461 +#: ../Doc/library/curses.rst:1489 msgid "Cancel" msgstr "Cancelar" -#: ../Doc/library/curses.rst:1463 +#: ../Doc/library/curses.rst:1491 msgid "``KEY_CLOSE``" msgstr "``KEY_CLOSE``" -#: ../Doc/library/curses.rst:1463 +#: ../Doc/library/curses.rst:1491 msgid "Close" msgstr "Cerrar" -#: ../Doc/library/curses.rst:1465 +#: ../Doc/library/curses.rst:1493 msgid "``KEY_COMMAND``" msgstr "``KEY_COMMAND``" -#: ../Doc/library/curses.rst:1465 +#: ../Doc/library/curses.rst:1493 msgid "Cmd (command)" msgstr "Cmd (Comando)" -#: ../Doc/library/curses.rst:1467 +#: ../Doc/library/curses.rst:1495 msgid "``KEY_COPY``" msgstr "``KEY_COPY``" -#: ../Doc/library/curses.rst:1467 +#: ../Doc/library/curses.rst:1495 msgid "Copy" msgstr "Copiar" -#: ../Doc/library/curses.rst:1469 +#: ../Doc/library/curses.rst:1497 msgid "``KEY_CREATE``" msgstr "``KEY_CREATE``" -#: ../Doc/library/curses.rst:1469 +#: ../Doc/library/curses.rst:1497 msgid "Create" msgstr "Crear" -#: ../Doc/library/curses.rst:1471 +#: ../Doc/library/curses.rst:1499 msgid "``KEY_END``" msgstr "``KEY_END``" -#: ../Doc/library/curses.rst:1471 +#: ../Doc/library/curses.rst:1499 msgid "End" msgstr "Final" -#: ../Doc/library/curses.rst:1473 +#: ../Doc/library/curses.rst:1501 msgid "``KEY_EXIT``" msgstr "``KEY_EXIT``" -#: ../Doc/library/curses.rst:1473 +#: ../Doc/library/curses.rst:1501 msgid "Exit" msgstr "Salir" -#: ../Doc/library/curses.rst:1475 +#: ../Doc/library/curses.rst:1503 msgid "``KEY_FIND``" msgstr "``KEY_FIND``" -#: ../Doc/library/curses.rst:1475 +#: ../Doc/library/curses.rst:1503 msgid "Find" msgstr "Encontrar" -#: ../Doc/library/curses.rst:1477 +#: ../Doc/library/curses.rst:1505 msgid "``KEY_HELP``" msgstr "``KEY_HELP``" -#: ../Doc/library/curses.rst:1477 +#: ../Doc/library/curses.rst:1505 msgid "Help" msgstr "Ayudar" -#: ../Doc/library/curses.rst:1479 +#: ../Doc/library/curses.rst:1507 msgid "``KEY_MARK``" msgstr "``KEY_MARK``" -#: ../Doc/library/curses.rst:1479 +#: ../Doc/library/curses.rst:1507 msgid "Mark" msgstr "Marca" -#: ../Doc/library/curses.rst:1481 +#: ../Doc/library/curses.rst:1509 msgid "``KEY_MESSAGE``" msgstr "``KEY_MESSAGE``" -#: ../Doc/library/curses.rst:1481 +#: ../Doc/library/curses.rst:1509 msgid "Message" msgstr "Mensaje" -#: ../Doc/library/curses.rst:1483 +#: ../Doc/library/curses.rst:1511 msgid "``KEY_MOVE``" msgstr "``KEY_MOVE``" -#: ../Doc/library/curses.rst:1483 +#: ../Doc/library/curses.rst:1511 msgid "Move" msgstr "Mover" -#: ../Doc/library/curses.rst:1485 +#: ../Doc/library/curses.rst:1513 msgid "``KEY_NEXT``" msgstr "``KEY_NEXT``" -#: ../Doc/library/curses.rst:1485 +#: ../Doc/library/curses.rst:1513 msgid "Next" msgstr "Siguiente" -#: ../Doc/library/curses.rst:1487 +#: ../Doc/library/curses.rst:1515 msgid "``KEY_OPEN``" msgstr "``KEY_OPEN``" -#: ../Doc/library/curses.rst:1487 +#: ../Doc/library/curses.rst:1515 msgid "Open" msgstr "Abrir" -#: ../Doc/library/curses.rst:1489 +#: ../Doc/library/curses.rst:1517 msgid "``KEY_OPTIONS``" msgstr "``KEY_OPTIONS``" -#: ../Doc/library/curses.rst:1489 +#: ../Doc/library/curses.rst:1517 msgid "Options" msgstr "Opciones" -#: ../Doc/library/curses.rst:1491 +#: ../Doc/library/curses.rst:1519 msgid "``KEY_PREVIOUS``" msgstr "``KEY_PREVIOUS``" -#: ../Doc/library/curses.rst:1491 +#: ../Doc/library/curses.rst:1519 msgid "Prev (previous)" msgstr "Anterior" -#: ../Doc/library/curses.rst:1493 +#: ../Doc/library/curses.rst:1521 msgid "``KEY_REDO``" msgstr "``KEY_REDO``" -#: ../Doc/library/curses.rst:1493 +#: ../Doc/library/curses.rst:1521 msgid "Redo" msgstr "Rehacer" -#: ../Doc/library/curses.rst:1495 +#: ../Doc/library/curses.rst:1523 msgid "``KEY_REFERENCE``" msgstr "``KEY_REFERENCE``" -#: ../Doc/library/curses.rst:1495 +#: ../Doc/library/curses.rst:1523 msgid "Ref (reference)" msgstr "Referencia" -#: ../Doc/library/curses.rst:1497 +#: ../Doc/library/curses.rst:1525 msgid "``KEY_REFRESH``" msgstr "``KEY_REFRESH``" -#: ../Doc/library/curses.rst:1497 +#: ../Doc/library/curses.rst:1525 msgid "Refresh" msgstr "Refrescar" -#: ../Doc/library/curses.rst:1499 +#: ../Doc/library/curses.rst:1527 msgid "``KEY_REPLACE``" msgstr "``KEY_REPLACE``" -#: ../Doc/library/curses.rst:1499 +#: ../Doc/library/curses.rst:1527 msgid "Replace" msgstr "Re-emplazar" -#: ../Doc/library/curses.rst:1501 +#: ../Doc/library/curses.rst:1529 msgid "``KEY_RESTART``" msgstr "``KEY_RESTART``" -#: ../Doc/library/curses.rst:1501 +#: ../Doc/library/curses.rst:1529 msgid "Restart" msgstr "Re-iniciar" -#: ../Doc/library/curses.rst:1503 +#: ../Doc/library/curses.rst:1531 msgid "``KEY_RESUME``" msgstr "``KEY_RESUME``" -#: ../Doc/library/curses.rst:1503 +#: ../Doc/library/curses.rst:1531 msgid "Resume" msgstr "Resumir" -#: ../Doc/library/curses.rst:1505 +#: ../Doc/library/curses.rst:1533 msgid "``KEY_SAVE``" msgstr "``KEY_SAVE``" -#: ../Doc/library/curses.rst:1505 +#: ../Doc/library/curses.rst:1533 msgid "Save" msgstr "Guardar" -#: ../Doc/library/curses.rst:1507 +#: ../Doc/library/curses.rst:1535 msgid "``KEY_SBEG``" msgstr "``KEY_SBEG``" -#: ../Doc/library/curses.rst:1507 +#: ../Doc/library/curses.rst:1535 msgid "Shifted Beg (beginning)" msgstr "Mendicidad desplazada (comienzo)" -#: ../Doc/library/curses.rst:1509 +#: ../Doc/library/curses.rst:1537 msgid "``KEY_SCANCEL``" msgstr "``KEY_SCANCEL``" -#: ../Doc/library/curses.rst:1509 +#: ../Doc/library/curses.rst:1537 msgid "Shifted Cancel" msgstr "Cancelar cambiado" -#: ../Doc/library/curses.rst:1511 +#: ../Doc/library/curses.rst:1539 msgid "``KEY_SCOMMAND``" msgstr "``KEY_SCOMMAND``" -#: ../Doc/library/curses.rst:1511 +#: ../Doc/library/curses.rst:1539 msgid "Shifted Command" msgstr "Comando cambiado" -#: ../Doc/library/curses.rst:1513 +#: ../Doc/library/curses.rst:1541 msgid "``KEY_SCOPY``" msgstr "``KEY_SCOPY``" -#: ../Doc/library/curses.rst:1513 +#: ../Doc/library/curses.rst:1541 msgid "Shifted Copy" msgstr "Copiado cambiado" -#: ../Doc/library/curses.rst:1515 +#: ../Doc/library/curses.rst:1543 msgid "``KEY_SCREATE``" msgstr "``KEY_SCREATE``" -#: ../Doc/library/curses.rst:1515 +#: ../Doc/library/curses.rst:1543 msgid "Shifted Create" msgstr "Crear con desplazamiento" -#: ../Doc/library/curses.rst:1517 +#: ../Doc/library/curses.rst:1545 msgid "``KEY_SDC``" msgstr "``KEY_SDC``" -#: ../Doc/library/curses.rst:1517 +#: ../Doc/library/curses.rst:1545 msgid "Shifted Delete char" msgstr "Borrar carácter desplazado" -#: ../Doc/library/curses.rst:1519 +#: ../Doc/library/curses.rst:1547 msgid "``KEY_SDL``" msgstr "``KEY_SDL``" -#: ../Doc/library/curses.rst:1519 +#: ../Doc/library/curses.rst:1547 msgid "Shifted Delete line" msgstr "Borrar línea desplazada" -#: ../Doc/library/curses.rst:1521 +#: ../Doc/library/curses.rst:1549 msgid "``KEY_SELECT``" msgstr "``KEY_SELECT``" -#: ../Doc/library/curses.rst:1521 +#: ../Doc/library/curses.rst:1549 msgid "Select" msgstr "Seleccionar" -#: ../Doc/library/curses.rst:1523 +#: ../Doc/library/curses.rst:1551 msgid "``KEY_SEND``" msgstr "``KEY_SEND``" -#: ../Doc/library/curses.rst:1523 +#: ../Doc/library/curses.rst:1551 msgid "Shifted End" msgstr "Final desplazado" -#: ../Doc/library/curses.rst:1525 +#: ../Doc/library/curses.rst:1553 msgid "``KEY_SEOL``" msgstr "``KEY_SEOL``" -#: ../Doc/library/curses.rst:1525 +#: ../Doc/library/curses.rst:1553 msgid "Shifted Clear line" msgstr "Limpiar línea desplazada" -#: ../Doc/library/curses.rst:1527 +#: ../Doc/library/curses.rst:1555 msgid "``KEY_SEXIT``" msgstr "``KEY_SEXIT``" -#: ../Doc/library/curses.rst:1527 +#: ../Doc/library/curses.rst:1555 msgid "Shifted Exit" msgstr "Salida desplazada" -#: ../Doc/library/curses.rst:1529 +#: ../Doc/library/curses.rst:1557 msgid "``KEY_SFIND``" msgstr "``KEY_SFIND``" -#: ../Doc/library/curses.rst:1529 +#: ../Doc/library/curses.rst:1557 msgid "Shifted Find" msgstr "Búsqueda desplazada" -#: ../Doc/library/curses.rst:1531 +#: ../Doc/library/curses.rst:1559 msgid "``KEY_SHELP``" msgstr "``KEY_SHELP``" -#: ../Doc/library/curses.rst:1531 +#: ../Doc/library/curses.rst:1559 msgid "Shifted Help" msgstr "Ayuda desplazada" -#: ../Doc/library/curses.rst:1533 +#: ../Doc/library/curses.rst:1561 msgid "``KEY_SHOME``" msgstr "``KEY_SHOME``" -#: ../Doc/library/curses.rst:1533 +#: ../Doc/library/curses.rst:1561 msgid "Shifted Home" msgstr "Inicio cambiado" -#: ../Doc/library/curses.rst:1535 +#: ../Doc/library/curses.rst:1563 msgid "``KEY_SIC``" msgstr "``KEY_SIC``" -#: ../Doc/library/curses.rst:1535 +#: ../Doc/library/curses.rst:1563 msgid "Shifted Input" msgstr "Entrada cambiada" -#: ../Doc/library/curses.rst:1537 +#: ../Doc/library/curses.rst:1565 msgid "``KEY_SLEFT``" msgstr "``KEY_SLEFT``" -#: ../Doc/library/curses.rst:1537 +#: ../Doc/library/curses.rst:1565 msgid "Shifted Left arrow" msgstr "Flecha hacia la izquierda desplazada" -#: ../Doc/library/curses.rst:1539 +#: ../Doc/library/curses.rst:1567 msgid "``KEY_SMESSAGE``" msgstr "``KEY_SMESSAGE``" -#: ../Doc/library/curses.rst:1539 +#: ../Doc/library/curses.rst:1567 msgid "Shifted Message" msgstr "Mensaje cambiado" -#: ../Doc/library/curses.rst:1541 +#: ../Doc/library/curses.rst:1569 msgid "``KEY_SMOVE``" msgstr "``KEY_SMOVE``" -#: ../Doc/library/curses.rst:1541 +#: ../Doc/library/curses.rst:1569 msgid "Shifted Move" msgstr "Movimiento desplazado" -#: ../Doc/library/curses.rst:1543 +#: ../Doc/library/curses.rst:1571 msgid "``KEY_SNEXT``" msgstr "``KEY_SNEXT``" -#: ../Doc/library/curses.rst:1543 +#: ../Doc/library/curses.rst:1571 msgid "Shifted Next" msgstr "Siguiente desplazado" -#: ../Doc/library/curses.rst:1545 +#: ../Doc/library/curses.rst:1573 msgid "``KEY_SOPTIONS``" msgstr "``KEY_SOPTIONS``" -#: ../Doc/library/curses.rst:1545 +#: ../Doc/library/curses.rst:1573 msgid "Shifted Options" msgstr "Opciones cambiadas" -#: ../Doc/library/curses.rst:1547 +#: ../Doc/library/curses.rst:1575 msgid "``KEY_SPREVIOUS``" msgstr "``KEY_SPREVIOUS``" -#: ../Doc/library/curses.rst:1547 +#: ../Doc/library/curses.rst:1575 msgid "Shifted Prev" msgstr "Anterior cambiado" -#: ../Doc/library/curses.rst:1549 +#: ../Doc/library/curses.rst:1577 msgid "``KEY_SPRINT``" msgstr "``KEY_SPRINT``" -#: ../Doc/library/curses.rst:1549 +#: ../Doc/library/curses.rst:1577 msgid "Shifted Print" msgstr "Imprimir desplazado" -#: ../Doc/library/curses.rst:1551 +#: ../Doc/library/curses.rst:1579 msgid "``KEY_SREDO``" msgstr "``KEY_SREDO``" -#: ../Doc/library/curses.rst:1551 +#: ../Doc/library/curses.rst:1579 msgid "Shifted Redo" msgstr "Rehacer cambiado" -#: ../Doc/library/curses.rst:1553 +#: ../Doc/library/curses.rst:1581 msgid "``KEY_SREPLACE``" msgstr "``KEY_SREPLACE``" -#: ../Doc/library/curses.rst:1553 +#: ../Doc/library/curses.rst:1581 msgid "Shifted Replace" msgstr "Re-emplazo cambiado" -#: ../Doc/library/curses.rst:1555 +#: ../Doc/library/curses.rst:1583 msgid "``KEY_SRIGHT``" msgstr "``KEY_SRIGHT``" -#: ../Doc/library/curses.rst:1555 +#: ../Doc/library/curses.rst:1583 msgid "Shifted Right arrow" msgstr "Flecha hacia la derecha cambiada" -#: ../Doc/library/curses.rst:1557 +#: ../Doc/library/curses.rst:1585 msgid "``KEY_SRSUME``" msgstr "``KEY_SRSUME``" -#: ../Doc/library/curses.rst:1557 +#: ../Doc/library/curses.rst:1585 msgid "Shifted Resume" msgstr "Resumen cambiado" -#: ../Doc/library/curses.rst:1559 +#: ../Doc/library/curses.rst:1587 msgid "``KEY_SSAVE``" msgstr "``KEY_SSAVE``" -#: ../Doc/library/curses.rst:1559 +#: ../Doc/library/curses.rst:1587 msgid "Shifted Save" msgstr "Guardar desplazado" -#: ../Doc/library/curses.rst:1561 +#: ../Doc/library/curses.rst:1589 msgid "``KEY_SSUSPEND``" msgstr "``KEY_SSUSPEND``" -#: ../Doc/library/curses.rst:1561 +#: ../Doc/library/curses.rst:1589 msgid "Shifted Suspend" msgstr "Suspender cambiado" -#: ../Doc/library/curses.rst:1563 +#: ../Doc/library/curses.rst:1591 msgid "``KEY_SUNDO``" msgstr "``KEY_SUNDO``" -#: ../Doc/library/curses.rst:1563 +#: ../Doc/library/curses.rst:1591 msgid "Shifted Undo" msgstr "Deshacer desplazado" -#: ../Doc/library/curses.rst:1565 +#: ../Doc/library/curses.rst:1593 msgid "``KEY_SUSPEND``" msgstr "``KEY_SUSPEND``" -#: ../Doc/library/curses.rst:1565 +#: ../Doc/library/curses.rst:1593 msgid "Suspend" msgstr "Suspender" -#: ../Doc/library/curses.rst:1567 +#: ../Doc/library/curses.rst:1595 msgid "``KEY_UNDO``" msgstr "``KEY_UNDO``" -#: ../Doc/library/curses.rst:1567 +#: ../Doc/library/curses.rst:1595 msgid "Undo" msgstr "Deshacer" -#: ../Doc/library/curses.rst:1569 +#: ../Doc/library/curses.rst:1597 msgid "``KEY_MOUSE``" msgstr "``KEY_MOUSE``" -#: ../Doc/library/curses.rst:1569 +#: ../Doc/library/curses.rst:1597 msgid "Mouse event has occurred" msgstr "Evento del ratón ha ocurrido" -#: ../Doc/library/curses.rst:1571 +#: ../Doc/library/curses.rst:1599 msgid "``KEY_RESIZE``" msgstr "``KEY_RESIZE``" -#: ../Doc/library/curses.rst:1571 +#: ../Doc/library/curses.rst:1599 msgid "Terminal resize event" msgstr "Evento de cambio de tamaño del terminal" -#: ../Doc/library/curses.rst:1573 +#: ../Doc/library/curses.rst:1601 msgid "``KEY_MAX``" msgstr "``KEY_MAX``" -#: ../Doc/library/curses.rst:1573 +#: ../Doc/library/curses.rst:1601 msgid "Maximum key value" msgstr "Valor máximo de clave" -#: ../Doc/library/curses.rst:1576 +#: ../Doc/library/curses.rst:1604 msgid "" "On VT100s and their software emulations, such as X terminal emulators, there " "are normally at least four function keys (:const:`KEY_F1`, :const:`KEY_F2`, :" @@ -3067,64 +3095,64 @@ msgstr "" "viejo de los teclados de PC pueden tener solamente diez teclas de función); " "también, la siguientes funciones de teclado son estándar:" -#: ../Doc/library/curses.rst:1585 +#: ../Doc/library/curses.rst:1613 msgid "Keycap" msgstr "Tecla" -#: ../Doc/library/curses.rst:1585 ../Doc/library/curses.rst:1702 -#: ../Doc/library/curses.rst:1826 +#: ../Doc/library/curses.rst:1613 ../Doc/library/curses.rst:1730 +#: ../Doc/library/curses.rst:1854 msgid "Constant" msgstr "Constante" -#: ../Doc/library/curses.rst:1587 +#: ../Doc/library/curses.rst:1615 msgid ":kbd:`Insert`" msgstr ":kbd:`Insert`" -#: ../Doc/library/curses.rst:1587 +#: ../Doc/library/curses.rst:1615 msgid "KEY_IC" msgstr "KEY_IC" -#: ../Doc/library/curses.rst:1589 +#: ../Doc/library/curses.rst:1617 msgid ":kbd:`Delete`" msgstr ":kbd:`Delete`" -#: ../Doc/library/curses.rst:1589 +#: ../Doc/library/curses.rst:1617 msgid "KEY_DC" msgstr "KEY_DC" -#: ../Doc/library/curses.rst:1591 +#: ../Doc/library/curses.rst:1619 msgid ":kbd:`Home`" msgstr ":kbd:`Home`" -#: ../Doc/library/curses.rst:1591 +#: ../Doc/library/curses.rst:1619 msgid "KEY_HOME" msgstr "KEY_HOME" -#: ../Doc/library/curses.rst:1593 +#: ../Doc/library/curses.rst:1621 msgid ":kbd:`End`" msgstr ":kbd:`End`" -#: ../Doc/library/curses.rst:1593 +#: ../Doc/library/curses.rst:1621 msgid "KEY_END" msgstr "KEY_END" -#: ../Doc/library/curses.rst:1595 +#: ../Doc/library/curses.rst:1623 msgid ":kbd:`Page Up`" msgstr ":kbd:`Page Up`" -#: ../Doc/library/curses.rst:1595 +#: ../Doc/library/curses.rst:1623 msgid "KEY_PPAGE" msgstr "KEY_PPAGE" -#: ../Doc/library/curses.rst:1597 +#: ../Doc/library/curses.rst:1625 msgid ":kbd:`Page Down`" msgstr ":kbd:`Page Down`" -#: ../Doc/library/curses.rst:1597 +#: ../Doc/library/curses.rst:1625 msgid "KEY_NPAGE" msgstr "KEY_NPAGE" -#: ../Doc/library/curses.rst:1600 +#: ../Doc/library/curses.rst:1628 msgid "" "The following table lists characters from the alternate character set. These " "are inherited from the VT100 terminal, and will generally be available on " @@ -3137,438 +3165,438 @@ msgstr "" "no hay gráficos disponibles, *curses* cae en una aproximación cruda de ASCII " "imprimibles." -#: ../Doc/library/curses.rst:1607 +#: ../Doc/library/curses.rst:1635 msgid "These are available only after :func:`initscr` has been called." msgstr "" "Estos están disponibles solamente después de que :func:`initscr` ha sido " "llamada." -#: ../Doc/library/curses.rst:1610 +#: ../Doc/library/curses.rst:1638 msgid "ACS code" msgstr "Código ACS" -#: ../Doc/library/curses.rst:1612 +#: ../Doc/library/curses.rst:1640 msgid "``ACS_BBSS``" msgstr "``ACS_BBSS``" -#: ../Doc/library/curses.rst:1612 +#: ../Doc/library/curses.rst:1640 msgid "alternate name for upper right corner" msgstr "nombre alternativo para la esquina superior derecha" -#: ../Doc/library/curses.rst:1614 +#: ../Doc/library/curses.rst:1642 msgid "``ACS_BLOCK``" msgstr "``ACS_BLOCK``" -#: ../Doc/library/curses.rst:1614 +#: ../Doc/library/curses.rst:1642 msgid "solid square block" msgstr "bloque cuadrado sólido" -#: ../Doc/library/curses.rst:1616 +#: ../Doc/library/curses.rst:1644 msgid "``ACS_BOARD``" msgstr "``ACS_BOARD``" -#: ../Doc/library/curses.rst:1616 +#: ../Doc/library/curses.rst:1644 msgid "board of squares" msgstr "tablero de cuadrados" -#: ../Doc/library/curses.rst:1618 +#: ../Doc/library/curses.rst:1646 msgid "``ACS_BSBS``" msgstr "``ACS_BSBS``" -#: ../Doc/library/curses.rst:1618 +#: ../Doc/library/curses.rst:1646 msgid "alternate name for horizontal line" msgstr "nombre alternativo para línea horizontal" -#: ../Doc/library/curses.rst:1620 +#: ../Doc/library/curses.rst:1648 msgid "``ACS_BSSB``" msgstr "``ACS_BSSB``" -#: ../Doc/library/curses.rst:1620 +#: ../Doc/library/curses.rst:1648 msgid "alternate name for upper left corner" msgstr "nombre alternativo para esquina superior izquierda" -#: ../Doc/library/curses.rst:1622 +#: ../Doc/library/curses.rst:1650 msgid "``ACS_BSSS``" msgstr "``ACS_BSSS``" -#: ../Doc/library/curses.rst:1622 +#: ../Doc/library/curses.rst:1650 msgid "alternate name for top tee" msgstr "nombre alternativo para el soporte superior" -#: ../Doc/library/curses.rst:1624 +#: ../Doc/library/curses.rst:1652 msgid "``ACS_BTEE``" msgstr "``ACS_BTEE``" -#: ../Doc/library/curses.rst:1624 +#: ../Doc/library/curses.rst:1652 msgid "bottom tee" msgstr "soporte inferior" -#: ../Doc/library/curses.rst:1626 +#: ../Doc/library/curses.rst:1654 msgid "``ACS_BULLET``" msgstr "``ACS_BULLET``" -#: ../Doc/library/curses.rst:1626 +#: ../Doc/library/curses.rst:1654 msgid "bullet" msgstr "bala" -#: ../Doc/library/curses.rst:1628 +#: ../Doc/library/curses.rst:1656 msgid "``ACS_CKBOARD``" msgstr "``ACS_CKBOARD``" -#: ../Doc/library/curses.rst:1628 +#: ../Doc/library/curses.rst:1656 msgid "checker board (stipple)" msgstr "tablero inspector (punteado)" -#: ../Doc/library/curses.rst:1630 +#: ../Doc/library/curses.rst:1658 msgid "``ACS_DARROW``" msgstr "``ACS_DARROW``" -#: ../Doc/library/curses.rst:1630 +#: ../Doc/library/curses.rst:1658 msgid "arrow pointing down" msgstr "flecha punteada hacia abajo" -#: ../Doc/library/curses.rst:1632 +#: ../Doc/library/curses.rst:1660 msgid "``ACS_DEGREE``" msgstr "``ACS_DEGREE``" -#: ../Doc/library/curses.rst:1632 +#: ../Doc/library/curses.rst:1660 msgid "degree symbol" msgstr "símbolo de grado" -#: ../Doc/library/curses.rst:1634 +#: ../Doc/library/curses.rst:1662 msgid "``ACS_DIAMOND``" msgstr "``ACS_DIAMOND``" -#: ../Doc/library/curses.rst:1634 +#: ../Doc/library/curses.rst:1662 msgid "diamond" msgstr "diamante" -#: ../Doc/library/curses.rst:1636 +#: ../Doc/library/curses.rst:1664 msgid "``ACS_GEQUAL``" msgstr "``ACS_GEQUAL``" -#: ../Doc/library/curses.rst:1636 +#: ../Doc/library/curses.rst:1664 msgid "greater-than-or-equal-to" msgstr "mayor que o igual a" -#: ../Doc/library/curses.rst:1638 +#: ../Doc/library/curses.rst:1666 msgid "``ACS_HLINE``" msgstr "``ACS_HLINE``" -#: ../Doc/library/curses.rst:1638 +#: ../Doc/library/curses.rst:1666 msgid "horizontal line" msgstr "línea horizontal" -#: ../Doc/library/curses.rst:1640 +#: ../Doc/library/curses.rst:1668 msgid "``ACS_LANTERN``" msgstr "``ACS_LANTERN``" -#: ../Doc/library/curses.rst:1640 +#: ../Doc/library/curses.rst:1668 msgid "lantern symbol" msgstr "símbolo de la linterna" -#: ../Doc/library/curses.rst:1642 +#: ../Doc/library/curses.rst:1670 msgid "``ACS_LARROW``" msgstr "``ACS_LARROW``" -#: ../Doc/library/curses.rst:1642 +#: ../Doc/library/curses.rst:1670 msgid "left arrow" msgstr "flecha izquierda" -#: ../Doc/library/curses.rst:1644 +#: ../Doc/library/curses.rst:1672 msgid "``ACS_LEQUAL``" msgstr "``ACS_LEQUAL``" -#: ../Doc/library/curses.rst:1644 +#: ../Doc/library/curses.rst:1672 msgid "less-than-or-equal-to" msgstr "menor que o igual a" -#: ../Doc/library/curses.rst:1646 +#: ../Doc/library/curses.rst:1674 msgid "``ACS_LLCORNER``" msgstr "``ACS_LLCORNER``" -#: ../Doc/library/curses.rst:1646 +#: ../Doc/library/curses.rst:1674 msgid "lower left-hand corner" msgstr "esquina inferior izquierda" -#: ../Doc/library/curses.rst:1648 +#: ../Doc/library/curses.rst:1676 msgid "``ACS_LRCORNER``" msgstr "``ACS_LRCORNER``" -#: ../Doc/library/curses.rst:1648 +#: ../Doc/library/curses.rst:1676 msgid "lower right-hand corner" msgstr "esquina inferior derecha" -#: ../Doc/library/curses.rst:1650 +#: ../Doc/library/curses.rst:1678 msgid "``ACS_LTEE``" msgstr "``ACS_LTEE``" -#: ../Doc/library/curses.rst:1650 +#: ../Doc/library/curses.rst:1678 msgid "left tee" msgstr "soporte izquierdo" -#: ../Doc/library/curses.rst:1652 +#: ../Doc/library/curses.rst:1680 msgid "``ACS_NEQUAL``" msgstr "``ACS_NEQUAL``" -#: ../Doc/library/curses.rst:1652 +#: ../Doc/library/curses.rst:1680 msgid "not-equal sign" msgstr "signo no igual" -#: ../Doc/library/curses.rst:1654 +#: ../Doc/library/curses.rst:1682 msgid "``ACS_PI``" msgstr "``ACS_PI``" -#: ../Doc/library/curses.rst:1654 +#: ../Doc/library/curses.rst:1682 msgid "letter pi" msgstr "letra pi" -#: ../Doc/library/curses.rst:1656 +#: ../Doc/library/curses.rst:1684 msgid "``ACS_PLMINUS``" msgstr "``ACS_PLMINUS``" -#: ../Doc/library/curses.rst:1656 +#: ../Doc/library/curses.rst:1684 msgid "plus-or-minus sign" msgstr "signo más o menos" -#: ../Doc/library/curses.rst:1658 +#: ../Doc/library/curses.rst:1686 msgid "``ACS_PLUS``" msgstr "``ACS_PLUS``" -#: ../Doc/library/curses.rst:1658 +#: ../Doc/library/curses.rst:1686 msgid "big plus sign" msgstr "gran signo más" -#: ../Doc/library/curses.rst:1660 +#: ../Doc/library/curses.rst:1688 msgid "``ACS_RARROW``" msgstr "``ACS_RARROW``" -#: ../Doc/library/curses.rst:1660 +#: ../Doc/library/curses.rst:1688 msgid "right arrow" msgstr "flecha hacia la derecha" -#: ../Doc/library/curses.rst:1662 +#: ../Doc/library/curses.rst:1690 msgid "``ACS_RTEE``" msgstr "``ACS_RTEE``" -#: ../Doc/library/curses.rst:1662 +#: ../Doc/library/curses.rst:1690 msgid "right tee" msgstr "soporte derecho" -#: ../Doc/library/curses.rst:1664 +#: ../Doc/library/curses.rst:1692 msgid "``ACS_S1``" msgstr "``ACS_S1``" -#: ../Doc/library/curses.rst:1664 +#: ../Doc/library/curses.rst:1692 msgid "scan line 1" msgstr "escanear línea 1" -#: ../Doc/library/curses.rst:1666 +#: ../Doc/library/curses.rst:1694 msgid "``ACS_S3``" msgstr "``ACS_S3``" -#: ../Doc/library/curses.rst:1666 +#: ../Doc/library/curses.rst:1694 msgid "scan line 3" msgstr "escanear línea 3" -#: ../Doc/library/curses.rst:1668 +#: ../Doc/library/curses.rst:1696 msgid "``ACS_S7``" msgstr "``ACS_S7``" -#: ../Doc/library/curses.rst:1668 +#: ../Doc/library/curses.rst:1696 msgid "scan line 7" msgstr "escanear línea 7" -#: ../Doc/library/curses.rst:1670 +#: ../Doc/library/curses.rst:1698 msgid "``ACS_S9``" msgstr "``ACS_S9``" -#: ../Doc/library/curses.rst:1670 +#: ../Doc/library/curses.rst:1698 msgid "scan line 9" msgstr "escanear línea 9" -#: ../Doc/library/curses.rst:1672 +#: ../Doc/library/curses.rst:1700 msgid "``ACS_SBBS``" msgstr "``ACS_SBBS``" -#: ../Doc/library/curses.rst:1672 +#: ../Doc/library/curses.rst:1700 msgid "alternate name for lower right corner" msgstr "nombre alterno para la esquina inferior derecha" -#: ../Doc/library/curses.rst:1674 +#: ../Doc/library/curses.rst:1702 msgid "``ACS_SBSB``" msgstr "``ACS_SBSB``" -#: ../Doc/library/curses.rst:1674 +#: ../Doc/library/curses.rst:1702 msgid "alternate name for vertical line" msgstr "nombre alterno para la línea vertical" -#: ../Doc/library/curses.rst:1676 +#: ../Doc/library/curses.rst:1704 msgid "``ACS_SBSS``" msgstr "``ACS_SBSS``" -#: ../Doc/library/curses.rst:1676 +#: ../Doc/library/curses.rst:1704 msgid "alternate name for right tee" msgstr "nombre alterno para el soporte derecho" -#: ../Doc/library/curses.rst:1678 +#: ../Doc/library/curses.rst:1706 msgid "``ACS_SSBB``" msgstr "``ACS_SSBB``" -#: ../Doc/library/curses.rst:1678 +#: ../Doc/library/curses.rst:1706 msgid "alternate name for lower left corner" msgstr "nombre alterno para la esquina inferior izquierda" -#: ../Doc/library/curses.rst:1680 +#: ../Doc/library/curses.rst:1708 msgid "``ACS_SSBS``" msgstr "``ACS_SSBS``" -#: ../Doc/library/curses.rst:1680 +#: ../Doc/library/curses.rst:1708 msgid "alternate name for bottom tee" msgstr "nombre alterno para el soporte inferior" -#: ../Doc/library/curses.rst:1682 +#: ../Doc/library/curses.rst:1710 msgid "``ACS_SSSB``" msgstr "``ACS_SSSB``" -#: ../Doc/library/curses.rst:1682 +#: ../Doc/library/curses.rst:1710 msgid "alternate name for left tee" msgstr "nombre alterno para el soporte izquierdo" -#: ../Doc/library/curses.rst:1684 +#: ../Doc/library/curses.rst:1712 msgid "``ACS_SSSS``" msgstr "``ACS_SSSS``" -#: ../Doc/library/curses.rst:1684 +#: ../Doc/library/curses.rst:1712 msgid "alternate name for crossover or big plus" msgstr "nombre alterno para *crossover* o un gran más" -#: ../Doc/library/curses.rst:1686 +#: ../Doc/library/curses.rst:1714 msgid "``ACS_STERLING``" msgstr "``ACS_STERLING``" -#: ../Doc/library/curses.rst:1686 +#: ../Doc/library/curses.rst:1714 msgid "pound sterling" msgstr "libra esterlina" -#: ../Doc/library/curses.rst:1688 +#: ../Doc/library/curses.rst:1716 msgid "``ACS_TTEE``" msgstr "``ACS_TTEE``" -#: ../Doc/library/curses.rst:1688 +#: ../Doc/library/curses.rst:1716 msgid "top tee" msgstr "soporte superior" -#: ../Doc/library/curses.rst:1690 +#: ../Doc/library/curses.rst:1718 msgid "``ACS_UARROW``" msgstr "``ACS_UARROW``" -#: ../Doc/library/curses.rst:1690 +#: ../Doc/library/curses.rst:1718 msgid "up arrow" msgstr "flecha hacia arriba" -#: ../Doc/library/curses.rst:1692 +#: ../Doc/library/curses.rst:1720 msgid "``ACS_ULCORNER``" msgstr "``ACS_ULCORNER``" -#: ../Doc/library/curses.rst:1692 +#: ../Doc/library/curses.rst:1720 msgid "upper left corner" msgstr "esquina superior izquierda" -#: ../Doc/library/curses.rst:1694 +#: ../Doc/library/curses.rst:1722 msgid "``ACS_URCORNER``" msgstr "``ACS_URCORNER``" -#: ../Doc/library/curses.rst:1694 +#: ../Doc/library/curses.rst:1722 msgid "upper right corner" msgstr "esquina superior derecha" -#: ../Doc/library/curses.rst:1696 +#: ../Doc/library/curses.rst:1724 msgid "``ACS_VLINE``" msgstr "``ACS_VLINE``" -#: ../Doc/library/curses.rst:1696 +#: ../Doc/library/curses.rst:1724 msgid "vertical line" msgstr "línea vertical" -#: ../Doc/library/curses.rst:1699 +#: ../Doc/library/curses.rst:1727 msgid "The following table lists the predefined colors:" msgstr "La siguiente tabla lista los colores pre-definidos:" -#: ../Doc/library/curses.rst:1702 +#: ../Doc/library/curses.rst:1730 msgid "Color" msgstr "Color" -#: ../Doc/library/curses.rst:1704 +#: ../Doc/library/curses.rst:1732 msgid "``COLOR_BLACK``" msgstr "``COLOR_BLACK``" -#: ../Doc/library/curses.rst:1704 +#: ../Doc/library/curses.rst:1732 msgid "Black" msgstr "Negro" -#: ../Doc/library/curses.rst:1706 +#: ../Doc/library/curses.rst:1734 msgid "``COLOR_BLUE``" msgstr "``COLOR_BLUE``" -#: ../Doc/library/curses.rst:1706 +#: ../Doc/library/curses.rst:1734 msgid "Blue" msgstr "Azul" -#: ../Doc/library/curses.rst:1708 +#: ../Doc/library/curses.rst:1736 msgid "``COLOR_CYAN``" msgstr "``COLOR_CYAN``" -#: ../Doc/library/curses.rst:1708 +#: ../Doc/library/curses.rst:1736 msgid "Cyan (light greenish blue)" msgstr "Cian (azul verdoso claro)" -#: ../Doc/library/curses.rst:1710 +#: ../Doc/library/curses.rst:1738 msgid "``COLOR_GREEN``" msgstr "``COLOR_GREEN``" -#: ../Doc/library/curses.rst:1710 +#: ../Doc/library/curses.rst:1738 msgid "Green" msgstr "Verde" -#: ../Doc/library/curses.rst:1712 +#: ../Doc/library/curses.rst:1740 msgid "``COLOR_MAGENTA``" msgstr "``COLOR_MAGENTA``" -#: ../Doc/library/curses.rst:1712 +#: ../Doc/library/curses.rst:1740 msgid "Magenta (purplish red)" msgstr "Magenta (rojo violáceo)" -#: ../Doc/library/curses.rst:1714 +#: ../Doc/library/curses.rst:1742 msgid "``COLOR_RED``" msgstr "``COLOR_RED``" -#: ../Doc/library/curses.rst:1714 +#: ../Doc/library/curses.rst:1742 msgid "Red" msgstr "Rojo" -#: ../Doc/library/curses.rst:1716 +#: ../Doc/library/curses.rst:1744 msgid "``COLOR_WHITE``" msgstr "``COLOR_WHITE``" -#: ../Doc/library/curses.rst:1716 +#: ../Doc/library/curses.rst:1744 msgid "White" msgstr "Blanco" -#: ../Doc/library/curses.rst:1718 +#: ../Doc/library/curses.rst:1746 msgid "``COLOR_YELLOW``" msgstr "``COLOR_YELLOW``" -#: ../Doc/library/curses.rst:1718 +#: ../Doc/library/curses.rst:1746 msgid "Yellow" msgstr "Amarillo" -#: ../Doc/library/curses.rst:1723 +#: ../Doc/library/curses.rst:1751 msgid ":mod:`curses.textpad` --- Text input widget for curses programs" msgstr "" ":mod:`curses.textpad`--- Widget de entrada de texto para programas de curses" -#: ../Doc/library/curses.rst:1731 +#: ../Doc/library/curses.rst:1759 msgid "" "The :mod:`curses.textpad` module provides a :class:`Textbox` class that " "handles elementary text editing in a curses window, supporting a set of " @@ -3584,11 +3612,11 @@ msgstr "" "también proveen una función de dibujo de rectángulo útil para enmarcar las " "cajas de texto o para otros propósitos." -#: ../Doc/library/curses.rst:1737 +#: ../Doc/library/curses.rst:1765 msgid "The module :mod:`curses.textpad` defines the following function:" msgstr "El módulo :mod:`curses.textpad` define la siguiente función:" -#: ../Doc/library/curses.rst:1742 +#: ../Doc/library/curses.rst:1770 msgid "" "Draw a rectangle. The first argument must be a window object; the remaining " "arguments are coordinates relative to that window. The second and third " @@ -3609,15 +3637,15 @@ msgstr "" "otro emulador de terminal de software). Por otra parte será dibujado con " "guiones, barras verticales, y signos de más de ASCII." -#: ../Doc/library/curses.rst:1755 +#: ../Doc/library/curses.rst:1783 msgid "Textbox objects" msgstr "Objeto de caja de texto" -#: ../Doc/library/curses.rst:1757 +#: ../Doc/library/curses.rst:1785 msgid "You can instantiate a :class:`Textbox` object as follows:" msgstr "Tú puedes instanciar un objeto :class:`Textbox` como sigue:" -#: ../Doc/library/curses.rst:1762 +#: ../Doc/library/curses.rst:1790 msgid "" "Return a textbox widget object. The *win* argument should be a curses :ref:" "`window ` object in which the textbox is to be " @@ -3632,11 +3660,11 @@ msgstr "" "ventana que lo contiene, con coordenadas ``(0, 0)``. La bandera " "instanciada :attr:`stripspaces` está inicialmente encendida." -#: ../Doc/library/curses.rst:1768 +#: ../Doc/library/curses.rst:1796 msgid ":class:`Textbox` objects have the following methods:" msgstr "Objeto :class:`Textbox` tiene los siguientes métodos:" -#: ../Doc/library/curses.rst:1773 +#: ../Doc/library/curses.rst:1801 msgid "" "This is the entry point you will normally use. It accepts editing " "keystrokes until one of the termination keystrokes is entered. If " @@ -3655,7 +3683,7 @@ msgstr "" "caracteres; si se incluyen espacios en blanco en la ventana se ve afectado " "por el atributo :attr:`stripspaces`." -#: ../Doc/library/curses.rst:1784 +#: ../Doc/library/curses.rst:1812 msgid "" "Process a single command keystroke. Here are the supported special " "keystrokes:" @@ -3663,126 +3691,126 @@ msgstr "" "Procesa un simple comando al pulsar una tecla. Aquí está las funciones de " "tecla especiales admitidas:" -#: ../Doc/library/curses.rst:1788 ../Doc/library/curses.rst:1826 +#: ../Doc/library/curses.rst:1816 ../Doc/library/curses.rst:1854 msgid "Keystroke" msgstr "Pulsación de tecla" -#: ../Doc/library/curses.rst:1788 +#: ../Doc/library/curses.rst:1816 msgid "Action" msgstr "Acción" -#: ../Doc/library/curses.rst:1790 +#: ../Doc/library/curses.rst:1818 msgid ":kbd:`Control-A`" msgstr ":kbd:`Control-A`" -#: ../Doc/library/curses.rst:1790 +#: ../Doc/library/curses.rst:1818 msgid "Go to left edge of window." msgstr "Ve al borde izquierdo de la ventana." -#: ../Doc/library/curses.rst:1792 ../Doc/library/curses.rst:1828 +#: ../Doc/library/curses.rst:1820 ../Doc/library/curses.rst:1856 msgid ":kbd:`Control-B`" msgstr ":kbd:`Control-B`" -#: ../Doc/library/curses.rst:1792 +#: ../Doc/library/curses.rst:1820 msgid "Cursor left, wrapping to previous line if appropriate." msgstr "Cursor hacia la izquierda, pasando a la línea anterior si corresponde." -#: ../Doc/library/curses.rst:1795 +#: ../Doc/library/curses.rst:1823 msgid ":kbd:`Control-D`" msgstr ":kbd:`Control-D`" -#: ../Doc/library/curses.rst:1795 +#: ../Doc/library/curses.rst:1823 msgid "Delete character under cursor." msgstr "Borra el carácter bajo el cursor." -#: ../Doc/library/curses.rst:1797 +#: ../Doc/library/curses.rst:1825 msgid ":kbd:`Control-E`" msgstr ":kbd:`Control-E`" -#: ../Doc/library/curses.rst:1797 +#: ../Doc/library/curses.rst:1825 msgid "Go to right edge (stripspaces off) or end of line (stripspaces on)." msgstr "" "Ve al borde derecho (quita los espacios) o al final de línea (eliminar los " "espacios)." -#: ../Doc/library/curses.rst:1800 ../Doc/library/curses.rst:1830 +#: ../Doc/library/curses.rst:1828 ../Doc/library/curses.rst:1858 msgid ":kbd:`Control-F`" msgstr ":kbd:`Control-F`" -#: ../Doc/library/curses.rst:1800 +#: ../Doc/library/curses.rst:1828 msgid "Cursor right, wrapping to next line when appropriate." msgstr "" "Cursor hacia la derecha, pasando a la línea siguiente cuando corresponda." -#: ../Doc/library/curses.rst:1803 +#: ../Doc/library/curses.rst:1831 msgid ":kbd:`Control-G`" msgstr ":kbd:`Control-G`" -#: ../Doc/library/curses.rst:1803 +#: ../Doc/library/curses.rst:1831 msgid "Terminate, returning the window contents." msgstr "Terminar, retornando el contenido de la ventana." -#: ../Doc/library/curses.rst:1805 +#: ../Doc/library/curses.rst:1833 msgid ":kbd:`Control-H`" msgstr ":kbd:`Control-H`" -#: ../Doc/library/curses.rst:1805 +#: ../Doc/library/curses.rst:1833 msgid "Delete character backward." msgstr "Eliminar carácter al revés." -#: ../Doc/library/curses.rst:1807 +#: ../Doc/library/curses.rst:1835 msgid ":kbd:`Control-J`" msgstr ":kbd:`Control-J`" -#: ../Doc/library/curses.rst:1807 +#: ../Doc/library/curses.rst:1835 msgid "Terminate if the window is 1 line, otherwise insert newline." msgstr "" "Terminar si la ventana es de 1 línea, en caso contrario, inserte una nueva " "línea." -#: ../Doc/library/curses.rst:1810 +#: ../Doc/library/curses.rst:1838 msgid ":kbd:`Control-K`" msgstr ":kbd:`Control-K`" -#: ../Doc/library/curses.rst:1810 +#: ../Doc/library/curses.rst:1838 msgid "If line is blank, delete it, otherwise clear to end of line." msgstr "" "Si la línea es blanca bórrela, en caso contrario, limpie hasta el final de " "línea." -#: ../Doc/library/curses.rst:1813 +#: ../Doc/library/curses.rst:1841 msgid ":kbd:`Control-L`" msgstr ":kbd:`Control-L`" -#: ../Doc/library/curses.rst:1813 +#: ../Doc/library/curses.rst:1841 msgid "Refresh screen." msgstr "Refrescar la pantalla." -#: ../Doc/library/curses.rst:1815 ../Doc/library/curses.rst:1834 +#: ../Doc/library/curses.rst:1843 ../Doc/library/curses.rst:1862 msgid ":kbd:`Control-N`" msgstr ":kbd:`Control-N`" -#: ../Doc/library/curses.rst:1815 +#: ../Doc/library/curses.rst:1843 msgid "Cursor down; move down one line." msgstr "Cursor hacia abajo; mueve hacia abajo una línea." -#: ../Doc/library/curses.rst:1817 +#: ../Doc/library/curses.rst:1845 msgid ":kbd:`Control-O`" msgstr ":kbd:`Control-O`" -#: ../Doc/library/curses.rst:1817 +#: ../Doc/library/curses.rst:1845 msgid "Insert a blank line at cursor location." msgstr "Inserte una línea en blanco en la posición del cursor." -#: ../Doc/library/curses.rst:1819 ../Doc/library/curses.rst:1832 +#: ../Doc/library/curses.rst:1847 ../Doc/library/curses.rst:1860 msgid ":kbd:`Control-P`" msgstr ":kbd:`Control-P`" -#: ../Doc/library/curses.rst:1819 +#: ../Doc/library/curses.rst:1847 msgid "Cursor up; move up one line." msgstr "Cursor hacia arriba; mueve hacia arriba una línea." -#: ../Doc/library/curses.rst:1822 +#: ../Doc/library/curses.rst:1850 msgid "" "Move operations do nothing if the cursor is at an edge where the movement is " "not possible. The following synonyms are supported where possible:" @@ -3791,31 +3819,31 @@ msgstr "" "donde el movimiento no es posible. Los siguientes sinónimos están apoyados " "siempre que sea posible:" -#: ../Doc/library/curses.rst:1828 +#: ../Doc/library/curses.rst:1856 msgid ":const:`KEY_LEFT`" msgstr ":const:`KEY_LEFT`" -#: ../Doc/library/curses.rst:1830 +#: ../Doc/library/curses.rst:1858 msgid ":const:`KEY_RIGHT`" msgstr ":const:`KEY_RIGHT`" -#: ../Doc/library/curses.rst:1832 +#: ../Doc/library/curses.rst:1860 msgid ":const:`KEY_UP`" msgstr ":const:`KEY_UP`" -#: ../Doc/library/curses.rst:1834 +#: ../Doc/library/curses.rst:1862 msgid ":const:`KEY_DOWN`" msgstr ":const:`KEY_DOWN`" -#: ../Doc/library/curses.rst:1836 +#: ../Doc/library/curses.rst:1864 msgid ":const:`KEY_BACKSPACE`" msgstr ":const:`KEY_BACKSPACE`" -#: ../Doc/library/curses.rst:1836 +#: ../Doc/library/curses.rst:1864 msgid ":kbd:`Control-h`" msgstr ":kbd:`Control-h`" -#: ../Doc/library/curses.rst:1839 +#: ../Doc/library/curses.rst:1867 msgid "" "All other keystrokes are treated as a command to insert the given character " "and move right (with line wrapping)." @@ -3823,7 +3851,7 @@ msgstr "" "Todas las otras pulsaciones de teclas están tratadas como un comando para " "insertar el carácter dado y muévase a la derecha (con ajuste en la línea)." -#: ../Doc/library/curses.rst:1845 +#: ../Doc/library/curses.rst:1873 msgid "" "Return the window contents as a string; whether blanks in the window are " "included is affected by the :attr:`stripspaces` member." @@ -3832,7 +3860,7 @@ msgstr "" "espacios en blanco en la ventana se ve afectado por el miembro :attr:" "`stripspaces`." -#: ../Doc/library/curses.rst:1851 +#: ../Doc/library/curses.rst:1879 msgid "" "This attribute is a flag which controls the interpretation of blanks in the " "window. When it is on, trailing blanks on each line are ignored; any cursor " diff --git a/library/dataclasses.po b/library/dataclasses.po index 9ddcfb6a3d..14dc996454 100644 --- a/library/dataclasses.po +++ b/library/dataclasses.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-09-12 00:36+0200\n" +"Last-Translator: Francisco Jesús Sevilla García \n" +"Language: es_ES\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Francisco Jesús Sevilla García \n" -"Language: es_ES\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/dataclasses.rst:2 msgid ":mod:`dataclasses` --- Data Classes" @@ -51,13 +50,13 @@ msgstr "" "teniendo en cuenta anotaciones de tipo :pep:`526`. Por ejemplo, en este " "código::" -#: ../Doc/library/dataclasses.rst:32 +#: ../Doc/library/dataclasses.rst:34 msgid "Will add, among other things, a :meth:`__init__` that looks like::" msgstr "" "Añadirá, además de otros métodos, un método :meth:`__init__` con la " "siguiente estructura::" -#: ../Doc/library/dataclasses.rst:39 +#: ../Doc/library/dataclasses.rst:41 msgid "" "Note that this method is automatically added to the class: it is not " "directly specified in the ``InventoryItem`` definition shown above." @@ -66,11 +65,11 @@ msgstr "" "automáticamente; está implícito en la definición de ``InventoryItem`` " "implementada arriba." -#: ../Doc/library/dataclasses.rst:45 +#: ../Doc/library/dataclasses.rst:47 msgid "Module-level decorators, classes, and functions" msgstr "Decoradores, clases y funciones del módulo" -#: ../Doc/library/dataclasses.rst:49 +#: ../Doc/library/dataclasses.rst:51 msgid "" "This function is a :term:`decorator` that is used to add generated :term:" "`special method`\\s to classes, as described below." @@ -79,7 +78,7 @@ msgstr "" "term:`los métodos especiales ` generados, como se describe a " "continuación." -#: ../Doc/library/dataclasses.rst:52 +#: ../Doc/library/dataclasses.rst:54 msgid "" "The :func:`dataclass` decorator examines the class to find ``field``\\s. A " "``field`` is defined as class variable that has a :term:`type annotation " @@ -92,7 +91,7 @@ msgstr "" "casos descritos debajo, nada en :func:`dataclass` examina el tipo " "especificado en la anotación de variable." -#: ../Doc/library/dataclasses.rst:58 +#: ../Doc/library/dataclasses.rst:60 msgid "" "The order of the fields in all of the generated methods is the order in " "which they appear in the class definition." @@ -100,7 +99,7 @@ msgstr "" "El orden de los campos en los métodos generados es el mismo en el que se " "encuentran en la definición de la clase." -#: ../Doc/library/dataclasses.rst:61 +#: ../Doc/library/dataclasses.rst:63 msgid "" "The :func:`dataclass` decorator will add various \"dunder\" methods to the " "class, described below. If any of the added methods already exist on the " @@ -113,7 +112,7 @@ msgstr "" "comportamiento dependerá del parámetro, como se documenta abajo. El " "decorador retorna la misma clase con la que es llamado, no crea una nueva." -#: ../Doc/library/dataclasses.rst:67 +#: ../Doc/library/dataclasses.rst:69 msgid "" "If :func:`dataclass` is used just as a simple decorator with no parameters, " "it acts as if it has the default values documented in this signature. That " @@ -123,23 +122,23 @@ msgstr "" "actúa con los valores por defecto documentados aquí. Específicamente, los " "siguientes tres usos de :func:`dataclass` son equivalentes::" -#: ../Doc/library/dataclasses.rst:84 +#: ../Doc/library/dataclasses.rst:86 msgid "The parameters to :func:`dataclass` are:" msgstr "Los parámetros de :func:`dataclass` son:" -#: ../Doc/library/dataclasses.rst:86 +#: ../Doc/library/dataclasses.rst:88 msgid "" "``init``: If true (the default), a :meth:`__init__` method will be generated." msgstr "" "``init``: Si es verdadero (valor por defecto), el método :meth:`__init__` " "será generado." -#: ../Doc/library/dataclasses.rst:89 +#: ../Doc/library/dataclasses.rst:91 msgid "" "If the class already defines :meth:`__init__`, this parameter is ignored." msgstr "Si la clase ya define :meth:`__init__`, este parámetro es ignorado." -#: ../Doc/library/dataclasses.rst:92 +#: ../Doc/library/dataclasses.rst:94 msgid "" "``repr``: If true (the default), a :meth:`__repr__` method will be " "generated. The generated repr string will have the class name and the name " @@ -155,12 +154,12 @@ msgstr "" "campos no sean incluidos en la representación. Por ejemplo: " "``InventoryItem(name='widget', unit_price=3.0, quantity_on_hand=10)``." -#: ../Doc/library/dataclasses.rst:99 +#: ../Doc/library/dataclasses.rst:101 msgid "" "If the class already defines :meth:`__repr__`, this parameter is ignored." msgstr "Si la clase ya define :meth:`__repr__`, este parámetro es ignorado." -#: ../Doc/library/dataclasses.rst:102 +#: ../Doc/library/dataclasses.rst:104 msgid "" "``eq``: If true (the default), an :meth:`__eq__` method will be generated. " "This method compares the class as if it were a tuple of its fields, in " @@ -172,11 +171,11 @@ msgstr "" "clase ubicados en el mismo orden en el que fueron definidos (dos tuplas son " "iguales si, y sólo si, sus campos son iguales)." -#: ../Doc/library/dataclasses.rst:107 +#: ../Doc/library/dataclasses.rst:109 msgid "If the class already defines :meth:`__eq__`, this parameter is ignored." msgstr "Si la clase ya define :meth:`__eq__`, este parámetro es ignorado." -#: ../Doc/library/dataclasses.rst:110 +#: ../Doc/library/dataclasses.rst:112 msgid "" "``order``: If true (the default is ``False``), :meth:`__lt__`, :meth:" "`__le__`, :meth:`__gt__`, and :meth:`__ge__` methods will be generated. " @@ -191,7 +190,7 @@ msgstr "" "tipo. Si ``order`` es verdadero y ``eq`` falso, se lanza una excepción :exc:" "`ValueError`." -#: ../Doc/library/dataclasses.rst:117 +#: ../Doc/library/dataclasses.rst:119 msgid "" "If the class already defines any of :meth:`__lt__`, :meth:`__le__`, :meth:" "`__gt__`, or :meth:`__ge__`, then :exc:`TypeError` is raised." @@ -199,7 +198,7 @@ msgstr "" "Si la clase ya define :meth:`__lt__`, :meth:`__le__`, :meth:`__gt__` o :meth:" "`__ge__`, se lanza una excepción :exc:`TypeError`." -#: ../Doc/library/dataclasses.rst:121 +#: ../Doc/library/dataclasses.rst:123 msgid "" "``unsafe_hash``: If ``False`` (the default), a :meth:`__hash__` method is " "generated according to how ``eq`` and ``frozen`` are set." @@ -207,7 +206,7 @@ msgstr "" "``unsafe_hash``: Si es ``False`` (por defecto), se genera el método :meth:" "`__hash__` de acuerdo a los valores de ``eq`` y ``frozen`` definidos." -#: ../Doc/library/dataclasses.rst:124 +#: ../Doc/library/dataclasses.rst:126 msgid "" ":meth:`__hash__` is used by built-in :meth:`hash()`, and when objects are " "added to hashed collections such as dictionaries and sets. Having a :meth:" @@ -225,7 +224,7 @@ msgstr "" "valor asignado a las flags ``eq`` y ``frozen`` en el decorador :func:" "`dataclass`." -#: ../Doc/library/dataclasses.rst:131 +#: ../Doc/library/dataclasses.rst:133 msgid "" "By default, :func:`dataclass` will not implicitly add a :meth:`__hash__` " "method unless it is safe to do so. Neither will it add or change an " @@ -239,9 +238,10 @@ msgstr "" "de clase ``__hash__ = None`` tiene un significado específico en Python, " "descrito en la documentación dedicada a :meth:`__hash__`." -#: ../Doc/library/dataclasses.rst:137 +#: ../Doc/library/dataclasses.rst:139 +#, fuzzy msgid "" -"If :meth:`__hash__` is not explicit defined, or if it is set to ``None``, " +"If :meth:`__hash__` is not explicitly defined, or if it is set to ``None``, " "then :func:`dataclass` *may* add an implicit :meth:`__hash__` method. " "Although not recommended, you can force :func:`dataclass` to create a :meth:" "`__hash__` method with ``unsafe_hash=True``. This might be the case if your " @@ -256,7 +256,7 @@ msgstr "" "puede ser modificada. Este es un caso especial de uso que debe ser " "considerado cuidadosamente." -#: ../Doc/library/dataclasses.rst:144 +#: ../Doc/library/dataclasses.rst:146 msgid "" "Here are the rules governing implicit creation of a :meth:`__hash__` " "method. Note that you cannot both have an explicit :meth:`__hash__` method " @@ -269,7 +269,7 @@ msgstr "" "tiempo asignar ``unsafe_hash=True``; esto lanza una excepción :exc:" "`TypeError`." -#: ../Doc/library/dataclasses.rst:149 +#: ../Doc/library/dataclasses.rst:151 msgid "" "If ``eq`` and ``frozen`` are both true, by default :func:`dataclass` will " "generate a :meth:`__hash__` method for you. If ``eq`` is true and " @@ -288,7 +288,7 @@ msgstr "" "que si la superclase es :class:`object`, se aplicará el *hashing* basado en " "el id de los objetos)." -#: ../Doc/library/dataclasses.rst:157 +#: ../Doc/library/dataclasses.rst:159 msgid "" "``frozen``: If true (the default is ``False``), assigning to fields will " "generate an exception. This emulates read-only frozen instances. If :meth:" @@ -301,7 +301,7 @@ msgstr "" "Si :meth:`__setattr__` o :meth:`__delattr__` son definidos en la clase, se " "lanzará una excepción :exc:`TypeError`. Esto es ampliado más abajo." -#: ../Doc/library/dataclasses.rst:162 +#: ../Doc/library/dataclasses.rst:164 msgid "" "``field``\\s may optionally specify a default value, using normal Python " "syntax::" @@ -309,7 +309,7 @@ msgstr "" "Los ``fields`` pueden especificar un valor por defecto opcionalmente, " "simplemente usando la sintaxis normal de Python::" -#: ../Doc/library/dataclasses.rst:170 +#: ../Doc/library/dataclasses.rst:172 msgid "" "In this example, both ``a`` and ``b`` will be included in the added :meth:" "`__init__` method, which will be defined as::" @@ -317,7 +317,7 @@ msgstr "" "En este ejemplo, tanto ``a`` como ``b`` serán incluidos en el método :meth:" "`__init__` agregado, el cual será definido como sigue::" -#: ../Doc/library/dataclasses.rst:175 +#: ../Doc/library/dataclasses.rst:177 msgid "" ":exc:`TypeError` will be raised if a field without a default value follows a " "field with a default value. This is true either when this occurs in a " @@ -328,7 +328,7 @@ msgstr "" "Esto se aplica también a la implementación de una clase única o como " "resultado de herencia de clases." -#: ../Doc/library/dataclasses.rst:181 +#: ../Doc/library/dataclasses.rst:183 msgid "" "For common and simple use cases, no other functionality is required. There " "are, however, some dataclass features that require additional per-field " @@ -342,7 +342,7 @@ msgstr "" "posible reemplazar cualquier valor por defecto de un campo mediante una " "llamada a la función :func:`field`. Por ejemplo::" -#: ../Doc/library/dataclasses.rst:194 +#: ../Doc/library/dataclasses.rst:196 msgid "" "As shown above, the ``MISSING`` value is a sentinel object used to detect if " "the ``default`` and ``default_factory`` parameters are provided. This " @@ -355,11 +355,11 @@ msgstr "" "un valor válido para ``default``. Ningún procedimiento debe utilizar " "directamente el valor ``MISSING``." -#: ../Doc/library/dataclasses.rst:200 +#: ../Doc/library/dataclasses.rst:202 msgid "The parameters to :func:`field` are:" msgstr "Los parámetros de :func:`field` son:" -#: ../Doc/library/dataclasses.rst:202 +#: ../Doc/library/dataclasses.rst:204 msgid "" "``default``: If provided, this will be the default value for this field. " "This is needed because the :meth:`field` call itself replaces the normal " @@ -369,7 +369,7 @@ msgstr "" "Es necesario que sea definido ya que la propia llamada a :meth:`field` " "reemplaza la posición normal del valor por defecto." -#: ../Doc/library/dataclasses.rst:206 +#: ../Doc/library/dataclasses.rst:208 msgid "" "``default_factory``: If provided, it must be a zero-argument callable that " "will be called when a default value is needed for this field. Among other " @@ -384,7 +384,7 @@ msgstr "" "continuación. Especificar tanto ``default`` como ``default_factory`` resulta " "en un error." -#: ../Doc/library/dataclasses.rst:212 +#: ../Doc/library/dataclasses.rst:214 msgid "" "``init``: If true (the default), this field is included as a parameter to " "the generated :meth:`__init__` method." @@ -392,7 +392,7 @@ msgstr "" "``init``: Si es verdadero (por defecto), este campo es incluido como " "parámetro del método :meth:`__init__` generado." -#: ../Doc/library/dataclasses.rst:215 +#: ../Doc/library/dataclasses.rst:217 msgid "" "``repr``: If true (the default), this field is included in the string " "returned by the generated :meth:`__repr__` method." @@ -400,7 +400,7 @@ msgstr "" "``repr``: Si es verdadero (por defecto), este campo es incluido en la cadena " "de caracteres que retorna el método :meth:`__repr__` generado." -#: ../Doc/library/dataclasses.rst:218 +#: ../Doc/library/dataclasses.rst:220 msgid "" "``compare``: If true (the default), this field is included in the generated " "equality and comparison methods (:meth:`__eq__`, :meth:`__gt__`, et al.)." @@ -408,7 +408,7 @@ msgstr "" "``compare``: Si es verdadero (por defecto), este campo es incluido en los " "métodos de comparación generados (:meth:`__eq__`, :meth:`__gt__` y otros)." -#: ../Doc/library/dataclasses.rst:222 +#: ../Doc/library/dataclasses.rst:224 msgid "" "``hash``: This can be a bool or ``None``. If true, this field is included " "in the generated :meth:`__hash__` method. If ``None`` (the default), use " @@ -423,7 +423,7 @@ msgstr "" "si es compatible con operaciones de comparación. Está desaconsejado " "establecer este valor en algo que no sea ``None``." -#: ../Doc/library/dataclasses.rst:229 +#: ../Doc/library/dataclasses.rst:231 msgid "" "One possible reason to set ``hash=False`` but ``compare=True`` would be if a " "field is expensive to compute a hash value for, that field is needed for " @@ -437,7 +437,7 @@ msgstr "" "otros campos que contribuyen al valor hash del tipo. Incluso si un campo se " "excluye del hash, se seguirá utilizando a la hora de comparar." -#: ../Doc/library/dataclasses.rst:235 +#: ../Doc/library/dataclasses.rst:237 msgid "" "``metadata``: This can be a mapping or None. None is treated as an empty " "dict. This value is wrapped in :func:`~types.MappingProxyType` to make it " @@ -453,7 +453,7 @@ msgstr "" "extensión de terceros. Varios terceros pueden tener su propia clave para " "utilizar como espacio de nombres en *metadata*." -#: ../Doc/library/dataclasses.rst:243 +#: ../Doc/library/dataclasses.rst:245 msgid "" "If the default value of a field is specified by a call to :func:`field()`, " "then the class attribute for this field will be replaced by the specified " @@ -471,7 +471,7 @@ msgstr "" "clase contengan los valores por defecto de cada campo, como si fueran " "definidos uno por uno. Por ejemplo, luego de::" -#: ../Doc/library/dataclasses.rst:259 +#: ../Doc/library/dataclasses.rst:261 msgid "" "The class attribute ``C.z`` will be ``10``, the class attribute ``C.t`` will " "be ``20``, and the class attributes ``C.x`` and ``C.y`` will not be set." @@ -479,7 +479,7 @@ msgstr "" "El atributo de clase ``C.z`` será ``10``, el atributo de clase ``C.t`` será " "``20`` y los atributos de clase ``C.x`` y ``C.y`` no serán definidos." -#: ../Doc/library/dataclasses.rst:265 +#: ../Doc/library/dataclasses.rst:267 msgid "" ":class:`Field` objects describe each defined field. These objects are " "created internally, and are returned by the :func:`fields` module-level " @@ -491,15 +491,15 @@ msgstr "" "en este módulo (explicado más abajo). Los usuarios no deben instanciar un " "objeto :class:`Field` directamente. Sus atributos documentados son:" -#: ../Doc/library/dataclasses.rst:270 +#: ../Doc/library/dataclasses.rst:272 msgid "``name``: The name of the field." msgstr "``name``: El nombre del campo." -#: ../Doc/library/dataclasses.rst:272 +#: ../Doc/library/dataclasses.rst:274 msgid "``type``: The type of the field." msgstr "``type``: El tipo del campo." -#: ../Doc/library/dataclasses.rst:274 +#: ../Doc/library/dataclasses.rst:276 msgid "" "``default``, ``default_factory``, ``init``, ``repr``, ``hash``, ``compare``, " "and ``metadata`` have the identical meaning and values as they do in the :" @@ -509,7 +509,7 @@ msgstr "" "y ``metadata`` tienen los mismos valores y significados respecto a la " "declaración de :func:`field` (ver arriba)." -#: ../Doc/library/dataclasses.rst:278 +#: ../Doc/library/dataclasses.rst:280 msgid "" "Other attributes may exist, but they are private and must not be inspected " "or relied on." @@ -517,7 +517,7 @@ msgstr "" "Pueden existir otros atributos, pero son privados y no deberían ser " "considerados ni depender de ellos." -#: ../Doc/library/dataclasses.rst:283 +#: ../Doc/library/dataclasses.rst:285 msgid "" "Returns a tuple of :class:`Field` objects that define the fields for this " "dataclass. Accepts either a dataclass, or an instance of a dataclass. " @@ -529,7 +529,7 @@ msgstr "" "Lanza una excepción :exc:`TypeError` si se le pasa cualquier otro objeto. No " "retorna pseudocampos, que son ``ClassVar`` o ``InitVar``." -#: ../Doc/library/dataclasses.rst:290 +#: ../Doc/library/dataclasses.rst:292 msgid "" "Converts the dataclass ``instance`` to a dict (by using the factory function " "``dict_factory``). Each dataclass is converted to a dict of its fields, as " @@ -542,13 +542,13 @@ msgstr "" "datos, diccionarios, listas y tuplas son convertidas recursivamente. Por " "ejemplo::" -#: ../Doc/library/dataclasses.rst:310 ../Doc/library/dataclasses.rst:324 +#: ../Doc/library/dataclasses.rst:312 ../Doc/library/dataclasses.rst:326 msgid "Raises :exc:`TypeError` if ``instance`` is not a dataclass instance." msgstr "" "Lanza una excepción :exc:`TypeError` si ``instance`` no es una instancia de " "una clase de datos." -#: ../Doc/library/dataclasses.rst:314 +#: ../Doc/library/dataclasses.rst:316 msgid "" "Converts the dataclass ``instance`` to a tuple (by using the factory " "function ``tuple_factory``). Each dataclass is converted to a tuple of its " @@ -559,11 +559,11 @@ msgstr "" "con los valores de sus campos. Las clases de datos, diccionarios, listas y " "tuplas son convertidas recursivamente." -#: ../Doc/library/dataclasses.rst:319 +#: ../Doc/library/dataclasses.rst:321 msgid "Continuing from the previous example::" msgstr "Continuando con el ejemplo anterior::" -#: ../Doc/library/dataclasses.rst:328 +#: ../Doc/library/dataclasses.rst:330 msgid "" "Creates a new dataclass with name ``cls_name``, fields as defined in " "``fields``, base classes as given in ``bases``, and initialized with a " @@ -583,7 +583,7 @@ msgstr "" "``unsafe_hash`` y ``frozen`` tienen el mismo significado que en la función :" "func:`dataclass`." -#: ../Doc/library/dataclasses.rst:337 +#: ../Doc/library/dataclasses.rst:339 msgid "" "This function is not strictly required, because any Python mechanism for " "creating a new class with ``__annotations__`` can then apply the :func:" @@ -595,11 +595,11 @@ msgstr "" "función :func:`dataclass` para convertir esa clase en una clase de datos. " "Esta función se proporciona simplemente por comodidad. Por ejemplo::" -#: ../Doc/library/dataclasses.rst:349 +#: ../Doc/library/dataclasses.rst:351 msgid "Is equivalent to::" msgstr "Es equivalente a::" -#: ../Doc/library/dataclasses.rst:362 +#: ../Doc/library/dataclasses.rst:364 msgid "" "Creates a new object of the same type of ``instance``, replacing fields with " "values from ``changes``. If ``instance`` is not a Data Class, raises :exc:" @@ -612,7 +612,7 @@ msgstr "" "valores en ``changes`` no especifican campos, también se lanza una " "excepción :exc:`TypeError`." -#: ../Doc/library/dataclasses.rst:367 +#: ../Doc/library/dataclasses.rst:369 msgid "" "The newly returned object is created by calling the :meth:`__init__` method " "of the dataclass. This ensures that :meth:`__post_init__`, if present, is " @@ -622,7 +622,7 @@ msgstr "" "la clase de datos. Esto asegura que :meth:`__post_init__`, si existe, " "también será llamado." -#: ../Doc/library/dataclasses.rst:371 +#: ../Doc/library/dataclasses.rst:373 msgid "" "Init-only variables without default values, if any exist, must be specified " "on the call to :func:`replace` so that they can be passed to :meth:" @@ -632,7 +632,7 @@ msgstr "" "existen, deben especificarse en la llamada a :func:`replace` para que puedan " "pasarse a :meth:`__init__` y :meth:`__post_init__`." -#: ../Doc/library/dataclasses.rst:375 +#: ../Doc/library/dataclasses.rst:377 msgid "" "It is an error for ``changes`` to contain any fields that are defined as " "having ``init=False``. A :exc:`ValueError` will be raised in this case." @@ -640,7 +640,7 @@ msgstr "" "Es un error que ``changes`` contenga cualquier campo que esté definido como " "``init=False``. Una excepción :exc:`ValueError` se lanzará en este caso." -#: ../Doc/library/dataclasses.rst:379 +#: ../Doc/library/dataclasses.rst:381 msgid "" "Be forewarned about how ``init=False`` fields work during a call to :func:" "`replace`. They are not copied from the source object, but rather are " @@ -658,7 +658,7 @@ msgstr "" "o quizás un método personalizado ``replace()`` (o con un nombre similar) que " "maneje la copia de instancias." -#: ../Doc/library/dataclasses.rst:390 +#: ../Doc/library/dataclasses.rst:392 msgid "" "Return ``True`` if its parameter is a dataclass or an instance of one, " "otherwise return ``False``." @@ -666,7 +666,7 @@ msgstr "" "Retorna ``True`` si su parámetro es una clase de datos o una instancia de " "una, en caso contrario retorna ``False``." -#: ../Doc/library/dataclasses.rst:393 +#: ../Doc/library/dataclasses.rst:395 msgid "" "If you need to know if a class is an instance of a dataclass (and not a " "dataclass itself), then add a further check for ``not isinstance(obj, " @@ -676,11 +676,11 @@ msgstr "" "una clase de datos en si misma), se debe agregar una verificación adicional " "para ``not isinstance(obj, type)``::" -#: ../Doc/library/dataclasses.rst:401 +#: ../Doc/library/dataclasses.rst:403 msgid "Post-init processing" msgstr "Procesamiento posterior a la inicialización" -#: ../Doc/library/dataclasses.rst:403 +#: ../Doc/library/dataclasses.rst:405 msgid "" "The generated :meth:`__init__` code will call a method named :meth:" "`__post_init__`, if :meth:`__post_init__` is defined on the class. It will " @@ -697,7 +697,7 @@ msgstr "" "meth:`__init__`, entonces :meth:`__post_init__` no se llamará " "automáticamente." -#: ../Doc/library/dataclasses.rst:411 +#: ../Doc/library/dataclasses.rst:413 msgid "" "Among other uses, this allows for initializing field values that depend on " "one or more other fields. For example::" @@ -705,7 +705,7 @@ msgstr "" "Entre otros usos, esto permite inicializar valores de campo que dependen de " "uno o más campos. Por ejemplo::" -#: ../Doc/library/dataclasses.rst:423 +#: ../Doc/library/dataclasses.rst:425 msgid "" "See the section below on init-only variables for ways to pass parameters to :" "meth:`__post_init__`. Also see the warning about how :func:`replace` " @@ -716,11 +716,11 @@ msgstr "" "`__post_init__`. También vea la advertencia sobre cómo :func:`replace` " "maneja los campos ``init = False``." -#: ../Doc/library/dataclasses.rst:428 +#: ../Doc/library/dataclasses.rst:430 msgid "Class variables" msgstr "Variables de clase" -#: ../Doc/library/dataclasses.rst:430 +#: ../Doc/library/dataclasses.rst:432 msgid "" "One of two places where :func:`dataclass` actually inspects the type of a " "field is to determine if a field is a class variable as defined in :pep:" @@ -737,11 +737,11 @@ msgstr "" "pseudocampos ``ClassVar`` no son retornados por la función del módulo :func:" "`fields`." -#: ../Doc/library/dataclasses.rst:439 +#: ../Doc/library/dataclasses.rst:441 msgid "Init-only variables" msgstr "Variable de solo inicialización" -#: ../Doc/library/dataclasses.rst:441 +#: ../Doc/library/dataclasses.rst:443 msgid "" "The other place where :func:`dataclass` inspects a type annotation is to " "determine if a field is an init-only variable. It does this by seeing if " @@ -762,7 +762,7 @@ msgstr "" "método opcional :meth:`__post_init__`. No son utilizados de otra manera por " "las clases de datos." -#: ../Doc/library/dataclasses.rst:451 +#: ../Doc/library/dataclasses.rst:453 msgid "" "For example, suppose a field will be initialized from a database, if a value " "is not provided when creating the class::" @@ -770,7 +770,7 @@ msgstr "" "Por ejemplo, supongamos que se va a inicializar un campo desde una base de " "datos, de no proporcionarse un valor al crear la clase::" -#: ../Doc/library/dataclasses.rst:466 +#: ../Doc/library/dataclasses.rst:468 msgid "" "In this case, :func:`fields` will return :class:`Field` objects for ``i`` " "and ``j``, but not for ``database``." @@ -778,11 +778,11 @@ msgstr "" "En este caso, :func:`fields` retornará objetos :class:`Field` para ``i`` y " "``j``, pero no para ``database``." -#: ../Doc/library/dataclasses.rst:470 +#: ../Doc/library/dataclasses.rst:472 msgid "Frozen instances" msgstr "Instancias congeladas" -#: ../Doc/library/dataclasses.rst:472 +#: ../Doc/library/dataclasses.rst:474 msgid "" "It is not possible to create truly immutable Python objects. However, by " "passing ``frozen=True`` to the :meth:`dataclass` decorator you can emulate " @@ -796,7 +796,7 @@ msgstr "" "métodos :meth:`__setattr__` y :meth:`__delattr__` a la clase. Estos métodos " "lanzarán una excepción :exc:`FrozenInstanceError` cuando sean llamados." -#: ../Doc/library/dataclasses.rst:478 +#: ../Doc/library/dataclasses.rst:480 msgid "" "There is a tiny performance penalty when using ``frozen=True``: :meth:" "`__init__` cannot use simple assignment to initialize fields, and must use :" @@ -806,11 +806,11 @@ msgstr "" "esto se debe a que :meth:`__init__` no puede usar una asignación simple para " "inicializar campos, viéndose obligado a usar :meth:`object.__setattr__`." -#: ../Doc/library/dataclasses.rst:483 +#: ../Doc/library/dataclasses.rst:485 msgid "Inheritance" msgstr "Herencia" -#: ../Doc/library/dataclasses.rst:485 +#: ../Doc/library/dataclasses.rst:487 msgid "" "When the dataclass is being created by the :meth:`dataclass` decorator, it " "looks through all of the class's base classes in reverse MRO (that is, " @@ -830,7 +830,7 @@ msgstr "" "combinando los campos. Como los campos están en orden de inserción, las " "clases derivadas anulan las clases base. Un ejemplo::" -#: ../Doc/library/dataclasses.rst:505 +#: ../Doc/library/dataclasses.rst:507 msgid "" "The final list of fields is, in order, ``x``, ``y``, ``z``. The final type " "of ``x`` is ``int``, as specified in class ``C``." @@ -838,15 +838,15 @@ msgstr "" "La lista final de campos es, en orden, ``x``, ``y``, ``z``. El tipo final de " "``x`` es ``int``, como se especifica en la clase ``C``." -#: ../Doc/library/dataclasses.rst:508 +#: ../Doc/library/dataclasses.rst:510 msgid "The generated :meth:`__init__` method for ``C`` will look like::" msgstr "El método :meth:`__init__` generado para ``C`` se verá como::" -#: ../Doc/library/dataclasses.rst:513 +#: ../Doc/library/dataclasses.rst:515 msgid "Default factory functions" msgstr "Funciones fábrica por defecto" -#: ../Doc/library/dataclasses.rst:515 +#: ../Doc/library/dataclasses.rst:517 msgid "" "If a :func:`field` specifies a ``default_factory``, it is called with zero " "arguments when a default value for the field is needed. For example, to " @@ -856,7 +856,7 @@ msgstr "" "argumentos cuando se necesita un valor predeterminado para el campo. Por " "ejemplo, para crear una nueva instancia de una lista, debe usarse::" -#: ../Doc/library/dataclasses.rst:521 +#: ../Doc/library/dataclasses.rst:523 msgid "" "If a field is excluded from :meth:`__init__` (using ``init=False``) and the " "field also specifies ``default_factory``, then the default factory function " @@ -869,11 +869,11 @@ msgstr "" "`__init__`. Esto sucede porque no existe otra forma de darle al campo un " "valor inicial." -#: ../Doc/library/dataclasses.rst:528 +#: ../Doc/library/dataclasses.rst:530 msgid "Mutable default values" msgstr "Valores por defecto mutables" -#: ../Doc/library/dataclasses.rst:530 +#: ../Doc/library/dataclasses.rst:532 msgid "" "Python stores default member variable values in class attributes. Consider " "this example, not using dataclasses::" @@ -881,7 +881,7 @@ msgstr "" "Python almacena los valores miembros por defecto en atributos de clase. " "Considera este ejemplo, sin usar clases de datos::" -#: ../Doc/library/dataclasses.rst:545 +#: ../Doc/library/dataclasses.rst:547 msgid "" "Note that the two instances of class ``C`` share the same class variable " "``x``, as expected." @@ -889,15 +889,15 @@ msgstr "" "Tenga en cuenta que, tal como cabe esperar, las dos instancias de la clase " "``C`` comparten la misma variable de clase ``x``." -#: ../Doc/library/dataclasses.rst:548 +#: ../Doc/library/dataclasses.rst:550 msgid "Using dataclasses, *if* this code was valid::" msgstr "Usando clases de datos, *si* este código fuera válido:" -#: ../Doc/library/dataclasses.rst:556 +#: ../Doc/library/dataclasses.rst:558 msgid "it would generate code similar to::" msgstr "generaría un código similar a::" -#: ../Doc/library/dataclasses.rst:567 +#: ../Doc/library/dataclasses.rst:569 msgid "" "This has the same issue as the original example using class ``C``. That is, " "two instances of class ``D`` that do not specify a value for ``x`` when " @@ -919,7 +919,7 @@ msgstr "" "``dict`` o ``set`` (contenedores incorporados mutables). Esta es una " "solución parcial, pero protege contra muchos de los errores más comunes." -#: ../Doc/library/dataclasses.rst:577 +#: ../Doc/library/dataclasses.rst:579 msgid "" "Using default factory functions is a way to create new instances of mutable " "types as default values for fields::" @@ -927,11 +927,11 @@ msgstr "" "Usar las funciones fábrica por defecto es una forma de crear nuevas " "instancias de tipos mutables como valores por defecto para campos::" -#: ../Doc/library/dataclasses.rst:587 +#: ../Doc/library/dataclasses.rst:589 msgid "Exceptions" msgstr "Excepciones" -#: ../Doc/library/dataclasses.rst:591 +#: ../Doc/library/dataclasses.rst:593 msgid "" "Raised when an implicitly defined :meth:`__setattr__` or :meth:`__delattr__` " "is called on a dataclass which was defined with ``frozen=True``." diff --git a/library/datetime.po b/library/datetime.po index f1dc868038..fb70592e87 100644 --- a/library/datetime.po +++ b/library/datetime.po @@ -10,24 +10,24 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-10-06 11:06-0400\n" +"Last-Translator: \n" +"Language: es_ES\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es_ES\n" -"X-Generator: Poedit 2.3.1\n" #: ../Doc/library/datetime.rst:2 msgid ":mod:`datetime` --- Basic date and time types" msgstr ":mod:`datetime` --- Tipos básicos de fecha y hora" #: ../Doc/library/datetime.rst:11 -msgid "*Source code:* :source:`Lib/datetime.py`" +#, fuzzy +msgid "**Source code:** :source:`Lib/datetime.py`" msgstr "*Código fuente:* :source:`Lib/datetime.py`" #: ../Doc/library/datetime.rst:17 @@ -75,16 +75,20 @@ msgid "Aware and Naive Objects" msgstr "Objetos conscientes (*aware*) y naífs (*naive*)" #: ../Doc/library/datetime.rst:38 -msgid "Date and time objects may be categorized as \"aware\" or \"naive.\"" +#, fuzzy +msgid "" +"Date and time objects may be categorized as \"aware\" or \"naive\" depending " +"on whether or not they include timezone information." msgstr "" "Los objetos de fecha y hora pueden clasificarse como conscientes (*aware*) o " "naífs (*naive*)." -#: ../Doc/library/datetime.rst:40 +#: ../Doc/library/datetime.rst:41 +#, fuzzy msgid "" "With sufficient knowledge of applicable algorithmic and political time " "adjustments, such as time zone and daylight saving time information, an " -"*aware* object can locate itself relative to other aware objects. An aware " +"**aware** object can locate itself relative to other aware objects. An aware " "object represents a specific moment in time that is not open to " "interpretation. [#]_" msgstr "" @@ -94,10 +98,11 @@ msgstr "" "otros objetos conscientes. Un objeto consciente representa un momento " "específico en el tiempo que no está abierto a interpretación. [#]_" -#: ../Doc/library/datetime.rst:46 +#: ../Doc/library/datetime.rst:47 +#, fuzzy msgid "" -"A *naive* object does not contain enough information to unambiguously locate " -"itself relative to other date/time objects. Whether a naive object " +"A **naive** object does not contain enough information to unambiguously " +"locate itself relative to other date/time objects. Whether a naive object " "represents Coordinated Universal Time (UTC), local time, or time in some " "other timezone is purely up to the program, just like it is up to the " "program whether a particular number represents metres, miles, or mass. Naive " @@ -112,7 +117,7 @@ msgstr "" "masa. Los objetos naíf son fáciles de entender y trabajar, a costa de " "ignorar algunos aspectos de la realidad." -#: ../Doc/library/datetime.rst:53 +#: ../Doc/library/datetime.rst:54 #, fuzzy msgid "" "For applications requiring aware objects, :class:`.datetime` and :class:`." @@ -130,7 +135,7 @@ msgstr "" "la hora UTC, el nombre de la zona horaria y si el horario de verano está " "vigente." -#: ../Doc/library/datetime.rst:59 +#: ../Doc/library/datetime.rst:60 msgid "" "Only one concrete :class:`tzinfo` class, the :class:`timezone` class, is " "supplied by the :mod:`datetime` module. The :class:`timezone` class can " @@ -149,15 +154,15 @@ msgstr "" "políticas que racionales, cambian con frecuencia y no existe un estándar " "adecuado para cada aplicación, aparte de UTC." -#: ../Doc/library/datetime.rst:68 +#: ../Doc/library/datetime.rst:69 msgid "Constants" msgstr "Constantes" -#: ../Doc/library/datetime.rst:70 +#: ../Doc/library/datetime.rst:71 msgid "The :mod:`datetime` module exports the following constants:" msgstr "El módulo :mod:`datetime` exporta las siguientes constantes:" -#: ../Doc/library/datetime.rst:74 +#: ../Doc/library/datetime.rst:75 msgid "" "The smallest year number allowed in a :class:`date` or :class:`.datetime` " "object. :const:`MINYEAR` is ``1``." @@ -165,7 +170,7 @@ msgstr "" "El número de año más pequeño permitido en un objeto :class:`date` o :class:`." "datetime`. :const:`MINYEAR` es` `1``." -#: ../Doc/library/datetime.rst:80 +#: ../Doc/library/datetime.rst:81 msgid "" "The largest year number allowed in a :class:`date` or :class:`.datetime` " "object. :const:`MAXYEAR` is ``9999``." @@ -173,11 +178,11 @@ msgstr "" "El número de año más grande permitido en un objeto :class:`date` o en :class:" "`.datetime`:const:`MAXYEAR` es` `9999``." -#: ../Doc/library/datetime.rst:84 +#: ../Doc/library/datetime.rst:85 msgid "Available Types" msgstr "Tipos disponibles" -#: ../Doc/library/datetime.rst:89 +#: ../Doc/library/datetime.rst:90 msgid "" "An idealized naive date, assuming the current Gregorian calendar always was, " "and always will be, in effect. Attributes: :attr:`year`, :attr:`month`, and :" @@ -187,7 +192,7 @@ msgstr "" "actual siempre estuvo, y siempre estará, vigente. Atributos: :attr:`year`, :" "attr:`month`, y :attr:`day`." -#: ../Doc/library/datetime.rst:97 +#: ../Doc/library/datetime.rst:98 msgid "" "An idealized time, independent of any particular day, assuming that every " "day has exactly 24\\*60\\*60 seconds. (There is no notion of \"leap seconds" @@ -200,7 +205,7 @@ msgstr "" "Atributos: :attr:`hour`, :attr:`minute`, :attr:`second`, :attr:" "`microsecond`, y :attr:`.tzinfo`." -#: ../Doc/library/datetime.rst:106 +#: ../Doc/library/datetime.rst:107 msgid "" "A combination of a date and a time. Attributes: :attr:`year`, :attr:" "`month`, :attr:`day`, :attr:`hour`, :attr:`minute`, :attr:`second`, :attr:" @@ -210,7 +215,7 @@ msgstr "" "Atributos: :attr:`year`, :attr:`month`, :attr:`day`, :attr:`hour`, :attr:" "`minute`, :attr:`second`, :attr:`microsecond` , y :attr:`.tzinfo`." -#: ../Doc/library/datetime.rst:114 +#: ../Doc/library/datetime.rst:115 #, fuzzy msgid "" "A duration expressing the difference between two :class:`date`, :class:`." @@ -219,7 +224,7 @@ msgstr "" "Una duración que expresa la diferencia entre dos instancias a una resolución " "de microsegundos :class:`date`, :class:`.time` o :class:`.datetime`." -#: ../Doc/library/datetime.rst:121 +#: ../Doc/library/datetime.rst:122 #, fuzzy msgid "" "An abstract base class for time zone information objects. These are used by " @@ -232,7 +237,7 @@ msgstr "" "proporcionar una noción de ajuste de hora que se puede personalizar (por " "ejemplo, para tener en cuenta la zona horaria y / o el horario de verano)." -#: ../Doc/library/datetime.rst:129 +#: ../Doc/library/datetime.rst:130 msgid "" "A class that implements the :class:`tzinfo` abstract base class as a fixed " "offset from the UTC." @@ -240,19 +245,19 @@ msgstr "" "Una clase que implementa la clase de base abstracta :class:`tzinfo` como un " "desplazamiento fijo desde el UTC." -#: ../Doc/library/datetime.rst:134 ../Doc/library/datetime.rst:152 +#: ../Doc/library/datetime.rst:135 ../Doc/library/datetime.rst:153 msgid "Objects of these types are immutable." msgstr "Los objetos de este tipo son inmutables." -#: ../Doc/library/datetime.rst:136 +#: ../Doc/library/datetime.rst:137 msgid "Subclass relationships::" msgstr "Relaciones de subclase::" -#: ../Doc/library/datetime.rst:147 +#: ../Doc/library/datetime.rst:148 msgid "Common Properties" msgstr "Propiedades comunes" -#: ../Doc/library/datetime.rst:149 +#: ../Doc/library/datetime.rst:150 msgid "" "The :class:`date`, :class:`.datetime`, :class:`.time`, and :class:`timezone` " "types share these common features:" @@ -260,7 +265,7 @@ msgstr "" "Las clases :class:`date`, :class:`.datetime`, :class:`.time`, y :class:" "`timezone` comparten estas características comunes:" -#: ../Doc/library/datetime.rst:153 +#: ../Doc/library/datetime.rst:154 msgid "" "Objects of these types are hashable, meaning that they can be used as " "dictionary keys." @@ -268,7 +273,7 @@ msgstr "" "Los objetos de este tipo son *hashable*, lo que significa que pueden usarse " "como claves de diccionario." -#: ../Doc/library/datetime.rst:155 +#: ../Doc/library/datetime.rst:156 msgid "" "Objects of these types support efficient pickling via the :mod:`pickle` " "module." @@ -276,60 +281,60 @@ msgstr "" "Los objetos de este tipo admiten el *pickling* eficiente a través del " "módulo :mod:`pickle`." -#: ../Doc/library/datetime.rst:158 +#: ../Doc/library/datetime.rst:159 msgid "Determining if an Object is Aware or Naive" msgstr "Determinando si un objeto es Consciente (*Aware*) o Naíf (*Naive*)" -#: ../Doc/library/datetime.rst:160 +#: ../Doc/library/datetime.rst:161 msgid "Objects of the :class:`date` type are always naive." msgstr "Los objetos del tipo :class:`date` son siempre naíf (*naive*)." -#: ../Doc/library/datetime.rst:162 +#: ../Doc/library/datetime.rst:163 msgid "" "An object of type :class:`.time` or :class:`.datetime` may be aware or naive." msgstr "" "Un objeto de tipo :class:`.time` o :class:`.datetime` puede ser consciente " "(*aware*) o naíf (*naive*)." -#: ../Doc/library/datetime.rst:164 +#: ../Doc/library/datetime.rst:165 #, fuzzy msgid "A :class:`.datetime` object *d* is aware if both of the following hold:" msgstr "" "Un objeto *d* de la clase :class:`.datetime` sabe si se cumplen los dos " "siguientes:" -#: ../Doc/library/datetime.rst:166 +#: ../Doc/library/datetime.rst:167 msgid "``d.tzinfo`` is not ``None``" msgstr "``d.tzinfo`` no es ``None``" -#: ../Doc/library/datetime.rst:167 +#: ../Doc/library/datetime.rst:168 msgid "``d.tzinfo.utcoffset(d)`` does not return ``None``" msgstr "``d.tzinfo.utcoffset(d)`` no retorna ``None``" -#: ../Doc/library/datetime.rst:169 +#: ../Doc/library/datetime.rst:170 msgid "Otherwise, *d* is naive." msgstr "De lo contrario, *d* es naíf (*naive*)." -#: ../Doc/library/datetime.rst:171 +#: ../Doc/library/datetime.rst:172 #, fuzzy msgid "A :class:`.time` object *t* is aware if both of the following hold:" msgstr "" "Un objeto de :class:`.time` *t* es consciente si se cumplen los dos " "siguientes:" -#: ../Doc/library/datetime.rst:173 +#: ../Doc/library/datetime.rst:174 msgid "``t.tzinfo`` is not ``None``" msgstr "``t.tzinfo`` no es ``None``" -#: ../Doc/library/datetime.rst:174 +#: ../Doc/library/datetime.rst:175 msgid "``t.tzinfo.utcoffset(None)`` does not return ``None``." msgstr "``t.tzinfo.utcoffset(None)`` no retorna ``None``." -#: ../Doc/library/datetime.rst:176 +#: ../Doc/library/datetime.rst:177 msgid "Otherwise, *t* is naive." msgstr "De lo contrario, *t* es naíf (*naive*)." -#: ../Doc/library/datetime.rst:178 +#: ../Doc/library/datetime.rst:179 msgid "" "The distinction between aware and naive doesn't apply to :class:`timedelta` " "objects." @@ -337,11 +342,11 @@ msgstr "" "La distinción entre los objetos consciente (*aware*) y naíf (*naive*) no se " "aplica a :class:`timedelta`." -#: ../Doc/library/datetime.rst:184 +#: ../Doc/library/datetime.rst:185 msgid ":class:`timedelta` Objects" msgstr "Objetos :class:`timedelta`" -#: ../Doc/library/datetime.rst:186 +#: ../Doc/library/datetime.rst:187 msgid "" "A :class:`timedelta` object represents a duration, the difference between " "two dates or times." @@ -349,7 +354,7 @@ msgstr "" "El objeto :class:`timedelta` representa una duración, la diferencia entre " "dos fechas u horas." -#: ../Doc/library/datetime.rst:191 +#: ../Doc/library/datetime.rst:192 msgid "" "All arguments are optional and default to ``0``. Arguments may be integers " "or floats, and may be positive or negative." @@ -358,7 +363,7 @@ msgstr "" "argumentos pueden ser enteros o flotantes, y pueden ser positivos o " "negativos." -#: ../Doc/library/datetime.rst:194 +#: ../Doc/library/datetime.rst:195 msgid "" "Only *days*, *seconds* and *microseconds* are stored internally. Arguments " "are converted to those units:" @@ -366,23 +371,23 @@ msgstr "" "Solo *days*, *seconds* y *microseconds* se almacenan internamente. Los " "argumentos se convierten a esas unidades:" -#: ../Doc/library/datetime.rst:197 +#: ../Doc/library/datetime.rst:198 msgid "A millisecond is converted to 1000 microseconds." msgstr "Un milisegundo se convierte a 1000 microsegundos." -#: ../Doc/library/datetime.rst:198 +#: ../Doc/library/datetime.rst:199 msgid "A minute is converted to 60 seconds." msgstr "Un minuto se convierte a 60 segundos." -#: ../Doc/library/datetime.rst:199 +#: ../Doc/library/datetime.rst:200 msgid "An hour is converted to 3600 seconds." msgstr "Una hora se convierte a 3600 segundos." -#: ../Doc/library/datetime.rst:200 +#: ../Doc/library/datetime.rst:201 msgid "A week is converted to 7 days." msgstr "Una semana se convierte a 7 días." -#: ../Doc/library/datetime.rst:202 +#: ../Doc/library/datetime.rst:203 msgid "" "and days, seconds and microseconds are then normalized so that the " "representation is unique, with" @@ -390,19 +395,19 @@ msgstr "" "y los días, segundos y microsegundos se normalizan para que la " "representación sea única, con" -#: ../Doc/library/datetime.rst:205 +#: ../Doc/library/datetime.rst:206 msgid "``0 <= microseconds < 1000000``" msgstr "``0 <= microsegundos < 1000000``" -#: ../Doc/library/datetime.rst:206 +#: ../Doc/library/datetime.rst:207 msgid "``0 <= seconds < 3600*24`` (the number of seconds in one day)" msgstr "``0 <= segundos< 3600*24`` (el número de segundos en un día)" -#: ../Doc/library/datetime.rst:207 +#: ../Doc/library/datetime.rst:208 msgid "``-999999999 <= days <= 999999999``" msgstr "``-999999999 <= days <= 999999999``" -#: ../Doc/library/datetime.rst:209 +#: ../Doc/library/datetime.rst:210 msgid "" "The following example illustrates how any arguments besides *days*, " "*seconds* and *microseconds* are \"merged\" and normalized into those three " @@ -412,7 +417,7 @@ msgstr "" "*seconds* y *microseconds* se \"fusionan\" y normalizan en esos tres " "atributos resultantes::" -#: ../Doc/library/datetime.rst:227 +#: ../Doc/library/datetime.rst:228 msgid "" "If any argument is a float and there are fractional microseconds, the " "fractional microseconds left over from all arguments are combined and their " @@ -426,7 +431,7 @@ msgstr "" "medio redondeo a par. Si ningún argumento es flotante, los procesos de " "conversión y normalización son exactos (no se pierde información)." -#: ../Doc/library/datetime.rst:234 +#: ../Doc/library/datetime.rst:235 #, fuzzy msgid "" "If the normalized value of days lies outside the indicated range, :exc:" @@ -435,7 +440,7 @@ msgstr "" "Si el valor normalizado de días se encuentra fuera del rango indicado, se " "genera :exc:`OverflowError`." -#: ../Doc/library/datetime.rst:237 +#: ../Doc/library/datetime.rst:238 msgid "" "Note that normalization of negative values may be surprising at first. For " "example::" @@ -443,19 +448,19 @@ msgstr "" "Tenga en cuenta que la normalización de los valores negativos puede ser " "sorprendente al principio. Por ejemplo::" -#: ../Doc/library/datetime.rst:246 ../Doc/library/datetime.rst:540 -#: ../Doc/library/datetime.rst:1043 ../Doc/library/datetime.rst:1661 -#: ../Doc/library/datetime.rst:2255 +#: ../Doc/library/datetime.rst:247 ../Doc/library/datetime.rst:541 +#: ../Doc/library/datetime.rst:1048 ../Doc/library/datetime.rst:1666 +#: ../Doc/library/datetime.rst:2260 msgid "Class attributes:" msgstr "Atributos de clase:" -#: ../Doc/library/datetime.rst:250 +#: ../Doc/library/datetime.rst:251 #, fuzzy msgid "The most negative :class:`timedelta` object, ``timedelta(-999999999)``." msgstr "" "El objeto mas negativo en :class:`timedelta`, ``timedelta(-999999999)``." -#: ../Doc/library/datetime.rst:255 +#: ../Doc/library/datetime.rst:256 msgid "" "The most positive :class:`timedelta` object, ``timedelta(days=999999999, " "hours=23, minutes=59, seconds=59, microseconds=999999)``." @@ -463,7 +468,7 @@ msgstr "" "El objeto más positivo de la :class:`timedelta`, ``timedelta(days=999999999, " "hours=23, minutes=59, seconds=59, microseconds=999999)``." -#: ../Doc/library/datetime.rst:261 +#: ../Doc/library/datetime.rst:262 msgid "" "The smallest possible difference between non-equal :class:`timedelta` " "objects, ``timedelta(microseconds=1)``." @@ -471,7 +476,7 @@ msgstr "" "La diferencia más pequeña posible entre los objetos no iguales :class:" "`timedelta` ``timedelta(microseconds=1)``." -#: ../Doc/library/datetime.rst:264 +#: ../Doc/library/datetime.rst:265 msgid "" "Note that, because of normalization, ``timedelta.max`` > ``-timedelta.min``. " "``-timedelta.max`` is not representable as a :class:`timedelta` object." @@ -480,63 +485,63 @@ msgstr "" "timedelta.min``. ``-timedelta.max`` no es representable como un objeto :" "class:`timedelta`." -#: ../Doc/library/datetime.rst:267 ../Doc/library/datetime.rst:558 -#: ../Doc/library/datetime.rst:1063 ../Doc/library/datetime.rst:1681 +#: ../Doc/library/datetime.rst:268 ../Doc/library/datetime.rst:559 +#: ../Doc/library/datetime.rst:1068 ../Doc/library/datetime.rst:1686 msgid "Instance attributes (read-only):" msgstr "Atributos de instancia (solo lectura):" -#: ../Doc/library/datetime.rst:270 +#: ../Doc/library/datetime.rst:271 msgid "Attribute" msgstr "Atributo" -#: ../Doc/library/datetime.rst:270 +#: ../Doc/library/datetime.rst:271 msgid "Value" msgstr "Valor" -#: ../Doc/library/datetime.rst:272 +#: ../Doc/library/datetime.rst:273 msgid "``days``" msgstr "``days``" -#: ../Doc/library/datetime.rst:272 +#: ../Doc/library/datetime.rst:273 msgid "Between -999999999 and 999999999 inclusive" msgstr "Entre -999999999 y 999999999 inclusive" -#: ../Doc/library/datetime.rst:274 +#: ../Doc/library/datetime.rst:275 msgid "``seconds``" msgstr "``seconds``" -#: ../Doc/library/datetime.rst:274 +#: ../Doc/library/datetime.rst:275 msgid "Between 0 and 86399 inclusive" msgstr "Entre 0 y 86399 inclusive" -#: ../Doc/library/datetime.rst:276 +#: ../Doc/library/datetime.rst:277 msgid "``microseconds``" msgstr "``microseconds``" -#: ../Doc/library/datetime.rst:276 +#: ../Doc/library/datetime.rst:277 msgid "Between 0 and 999999 inclusive" msgstr "Entre 0 y 999999 inclusive" -#: ../Doc/library/datetime.rst:279 ../Doc/library/datetime.rst:575 -#: ../Doc/library/datetime.rst:1116 +#: ../Doc/library/datetime.rst:280 ../Doc/library/datetime.rst:576 +#: ../Doc/library/datetime.rst:1121 msgid "Supported operations:" msgstr "Operaciones soportadas:" -#: ../Doc/library/datetime.rst:284 ../Doc/library/datetime.rst:578 -#: ../Doc/library/datetime.rst:1119 +#: ../Doc/library/datetime.rst:285 ../Doc/library/datetime.rst:579 +#: ../Doc/library/datetime.rst:1124 msgid "Operation" msgstr "Operación" -#: ../Doc/library/datetime.rst:284 ../Doc/library/datetime.rst:578 -#: ../Doc/library/datetime.rst:1119 +#: ../Doc/library/datetime.rst:285 ../Doc/library/datetime.rst:579 +#: ../Doc/library/datetime.rst:1124 msgid "Result" msgstr "Resultado" -#: ../Doc/library/datetime.rst:286 +#: ../Doc/library/datetime.rst:287 msgid "``t1 = t2 + t3``" msgstr "``t1 = t2 + t3``" -#: ../Doc/library/datetime.rst:286 +#: ../Doc/library/datetime.rst:287 msgid "" "Sum of *t2* and *t3*. Afterwards *t1*-*t2* == *t3* and *t1*-*t3* == *t2* are " "true. (1)" @@ -544,11 +549,11 @@ msgstr "" "Suma de *t2* y *t3*. Después *t1*-*t2* == *t3* y *t1*-*t3* == *t2* son " "verdaderos. (1)" -#: ../Doc/library/datetime.rst:289 +#: ../Doc/library/datetime.rst:290 msgid "``t1 = t2 - t3``" msgstr "``t1 = t2 - t3``" -#: ../Doc/library/datetime.rst:289 +#: ../Doc/library/datetime.rst:290 msgid "" "Difference of *t2* and *t3*. Afterwards *t1* == *t2* - *t3* and *t2* == *t1* " "+ *t3* are true. (1)(6)" @@ -556,27 +561,28 @@ msgstr "" "La suma de *t2* y *t3*. Después *t1* == *t2* - *t3* y *t2* == *t1* + *t3* " "son verdaderos. (1)(6)" -#: ../Doc/library/datetime.rst:293 +#: ../Doc/library/datetime.rst:294 msgid "``t1 = t2 * i or t1 = i * t2``" msgstr "``t1 = t2 * i o t1 = i * t2``" -#: ../Doc/library/datetime.rst:293 +#: ../Doc/library/datetime.rst:294 +#, fuzzy msgid "" "Delta multiplied by an integer. Afterwards *t1* // i == *t2* is true, " -"provided ``i! = 0``." +"provided ``i != 0``." msgstr "" "Delta multiplicado por un entero. Después *t1* // *i* == *t2* es verdadero, " "siempre que ``i! = 0``." -#: ../Doc/library/datetime.rst:297 +#: ../Doc/library/datetime.rst:298 msgid "In general, *t1* \\* i == *t1* \\* (i-1) + *t1* is true. (1)" msgstr "En general, *t1* \\* *i* == *t1* \\* (*i*-1) + *t1* es verdadero. (1)" -#: ../Doc/library/datetime.rst:300 +#: ../Doc/library/datetime.rst:301 msgid "``t1 = t2 * f or t1 = f * t2``" msgstr "``t1 = t2 * f o t1 = f * t2``" -#: ../Doc/library/datetime.rst:300 +#: ../Doc/library/datetime.rst:301 msgid "" "Delta multiplied by a float. The result is rounded to the nearest multiple " "of timedelta.resolution using round-half-to-even." @@ -585,11 +591,11 @@ msgstr "" "múltiplo mas cercano de *timedelta.resolution* usando redondeo de medio a " "par." -#: ../Doc/library/datetime.rst:304 +#: ../Doc/library/datetime.rst:305 msgid "``f = t2 / t3``" msgstr "``f = t2 / t3``" -#: ../Doc/library/datetime.rst:304 +#: ../Doc/library/datetime.rst:305 msgid "" "Division (3) of overall duration *t2* by interval unit *t3*. Returns a :" "class:`float` object." @@ -597,11 +603,11 @@ msgstr "" "División (3) de la duración total *t2* por unidad de intervalo *t3*. Retorna " "un objeto :class:`float`." -#: ../Doc/library/datetime.rst:308 +#: ../Doc/library/datetime.rst:309 msgid "``t1 = t2 / f or t1 = t2 / i``" msgstr "``t1 = t2 / f o t1 = t2 / i``" -#: ../Doc/library/datetime.rst:308 +#: ../Doc/library/datetime.rst:309 msgid "" "Delta divided by a float or an int. The result is rounded to the nearest " "multiple of timedelta.resolution using round-half-to-even." @@ -610,11 +616,11 @@ msgstr "" "al múltiplo más cercano de *timedelta.resolution* usando redondeo de medio a " "par." -#: ../Doc/library/datetime.rst:312 +#: ../Doc/library/datetime.rst:313 msgid "``t1 = t2 // i`` or ``t1 = t2 // t3``" msgstr "``t1 = t2 // i`` o ``t1 = t2 // t3``" -#: ../Doc/library/datetime.rst:312 +#: ../Doc/library/datetime.rst:313 msgid "" "The floor is computed and the remainder (if any) is thrown away. In the " "second case, an integer is returned. (3)" @@ -622,19 +628,19 @@ msgstr "" "El piso (*floor*) se calcula y el resto (si lo hay) se descarta. En el " "segundo caso, se retorna un entero. (3)" -#: ../Doc/library/datetime.rst:316 +#: ../Doc/library/datetime.rst:317 msgid "``t1 = t2 % t3``" msgstr "``t1 = t2 % t3``" -#: ../Doc/library/datetime.rst:316 +#: ../Doc/library/datetime.rst:317 msgid "The remainder is computed as a :class:`timedelta` object. (3)" msgstr "El resto se calcula como un objeto :class:`timedelta`. (3)" -#: ../Doc/library/datetime.rst:319 +#: ../Doc/library/datetime.rst:320 msgid "``q, r = divmod(t1, t2)``" msgstr "``q, r = divmod(t1, t2)``" -#: ../Doc/library/datetime.rst:319 +#: ../Doc/library/datetime.rst:320 msgid "" "Computes the quotient and the remainder: ``q = t1 // t2`` (3) and ``r = t1 % " "t2``. q is an integer and r is a :class:`timedelta` object." @@ -642,19 +648,19 @@ msgstr "" "Calcula el cociente y el resto: ``q = t1 // t2`` (3) y ``r = t1% t2``. *q* " "es un entero y *r* es un objeto :class:`timedelta`." -#: ../Doc/library/datetime.rst:324 +#: ../Doc/library/datetime.rst:325 msgid "``+t1``" msgstr "``+t1``" -#: ../Doc/library/datetime.rst:324 +#: ../Doc/library/datetime.rst:325 msgid "Returns a :class:`timedelta` object with the same value. (2)" msgstr "Retorna un objeto :class:`timedelta` con el mismo valor. (2)" -#: ../Doc/library/datetime.rst:327 +#: ../Doc/library/datetime.rst:328 msgid "``-t1``" msgstr "``-t1``" -#: ../Doc/library/datetime.rst:327 +#: ../Doc/library/datetime.rst:328 msgid "" "equivalent to :class:`timedelta`\\ (-*t1.days*, -*t1.seconds*, -*t1." "microseconds*), and to *t1*\\* -1. (1)(4)" @@ -662,11 +668,11 @@ msgstr "" "equivalente a :class:`timedelta`\\ (-*t1.days*, -*t1.seconds*, -*t1." "microseconds*), y a *t1*\\* -1. (1)(4)" -#: ../Doc/library/datetime.rst:332 +#: ../Doc/library/datetime.rst:333 msgid "``abs(t)``" msgstr "``abs(t)``" -#: ../Doc/library/datetime.rst:332 +#: ../Doc/library/datetime.rst:333 msgid "" "equivalent to +\\ *t* when ``t.days >= 0``, and to -*t* when ``t.days < 0``. " "(2)" @@ -674,11 +680,11 @@ msgstr "" "equivalente a +\\ *t* cuando ``t.days>= 0``, y a *-*t** cuando ``t.days < " "0``. (2)" -#: ../Doc/library/datetime.rst:335 +#: ../Doc/library/datetime.rst:336 msgid "``str(t)``" msgstr "``str(t)``" -#: ../Doc/library/datetime.rst:335 +#: ../Doc/library/datetime.rst:336 msgid "" "Returns a string in the form ``[D day[s], ][H]H:MM:SS[.UUUUUU]``, where D is " "negative for negative ``t``. (5)" @@ -686,11 +692,11 @@ msgstr "" "Retorna una cadena de caracteres en la forma ``[D day[s], ][H]H:MM:SS[." "UUUUUU]``, donde D es negativo para negativo ``t``. (5)" -#: ../Doc/library/datetime.rst:339 +#: ../Doc/library/datetime.rst:340 msgid "``repr(t)``" msgstr "``repr(t)``" -#: ../Doc/library/datetime.rst:339 +#: ../Doc/library/datetime.rst:340 msgid "" "Returns a string representation of the :class:`timedelta` object as a " "constructor call with canonical attribute values." @@ -698,29 +704,29 @@ msgstr "" "Retorna una representación de cadena del objeto :class:`timedelta` como una " "llamada de constructor con valores de atributos canónicos." -#: ../Doc/library/datetime.rst:345 ../Doc/library/datetime.rst:592 -#: ../Doc/library/datetime.rst:2467 +#: ../Doc/library/datetime.rst:346 ../Doc/library/datetime.rst:593 +#: ../Doc/library/datetime.rst:2472 msgid "Notes:" msgstr "Notas:" -#: ../Doc/library/datetime.rst:348 +#: ../Doc/library/datetime.rst:349 msgid "This is exact but may overflow." msgstr "Esto es exacto pero puede desbordarse." -#: ../Doc/library/datetime.rst:351 +#: ../Doc/library/datetime.rst:352 msgid "This is exact and cannot overflow." msgstr "Esto es exacto pero no puede desbordarse." -#: ../Doc/library/datetime.rst:354 +#: ../Doc/library/datetime.rst:355 msgid "Division by 0 raises :exc:`ZeroDivisionError`." msgstr "División por 0 genera :exc:`ZeroDivisionError`." -#: ../Doc/library/datetime.rst:357 +#: ../Doc/library/datetime.rst:358 msgid "-*timedelta.max* is not representable as a :class:`timedelta` object." msgstr "" "-*timedelta.max* no es representable como un objeto :class:`timedelta`." -#: ../Doc/library/datetime.rst:360 +#: ../Doc/library/datetime.rst:361 msgid "" "String representations of :class:`timedelta` objects are normalized " "similarly to their internal representation. This leads to somewhat unusual " @@ -731,7 +737,7 @@ msgstr "" "Esto conduce a resultados algo inusuales para *timedeltas* negativos. Por " "ejemplo::" -#: ../Doc/library/datetime.rst:370 +#: ../Doc/library/datetime.rst:371 msgid "" "The expression ``t2 - t3`` will always be equal to the expression ``t2 + (-" "t3)`` except when t3 is equal to ``timedelta.max``; in that case the former " @@ -741,7 +747,7 @@ msgstr "" "excepto cuando *t3* es igual a ``timedelta.max``; en ese caso, el primero " "producirá un resultado mientras que el segundo se desbordará." -#: ../Doc/library/datetime.rst:374 +#: ../Doc/library/datetime.rst:375 msgid "" "In addition to the operations listed above, :class:`timedelta` objects " "support certain additions and subtractions with :class:`date` and :class:`." @@ -751,7 +757,7 @@ msgstr "" "`timedelta` admiten ciertas sumas y restas con objetos :class:`date` y :" "class:`.datetime` (ver más abajo)." -#: ../Doc/library/datetime.rst:378 +#: ../Doc/library/datetime.rst:379 msgid "" "Floor division and true division of a :class:`timedelta` object by another :" "class:`timedelta` object are now supported, as are remainder operations and " @@ -764,14 +770,14 @@ msgstr "" "multiplicación de un objeto :class:`timedelta` por un objeto :class:" "`flotante` ahora son compatibles." -#: ../Doc/library/datetime.rst:385 +#: ../Doc/library/datetime.rst:386 msgid "" "Comparisons of :class:`timedelta` objects are supported, with some caveats." msgstr "" "Comparaciones de los objetos :class:`timedelta` son compatibles, con algunas " "limitaciones." -#: ../Doc/library/datetime.rst:387 +#: ../Doc/library/datetime.rst:388 msgid "" "The comparisons ``==`` or ``!=`` *always* return a :class:`bool`, no matter " "the type of the compared object::" @@ -779,7 +785,7 @@ msgstr "" "Las comparaciones ``==`` o ``!=`` *Siempre* retornan :class:`bool`, sin " "importar el tipo de objeto comparado::" -#: ../Doc/library/datetime.rst:398 +#: ../Doc/library/datetime.rst:399 msgid "" "For all other comparisons (such as ``<`` and ``>``), when a :class:" "`timedelta` object is compared to an object of a different type, :exc:" @@ -789,7 +795,7 @@ msgstr "" "class:`timedelta` se compara con un objeto de un tipo diferente, se genera :" "exc:`TypeError`::" -#: ../Doc/library/datetime.rst:409 +#: ../Doc/library/datetime.rst:410 msgid "" "In Boolean contexts, a :class:`timedelta` object is considered to be true if " "and only if it isn't equal to ``timedelta(0)``." @@ -797,12 +803,12 @@ msgstr "" "En contextos booleanos, un objeto :class:`timedelta` se considera verdadero " "si y solo si no es igual a ``timedelta (0)``." -#: ../Doc/library/datetime.rst:412 ../Doc/library/datetime.rst:621 -#: ../Doc/library/datetime.rst:1190 ../Doc/library/datetime.rst:1778 +#: ../Doc/library/datetime.rst:413 ../Doc/library/datetime.rst:622 +#: ../Doc/library/datetime.rst:1195 ../Doc/library/datetime.rst:1783 msgid "Instance methods:" msgstr "Métodos de instancia:" -#: ../Doc/library/datetime.rst:416 +#: ../Doc/library/datetime.rst:417 msgid "" "Return the total number of seconds contained in the duration. Equivalent to " "``td / timedelta(seconds=1)``. For interval units other than seconds, use " @@ -813,7 +819,7 @@ msgstr "" "segundos, use la forma de división directamente (por ejemplo, ``td / " "timedelta(microseconds=1)``)." -#: ../Doc/library/datetime.rst:420 +#: ../Doc/library/datetime.rst:421 msgid "" "Note that for very large time intervals (greater than 270 years on most " "platforms) this method will lose microsecond accuracy." @@ -822,23 +828,23 @@ msgstr "" "la mayoría de las plataformas) este método perderá precisión de " "microsegundos." -#: ../Doc/library/datetime.rst:426 +#: ../Doc/library/datetime.rst:427 msgid "Examples of usage: :class:`timedelta`" msgstr "Ejemplos de uso: :class:`timedelta`" -#: ../Doc/library/datetime.rst:428 +#: ../Doc/library/datetime.rst:429 msgid "An additional example of normalization::" msgstr "Ejemplos adicionales de normalización::" -#: ../Doc/library/datetime.rst:440 +#: ../Doc/library/datetime.rst:441 msgid "Examples of :class:`timedelta` arithmetic::" msgstr "Ejemplos de :class:`timedelta` aritmética::" -#: ../Doc/library/datetime.rst:459 +#: ../Doc/library/datetime.rst:460 msgid ":class:`date` Objects" msgstr "Objeto :class:`date`" -#: ../Doc/library/datetime.rst:461 +#: ../Doc/library/datetime.rst:462 msgid "" "A :class:`date` object represents a date (year, month and day) in an " "idealized calendar, the current Gregorian calendar indefinitely extended in " @@ -848,7 +854,7 @@ msgstr "" "calendario idealizado, el calendario gregoriano actual se extiende " "indefinidamente en ambas direcciones." -#: ../Doc/library/datetime.rst:465 +#: ../Doc/library/datetime.rst:466 msgid "" "January 1 of year 1 is called day number 1, January 2 of year 1 is called " "day number 2, and so on. [#]_" @@ -856,7 +862,7 @@ msgstr "" "El 1 de enero del año 1 se llama día número 1, el 2 de enero del año 1 se " "llama día número 2, y así sucesivamente. [#]_" -#: ../Doc/library/datetime.rst:470 +#: ../Doc/library/datetime.rst:471 msgid "" "All arguments are required. Arguments must be integers, in the following " "ranges:" @@ -864,38 +870,38 @@ msgstr "" "Todos los argumentos son obligatorios. Los argumentos deben ser enteros, en " "los siguientes rangos:" -#: ../Doc/library/datetime.rst:473 +#: ../Doc/library/datetime.rst:474 msgid "``MINYEAR <= year <= MAXYEAR``" msgstr "``MINYEAR <= year <= MAXYEAR``" -#: ../Doc/library/datetime.rst:474 +#: ../Doc/library/datetime.rst:475 msgid "``1 <= month <= 12``" msgstr "``1 <= month <= 12``" -#: ../Doc/library/datetime.rst:475 +#: ../Doc/library/datetime.rst:476 msgid "``1 <= day <= number of days in the given month and year``" msgstr "``1 <= day <= number of days in the given month and year``" -#: ../Doc/library/datetime.rst:477 ../Doc/library/datetime.rst:835 +#: ../Doc/library/datetime.rst:478 ../Doc/library/datetime.rst:840 msgid "" "If an argument outside those ranges is given, :exc:`ValueError` is raised." msgstr "" "Si se proporciona un argumento fuera de esos rangos, :exc:`ValueError` se " "genera." -#: ../Doc/library/datetime.rst:480 ../Doc/library/datetime.rst:840 +#: ../Doc/library/datetime.rst:481 ../Doc/library/datetime.rst:845 msgid "Other constructors, all class methods:" msgstr "Otros constructores, todos los métodos de clase:" -#: ../Doc/library/datetime.rst:484 +#: ../Doc/library/datetime.rst:485 msgid "Return the current local date." msgstr "Retorna la fecha local actual." -#: ../Doc/library/datetime.rst:486 +#: ../Doc/library/datetime.rst:487 msgid "This is equivalent to ``date.fromtimestamp(time.time())``." msgstr "Esto es equivalente a ``date.fromtimestamp(time.time())``." -#: ../Doc/library/datetime.rst:490 +#: ../Doc/library/datetime.rst:491 msgid "" "Return the local date corresponding to the POSIX timestamp, such as is " "returned by :func:`time.time`." @@ -903,7 +909,7 @@ msgstr "" "Retorna la fecha local correspondiente a la marca de tiempo POSIX, tal como " "la retorna :func:`time.time`." -#: ../Doc/library/datetime.rst:493 +#: ../Doc/library/datetime.rst:494 msgid "" "This may raise :exc:`OverflowError`, if the timestamp is out of the range of " "values supported by the platform C :c:func:`localtime` function, and :exc:" @@ -919,7 +925,7 @@ msgstr "" "POSIX que incluyen segundos bisiestos en su noción de marca de tiempo, los " "segundos bisiestos son ignorados por :meth:`fromtimestamp`." -#: ../Doc/library/datetime.rst:500 +#: ../Doc/library/datetime.rst:501 msgid "" "Raise :exc:`OverflowError` instead of :exc:`ValueError` if the timestamp is " "out of the range of values supported by the platform C :c:func:`localtime` " @@ -931,7 +937,7 @@ msgstr "" "func:`localtime`. Se genera :exc:`OSError` en lugar de :exc:`ValueError` " "cuando :c:func:`localtime`, falla." -#: ../Doc/library/datetime.rst:509 +#: ../Doc/library/datetime.rst:510 msgid "" "Return the date corresponding to the proleptic Gregorian ordinal, where " "January 1 of year 1 has ordinal 1." @@ -939,7 +945,7 @@ msgstr "" "Retorna la fecha correspondiente al ordinal gregoriano proléptico, donde el " "1 de enero del año 1 tiene el ordinal 1." -#: ../Doc/library/datetime.rst:512 +#: ../Doc/library/datetime.rst:513 msgid "" ":exc:`ValueError` is raised unless ``1 <= ordinal <= date.max.toordinal()``. " "For any date *d*, ``date.fromordinal(d.toordinal()) == d``." @@ -948,7 +954,7 @@ msgstr "" "toordinal()``. ()``. Para cualquier fecha *d*, ``date.fromordinal(d." "toordinal()) == d``." -#: ../Doc/library/datetime.rst:519 +#: ../Doc/library/datetime.rst:520 msgid "" "Return a :class:`date` corresponding to a *date_string* given in the format " "``YYYY-MM-DD``::" @@ -956,7 +962,7 @@ msgstr "" "Retorna :class:`date` correspondiente a una *date_string* dada en el formato " "``YYYY-MM-DD``::" -#: ../Doc/library/datetime.rst:526 +#: ../Doc/library/datetime.rst:527 msgid "" "This is the inverse of :meth:`date.isoformat`. It only supports the format " "``YYYY-MM-DD``." @@ -964,7 +970,7 @@ msgstr "" "Este es el inverso de :meth:`date.isoformat`. Solo admite el formato ``AAAA-" "MM-DD``." -#: ../Doc/library/datetime.rst:534 +#: ../Doc/library/datetime.rst:535 msgid "" "Return a :class:`date` corresponding to the ISO calendar date specified by " "year, week and day. This is the inverse of the function :meth:`date." @@ -974,62 +980,62 @@ msgstr "" "especificada por año, semana y día. Esta es la inversa de la función :meth:" "`date.isocalendar`." -#: ../Doc/library/datetime.rst:544 +#: ../Doc/library/datetime.rst:545 msgid "The earliest representable date, ``date(MINYEAR, 1, 1)``." msgstr "La fecha representable más antigua, ``date(MINYEAR, 1, 1)``." -#: ../Doc/library/datetime.rst:549 +#: ../Doc/library/datetime.rst:550 msgid "The latest representable date, ``date(MAXYEAR, 12, 31)``." msgstr "La última fecha representable, ``date(MAXYEAR, 12, 31)``." -#: ../Doc/library/datetime.rst:554 +#: ../Doc/library/datetime.rst:555 msgid "" "The smallest possible difference between non-equal date objects, " "``timedelta(days=1)``." msgstr "" "La menor diferencia entre objetos de fecha no iguales, ``timedelta(days=1)``." -#: ../Doc/library/datetime.rst:562 ../Doc/library/datetime.rst:1067 +#: ../Doc/library/datetime.rst:563 ../Doc/library/datetime.rst:1072 msgid "Between :const:`MINYEAR` and :const:`MAXYEAR` inclusive." msgstr "Entre :const:`MINYEAR` y :const:`MAXYEAR` inclusive." -#: ../Doc/library/datetime.rst:567 ../Doc/library/datetime.rst:1072 +#: ../Doc/library/datetime.rst:568 ../Doc/library/datetime.rst:1077 msgid "Between 1 and 12 inclusive." msgstr "Entre 1 y 12 inclusive." -#: ../Doc/library/datetime.rst:572 ../Doc/library/datetime.rst:1077 +#: ../Doc/library/datetime.rst:573 ../Doc/library/datetime.rst:1082 msgid "Between 1 and the number of days in the given month of the given year." msgstr "Entre 1 y el número de días en el mes dado del año dado." -#: ../Doc/library/datetime.rst:580 +#: ../Doc/library/datetime.rst:581 msgid "``date2 = date1 + timedelta``" msgstr "``date2 = date1 + timedelta``" -#: ../Doc/library/datetime.rst:580 +#: ../Doc/library/datetime.rst:581 msgid "*date2* is ``timedelta.days`` days removed from *date1*. (1)" msgstr "*date2* es ``timedelta.days`` días eliminados de *date1*. (1)" -#: ../Doc/library/datetime.rst:583 +#: ../Doc/library/datetime.rst:584 msgid "``date2 = date1 - timedelta``" msgstr "``date2 = date1 - timedelta``" -#: ../Doc/library/datetime.rst:583 +#: ../Doc/library/datetime.rst:584 msgid "Computes *date2* such that ``date2 + timedelta == date1``. (2)" msgstr "Calcula *date2* tal que ``date2 + timedelta == date1``. (2)" -#: ../Doc/library/datetime.rst:586 +#: ../Doc/library/datetime.rst:587 msgid "``timedelta = date1 - date2``" msgstr "``timedelta = date1 - date2``" -#: ../Doc/library/datetime.rst:586 ../Doc/library/datetime.rst:1125 +#: ../Doc/library/datetime.rst:587 ../Doc/library/datetime.rst:1130 msgid "\\(3)" msgstr "\\(3)" -#: ../Doc/library/datetime.rst:588 +#: ../Doc/library/datetime.rst:589 msgid "``date1 < date2``" msgstr "``date1 < date2``" -#: ../Doc/library/datetime.rst:588 +#: ../Doc/library/datetime.rst:589 msgid "" "*date1* is considered less than *date2* when *date1* precedes *date2* in " "time. (4)" @@ -1037,7 +1043,7 @@ msgstr "" "*date1* se considera menor que *date2* cuando *date1* precede a *date2* en " "el tiempo. (4)" -#: ../Doc/library/datetime.rst:595 +#: ../Doc/library/datetime.rst:596 #, fuzzy msgid "" "*date2* is moved forward in time if ``timedelta.days > 0``, or backward if " @@ -1052,11 +1058,11 @@ msgstr "" "`OverflowError` se genera si ``date2.year`` sería menor que :const:`MINYEAR` " "o mayor que :const:`MAXYEAR`." -#: ../Doc/library/datetime.rst:602 +#: ../Doc/library/datetime.rst:603 msgid "``timedelta.seconds`` and ``timedelta.microseconds`` are ignored." msgstr "``timedelta.seconds`` y ``timedelta.microseconds`` son ignorados." -#: ../Doc/library/datetime.rst:605 +#: ../Doc/library/datetime.rst:606 msgid "" "This is exact, and cannot overflow. timedelta.seconds and timedelta." "microseconds are 0, and date2 + timedelta == date1 after." @@ -1064,7 +1070,7 @@ msgstr "" "Esto es exacto y no puede desbordarse. *timedelta.seconds* y *timedelta." "microseconds* son 0, y *date2 + timedelta == date1*." -#: ../Doc/library/datetime.rst:609 +#: ../Doc/library/datetime.rst:610 msgid "" "In other words, ``date1 < date2`` if and only if ``date1.toordinal() < date2." "toordinal()``. Date comparison raises :exc:`TypeError` if the other " @@ -1087,14 +1093,14 @@ msgstr "" "or ``!=``. Los últimos casos retorna :const:`False` o :const:`True`, " "respectivamente." -#: ../Doc/library/datetime.rst:619 +#: ../Doc/library/datetime.rst:620 msgid "" "In Boolean contexts, all :class:`date` objects are considered to be true." msgstr "" "En contextos booleanos, todos los objetos :class:`date` se consideran " "verdaderos." -#: ../Doc/library/datetime.rst:625 +#: ../Doc/library/datetime.rst:626 msgid "" "Return a date with the same value, except for those parameters given new " "values by whichever keyword arguments are specified." @@ -1102,11 +1108,11 @@ msgstr "" "Retorna una fecha con el mismo valor, a excepción de aquellos parámetros " "dados nuevos valores por cualquier argumento de palabra clave especificado." -#: ../Doc/library/datetime.rst:628 ../Doc/library/datetime.rst:1821 +#: ../Doc/library/datetime.rst:629 ../Doc/library/datetime.rst:1826 msgid "Example::" msgstr "Ejemplo::" -#: ../Doc/library/datetime.rst:638 ../Doc/library/datetime.rst:1303 +#: ../Doc/library/datetime.rst:639 ../Doc/library/datetime.rst:1308 msgid "" "Return a :class:`time.struct_time` such as returned by :func:`time." "localtime`." @@ -1114,15 +1120,15 @@ msgstr "" "Retorna una :class:`time.struct_time` como la que retorna :func:`time." "localtime`." -#: ../Doc/library/datetime.rst:640 +#: ../Doc/library/datetime.rst:641 msgid "The hours, minutes and seconds are 0, and the DST flag is -1." msgstr "Las horas, minutos y segundos son 0, y el indicador DST es -1." -#: ../Doc/library/datetime.rst:642 ../Doc/library/datetime.rst:1305 +#: ../Doc/library/datetime.rst:643 ../Doc/library/datetime.rst:1310 msgid "``d.timetuple()`` is equivalent to::" msgstr "``d.timetuple()`` es equivalente a::" -#: ../Doc/library/datetime.rst:646 +#: ../Doc/library/datetime.rst:647 msgid "" "where ``yday = d.toordinal() - date(d.year, 1, 1).toordinal() + 1`` is the " "day number within the current year starting with ``1`` for January 1st." @@ -1131,7 +1137,7 @@ msgstr "" "número de día dentro del año actual que comienza con ``1`` para el 1 de " "enero." -#: ../Doc/library/datetime.rst:652 +#: ../Doc/library/datetime.rst:653 msgid "" "Return the proleptic Gregorian ordinal of the date, where January 1 of year " "1 has ordinal 1. For any :class:`date` object *d*, ``date.fromordinal(d." @@ -1141,7 +1147,7 @@ msgstr "" "del año 1 tiene el ordinal 1. Para cualquiera :class:`date` object *d*, " "``date.fromordinal(d.toordinal()) == d``." -#: ../Doc/library/datetime.rst:659 +#: ../Doc/library/datetime.rst:660 msgid "" "Return the day of the week as an integer, where Monday is 0 and Sunday is 6. " "For example, ``date(2002, 12, 4).weekday() == 2``, a Wednesday. See also :" @@ -1151,7 +1157,7 @@ msgstr "" "domingo es 6. Por ejemplo, ``date(2002, 12, 4).weekday() == 2``, un " "miércoles. Ver también :meth:`isoweekday`." -#: ../Doc/library/datetime.rst:666 +#: ../Doc/library/datetime.rst:667 msgid "" "Return the day of the week as an integer, where Monday is 1 and Sunday is 7. " "For example, ``date(2002, 12, 4).isoweekday() == 3``, a Wednesday. See also :" @@ -1161,19 +1167,20 @@ msgstr "" "domingo es 7. Por ejemplo, ``date(2002, 12, 4).isoweekday() == 3``, un " "miércoles. Ver también :meth:`weekday`, :meth:`isocalendar`." -#: ../Doc/library/datetime.rst:673 -msgid "Return a 3-tuple, (ISO year, ISO week number, ISO weekday)." +#: ../Doc/library/datetime.rst:674 +msgid "" +"Return a :term:`named tuple` object with three components: ``year``, " +"``week`` and ``weekday``." msgstr "" -"Retorna una 3-tupla, (año ISO, número de semana ISO, día de la semana ISO)." -#: ../Doc/library/datetime.rst:675 +#: ../Doc/library/datetime.rst:677 msgid "" "The ISO calendar is a widely used variant of the Gregorian calendar. [#]_" msgstr "" "El calendario ISO es una variante amplia utilizada del calendario " "gregoriano. [#]_" -#: ../Doc/library/datetime.rst:677 +#: ../Doc/library/datetime.rst:679 msgid "" "The ISO year consists of 52 or 53 full weeks, and where a week starts on a " "Monday and ends on a Sunday. The first week of an ISO year is the first " @@ -1187,7 +1194,7 @@ msgstr "" "llama semana número 1, y el año ISO de ese jueves es el mismo que el año " "gregoriano." -#: ../Doc/library/datetime.rst:682 +#: ../Doc/library/datetime.rst:684 msgid "" "For example, 2004 begins on a Thursday, so the first week of ISO year 2004 " "begins on Monday, 29 Dec 2003 and ends on Sunday, 4 Jan 2004::" @@ -1197,29 +1204,33 @@ msgstr "" "enero de 2004 ::" #: ../Doc/library/datetime.rst:693 +msgid "Result changed from a tuple to a :term:`named tuple`." +msgstr "" + +#: ../Doc/library/datetime.rst:698 msgid "" "Return a string representing the date in ISO 8601 format, ``YYYY-MM-DD``::" msgstr "" "Retorna una cadena de caracteres que representa la fecha en formato ISO " "8601, ``AAAA-MM-DD``::" -#: ../Doc/library/datetime.rst:699 +#: ../Doc/library/datetime.rst:704 msgid "This is the inverse of :meth:`date.fromisoformat`." msgstr "Este es el inverso de :meth:`date.fromisoformat`." -#: ../Doc/library/datetime.rst:703 +#: ../Doc/library/datetime.rst:708 msgid "For a date *d*, ``str(d)`` is equivalent to ``d.isoformat()``." msgstr "Para una fecha *d*, ``str(d)`` es equivalente a ``d.isoformat()``." -#: ../Doc/library/datetime.rst:708 +#: ../Doc/library/datetime.rst:713 msgid "Return a string representing the date::" msgstr "Retorna una cadena de caracteres que representa la fecha::" -#: ../Doc/library/datetime.rst:714 ../Doc/library/datetime.rst:1489 +#: ../Doc/library/datetime.rst:719 ../Doc/library/datetime.rst:1494 msgid "``d.ctime()`` is equivalent to::" msgstr "``d.ctime()`` es equivalente a::" -#: ../Doc/library/datetime.rst:718 +#: ../Doc/library/datetime.rst:723 msgid "" "on platforms where the native C :c:func:`ctime` function (which :func:`time." "ctime` invokes, but which :meth:`date.ctime` does not invoke) conforms to " @@ -1229,7 +1240,7 @@ msgstr "" "ctime` llama, pero que :meth:`date.ctime` no se llama) se ajusta al estándar " "C." -#: ../Doc/library/datetime.rst:725 +#: ../Doc/library/datetime.rst:730 msgid "" "Return a string representing the date, controlled by an explicit format " "string. Format codes referring to hours, minutes or seconds will see 0 " @@ -1241,7 +1252,7 @@ msgstr "" "minutos o segundos verán valores 0. Para obtener una lista completa de las " "directivas de formato, consulte :ref:`strftime-strptime-behavior`." -#: ../Doc/library/datetime.rst:733 +#: ../Doc/library/datetime.rst:738 msgid "" "Same as :meth:`.date.strftime`. This makes it possible to specify a format " "string for a :class:`.date` object in :ref:`formatted string literals `__." -#: ../Doc/library/datetime.rst:1001 ../Doc/library/datetime.rst:1418 -#: ../Doc/library/datetime.rst:1765 +#: ../Doc/library/datetime.rst:1006 ../Doc/library/datetime.rst:1423 +#: ../Doc/library/datetime.rst:1770 msgid "Examples::" msgstr "Ejemplos::" -#: ../Doc/library/datetime.rst:1020 +#: ../Doc/library/datetime.rst:1025 msgid "" "Return a :class:`.datetime` corresponding to the ISO calendar date specified " "by year, week and day. The non-date components of the datetime are populated " @@ -1639,7 +1650,7 @@ msgstr "" "fecha y hora se rellenan con sus valores predeterminados normales. Esta es " "la inversa de la función :meth:`datetime.isocalendar`." -#: ../Doc/library/datetime.rst:1029 +#: ../Doc/library/datetime.rst:1034 msgid "" "Return a :class:`.datetime` corresponding to *date_string*, parsed according " "to *format*." @@ -1647,11 +1658,11 @@ msgstr "" "Retorna :class:`.datetime` correspondiente a *date_string*, analizado según " "*format*." -#: ../Doc/library/datetime.rst:1032 +#: ../Doc/library/datetime.rst:1037 msgid "This is equivalent to::" msgstr "Esto es equivalente a::" -#: ../Doc/library/datetime.rst:1036 +#: ../Doc/library/datetime.rst:1041 msgid "" ":exc:`ValueError` is raised if the date_string and format can't be parsed " "by :func:`time.strptime` or if it returns a value which isn't a time tuple. " @@ -1663,7 +1674,7 @@ msgstr "" "es una tupla de tiempo. Para obtener una lista completa de las directivas de " "formato, consulte :ref:`strftime-strptime-behavior`." -#: ../Doc/library/datetime.rst:1047 +#: ../Doc/library/datetime.rst:1052 msgid "" "The earliest representable :class:`.datetime`, ``datetime(MINYEAR, 1, 1, " "tzinfo=None)``." @@ -1671,7 +1682,7 @@ msgstr "" "La primera fecha representable :class:`.datetime`, ``datetime(MINYEAR, 1, 1, " "tzinfo=None)``." -#: ../Doc/library/datetime.rst:1053 +#: ../Doc/library/datetime.rst:1058 msgid "" "The latest representable :class:`.datetime`, ``datetime(MAXYEAR, 12, 31, 23, " "59, 59, 999999, tzinfo=None)``." @@ -1679,7 +1690,7 @@ msgstr "" "La última fecha representable :class:`.datetime`, ``datetime(MAXYEAR, 12, " "31, 23, 59, 59, 999999, tzinfo=None)``." -#: ../Doc/library/datetime.rst:1059 +#: ../Doc/library/datetime.rst:1064 msgid "" "The smallest possible difference between non-equal :class:`.datetime` " "objects, ``timedelta(microseconds=1)``." @@ -1687,20 +1698,20 @@ msgstr "" "La diferencia más pequeña posible entre objetos no iguales :class:`." "datetime`, ``timedelta(microseconds=1)``." -#: ../Doc/library/datetime.rst:1082 ../Doc/library/datetime.rst:1685 +#: ../Doc/library/datetime.rst:1087 ../Doc/library/datetime.rst:1690 msgid "In ``range(24)``." msgstr "En ``range(24)``." -#: ../Doc/library/datetime.rst:1087 ../Doc/library/datetime.rst:1092 -#: ../Doc/library/datetime.rst:1690 ../Doc/library/datetime.rst:1695 +#: ../Doc/library/datetime.rst:1092 ../Doc/library/datetime.rst:1097 +#: ../Doc/library/datetime.rst:1695 ../Doc/library/datetime.rst:1700 msgid "In ``range(60)``." msgstr "En ``range(60)``." -#: ../Doc/library/datetime.rst:1097 ../Doc/library/datetime.rst:1700 +#: ../Doc/library/datetime.rst:1102 ../Doc/library/datetime.rst:1705 msgid "In ``range(1000000)``." msgstr "En ``range(1000000)``." -#: ../Doc/library/datetime.rst:1102 +#: ../Doc/library/datetime.rst:1107 msgid "" "The object passed as the *tzinfo* argument to the :class:`.datetime` " "constructor, or ``None`` if none was passed." @@ -1708,7 +1719,7 @@ msgstr "" "El objeto pasó como argumento *tzinfo* al constructor :class:`.datetime`, o " "``None`` si no se pasó ninguno." -#: ../Doc/library/datetime.rst:1108 ../Doc/library/datetime.rst:1711 +#: ../Doc/library/datetime.rst:1113 ../Doc/library/datetime.rst:1716 msgid "" "In ``[0, 1]``. Used to disambiguate wall times during a repeated interval. " "(A repeated interval occurs when clocks are rolled back at the end of " @@ -1723,38 +1734,38 @@ msgstr "" "representa el anterior (posterior) de los dos momentos con la misma " "representación de tiempo real transcurrido (*wall time*)." -#: ../Doc/library/datetime.rst:1121 +#: ../Doc/library/datetime.rst:1126 msgid "``datetime2 = datetime1 + timedelta``" msgstr "``datetime2 = datetime1 + timedelta``" -#: ../Doc/library/datetime.rst:1121 ../Doc/library/datetime.rst:2303 -#: ../Doc/library/datetime.rst:2308 ../Doc/library/datetime.rst:2320 -#: ../Doc/library/datetime.rst:2325 ../Doc/library/datetime.rst:2385 -#: ../Doc/library/datetime.rst:2390 ../Doc/library/datetime.rst:2394 +#: ../Doc/library/datetime.rst:1126 ../Doc/library/datetime.rst:2308 +#: ../Doc/library/datetime.rst:2313 ../Doc/library/datetime.rst:2325 +#: ../Doc/library/datetime.rst:2330 ../Doc/library/datetime.rst:2390 +#: ../Doc/library/datetime.rst:2395 ../Doc/library/datetime.rst:2399 msgid "\\(1)" msgstr "\\(1)" -#: ../Doc/library/datetime.rst:1123 +#: ../Doc/library/datetime.rst:1128 msgid "``datetime2 = datetime1 - timedelta``" msgstr "``datetime2 = datetime1 - timedelta``" -#: ../Doc/library/datetime.rst:1123 ../Doc/library/datetime.rst:2336 +#: ../Doc/library/datetime.rst:1128 ../Doc/library/datetime.rst:2341 msgid "\\(2)" msgstr "\\(2)" -#: ../Doc/library/datetime.rst:1125 +#: ../Doc/library/datetime.rst:1130 msgid "``timedelta = datetime1 - datetime2``" msgstr "``timedelta = datetime1 - datetime2``" -#: ../Doc/library/datetime.rst:1127 +#: ../Doc/library/datetime.rst:1132 msgid "``datetime1 < datetime2``" msgstr "``datetime1 < datetime2``" -#: ../Doc/library/datetime.rst:1127 +#: ../Doc/library/datetime.rst:1132 msgid "Compares :class:`.datetime` to :class:`.datetime`. (4)" msgstr "Compara :class:`.datetime` to :class:`.datetime`. (4)" -#: ../Doc/library/datetime.rst:1132 +#: ../Doc/library/datetime.rst:1137 msgid "" "datetime2 is a duration of timedelta removed from datetime1, moving forward " "in time if ``timedelta.days`` > 0, or backward if ``timedelta.days`` < 0. " @@ -1773,7 +1784,7 @@ msgstr "" "realizan ajustes de zona horaria, incluso si la entrada es un objeto " "consciente." -#: ../Doc/library/datetime.rst:1141 +#: ../Doc/library/datetime.rst:1146 msgid "" "Computes the datetime2 such that datetime2 + timedelta == datetime1. As for " "addition, the result has the same :attr:`~.datetime.tzinfo` attribute as the " @@ -1785,7 +1796,7 @@ msgstr "" "tzinfo` que la fecha y hora de entrada, y no se realizan ajustes de zona " "horaria, incluso si la entrada es consciente." -#: ../Doc/library/datetime.rst:1146 +#: ../Doc/library/datetime.rst:1151 msgid "" "Subtraction of a :class:`.datetime` from a :class:`.datetime` is defined " "only if both operands are naive, or if both are aware. If one is aware and " @@ -1795,7 +1806,7 @@ msgstr "" "ambos operandos son naíf(*naive*), o si ambos son conscientes(*aware*). Si " "uno es consciente y el otro es naíf, :exc:`TypeError` aparece." -#: ../Doc/library/datetime.rst:1150 +#: ../Doc/library/datetime.rst:1155 msgid "" "If both are naive, or both are aware and have the same :attr:`~.datetime." "tzinfo` attribute, the :attr:`~.datetime.tzinfo` attributes are ignored, and " @@ -1808,7 +1819,7 @@ msgstr "" "tal que ``datetime2 + t == datetime1``. No se realizan ajustes de zona " "horaria en este caso." -#: ../Doc/library/datetime.rst:1155 +#: ../Doc/library/datetime.rst:1160 msgid "" "If both are aware and have different :attr:`~.datetime.tzinfo` attributes, " "``a-b`` acts as if *a* and *b* were first converted to naive UTC datetimes " @@ -1822,7 +1833,7 @@ msgstr "" "None) - a.utcoffset()) - (b.replace (tzinfo = None) - b.utcoffset())`` " "excepto que la implementación nunca se desborda." -#: ../Doc/library/datetime.rst:1161 +#: ../Doc/library/datetime.rst:1166 msgid "" "*datetime1* is considered less than *datetime2* when *datetime1* precedes " "*datetime2* in time." @@ -1830,7 +1841,7 @@ msgstr "" "*datetime1* se considera menor que *datetime2* cuando *datetime1* precede " "*datetime2* en el tiempo." -#: ../Doc/library/datetime.rst:1164 +#: ../Doc/library/datetime.rst:1169 msgid "" "If one comparand is naive and the other is aware, :exc:`TypeError` is raised " "if an order comparison is attempted. For equality comparisons, naive " @@ -1841,7 +1852,7 @@ msgstr "" "las comparaciones de igualdad, las instancias naíf nunca son iguales a las " "instancias conscientes (*aware*)." -#: ../Doc/library/datetime.rst:1168 +#: ../Doc/library/datetime.rst:1173 msgid "" "If both comparands are aware, and have the same :attr:`~.datetime.tzinfo` " "attribute, the common :attr:`~.datetime.tzinfo` attribute is ignored and the " @@ -1857,7 +1868,7 @@ msgstr "" "elementos comparados se ajustan primero restando sus compensaciones UTC " "(obtenidas de ``self.utcoffset()``)." -#: ../Doc/library/datetime.rst:1174 +#: ../Doc/library/datetime.rst:1179 msgid "" "Equality comparisons between aware and naive :class:`.datetime` instances " "don't raise :exc:`TypeError`." @@ -1865,7 +1876,7 @@ msgstr "" "Las comparaciones de igualdad entre las instancias conscientes (*aware*) y " "naíf (*naive*) :class:`.datetime` no generan :exc:`TypeError`." -#: ../Doc/library/datetime.rst:1180 +#: ../Doc/library/datetime.rst:1185 msgid "" "In order to stop comparison from falling back to the default scheme of " "comparing object addresses, datetime comparison normally raises :exc:" @@ -1888,11 +1899,11 @@ msgstr "" "`TypeError` a menos que la comparación sea ``==`` o ``!=``. Los últimos " "casos retornan :const:`False` o :const:`True`, respectivamente." -#: ../Doc/library/datetime.rst:1194 +#: ../Doc/library/datetime.rst:1199 msgid "Return :class:`date` object with same year, month and day." msgstr "Retorna el objeto :class:`date` con el mismo año, mes y día." -#: ../Doc/library/datetime.rst:1199 +#: ../Doc/library/datetime.rst:1204 msgid "" "Return :class:`.time` object with same hour, minute, second, microsecond and " "fold. :attr:`.tzinfo` is ``None``. See also method :meth:`timetz`." @@ -1901,13 +1912,13 @@ msgstr "" "microsegundo y doblado(*fold*). :attr:`.tzinfo` es ``None``. Ver también " "método :meth:`timetz`." -#: ../Doc/library/datetime.rst:1202 ../Doc/library/datetime.rst:1211 +#: ../Doc/library/datetime.rst:1207 ../Doc/library/datetime.rst:1216 msgid "The fold value is copied to the returned :class:`.time` object." msgstr "" "El valor de plegado (*fold value*) se copia en el objeto :class:`time` " "retornado." -#: ../Doc/library/datetime.rst:1208 +#: ../Doc/library/datetime.rst:1213 msgid "" "Return :class:`.time` object with same hour, minute, second, microsecond, " "fold, and tzinfo attributes. See also method :meth:`time`." @@ -1915,7 +1926,7 @@ msgstr "" "Retorna el objeto :class:`.time` con los mismos atributos de hora, minuto, " "segundo, microsegundo, pliegue y *tzinfo*. Ver también método :meth:`time`." -#: ../Doc/library/datetime.rst:1219 +#: ../Doc/library/datetime.rst:1224 msgid "" "Return a datetime with the same attributes, except for those attributes " "given new values by whichever keyword arguments are specified. Note that " @@ -1928,7 +1939,7 @@ msgstr "" "especificar para crear una fecha y hora naíf (*naive*) a partir de una fecha " "y hora consciente(*aware*) sin conversión de datos de fecha y hora." -#: ../Doc/library/datetime.rst:1230 +#: ../Doc/library/datetime.rst:1235 msgid "" "Return a :class:`.datetime` object with new :attr:`.tzinfo` attribute *tz*, " "adjusting the date and time data so the result is the same UTC time as " @@ -1938,7 +1949,7 @@ msgstr "" "*tz*, ajustando los datos de fecha y hora para que el resultado sea la misma " "hora UTC que *self*, pero en hora local *tz*." -#: ../Doc/library/datetime.rst:1234 +#: ../Doc/library/datetime.rst:1239 msgid "" "If provided, *tz* must be an instance of a :class:`tzinfo` subclass, and " "its :meth:`utcoffset` and :meth:`dst` methods must not return ``None``. If " @@ -1949,7 +1960,7 @@ msgstr "" "``None``.Si *self* es naíf, se supone que representa la hora en la zona " "horaria del sistema." -#: ../Doc/library/datetime.rst:1238 +#: ../Doc/library/datetime.rst:1243 msgid "" "If called without arguments (or with ``tz=None``) the system local timezone " "is assumed for the target timezone. The ``.tzinfo`` attribute of the " @@ -1962,7 +1973,7 @@ msgstr "" "class:`timezone` con el nombre de zona y el desplazamiento obtenido del " "sistema operativo." -#: ../Doc/library/datetime.rst:1243 +#: ../Doc/library/datetime.rst:1248 msgid "" "If ``self.tzinfo`` is *tz*, ``self.astimezone(tz)`` is equal to *self*: no " "adjustment of date or time data is performed. Else the result is local time " @@ -1977,7 +1988,7 @@ msgstr "" "utcoffset()`` tendrá los mismos datos de fecha y hora que ``dt - dt." "utcoffset()``." -#: ../Doc/library/datetime.rst:1249 +#: ../Doc/library/datetime.rst:1254 msgid "" "If you merely want to attach a time zone object *tz* to a datetime *dt* " "without adjustment of date and time data, use ``dt.replace(tzinfo=tz)``. If " @@ -1990,7 +2001,7 @@ msgstr "" "y hora *dt* sin conversión de datos de fecha y hora, use ``dt.replace " "(tzinfo = None)``." -#: ../Doc/library/datetime.rst:1254 +#: ../Doc/library/datetime.rst:1259 msgid "" "Note that the default :meth:`tzinfo.fromutc` method can be overridden in a :" "class:`tzinfo` subclass to affect the result returned by :meth:`astimezone`. " @@ -2001,11 +2012,11 @@ msgstr "" "retornado por :meth:`astimezone`. :meth:`astimezone` ignora los casos de " "error, actúa como::" -#: ../Doc/library/datetime.rst:1266 +#: ../Doc/library/datetime.rst:1271 msgid "*tz* now can be omitted." msgstr "*tz* ahora puede ser omitido." -#: ../Doc/library/datetime.rst:1269 +#: ../Doc/library/datetime.rst:1274 msgid "" "The :meth:`astimezone` method can now be called on naive instances that are " "presumed to represent system local time." @@ -2013,7 +2024,7 @@ msgstr "" "El método :meth:`astimezone` ahora se puede invocar en instancias naíf " "(*naive*) que se supone representan la hora local del sistema." -#: ../Doc/library/datetime.rst:1276 +#: ../Doc/library/datetime.rst:1281 msgid "" "If :attr:`.tzinfo` is ``None``, returns ``None``, else returns ``self.tzinfo." "utcoffset(self)``, and raises an exception if the latter doesn't return " @@ -2024,13 +2035,13 @@ msgstr "" "retorna ``None`` o un objeto :class:`timedelta` con magnitud inferior a un " "día." -#: ../Doc/library/datetime.rst:1280 ../Doc/library/datetime.rst:1863 -#: ../Doc/library/datetime.rst:1969 ../Doc/library/datetime.rst:2215 -#: ../Doc/library/datetime.rst:2227 ../Doc/library/datetime.rst:2523 +#: ../Doc/library/datetime.rst:1285 ../Doc/library/datetime.rst:1868 +#: ../Doc/library/datetime.rst:1974 ../Doc/library/datetime.rst:2220 +#: ../Doc/library/datetime.rst:2232 ../Doc/library/datetime.rst:2528 msgid "The UTC offset is not restricted to a whole number of minutes." msgstr "El desfase UTC no está restringido a un número entero de minutos." -#: ../Doc/library/datetime.rst:1286 +#: ../Doc/library/datetime.rst:1291 msgid "" "If :attr:`.tzinfo` is ``None``, returns ``None``, else returns ``self.tzinfo." "dst(self)``, and raises an exception if the latter doesn't return ``None`` " @@ -2041,12 +2052,12 @@ msgstr "" "retorna ``None`` o un objeto :class:`timedelta` con magnitud inferior a un " "día." -#: ../Doc/library/datetime.rst:1290 ../Doc/library/datetime.rst:1873 -#: ../Doc/library/datetime.rst:2023 +#: ../Doc/library/datetime.rst:1295 ../Doc/library/datetime.rst:1878 +#: ../Doc/library/datetime.rst:2028 msgid "The DST offset is not restricted to a whole number of minutes." msgstr "El desfase DST no está restringido a un número entero de minutos." -#: ../Doc/library/datetime.rst:1296 +#: ../Doc/library/datetime.rst:1301 msgid "" "If :attr:`.tzinfo` is ``None``, returns ``None``, else returns ``self.tzinfo." "tzname(self)``, raises an exception if the latter doesn't return ``None`` or " @@ -2056,7 +2067,7 @@ msgstr "" "``self.tzinfo.tzname(self)``, genera una excepción si este último no retorna " "``None`` o un objeto de cadena de caracteres," -#: ../Doc/library/datetime.rst:1311 +#: ../Doc/library/datetime.rst:1316 msgid "" "where ``yday = d.toordinal() - date(d.year, 1, 1).toordinal() + 1`` is the " "day number within the current year starting with ``1`` for January 1st. The :" @@ -2073,7 +2084,7 @@ msgstr "" "un valor distinto de cero, :attr:`tm_isdst` se establece en ``1``; de lo " "contrario :attr:`tm_isdst` se establece en ``0``." -#: ../Doc/library/datetime.rst:1322 +#: ../Doc/library/datetime.rst:1327 msgid "" "If :class:`.datetime` instance *d* is naive, this is the same as ``d." "timetuple()`` except that :attr:`tm_isdst` is forced to 0 regardless of what " @@ -2084,7 +2095,7 @@ msgstr "" "independientemente de lo que retorna ``d.dst( )``. El horario de verano " "nunca está en vigencia durante un horario UTC." -#: ../Doc/library/datetime.rst:1326 +#: ../Doc/library/datetime.rst:1331 msgid "" "If *d* is aware, *d* is normalized to UTC time, by subtracting ``d." "utcoffset()``, and a :class:`time.struct_time` for the normalized time is " @@ -2098,7 +2109,7 @@ msgstr "" "`OverflowError` puede aparecer si **d*.year** fue ``MINYEAR`` o ``MAXYEAR`` " "y el ajuste UTC se derrama durante el límite de un año." -#: ../Doc/library/datetime.rst:1335 +#: ../Doc/library/datetime.rst:1340 msgid "" "Because naive ``datetime`` objects are treated by many ``datetime`` methods " "as local times, it is preferred to use aware datetimes to represent times in " @@ -2115,7 +2126,7 @@ msgstr "" "replace(tzinfo=timezone.utc)`` para que sea consciente, en cuyo punto se " "puede usar :meth:`.datetime.timetuple`." -#: ../Doc/library/datetime.rst:1344 +#: ../Doc/library/datetime.rst:1349 msgid "" "Return the proleptic Gregorian ordinal of the date. The same as ``self." "date().toordinal()``." @@ -2123,7 +2134,7 @@ msgstr "" "Retorna el ordinal gregoriano proléptico de la fecha. Lo mismo que ``self." "date().toordinal()``." -#: ../Doc/library/datetime.rst:1349 +#: ../Doc/library/datetime.rst:1354 msgid "" "Return POSIX timestamp corresponding to the :class:`.datetime` instance. The " "return value is a :class:`float` similar to that returned by :func:`time." @@ -2133,7 +2144,7 @@ msgstr "" "instancia :class:`.datetime`. El valor de retorno es :class:`float` similar " "al retornado por :func:`time.time`." -#: ../Doc/library/datetime.rst:1353 +#: ../Doc/library/datetime.rst:1358 #, fuzzy msgid "" "Naive :class:`.datetime` instances are assumed to represent local time and " @@ -2149,14 +2160,14 @@ msgstr "" "método puede generar :exc:`OverflowError` para tiempos en el pasado o en el " "futuro." -#: ../Doc/library/datetime.rst:1360 +#: ../Doc/library/datetime.rst:1365 msgid "" "For aware :class:`.datetime` instances, the return value is computed as::" msgstr "" "Para las instancias de :class:`.datetime`, el valor de retorno se calcula " "como::" -#: ../Doc/library/datetime.rst:1367 +#: ../Doc/library/datetime.rst:1372 msgid "" "The :meth:`timestamp` method uses the :attr:`.fold` attribute to " "disambiguate the times during a repeated interval." @@ -2164,7 +2175,7 @@ msgstr "" "El método :meth:`timestamp` utiliza el atributo :attr:`.fold` para " "desambiguar los tiempos durante un intervalo repetido." -#: ../Doc/library/datetime.rst:1373 +#: ../Doc/library/datetime.rst:1378 msgid "" "There is no method to obtain the POSIX timestamp directly from a naive :" "class:`.datetime` instance representing UTC time. If your application uses " @@ -2177,11 +2188,11 @@ msgstr "" "sistema no está configurada en UTC, puede obtener la marca de tiempo POSIX " "al proporcionar ``tzinfo = timezone.utc``::" -#: ../Doc/library/datetime.rst:1381 +#: ../Doc/library/datetime.rst:1386 msgid "or by calculating the timestamp directly::" msgstr "o calculando la marca de tiempo (*timestamp*) directamente::" -#: ../Doc/library/datetime.rst:1387 +#: ../Doc/library/datetime.rst:1392 msgid "" "Return the day of the week as an integer, where Monday is 0 and Sunday is 6. " "The same as ``self.date().weekday()``. See also :meth:`isoweekday`." @@ -2189,7 +2200,7 @@ msgstr "" "Retorna el día de la semana como un entero, donde el lunes es 0 y el domingo " "es 6. Lo mismo que ``self.date().weekday()``. Ver también :meth:`isoweekday`." -#: ../Doc/library/datetime.rst:1393 +#: ../Doc/library/datetime.rst:1398 msgid "" "Return the day of the week as an integer, where Monday is 1 and Sunday is 7. " "The same as ``self.date().isoweekday()``. See also :meth:`weekday`, :meth:" @@ -2199,29 +2210,30 @@ msgstr "" "domingo es 7. Lo mismo que ``self.date().isoweekday()``. Ver también :meth:" "`weekday`, :meth:`isocalendar`." -#: ../Doc/library/datetime.rst:1400 +#: ../Doc/library/datetime.rst:1405 +#, fuzzy msgid "" -"Return a 3-tuple, (ISO year, ISO week number, ISO weekday). The same as " -"``self.date().isocalendar()``." +"Return a :term:`named tuple` with three components: ``year``, ``week`` and " +"``weekday``. The same as ``self.date().isocalendar()``." msgstr "" "Retorna una 3-tupla, *(ISO year, ISO week number, ISO weekday)*. Lo mismo " "que ``self.date().isocalendar()``." -#: ../Doc/library/datetime.rst:1406 +#: ../Doc/library/datetime.rst:1411 msgid "Return a string representing the date and time in ISO 8601 format:" msgstr "" "Retorna una cadena de caracteres representando la fecha y la hora en formato " "ISO 8601:" -#: ../Doc/library/datetime.rst:1408 +#: ../Doc/library/datetime.rst:1413 msgid "``YYYY-MM-DDTHH:MM:SS.ffffff``, if :attr:`microsecond` is not 0" msgstr "``YYYY-MM-DDTHH:MM:SS.ffffff``, si :attr:`microsecond` no es 0" -#: ../Doc/library/datetime.rst:1409 +#: ../Doc/library/datetime.rst:1414 msgid "``YYYY-MM-DDTHH:MM:SS``, if :attr:`microsecond` is 0" msgstr "``YYYY-MM-DDTHH:MM:SS``, si :attr:`microsecond` es 0" -#: ../Doc/library/datetime.rst:1411 +#: ../Doc/library/datetime.rst:1416 msgid "" "If :meth:`utcoffset` does not return ``None``, a string is appended, giving " "the UTC offset:" @@ -2229,7 +2241,7 @@ msgstr "" "Si :meth:`utcoffset` no retorna ``None``, se agrega una cadena de caracteres " "dando el desplazamiento UTC:" -#: ../Doc/library/datetime.rst:1414 +#: ../Doc/library/datetime.rst:1419 msgid "" "``YYYY-MM-DDTHH:MM:SS.ffffff+HH:MM[:SS[.ffffff]]``, if :attr:`microsecond` " "is not 0" @@ -2237,13 +2249,13 @@ msgstr "" "``YYYY-MM-DDTHH:MM:SS.ffffff+HH:MM[:SS[.ffffff]]``, si :attr:`microsecond` " "no es 0" -#: ../Doc/library/datetime.rst:1416 +#: ../Doc/library/datetime.rst:1421 msgid "" "``YYYY-MM-DDTHH:MM:SS+HH:MM[:SS[.ffffff]]``, if :attr:`microsecond` is 0" msgstr "" "``YYYY-MM-DDTHH:MM:SS+HH:MM[:SS[.ffffff]]``, si :attr:`microsecond` es 0" -#: ../Doc/library/datetime.rst:1426 +#: ../Doc/library/datetime.rst:1431 msgid "" "The optional argument *sep* (default ``'T'``) is a one-character separator, " "placed between the date and time portions of the result. For example::" @@ -2252,7 +2264,7 @@ msgstr "" "carácter, ubicado entre las porciones de fecha y hora del resultado. Por " "ejemplo::" -#: ../Doc/library/datetime.rst:1440 ../Doc/library/datetime.rst:1801 +#: ../Doc/library/datetime.rst:1445 ../Doc/library/datetime.rst:1806 msgid "" "The optional argument *timespec* specifies the number of additional " "components of the time to include (the default is ``'auto'``). It can be one " @@ -2262,7 +2274,7 @@ msgstr "" "adicionales del tiempo a incluir (el valor predeterminado es ``‘auto’``). " "Puede ser uno de los siguientes:" -#: ../Doc/library/datetime.rst:1444 ../Doc/library/datetime.rst:1805 +#: ../Doc/library/datetime.rst:1449 ../Doc/library/datetime.rst:1810 msgid "" "``'auto'``: Same as ``'seconds'`` if :attr:`microsecond` is 0, same as " "``'microseconds'`` otherwise." @@ -2270,18 +2282,18 @@ msgstr "" "``’auto’``: Igual que ``’seconds’`` si :attr:`microsecond` es 0, igual que " "``’microseconds’`` de lo contrario." -#: ../Doc/library/datetime.rst:1446 ../Doc/library/datetime.rst:1807 +#: ../Doc/library/datetime.rst:1451 ../Doc/library/datetime.rst:1812 msgid "``'hours'``: Include the :attr:`hour` in the two-digit ``HH`` format." msgstr "" "``’hours’``: incluye el :attr:`hour` en el formato de dos dígitos ``HH``." -#: ../Doc/library/datetime.rst:1447 ../Doc/library/datetime.rst:1808 +#: ../Doc/library/datetime.rst:1452 ../Doc/library/datetime.rst:1813 msgid "" "``'minutes'``: Include :attr:`hour` and :attr:`minute` in ``HH:MM`` format." msgstr "" "``’minutes’``: Incluye :attr:`hour` y :attr:`minute` en formato``HH:MM``." -#: ../Doc/library/datetime.rst:1448 ../Doc/library/datetime.rst:1809 +#: ../Doc/library/datetime.rst:1453 ../Doc/library/datetime.rst:1814 msgid "" "``'seconds'``: Include :attr:`hour`, :attr:`minute`, and :attr:`second` in " "``HH:MM:SS`` format." @@ -2289,7 +2301,7 @@ msgstr "" "``’seconds’``: Incluye :attr:`hour`, :attr:`minute`, y :attr:`second` en " "formato ``HH:MM:SS``." -#: ../Doc/library/datetime.rst:1450 ../Doc/library/datetime.rst:1811 +#: ../Doc/library/datetime.rst:1455 ../Doc/library/datetime.rst:1816 msgid "" "``'milliseconds'``: Include full time, but truncate fractional second part " "to milliseconds. ``HH:MM:SS.sss`` format." @@ -2297,24 +2309,24 @@ msgstr "" "``’milliseconds’``: Incluye tiempo completo, pero trunca la segunda parte " "fraccionaria a milisegundos. Formato ``HH:MM:SS.sss``." -#: ../Doc/library/datetime.rst:1452 ../Doc/library/datetime.rst:1813 +#: ../Doc/library/datetime.rst:1457 ../Doc/library/datetime.rst:1818 msgid "``'microseconds'``: Include full time in ``HH:MM:SS.ffffff`` format." msgstr "" "``’microseconds’``: Incluye tiempo completo en formato``HH:MM:SS.ffffff``." -#: ../Doc/library/datetime.rst:1456 ../Doc/library/datetime.rst:1817 +#: ../Doc/library/datetime.rst:1461 ../Doc/library/datetime.rst:1822 msgid "Excluded time components are truncated, not rounded." msgstr "Los componentes de tiempo excluidos están truncados, no redondeados." -#: ../Doc/library/datetime.rst:1458 +#: ../Doc/library/datetime.rst:1463 msgid ":exc:`ValueError` will be raised on an invalid *timespec* argument::" msgstr ":exc:`ValueError` generará un argumento inválido *timespec*::" -#: ../Doc/library/datetime.rst:1468 ../Doc/library/datetime.rst:1832 +#: ../Doc/library/datetime.rst:1473 ../Doc/library/datetime.rst:1837 msgid "Added the *timespec* argument." msgstr "Se agregó el argumento *timespec*." -#: ../Doc/library/datetime.rst:1474 +#: ../Doc/library/datetime.rst:1479 msgid "" "For a :class:`.datetime` instance *d*, ``str(d)`` is equivalent to ``d." "isoformat(' ')``." @@ -2322,11 +2334,11 @@ msgstr "" "Para una instancia de la :class:`.datetime` *d*, ``str(d)`` es equivalente a " "``d.isoformat(' ')``." -#: ../Doc/library/datetime.rst:1480 +#: ../Doc/library/datetime.rst:1485 msgid "Return a string representing the date and time::" msgstr "Retorna una cadena de caracteres que representa la fecha y la hora::" -#: ../Doc/library/datetime.rst:1486 +#: ../Doc/library/datetime.rst:1491 msgid "" "The output string will *not* include time zone information, regardless of " "whether the input is aware or naive." @@ -2334,7 +2346,7 @@ msgstr "" "La cadena de salida *no* incluirá información de zona horaria, " "independientemente de si la entrada es consciente (*aware*) o naíf (*naive*)." -#: ../Doc/library/datetime.rst:1493 +#: ../Doc/library/datetime.rst:1498 msgid "" "on platforms where the native C :c:func:`ctime` function (which :func:`time." "ctime` invokes, but which :meth:`datetime.ctime` does not invoke) conforms " @@ -2344,7 +2356,7 @@ msgstr "" "ctime` invoca, pero que :meth:`datetime.ctime` no invoca) se ajusta al " "estándar *C*." -#: ../Doc/library/datetime.rst:1499 +#: ../Doc/library/datetime.rst:1504 msgid "" "Return a string representing the date and time, controlled by an explicit " "format string. For a complete list of formatting directives, see :ref:" @@ -2355,7 +2367,7 @@ msgstr "" "completa de las directivas de formato, consulte :ref:`strftime-strptime-" "behavior`." -#: ../Doc/library/datetime.rst:1506 +#: ../Doc/library/datetime.rst:1511 msgid "" "Same as :meth:`.datetime.strftime`. This makes it possible to specify a " "format string for a :class:`.datetime` object in :ref:`formatted string " @@ -2368,15 +2380,15 @@ msgstr "" "lista completa de las directivas de formato, consulte :ref:`strftime-" "strptime-behavior`." -#: ../Doc/library/datetime.rst:1513 +#: ../Doc/library/datetime.rst:1518 msgid "Examples of Usage: :class:`.datetime`" msgstr "Ejemplos de uso: :class:`.datetime`" -#: ../Doc/library/datetime.rst:1515 +#: ../Doc/library/datetime.rst:1520 msgid "Examples of working with :class:`~datetime.datetime` objects:" msgstr "Ejemplos de trabajo con objetos :class:`~datetime.datetime`:" -#: ../Doc/library/datetime.rst:1568 +#: ../Doc/library/datetime.rst:1573 msgid "" "The example below defines a :class:`tzinfo` subclass capturing time zone " "information for Kabul, Afghanistan, which used +4 UTC until 1945 and then " @@ -2386,15 +2398,15 @@ msgstr "" "información de zona horaria de *Kabul*, Afganistán, que utilizó +4 UTC hasta " "1945 y +4:30 UTC a partir de entonces::" -#: ../Doc/library/datetime.rst:1615 +#: ../Doc/library/datetime.rst:1620 msgid "Usage of ``KabulTz`` from above::" msgstr "Uso de ``KabulTz`` desde arriba ::" -#: ../Doc/library/datetime.rst:1641 +#: ../Doc/library/datetime.rst:1646 msgid ":class:`.time` Objects" msgstr "Objetos :class:`.time`" -#: ../Doc/library/datetime.rst:1643 +#: ../Doc/library/datetime.rst:1648 msgid "" "A :class:`time` object represents a (local) time of day, independent of any " "particular day, and subject to adjustment via a :class:`tzinfo` object." @@ -2403,7 +2415,7 @@ msgstr "" "de cualquier día en particular, y está sujeto a ajustes a través de un " "objeto :class:`tzinfo`." -#: ../Doc/library/datetime.rst:1648 +#: ../Doc/library/datetime.rst:1653 msgid "" "All arguments are optional. *tzinfo* may be ``None``, or an instance of a :" "class:`tzinfo` subclass. The remaining arguments must be integers in the " @@ -2413,7 +2425,7 @@ msgstr "" "instancia de una subclase :class:`tzinfo`. Los argumentos restantes deben " "ser enteros en los siguientes rangos:" -#: ../Doc/library/datetime.rst:1658 +#: ../Doc/library/datetime.rst:1663 msgid "" "If an argument outside those ranges is given, :exc:`ValueError` is raised. " "All default to ``0`` except *tzinfo*, which defaults to :const:`None`." @@ -2422,15 +2434,15 @@ msgstr "" "`ValueError`. Todo predeterminado a ``0`` excepto *tzinfo*, que por defecto " "es :const:`None`." -#: ../Doc/library/datetime.rst:1666 +#: ../Doc/library/datetime.rst:1671 msgid "The earliest representable :class:`.time`, ``time(0, 0, 0, 0)``." msgstr "El primero representable :class:`.time`,``time (0, 0, 0, 0)``." -#: ../Doc/library/datetime.rst:1671 +#: ../Doc/library/datetime.rst:1676 msgid "The latest representable :class:`.time`, ``time(23, 59, 59, 999999)``." msgstr "El último representable :class:`.time`, ``time(23, 59, 59, 999999)``." -#: ../Doc/library/datetime.rst:1676 +#: ../Doc/library/datetime.rst:1681 msgid "" "The smallest possible difference between non-equal :class:`.time` objects, " "``timedelta(microseconds=1)``, although note that arithmetic on :class:`." @@ -2440,7 +2452,7 @@ msgstr "" "time`, ``timedelta(microseconds=1)``, aunque tenga en cuenta que la " "aritmética en objetos :class:`.time` no es compatible." -#: ../Doc/library/datetime.rst:1705 +#: ../Doc/library/datetime.rst:1710 msgid "" "The object passed as the tzinfo argument to the :class:`.time` constructor, " "or ``None`` if none was passed." @@ -2448,7 +2460,7 @@ msgstr "" "El objeto pasado como argumento *tzinfo* al constructor de la clase :class:`." "time` , o ``None`` si no se pasó ninguno." -#: ../Doc/library/datetime.rst:1719 +#: ../Doc/library/datetime.rst:1724 msgid "" ":class:`.time` objects support comparison of :class:`.time` to :class:`." "time`, where *a* is considered less than *b* when *a* precedes *b* in time. " @@ -2463,7 +2475,7 @@ msgstr "" "comparaciones de igualdad, las instancias naíf nunca son iguales a las " "instancias conscientes (*aware*)." -#: ../Doc/library/datetime.rst:1725 +#: ../Doc/library/datetime.rst:1730 msgid "" "If both comparands are aware, and have the same :attr:`~time.tzinfo` " "attribute, the common :attr:`~time.tzinfo` attribute is ignored and the base " @@ -2488,7 +2500,7 @@ msgstr "" "``!=``. Los últimos casos retornan :const:`False` o :const:`True`, " "respectivamente." -#: ../Doc/library/datetime.rst:1735 +#: ../Doc/library/datetime.rst:1740 msgid "" "Equality comparisons between aware and naive :class:`~datetime.time` " "instances don't raise :exc:`TypeError`." @@ -2496,14 +2508,14 @@ msgstr "" "Las comparaciones de igualdad entre las instancias conscientes (*aware*) y " "naífs (*naive*) :class:`~datetime.time` no generan :exc:`TypeError`." -#: ../Doc/library/datetime.rst:1739 +#: ../Doc/library/datetime.rst:1744 msgid "" "In Boolean contexts, a :class:`.time` object is always considered to be true." msgstr "" "En contextos booleanos, un objeto :class:`.time` siempre se considera " "verdadero." -#: ../Doc/library/datetime.rst:1741 +#: ../Doc/library/datetime.rst:1746 msgid "" "Before Python 3.5, a :class:`.time` object was considered to be false if it " "represented midnight in UTC. This behavior was considered obscure and error-" @@ -2515,11 +2527,11 @@ msgstr "" "propenso a errores y se ha eliminado en Python 3.5. Ver :issue:`13936` para " "más detalles." -#: ../Doc/library/datetime.rst:1748 +#: ../Doc/library/datetime.rst:1753 msgid "Other constructor:" msgstr "Otro constructor:" -#: ../Doc/library/datetime.rst:1752 +#: ../Doc/library/datetime.rst:1757 msgid "" "Return a :class:`.time` corresponding to a *time_string* in one of the " "formats emitted by :meth:`time.isoformat`. Specifically, this function " @@ -2529,7 +2541,7 @@ msgstr "" "formatos emitidos por :meth:`time.isoformat`. Específicamente, esta función " "admite cadenas de caracteres en el formato:" -#: ../Doc/library/datetime.rst:1762 +#: ../Doc/library/datetime.rst:1767 msgid "" "This does *not* support parsing arbitrary ISO 8601 strings. It is only " "intended as the inverse operation of :meth:`time.isoformat`." @@ -2537,7 +2549,7 @@ msgstr "" "Esto *no* admite el *parsing* de cadenas arbitrarias ISO 8601. Solo pretende " "ser la operación inversa de :meth:`time.isoformat`." -#: ../Doc/library/datetime.rst:1783 +#: ../Doc/library/datetime.rst:1788 msgid "" "Return a :class:`.time` with the same value, except for those attributes " "given new values by whichever keyword arguments are specified. Note that " @@ -2550,19 +2562,19 @@ msgstr "" "especificar para crear una :class:`.time` naíf (*naive*) desde un consciente " "(*aware*) :class:`.time`, sin conversión de los datos de tiempo." -#: ../Doc/library/datetime.rst:1794 +#: ../Doc/library/datetime.rst:1799 msgid "Return a string representing the time in ISO 8601 format, one of:" msgstr "Retorna una cadena que representa la hora en formato ISO 8601, una de:" -#: ../Doc/library/datetime.rst:1796 +#: ../Doc/library/datetime.rst:1801 msgid "``HH:MM:SS.ffffff``, if :attr:`microsecond` is not 0" msgstr "``HH:MM:SS.ffffff``, si :attr:`microsecond` no es 0" -#: ../Doc/library/datetime.rst:1797 +#: ../Doc/library/datetime.rst:1802 msgid "``HH:MM:SS``, if :attr:`microsecond` is 0" msgstr "``HH:MM:SS``, si :attr:`microsecond` es 0" -#: ../Doc/library/datetime.rst:1798 +#: ../Doc/library/datetime.rst:1803 msgid "" "``HH:MM:SS.ffffff+HH:MM[:SS[.ffffff]]``, if :meth:`utcoffset` does not " "return ``None``" @@ -2570,7 +2582,7 @@ msgstr "" "``HH:MM:SS.ffffff+HH:MM[:SS[.ffffff]]``, si :meth:`utcoffset` no retorna " "``None``" -#: ../Doc/library/datetime.rst:1799 +#: ../Doc/library/datetime.rst:1804 msgid "" "``HH:MM:SS+HH:MM[:SS[.ffffff]]``, if :attr:`microsecond` is 0 and :meth:" "`utcoffset` does not return ``None``" @@ -2578,15 +2590,15 @@ msgstr "" "``HH:MM:SS+HH:MM[:SS[.ffffff]]``, si :attr:`microsecond` es 0 y :meth:" "`utcoffset` no retorna ``None``" -#: ../Doc/library/datetime.rst:1819 +#: ../Doc/library/datetime.rst:1824 msgid ":exc:`ValueError` will be raised on an invalid *timespec* argument." msgstr ":exc:`ValueError` generará un argumento inválido *timespec*." -#: ../Doc/library/datetime.rst:1838 +#: ../Doc/library/datetime.rst:1843 msgid "For a time *t*, ``str(t)`` is equivalent to ``t.isoformat()``." msgstr "Durante un tiempo *t*, ``str(t)`` es equivalente a ``t.isoformat()``." -#: ../Doc/library/datetime.rst:1843 +#: ../Doc/library/datetime.rst:1848 msgid "" "Return a string representing the time, controlled by an explicit format " "string. For a complete list of formatting directives, see :ref:`strftime-" @@ -2596,7 +2608,7 @@ msgstr "" "formato explícito. Para obtener una lista completa de las directivas de " "formato, consulte :ref:`strftime-strptime-behavior`." -#: ../Doc/library/datetime.rst:1850 +#: ../Doc/library/datetime.rst:1855 msgid "" "Same as :meth:`.time.strftime`. This makes it possible to specify a format " "string for a :class:`.time` object in :ref:`formatted string literals ` file there are some examples of :class:`tzinfo` classes:" @@ -2987,7 +2999,7 @@ msgstr "" "En el siguiente archivo :download:`tzinfo_examples.py <../includes/" "tzinfo_examples.py>` hay algunos ejemplos de clases :class:`tzinfo`:" -#: ../Doc/library/datetime.rst:2106 +#: ../Doc/library/datetime.rst:2111 msgid "" "Note that there are unavoidable subtleties twice per year in a :class:" "`tzinfo` subclass accounting for both standard and daylight time, at the DST " @@ -3002,7 +3014,7 @@ msgstr "" "1:59 (EST) el segundo domingo de marzo y termina el minuto después de 1:59 " "(EDT) el primer domingo de noviembre ::" -#: ../Doc/library/datetime.rst:2120 +#: ../Doc/library/datetime.rst:2125 msgid "" "When DST starts (the \"start\" line), the local wall clock leaps from 1:59 " "to 3:00. A wall time of the form 2:MM doesn't really make sense on that day, " @@ -3017,7 +3029,7 @@ msgstr "" "comienza el horario de verano. Por ejemplo, en la transición de primavera de " "2016, obtenemos ::" -#: ../Doc/library/datetime.rst:2139 +#: ../Doc/library/datetime.rst:2144 msgid "" "When DST ends (the \"end\" line), there's a potentially worse problem: " "there's an hour that can't be spelled unambiguously in local wall time: the " @@ -3044,7 +3056,7 @@ msgstr "" "fold` establecido en 0 y los tiempos posteriores configúrelo en 1. Por " "ejemplo, en la transición alternativa de 2016, obtenemos::" -#: ../Doc/library/datetime.rst:2161 +#: ../Doc/library/datetime.rst:2166 msgid "" "Note that the :class:`.datetime` instances that differ only by the value of " "the :attr:`~datetime.fold` attribute are considered equal in comparisons." @@ -3053,7 +3065,7 @@ msgstr "" "el valor del atributo :attr:`~datetime.fold` se consideran iguales en las " "comparaciones." -#: ../Doc/library/datetime.rst:2164 +#: ../Doc/library/datetime.rst:2169 msgid "" "Applications that can't bear wall-time ambiguities should explicitly check " "the value of the :attr:`~datetime.fold` attribute or avoid using hybrid :" @@ -3069,11 +3081,11 @@ msgstr "" "de clase offset :class:`tzinfo` (como una clase que representa solo *EST* " "(desplazamiento fijo -5 horas), o solo EDT (desplazamiento fijo -4 horas))." -#: ../Doc/library/datetime.rst:2179 +#: ../Doc/library/datetime.rst:2184 msgid "`dateutil.tz `_" msgstr "`dateutil.tz `_" -#: ../Doc/library/datetime.rst:2173 +#: ../Doc/library/datetime.rst:2178 msgid "" "The :mod:`datetime` module has a basic :class:`timezone` class (for handling " "arbitrary fixed offsets from UTC) and its :attr:`timezone.utc` attribute (a " @@ -3083,7 +3095,7 @@ msgstr "" "manejar compensaciones fijas arbitrarias desde UTC) y su atributo :attr:" "`timezone.utc` (una instancia de zona horaria UTC)." -#: ../Doc/library/datetime.rst:2177 +#: ../Doc/library/datetime.rst:2182 msgid "" "*dateutil.tz* library brings the *IANA timezone database* (also known as the " "Olson database) to Python, and its usage is recommended." @@ -3091,11 +3103,11 @@ msgstr "" "La biblioteca *dateutil.tz* trae la *IANA timezone database* (también " "conocida como la base de datos *Olson*) a Python, y se recomienda su uso." -#: ../Doc/library/datetime.rst:2185 +#: ../Doc/library/datetime.rst:2190 msgid "`IANA timezone database `_" msgstr "`IANA timezone database `_" -#: ../Doc/library/datetime.rst:2182 +#: ../Doc/library/datetime.rst:2187 msgid "" "The Time Zone Database (often called tz, tzdata or zoneinfo) contains code " "and data that represent the history of local time for many representative " @@ -3110,11 +3122,11 @@ msgstr "" "políticos en los límites de la zona horaria, las compensaciones UTC y las " "reglas de horario de verano." -#: ../Doc/library/datetime.rst:2192 +#: ../Doc/library/datetime.rst:2197 msgid ":class:`timezone` Objects" msgstr "Objetos :class:`timezone`" -#: ../Doc/library/datetime.rst:2194 +#: ../Doc/library/datetime.rst:2199 msgid "" "The :class:`timezone` class is a subclass of :class:`tzinfo`, each instance " "of which represents a timezone defined by a fixed offset from UTC." @@ -3123,7 +3135,7 @@ msgstr "" "las cuales representa una zona horaria definida por un desplazamiento fijo " "desde UTC." -#: ../Doc/library/datetime.rst:2198 +#: ../Doc/library/datetime.rst:2203 msgid "" "Objects of this class cannot be used to represent timezone information in " "the locations where different offsets are used in different days of the year " @@ -3134,7 +3146,7 @@ msgstr "" "diferentes días del año o donde se han realizado cambios históricos en la " "hora civil." -#: ../Doc/library/datetime.rst:2205 +#: ../Doc/library/datetime.rst:2210 msgid "" "The *offset* argument must be specified as a :class:`timedelta` object " "representing the difference between the local time and UTC. It must be " @@ -3146,7 +3158,7 @@ msgstr "" "estar estrictamente entre ``-timedelta(horas = 24)`` y ``timedelta(horas = " "24)``, de lo contrario :exc:`ValueError` se genera." -#: ../Doc/library/datetime.rst:2210 +#: ../Doc/library/datetime.rst:2215 msgid "" "The *name* argument is optional. If specified it must be a string that will " "be used as the value returned by the :meth:`datetime.tzname` method." @@ -3155,7 +3167,7 @@ msgstr "" "caracteres que se utilizará como el valor retornado por el método :meth:" "`datetime.tzname`." -#: ../Doc/library/datetime.rst:2221 ../Doc/library/datetime.rst:2232 +#: ../Doc/library/datetime.rst:2226 ../Doc/library/datetime.rst:2237 msgid "" "Return the fixed value specified when the :class:`timezone` instance is " "constructed." @@ -3163,7 +3175,7 @@ msgstr "" "Retorna el valor fijo especificado cuando se construye la instancia :class:" "`timezone`." -#: ../Doc/library/datetime.rst:2224 +#: ../Doc/library/datetime.rst:2229 msgid "" "The *dt* argument is ignored. The return value is a :class:`timedelta` " "instance equal to the difference between the local time and UTC." @@ -3171,7 +3183,7 @@ msgstr "" "El argumento *dt* se ignora. El valor de retorno es una instancia de :class:" "`timedelta` igual a la diferencia entre la hora local y UTC." -#: ../Doc/library/datetime.rst:2235 +#: ../Doc/library/datetime.rst:2240 msgid "" "If *name* is not provided in the constructor, the name returned by " "``tzname(dt)`` is generated from the value of the ``offset`` as follows. If " @@ -3186,7 +3198,7 @@ msgstr "" "``offset``, HH y MM son dos dígitos de ``offset.hours`` y ``offset.minutes`` " "respectivamente." -#: ../Doc/library/datetime.rst:2241 +#: ../Doc/library/datetime.rst:2246 msgid "" "Name generated from ``offset=timedelta(0)`` is now plain `'UTC'`, not ``'UTC" "+00:00'``." @@ -3194,11 +3206,11 @@ msgstr "" "El nombre generado a partir de ``offset = timedelta (0)`` ahora es simple `` " "UTC``, no ``‘UTC+00:00’``." -#: ../Doc/library/datetime.rst:2248 +#: ../Doc/library/datetime.rst:2253 msgid "Always returns ``None``." msgstr "Siempre retorna ``None``." -#: ../Doc/library/datetime.rst:2252 +#: ../Doc/library/datetime.rst:2257 msgid "" "Return ``dt + offset``. The *dt* argument must be an aware :class:`." "datetime` instance, with ``tzinfo`` set to ``self``." @@ -3206,15 +3218,15 @@ msgstr "" "Retorna ``dt + offset``. El argumento *dt* debe ser una instancia consciente " "(*aware*) :class:`.datetime`, con` `tzinfo`` establecido en``self``." -#: ../Doc/library/datetime.rst:2259 +#: ../Doc/library/datetime.rst:2264 msgid "The UTC timezone, ``timezone(timedelta(0))``." msgstr "La zona horaria UTC, ``timezone(timedelta(0))``." -#: ../Doc/library/datetime.rst:2268 +#: ../Doc/library/datetime.rst:2273 msgid ":meth:`strftime` and :meth:`strptime` Behavior" msgstr "Comportamiento :meth:`strftime` y :meth:`strptime`" -#: ../Doc/library/datetime.rst:2270 +#: ../Doc/library/datetime.rst:2275 msgid "" ":class:`date`, :class:`.datetime`, and :class:`.time` objects all support a " "``strftime(format)`` method, to create a string representing the time under " @@ -3224,7 +3236,7 @@ msgstr "" "método ``strftime(format)``, para crear una cadena que represente el tiempo " "bajo el control de una cadena de caracteres de formato explícito." -#: ../Doc/library/datetime.rst:2274 +#: ../Doc/library/datetime.rst:2279 msgid "" "Conversely, the :meth:`datetime.strptime` class method creates a :class:`." "datetime` object from a string representing a date and time and a " @@ -3234,7 +3246,7 @@ msgstr "" "objeto :class:`.datetime` a partir de una cadena que representa una fecha y " "hora y una cadena de formato correspondiente." -#: ../Doc/library/datetime.rst:2278 +#: ../Doc/library/datetime.rst:2283 msgid "" "The table below provides a high-level comparison of :meth:`strftime` versus :" "meth:`strptime`:" @@ -3242,71 +3254,71 @@ msgstr "" "La siguiente tabla proporciona una comparación de alto nivel de :meth:" "`strftime` versus :meth:`strptime`:" -#: ../Doc/library/datetime.rst:2282 +#: ../Doc/library/datetime.rst:2287 msgid "``strftime``" msgstr "``strftime``" -#: ../Doc/library/datetime.rst:2282 +#: ../Doc/library/datetime.rst:2287 msgid "``strptime``" msgstr "``strptime``" -#: ../Doc/library/datetime.rst:2284 +#: ../Doc/library/datetime.rst:2289 msgid "Usage" msgstr "Uso" -#: ../Doc/library/datetime.rst:2284 +#: ../Doc/library/datetime.rst:2289 msgid "Convert object to a string according to a given format" msgstr "" "Convierte objetos en una cadena de caracteres de acuerdo con un formato dado" -#: ../Doc/library/datetime.rst:2284 +#: ../Doc/library/datetime.rst:2289 msgid "" "Parse a string into a :class:`.datetime` object given a corresponding format" msgstr "" "*parsear* una cadena en un objeto :class:`.datetime` con el formato " "correspondiente" -#: ../Doc/library/datetime.rst:2286 +#: ../Doc/library/datetime.rst:2291 msgid "Type of method" msgstr "Tipo de método" -#: ../Doc/library/datetime.rst:2286 +#: ../Doc/library/datetime.rst:2291 msgid "Instance method" msgstr "Método de instancia" -#: ../Doc/library/datetime.rst:2286 +#: ../Doc/library/datetime.rst:2291 msgid "Class method" msgstr "Método de clase" -#: ../Doc/library/datetime.rst:2288 +#: ../Doc/library/datetime.rst:2293 msgid "Method of" msgstr "Método de" -#: ../Doc/library/datetime.rst:2288 +#: ../Doc/library/datetime.rst:2293 msgid ":class:`date`; :class:`.datetime`; :class:`.time`" msgstr ":class:`date`; :class:`.datetime`; :class:`.time`" -#: ../Doc/library/datetime.rst:2288 +#: ../Doc/library/datetime.rst:2293 msgid ":class:`.datetime`" msgstr ":class:`.datetime`" -#: ../Doc/library/datetime.rst:2290 +#: ../Doc/library/datetime.rst:2295 msgid "Signature" msgstr "Firma" -#: ../Doc/library/datetime.rst:2290 +#: ../Doc/library/datetime.rst:2295 msgid "``strftime(format)``" msgstr "``strftime(format)``" -#: ../Doc/library/datetime.rst:2290 +#: ../Doc/library/datetime.rst:2295 msgid "``strptime(date_string, format)``" msgstr "``strptime(date_string, format)``" -#: ../Doc/library/datetime.rst:2295 +#: ../Doc/library/datetime.rst:2300 msgid ":meth:`strftime` and :meth:`strptime` Format Codes" msgstr "Códigos de formato :meth:`strftime` y :meth:`strptime`" -#: ../Doc/library/datetime.rst:2297 +#: ../Doc/library/datetime.rst:2302 msgid "" "The following is a list of all the format codes that the 1989 C standard " "requires, and these work on all platforms with a standard C implementation." @@ -3315,27 +3327,27 @@ msgstr "" "estándar 1989 C, y estos funcionan en todas las plataformas con una " "implementación estándar C." -#: ../Doc/library/datetime.rst:2301 ../Doc/library/datetime.rst:2404 +#: ../Doc/library/datetime.rst:2306 ../Doc/library/datetime.rst:2409 msgid "Directive" msgstr "Directiva" -#: ../Doc/library/datetime.rst:2301 ../Doc/library/datetime.rst:2404 +#: ../Doc/library/datetime.rst:2306 ../Doc/library/datetime.rst:2409 msgid "Meaning" msgstr "Significado" -#: ../Doc/library/datetime.rst:2301 ../Doc/library/datetime.rst:2404 +#: ../Doc/library/datetime.rst:2306 ../Doc/library/datetime.rst:2409 msgid "Example" msgstr "Ejemplo" -#: ../Doc/library/datetime.rst:2301 ../Doc/library/datetime.rst:2404 +#: ../Doc/library/datetime.rst:2306 ../Doc/library/datetime.rst:2409 msgid "Notes" msgstr "Notas" -#: ../Doc/library/datetime.rst:2303 +#: ../Doc/library/datetime.rst:2308 msgid "``%a``" msgstr "``%a``" -#: ../Doc/library/datetime.rst:2303 +#: ../Doc/library/datetime.rst:2308 msgid "Weekday as locale's abbreviated name." msgstr "" "Día de la semana como nombre abreviado según la configuración regional." @@ -3348,11 +3360,11 @@ msgstr "*Sun, Mon, …, Sat (en_US)*;" msgid "So, Mo, ..., Sa (de_DE)" msgstr "*So, Mo, …, Sa (de_DE)*" -#: ../Doc/library/datetime.rst:2308 +#: ../Doc/library/datetime.rst:2313 msgid "``%A``" msgstr "``%A``" -#: ../Doc/library/datetime.rst:2308 +#: ../Doc/library/datetime.rst:2313 msgid "Weekday as locale's full name." msgstr "Día de la semana como nombre completo de la localidad." @@ -3364,44 +3376,44 @@ msgstr "*Sunday, Monday, …, Saturday (en_US)*;" msgid "Sonntag, Montag, ..., Samstag (de_DE)" msgstr "*Sonntag, Montag, …, Samstag (de_DE)*" -#: ../Doc/library/datetime.rst:2313 +#: ../Doc/library/datetime.rst:2318 msgid "``%w``" msgstr "``%w``" -#: ../Doc/library/datetime.rst:2313 +#: ../Doc/library/datetime.rst:2318 msgid "Weekday as a decimal number, where 0 is Sunday and 6 is Saturday." msgstr "" "Día de la semana como un número decimal, donde 0 es domingo y 6 es sábado." -#: ../Doc/library/datetime.rst:2313 +#: ../Doc/library/datetime.rst:2318 msgid "0, 1, ..., 6" msgstr "0, 1, …, 6" -#: ../Doc/library/datetime.rst:2317 +#: ../Doc/library/datetime.rst:2322 #, python-format msgid "``%d``" msgstr "``%d``" -#: ../Doc/library/datetime.rst:2317 +#: ../Doc/library/datetime.rst:2322 msgid "Day of the month as a zero-padded decimal number." msgstr "Día del mes como un número decimal rellenado con ceros." -#: ../Doc/library/datetime.rst:2317 +#: ../Doc/library/datetime.rst:2322 msgid "01, 02, ..., 31" msgstr "01, 02, …, 31" -#: ../Doc/library/datetime.rst:2317 ../Doc/library/datetime.rst:2330 -#: ../Doc/library/datetime.rst:2333 ../Doc/library/datetime.rst:2339 -#: ../Doc/library/datetime.rst:2342 ../Doc/library/datetime.rst:2348 -#: ../Doc/library/datetime.rst:2366 +#: ../Doc/library/datetime.rst:2322 ../Doc/library/datetime.rst:2335 +#: ../Doc/library/datetime.rst:2338 ../Doc/library/datetime.rst:2344 +#: ../Doc/library/datetime.rst:2347 ../Doc/library/datetime.rst:2353 +#: ../Doc/library/datetime.rst:2371 msgid "\\(9)" msgstr "\\(9)" -#: ../Doc/library/datetime.rst:2320 +#: ../Doc/library/datetime.rst:2325 msgid "``%b``" msgstr "``%b``" -#: ../Doc/library/datetime.rst:2320 +#: ../Doc/library/datetime.rst:2325 msgid "Month as locale's abbreviated name." msgstr "Mes como nombre abreviado según la configuración regional." @@ -3413,11 +3425,11 @@ msgstr "*Jan, Feb, …, Dec (en_US)*;" msgid "Jan, Feb, ..., Dez (de_DE)" msgstr "*Jan, Feb, …, Dez (de_DE)*" -#: ../Doc/library/datetime.rst:2325 +#: ../Doc/library/datetime.rst:2330 msgid "``%B``" msgstr "``%B``" -#: ../Doc/library/datetime.rst:2325 +#: ../Doc/library/datetime.rst:2330 msgid "Month as locale's full name." msgstr "Mes como nombre completo según la configuración regional." @@ -3429,67 +3441,67 @@ msgstr "*January, February, …, December (en_US)*;" msgid "Januar, Februar, ..., Dezember (de_DE)" msgstr "*Januar, Februar, …, Dezember (de_DE)*" -#: ../Doc/library/datetime.rst:2330 +#: ../Doc/library/datetime.rst:2335 msgid "``%m``" msgstr "``%m``" -#: ../Doc/library/datetime.rst:2330 +#: ../Doc/library/datetime.rst:2335 msgid "Month as a zero-padded decimal number." msgstr "Mes como un número decimal rellenado con ceros." -#: ../Doc/library/datetime.rst:2330 ../Doc/library/datetime.rst:2342 +#: ../Doc/library/datetime.rst:2335 ../Doc/library/datetime.rst:2347 msgid "01, 02, ..., 12" msgstr "01, 02, …, 12" -#: ../Doc/library/datetime.rst:2333 +#: ../Doc/library/datetime.rst:2338 msgid "``%y``" msgstr "``%y``" -#: ../Doc/library/datetime.rst:2333 +#: ../Doc/library/datetime.rst:2338 msgid "Year without century as a zero-padded decimal number." msgstr "Año sin siglo como un número decimal rellenado con ceros." -#: ../Doc/library/datetime.rst:2333 +#: ../Doc/library/datetime.rst:2338 msgid "00, 01, ..., 99" msgstr "00, 01, …, 99" -#: ../Doc/library/datetime.rst:2336 +#: ../Doc/library/datetime.rst:2341 msgid "``%Y``" msgstr "``%Y``" -#: ../Doc/library/datetime.rst:2336 +#: ../Doc/library/datetime.rst:2341 msgid "Year with century as a decimal number." msgstr "Año con siglo como número decimal." -#: ../Doc/library/datetime.rst:2336 ../Doc/library/datetime.rst:2406 +#: ../Doc/library/datetime.rst:2341 ../Doc/library/datetime.rst:2411 msgid "0001, 0002, ..., 2013, 2014, ..., 9998, 9999" msgstr "0001, 0002, …, 2013, 2014, …, 9998, 9999" -#: ../Doc/library/datetime.rst:2339 +#: ../Doc/library/datetime.rst:2344 msgid "``%H``" msgstr "``%H``" -#: ../Doc/library/datetime.rst:2339 +#: ../Doc/library/datetime.rst:2344 msgid "Hour (24-hour clock) as a zero-padded decimal number." msgstr "Hora (reloj de 24 horas) como un número decimal rellenado con ceros." -#: ../Doc/library/datetime.rst:2339 +#: ../Doc/library/datetime.rst:2344 msgid "00, 01, ..., 23" msgstr "00, 01, …, 23" -#: ../Doc/library/datetime.rst:2342 +#: ../Doc/library/datetime.rst:2347 msgid "``%I``" msgstr "``%I``" -#: ../Doc/library/datetime.rst:2342 +#: ../Doc/library/datetime.rst:2347 msgid "Hour (12-hour clock) as a zero-padded decimal number." msgstr "Hora (reloj de 12 horas) como un número decimal rellenado con ceros." -#: ../Doc/library/datetime.rst:2345 +#: ../Doc/library/datetime.rst:2350 msgid "``%p``" msgstr "``%p``" -#: ../Doc/library/datetime.rst:2345 +#: ../Doc/library/datetime.rst:2350 msgid "Locale's equivalent of either AM or PM." msgstr "El equivalente de la configuración regional de AM o PM." @@ -3501,57 +3513,57 @@ msgstr "AM, PM (en_US);" msgid "am, pm (de_DE)" msgstr "am, pm (de_DE)" -#: ../Doc/library/datetime.rst:2345 +#: ../Doc/library/datetime.rst:2350 msgid "\\(1), \\(3)" msgstr "\\(1), \\(3)" -#: ../Doc/library/datetime.rst:2348 +#: ../Doc/library/datetime.rst:2353 msgid "``%M``" msgstr "``%M``" -#: ../Doc/library/datetime.rst:2348 +#: ../Doc/library/datetime.rst:2353 msgid "Minute as a zero-padded decimal number." msgstr "Minuto como un número decimal rellenado con ceros." -#: ../Doc/library/datetime.rst:2348 ../Doc/library/datetime.rst:2351 +#: ../Doc/library/datetime.rst:2353 ../Doc/library/datetime.rst:2356 msgid "00, 01, ..., 59" msgstr "00, 01, …, 59" -#: ../Doc/library/datetime.rst:2351 +#: ../Doc/library/datetime.rst:2356 msgid "``%S``" msgstr "``%S``" -#: ../Doc/library/datetime.rst:2351 +#: ../Doc/library/datetime.rst:2356 msgid "Second as a zero-padded decimal number." msgstr "Segundo como un número decimal rellenado con ceros." -#: ../Doc/library/datetime.rst:2351 +#: ../Doc/library/datetime.rst:2356 msgid "\\(4), \\(9)" msgstr "\\(4), \\(9)" -#: ../Doc/library/datetime.rst:2354 +#: ../Doc/library/datetime.rst:2359 #, python-format msgid "``%f``" msgstr "``%f``" -#: ../Doc/library/datetime.rst:2354 +#: ../Doc/library/datetime.rst:2359 msgid "Microsecond as a decimal number, zero-padded on the left." msgstr "" "Microsegundo como un número decimal, rellenado con ceros a la izquierda." -#: ../Doc/library/datetime.rst:2354 +#: ../Doc/library/datetime.rst:2359 msgid "000000, 000001, ..., 999999" msgstr "000000, 000001, …, 999999" -#: ../Doc/library/datetime.rst:2354 +#: ../Doc/library/datetime.rst:2359 msgid "\\(5)" msgstr "\\(5)" -#: ../Doc/library/datetime.rst:2358 ../Doc/library/datetime.rst:2521 +#: ../Doc/library/datetime.rst:2363 ../Doc/library/datetime.rst:2526 msgid "``%z``" msgstr "``%z``" -#: ../Doc/library/datetime.rst:2358 +#: ../Doc/library/datetime.rst:2363 msgid "" "UTC offset in the form ``±HHMM[SS[.ffffff]]`` (empty string if the object is " "naive)." @@ -3559,45 +3571,45 @@ msgstr "" "Desplazamiento (*offset*) UTC en la forma ``±HHMM[SS[.ffffff]]`` (cadena de " "caracteres vacía si el objeto es naíf (*naive*))." -#: ../Doc/library/datetime.rst:2358 +#: ../Doc/library/datetime.rst:2363 msgid "(empty), +0000, -0400, +1030, +063415, -030712.345216" msgstr "(vacío), +0000, -0400, +1030, +063415, -030712.345216" -#: ../Doc/library/datetime.rst:2358 +#: ../Doc/library/datetime.rst:2363 ../Doc/library/datetime.rst:2368 msgid "\\(6)" msgstr "\\(6)" -#: ../Doc/library/datetime.rst:2363 ../Doc/library/datetime.rst:2536 +#: ../Doc/library/datetime.rst:2368 ../Doc/library/datetime.rst:2550 msgid "``%Z``" msgstr "``%Z``" -#: ../Doc/library/datetime.rst:2363 +#: ../Doc/library/datetime.rst:2368 msgid "Time zone name (empty string if the object is naive)." msgstr "" "Nombre de zona horaria (cadena de caracteres vacía si el objeto es naíf " "(*naive*))." -#: ../Doc/library/datetime.rst:2363 -msgid "(empty), UTC, EST, CST" -msgstr "(vacío), UTC, EST, CST" +#: ../Doc/library/datetime.rst:2368 +msgid "(empty), UTC, GMT" +msgstr "" -#: ../Doc/library/datetime.rst:2366 +#: ../Doc/library/datetime.rst:2371 msgid "``%j``" msgstr "``%j``" -#: ../Doc/library/datetime.rst:2366 +#: ../Doc/library/datetime.rst:2371 msgid "Day of the year as a zero-padded decimal number." msgstr "Día del año como un número decimal rellenado con ceros." -#: ../Doc/library/datetime.rst:2366 +#: ../Doc/library/datetime.rst:2371 msgid "001, 002, ..., 366" msgstr "001, 002, …, 366" -#: ../Doc/library/datetime.rst:2369 +#: ../Doc/library/datetime.rst:2374 msgid "``%U``" msgstr "``%U``" -#: ../Doc/library/datetime.rst:2369 +#: ../Doc/library/datetime.rst:2374 msgid "" "Week number of the year (Sunday as the first day of the week) as a zero " "padded decimal number. All days in a new year preceding the first Sunday are " @@ -3607,19 +3619,19 @@ msgstr "" "número decimal rellenado con ceros. Todos los días en un nuevo año anterior " "al primer domingo se consideran en la semana 0." -#: ../Doc/library/datetime.rst:2369 ../Doc/library/datetime.rst:2377 +#: ../Doc/library/datetime.rst:2374 ../Doc/library/datetime.rst:2382 msgid "00, 01, ..., 53" msgstr "00, 01, …, 53" -#: ../Doc/library/datetime.rst:2369 ../Doc/library/datetime.rst:2377 +#: ../Doc/library/datetime.rst:2374 ../Doc/library/datetime.rst:2382 msgid "\\(7), \\(9)" msgstr "\\(7), \\(9)" -#: ../Doc/library/datetime.rst:2377 +#: ../Doc/library/datetime.rst:2382 msgid "``%W``" msgstr "``%W``" -#: ../Doc/library/datetime.rst:2377 +#: ../Doc/library/datetime.rst:2382 msgid "" "Week number of the year (Monday as the first day of the week) as a decimal " "number. All days in a new year preceding the first Monday are considered to " @@ -3629,12 +3641,12 @@ msgstr "" "decimal. Todos los días en un nuevo año anterior al primer lunes se " "consideran en la semana 0." -#: ../Doc/library/datetime.rst:2385 +#: ../Doc/library/datetime.rst:2390 #, python-format msgid "``%c``" msgstr "``%c``" -#: ../Doc/library/datetime.rst:2385 +#: ../Doc/library/datetime.rst:2390 msgid "Locale's appropriate date and time representation." msgstr "Representación apropiada de fecha y hora de la configuración regional." @@ -3646,12 +3658,12 @@ msgstr "*Tue Aug 16 21:30:00 1988 (en_US)*;" msgid "Di 16 Aug 21:30:00 1988 (de_DE)" msgstr "*Di 16 Aug 21:30:00 1988 (de_DE)*" -#: ../Doc/library/datetime.rst:2390 +#: ../Doc/library/datetime.rst:2395 #, python-format msgid "``%x``" msgstr "``%x``" -#: ../Doc/library/datetime.rst:2390 +#: ../Doc/library/datetime.rst:2395 msgid "Locale's appropriate date representation." msgstr "Representación de fecha apropiada de la configuración regional." @@ -3667,12 +3679,12 @@ msgstr "08/16/1988 (en_US);" msgid "16.08.1988 (de_DE)" msgstr "16.08.1988 (de_DE)" -#: ../Doc/library/datetime.rst:2394 +#: ../Doc/library/datetime.rst:2399 #, python-format msgid "``%X``" msgstr "``%X``" -#: ../Doc/library/datetime.rst:2394 +#: ../Doc/library/datetime.rst:2399 msgid "Locale's appropriate time representation." msgstr "Representación de la hora apropiada de la configuración regional." @@ -3684,20 +3696,20 @@ msgstr "21:30:00 (en_US);" msgid "21:30:00 (de_DE)" msgstr "21:30:00 (de_DE)" -#: ../Doc/library/datetime.rst:2397 +#: ../Doc/library/datetime.rst:2402 #, python-format msgid "``%%``" msgstr "``%%``" -#: ../Doc/library/datetime.rst:2397 +#: ../Doc/library/datetime.rst:2402 msgid "A literal ``'%'`` character." msgstr "Un carácter literal ``’%’``." -#: ../Doc/library/datetime.rst:2397 +#: ../Doc/library/datetime.rst:2402 msgid "%" msgstr "%" -#: ../Doc/library/datetime.rst:2400 +#: ../Doc/library/datetime.rst:2405 msgid "" "Several additional directives not required by the C89 standard are included " "for convenience. These parameters all correspond to ISO 8601 date values." @@ -3706,12 +3718,12 @@ msgstr "" "por conveniencia. Todos estos parámetros corresponden a valores de fecha ISO " "8601." -#: ../Doc/library/datetime.rst:2406 +#: ../Doc/library/datetime.rst:2411 #, python-format msgid "``%G``" msgstr "``%G``" -#: ../Doc/library/datetime.rst:2406 +#: ../Doc/library/datetime.rst:2411 #, fuzzy msgid "" "ISO 8601 year with century representing the year that contains the greater " @@ -3720,29 +3732,29 @@ msgstr "" "Año ISO 8601 con siglo que representa el año que contiene la mayor parte de " "la semana ISO (``%V``)." -#: ../Doc/library/datetime.rst:2406 +#: ../Doc/library/datetime.rst:2411 msgid "\\(8)" msgstr "\\(8)" -#: ../Doc/library/datetime.rst:2411 +#: ../Doc/library/datetime.rst:2416 #, python-format msgid "``%u``" msgstr "``%u``" -#: ../Doc/library/datetime.rst:2411 +#: ../Doc/library/datetime.rst:2416 #, fuzzy msgid "ISO 8601 weekday as a decimal number where 1 is Monday." msgstr "ISO 8601 día de la semana como un número decimal donde 1 es lunes." -#: ../Doc/library/datetime.rst:2411 +#: ../Doc/library/datetime.rst:2416 msgid "1, 2, ..., 7" msgstr "1, 2, …, 7" -#: ../Doc/library/datetime.rst:2414 +#: ../Doc/library/datetime.rst:2419 msgid "``%V``" msgstr "``%V``" -#: ../Doc/library/datetime.rst:2414 +#: ../Doc/library/datetime.rst:2419 msgid "" "ISO 8601 week as a decimal number with Monday as the first day of the week. " "Week 01 is the week containing Jan 4." @@ -3750,15 +3762,15 @@ msgstr "" "ISO 8601 semana como un número decimal con lunes como primer día de la " "semana. La semana 01 es la semana que contiene el 4 de enero." -#: ../Doc/library/datetime.rst:2414 +#: ../Doc/library/datetime.rst:2419 msgid "01, 02, ..., 53" msgstr "01, 02, …, 53" -#: ../Doc/library/datetime.rst:2414 +#: ../Doc/library/datetime.rst:2419 msgid "\\(8), \\(9)" msgstr "\\(8), \\(9)" -#: ../Doc/library/datetime.rst:2421 +#: ../Doc/library/datetime.rst:2426 msgid "" "These may not be available on all platforms when used with the :meth:" "`strftime` method. The ISO 8601 year and ISO 8601 week directives are not " @@ -3772,7 +3784,7 @@ msgstr "" "anteriores. Llamar a :meth:`strptime` con directivas ISO 8601 incompletas o " "ambiguas generará un :exc:`ValueError`." -#: ../Doc/library/datetime.rst:2426 +#: ../Doc/library/datetime.rst:2431 msgid "" "The full set of format codes supported varies across platforms, because " "Python calls the platform C library's :func:`strftime` function, and " @@ -3785,16 +3797,16 @@ msgstr "" "Para ver el conjunto completo de códigos de formato admitidos en su " "plataforma, consulte la documentación de :manpage:`strftime (3)`." -#: ../Doc/library/datetime.rst:2431 +#: ../Doc/library/datetime.rst:2436 #, python-format msgid "``%G``, ``%u`` and ``%V`` were added." msgstr "``%G``, ``%u`` y ``%V`` fueron añadidos." -#: ../Doc/library/datetime.rst:2435 +#: ../Doc/library/datetime.rst:2440 msgid "Technical Detail" msgstr "Detalle técnico" -#: ../Doc/library/datetime.rst:2437 +#: ../Doc/library/datetime.rst:2442 msgid "" "Broadly speaking, ``d.strftime(fmt)`` acts like the :mod:`time` module's " "``time.strftime(fmt, d.timetuple())`` although not all objects support a :" @@ -3804,7 +3816,7 @@ msgstr "" "``time.strftime(fmt, d.timetuple())`` aunque no todos los objetos admiten el " "método :meth:`timetuple`." -#: ../Doc/library/datetime.rst:2441 +#: ../Doc/library/datetime.rst:2446 msgid "" "For the :meth:`datetime.strptime` class method, the default value is " "``1900-01-01T00:00:00.000``: any components not specified in the format " @@ -3814,11 +3826,11 @@ msgstr "" "es ``1900-01-01T00:00:00.000``: cualquier componente no especificado en la " "cadena de formato se extraerá del valor predeterminado. [#]_" -#: ../Doc/library/datetime.rst:2445 +#: ../Doc/library/datetime.rst:2450 msgid "Using ``datetime.strptime(date_string, format)`` is equivalent to::" msgstr "Usar ``datetime.strptime(date_string, format)`` es equivalente a::" -#: ../Doc/library/datetime.rst:2449 +#: ../Doc/library/datetime.rst:2454 msgid "" "except when the format includes sub-second components or timezone offset " "information, which are supported in ``datetime.strptime`` but are discarded " @@ -3828,7 +3840,7 @@ msgstr "" "de compensación de zona horaria, que son compatibles con ``datetime." "strptime`` pero son descartados por ``time.strptime``." -#: ../Doc/library/datetime.rst:2453 +#: ../Doc/library/datetime.rst:2458 msgid "" "For :class:`.time` objects, the format codes for year, month, and day should " "not be used, as :class:`time` objects have no such values. If they're used " @@ -3840,7 +3852,7 @@ msgstr "" "valores. Si se usan de todos modos, ``1900`` se sustituye por el año y ``1`` " "por el mes y el día." -#: ../Doc/library/datetime.rst:2457 +#: ../Doc/library/datetime.rst:2462 msgid "" "For :class:`date` objects, the format codes for hours, minutes, seconds, and " "microseconds should not be used, as :class:`date` objects have no such " @@ -3851,7 +3863,7 @@ msgstr "" "no tienen tales valores. Si se usan de todos modos, ``0`` se sustituye por " "ellos." -#: ../Doc/library/datetime.rst:2461 +#: ../Doc/library/datetime.rst:2466 msgid "" "For the same reason, handling of format strings containing Unicode code " "points that can't be represented in the charset of the current locale is " @@ -3866,7 +3878,7 @@ msgstr "" "mientras que en otros ``strftime`` puede generar :exc:`UnicodeError` o " "retornar una cadena vacía." -#: ../Doc/library/datetime.rst:2470 +#: ../Doc/library/datetime.rst:2475 msgid "" "Because the format depends on the current locale, care should be taken when " "making assumptions about the output value. Field orderings will vary (for " @@ -3886,7 +3898,7 @@ msgstr "" "use :meth:`locale.getlocale` para determinar la codificación de la " "configuración regional actual)." -#: ../Doc/library/datetime.rst:2479 +#: ../Doc/library/datetime.rst:2484 msgid "" "The :meth:`strptime` method can parse years in the full [1, 9999] range, but " "years < 1000 must be zero-filled to 4-digit width." @@ -3895,7 +3907,7 @@ msgstr "" "9999], pero los años < 1000 deben llenarse desde cero hasta un ancho de 4 " "dígitos." -#: ../Doc/library/datetime.rst:2482 +#: ../Doc/library/datetime.rst:2487 msgid "" "In previous versions, :meth:`strftime` method was restricted to years >= " "1900." @@ -3903,14 +3915,14 @@ msgstr "" "En versiones anteriores, el método :meth:`strftime` estaba restringido a " "años >= 1900." -#: ../Doc/library/datetime.rst:2486 +#: ../Doc/library/datetime.rst:2491 msgid "" "In version 3.2, :meth:`strftime` method was restricted to years >= 1000." msgstr "" "En la versión 3.2, el método :meth:`strftime` estaba restringido a años >= " "1000." -#: ../Doc/library/datetime.rst:2491 +#: ../Doc/library/datetime.rst:2496 msgid "" "When used with the :meth:`strptime` method, the ``%p`` directive only " "affects the output hour field if the ``%I`` directive is used to parse the " @@ -3920,7 +3932,7 @@ msgstr "" "afecta el campo de hora de salida si se usa la directiva ``%I`` para " "analizar la hora." -#: ../Doc/library/datetime.rst:2495 +#: ../Doc/library/datetime.rst:2500 msgid "" "Unlike the :mod:`time` module, the :mod:`datetime` module does not support " "leap seconds." @@ -3928,7 +3940,7 @@ msgstr "" "A diferencia del módulo :mod:`time`, el módulo :mod:`datetime` no admite " "segundos intercalares." -#: ../Doc/library/datetime.rst:2499 +#: ../Doc/library/datetime.rst:2504 #, python-format msgid "" "When used with the :meth:`strptime` method, the ``%f`` directive accepts " @@ -3941,7 +3953,7 @@ msgstr "" "conjunto de caracteres de formato en el estándar *C* (pero implementado por " "separado en objetos de fecha y hora y, por lo tanto, siempre disponible)." -#: ../Doc/library/datetime.rst:2506 +#: ../Doc/library/datetime.rst:2511 msgid "" "For a naive object, the ``%z`` and ``%Z`` format codes are replaced by empty " "strings." @@ -3949,11 +3961,11 @@ msgstr "" "Para un objeto naíf (*naive*), los códigos de formato ``%z`` y ``%Z`` se " "reemplazan por cadenas vacías." -#: ../Doc/library/datetime.rst:2509 +#: ../Doc/library/datetime.rst:2514 msgid "For an aware object:" msgstr "Para un objeto consciente (*aware*)" -#: ../Doc/library/datetime.rst:2512 +#: ../Doc/library/datetime.rst:2517 msgid "" ":meth:`utcoffset` is transformed into a string of the form ``±HHMM[SS[." "ffffff]]``, where ``HH`` is a 2-digit string giving the number of UTC offset " @@ -3978,7 +3990,7 @@ msgstr "" "`utcoffset` retorna ``timedelta(hours=-3, minutes=-30)``, ``%z`` se " "reemplaza con la cadena ``'-0330'``." -#: ../Doc/library/datetime.rst:2526 +#: ../Doc/library/datetime.rst:2531 msgid "" "When the ``%z`` directive is provided to the :meth:`strptime` method, the " "UTC offsets can have a colon as a separator between hours, minutes and " @@ -3991,16 +4003,37 @@ msgstr "" "compensación de una hora. Además, proporcionar ``'Z'`` es idéntico a " "``’+00:00’``." -#: ../Doc/library/datetime.rst:2534 +#: ../Doc/library/datetime.rst:2539 +#, fuzzy msgid "" -"If :meth:`tzname` returns ``None``, ``%Z`` is replaced by an empty string. " -"Otherwise ``%Z`` is replaced by the returned value, which must be a string." +"In :meth:`strftime`, ``%Z`` is replaced by an empty string if :meth:`tzname` " +"returns ``None``; otherwise ``%Z`` is replaced by the returned value, which " +"must be a string." msgstr "" "Si :meth:`tzname` retorna ``None``, ``%Z`` se reemplaza por una cadena de " "caracteres vacía. De lo contrario, ``%Z`` se reemplaza por el valor " "retornado, que debe ser una cadena." -#: ../Doc/library/datetime.rst:2538 +#: ../Doc/library/datetime.rst:2543 +msgid ":meth:`strptime` only accepts certain values for ``%Z``:" +msgstr "" + +#: ../Doc/library/datetime.rst:2545 +msgid "any value in ``time.tzname`` for your machine's locale" +msgstr "" + +#: ../Doc/library/datetime.rst:2546 +msgid "the hard-coded values ``UTC`` and ``GMT``" +msgstr "" + +#: ../Doc/library/datetime.rst:2548 +msgid "" +"So someone living in Japan may have ``JST``, ``UTC``, and ``GMT`` as valid " +"values, but probably not ``EST``. It will raise ``ValueError`` for invalid " +"values." +msgstr "" + +#: ../Doc/library/datetime.rst:2552 msgid "" "When the ``%z`` directive is provided to the :meth:`strptime` method, an " "aware :class:`.datetime` object will be produced. The ``tzinfo`` of the " @@ -4010,7 +4043,7 @@ msgstr "" "generará un objeto consciente :class:`.datetime`. El ``tzinfo`` del " "resultado se establecerá en una instancia :class:`timezone`." -#: ../Doc/library/datetime.rst:2544 +#: ../Doc/library/datetime.rst:2558 msgid "" "When used with the :meth:`strptime` method, ``%U`` and ``%W`` are only used " "in calculations when the day of the week and the calendar year (``%Y``) are " @@ -4020,7 +4053,7 @@ msgstr "" "en los cálculos cuando se especifican el día de la semana y el año " "calendario (``%Y``) ." -#: ../Doc/library/datetime.rst:2549 +#: ../Doc/library/datetime.rst:2563 #, python-format msgid "" "Similar to ``%U`` and ``%W``, ``%V`` is only used in calculations when the " @@ -4032,7 +4065,7 @@ msgstr "" "la semana y el año ISO (``%G``) se especifican en :meth:`strptime` cadena de " "formato. También tenga en cuenta que ``%G`` y ``%Y`` no son intercambiables." -#: ../Doc/library/datetime.rst:2555 +#: ../Doc/library/datetime.rst:2569 #, python-format msgid "" "When used with the :meth:`strptime` method, the leading zero is optional " @@ -4043,15 +4076,15 @@ msgstr "" "para los formatos ``%d``, ``%m``, ``%H``, ``%I``, ``%M``, ``%S``, ``%J``, ``" "%U``, ``%W`` y ``%V``. El formato ``%y`` requiere un cero a la izquierda." -#: ../Doc/library/datetime.rst:2560 +#: ../Doc/library/datetime.rst:2574 msgid "Footnotes" msgstr "Pie de notas" -#: ../Doc/library/datetime.rst:2561 +#: ../Doc/library/datetime.rst:2575 msgid "If, that is, we ignore the effects of Relativity" msgstr "Es decir, si ignoramos los efectos de la relatividad" -#: ../Doc/library/datetime.rst:2563 +#: ../Doc/library/datetime.rst:2577 msgid "" "This matches the definition of the \"proleptic Gregorian\" calendar in " "Dershowitz and Reingold's book *Calendrical Calculations*, where it's the " @@ -4065,7 +4098,7 @@ msgstr "" "para convertir entre ordinales gregorianos prolépticos y muchos otros " "sistemas de calendario." -#: ../Doc/library/datetime.rst:2569 +#: ../Doc/library/datetime.rst:2583 msgid "" "See R. H. van Gent's `guide to the mathematics of the ISO 8601 calendar " "`_ for a " @@ -4075,7 +4108,7 @@ msgstr "" "8601 calendar `_ para una buena explicación." -#: ../Doc/library/datetime.rst:2573 +#: ../Doc/library/datetime.rst:2587 #, python-format msgid "" "Passing ``datetime.strptime('Feb 29', '%b %d')`` will fail since ``1900`` is " @@ -4083,3 +4116,11 @@ msgid "" msgstr "" "Si se pasa ``datetime.strptime (’29 de febrero’, ‘%b %d’)`` fallará ya que " "``1900`` no es un año bisiesto." + +#~ msgid "Return a 3-tuple, (ISO year, ISO week number, ISO weekday)." +#~ msgstr "" +#~ "Retorna una 3-tupla, (año ISO, número de semana ISO, día de la semana " +#~ "ISO)." + +#~ msgid "(empty), UTC, EST, CST" +#~ msgstr "(vacío), UTC, EST, CST" diff --git a/library/decimal.po b/library/decimal.po index d256cb1575..ff46801f66 100644 --- a/library/decimal.po +++ b/library/decimal.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: python-doc-es\n" @@ -839,12 +839,12 @@ msgstr "" msgid "Return the square root of the argument to full precision." msgstr "" -#: ../Doc/library/decimal.rst:861 ../Doc/library/decimal.rst:1437 +#: ../Doc/library/decimal.rst:861 ../Doc/library/decimal.rst:1440 msgid "" "Convert to a string, using engineering notation if an exponent is needed." msgstr "" -#: ../Doc/library/decimal.rst:863 ../Doc/library/decimal.rst:1439 +#: ../Doc/library/decimal.rst:863 ../Doc/library/decimal.rst:1442 msgid "" "Engineering notation has an exponent which is a multiple of 3. This can " "leave up to 3 digits to the left of the decimal place and may require the " @@ -1339,34 +1339,40 @@ msgstr "" #: ../Doc/library/decimal.rst:1360 msgid "" +"``Decimal(0) ** Decimal(0)`` results in ``InvalidOperation``, and if " +"``InvalidOperation`` is not trapped, then results in ``Decimal('NaN')``." +msgstr "" + +#: ../Doc/library/decimal.rst:1363 +msgid "" "The C module computes :meth:`power` in terms of the correctly-rounded :meth:" "`exp` and :meth:`ln` functions. The result is well-defined but only \"almost " "always correctly-rounded\"." msgstr "" -#: ../Doc/library/decimal.rst:1365 +#: ../Doc/library/decimal.rst:1368 msgid "" "With three arguments, compute ``(x**y) % modulo``. For the three argument " "form, the following restrictions on the arguments hold:" msgstr "" -#: ../Doc/library/decimal.rst:1368 +#: ../Doc/library/decimal.rst:1371 msgid "all three arguments must be integral" msgstr "" -#: ../Doc/library/decimal.rst:1369 +#: ../Doc/library/decimal.rst:1372 msgid "``y`` must be nonnegative" msgstr "" -#: ../Doc/library/decimal.rst:1370 +#: ../Doc/library/decimal.rst:1373 msgid "at least one of ``x`` or ``y`` must be nonzero" msgstr "" -#: ../Doc/library/decimal.rst:1371 +#: ../Doc/library/decimal.rst:1374 msgid "``modulo`` must be nonzero and have at most 'precision' digits" msgstr "" -#: ../Doc/library/decimal.rst:1373 +#: ../Doc/library/decimal.rst:1376 msgid "" "The value resulting from ``Context.power(x, y, modulo)`` is equal to the " "value that would be obtained by computing ``(x**y) % modulo`` with unbounded " @@ -1375,110 +1381,110 @@ msgid "" "result is always exact." msgstr "" -#: ../Doc/library/decimal.rst:1383 +#: ../Doc/library/decimal.rst:1386 msgid "Returns a value equal to *x* (rounded), having the exponent of *y*." msgstr "" -#: ../Doc/library/decimal.rst:1388 +#: ../Doc/library/decimal.rst:1391 msgid "Just returns 10, as this is Decimal, :)" msgstr "" -#: ../Doc/library/decimal.rst:1393 +#: ../Doc/library/decimal.rst:1396 msgid "Returns the remainder from integer division." msgstr "" -#: ../Doc/library/decimal.rst:1395 +#: ../Doc/library/decimal.rst:1398 msgid "" "The sign of the result, if non-zero, is the same as that of the original " "dividend." msgstr "" -#: ../Doc/library/decimal.rst:1401 +#: ../Doc/library/decimal.rst:1404 msgid "" "Returns ``x - y * n``, where *n* is the integer nearest the exact value of " "``x / y`` (if the result is 0 then its sign will be the sign of *x*)." msgstr "" -#: ../Doc/library/decimal.rst:1407 +#: ../Doc/library/decimal.rst:1410 msgid "Returns a rotated copy of *x*, *y* times." msgstr "" -#: ../Doc/library/decimal.rst:1412 +#: ../Doc/library/decimal.rst:1415 msgid "Returns ``True`` if the two operands have the same exponent." msgstr "" -#: ../Doc/library/decimal.rst:1417 +#: ../Doc/library/decimal.rst:1420 msgid "Returns the first operand after adding the second value its exp." msgstr "" -#: ../Doc/library/decimal.rst:1422 +#: ../Doc/library/decimal.rst:1425 msgid "Returns a shifted copy of *x*, *y* times." msgstr "" -#: ../Doc/library/decimal.rst:1427 +#: ../Doc/library/decimal.rst:1430 msgid "Square root of a non-negative number to context precision." msgstr "" -#: ../Doc/library/decimal.rst:1432 +#: ../Doc/library/decimal.rst:1435 msgid "Return the difference between *x* and *y*." msgstr "" -#: ../Doc/library/decimal.rst:1446 +#: ../Doc/library/decimal.rst:1449 msgid "Rounds to an integer." msgstr "" -#: ../Doc/library/decimal.rst:1451 +#: ../Doc/library/decimal.rst:1454 msgid "Converts a number to a string using scientific notation." msgstr "" -#: ../Doc/library/decimal.rst:1458 +#: ../Doc/library/decimal.rst:1461 msgid "Constants" msgstr "" -#: ../Doc/library/decimal.rst:1460 +#: ../Doc/library/decimal.rst:1463 msgid "" "The constants in this section are only relevant for the C module. They are " "also included in the pure Python version for compatibility." msgstr "" -#: ../Doc/library/decimal.rst:1464 +#: ../Doc/library/decimal.rst:1467 msgid "32-bit" msgstr "" -#: ../Doc/library/decimal.rst:1464 +#: ../Doc/library/decimal.rst:1467 msgid "64-bit" msgstr "" -#: ../Doc/library/decimal.rst:1466 ../Doc/library/decimal.rst:1468 +#: ../Doc/library/decimal.rst:1469 ../Doc/library/decimal.rst:1471 msgid ":const:`425000000`" msgstr "" -#: ../Doc/library/decimal.rst:1466 ../Doc/library/decimal.rst:1468 +#: ../Doc/library/decimal.rst:1469 ../Doc/library/decimal.rst:1471 msgid ":const:`999999999999999999`" msgstr "" -#: ../Doc/library/decimal.rst:1470 +#: ../Doc/library/decimal.rst:1473 msgid ":const:`-425000000`" msgstr "" -#: ../Doc/library/decimal.rst:1470 +#: ../Doc/library/decimal.rst:1473 msgid ":const:`-999999999999999999`" msgstr "" -#: ../Doc/library/decimal.rst:1472 +#: ../Doc/library/decimal.rst:1475 msgid ":const:`-849999999`" msgstr "" -#: ../Doc/library/decimal.rst:1472 +#: ../Doc/library/decimal.rst:1475 msgid ":const:`-1999999999999999997`" msgstr "" -#: ../Doc/library/decimal.rst:1478 +#: ../Doc/library/decimal.rst:1481 msgid "" "The value is ``True``. Deprecated, because Python now always has threads." msgstr "" -#: ../Doc/library/decimal.rst:1484 +#: ../Doc/library/decimal.rst:1487 msgid "" "The default value is ``True``. If Python is compiled ``--without-decimal-" "contextvar``, the C version uses a thread-local rather than a coroutine-" @@ -1486,59 +1492,59 @@ msgid "" "nested context scenarios." msgstr "" -#: ../Doc/library/decimal.rst:1488 -msgid "backported to 3.7 and 3.8" +#: ../Doc/library/decimal.rst:1491 +msgid "backported to 3.7 and 3.8." msgstr "" -#: ../Doc/library/decimal.rst:1492 +#: ../Doc/library/decimal.rst:1495 msgid "Rounding modes" msgstr "" -#: ../Doc/library/decimal.rst:1496 +#: ../Doc/library/decimal.rst:1499 msgid "Round towards :const:`Infinity`." msgstr "" -#: ../Doc/library/decimal.rst:1500 +#: ../Doc/library/decimal.rst:1503 msgid "Round towards zero." msgstr "" -#: ../Doc/library/decimal.rst:1504 +#: ../Doc/library/decimal.rst:1507 msgid "Round towards :const:`-Infinity`." msgstr "" -#: ../Doc/library/decimal.rst:1508 +#: ../Doc/library/decimal.rst:1511 msgid "Round to nearest with ties going towards zero." msgstr "" -#: ../Doc/library/decimal.rst:1512 +#: ../Doc/library/decimal.rst:1515 msgid "Round to nearest with ties going to nearest even integer." msgstr "" -#: ../Doc/library/decimal.rst:1516 +#: ../Doc/library/decimal.rst:1519 msgid "Round to nearest with ties going away from zero." msgstr "" -#: ../Doc/library/decimal.rst:1520 +#: ../Doc/library/decimal.rst:1523 msgid "Round away from zero." msgstr "" -#: ../Doc/library/decimal.rst:1524 +#: ../Doc/library/decimal.rst:1527 msgid "" "Round away from zero if last digit after rounding towards zero would have " "been 0 or 5; otherwise round towards zero." msgstr "" -#: ../Doc/library/decimal.rst:1531 +#: ../Doc/library/decimal.rst:1534 msgid "Signals" msgstr "" -#: ../Doc/library/decimal.rst:1533 +#: ../Doc/library/decimal.rst:1536 msgid "" "Signals represent conditions that arise during computation. Each corresponds " "to one context flag and one context trap enabler." msgstr "" -#: ../Doc/library/decimal.rst:1536 +#: ../Doc/library/decimal.rst:1539 msgid "" "The context flag is set whenever the condition is encountered. After the " "computation, flags may be checked for informational purposes (for instance, " @@ -1546,7 +1552,7 @@ msgid "" "sure to clear all flags before starting the next computation." msgstr "" -#: ../Doc/library/decimal.rst:1541 +#: ../Doc/library/decimal.rst:1544 msgid "" "If the context's trap enabler is set for the signal, then the condition " "causes a Python exception to be raised. For example, if the :class:" @@ -1554,26 +1560,26 @@ msgid "" "raised upon encountering the condition." msgstr "" -#: ../Doc/library/decimal.rst:1549 +#: ../Doc/library/decimal.rst:1552 msgid "Altered an exponent to fit representation constraints." msgstr "" -#: ../Doc/library/decimal.rst:1551 +#: ../Doc/library/decimal.rst:1554 msgid "" "Typically, clamping occurs when an exponent falls outside the context's :" "attr:`Emin` and :attr:`Emax` limits. If possible, the exponent is reduced " "to fit by adding zeros to the coefficient." msgstr "" -#: ../Doc/library/decimal.rst:1558 +#: ../Doc/library/decimal.rst:1561 msgid "Base class for other signals and a subclass of :exc:`ArithmeticError`." msgstr "" -#: ../Doc/library/decimal.rst:1563 +#: ../Doc/library/decimal.rst:1566 msgid "Signals the division of a non-infinite number by zero." msgstr "" -#: ../Doc/library/decimal.rst:1565 +#: ../Doc/library/decimal.rst:1568 msgid "" "Can occur with division, modulo division, or when raising a number to a " "negative power. If this signal is not trapped, returns :const:`Infinity` " @@ -1581,32 +1587,32 @@ msgid "" "calculation." msgstr "" -#: ../Doc/library/decimal.rst:1572 +#: ../Doc/library/decimal.rst:1575 msgid "Indicates that rounding occurred and the result is not exact." msgstr "" -#: ../Doc/library/decimal.rst:1574 +#: ../Doc/library/decimal.rst:1577 msgid "" "Signals when non-zero digits were discarded during rounding. The rounded " "result is returned. The signal flag or trap is used to detect when results " "are inexact." msgstr "" -#: ../Doc/library/decimal.rst:1581 +#: ../Doc/library/decimal.rst:1584 msgid "An invalid operation was performed." msgstr "" -#: ../Doc/library/decimal.rst:1583 +#: ../Doc/library/decimal.rst:1586 msgid "" "Indicates that an operation was requested that does not make sense. If not " "trapped, returns :const:`NaN`. Possible causes include::" msgstr "" -#: ../Doc/library/decimal.rst:1599 +#: ../Doc/library/decimal.rst:1602 msgid "Numerical overflow." msgstr "" -#: ../Doc/library/decimal.rst:1601 +#: ../Doc/library/decimal.rst:1604 msgid "" "Indicates the exponent is larger than :attr:`Emax` after rounding has " "occurred. If not trapped, the result depends on the rounding mode, either " @@ -1615,11 +1621,11 @@ msgid "" "`Rounded` are also signaled." msgstr "" -#: ../Doc/library/decimal.rst:1610 +#: ../Doc/library/decimal.rst:1613 msgid "Rounding occurred though possibly no information was lost." msgstr "" -#: ../Doc/library/decimal.rst:1612 +#: ../Doc/library/decimal.rst:1615 msgid "" "Signaled whenever rounding discards digits; even if those digits are zero " "(such as rounding :const:`5.00` to :const:`5.0`). If not trapped, returns " @@ -1627,31 +1633,31 @@ msgid "" "digits." msgstr "" -#: ../Doc/library/decimal.rst:1620 +#: ../Doc/library/decimal.rst:1623 msgid "Exponent was lower than :attr:`Emin` prior to rounding." msgstr "" -#: ../Doc/library/decimal.rst:1622 +#: ../Doc/library/decimal.rst:1625 msgid "" "Occurs when an operation result is subnormal (the exponent is too small). If " "not trapped, returns the result unchanged." msgstr "" -#: ../Doc/library/decimal.rst:1628 +#: ../Doc/library/decimal.rst:1631 msgid "Numerical underflow with result rounded to zero." msgstr "" -#: ../Doc/library/decimal.rst:1630 +#: ../Doc/library/decimal.rst:1633 msgid "" "Occurs when a subnormal result is pushed to zero by rounding. :class:" "`Inexact` and :class:`Subnormal` are also signaled." msgstr "" -#: ../Doc/library/decimal.rst:1636 +#: ../Doc/library/decimal.rst:1639 msgid "Enable stricter semantics for mixing floats and Decimals." msgstr "" -#: ../Doc/library/decimal.rst:1638 +#: ../Doc/library/decimal.rst:1641 msgid "" "If the signal is not trapped (default), mixing floats and Decimals is " "permitted in the :class:`~decimal.Decimal` constructor, :meth:`~decimal." @@ -1662,26 +1668,26 @@ msgid "" "Context.create_decimal_from_float` do not set the flag." msgstr "" -#: ../Doc/library/decimal.rst:1646 +#: ../Doc/library/decimal.rst:1649 msgid "" "Otherwise (the signal is trapped), only equality comparisons and explicit " "conversions are silent. All other mixed operations raise :exc:" "`FloatOperation`." msgstr "" -#: ../Doc/library/decimal.rst:1650 +#: ../Doc/library/decimal.rst:1653 msgid "The following table summarizes the hierarchy of signals::" msgstr "" -#: ../Doc/library/decimal.rst:1671 +#: ../Doc/library/decimal.rst:1674 msgid "Floating Point Notes" msgstr "" -#: ../Doc/library/decimal.rst:1675 +#: ../Doc/library/decimal.rst:1678 msgid "Mitigating round-off error with increased precision" msgstr "" -#: ../Doc/library/decimal.rst:1677 +#: ../Doc/library/decimal.rst:1680 msgid "" "The use of decimal floating point eliminates decimal representation error " "(making it possible to represent :const:`0.1` exactly); however, some " @@ -1689,7 +1695,7 @@ msgid "" "fixed precision." msgstr "" -#: ../Doc/library/decimal.rst:1681 +#: ../Doc/library/decimal.rst:1684 msgid "" "The effects of round-off error can be amplified by the addition or " "subtraction of nearly offsetting quantities resulting in loss of " @@ -1698,24 +1704,24 @@ msgid "" "of the associative and distributive properties of addition:" msgstr "" -#: ../Doc/library/decimal.rst:1705 +#: ../Doc/library/decimal.rst:1708 msgid "" "The :mod:`decimal` module makes it possible to restore the identities by " "expanding the precision sufficiently to avoid loss of significance:" msgstr "" -#: ../Doc/library/decimal.rst:1725 +#: ../Doc/library/decimal.rst:1728 msgid "Special values" msgstr "" -#: ../Doc/library/decimal.rst:1727 +#: ../Doc/library/decimal.rst:1730 msgid "" "The number system for the :mod:`decimal` module provides special values " "including :const:`NaN`, :const:`sNaN`, :const:`-Infinity`, :const:" "`Infinity`, and two zeros, :const:`+0` and :const:`-0`." msgstr "" -#: ../Doc/library/decimal.rst:1731 +#: ../Doc/library/decimal.rst:1734 msgid "" "Infinities can be constructed directly with: ``Decimal('Infinity')``. Also, " "they can arise from dividing by zero when the :exc:`DivisionByZero` signal " @@ -1724,14 +1730,14 @@ msgid "" "representable number." msgstr "" -#: ../Doc/library/decimal.rst:1736 +#: ../Doc/library/decimal.rst:1739 msgid "" "The infinities are signed (affine) and can be used in arithmetic operations " "where they get treated as very large, indeterminate numbers. For instance, " "adding a constant to infinity gives another infinite result." msgstr "" -#: ../Doc/library/decimal.rst:1740 +#: ../Doc/library/decimal.rst:1743 msgid "" "Some operations are indeterminate and return :const:`NaN`, or if the :exc:" "`InvalidOperation` signal is trapped, raise an exception. For example, " @@ -1742,14 +1748,14 @@ msgid "" "the calculation to proceed while flagging specific results as invalid." msgstr "" -#: ../Doc/library/decimal.rst:1748 +#: ../Doc/library/decimal.rst:1751 msgid "" "A variant is :const:`sNaN` which signals rather than remaining quiet after " "every operation. This is a useful return value when an invalid result needs " "to interrupt a calculation for special handling." msgstr "" -#: ../Doc/library/decimal.rst:1752 +#: ../Doc/library/decimal.rst:1755 msgid "" "The behavior of Python's comparison operators can be a little surprising " "where a :const:`NaN` is involved. A test for equality where one of the " @@ -1766,7 +1772,7 @@ msgid "" "methods instead." msgstr "" -#: ../Doc/library/decimal.rst:1765 +#: ../Doc/library/decimal.rst:1768 msgid "" "The signed zeros can result from calculations that underflow. They keep the " "sign that would have resulted if the calculation had been carried out to " @@ -1774,7 +1780,7 @@ msgid "" "negative zeros are treated as equal and their sign is informational." msgstr "" -#: ../Doc/library/decimal.rst:1770 +#: ../Doc/library/decimal.rst:1773 msgid "" "In addition to the two signed zeros which are distinct yet equal, there are " "various representations of zero with differing precisions yet equivalent in " @@ -1783,11 +1789,11 @@ msgid "" "that the following calculation returns a value equal to zero:" msgstr "" -#: ../Doc/library/decimal.rst:1785 +#: ../Doc/library/decimal.rst:1788 msgid "Working with threads" msgstr "" -#: ../Doc/library/decimal.rst:1787 +#: ../Doc/library/decimal.rst:1790 msgid "" "The :func:`getcontext` function accesses a different :class:`Context` object " "for each thread. Having separate thread contexts means that threads may " @@ -1795,20 +1801,20 @@ msgid "" "other threads." msgstr "" -#: ../Doc/library/decimal.rst:1791 +#: ../Doc/library/decimal.rst:1794 msgid "" "Likewise, the :func:`setcontext` function automatically assigns its target " "to the current thread." msgstr "" -#: ../Doc/library/decimal.rst:1794 +#: ../Doc/library/decimal.rst:1797 msgid "" "If :func:`setcontext` has not been called before :func:`getcontext`, then :" "func:`getcontext` will automatically create a new context for use in the " "current thread." msgstr "" -#: ../Doc/library/decimal.rst:1798 +#: ../Doc/library/decimal.rst:1801 msgid "" "The new context is copied from a prototype context called *DefaultContext*. " "To control the defaults so that each thread will use the same values " @@ -1817,50 +1823,50 @@ msgid "" "a race condition between threads calling :func:`getcontext`. For example::" msgstr "" -#: ../Doc/library/decimal.rst:1823 +#: ../Doc/library/decimal.rst:1826 msgid "Recipes" msgstr "" -#: ../Doc/library/decimal.rst:1825 +#: ../Doc/library/decimal.rst:1828 msgid "" "Here are a few recipes that serve as utility functions and that demonstrate " "ways to work with the :class:`Decimal` class::" msgstr "" -#: ../Doc/library/decimal.rst:1980 +#: ../Doc/library/decimal.rst:1983 msgid "Decimal FAQ" msgstr "" -#: ../Doc/library/decimal.rst:1982 +#: ../Doc/library/decimal.rst:1985 msgid "" "Q. It is cumbersome to type ``decimal.Decimal('1234.5')``. Is there a way " "to minimize typing when using the interactive interpreter?" msgstr "" -#: ../Doc/library/decimal.rst:1985 +#: ../Doc/library/decimal.rst:1988 msgid "A. Some users abbreviate the constructor to just a single letter:" msgstr "" -#: ../Doc/library/decimal.rst:1991 +#: ../Doc/library/decimal.rst:1994 msgid "" "Q. In a fixed-point application with two decimal places, some inputs have " "many places and need to be rounded. Others are not supposed to have excess " "digits and need to be validated. What methods should be used?" msgstr "" -#: ../Doc/library/decimal.rst:1995 +#: ../Doc/library/decimal.rst:1998 msgid "" "A. The :meth:`quantize` method rounds to a fixed number of decimal places. " "If the :const:`Inexact` trap is set, it is also useful for validation:" msgstr "" -#: ../Doc/library/decimal.rst:2013 +#: ../Doc/library/decimal.rst:2016 msgid "" "Q. Once I have valid two place inputs, how do I maintain that invariant " "throughout an application?" msgstr "" -#: ../Doc/library/decimal.rst:2016 +#: ../Doc/library/decimal.rst:2019 msgid "" "A. Some operations like addition, subtraction, and multiplication by an " "integer will automatically preserve fixed point. Others operations, like " @@ -1868,13 +1874,13 @@ msgid "" "places and need to be followed-up with a :meth:`quantize` step:" msgstr "" -#: ../Doc/library/decimal.rst:2034 +#: ../Doc/library/decimal.rst:2037 msgid "" "In developing fixed-point applications, it is convenient to define functions " "to handle the :meth:`quantize` step:" msgstr "" -#: ../Doc/library/decimal.rst:2047 +#: ../Doc/library/decimal.rst:2050 msgid "" "Q. There are many ways to express the same value. The numbers :const:" "`200`, :const:`200.000`, :const:`2E2`, and :const:`.02E+4` all have the same " @@ -1882,19 +1888,19 @@ msgid "" "recognizable canonical value?" msgstr "" -#: ../Doc/library/decimal.rst:2052 +#: ../Doc/library/decimal.rst:2055 msgid "" "A. The :meth:`normalize` method maps all equivalent values to a single " "representative:" msgstr "" -#: ../Doc/library/decimal.rst:2059 +#: ../Doc/library/decimal.rst:2062 msgid "" "Q. Some decimal values always print with exponential notation. Is there a " "way to get a non-exponential representation?" msgstr "" -#: ../Doc/library/decimal.rst:2062 +#: ../Doc/library/decimal.rst:2065 msgid "" "A. For some values, exponential notation is the only way to express the " "number of significant places in the coefficient. For example, expressing :" @@ -1902,31 +1908,31 @@ msgid "" "original's two-place significance." msgstr "" -#: ../Doc/library/decimal.rst:2067 +#: ../Doc/library/decimal.rst:2070 msgid "" "If an application does not care about tracking significance, it is easy to " "remove the exponent and trailing zeroes, losing significance, but keeping " "the value unchanged:" msgstr "" -#: ../Doc/library/decimal.rst:2077 +#: ../Doc/library/decimal.rst:2080 msgid "Q. Is there a way to convert a regular float to a :class:`Decimal`?" msgstr "" -#: ../Doc/library/decimal.rst:2079 +#: ../Doc/library/decimal.rst:2082 msgid "" "A. Yes, any binary floating point number can be exactly expressed as a " "Decimal though an exact conversion may take more precision than intuition " "would suggest:" msgstr "" -#: ../Doc/library/decimal.rst:2088 +#: ../Doc/library/decimal.rst:2091 msgid "" "Q. Within a complex calculation, how can I make sure that I haven't gotten a " "spurious result because of insufficient precision or rounding anomalies." msgstr "" -#: ../Doc/library/decimal.rst:2091 +#: ../Doc/library/decimal.rst:2094 msgid "" "A. The decimal module makes it easy to test results. A best practice is to " "re-run calculations using greater precision and with various rounding modes. " @@ -1934,14 +1940,14 @@ msgid "" "issues, ill-conditioned inputs, or a numerically unstable algorithm." msgstr "" -#: ../Doc/library/decimal.rst:2096 +#: ../Doc/library/decimal.rst:2099 msgid "" "Q. I noticed that context precision is applied to the results of operations " "but not to the inputs. Is there anything to watch out for when mixing " "values of different precisions?" msgstr "" -#: ../Doc/library/decimal.rst:2100 +#: ../Doc/library/decimal.rst:2103 msgid "" "A. Yes. The principle is that all values are considered to be exact and so " "is the arithmetic on those values. Only the results are rounded. The " @@ -1950,23 +1956,23 @@ msgid "" "haven't been rounded:" msgstr "" -#: ../Doc/library/decimal.rst:2113 +#: ../Doc/library/decimal.rst:2116 msgid "" "The solution is either to increase precision or to force rounding of inputs " "using the unary plus operation:" msgstr "" -#: ../Doc/library/decimal.rst:2122 +#: ../Doc/library/decimal.rst:2125 msgid "" "Alternatively, inputs can be rounded upon creation using the :meth:`Context." "create_decimal` method:" msgstr "" -#: ../Doc/library/decimal.rst:2128 +#: ../Doc/library/decimal.rst:2131 msgid "Q. Is the CPython implementation fast for large numbers?" msgstr "" -#: ../Doc/library/decimal.rst:2130 +#: ../Doc/library/decimal.rst:2133 msgid "" "A. Yes. In the CPython and PyPy3 implementations, the C/CFFI versions of " "the decimal module integrate the high speed `libmpdec , 2021. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python en Español 3.9\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.8.0\n" + +#: ../Doc/library/devmode.rst:4 +msgid "Python Development Mode" +msgstr "" + +#: ../Doc/library/devmode.rst:8 +msgid "" +"The Python Development Mode introduces additional runtime checks that are " +"too expensive to be enabled by default. It should not be more verbose than " +"the default if the code is correct; new warnings are only emitted when an " +"issue is detected." +msgstr "" + +#: ../Doc/library/devmode.rst:13 +msgid "" +"It can be enabled using the :option:`-X dev <-X>` command line option or by " +"setting the :envvar:`PYTHONDEVMODE` environment variable to ``1``." +msgstr "" + +#: ../Doc/library/devmode.rst:17 +msgid "Effects of the Python Development Mode" +msgstr "" + +#: ../Doc/library/devmode.rst:19 +msgid "" +"Enabling the Python Development Mode is similar to the following command, " +"but with additional effects described below::" +msgstr "" + +#: ../Doc/library/devmode.rst:24 +msgid "Effects of the Python Development Mode:" +msgstr "" + +#: ../Doc/library/devmode.rst:26 +msgid "" +"Add ``default`` :ref:`warning filter `. The " +"following warnings are shown:" +msgstr "" + +#: ../Doc/library/devmode.rst:29 +msgid ":exc:`DeprecationWarning`" +msgstr "" + +#: ../Doc/library/devmode.rst:30 +msgid ":exc:`ImportWarning`" +msgstr "" + +#: ../Doc/library/devmode.rst:31 +msgid ":exc:`PendingDeprecationWarning`" +msgstr "" + +#: ../Doc/library/devmode.rst:32 +msgid ":exc:`ResourceWarning`" +msgstr "" + +#: ../Doc/library/devmode.rst:34 +msgid "" +"Normally, the above warnings are filtered by the default :ref:`warning " +"filters `." +msgstr "" + +#: ../Doc/library/devmode.rst:37 +msgid "" +"It behaves as if the :option:`-W default <-W>` command line option is used." +msgstr "" + +#: ../Doc/library/devmode.rst:39 +msgid "" +"Use the :option:`-W error <-W>` command line option or set the :envvar:" +"`PYTHONWARNINGS` environment variable to ``error`` to treat warnings as " +"errors." +msgstr "" + +#: ../Doc/library/devmode.rst:43 +msgid "Install debug hooks on memory allocators to check for:" +msgstr "" + +#: ../Doc/library/devmode.rst:45 +msgid "Buffer underflow" +msgstr "" + +#: ../Doc/library/devmode.rst:46 +msgid "Buffer overflow" +msgstr "" + +#: ../Doc/library/devmode.rst:47 +msgid "Memory allocator API violation" +msgstr "" + +#: ../Doc/library/devmode.rst:48 +msgid "Unsafe usage of the GIL" +msgstr "" + +#: ../Doc/library/devmode.rst:50 +msgid "See the :c:func:`PyMem_SetupDebugHooks` C function." +msgstr "" + +#: ../Doc/library/devmode.rst:52 +msgid "" +"It behaves as if the :envvar:`PYTHONMALLOC` environment variable is set to " +"``debug``." +msgstr "" + +#: ../Doc/library/devmode.rst:55 +msgid "" +"To enable the Python Development Mode without installing debug hooks on " +"memory allocators, set the :envvar:`PYTHONMALLOC` environment variable to " +"``default``." +msgstr "" + +#: ../Doc/library/devmode.rst:59 +msgid "" +"Call :func:`faulthandler.enable` at Python startup to install handlers for " +"the :const:`SIGSEGV`, :const:`SIGFPE`, :const:`SIGABRT`, :const:`SIGBUS` " +"and :const:`SIGILL` signals to dump the Python traceback on a crash." +msgstr "" + +#: ../Doc/library/devmode.rst:63 +msgid "" +"It behaves as if the :option:`-X faulthandler <-X>` command line option is " +"used or if the :envvar:`PYTHONFAULTHANDLER` environment variable is set to " +"``1``." +msgstr "" + +#: ../Doc/library/devmode.rst:67 +msgid "" +"Enable :ref:`asyncio debug mode `. For example, :mod:" +"`asyncio` checks for coroutines that were not awaited and logs them." +msgstr "" + +#: ../Doc/library/devmode.rst:70 +msgid "" +"It behaves as if the :envvar:`PYTHONASYNCIODEBUG` environment variable is " +"set to ``1``." +msgstr "" + +#: ../Doc/library/devmode.rst:73 +msgid "" +"Check the *encoding* and *errors* arguments for string encoding and decoding " +"operations. Examples: :func:`open`, :meth:`str.encode` and :meth:`bytes." +"decode`." +msgstr "" + +#: ../Doc/library/devmode.rst:77 +msgid "" +"By default, for best performance, the *errors* argument is only checked at " +"the first encoding/decoding error and the *encoding* argument is sometimes " +"ignored for empty strings." +msgstr "" + +#: ../Doc/library/devmode.rst:81 +msgid "The :class:`io.IOBase` destructor logs ``close()`` exceptions." +msgstr "" + +#: ../Doc/library/devmode.rst:82 +msgid "" +"Set the :attr:`~sys.flags.dev_mode` attribute of :attr:`sys.flags` to " +"``True``." +msgstr "" + +#: ../Doc/library/devmode.rst:85 +msgid "" +"The Python Development Mode does not enable the :mod:`tracemalloc` module by " +"default, because the overhead cost (to performance and memory) would be too " +"large. Enabling the :mod:`tracemalloc` module provides additional " +"information on the origin of some errors. For example, :exc:" +"`ResourceWarning` logs the traceback where the resource was allocated, and a " +"buffer overflow error logs the traceback where the memory block was " +"allocated." +msgstr "" + +#: ../Doc/library/devmode.rst:92 +msgid "" +"The Python Development Mode does not prevent the :option:`-O` command line " +"option from removing :keyword:`assert` statements nor from setting :const:" +"`__debug__` to ``False``." +msgstr "" + +#: ../Doc/library/devmode.rst:96 +msgid "The :class:`io.IOBase` destructor now logs ``close()`` exceptions." +msgstr "" + +#: ../Doc/library/devmode.rst:99 +msgid "" +"The *encoding* and *errors* arguments are now checked for string encoding " +"and decoding operations." +msgstr "" + +#: ../Doc/library/devmode.rst:105 +msgid "ResourceWarning Example" +msgstr "" + +#: ../Doc/library/devmode.rst:107 +msgid "" +"Example of a script counting the number of lines of the text file specified " +"in the command line::" +msgstr "" + +#: ../Doc/library/devmode.rst:121 +msgid "" +"The script does not close the file explicitly. By default, Python does not " +"emit any warning. Example using README.txt, which has 269 lines:" +msgstr "" + +#: ../Doc/library/devmode.rst:129 +msgid "" +"Enabling the Python Development Mode displays a :exc:`ResourceWarning` " +"warning:" +msgstr "" + +#: ../Doc/library/devmode.rst:139 +msgid "" +"In addition, enabling :mod:`tracemalloc` shows the line where the file was " +"opened:" +msgstr "" + +#: ../Doc/library/devmode.rst:154 +msgid "" +"The fix is to close explicitly the file. Example using a context manager::" +msgstr "" + +#: ../Doc/library/devmode.rst:162 +msgid "" +"Not closing a resource explicitly can leave a resource open for way longer " +"than expected; it can cause severe issues upon exiting Python. It is bad in " +"CPython, but it is even worse in PyPy. Closing resources explicitly makes an " +"application more deterministic and more reliable." +msgstr "" + +#: ../Doc/library/devmode.rst:169 +msgid "Bad file descriptor error example" +msgstr "" + +#: ../Doc/library/devmode.rst:171 +msgid "Script displaying the first line of itself::" +msgstr "" + +#: ../Doc/library/devmode.rst:184 +msgid "By default, Python does not emit any warning:" +msgstr "" + +#: ../Doc/library/devmode.rst:191 +msgid "" +"The Python Development Mode shows a :exc:`ResourceWarning` and logs a \"Bad " +"file descriptor\" error when finalizing the file object:" +msgstr "" + +#: ../Doc/library/devmode.rst:207 +msgid "" +"``os.close(fp.fileno())`` closes the file descriptor. When the file object " +"finalizer tries to close the file descriptor again, it fails with the ``Bad " +"file descriptor`` error. A file descriptor must be closed only once. In the " +"worst case scenario, closing it twice can lead to a crash (see :issue:" +"`18748` for an example)." +msgstr "" + +#: ../Doc/library/devmode.rst:213 +msgid "" +"The fix is to remove the ``os.close(fp.fileno())`` line, or open the file " +"with ``closefd=False``." +msgstr "" diff --git a/library/dialog.po b/library/dialog.po new file mode 100644 index 0000000000..c3d4622f52 --- /dev/null +++ b/library/dialog.po @@ -0,0 +1,287 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2021, Python Software Foundation +# This file is distributed under the same license as the Python en Español +# package. +# FIRST AUTHOR , 2021. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python en Español 3.9\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.8.0\n" + +#: ../Doc/library/dialog.rst:2 +msgid "Tkinter Dialogs" +msgstr "" + +#: ../Doc/library/dialog.rst:5 +msgid ":mod:`tkinter.simpledialog` --- Standard Tkinter input dialogs" +msgstr "" + +#: ../Doc/library/dialog.rst:11 +msgid "**Source code:** :source:`Lib/tkinter/simpledialog.py`" +msgstr "" + +#: ../Doc/library/dialog.rst:15 +msgid "" +"The :mod:`tkinter.simpledialog` module contains convenience classes and " +"functions for creating simple modal dialogs to get a value from the user." +msgstr "" + +#: ../Doc/library/dialog.rst:23 +msgid "" +"The above three functions provide dialogs that prompt the user to enter a " +"value of the desired type." +msgstr "" + +#: ../Doc/library/dialog.rst:28 +msgid "The base class for custom dialogs." +msgstr "" + +#: ../Doc/library/dialog.rst:32 +msgid "" +"Override to construct the dialog's interface and return the widget that " +"should have initial focus." +msgstr "" + +#: ../Doc/library/dialog.rst:37 +msgid "" +"Default behaviour adds OK and Cancel buttons. Override for custom button " +"layouts." +msgstr "" + +#: ../Doc/library/dialog.rst:43 +msgid ":mod:`tkinter.filedialog` --- File selection dialogs" +msgstr "" + +#: ../Doc/library/dialog.rst:49 +msgid "**Source code:** :source:`Lib/tkinter/filedialog.py`" +msgstr "" + +#: ../Doc/library/dialog.rst:53 +msgid "" +"The :mod:`tkinter.filedialog` module provides classes and factory functions " +"for creating file/directory selection windows." +msgstr "" + +#: ../Doc/library/dialog.rst:57 +msgid "Native Load/Save Dialogs" +msgstr "" + +#: ../Doc/library/dialog.rst:59 +msgid "" +"The following classes and functions provide file dialog windows that combine " +"a native look-and-feel with configuration options to customize behaviour. " +"The following keyword arguments are applicable to the classes and functions " +"listed below:" +msgstr "" + +#: ../Doc/library/dialog.rst +msgid "*parent* - the window to place the dialog on top of" +msgstr "" + +#: ../Doc/library/dialog.rst +msgid "*title* - the title of the window" +msgstr "" + +#: ../Doc/library/dialog.rst +msgid "*initialdir* - the directory that the dialog starts in" +msgstr "" + +#: ../Doc/library/dialog.rst +msgid "*initialfile* - the file selected upon opening of the dialog" +msgstr "" + +#: ../Doc/library/dialog.rst +msgid "" +"*filetypes* - a sequence of (label, pattern) tuples, '*' wildcard is allowed" +msgstr "" + +#: ../Doc/library/dialog.rst +msgid "*defaultextension* - default extension to append to file (save dialogs)" +msgstr "" + +#: ../Doc/library/dialog.rst +msgid "*multiple* - when true, selection of multiple items is allowed" +msgstr "" + +#: ../Doc/library/dialog.rst:79 +msgid "**Static factory functions**" +msgstr "" + +#: ../Doc/library/dialog.rst:81 +msgid "" +"The below functions when called create a modal, native look-and-feel dialog, " +"wait for the user's selection, then return the selected value(s) or ``None`` " +"to the caller." +msgstr "" + +#: ../Doc/library/dialog.rst:88 +msgid "" +"The above two functions create an :class:`Open` dialog and return the opened " +"file object(s) in read-only mode." +msgstr "" + +#: ../Doc/library/dialog.rst:93 +msgid "" +"Create a :class:`SaveAs` dialog and return a file object opened in write-" +"only mode." +msgstr "" + +#: ../Doc/library/dialog.rst:98 +msgid "" +"The above two functions create an :class:`Open` dialog and return the " +"selected filename(s) that correspond to existing file(s)." +msgstr "" + +#: ../Doc/library/dialog.rst:103 +msgid "Create a :class:`SaveAs` dialog and return the selected filename." +msgstr "" + +#: ../Doc/library/dialog.rst:107 +msgid "Prompt user to select a directory." +msgstr "" + +#: ../Doc/library/dialog.rst:108 +msgid "Additional keyword option:" +msgstr "" + +#: ../Doc/library/dialog.rst:109 +msgid "*mustexist* - determines if selection must be an existing directory." +msgstr "" + +#: ../Doc/library/dialog.rst:114 +msgid "" +"The above two classes provide native dialog windows for saving and loading " +"files." +msgstr "" + +#: ../Doc/library/dialog.rst:117 +msgid "**Convenience classes**" +msgstr "" + +#: ../Doc/library/dialog.rst:119 +msgid "" +"The below classes are used for creating file/directory windows from scratch. " +"These do not emulate the native look-and-feel of the platform." +msgstr "" + +#: ../Doc/library/dialog.rst:124 +msgid "Create a dialog prompting the user to select a directory." +msgstr "" + +#: ../Doc/library/dialog.rst:126 +msgid "" +"The *FileDialog* class should be subclassed for custom event handling and " +"behaviour." +msgstr "" + +#: ../Doc/library/dialog.rst:131 +msgid "Create a basic file selection dialog." +msgstr "" + +#: ../Doc/library/dialog.rst:135 +msgid "Trigger the termination of the dialog window." +msgstr "" + +#: ../Doc/library/dialog.rst:139 +msgid "Event handler for double-click event on directory." +msgstr "" + +#: ../Doc/library/dialog.rst:143 +msgid "Event handler for click event on directory." +msgstr "" + +#: ../Doc/library/dialog.rst:147 +msgid "Event handler for double-click event on file." +msgstr "" + +#: ../Doc/library/dialog.rst:151 +msgid "Event handler for single-click event on file." +msgstr "" + +#: ../Doc/library/dialog.rst:155 +msgid "Filter the files by directory." +msgstr "" + +#: ../Doc/library/dialog.rst:159 +msgid "Retrieve the file filter currently in use." +msgstr "" + +#: ../Doc/library/dialog.rst:163 +msgid "Retrieve the currently selected item." +msgstr "" + +#: ../Doc/library/dialog.rst:167 +msgid "Render dialog and start event loop." +msgstr "" + +#: ../Doc/library/dialog.rst:171 +msgid "Exit dialog returning current selection." +msgstr "" + +#: ../Doc/library/dialog.rst:175 +msgid "Exit dialog returning filename, if any." +msgstr "" + +#: ../Doc/library/dialog.rst:179 +msgid "Set the file filter." +msgstr "" + +#: ../Doc/library/dialog.rst:183 +msgid "Update the current file selection to *file*." +msgstr "" + +#: ../Doc/library/dialog.rst:188 +msgid "" +"A subclass of FileDialog that creates a dialog window for selecting an " +"existing file." +msgstr "" + +#: ../Doc/library/dialog.rst:193 +msgid "" +"Test that a file is provided and that the selection indicates an already " +"existing file." +msgstr "" + +#: ../Doc/library/dialog.rst:198 +msgid "" +"A subclass of FileDialog that creates a dialog window for selecting a " +"destination file." +msgstr "" + +#: ../Doc/library/dialog.rst:203 +msgid "" +"Test whether or not the selection points to a valid file that is not a " +"directory. Confirmation is required if an already existing file is selected." +msgstr "" + +#: ../Doc/library/dialog.rst:208 +msgid ":mod:`tkinter.commondialog` --- Dialog window templates" +msgstr "" + +#: ../Doc/library/dialog.rst:214 +msgid "**Source code:** :source:`Lib/tkinter/commondialog.py`" +msgstr "" + +#: ../Doc/library/dialog.rst:218 +msgid "" +"The :mod:`tkinter.commondialog` module provides the :class:`Dialog` class " +"that is the base class for dialogs defined in other supporting modules." +msgstr "" + +#: ../Doc/library/dialog.rst:225 +msgid "Render the Dialog window." +msgstr "" + +#: ../Doc/library/dialog.rst:230 +msgid "Modules :mod:`tkinter.messagebox`, :ref:`tut-files`" +msgstr "" diff --git a/library/difflib.po b/library/difflib.po index dea3c8db2a..f8fd2508e9 100644 --- a/library/difflib.po +++ b/library/difflib.po @@ -10,18 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-08-10 20:48+0000\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.3.1\n" -"X-Poedit-KeywordsList: Ratcliff\n" #: ../Doc/library/difflib.rst:2 msgid ":mod:`difflib` --- Helpers for computing deltas" @@ -32,10 +30,11 @@ msgid "**Source code:** :source:`Lib/difflib.py`" msgstr "**Código fuente:** :source:`Lib/difflib.py`" #: ../Doc/library/difflib.rst:20 +#, fuzzy msgid "" "This module provides classes and functions for comparing sequences. It can " -"be used for example, for comparing files, and can produce difference " -"information in various formats, including HTML and context and unified " +"be used for example, for comparing files, and can produce information about " +"file differences in various formats, including HTML and context and unified " "diffs. For comparing directories and files, see also, the :mod:`filecmp` " "module." msgstr "" @@ -45,7 +44,7 @@ msgstr "" "y unificadas. Para comparar directorios y archivos, consulte también el " "módulo :mod:`filecmp`." -#: ../Doc/library/difflib.rst:28 +#: ../Doc/library/difflib.rst:29 msgid "" "This is a flexible class for comparing pairs of sequences of any type, so " "long as the sequence elements are :term:`hashable`. The basic algorithm " @@ -74,7 +73,7 @@ msgstr "" "secuencias de edición mínimas, pero tiende a producir coincidencias que " "\"parecen correctas\" a las personas." -#: ../Doc/library/difflib.rst:40 +#: ../Doc/library/difflib.rst:41 msgid "" "**Timing:** The basic Ratcliff-Obershelp algorithm is cubic time in the " "worst case and quadratic time in the expected case. :class:`SequenceMatcher` " @@ -89,7 +88,7 @@ msgstr "" "esperado depende de manera complicada de cuántos elementos tienen en común " "las secuencias; en el mejor de los casos la complejidad temporal es lineal." -#: ../Doc/library/difflib.rst:46 +#: ../Doc/library/difflib.rst:47 #, python-format msgid "" "**Automatic junk heuristic:** :class:`SequenceMatcher` supports a heuristic " @@ -111,11 +110,11 @@ msgstr "" "heurístico puede desactivarse estableciendo el argumento ``autojunk`` como " "``False`` al crear la clase :class:`SequenceMatcher`." -#: ../Doc/library/difflib.rst:54 ../Doc/library/difflib.rst:387 +#: ../Doc/library/difflib.rst:55 ../Doc/library/difflib.rst:388 msgid "The *autojunk* parameter." msgstr "El parámetro *autojunk*." -#: ../Doc/library/difflib.rst:60 +#: ../Doc/library/difflib.rst:61 msgid "" "This is a class for comparing sequences of lines of text, and producing " "human-readable differences or deltas. Differ uses :class:`SequenceMatcher` " @@ -127,53 +126,53 @@ msgstr "" "`SequenceMatcher` tanto para comparar secuencias de lineas, como para " "comparar secuencias de caracteres entre lineas similares." -#: ../Doc/library/difflib.rst:65 +#: ../Doc/library/difflib.rst:66 msgid "Each line of a :class:`Differ` delta begins with a two-letter code:" msgstr "" "Cada linea de un delta de :class:`Differ` comienza con un código de dos " "letras:" -#: ../Doc/library/difflib.rst:68 +#: ../Doc/library/difflib.rst:69 msgid "Code" msgstr "Código" -#: ../Doc/library/difflib.rst:68 ../Doc/library/difflib.rst:494 +#: ../Doc/library/difflib.rst:69 ../Doc/library/difflib.rst:498 msgid "Meaning" msgstr "Significado" -#: ../Doc/library/difflib.rst:70 +#: ../Doc/library/difflib.rst:71 msgid "``'- '``" msgstr "``'- '``" -#: ../Doc/library/difflib.rst:70 +#: ../Doc/library/difflib.rst:71 msgid "line unique to sequence 1" msgstr "línea única para la secuencia 1" -#: ../Doc/library/difflib.rst:72 +#: ../Doc/library/difflib.rst:73 msgid "``'+ '``" msgstr "``'+ '``" -#: ../Doc/library/difflib.rst:72 +#: ../Doc/library/difflib.rst:73 msgid "line unique to sequence 2" msgstr "línea única para la secuencia 2" -#: ../Doc/library/difflib.rst:74 +#: ../Doc/library/difflib.rst:75 msgid "``' '``" msgstr "``' '``" -#: ../Doc/library/difflib.rst:74 +#: ../Doc/library/difflib.rst:75 msgid "line common to both sequences" msgstr "línea común a ambas secuencias" -#: ../Doc/library/difflib.rst:76 +#: ../Doc/library/difflib.rst:77 msgid "``'? '``" msgstr "``'? '``" -#: ../Doc/library/difflib.rst:76 +#: ../Doc/library/difflib.rst:77 msgid "line not present in either input sequence" msgstr "línea ausente en todas las secuencias de entrada" -#: ../Doc/library/difflib.rst:79 +#: ../Doc/library/difflib.rst:80 msgid "" "Lines beginning with '``?``' attempt to guide the eye to intraline " "differences, and were not present in either input sequence. These lines can " @@ -184,7 +183,7 @@ msgstr "" "secuencias de entrada. Estas líneas pueden ser confusas si la secuencia " "contiene caracteres de tabulación." -#: ../Doc/library/difflib.rst:86 +#: ../Doc/library/difflib.rst:87 msgid "" "This class can be used to create an HTML table (or a complete HTML file " "containing the table) showing a side by side, line by line comparison of " @@ -196,15 +195,15 @@ msgstr "" "por linea del texto, con cambios interlineales e intralineales. La tabla se " "puede generar en modo de diferencia completa o contextual." -#: ../Doc/library/difflib.rst:91 +#: ../Doc/library/difflib.rst:92 msgid "The constructor for this class is:" msgstr "El constructor de esta clase es:" -#: ../Doc/library/difflib.rst:96 +#: ../Doc/library/difflib.rst:97 msgid "Initializes instance of :class:`HtmlDiff`." msgstr "Inicializa una instancia de :class:`HtmlDiff`." -#: ../Doc/library/difflib.rst:98 +#: ../Doc/library/difflib.rst:99 msgid "" "*tabsize* is an optional keyword argument to specify tab stop spacing and " "defaults to ``8``." @@ -212,7 +211,7 @@ msgstr "" "*tabsize* es un argumento por palabra clave opcional para especificar el " "espaciado de tabulación. Su valor predeterminado es ``8``." -#: ../Doc/library/difflib.rst:101 +#: ../Doc/library/difflib.rst:102 msgid "" "*wrapcolumn* is an optional keyword to specify column number where lines are " "broken and wrapped, defaults to ``None`` where lines are not wrapped." @@ -221,7 +220,7 @@ msgstr "" "número de columnas donde las lineas serán divididas y ajustadas al ancho de " "columna, su valor por defecto es ``None``, donde las lineas no son ajustadas." -#: ../Doc/library/difflib.rst:104 +#: ../Doc/library/difflib.rst:105 msgid "" "*linejunk* and *charjunk* are optional keyword arguments passed into :func:" "`ndiff` (used by :class:`HtmlDiff` to generate the side by side HTML " @@ -234,11 +233,11 @@ msgstr "" "de :func:`ndiff` para conocer los detalles y valores por defecto de sus " "argumentos." -#: ../Doc/library/difflib.rst:108 +#: ../Doc/library/difflib.rst:109 msgid "The following methods are public:" msgstr "Los siguientes métodos son públicos:" -#: ../Doc/library/difflib.rst:113 +#: ../Doc/library/difflib.rst:114 msgid "" "Compares *fromlines* and *tolines* (lists of strings) and returns a string " "which is a complete HTML file containing a table showing line by line " @@ -249,7 +248,7 @@ msgstr "" "una tabla mostrando diferencias línea por línea del texto con cambios " "interlineales e intralineales resaltados." -#: ../Doc/library/difflib.rst:117 +#: ../Doc/library/difflib.rst:118 msgid "" "*fromdesc* and *todesc* are optional keyword arguments to specify from/to " "file column header strings (both default to an empty string)." @@ -258,7 +257,7 @@ msgstr "" "especificar los encabezados de las columnas desde *fromdesc* hasta *todesc* " "en el archivo (ambas cadenas están vacías por defecto)." -#: ../Doc/library/difflib.rst:120 +#: ../Doc/library/difflib.rst:121 msgid "" "*context* and *numlines* are both optional keyword arguments. Set *context* " "to ``True`` when contextual differences are to be shown, else the default is " @@ -281,7 +280,7 @@ msgstr "" "\" ubiquen el siguiente resaltado en la parte superior del navegador, sin " "ningún contexto principal)." -#: ../Doc/library/difflib.rst:131 +#: ../Doc/library/difflib.rst:132 msgid "" "*fromdesc* and *todesc* are interpreted as unescaped HTML and should be " "properly escaped while receiving input from untrusted sources." @@ -289,7 +288,7 @@ msgstr "" "*fromdesc* y *todesc* se interpretan como HTML no escapado y se deben " "escapar correctamente si los datos son recibidos de fuentes no confiables." -#: ../Doc/library/difflib.rst:134 +#: ../Doc/library/difflib.rst:135 msgid "" "*charset* keyword-only argument was added. The default charset of HTML " "document changed from ``'ISO-8859-1'`` to ``'utf-8'``." @@ -298,7 +297,7 @@ msgstr "" "caracteres por defecto para documentos HTML se cambió de ``'ISO-8859-1'`` a " "``'utf-8'``." -#: ../Doc/library/difflib.rst:140 +#: ../Doc/library/difflib.rst:141 msgid "" "Compares *fromlines* and *tolines* (lists of strings) and returns a string " "which is a complete HTML table showing line by line differences with inter-" @@ -309,7 +308,7 @@ msgstr "" "lado a lado y línea por línea del texto con cambios interlineales e " "intralineales." -#: ../Doc/library/difflib.rst:144 +#: ../Doc/library/difflib.rst:145 msgid "" "The arguments for this method are the same as those for the :meth:" "`make_file` method." @@ -317,7 +316,7 @@ msgstr "" "Los argumentos para este método son los mismos que los del método :meth:" "`make_file`." -#: ../Doc/library/difflib.rst:147 +#: ../Doc/library/difflib.rst:148 msgid "" ":file:`Tools/scripts/diff.py` is a command-line front-end to this class and " "contains a good example of its use." @@ -325,7 +324,7 @@ msgstr "" ":file:`Tools/scripts/diff.py` es una herramienta de línea de comandos para " "esta clase y contiene un buen ejemplo sobre su uso." -#: ../Doc/library/difflib.rst:153 +#: ../Doc/library/difflib.rst:154 msgid "" "Compare *a* and *b* (lists of strings); return a delta (a :term:`generator` " "generating the delta lines) in context diff format." @@ -334,7 +333,7 @@ msgstr "" "`generator` que genera las lineas delta) en formato de diferencias de " "contexto." -#: ../Doc/library/difflib.rst:156 +#: ../Doc/library/difflib.rst:157 msgid "" "Context diffs are a compact way of showing just the lines that have changed " "plus a few lines of context. The changes are shown in a before/after " @@ -346,7 +345,7 @@ msgstr "" "número de líneas de contexto es determinado por *n*, cuyo valor por defecto " "es ``3``." -#: ../Doc/library/difflib.rst:160 +#: ../Doc/library/difflib.rst:161 msgid "" "By default, the diff control lines (those with ``***`` or ``---``) are " "created with a trailing newline. This is helpful so that inputs created " @@ -360,7 +359,7 @@ msgstr "" "puedan ser utilizadas con :func:`io.IOBase.writelines` ya que ambas, la " "entrada y la salida, tienen líneas nuevas al final." -#: ../Doc/library/difflib.rst:166 ../Doc/library/difflib.rst:297 +#: ../Doc/library/difflib.rst:167 ../Doc/library/difflib.rst:298 msgid "" "For inputs that do not have trailing newlines, set the *lineterm* argument " "to ``\"\"`` so that the output will be uniformly newline free." @@ -369,7 +368,7 @@ msgstr "" "*lineterm* como ``\"\"`` de forma que la salida sea uniforme y libre de " "nuevas líneas." -#: ../Doc/library/difflib.rst:169 ../Doc/library/difflib.rst:300 +#: ../Doc/library/difflib.rst:170 ../Doc/library/difflib.rst:301 msgid "" "The context diff format normally has a header for filenames and modification " "times. Any or all of these may be specified using strings for *fromfile*, " @@ -384,11 +383,11 @@ msgstr "" "expresados en formato ISO 8601. Si no es especificado las cadenas por " "defecto son espacios en blanco." -#: ../Doc/library/difflib.rst:192 ../Doc/library/difflib.rst:321 +#: ../Doc/library/difflib.rst:193 ../Doc/library/difflib.rst:322 msgid "See :ref:`difflib-interface` for a more detailed example." msgstr "Vea :ref:`difflib-interface` para un ejemplo mas detallado." -#: ../Doc/library/difflib.rst:197 +#: ../Doc/library/difflib.rst:198 msgid "" "Return a list of the best \"good enough\" matches. *word* is a sequence for " "which close matches are desired (typically a string), and *possibilities* is " @@ -401,7 +400,7 @@ msgstr "" "secuencias contra la cual se compara *word* (comunmente una lista de cadenas " "de caracteres)." -#: ../Doc/library/difflib.rst:201 +#: ../Doc/library/difflib.rst:202 msgid "" "Optional argument *n* (default ``3``) is the maximum number of close matches " "to return; *n* must be greater than ``0``." @@ -409,7 +408,7 @@ msgstr "" "Argumento opcional *n* (por defecto ``3``) es el máximo número de " "coincidencias cercanas a retornar; *n* debe ser mayor que ``0``." -#: ../Doc/library/difflib.rst:204 +#: ../Doc/library/difflib.rst:205 msgid "" "Optional argument *cutoff* (default ``0.6``) is a float in the range [0, 1]. " "Possibilities that don't score at least that similar to *word* are ignored." @@ -418,7 +417,7 @@ msgstr "" "[0, 1]. Las posibilidades que no alcanzan un puntaje al menos similar al de " "*word* son ignoradas." -#: ../Doc/library/difflib.rst:207 +#: ../Doc/library/difflib.rst:208 msgid "" "The best (no more than *n*) matches among the possibilities are returned in " "a list, sorted by similarity score, most similar first." @@ -427,7 +426,7 @@ msgstr "" "retornadas en una lista, ordenadas por similitud de puntaje, las mas " "similares primero." -#: ../Doc/library/difflib.rst:223 +#: ../Doc/library/difflib.rst:224 msgid "" "Compare *a* and *b* (lists of strings); return a :class:`Differ`\\ -style " "delta (a :term:`generator` generating the delta lines)." @@ -435,7 +434,7 @@ msgstr "" "Compara *a* y *b* (listas de cadenas de texto); retorna un delta del estilo :" "class:`Differ` (un :term:`generator` que genera los deltas de las líneas)." -#: ../Doc/library/difflib.rst:226 +#: ../Doc/library/difflib.rst:227 msgid "" "Optional keyword parameters *linejunk* and *charjunk* are filtering " "functions (or ``None``):" @@ -443,7 +442,7 @@ msgstr "" "Parámetros de palabra clave opcional *linejunk* y *charjunk* son funciones " "de filtrado (o ``None``):" -#: ../Doc/library/difflib.rst:229 +#: ../Doc/library/difflib.rst:230 msgid "" "*linejunk*: A function that accepts a single string argument, and returns " "true if the string is junk, or false if not. The default is ``None``. There " @@ -463,7 +462,7 @@ msgstr "" "constituir ruido, y esto usualmente funciona mejor que utilizando esta " "función." -#: ../Doc/library/difflib.rst:237 +#: ../Doc/library/difflib.rst:238 msgid "" "*charjunk*: A function that accepts a character (a string of length 1), and " "returns if the character is junk, or false if not. The default is module-" @@ -477,18 +476,18 @@ msgstr "" "espacios en blanco (un espacio en blanco o tabulación; es una mala idea " "incluir saltos de lineas en esto!)" -#: ../Doc/library/difflib.rst:242 +#: ../Doc/library/difflib.rst:243 msgid "" ":file:`Tools/scripts/ndiff.py` is a command-line front-end to this function." msgstr "" ":file:`Tools/scripts/ndiff.py` es una interfaz de línea de comandos para " "esta función." -#: ../Doc/library/difflib.rst:260 +#: ../Doc/library/difflib.rst:261 msgid "Return one of the two sequences that generated a delta." msgstr "Retorna uno de las dos secuencias que generaron un delta." -#: ../Doc/library/difflib.rst:262 +#: ../Doc/library/difflib.rst:263 msgid "" "Given a *sequence* produced by :meth:`Differ.compare` or :func:`ndiff`, " "extract lines originating from file 1 or 2 (parameter *which*), stripping " @@ -498,11 +497,11 @@ msgstr "" "extrae las líneas originadas por el archivo 1 o 2 (parámetro *which*), " "quitando los prefijos de la línea." -#: ../Doc/library/difflib.rst:266 +#: ../Doc/library/difflib.rst:267 msgid "Example:" msgstr "Ejemplo:" -#: ../Doc/library/difflib.rst:283 +#: ../Doc/library/difflib.rst:284 msgid "" "Compare *a* and *b* (lists of strings); return a delta (a :term:`generator` " "generating the delta lines) in unified diff format." @@ -511,7 +510,7 @@ msgstr "" "term:`generator` que genera los delta de líneas) en formato de diferencias " "unificado." -#: ../Doc/library/difflib.rst:286 +#: ../Doc/library/difflib.rst:287 msgid "" "Unified diffs are a compact way of showing just the lines that have changed " "plus a few lines of context. The changes are shown in an inline style " @@ -524,7 +523,7 @@ msgstr "" "después). El número de líneas de contexto se establece mediante *n*, cuyo " "valor por defecto es tres." -#: ../Doc/library/difflib.rst:291 +#: ../Doc/library/difflib.rst:292 msgid "" "By default, the diff control lines (those with ``---``, ``+++``, or ``@@``) " "are created with a trailing newline. This is helpful so that inputs created " @@ -538,7 +537,7 @@ msgstr "" "diferencias que puedan ser utilizadas con :func:`io.IOBase.writelines` ya " "que ambas, la entrada y la salida, tienen líneas nuevas al final." -#: ../Doc/library/difflib.rst:325 +#: ../Doc/library/difflib.rst:326 msgid "" "Compare *a* and *b* (lists of bytes objects) using *dfunc*; yield a sequence " "of delta lines (also bytes) in the format returned by *dfunc*. *dfunc* must " @@ -549,7 +548,7 @@ msgstr "" "*dfunc*. *dfunc* debe ser invocable, comúnmente cualquiera de :func:" "`unified_diff` o :func:`context_diff`." -#: ../Doc/library/difflib.rst:330 +#: ../Doc/library/difflib.rst:331 msgid "" "Allows you to compare data with unknown or inconsistent encoding. All inputs " "except *n* must be bytes objects, not str. Works by losslessly converting " @@ -566,7 +565,7 @@ msgstr "" "nuevamente a bytes, de forma que las líneas delta que son recibidas tienen " "la misma codificación desconocida/inconsistente que *a* y *b*." -#: ../Doc/library/difflib.rst:341 +#: ../Doc/library/difflib.rst:342 msgid "" "Return ``True`` for ignorable lines. The line *line* is ignorable if *line* " "is blank or contains a single ``'#'``, otherwise it is not ignorable. Used " @@ -577,7 +576,7 @@ msgstr "" "cualquier otro caso no es ignorado. Es usado como valor por defecto para el " "parámetro *linejunk* por :func:`ndiff` en versiones anteriores." -#: ../Doc/library/difflib.rst:348 +#: ../Doc/library/difflib.rst:349 msgid "" "Return ``True`` for ignorable characters. The character *ch* is ignorable " "if *ch* is a space or tab, otherwise it is not ignorable. Used as a default " @@ -588,7 +587,7 @@ msgstr "" "otro caso no es ignorado. Es utilizado como valor por defecto para el " "parámetro *charjunk* en :func:`ndiff`." -#: ../Doc/library/difflib.rst:356 +#: ../Doc/library/difflib.rst:357 msgid "" "`Pattern Matching: The Gestalt Approach `_" @@ -596,7 +595,7 @@ msgstr "" "`Pattern Matching: The Gestalt Approach `_" -#: ../Doc/library/difflib.rst:356 +#: ../Doc/library/difflib.rst:357 msgid "" "Discussion of a similar algorithm by John W. Ratcliff and D. E. Metzener. " "This was published in `Dr. Dobb's Journal `_ in " @@ -606,15 +605,15 @@ msgstr "" "Esto fue publicado en `Dr. Dobb's Journal `_ en " "Julio de 1988." -#: ../Doc/library/difflib.rst:363 +#: ../Doc/library/difflib.rst:364 msgid "SequenceMatcher Objects" msgstr "Objetos *SequenceMatcher*" -#: ../Doc/library/difflib.rst:365 +#: ../Doc/library/difflib.rst:366 msgid "The :class:`SequenceMatcher` class has this constructor:" msgstr "La clase :class:`SequenceMatcher` tiene este constructor:" -#: ../Doc/library/difflib.rst:370 +#: ../Doc/library/difflib.rst:371 msgid "" "Optional argument *isjunk* must be ``None`` (the default) or a one-argument " "function that takes a sequence element and returns true if and only if the " @@ -629,7 +628,7 @@ msgstr "" "pasar ``lambda x: False``; en otras palabras, ningún elemento es ignorado. " "Por ejemplo, pasar:" -#: ../Doc/library/difflib.rst:378 +#: ../Doc/library/difflib.rst:379 msgid "" "if you're comparing lines as sequences of characters, and don't want to " "synch up on blanks or hard tabs." @@ -637,7 +636,7 @@ msgstr "" "si se están comparando líneas como secuencias de caracteres, y no se quiere " "sincronizar en espacios blancos o tabulaciones." -#: ../Doc/library/difflib.rst:381 +#: ../Doc/library/difflib.rst:382 msgid "" "The optional arguments *a* and *b* are sequences to be compared; both " "default to empty strings. The elements of both sequences must be :term:" @@ -647,7 +646,7 @@ msgstr "" "tienen como valor por defecto una cadena de texto vacía. Los elementos de " "ambas secuencias deben ser :term:`hashable`." -#: ../Doc/library/difflib.rst:384 +#: ../Doc/library/difflib.rst:385 msgid "" "The optional argument *autojunk* can be used to disable the automatic junk " "heuristic." @@ -655,7 +654,7 @@ msgstr "" "El argumento opcional *autojunk* puede ser usado para deshabilitar la " "heurística automática de elementos no deseados." -#: ../Doc/library/difflib.rst:390 +#: ../Doc/library/difflib.rst:391 msgid "" "SequenceMatcher objects get three data attributes: *bjunk* is the set of " "elements of *b* for which *isjunk* is ``True``; *bpopular* is the set of non-" @@ -672,19 +671,19 @@ msgstr "" "atributos son reseteados cuando *b* es reseteado mediante :meth:`set_seqs` " "o :meth:`set_seq2`." -#: ../Doc/library/difflib.rst:397 +#: ../Doc/library/difflib.rst:398 msgid "The *bjunk* and *bpopular* attributes." msgstr "Los atributos *bjunk* y *bpopular*." -#: ../Doc/library/difflib.rst:400 +#: ../Doc/library/difflib.rst:401 msgid ":class:`SequenceMatcher` objects have the following methods:" msgstr "Los objetos :class:`SequenceMatcher` tienen los siguientes métodos:" -#: ../Doc/library/difflib.rst:404 +#: ../Doc/library/difflib.rst:405 msgid "Set the two sequences to be compared." msgstr "Establece las dos secuencias a ser comparadas." -#: ../Doc/library/difflib.rst:406 +#: ../Doc/library/difflib.rst:407 msgid "" ":class:`SequenceMatcher` computes and caches detailed information about the " "second sequence, so if you want to compare one sequence against many " @@ -697,7 +696,7 @@ msgstr "" "sola vez y llamar :meth:`set_seq1` repetidamente, una vez por cada una de " "las otras secuencias." -#: ../Doc/library/difflib.rst:414 +#: ../Doc/library/difflib.rst:415 msgid "" "Set the first sequence to be compared. The second sequence to be compared " "is not changed." @@ -705,7 +704,7 @@ msgstr "" "Establece la primer secuencia a ser comparada. La segunda secuencia a ser " "comparada no es modificada." -#: ../Doc/library/difflib.rst:420 +#: ../Doc/library/difflib.rst:421 msgid "" "Set the second sequence to be compared. The first sequence to be compared " "is not changed." @@ -713,13 +712,13 @@ msgstr "" "Establece la segunda secuencia a ser comparada. La primera secuencia a ser " "comparada no es modificada." -#: ../Doc/library/difflib.rst:426 +#: ../Doc/library/difflib.rst:427 msgid "Find longest matching block in ``a[alo:ahi]`` and ``b[blo:bhi]``." msgstr "" "Encuentra el bloque de coincidencia mas largo en ``a[alo:ahi]`` y ``b[blo:" "bhi]``." -#: ../Doc/library/difflib.rst:428 +#: ../Doc/library/difflib.rst:429 msgid "" "If *isjunk* was omitted or ``None``, :meth:`find_longest_match` returns " "``(i, j, k)`` such that ``a[i:i+k]`` is equal to ``b[j:j+k]``, where ``alo " @@ -739,7 +738,7 @@ msgstr "" "en *a*, y de todos esos bloques coincidentes máximos que comienzan antes en " "*a*, retorna aquel que comienza antes en *b*." -#: ../Doc/library/difflib.rst:441 +#: ../Doc/library/difflib.rst:442 msgid "" "If *isjunk* was provided, first the longest matching block is determined as " "above, but with the additional restriction that no junk element appears in " @@ -755,7 +754,7 @@ msgstr "" "nunca hará coincidir ningún elemento no deseado, excepto que un elemento no " "deseado idéntico pase a ser adyacente a una coincidencia interesante." -#: ../Doc/library/difflib.rst:448 +#: ../Doc/library/difflib.rst:449 msgid "" "Here's the same example as before, but considering blanks to be junk. That " "prevents ``' abcd'`` from matching the ``' abcd'`` at the tail end of the " @@ -768,15 +767,19 @@ msgstr "" "En cambio, sólo el ``'abcd'`` puede coincidir, y coincide con el ``'abcd'`` " "que se encuentre mas a la izquierda en la segunda secuencia:" -#: ../Doc/library/difflib.rst:457 +#: ../Doc/library/difflib.rst:458 msgid "If no blocks match, this returns ``(alo, blo, 0)``." msgstr "Si no coincide ningún bloque, esto retorna ``(alo, blo, 0)``." -#: ../Doc/library/difflib.rst:459 +#: ../Doc/library/difflib.rst:460 msgid "This method returns a :term:`named tuple` ``Match(a, b, size)``." msgstr "Este método retorna un :term:`named tuple` ``Match(a, b, size)``." -#: ../Doc/library/difflib.rst:464 +#: ../Doc/library/difflib.rst:462 +msgid "Added default arguments." +msgstr "" + +#: ../Doc/library/difflib.rst:468 msgid "" "Return list of triples describing non-overlapping matching subsequences. " "Each triple is of the form ``(i, j, n)``, and means that ``a[i:i+n] == b[j:j" @@ -787,7 +790,7 @@ msgstr "" "``(i, j, n)``, y significa que ``a[i:i+n] == b[j:j+n]``. Las triplas son " "monótonamente crecientes en *i* y *j*." -#: ../Doc/library/difflib.rst:469 +#: ../Doc/library/difflib.rst:473 msgid "" "The last triple is a dummy, and has the value ``(len(a), len(b), 0)``. It " "is the only triple with ``n == 0``. If ``(i, j, n)`` and ``(i', j', n')`` " @@ -801,7 +804,7 @@ msgstr "" "elemento de la lista, entonces ``i+n < i'`` o ``j+n < j'``; en otras " "palabras, las triplas adyacentes describen bloques iguales no adyacentes." -#: ../Doc/library/difflib.rst:486 +#: ../Doc/library/difflib.rst:490 msgid "" "Return list of 5-tuples describing how to turn *a* into *b*. Each tuple is " "of the form ``(tag, i1, i2, j1, j2)``. The first tuple has ``i1 == j1 == " @@ -814,37 +817,37 @@ msgstr "" "restantes tienen *i1* igual al *i2* de la tupla precedente, y de igual " "manera, *j1* igual al *j2* de la tupla anterior." -#: ../Doc/library/difflib.rst:491 +#: ../Doc/library/difflib.rst:495 msgid "The *tag* values are strings, with these meanings:" msgstr "" "Los valores de *tag* son cadenas de caracteres, con el siguiente significado:" -#: ../Doc/library/difflib.rst:494 +#: ../Doc/library/difflib.rst:498 msgid "Value" msgstr "Valor" -#: ../Doc/library/difflib.rst:496 +#: ../Doc/library/difflib.rst:500 msgid "``'replace'``" msgstr "``'replace'``" -#: ../Doc/library/difflib.rst:496 +#: ../Doc/library/difflib.rst:500 msgid "``a[i1:i2]`` should be replaced by ``b[j1:j2]``." msgstr "``a[i1:i2]`` debe ser reemplazado por ``b[j1:j2]``." -#: ../Doc/library/difflib.rst:499 +#: ../Doc/library/difflib.rst:503 msgid "``'delete'``" msgstr "``'delete'``" -#: ../Doc/library/difflib.rst:499 +#: ../Doc/library/difflib.rst:503 msgid "``a[i1:i2]`` should be deleted. Note that ``j1 == j2`` in this case." msgstr "" "``a[i1:i2]`` debe ser eliminado. Nótese que en este caso ``j1 == j2``." -#: ../Doc/library/difflib.rst:502 +#: ../Doc/library/difflib.rst:506 msgid "``'insert'``" msgstr "``'insert'``" -#: ../Doc/library/difflib.rst:502 +#: ../Doc/library/difflib.rst:506 msgid "" "``b[j1:j2]`` should be inserted at ``a[i1:i1]``. Note that ``i1 == i2`` in " "this case." @@ -852,24 +855,24 @@ msgstr "" "``b[j1:j2]`` debe ser insertado en ``a[i1:i1]``. Nótese que en este caso " "``i1 == i2``." -#: ../Doc/library/difflib.rst:506 +#: ../Doc/library/difflib.rst:510 msgid "``'equal'``" msgstr "``'equal'``" -#: ../Doc/library/difflib.rst:506 +#: ../Doc/library/difflib.rst:510 msgid "``a[i1:i2] == b[j1:j2]`` (the sub-sequences are equal)." msgstr "``a[i1:i2] == b[j1:j2]`` (las subsecuencias son iguales)." -#: ../Doc/library/difflib.rst:510 +#: ../Doc/library/difflib.rst:514 msgid "For example::" msgstr "Por ejemplo:" -#: ../Doc/library/difflib.rst:527 +#: ../Doc/library/difflib.rst:531 msgid "Return a :term:`generator` of groups with up to *n* lines of context." msgstr "" "Retorna un :term:`generator` de grupos de hasta *n* líneas de contexto." -#: ../Doc/library/difflib.rst:529 +#: ../Doc/library/difflib.rst:533 msgid "" "Starting with the groups returned by :meth:`get_opcodes`, this method splits " "out smaller change clusters and eliminates intervening ranges which have no " @@ -879,18 +882,18 @@ msgstr "" "separa grupos con cambios menores y elimina los rangos intermedios que no " "tienen cambios." -#: ../Doc/library/difflib.rst:533 +#: ../Doc/library/difflib.rst:537 msgid "The groups are returned in the same format as :meth:`get_opcodes`." msgstr "Los grupos son retornados en el mismo formato que :meth:`get_opcodes`." -#: ../Doc/library/difflib.rst:538 +#: ../Doc/library/difflib.rst:542 msgid "" "Return a measure of the sequences' similarity as a float in the range [0, 1]." msgstr "" "Retorna una medida de la similitud de las secuencias como un flotante en el " "rango [0, 1]." -#: ../Doc/library/difflib.rst:541 +#: ../Doc/library/difflib.rst:545 msgid "" "Where T is the total number of elements in both sequences, and M is the " "number of matches, this is 2.0\\*M / T. Note that this is ``1.0`` if the " @@ -900,7 +903,7 @@ msgstr "" "de coincidencias, esto es 2.0\\*M / T. Nótese que esto es ``1.0`` si las " "secuencias son idénticas y ``0.0`` si no tienen nada en común." -#: ../Doc/library/difflib.rst:545 +#: ../Doc/library/difflib.rst:549 msgid "" "This is expensive to compute if :meth:`get_matching_blocks` or :meth:" "`get_opcodes` hasn't already been called, in which case you may want to try :" @@ -911,7 +914,7 @@ msgstr "" "meth:`quick_ratio` o :meth:`real_quick_ratio` para obtener un límite " "superior." -#: ../Doc/library/difflib.rst:552 +#: ../Doc/library/difflib.rst:556 msgid "" "Caution: The result of a :meth:`ratio` call may depend on the order of the " "arguments. For instance::" @@ -919,15 +922,15 @@ msgstr "" "Precaución: El resultado de una llamada a :meth:`ratio` puede depender del " "orden de los argumentos. Por ejemplo::" -#: ../Doc/library/difflib.rst:563 +#: ../Doc/library/difflib.rst:567 msgid "Return an upper bound on :meth:`ratio` relatively quickly." msgstr "Retorna un límite superior en :meth:`ratio` relativamente rápido." -#: ../Doc/library/difflib.rst:568 +#: ../Doc/library/difflib.rst:572 msgid "Return an upper bound on :meth:`ratio` very quickly." msgstr "Retorna un límite superior en :meth:`ratio` muy rápido." -#: ../Doc/library/difflib.rst:571 +#: ../Doc/library/difflib.rst:575 msgid "" "The three methods that return the ratio of matching to total characters can " "give different results due to differing levels of approximation, although :" @@ -939,17 +942,17 @@ msgstr "" "de aproximación, a pesar de que :meth:`quick_ratio` y :meth:" "`real_quick_ratio` son siempre al menos tan grandes como :meth:`ratio`:" -#: ../Doc/library/difflib.rst:588 +#: ../Doc/library/difflib.rst:592 msgid "SequenceMatcher Examples" msgstr ":class:`SequenceMatcher` Ejemplos" -#: ../Doc/library/difflib.rst:590 +#: ../Doc/library/difflib.rst:594 msgid "This example compares two strings, considering blanks to be \"junk\":" msgstr "" "Este ejemplo compara dos cadenas de texto, considerando los espacios en " "blanco como caracteres no deseados:" -#: ../Doc/library/difflib.rst:596 +#: ../Doc/library/difflib.rst:600 msgid "" ":meth:`ratio` returns a float in [0, 1], measuring the similarity of the " "sequences. As a rule of thumb, a :meth:`ratio` value over 0.6 means the " @@ -960,7 +963,7 @@ msgstr "" "`ratio` por encima de 0.6 significa que las secuencias son coincidencias " "cercanas:" -#: ../Doc/library/difflib.rst:603 +#: ../Doc/library/difflib.rst:607 msgid "" "If you're only interested in where the sequences match, :meth:" "`get_matching_blocks` is handy:" @@ -968,7 +971,7 @@ msgstr "" "Si solamente estás interesado en cuándo las secuencias coinciden, :meth:" "`get_matching_blocks` es útil:" -#: ../Doc/library/difflib.rst:612 +#: ../Doc/library/difflib.rst:616 msgid "" "Note that the last tuple returned by :meth:`get_matching_blocks` is always a " "dummy, ``(len(a), len(b), 0)``, and this is the only case in which the last " @@ -979,7 +982,7 @@ msgstr "" "único caso en el cual el último elemento de la tupla (el número de elementos " "coincidentes) es ``0``." -#: ../Doc/library/difflib.rst:616 +#: ../Doc/library/difflib.rst:620 msgid "" "If you want to know how to change the first sequence into the second, use :" "meth:`get_opcodes`:" @@ -987,7 +990,7 @@ msgstr "" "Si quieres saber como cambiar la primer secuencia con la segunda, usa :meth:" "`get_opcodes`:" -#: ../Doc/library/difflib.rst:627 +#: ../Doc/library/difflib.rst:631 msgid "" "The :func:`get_close_matches` function in this module which shows how simple " "code building on :class:`SequenceMatcher` can be used to do useful work." @@ -996,7 +999,7 @@ msgstr "" "que es el código que construye :class:`SequenceMatcher` puede ser utilizada " "para hacer un trabajo útil." -#: ../Doc/library/difflib.rst:631 +#: ../Doc/library/difflib.rst:635 msgid "" "`Simple version control recipe `_ for a small application built with :class:`SequenceMatcher`." @@ -1005,11 +1008,11 @@ msgstr "" "com/recipes/576729/>`_ para una aplicación pequeña construida con :class:" "`SequenceMatcher`." -#: ../Doc/library/difflib.rst:639 +#: ../Doc/library/difflib.rst:643 msgid "Differ Objects" msgstr "Objetos *Differ*" -#: ../Doc/library/difflib.rst:641 +#: ../Doc/library/difflib.rst:645 msgid "" "Note that :class:`Differ`\\ -generated deltas make no claim to be " "**minimal** diffs. To the contrary, minimal diffs are often counter-" @@ -1025,11 +1028,11 @@ msgstr "" "puntos de sincronización a coincidencias contiguas se preserva cierta noción " "de cercanía, con el costo adicional de producir diferencias mas largas." -#: ../Doc/library/difflib.rst:647 +#: ../Doc/library/difflib.rst:651 msgid "The :class:`Differ` class has this constructor:" msgstr "La clase :class:`Differ` tiene el siguiente constructor:" -#: ../Doc/library/difflib.rst:652 +#: ../Doc/library/difflib.rst:657 msgid "" "Optional keyword parameters *linejunk* and *charjunk* are for filter " "functions (or ``None``):" @@ -1037,7 +1040,7 @@ msgstr "" "Parámetros de palabra clave opcionales *linejunk* y *charjunk* son para " "funciones de filtrado (o ``None``):" -#: ../Doc/library/difflib.rst:655 +#: ../Doc/library/difflib.rst:660 msgid "" "*linejunk*: A function that accepts a single string argument, and returns " "true if the string is junk. The default is ``None``, meaning that no line " @@ -1048,7 +1051,7 @@ msgstr "" "por defecto es ``None``, lo que significa que ninguna línea es considerada " "no deseada." -#: ../Doc/library/difflib.rst:659 +#: ../Doc/library/difflib.rst:664 msgid "" "*charjunk*: A function that accepts a single character argument (a string of " "length 1), and returns true if the character is junk. The default is " @@ -1059,7 +1062,7 @@ msgstr "" "elemento no deseado. Su valor por defecto es ``None``, lo que significa que " "ningún carácter es considerado no deseado." -#: ../Doc/library/difflib.rst:663 +#: ../Doc/library/difflib.rst:668 msgid "" "These junk-filtering functions speed up matching to find differences and do " "not cause any differing lines or characters to be ignored. Read the " @@ -1071,21 +1074,21 @@ msgstr "" "diferentes. Lea la descripción del parámetro *isjunk* en el método :meth:" "`~SequenceMatcher.find_longest_match` para una explicación mas detallada." -#: ../Doc/library/difflib.rst:669 +#: ../Doc/library/difflib.rst:674 msgid "" ":class:`Differ` objects are used (deltas generated) via a single method:" msgstr "" "Los objetos :class:`Differ` son usados (una vez generados los deltas) " "mediante un solo método:" -#: ../Doc/library/difflib.rst:674 +#: ../Doc/library/difflib.rst:679 msgid "" "Compare two sequences of lines, and generate the delta (a sequence of lines)." msgstr "" "Compara dos secuencias de líneas y genera el delta correspondiente (una " "secuencia de líneas)." -#: ../Doc/library/difflib.rst:676 +#: ../Doc/library/difflib.rst:681 msgid "" "Each sequence must contain individual single-line strings ending with " "newlines. Such sequences can be obtained from the :meth:`~io.IOBase." @@ -1100,11 +1103,11 @@ msgstr "" "nuevas lineas, listas para imprimirse tal cual a través del método :meth:" "`~io.IOBase.writelines` de un objeto de tipo archivo." -#: ../Doc/library/difflib.rst:687 +#: ../Doc/library/difflib.rst:692 msgid "Differ Example" msgstr "Ejemplo de *Differ*" -#: ../Doc/library/difflib.rst:689 +#: ../Doc/library/difflib.rst:694 msgid "" "This example compares two texts. First we set up the texts, sequences of " "individual single-line strings ending with newlines (such sequences can also " @@ -1116,11 +1119,11 @@ msgstr "" "nueva (este tipo de secuencias también pueden ser obtenidas mediante el " "método :meth:`~io.BaseIO.readlines` de objetos de tipo archivo):" -#: ../Doc/library/difflib.rst:708 +#: ../Doc/library/difflib.rst:713 msgid "Next we instantiate a Differ object:" msgstr "Luego instanciamos el objeto *Differ*:" -#: ../Doc/library/difflib.rst:712 +#: ../Doc/library/difflib.rst:717 msgid "" "Note that when instantiating a :class:`Differ` object we may pass functions " "to filter out line and character \"junk.\" See the :meth:`Differ` " @@ -1130,27 +1133,27 @@ msgstr "" "funciones para filtrar lineas y caracteres no deseados. Consulte el " "constructor de :meth:`Differ` para mas detalles." -#: ../Doc/library/difflib.rst:716 +#: ../Doc/library/difflib.rst:721 msgid "Finally, we compare the two:" msgstr "Finalmente, comparamos las dos:" -#: ../Doc/library/difflib.rst:720 +#: ../Doc/library/difflib.rst:725 msgid "``result`` is a list of strings, so let's pretty-print it:" msgstr "" "``result`` es una lista de cadenas de caracteres, entonces vamos a mostrarlo " "de una forma elegante:" -#: ../Doc/library/difflib.rst:735 +#: ../Doc/library/difflib.rst:740 msgid "As a single multi-line string it looks like this:" msgstr "" "Representado como una sola cadena de caracteres de múltiples líneas se ve " "así:" -#: ../Doc/library/difflib.rst:754 +#: ../Doc/library/difflib.rst:759 msgid "A command-line interface to difflib" msgstr "Una interfaz de línea de comandos para :mod:`difflib`" -#: ../Doc/library/difflib.rst:756 +#: ../Doc/library/difflib.rst:761 msgid "" "This example shows how to use difflib to create a ``diff``-like utility. It " "is also contained in the Python source distribution, as :file:`Tools/scripts/" diff --git a/library/dis.po b/library/dis.po index c0a22bbfcf..d998028c38 100644 --- a/library/dis.po +++ b/library/dis.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-06-29 02:57+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" "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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/library/dis.rst:2 msgid ":mod:`dis` --- Disassembler for Python bytecode" @@ -501,9 +500,10 @@ msgstr "" "mueve el elemento superior hacia abajo a la posición tres." #: ../Doc/library/dis.rst:349 +#, fuzzy msgid "" -"Lifts second, third and forth stack items one position up, moves top down to " -"position four." +"Lifts second, third and fourth stack items one position up, moves top down " +"to position four." msgstr "" "Levanta el segundo, tercer y cuarto elementos de la pila una posición hacia " "arriba, mueve el elemento superior hacia abajo a la posición cuatro." @@ -786,8 +786,9 @@ msgstr "" "comprensiones de conjuntos." #: ../Doc/library/dis.rst:643 +#, fuzzy msgid "" -"Calls ``list.append(TOS[-i], TOS)``. Used to implement list comprehensions." +"Calls ``list.append(TOS1[-i], TOS)``. Used to implement list comprehensions." msgstr "" "Llama a ``list.append(TOS[-i], TOS)``. Se usa para implementar comprensiones " "de listas." @@ -875,96 +876,25 @@ msgstr "" "el estado de excepción." #: ../Doc/library/dis.rst:711 -msgid "" -"Cleans up the value stack and the block stack. If *preserve_tos* is not " -"``0`` TOS first is popped from the stack and pushed on the stack after " -"performing other stack operations:" -msgstr "" -"Limpia la pila de valores y la pila de bloques. Si *preserve_tos* no es " -"``0``, primero se desapila TOS de la pila y se apila a la pila después de " -"realizar otras operaciones de pila:" - -#: ../Doc/library/dis.rst:715 -msgid "" -"If TOS is ``NULL`` or an integer (pushed by :opcode:`BEGIN_FINALLY` or :" -"opcode:`CALL_FINALLY`) it is popped from the stack." -msgstr "" -"Si TOS es ``NULL`` o un número entero (apilado por :opcode:`BEGIN_FINALLY` " -"o :opcode:`CALL_FINALLY`) se desapila de la pila." - -#: ../Doc/library/dis.rst:717 -msgid "" -"If TOS is an exception type (pushed when an exception has been raised) 6 " -"values are popped from the stack, the last three popped values are used to " -"restore the exception state. An exception handler block is removed from the " -"block stack." -msgstr "" -"Si TOS es un tipo de excepción (se apila cuando se ha lanzado una excepción) " -"se desapilan 6 valores de la pila, los últimos tres valores se usan para " -"restaurar el estado de excepción. Se elimina un bloque de controlador de " -"excepción de la pila de bloques." - -#: ../Doc/library/dis.rst:722 -msgid "" -"It is similar to :opcode:`END_FINALLY`, but doesn't change the bytecode " -"counter nor raise an exception. Used for implementing :keyword:`break`, :" -"keyword:`continue` and :keyword:`return` in the :keyword:`finally` block." -msgstr "" -"Es similar a :opcode:`END_FINALLY`, pero no cambia el contador de bytecode " -"ni lanza una excepción. Se usa para implementar :keyword:`break`, :keyword:" -"`continue` y :keyword:`return` en el bloque :keyword:`finally`." - -#: ../Doc/library/dis.rst:731 -msgid "" -"Pushes ``NULL`` onto the stack for using it in :opcode:`END_FINALLY`, :" -"opcode:`POP_FINALLY`, :opcode:`WITH_CLEANUP_START` and :opcode:" -"`WITH_CLEANUP_FINISH`. Starts the :keyword:`finally` block." -msgstr "" -"Apila ``NULL`` en la pila para usarlo en :opcode:`END_FINALLY`, :opcode:" -"`POP_FINALLY`, :opcode:`WITH_CLEANUP_START` y :opcode:`WITH_CLEANUP_FINISH`. " -"Inicia el bloque :keyword:`finally`." - -#: ../Doc/library/dis.rst:740 -msgid "" -"Terminates a :keyword:`finally` clause. The interpreter recalls whether the " -"exception has to be re-raised or execution has to be continued depending on " -"the value of TOS." -msgstr "" -"Termina una cláusula :keyword:`finally`. El intérprete recuerda si la " -"excepción se debe volver a ser lanzada o si se debe continuar la ejecución " -"según el valor de TOS." - -#: ../Doc/library/dis.rst:744 -msgid "" -"If TOS is ``NULL`` (pushed by :opcode:`BEGIN_FINALLY`) continue from the " -"next instruction. TOS is popped." -msgstr "" -"Si TOS es ``NULL`` (apilado por :opcode:`BEGIN_FINALLY`) continúa con la " -"siguiente instrucción. TOS se desapila." +#, fuzzy +msgid "Re-raises the exception currently on top of the stack." +msgstr "Duplica la referencia en la parte superior de la pila." -#: ../Doc/library/dis.rst:746 +#: ../Doc/library/dis.rst:718 msgid "" -"If TOS is an integer (pushed by :opcode:`CALL_FINALLY`), sets the bytecode " -"counter to TOS. TOS is popped." +"Calls the function in position 7 on the stack with the top three items on " +"the stack as arguments. Used to implement the call ``context_manager." +"__exit__(*exc_info())`` when an exception has occurred in a :keyword:`with` " +"statement." msgstr "" -"Si TOS es un entero (apilado por :opcode:`CALL_FINALLY`), establece el " -"contador de bytecode en TOS. TOS se desapila." -#: ../Doc/library/dis.rst:748 +#: ../Doc/library/dis.rst:728 msgid "" -"If TOS is an exception type (pushed when an exception has been raised) 6 " -"values are popped from the stack, the first three popped values are used to " -"re-raise the exception and the last three popped values are used to restore " -"the exception state. An exception handler block is removed from the block " -"stack." +"Pushes :exc:`AssertionError` onto the stack. Used by the :keyword:`assert` " +"statement." msgstr "" -"Si TOS es un tipo de excepción (se apila cuando se ha lanzado una excepción) " -"se desapilan 6 valores de la pila, los primeros tres valores desapilados se " -"utilizan para volver a lanzar la excepción y los últimos tres valores " -"desapilados se utilizan para restaurar el estado de excepción. Se elimina un " -"bloque de controlador de excepción de la pila de bloques." -#: ../Doc/library/dis.rst:757 +#: ../Doc/library/dis.rst:736 msgid "" "Pushes :func:`builtins.__build_class__` onto the stack. It is later called " "by :opcode:`CALL_FUNCTION` to construct a class." @@ -972,7 +902,7 @@ msgstr "" "Apila :func:`builtins.__build_class__` en la pila. Más tarde se llama por :" "opcode:`CALL_FUNCTION` para construir una clase." -#: ../Doc/library/dis.rst:763 +#: ../Doc/library/dis.rst:742 msgid "" "This opcode performs several operations before a with block starts. First, " "it loads :meth:`~object.__exit__` from the context manager and pushes it " @@ -993,71 +923,11 @@ msgstr "" "variable (s) (:opcode:`STORE_FAST`, :opcode:`STORE_NAME`, o :opcode:" "`UNPACK_SEQUENCE`) ." -#: ../Doc/library/dis.rst:777 -msgid "" -"Starts cleaning up the stack when a :keyword:`with` statement block exits." -msgstr "" -"Comienza a limpiar la pila cuando sale un bloque de instrucciones :keyword:" -"`with`." - -#: ../Doc/library/dis.rst:779 -msgid "" -"At the top of the stack are either ``NULL`` (pushed by :opcode:" -"`BEGIN_FINALLY`) or 6 values pushed if an exception has been raised in the " -"with block. Below is the context manager's :meth:`~object.__exit__` or :" -"meth:`~object.__aexit__` bound method." -msgstr "" -"En la parte superior de la pila están ``NULL`` (apilado por :opcode:" -"`BEGIN_FINALLY`) o 6 valores apilados si se ha lanzado una excepción en el " -"bloque with. A continuación se muestra el gestor de contexto :meth:`~object." -"__exit__` o un método ligado :meth:`~object.__aexit__`." - -#: ../Doc/library/dis.rst:784 -msgid "" -"If TOS is ``NULL``, calls ``SECOND(None, None, None)``, removes the function " -"from the stack, leaving TOS, and pushes ``None`` to the stack. Otherwise " -"calls ``SEVENTH(TOP, SECOND, THIRD)``, shifts the bottom 3 values of the " -"stack down, replaces the empty spot with ``NULL`` and pushes TOS. Finally " -"pushes the result of the call." -msgstr "" -"Si TOS es ``NULL``, llama a ``SECOND(None, None, None)``, elimina la función " -"de la pila, deja TOS y apila ``None`` a la pila. De lo contrario, llama " -"``SEVENTH(TOP, SECOND, THIRD)``, desplaza los 3 valores inferiores de la " -"pila hacia abajo, reemplaza el espacio vacío con ``NULL`` y apila TOS. " -"Finalmente apila el resultado de la llamada." - -#: ../Doc/library/dis.rst:793 -msgid "" -"Finishes cleaning up the stack when a :keyword:`with` statement block exits." -msgstr "" -"Termina de limpiar la pila cuando sale un bloque de instrucciones :keyword:" -"`with`." - -#: ../Doc/library/dis.rst:795 -msgid "" -"TOS is result of ``__exit__()`` or ``__aexit__()`` function call pushed by :" -"opcode:`WITH_CLEANUP_START`. SECOND is ``None`` or an exception type " -"(pushed when an exception has been raised)." -msgstr "" -"TOS es el resultado de la llamada a la función ``__exit__()`` o " -"``__aexit__()`` apilada por :opcode:`WITH_CLEANUP_START`. SECOND es ``None`` " -"o un tipo de excepción (se activa cuando se ha lanzado una excepción)." - -#: ../Doc/library/dis.rst:799 -msgid "" -"Pops two values from the stack. If SECOND is not None and TOS is true " -"unwinds the EXCEPT_HANDLER block which was created when the exception was " -"caught and pushes ``NULL`` to the stack." -msgstr "" -"Desapila dos valores de la pila. Si SECOND no es None y TOS es verdadero, se " -"desenrolla el bloque EXCEPT_HANDLER que se creó cuando se detectó la " -"excepción y empuja ``NULL`` a la pila." - -#: ../Doc/library/dis.rst:804 +#: ../Doc/library/dis.rst:754 msgid "All of the following opcodes use their arguments." msgstr "Todos los siguientes códigos de operación utilizan sus argumentos." -#: ../Doc/library/dis.rst:808 +#: ../Doc/library/dis.rst:758 msgid "" "Implements ``name = TOS``. *namei* is the index of *name* in the attribute :" "attr:`co_names` of the code object. The compiler tries to use :opcode:" @@ -1067,7 +937,7 @@ msgstr "" "attr:`co_names` del objeto de código. El compilador intenta usar :opcode:" "`STORE_FAST` o :opcode:`STORE_GLOBAL` si es posible." -#: ../Doc/library/dis.rst:815 +#: ../Doc/library/dis.rst:765 msgid "" "Implements ``del name``, where *namei* is the index into :attr:`co_names` " "attribute of the code object." @@ -1075,7 +945,7 @@ msgstr "" "Implementa ``del name``, donde *namei* es el índice en atributo :attr:" "`co_names` del objeto de código." -#: ../Doc/library/dis.rst:821 +#: ../Doc/library/dis.rst:771 msgid "" "Unpacks TOS into *count* individual values, which are put onto the stack " "right-to-left." @@ -1083,7 +953,7 @@ msgstr "" "Descomprime TOS en *count* valores individuales, que se colocan en la pila " "de derecha a izquierda." -#: ../Doc/library/dis.rst:827 +#: ../Doc/library/dis.rst:777 msgid "" "Implements assignment with a starred target: Unpacks an iterable in TOS into " "individual values, where the total number of values can be smaller than the " @@ -1095,7 +965,7 @@ msgstr "" "menor que el número de elementos en el iterable: uno de los nuevos valores " "será una lista de todos los elementos sobrantes." -#: ../Doc/library/dis.rst:832 +#: ../Doc/library/dis.rst:782 msgid "" "The low byte of *counts* is the number of values before the list value, the " "high byte of *counts* the number of values after it. The resulting values " @@ -1105,7 +975,7 @@ msgstr "" "el byte alto de *count* es el número de valores después de él. Los valores " "resultantes se colocan en la pila de derecha a izquierda." -#: ../Doc/library/dis.rst:839 +#: ../Doc/library/dis.rst:789 msgid "" "Implements ``TOS.name = TOS1``, where *namei* is the index of name in :attr:" "`co_names`." @@ -1113,30 +983,30 @@ msgstr "" "Implementa ``TOS.name = TOS1``, donde *namei* es el índice del nombre en :" "attr:`co_names`." -#: ../Doc/library/dis.rst:845 +#: ../Doc/library/dis.rst:795 msgid "" "Implements ``del TOS.name``, using *namei* as index into :attr:`co_names`." msgstr "" "Implementa ``del TOS.name``, usando *namei* como índice en :attr:`co_names`." -#: ../Doc/library/dis.rst:850 +#: ../Doc/library/dis.rst:800 msgid "Works as :opcode:`STORE_NAME`, but stores the name as a global." msgstr "" "Funciona como :opcode:`STORE_NAME`, pero almacena el nombre como global." -#: ../Doc/library/dis.rst:855 +#: ../Doc/library/dis.rst:805 msgid "Works as :opcode:`DELETE_NAME`, but deletes a global name." msgstr "Funciona como :opcode:`DELETE_NAME`, pero elimina un nombre global." -#: ../Doc/library/dis.rst:860 +#: ../Doc/library/dis.rst:810 msgid "Pushes ``co_consts[consti]`` onto the stack." msgstr "Apila ``co_consts[consti]`` en la pila." -#: ../Doc/library/dis.rst:865 +#: ../Doc/library/dis.rst:815 msgid "Pushes the value associated with ``co_names[namei]`` onto the stack." msgstr "Apila el valor asociado con ``co_names [namei]`` en la pila." -#: ../Doc/library/dis.rst:870 +#: ../Doc/library/dis.rst:820 msgid "" "Creates a tuple consuming *count* items from the stack, and pushes the " "resulting tuple onto the stack." @@ -1144,15 +1014,15 @@ msgstr "" "Crea una tupla que consume elementos *count* de la pila, y apila la tupla " "resultante a la pila." -#: ../Doc/library/dis.rst:876 +#: ../Doc/library/dis.rst:826 msgid "Works as :opcode:`BUILD_TUPLE`, but creates a list." msgstr "Funciona como :opcode:`BUILD_TUPLE`, pero crea una lista." -#: ../Doc/library/dis.rst:881 +#: ../Doc/library/dis.rst:831 msgid "Works as :opcode:`BUILD_TUPLE`, but creates a set." msgstr "Funciona como :opcode:`BUILD_TUPLE`, pero crea un conjunto." -#: ../Doc/library/dis.rst:886 +#: ../Doc/library/dis.rst:836 msgid "" "Pushes a new dictionary object onto the stack. Pops ``2 * count`` items so " "that the dictionary holds *count* entries: ``{..., TOS3: TOS2, TOS1: TOS}``." @@ -1161,7 +1031,7 @@ msgstr "" "elementos para que el diccionario contenga *count* entradas: ``{..., TOS3: " "TOS2, TOS1: TOS}``." -#: ../Doc/library/dis.rst:890 +#: ../Doc/library/dis.rst:840 msgid "" "The dictionary is created from stack items instead of creating an empty " "dictionary pre-sized to hold *count* items." @@ -1169,7 +1039,7 @@ msgstr "" "El diccionario se crea a partir de elementos de la pila en lugar de crear un " "diccionario vacío dimensionado previamente para contener *count* elementos." -#: ../Doc/library/dis.rst:897 +#: ../Doc/library/dis.rst:847 msgid "" "The version of :opcode:`BUILD_MAP` specialized for constant keys. Pops the " "top element on the stack which contains a tuple of keys, then starting from " @@ -1180,7 +1050,7 @@ msgstr "" "luego, a partir de ``TOS1``, muestra los valores *count* para formar valores " "en el diccionario incorporado." -#: ../Doc/library/dis.rst:906 +#: ../Doc/library/dis.rst:856 msgid "" "Concatenates *count* strings from the stack and pushes the resulting string " "onto the stack." @@ -1188,77 +1058,38 @@ msgstr "" "Concatena *count* cadenas de caracteres de la pila y empuja la cadena de " "caracteres resultante en la pila." -#: ../Doc/library/dis.rst:914 -msgid "" -"Pops *count* iterables from the stack, joins them in a single tuple, and " -"pushes the result. Implements iterable unpacking in tuple displays ``(*x, " -"*y, *z)``." -msgstr "" -"Desapila *count* iterables de la pila, los une en una sola tupla y apila el " -"resultado. Implementa el desempaquetado iterable cuando se imprime una tupla " -"``(*x, *y, *z)``." - -#: ../Doc/library/dis.rst:923 +#: ../Doc/library/dis.rst:864 msgid "" -"This is similar to :opcode:`BUILD_TUPLE_UNPACK`, but is used for ``f(*x, *y, " -"*z)`` call syntax. The stack item at position ``count + 1`` should be the " -"corresponding callable ``f``." +"Pops a list from the stack and pushes a tuple containing the same values." msgstr "" -"Esto es similar a :opcode:`BUILD_TUPLE_UNPACK`, pero se usa para la sintaxis " -"de llamada ``f(*x, *y, *z)``. El elemento de la pila en la posición ``count " -"+ 1`` debe ser la correspondiente invocable ``f``." -#: ../Doc/library/dis.rst:932 -msgid "" -"This is similar to :opcode:`BUILD_TUPLE_UNPACK`, but pushes a list instead " -"of tuple. Implements iterable unpacking in list displays ``[*x, *y, *z]``." +#: ../Doc/library/dis.rst:871 +#, fuzzy +msgid "Calls ``list.extend(TOS1[-i], TOS)``. Used to build lists." msgstr "" -"Esto es similar a :opcode:`BUILD_TUPLE_UNPACK`, pero apila una lista en " -"lugar de tupla. Implementa el desempaquetado iterable en los despliegues de " -"lista ``[*x, *y, *z]``." +"Llama a ``list.append(TOS[-i], TOS)``. Se usa para implementar comprensiones " +"de listas." -#: ../Doc/library/dis.rst:941 -msgid "" -"This is similar to :opcode:`BUILD_TUPLE_UNPACK`, but pushes a set instead of " -"tuple. Implements iterable unpacking in set displays ``{*x, *y, *z}``." +#: ../Doc/library/dis.rst:878 +#, fuzzy +msgid "Calls ``set.update(TOS1[-i], TOS)``. Used to build sets." msgstr "" -"Esto es similar a :opcode:`BUILD_TUPLE_UNPACK`, pero apila un conjunto en " -"lugar de tupla. Implementa el desempaquetado iterable en los despliegues de " -"conjunto ``{*x, *y, *z}``." - -#: ../Doc/library/dis.rst:950 -msgid "" -"Pops *count* mappings from the stack, merges them into a single dictionary, " -"and pushes the result. Implements dictionary unpacking in dictionary " -"displays ``{**x, **y, **z}``." -msgstr "" -"Desapila *count* mapeos de la pila, los fusiona en un solo diccionario y " -"apila el resultado. Implementa el desempaquetado del diccionario en las " -"pantallas del diccionario ``{**x, **y, **z}``." +"Llama a ``set.add(TOS1[-i], TOS)``. Se utiliza para implementar " +"comprensiones de conjuntos." -#: ../Doc/library/dis.rst:959 -msgid "" -"This is similar to :opcode:`BUILD_MAP_UNPACK`, but is used for ``f(**x, **y, " -"**z)`` call syntax. The stack item at position ``count + 2`` should be the " -"corresponding callable ``f``." +#: ../Doc/library/dis.rst:885 +msgid "Calls ``dict.update(TOS1[-i], TOS)``. Used to build dicts." msgstr "" -"Esto es similar a :opcode:`BUILD_MAP_UNPACK`, pero se usa para la sintaxis " -"de llamada ``f(**x, **y, **z)``. El elemento de la pila en la posición " -"``count + 2`` debe ser la correspondiente invocable ``f``." -#: ../Doc/library/dis.rst:964 -msgid "" -"The position of the callable is determined by adding 2 to the opcode " -"argument instead of encoding it in the second byte of the argument." +#: ../Doc/library/dis.rst:892 +msgid "Like :opcode:`DICT_UPDATE` but raises an exception for duplicate keys." msgstr "" -"La posición del invocable se determina agregando 2 al argumento opcode en " -"lugar de codificarlo en el segundo byte del argumento." -#: ../Doc/library/dis.rst:971 +#: ../Doc/library/dis.rst:899 msgid "Replaces TOS with ``getattr(TOS, co_names[namei])``." msgstr "Reemplaza TOS con ``getattr(TOS, co_names[namei])``." -#: ../Doc/library/dis.rst:976 +#: ../Doc/library/dis.rst:904 msgid "" "Performs a Boolean operation. The operation name can be found in " "``cmp_op[opname]``." @@ -1266,7 +1097,15 @@ msgstr "" "Realiza una operación booleana. El nombre de la operación se puede encontrar " "en ``cmp_op[opname]``." -#: ../Doc/library/dis.rst:982 +#: ../Doc/library/dis.rst:910 +msgid "Performs ``is`` comparison, or ``is not`` if ``invert`` is 1." +msgstr "" + +#: ../Doc/library/dis.rst:917 +msgid "Performs ``in`` comparison, or ``not in`` if ``invert`` is 1." +msgstr "" + +#: ../Doc/library/dis.rst:924 msgid "" "Imports the module ``co_names[namei]``. TOS and TOS1 are popped and provide " "the *fromlist* and *level* arguments of :func:`__import__`. The module " @@ -1280,7 +1119,7 @@ msgstr "" "para una instrucción de importación adecuada, una instrucción posterior :" "opcode:`STORE_FAST` modifica el espacio de nombres." -#: ../Doc/library/dis.rst:991 +#: ../Doc/library/dis.rst:933 msgid "" "Loads the attribute ``co_names[namei]`` from the module found in TOS. The " "resulting object is pushed onto the stack, to be subsequently stored by a :" @@ -1290,23 +1129,29 @@ msgstr "" "objeto resultante se apila en la pila, para luego ser almacenado por la " "instrucción :opcode:`STORE_FAST`." -#: ../Doc/library/dis.rst:998 +#: ../Doc/library/dis.rst:940 msgid "Increments bytecode counter by *delta*." msgstr "Incrementa el contador de bytecode en *delta*." -#: ../Doc/library/dis.rst:1003 +#: ../Doc/library/dis.rst:945 msgid "If TOS is true, sets the bytecode counter to *target*. TOS is popped." msgstr "" "Si TOS es true, establece el contador de bytecode en *target*. TOS es " "desapilado (*popped*)." -#: ../Doc/library/dis.rst:1010 +#: ../Doc/library/dis.rst:952 msgid "If TOS is false, sets the bytecode counter to *target*. TOS is popped." msgstr "" "Si TOS es falso, establece el contador de bytecode en *target*. TOS es " "desapilado (*popped*)." -#: ../Doc/library/dis.rst:1017 +#: ../Doc/library/dis.rst:958 +msgid "" +"Tests whether the second value on the stack is an exception matching TOS, " +"and jumps if it is not. Pops two values from the stack." +msgstr "" + +#: ../Doc/library/dis.rst:966 msgid "" "If TOS is true, sets the bytecode counter to *target* and leaves TOS on the " "stack. Otherwise (TOS is false), TOS is popped." @@ -1314,7 +1159,7 @@ msgstr "" "Si TOS es verdadero, establece el contador de bytecode en *target* y deja " "TOS en la pila. De lo contrario (TOS es falso), TOS se desapila." -#: ../Doc/library/dis.rst:1025 +#: ../Doc/library/dis.rst:974 msgid "" "If TOS is false, sets the bytecode counter to *target* and leaves TOS on the " "stack. Otherwise (TOS is true), TOS is popped." @@ -1322,15 +1167,16 @@ msgstr "" "Si TOS es falso, establece el contador de bytecode en *target* y deja TOS en " "la pila. De lo contrario (TOS es verdadero), TOS se desapila." -#: ../Doc/library/dis.rst:1033 +#: ../Doc/library/dis.rst:982 msgid "Set bytecode counter to *target*." msgstr "Establezca el contador de bytecode en *target*." -#: ../Doc/library/dis.rst:1038 +#: ../Doc/library/dis.rst:987 +#, fuzzy msgid "" "TOS is an :term:`iterator`. Call its :meth:`~iterator.__next__` method. If " "this yields a new value, push it on the stack (leaving the iterator below " -"it). If the iterator indicates it is exhausted TOS is popped, and the byte " +"it). If the iterator indicates it is exhausted, TOS is popped, and the byte " "code counter is incremented by *delta*." msgstr "" "TOS es un :term:`iterador`. Llama a su método :meth:`~iterator.__next__`. Si " @@ -1338,11 +1184,11 @@ msgstr "" "de él). Si el iterador indica que está agotado, se abre TOS y el contador de " "código de bytes se incrementa en *delta*." -#: ../Doc/library/dis.rst:1046 +#: ../Doc/library/dis.rst:995 msgid "Loads the global named ``co_names[namei]`` onto the stack." msgstr "Carga el nombre global ``co_names[namei]`` en la pila." -#: ../Doc/library/dis.rst:1051 +#: ../Doc/library/dis.rst:1000 msgid "" "Pushes a try block from a try-finally or try-except clause onto the block " "stack. *delta* points to the finally block or the first except block." @@ -1350,30 +1196,20 @@ msgstr "" "Apila un bloque try de una cláusula try-finally o try-except en la pila de " "bloques. *delta* apunta al último bloque o al primero excepto el bloque." -#: ../Doc/library/dis.rst:1057 -msgid "" -"Pushes the address of the next instruction onto the stack and increments " -"bytecode counter by *delta*. Used for calling the finally block as a " -"\"subroutine\"." -msgstr "" -"Apila la dirección de la siguiente instrucción en la pila e incrementa el " -"contador de bytecode en *delta*. Se usa para llamar al bloque finalmente " -"como una \"subrutina\"." - -#: ../Doc/library/dis.rst:1066 +#: ../Doc/library/dis.rst:1006 msgid "" "Pushes a reference to the local ``co_varnames[var_num]`` onto the stack." msgstr "Apila una referencia al local ``co_varnames[var_num]`` sobre la pila." -#: ../Doc/library/dis.rst:1071 +#: ../Doc/library/dis.rst:1011 msgid "Stores TOS into the local ``co_varnames[var_num]``." msgstr "Almacena TOS en el local ``co_varnames[var_num]``." -#: ../Doc/library/dis.rst:1076 +#: ../Doc/library/dis.rst:1016 msgid "Deletes local ``co_varnames[var_num]``." msgstr "Elimina la ``co_varnames[var_num]`` local." -#: ../Doc/library/dis.rst:1081 +#: ../Doc/library/dis.rst:1021 msgid "" "Pushes a reference to the cell contained in slot *i* of the cell and free " "variable storage. The name of the variable is ``co_cellvars[i]`` if *i* is " @@ -1385,7 +1221,7 @@ msgstr "" "``co_cellvars[i]`` si *i* es menor que la longitud de *co_cellvars*. De lo " "contrario, es ``co_freevars[i - len(co_cellvars)]``." -#: ../Doc/library/dis.rst:1089 +#: ../Doc/library/dis.rst:1029 msgid "" "Loads the cell contained in slot *i* of the cell and free variable storage. " "Pushes a reference to the object the cell contains on the stack." @@ -1394,7 +1230,7 @@ msgstr "" "variable libre. Apila una referencia al objeto que contiene la celda en la " "pila." -#: ../Doc/library/dis.rst:1095 +#: ../Doc/library/dis.rst:1035 msgid "" "Much like :opcode:`LOAD_DEREF` but first checks the locals dictionary before " "consulting the cell. This is used for loading free variables in class " @@ -1404,7 +1240,7 @@ msgstr "" "antes de consultar la celda. Esto se usa para cargar variables libres en los " "cuerpos de clase." -#: ../Doc/library/dis.rst:1104 +#: ../Doc/library/dis.rst:1044 msgid "" "Stores TOS into the cell contained in slot *i* of the cell and free variable " "storage." @@ -1412,7 +1248,7 @@ msgstr "" "Almacena TOS en la celda contenida en la ranura *i* de la celda y " "almacenamiento variable libre." -#: ../Doc/library/dis.rst:1110 +#: ../Doc/library/dis.rst:1050 msgid "" "Empties the cell contained in slot *i* of the cell and free variable " "storage. Used by the :keyword:`del` statement." @@ -1420,7 +1256,7 @@ msgstr "" "Vacía la celda contenida en la ranura *i* de la celda y el almacenamiento " "variable libre. Utilizado por la declaración :keyword:`del`." -#: ../Doc/library/dis.rst:1118 +#: ../Doc/library/dis.rst:1058 msgid "" "Raises an exception using one of the 3 forms of the ``raise`` statement, " "depending on the value of *argc*:" @@ -1428,15 +1264,15 @@ msgstr "" "Provoca una excepción utilizando una de las 3 formas de la declaración " "``raise``, dependiendo del valor de *argc*:" -#: ../Doc/library/dis.rst:1121 +#: ../Doc/library/dis.rst:1061 msgid "0: ``raise`` (re-raise previous exception)" msgstr "0: ``raise`` (vuelve a lanzar la excepción anterior)" -#: ../Doc/library/dis.rst:1122 +#: ../Doc/library/dis.rst:1062 msgid "1: ``raise TOS`` (raise exception instance or type at ``TOS``)" msgstr "1: ``raise TOS`` (lanza instancia de excepción o un tipo en ``TOS``)" -#: ../Doc/library/dis.rst:1123 +#: ../Doc/library/dis.rst:1063 msgid "" "2: ``raise TOS1 from TOS`` (raise exception instance or type at ``TOS1`` " "with ``__cause__`` set to ``TOS``)" @@ -1444,7 +1280,7 @@ msgstr "" "2: ``raise TOS1 desde TOS`` (lanza una instancia de excepción o tipo en " "``TOS1`` con ``__cause__`` establecida en `` TOS``)" -#: ../Doc/library/dis.rst:1129 +#: ../Doc/library/dis.rst:1069 msgid "" "Calls a callable object with positional arguments. *argc* indicates the " "number of positional arguments. The top of the stack contains positional " @@ -1461,20 +1297,22 @@ msgstr "" "pila, llama al objeto invocable con esos argumentos y empuja el valor de " "retorno retornado por el objeto invocable." -#: ../Doc/library/dis.rst:1137 +#: ../Doc/library/dis.rst:1077 msgid "This opcode is used only for calls with positional arguments." msgstr "" "Este código de operación se usa solo para llamadas con argumentos " "posicionales." -#: ../Doc/library/dis.rst:1143 +#: ../Doc/library/dis.rst:1083 +#, fuzzy msgid "" "Calls a callable object with positional (if any) and keyword arguments. " "*argc* indicates the total number of positional and keyword arguments. The " -"top element on the stack contains a tuple of keyword argument names. Below " -"that are keyword arguments in the order corresponding to the tuple. Below " -"that are positional arguments, with the right-most parameter on top. Below " -"the arguments is a callable object to call. ``CALL_FUNCTION_KW`` pops all " +"top element on the stack contains a tuple with the names of the keyword " +"arguments, which must be strings. Below that are the values for the keyword " +"arguments, in the order corresponding to the tuple. Below that are " +"positional arguments, with the right-most parameter on top. Below the " +"arguments is a callable object to call. ``CALL_FUNCTION_KW`` pops all " "arguments and the callable object off the stack, calls the callable object " "with those arguments, and pushes the return value returned by the callable " "object." @@ -1490,7 +1328,7 @@ msgstr "" "pila, llama al objeto invocable con esos argumentos y empuja el valor de " "retorno retornado por el objeto invocable." -#: ../Doc/library/dis.rst:1153 +#: ../Doc/library/dis.rst:1095 msgid "" "Keyword arguments are packed in a tuple instead of a dictionary, *argc* " "indicates the total number of arguments." @@ -1498,20 +1336,17 @@ msgstr "" "Los argumentos de palabras clave se empaquetan en una tupla en lugar de un " "diccionario, *argc* indica el número total de argumentos." -#: ../Doc/library/dis.rst:1160 +#: ../Doc/library/dis.rst:1102 +#, fuzzy msgid "" "Calls a callable object with variable set of positional and keyword " "arguments. If the lowest bit of *flags* is set, the top of the stack " -"contains a mapping object containing additional keyword arguments. Below " -"that is an iterable object containing positional arguments and a callable " -"object to call. :opcode:`BUILD_MAP_UNPACK_WITH_CALL` and :opcode:" -"`BUILD_TUPLE_UNPACK_WITH_CALL` can be used for merging multiple mapping " -"objects and iterables containing arguments. Before the callable is called, " -"the mapping object and iterable object are each \"unpacked\" and their " -"contents passed in as keyword and positional arguments respectively. " -"``CALL_FUNCTION_EX`` pops all arguments and the callable object off the " -"stack, calls the callable object with those arguments, and pushes the return " -"value returned by the callable object." +"contains a mapping object containing additional keyword arguments. Before " +"the callable is called, the mapping object and iterable object are each " +"\"unpacked\" and their contents passed in as keyword and positional " +"arguments respectively. ``CALL_FUNCTION_EX`` pops all arguments and the " +"callable object off the stack, calls the callable object with those " +"arguments, and pushes the return value returned by the callable object." msgstr "" "Llama a un objeto invocable con un conjunto variable de argumentos " "posicionales y de palabras clave. Si se establece el bit más bajo de " @@ -1527,7 +1362,7 @@ msgstr "" "invocable de la pila, llama al objeto invocable con esos argumentos y empuja " "el valor de retorno retornado por el objeto invocable." -#: ../Doc/library/dis.rst:1179 +#: ../Doc/library/dis.rst:1117 msgid "" "Loads a method named ``co_names[namei]`` from the TOS object. TOS is popped. " "This bytecode distinguishes two cases: if TOS has a method with the correct " @@ -1543,7 +1378,7 @@ msgstr "" "llama al método independiente. De lo contrario, ``NULL`` y el objeto " "retornado por la búsqueda de atributos son apilados." -#: ../Doc/library/dis.rst:1191 +#: ../Doc/library/dis.rst:1129 msgid "" "Calls a method. *argc* is the number of positional arguments. Keyword " "arguments are not supported. This opcode is designed to be used with :" @@ -1560,7 +1395,7 @@ msgstr "" "objeto de método independiente o ``NULL`` y un invocable arbitrario). Todos " "ellos aparecen y se apila el valor de retorno." -#: ../Doc/library/dis.rst:1203 +#: ../Doc/library/dis.rst:1141 msgid "" "Pushes a new function object on the stack. From bottom to top, the consumed " "stack must consist of values if the argument carries a specified flag value" @@ -1569,7 +1404,7 @@ msgstr "" "consumida debe constar de valores si el argumento lleva un valor de marca " "especificado" -#: ../Doc/library/dis.rst:1206 +#: ../Doc/library/dis.rst:1144 msgid "" "``0x01`` a tuple of default values for positional-only and positional-or-" "keyword parameters in positional order" @@ -1577,30 +1412,30 @@ msgstr "" "``0x01``, una tupla de valores predeterminados para solo parámetros " "posicionales y posicionales o de palabras clave en orden posicional" -#: ../Doc/library/dis.rst:1208 +#: ../Doc/library/dis.rst:1146 msgid "``0x02`` a dictionary of keyword-only parameters' default values" msgstr "" "``0x02`` un diccionario de valores predeterminados de solo palabras clave" -#: ../Doc/library/dis.rst:1209 +#: ../Doc/library/dis.rst:1147 msgid "``0x04`` an annotation dictionary" msgstr "``0x04`` un diccionario de anotaciones" -#: ../Doc/library/dis.rst:1210 +#: ../Doc/library/dis.rst:1148 msgid "``0x08`` a tuple containing cells for free variables, making a closure" msgstr "" "``0x08`` una tupla que contiene celdas para variables libres, haciendo un " "cierre (*closure*)" -#: ../Doc/library/dis.rst:1211 +#: ../Doc/library/dis.rst:1149 msgid "the code associated with the function (at TOS1)" msgstr "el código asociado con la función (en TOS1)" -#: ../Doc/library/dis.rst:1212 +#: ../Doc/library/dis.rst:1150 msgid "the :term:`qualified name` of the function (at TOS)" msgstr "el :term:`nombre calificado` de la función (en TOS)" -#: ../Doc/library/dis.rst:1219 +#: ../Doc/library/dis.rst:1157 msgid "" "Pushes a slice object on the stack. *argc* must be 2 or 3. If it is 2, " "``slice(TOS1, TOS)`` is pushed; if it is 3, ``slice(TOS2, TOS1, TOS)`` is " @@ -1610,7 +1445,7 @@ msgstr "" "apila ``slice(TOS1, TOS)``; si es 3, se apila ``slice(TOS2, TOS1, TOS)``. " "Consulte la función incorporada :func:`slice` para obtener más información." -#: ../Doc/library/dis.rst:1226 +#: ../Doc/library/dis.rst:1164 msgid "" "Prefixes any opcode which has an argument too big to fit into the default " "one byte. *ext* holds an additional byte which act as higher bits in the " @@ -1623,7 +1458,7 @@ msgstr "" "como máximo se permiten tres prefijos ``EXTENDED_ARG``, formando un " "argumento de dos bytes a cuatro bytes." -#: ../Doc/library/dis.rst:1234 +#: ../Doc/library/dis.rst:1172 msgid "" "Used for implementing formatted literal strings (f-strings). Pops an " "optional *fmt_spec* from the stack, then a required *value*. *flags* is " @@ -1633,18 +1468,18 @@ msgstr "" "caracteres f). Desapila un *fmt_spec* opcional de la pila, luego un *value* " "requerido. *flags* se interpreta de la siguiente manera:" -#: ../Doc/library/dis.rst:1238 +#: ../Doc/library/dis.rst:1176 msgid "``(flags & 0x03) == 0x00``: *value* is formatted as-is." msgstr "``(flags & 0x03) == 0x00``: *value* es formateado como está." -#: ../Doc/library/dis.rst:1239 +#: ../Doc/library/dis.rst:1177 msgid "" "``(flags & 0x03) == 0x01``: call :func:`str` on *value* before formatting it." msgstr "" "``(flags & 0x03) == 0x01``: llama :func:`str` sobre *value* antes de " "formatearlo." -#: ../Doc/library/dis.rst:1241 +#: ../Doc/library/dis.rst:1179 msgid "" "``(flags & 0x03) == 0x02``: call :func:`repr` on *value* before formatting " "it." @@ -1652,7 +1487,7 @@ msgstr "" "``(flags & 0x03) == 0x02``: llama :func:`repr` sobre *value* antes de " "formatearlo." -#: ../Doc/library/dis.rst:1243 +#: ../Doc/library/dis.rst:1181 msgid "" "``(flags & 0x03) == 0x03``: call :func:`ascii` on *value* before formatting " "it." @@ -1660,7 +1495,7 @@ msgstr "" "``(flags & 0x03) == 0x03``: llama :func:`ascii` sobre *value* antes de " "formatearlo." -#: ../Doc/library/dis.rst:1245 +#: ../Doc/library/dis.rst:1183 msgid "" "``(flags & 0x04) == 0x04``: pop *fmt_spec* from the stack and use it, else " "use an empty *fmt_spec*." @@ -1668,7 +1503,7 @@ msgstr "" "``(flags & 0x04) == 0x04``: desapila *fmt_spec* de la pila y lo usa, de lo " "contrario usa un *fmt_spec* vacío." -#: ../Doc/library/dis.rst:1248 +#: ../Doc/library/dis.rst:1186 msgid "" "Formatting is performed using :c:func:`PyObject_Format`. The result is " "pushed on the stack." @@ -1676,7 +1511,7 @@ msgstr "" "El formateo se realiza usando :c:func:`PyObject_Format`. El resultado se " "apila en la pila." -#: ../Doc/library/dis.rst:1256 +#: ../Doc/library/dis.rst:1194 msgid "" "This is not really an opcode. It identifies the dividing line between " "opcodes which don't use their argument and those that do (``< " @@ -1686,7 +1521,7 @@ msgstr "" "opcode que no usan su argumento y los que lo hacen (``< HAVE_ARGUMENT`` y " "``>= HAVE_ARGUMENT``, respectivamente)." -#: ../Doc/library/dis.rst:1260 +#: ../Doc/library/dis.rst:1198 msgid "" "Now every instruction has an argument, but opcodes ``< HAVE_ARGUMENT`` " "ignore it. Before, only opcodes ``>= HAVE_ARGUMENT`` had an argument." @@ -1695,11 +1530,11 @@ msgstr "" "`` = " "HAVE_ARGUMENT`` tenían un argumento." -#: ../Doc/library/dis.rst:1268 +#: ../Doc/library/dis.rst:1206 msgid "Opcode collections" msgstr "Colecciones opcode" -#: ../Doc/library/dis.rst:1270 +#: ../Doc/library/dis.rst:1208 msgid "" "These collections are provided for automatic introspection of bytecode " "instructions:" @@ -1707,23 +1542,23 @@ msgstr "" "Estas colecciones se proporcionan para la introspección automática de " "instrucciones de bytecode:" -#: ../Doc/library/dis.rst:1275 +#: ../Doc/library/dis.rst:1213 msgid "Sequence of operation names, indexable using the bytecode." msgstr "Secuencia de nombres de operaciones, indexable utilizando el bytecode." -#: ../Doc/library/dis.rst:1280 +#: ../Doc/library/dis.rst:1218 msgid "Dictionary mapping operation names to bytecodes." msgstr "Nombres de operaciones de mapeo de diccionario a bytecodes." -#: ../Doc/library/dis.rst:1285 +#: ../Doc/library/dis.rst:1223 msgid "Sequence of all compare operation names." msgstr "Secuencia de todos los nombres de operaciones de comparación." -#: ../Doc/library/dis.rst:1290 +#: ../Doc/library/dis.rst:1228 msgid "Sequence of bytecodes that access a constant." msgstr "Secuencia de bytecodes que acceden a una constante." -#: ../Doc/library/dis.rst:1295 +#: ../Doc/library/dis.rst:1233 msgid "" "Sequence of bytecodes that access a free variable (note that 'free' in this " "context refers to names in the current scope that are referenced by inner " @@ -1736,22 +1571,230 @@ msgstr "" "a los que se hace referencia desde este ámbito. **No** incluye referencias a " "ámbitos globales o integrados)." -#: ../Doc/library/dis.rst:1303 +#: ../Doc/library/dis.rst:1241 msgid "Sequence of bytecodes that access an attribute by name." msgstr "Secuencia de bytecodes que acceden a un atributo por nombre." -#: ../Doc/library/dis.rst:1308 +#: ../Doc/library/dis.rst:1246 msgid "Sequence of bytecodes that have a relative jump target." msgstr "Secuencia de bytecodes que tienen un objetivo de salto relativo." -#: ../Doc/library/dis.rst:1313 +#: ../Doc/library/dis.rst:1251 msgid "Sequence of bytecodes that have an absolute jump target." msgstr "Secuencia de bytecodes que tienen un objetivo de salto absoluto." -#: ../Doc/library/dis.rst:1318 +#: ../Doc/library/dis.rst:1256 msgid "Sequence of bytecodes that access a local variable." msgstr "Secuencia de códigos de bytes que acceden a una variable local." -#: ../Doc/library/dis.rst:1323 +#: ../Doc/library/dis.rst:1261 msgid "Sequence of bytecodes of Boolean operations." msgstr "Secuencia de bytecodes de operaciones booleanas." + +#~ msgid "" +#~ "Cleans up the value stack and the block stack. If *preserve_tos* is not " +#~ "``0`` TOS first is popped from the stack and pushed on the stack after " +#~ "performing other stack operations:" +#~ msgstr "" +#~ "Limpia la pila de valores y la pila de bloques. Si *preserve_tos* no es " +#~ "``0``, primero se desapila TOS de la pila y se apila a la pila después de " +#~ "realizar otras operaciones de pila:" + +#~ msgid "" +#~ "If TOS is ``NULL`` or an integer (pushed by :opcode:`BEGIN_FINALLY` or :" +#~ "opcode:`CALL_FINALLY`) it is popped from the stack." +#~ msgstr "" +#~ "Si TOS es ``NULL`` o un número entero (apilado por :opcode:" +#~ "`BEGIN_FINALLY` o :opcode:`CALL_FINALLY`) se desapila de la pila." + +#~ msgid "" +#~ "If TOS is an exception type (pushed when an exception has been raised) 6 " +#~ "values are popped from the stack, the last three popped values are used " +#~ "to restore the exception state. An exception handler block is removed " +#~ "from the block stack." +#~ msgstr "" +#~ "Si TOS es un tipo de excepción (se apila cuando se ha lanzado una " +#~ "excepción) se desapilan 6 valores de la pila, los últimos tres valores se " +#~ "usan para restaurar el estado de excepción. Se elimina un bloque de " +#~ "controlador de excepción de la pila de bloques." + +#~ msgid "" +#~ "It is similar to :opcode:`END_FINALLY`, but doesn't change the bytecode " +#~ "counter nor raise an exception. Used for implementing :keyword:`break`, :" +#~ "keyword:`continue` and :keyword:`return` in the :keyword:`finally` block." +#~ msgstr "" +#~ "Es similar a :opcode:`END_FINALLY`, pero no cambia el contador de " +#~ "bytecode ni lanza una excepción. Se usa para implementar :keyword:" +#~ "`break`, :keyword:`continue` y :keyword:`return` en el bloque :keyword:" +#~ "`finally`." + +#~ msgid "" +#~ "Pushes ``NULL`` onto the stack for using it in :opcode:`END_FINALLY`, :" +#~ "opcode:`POP_FINALLY`, :opcode:`WITH_CLEANUP_START` and :opcode:" +#~ "`WITH_CLEANUP_FINISH`. Starts the :keyword:`finally` block." +#~ msgstr "" +#~ "Apila ``NULL`` en la pila para usarlo en :opcode:`END_FINALLY`, :opcode:" +#~ "`POP_FINALLY`, :opcode:`WITH_CLEANUP_START` y :opcode:" +#~ "`WITH_CLEANUP_FINISH`. Inicia el bloque :keyword:`finally`." + +#~ msgid "" +#~ "Terminates a :keyword:`finally` clause. The interpreter recalls whether " +#~ "the exception has to be re-raised or execution has to be continued " +#~ "depending on the value of TOS." +#~ msgstr "" +#~ "Termina una cláusula :keyword:`finally`. El intérprete recuerda si la " +#~ "excepción se debe volver a ser lanzada o si se debe continuar la " +#~ "ejecución según el valor de TOS." + +#~ msgid "" +#~ "If TOS is ``NULL`` (pushed by :opcode:`BEGIN_FINALLY`) continue from the " +#~ "next instruction. TOS is popped." +#~ msgstr "" +#~ "Si TOS es ``NULL`` (apilado por :opcode:`BEGIN_FINALLY`) continúa con la " +#~ "siguiente instrucción. TOS se desapila." + +#~ msgid "" +#~ "If TOS is an integer (pushed by :opcode:`CALL_FINALLY`), sets the " +#~ "bytecode counter to TOS. TOS is popped." +#~ msgstr "" +#~ "Si TOS es un entero (apilado por :opcode:`CALL_FINALLY`), establece el " +#~ "contador de bytecode en TOS. TOS se desapila." + +#~ msgid "" +#~ "If TOS is an exception type (pushed when an exception has been raised) 6 " +#~ "values are popped from the stack, the first three popped values are used " +#~ "to re-raise the exception and the last three popped values are used to " +#~ "restore the exception state. An exception handler block is removed from " +#~ "the block stack." +#~ msgstr "" +#~ "Si TOS es un tipo de excepción (se apila cuando se ha lanzado una " +#~ "excepción) se desapilan 6 valores de la pila, los primeros tres valores " +#~ "desapilados se utilizan para volver a lanzar la excepción y los últimos " +#~ "tres valores desapilados se utilizan para restaurar el estado de " +#~ "excepción. Se elimina un bloque de controlador de excepción de la pila de " +#~ "bloques." + +#~ msgid "" +#~ "Starts cleaning up the stack when a :keyword:`with` statement block exits." +#~ msgstr "" +#~ "Comienza a limpiar la pila cuando sale un bloque de instrucciones :" +#~ "keyword:`with`." + +#~ msgid "" +#~ "At the top of the stack are either ``NULL`` (pushed by :opcode:" +#~ "`BEGIN_FINALLY`) or 6 values pushed if an exception has been raised in " +#~ "the with block. Below is the context manager's :meth:`~object.__exit__` " +#~ "or :meth:`~object.__aexit__` bound method." +#~ msgstr "" +#~ "En la parte superior de la pila están ``NULL`` (apilado por :opcode:" +#~ "`BEGIN_FINALLY`) o 6 valores apilados si se ha lanzado una excepción en " +#~ "el bloque with. A continuación se muestra el gestor de contexto :meth:" +#~ "`~object.__exit__` o un método ligado :meth:`~object.__aexit__`." + +#~ msgid "" +#~ "If TOS is ``NULL``, calls ``SECOND(None, None, None)``, removes the " +#~ "function from the stack, leaving TOS, and pushes ``None`` to the stack. " +#~ "Otherwise calls ``SEVENTH(TOP, SECOND, THIRD)``, shifts the bottom 3 " +#~ "values of the stack down, replaces the empty spot with ``NULL`` and " +#~ "pushes TOS. Finally pushes the result of the call." +#~ msgstr "" +#~ "Si TOS es ``NULL``, llama a ``SECOND(None, None, None)``, elimina la " +#~ "función de la pila, deja TOS y apila ``None`` a la pila. De lo contrario, " +#~ "llama ``SEVENTH(TOP, SECOND, THIRD)``, desplaza los 3 valores inferiores " +#~ "de la pila hacia abajo, reemplaza el espacio vacío con ``NULL`` y apila " +#~ "TOS. Finalmente apila el resultado de la llamada." + +#~ msgid "" +#~ "Finishes cleaning up the stack when a :keyword:`with` statement block " +#~ "exits." +#~ msgstr "" +#~ "Termina de limpiar la pila cuando sale un bloque de instrucciones :" +#~ "keyword:`with`." + +#~ msgid "" +#~ "TOS is result of ``__exit__()`` or ``__aexit__()`` function call pushed " +#~ "by :opcode:`WITH_CLEANUP_START`. SECOND is ``None`` or an exception type " +#~ "(pushed when an exception has been raised)." +#~ msgstr "" +#~ "TOS es el resultado de la llamada a la función ``__exit__()`` o " +#~ "``__aexit__()`` apilada por :opcode:`WITH_CLEANUP_START`. SECOND es " +#~ "``None`` o un tipo de excepción (se activa cuando se ha lanzado una " +#~ "excepción)." + +#~ msgid "" +#~ "Pops two values from the stack. If SECOND is not None and TOS is true " +#~ "unwinds the EXCEPT_HANDLER block which was created when the exception was " +#~ "caught and pushes ``NULL`` to the stack." +#~ msgstr "" +#~ "Desapila dos valores de la pila. Si SECOND no es None y TOS es verdadero, " +#~ "se desenrolla el bloque EXCEPT_HANDLER que se creó cuando se detectó la " +#~ "excepción y empuja ``NULL`` a la pila." + +#~ msgid "" +#~ "Pops *count* iterables from the stack, joins them in a single tuple, and " +#~ "pushes the result. Implements iterable unpacking in tuple displays " +#~ "``(*x, *y, *z)``." +#~ msgstr "" +#~ "Desapila *count* iterables de la pila, los une en una sola tupla y apila " +#~ "el resultado. Implementa el desempaquetado iterable cuando se imprime una " +#~ "tupla ``(*x, *y, *z)``." + +#~ msgid "" +#~ "This is similar to :opcode:`BUILD_TUPLE_UNPACK`, but is used for ``f(*x, " +#~ "*y, *z)`` call syntax. The stack item at position ``count + 1`` should be " +#~ "the corresponding callable ``f``." +#~ msgstr "" +#~ "Esto es similar a :opcode:`BUILD_TUPLE_UNPACK`, pero se usa para la " +#~ "sintaxis de llamada ``f(*x, *y, *z)``. El elemento de la pila en la " +#~ "posición ``count + 1`` debe ser la correspondiente invocable ``f``." + +#~ msgid "" +#~ "This is similar to :opcode:`BUILD_TUPLE_UNPACK`, but pushes a list " +#~ "instead of tuple. Implements iterable unpacking in list displays ``[*x, " +#~ "*y, *z]``." +#~ msgstr "" +#~ "Esto es similar a :opcode:`BUILD_TUPLE_UNPACK`, pero apila una lista en " +#~ "lugar de tupla. Implementa el desempaquetado iterable en los despliegues " +#~ "de lista ``[*x, *y, *z]``." + +#~ msgid "" +#~ "This is similar to :opcode:`BUILD_TUPLE_UNPACK`, but pushes a set instead " +#~ "of tuple. Implements iterable unpacking in set displays ``{*x, *y, *z}``." +#~ msgstr "" +#~ "Esto es similar a :opcode:`BUILD_TUPLE_UNPACK`, pero apila un conjunto en " +#~ "lugar de tupla. Implementa el desempaquetado iterable en los despliegues " +#~ "de conjunto ``{*x, *y, *z}``." + +#~ msgid "" +#~ "Pops *count* mappings from the stack, merges them into a single " +#~ "dictionary, and pushes the result. Implements dictionary unpacking in " +#~ "dictionary displays ``{**x, **y, **z}``." +#~ msgstr "" +#~ "Desapila *count* mapeos de la pila, los fusiona en un solo diccionario y " +#~ "apila el resultado. Implementa el desempaquetado del diccionario en las " +#~ "pantallas del diccionario ``{**x, **y, **z}``." + +#~ msgid "" +#~ "This is similar to :opcode:`BUILD_MAP_UNPACK`, but is used for ``f(**x, " +#~ "**y, **z)`` call syntax. The stack item at position ``count + 2`` should " +#~ "be the corresponding callable ``f``." +#~ msgstr "" +#~ "Esto es similar a :opcode:`BUILD_MAP_UNPACK`, pero se usa para la " +#~ "sintaxis de llamada ``f(**x, **y, **z)``. El elemento de la pila en la " +#~ "posición ``count + 2`` debe ser la correspondiente invocable ``f``." + +#~ msgid "" +#~ "The position of the callable is determined by adding 2 to the opcode " +#~ "argument instead of encoding it in the second byte of the argument." +#~ msgstr "" +#~ "La posición del invocable se determina agregando 2 al argumento opcode en " +#~ "lugar de codificarlo en el segundo byte del argumento." + +#~ msgid "" +#~ "Pushes the address of the next instruction onto the stack and increments " +#~ "bytecode counter by *delta*. Used for calling the finally block as a " +#~ "\"subroutine\"." +#~ msgstr "" +#~ "Apila la dirección de la siguiente instrucción en la pila e incrementa el " +#~ "contador de bytecode en *delta*. Se usa para llamar al bloque finalmente " +#~ "como una \"subrutina\"." diff --git a/library/email.encoders.po b/library/email.encoders.po index 855f10ba83..dcd6ab1336 100644 --- a/library/email.encoders.po +++ b/library/email.encoders.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-11-17 20:38+0100\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"X-Generator: Poedit 2.4.2\n" -"Last-Translator: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Language: es\n" #: ../Doc/library/email.encoders.rst:2 msgid ":mod:`email.encoders`: Encoders" @@ -41,11 +40,12 @@ msgstr "" "parámetro *cte* del método :meth:`~email.message.EmailMessage.set_content`." #: ../Doc/library/email.encoders.rst:15 +#, fuzzy msgid "" "This module is deprecated in Python 3. The functions provided here should " "not be called explicitly since the :class:`~email.mime.text.MIMEText` class " "sets the content type and CTE header using the *_subtype* and *_charset* " -"values passed during the instaniation of that class." +"values passed during the instantiation of that class." msgstr "" "Este módulo está obsoleto (deprecated) en Python 3. Las funciones que " "aparecen aquí no deberían ser llamadas explícitamente ya que la clase :class:" diff --git a/library/enum.po b/library/enum.po index 608b215fea..582244fb6a 100644 --- a/library/enum.po +++ b/library/enum.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-07-26 17:58-0500\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.4\n" #: ../Doc/library/enum.rst:2 msgid ":mod:`enum` --- Support for enumerations" @@ -40,11 +39,21 @@ msgstr "" "valores únicos y constantes. Dentro de una enumeración, los miembros se " "pueden comparar por identidad, y la enumeración en sí se puede iterar." +#: ../Doc/library/enum.rst:22 +msgid "Case of Enum Members" +msgstr "" + #: ../Doc/library/enum.rst:24 +msgid "" +"Because Enums are used to represent constants we recommend using UPPER_CASE " +"names for enum members, and will be using that style in our examples." +msgstr "" + +#: ../Doc/library/enum.rst:30 msgid "Module Contents" msgstr "Contenido del Módulo" -#: ../Doc/library/enum.rst:26 +#: ../Doc/library/enum.rst:32 msgid "" "This module defines four enumeration classes that can be used to define " "unique sets of names and values: :class:`Enum`, :class:`IntEnum`, :class:" @@ -56,7 +65,7 @@ msgstr "" "`IntEnum`, :class:`Flag`, and :class:`IntFlag`. También define un " "decorador, :func:`unique`, y un ayudante, :class:`auto`." -#: ../Doc/library/enum.rst:33 +#: ../Doc/library/enum.rst:39 msgid "" "Base class for creating enumerated constants. See section `Functional API`_ " "for an alternate construction syntax." @@ -64,7 +73,7 @@ msgstr "" "Clase base para crear constantes enumeradas. Consulte la sección `API " "Funcional`_ para obtener una sintaxis de construcción alternativa." -#: ../Doc/library/enum.rst:38 +#: ../Doc/library/enum.rst:44 msgid "" "Base class for creating enumerated constants that are also subclasses of :" "class:`int`." @@ -72,7 +81,7 @@ msgstr "" "Clase base para crear constantes enumeradas que también son sub clases de :" "class:`int`." -#: ../Doc/library/enum.rst:43 +#: ../Doc/library/enum.rst:49 msgid "" "Base class for creating enumerated constants that can be combined using the " "bitwise operators without losing their :class:`IntFlag` membership. :class:" @@ -82,7 +91,7 @@ msgstr "" "los operadores *bitwise* sin perder su membresía :class:`IntFlag`. Los " "miembros de :class:`IntFlag` también son subclases de :class:`int`." -#: ../Doc/library/enum.rst:49 +#: ../Doc/library/enum.rst:55 msgid "" "Base class for creating enumerated constants that can be combined using the " "bitwise operations without losing their :class:`Flag` membership." @@ -90,30 +99,31 @@ msgstr "" "Clase base para crear constantes enumeradas que se pueden combinar " "utilizando las operaciones *bitwise* sin perder su membresía :class:`Flag`." -#: ../Doc/library/enum.rst:54 +#: ../Doc/library/enum.rst:61 msgid "" "Enum class decorator that ensures only one name is bound to any one value." msgstr "" "El decorador de clase Enum que garantiza que solo un nombre esté vinculado a " "cualquier valor." -#: ../Doc/library/enum.rst:58 +#: ../Doc/library/enum.rst:65 +#, fuzzy msgid "" -"Instances are replaced with an appropriate value for Enum members. Initial " -"value starts at 1." +"Instances are replaced with an appropriate value for Enum members. By " +"default, the initial value starts at 1." msgstr "" "Las instancias se reemplazan con un valor apropiado para los miembros de " "Enum. El valor inicial comienza en 1." -#: ../Doc/library/enum.rst:60 +#: ../Doc/library/enum.rst:67 msgid "``Flag``, ``IntFlag``, ``auto``" msgstr "``Flag``, ``IntFlag``, ``auto``" -#: ../Doc/library/enum.rst:64 +#: ../Doc/library/enum.rst:71 msgid "Creating an Enum" msgstr "Creando un Enum" -#: ../Doc/library/enum.rst:66 +#: ../Doc/library/enum.rst:73 msgid "" "Enumerations are created using the :keyword:`class` syntax, which makes them " "easy to read and write. An alternative creation method is described in " @@ -125,11 +135,11 @@ msgstr "" "describe en `API Funcional`_. Para definir una enumeración, hacer una " "subclase :class:`Enum` de la siguiente manera::" -#: ../Doc/library/enum.rst:78 +#: ../Doc/library/enum.rst:85 msgid "Enum member values" msgstr "Valores de miembros de Enum" -#: ../Doc/library/enum.rst:80 +#: ../Doc/library/enum.rst:87 msgid "" "Member values can be anything: :class:`int`, :class:`str`, etc.. If the " "exact value is unimportant you may use :class:`auto` instances and an " @@ -141,15 +151,15 @@ msgstr "" "class:`auto` y se elegirá un valor apropiado para usted. Se debe tener " "cuidado si se mezcla :class:`auto` con otros valores." -#: ../Doc/library/enum.rst:85 +#: ../Doc/library/enum.rst:92 msgid "Nomenclature" msgstr "Nomenclatura" -#: ../Doc/library/enum.rst:87 +#: ../Doc/library/enum.rst:94 msgid "The class :class:`Color` is an *enumeration* (or *enum*)" msgstr "La clase :class:`Color` es una *enumeración* (o *enum*)" -#: ../Doc/library/enum.rst:88 +#: ../Doc/library/enum.rst:95 msgid "" "The attributes :attr:`Color.RED`, :attr:`Color.GREEN`, etc., are " "*enumeration members* (or *enum members*) and are functionally constants." @@ -157,7 +167,7 @@ msgstr "" "Los atributos :attr:`Color.RED`, :attr:`Color.GREEN`, etc., son *miembros de " "enumeración* (o *miembros de enum*) y son funcionalmente constantes." -#: ../Doc/library/enum.rst:90 +#: ../Doc/library/enum.rst:97 msgid "" "The enum members have *names* and *values* (the name of :attr:`Color.RED` is " "``RED``, the value of :attr:`Color.BLUE` is ``3``, etc.)" @@ -165,7 +175,7 @@ msgstr "" "Los miembros de la enumeración tienen *nombres* y *valores* (el nombre de :" "attr:`Color.RED` es ``ROJO``, el valor de :attr:`Color.BLUE` es ``3``, etc. )" -#: ../Doc/library/enum.rst:96 +#: ../Doc/library/enum.rst:103 msgid "" "Even though we use the :keyword:`class` syntax to create Enums, Enums are " "not normal Python classes. See `How are Enums different?`_ for more details." @@ -174,32 +184,32 @@ msgstr "" "son clases normales de Python. Consulte `¿En qué se diferencian las " "enumeraciones?`_ para obtener más detalles." -#: ../Doc/library/enum.rst:100 +#: ../Doc/library/enum.rst:107 msgid "Enumeration members have human readable string representations::" msgstr "" "Los miembros de la enumeración tienen representaciones de cadenas legibles " "para humanos ::" -#: ../Doc/library/enum.rst:105 +#: ../Doc/library/enum.rst:112 msgid "...while their ``repr`` has more information::" msgstr "…mientras que su ``repr`` tiene más información ::" -#: ../Doc/library/enum.rst:110 +#: ../Doc/library/enum.rst:117 msgid "The *type* of an enumeration member is the enumeration it belongs to::" msgstr "" "El *tipo* de un miembro de enumeración es la enumeración a la que pertenece::" -#: ../Doc/library/enum.rst:118 +#: ../Doc/library/enum.rst:125 msgid "Enum members also have a property that contains just their item name::" msgstr "" "Los miembros de Enum también tienen una propiedad que contiene solo su " "nombre del elemento ::" -#: ../Doc/library/enum.rst:123 +#: ../Doc/library/enum.rst:130 msgid "Enumerations support iteration, in definition order::" msgstr "Las enumeraciones soportan iteración, en orden de definición::" -#: ../Doc/library/enum.rst:139 +#: ../Doc/library/enum.rst:146 msgid "" "Enumeration members are hashable, so they can be used in dictionaries and " "sets::" @@ -207,11 +217,11 @@ msgstr "" "Los miembros de la enumeración son hasheables, por lo que pueden usarse en " "diccionarios y conjuntos::" -#: ../Doc/library/enum.rst:149 +#: ../Doc/library/enum.rst:156 msgid "Programmatic access to enumeration members and their attributes" msgstr "Acceso programático a los miembros de la enumeración y sus atributos" -#: ../Doc/library/enum.rst:151 +#: ../Doc/library/enum.rst:158 msgid "" "Sometimes it's useful to access members in enumerations programmatically (i." "e. situations where ``Color.RED`` won't do because the exact color is not " @@ -222,25 +232,25 @@ msgstr "" "porque no se conoce el color exacto al momento de escribir el programa). " "``Enum`` permite dicho acceso::" -#: ../Doc/library/enum.rst:160 +#: ../Doc/library/enum.rst:167 msgid "If you want to access enum members by *name*, use item access::" msgstr "" "Si desea acceder a los miembros de enumeración por *nombre*, use el acceso a " "elementos::" -#: ../Doc/library/enum.rst:167 +#: ../Doc/library/enum.rst:174 msgid "If you have an enum member and need its :attr:`name` or :attr:`value`::" msgstr "Si tiene un miembro enum y necesita su :attr:`name` o :attr:`value`::" -#: ../Doc/library/enum.rst:177 +#: ../Doc/library/enum.rst:184 msgid "Duplicating enum members and values" msgstr "Duplicando miembros y valores enum" -#: ../Doc/library/enum.rst:179 +#: ../Doc/library/enum.rst:186 msgid "Having two enum members with the same name is invalid::" msgstr "Tener dos miembros enum con el mismo nombre no es válido::" -#: ../Doc/library/enum.rst:189 +#: ../Doc/library/enum.rst:196 msgid "" "However, two enum members are allowed to have the same value. Given two " "members A and B with the same value (and A defined first), B is an alias to " @@ -252,7 +262,7 @@ msgstr "" "un alias de A. La búsqueda por valor del valor de A y B retornará A. La " "búsqueda por nombre de B también retornará A::" -#: ../Doc/library/enum.rst:209 +#: ../Doc/library/enum.rst:216 msgid "" "Attempting to create a member with the same name as an already defined " "attribute (another member, a method, etc.) or attempting to create an " @@ -262,11 +272,11 @@ msgstr "" "(otro miembro, un método, etc.) o intentar crear un atributo con el mismo " "nombre que un miembro no está permitido." -#: ../Doc/library/enum.rst:215 +#: ../Doc/library/enum.rst:222 msgid "Ensuring unique enumeration values" msgstr "Garantizando valores de enumeración únicos" -#: ../Doc/library/enum.rst:217 +#: ../Doc/library/enum.rst:224 msgid "" "By default, enumerations allow multiple names as aliases for the same value. " "When this behavior isn't desired, the following decorator can be used to " @@ -277,7 +287,7 @@ msgstr "" "siguiente decorador para garantizar que cada valor se use solo una vez en la " "enumeración:" -#: ../Doc/library/enum.rst:223 +#: ../Doc/library/enum.rst:230 msgid "" "A :keyword:`class` decorator specifically for enumerations. It searches an " "enumeration's :attr:`__members__` gathering any aliases it finds; if any are " @@ -287,15 +297,15 @@ msgstr "" "una enumeración :attr:`__members__` reuniendo cualquier alias que encuentre; " "si no se encuentra alguno se genera un :exc:`ValueError` con los detalles::" -#: ../Doc/library/enum.rst:241 +#: ../Doc/library/enum.rst:248 msgid "Using automatic values" msgstr "Usando valores automáticos" -#: ../Doc/library/enum.rst:243 +#: ../Doc/library/enum.rst:250 msgid "If the exact value is unimportant you can use :class:`auto`::" msgstr "Si el valor exacto no es importante, puede usar :class:`auto`::" -#: ../Doc/library/enum.rst:254 +#: ../Doc/library/enum.rst:261 msgid "" "The values are chosen by :func:`_generate_next_value_`, which can be " "overridden::" @@ -303,9 +313,10 @@ msgstr "" "Los valores se eligen por :func:`_generate_next_value_`, que se puede " "invalidar::" -#: ../Doc/library/enum.rst:272 +#: ../Doc/library/enum.rst:279 +#, fuzzy msgid "" -"The goal of the default :meth:`_generate_next_value_` methods is to provide " +"The goal of the default :meth:`_generate_next_value_` method is to provide " "the next :class:`int` in sequence with the last :class:`int` provided, but " "the way it does this is an implementation detail and may change." msgstr "" @@ -314,16 +325,21 @@ msgstr "" "`int` proporcionado, pero la forma en que lo hace es un detalle de " "implementación y puede cambiar." -#: ../Doc/library/enum.rst:277 +#: ../Doc/library/enum.rst:285 +msgid "" +"The :meth:`_generate_next_value_` method must be defined before any members." +msgstr "" + +#: ../Doc/library/enum.rst:288 msgid "Iteration" msgstr "Iteración" -#: ../Doc/library/enum.rst:279 +#: ../Doc/library/enum.rst:290 msgid "Iterating over the members of an enum does not provide the aliases::" msgstr "" "Iterar sobre los miembros de una enumeración no proporciona los alias::" -#: ../Doc/library/enum.rst:284 +#: ../Doc/library/enum.rst:295 msgid "" "The special attribute ``__members__`` is a read-only ordered mapping of " "names to members. It includes all names defined in the enumeration, " @@ -333,7 +349,7 @@ msgstr "" "lectura de nombres a miembros. Incluye todos los nombres definidos en la " "enumeración, incluidos los alias::" -#: ../Doc/library/enum.rst:296 +#: ../Doc/library/enum.rst:307 msgid "" "The ``__members__`` attribute can be used for detailed programmatic access " "to the enumeration members. For example, finding all the aliases::" @@ -342,15 +358,15 @@ msgstr "" "detallado a los miembros de la enumeración. Por ejemplo, encontrar todos los " "alias::" -#: ../Doc/library/enum.rst:304 +#: ../Doc/library/enum.rst:315 msgid "Comparisons" msgstr "Comparaciones" -#: ../Doc/library/enum.rst:306 +#: ../Doc/library/enum.rst:317 msgid "Enumeration members are compared by identity::" msgstr "Los miembros de la enumeración se comparan por identidad::" -#: ../Doc/library/enum.rst:315 +#: ../Doc/library/enum.rst:326 msgid "" "Ordered comparisons between enumeration values are *not* supported. Enum " "members are not integers (but see `IntEnum`_ below)::" @@ -359,11 +375,11 @@ msgstr "" "soportadas. Los miembros de Enum no son enteros (pero vea `IntEnum`_ a " "continuación)::" -#: ../Doc/library/enum.rst:323 +#: ../Doc/library/enum.rst:334 msgid "Equality comparisons are defined though::" msgstr "Aunque, las comparaciones de igualdad se definen::" -#: ../Doc/library/enum.rst:332 +#: ../Doc/library/enum.rst:343 msgid "" "Comparisons against non-enumeration values will always compare not equal " "(again, :class:`IntEnum` was explicitly designed to behave differently, see " @@ -373,11 +389,11 @@ msgstr "" "iguales (de nuevo, :class:`IntEnum` fue diseñado explícitamente para " "comportarse de manera diferente, ver más abajo)::" -#: ../Doc/library/enum.rst:341 +#: ../Doc/library/enum.rst:352 msgid "Allowed members and attributes of enumerations" msgstr "Miembros permitidos y atributos de enumeraciones" -#: ../Doc/library/enum.rst:343 +#: ../Doc/library/enum.rst:354 msgid "" "The examples above use integers for enumeration values. Using integers is " "short and handy (and provided by default by the `Functional API`_), but not " @@ -392,7 +408,7 @@ msgstr "" "de una enumeración. Pero si el valor *es* importante, las enumeraciones " "pueden tener valores arbitrarios." -#: ../Doc/library/enum.rst:349 +#: ../Doc/library/enum.rst:360 msgid "" "Enumerations are Python classes, and can have methods and special methods as " "usual. If we have this enumeration::" @@ -400,11 +416,11 @@ msgstr "" "Las enumeraciones son clases de Python y pueden tener métodos y métodos " "especiales como de costumbre. Si tenemos esta enumeración ::" -#: ../Doc/library/enum.rst:369 +#: ../Doc/library/enum.rst:380 msgid "Then::" msgstr "Después::" -#: ../Doc/library/enum.rst:378 +#: ../Doc/library/enum.rst:389 msgid "" "The rules for what is allowed are as follows: names that start and end with " "a single underscore are reserved by enum and cannot be used; all other " @@ -421,21 +437,22 @@ msgstr "" "(los métodos también son descriptores) y nombres de variables listado en :" "attr:`_ignore_`." -#: ../Doc/library/enum.rst:385 +#: ../Doc/library/enum.rst:396 +#, fuzzy msgid "" "Note: if your enumeration defines :meth:`__new__` and/or :meth:`__init__` " -"then whatever value(s) were given to the enum member will be passed into " -"those methods. See `Planet`_ for an example." +"then any value(s) given to the enum member will be passed into those " +"methods. See `Planet`_ for an example." msgstr "" "Nota: si tu enumeración define :meth:`__new__` y/o :meth:`__init__`, los " "valores que se hayan dado al miembro enum se pasarán a esos métodos. Ver " "`Planeta`_ para un ejemplo." -#: ../Doc/library/enum.rst:391 +#: ../Doc/library/enum.rst:402 msgid "Restricted Enum subclassing" msgstr "Subclases restringidas de Enum" -#: ../Doc/library/enum.rst:393 +#: ../Doc/library/enum.rst:404 msgid "" "A new :class:`Enum` class must have one base Enum class, up to one concrete " "data type, and as many :class:`object`-based mixin classes as needed. The " @@ -445,7 +462,7 @@ msgstr "" "de datos concreto, y tantas clases mixin basadas en :class:`object` como " "sean necesarias. El orden de estas clases base es::" -#: ../Doc/library/enum.rst:400 +#: ../Doc/library/enum.rst:411 msgid "" "Also, subclassing an enumeration is allowed only if the enumeration does not " "define any members. So this is forbidden::" @@ -453,11 +470,11 @@ msgstr "" "Además, la subclasificación de una enumeración solo está permitida si la " "enumeración no define ningún miembro. Entonces esto está prohibido::" -#: ../Doc/library/enum.rst:410 +#: ../Doc/library/enum.rst:421 msgid "But this is allowed::" msgstr "Pero esto es permitido::" -#: ../Doc/library/enum.rst:421 +#: ../Doc/library/enum.rst:432 msgid "" "Allowing subclassing of enums that define members would lead to a violation " "of some important invariants of types and instances. On the other hand, it " @@ -470,15 +487,15 @@ msgstr "" "comportamiento común entre un grupo de enumeraciones. (Ver `OrderedEnum`_ " "para un ejemplo.)" -#: ../Doc/library/enum.rst:428 +#: ../Doc/library/enum.rst:439 msgid "Pickling" msgstr "Serialización" -#: ../Doc/library/enum.rst:430 +#: ../Doc/library/enum.rst:441 msgid "Enumerations can be pickled and unpickled::" msgstr "Las enumeraciones se pueden serializar y desempaquetar::" -#: ../Doc/library/enum.rst:437 +#: ../Doc/library/enum.rst:448 msgid "" "The usual restrictions for pickling apply: picklable enums must be defined " "in the top level of a module, since unpickling requires them to be " @@ -488,7 +505,7 @@ msgstr "" "las enum seleccionables se deben definir en el nivel superior de un módulo, " "ya que el desempaquetado requiere que sean importables desde ese módulo." -#: ../Doc/library/enum.rst:443 +#: ../Doc/library/enum.rst:454 msgid "" "With pickle protocol version 4 it is possible to easily pickle enums nested " "in other classes." @@ -496,7 +513,7 @@ msgstr "" "Con la versión 4 del protocolo de serialización (*pickle*), es posible " "seleccionar fácilmente las enumeraciones anidadas en otras clases." -#: ../Doc/library/enum.rst:446 +#: ../Doc/library/enum.rst:457 msgid "" "It is possible to modify how Enum members are pickled/unpickled by defining :" "meth:`__reduce_ex__` in the enumeration class." @@ -504,18 +521,18 @@ msgstr "" "Es posible modificar la forma en que los miembros de Enum se serializan/" "desempaquetan definiendo :meth:`__reduce_ex__` en la clase de enumeración." -#: ../Doc/library/enum.rst:451 +#: ../Doc/library/enum.rst:462 msgid "Functional API" msgstr "API Funcional" -#: ../Doc/library/enum.rst:453 +#: ../Doc/library/enum.rst:464 msgid "" "The :class:`Enum` class is callable, providing the following functional API::" msgstr "" "La clase :class:`Enum` es invocable, proporcionando la siguiente API " "funcional::" -#: ../Doc/library/enum.rst:465 +#: ../Doc/library/enum.rst:476 msgid "" "The semantics of this API resemble :class:`~collections.namedtuple`. The " "first argument of the call to :class:`Enum` is the name of the enumeration." @@ -524,7 +541,7 @@ msgstr "" "primer argumento de la llamada a :class:`Enum` es el nombre de la " "enumeración." -#: ../Doc/library/enum.rst:468 +#: ../Doc/library/enum.rst:479 msgid "" "The second argument is the *source* of enumeration member names. It can be " "a whitespace-separated string of names, a sequence of names, a sequence of 2-" @@ -545,7 +562,7 @@ msgstr "" "nueva clase derivada de :class:`Enum`. En otras palabras, la asignación de " "arriba :class:`Animal` es equivalente a::" -#: ../Doc/library/enum.rst:484 +#: ../Doc/library/enum.rst:495 msgid "" "The reason for defaulting to ``1`` as the starting number and not ``0`` is " "that ``0`` is ``False`` in a boolean sense, but enum members all evaluate to " @@ -555,7 +572,7 @@ msgstr "" "no ``0`` es que ``0`` es ``False`` en sentido booleano, pero todos los " "miembros enum evalúan como ``True``." -#: ../Doc/library/enum.rst:488 +#: ../Doc/library/enum.rst:499 msgid "" "Pickling enums created with the functional API can be tricky as frame stack " "implementation details are used to try and figure out which module the " @@ -570,7 +587,7 @@ msgstr "" "puede no funcionar en IronPython o Jython). La solución es especificar el " "nombre del módulo explícitamente de la siguiente manera::" -#: ../Doc/library/enum.rst:498 +#: ../Doc/library/enum.rst:509 msgid "" "If ``module`` is not supplied, and Enum cannot determine what it is, the new " "Enum members will not be unpicklable; to keep errors closer to the source, " @@ -580,7 +597,7 @@ msgstr "" "miembros del nuevo Enum no se podrán desempaquetar; para mantener los " "errores más cerca de la fuente, la serialización se deshabilitará." -#: ../Doc/library/enum.rst:502 +#: ../Doc/library/enum.rst:513 msgid "" "The new pickle protocol 4 also, in some circumstances, relies on :attr:" "`~definition.__qualname__` being set to the location where pickle will be " @@ -592,7 +609,7 @@ msgstr "" "la serialización podrá encontrar la clase. Por ejemplo, si la clase se hizo " "disponible en la clase SomeData en el campo global::" -#: ../Doc/library/enum.rst:509 +#: ../Doc/library/enum.rst:520 msgid "The complete signature is::" msgstr "La firma completa es::" @@ -600,7 +617,7 @@ msgstr "La firma completa es::" msgid "value" msgstr "valor" -#: ../Doc/library/enum.rst:513 +#: ../Doc/library/enum.rst:524 msgid "What the new Enum class will record as its name." msgstr "Lo que la nueva clase Enum registrará como su nombre." @@ -608,7 +625,7 @@ msgstr "Lo que la nueva clase Enum registrará como su nombre." msgid "names" msgstr "nombres" -#: ../Doc/library/enum.rst:515 +#: ../Doc/library/enum.rst:526 msgid "" "The Enum members. This can be a whitespace or comma separated string " "(values will start at 1 unless otherwise specified)::" @@ -617,15 +634,15 @@ msgstr "" "separada por comas (los valores empezarán en 1 a menos que se especifique lo " "contrario)::" -#: ../Doc/library/enum.rst:520 +#: ../Doc/library/enum.rst:531 msgid "or an iterator of names::" msgstr "o un iterador de nombres::" -#: ../Doc/library/enum.rst:524 +#: ../Doc/library/enum.rst:535 msgid "or an iterator of (name, value) pairs::" msgstr "o un iterador de pares(nombre,valor)::" -#: ../Doc/library/enum.rst:528 +#: ../Doc/library/enum.rst:539 msgid "or a mapping::" msgstr "o un mapeo::" @@ -633,7 +650,7 @@ msgstr "o un mapeo::" msgid "module" msgstr "módulo" -#: ../Doc/library/enum.rst:532 +#: ../Doc/library/enum.rst:543 msgid "name of module where new Enum class can be found." msgstr "nombre del módulo donde se puede encontrar la nueva clase Enum." @@ -641,7 +658,7 @@ msgstr "nombre del módulo donde se puede encontrar la nueva clase Enum." msgid "qualname" msgstr "qualname" -#: ../Doc/library/enum.rst:534 +#: ../Doc/library/enum.rst:545 msgid "where in module new Enum class can be found." msgstr "donde en el módulo se puede encontrar la nueva clase Enum." @@ -649,7 +666,7 @@ msgstr "donde en el módulo se puede encontrar la nueva clase Enum." msgid "type" msgstr "tipo" -#: ../Doc/library/enum.rst:536 +#: ../Doc/library/enum.rst:547 msgid "type to mix in to new Enum class." msgstr "escriba para mezclar en la nueva clase Enum." @@ -657,23 +674,23 @@ msgstr "escriba para mezclar en la nueva clase Enum." msgid "start" msgstr "inicio" -#: ../Doc/library/enum.rst:538 +#: ../Doc/library/enum.rst:549 msgid "number to start counting at if only names are passed in." msgstr "número para comenzar a contar sí solo se pasan nombres." -#: ../Doc/library/enum.rst:540 +#: ../Doc/library/enum.rst:551 msgid "The *start* parameter was added." msgstr "Se agregó el parámetro *start*." -#: ../Doc/library/enum.rst:545 +#: ../Doc/library/enum.rst:556 msgid "Derived Enumerations" msgstr "Enumeraciones derivadas" -#: ../Doc/library/enum.rst:548 +#: ../Doc/library/enum.rst:559 msgid "IntEnum" msgstr "IntEnum" -#: ../Doc/library/enum.rst:550 +#: ../Doc/library/enum.rst:561 msgid "" "The first variation of :class:`Enum` that is provided is also a subclass of :" "class:`int`. Members of an :class:`IntEnum` can be compared to integers; by " @@ -685,7 +702,7 @@ msgstr "" "comparar con enteros; por extensión, las enumeraciones enteras de diferentes " "tipos también se pueden comparar entre sí::" -#: ../Doc/library/enum.rst:571 +#: ../Doc/library/enum.rst:582 msgid "" "However, they still can't be compared to standard :class:`Enum` " "enumerations::" @@ -693,18 +710,18 @@ msgstr "" "Sin embargo, todavía no se pueden comparar con las enumeraciones estándar :" "class:`Enum`::" -#: ../Doc/library/enum.rst:584 +#: ../Doc/library/enum.rst:595 msgid "" ":class:`IntEnum` values behave like integers in other ways you'd expect::" msgstr "" "los valores :class:`IntEnum` se comportan como enteros en otras maneras que " "esperarías::" -#: ../Doc/library/enum.rst:595 +#: ../Doc/library/enum.rst:606 msgid "IntFlag" msgstr "IntFlag" -#: ../Doc/library/enum.rst:597 +#: ../Doc/library/enum.rst:608 msgid "" "The next variation of :class:`Enum` provided, :class:`IntFlag`, is also " "based on :class:`int`. The difference being :class:`IntFlag` members can be " @@ -723,15 +740,15 @@ msgstr "" "miembro :class:`IntFlag` además de las operaciones de bit perderán la " "membresía :class:`IntFlag`." -#: ../Doc/library/enum.rst:607 +#: ../Doc/library/enum.rst:618 msgid "Sample :class:`IntFlag` class::" msgstr "Clase muestra :class:`IntFlag`::" -#: ../Doc/library/enum.rst:623 +#: ../Doc/library/enum.rst:634 msgid "It is also possible to name the combinations::" msgstr "También es posible nombrar las combinaciones::" -#: ../Doc/library/enum.rst:635 +#: ../Doc/library/enum.rst:646 msgid "" "Another important difference between :class:`IntFlag` and :class:`Enum` is " "that if no flags are set (the value is 0), its boolean evaluation is :data:" @@ -741,7 +758,7 @@ msgstr "" "no hay banderas establecidas (el valor es 0), su evaluación booleana es :" "data:`False`::" -#: ../Doc/library/enum.rst:643 +#: ../Doc/library/enum.rst:654 msgid "" "Because :class:`IntFlag` members are also subclasses of :class:`int` they " "can be combined with them::" @@ -749,11 +766,11 @@ msgstr "" "Porque los miembros :class:`IntFlag` también son subclases de :class:`int` " "se pueden combinar con ellos::" -#: ../Doc/library/enum.rst:651 +#: ../Doc/library/enum.rst:662 msgid "Flag" msgstr "Bandera" -#: ../Doc/library/enum.rst:653 +#: ../Doc/library/enum.rst:664 msgid "" "The last variation is :class:`Flag`. Like :class:`IntFlag`, :class:`Flag` " "members can be combined using the bitwise operators (&, \\|, ^, ~). Unlike :" @@ -769,7 +786,7 @@ msgstr "" "los valores directamente, se recomienda usar :class:`auto` como el valor y " "dejar que :class:`Flag` seleccione el valor apropiado." -#: ../Doc/library/enum.rst:662 +#: ../Doc/library/enum.rst:673 msgid "" "Like :class:`IntFlag`, if a combination of :class:`Flag` members results in " "no flags being set, the boolean evaluation is :data:`False`::" @@ -778,7 +795,7 @@ msgstr "" "resultan en que no se establezcan banderas, la evaluación booleana es :data:" "`False`::" -#: ../Doc/library/enum.rst:676 +#: ../Doc/library/enum.rst:687 msgid "" "Individual flags should have values that are powers of two (1, 2, 4, " "8, ...), while combinations of flags won't::" @@ -786,7 +803,7 @@ msgstr "" "Las banderas individuales deben tener valores que sean potencias de dos (1, " "2, 4, 8, …), mientras que las combinaciones de banderas no::" -#: ../Doc/library/enum.rst:688 +#: ../Doc/library/enum.rst:699 msgid "" "Giving a name to the \"no flags set\" condition does not change its boolean " "value::" @@ -794,7 +811,7 @@ msgstr "" "Dar un nombre a la condición \"sin banderas establecidas\" no cambia su " "valor booleano::" -#: ../Doc/library/enum.rst:704 +#: ../Doc/library/enum.rst:715 msgid "" "For the majority of new code, :class:`Enum` and :class:`Flag` are strongly " "recommended, since :class:`IntEnum` and :class:`IntFlag` break some semantic " @@ -812,11 +829,11 @@ msgstr "" "`Flag` no son suficientes: por ejemplo, cuando las constantes enteras se " "reemplazan por enumeraciones, o por interoperabilidad con otros sistemas." -#: ../Doc/library/enum.rst:714 +#: ../Doc/library/enum.rst:725 msgid "Others" msgstr "Otros" -#: ../Doc/library/enum.rst:716 +#: ../Doc/library/enum.rst:727 msgid "" "While :class:`IntEnum` is part of the :mod:`enum` module, it would be very " "simple to implement independently::" @@ -824,7 +841,7 @@ msgstr "" "Mientras que :class:`IntEnum` es parte del módulo :mod:`enum`, sería muy " "simple de implementar de forma independiente::" -#: ../Doc/library/enum.rst:722 +#: ../Doc/library/enum.rst:733 msgid "" "This demonstrates how similar derived enumerations can be defined; for " "example a :class:`StrEnum` that mixes in :class:`str` instead of :class:" @@ -834,11 +851,11 @@ msgstr "" "ejemplo una :class:`StrEnum` que se mezcla en :class:`str` en lugar de :" "class:`int`." -#: ../Doc/library/enum.rst:725 +#: ../Doc/library/enum.rst:736 msgid "Some rules:" msgstr "Algunas reglas:" -#: ../Doc/library/enum.rst:727 +#: ../Doc/library/enum.rst:738 msgid "" "When subclassing :class:`Enum`, mix-in types must appear before :class:" "`Enum` itself in the sequence of bases, as in the :class:`IntEnum` example " @@ -848,13 +865,13 @@ msgstr "" "`Enum` en la secuencia de bases, como en el ejemplo anterior :class:" "`IntEnum`." -#: ../Doc/library/enum.rst:730 +#: ../Doc/library/enum.rst:741 +#, fuzzy msgid "" "While :class:`Enum` can have members of any type, once you mix in an " "additional type, all the members must have values of that type, e.g. :class:" "`int` above. This restriction does not apply to mix-ins which only add " -"methods and don't specify another data type such as :class:`int` or :class:" -"`str`." +"methods and don't specify another type." msgstr "" "Mientras que :class:`Enum` puede tener miembros de cualquier tipo, una vez " "que se mezcle tipos adicionales, todos los miembros deben de tener los " @@ -862,7 +879,7 @@ msgstr "" "aplica a las mezclas que solo agregan métodos y no especifican otro tipo de " "datos como :class:`int` o :class:`str`." -#: ../Doc/library/enum.rst:735 +#: ../Doc/library/enum.rst:745 msgid "" "When another data type is mixed in, the :attr:`value` attribute is *not the " "same* as the enum member itself, although it is equivalent and will compare " @@ -871,7 +888,7 @@ msgstr "" "Cuando se mezcla otro tipo de datos, el atributo :attr:`value` *no es el " "mismo* que el mismo miembro enum, aunque es equivalente y se comparará igual." -#: ../Doc/library/enum.rst:738 +#: ../Doc/library/enum.rst:748 #, python-format msgid "" "%-style formatting: `%s` and `%r` call the :class:`Enum` class's :meth:" @@ -882,22 +899,21 @@ msgstr "" "meth:`__repr__` de la clase :class:`Enum`; otros códigos (como `&i` o `%h` " "para IntEnum) tratan al miembro enum como su tipo mixto." -#: ../Doc/library/enum.rst:741 +#: ../Doc/library/enum.rst:751 msgid "" ":ref:`Formatted string literals `, :meth:`str.format`, and :func:" -"`format` will use the mixed-in type's :meth:`__format__`. If the :class:" -"`Enum` class's :func:`str` or :func:`repr` is desired, use the `!s` or `!r` " -"format codes." +"`format` will use the mixed-in type's :meth:`__format__` unless :meth:" +"`__str__` or :meth:`__format__` is overridden in the subclass, in which case " +"the overridden methods or :class:`Enum` methods will be used. Use the !s " +"and !r format codes to force usage of the :class:`Enum` class's :meth:" +"`__str__` and :meth:`__repr__` methods." msgstr "" -":ref:`Formatted string literals `, :meth:`str.format`, y :func:" -"`format` usará el tipo mixto :meth:`__format__`. Si desea la :func:`str` de " -"la clase :class:`Enum` o :func:`repr`, use los códigos `!s` o `!r`." -#: ../Doc/library/enum.rst:747 +#: ../Doc/library/enum.rst:759 msgid "When to use :meth:`__new__` vs. :meth:`__init__`" msgstr "Cuándo usar :meth:`__new__` contra :meth:`__init__`" -#: ../Doc/library/enum.rst:749 +#: ../Doc/library/enum.rst:761 msgid "" ":meth:`__new__` must be used whenever you want to customize the actual value " "of the :class:`Enum` member. Any other modifications may go in either :meth:" @@ -907,7 +923,7 @@ msgstr "" "miembro real :class:`Emum`. Cualquier otra modificación puede ir en :meth:" "`__new__` o :meth:`__init__`, prefiriendo siempre :meth:`__init__`." -#: ../Doc/library/enum.rst:753 +#: ../Doc/library/enum.rst:765 msgid "" "For example, if you want to pass several items to the constructor, but only " "want one of them to be the value::" @@ -915,11 +931,11 @@ msgstr "" "Por ejemplo, si desea pasar varios elementos al constructor, pero solo desea " "que uno de ellos sea el valor::" -#: ../Doc/library/enum.rst:779 +#: ../Doc/library/enum.rst:791 msgid "Interesting examples" msgstr "Ejemplos interesantes" -#: ../Doc/library/enum.rst:781 +#: ../Doc/library/enum.rst:793 msgid "" "While :class:`Enum`, :class:`IntEnum`, :class:`IntFlag`, and :class:`Flag` " "are expected to cover the majority of use-cases, they cannot cover them " @@ -931,11 +947,11 @@ msgstr "" "todos. Aquí hay recetas para algunos tipos diferentes de enumeraciones que " "puede usarse directamente, o como ejemplos para crear los propios." -#: ../Doc/library/enum.rst:788 +#: ../Doc/library/enum.rst:800 msgid "Omitting values" msgstr "Omitir valores" -#: ../Doc/library/enum.rst:790 +#: ../Doc/library/enum.rst:802 msgid "" "In many use-cases one doesn't care what the actual value of an enumeration " "is. There are several ways to define this type of simple enumeration:" @@ -943,19 +959,19 @@ msgstr "" "En muchos casos de uso, a uno no le importa cuál es el valor real de una " "enumeración. Hay varias formas de definir este tipo de enumeración simple:" -#: ../Doc/library/enum.rst:793 +#: ../Doc/library/enum.rst:805 msgid "use instances of :class:`auto` for the value" msgstr "use instancias de :class:`auto` para el valor" -#: ../Doc/library/enum.rst:794 +#: ../Doc/library/enum.rst:806 msgid "use instances of :class:`object` as the value" msgstr "use instancias de :class:`object` como el valor" -#: ../Doc/library/enum.rst:795 +#: ../Doc/library/enum.rst:807 msgid "use a descriptive string as the value" msgstr "use a descriptive string as the value" -#: ../Doc/library/enum.rst:796 +#: ../Doc/library/enum.rst:808 msgid "" "use a tuple as the value and a custom :meth:`__new__` to replace the tuple " "with an :class:`int` value" @@ -963,7 +979,7 @@ msgstr "" "use una tupla como valor y un :meth:`__new__` personalizado para reemplazar " "la tupla con un valor :class:`int`" -#: ../Doc/library/enum.rst:799 +#: ../Doc/library/enum.rst:811 msgid "" "Using any of these methods signifies to the user that these values are not " "important, and also enables one to add, remove, or reorder members without " @@ -973,7 +989,7 @@ msgstr "" "valores no son importantes y también permite agregar, eliminar o reordenar " "miembros sin tener que volver a numerar los miembros restantes." -#: ../Doc/library/enum.rst:803 +#: ../Doc/library/enum.rst:815 msgid "" "Whichever method you choose, you should provide a :meth:`repr` that also " "hides the (unimportant) value::" @@ -981,39 +997,51 @@ msgstr "" "Cualquiera que sea el método que elijas, debe proporcionar un :meth:`repr` " "que también oculte el valor (sin importancia)::" -#: ../Doc/library/enum.rst:813 +#: ../Doc/library/enum.rst:825 msgid "Using :class:`auto`" msgstr "Usando :class:`auto`" -#: ../Doc/library/enum.rst:815 +#: ../Doc/library/enum.rst:827 msgid "Using :class:`auto` would look like::" msgstr "Usando :class:`auto` se vería como::" -#: ../Doc/library/enum.rst:827 +#: ../Doc/library/enum.rst:839 msgid "Using :class:`object`" msgstr "Usando :class:`object`" -#: ../Doc/library/enum.rst:829 +#: ../Doc/library/enum.rst:841 msgid "Using :class:`object` would look like::" msgstr "Usando :class:`object` se vería como::" -#: ../Doc/library/enum.rst:841 +#: ../Doc/library/enum.rst:853 msgid "Using a descriptive string" msgstr "Usando una cadena descriptiva" -#: ../Doc/library/enum.rst:843 +#: ../Doc/library/enum.rst:855 msgid "Using a string as the value would look like::" msgstr "Usar una cadena como valor se vería así::" -#: ../Doc/library/enum.rst:857 +#: ../Doc/library/enum.rst:869 msgid "Using a custom :meth:`__new__`" msgstr "Usando :meth:`__new__` personalizados" -#: ../Doc/library/enum.rst:859 +#: ../Doc/library/enum.rst:871 msgid "Using an auto-numbering :meth:`__new__` would look like::" msgstr "Usando una numeración automática :meth:`__new__` se vería como::" -#: ../Doc/library/enum.rst:881 +#: ../Doc/library/enum.rst:890 +msgid "" +"To make a more general purpose ``AutoNumber``, add ``*args`` to the " +"signature::" +msgstr "" + +#: ../Doc/library/enum.rst:900 +msgid "" +"Then when you inherit from ``AutoNumber`` you can write your own " +"``__init__`` to handle any extra arguments::" +msgstr "" + +#: ../Doc/library/enum.rst:919 msgid "" "The :meth:`__new__` method, if defined, is used during creation of the Enum " "members; it is then replaced by Enum's :meth:`__new__` which is used after " @@ -1023,11 +1051,11 @@ msgstr "" "miembros Enum; se remplaza entonces por el Enum :meth:`__new__` que se " "utiliza después de la creación de la clase para buscar miembros existentes." -#: ../Doc/library/enum.rst:887 +#: ../Doc/library/enum.rst:925 msgid "OrderedEnum" msgstr "OrderedEnum" -#: ../Doc/library/enum.rst:889 +#: ../Doc/library/enum.rst:927 msgid "" "An ordered enumeration that is not based on :class:`IntEnum` and so " "maintains the normal :class:`Enum` invariants (such as not being comparable " @@ -1037,11 +1065,11 @@ msgstr "" "mantiene los invariantes normales de :class:`Enum` (como no ser comparables " "con otras enumeraciones)::" -#: ../Doc/library/enum.rst:923 +#: ../Doc/library/enum.rst:961 msgid "DuplicateFreeEnum" msgstr "DuplicateFreeEnum" -#: ../Doc/library/enum.rst:925 +#: ../Doc/library/enum.rst:963 msgid "" "Raises an error if a duplicate member name is found instead of creating an " "alias::" @@ -1049,7 +1077,7 @@ msgstr "" "Levanta un error si se encuentra un nombre de miembro duplicado en lugar de " "crear un alias::" -#: ../Doc/library/enum.rst:950 +#: ../Doc/library/enum.rst:988 msgid "" "This is a useful example for subclassing Enum to add or change other " "behaviors as well as disallowing aliases. If the only desired change is " @@ -1059,11 +1087,11 @@ msgstr "" "comportamientos, así como no permitir alias. Si el único cambio deseado es " "no permitir alias, el decorador :func:`unique` puede usarse en su lugar." -#: ../Doc/library/enum.rst:956 +#: ../Doc/library/enum.rst:994 msgid "Planet" msgstr "Planeta" -#: ../Doc/library/enum.rst:958 +#: ../Doc/library/enum.rst:996 msgid "" "If :meth:`__new__` or :meth:`__init__` is defined the value of the enum " "member will be passed to those methods::" @@ -1071,19 +1099,19 @@ msgstr "" "Si :meth:`__new__` o :meth:`__init__` se definen el valor del miembro enum " "se pasará a estos métodos::" -#: ../Doc/library/enum.rst:986 +#: ../Doc/library/enum.rst:1024 msgid "TimePeriod" msgstr "Periodo de tiempo" -#: ../Doc/library/enum.rst:988 +#: ../Doc/library/enum.rst:1026 msgid "An example to show the :attr:`_ignore_` attribute in use::" msgstr "Un ejemplo para mostrar el atributo :attr:`ignore` en uso::" -#: ../Doc/library/enum.rst:1005 +#: ../Doc/library/enum.rst:1043 msgid "How are Enums different?" msgstr "¿Cómo son diferentes las Enums?" -#: ../Doc/library/enum.rst:1007 +#: ../Doc/library/enum.rst:1045 msgid "" "Enums have a custom metaclass that affects many aspects of both derived Enum " "classes and their instances (members)." @@ -1091,11 +1119,11 @@ msgstr "" "Los Enums tienen una metaclase personalizada que afecta muchos aspectos, " "tanto de las clases derivadas Enum como de sus instancias (miembros)." -#: ../Doc/library/enum.rst:1012 +#: ../Doc/library/enum.rst:1050 msgid "Enum Classes" msgstr "Clases Enum" -#: ../Doc/library/enum.rst:1014 +#: ../Doc/library/enum.rst:1052 msgid "" "The :class:`EnumMeta` metaclass is responsible for providing the :meth:" "`__contains__`, :meth:`__dir__`, :meth:`__iter__` and other methods that " @@ -1113,11 +1141,11 @@ msgstr "" "`Enum` sean correctos (como :meth:`__new__`, :meth:`__getnewargs__`, :meth:" "`__str__` y :meth:`__repr__`)." -#: ../Doc/library/enum.rst:1024 +#: ../Doc/library/enum.rst:1062 msgid "Enum Members (aka instances)" msgstr "Miembros de Enum (también conocidos como instancias)" -#: ../Doc/library/enum.rst:1026 +#: ../Doc/library/enum.rst:1064 msgid "" "The most interesting thing about Enum members is that they are singletons. :" "class:`EnumMeta` creates them all while it is creating the :class:`Enum` " @@ -1130,15 +1158,15 @@ msgstr "" "un :meth:`__new__` personalizado para garantizar que nunca se creen " "instancias nuevas retornando solo las instancias de miembros existentes." -#: ../Doc/library/enum.rst:1034 +#: ../Doc/library/enum.rst:1072 msgid "Finer Points" msgstr "Puntos más finos" -#: ../Doc/library/enum.rst:1037 +#: ../Doc/library/enum.rst:1075 msgid "Supported ``__dunder__`` names" msgstr "Nombres soportados ``__dunder__``" -#: ../Doc/library/enum.rst:1039 +#: ../Doc/library/enum.rst:1077 msgid "" ":attr:`__members__` is a read-only ordered mapping of ``member_name``:" "``member`` items. It is only available on the class." @@ -1146,7 +1174,7 @@ msgstr "" ":attr:`__members__` es una asignación ordenada de solo lectura de artículos " "``member_name``:``member``. Solo está disponible en la clase." -#: ../Doc/library/enum.rst:1042 +#: ../Doc/library/enum.rst:1080 msgid "" ":meth:`__new__`, if specified, must create and return the enum members; it " "is also a very good idea to set the member's :attr:`_value_` appropriately. " @@ -1157,21 +1185,21 @@ msgstr "" "miembro apropiadamente. Una vez que se crean todos los miembros, ya no se " "usa." -#: ../Doc/library/enum.rst:1048 +#: ../Doc/library/enum.rst:1086 msgid "Supported ``_sunder_`` names" msgstr "Nombres ``_sunder_`` compatibles" -#: ../Doc/library/enum.rst:1050 +#: ../Doc/library/enum.rst:1088 msgid "``_name_`` -- name of the member" msgstr "``_name_``— nombre del miembro" -#: ../Doc/library/enum.rst:1051 +#: ../Doc/library/enum.rst:1089 msgid "" "``_value_`` -- value of the member; can be set / modified in ``__new__``" msgstr "" "``_value_`` — valor del miembr0; se puede definir / modificar en ``__new__``" -#: ../Doc/library/enum.rst:1053 +#: ../Doc/library/enum.rst:1091 msgid "" "``_missing_`` -- a lookup function used when a value is not found; may be " "overridden" @@ -1179,17 +1207,18 @@ msgstr "" "``_missing_`` — una función de búsqueda utilizada cuando no se encuentra un " "valor; puede ser anulado" -#: ../Doc/library/enum.rst:1055 +#: ../Doc/library/enum.rst:1093 +#, fuzzy msgid "" -"``_ignore_`` -- a list of names, either as a :func:`list` or a :func:`str`, " -"that will not be transformed into members, and will be removed from the " -"final class" +"``_ignore_`` -- a list of names, either as a :class:`list` or a :class:" +"`str`, that will not be transformed into members, and will be removed from " +"the final class" msgstr "" "``_ignore_`` — una lista de nombres, ya sea como una :func:`list` o una :" "func:`str` que no será transformada en miembros, y que se eliminará de la " "clase final" -#: ../Doc/library/enum.rst:1058 +#: ../Doc/library/enum.rst:1096 msgid "" "``_order_`` -- used in Python 2/3 code to ensure member order is consistent " "(class attribute, removed during class creation)" @@ -1198,7 +1227,7 @@ msgstr "" "miembros sea consistente (atributo de clase, eliminado durante la creación " "de la clase)" -#: ../Doc/library/enum.rst:1060 +#: ../Doc/library/enum.rst:1098 msgid "" "``_generate_next_value_`` -- used by the `Functional API`_ and by :class:" "`auto` to get an appropriate value for an enum member; may be overridden" @@ -1207,15 +1236,15 @@ msgstr "" "`auto` para obtener un valor apropiado para un miembro enum; puede ser " "anulado" -#: ../Doc/library/enum.rst:1064 +#: ../Doc/library/enum.rst:1102 msgid "``_missing_``, ``_order_``, ``_generate_next_value_``" msgstr "``_missing_``, ``_order_``, ``_generate_next_value_``" -#: ../Doc/library/enum.rst:1065 +#: ../Doc/library/enum.rst:1103 msgid "``_ignore_``" msgstr "``_ignore_``" -#: ../Doc/library/enum.rst:1067 +#: ../Doc/library/enum.rst:1105 msgid "" "To help keep Python 2 / Python 3 code in sync an :attr:`_order_` attribute " "can be provided. It will be checked against the actual order of the " @@ -1225,7 +1254,7 @@ msgstr "" "proporcionar un atributo :attr:`_order_`. Se verificará con el orden real de " "la enumeración y generará un error si los dos no coinciden:" -#: ../Doc/library/enum.rst:1083 +#: ../Doc/library/enum.rst:1121 msgid "" "In Python 2 code the :attr:`_order_` attribute is necessary as definition " "order is lost before it can be recorded." @@ -1233,11 +1262,22 @@ msgstr "" "En código Python 2 el atributo :attr:`_order_` es necesario ya que el orden " "de definición se pierde antes de que se pueda registrar." -#: ../Doc/library/enum.rst:1087 +#: ../Doc/library/enum.rst:1126 +msgid "_Private__names" +msgstr "" + +#: ../Doc/library/enum.rst:1128 +msgid "" +"Private names will be normal attributes in Python 3.10 instead of either an " +"error or a member (depending on if the name ends with an underscore). Using " +"these names in 3.9 will issue a :exc:`DeprecationWarning`." +msgstr "" + +#: ../Doc/library/enum.rst:1134 msgid "``Enum`` member type" msgstr "Tipo de miembro ``Enum``" -#: ../Doc/library/enum.rst:1089 +#: ../Doc/library/enum.rst:1136 msgid "" ":class:`Enum` members are instances of their :class:`Enum` class, and are " "normally accessed as ``EnumClass.member``. Under certain circumstances they " @@ -1254,11 +1294,11 @@ msgstr "" "otra buena razón para usar solo mayúsculas en los nombres para los " "miembros)::" -#: ../Doc/library/enum.rst:1110 +#: ../Doc/library/enum.rst:1157 msgid "Boolean value of ``Enum`` classes and members" msgstr "Valor booleano de las clases y miembros ``Enum``" -#: ../Doc/library/enum.rst:1112 +#: ../Doc/library/enum.rst:1159 msgid "" ":class:`Enum` members that are mixed with non-:class:`Enum` types (such as :" "class:`int`, :class:`str`, etc.) are evaluated according to the mixed-in " @@ -1272,15 +1312,15 @@ msgstr "" "`True`. Para hacer que tu propia evaluación booleana de Enum dependa del " "valor del miembro, agregue lo siguiente a su clase::" -#: ../Doc/library/enum.rst:1121 +#: ../Doc/library/enum.rst:1168 msgid ":class:`Enum` classes always evaluate as :data:`True`." msgstr "las clases :class:`Enum` siempre evalúan como :data:`True`." -#: ../Doc/library/enum.rst:1125 +#: ../Doc/library/enum.rst:1172 msgid "``Enum`` classes with methods" msgstr "``Enum`` clases con métodos" -#: ../Doc/library/enum.rst:1127 +#: ../Doc/library/enum.rst:1174 msgid "" "If you give your :class:`Enum` subclass extra methods, like the `Planet`_ " "class above, those methods will show up in a :func:`dir` of the member, but " @@ -1290,11 +1330,11 @@ msgstr "" "`Planet`_ anterior, esos métodos aparecerán en una :func:`dir` del miembro, " "pero no de la clase ::" -#: ../Doc/library/enum.rst:1138 +#: ../Doc/library/enum.rst:1185 msgid "Combining members of ``Flag``" msgstr "Combinando miembros de``Flag``" -#: ../Doc/library/enum.rst:1140 +#: ../Doc/library/enum.rst:1187 msgid "" "If a combination of Flag members is not named, the :func:`repr` will include " "all named flags and all named combinations of flags that are in the value::" @@ -1302,3 +1342,13 @@ msgstr "" "Si no se nombra una combinación de miembros de Flag, el :func:`repr` " "incluirá todos los flags con nombre y todas las combinaciones de flags con " "nombre que estén en el valor ::" + +#~ msgid "" +#~ ":ref:`Formatted string literals `, :meth:`str.format`, and :" +#~ "func:`format` will use the mixed-in type's :meth:`__format__`. If the :" +#~ "class:`Enum` class's :func:`str` or :func:`repr` is desired, use the `!s` " +#~ "or `!r` format codes." +#~ msgstr "" +#~ ":ref:`Formatted string literals `, :meth:`str.format`, y :func:" +#~ "`format` usará el tipo mixto :meth:`__format__`. Si desea la :func:`str` " +#~ "de la clase :class:`Enum` o :func:`repr`, use los códigos `!s` o `!r`." diff --git a/library/exceptions.po b/library/exceptions.po index 198af995ea..9586927973 100644 --- a/library/exceptions.po +++ b/library/exceptions.po @@ -1,23 +1,25 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. # Maintained by the python-doc-es workteam. -# docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ -# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers +# docs-es@python.org / +# https://mail.python.org/mailman3/lists/docs-es.python.org/ +# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get +# the list of volunteers # msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-06 11:59-0400\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-20 10:03-0500\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.3.1\n" +"Generated-By: Babel 2.8.0\n" #: ../Doc/library/exceptions.rst:4 msgid "Built-in Exceptions" @@ -1125,7 +1127,14 @@ msgstr "" "Clase base para advertencias sobre características obsoletas cuando esas " "advertencias están destinadas a otros desarrolladores de Python." -#: ../Doc/library/exceptions.rst:694 +#: ../Doc/library/exceptions.rst:691 +msgid "" +"Ignored by the default warning filters, except in the ``__main__`` module (:" +"pep:`565`). Enabling the :ref:`Python Development Mode ` shows this " +"warning." +msgstr "" + +#: ../Doc/library/exceptions.rst:698 msgid "" "Base class for warnings about features which are obsolete and expected to be " "deprecated in the future, but are not deprecated at the moment." @@ -1134,7 +1143,7 @@ msgstr "" "se espera que sean obsoletas en el futuro, pero que no lo son en este " "momento." -#: ../Doc/library/exceptions.rst:698 +#: ../Doc/library/exceptions.rst:702 msgid "" "This class is rarely used as emitting a warning about a possible upcoming " "deprecation is unusual, and :exc:`DeprecationWarning` is preferred for " @@ -1144,17 +1153,24 @@ msgstr "" "desaprobación próxima es inusual, y :exc:`DeprecationWarning` se prefiere " "para las desaprobaciones ya activas." -#: ../Doc/library/exceptions.rst:705 +#: ../Doc/library/exceptions.rst:706 ../Doc/library/exceptions.rst:730 +#: ../Doc/library/exceptions.rst:748 +msgid "" +"Ignored by the default warning filters. Enabling the :ref:`Python " +"Development Mode ` shows this warning." +msgstr "" + +#: ../Doc/library/exceptions.rst:712 msgid "Base class for warnings about dubious syntax." msgstr "Clase base para advertencias sobre sintaxis dudosa." -#: ../Doc/library/exceptions.rst:710 +#: ../Doc/library/exceptions.rst:717 msgid "Base class for warnings about dubious runtime behavior." msgstr "" "Clase base para advertencias sobre comportamiento dudoso en tiempo de " "ejecución." -#: ../Doc/library/exceptions.rst:715 +#: ../Doc/library/exceptions.rst:722 msgid "" "Base class for warnings about deprecated features when those warnings are " "intended for end users of applications that are written in Python." @@ -1163,35 +1179,39 @@ msgstr "" "advertencias están destinadas a usuarios finales de aplicaciones escritas en " "Python." -#: ../Doc/library/exceptions.rst:721 +#: ../Doc/library/exceptions.rst:728 msgid "Base class for warnings about probable mistakes in module imports." msgstr "" "Clase base para advertencias sobre posibles errores en la importación de " "módulos." -#: ../Doc/library/exceptions.rst:726 +#: ../Doc/library/exceptions.rst:736 msgid "Base class for warnings related to Unicode." msgstr "Clase base para advertencias relacionadas con Unicode." -#: ../Doc/library/exceptions.rst:731 +#: ../Doc/library/exceptions.rst:741 msgid "" "Base class for warnings related to :class:`bytes` and :class:`bytearray`." msgstr "" "Clase base para advertencias relacionadas con :class:`bytes` y :class:" "`bytearray`." -#: ../Doc/library/exceptions.rst:736 -msgid "" -"Base class for warnings related to resource usage. Ignored by the default " -"warning filters." -msgstr "" -"Clase base para advertencias relacionadas con el uso de recursos. Ignorado " -"por los filtros de advertencia predeterminados." +#: ../Doc/library/exceptions.rst:746 +#, fuzzy +msgid "Base class for warnings related to resource usage." +msgstr "Clase base para advertencias relacionadas con Unicode." -#: ../Doc/library/exceptions.rst:744 +#: ../Doc/library/exceptions.rst:756 msgid "Exception hierarchy" msgstr "Jerarquía de excepción" -#: ../Doc/library/exceptions.rst:746 +#: ../Doc/library/exceptions.rst:758 msgid "The class hierarchy for built-in exceptions is:" msgstr "La jerarquía de clases para las excepciones incorporadas es:" + +#~ msgid "" +#~ "Base class for warnings related to resource usage. Ignored by the default " +#~ "warning filters." +#~ msgstr "" +#~ "Clase base para advertencias relacionadas con el uso de recursos. " +#~ "Ignorado por los filtros de advertencia predeterminados." diff --git a/library/faulthandler.po b/library/faulthandler.po index ed71013603..7798cee3f3 100644 --- a/library/faulthandler.po +++ b/library/faulthandler.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2021-01-21 17:10-0300\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Last-Translator: \n" -"X-Generator: Poedit 2.4.2\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Language: es\n" #: ../Doc/library/faulthandler.rst:2 msgid ":mod:`faulthandler` --- Dump the Python traceback" @@ -116,11 +115,17 @@ msgstr "" "El módulo está implementado en C, así los rastreos se pueden volcar en un " "fallo o cuando Python está en bloqueo mutuo." -#: ../Doc/library/faulthandler.rst:45 +#: ../Doc/library/faulthandler.rst:43 +msgid "" +"The :ref:`Python Development Mode ` calls :func:`faulthandler." +"enable` at Python startup." +msgstr "" + +#: ../Doc/library/faulthandler.rst:48 msgid "Dumping the traceback" msgstr "Volcar el rastreo" -#: ../Doc/library/faulthandler.rst:49 +#: ../Doc/library/faulthandler.rst:52 msgid "" "Dump the tracebacks of all threads into *file*. If *all_threads* is " "``False``, dump only the current thread." @@ -128,16 +133,16 @@ msgstr "" "Vuelca los rastreos de todos los hilos en el archivo *file*. Si " "*all_threads* es ``False``, vuelca solo el hilo actual." -#: ../Doc/library/faulthandler.rst:52 ../Doc/library/faulthandler.rst:70 -#: ../Doc/library/faulthandler.rst:108 ../Doc/library/faulthandler.rst:130 +#: ../Doc/library/faulthandler.rst:55 ../Doc/library/faulthandler.rst:73 +#: ../Doc/library/faulthandler.rst:111 ../Doc/library/faulthandler.rst:133 msgid "Added support for passing file descriptor to this function." msgstr "Se añadió soporte para pasar el descriptor de archivo a esta función." -#: ../Doc/library/faulthandler.rst:57 +#: ../Doc/library/faulthandler.rst:60 msgid "Fault handler state" msgstr "Estado del gestor de fallos" -#: ../Doc/library/faulthandler.rst:61 +#: ../Doc/library/faulthandler.rst:64 msgid "" "Enable the fault handler: install handlers for the :const:`SIGSEGV`, :const:" "`SIGFPE`, :const:`SIGABRT`, :const:`SIGBUS` and :const:`SIGILL` signals to " @@ -150,7 +155,7 @@ msgstr "" "produce rastreos por cada hilo activo. De lo contrario, vuelca solo el hilo " "actual." -#: ../Doc/library/faulthandler.rst:67 +#: ../Doc/library/faulthandler.rst:70 msgid "" "The *file* must be kept open until the fault handler is disabled: see :ref:" "`issue with file descriptors `." @@ -158,11 +163,11 @@ msgstr "" "El archivo *file* se debe mantener abierto hasta que se desactive el gestor " "de fallos: ver :ref:`problema con descriptores de archivo `." -#: ../Doc/library/faulthandler.rst:73 +#: ../Doc/library/faulthandler.rst:76 msgid "On Windows, a handler for Windows exception is also installed." msgstr "En Windows, también se instaló un gestor para la excepción de Windows." -#: ../Doc/library/faulthandler.rst:78 +#: ../Doc/library/faulthandler.rst:81 msgid "" "Disable the fault handler: uninstall the signal handlers installed by :func:" "`enable`." @@ -170,15 +175,15 @@ msgstr "" "Desactiva el gestor de fallos: desinstala los gestores de señales instalados " "por :func:`enable`." -#: ../Doc/library/faulthandler.rst:83 +#: ../Doc/library/faulthandler.rst:86 msgid "Check if the fault handler is enabled." msgstr "Comprueba si el gestor de fallos está activado." -#: ../Doc/library/faulthandler.rst:87 +#: ../Doc/library/faulthandler.rst:90 msgid "Dumping the tracebacks after a timeout" msgstr "Volcar los rastreos después de un tiempo de espera" -#: ../Doc/library/faulthandler.rst:91 +#: ../Doc/library/faulthandler.rst:94 msgid "" "Dump the tracebacks of all threads, after a timeout of *timeout* seconds, or " "every *timeout* seconds if *repeat* is ``True``. If *exit* is ``True``, " @@ -197,7 +202,7 @@ msgstr "" "parámetros previos y reinicia el tiempo de espera. El temporizador tiene una " "resolución de menos de un segundo." -#: ../Doc/library/faulthandler.rst:99 +#: ../Doc/library/faulthandler.rst:102 msgid "" "The *file* must be kept open until the traceback is dumped or :func:" "`cancel_dump_traceback_later` is called: see :ref:`issue with file " @@ -207,23 +212,23 @@ msgstr "" "se llame a :func:`cancel_dump_traceback_later`: ver :ref:`problema con " "descriptores de archivo `." -#: ../Doc/library/faulthandler.rst:103 +#: ../Doc/library/faulthandler.rst:106 msgid "This function is implemented using a watchdog thread." msgstr "Esta función está implementada utilizando un hilo vigilante." -#: ../Doc/library/faulthandler.rst:105 +#: ../Doc/library/faulthandler.rst:108 msgid "This function is now always available." msgstr "Ahora esta función está siempre disponible." -#: ../Doc/library/faulthandler.rst:113 +#: ../Doc/library/faulthandler.rst:116 msgid "Cancel the last call to :func:`dump_traceback_later`." msgstr "Cancela la última llamada a :func:`dump_traceback_later`." -#: ../Doc/library/faulthandler.rst:117 +#: ../Doc/library/faulthandler.rst:120 msgid "Dumping the traceback on a user signal" msgstr "Volcar el rastreo en una señal del usuario" -#: ../Doc/library/faulthandler.rst:121 +#: ../Doc/library/faulthandler.rst:124 msgid "" "Register a user signal: install a handler for the *signum* signal to dump " "the traceback of all threads, or of the current thread if *all_threads* is " @@ -234,7 +239,7 @@ msgstr "" "*all_threads* es ``False``, en el archivo *file*. Llama al gestor previo si " "*chain* es ``True``." -#: ../Doc/library/faulthandler.rst:125 +#: ../Doc/library/faulthandler.rst:128 msgid "" "The *file* must be kept open until the signal is unregistered by :func:" "`unregister`: see :ref:`issue with file descriptors `." @@ -243,11 +248,11 @@ msgstr "" "por :func:`unregister`: ver :ref:`problema con descriptores de archivo " "`." -#: ../Doc/library/faulthandler.rst:128 ../Doc/library/faulthandler.rst:139 +#: ../Doc/library/faulthandler.rst:131 ../Doc/library/faulthandler.rst:142 msgid "Not available on Windows." msgstr "No está disponible en Windows." -#: ../Doc/library/faulthandler.rst:135 +#: ../Doc/library/faulthandler.rst:138 msgid "" "Unregister a user signal: uninstall the handler of the *signum* signal " "installed by :func:`register`. Return ``True`` if the signal was registered, " @@ -257,11 +262,11 @@ msgstr "" "instalada por :func:`register`. Retorna ``True`` si la señal fue registrada, " "``False`` en otro caso." -#: ../Doc/library/faulthandler.rst:145 +#: ../Doc/library/faulthandler.rst:148 msgid "Issue with file descriptors" msgstr "Problema con descriptores de archivo" -#: ../Doc/library/faulthandler.rst:147 +#: ../Doc/library/faulthandler.rst:150 msgid "" ":func:`enable`, :func:`dump_traceback_later` and :func:`register` keep the " "file descriptor of their *file* argument. If the file is closed and its file " @@ -276,11 +281,11 @@ msgstr "" "en un archivo diferente. Llame a estas funciones nuevamente cada vez que se " "reemplace el archivo." -#: ../Doc/library/faulthandler.rst:155 +#: ../Doc/library/faulthandler.rst:158 msgid "Example" msgstr "Ejemplo" -#: ../Doc/library/faulthandler.rst:157 +#: ../Doc/library/faulthandler.rst:160 msgid "" "Example of a segmentation fault on Linux with and without enabling the fault " "handler:" diff --git a/library/fcntl.po b/library/fcntl.po index 9d31048dea..4364c180e5 100644 --- a/library/fcntl.po +++ b/library/fcntl.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-10-07 11:40+0200\n" +"Last-Translator: \n" +"Language: es_ES\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es_ES\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/fcntl.rst:2 msgid ":mod:`fcntl` --- The ``fcntl`` and ``ioctl`` system calls" @@ -71,10 +70,18 @@ msgstr "" "func:`os.memfd_create`." #: ../Doc/library/fcntl.rst:36 +msgid "" +"On macOS, the fcntl module exposes the ``F_GETPATH`` constant, which obtains " +"the path of a file from a file descriptor. On Linux(>=3.15), the fcntl " +"module exposes the ``F_OFD_GETLK``, ``F_OFD_SETLK`` and ``F_OFD_SETLKW`` " +"constants, which working with open file description locks." +msgstr "" + +#: ../Doc/library/fcntl.rst:42 msgid "The module defines the following functions:" msgstr "El módulo define las siguientes funciones:" -#: ../Doc/library/fcntl.rst:41 +#: ../Doc/library/fcntl.rst:47 msgid "" "Perform the operation *cmd* on file descriptor *fd* (file objects providing " "a :meth:`~io.IOBase.fileno` method are accepted as well). The values used " @@ -110,11 +117,11 @@ msgstr "" "probable es que se produzca una violación de segmento o a una corrupción de " "datos más sutil." -#: ../Doc/library/fcntl.rst:58 +#: ../Doc/library/fcntl.rst:64 msgid "If the :c:func:`fcntl` fails, an :exc:`OSError` is raised." msgstr "Si se produce un error en :c:func:`fcntl`, se lanza un :exc:`OSError`." -#: ../Doc/library/fcntl.rst:60 +#: ../Doc/library/fcntl.rst:66 msgid "" "Raises an :ref:`auditing event ` ``fcntl.fcntl`` with arguments " "``fd``, ``cmd``, ``arg``." @@ -122,7 +129,7 @@ msgstr "" "Lanza un :ref:`auditing event ` ``fcntl.fcntl`` con argumentos " "``fd``, ``cmd``, ``arg``." -#: ../Doc/library/fcntl.rst:65 +#: ../Doc/library/fcntl.rst:71 msgid "" "This function is identical to the :func:`~fcntl.fcntl` function, except that " "the argument handling is even more complicated." @@ -130,7 +137,7 @@ msgstr "" "Esta función es idéntica a la función :func:`~fcntl.fcntl`, excepto por el " "manejo de los argumentos que es aún más complicado." -#: ../Doc/library/fcntl.rst:68 +#: ../Doc/library/fcntl.rst:74 msgid "" "The *request* parameter is limited to values that can fit in 32-bits. " "Additional constants of interest for use as the *request* argument can be " @@ -142,7 +149,7 @@ msgstr "" "argumento *request* en el módulo :mod:`termios`, con los mismos nombres que " "se usan en los archivos de cabecera C relevantes." -#: ../Doc/library/fcntl.rst:73 +#: ../Doc/library/fcntl.rst:79 msgid "" "The parameter *arg* can be one of an integer, an object supporting the read-" "only buffer interface (like :class:`bytes`) or an object supporting the read-" @@ -152,7 +159,7 @@ msgstr "" "búfer de solo lectura (como :class:`bytes`) o un objeto que admita una " "interfaz de búfer de lectura-escritura (como: clase :class:`bytearray`)." -#: ../Doc/library/fcntl.rst:77 +#: ../Doc/library/fcntl.rst:83 msgid "" "In all but the last case, behaviour is as for the :func:`~fcntl.fcntl` " "function." @@ -160,7 +167,7 @@ msgstr "" "En todos los casos excepto en el último, el comportamiento es el de la " "función :func:`~fcntl.fcntl`." -#: ../Doc/library/fcntl.rst:80 +#: ../Doc/library/fcntl.rst:86 msgid "" "If a mutable buffer is passed, then the behaviour is determined by the value " "of the *mutate_flag* parameter." @@ -168,7 +175,7 @@ msgstr "" "Si se pasa un búfer mutable, el comportamiento estará determinado por el " "valor del parámetro *mutate_flag*." -#: ../Doc/library/fcntl.rst:83 +#: ../Doc/library/fcntl.rst:89 msgid "" "If it is false, the buffer's mutability is ignored and behaviour is as for a " "read-only buffer, except that the 1024 byte limit mentioned above is avoided " @@ -181,7 +188,7 @@ msgstr "" "menos tan largo como el sistema operativo quiera colocar allí, las cosas " "deberían funcionar." -#: ../Doc/library/fcntl.rst:88 +#: ../Doc/library/fcntl.rst:94 msgid "" "If *mutate_flag* is true (the default), then the buffer is (in effect) " "passed to the underlying :func:`ioctl` system call, the latter's return code " @@ -200,15 +207,15 @@ msgstr "" "que luego se pasa a :func:`ioctl` y se copia de nuevo en el búfer " "proporcionado." -#: ../Doc/library/fcntl.rst:96 +#: ../Doc/library/fcntl.rst:102 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`." -#: ../Doc/library/fcntl.rst:98 +#: ../Doc/library/fcntl.rst:104 msgid "An example::" msgstr "Un ejemplo:" -#: ../Doc/library/fcntl.rst:111 +#: ../Doc/library/fcntl.rst:117 msgid "" "Raises an :ref:`auditing event ` ``fcntl.ioctl`` with arguments " "``fd``, ``request``, ``arg``." @@ -216,7 +223,7 @@ msgstr "" "Lanza un evento :ref:`auditing event ` ``fcntl.ioctl`` con " "argumentos ``fd``, ``request``, ``arg``." -#: ../Doc/library/fcntl.rst:116 +#: ../Doc/library/fcntl.rst:122 msgid "" "Perform the lock operation *operation* on file descriptor *fd* (file objects " "providing a :meth:`~io.IOBase.fileno` method are accepted as well). See the " @@ -229,11 +236,11 @@ msgstr "" "para más detalles. (En algunos sistemas, esta función es emulada usando :c:" "func:`fcntl`.)" -#: ../Doc/library/fcntl.rst:121 +#: ../Doc/library/fcntl.rst:127 msgid "If the :c:func:`flock` fails, an :exc:`OSError` exception is raised." msgstr "Si :c:func:`flock` falla, una excepción :exc:`OSError` se lanza." -#: ../Doc/library/fcntl.rst:123 +#: ../Doc/library/fcntl.rst:129 msgid "" "Raises an :ref:`auditing event ` ``fcntl.flock`` with arguments " "``fd``, ``operation``." @@ -241,7 +248,7 @@ msgstr "" "Lanza un :ref:`auditing event ` ``fcntl.flock`` con argumentos " "``fd``, ``operation``." -#: ../Doc/library/fcntl.rst:128 +#: ../Doc/library/fcntl.rst:134 msgid "" "This is essentially a wrapper around the :func:`~fcntl.fcntl` locking calls. " "*fd* is the file descriptor (file objects providing a :meth:`~io.IOBase." @@ -254,19 +261,19 @@ msgstr "" "archivo para bloquear o desbloquear, y *cmd* es uno de los siguientes " "valores:" -#: ../Doc/library/fcntl.rst:133 +#: ../Doc/library/fcntl.rst:139 msgid ":const:`LOCK_UN` -- unlock" msgstr ":const:`LOCK_UN` -- desbloquear" -#: ../Doc/library/fcntl.rst:134 +#: ../Doc/library/fcntl.rst:140 msgid ":const:`LOCK_SH` -- acquire a shared lock" msgstr ":const:`LOCK_SH` -- adquirir un bloqueo compartido" -#: ../Doc/library/fcntl.rst:135 +#: ../Doc/library/fcntl.rst:141 msgid ":const:`LOCK_EX` -- acquire an exclusive lock" msgstr ":const:`LOCK_EX` -- adquirir un bloqueo exclusivo" -#: ../Doc/library/fcntl.rst:137 +#: ../Doc/library/fcntl.rst:143 msgid "" "When *cmd* is :const:`LOCK_SH` or :const:`LOCK_EX`, it can also be bitwise " "ORed with :const:`LOCK_NB` to avoid blocking on lock acquisition. If :const:" @@ -286,7 +293,7 @@ msgstr "" "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:146 +#: ../Doc/library/fcntl.rst:152 msgid "" "*len* is the number of bytes to lock, *start* is the byte offset at which " "the lock starts, relative to *whence*, and *whence* is as with :func:`io." @@ -296,21 +303,21 @@ msgstr "" "el cual comienza el bloqueo, relativo a *whence*, y *whence* es como con :" "func:`io.IOBase.seek`, específicamente:" -#: ../Doc/library/fcntl.rst:150 +#: ../Doc/library/fcntl.rst:156 msgid ":const:`0` -- relative to the start of the file (:data:`os.SEEK_SET`)" msgstr ":const:`0` -- relativo al comienzo del archivo (:data:`os.SEEK_SET`)" -#: ../Doc/library/fcntl.rst:151 +#: ../Doc/library/fcntl.rst:157 msgid "" ":const:`1` -- relative to the current buffer position (:data:`os.SEEK_CUR`)" msgstr "" ":const:`1` -- relativa a la posición actual del búfer (:data:`os.SEEK_CUR`)" -#: ../Doc/library/fcntl.rst:152 +#: ../Doc/library/fcntl.rst:158 msgid ":const:`2` -- relative to the end of the file (:data:`os.SEEK_END`)" msgstr ":const:`2` -- relativo al final del archivo (:data:`os.SEEK_END`)" -#: ../Doc/library/fcntl.rst:154 +#: ../Doc/library/fcntl.rst:160 msgid "" "The default for *start* is 0, which means to start at the beginning of the " "file. The default for *len* is 0 which means to lock to the end of the " @@ -320,7 +327,7 @@ msgstr "" "del archivo. El valor por defecto para *len* es 0 lo que significa bloquear " "hasta el final del archivo. El valor por defecto para *whence* también es 0." -#: ../Doc/library/fcntl.rst:158 +#: ../Doc/library/fcntl.rst:164 msgid "" "Raises an :ref:`auditing event ` ``fcntl.lockf`` with arguments " "``fd``, ``cmd``, ``len``, ``start``, ``whence``." @@ -328,11 +335,11 @@ msgstr "" "Lanza un :ref:`auditing event ` ``fcntl.lockf`` con argumentos " "``fd``, ``cmd``, ``len``, ``start``, ``whence``." -#: ../Doc/library/fcntl.rst:160 +#: ../Doc/library/fcntl.rst:166 msgid "Examples (all on a SVR4 compliant system)::" msgstr "Ejemplos (todos en un sistema compatible con SVR4)::" -#: ../Doc/library/fcntl.rst:170 +#: ../Doc/library/fcntl.rst:176 msgid "" "Note that in the first example the return value variable *rv* will hold an " "integer value; in the second example it will hold a :class:`bytes` object. " @@ -345,11 +352,11 @@ msgstr "" "depende del sistema --- por lo tanto, usar la llamada :func:`flock` puede " "ser mejor." -#: ../Doc/library/fcntl.rst:181 +#: ../Doc/library/fcntl.rst:187 msgid "Module :mod:`os`" msgstr "Módulo :mod:`os`" -#: ../Doc/library/fcntl.rst:179 +#: ../Doc/library/fcntl.rst:185 msgid "" "If the locking flags :data:`~os.O_SHLOCK` and :data:`~os.O_EXLOCK` are " "present in the :mod:`os` module (on BSD only), the :func:`os.open` function " diff --git a/library/fnmatch.po b/library/fnmatch.po index f4d404335d..91c0b630f3 100644 --- a/library/fnmatch.po +++ b/library/fnmatch.po @@ -1,23 +1,25 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. # Maintained by the python-doc-es workteam. -# docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ -# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers +# docs-es@python.org / +# https://mail.python.org/mailman3/lists/docs-es.python.org/ +# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get +# the list of volunteers # msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-06 11:59-0400\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-09-09 22:24-0400\n" +"Last-Translator: Alice Colman \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Alice Colman \n" -"Language: es\n" -"X-Generator: Poedit 2.4.1\n" +"Generated-By: Babel 2.8.0\n" #: ../Doc/library/fnmatch.rst:2 msgid ":mod:`fnmatch` --- Unix filename pattern matching" @@ -136,10 +138,11 @@ msgstr "" "aplica :func:`os.path.normcase`." #: ../Doc/library/fnmatch.rst:78 +#, fuzzy msgid "" -"Return the subset of the list of *names* that match *pattern*. It is the " -"same as ``[n for n in names if fnmatch(n, pattern)]``, but implemented more " -"efficiently." +"Construct a list from those elements of the iterable *names* that match " +"*pattern*. It is the same as ``[n for n in names if fnmatch(n, pattern)]``, " +"but implemented more efficiently." msgstr "" "Retorna el subconjunto de la lista *names* que coinciden con *pattern*. Es " "lo mismo que ``[n for n in names if fnmatch(n, pattern)]``, pero " diff --git a/library/fractions.po b/library/fractions.po index 6812ad0edd..152163e855 100644 --- a/library/fractions.po +++ b/library/fractions.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-09-29 08:55-0300\n" +"Last-Translator: \n" +"Language: es_AR\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es_AR\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/fractions.rst:2 msgid ":mod:`fractions` --- Rational numbers" @@ -117,15 +116,22 @@ msgstr "" "El constructor de :class:`Fraction` ahora acepta instancias de :class:" "`float` y :class:`decimal`." -#: ../Doc/library/fractions.rst:90 +#: ../Doc/library/fractions.rst:87 +msgid "" +"The :func:`math.gcd` function is now used to normalize the *numerator* and " +"*denominator*. :func:`math.gcd` always return a :class:`int` type. " +"Previously, the GCD type depended on *numerator* and *denominator*." +msgstr "" + +#: ../Doc/library/fractions.rst:94 msgid "Numerator of the Fraction in lowest term." msgstr "Numerador de la fracción irreducible." -#: ../Doc/library/fractions.rst:94 +#: ../Doc/library/fractions.rst:98 msgid "Denominator of the Fraction in lowest term." msgstr "Denominador de la fracción irreducible." -#: ../Doc/library/fractions.rst:99 +#: ../Doc/library/fractions.rst:103 msgid "" "Return a tuple of two integers, whose ratio is equal to the Fraction and " "with a positive denominator." @@ -133,7 +139,7 @@ msgstr "" "Retorna una tupla de dos enteros, cuyo ratio es igual a la fracción y con un " "denominador positivo." -#: ../Doc/library/fractions.rst:106 +#: ../Doc/library/fractions.rst:110 msgid "" "This class method constructs a :class:`Fraction` representing the exact " "value of *flt*, which must be a :class:`float`. Beware that ``Fraction." @@ -144,7 +150,7 @@ msgstr "" "cuidado, observa que ``Fraction.from_float(0.3)`` no es el mismo valor que " "``Fraction(3, 10)``." -#: ../Doc/library/fractions.rst:112 +#: ../Doc/library/fractions.rst:116 msgid "" "From Python 3.2 onwards, you can also construct a :class:`Fraction` instance " "directly from a :class:`float`." @@ -152,7 +158,7 @@ msgstr "" "Desde Python 3.2 en adelante, puedes construir una instancia :class:" "`Fraction` directamente desde :class:`float`." -#: ../Doc/library/fractions.rst:118 +#: ../Doc/library/fractions.rst:122 msgid "" "This class method constructs a :class:`Fraction` representing the exact " "value of *dec*, which must be a :class:`decimal.Decimal` instance." @@ -161,7 +167,7 @@ msgstr "" "representando el valor exacto de *dec*, que debe ser una instancia de :class:" "`decimal.Decimal`." -#: ../Doc/library/fractions.rst:123 +#: ../Doc/library/fractions.rst:127 msgid "" "From Python 3.2 onwards, you can also construct a :class:`Fraction` instance " "directly from a :class:`decimal.Decimal` instance." @@ -169,7 +175,7 @@ msgstr "" "Desde Python 3.2 en adelante, puedes construir una instancia :class:" "`Fraction` directamente desde una instancia :class:`decimal.Decimal`." -#: ../Doc/library/fractions.rst:130 +#: ../Doc/library/fractions.rst:134 msgid "" "Finds and returns the closest :class:`Fraction` to ``self`` that has " "denominator at most max_denominator. This method is useful for finding " @@ -179,12 +185,12 @@ msgstr "" "tenga como denominador *max_denominator*. Este método es útil para encontrar " "aproximaciones racionales a un número en punto flotante determinado:" -#: ../Doc/library/fractions.rst:138 +#: ../Doc/library/fractions.rst:142 msgid "or for recovering a rational number that's represented as a float:" msgstr "" "o para recuperar un numero racional que esta representado como flotante:" -#: ../Doc/library/fractions.rst:151 +#: ../Doc/library/fractions.rst:155 msgid "" "Returns the greatest :class:`int` ``<= self``. This method can also be " "accessed through the :func:`math.floor` function:" @@ -192,7 +198,7 @@ msgstr "" "Retorna el máximo :class:`int` ``<= self``. Este método puede accederse " "también a través de la función :func:`math.floor`:" -#: ../Doc/library/fractions.rst:161 +#: ../Doc/library/fractions.rst:165 msgid "" "Returns the least :class:`int` ``>= self``. This method can also be " "accessed through the :func:`math.ceil` function." @@ -200,7 +206,7 @@ msgstr "" "Retorna el mínimo :class:`int` ``>= self``. Este método puede accederse " "también a través de la función :func:`math.ceil`." -#: ../Doc/library/fractions.rst:168 +#: ../Doc/library/fractions.rst:172 msgid "" "The first version returns the nearest :class:`int` to ``self``, rounding " "half to even. The second version rounds ``self`` to the nearest multiple of " @@ -214,28 +220,26 @@ msgstr "" "``ndigits`` es negativo), nuevamente redondeando mitades al valor par. Este " "método también puede accederse a través de la función :func:`round`." -#: ../Doc/library/fractions.rst:177 -msgid "" -"Return the greatest common divisor of the integers *a* and *b*. If either " -"*a* or *b* is nonzero, then the absolute value of ``gcd(a, b)`` is the " -"largest integer that divides both *a* and *b*. ``gcd(a,b)`` has the same " -"sign as *b* if *b* is nonzero; otherwise it takes the sign of *a*. ``gcd(0, " -"0)`` returns ``0``." -msgstr "" -"Retorna el máximo común divisor de los enteros *a* y *b*. Si *a* o *b* no " -"son cero, entonces el valor absoluto de ``gcd(a, b)`` es el entero mas " -"grande que divide ambos, *a* y *b*. ``gcd(a,b)`` tiene el mismo signo que " -"*b* si *b* no es cero; sino toma el signo de *a*. ``gcd(0, 0)`` retorna " -"``0``." - -#: ../Doc/library/fractions.rst:183 -msgid "Use :func:`math.gcd` instead." -msgstr "Usa en cambio la función :func:`math.gcd`." - -#: ../Doc/library/fractions.rst:189 +#: ../Doc/library/fractions.rst:181 msgid "Module :mod:`numbers`" msgstr "Módulo :mod:`numbers`" -#: ../Doc/library/fractions.rst:190 +#: ../Doc/library/fractions.rst:182 msgid "The abstract base classes making up the numeric tower." msgstr "Las clases base abstractas que representan la jerarquía de números." + +#~ msgid "" +#~ "Return the greatest common divisor of the integers *a* and *b*. If " +#~ "either *a* or *b* is nonzero, then the absolute value of ``gcd(a, b)`` is " +#~ "the largest integer that divides both *a* and *b*. ``gcd(a,b)`` has the " +#~ "same sign as *b* if *b* is nonzero; otherwise it takes the sign of *a*. " +#~ "``gcd(0, 0)`` returns ``0``." +#~ msgstr "" +#~ "Retorna el máximo común divisor de los enteros *a* y *b*. Si *a* o *b* no " +#~ "son cero, entonces el valor absoluto de ``gcd(a, b)`` es el entero mas " +#~ "grande que divide ambos, *a* y *b*. ``gcd(a,b)`` tiene el mismo signo que " +#~ "*b* si *b* no es cero; sino toma el signo de *a*. ``gcd(0, 0)`` retorna " +#~ "``0``." + +#~ msgid "Use :func:`math.gcd` instead." +#~ msgstr "Usa en cambio la función :func:`math.gcd`." diff --git a/library/ftplib.po b/library/ftplib.po index 6eb41bb69b..1c52a19094 100644 --- a/library/ftplib.po +++ b/library/ftplib.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-07-07 12:12-0300\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.3.1\n" #: ../Doc/library/ftplib.rst:2 msgid ":mod:`ftplib` --- FTP protocol client" @@ -48,14 +47,19 @@ msgstr "" "archivos), véase Internet :rfc:`959`." #: ../Doc/library/ftplib.rst:22 +msgid "The default encoding is UTF-8, following :rfc:`2640`." +msgstr "" + +#: ../Doc/library/ftplib.rst:24 msgid "Here's a sample session using the :mod:`ftplib` module::" msgstr "Aquí hay una sesión de ejemplo usando el módulo :mod:`ftplib`::" -#: ../Doc/library/ftplib.rst:42 +#: ../Doc/library/ftplib.rst:44 msgid "The module defines the following items:" msgstr "El módulo define los siguientes elementos:" -#: ../Doc/library/ftplib.rst:46 +#: ../Doc/library/ftplib.rst:48 +#, fuzzy msgid "" "Return a new instance of the :class:`FTP` class. When *host* is given, the " "method call ``connect(host)`` is made. When *user* is given, additionally " @@ -64,7 +68,8 @@ msgid "" "parameter specifies a timeout in seconds for blocking operations like the " "connection attempt (if is not specified, the global default timeout setting " "will be used). *source_address* is a 2-tuple ``(host, port)`` for the socket " -"to bind to as its source address before connecting." +"to bind to as its source address before connecting. The *encoding* parameter " +"specifies the encoding for directories and filenames." msgstr "" "Retorna una instancia nueva de la clase :class:`FTP`. Cuando se proporciona " "*host*, se llama al método ``connect(host)``. Cuando se proporciona *user*, " @@ -76,21 +81,29 @@ msgstr "" "*source_address* es una tupla de 2 ``(host, port)`` para que el *socket* se " "enlace como su dirección de origen antes de conectarse." -#: ../Doc/library/ftplib.rst:55 +#: ../Doc/library/ftplib.rst:58 msgid "The :class:`FTP` class supports the :keyword:`with` statement, e.g.:" msgstr "" "La clase :class:`FTP` admite la instrucción :keyword:`with`, por ejemplo:" -#: ../Doc/library/ftplib.rst:69 +#: ../Doc/library/ftplib.rst:72 msgid "Support for the :keyword:`with` statement was added." msgstr "Se agregó compatibilidad con la instrucción :keyword:`with`." -#: ../Doc/library/ftplib.rst:72 ../Doc/library/ftplib.rst:93 -#: ../Doc/library/ftplib.rst:196 +#: ../Doc/library/ftplib.rst:75 ../Doc/library/ftplib.rst:101 +#: ../Doc/library/ftplib.rst:210 msgid "*source_address* parameter was added." msgstr "Se agregó el parámetro *source_address*." -#: ../Doc/library/ftplib.rst:78 +#: ../Doc/library/ftplib.rst:78 ../Doc/library/ftplib.rst:116 +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. The " +"*encoding* parameter was added, and the default was changed from Latin-1 to " +"UTF-8 to follow :rfc:`2640`." +msgstr "" + +#: ../Doc/library/ftplib.rst:86 msgid "" "A :class:`FTP` subclass which adds TLS support to FTP as described in :rfc:" "`4217`. Connect as usual to port 21 implicitly securing the FTP control " @@ -110,7 +123,7 @@ msgstr "" "y claves privadas en una sola estructura (potencialmente de larga duración). " "Por favor, lee :ref:`ssl-security` para conocer las mejores prácticas." -#: ../Doc/library/ftplib.rst:87 +#: ../Doc/library/ftplib.rst:95 msgid "" "*keyfile* and *certfile* are a legacy alternative to *context* -- they can " "point to PEM-formatted private key and certificate chain files " @@ -120,7 +133,7 @@ msgstr "" "apuntar a una clave privada en formato PEM y certificar archivos de cadena " "(respectivamente) para la conexión SSL." -#: ../Doc/library/ftplib.rst:96 +#: ../Doc/library/ftplib.rst:104 msgid "" "The class now supports hostname check with :attr:`ssl.SSLContext." "check_hostname` and *Server Name Indication* (see :data:`ssl.HAS_SNI`)." @@ -129,7 +142,7 @@ msgstr "" "SSLContext.check_hostname` y *Server Name Indication* (véase :data:`ssl." "HAS_SNI`)." -#: ../Doc/library/ftplib.rst:103 +#: ../Doc/library/ftplib.rst:111 msgid "" "*keyfile* and *certfile* are deprecated in favor of *context*. Please use :" "meth:`ssl.SSLContext.load_cert_chain` instead, or let :func:`ssl." @@ -139,17 +152,17 @@ msgstr "" "meth:`ssl.SSLContext.load_cert_chain` en su lugar, o deja que :func:`ssl." "create_default_context` seleccione los certificados CA confiables para ti." -#: ../Doc/library/ftplib.rst:108 +#: ../Doc/library/ftplib.rst:122 msgid "Here's a sample session using the :class:`FTP_TLS` class::" msgstr "Aquí hay una sesión de ejemplo que usa la clase :class:`FTP_TLS`::" -#: ../Doc/library/ftplib.rst:121 +#: ../Doc/library/ftplib.rst:135 msgid "Exception raised when an unexpected reply is received from the server." msgstr "" "Se lanza una excepción cuando una respuesta inesperada se recibe del " "servidor." -#: ../Doc/library/ftplib.rst:126 +#: ../Doc/library/ftplib.rst:140 msgid "" "Exception raised when an error code signifying a temporary error (response " "codes in the range 400--499) is received." @@ -157,7 +170,7 @@ msgstr "" "Se genera una excepción cuando se recibe un código de error que refiere a " "un error temporal (códigos de respuesta en el rango 400-499)." -#: ../Doc/library/ftplib.rst:132 +#: ../Doc/library/ftplib.rst:146 msgid "" "Exception raised when an error code signifying a permanent error (response " "codes in the range 500--599) is received." @@ -165,7 +178,7 @@ msgstr "" "Se lanza una excepción cuando se recibe un código de error que refiere a un " "error permanente (códigos de respuesta en el rango 500--599)." -#: ../Doc/library/ftplib.rst:138 +#: ../Doc/library/ftplib.rst:152 msgid "" "Exception raised when a reply is received from the server that does not fit " "the response specifications of the File Transfer Protocol, i.e. begin with a " @@ -176,7 +189,7 @@ msgstr "" "transferencia de archivos (FTP), es decir, que comienza con un dígito en el " "rango 1--5." -#: ../Doc/library/ftplib.rst:145 +#: ../Doc/library/ftplib.rst:159 msgid "" "The set of all exceptions (as a tuple) that methods of :class:`FTP` " "instances may raise as a result of problems with the FTP connection (as " @@ -189,11 +202,11 @@ msgstr "" "autor de la llamada). Este conjunto incluye las cuatro excepciones " "enumeradas anteriormente, como también :exc:`OSError` y :exc:`EOFError`." -#: ../Doc/library/ftplib.rst:155 +#: ../Doc/library/ftplib.rst:169 msgid "Module :mod:`netrc`" msgstr "Módulo :mod:`netrc`" -#: ../Doc/library/ftplib.rst:154 +#: ../Doc/library/ftplib.rst:168 msgid "" "Parser for the :file:`.netrc` file format. The file :file:`.netrc` is " "typically used by FTP clients to load user authentication information before " @@ -203,11 +216,11 @@ msgstr "" "netrc` suele ser utilizado por clientes FTP para cargar la información de " "autenticación de usuario antes de solicitarlo al usuario." -#: ../Doc/library/ftplib.rst:162 +#: ../Doc/library/ftplib.rst:176 msgid "FTP Objects" msgstr "Objetos FTP" -#: ../Doc/library/ftplib.rst:164 +#: ../Doc/library/ftplib.rst:178 #, fuzzy msgid "" "Several methods are available in two flavors: one for handling text files " @@ -220,11 +233,11 @@ msgstr "" "utiliza seguido de ``líneas`` para la versión texto y ``binary`` para la " "versión binaria." -#: ../Doc/library/ftplib.rst:168 +#: ../Doc/library/ftplib.rst:182 msgid ":class:`FTP` instances have the following methods:" msgstr "Las instancias de :class:`FTP` tienen los siguientes métodos:" -#: ../Doc/library/ftplib.rst:173 +#: ../Doc/library/ftplib.rst:187 msgid "" "Set the instance's debugging level. This controls the amount of debugging " "output printed. The default, ``0``, produces no debugging output. A value " @@ -240,7 +253,7 @@ msgstr "" "``2`` produce la cantidad máxima de salida de depuración, registrando cada " "línea enviada y recibida en la conexión de control." -#: ../Doc/library/ftplib.rst:182 +#: ../Doc/library/ftplib.rst:196 msgid "" "Connect to the given host and port. The default port number is ``21``, as " "specified by the FTP protocol specification. It is rarely needed to specify " @@ -263,7 +276,7 @@ msgstr "" "tupla de 2 ``(host, port)`` para que el socket se enlace como su dirección " "de origen antes de conectarse." -#: ../Doc/library/ftplib.rst:195 +#: ../Doc/library/ftplib.rst:208 msgid "" "Raises an :ref:`auditing event ` ``ftplib.connect`` with arguments " "``self``, ``host``, ``port``." @@ -271,7 +284,7 @@ msgstr "" "Lanza un :ref:`evento auditor ` ``ftplib.connect`` con los " "argumentos ``self``, ``host``, ``port``." -#: ../Doc/library/ftplib.rst:202 +#: ../Doc/library/ftplib.rst:216 msgid "" "Return the welcome message sent by the server in reply to the initial " "connection. (This message sometimes contains disclaimers or help " @@ -282,7 +295,7 @@ msgstr "" "responsabilidad o información de ayuda que puede ser relevante para el " "usuario.)" -#: ../Doc/library/ftplib.rst:209 +#: ../Doc/library/ftplib.rst:223 msgid "" "Log in as the given *user*. The *passwd* and *acct* parameters are optional " "and default to the empty string. If no *user* is specified, it defaults to " @@ -304,7 +317,7 @@ msgstr "" "sesión. El parámetro *acct* proporciona \"información contable\"; pocos " "sistemas implementan esto." -#: ../Doc/library/ftplib.rst:221 +#: ../Doc/library/ftplib.rst:235 msgid "" "Abort a file transfer that is in progress. Using this does not always work, " "but it's worth a try." @@ -312,14 +325,14 @@ msgstr "" "Anula una transferencia de archivo que está en progreso. Usarlo no siempre " "funciona, pero vale la pena intentarlo." -#: ../Doc/library/ftplib.rst:227 +#: ../Doc/library/ftplib.rst:241 msgid "" "Send a simple command string to the server and return the response string." msgstr "" "Envía una cadena de comando simple al servidor y retorna la cadena de " "caracteres de respuesta." -#: ../Doc/library/ftplib.rst:229 ../Doc/library/ftplib.rst:238 +#: ../Doc/library/ftplib.rst:243 ../Doc/library/ftplib.rst:252 msgid "" "Raises an :ref:`auditing event ` ``ftplib.sendcmd`` with arguments " "``self``, ``cmd``." @@ -327,7 +340,7 @@ msgstr "" "Genera un :ref:`evento auditor ` ``ftplib.sendcmd`` con los " "argumentos ``self``, ``cmd``." -#: ../Doc/library/ftplib.rst:234 +#: ../Doc/library/ftplib.rst:248 msgid "" "Send a simple command string to the server and handle the response. Return " "nothing if a response code corresponding to success (codes in the range " @@ -338,7 +351,7 @@ msgstr "" "a una transferencia exitosa (códigos en el rango 200--299).Lanza :exc:" "`error_reply` de lo contrario." -#: ../Doc/library/ftplib.rst:243 +#: ../Doc/library/ftplib.rst:257 msgid "" "Retrieve a file in binary transfer mode. *cmd* should be an appropriate " "``RETR`` command: ``'RETR filename'``. The *callback* function is called for " @@ -358,15 +371,17 @@ msgstr "" "fragmento que se pasará a *callback*). Se elige un valor predeterminado " "razonable. *rest* significa lo mismo que en el método :meth:`transfercmd`." -#: ../Doc/library/ftplib.rst:255 +#: ../Doc/library/ftplib.rst:269 +#, fuzzy msgid "" -"Retrieve a file or directory listing in ASCII transfer mode. *cmd* should " -"be an appropriate ``RETR`` command (see :meth:`retrbinary`) or a command " -"such as ``LIST`` or ``NLST`` (usually just the string ``'LIST'``). ``LIST`` " -"retrieves a list of files and information about those files. ``NLST`` " -"retrieves a list of file names. The *callback* function is called for each " -"line with a string argument containing the line with the trailing CRLF " -"stripped. The default *callback* prints the line to ``sys.stdout``." +"Retrieve a file or directory listing in the encoding specified by the " +"*encoding* parameter at initialization. *cmd* should be an appropriate " +"``RETR`` command (see :meth:`retrbinary`) or a command such as ``LIST`` or " +"``NLST`` (usually just the string ``'LIST'``). ``LIST`` retrieves a list of " +"files and information about those files. ``NLST`` retrieves a list of file " +"names. The *callback* function is called for each line with a string " +"argument containing the line with the trailing CRLF stripped. The default " +"*callback* prints the line to ``sys.stdout``." msgstr "" "Recupera una lista de archivos o directorios en modo de transferencia ASCII. " "*cmd* debería ser un comando ``RETR`` apropiado (véase :meth:`retrbinary`) o " @@ -377,7 +392,7 @@ msgstr "" "caracteres que contiene la línea con el CRLF final eliminado. El *callback* " "predeterminado imprime la línea a ``sys.stdout``." -#: ../Doc/library/ftplib.rst:267 +#: ../Doc/library/ftplib.rst:282 msgid "" "Enable \"passive\" mode if *val* is true, otherwise disable passive mode. " "Passive mode is on by default." @@ -385,7 +400,7 @@ msgstr "" "Habilita el modo pasivo si *val* es verdadero, de lo contrario lo " "inhabilita. El modo pasivo es el valor predeterminado." -#: ../Doc/library/ftplib.rst:273 +#: ../Doc/library/ftplib.rst:288 msgid "" "Store a file in binary transfer mode. *cmd* should be an appropriate " "``STOR`` command: ``\"STOR filename\"``. *fp* is a :term:`file object` " @@ -404,18 +419,18 @@ msgstr "" "invocable que se llama en cada bloque de datos luego de que fue enviado. " "*rest* significa lo mismo que en el método :meth:`transfercmd`." -#: ../Doc/library/ftplib.rst:281 +#: ../Doc/library/ftplib.rst:296 msgid "*rest* parameter added." msgstr "Se agregó el parámetro *rest*." -#: ../Doc/library/ftplib.rst:287 +#: ../Doc/library/ftplib.rst:302 +#, fuzzy msgid "" -"Store a file in ASCII transfer mode. *cmd* should be an appropriate " -"``STOR`` command (see :meth:`storbinary`). Lines are read until EOF from " -"the :term:`file object` *fp* (opened in binary mode) using its :meth:`~io." -"IOBase.readline` method to provide the data to be stored. *callback* is an " -"optional single parameter callable that is called on each line after it is " -"sent." +"Store a file in line mode. *cmd* should be an appropriate ``STOR`` command " +"(see :meth:`storbinary`). Lines are read until EOF from the :term:`file " +"object` *fp* (opened in binary mode) using its :meth:`~io.IOBase.readline` " +"method to provide the data to be stored. *callback* is an optional single " +"parameter callable that is called on each line after it is sent." msgstr "" "Almacena un archivo en el modo de transferencia ASCII. *cmd* debería ser un " "comando ``STOR`` apropiado (véase :meth:`storbinary`). Las líneas son " @@ -425,7 +440,7 @@ msgstr "" "parámetro opcional invocable que se llama en cada línea luego de que es " "enviada." -#: ../Doc/library/ftplib.rst:296 +#: ../Doc/library/ftplib.rst:311 msgid "" "Initiate a transfer over the data connection. If the transfer is active, " "send an ``EPRT`` or ``PORT`` command and the transfer command specified by " @@ -439,32 +454,20 @@ msgstr "" "envía un comando ``EPSV`` o ``PASV``, lo conecta, e inicia el comando de " "transferencia. De cualquier manera, retorna el socket para la conexión." -#: ../Doc/library/ftplib.rst:302 +#: ../Doc/library/ftplib.rst:317 msgid "" "If optional *rest* is given, a ``REST`` command is sent to the server, " "passing *rest* as an argument. *rest* is usually a byte offset into the " "requested file, telling the server to restart sending the file's bytes at " -"the requested offset, skipping over the initial bytes. Note however that :" -"rfc:`959` requires only that *rest* be a string containing characters in the " -"printable range from ASCII code 33 to ASCII code 126. The :meth:" -"`transfercmd` method, therefore, converts *rest* to a string, but no check " -"is performed on the string's contents. If the server does not recognize the " -"``REST`` command, an :exc:`error_reply` exception will be raised. If this " -"happens, simply call :meth:`transfercmd` without a *rest* argument." -msgstr "" -"Si el opcional *rest* está dado, un comando ``REST`` se envía al servidor, " -"pasando *rest* como argumento. *rest* es usualmente un offset de byte en el " -"archivo solicitado y le pide al servidor que reinicie enviando los bytes del " -"archivo al offset solicitado, saltándose los bytes iniciales. Nota, sin " -"embargo, que `rfc:`959` requieres no solo que *rest* sea una cadena de " -"caracteres que contiene caracteres en el rango imprimible del código ASCII " -"33 al 126. El método :meth:`transfercmd`, entonces, convierte *rest* a una " -"cadena de caracteres, pero no se ejecuta ningún chequeo en los contenidos de " -"la cadena de caracteres. Si el servidor no reconoce el comando ``REST``, se " -"lanza una excepción :exc:`error_reply`. Si esto ocurre, simplemente invoca :" -"meth:`transfercmd` sin un argumento *rest*." - -#: ../Doc/library/ftplib.rst:316 +"the requested offset, skipping over the initial bytes. Note however that " +"the :meth:`transfercmd` method converts *rest* to a string with the " +"*encoding* parameter specified at initialization, but no check is performed " +"on the string's contents. If the server does not recognize the ``REST`` " +"command, an :exc:`error_reply` exception will be raised. If this happens, " +"simply call :meth:`transfercmd` without a *rest* argument." +msgstr "" + +#: ../Doc/library/ftplib.rst:330 msgid "" "Like :meth:`transfercmd`, but returns a tuple of the data connection and the " "expected size of the data. If the expected size could not be computed, " @@ -476,7 +479,7 @@ msgstr "" "retornará ``None`` como tal. *cmd* y *rest* significan lo mismo que en :meth:" "`transfercmd`." -#: ../Doc/library/ftplib.rst:324 +#: ../Doc/library/ftplib.rst:338 #, fuzzy msgid "" "List a directory in a standardized format by using ``MLSD`` command (:rfc:" @@ -499,7 +502,7 @@ msgstr "" "limitado por el argumento *facts* pero no está garantizado que el servidor " "retorne toda la información requerida." -#: ../Doc/library/ftplib.rst:338 +#: ../Doc/library/ftplib.rst:352 #, fuzzy msgid "" "Return a list of file names as returned by the ``NLST`` command. The " @@ -513,11 +516,11 @@ msgstr "" "argumentos múltiples para pasar las opciones que no son estándar al comando " "``NLST``." -#: ../Doc/library/ftplib.rst:343 ../Doc/library/ftplib.rst:355 +#: ../Doc/library/ftplib.rst:357 ../Doc/library/ftplib.rst:369 msgid "If your server supports the command, :meth:`mlsd` offers a better API." msgstr "Si tu servidor admite el comando, :meth:`mlsd` ofrece una API mejor." -#: ../Doc/library/ftplib.rst:348 +#: ../Doc/library/ftplib.rst:362 msgid "" "Produce a directory listing as returned by the ``LIST`` command, printing it " "to standard output. The optional *argument* is a directory to list (default " @@ -534,12 +537,12 @@ msgstr "" "una función, se usa como función *callback* como en :meth:`retrlines`; el " "valor predeterminado imprime a ``sys.stdout``. Este método retorna ``None``." -#: ../Doc/library/ftplib.rst:360 +#: ../Doc/library/ftplib.rst:374 msgid "Rename file *fromname* on the server to *toname*." msgstr "" "Asigna un nombre nuevo al archivo en el servidor desde *fromname* a *toname*." -#: ../Doc/library/ftplib.rst:365 +#: ../Doc/library/ftplib.rst:379 msgid "" "Remove the file named *filename* from the server. If successful, returns " "the text of the response, otherwise raises :exc:`error_perm` on permission " @@ -549,23 +552,23 @@ msgstr "" "retorna el texto de la respuesta, de lo contrario, lanza :exc:`error_perm` " "sobre errores de permiso o :exc:`error_reply` sobre otros errores." -#: ../Doc/library/ftplib.rst:372 +#: ../Doc/library/ftplib.rst:386 msgid "Set the current directory on the server." msgstr "Configura el directorio actual en el servidor." -#: ../Doc/library/ftplib.rst:377 +#: ../Doc/library/ftplib.rst:391 msgid "Create a new directory on the server." msgstr "Crea un nuevo directorio en el servidor." -#: ../Doc/library/ftplib.rst:382 +#: ../Doc/library/ftplib.rst:396 msgid "Return the pathname of the current directory on the server." msgstr "Retorna el nombre de ruta del directorio actual en el servidor." -#: ../Doc/library/ftplib.rst:387 +#: ../Doc/library/ftplib.rst:401 msgid "Remove the directory named *dirname* on the server." msgstr "Elimina el directorio en el servidor llamado *dirname*." -#: ../Doc/library/ftplib.rst:392 +#: ../Doc/library/ftplib.rst:406 msgid "" "Request the size of the file named *filename* on the server. On success, " "the size of the file is returned as an integer, otherwise ``None`` is " @@ -577,7 +580,7 @@ msgstr "" "retorna ``None``. Nótese que el comando ``SIZE`` no está estandarizado, pero " "es admitido por muchas implementaciones comunes de servidor." -#: ../Doc/library/ftplib.rst:400 +#: ../Doc/library/ftplib.rst:414 msgid "" "Send a ``QUIT`` command to the server and close the connection. This is the " "\"polite\" way to close a connection, but it may raise an exception if the " @@ -591,7 +594,7 @@ msgstr "" "implica una llamada al método :meth:`close` que hace inútil la instancia de :" "class:`FTP` para llamadas posteriores (véase más adelante)." -#: ../Doc/library/ftplib.rst:409 +#: ../Doc/library/ftplib.rst:423 msgid "" "Close the connection unilaterally. This should not be applied to an already " "closed connection such as after a successful call to :meth:`~FTP.quit`. " @@ -605,11 +608,11 @@ msgstr "" "(luego de una llamada a :meth:`close` o :meth:`~FTP.quit` no puedes abrir " "nuevamente la conexión emitiendo otro método :meth:`login`." -#: ../Doc/library/ftplib.rst:417 +#: ../Doc/library/ftplib.rst:431 msgid "FTP_TLS Objects" msgstr "Objetos FTP_TLS" -#: ../Doc/library/ftplib.rst:419 +#: ../Doc/library/ftplib.rst:433 msgid "" ":class:`FTP_TLS` class inherits from :class:`FTP`, defining these additional " "objects:" @@ -617,13 +620,13 @@ msgstr "" "La clase :class:`FTP_TLS` hereda de :class:`FTP`, definiendo los siguientes " "objetos adicionales:" -#: ../Doc/library/ftplib.rst:423 +#: ../Doc/library/ftplib.rst:437 msgid "The SSL version to use (defaults to :attr:`ssl.PROTOCOL_SSLv23`)." msgstr "" "La versión SSL para usar (toma como predeterminado :attr:`ssl." "PROTOCOL_SSLv23`)." -#: ../Doc/library/ftplib.rst:427 +#: ../Doc/library/ftplib.rst:441 msgid "" "Set up a secure control connection by using TLS or SSL, depending on what is " "specified in the :attr:`ssl_version` attribute." @@ -631,7 +634,7 @@ msgstr "" "Establece una conexión de control segura usando TLS o SSL, dependiendo de " "qué esté especificado en el atributo :attr:`ssl_version`." -#: ../Doc/library/ftplib.rst:430 +#: ../Doc/library/ftplib.rst:444 msgid "" "The method now supports hostname check with :attr:`ssl.SSLContext." "check_hostname` and *Server Name Indication* (see :data:`ssl.HAS_SNI`)." @@ -640,7 +643,7 @@ msgstr "" "SSLContext.check_hostname` y *Server Name Indication* (véase :data:`ssl." "HAS_SNI`)." -#: ../Doc/library/ftplib.rst:437 +#: ../Doc/library/ftplib.rst:451 msgid "" "Revert control channel back to plaintext. This can be useful to take " "advantage of firewalls that know how to handle NAT with non-secure FTP " @@ -650,10 +653,36 @@ msgstr "" "aprovechar cortafuegos que saben manejar NAT con FTP no-seguro sin abrir " "puertos fijos." -#: ../Doc/library/ftplib.rst:445 +#: ../Doc/library/ftplib.rst:459 msgid "Set up secure data connection." msgstr "Configura conexión de datos segura." -#: ../Doc/library/ftplib.rst:449 +#: ../Doc/library/ftplib.rst:463 msgid "Set up clear text data connection." msgstr "Configura la conexión de datos de tipo texto común." + +#~ msgid "" +#~ "If optional *rest* is given, a ``REST`` command is sent to the server, " +#~ "passing *rest* as an argument. *rest* is usually a byte offset into the " +#~ "requested file, telling the server to restart sending the file's bytes at " +#~ "the requested offset, skipping over the initial bytes. Note however " +#~ "that :rfc:`959` requires only that *rest* be a string containing " +#~ "characters in the printable range from ASCII code 33 to ASCII code 126. " +#~ "The :meth:`transfercmd` method, therefore, converts *rest* to a string, " +#~ "but no check is performed on the string's contents. If the server does " +#~ "not recognize the ``REST`` command, an :exc:`error_reply` exception will " +#~ "be raised. If this happens, simply call :meth:`transfercmd` without a " +#~ "*rest* argument." +#~ msgstr "" +#~ "Si el opcional *rest* está dado, un comando ``REST`` se envía al " +#~ "servidor, pasando *rest* como argumento. *rest* es usualmente un offset " +#~ "de byte en el archivo solicitado y le pide al servidor que reinicie " +#~ "enviando los bytes del archivo al offset solicitado, saltándose los bytes " +#~ "iniciales. Nota, sin embargo, que `rfc:`959` requieres no solo que *rest* " +#~ "sea una cadena de caracteres que contiene caracteres en el rango " +#~ "imprimible del código ASCII 33 al 126. El método :meth:`transfercmd`, " +#~ "entonces, convierte *rest* a una cadena de caracteres, pero no se ejecuta " +#~ "ningún chequeo en los contenidos de la cadena de caracteres. Si el " +#~ "servidor no reconoce el comando ``REST``, se lanza una excepción :exc:" +#~ "`error_reply`. Si esto ocurre, simplemente invoca :meth:`transfercmd` sin " +#~ "un argumento *rest*." diff --git a/library/functions.po b/library/functions.po index 5993005501..4e9b07fd93 100644 --- a/library/functions.po +++ b/library/functions.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-07 14:37+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-06-22 09:17+0200\n" "Last-Translator: Claudia Millán (clacri)\n" "Language: es\n" "Language-Team: python-doc-esMIME-Version: 1.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"X-Generator: Poedit 2.3.1\n" #: ../Doc/library/functions.rst:5 ../Doc/library/functions.rst:11 msgid "Built-in Functions" @@ -311,18 +310,18 @@ msgid ":func:`round`" msgstr ":func:`round`" #: ../Doc/library/functions.rst:45 +#, fuzzy msgid "" -"Return the absolute value of a number. The argument may be an integer or a " -"floating point number. If the argument is a complex number, its magnitude " -"is returned. If *x* defines :meth:`__abs__`, ``abs(x)`` returns ``x." -"__abs__()``." +"Return the absolute value of a number. The argument may be an integer, a " +"floating point number, or an object implementing :meth:`__abs__`. If the " +"argument is a complex number, its magnitude is returned." msgstr "" "Retorna el valor absoluto de un número. El argumento puede ser un número " "entero o de punto flotante. Si el argumento es un número complejo, retorna " "su magnitud. Si *x* define un método :meth:`__abs__`, ``abs(x)`` retorna ``x." "__abs__()``." -#: ../Doc/library/functions.rst:53 +#: ../Doc/library/functions.rst:52 msgid "" "Return ``True`` if all elements of the *iterable* are true (or if the " "iterable is empty). Equivalent to::" @@ -330,7 +329,7 @@ msgstr "" "Retorna ``True`` si todos los elementos del *iterable* son verdaderos (o " "si el iterable está vacío). Equivalente a::" -#: ../Doc/library/functions.rst:65 +#: ../Doc/library/functions.rst:64 msgid "" "Return ``True`` if any element of the *iterable* is true. If the iterable " "is empty, return ``False``. Equivalent to::" @@ -338,7 +337,7 @@ msgstr "" "Retorna ``True`` si un elemento cualquiera del *iterable* es verdadero. Si " "el iterable está vacío, retorna ``False``. Equivalente a::" -#: ../Doc/library/functions.rst:77 +#: ../Doc/library/functions.rst:76 msgid "" "As :func:`repr`, return a string containing a printable representation of an " "object, but escape the non-ASCII characters in the string returned by :func:" @@ -350,7 +349,7 @@ msgstr "" "`repr` retorna usando ``\\x``, ``\\u`` or ``\\U``. Esto genera una cadena " "similar a la retornada por :func:`repr` en Python 2." -#: ../Doc/library/functions.rst:85 +#: ../Doc/library/functions.rst:84 msgid "" "Convert an integer number to a binary string prefixed with \"0b\". The " "result is a valid Python expression. If *x* is not a Python :class:`int` " @@ -362,19 +361,19 @@ msgstr "" "clase :class:`int` en Python, tiene que definir un método :meth:" "`__index__` que retorne un entero. Algunos ejemplos:" -#: ../Doc/library/functions.rst:95 +#: ../Doc/library/functions.rst:94 msgid "" "If prefix \"0b\" is desired or not, you can use either of the following ways." msgstr "" "Según se desee o no el prefijo \"0b\", se puede usar uno u otro de las " "siguientes maneras." -#: ../Doc/library/functions.rst:102 ../Doc/library/functions.rst:750 -#: ../Doc/library/functions.rst:1030 +#: ../Doc/library/functions.rst:101 ../Doc/library/functions.rst:750 +#: ../Doc/library/functions.rst:1037 msgid "See also :func:`format` for more information." msgstr "Véase también :func:`format` para más información." -#: ../Doc/library/functions.rst:107 +#: ../Doc/library/functions.rst:106 msgid "" "Return a Boolean value, i.e. one of ``True`` or ``False``. *x* is converted " "using the standard :ref:`truth testing procedure `. If *x* is false " @@ -390,12 +389,12 @@ msgstr "" "`typesnumeric`). De ella no pueden derivarse más subclases. Sus únicas " "instancias son ``False`` y ``True`` (véase :ref:`bltin-boolean-values`)." -#: ../Doc/library/functions.rst:116 ../Doc/library/functions.rst:625 -#: ../Doc/library/functions.rst:832 +#: ../Doc/library/functions.rst:115 ../Doc/library/functions.rst:625 +#: ../Doc/library/functions.rst:834 msgid "*x* is now a positional-only parameter." msgstr "*x* es ahora un argumento solo de posición." -#: ../Doc/library/functions.rst:121 +#: ../Doc/library/functions.rst:120 msgid "" "This function drops you into the debugger at the call site. Specifically, " "it calls :func:`sys.breakpointhook`, passing ``args`` and ``kws`` straight " @@ -416,7 +415,7 @@ msgstr "" "`breakpoint` llamará automáticamente a esta, permitiendo entrar al depurador " "elegido." -#: ../Doc/library/functions.rst:132 +#: ../Doc/library/functions.rst:130 msgid "" "Raises an :ref:`auditing event ` ``builtins.breakpoint`` with " "argument ``breakpointhook``." @@ -424,7 +423,7 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``builtins.breakpoint`` con " "``breakpointhook`` como argumento." -#: ../Doc/library/functions.rst:139 +#: ../Doc/library/functions.rst:138 msgid "" "Return a new array of bytes. The :class:`bytearray` class is a mutable " "sequence of integers in the range 0 <= x < 256. It has most of the usual " @@ -437,7 +436,7 @@ msgstr "" "mutable`, así como la mayoría de los métodos que la clase :class:`bytes` " "tiene, véase :ref:`bytes-methods`." -#: ../Doc/library/functions.rst:144 +#: ../Doc/library/functions.rst:143 msgid "" "The optional *source* parameter can be used to initialize the array in a few " "different ways:" @@ -445,7 +444,7 @@ msgstr "" "El parámetro opcional *source* puede ser empleado para inicializar el vector " "(*array*) de varias maneras distintas:" -#: ../Doc/library/functions.rst:147 +#: ../Doc/library/functions.rst:146 msgid "" "If it is a *string*, you must also give the *encoding* (and optionally, " "*errors*) parameters; :func:`bytearray` then converts the string to bytes " @@ -455,7 +454,7 @@ msgstr "" "opcionalmente, *errors*; entonces :func:`bytearray` convierte la cadena a " "bytes empleando :meth:`str.encode`." -#: ../Doc/library/functions.rst:151 +#: ../Doc/library/functions.rst:150 msgid "" "If it is an *integer*, the array will have that size and will be initialized " "with null bytes." @@ -463,15 +462,17 @@ msgstr "" "Si es un *integer*, el array tendrá ese tamaño y será inicializado con bytes " "nulos." -#: ../Doc/library/functions.rst:154 +#: ../Doc/library/functions.rst:153 +#, fuzzy msgid "" -"If it is an object conforming to the *buffer* interface, a read-only buffer " -"of the object will be used to initialize the bytes array." +"If it is an object conforming to the :ref:`buffer interface " +"`, a read-only buffer of the object will be used to " +"initialize the bytes array." msgstr "" "Si es un objeto que se ajusta a la interfaz de *buffer*, un buffer de sólo " "lectura del objeto será utilizado para inicializar el array de bytes." -#: ../Doc/library/functions.rst:157 +#: ../Doc/library/functions.rst:156 msgid "" "If it is an *iterable*, it must be an iterable of integers in the range ``0 " "<= x < 256``, which are used as the initial contents of the array." @@ -479,15 +480,15 @@ msgstr "" "Si es un *iterable*, debe ser un iterable de enteros en el rango ``0 <= x < " "256``, que son usados como los contenidos iniciales del array." -#: ../Doc/library/functions.rst:160 +#: ../Doc/library/functions.rst:159 msgid "Without an argument, an array of size 0 is created." msgstr "Sin argumento, se crea un array de tamaño 0." -#: ../Doc/library/functions.rst:162 +#: ../Doc/library/functions.rst:161 msgid "See also :ref:`binaryseq` and :ref:`typebytearray`." msgstr "Ver también: :ref:`binaryseq` y :ref:`typebytearray`." -#: ../Doc/library/functions.rst:169 +#: ../Doc/library/functions.rst:168 msgid "" "Return a new \"bytes\" object, which is an immutable sequence of integers in " "the range ``0 <= x < 256``. :class:`bytes` is an immutable version of :" @@ -499,25 +500,25 @@ msgstr "" "class:`bytearray` — tiene los mismos métodos no-mutables y el mismo " "comportamiento en términos de indexación y segmentación." -#: ../Doc/library/functions.rst:174 +#: ../Doc/library/functions.rst:173 msgid "" "Accordingly, constructor arguments are interpreted as for :func:`bytearray`." msgstr "" "En consecuencia, los argumentos del constructor son interpretados como los " "de :func:`bytearray`." -#: ../Doc/library/functions.rst:176 +#: ../Doc/library/functions.rst:175 msgid "Bytes objects can also be created with literals, see :ref:`strings`." msgstr "" "Los objetos de bytes también pueden ser creados con literales, ver :ref:" "`strings`." -#: ../Doc/library/functions.rst:178 +#: ../Doc/library/functions.rst:177 msgid "See also :ref:`binaryseq`, :ref:`typebytes`, and :ref:`bytes-methods`." msgstr "" "Ver también :ref:`binaryseq`, :ref:`typebytes`, y :ref:`bytes-methods`." -#: ../Doc/library/functions.rst:183 +#: ../Doc/library/functions.rst:182 msgid "" "Return :const:`True` if the *object* argument appears callable, :const:" "`False` if not. If this returns ``True``, it is still possible that a call " @@ -532,14 +533,14 @@ msgstr "" "instancia nueva); y que las instancias lo serán si su clase tiene un método :" "meth:`__call__`." -#: ../Doc/library/functions.rst:189 +#: ../Doc/library/functions.rst:188 msgid "" "This function was first removed in Python 3.0 and then brought back in " "Python 3.2." msgstr "" "Está función fue eliminada en Python 3.0 pero traída de vuelta en Python 3.2." -#: ../Doc/library/functions.rst:196 +#: ../Doc/library/functions.rst:195 msgid "" "Return the string representing a character whose Unicode code point is the " "integer *i*. For example, ``chr(97)`` returns the string ``'a'``, while " @@ -550,7 +551,7 @@ msgstr "" "``chr(8364)`` retorna la cadena ``’€’``. Esta función es la inversa de :func:" "`ord`." -#: ../Doc/library/functions.rst:200 +#: ../Doc/library/functions.rst:199 msgid "" "The valid range for the argument is from 0 through 1,114,111 (0x10FFFF in " "base 16). :exc:`ValueError` will be raised if *i* is outside that range." @@ -559,11 +560,11 @@ msgstr "" "base 16). Se lanzará una excepción :exc:`ValueError` si *i* está fuera de " "ese rango." -#: ../Doc/library/functions.rst:206 +#: ../Doc/library/functions.rst:205 msgid "Transform a method into a class method." msgstr "Transforma un método en un método de clase." -#: ../Doc/library/functions.rst:208 +#: ../Doc/library/functions.rst:207 msgid "" "A class method receives the class as implicit first argument, just like an " "instance method receives the instance. To declare a class method, use this " @@ -573,7 +574,7 @@ msgstr "" "misma forma que un método de instancia recibe la instancia. Para declarar un " "método de clase, emplea la siguiente expresión:" -#: ../Doc/library/functions.rst:216 +#: ../Doc/library/functions.rst:215 msgid "" "The ``@classmethod`` form is a function :term:`decorator` -- see :ref:" "`function` for details." @@ -581,7 +582,7 @@ msgstr "" "La forma ``@classmethod`` es una función :term:`decorator` — ver :ref:" "`function` para más detalles." -#: ../Doc/library/functions.rst:219 +#: ../Doc/library/functions.rst:218 msgid "" "A class method can be called either on the class (such as ``C.f()``) or on " "an instance (such as ``C().f()``). The instance is ignored except for its " @@ -593,19 +594,23 @@ msgstr "" "Si un método de clase es llamado desde una clase derivada, entonces el " "objeto de la clase derivada se pasa como primer argumento implícito." -#: ../Doc/library/functions.rst:224 +#: ../Doc/library/functions.rst:223 +#, fuzzy msgid "" "Class methods are different than C++ or Java static methods. If you want " -"those, see :func:`staticmethod`." +"those, see :func:`staticmethod` in this section. For more information on " +"class methods, see :ref:`types`." msgstr "" "Los métodos de clase son diferentes a los métodos estáticos de C++ o Java. " "Si quieres ese tipo de métodos, revisa :func:`staticmethod`." #: ../Doc/library/functions.rst:227 -msgid "For more information on class methods, see :ref:`types`." -msgstr "Para más información sobre métodos de clase, ver :ref:`types`." +msgid "" +"Class methods can now wrap other :term:`descriptors ` such as :" +"func:`property`." +msgstr "" -#: ../Doc/library/functions.rst:232 +#: ../Doc/library/functions.rst:233 msgid "" "Compile the *source* into a code or AST object. Code objects can be " "executed by :func:`exec` or :func:`eval`. *source* can either be a normal " @@ -618,7 +623,7 @@ msgstr "" "normal, una cadena de bytes o un objeto AST. Para más información sobre cómo " "trabajar con objetos AST, revisa la documentación del módulo :mod:`ast`." -#: ../Doc/library/functions.rst:237 +#: ../Doc/library/functions.rst:238 msgid "" "The *filename* argument should give the file from which the code was read; " "pass some recognizable value if it wasn't read from a file (``''`` " @@ -628,7 +633,7 @@ msgstr "" "leído; pasará un valor reconocible en caso este no fuera leído de un " "fichero (``’’`` es usado comúnmente para esto)." -#: ../Doc/library/functions.rst:241 +#: ../Doc/library/functions.rst:242 msgid "" "The *mode* argument specifies what kind of code must be compiled; it can be " "``'exec'`` if *source* consists of a sequence of statements, ``'eval'`` if " @@ -642,36 +647,29 @@ msgstr "" "en una declaración única interactiva (en este último caso, las declaraciones " "de expresiones que evalúen a algo distinto de ``None`` serán impresas)." -#: ../Doc/library/functions.rst:247 -msgid "" -"The optional arguments *flags* and *dont_inherit* control which :ref:`future " -"statements ` affect the compilation of *source*. If neither is " -"present (or both are zero) the code is compiled with those future statements " -"that are in effect in the code that is calling :func:`compile`. If the " -"*flags* argument is given and *dont_inherit* is not (or is zero) then the " -"future statements specified by the *flags* argument are used in addition to " -"those that would be used anyway. If *dont_inherit* is a non-zero integer " -"then the *flags* argument is it -- the future statements in effect around " -"the call to compile are ignored." -msgstr "" -"Los argumentos opcionales *flags* y *dont_inherit* controlan que :ref:" -"`future statements ` afectan a la compilación de *source*. Si " -"ninguno de los dos está presente (o los dos son cero), el código se compila " -"con las declaraciones futuras que están en el código que está llamando a :" -"func:`compile`. Si el argumento *flags* está presente, y *dont_inherit* no " -"(o es cero), entonces se usan las declaraciones futuras especificadas en el " -"argumento *flags*, además de aquellas que iban a ser utilizadas en cualquier " -"caso. Si *dont_inherit* es un entero distinto de cero entonces el argumento " -"*flags* es ignorado y no se consideran las declaraciones futuras en efecto " -"durante la llamada a *compile*." - -#: ../Doc/library/functions.rst:257 -msgid "" -"Future statements are specified by bits which can be bitwise ORed together " -"to specify multiple statements. The bitfield required to specify a given " -"feature can be found as the :attr:`~__future__._Feature.compiler_flag` " -"attribute on the :class:`~__future__._Feature` instance in the :mod:" -"`__future__` module." +#: ../Doc/library/functions.rst:248 +msgid "" +"The optional arguments *flags* and *dont_inherit* control which :ref:" +"`compiler options ` should be activated and which :ref:" +"`future features ` should be allowed. If neither is present (or both " +"are zero) the code is compiled with the same flags that affect the code that " +"is calling :func:`compile`. If the *flags* argument is given and " +"*dont_inherit* is not (or is zero) then the compiler options and the future " +"statements specified by the *flags* argument are used in addition to those " +"that would be used anyway. If *dont_inherit* is a non-zero integer then the " +"*flags* argument is it -- the flags (future features and compiler options) " +"in the surrounding code are ignored." +msgstr "" + +#: ../Doc/library/functions.rst:259 +#, fuzzy +msgid "" +"Compiler options and future statements are specified by bits which can be " +"bitwise ORed together to specify multiple options. The bitfield required to " +"specify a given future feature can be found as the :attr:`~__future__." +"_Feature.compiler_flag` attribute on the :class:`~__future__._Feature` " +"instance in the :mod:`__future__` module. :ref:`Compiler flags ` can be found in :mod:`ast` module, with ``PyCF_`` prefix." msgstr "" "Las declaraciones futuras son especificadas por bits que pueden, bit a bit, " "ser unidos por OR para especificar múltiples declaraciones. El campo de bit " @@ -680,21 +678,7 @@ msgstr "" "instancia de la clase :class:`~__future__._Feature` en el módulo :mod:" "`__future__`." -#: ../Doc/library/functions.rst:262 -msgid "" -"The optional argument *flags* also controls whether the compiled source is " -"allowed to contain top-level ``await``, ``async for`` and ``async with``. " -"When the bit ``ast.PyCF_ALLOW_TOP_LEVEL_AWAIT`` is set, the return code " -"object has ``CO_COROUTINE`` set in ``co_code``, and can be interactively " -"executed via ``await eval(code_object)``." -msgstr "" -"El argumento opcional *flags* también controla si el código compilado puede " -"contener ``await``, ``async for`` y ``async with`` de nivel superior. Cuando " -"se establece el bit ``ast.PyCF_ALLOW_TOP_LEVEL_AWAIT`` , el objeto código " -"retornado tiene ``CO_COROUTINE`` establecido en ``co_code``, y puede ser " -"ejecutado de forma interactiva a través de ``await eval(code_object)``." - -#: ../Doc/library/functions.rst:268 +#: ../Doc/library/functions.rst:267 msgid "" "The argument *optimize* specifies the optimization level of the compiler; " "the default value of ``-1`` selects the optimization level of the " @@ -709,7 +693,7 @@ msgstr "" "eliminan los asserts, ``__debug__`` es false) or ``2`` (las *docstrings* " "también son eliminadas)." -#: ../Doc/library/functions.rst:274 +#: ../Doc/library/functions.rst:273 msgid "" "This function raises :exc:`SyntaxError` if the compiled source is invalid, " "and :exc:`ValueError` if the source contains null bytes." @@ -717,7 +701,7 @@ msgstr "" "Esta función lanza un :exc:`SyntaxError` si el código compilado es inválido, " "y un :exc:`ValueError` si contiene bytes nulos." -#: ../Doc/library/functions.rst:277 +#: ../Doc/library/functions.rst:276 msgid "" "If you want to parse Python code into its AST representation, see :func:`ast." "parse`." @@ -725,6 +709,7 @@ msgstr "" "Si quieres transformar código Python a su representación AST, revisa :func:" "`ast.parse`." +#: ../Doc/library/functions.rst:279 #, fuzzy msgid "" "Raises an :ref:`auditing event ` ``compile`` with arguments " @@ -733,7 +718,7 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``compile`` con argumentos " "``source``, ``filename``." -#: ../Doc/library/functions.rst:282 +#: ../Doc/library/functions.rst:281 msgid "" "Raises an :ref:`auditing event ` ``compile`` with arguments " "``source`` and ``filename``. This event may also be raised by implicit " @@ -743,7 +728,7 @@ msgstr "" "``source`` y ``filename``. Este evento también puede ser lanzado por la " "compilación implícita." -#: ../Doc/library/functions.rst:288 +#: ../Doc/library/functions.rst:287 msgid "" "When compiling a string with multi-line code in ``'single'`` or ``'eval'`` " "mode, input must be terminated by at least one newline character. This is " @@ -755,7 +740,7 @@ msgstr "" "mínimo. Esto facilita la detección de declaraciones completas e incompletas " "en el módulo :mod:`code`." -#: ../Doc/library/functions.rst:295 +#: ../Doc/library/functions.rst:294 msgid "" "It is possible to crash the Python interpreter with a sufficiently large/" "complex string when compiling to an AST object due to stack depth " @@ -765,7 +750,7 @@ msgstr "" "AST es posible que el intérprete de Python pare inesperadamente debido a las " "limitaciones de la profundidad de la pila en el compilador del AST de Python." -#: ../Doc/library/functions.rst:299 +#: ../Doc/library/functions.rst:298 msgid "" "Allowed use of Windows and Mac newlines. Also input in ``'exec'`` mode does " "not have to end in a newline anymore. Added the *optimize* parameter." @@ -774,7 +759,7 @@ msgstr "" "entrada en el modo ``’exec’`` no tiene porque terminar en una nueva línea. " "Se añade el parámetro *optimize*." -#: ../Doc/library/functions.rst:303 +#: ../Doc/library/functions.rst:302 msgid "" "Previously, :exc:`TypeError` was raised when null bytes were encountered in " "*source*." @@ -782,7 +767,7 @@ msgstr "" "Anteriormente, un :exc:`TypeError` era lanzado cuando se encontraban bytes " "nulos en *source*." -#: ../Doc/library/functions.rst:307 +#: ../Doc/library/functions.rst:306 msgid "" "``ast.PyCF_ALLOW_TOP_LEVEL_AWAIT`` can now be passed in flags to enable " "support for top-level ``await``, ``async for``, and ``async with``." @@ -791,7 +776,7 @@ msgstr "" "permitir el soporte de ``await``, ``async for``, y ``async with`` en niveles " "superiores." -#: ../Doc/library/functions.rst:314 +#: ../Doc/library/functions.rst:313 msgid "" "Return a complex number with the value *real* + *imag*\\*1j or convert a " "string or number to a complex number. If the first parameter is a string, " @@ -811,7 +796,7 @@ msgstr "" "constructor sirve como un conversor numérico como :class:`int` y :class:" "`float`. Si ambos argumentos son omitidos, retorna ``0j``." -#: ../Doc/library/functions.rst:323 +#: ../Doc/library/functions.rst:322 msgid "" "For a general Python object ``x``, ``complex(x)`` delegates to ``x." "__complex__()``. If ``__complex__()`` is not defined then it falls back to :" @@ -823,7 +808,7 @@ msgstr "" "meth:`__float__`. Si ``__float__()`` no está definida, entonces llama a :" "meth:`__index__`." -#: ../Doc/library/functions.rst:330 +#: ../Doc/library/functions.rst:329 msgid "" "When converting from a string, the string must not contain whitespace around " "the central ``+`` or ``-`` operator. For example, ``complex('1+2j')`` is " @@ -834,18 +819,18 @@ msgstr "" "``complex(‘1+2j’)`` es correcto, pero ``complex(‘1 + 2j’)`` lanza :exc:" "`ValueError`." -#: ../Doc/library/functions.rst:335 +#: ../Doc/library/functions.rst:334 msgid "The complex type is described in :ref:`typesnumeric`." msgstr "El tipo complejo está descrito en :ref:`typesnumeric`." -#: ../Doc/library/functions.rst:337 ../Doc/library/functions.rst:622 -#: ../Doc/library/functions.rst:829 +#: ../Doc/library/functions.rst:336 ../Doc/library/functions.rst:622 +#: ../Doc/library/functions.rst:831 msgid "Grouping digits with underscores as in code literals is allowed." msgstr "" "Agrupar dígitos con guiones bajos como en los literales de código está " "permitido." -#: ../Doc/library/functions.rst:340 +#: ../Doc/library/functions.rst:339 msgid "" "Falls back to :meth:`__index__` if :meth:`__complex__` and :meth:`__float__` " "are not defined." @@ -853,7 +838,7 @@ msgstr "" "Recurre a :meth:`__index__` si :meth:`__complex__` y :meth:`__float__` no " "están definidos." -#: ../Doc/library/functions.rst:347 +#: ../Doc/library/functions.rst:346 msgid "" "This is a relative of :func:`setattr`. The arguments are an object and a " "string. The string must be the name of one of the object's attributes. The " @@ -866,7 +851,7 @@ msgstr "" "objeto lo permite. Por ejemplo ``delattr(x, ‘foobar’)`` es equivalente a " "``del x.foobar``." -#: ../Doc/library/functions.rst:359 +#: ../Doc/library/functions.rst:358 msgid "" "Create a new dictionary. The :class:`dict` object is the dictionary class. " "See :class:`dict` and :ref:`typesmapping` for documentation about this class." @@ -875,7 +860,7 @@ msgstr "" "Véase :class:`dict` y :ref:`typesmapping` para más información sobre esta " "clase." -#: ../Doc/library/functions.rst:362 +#: ../Doc/library/functions.rst:361 msgid "" "For other containers see the built-in :class:`list`, :class:`set`, and :" "class:`tuple` classes, as well as the :mod:`collections` module." @@ -884,7 +869,7 @@ msgstr "" "`list`, :class:`set`, y :class:`tuple`, así como el módulo :mod:" "`collections`." -#: ../Doc/library/functions.rst:368 +#: ../Doc/library/functions.rst:367 msgid "" "Without arguments, return the list of names in the current local scope. " "With an argument, attempt to return a list of valid attributes for that " @@ -893,7 +878,7 @@ msgstr "" "Sin argumentos, retorna la lista de nombres en el ámbito local. Con un " "argumento, intenta retornar una lista de atributos válidos para ese objeto." -#: ../Doc/library/functions.rst:371 +#: ../Doc/library/functions.rst:370 msgid "" "If the object has a method named :meth:`__dir__`, this method will be called " "and must return the list of attributes. This allows objects that implement a " @@ -906,7 +891,7 @@ msgstr "" "`__getattribute__` puedan decidir la manera en la que :func:`dir` reporta " "sus atributos." -#: ../Doc/library/functions.rst:376 +#: ../Doc/library/functions.rst:375 msgid "" "If the object does not provide :meth:`__dir__`, the function tries its best " "to gather information from the object's :attr:`~object.__dict__` attribute, " @@ -920,7 +905,7 @@ msgstr "" "necesariamente completa, y puede ser inexacta cuando el objeto tiene una " "función :func:`__getattr__` implementada." -#: ../Doc/library/functions.rst:381 +#: ../Doc/library/functions.rst:380 msgid "" "The default :func:`dir` mechanism behaves differently with different types " "of objects, as it attempts to produce the most relevant, rather than " @@ -930,7 +915,7 @@ msgstr "" "diferentes tipos de objeto, ya que intenta producir la información más " "relevante en vez de la más completa:" -#: ../Doc/library/functions.rst:385 +#: ../Doc/library/functions.rst:384 msgid "" "If the object is a module object, the list contains the names of the " "module's attributes." @@ -938,7 +923,7 @@ msgstr "" "Si el objeto es un módulo, la lista contiene los nombres de los atributos " "del módulo." -#: ../Doc/library/functions.rst:388 +#: ../Doc/library/functions.rst:387 msgid "" "If the object is a type or class object, the list contains the names of its " "attributes, and recursively of the attributes of its bases." @@ -946,7 +931,7 @@ msgstr "" "Si el objeto es un tipo o una clase, la lista contiene los nombres de sus " "atributos, y recursivamente la de los atributos de sus clases base." -#: ../Doc/library/functions.rst:391 +#: ../Doc/library/functions.rst:390 msgid "" "Otherwise, the list contains the object's attributes' names, the names of " "its class's attributes, and recursively of the attributes of its class's " @@ -956,11 +941,11 @@ msgstr "" "objeto, los nombres de los atributos de su clase, y recursivamente los " "atributos de sus clases base." -#: ../Doc/library/functions.rst:395 +#: ../Doc/library/functions.rst:394 msgid "The resulting list is sorted alphabetically. For example:" msgstr "La lista resultante está ordenada alfabéticamente. Por ejemplo:" -#: ../Doc/library/functions.rst:414 +#: ../Doc/library/functions.rst:413 msgid "" "Because :func:`dir` is supplied primarily as a convenience for use at an " "interactive prompt, it tries to supply an interesting set of names more than " @@ -974,7 +959,7 @@ msgstr "" "cambiar entre versiones. Por ejemplo, los atributos de metaclase no están en " "la lista resultante cuando el argumento es una clase." -#: ../Doc/library/functions.rst:424 +#: ../Doc/library/functions.rst:423 msgid "" "Take two (non complex) numbers as arguments and return a pair of numbers " "consisting of their quotient and remainder when using integer division. " @@ -995,7 +980,7 @@ msgstr "" "es distinto de cero y tiene el mismo signo que *b*, y ``0 <= abs(a % b) < " "abs(b)``." -#: ../Doc/library/functions.rst:436 +#: ../Doc/library/functions.rst:435 msgid "" "Return an enumerate object. *iterable* must be a sequence, an :term:" "`iterator`, or some other object which supports iteration. The :meth:" @@ -1009,11 +994,11 @@ msgstr "" "`enumerate` retorna una tupla que contiene un contador (desde *start*, cuyo " "valor por defecto es 0) y los valores obtenidos al iterar sobre *iterable*." -#: ../Doc/library/functions.rst:448 +#: ../Doc/library/functions.rst:447 msgid "Equivalent to::" msgstr "Equivalente a::" -#: ../Doc/library/functions.rst:459 +#: ../Doc/library/functions.rst:458 msgid "" "The arguments are a string and optional globals and locals. If provided, " "*globals* must be a dictionary. If provided, *locals* can be any mapping " @@ -1023,7 +1008,7 @@ msgstr "" "introduce, *globals* tiene que ser un diccionario, y *locals* puede ser " "cualquier objeto de mapeo." -#: ../Doc/library/functions.rst:463 +#: ../Doc/library/functions.rst:462 msgid "" "The *expression* argument is parsed and evaluated as a Python expression " "(technically speaking, a condition list) using the *globals* and *locals* " @@ -1054,7 +1039,7 @@ msgstr "" "term:`alcances anidados ` (no-locales) en el entorno que lo " "contiene." -#: ../Doc/library/functions.rst:477 +#: ../Doc/library/functions.rst:476 msgid "" "The return value is the result of the evaluated expression. Syntax errors " "are reported as exceptions. Example:" @@ -1062,7 +1047,7 @@ msgstr "" "El valor que retorna es el resultado de la expresión evaluada. Los errores " "de sintaxis son reportados como excepciones. Por ejemplo:" -#: ../Doc/library/functions.rst:484 +#: ../Doc/library/functions.rst:483 msgid "" "This function can also be used to execute arbitrary code objects (such as " "those created by :func:`compile`). In this case pass a code object instead " @@ -1075,7 +1060,7 @@ msgstr "" "compilado usando ``'exec'`` como el argumento *mode*, el valor que " "retornará :func:`eval`\\ será ``None``." -#: ../Doc/library/functions.rst:489 +#: ../Doc/library/functions.rst:488 msgid "" "Hints: dynamic execution of statements is supported by the :func:`exec` " "function. The :func:`globals` and :func:`locals` functions returns the " @@ -1087,7 +1072,7 @@ msgstr "" "diccionarios global y local en ese momento, lo cual puede ser útil para su " "uso en :func:`eval` o :func:`exec`." -#: ../Doc/library/functions.rst:494 +#: ../Doc/library/functions.rst:493 msgid "" "See :func:`ast.literal_eval` for a function that can safely evaluate strings " "with expressions containing only literals." @@ -1095,6 +1080,7 @@ msgstr "" "Véase :func:`ast.literal_eval`, una función que puede evaluar de forma " "segura cadenas con expresiones que contienen solo literales." +#: ../Doc/library/functions.rst:496 ../Doc/library/functions.rst:532 msgid "" "Raises an :ref:`auditing event ` ``exec`` with argument " "``code_object``." @@ -1102,7 +1088,7 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``exec`` con un argumento " "``code_object``." -#: ../Doc/library/functions.rst:499 ../Doc/library/functions.rst:534 +#: ../Doc/library/functions.rst:498 ../Doc/library/functions.rst:534 msgid "" "Raises an :ref:`auditing event ` ``exec`` with the code object as " "the argument. Code compilation events may also be raised." @@ -1111,7 +1097,8 @@ msgstr "" "como el argumento. También podrían ser lanzados eventos de compilación de " "código." -#: ../Doc/library/functions.rst:506 +#: ../Doc/library/functions.rst:505 +#, fuzzy msgid "" "This function supports dynamic execution of Python code. *object* must be " "either a string or a code object. If it is a string, the string is parsed " @@ -1119,9 +1106,9 @@ msgid "" "error occurs). [#]_ If it is a code object, it is simply executed. In all " "cases, the code that's executed is expected to be valid as file input (see " "the section \"File input\" in the Reference Manual). Be aware that the :" -"keyword:`return` and :keyword:`yield` statements may not be used outside of " -"function definitions even within the context of code passed to the :func:" -"`exec` function. The return value is ``None``." +"keyword:`nonlocal`, :keyword:`yield`, and :keyword:`return` statements may " +"not be used outside of function definitions even within the context of code " +"passed to the :func:`exec` function. The return value is ``None``." msgstr "" "Esta función soporta ejecución dinámica de código de Python. *object* debe " "ser una cadena o un objeto código. Si es una cadena, esta es paseada como un " @@ -1524,7 +1511,16 @@ msgstr "" "existencia. Dos objetos con existencias en el tiempo que no coincidan pueden " "tener el mismo valor de :func:`id`." -#: ../Doc/library/functions.rst:773 +#: ../Doc/library/functions.rst:770 +#, fuzzy +msgid "" +"Raises an :ref:`auditing event ` ``builtins.id`` with argument " +"``id``." +msgstr "" +"Lanza un :ref:`evento de auditoría ` ``builtins.input`` con el " +"argumento ``prompt``." + +#: ../Doc/library/functions.rst:775 msgid "" "If the *prompt* argument is present, it is written to standard output " "without a trailing newline. The function then reads a line from input, " @@ -1536,7 +1532,7 @@ msgstr "" "entrada, la convierte en una cadena (eliminando la nueva línea), y retorna " "eso. Cuando se lee EOF, se lanza una excepción :exc:`EOFError`. Ejemplo::" -#: ../Doc/library/functions.rst:783 +#: ../Doc/library/functions.rst:785 msgid "" "If the :mod:`readline` module was loaded, then :func:`input` will use it to " "provide elaborate line editing and history features." @@ -1545,6 +1541,7 @@ msgstr "" "para proporcionar características más elaboradas de edición de líneas e " "historiales." +#: ../Doc/library/functions.rst:788 #, fuzzy msgid "" "Raises an :ref:`auditing event ` ``builtins.input`` with argument " @@ -1553,7 +1550,7 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``builtins.input`` con el " "argumento ``prompt``." -#: ../Doc/library/functions.rst:788 +#: ../Doc/library/functions.rst:790 msgid "" "Raises an :ref:`auditing event ` ``builtins.input`` with argument " "``prompt`` before reading input" @@ -1561,6 +1558,7 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``builtins.input`` con el " "argumento ``prompt`` antes de leer entrada" +#: ../Doc/library/functions.rst:793 #, fuzzy msgid "" "Raises an :ref:`auditing event ` ``builtins.input/result`` with " @@ -1569,7 +1567,7 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``builtins.input/result`` con " "argumento ``result``." -#: ../Doc/library/functions.rst:793 +#: ../Doc/library/functions.rst:795 msgid "" "Raises an auditing event ``builtins.input/result`` with the result after " "successfully reading input." @@ -1577,7 +1575,7 @@ msgstr "" "Lanza un evento de auditoría ``builtins.input/result`` con el resultado " "justo después de haber leído con éxito la entrada." -#: ../Doc/library/functions.rst:800 +#: ../Doc/library/functions.rst:802 msgid "" "Return an integer object constructed from a number or string *x*, or return " "``0`` if no arguments are given. If *x* defines :meth:`__int__`, ``int(x)`` " @@ -1592,8 +1590,12 @@ msgstr "" "__trunc__()``. Para números de punto flotante, los valores serán truncados " "hacia cero." -# si he entendido correctamente, radix es una manera latina de referirse a una base aritmetica (https://en.wikipedia.org/wiki/Radix) luego en español aunque quede redundante debería dejar de base *base* pq una cosa es la cosa y la otra el argumento. Lo de las bases tampoco me convence la explicación/traducción -#: ../Doc/library/functions.rst:807 +# si he entendido correctamente, radix es una manera latina de referirse a una +# base aritmetica (https://en.wikipedia.org/wiki/Radix) luego en español +# aunque quede redundante debería dejar de base *base* pq una cosa es la cosa +# y la otra el argumento. Lo de las bases tampoco me convence la +# explicación/traducción +#: ../Doc/library/functions.rst:809 msgid "" "If *x* is not a number or if *base* is given, then *x* must be a string, :" "class:`bytes`, or :class:`bytearray` instance representing an :ref:`integer " @@ -1623,11 +1625,11 @@ msgstr "" "``int('010', 0)`` no sea legal, mientras que ``int('010')`` sí lo es, así " "como ``int('010', 8)``." -#: ../Doc/library/functions.rst:820 +#: ../Doc/library/functions.rst:822 msgid "The integer type is described in :ref:`typesnumeric`." msgstr "El tipo entero se describe en :ref:`typesnumeric`." -#: ../Doc/library/functions.rst:822 +#: ../Doc/library/functions.rst:824 msgid "" "If *base* is not an instance of :class:`int` and the *base* object has a :" "meth:`base.__index__ ` method, that method is called to " @@ -1640,11 +1642,11 @@ msgstr "" "`base.__int__ ` en vez de :meth:`base.__index__ `." -#: ../Doc/library/functions.rst:835 +#: ../Doc/library/functions.rst:837 msgid "Falls back to :meth:`__index__` if :meth:`__int__` is not defined." msgstr "Recurre a :meth:`__index__` si no está definido :meth:`__int__`." -#: ../Doc/library/functions.rst:841 +#: ../Doc/library/functions.rst:843 msgid "" "Return ``True`` if the *object* argument is an instance of the *classinfo* " "argument, or of a (direct, indirect or :term:`virtual `) of *classinfo*. A class is considered a subclass of " @@ -1677,7 +1679,7 @@ msgstr "" "clase, en cuyo caso cada elemento en *classinfo* será comprobado. En " "cualquier otro caso, se lanzará una excepción :exc:`TypeError`." -#: ../Doc/library/functions.rst:862 +#: ../Doc/library/functions.rst:864 msgid "" "Return an :term:`iterator` object. The first argument is interpreted very " "differently depending on the presence of the second argument. Without a " @@ -1704,11 +1706,11 @@ msgstr "" "*sentinel*, una :exc:`StopIteration` será lanzada, de lo contrario el valor " "será retornado." -#: ../Doc/library/functions.rst:875 +#: ../Doc/library/functions.rst:877 msgid "See also :ref:`typeiter`." msgstr "Ver también :ref:`typeiter`." -#: ../Doc/library/functions.rst:877 +#: ../Doc/library/functions.rst:879 msgid "" "One useful application of the second form of :func:`iter` is to build a " "block-reader. For example, reading fixed-width blocks from a binary database " @@ -1719,7 +1721,7 @@ msgstr "" "fijo de una base de datos binaria hasta que el fin del fichero sea " "alcanzado::" -#: ../Doc/library/functions.rst:889 +#: ../Doc/library/functions.rst:891 msgid "" "Return the length (the number of items) of an object. The argument may be a " "sequence (such as a string, bytes, tuple, list, or range) or a collection " @@ -1729,7 +1731,13 @@ msgstr "" "ser una secuencia (como una cadena, un objeto byte, una tupla, lista o " "rango) o una colección (como un diccionario, un set o un *frozen set*)." -#: ../Doc/library/functions.rst:898 +#: ../Doc/library/functions.rst:897 +msgid "" +"``len`` raises :exc:`OverflowError` on lengths larger than :data:`sys." +"maxsize`, such as :class:`range(2 ** 100) `." +msgstr "" + +#: ../Doc/library/functions.rst:905 msgid "" "Rather than being a function, :class:`list` is actually a mutable sequence " "type, as documented in :ref:`typesseq-list` and :ref:`typesseq`." @@ -1737,7 +1745,7 @@ msgstr "" "Más que una función, :class:`list` es realmente un tipo de secuencia " "mutable, como está documentado en :ref:`typesseq-list` y :ref:`typesseq`." -#: ../Doc/library/functions.rst:904 +#: ../Doc/library/functions.rst:911 msgid "" "Update and return a dictionary representing the current local symbol table. " "Free variables are returned by :func:`locals` when it is called in function " @@ -1750,7 +1758,7 @@ msgstr "" "clases. Nótese que a nivel de módulo, :func:`locals` y :func:`globals` son " "el mismo diccionario." -#: ../Doc/library/functions.rst:910 +#: ../Doc/library/functions.rst:917 msgid "" "The contents of this dictionary should not be modified; changes may not " "affect the values of local and free variables used by the interpreter." @@ -1759,7 +1767,7 @@ msgstr "" "afectarán los valores de las variables locales y libres utilizadas por el " "intérprete." -#: ../Doc/library/functions.rst:915 +#: ../Doc/library/functions.rst:922 msgid "" "Return an iterator that applies *function* to every item of *iterable*, " "yielding the results. If additional *iterable* arguments are passed, " @@ -1776,14 +1784,14 @@ msgstr "" "Para casos donde las entradas de la función ya están organizadas como tuplas " "de argumentos, ver :func:`itertools.starmap`\\." -#: ../Doc/library/functions.rst:926 +#: ../Doc/library/functions.rst:933 msgid "" "Return the largest item in an iterable or the largest of two or more " "arguments." msgstr "" "Retorna el elemento mayor en un iterable o el mayor de dos o más argumentos." -#: ../Doc/library/functions.rst:929 +#: ../Doc/library/functions.rst:936 msgid "" "If one positional argument is provided, it should be an :term:`iterable`. " "The largest item in the iterable is returned. If two or more positional " @@ -1794,7 +1802,7 @@ msgstr "" "posicionales son indicados, el mayor de los argumentos posicionales será " "retornado." -#: ../Doc/library/functions.rst:934 ../Doc/library/functions.rst:971 +#: ../Doc/library/functions.rst:941 ../Doc/library/functions.rst:978 msgid "" "There are two optional keyword-only arguments. The *key* argument specifies " "a one-argument ordering function like that used for :meth:`list.sort`. The " @@ -1808,7 +1816,7 @@ msgstr "" "retornar si el iterable proporcionado está vacío. Si el iterable está vacío " "y *default* no ha sido indicado, se lanza un :exc:`ValueError`." -#: ../Doc/library/functions.rst:940 +#: ../Doc/library/functions.rst:947 msgid "" "If multiple items are maximal, the function returns the first one " "encountered. This is consistent with other sort-stability preserving tools " @@ -1821,15 +1829,15 @@ msgstr "" "key=keyfunc, reverse=True)[0]`` y ``heapq.nlargest(1, iterable, " "key=keyfunc)``." -#: ../Doc/library/functions.rst:945 ../Doc/library/functions.rst:982 +#: ../Doc/library/functions.rst:952 ../Doc/library/functions.rst:989 msgid "The *default* keyword-only argument." msgstr "El argumento *default* sólo por palabra clave." -#: ../Doc/library/functions.rst:948 ../Doc/library/functions.rst:985 +#: ../Doc/library/functions.rst:955 ../Doc/library/functions.rst:992 msgid "The *key* can be ``None``." msgstr "*key* puede ser ``None``." -#: ../Doc/library/functions.rst:956 +#: ../Doc/library/functions.rst:963 msgid "" "Return a \"memory view\" object created from the given argument. See :ref:" "`typememoryview` for more information." @@ -1837,14 +1845,14 @@ msgstr "" "Retorna un objeto *\"memory view\"* creado a partir del argumento indicado. " "Para más información ver :ref:`typememoryview`." -#: ../Doc/library/functions.rst:963 +#: ../Doc/library/functions.rst:970 msgid "" "Return the smallest item in an iterable or the smallest of two or more " "arguments." msgstr "" "Retorna el menor elemento en un iterable o el menor de dos o más argumentos." -#: ../Doc/library/functions.rst:966 +#: ../Doc/library/functions.rst:973 msgid "" "If one positional argument is provided, it should be an :term:`iterable`. " "The smallest item in the iterable is returned. If two or more positional " @@ -1855,7 +1863,7 @@ msgstr "" "posicionales son indicados, el menor de los argumentos posicionales es " "retornado." -#: ../Doc/library/functions.rst:977 +#: ../Doc/library/functions.rst:984 msgid "" "If multiple items are minimal, the function returns the first one " "encountered. This is consistent with other sort-stability preserving tools " @@ -1867,7 +1875,7 @@ msgstr "" "preservan la estabilidad de la ordenación como ``sorted(iterable, " "key=keyfunc)[0]`` y ``heapq.nsmallest(1, iterable, key=keyfunc)``." -#: ../Doc/library/functions.rst:991 +#: ../Doc/library/functions.rst:998 msgid "" "Retrieve the next item from the *iterator* by calling its :meth:`~iterator." "__next__` method. If *default* is given, it is returned if the iterator is " @@ -1877,7 +1885,7 @@ msgstr "" "`~iterator.__next__`. Si se le indica *default*, éste será retornado si se " "agota el iterador, de lo contrario, se lanza un :exc:`StopIteration`." -#: ../Doc/library/functions.rst:998 +#: ../Doc/library/functions.rst:1005 msgid "" "Return a new featureless object. :class:`object` is a base for all classes. " "It has the methods that are common to all instances of Python classes. This " @@ -1887,7 +1895,7 @@ msgstr "" "las clases. Tiene todos los métodos que son comunes a todas las instancias " "de clases de Python. Esta función no acepta ningún argumento." -#: ../Doc/library/functions.rst:1004 +#: ../Doc/library/functions.rst:1011 msgid "" ":class:`object` does *not* have a :attr:`~object.__dict__`, so you can't " "assign arbitrary attributes to an instance of the :class:`object` class." @@ -1895,7 +1903,7 @@ msgstr "" ":class:`object` *no* tiene un :attr:`~object.__dict__`, así que no puedes " "asignar atributos arbitrarios a una instancia de la clase :class:`object`." -#: ../Doc/library/functions.rst:1010 +#: ../Doc/library/functions.rst:1017 msgid "" "Convert an integer number to an octal string prefixed with \"0o\". The " "result is a valid Python expression. If *x* is not a Python :class:`int` " @@ -1907,7 +1915,7 @@ msgstr "" "clase Python :class:`int`, tiene que tener definido un método :meth:" "`__index__` que retorne un entero. Por ejemplo:" -#: ../Doc/library/functions.rst:1020 +#: ../Doc/library/functions.rst:1027 msgid "" "If you want to convert an integer number to octal string either with prefix " "\"0o\" or not, you can use either of the following ways." @@ -1915,15 +1923,17 @@ msgstr "" "Si quieres convertir un número entero a una cadena octal, tanto con prefijo " "\"0o\" como sin el, puedes usar cualquiera de las siguientes formas." -#: ../Doc/library/functions.rst:1037 +#: ../Doc/library/functions.rst:1044 +#, fuzzy msgid "" "Open *file* and return a corresponding :term:`file object`. If the file " -"cannot be opened, an :exc:`OSError` is raised." +"cannot be opened, an :exc:`OSError` is raised. See :ref:`tut-files` for more " +"examples of how to use this function." msgstr "" "Abre *file* y Retorna el :term:`file object` correspondiente. Si el fichero " "no puede ser abierto, se lanza una excepción :exc:`OSError`." -#: ../Doc/library/functions.rst:1040 +#: ../Doc/library/functions.rst:1048 msgid "" "*file* is a :term:`path-like object` giving the pathname (absolute or " "relative to the current working directory) of the file to be opened or an " @@ -1938,7 +1948,7 @@ msgstr "" "que *closefd* esté puesto a ``False``.)" # codificación local actual por current locale encoding? -#: ../Doc/library/functions.rst:1046 +#: ../Doc/library/functions.rst:1054 msgid "" "*mode* is an optional string that specifies the mode in which the file is " "opened. It defaults to ``'r'`` which means open for reading in text mode. " @@ -1963,71 +1973,71 @@ msgstr "" "(Para lectura y escritura de bytes en crudo usa el modo binario y deja " "*encoding* sin especificar). Los modos disponibles son:" -#: ../Doc/library/functions.rst:1063 +#: ../Doc/library/functions.rst:1071 msgid "Character" msgstr "Carácter" -#: ../Doc/library/functions.rst:1063 +#: ../Doc/library/functions.rst:1071 msgid "Meaning" msgstr "Significado" -#: ../Doc/library/functions.rst:1065 +#: ../Doc/library/functions.rst:1073 msgid "``'r'``" msgstr "``’r’``" -#: ../Doc/library/functions.rst:1065 +#: ../Doc/library/functions.rst:1073 msgid "open for reading (default)" msgstr "abierto para lectura (por defecto)" -#: ../Doc/library/functions.rst:1066 +#: ../Doc/library/functions.rst:1074 msgid "``'w'``" msgstr "``'w'``" -#: ../Doc/library/functions.rst:1066 +#: ../Doc/library/functions.rst:1074 msgid "open for writing, truncating the file first" msgstr "abierto para escritura, truncando primero el fichero" -#: ../Doc/library/functions.rst:1067 +#: ../Doc/library/functions.rst:1075 msgid "``'x'``" msgstr "``'x'``" -#: ../Doc/library/functions.rst:1067 +#: ../Doc/library/functions.rst:1075 msgid "open for exclusive creation, failing if the file already exists" msgstr "abierto para creación en exclusiva, falla si el fichero ya existe" -#: ../Doc/library/functions.rst:1068 +#: ../Doc/library/functions.rst:1076 msgid "``'a'``" msgstr "``’a’``" -#: ../Doc/library/functions.rst:1068 +#: ../Doc/library/functions.rst:1076 msgid "open for writing, appending to the end of the file if it exists" msgstr "abierto para escritura, añadiendo al final del fichero si este existe" -#: ../Doc/library/functions.rst:1069 +#: ../Doc/library/functions.rst:1077 msgid "``'b'``" msgstr "``'b'``" -#: ../Doc/library/functions.rst:1069 +#: ../Doc/library/functions.rst:1077 msgid "binary mode" msgstr "modo binario" -#: ../Doc/library/functions.rst:1070 +#: ../Doc/library/functions.rst:1078 msgid "``'t'``" msgstr "``’t’``" -#: ../Doc/library/functions.rst:1070 +#: ../Doc/library/functions.rst:1078 msgid "text mode (default)" msgstr "modo texto (por defecto)" -#: ../Doc/library/functions.rst:1071 +#: ../Doc/library/functions.rst:1079 msgid "``'+'``" msgstr "``’+’``" -#: ../Doc/library/functions.rst:1071 +#: ../Doc/library/functions.rst:1079 msgid "open for updating (reading and writing)" msgstr "abierto para actualizar (lectura y escritura)" -#: ../Doc/library/functions.rst:1074 +#: ../Doc/library/functions.rst:1082 msgid "" "The default mode is ``'r'`` (open for reading text, synonym of ``'rt'``). " "Modes ``'w+'`` and ``'w+b'`` open and truncate the file. Modes ``'r+'`` and " @@ -2037,7 +2047,7 @@ msgstr "" "de ``’rt’``. Los modos ``’w+’`` y ``’w+b’`` abren y truncan el fichero. " "Los modos ``’r+’`` y ``’r+b’`` abren el fichero sin truncarlo." -#: ../Doc/library/functions.rst:1078 +#: ../Doc/library/functions.rst:1086 msgid "" "As mentioned in the :ref:`io-overview`, Python distinguishes between binary " "and text I/O. Files opened in binary mode (including ``'b'`` in the *mode* " @@ -2055,7 +2065,7 @@ msgstr "" "como :class:`str`, tras descodificar los *bytes* usando una codificación " "dependiente de plataforma o usando el *encoding* especificado como argumento." -#: ../Doc/library/functions.rst:1086 +#: ../Doc/library/functions.rst:1094 msgid "" "There is an additional mode character permitted, ``'U'``, which no longer " "has any effect, and is considered deprecated. It previously enabled :term:" @@ -2069,7 +2079,7 @@ msgstr "" "comportamiento por defecto en Python 3.0. Para más detalles, referirse a la " "documentación del parámetro :ref:`newline `." -#: ../Doc/library/functions.rst:1094 +#: ../Doc/library/functions.rst:1102 msgid "" "Python doesn't depend on the underlying operating system's notion of text " "files; all the processing is done by Python itself, and is therefore " @@ -2080,7 +2090,7 @@ msgstr "" "de plataforma." # norma o normativa, o literalmente política? -#: ../Doc/library/functions.rst:1098 +#: ../Doc/library/functions.rst:1106 msgid "" "*buffering* is an optional integer used to set the buffering policy. Pass 0 " "to switch buffering off (only allowed in binary mode), 1 to select line " @@ -2095,7 +2105,7 @@ msgstr "" "indica el argumento *buffering*, la norma por defecto de buffering funciona " "de la siguiente manera:" -#: ../Doc/library/functions.rst:1104 +#: ../Doc/library/functions.rst:1112 msgid "" "Binary files are buffered in fixed-size chunks; the size of the buffer is " "chosen using a heuristic trying to determine the underlying device's \"block " @@ -2108,7 +2118,7 @@ msgstr "" "`io.DEFAULT_BUFFER_SIZE`. En muchos sistemas, el búfer tendrá normalmente un " "tamaño de 4096 o 8192 bytes." -#: ../Doc/library/functions.rst:1109 +#: ../Doc/library/functions.rst:1117 msgid "" "\"Interactive\" text files (files for which :meth:`~io.IOBase.isatty` " "returns ``True``) use line buffering. Other text files use the policy " @@ -2118,7 +2128,7 @@ msgstr "" "IOBase.isatty` retorna ``True``) usan buffering por líneas. Otros ficheros " "de texto emplean la norma descrita anteriormente para ficheros binarios." -#: ../Doc/library/functions.rst:1113 +#: ../Doc/library/functions.rst:1121 msgid "" "*encoding* is the name of the encoding used to decode or encode the file. " "This should only be used in text mode. The default encoding is platform " @@ -2133,7 +2143,7 @@ msgstr "" "encoding` soportado por Python. Véase el módulo :mod:`codecs` para la " "lista de codificaciones soportadas." -#: ../Doc/library/functions.rst:1120 +#: ../Doc/library/functions.rst:1128 msgid "" "*errors* is an optional string that specifies how encoding and decoding " "errors are to be handled—this cannot be used in binary mode. A variety of " @@ -2148,7 +2158,7 @@ msgstr "" "error registrado con :func:`codecs.register_error`. Los nombres estándar " "incluyen:" -#: ../Doc/library/functions.rst:1128 +#: ../Doc/library/functions.rst:1136 msgid "" "``'strict'`` to raise a :exc:`ValueError` exception if there is an encoding " "error. The default value of ``None`` has the same effect." @@ -2156,7 +2166,7 @@ msgstr "" "``'strict'`` para lanzar una excepción :exc:`ValueError` si hay un error de " "codificación. El valor por defecto, ``None``, produce el mismo efecto." -#: ../Doc/library/functions.rst:1132 +#: ../Doc/library/functions.rst:1140 msgid "" "``'ignore'`` ignores errors. Note that ignoring encoding errors can lead to " "data loss." @@ -2164,7 +2174,7 @@ msgstr "" "``'ignore'`` ignora los errores. Nótese que ignorar errores de codificación " "puede conllevar la pérdida de datos." -#: ../Doc/library/functions.rst:1135 +#: ../Doc/library/functions.rst:1143 msgid "" "``'replace'`` causes a replacement marker (such as ``'?'``) to be inserted " "where there is malformed data." @@ -2172,7 +2182,7 @@ msgstr "" "``'replace'`` provoca que se inserte un marcador de reemplazo (como " "``'?'``) en aquellos sitios donde hay datos malformados." -#: ../Doc/library/functions.rst:1138 +#: ../Doc/library/functions.rst:1146 msgid "" "``'surrogateescape'`` will represent any incorrect bytes as code points in " "the Unicode Private Use Area ranging from U+DC80 to U+DCFF. These private " @@ -2186,7 +2196,7 @@ msgstr "" "de errores ``surrogateescape`` sea usando al escribir datos. Esto es útil " "para el procesado de ficheros con una codificación desconocida." -#: ../Doc/library/functions.rst:1145 +#: ../Doc/library/functions.rst:1153 msgid "" "``'xmlcharrefreplace'`` is only supported when writing to a file. Characters " "not supported by the encoding are replaced with the appropriate XML " @@ -2196,7 +2206,7 @@ msgstr "" "fichero. Los caracteres que no estén soportados por la codificación son " "reemplazados por la referencia al carácter XML apropiado ``&#nnn;``." -#: ../Doc/library/functions.rst:1149 +#: ../Doc/library/functions.rst:1157 msgid "" "``'backslashreplace'`` replaces malformed data by Python's backslashed " "escape sequences." @@ -2204,7 +2214,7 @@ msgstr "" "``'backslashreplace'`` reemplaza datos malformados con las secuencias de " "escapes de barra invertida de Python." -#: ../Doc/library/functions.rst:1152 +#: ../Doc/library/functions.rst:1160 msgid "" "``'namereplace'`` (also only supported when writing) replaces unsupported " "characters with ``\\N{...}`` escape sequences." @@ -2212,7 +2222,7 @@ msgstr "" "``'namereplace'`` reemplaza caracteres no soportados con secuencias de " "escape ``\\N{...}`` (y también está sólo soportado en escritura)." -#: ../Doc/library/functions.rst:1160 +#: ../Doc/library/functions.rst:1168 msgid "" "*newline* controls how :term:`universal newlines` mode works (it only " "applies to text mode). It can be ``None``, ``''``, ``'\\n'``, ``'\\r'``, " @@ -2222,7 +2232,7 @@ msgstr "" "aplica a modo texto). Puede ser ``None``, ``''``, ``'\\n'``, ``'\\r'``, y " "``'\\r\\n'``. Funciona de la siguiente manera:" -#: ../Doc/library/functions.rst:1164 +#: ../Doc/library/functions.rst:1172 msgid "" "When reading input from the stream, if *newline* is ``None``, universal " "newlines mode is enabled. Lines in the input can end in ``'\\n'``, " @@ -2242,7 +2252,7 @@ msgstr "" "cadena dada, y los finales de línea serán retornados sin traducir a la " "entidad que llama." -#: ../Doc/library/functions.rst:1172 +#: ../Doc/library/functions.rst:1180 msgid "" "When writing output to the stream, if *newline* is ``None``, any ``'\\n'`` " "characters written are translated to the system default line separator, :" @@ -2257,7 +2267,7 @@ msgstr "" "valores válidos, entonces cualquier carácter ``'\\n'`` escrito es traducido " "a la cadena indicada." -#: ../Doc/library/functions.rst:1178 +#: ../Doc/library/functions.rst:1186 msgid "" "If *closefd* is ``False`` and a file descriptor rather than a filename was " "given, the underlying file descriptor will be kept open when the file is " @@ -2269,7 +2279,7 @@ msgstr "" "fichero. Si se indica un nombre de fichero, *closefd* debe ser ``True`` (lo " "es por defecto), ya que de otra forma se lanzará un error." -#: ../Doc/library/functions.rst:1183 +#: ../Doc/library/functions.rst:1191 msgid "" "A custom opener can be used by passing a callable as *opener*. The " "underlying file descriptor for the file object is then obtained by calling " @@ -2283,11 +2293,11 @@ msgstr "" "(pasando :mod:`os.open` como *opener* resulta en una funcionalidad similar a " "``None``)." -#: ../Doc/library/functions.rst:1189 +#: ../Doc/library/functions.rst:1197 msgid "The newly created file is :ref:`non-inheritable `." msgstr "El nuevo fichero creado es :ref:`no-heredable `." -#: ../Doc/library/functions.rst:1191 +#: ../Doc/library/functions.rst:1199 msgid "" "The following example uses the :ref:`dir_fd ` parameter of the :func:" "`os.open` function to open a file relative to a given directory::" @@ -2296,7 +2306,7 @@ msgstr "" "función :func:`os.open` para abrir un fichero relativo a un directorio " "dado::" -#: ../Doc/library/functions.rst:1204 +#: ../Doc/library/functions.rst:1212 msgid "" "The type of :term:`file object` returned by the :func:`open` function " "depends on the mode. When :func:`open` is used to open a file in a text " @@ -2323,7 +2333,7 @@ msgstr "" "flujo en crudo, una subclase de :class:`io.RawIOBase`, :class:`io.FileIO`, " "es retornada." -#: ../Doc/library/functions.rst:1225 +#: ../Doc/library/functions.rst:1233 msgid "" "See also the file handling modules, such as, :mod:`fileinput`, :mod:`io` " "(where :func:`open` is declared), :mod:`os`, :mod:`os.path`, :mod:" @@ -2333,7 +2343,7 @@ msgstr "" "mod:`io` (donde es declarada :func:`open`), :mod:`os`, :mod:`os.path`, :mod:" "`tempfile`, y :mod:`shutil`." -#: ../Doc/library/functions.rst:1230 +#: ../Doc/library/functions.rst:1237 msgid "" "Raises an :ref:`auditing event ` ``open`` with arguments ``file``, " "``mode``, ``flags``." @@ -2341,7 +2351,7 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``open`` con los argumentos " "``file``, ``mode``, ``flags``." -#: ../Doc/library/functions.rst:1231 +#: ../Doc/library/functions.rst:1239 msgid "" "The ``mode`` and ``flags`` arguments may have been modified or inferred from " "the original call." @@ -2349,21 +2359,21 @@ msgstr "" "Los argumentos ``mode`` y ``flags`` pueden haber sido modificados o " "inferidos de la llamada original." -#: ../Doc/library/functions.rst:1237 +#: ../Doc/library/functions.rst:1245 msgid "The *opener* parameter was added." msgstr "El parámetro *opener* fue añadido." -#: ../Doc/library/functions.rst:1238 +#: ../Doc/library/functions.rst:1246 msgid "The ``'x'`` mode was added." msgstr "El modo ``'x'`` fue añadido." -#: ../Doc/library/functions.rst:1239 +#: ../Doc/library/functions.rst:1247 msgid ":exc:`IOError` used to be raised, it is now an alias of :exc:`OSError`." msgstr "" ":exc:`IOError` era la excepción lanzada anteriormente, ahora es un alias " "de :exc:`OSError`." -#: ../Doc/library/functions.rst:1240 +#: ../Doc/library/functions.rst:1248 msgid "" ":exc:`FileExistsError` is now raised if the file opened in exclusive " "creation mode (``'x'``) already exists." @@ -2371,15 +2381,15 @@ msgstr "" "Se lanza :exc:`FileExistsError` si ya existe el fichero abierto en modo de " "creación exclusiva (``'x'``)." -#: ../Doc/library/functions.rst:1246 +#: ../Doc/library/functions.rst:1254 msgid "The file is now non-inheritable." msgstr "El fichero ahora es no-heredable." -#: ../Doc/library/functions.rst:1250 +#: ../Doc/library/functions.rst:1258 msgid "The ``'U'`` mode." msgstr "El modo ``'U'``." -#: ../Doc/library/functions.rst:1255 +#: ../Doc/library/functions.rst:1263 msgid "" "If the system call is interrupted and the signal handler does not raise an " "exception, the function now retries the system call instead of raising an :" @@ -2390,16 +2400,16 @@ msgstr "" "una excepción :exc:`InterruptedError` (véase :pep:`475` para la " "justificación)." -#: ../Doc/library/functions.rst:1258 +#: ../Doc/library/functions.rst:1266 msgid "The ``'namereplace'`` error handler was added." msgstr "El gestor de errores ``'namereplace'`` fue añadido." -#: ../Doc/library/functions.rst:1263 +#: ../Doc/library/functions.rst:1271 msgid "Support added to accept objects implementing :class:`os.PathLike`." msgstr "" "Añadido el soporte para aceptar objetos que implementan :class:`os.PathLike`." -#: ../Doc/library/functions.rst:1264 +#: ../Doc/library/functions.rst:1272 msgid "" "On Windows, opening a console buffer may return a subclass of :class:`io." "RawIOBase` other than :class:`io.FileIO`." @@ -2407,7 +2417,7 @@ msgstr "" "En Windows, abrir un búfer en la consola puede retornar una subclase de :" "class:`io.RawIOBase` en vez de :class:`io.FileIO`." -#: ../Doc/library/functions.rst:1269 +#: ../Doc/library/functions.rst:1277 msgid "" "Given a string representing one Unicode character, return an integer " "representing the Unicode code point of that character. For example, " @@ -2419,7 +2429,7 @@ msgstr "" "``ord('a')`` retorna el entero ``97`` y ``ord('€')`` (símbolo del Euro) " "retorna ``8364``. Esta es la función inversa de :func:`chr`." -#: ../Doc/library/functions.rst:1277 +#: ../Doc/library/functions.rst:1285 msgid "" "Return *base* to the power *exp*; if *mod* is present, return *base* to the " "power *exp*, modulo *mod* (computed more efficiently than ``pow(base, exp) % " @@ -2431,7 +2441,7 @@ msgstr "" "``pow(base, exp) % mod``). La forma con dos argumentos ``pow(base, exp)`` " "es equivalente a usar el operador potencia: ``base**exp``." -#: ../Doc/library/functions.rst:1282 +#: ../Doc/library/functions.rst:1290 msgid "" "The arguments must have numeric types. With mixed operand types, the " "coercion rules for binary arithmetic operators apply. For :class:`int` " @@ -2448,7 +2458,7 @@ msgstr "" "punto flotante y un resultado de punto flotante es retornado. Por ejemplo, " "``10**2`` retorna ``100``, pero ``10**-2`` retorna ``0.01``." -#: ../Doc/library/functions.rst:1289 +#: ../Doc/library/functions.rst:1297 msgid "" "For :class:`int` operands *base* and *exp*, if *mod* is present, *mod* must " "also be of integer type and *mod* must be nonzero. If *mod* is present and " @@ -2462,12 +2472,12 @@ msgstr "" "*mod*. En ese caso, se retorna ``pow(inv_base, -exp, mod)``, dónde " "*inv_base* es la inversa al módulo *mod* de *base*." -#: ../Doc/library/functions.rst:1295 +#: ../Doc/library/functions.rst:1303 msgid "Here's an example of computing an inverse for ``38`` modulo ``97``::" msgstr "" "Aquí tienes un ejemplo de cómo calcular la inversa de ``38`` módulo ``97``::" -#: ../Doc/library/functions.rst:1302 +#: ../Doc/library/functions.rst:1310 msgid "" "For :class:`int` operands, the three-argument form of ``pow`` now allows the " "second argument to be negative, permitting computation of modular inverses." @@ -2476,14 +2486,14 @@ msgstr "" "ahora que el segundo argumento sea negativo, lo que permite el cálculo de " "inversos modulares." -#: ../Doc/library/functions.rst:1307 +#: ../Doc/library/functions.rst:1315 msgid "" "Allow keyword arguments. Formerly, only positional arguments were supported." msgstr "" "Permite argumentos de palabra clave. Anteriormente, solo se soportaba el uso " "de argumentos posicionales." -#: ../Doc/library/functions.rst:1314 +#: ../Doc/library/functions.rst:1322 msgid "" "Print *objects* to the text stream *file*, separated by *sep* and followed " "by *end*. *sep*, *end*, *file* and *flush*, if present, must be given as " @@ -2493,7 +2503,7 @@ msgstr "" "seguidos por *end*. *sep*, *end*, *file* y *flush*, si están presentes, " "deben ser dados como argumentos por palabra clave." -#: ../Doc/library/functions.rst:1318 +#: ../Doc/library/functions.rst:1326 msgid "" "All non-keyword arguments are converted to strings like :func:`str` does and " "written to the stream, separated by *sep* and followed by *end*. Both *sep* " @@ -2507,7 +2517,7 @@ msgstr "" "pueden ser ``None``, lo cual significa que se empleen los valores por " "defecto. Si no se indica *objects*, :func:`print` escribirá *end*." -#: ../Doc/library/functions.rst:1324 +#: ../Doc/library/functions.rst:1332 msgid "" "The *file* argument must be an object with a ``write(string)`` method; if it " "is not present or ``None``, :data:`sys.stdout` will be used. Since printed " @@ -2521,7 +2531,7 @@ msgstr "" "binario. Para esos, utiliza en cambio ``file.write(…)``." # no teníamos claro si traducir o no buffered y como, asi como flushed. -#: ../Doc/library/functions.rst:1329 +#: ../Doc/library/functions.rst:1337 msgid "" "Whether output is buffered is usually determined by *file*, but if the " "*flush* keyword argument is true, the stream is forcibly flushed." @@ -2530,15 +2540,15 @@ msgstr "" "el argumento por palabra clave *flush* se emplea, el flujo se descarga " "forzosamente." -#: ../Doc/library/functions.rst:1332 +#: ../Doc/library/functions.rst:1340 msgid "Added the *flush* keyword argument." msgstr "Añadido el argumento por palabra clave *flush*." -#: ../Doc/library/functions.rst:1338 +#: ../Doc/library/functions.rst:1346 msgid "Return a property attribute." msgstr "Retorna un atributo propiedad." -#: ../Doc/library/functions.rst:1340 +#: ../Doc/library/functions.rst:1348 msgid "" "*fget* is a function for getting an attribute value. *fset* is a function " "for setting an attribute value. *fdel* is a function for deleting an " @@ -2549,12 +2559,12 @@ msgstr "" "eliminar el valor de un atributo. Y *doc* crea un *docstring* para el " "atributo." -#: ../Doc/library/functions.rst:1344 +#: ../Doc/library/functions.rst:1352 msgid "A typical use is to define a managed attribute ``x``::" msgstr "" "Un caso de uso típico es la definición de un atributo gestionado ``x``::" -#: ../Doc/library/functions.rst:1361 +#: ../Doc/library/functions.rst:1369 msgid "" "If *c* is an instance of *C*, ``c.x`` will invoke the getter, ``c.x = " "value`` will invoke the setter and ``del c.x`` the deleter." @@ -2563,7 +2573,7 @@ msgstr "" "``c.x = value`` invocará el asignador (*setter*) y ``del c.x`` el suprimidor " "(*deleter*)." -#: ../Doc/library/functions.rst:1364 +#: ../Doc/library/functions.rst:1372 msgid "" "If given, *doc* will be the docstring of the property attribute. Otherwise, " "the property will copy *fget*'s docstring (if it exists). This makes it " @@ -2575,7 +2585,7 @@ msgstr "" "Esto permite crear propiedades de sólo lectura de forma fácil empleando :" "func:`property` como :term:`decorator`::" -#: ../Doc/library/functions.rst:1377 +#: ../Doc/library/functions.rst:1385 msgid "" "The ``@property`` decorator turns the :meth:`voltage` method into a \"getter" "\" for a read-only attribute with the same name, and it sets the docstring " @@ -2585,7 +2595,7 @@ msgstr "" "\"*getter*\" para un atributo de sólo lectura con el mismo nombre, y asigna " "\"*Get the current voltage.*\" como la *docstring* de *voltage*." -#: ../Doc/library/functions.rst:1381 +#: ../Doc/library/functions.rst:1389 msgid "" "A property object has :attr:`~property.getter`, :attr:`~property.setter`, " "and :attr:`~property.deleter` methods usable as decorators that create a " @@ -2597,7 +2607,7 @@ msgstr "" "crean una copia de la propiedad con su correspondiente función de acceso " "asignada a la función decorada. Esto se explica mejor con un ejemplo::" -#: ../Doc/library/functions.rst:1403 +#: ../Doc/library/functions.rst:1411 msgid "" "This code is exactly equivalent to the first example. Be sure to give the " "additional functions the same name as the original property (``x`` in this " @@ -2607,7 +2617,7 @@ msgstr "" "a las funciones adicionales el mismo nombre que la propiedad original (``x`` " "en este caso.)" -#: ../Doc/library/functions.rst:1407 +#: ../Doc/library/functions.rst:1415 msgid "" "The returned property object also has the attributes ``fget``, ``fset``, and " "``fdel`` corresponding to the constructor arguments." @@ -2615,11 +2625,11 @@ msgstr "" "El objeto propiedad retornado tiene también los atributos ``fget``, " "``fset``, y ``fdel`` correspondientes a los argumentos del constructor." -#: ../Doc/library/functions.rst:1410 +#: ../Doc/library/functions.rst:1418 msgid "The docstrings of property objects are now writeable." msgstr "Las *docstrings* de los objetos propiedad son escribibles." -#: ../Doc/library/functions.rst:1419 +#: ../Doc/library/functions.rst:1427 msgid "" "Rather than being a function, :class:`range` is actually an immutable " "sequence type, as documented in :ref:`typesseq-range` and :ref:`typesseq`." @@ -2628,7 +2638,7 @@ msgstr "" "inmutable, tal y como está documentado en :ref:`typesseq-range` y :ref:" "`typesseq`." -#: ../Doc/library/functions.rst:1425 +#: ../Doc/library/functions.rst:1433 msgid "" "Return a string containing a printable representation of an object. For " "many types, this function makes an attempt to return a string that would " @@ -2646,7 +2656,7 @@ msgstr "" "incluye a menudo el nombre y la dirección del objeto. Una clase puede " "controlar lo que esta función retorna definiendo un método :meth:`__repr__`." -#: ../Doc/library/functions.rst:1436 +#: ../Doc/library/functions.rst:1444 msgid "" "Return a reverse :term:`iterator`. *seq* must be an object which has a :" "meth:`__reversed__` method or supports the sequence protocol (the :meth:" @@ -2658,7 +2668,7 @@ msgstr "" "método :meth:`__len__` y el método :meth:`__getitem__` con argumentos " "enteros comenzando en ``0``)." -#: ../Doc/library/functions.rst:1444 +#: ../Doc/library/functions.rst:1452 msgid "" "Return *number* rounded to *ndigits* precision after the decimal point. If " "*ndigits* is omitted or is ``None``, it returns the nearest integer to its " @@ -2668,7 +2678,7 @@ msgstr "" "decimal. Si *ndigits* es omitido o es ``None``, retorna el entero más " "cercano a su entrada." -#: ../Doc/library/functions.rst:1448 +#: ../Doc/library/functions.rst:1456 msgid "" "For the built-in types supporting :func:`round`, values are rounded to the " "closest multiple of 10 to the power minus *ndigits*; if two multiples are " @@ -2684,7 +2694,7 @@ msgstr "" "la opción par (así que por ejemplo tanto ``round(0.5)`` como ``round(-0.5)`` " "son ``0``, y ``round(1.5)`` es ``2``)." -#: ../Doc/library/functions.rst:1457 +#: ../Doc/library/functions.rst:1465 msgid "" "For a general Python object ``number``, ``round`` delegates to ``number." "__round__``." @@ -2692,7 +2702,7 @@ msgstr "" "Para un objeto ``number`` general de Python, ``round`` delega a ``number." "__round__``." -#: ../Doc/library/functions.rst:1462 +#: ../Doc/library/functions.rst:1470 msgid "" "The behavior of :func:`round` for floats can be surprising: for example, " "``round(2.675, 2)`` gives ``2.67`` instead of the expected ``2.68``. This is " @@ -2706,7 +2716,7 @@ msgstr "" "de fracciones decimales no se puede representar de forma exacta como " "flotantes. Véase :ref:`tut-fp-issues` para más información." -#: ../Doc/library/functions.rst:1473 +#: ../Doc/library/functions.rst:1481 msgid "" "Return a new :class:`set` object, optionally with elements taken from " "*iterable*. ``set`` is a built-in class. See :class:`set` and :ref:`types-" @@ -2716,7 +2726,7 @@ msgstr "" "de *iterable*. ``set`` es una clase integrada (*built-in*). Véase :class:" "`set` y :ref:`types-set` para documentación sobre esta clase." -#: ../Doc/library/functions.rst:1477 +#: ../Doc/library/functions.rst:1485 msgid "" "For other containers see the built-in :class:`frozenset`, :class:`list`, :" "class:`tuple`, and :class:`dict` classes, as well as the :mod:`collections` " @@ -2726,7 +2736,7 @@ msgstr "" "`frozenset`, :class:`list`, :class:`tuple`, y :class:`dict`, así como el " "módulo :mod:`collections`." -#: ../Doc/library/functions.rst:1484 +#: ../Doc/library/functions.rst:1492 msgid "" "This is the counterpart of :func:`getattr`. The arguments are an object, a " "string and an arbitrary value. The string may name an existing attribute or " @@ -2740,7 +2750,7 @@ msgstr "" "objeto lo permite. Por ejemplo, ``setattr(x, 'foobar', 123)`` es equivalente " "a ``x.foobar = 123``." -#: ../Doc/library/functions.rst:1496 +#: ../Doc/library/functions.rst:1504 msgid "" "Return a :term:`slice` object representing the set of indices specified by " "``range(start, stop, step)``. The *start* and *step* arguments default to " @@ -2765,19 +2775,19 @@ msgstr "" "Véase :func:`itertools.islice` para la versión alternativa que retorna un " "iterador." -#: ../Doc/library/functions.rst:1509 +#: ../Doc/library/functions.rst:1517 msgid "Return a new sorted list from the items in *iterable*." msgstr "" "Retorna una nueva lista ordenada a partir de los elementos en *iterable*." -#: ../Doc/library/functions.rst:1511 +#: ../Doc/library/functions.rst:1519 msgid "" "Has two optional arguments which must be specified as keyword arguments." msgstr "" "Tiene dos argumentos opcionales que deben ser especificados como argumentos " "de palabra clave." -#: ../Doc/library/functions.rst:1513 +#: ../Doc/library/functions.rst:1521 msgid "" "*key* specifies a function of one argument that is used to extract a " "comparison key from each element in *iterable* (for example, ``key=str." @@ -2788,7 +2798,7 @@ msgstr "" "``key=str.lower`). El valor por defecto es ``None`` (compara los elementos " "directamente)." -#: ../Doc/library/functions.rst:1517 +#: ../Doc/library/functions.rst:1525 msgid "" "*reverse* is a boolean value. If set to ``True``, then the list elements " "are sorted as if each comparison were reversed." @@ -2796,7 +2806,7 @@ msgstr "" "*reverse* es un valor boleado. Si está puesto a ``True``, entonces la lista " "de elementos se ordena como si cada comparación fuera reversa." -#: ../Doc/library/functions.rst:1520 +#: ../Doc/library/functions.rst:1528 msgid "" "Use :func:`functools.cmp_to_key` to convert an old-style *cmp* function to a " "*key* function." @@ -2804,7 +2814,7 @@ msgstr "" "Puedes usar :func:`functools.cmp_to_key` para convertir las funciones *cmp* " "a la antigua usanza en funciones *key*." -#: ../Doc/library/functions.rst:1523 +#: ../Doc/library/functions.rst:1531 msgid "" "The built-in :func:`sorted` function is guaranteed to be stable. A sort is " "stable if it guarantees not to change the relative order of elements that " @@ -2817,18 +2827,18 @@ msgstr "" "ayuda para ordenar en múltiples pases (por ejemplo, ordenar por " "departamento, después por el escalafón de salario)." -#: ../Doc/library/functions.rst:1528 +#: ../Doc/library/functions.rst:1536 msgid "" "For sorting examples and a brief sorting tutorial, see :ref:`sortinghowto`." msgstr "" "Para ejemplos de ordenamiento y para un breve tutorial sobre ello, ver :ref:" "`sortinghowto`." -#: ../Doc/library/functions.rst:1532 +#: ../Doc/library/functions.rst:1540 msgid "Transform a method into a static method." msgstr "Transforma un método en un método estático." -#: ../Doc/library/functions.rst:1534 +#: ../Doc/library/functions.rst:1542 msgid "" "A static method does not receive an implicit first argument. To declare a " "static method, use this idiom::" @@ -2836,7 +2846,7 @@ msgstr "" "Un método estático no recibe un primer argumento implícito. Para declarar un " "método estático, utiliza esta expresión::" -#: ../Doc/library/functions.rst:1541 +#: ../Doc/library/functions.rst:1549 msgid "" "The ``@staticmethod`` form is a function :term:`decorator` -- see :ref:" "`function` for details." @@ -2844,7 +2854,7 @@ msgstr "" "La forma ``@staticmethod`` es una función :term:`decorator` — ver :ref:" "`function` para más detalles." -#: ../Doc/library/functions.rst:1544 +#: ../Doc/library/functions.rst:1552 msgid "" "A static method can be called either on the class (such as ``C.f()``) or on " "an instance (such as ``C().f()``)." @@ -2852,7 +2862,7 @@ msgstr "" "Un método estático puede ser llamado sobre la clase (como ``C.f()``) o sobre " "una instancia (como `C().f()``)." -#: ../Doc/library/functions.rst:1547 +#: ../Doc/library/functions.rst:1555 msgid "" "Static methods in Python are similar to those found in Java or C++. Also " "see :func:`classmethod` for a variant that is useful for creating alternate " @@ -2862,7 +2872,7 @@ msgstr "" "Java o C++. Ver también :func:`classmethod` para una variante que es útil " "para crear constructores de clase alternativos." -#: ../Doc/library/functions.rst:1551 +#: ../Doc/library/functions.rst:1559 msgid "" "Like all decorators, it is also possible to call ``staticmethod`` as a " "regular function and do something with its result. This is needed in some " @@ -2876,18 +2886,18 @@ msgstr "" "clase y quieres evitar la transformación automática a un método de la " "instancia. Para dichos casos, emplea esta expresión::" -#: ../Doc/library/functions.rst:1560 +#: ../Doc/library/functions.rst:1568 msgid "For more information on static methods, see :ref:`types`." msgstr "Para más información sobre métodos estáticos, ver :ref:`types`." -#: ../Doc/library/functions.rst:1571 +#: ../Doc/library/functions.rst:1579 msgid "" "Return a :class:`str` version of *object*. See :func:`str` for details." msgstr "" "Retorna una versión :class:`str` del *object*. Ver :func:`str` para más " "detalles." -#: ../Doc/library/functions.rst:1573 +#: ../Doc/library/functions.rst:1581 msgid "" "``str`` is the built-in string :term:`class`. For general information about " "strings, see :ref:`textseq`." @@ -2895,7 +2905,7 @@ msgstr "" "``str`` es la :term:`class` cadena built-in . Para información general sobre " "strings, ver :ref:`textseq`." -#: ../Doc/library/functions.rst:1579 +#: ../Doc/library/functions.rst:1587 msgid "" "Sums *start* and the items of an *iterable* from left to right and returns " "the total. The *iterable*'s items are normally numbers, and the start value " @@ -2905,7 +2915,7 @@ msgstr "" "Retorna el total. Los elementos del *iterable* son normalmente números, y el " "valor *start* no puede ser una cadena." -#: ../Doc/library/functions.rst:1583 +#: ../Doc/library/functions.rst:1591 msgid "" "For some use cases, there are good alternatives to :func:`sum`. The " "preferred, fast way to concatenate a sequence of strings is by calling ``''." @@ -2919,13 +2929,13 @@ msgstr "" "extendida, ver :func:`math.fsum`\\. Para concatenar series de iterabais, " "considera usar :func:`itertools.chain`." -#: ../Doc/library/functions.rst:1589 +#: ../Doc/library/functions.rst:1597 msgid "The *start* parameter can be specified as a keyword argument." msgstr "" "El parámetro *start* puede ser especificado como un argumento de palabra " "clave." -#: ../Doc/library/functions.rst:1594 +#: ../Doc/library/functions.rst:1602 msgid "" "Return a proxy object that delegates method calls to a parent or sibling " "class of *type*. This is useful for accessing inherited methods that have " @@ -2935,7 +2945,7 @@ msgstr "" "hermanas de *type*. Esto es útil para acceder métodos heredados que han sido " "invalidados en una clase." -#: ../Doc/library/functions.rst:1598 +#: ../Doc/library/functions.rst:1606 msgid "" "The *object-or-type* determines the :term:`method resolution order` to be " "searched. The search starts from the class right after the *type*." @@ -2943,7 +2953,7 @@ msgstr "" "*object-or-type* determina el :term:`method resolution order` a ser buscado. " "La búsqueda empieza desde la clase justo después de *type*." -#: ../Doc/library/functions.rst:1602 +#: ../Doc/library/functions.rst:1610 msgid "" "For example, if :attr:`~class.__mro__` of *object-or-type* is ``D -> B -> C -" "> A -> object`` and the value of *type* is ``B``, then :func:`super` " @@ -2953,7 +2963,7 @@ msgstr "" "-> object`` y el valor de *type* es ``B``, entonces :func:`super` busca ``C -" "> A -> object``." -#: ../Doc/library/functions.rst:1606 +#: ../Doc/library/functions.rst:1614 msgid "" "The :attr:`~class.__mro__` attribute of the *object-or-type* lists the " "method resolution search order used by both :func:`getattr` and :func:" @@ -2965,7 +2975,7 @@ msgstr "" "`super`. El atributo es dinámico y puede cambiar en cuanto la jerarquía de " "herencia se actualiza." -#: ../Doc/library/functions.rst:1611 +#: ../Doc/library/functions.rst:1619 msgid "" "If the second argument is omitted, the super object returned is unbound. If " "the second argument is an object, ``isinstance(obj, type)`` must be true. " @@ -2977,7 +2987,7 @@ msgstr "" "debe ser verdadero. Si el segundo argumento es un tipo, ``issubclass(type2, " "type)`` debe ser verdadero (esto es útil para classmethods)." -#: ../Doc/library/functions.rst:1616 +#: ../Doc/library/functions.rst:1624 msgid "" "There are two typical use cases for *super*. In a class hierarchy with " "single inheritance, *super* can be used to refer to parent classes without " @@ -2990,7 +3000,7 @@ msgstr "" "mantener. Este uso es muy similar al de *super* en otros lenguajes de " "programación." -#: ../Doc/library/functions.rst:1621 +#: ../Doc/library/functions.rst:1629 msgid "" "The second use case is to support cooperative multiple inheritance in a " "dynamic execution environment. This use case is unique to Python and is not " @@ -3013,11 +3023,11 @@ msgstr "" "y porque ese orden puede incluir clases hermanas que son desconocidas antes " "de la ejecución)." -#: ../Doc/library/functions.rst:1631 +#: ../Doc/library/functions.rst:1639 msgid "For both use cases, a typical superclass call looks like this::" msgstr "Para ambos casos, la llamada típica de una superclase se parece a::" -#: ../Doc/library/functions.rst:1638 +#: ../Doc/library/functions.rst:1646 msgid "" "In addition to method lookups, :func:`super` also works for attribute " "lookups. One possible use case for this is calling :term:`descriptors " @@ -3027,7 +3037,7 @@ msgstr "" "búsquedas de atributos. Un caso de uso posible para esto es llamar a :term:" "`descriptores ` en una clase padre o hermana." -#: ../Doc/library/functions.rst:1642 +#: ../Doc/library/functions.rst:1650 msgid "" "Note that :func:`super` is implemented as part of the binding process for " "explicit dotted attribute lookups such as ``super().__getitem__(name)``. It " @@ -3044,7 +3054,7 @@ msgstr "" "definida para búsquedas implícitas usando declaraciones o operadores como " "``super()[name]``." -#: ../Doc/library/functions.rst:1649 +#: ../Doc/library/functions.rst:1657 msgid "" "Also note that, aside from the zero argument form, :func:`super` is not " "limited to use inside methods. The two argument form specifies the " @@ -3061,7 +3071,7 @@ msgstr "" "correctamente la clase que está siendo definida, así como accediendo a la " "instancia actual para métodos ordinarios." -#: ../Doc/library/functions.rst:1656 +#: ../Doc/library/functions.rst:1664 msgid "" "For practical suggestions on how to design cooperative classes using :func:" "`super`, see `guide to using super() `_." -#: ../Doc/library/functions.rst:1665 +#: ../Doc/library/functions.rst:1673 msgid "" "Rather than being a function, :class:`tuple` is actually an immutable " "sequence type, as documented in :ref:`typesseq-tuple` and :ref:`typesseq`." @@ -3080,7 +3090,7 @@ msgstr "" "inmutable, tal y como está documentado en :ref:`typesseq-tuple` y :ref:" "`typesseq`." -#: ../Doc/library/functions.rst:1674 +#: ../Doc/library/functions.rst:1682 msgid "" "With one argument, return the type of an *object*. The return value is a " "type object and generally the same object as returned by :attr:`object." @@ -3090,7 +3100,7 @@ msgstr "" "objeto tipo y generalmente el mismo objeto que el retornado por :attr:" "`object.__class__ `." -#: ../Doc/library/functions.rst:1678 +#: ../Doc/library/functions.rst:1686 msgid "" "The :func:`isinstance` built-in function is recommended for testing the type " "of an object, because it takes subclasses into account." @@ -3098,32 +3108,24 @@ msgstr "" "La función integrada :func:`isinstance` es la recomendada para testear el " "tipo de un objeto, ya que tiene en cuenta las subclases." -#: ../Doc/library/functions.rst:1682 +#: ../Doc/library/functions.rst:1690 msgid "" "With three arguments, return a new type object. This is essentially a " "dynamic form of the :keyword:`class` statement. The *name* string is the " -"class name and becomes the :attr:`~definition.__name__` attribute; the " -"*bases* tuple itemizes the base classes and becomes the :attr:`~class." -"__bases__` attribute; and the *dict* dictionary is the namespace containing " -"definitions for class body and is copied to a standard dictionary to become " -"the :attr:`~object.__dict__` attribute. For example, the following two " -"statements create identical :class:`type` objects:" -msgstr "" -"Con tres argumentos, retorna un nuevo objeto tipo. Ésta es esencialmente una " -"forma dinámica de la declaración :keyword:`class`. La cadena *name* es el " -"nombre de la clase y se convierte en el atributo :attr:`~definition." -"__name__` ; la tupla *bases* enumera las clases base y se convierte en el " -"atributo :attr:`~class.__bases__`; y el diccionario *dict* es el espacio de " -"nombres que contiene las definiciones del cuerpo de la clase y se copia a un " -"diccionario estándar para convertirse en el atributo :attr:`~object." -"__dict__`. Por ejemplo, las dos siguientes declaraciones crean objetos " -"idénticos :class:`type`:" - -#: ../Doc/library/functions.rst:1696 +"class name and becomes the :attr:`~definition.__name__` attribute. The " +"*bases* tuple contains the base classes and becomes the :attr:`~class." +"__bases__` attribute; if empty, :class:`object`, the ultimate base of all " +"classes, is added. The *dict* dictionary contains attribute and method " +"definitions for the class body; it may be copied or wrapped before becoming " +"the :attr:`~object.__dict__` attribute. The following two statements create " +"identical :class:`type` objects:" +msgstr "" + +#: ../Doc/library/functions.rst:1705 msgid "See also :ref:`bltin-type-objects`." msgstr "Ver también :ref:`bltin-type-objects`." -#: ../Doc/library/functions.rst:1698 +#: ../Doc/library/functions.rst:1707 msgid "" "Subclasses of :class:`type` which don't override ``type.__new__`` may no " "longer use the one-argument form to get the type of an object." @@ -3131,7 +3133,7 @@ msgstr "" "Subclases de :class:`type` que no sobrecarguen ``type.__new__`` ya no pueden " "usar la forma con un argumento para obtener el tipo de un objeto." -#: ../Doc/library/functions.rst:1704 +#: ../Doc/library/functions.rst:1713 msgid "" "Return the :attr:`~object.__dict__` attribute for a module, class, instance, " "or any other object with a :attr:`~object.__dict__` attribute." @@ -3139,7 +3141,7 @@ msgstr "" "Retorna el atributo :attr:`~object.__dict__` para un módulo, clase, " "instancia o cualquier otro objeto con un atributo :attr:`~object.__dict__`." -#: ../Doc/library/functions.rst:1707 +#: ../Doc/library/functions.rst:1716 msgid "" "Objects such as modules and instances have an updateable :attr:`~object." "__dict__` attribute; however, other objects may have write restrictions on " @@ -3152,7 +3154,7 @@ msgstr "" "que usan :class:`types.MappingProxyType` para evitar actualizaciones " "directas del diccionario)." -#: ../Doc/library/functions.rst:1712 +#: ../Doc/library/functions.rst:1721 msgid "" "Without an argument, :func:`vars` acts like :func:`locals`. Note, the " "locals dictionary is only useful for reads since updates to the locals " @@ -3162,11 +3164,18 @@ msgstr "" "que el diccionario de *locals* solo es útil para lecturas ya que las " "actualizaciones del diccionario de *locals* son ignoradas." -#: ../Doc/library/functions.rst:1719 +#: ../Doc/library/functions.rst:1725 +msgid "" +"A :exc:`TypeError` exception is raised if an object is specified but it " +"doesn't have a :attr:`~object.__dict__` attribute (for example, if its class " +"defines the :attr:`~object.__slots__` attribute)." +msgstr "" + +#: ../Doc/library/functions.rst:1731 msgid "Make an iterator that aggregates elements from each of the iterables." msgstr "Produce un iterador que agrega elementos de cada uno de los iterables." -#: ../Doc/library/functions.rst:1721 +#: ../Doc/library/functions.rst:1733 msgid "" "Returns an iterator of tuples, where the *i*-th tuple contains the *i*-th " "element from each of the argument sequences or iterables. The iterator " @@ -3180,7 +3189,7 @@ msgstr "" "corto. Con un sólo argumento iterable, retorna un iterador de 1 tupla. Sin " "argumentos, retorna un iterador vacío. Es equivalente a::" -#: ../Doc/library/functions.rst:1740 +#: ../Doc/library/functions.rst:1752 msgid "" "The left-to-right evaluation order of the iterables is guaranteed. This " "makes possible an idiom for clustering a data series into n-length groups " @@ -3195,7 +3204,7 @@ msgstr "" "de ``n`` llamadas al iterador. Esto tiene el efecto de dividir la entrada " "en trozos de longitud *n*." -#: ../Doc/library/functions.rst:1746 +#: ../Doc/library/functions.rst:1758 msgid "" ":func:`zip` should only be used with unequal length inputs when you don't " "care about trailing, unmatched values from the longer iterables. If those " @@ -3206,7 +3215,7 @@ msgstr "" "largos. Si en cambio esos valores son importantes, utiliza en cambio :func:" "`itertools.zip_longest`." -#: ../Doc/library/functions.rst:1750 +#: ../Doc/library/functions.rst:1762 msgid "" ":func:`zip` in conjunction with the ``*`` operator can be used to unzip a " "list::" @@ -3214,7 +3223,7 @@ msgstr "" ":func:`zip` en conjunción con el operador ``*`` puede usar para " "descomprimir (*unzip*) una lista::" -#: ../Doc/library/functions.rst:1771 +#: ../Doc/library/functions.rst:1783 msgid "" "This is an advanced function that is not needed in everyday Python " "programming, unlike :func:`importlib.import_module`." @@ -3222,7 +3231,7 @@ msgstr "" "Ésta es una función avanzada que no se necesita en el uso cotidiano de " "programación en Python, a diferencia de :func:`importlib.import_module`." -#: ../Doc/library/functions.rst:1774 +#: ../Doc/library/functions.rst:1786 msgid "" "This function is invoked by the :keyword:`import` statement. It can be " "replaced (by importing the :mod:`builtins` module and assigning to " @@ -3243,7 +3252,7 @@ msgstr "" "siendo utilizada. El uso directo de :func:`__import__` tampoco está " "recomendado y se prefiere :func:`importlib.import_module`." -#: ../Doc/library/functions.rst:1783 +#: ../Doc/library/functions.rst:1795 msgid "" "The function imports the module *name*, potentially using the given " "*globals* and *locals* to determine how to interpret the name in a package " @@ -3260,7 +3269,7 @@ msgstr "" "para determinar el contexto en un paquete de la declaración :keyword:" "`import`." -#: ../Doc/library/functions.rst:1790 +#: ../Doc/library/functions.rst:1802 msgid "" "*level* specifies whether to use absolute or relative imports. ``0`` (the " "default) means only perform absolute imports. Positive values for *level* " @@ -3274,7 +3283,7 @@ msgstr "" "módulo para buscar llamando a :func:`__import__` (ver :pep:`328` para los " "detalles)." -#: ../Doc/library/functions.rst:1796 +#: ../Doc/library/functions.rst:1808 msgid "" "When the *name* variable is of the form ``package.module``, normally, the " "top-level package (the name up till the first dot) is returned, *not* the " @@ -3286,7 +3295,7 @@ msgstr "" "*no* el modulo llamado por *name*. Sin embargo, cuando un argumento " "*fromlist* no vacío es indicado, el módulo llamado por *name* es retornado." -#: ../Doc/library/functions.rst:1801 +#: ../Doc/library/functions.rst:1813 msgid "" "For example, the statement ``import spam`` results in bytecode resembling " "the following code::" @@ -3294,11 +3303,11 @@ msgstr "" "Por ejemplo, la declaración ``import spam`` resulta en un bytecode similar " "al siguiente código::" -#: ../Doc/library/functions.rst:1806 +#: ../Doc/library/functions.rst:1818 msgid "The statement ``import spam.ham`` results in this call::" msgstr "La declaración ``import spam.ham`` resulta en esta llamada::" -#: ../Doc/library/functions.rst:1810 +#: ../Doc/library/functions.rst:1822 msgid "" "Note how :func:`__import__` returns the toplevel module here because this is " "the object that is bound to a name by the :keyword:`import` statement." @@ -3307,7 +3316,7 @@ msgstr "" "caso porque este es el objeto que está enlazado a un nombre por la " "declaración :keyword:`import`." -#: ../Doc/library/functions.rst:1813 +#: ../Doc/library/functions.rst:1825 msgid "" "On the other hand, the statement ``from spam.ham import eggs, sausage as " "saus`` results in ::" @@ -3315,7 +3324,7 @@ msgstr "" "Por otra parte, la declaración ``from spam.ham import eggs, sausage as " "saus`` resulta en ::" -#: ../Doc/library/functions.rst:1820 +#: ../Doc/library/functions.rst:1832 msgid "" "Here, the ``spam.ham`` module is returned from :func:`__import__`. From " "this object, the names to import are retrieved and assigned to their " @@ -3325,7 +3334,7 @@ msgstr "" "este objeto, los nombres a importar son obtenidos y asignados a sus nombres " "respectivos." -#: ../Doc/library/functions.rst:1824 +#: ../Doc/library/functions.rst:1836 msgid "" "If you simply want to import a module (potentially within a package) by " "name, use :func:`importlib.import_module`." @@ -3333,7 +3342,7 @@ msgstr "" "Si simplemente quieres importar un módulo (potencialmente dentro de un " "paquete) por nombre, usa :func:`importlib.import_module`." -#: ../Doc/library/functions.rst:1827 +#: ../Doc/library/functions.rst:1839 msgid "" "Negative values for *level* are no longer supported (which also changes the " "default value to 0)." @@ -3341,11 +3350,17 @@ msgstr "" "Valores negativos para *level* ya no están soportados (lo que también cambia " "el valor por defecto a 0)." -#: ../Doc/library/functions.rst:1833 +#: ../Doc/library/functions.rst:1843 +msgid "" +"When the command line options :option:`-E` or :option:`-I` are being used, " +"the environment variable :envvar:`PYTHONCASEOK` is now ignored." +msgstr "" + +#: ../Doc/library/functions.rst:1848 msgid "Footnotes" msgstr "Notas al pie" -#: ../Doc/library/functions.rst:1834 +#: ../Doc/library/functions.rst:1849 msgid "" "Note that the parser only accepts the Unix-style end of line convention. If " "you are reading the code from a file, make sure to use newline conversion " @@ -3355,3 +3370,63 @@ msgstr "" "tipo Unix. Si estás leyendo el código de un fichero, asegúrate de usar la el " "modo de conversión de nueva línea para convertir las líneas de tipo Windows " "o Mac." + +#~ msgid "For more information on class methods, see :ref:`types`." +#~ msgstr "Para más información sobre métodos de clase, ver :ref:`types`." + +#~ msgid "" +#~ "The optional arguments *flags* and *dont_inherit* control which :ref:" +#~ "`future statements ` affect the compilation of *source*. If " +#~ "neither is present (or both are zero) the code is compiled with those " +#~ "future statements that are in effect in the code that is calling :func:" +#~ "`compile`. If the *flags* argument is given and *dont_inherit* is not " +#~ "(or is zero) then the future statements specified by the *flags* argument " +#~ "are used in addition to those that would be used anyway. If " +#~ "*dont_inherit* is a non-zero integer then the *flags* argument is it -- " +#~ "the future statements in effect around the call to compile are ignored." +#~ msgstr "" +#~ "Los argumentos opcionales *flags* y *dont_inherit* controlan que :ref:" +#~ "`future statements ` afectan a la compilación de *source*. Si " +#~ "ninguno de los dos está presente (o los dos son cero), el código se " +#~ "compila con las declaraciones futuras que están en el código que está " +#~ "llamando a :func:`compile`. Si el argumento *flags* está presente, y " +#~ "*dont_inherit* no (o es cero), entonces se usan las declaraciones futuras " +#~ "especificadas en el argumento *flags*, además de aquellas que iban a ser " +#~ "utilizadas en cualquier caso. Si *dont_inherit* es un entero distinto de " +#~ "cero entonces el argumento *flags* es ignorado y no se consideran las " +#~ "declaraciones futuras en efecto durante la llamada a *compile*." + +#~ msgid "" +#~ "The optional argument *flags* also controls whether the compiled source " +#~ "is allowed to contain top-level ``await``, ``async for`` and ``async " +#~ "with``. When the bit ``ast.PyCF_ALLOW_TOP_LEVEL_AWAIT`` is set, the " +#~ "return code object has ``CO_COROUTINE`` set in ``co_code``, and can be " +#~ "interactively executed via ``await eval(code_object)``." +#~ msgstr "" +#~ "El argumento opcional *flags* también controla si el código compilado " +#~ "puede contener ``await``, ``async for`` y ``async with`` de nivel " +#~ "superior. Cuando se establece el bit ``ast.PyCF_ALLOW_TOP_LEVEL_AWAIT`` , " +#~ "el objeto código retornado tiene ``CO_COROUTINE`` establecido en " +#~ "``co_code``, y puede ser ejecutado de forma interactiva a través de " +#~ "``await eval(code_object)``." + +#~ msgid "" +#~ "With three arguments, return a new type object. This is essentially a " +#~ "dynamic form of the :keyword:`class` statement. The *name* string is the " +#~ "class name and becomes the :attr:`~definition.__name__` attribute; the " +#~ "*bases* tuple itemizes the base classes and becomes the :attr:`~class." +#~ "__bases__` attribute; and the *dict* dictionary is the namespace " +#~ "containing definitions for class body and is copied to a standard " +#~ "dictionary to become the :attr:`~object.__dict__` attribute. For " +#~ "example, the following two statements create identical :class:`type` " +#~ "objects:" +#~ msgstr "" +#~ "Con tres argumentos, retorna un nuevo objeto tipo. Ésta es esencialmente " +#~ "una forma dinámica de la declaración :keyword:`class`. La cadena *name* " +#~ "es el nombre de la clase y se convierte en el atributo :attr:`~definition." +#~ "__name__` ; la tupla *bases* enumera las clases base y se convierte en el " +#~ "atributo :attr:`~class.__bases__`; y el diccionario *dict* es el espacio " +#~ "de nombres que contiene las definiciones del cuerpo de la clase y se " +#~ "copia a un diccionario estándar para convertirse en el atributo :attr:" +#~ "`~object.__dict__`. Por ejemplo, las dos siguientes declaraciones crean " +#~ "objetos idénticos :class:`type`:" diff --git a/library/functools.po b/library/functools.po index a89651e811..315f4cfb64 100644 --- a/library/functools.po +++ b/library/functools.po @@ -10,16 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-06-09 11:12-0500\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/library/functools.rst:2 msgid "" @@ -29,11 +29,11 @@ msgstr "" ":mod:`functools` --- Funciones de orden superior y operaciones sobre objetos " "invocables" -#: ../Doc/library/functools.rst:13 +#: ../Doc/library/functools.rst:14 msgid "**Source code:** :source:`Lib/functools.py`" msgstr "**Código fuente:** :source:`Lib/functools.py`" -#: ../Doc/library/functools.rst:17 +#: ../Doc/library/functools.rst:23 msgid "" "The :mod:`functools` module is for higher-order functions: functions that " "act on or return other functions. In general, any callable object can be " @@ -44,11 +44,29 @@ msgstr "" "invocable puede ser tratado como una función para los propósitos de este " "módulo." -#: ../Doc/library/functools.rst:21 +#: ../Doc/library/functools.rst:27 msgid "The :mod:`functools` module defines the following functions:" msgstr "El módulo :mod:`functools` define las siguientes funciones:" -#: ../Doc/library/functools.rst:25 +#: ../Doc/library/functools.rst:31 +msgid "" +"Simple lightweight unbounded function cache. Sometimes called `\"memoize\" " +"`_." +msgstr "" + +#: ../Doc/library/functools.rst:34 +msgid "" +"Returns the same as ``lru_cache(maxsize=None)``, creating a thin wrapper " +"around a dictionary lookup for the function arguments. Because it never " +"needs to evict old values, this is smaller and faster than :func:" +"`lru_cache()` with a size limit." +msgstr "" + +#: ../Doc/library/functools.rst:39 ../Doc/library/functools.rst:255 +msgid "For example::" +msgstr "Por ejemplo::" + +#: ../Doc/library/functools.rst:57 msgid "" "Transform a method of a class into a property whose value is computed once " "and then cached as a normal attribute for the life of the instance. Similar " @@ -61,19 +79,49 @@ msgstr "" "propiedades calculadas costosas de instancias que de otra manera son " "efectivamente inmutables." -#: ../Doc/library/functools.rst:30 ../Doc/library/functools.rst:70 -#: ../Doc/library/functools.rst:275 +#: ../Doc/library/functools.rst:62 ../Doc/library/functools.rst:127 +#: ../Doc/library/functools.rst:340 msgid "Example::" msgstr "Ejemplo::" -#: ../Doc/library/functools.rst:48 +#: ../Doc/library/functools.rst:73 +msgid "" +"The mechanics of :func:`cached_property` are somewhat different from :func:" +"`property`. A regular property blocks attribute writes unless a setter is " +"defined. In contrast, a *cached_property* allows writes." +msgstr "" + +#: ../Doc/library/functools.rst:77 +msgid "" +"The *cached_property* decorator only runs on lookups and only when an " +"attribute of the same name doesn't exist. When it does run, the " +"*cached_property* writes to the attribute with the same name. Subsequent " +"attribute reads and writes take precedence over the *cached_property* method " +"and it works like a normal attribute." +msgstr "" + +#: ../Doc/library/functools.rst:83 +msgid "" +"The cached value can be cleared by deleting the attribute. This allows the " +"*cached_property* method to run again." +msgstr "" + +#: ../Doc/library/functools.rst:86 +msgid "" +"Note, this decorator interferes with the operation of :pep:`412` key-sharing " +"dictionaries. This means that instance dictionaries can take more space " +"than usual." +msgstr "" + +#: ../Doc/library/functools.rst:90 +#, fuzzy msgid "" -"This decorator requires that the ``__dict__`` attribute on each instance be " -"a mutable mapping. This means it will not work with some types, such as " -"metaclasses (since the ``__dict__`` attributes on type instances are read-" -"only proxies for the class namespace), and those that specify ``__slots__`` " -"without including ``__dict__`` as one of the defined slots (as such classes " -"don't provide a ``__dict__`` attribute at all)." +"Also, this decorator requires that the ``__dict__`` attribute on each " +"instance be a mutable mapping. This means it will not work with some types, " +"such as metaclasses (since the ``__dict__`` attributes on type instances are " +"read-only proxies for the class namespace), and those that specify " +"``__slots__`` without including ``__dict__`` as one of the defined slots (as " +"such classes don't provide a ``__dict__`` attribute at all)." msgstr "" "Este decorador requiere que el atributo ``__dict__`` en cada instancia sea " "un mapeo mutable. Esto significa que no funcionará con algunos tipos, como " @@ -83,7 +131,14 @@ msgstr "" "definidos (ya que tales clases no proporcionan un atributo ``__dict__`` en " "absoluto)." -#: ../Doc/library/functools.rst:58 +#: ../Doc/library/functools.rst:97 +msgid "" +"If a mutable mapping is not available or if space-efficient key sharing is " +"desired, an effect similar to :func:`cached_property` can be achieved by a " +"stacking :func:`property` on top of :func:`cache`::" +msgstr "" + +#: ../Doc/library/functools.rst:115 msgid "" "Transform an old-style comparison function to a :term:`key function`. Used " "with tools that accept key functions (such as :func:`sorted`, :func:`min`, :" @@ -100,7 +155,7 @@ msgstr "" "están convirtiendo a partir de Python 2, que soportaba el uso de funciones " "de comparación." -#: ../Doc/library/functools.rst:65 +#: ../Doc/library/functools.rst:122 msgid "" "A comparison function is any callable that accept two arguments, compares " "them, and returns a negative number for less-than, zero for equality, or a " @@ -112,14 +167,14 @@ msgstr "" "o un número positivo para más. Una función clave es un invocable que acepta " "un argumento y retorna otro valor para ser usado como clave de ordenación." -#: ../Doc/library/functools.rst:74 +#: ../Doc/library/functools.rst:131 msgid "" "For sorting examples and a brief sorting tutorial, see :ref:`sortinghowto`." msgstr "" "Para ejemplos de clasificación y un breve tutorial de clasificación, ver :" "ref:`sortinghowto`." -#: ../Doc/library/functools.rst:82 +#: ../Doc/library/functools.rst:139 msgid "" "Decorator to wrap a function with a memoizing callable that saves up to the " "*maxsize* most recent calls. It can save time when an expensive or I/O " @@ -130,7 +185,7 @@ msgstr "" "cuando una función costosa o de E/S es llamada periódicamente con los mismos " "argumentos." -#: ../Doc/library/functools.rst:86 +#: ../Doc/library/functools.rst:143 msgid "" "Since a dictionary is used to cache results, the positional and keyword " "arguments to the function must be hashable." @@ -139,7 +194,7 @@ msgstr "" "argumentos posicionales y de las palabras clave de la función deben ser " "hashable." -#: ../Doc/library/functools.rst:89 +#: ../Doc/library/functools.rst:146 msgid "" "Distinct argument patterns may be considered to be distinct calls with " "separate cache entries. For example, `f(a=1, b=2)` and `f(b=2, a=1)` differ " @@ -150,7 +205,7 @@ msgstr "" "`f(b=2, a=1)` difieren en el orden de los argumentos de las palabras clave y " "pueden tener dos entradas de caché separadas." -#: ../Doc/library/functools.rst:94 +#: ../Doc/library/functools.rst:151 msgid "" "If *user_function* is specified, it must be a callable. This allows the " "*lru_cache* decorator to be applied directly to a user function, leaving the " @@ -160,7 +215,7 @@ msgstr "" "decorador *lru_cache* se aplique directamente a una función de usuario, " "dejando el *maxsize* en su valor por defecto de 128::" -#: ../Doc/library/functools.rst:103 +#: ../Doc/library/functools.rst:160 msgid "" "If *maxsize* is set to ``None``, the LRU feature is disabled and the cache " "can grow without bound." @@ -168,7 +223,7 @@ msgstr "" "Si *maxsize* está configurado como ``None``, la función LRU está desactivada " "y la caché puede crecer sin límites." -#: ../Doc/library/functools.rst:106 +#: ../Doc/library/functools.rst:163 msgid "" "If *typed* is set to true, function arguments of different types will be " "cached separately. For example, ``f(3)`` and ``f(3.0)`` will be treated as " @@ -179,7 +234,15 @@ msgstr "" "ejemplo, ``f(3)`` y ``f(3.0)`` se tratarán como llamadas distintas con " "resultados distintos." -#: ../Doc/library/functools.rst:110 +#: ../Doc/library/functools.rst:167 +msgid "" +"The wrapped function is instrumented with a :func:`cache_parameters` " +"function that returns a new :class:`dict` showing the values for *maxsize* " +"and *typed*. This is for information purposes only. Mutating the values " +"has no effect." +msgstr "" + +#: ../Doc/library/functools.rst:172 msgid "" "To help measure the effectiveness of the cache and tune the *maxsize* " "parameter, the wrapped function is instrumented with a :func:`cache_info` " @@ -193,7 +256,7 @@ msgstr "" "*maxsize* y *currsize*. En un entorno multi-hilo, los aciertos y los fallos " "son aproximados." -#: ../Doc/library/functools.rst:116 +#: ../Doc/library/functools.rst:178 msgid "" "The decorator also provides a :func:`cache_clear` function for clearing or " "invalidating the cache." @@ -201,7 +264,7 @@ msgstr "" "El decorador también proporciona una función :func:`cache_clear` para " "limpiar o invalidar el caché." -#: ../Doc/library/functools.rst:119 +#: ../Doc/library/functools.rst:181 msgid "" "The original underlying function is accessible through the :attr:" "`__wrapped__` attribute. This is useful for introspection, for bypassing " @@ -211,14 +274,15 @@ msgstr "" "`__wrapped__`. Esto es útil para la introspección, para evitar el caché, o " "para volver a envolver la función con un caché diferente." -#: ../Doc/library/functools.rst:123 +#: ../Doc/library/functools.rst:185 +#, fuzzy msgid "" "An `LRU (least recently used) cache `_ works best when the most recent calls are the " -"best predictors of upcoming calls (for example, the most popular articles on " -"a news server tend to change each day). The cache's size limit assures that " -"the cache does not grow without bound on long-running processes such as web " -"servers." +"Cache_replacement_policies#Least_recently_used_(LRU)>`_ works best when the " +"most recent calls are the best predictors of upcoming calls (for example, " +"the most popular articles on a news server tend to change each day). The " +"cache's size limit assures that the cache does not grow without bound on " +"long-running processes such as web servers." msgstr "" "Una caché `LRU (la menos usada recientemente) `_ funciona mejor cuando las llamadas más " @@ -228,7 +292,7 @@ msgstr "" "crezca sin estar vinculada a procesos de larga duración como los servidores " "web." -#: ../Doc/library/functools.rst:130 +#: ../Doc/library/functools.rst:192 msgid "" "In general, the LRU cache should only be used when you want to reuse " "previously computed values. Accordingly, it doesn't make sense to cache " @@ -241,11 +305,11 @@ msgstr "" "que necesitan crear distintos objetos mutables en cada llamada, o funciones " "impuras como time() o random()." -#: ../Doc/library/functools.rst:135 +#: ../Doc/library/functools.rst:197 msgid "Example of an LRU cache for static web content::" msgstr "Ejemplo de un caché de la LRU para contenido web estático::" -#: ../Doc/library/functools.rst:154 +#: ../Doc/library/functools.rst:216 msgid "" "Example of efficiently computing `Fibonacci numbers `_ using a cache to implement a `dynamic " @@ -256,15 +320,19 @@ msgstr "" "\"programación dinámica\" `_ técnica::" -#: ../Doc/library/functools.rst:174 +#: ../Doc/library/functools.rst:236 msgid "Added the *typed* option." msgstr "Añadida la opción *typed* option." -#: ../Doc/library/functools.rst:177 +#: ../Doc/library/functools.rst:239 msgid "Added the *user_function* option." msgstr "Añadida la opción *user_function*." -#: ../Doc/library/functools.rst:182 +#: ../Doc/library/functools.rst:242 +msgid "Added the function :func:`cache_parameters`" +msgstr "" + +#: ../Doc/library/functools.rst:247 msgid "" "Given a class defining one or more rich comparison ordering methods, this " "class decorator supplies the rest. This simplifies the effort involved in " @@ -274,7 +342,7 @@ msgstr "" "ricos, este decorador de clase suministra el resto. Esto simplifica el " "esfuerzo de especificar todas las posibles operaciones de comparación rica:" -#: ../Doc/library/functools.rst:186 +#: ../Doc/library/functools.rst:251 msgid "" "The class must define one of :meth:`__lt__`, :meth:`__le__`, :meth:`__gt__`, " "or :meth:`__ge__`. In addition, the class should supply an :meth:`__eq__` " @@ -287,11 +355,7 @@ msgstr "" "simplifica el esfuerzo de especificar todas las posibles operaciones de " "comparación rica." -#: ../Doc/library/functools.rst:190 -msgid "For example::" -msgstr "Por ejemplo::" - -#: ../Doc/library/functools.rst:210 +#: ../Doc/library/functools.rst:275 msgid "" "While this decorator makes it easy to create well behaved totally ordered " "types, it *does* come at the cost of slower execution and more complex stack " @@ -307,7 +371,7 @@ msgstr "" "los seis métodos de comparación ricos en su lugar es probable que " "proporcione un fácil aumento de la velocidad." -#: ../Doc/library/functools.rst:219 +#: ../Doc/library/functools.rst:284 msgid "" "Returning NotImplemented from the underlying comparison function for " "unrecognised types is now supported." @@ -315,7 +379,7 @@ msgstr "" "Retornando NotImplemented de la función de comparación subyacente para los " "tipos no reconocidos está ahora soportado." -#: ../Doc/library/functools.rst:225 +#: ../Doc/library/functools.rst:290 msgid "" "Return a new :ref:`partial object` which when called will " "behave like *func* called with the positional arguments *args* and keyword " @@ -330,7 +394,7 @@ msgstr "" "argumentos de palabras clave, se extienden y anulan las *keywords*. " "Aproximadamente equivalente a::" -#: ../Doc/library/functools.rst:241 +#: ../Doc/library/functools.rst:306 msgid "" "The :func:`partial` is used for partial function application which \"freezes" "\" some portion of a function's arguments and/or keywords resulting in a new " @@ -345,7 +409,7 @@ msgstr "" "llamada que se comporte como la función :func:`int` donde el argumento " "*base* tiene un valor por defecto de dos:" -#: ../Doc/library/functools.rst:256 +#: ../Doc/library/functools.rst:321 msgid "" "Return a new :class:`partialmethod` descriptor which behaves like :class:" "`partial` except that it is designed to be used as a method definition " @@ -355,7 +419,7 @@ msgstr "" "class:`partial` excepto que está diseñado para ser usado como una definición " "de método en lugar de ser directamente invocable." -#: ../Doc/library/functools.rst:260 +#: ../Doc/library/functools.rst:325 msgid "" "*func* must be a :term:`descriptor` or a callable (objects which are both, " "like normal functions, are handled as descriptors)." @@ -363,7 +427,7 @@ msgstr "" "*func* debe ser un :term:`descriptor` o un invocable (los objetos que son " "ambos, como las funciones normales, se manejan como descriptores)." -#: ../Doc/library/functools.rst:263 +#: ../Doc/library/functools.rst:328 msgid "" "When *func* is a descriptor (such as a normal Python function, :func:" "`classmethod`, :func:`staticmethod`, :func:`abstractmethod` or another " @@ -377,7 +441,7 @@ msgstr "" "descriptor subyacente, y se retorna un :ref:`partial object` apropiado como resultado." -#: ../Doc/library/functools.rst:269 +#: ../Doc/library/functools.rst:334 msgid "" "When *func* is a non-descriptor callable, an appropriate bound method is " "created dynamically. This behaves like a normal Python function when used as " @@ -391,7 +455,7 @@ msgstr "" "argumento posicional, incluso antes de las *args* y *keywords* suministradas " "al constructor :class:`partialmethod`." -#: ../Doc/library/functools.rst:300 +#: ../Doc/library/functools.rst:365 msgid "" "Apply *function* of two arguments cumulatively to the items of *iterable*, " "from left to right, so as to reduce the iterable to a single value. For " @@ -413,11 +477,11 @@ msgstr "" "la *iterable* está vacía. Si no se da el *initializer* y el *iterable* " "contiene sólo un elemento, se retorna el primer elemento." -#: ../Doc/library/functools.rst:309 +#: ../Doc/library/functools.rst:374 msgid "Roughly equivalent to::" msgstr "Aproximadamente equivalente a::" -#: ../Doc/library/functools.rst:321 +#: ../Doc/library/functools.rst:386 msgid "" "See :func:`itertools.accumulate` for an iterator that yields all " "intermediate values." @@ -425,7 +489,7 @@ msgstr "" "Ver :func:`itertools.accumulate` para un iterador que produce todos los " "valores intermedios." -#: ../Doc/library/functools.rst:326 +#: ../Doc/library/functools.rst:391 msgid "" "Transform a function into a :term:`single-dispatch ` :term:" "`generic function`." @@ -433,7 +497,7 @@ msgstr "" "Transformar una función en una :term:`single-dispatch ` :" "term:`generic function`." -#: ../Doc/library/functools.rst:329 +#: ../Doc/library/functools.rst:394 msgid "" "To define a generic function, decorate it with the ``@singledispatch`` " "decorator. Note that the dispatch happens on the type of the first argument, " @@ -443,7 +507,7 @@ msgstr "" "``@singledispatch``. Ten en cuenta que el envío ocurre en el tipo del primer " "argumento, crea tu función en consecuencia::" -#: ../Doc/library/functools.rst:340 +#: ../Doc/library/functools.rst:405 msgid "" "To add overloaded implementations to the function, use the :func:`register` " "attribute of the generic function. It is a decorator. For functions " @@ -455,7 +519,7 @@ msgstr "" "funciones anotadas con tipos, el decorador deducirá automáticamente el tipo " "del primer argumento::" -#: ../Doc/library/functools.rst:358 +#: ../Doc/library/functools.rst:423 msgid "" "For code which doesn't use type annotations, the appropriate type argument " "can be passed explicitly to the decorator itself::" @@ -463,7 +527,7 @@ msgstr "" "Para el código que no utiliza anotaciones de tipo, el argumento de tipo " "apropiado puede ser pasado explícitamente al propio decorador::" -#: ../Doc/library/functools.rst:369 +#: ../Doc/library/functools.rst:434 msgid "" "To enable registering lambdas and pre-existing functions, the :func:" "`register` attribute can be used in a functional form::" @@ -471,7 +535,7 @@ msgstr "" "Para permitir el registro de lambdas y funciones preexistentes, el atributo :" "func:`register` puede utilizarse de forma funcional::" -#: ../Doc/library/functools.rst:377 +#: ../Doc/library/functools.rst:442 msgid "" "The :func:`register` attribute returns the undecorated function which " "enables decorator stacking, pickling, as well as creating unit tests for " @@ -481,7 +545,7 @@ msgstr "" "decorador apilar, decapar, así como crear pruebas de unidad para cada " "variante de forma independiente::" -#: ../Doc/library/functools.rst:391 +#: ../Doc/library/functools.rst:456 msgid "" "When called, the generic function dispatches on the type of the first " "argument::" @@ -489,7 +553,7 @@ msgstr "" "Cuando se llama, la función genérica despacha sobre el tipo del primer " "argumento::" -#: ../Doc/library/functools.rst:411 +#: ../Doc/library/functools.rst:476 msgid "" "Where there is no registered implementation for a specific type, its method " "resolution order is used to find a more generic implementation. The original " @@ -502,7 +566,13 @@ msgstr "" "registra para el tipo de ``object`` base, lo que significa que se usa si no " "se encuentra una mejor implementación." -#: ../Doc/library/functools.rst:417 +#: ../Doc/library/functools.rst:482 +msgid "" +"If an implementation registered to :term:`abstract base class`, virtual " +"subclasses will be dispatched to that implementation::" +msgstr "" + +#: ../Doc/library/functools.rst:496 msgid "" "To check which implementation will the generic function choose for a given " "type, use the ``dispatch()`` attribute::" @@ -510,7 +580,7 @@ msgstr "" "Para comprobar qué implementación elegirá la función genérica para un tipo " "determinado, utilice el atributo ``dispatch()``::" -#: ../Doc/library/functools.rst:425 +#: ../Doc/library/functools.rst:504 msgid "" "To access all registered implementations, use the read-only ``registry`` " "attribute::" @@ -518,11 +588,11 @@ msgstr "" "Para acceder a todas las implementaciones registradas, utilice el atributo " "``registry`` de sólo lectura::" -#: ../Doc/library/functools.rst:439 +#: ../Doc/library/functools.rst:518 msgid "The :func:`register` attribute supports using type annotations." msgstr "El atributo :func:`register` soporta el uso de anotaciones de tipo." -#: ../Doc/library/functools.rst:445 +#: ../Doc/library/functools.rst:524 msgid "" "Transform a method into a :term:`single-dispatch ` :term:" "`generic function`." @@ -530,7 +600,7 @@ msgstr "" "Transformar un método en un :term:`single-dispatch ` :term:" "`generic function`." -#: ../Doc/library/functools.rst:448 +#: ../Doc/library/functools.rst:527 msgid "" "To define a generic method, decorate it with the ``@singledispatchmethod`` " "decorator. Note that the dispatch happens on the type of the first non-self " @@ -541,7 +611,7 @@ msgstr "" "tipo del primer argumento que no sea un atributo de instancias (*non-self*) " "ni un atributo de clases (*non-cls*), cree su función en consecuencia::" -#: ../Doc/library/functools.rst:465 +#: ../Doc/library/functools.rst:544 msgid "" "``@singledispatchmethod`` supports nesting with other decorators such as " "``@classmethod``. Note that to allow for ``dispatcher.register``, " @@ -553,7 +623,7 @@ msgstr "" "register``, ``singledispatchmethod`` debe ser el decorador *outer most*. " "Aquí está la clase ``neg`` con los métodos ``Negator`` limitados a la clase::" -#: ../Doc/library/functools.rst:486 +#: ../Doc/library/functools.rst:565 msgid "" "The same pattern can be used for other similar decorators: ``staticmethod``, " "``abstractmethod``, and others." @@ -561,7 +631,7 @@ msgstr "" "El mismo patrón puede ser usado para otros decoradores similares: " "``staticmethod``, ``abstractmethod``, y otros." -#: ../Doc/library/functools.rst:494 +#: ../Doc/library/functools.rst:573 msgid "" "Update a *wrapper* function to look like the *wrapped* function. The " "optional arguments are tuples to specify which attributes of the original " @@ -586,7 +656,7 @@ msgstr "" "documentación) y ``WRAPPER_UPDATES`` (que actualiza el ``__dict__`` de la " "función de envoltura(*wrapped*), i. e. el diccionario de instancias)." -#: ../Doc/library/functools.rst:504 +#: ../Doc/library/functools.rst:583 msgid "" "To allow access to the original function for introspection and other " "purposes (e.g. bypassing a caching decorator such as :func:`lru_cache`), " @@ -598,7 +668,7 @@ msgstr "" "`lru_cache`), esta función añade automáticamente un atributo ``__wrapped__`` " "al envoltorio que se refiere a la función que se está envolviendo." -#: ../Doc/library/functools.rst:509 +#: ../Doc/library/functools.rst:588 msgid "" "The main intended use for this function is in :term:`decorator` functions " "which wrap the decorated function and return the wrapper. If the wrapper " @@ -612,7 +682,7 @@ msgstr "" "reflejarán la definición de la envoltura en lugar de la definición de la " "función original, lo que normalmente no es de gran ayuda." -#: ../Doc/library/functools.rst:515 +#: ../Doc/library/functools.rst:594 msgid "" ":func:`update_wrapper` may be used with callables other than functions. Any " "attributes named in *assigned* or *updated* that are missing from the object " @@ -627,19 +697,19 @@ msgstr "" "`AttributeError` sigue apareciendo si la propia función de envoltura no " "tiene ningún atributo nombrado en *updated*." -#: ../Doc/library/functools.rst:521 +#: ../Doc/library/functools.rst:600 msgid "Automatic addition of the ``__wrapped__`` attribute." msgstr "Adición automática de ``__wrapped__`` attribute." -#: ../Doc/library/functools.rst:524 +#: ../Doc/library/functools.rst:603 msgid "Copying of the ``__annotations__`` attribute by default." msgstr "Copia del atributo ``__annotations__`` por defecto." -#: ../Doc/library/functools.rst:527 +#: ../Doc/library/functools.rst:606 msgid "Missing attributes no longer trigger an :exc:`AttributeError`." msgstr "Los atributos faltantes ya no desencadenan un :exc:`AtributoError`." -#: ../Doc/library/functools.rst:530 +#: ../Doc/library/functools.rst:609 msgid "" "The ``__wrapped__`` attribute now always refers to the wrapped function, " "even if that function defined a ``__wrapped__`` attribute. (see :issue:" @@ -649,7 +719,7 @@ msgstr "" "incluso si esa función definió un atributo ``__wrapped__``. (see :issue:" "``17482``)" -#: ../Doc/library/functools.rst:538 +#: ../Doc/library/functools.rst:617 msgid "" "This is a convenience function for invoking :func:`update_wrapper` as a " "function decorator when defining a wrapper function. It is equivalent to " @@ -661,7 +731,7 @@ msgstr "" "(*wrapper*). Es equivalente a ``partial(update_wrapper, wrapped=wrapped, " "assigned=assigned, updated=updated)``. Por ejemplo::" -#: ../Doc/library/functools.rst:564 +#: ../Doc/library/functools.rst:643 msgid "" "Without the use of this decorator factory, the name of the example function " "would have been ``'wrapper'``, and the docstring of the original :func:" @@ -671,11 +741,11 @@ msgstr "" "ejemplo habría sido ``'wrapper'``, y el docstring de la :func:`example` se " "habría perdido." -#: ../Doc/library/functools.rst:572 +#: ../Doc/library/functools.rst:651 msgid ":class:`partial` Objects" msgstr ":class:`partial` Objetos" -#: ../Doc/library/functools.rst:574 +#: ../Doc/library/functools.rst:653 msgid "" ":class:`partial` objects are callable objects created by :func:`partial`. " "They have three read-only attributes:" @@ -683,7 +753,7 @@ msgstr "" "Los objetos :class:`partial` son objetos invocables creados por :func:" "`partial`. Tienen tres atributos de sólo lectura:" -#: ../Doc/library/functools.rst:580 +#: ../Doc/library/functools.rst:659 msgid "" "A callable object or function. Calls to the :class:`partial` object will be " "forwarded to :attr:`func` with new arguments and keywords." @@ -691,7 +761,7 @@ msgstr "" "Un objeto o función invocable. Las llamadas al objeto :class:`partial` " "serán reenviadas a :attr:`func` con nuevos argumentos y palabras clave." -#: ../Doc/library/functools.rst:586 +#: ../Doc/library/functools.rst:665 msgid "" "The leftmost positional arguments that will be prepended to the positional " "arguments provided to a :class:`partial` object call." @@ -699,7 +769,7 @@ msgstr "" "Los argumentos posicionales de la izquierda que se prepararán para los " "argumentos posicionales proporcionados un llamado al objeto :class:`partial`." -#: ../Doc/library/functools.rst:592 +#: ../Doc/library/functools.rst:671 msgid "" "The keyword arguments that will be supplied when the :class:`partial` object " "is called." @@ -707,7 +777,7 @@ msgstr "" "Los argumentos de la palabra clave que se suministrarán cuando se llame al " "objeto :class:`partial`." -#: ../Doc/library/functools.rst:595 +#: ../Doc/library/functools.rst:674 msgid "" ":class:`partial` objects are like :class:`function` objects in that they are " "callable, weak referencable, and can have attributes. There are some " diff --git a/library/gc.po b/library/gc.po index 660970efb2..9d313a87a0 100644 --- a/library/gc.po +++ b/library/gc.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-08-25 10:10+0200\n" +"Last-Translator: Francisco Jesús Sevilla García \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Francisco Jesús Sevilla García \n" -"Language: es\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/gc.rst:2 msgid ":mod:`gc` --- Garbage Collector interface" @@ -124,7 +123,13 @@ msgstr "" msgid "New *generation* parameter." msgstr "Se agregó el parámetro *generation*." -#: ../Doc/library/gc.rst:77 +#: ../Doc/library/gc.rst:75 +msgid "" +"Raises an :ref:`auditing event ` ``gc.get_objects`` with argument " +"``generation``." +msgstr "" + +#: ../Doc/library/gc.rst:79 msgid "" "Return a list of three per-generation dictionaries containing collection " "statistics since interpreter start. The number of keys may change in the " @@ -135,12 +140,12 @@ msgstr "" "número de claves puede cambiar en el futuro, pero actualmente cada " "diccionario contendrá los siguientes elementos:" -#: ../Doc/library/gc.rst:82 +#: ../Doc/library/gc.rst:84 msgid "``collections`` is the number of times this generation was collected;" msgstr "" "``collections`` es el número de veces que se recolectó esta generación;" -#: ../Doc/library/gc.rst:84 +#: ../Doc/library/gc.rst:86 msgid "" "``collected`` is the total number of objects collected inside this " "generation;" @@ -148,7 +153,7 @@ msgstr "" "``collected`` es el número total de objetos recolectados dentro de esta " "generación;" -#: ../Doc/library/gc.rst:87 +#: ../Doc/library/gc.rst:89 msgid "" "``uncollectable`` is the total number of objects which were found to be " "uncollectable (and were therefore moved to the :data:`garbage` list) inside " @@ -158,7 +163,7 @@ msgstr "" "recolectables (y por lo tanto, se movieron a la lista :data:`garbage`) " "dentro de esta generación." -#: ../Doc/library/gc.rst:96 +#: ../Doc/library/gc.rst:98 msgid "" "Set the garbage collection thresholds (the collection frequency). Setting " "*threshold0* to zero disables collection." @@ -166,7 +171,8 @@ msgstr "" "Establece los umbrales de recolección (la frecuencia de recolección). Si se " "establece *threshold0* en cero se deshabilita la recolección." -#: ../Doc/library/gc.rst:99 +#: ../Doc/library/gc.rst:101 +#, fuzzy msgid "" "The GC classifies objects into three generations depending on how many " "collection sweeps they have survived. New objects are placed in the " @@ -179,8 +185,10 @@ msgid "" "*threshold0*, collection starts. Initially only generation ``0`` is " "examined. If generation ``0`` has been examined more than *threshold1* " "times since generation ``1`` has been examined, then generation ``1`` is " -"examined as well. Similarly, *threshold2* controls the number of " -"collections of generation ``1`` before collecting generation ``2``." +"examined as well. With the third generation, things are a bit more " +"complicated, see `Collecting the oldest generation `_ for more " +"information." msgstr "" "El recolector de basura clasifica los objetos en tres generaciones " "dependiendo de a cuántas pasadas de recolección hayan sobrevivido. Los " @@ -198,7 +206,7 @@ msgstr "" "manera similar, *threshold2* controla el número de recolecciones de la " "generación ``1`` antes de recolectar la generación ``2``." -#: ../Doc/library/gc.rst:116 +#: ../Doc/library/gc.rst:118 msgid "" "Return the current collection counts as a tuple of ``(count0, count1, " "count2)``." @@ -206,7 +214,7 @@ msgstr "" "Retorna los recuentos de la recolección actual como una tupla de la forma " "``(count0, count1, count2)``." -#: ../Doc/library/gc.rst:122 +#: ../Doc/library/gc.rst:124 msgid "" "Return the current collection thresholds as a tuple of ``(threshold0, " "threshold1, threshold2)``." @@ -214,7 +222,7 @@ msgstr "" "Retorna los umbrales de la recolección actual como una tupla de la forma " "``(threshold0, threshold1, threshold2)``." -#: ../Doc/library/gc.rst:128 +#: ../Doc/library/gc.rst:130 msgid "" "Return the list of objects that directly refer to any of objs. This function " "will only locate those containers which support garbage collection; " @@ -226,7 +234,7 @@ msgstr "" "recolección de basura; no se localizarán los tipos de extensión que " "referencian a otros objetos pero que no admiten la recolección de basura." -#: ../Doc/library/gc.rst:133 +#: ../Doc/library/gc.rst:135 msgid "" "Note that objects which have already been dereferenced, but which live in " "cycles and have not yet been collected by the garbage collector can be " @@ -239,7 +247,7 @@ msgstr "" "solo los objetos activos actualmente, llame a :func:`collect` antes de " "llamar a :func:`get_referrers`." -#: ../Doc/library/gc.rst:138 +#: ../Doc/library/gc.rst:141 msgid "" "Care must be taken when using objects returned by :func:`get_referrers` " "because some of them could still be under construction and hence in a " @@ -254,6 +262,12 @@ msgstr "" #: ../Doc/library/gc.rst:146 msgid "" +"Raises an :ref:`auditing event ` ``gc.get_referrers`` with " +"argument ``objs``." +msgstr "" + +#: ../Doc/library/gc.rst:151 +msgid "" "Return a list of objects directly referred to by any of the arguments. The " "referents returned are those objects visited by the arguments' C-level :c:" "member:`~PyTypeObject.tp_traverse` methods (if any), and may not be all " @@ -275,7 +289,13 @@ msgstr "" "los argumento, ese objeto entero puede aparecer o no en la lista de " "resultados." -#: ../Doc/library/gc.rst:157 +#: ../Doc/library/gc.rst:159 +msgid "" +"Raises an :ref:`auditing event ` ``gc.get_referents`` with " +"argument ``objs``." +msgstr "" + +#: ../Doc/library/gc.rst:163 msgid "" "Returns ``True`` if the object is currently tracked by the garbage " "collector, ``False`` otherwise. As a general rule, instances of atomic " @@ -292,7 +312,13 @@ msgstr "" "impacto del recolector de basura en instancias simples (por ejemplo, " "diccionarios que contienen solo claves y valores atómicos)::" -#: ../Doc/library/gc.rst:182 +#: ../Doc/library/gc.rst:188 +msgid "" +"Returns ``True`` if the given object has been finalized by the garbage " +"collector, ``False`` otherwise. ::" +msgstr "" + +#: ../Doc/library/gc.rst:209 msgid "" "Freeze all the objects tracked by gc - move them to a permanent generation " "and ignore all the future collections. This can be used before a POSIX " @@ -311,7 +337,7 @@ msgstr "" "el recolector de basura en el proceso principal, congelar antes de la " "bifurcación y habilitarlo posteriormente en el proceso secundario." -#: ../Doc/library/gc.rst:194 +#: ../Doc/library/gc.rst:221 msgid "" "Unfreeze the objects in the permanent generation, put them back into the " "oldest generation." @@ -319,11 +345,11 @@ msgstr "" "Descongela los objetos de la generación permanente y vuelve a colocarlos en " "la generación más antigua." -#: ../Doc/library/gc.rst:202 +#: ../Doc/library/gc.rst:229 msgid "Return the number of objects in the permanent generation." msgstr "Retorna el número de objetos de la generación permanente." -#: ../Doc/library/gc.rst:207 +#: ../Doc/library/gc.rst:234 msgid "" "The following variables are provided for read-only access (you can mutate " "the values but should not rebind them):" @@ -331,7 +357,7 @@ msgstr "" "Las siguientes variables se proporcionan para acceso de solo lectura (se " "pueden mutar los valores pero no se deben vincular de nuevo):" -#: ../Doc/library/gc.rst:212 +#: ../Doc/library/gc.rst:239 msgid "" "A list of objects which the collector found to be unreachable but could not " "be freed (uncollectable objects). Starting with Python 3.4, this list " @@ -344,7 +370,7 @@ msgstr "" "cuando se utilizan instancias de tipos de extensión C en los que la ranura " "(*slot*) ``tp_del`` no sea ``NULL``." -#: ../Doc/library/gc.rst:217 +#: ../Doc/library/gc.rst:244 msgid "" "If :const:`DEBUG_SAVEALL` is set, then all unreachable objects will be added " "to this list rather than freed." @@ -352,7 +378,7 @@ msgstr "" "Si se establece :const:`DEBUG_SAVEALL`, todos los objetos inaccesibles se " "agregarán a esta lista en lugar de ser liberados." -#: ../Doc/library/gc.rst:220 +#: ../Doc/library/gc.rst:247 msgid "" "If this list is non-empty at :term:`interpreter shutdown`, a :exc:" "`ResourceWarning` is emitted, which is silent by default. If :const:" @@ -364,7 +390,7 @@ msgstr "" "Si se establece :const:`DEBUG_UNCOLLECTABLE`, además se imprimen todos los " "objetos no recolectables." -#: ../Doc/library/gc.rst:226 +#: ../Doc/library/gc.rst:253 msgid "" "Following :pep:`442`, objects with a :meth:`__del__` method don't end up in :" "attr:`gc.garbage` anymore." @@ -372,7 +398,7 @@ msgstr "" "Cumpliendo con :pep:`442`, los objetos con un método :meth:`__del__` ya no " "terminan en :attr:`gc.garbage`." -#: ../Doc/library/gc.rst:232 +#: ../Doc/library/gc.rst:259 msgid "" "A list of callbacks that will be invoked by the garbage collector before and " "after collection. The callbacks will be called with two arguments, *phase* " @@ -382,19 +408,19 @@ msgstr "" "después de la recolección. Las retrollamadas serán llamadas con dos " "argumentos, *phase* e *info*." -#: ../Doc/library/gc.rst:236 +#: ../Doc/library/gc.rst:263 msgid "*phase* can be one of two values:" msgstr "*phase* puede tomar uno de estos valores:" -#: ../Doc/library/gc.rst:238 +#: ../Doc/library/gc.rst:265 msgid "\"start\": The garbage collection is about to start." msgstr "\"start\": la recolección de basura está a punto de comenzar." -#: ../Doc/library/gc.rst:240 +#: ../Doc/library/gc.rst:267 msgid "\"stop\": The garbage collection has finished." msgstr "\"stop\": la recolección de basura ha terminado." -#: ../Doc/library/gc.rst:242 +#: ../Doc/library/gc.rst:269 msgid "" "*info* is a dict providing more information for the callback. The following " "keys are currently defined:" @@ -402,11 +428,11 @@ msgstr "" "*info* es un diccionario que proporciona información adicional para la " "retrollamada. Las siguientes claves están definidas actualmente:" -#: ../Doc/library/gc.rst:245 +#: ../Doc/library/gc.rst:272 msgid "\"generation\": The oldest generation being collected." msgstr "\"generation\": la generación más antigua que ha sido recolectada." -#: ../Doc/library/gc.rst:247 +#: ../Doc/library/gc.rst:274 msgid "" "\"collected\": When *phase* is \"stop\", the number of objects successfully " "collected." @@ -414,7 +440,7 @@ msgstr "" "\"collected\": cuando *phase* es \"stop\", el número de objetos recolectados " "satisfactoriamente." -#: ../Doc/library/gc.rst:250 +#: ../Doc/library/gc.rst:277 msgid "" "\"uncollectable\": When *phase* is \"stop\", the number of objects that " "could not be collected and were put in :data:`garbage`." @@ -422,7 +448,7 @@ msgstr "" "\"uncollectable\": cuando *phase* es \"stop\", el número de objetos que no " "pudieron ser recolectados y fueron ubicados en :data:`garbage`." -#: ../Doc/library/gc.rst:253 +#: ../Doc/library/gc.rst:280 msgid "" "Applications can add their own callbacks to this list. The primary use " "cases are:" @@ -430,7 +456,7 @@ msgstr "" "Las aplicaciones pueden agregar sus propias retrollamadas a esta lista. Los " "principales casos de uso son:" -#: ../Doc/library/gc.rst:256 +#: ../Doc/library/gc.rst:283 msgid "" "Gathering statistics about garbage collection, such as how often various " "generations are collected, and how long the collection takes." @@ -439,7 +465,7 @@ msgstr "" "con la que se recolectan varias generaciones y cuánto tiempo lleva la " "recolección." -#: ../Doc/library/gc.rst:260 +#: ../Doc/library/gc.rst:287 msgid "" "Allowing applications to identify and clear their own uncollectable types " "when they appear in :data:`garbage`." @@ -447,13 +473,13 @@ msgstr "" "Permitir que las aplicaciones identifiquen y borren sus propios tipos no " "recolectables cuando aparecen en :data:`garbage`." -#: ../Doc/library/gc.rst:266 +#: ../Doc/library/gc.rst:293 msgid "The following constants are provided for use with :func:`set_debug`:" msgstr "" "Las siguientes constantes son proporcionadas para ser usadas con :func:" "`set_debug`:" -#: ../Doc/library/gc.rst:271 +#: ../Doc/library/gc.rst:298 msgid "" "Print statistics during collection. This information can be useful when " "tuning the collection frequency." @@ -461,11 +487,11 @@ msgstr "" "Imprime estadísticas durante la recolección. Esta información puede resultar " "útil para ajustar la frecuencia de recolección." -#: ../Doc/library/gc.rst:277 +#: ../Doc/library/gc.rst:304 msgid "Print information on collectable objects found." msgstr "Imprime información sobre los objetos recolectables encontrados." -#: ../Doc/library/gc.rst:282 +#: ../Doc/library/gc.rst:309 msgid "" "Print information of uncollectable objects found (objects which are not " "reachable but cannot be freed by the collector). These objects will be " @@ -475,7 +501,7 @@ msgstr "" "inaccesibles, pero que el recolector no puede liberar). Estos objetos se " "agregarán a la lista ``garbage``." -#: ../Doc/library/gc.rst:286 +#: ../Doc/library/gc.rst:313 msgid "" "Also print the contents of the :data:`garbage` list at :term:`interpreter " "shutdown`, if it isn't empty." @@ -483,7 +509,7 @@ msgstr "" "También imprime el contenido de la lista :data:`garbage` durante :term:" "`interpreter shutdown`, si no está vacía." -#: ../Doc/library/gc.rst:292 +#: ../Doc/library/gc.rst:319 msgid "" "When set, all unreachable objects found will be appended to *garbage* rather " "than being freed. This can be useful for debugging a leaking program." @@ -492,7 +518,7 @@ msgstr "" "a *garbage* en lugar de ser liberados. Esto puede resultar útil para depurar " "un programa con fugas de memoria." -#: ../Doc/library/gc.rst:298 +#: ../Doc/library/gc.rst:325 msgid "" "The debugging flags necessary for the collector to print information about a " "leaking program (equal to ``DEBUG_COLLECTABLE | DEBUG_UNCOLLECTABLE | " diff --git a/library/gettext.po b/library/gettext.po index 99b956f81a..c96ca50a45 100644 --- a/library/gettext.po +++ b/library/gettext.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-07-07 23:17+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" "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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/library/gettext.rst:2 msgid ":mod:`gettext` --- Multilingual internationalization services" @@ -627,9 +626,10 @@ msgstr "" "mensaje como cadenas Unicode, no cadenas de bytes." #: ../Doc/library/gettext.rst:387 +#, fuzzy msgid "" "The entire set of key/value pairs are placed into a dictionary and set as " -"the \"*protected*\" :attr:`_info` instance variable." +"the \"protected\" :attr:`_info` instance variable." msgstr "" "El conjunto completo de pares clave/valor se coloca en un diccionario y se " "establece como la variable de instancia \"protegida\" :attr:`_info`." diff --git a/library/glob.po b/library/glob.po index dcc33ffc94..aa1d8703de 100644 --- a/library/glob.po +++ b/library/glob.po @@ -10,15 +10,14 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-08-26 00:09+0200\n" +"Last-Translator: \n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Last-Translator: \n" -"X-Generator: Poedit 1.8.11\n" #: ../Doc/library/glob.rst:2 msgid ":mod:`glob` --- Unix style pathname pattern expansion" @@ -65,13 +64,16 @@ msgid "The :mod:`pathlib` module offers high-level path objects." msgstr "El módulo :mod:`pathlib` ofrece objetos ruta de alto nivel." #: ../Doc/library/glob.rst:41 +#, fuzzy msgid "" "Return a possibly-empty list of path names that match *pathname*, which must " "be a string containing a path specification. *pathname* can be either " "absolute (like :file:`/usr/src/Python-1.5/Makefile`) or relative (like :file:" "`../../Tools/\\*/\\*.gif`), and can contain shell-style wildcards. Broken " "symlinks are included in the results (as in the shell). Whether or not the " -"results are sorted depends on the file system." +"results are sorted depends on the file system. If a file that satisfies " +"conditions is removed or added during the call of this function, whether a " +"path name for that file be included is unspecified." msgstr "" "Retorna una, posiblemente vacía, lista de nombres de ruta que coinciden con " "*pathname*, la cual debe ser una cadena de caracteres conteniendo una " @@ -82,7 +84,7 @@ msgstr "" "terminal). Que los resultados estén ordenados dependerá del sistema de " "ficheros." -#: ../Doc/library/glob.rst:51 +#: ../Doc/library/glob.rst:53 msgid "" "If *recursive* is true, the pattern \"``**``\" will match any files and zero " "or more directories, subdirectories and symbolic links to directories. If " @@ -94,7 +96,7 @@ msgstr "" "directorios. Si el patrón va seguido de un :data:`os.sep` o :data:`os." "altsep` los ficheros no coincidirán." -#: ../Doc/library/glob.rst:57 ../Doc/library/glob.rst:71 +#: ../Doc/library/glob.rst:58 ../Doc/library/glob.rst:73 msgid "" "Raises an :ref:`auditing event ` ``glob.glob`` with arguments " "``pathname``, ``recursive``." @@ -102,7 +104,7 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``glob.glob`` con los " "argumentos ``pathname``, ``recursive``." -#: ../Doc/library/glob.rst:59 +#: ../Doc/library/glob.rst:61 msgid "" "Using the \"``**``\" pattern in large directory trees may consume an " "inordinate amount of time." @@ -110,11 +112,11 @@ msgstr "" "El uso del patrón \"``**``\" en árboles de directorios grandes podría " "consumir una cantidad de tiempo excesiva." -#: ../Doc/library/glob.rst:62 +#: ../Doc/library/glob.rst:64 msgid "Support for recursive globs using \"``**``\"." msgstr "Soporte para globs recursivos usando \"``**``\"." -#: ../Doc/library/glob.rst:68 +#: ../Doc/library/glob.rst:70 msgid "" "Return an :term:`iterator` which yields the same values as :func:`glob` " "without actually storing them all simultaneously." @@ -122,7 +124,7 @@ msgstr "" "Retorna un :term:`iterador` el cual produce los mismos valores que :func:" "`glob` sin necesidad de almacenarlos todos de forma simultánea." -#: ../Doc/library/glob.rst:76 +#: ../Doc/library/glob.rst:78 msgid "" "Escape all special characters (``'?'``, ``'*'`` and ``'['``). This is useful " "if you want to match an arbitrary literal string that may have special " @@ -136,7 +138,7 @@ msgstr "" "unidades compartidas/UNC no se eluden, e.g. en Windows ``escape('//?/c:/Quo " "vadis?.txt')`` retorna ``'//?/c:/Quo vadis[?].txt'``." -#: ../Doc/library/glob.rst:85 +#: ../Doc/library/glob.rst:87 msgid "" "For example, consider a directory containing the following files: :file:`1." "gif`, :file:`2.txt`, :file:`card.gif` and a subdirectory :file:`sub` which " @@ -150,7 +152,7 @@ msgstr "" "siguientes resultados. Nótese como se preservará cualquier componente " "inicial de la ruta. ::" -#: ../Doc/library/glob.rst:103 +#: ../Doc/library/glob.rst:105 msgid "" "If the directory contains files starting with ``.`` they won't be matched by " "default. For example, consider a directory containing :file:`card.gif` and :" @@ -160,10 +162,10 @@ msgstr "" "defecto. Por ejemplo, considera un directorio que contiene :file:`card.gif` " "y :file:`.card.gif`::" -#: ../Doc/library/glob.rst:115 +#: ../Doc/library/glob.rst:117 msgid "Module :mod:`fnmatch`" msgstr "Módulo :mod:`fnmatch`" -#: ../Doc/library/glob.rst:116 +#: ../Doc/library/glob.rst:118 msgid "Shell-style filename (not path) expansion" msgstr "Expansión de nombre de fichero (no de ruta) al estilo de la terminal" diff --git a/library/graphlib.po b/library/graphlib.po new file mode 100644 index 0000000000..d91fd1a4a2 --- /dev/null +++ b/library/graphlib.po @@ -0,0 +1,227 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2021, Python Software Foundation +# This file is distributed under the same license as the Python en Español +# package. +# FIRST AUTHOR , 2021. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python en Español 3.9\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.8.0\n" + +#: ../Doc/library/graphlib.rst:2 +msgid ":mod:`graphlib` --- Functionality to operate with graph-like structures" +msgstr "" + +#: ../Doc/library/graphlib.rst:8 +msgid "**Source code:** :source:`Lib/graphlib.py`" +msgstr "" + +#: ../Doc/library/graphlib.rst:20 +msgid "Provides functionality to topologically sort a graph of hashable nodes." +msgstr "" + +#: ../Doc/library/graphlib.rst:22 +msgid "" +"A topological order is a linear ordering of the vertices in a graph such " +"that for every directed edge u -> v from vertex u to vertex v, vertex u " +"comes before vertex v in the ordering. For instance, the vertices of the " +"graph may represent tasks to be performed, and the edges may represent " +"constraints that one task must be performed before another; in this example, " +"a topological ordering is just a valid sequence for the tasks. A complete " +"topological ordering is possible if and only if the graph has no directed " +"cycles, that is, if it is a directed acyclic graph." +msgstr "" + +#: ../Doc/library/graphlib.rst:31 +msgid "" +"If the optional *graph* argument is provided it must be a dictionary " +"representing a directed acyclic graph where the keys are nodes and the " +"values are iterables of all predecessors of that node in the graph (the " +"nodes that have edges that point to the value in the key). Additional nodes " +"can be added to the graph using the :meth:`~TopologicalSorter.add` method." +msgstr "" + +#: ../Doc/library/graphlib.rst:37 +msgid "" +"In the general case, the steps required to perform the sorting of a given " +"graph are as follows:" +msgstr "" + +#: ../Doc/library/graphlib.rst:40 +msgid "" +"Create an instance of the :class:`TopologicalSorter` with an optional " +"initial graph." +msgstr "" + +#: ../Doc/library/graphlib.rst:42 +msgid "Add additional nodes to the graph." +msgstr "" + +#: ../Doc/library/graphlib.rst:43 +msgid "Call :meth:`~TopologicalSorter.prepare` on the graph." +msgstr "" + +#: ../Doc/library/graphlib.rst:44 +msgid "" +"While :meth:`~TopologicalSorter.is_active` is ``True``, iterate over the " +"nodes returned by :meth:`~TopologicalSorter.get_ready` and process them. " +"Call :meth:`~TopologicalSorter.done` on each node as it finishes processing." +msgstr "" + +#: ../Doc/library/graphlib.rst:49 +msgid "" +"In case just an immediate sorting of the nodes in the graph is required and " +"no parallelism is involved, the convenience method :meth:`TopologicalSorter." +"static_order` can be used directly:" +msgstr "" + +#: ../Doc/library/graphlib.rst:60 +msgid "" +"The class is designed to easily support parallel processing of the nodes as " +"they become ready. For instance::" +msgstr "" + +#: ../Doc/library/graphlib.rst:87 +msgid "" +"Add a new node and its predecessors to the graph. Both the *node* and all " +"elements in *predecessors* must be hashable." +msgstr "" + +#: ../Doc/library/graphlib.rst:90 +msgid "" +"If called multiple times with the same node argument, the set of " +"dependencies will be the union of all dependencies passed in." +msgstr "" + +#: ../Doc/library/graphlib.rst:93 +msgid "" +"It is possible to add a node with no dependencies (*predecessors* is not " +"provided) or to provide a dependency twice. If a node that has not been " +"provided before is included among *predecessors* it will be automatically " +"added to the graph with no predecessors of its own." +msgstr "" + +#: ../Doc/library/graphlib.rst:98 +msgid "" +"Raises :exc:`ValueError` if called after :meth:`~TopologicalSorter.prepare`." +msgstr "" + +#: ../Doc/library/graphlib.rst:102 +msgid "" +"Mark the graph as finished and check for cycles in the graph. If any cycle " +"is detected, :exc:`CycleError` will be raised, but :meth:`~TopologicalSorter." +"get_ready` can still be used to obtain as many nodes as possible until " +"cycles block more progress. After a call to this function, the graph cannot " +"be modified, and therefore no more nodes can be added using :meth:" +"`~TopologicalSorter.add`." +msgstr "" + +#: ../Doc/library/graphlib.rst:111 +msgid "" +"Returns ``True`` if more progress can be made and ``False`` otherwise. " +"Progress can be made if cycles do not block the resolution and either there " +"are still nodes ready that haven't yet been returned by :meth:" +"`TopologicalSorter.get_ready` or the number of nodes marked :meth:" +"`TopologicalSorter.done` is less than the number that have been returned by :" +"meth:`TopologicalSorter.get_ready`." +msgstr "" + +#: ../Doc/library/graphlib.rst:118 +msgid "" +"The :meth:`~TopologicalSorter.__bool__` method of this class defers to this " +"function, so instead of::" +msgstr "" + +#: ../Doc/library/graphlib.rst:124 +msgid "it is possible to simply do::" +msgstr "" + +#: ../Doc/library/graphlib.rst:129 ../Doc/library/graphlib.rst:152 +msgid "" +"Raises :exc:`ValueError` if called without calling :meth:`~TopologicalSorter." +"prepare` previously." +msgstr "" + +#: ../Doc/library/graphlib.rst:134 +msgid "" +"Marks a set of nodes returned by :meth:`TopologicalSorter.get_ready` as " +"processed, unblocking any successor of each node in *nodes* for being " +"returned in the future by a call to :meth:`TopologicalSorter.get_ready`." +msgstr "" + +#: ../Doc/library/graphlib.rst:138 +msgid "" +"Raises :exc:`ValueError` if any node in *nodes* has already been marked as " +"processed by a previous call to this method or if a node was not added to " +"the graph by using :meth:`TopologicalSorter.add`, if called without calling :" +"meth:`~TopologicalSorter.prepare` or if node has not yet been returned by :" +"meth:`~TopologicalSorter.get_ready`." +msgstr "" + +#: ../Doc/library/graphlib.rst:146 +msgid "" +"Returns a ``tuple`` with all the nodes that are ready. Initially it returns " +"all nodes with no predecessors, and once those are marked as processed by " +"calling :meth:`TopologicalSorter.done`, further calls will return all new " +"nodes that have all their predecessors already processed. Once no more " +"progress can be made, empty tuples are returned." +msgstr "" + +#: ../Doc/library/graphlib.rst:157 +msgid "" +"Returns an iterable of nodes in a topological order. Using this method does " +"not require to call :meth:`TopologicalSorter.prepare` or :meth:" +"`TopologicalSorter.done`. This method is equivalent to::" +msgstr "" + +#: ../Doc/library/graphlib.rst:168 +msgid "" +"The particular order that is returned may depend on the specific order in " +"which the items were inserted in the graph. For example:" +msgstr "" + +#: ../Doc/library/graphlib.rst:185 +msgid "" +"This is due to the fact that \"0\" and \"2\" are in the same level in the " +"graph (they would have been returned in the same call to :meth:" +"`~TopologicalSorter.get_ready`) and the order between them is determined by " +"the order of insertion." +msgstr "" + +#: ../Doc/library/graphlib.rst:191 +msgid "If any cycle is detected, :exc:`CycleError` will be raised." +msgstr "" + +#: ../Doc/library/graphlib.rst:197 +msgid "Exceptions" +msgstr "" + +#: ../Doc/library/graphlib.rst:198 +msgid "The :mod:`graphlib` module defines the following exception classes:" +msgstr "" + +#: ../Doc/library/graphlib.rst:202 +msgid "" +"Subclass of :exc:`ValueError` raised by :meth:`TopologicalSorter.prepare` if " +"cycles exist in the working graph. If multiple cycles exist, only one " +"undefined choice among them will be reported and included in the exception." +msgstr "" + +#: ../Doc/library/graphlib.rst:206 +msgid "" +"The detected cycle can be accessed via the second element in the :attr:" +"`~CycleError.args` attribute of the exception instance and consists in a " +"list of nodes, such that each node is, in the graph, an immediate " +"predecessor of the next node in the list. In the reported list, the first " +"and the last node will be the same, to make it clear that it is cyclic." +msgstr "" diff --git a/library/gzip.po b/library/gzip.po index 9b2999a8c8..09f1bae639 100644 --- a/library/gzip.po +++ b/library/gzip.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-10-14 09:33-0300\n" +"Last-Translator: Alcides Rivarola\n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Alcides Rivarola\n" -"Language: es\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/gzip.rst:2 msgid ":mod:`gzip` --- Support for :program:`gzip` files" @@ -140,7 +139,7 @@ msgstr "" msgid "Added support for the ``'x'``, ``'xb'`` and ``'xt'`` modes." msgstr "Se agregó soporte para los modos ``'x'``, ``'xb'`` y ``'xt'``." -#: ../Doc/library/gzip.rst:59 ../Doc/library/gzip.rst:164 +#: ../Doc/library/gzip.rst:59 ../Doc/library/gzip.rst:165 msgid "Accepts a :term:`path-like object`." msgstr "Acepta un :term:`path-like object`." @@ -178,7 +177,8 @@ msgstr "" "archivo. El valor predeterminado es ``None``, en cuyo caso se abre " "*filename* para proporcionar un objeto de archivo." -# No estoy seguro si "It defaults to the filename of *fileobj*" lo traduje bien. +# No estoy seguro si "It defaults to the filename of *fileobj*" lo traduje +# bien. #: ../Doc/library/gzip.rst:82 msgid "" "When *fileobj* is not ``None``, the *filename* argument is only used to be " @@ -195,11 +195,14 @@ msgstr "" "nombre del archivo original no se incluye en el encabezado." #: ../Doc/library/gzip.rst:88 +#, fuzzy msgid "" "The *mode* argument can be any of ``'r'``, ``'rb'``, ``'a'``, ``'ab'``, " "``'w'``, ``'wb'``, ``'x'``, or ``'xb'``, depending on whether the file will " "be read or written. The default is the mode of *fileobj* if discernible; " -"otherwise, the default is ``'rb'``." +"otherwise, the default is ``'rb'``. In future Python releases the mode of " +"*fileobj* will not be used. It is better to always specify *mode* for " +"writing." msgstr "" "El argumento *mode* puede ser cualquiera de ``'r'``, ``'rb'``, ``'a'``, " "``'ab'``, ``'w'``, ``'wb'``, ``'x'``, o ``'xb'``, dependiendo de si el " @@ -207,7 +210,7 @@ msgstr "" "*fileobj* si se puede discernir; de lo contrario, el valor predeterminado es " "``'rb'``." -#: ../Doc/library/gzip.rst:93 +#: ../Doc/library/gzip.rst:94 msgid "" "Note that the file is always opened in binary mode. To open a compressed " "file in text mode, use :func:`.open` (or wrap your :class:`GzipFile` with " @@ -217,7 +220,7 @@ msgstr "" "un archivo comprimido en modo de texto, utilice :func:`.open` (o ajuste su :" "class:`GzipFile` con un :class:`io.TextIOWrapper`)." -#: ../Doc/library/gzip.rst:97 +#: ../Doc/library/gzip.rst:98 msgid "" "The *compresslevel* argument is an integer from ``0`` to ``9`` controlling " "the level of compression; ``1`` is fastest and produces the least " @@ -229,7 +232,7 @@ msgstr "" "``9`` es más lento y produce la mayor compresión. ``0`` no es una " "compresión. El valor predeterminado es ``9``." -#: ../Doc/library/gzip.rst:102 +#: ../Doc/library/gzip.rst:103 msgid "" "The *mtime* argument is an optional numeric timestamp to be written to the " "last modification time field in the stream when compressing. It should only " @@ -242,7 +245,7 @@ msgstr "" "``None``, se utiliza la hora actual. Consulte el atributo :attr:`mtime` para " "obtener más detalles." -#: ../Doc/library/gzip.rst:107 +#: ../Doc/library/gzip.rst:108 msgid "" "Calling a :class:`GzipFile` object's :meth:`close` method does not close " "*fileobj*, since you might wish to append more material after the compressed " @@ -258,7 +261,7 @@ msgstr "" "`~io.BytesIO.getvalue`." # No estoy seguro si statement se traduciría como declaración. -#: ../Doc/library/gzip.rst:113 +#: ../Doc/library/gzip.rst:114 #, fuzzy msgid "" ":class:`GzipFile` supports the :class:`io.BufferedIOBase` interface, " @@ -269,11 +272,11 @@ msgstr "" "la iteración y la declaración :keyword:`with`. Solo el método :meth:" "`truncate` no se implementa." -#: ../Doc/library/gzip.rst:117 +#: ../Doc/library/gzip.rst:118 msgid ":class:`GzipFile` also provides the following method and attribute:" msgstr ":class:`GzipFile` también proporciona el siguiente método y atributo:" -#: ../Doc/library/gzip.rst:121 +#: ../Doc/library/gzip.rst:122 msgid "" "Read *n* uncompressed bytes without advancing the file position. At most one " "single read on the compressed stream is done to satisfy the call. The " @@ -284,7 +287,7 @@ msgstr "" "la llamada. El número de bytes retornados puede ser mayor o menor de lo " "solicitado." -#: ../Doc/library/gzip.rst:126 +#: ../Doc/library/gzip.rst:127 msgid "" "While calling :meth:`peek` does not change the file position of the :class:" "`GzipFile`, it may change the position of the underlying file object (e.g. " @@ -294,7 +297,7 @@ msgstr "" "`GzipFile`, puede cambiar la posición del objeto de archivo subyacente (por " "ejemplo, si el :class:`GzipFile` se construyó con el parámetro *fileobj*)." -#: ../Doc/library/gzip.rst:135 +#: ../Doc/library/gzip.rst:136 msgid "" "When decompressing, the value of the last modification time field in the " "most recently read header may be read from this attribute, as an integer. " @@ -304,7 +307,7 @@ msgstr "" "el encabezado de lectura más reciente se puede leer de este atributo, como " "un entero. El valor inicial antes de leer cualquier encabezado es ``None``." -#: ../Doc/library/gzip.rst:139 +#: ../Doc/library/gzip.rst:140 msgid "" "All :program:`gzip` compressed streams are required to contain this " "timestamp field. Some programs, such as :program:`gunzip`\\ , make use of " @@ -318,7 +321,7 @@ msgstr "" "func:`time.time` y el atributo :attr:`~os.stat_result.st_mtime` del objeto " "retornado por :func:`os.stat`." -#: ../Doc/library/gzip.rst:145 +#: ../Doc/library/gzip.rst:146 msgid "" "Support for the :keyword:`with` statement was added, along with the *mtime* " "constructor argument and :attr:`mtime` attribute." @@ -326,21 +329,21 @@ msgstr "" "Se ha agregado soporte para la declaración :keyword:`with`, junto con el " "argumento del constructor *mtime* y el atributo :attr:`mtime`." -#: ../Doc/library/gzip.rst:149 +#: ../Doc/library/gzip.rst:150 msgid "Support for zero-padded and unseekable files was added." msgstr "" "Se agregó soporte para archivos con relleno de ceros y que no se pueden " "buscar." -#: ../Doc/library/gzip.rst:152 +#: ../Doc/library/gzip.rst:153 msgid "The :meth:`io.BufferedIOBase.read1` method is now implemented." msgstr "El método :meth:`io.BufferedIOBase.read1` ahora está implementado." -#: ../Doc/library/gzip.rst:155 +#: ../Doc/library/gzip.rst:156 msgid "Added support for the ``'x'`` and ``'xb'`` modes." msgstr "Se agregó soporte para los modos ``'x'`` y ``'xb'``." -#: ../Doc/library/gzip.rst:158 +#: ../Doc/library/gzip.rst:159 msgid "" "Added support for writing arbitrary :term:`bytes-like objects `. The :meth:`~io.BufferedIOBase.read` method now accepts an argument " @@ -350,7 +353,13 @@ msgstr "" "objects `. El método :meth:`~io.BufferedIOBase.read` " "ahora acepta un argumento de ``None``." -#: ../Doc/library/gzip.rst:170 +#: ../Doc/library/gzip.rst:168 +msgid "" +"Opening :class:`GzipFile` for writing without specifying the *mode* argument " +"is deprecated." +msgstr "" + +#: ../Doc/library/gzip.rst:175 msgid "" "Compress the *data*, returning a :class:`bytes` object containing the " "compressed data. *compresslevel* and *mtime* have the same meaning as in " @@ -360,11 +369,11 @@ msgstr "" "datos comprimidos. *compresslevel* y *mtime* tienen el mismo significado que " "en el constructor :class:`GzipFile` anterior." -#: ../Doc/library/gzip.rst:175 +#: ../Doc/library/gzip.rst:180 msgid "Added the *mtime* parameter for reproducible output." msgstr "Se agregó el parámetro *mtime* para una salida reproducible." -#: ../Doc/library/gzip.rst:180 +#: ../Doc/library/gzip.rst:185 msgid "" "Decompress the *data*, returning a :class:`bytes` object containing the " "uncompressed data." @@ -372,31 +381,31 @@ msgstr "" "Descomprime los *data*, devolviendo un objeto :class:`bytes` que contiene " "los datos sin comprimir." -#: ../Doc/library/gzip.rst:189 +#: ../Doc/library/gzip.rst:194 msgid "Examples of usage" msgstr "Ejemplos de uso" -#: ../Doc/library/gzip.rst:191 +#: ../Doc/library/gzip.rst:196 msgid "Example of how to read a compressed file::" msgstr "Ejemplos de como leer un archivo comprimido::" -#: ../Doc/library/gzip.rst:197 +#: ../Doc/library/gzip.rst:202 msgid "Example of how to create a compressed GZIP file::" msgstr "Ejemplos de como crear un archivo comprimido GZIP::" -#: ../Doc/library/gzip.rst:204 +#: ../Doc/library/gzip.rst:209 msgid "Example of how to GZIP compress an existing file::" msgstr "Ejemplos de como GZIP comprime un archivo existente::" -#: ../Doc/library/gzip.rst:212 +#: ../Doc/library/gzip.rst:217 msgid "Example of how to GZIP compress a binary string::" msgstr "Ejemplo de como GZIP comprime una cadena binaria::" -#: ../Doc/library/gzip.rst:221 +#: ../Doc/library/gzip.rst:226 msgid "Module :mod:`zlib`" msgstr "Módulo :mod:`zlib`" -#: ../Doc/library/gzip.rst:221 +#: ../Doc/library/gzip.rst:226 msgid "" "The basic data compression module needed to support the :program:`gzip` file " "format." @@ -404,11 +413,11 @@ msgstr "" "El módulo básico de compresión de datos necesario para admitir el formato de " "archivo :program:`gzip`." -#: ../Doc/library/gzip.rst:228 +#: ../Doc/library/gzip.rst:233 msgid "Command Line Interface" msgstr "Interfaz de Línea de Comandos" -#: ../Doc/library/gzip.rst:230 +#: ../Doc/library/gzip.rst:235 msgid "" "The :mod:`gzip` module provides a simple command line interface to compress " "or decompress files." @@ -416,12 +425,12 @@ msgstr "" "El módulo :mod:`gzip` proporciona una interfaz de línea de comandos simple " "para comprimir o descomprimir archivos." -#: ../Doc/library/gzip.rst:233 +#: ../Doc/library/gzip.rst:238 msgid "Once executed the :mod:`gzip` module keeps the input file(s)." msgstr "" "Una vez ejecutado el módulo :mod:`gzip` conserva los archivos de entrada." -#: ../Doc/library/gzip.rst:237 +#: ../Doc/library/gzip.rst:242 msgid "" "Add a new command line interface with a usage. By default, when you will " "execute the CLI, the default compression level is 6." @@ -430,26 +439,26 @@ msgstr "" "predeterminada, cuando ejecutará la CLI, el nivel de compresión " "predeterminado es 6." -#: ../Doc/library/gzip.rst:241 +#: ../Doc/library/gzip.rst:246 msgid "Command line options" msgstr "Opciones de línea de comandos" -#: ../Doc/library/gzip.rst:245 +#: ../Doc/library/gzip.rst:250 msgid "If *file* is not specified, read from :attr:`sys.stdin`." msgstr "Si no se especifica *file*, lee de :attr:`sys.stdin`." -#: ../Doc/library/gzip.rst:249 +#: ../Doc/library/gzip.rst:254 msgid "Indicates the fastest compression method (less compression)." msgstr "Indica el método de compresión más rápido (menos compresión)." -#: ../Doc/library/gzip.rst:253 +#: ../Doc/library/gzip.rst:258 msgid "Indicates the slowest compression method (best compression)." msgstr "Indica el método de compresión más lento (mejor compresión)." -#: ../Doc/library/gzip.rst:257 +#: ../Doc/library/gzip.rst:262 msgid "Decompress the given file." msgstr "Descomprime el archivo dado." -#: ../Doc/library/gzip.rst:261 +#: ../Doc/library/gzip.rst:266 msgid "Show the help message." msgstr "Muestra el mensaje de ayuda." diff --git a/library/hashlib.po b/library/hashlib.po index 161979c1b2..965cf238c6 100644 --- a/library/hashlib.po +++ b/library/hashlib.po @@ -1,22 +1,25 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. # Maintained by the python-doc-es workteam. -# docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ -# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers +# docs-es@python.org / +# https://mail.python.org/mailman3/lists/docs-es.python.org/ +# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get +# the list of volunteers # msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-06 11:59-0400\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-10-29 14:39+0100\n" "Last-Translator: Álvaro Mondéjar \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: es\n" -"X-Generator: Poedit 2.4.1\n" +"Generated-By: Babel 2.8.0\n" #: ../Doc/library/hashlib.rst:2 msgid ":mod:`hashlib` --- Secure hashes and message digests" @@ -98,15 +101,17 @@ msgstr "" "ya que los hashes funcionan en bytes, no en caracteres." #: ../Doc/library/hashlib.rst:66 +#, fuzzy msgid "" "Constructors for hash algorithms that are always present in this module are :" "func:`sha1`, :func:`sha224`, :func:`sha256`, :func:`sha384`, :func:" "`sha512`, :func:`blake2b`, and :func:`blake2s`. :func:`md5` is normally " -"available as well, though it may be missing if you are using a rare \"FIPS " -"compliant\" build of Python. Additional algorithms may also be available " -"depending upon the OpenSSL library that Python uses on your platform. On " -"most platforms the :func:`sha3_224`, :func:`sha3_256`, :func:`sha3_384`, :" -"func:`sha3_512`, :func:`shake_128`, :func:`shake_256` are also available." +"available as well, though it may be missing or blocked if you are using a " +"rare \"FIPS compliant\" build of Python. Additional algorithms may also be " +"available depending upon the OpenSSL library that Python uses on your " +"platform. On most platforms the :func:`sha3_224`, :func:`sha3_256`, :func:" +"`sha3_384`, :func:`sha3_512`, :func:`shake_128`, :func:`shake_256` are also " +"available." msgstr "" "Los constructores para algoritmos de hash siempre presentes en este módulo " "son :func:`sha1`, :func:`sha224`, :func:`sha256`, :func:`sha384`, :func:" @@ -132,17 +137,30 @@ msgstr "Fueron añadidas :func:`blake2b` y :func:`blake2s`." #: ../Doc/library/hashlib.rst:83 msgid "" +"All hashlib constructors take a keyword-only argument *usedforsecurity* with " +"default value ``True``. A false value allows the use of insecure and blocked " +"hashing algorithms in restricted environments. ``False`` indicates that the " +"hashing algorithm is not used in a security context, e.g. as a non-" +"cryptographic one-way compression function." +msgstr "" + +#: ../Doc/library/hashlib.rst:90 +msgid "Hashlib now uses SHA3 and SHAKE from OpenSSL 1.1.1 and newer." +msgstr "" + +#: ../Doc/library/hashlib.rst:92 +msgid "" "For example, to obtain the digest of the byte string ``b'Nobody inspects the " "spammish repetition'``::" msgstr "" "Por ejemplo, para obtener el resumen de la cadena de bytes ``b'Nobody " "inspects the spammish repetition'``::" -#: ../Doc/library/hashlib.rst:97 +#: ../Doc/library/hashlib.rst:106 msgid "More condensed:" msgstr "Más resumido:" -#: ../Doc/library/hashlib.rst:104 +#: ../Doc/library/hashlib.rst:113 msgid "" "Is a generic constructor that takes the string *name* of the desired " "algorithm as its first parameter. It also exists to allow access to the " @@ -156,15 +174,15 @@ msgstr "" "biblioteca OpenSSL puede ofrecer. Los constructores nombrados son mucho más " "rápidos que :func:`new` y deberían preferirse." -#: ../Doc/library/hashlib.rst:110 +#: ../Doc/library/hashlib.rst:119 msgid "Using :func:`new` with an algorithm provided by OpenSSL:" msgstr "Usando :func:`new` con un algoritmo provisto por OpenSSL:" -#: ../Doc/library/hashlib.rst:117 +#: ../Doc/library/hashlib.rst:126 msgid "Hashlib provides the following constant attributes:" msgstr "Hashlib provee los siguientes atributos constantes:" -#: ../Doc/library/hashlib.rst:121 +#: ../Doc/library/hashlib.rst:130 msgid "" "A set containing the names of the hash algorithms guaranteed to be supported " "by this module on all platforms. Note that 'md5' is in this list despite " @@ -176,7 +194,7 @@ msgstr "" "se encuentra en esta lista a pesar de que algunos proveedores ofrecen una " "extraña construcción Python \"compatible con FIPS\" que la excluye." -#: ../Doc/library/hashlib.rst:130 +#: ../Doc/library/hashlib.rst:139 msgid "" "A set containing the names of the hash algorithms that are available in the " "running Python interpreter. These names will be recognized when passed to :" @@ -190,7 +208,7 @@ msgstr "" "siempre será un subconjunto. El mismo algoritmo puede aparecer múltiples " "veces en este conjunto bajo diferentes nombres (gracias a OpenSSL)." -#: ../Doc/library/hashlib.rst:138 +#: ../Doc/library/hashlib.rst:147 msgid "" "The following values are provided as constant attributes of the hash objects " "returned by the constructors:" @@ -198,19 +216,19 @@ msgstr "" "Los siguientes valores son provistos como atributos constantes de los " "objetos hash retornados por los constructores:" -#: ../Doc/library/hashlib.rst:144 +#: ../Doc/library/hashlib.rst:153 msgid "The size of the resulting hash in bytes." msgstr "El tamaño del hash resultante en bytes." -#: ../Doc/library/hashlib.rst:148 +#: ../Doc/library/hashlib.rst:157 msgid "The internal block size of the hash algorithm in bytes." msgstr "El tamaño del bloque interno del algoritmo de hash en bytes." -#: ../Doc/library/hashlib.rst:150 +#: ../Doc/library/hashlib.rst:159 msgid "A hash object has the following attributes:" msgstr "Un objeto hash tiene los siguientes atributos:" -#: ../Doc/library/hashlib.rst:154 +#: ../Doc/library/hashlib.rst:163 msgid "" "The canonical name of this hash, always lowercase and always suitable as a " "parameter to :func:`new` to create another hash of this type." @@ -218,7 +236,7 @@ msgstr "" "El nombre canónico de este hash, siempre en minúsculas y siempre adecuado " "como un parámetro a :func:`new` para crear otro hash de este tipo." -#: ../Doc/library/hashlib.rst:157 +#: ../Doc/library/hashlib.rst:166 msgid "" "The name attribute has been present in CPython since its inception, but " "until Python 3.4 was not formally specified, so may not exist on some " @@ -228,11 +246,11 @@ msgstr "" "Python 3.4 no fue especificado formalmente, por lo que puede no existir en " "algunas plataformas." -#: ../Doc/library/hashlib.rst:162 +#: ../Doc/library/hashlib.rst:171 msgid "A hash object has the following methods:" msgstr "Un objeto hash tiene los siguientes métodos:" -#: ../Doc/library/hashlib.rst:167 +#: ../Doc/library/hashlib.rst:176 msgid "" "Update the hash object with the :term:`bytes-like object`. Repeated calls " "are equivalent to a single call with the concatenation of all the arguments: " @@ -243,7 +261,7 @@ msgstr "" "todos los argumentos: ``m.update(a); m.update(b)`` es equivalente a ``m." "update(a+b)``." -#: ../Doc/library/hashlib.rst:172 +#: ../Doc/library/hashlib.rst:181 msgid "" "The Python GIL is released to allow other threads to run while hash updates " "on data larger than 2047 bytes is taking place when using hash algorithms " @@ -253,7 +271,7 @@ msgstr "" "ocurren actualizaciones de hash en datos con tamaños superiores a 2047 bytes " "cuando se usan algoritmos de hash suministrados por OpenSSL." -#: ../Doc/library/hashlib.rst:180 +#: ../Doc/library/hashlib.rst:189 msgid "" "Return the digest of the data passed to the :meth:`update` method so far. " "This is a bytes object of size :attr:`digest_size` which may contain bytes " @@ -263,7 +281,7 @@ msgstr "" "momento. Este es un objeto de bytes de tamaño :attr:`digest_size` el cual " "puede contener bytes en el rango completo desde 0 a 255." -#: ../Doc/library/hashlib.rst:187 ../Doc/library/hashlib.rst:215 +#: ../Doc/library/hashlib.rst:196 ../Doc/library/hashlib.rst:224 msgid "" "Like :meth:`digest` except the digest is returned as a string object of " "double length, containing only hexadecimal digits. This may be used to " @@ -274,7 +292,7 @@ msgstr "" "puede ser usado para intercambiar el valor de forma segura en correos " "electrónicos u otros entornos no binarios." -#: ../Doc/library/hashlib.rst:194 +#: ../Doc/library/hashlib.rst:203 msgid "" "Return a copy (\"clone\") of the hash object. This can be used to " "efficiently compute the digests of data sharing a common initial substring." @@ -283,11 +301,11 @@ msgstr "" "calcular eficientemente los resúmenes de datos compartiendo una subcadena " "inicial común." -#: ../Doc/library/hashlib.rst:199 +#: ../Doc/library/hashlib.rst:208 msgid "SHAKE variable length digests" msgstr "Resúmenes SHAKE de largo variable" -#: ../Doc/library/hashlib.rst:201 +#: ../Doc/library/hashlib.rst:210 msgid "" "The :func:`shake_128` and :func:`shake_256` algorithms provide variable " "length digests with length_in_bits//2 up to 128 or 256 bits of security. As " @@ -299,7 +317,7 @@ msgstr "" "tales, sus métodos de resumen requieren un largo. El largo máximo no está " "limitado por el algoritmo SHAKE." -#: ../Doc/library/hashlib.rst:208 +#: ../Doc/library/hashlib.rst:217 msgid "" "Return the digest of the data passed to the :meth:`update` method so far. " "This is a bytes object of size *length* which may contain bytes in the whole " @@ -309,11 +327,12 @@ msgstr "" "momento. Este es un objeto de bytes de tamaño *length* el cual puede " "contener bytes en el rango completo desde 0 a 255." -#: ../Doc/library/hashlib.rst:221 +#: ../Doc/library/hashlib.rst:230 msgid "Key derivation" msgstr "Derivación de clave" -#: ../Doc/library/hashlib.rst:223 +#: ../Doc/library/hashlib.rst:232 +#, python-format msgid "" "Key derivation and key stretching algorithms are designed for secure " "password hashing. Naive algorithms such as ``sha1(password)`` are not " @@ -327,7 +346,7 @@ msgstr "" "buena función hash de contraseña debe ser afinable, lenta e incluir una `sal " "`_." -#: ../Doc/library/hashlib.rst:231 +#: ../Doc/library/hashlib.rst:240 msgid "" "The function provides PKCS#5 password-based key derivation function 2. It " "uses HMAC as pseudorandom function." @@ -335,7 +354,7 @@ msgstr "" "La función provee contraseñas PKCS#5 basadas en función de derivación de " "clave 2. Usa HMAC como función de pseudoaleatoriedad." -#: ../Doc/library/hashlib.rst:234 +#: ../Doc/library/hashlib.rst:243 msgid "" "The string *hash_name* is the desired name of the hash digest algorithm for " "HMAC, e.g. 'sha1' or 'sha256'. *password* and *salt* are interpreted as " @@ -349,7 +368,7 @@ msgstr "" "un largo razonable (ej. 1024). *salt* debería ser sobre 16 o más bytes desde " "una fuente adecuada, ej. :func:`os.urandom`." -#: ../Doc/library/hashlib.rst:240 +#: ../Doc/library/hashlib.rst:249 msgid "" "The number of *iterations* should be chosen based on the hash algorithm and " "computing power. As of 2013, at least 100,000 iterations of SHA-256 are " @@ -359,7 +378,7 @@ msgstr "" "y el poder de cómputo. A partir del 2013, se sugiere al menos 100,000 " "iteraciones de SHA-256." -#: ../Doc/library/hashlib.rst:244 +#: ../Doc/library/hashlib.rst:253 msgid "" "*dklen* is the length of the derived key. If *dklen* is ``None`` then the " "digest size of the hash algorithm *hash_name* is used, e.g. 64 for SHA-512." @@ -368,7 +387,7 @@ msgstr "" "tamaño de resumen del algoritmo de hash *hash_name* es usado, ej. 64 para " "SHA-512." -#: ../Doc/library/hashlib.rst:256 +#: ../Doc/library/hashlib.rst:265 msgid "" "A fast implementation of *pbkdf2_hmac* is available with OpenSSL. The " "Python implementation uses an inline version of :mod:`hmac`. It is about " @@ -378,7 +397,7 @@ msgstr "" "implementación Python usa una versión en línea de :mod:`hmac`. Es " "aproximadamente tres veces más lenta y no libera el GIL." -#: ../Doc/library/hashlib.rst:262 +#: ../Doc/library/hashlib.rst:271 msgid "" "The function provides scrypt password-based key derivation function as " "defined in :rfc:`7914`." @@ -386,7 +405,7 @@ msgstr "" "La función provee una contraseña scrypt basada en una función derivación de " "clave como es definida en :rfc:`7914`." -#: ../Doc/library/hashlib.rst:265 +#: ../Doc/library/hashlib.rst:274 msgid "" "*password* and *salt* must be :term:`bytes-like objects `. Applications and libraries should limit *password* to a sensible " @@ -398,7 +417,7 @@ msgstr "" "(ej. 1024). *salt* debería ser aproximadamente 16 o más bytes de una fuente " "adecuada, ej. :func:`os.unrandom`." -#: ../Doc/library/hashlib.rst:270 +#: ../Doc/library/hashlib.rst:279 msgid "" "*n* is the CPU/Memory cost factor, *r* the block size, *p* parallelization " "factor and *maxmem* limits memory (OpenSSL 1.1.0 defaults to 32 MiB). " @@ -408,15 +427,15 @@ msgstr "" "factor de paralelización y *maxmem* limita la memoria (OpenSSL 1.1.0 por " "defecto a 32 MiB). *dklen* es el largo de la clave derivada." -#: ../Doc/library/hashlib.rst:275 +#: ../Doc/library/hashlib.rst:284 msgid ":ref:`Availability `: OpenSSL 1.1+." msgstr ":ref:`Disponibilidad `: OpenSSL 1.1+." -#: ../Doc/library/hashlib.rst:280 +#: ../Doc/library/hashlib.rst:289 msgid "BLAKE2" msgstr "BLAKE2" -#: ../Doc/library/hashlib.rst:287 +#: ../Doc/library/hashlib.rst:296 msgid "" "BLAKE2_ is a cryptographic hash function defined in :rfc:`7693` that comes " "in two flavors:" @@ -424,7 +443,7 @@ msgstr "" "BLAKE2_ es una función de hash criptográfico definida en :rfc:`7693` que " "viene en dos sabores:" -#: ../Doc/library/hashlib.rst:290 +#: ../Doc/library/hashlib.rst:299 msgid "" "**BLAKE2b**, optimized for 64-bit platforms and produces digests of any size " "between 1 and 64 bytes," @@ -432,7 +451,7 @@ msgstr "" "**BLAKE2b**, optimizada para plataformas de 64 bits y produce resúmenes de " "cualquier tamaño entre 1 y 64 bytes," -#: ../Doc/library/hashlib.rst:293 +#: ../Doc/library/hashlib.rst:302 msgid "" "**BLAKE2s**, optimized for 8- to 32-bit platforms and produces digests of " "any size between 1 and 32 bytes." @@ -440,7 +459,7 @@ msgstr "" "**BLAKE2s**, optimizada para plataformas de 8 a 32 bits y produce resúmenes " "de cualquier tamaño entre 1 y 32 bytes." -#: ../Doc/library/hashlib.rst:296 +#: ../Doc/library/hashlib.rst:305 msgid "" "BLAKE2 supports **keyed mode** (a faster and simpler replacement for HMAC_), " "**salted hashing**, **personalization**, and **tree hashing**." @@ -449,7 +468,7 @@ msgstr "" "para HMAC_), **cifrado salado** (*salted hashing*), **personalización** y " "**cifrado de árbol**." -#: ../Doc/library/hashlib.rst:299 +#: ../Doc/library/hashlib.rst:308 msgid "" "Hash objects from this module follow the API of standard library's :mod:" "`hashlib` objects." @@ -457,15 +476,15 @@ msgstr "" "Los objetos hash de este módulo siguen los estándares de los objetos de la " "biblioteca :mod:`hashlib`." -#: ../Doc/library/hashlib.rst:304 +#: ../Doc/library/hashlib.rst:313 msgid "Creating hash objects" msgstr "Creando objetos hash" -#: ../Doc/library/hashlib.rst:306 +#: ../Doc/library/hashlib.rst:315 msgid "New hash objects are created by calling constructor functions:" msgstr "Se crean nuevos objetos hash invocando a las funciones de constructor:" -#: ../Doc/library/hashlib.rst:318 +#: ../Doc/library/hashlib.rst:329 msgid "" "These functions return the corresponding hash objects for calculating " "BLAKE2b or BLAKE2s. They optionally take these general parameters:" @@ -473,7 +492,7 @@ msgstr "" "Estas funciones retornan los objetos hash correspondientes para calcular " "BLAKE2b o BLAKE2s. Ellas toman opcionalmente estos parámetros generales:" -#: ../Doc/library/hashlib.rst:321 +#: ../Doc/library/hashlib.rst:332 msgid "" "*data*: initial chunk of data to hash, which must be :term:`bytes-like " "object`. It can be passed only as positional argument." @@ -481,11 +500,11 @@ msgstr "" "*data*: trozo inicial de datos a cifrar, el cual debe ser un :term:`bytes-" "like object`. Puede ser pasado sólo como argumento posicional." -#: ../Doc/library/hashlib.rst:324 +#: ../Doc/library/hashlib.rst:335 msgid "*digest_size*: size of output digest in bytes." msgstr "*digest_size*: tamaño del resumen de salida en bytes." -#: ../Doc/library/hashlib.rst:326 +#: ../Doc/library/hashlib.rst:337 msgid "" "*key*: key for keyed hashing (up to 64 bytes for BLAKE2b, up to 32 bytes for " "BLAKE2s)." @@ -493,7 +512,7 @@ msgstr "" "*key*: clave para el cifrado de clave (*keyed hashing*) (hasta 64 bytes para " "BLAKE2b, hasta 32 bytes para BLAKE2s)." -#: ../Doc/library/hashlib.rst:329 +#: ../Doc/library/hashlib.rst:340 msgid "" "*salt*: salt for randomized hashing (up to 16 bytes for BLAKE2b, up to 8 " "bytes for BLAKE2s)." @@ -501,7 +520,7 @@ msgstr "" "*salt*: sal para el cifrado aleatorio (hasta 16 bytes para BLAKE2b, hasta 8 " "bytes para BLAKE2s)." -#: ../Doc/library/hashlib.rst:332 +#: ../Doc/library/hashlib.rst:343 msgid "" "*person*: personalization string (up to 16 bytes for BLAKE2b, up to 8 bytes " "for BLAKE2s)." @@ -509,56 +528,56 @@ msgstr "" "*person*: cadena de personalización (hasta 16 bytes para BLAKE2b, hasta 8 " "bytes para BLAKE2s)." -#: ../Doc/library/hashlib.rst:335 +#: ../Doc/library/hashlib.rst:346 msgid "The following table shows limits for general parameters (in bytes):" msgstr "" "La siguiente tabla muestra los límites para parámetros generales (en bytes):" -#: ../Doc/library/hashlib.rst:338 +#: ../Doc/library/hashlib.rst:349 msgid "Hash" msgstr "Cifrado" -#: ../Doc/library/hashlib.rst:338 +#: ../Doc/library/hashlib.rst:349 msgid "digest_size" msgstr "digest_size" -#: ../Doc/library/hashlib.rst:338 +#: ../Doc/library/hashlib.rst:349 msgid "len(key)" msgstr "len(key)" -#: ../Doc/library/hashlib.rst:338 +#: ../Doc/library/hashlib.rst:349 msgid "len(salt)" msgstr "len(salt)" -#: ../Doc/library/hashlib.rst:338 +#: ../Doc/library/hashlib.rst:349 msgid "len(person)" msgstr "len(person)" -#: ../Doc/library/hashlib.rst:340 +#: ../Doc/library/hashlib.rst:351 msgid "BLAKE2b" msgstr "BLAKE2b" -#: ../Doc/library/hashlib.rst:340 +#: ../Doc/library/hashlib.rst:351 msgid "64" msgstr "64" -#: ../Doc/library/hashlib.rst:340 +#: ../Doc/library/hashlib.rst:351 msgid "16" msgstr "16" -#: ../Doc/library/hashlib.rst:341 +#: ../Doc/library/hashlib.rst:352 msgid "BLAKE2s" msgstr "BLAKE2s" -#: ../Doc/library/hashlib.rst:341 +#: ../Doc/library/hashlib.rst:352 msgid "32" msgstr "32" -#: ../Doc/library/hashlib.rst:341 +#: ../Doc/library/hashlib.rst:352 msgid "8" msgstr "8" -#: ../Doc/library/hashlib.rst:346 +#: ../Doc/library/hashlib.rst:357 msgid "" "BLAKE2 specification defines constant lengths for salt and personalization " "parameters, however, for convenience, this implementation accepts byte " @@ -574,26 +593,26 @@ msgstr "" "por lo tanto, por ejemplo, ``b'salt'`` y ``b'salt\\x00'`` es el mismo valor. " "(Este no es el caso para *key*.)" -#: ../Doc/library/hashlib.rst:353 +#: ../Doc/library/hashlib.rst:364 msgid "These sizes are available as module `constants`_ described below." msgstr "" "Estos tamaños están disponibles como `constantes`_ del módulo descritas " "abajo." -#: ../Doc/library/hashlib.rst:355 +#: ../Doc/library/hashlib.rst:366 msgid "" "Constructor functions also accept the following tree hashing parameters:" msgstr "" "Las funciones constructoras también aceptan los siguientes parámetros de " "cifrado de árbol:" -#: ../Doc/library/hashlib.rst:357 +#: ../Doc/library/hashlib.rst:368 msgid "*fanout*: fanout (0 to 255, 0 if unlimited, 1 in sequential mode)." msgstr "" "*fanout*: despliegue en abanico (0 a 255, 0 si ilimitado, 1 en modo " "secuencial)." -#: ../Doc/library/hashlib.rst:359 +#: ../Doc/library/hashlib.rst:370 msgid "" "*depth*: maximal depth of tree (1 to 255, 255 if unlimited, 1 in sequential " "mode)." @@ -601,7 +620,7 @@ msgstr "" "*depth*: profundidad máxima del árbol (1 a 255, 255 si ilimitado, 1 en modo " "secuencial)." -#: ../Doc/library/hashlib.rst:362 +#: ../Doc/library/hashlib.rst:373 msgid "" "*leaf_size*: maximal byte length of leaf (0 to 2**32-1, 0 if unlimited or in " "sequential mode)." @@ -609,7 +628,7 @@ msgstr "" "*leaf_size*: tamaño máximo en bytes de hoja (0 a 2**32-1, 0 si ilimitado o " "en modo secuencial)." -#: ../Doc/library/hashlib.rst:365 +#: ../Doc/library/hashlib.rst:376 msgid "" "*node_offset*: node offset (0 to 2**64-1 for BLAKE2b, 0 to 2**48-1 for " "BLAKE2s, 0 for the first, leftmost, leaf, or in sequential mode)." @@ -618,14 +637,14 @@ msgstr "" "para BLAKE2s, 0 para la primera, la hoja más a la izquierda o en modo " "secuencial)." -#: ../Doc/library/hashlib.rst:368 +#: ../Doc/library/hashlib.rst:379 msgid "" "*node_depth*: node depth (0 to 255, 0 for leaves, or in sequential mode)." msgstr "" "*node_depth*: profundidad de nodo (0 a 255, 0 para hojas o en modo " "secuencial)." -#: ../Doc/library/hashlib.rst:370 +#: ../Doc/library/hashlib.rst:381 msgid "" "*inner_size*: inner digest size (0 to 64 for BLAKE2b, 0 to 32 for BLAKE2s, 0 " "in sequential mode)." @@ -633,7 +652,7 @@ msgstr "" "*inner_size*: tamaño interno del resumen (0 a 64 para BLAKE2b, 0 a 32 para " "BLAKE2s, 0 en modo secuencial)." -#: ../Doc/library/hashlib.rst:373 +#: ../Doc/library/hashlib.rst:384 msgid "" "*last_node*: boolean indicating whether the processed node is the last one " "(`False` for sequential mode)." @@ -641,7 +660,7 @@ msgstr "" "*last_node*: booleano indicando si el nodo procesado es el último (`False` " "para modo secuencial)." -#: ../Doc/library/hashlib.rst:379 +#: ../Doc/library/hashlib.rst:390 msgid "" "See section 2.10 in `BLAKE2 specification `_ for comprehensive review of tree hashing." @@ -649,38 +668,38 @@ msgstr "" "Consulta la sección 2.10 en la `especificación BLAKE2 ` para una revisión integral del cifrado en árbol." -#: ../Doc/library/hashlib.rst:385 +#: ../Doc/library/hashlib.rst:396 msgid "Constants" msgstr "Constantes" -#: ../Doc/library/hashlib.rst:390 +#: ../Doc/library/hashlib.rst:401 msgid "Salt length (maximum length accepted by constructors)." msgstr "Largo de sal (largo máximo aceptado por los constructores)." -#: ../Doc/library/hashlib.rst:396 +#: ../Doc/library/hashlib.rst:407 msgid "" "Personalization string length (maximum length accepted by constructors)." msgstr "" "Largo de cadena de personalización (largo máximo aceptado por los " "constructores)." -#: ../Doc/library/hashlib.rst:402 +#: ../Doc/library/hashlib.rst:413 msgid "Maximum key size." msgstr "Tamaño máximo de clave." -#: ../Doc/library/hashlib.rst:408 +#: ../Doc/library/hashlib.rst:419 msgid "Maximum digest size that the hash function can output." msgstr "Tamaño máximo de resumen que puede producir la función hash." -#: ../Doc/library/hashlib.rst:412 +#: ../Doc/library/hashlib.rst:423 msgid "Examples" msgstr "Ejemplos" -#: ../Doc/library/hashlib.rst:415 +#: ../Doc/library/hashlib.rst:426 msgid "Simple hashing" msgstr "Cifrado simple" -#: ../Doc/library/hashlib.rst:417 +#: ../Doc/library/hashlib.rst:428 msgid "" "To calculate hash of some data, you should first construct a hash object by " "calling the appropriate constructor function (:func:`blake2b` or :func:" @@ -695,7 +714,7 @@ msgstr "" "invocando :meth:`digest` (o :meth:`hexdigest` para una cadena codificada en " "hexadecimal)." -#: ../Doc/library/hashlib.rst:430 +#: ../Doc/library/hashlib.rst:441 msgid "" "As a shortcut, you can pass the first chunk of data to update directly to " "the constructor as the positional argument:" @@ -703,7 +722,7 @@ msgstr "" "Como atajo, puedes pasar el primer trozo de datos para actualizar " "directamente el constructor como el argumento posicional:" -#: ../Doc/library/hashlib.rst:437 +#: ../Doc/library/hashlib.rst:448 msgid "" "You can call :meth:`hash.update` as many times as you need to iteratively " "update the hash:" @@ -711,11 +730,11 @@ msgstr "" "Puedes invocar :meth:`hash.update` tantas veces como necesites para " "actualizar el hash iterativamente:" -#: ../Doc/library/hashlib.rst:450 +#: ../Doc/library/hashlib.rst:461 msgid "Using different digest sizes" msgstr "Usar diferentes tamaños de resumen" -#: ../Doc/library/hashlib.rst:452 +#: ../Doc/library/hashlib.rst:463 msgid "" "BLAKE2 has configurable size of digests up to 64 bytes for BLAKE2b and up to " "32 bytes for BLAKE2s. For example, to replace SHA-1 with BLAKE2b without " @@ -726,7 +745,7 @@ msgstr "" "BLAKE2b sin cambiar el tamaño de la salida, puedes decirle a BLAKE2b que " "produzca resúmenes de 20 bytes:" -#: ../Doc/library/hashlib.rst:466 +#: ../Doc/library/hashlib.rst:477 msgid "" "Hash objects with different digest sizes have completely different outputs " "(shorter hashes are *not* prefixes of longer hashes); BLAKE2b and BLAKE2s " @@ -737,11 +756,11 @@ msgstr "" "BLAKE2b y BLAKE2s producen salidas diferentes incluso si el largo de salida " "es el mismo:" -#: ../Doc/library/hashlib.rst:482 +#: ../Doc/library/hashlib.rst:493 msgid "Keyed hashing" msgstr "Cifrado de clave" -#: ../Doc/library/hashlib.rst:484 +#: ../Doc/library/hashlib.rst:495 msgid "" "Keyed hashing can be used for authentication as a faster and simpler " "replacement for `Hash-based message authentication code `_)" @@ -843,7 +862,7 @@ msgstr "" "(`NIST SP-800-106 \"Randomized Hashing for Digital Signatures\" `_)" -#: ../Doc/library/hashlib.rst:568 +#: ../Doc/library/hashlib.rst:579 msgid "" "In BLAKE2 the salt is processed as a one-time input to the hash function " "during initialization, rather than as an input to each compression function." @@ -852,7 +871,7 @@ msgstr "" "durante la inicialización, en lugar de como una entrada para cada función de " "compresión." -#: ../Doc/library/hashlib.rst:573 +#: ../Doc/library/hashlib.rst:584 msgid "" "*Salted hashing* (or just hashing) with BLAKE2 or any other general-purpose " "cryptographic hash function, such as SHA-256, is not suitable for hashing " @@ -863,11 +882,11 @@ msgstr "" "cifrar contraseñas. Ver `BLAKE2 FAQ `_ para más " "información." -#: ../Doc/library/hashlib.rst:596 +#: ../Doc/library/hashlib.rst:607 msgid "Personalization" msgstr "Personalización" -#: ../Doc/library/hashlib.rst:598 +#: ../Doc/library/hashlib.rst:609 msgid "" "Sometimes it is useful to force hash function to produce different digests " "for the same input for different purposes. Quoting the authors of the Skein " @@ -877,7 +896,7 @@ msgstr "" "para la misma entrada para diferentes propósitos. Citando a los autores de " "la función hash Skein:" -#: ../Doc/library/hashlib.rst:602 +#: ../Doc/library/hashlib.rst:613 msgid "" "We recommend that all application designers seriously consider doing this; " "we have seen many protocols where a hash that is computed in one part of the " @@ -894,7 +913,7 @@ msgstr "" "entradas hash iguales. Personalizar cada función hash usada en el protocolo " "resumidamente detiene este tipo de ataque." -#: ../Doc/library/hashlib.rst:609 +#: ../Doc/library/hashlib.rst:620 msgid "" "(`The Skein Hash Function Family `_, p. 21)" @@ -902,11 +921,11 @@ msgstr "" "(`The Skein Hash Function Family `_, p. 21)" -#: ../Doc/library/hashlib.rst:613 +#: ../Doc/library/hashlib.rst:624 msgid "BLAKE2 can be personalized by passing bytes to the *person* argument::" msgstr "BLAKE2 puede ser personalizado pasando bytes al argumento *person*::" -#: ../Doc/library/hashlib.rst:627 +#: ../Doc/library/hashlib.rst:638 msgid "" "Personalization together with the keyed mode can also be used to derive " "different keys from a single one." @@ -914,15 +933,15 @@ msgstr "" "Se puede usar también personalización en conjunto con el modo de clave para " "derivar diferentes claves desde una sola." -#: ../Doc/library/hashlib.rst:641 +#: ../Doc/library/hashlib.rst:652 msgid "Tree mode" msgstr "Modo de árbol" -#: ../Doc/library/hashlib.rst:643 +#: ../Doc/library/hashlib.rst:654 msgid "Here's an example of hashing a minimal tree with two leaf nodes::" msgstr "Aquí hay un ejemplo de cifrar un árbol mínimo con dos nodos de hoja::" -#: ../Doc/library/hashlib.rst:649 +#: ../Doc/library/hashlib.rst:660 msgid "" "This example uses 64-byte internal digests, and returns the 32-byte final " "digest::" @@ -930,11 +949,11 @@ msgstr "" "Este ejemplo usa resúmenes internos de 64 bytes, y retorna el resumen final " "de 32 bytes::" -#: ../Doc/library/hashlib.rst:679 +#: ../Doc/library/hashlib.rst:690 msgid "Credits" msgstr "Créditos" -#: ../Doc/library/hashlib.rst:681 +#: ../Doc/library/hashlib.rst:692 msgid "" "BLAKE2_ was designed by *Jean-Philippe Aumasson*, *Samuel Neves*, *Zooko " "Wilcox-O'Hearn*, and *Christian Winnerlein* based on SHA-3_ finalist BLAKE_ " @@ -946,7 +965,7 @@ msgstr "" "BLAKE_ creado por *Jean-Philippe Aumasson*, *Luca Henzen*, *Willi Meier* y " "*Raphael C.-W. Phan*." -#: ../Doc/library/hashlib.rst:686 +#: ../Doc/library/hashlib.rst:697 msgid "" "It uses core algorithm from ChaCha_ cipher designed by *Daniel J. " "Bernstein*." @@ -954,7 +973,7 @@ msgstr "" "Usa el algoritmo núcleo del cifrado ChaCha_ diseñado por *Daniel J. " "Bernstein*." -#: ../Doc/library/hashlib.rst:688 +#: ../Doc/library/hashlib.rst:699 msgid "" "The stdlib implementation is based on pyblake2_ module. It was written by " "*Dmitry Chestnykh* based on C implementation written by *Samuel Neves*. The " @@ -965,12 +984,12 @@ msgstr "" "La documentación fue copiada desde pyblake2_ y escrita por *Dmitry " "Chestnykh*." -#: ../Doc/library/hashlib.rst:692 +#: ../Doc/library/hashlib.rst:703 msgid "The C code was partly rewritten for Python by *Christian Heimes*." msgstr "" "El código C fue parcialmente reescrito para Python por *Christian Heimes*." -#: ../Doc/library/hashlib.rst:694 +#: ../Doc/library/hashlib.rst:705 msgid "" "The following public domain dedication applies for both C hash function " "implementation, extension code, and this documentation:" @@ -979,7 +998,7 @@ msgstr "" "implementación de la función hash C, el código de extensión y su " "documentación:" -#: ../Doc/library/hashlib.rst:697 +#: ../Doc/library/hashlib.rst:708 msgid "" "To the extent possible under law, the author(s) have dedicated all copyright " "and related and neighboring rights to this software to the public domain " @@ -989,7 +1008,7 @@ msgstr "" "los derechos de autor y los derechos relacionados y vecinos de este software " "al dominio público mundial. Este software se distribuye sin ninguna garantía." -#: ../Doc/library/hashlib.rst:701 +#: ../Doc/library/hashlib.rst:712 msgid "" "You should have received a copy of the CC0 Public Domain Dedication along " "with this software. If not, see https://creativecommons.org/publicdomain/" @@ -999,7 +1018,7 @@ msgstr "" "junto a este software. Si no, consulta https://creativecommons.org/" "publicdomain/zero/1.0/." -#: ../Doc/library/hashlib.rst:705 +#: ../Doc/library/hashlib.rst:716 msgid "" "The following people have helped with development or contributed their " "changes to the project and the public domain according to the Creative " @@ -1009,36 +1028,36 @@ msgstr "" "sus cambios al proyecto y el dominio público de acuerdo a Creative Commons " "Public Domain Dedication 1.0 Universal:" -#: ../Doc/library/hashlib.rst:709 +#: ../Doc/library/hashlib.rst:720 msgid "*Alexandr Sokolovskiy*" msgstr "*Alexandr Sokolovskiy*" -#: ../Doc/library/hashlib.rst:723 +#: ../Doc/library/hashlib.rst:734 msgid "Module :mod:`hmac`" msgstr "Módulo :mod:`hmac`" -#: ../Doc/library/hashlib.rst:723 +#: ../Doc/library/hashlib.rst:734 msgid "A module to generate message authentication codes using hashes." msgstr "" "Un módulo para generar mensajes de códigos de autentificación usando hashes." -#: ../Doc/library/hashlib.rst:726 +#: ../Doc/library/hashlib.rst:737 msgid "Module :mod:`base64`" msgstr "Módulo :mod:`base64`" -#: ../Doc/library/hashlib.rst:726 +#: ../Doc/library/hashlib.rst:737 msgid "Another way to encode binary hashes for non-binary environments." msgstr "Otra forma de codificar hashes binarios para entornos no binarios." -#: ../Doc/library/hashlib.rst:729 +#: ../Doc/library/hashlib.rst:740 msgid "https://blake2.net" msgstr "https://blake2.net" -#: ../Doc/library/hashlib.rst:729 +#: ../Doc/library/hashlib.rst:740 msgid "Official BLAKE2 website." msgstr "Sitio web oficial de BLAKE2." -#: ../Doc/library/hashlib.rst:732 +#: ../Doc/library/hashlib.rst:743 msgid "" "https://csrc.nist.gov/csrc/media/publications/fips/180/2/archive/2002-08-01/" "documents/fips180-2.pdf" @@ -1046,11 +1065,11 @@ msgstr "" "https://csrc.nist.gov/csrc/media/publications/fips/180/2/archive/2002-08-01/" "documents/fips180-2.pdf" -#: ../Doc/library/hashlib.rst:732 +#: ../Doc/library/hashlib.rst:743 msgid "The FIPS 180-2 publication on Secure Hash Algorithms." msgstr "La publicación FIPS 180-2 sobre Algoritmos de Cifrado Seguros." -#: ../Doc/library/hashlib.rst:736 +#: ../Doc/library/hashlib.rst:747 msgid "" "https://en.wikipedia.org/wiki/" "Cryptographic_hash_function#Cryptographic_hash_algorithms" @@ -1058,7 +1077,7 @@ msgstr "" "https://en.wikipedia.org/wiki/" "Cryptographic_hash_function#Cryptographic_hash_algorithms" -#: ../Doc/library/hashlib.rst:735 +#: ../Doc/library/hashlib.rst:746 msgid "" "Wikipedia article with information on which algorithms have known issues and " "what that means regarding their use." @@ -1066,10 +1085,10 @@ msgstr "" "Artículo de Wikipedia con información sobre cuáles algoritmos tienen errores " "conocidos y lo que eso significa con respecto a su uso." -#: ../Doc/library/hashlib.rst:738 +#: ../Doc/library/hashlib.rst:749 msgid "https://www.ietf.org/rfc/rfc2898.txt" msgstr "https://www.ietf.org/rfc/rfc2898.txt" -#: ../Doc/library/hashlib.rst:739 +#: ../Doc/library/hashlib.rst:750 msgid "PKCS #5: Password-Based Cryptography Specification Version 2.0" msgstr "PKCS #5: Password-Based Cryptography Specification Version 2.0" diff --git a/library/hmac.po b/library/hmac.po index 9c2382b388..30ca587c7c 100644 --- a/library/hmac.po +++ b/library/hmac.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2021-01-29 17:45-0300\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Last-Translator: \n" -"X-Generator: Poedit 2.4.2\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Language: es\n" #: ../Doc/library/hmac.rst:2 msgid ":mod:`hmac` --- Keyed-Hashing for Message Authentication" @@ -188,11 +187,18 @@ msgstr "" "El nombre canónico de este HMAC, siempre en minúsculas, por ejemplo ``hmac-" "md5``." -#: ../Doc/library/hmac.rst:117 +#: ../Doc/library/hmac.rst:119 +msgid "" +"The undocumented attributes ``HMAC.digest_cons``, ``HMAC.inner``, and ``HMAC." +"outer`` are internal implementation details and will be removed in Python " +"3.10." +msgstr "" + +#: ../Doc/library/hmac.rst:123 msgid "This module also provides the following helper function:" msgstr "Este módulo también provee las siguiente funciones auxiliares:" -#: ../Doc/library/hmac.rst:121 +#: ../Doc/library/hmac.rst:127 msgid "" "Return ``a == b``. This function uses an approach designed to prevent " "timing analysis by avoiding content-based short circuiting behaviour, making " @@ -207,7 +213,7 @@ msgstr "" "retornado por :meth:`HMAC.hexdigest`), o un :term:`objeto tipo binario " "`." -#: ../Doc/library/hmac.rst:129 +#: ../Doc/library/hmac.rst:135 msgid "" "If *a* and *b* are of different lengths, or if an error occurs, a timing " "attack could theoretically reveal information about the types and lengths of " @@ -217,10 +223,15 @@ msgstr "" "temporización teóricamente podría revelar información sobre los tipos y " "longitudes de *a* y *b*—pero no sus valores." -#: ../Doc/library/hmac.rst:138 +#: ../Doc/library/hmac.rst:143 +msgid "" +"The function uses OpenSSL's ``CRYPTO_memcmp()`` internally when available." +msgstr "" + +#: ../Doc/library/hmac.rst:149 msgid "Module :mod:`hashlib`" msgstr "Módulo :mod:`hashlib`" -#: ../Doc/library/hmac.rst:139 +#: ../Doc/library/hmac.rst:150 msgid "The Python module providing secure hash functions." msgstr "El módulo de Python que provee funciones de *hash* seguras." diff --git a/library/http.client.po b/library/http.client.po index 5b00c31413..83eb9b6bdb 100644 --- a/library/http.client.po +++ b/library/http.client.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-07-07 10:14-0300\n" +"Last-Translator: \n" +"Language: es_AR\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es_AR\n" -"X-Generator: Poedit 2.2.1\n" #: ../Doc/library/http.client.rst:2 msgid ":mod:`http.client` --- HTTP protocol client" @@ -722,14 +721,26 @@ msgstr "" "para HTTP/1.1." #: ../Doc/library/http.client.rst:489 +msgid "" +"URL of the resource retrieved, commonly used to determine if a redirect was " +"followed." +msgstr "" + +#: ../Doc/library/http.client.rst:493 +msgid "" +"Headers of the response in the form of an :class:`email.message." +"EmailMessage` instance." +msgstr "" + +#: ../Doc/library/http.client.rst:497 msgid "Status code returned by server." msgstr "Código del estado retornado por el servidor." -#: ../Doc/library/http.client.rst:493 +#: ../Doc/library/http.client.rst:501 msgid "Reason phrase returned by server." msgstr "Una frase de la razón es retornada por el servidor." -#: ../Doc/library/http.client.rst:497 +#: ../Doc/library/http.client.rst:505 msgid "" "A debugging hook. If :attr:`debuglevel` is greater than zero, messages will " "be printed to stdout as the response is read and parsed." @@ -737,19 +748,31 @@ msgstr "" "Un depurador. Si :attr:`debuglevel` es mayor que cero, los mensajes se " "imprimirán en ``stdout`` a medida que se lee y analiza la respuesta." -#: ../Doc/library/http.client.rst:502 +#: ../Doc/library/http.client.rst:510 msgid "Is ``True`` if the stream is closed." msgstr "Es ``True`` si la transmisión está cerrada." -#: ../Doc/library/http.client.rst:505 +#: ../Doc/library/http.client.rst:514 +msgid "Deprecated in favor of :attr:`~HTTPResponse.url`." +msgstr "" + +#: ../Doc/library/http.client.rst:519 +msgid "Deprecated in favor of :attr:`~HTTPResponse.headers`." +msgstr "" + +#: ../Doc/library/http.client.rst:524 +msgid "Deprecated in favor of :attr:`~HTTPResponse.status`." +msgstr "" + +#: ../Doc/library/http.client.rst:528 msgid "Examples" msgstr "Ejemplos" -#: ../Doc/library/http.client.rst:507 +#: ../Doc/library/http.client.rst:530 msgid "Here is an example session that uses the ``GET`` method::" msgstr "Aquí hay una sesión de ejemplo que usa el método ``GET`` *method*::" -#: ../Doc/library/http.client.rst:532 +#: ../Doc/library/http.client.rst:555 msgid "" "Here is an example session that uses the ``HEAD`` method. Note that the " "``HEAD`` method never returns any data. ::" @@ -757,11 +780,11 @@ msgstr "" "Aquí hay una sesión de ejemplo que usa el método ``HEAD``. Tenga en cuenta " "que el método ``HEAD`` nunca retorna ningún dato. ::" -#: ../Doc/library/http.client.rst:547 +#: ../Doc/library/http.client.rst:570 msgid "Here is an example session that shows how to ``POST`` requests::" msgstr "Aquí hay una sesión de ejemplo que muestra cómo solicitar ``POST``::" -#: ../Doc/library/http.client.rst:563 +#: ../Doc/library/http.client.rst:586 msgid "" "Client side ``HTTP PUT`` requests are very similar to ``POST`` requests. The " "difference lies only the server side where HTTP server will allow resources " @@ -778,11 +801,11 @@ msgstr "" "método apropiado. Aquí hay una sesión de ejemplo que muestra cómo enviar una " "solicitud ``PUT`` utilizando http.client::" -#: ../Doc/library/http.client.rst:585 +#: ../Doc/library/http.client.rst:608 msgid "HTTPMessage Objects" msgstr "Objetos de ``HTTPMessage``" -#: ../Doc/library/http.client.rst:587 +#: ../Doc/library/http.client.rst:610 msgid "" "An :class:`http.client.HTTPMessage` instance holds the headers from an HTTP " "response. It is implemented using the :class:`email.message.Message` class." diff --git a/library/http.po b/library/http.po index 6dde2c3f8d..7768d17fcb 100644 --- a/library/http.po +++ b/library/http.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-09-08 10:00+0200\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"X-Generator: Poedit 2.4.1\n" -"Last-Translator: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Language: es\n" #: ../Doc/library/http.rst:2 msgid ":mod:`http` --- HTTP modules" @@ -150,619 +149,659 @@ msgid "WebDAV :rfc:`2518`, Section 10.1" msgstr "WebDAV :rfc:`2518`, Sección 10.1" #: ../Doc/library/http.rst:65 +#, fuzzy +msgid "``103``" +msgstr "``510``" + +#: ../Doc/library/http.rst:65 +msgid "``EARLY_HINTS``" +msgstr "" + +#: ../Doc/library/http.rst:65 +msgid "An HTTP Status Code for Indicating Hints :rfc:`8297`" +msgstr "" + +#: ../Doc/library/http.rst:66 msgid "``200``" msgstr "``200``" -#: ../Doc/library/http.rst:65 +#: ../Doc/library/http.rst:66 msgid "``OK``" msgstr "``OK``" -#: ../Doc/library/http.rst:65 +#: ../Doc/library/http.rst:66 msgid "HTTP/1.1 :rfc:`7231`, Section 6.3.1" msgstr "HTTP/1.1 :rfc:`7231`, Sección 6.3.1" -#: ../Doc/library/http.rst:66 +#: ../Doc/library/http.rst:67 msgid "``201``" msgstr "``201``" -#: ../Doc/library/http.rst:66 +#: ../Doc/library/http.rst:67 msgid "``CREATED``" msgstr "``CREATED``" -#: ../Doc/library/http.rst:66 +#: ../Doc/library/http.rst:67 msgid "HTTP/1.1 :rfc:`7231`, Section 6.3.2" msgstr "HTTP/1.1 :rfc:`7231`, Sección 6.3.2" -#: ../Doc/library/http.rst:67 +#: ../Doc/library/http.rst:68 msgid "``202``" msgstr "``202``" -#: ../Doc/library/http.rst:67 +#: ../Doc/library/http.rst:68 msgid "``ACCEPTED``" msgstr "``ACCEPTED``" -#: ../Doc/library/http.rst:67 +#: ../Doc/library/http.rst:68 msgid "HTTP/1.1 :rfc:`7231`, Section 6.3.3" msgstr "HTTP/1.1 :rfc:`7231`, Sección 6.3.3" -#: ../Doc/library/http.rst:68 +#: ../Doc/library/http.rst:69 msgid "``203``" msgstr "``203``" -#: ../Doc/library/http.rst:68 +#: ../Doc/library/http.rst:69 msgid "``NON_AUTHORITATIVE_INFORMATION``" msgstr "``NON_AUTHORITATIVE_INFORMATION``" -#: ../Doc/library/http.rst:68 +#: ../Doc/library/http.rst:69 msgid "HTTP/1.1 :rfc:`7231`, Section 6.3.4" msgstr "HTTP/1.1 :rfc:`7231`, Sección 6.3.4" -#: ../Doc/library/http.rst:69 +#: ../Doc/library/http.rst:70 msgid "``204``" msgstr "``204``" -#: ../Doc/library/http.rst:69 +#: ../Doc/library/http.rst:70 msgid "``NO_CONTENT``" msgstr "``NO_CONTENT``" -#: ../Doc/library/http.rst:69 +#: ../Doc/library/http.rst:70 msgid "HTTP/1.1 :rfc:`7231`, Section 6.3.5" msgstr "HTTP/1.1 :rfc:`7231`, Sección 6.3.5" -#: ../Doc/library/http.rst:70 +#: ../Doc/library/http.rst:71 msgid "``205``" msgstr "``205``" -#: ../Doc/library/http.rst:70 +#: ../Doc/library/http.rst:71 msgid "``RESET_CONTENT``" msgstr "``RESET_CONTENT``" -#: ../Doc/library/http.rst:70 +#: ../Doc/library/http.rst:71 msgid "HTTP/1.1 :rfc:`7231`, Section 6.3.6" msgstr "HTTP/1.1 :rfc:`7231`, Sección 6.3.6" -#: ../Doc/library/http.rst:71 +#: ../Doc/library/http.rst:72 msgid "``206``" msgstr "``206``" -#: ../Doc/library/http.rst:71 +#: ../Doc/library/http.rst:72 msgid "``PARTIAL_CONTENT``" msgstr "``PARTIAL_CONTENT``" -#: ../Doc/library/http.rst:71 +#: ../Doc/library/http.rst:72 msgid "HTTP/1.1 :rfc:`7233`, Section 4.1" msgstr "HTTP/1.1 :rfc:`7233`, Sección 4.1" -#: ../Doc/library/http.rst:72 +#: ../Doc/library/http.rst:73 msgid "``207``" msgstr "``207``" -#: ../Doc/library/http.rst:72 +#: ../Doc/library/http.rst:73 msgid "``MULTI_STATUS``" msgstr "``MULTI_STATUS``" -#: ../Doc/library/http.rst:72 +#: ../Doc/library/http.rst:73 msgid "WebDAV :rfc:`4918`, Section 11.1" msgstr "WebDAV :rfc:`4918`, Sección 11.1" -#: ../Doc/library/http.rst:73 +#: ../Doc/library/http.rst:74 msgid "``208``" msgstr "``208``" -#: ../Doc/library/http.rst:73 +#: ../Doc/library/http.rst:74 msgid "``ALREADY_REPORTED``" msgstr "``ALREADY_REPORTED``" -#: ../Doc/library/http.rst:73 +#: ../Doc/library/http.rst:74 msgid "WebDAV Binding Extensions :rfc:`5842`, Section 7.1 (Experimental)" msgstr "Extensiones de enlace a WebDAV :rfc:`5842`, Sección 7.1 (Experimental)" -#: ../Doc/library/http.rst:74 +#: ../Doc/library/http.rst:75 msgid "``226``" msgstr "``226``" -#: ../Doc/library/http.rst:74 +#: ../Doc/library/http.rst:75 msgid "``IM_USED``" msgstr "``IM_USED``" -#: ../Doc/library/http.rst:74 +#: ../Doc/library/http.rst:75 msgid "Delta Encoding in HTTP :rfc:`3229`, Section 10.4.1" msgstr "Codificación delta en HTTP :rfc:`3229`, Sección 10.4.1" -#: ../Doc/library/http.rst:75 +#: ../Doc/library/http.rst:76 msgid "``300``" msgstr "``300``" -#: ../Doc/library/http.rst:75 +#: ../Doc/library/http.rst:76 msgid "``MULTIPLE_CHOICES``" msgstr "``MULTIPLE_CHOICES``" -#: ../Doc/library/http.rst:75 +#: ../Doc/library/http.rst:76 msgid "HTTP/1.1 :rfc:`7231`, Section 6.4.1" msgstr "HTTP/1.1 :rfc:`7231`, Sección 6.4.1" -#: ../Doc/library/http.rst:76 +#: ../Doc/library/http.rst:77 msgid "``301``" msgstr "``301``" -#: ../Doc/library/http.rst:76 +#: ../Doc/library/http.rst:77 msgid "``MOVED_PERMANENTLY``" msgstr "``MOVED_PERMANENTLY``" -#: ../Doc/library/http.rst:76 +#: ../Doc/library/http.rst:77 msgid "HTTP/1.1 :rfc:`7231`, Section 6.4.2" msgstr "HTTP/1.1 :rfc:`7231`, Sección 6.4.2" -#: ../Doc/library/http.rst:77 +#: ../Doc/library/http.rst:78 msgid "``302``" msgstr "``302``" -#: ../Doc/library/http.rst:77 +#: ../Doc/library/http.rst:78 msgid "``FOUND``" msgstr "``FOUND``" -#: ../Doc/library/http.rst:77 +#: ../Doc/library/http.rst:78 msgid "HTTP/1.1 :rfc:`7231`, Section 6.4.3" msgstr "HTTP/1.1 :rfc:`7231`, Sección 6.4.3" -#: ../Doc/library/http.rst:78 +#: ../Doc/library/http.rst:79 msgid "``303``" msgstr "``303``" -#: ../Doc/library/http.rst:78 +#: ../Doc/library/http.rst:79 msgid "``SEE_OTHER``" msgstr "``SEE_OTHER``" -#: ../Doc/library/http.rst:78 +#: ../Doc/library/http.rst:79 msgid "HTTP/1.1 :rfc:`7231`, Section 6.4.4" msgstr "HTTP/1.1 :rfc:`7231`, Sección 6.4.4" -#: ../Doc/library/http.rst:79 +#: ../Doc/library/http.rst:80 msgid "``304``" msgstr "``304``" -#: ../Doc/library/http.rst:79 +#: ../Doc/library/http.rst:80 msgid "``NOT_MODIFIED``" msgstr "``NOT_MODIFIED``" -#: ../Doc/library/http.rst:79 +#: ../Doc/library/http.rst:80 msgid "HTTP/1.1 :rfc:`7232`, Section 4.1" msgstr "HTTP/1.1 :rfc:`7232`, Section 4.1" -#: ../Doc/library/http.rst:80 +#: ../Doc/library/http.rst:81 msgid "``305``" msgstr "``305``" -#: ../Doc/library/http.rst:80 +#: ../Doc/library/http.rst:81 msgid "``USE_PROXY``" msgstr "``USE_PROXY``" -#: ../Doc/library/http.rst:80 +#: ../Doc/library/http.rst:81 msgid "HTTP/1.1 :rfc:`7231`, Section 6.4.5" msgstr "HTTP/1.1 :rfc:`7231`, Sección 6.4.5" -#: ../Doc/library/http.rst:81 +#: ../Doc/library/http.rst:82 msgid "``307``" msgstr "``307``" -#: ../Doc/library/http.rst:81 +#: ../Doc/library/http.rst:82 msgid "``TEMPORARY_REDIRECT``" msgstr "``TEMPORARY_REDIRECT``" -#: ../Doc/library/http.rst:81 +#: ../Doc/library/http.rst:82 msgid "HTTP/1.1 :rfc:`7231`, Section 6.4.7" msgstr "HTTP/1.1 :rfc:`7231`, Section 6.4.7" -#: ../Doc/library/http.rst:82 +#: ../Doc/library/http.rst:83 msgid "``308``" msgstr "``308``" -#: ../Doc/library/http.rst:82 +#: ../Doc/library/http.rst:83 msgid "``PERMANENT_REDIRECT``" msgstr "``PERMANENT_REDIRECT``" -#: ../Doc/library/http.rst:82 +#: ../Doc/library/http.rst:83 msgid "Permanent Redirect :rfc:`7238`, Section 3 (Experimental)" msgstr "Redirección permanente :rfc:`7238`, Sección 3 (Experimental)" -#: ../Doc/library/http.rst:83 +#: ../Doc/library/http.rst:84 msgid "``400``" msgstr "``400``" -#: ../Doc/library/http.rst:83 +#: ../Doc/library/http.rst:84 msgid "``BAD_REQUEST``" msgstr "``BAD_REQUEST``" -#: ../Doc/library/http.rst:83 +#: ../Doc/library/http.rst:84 msgid "HTTP/1.1 :rfc:`7231`, Section 6.5.1" msgstr "HTTP/1.1 :rfc:`7231`, Sección 6.5.1" -#: ../Doc/library/http.rst:84 +#: ../Doc/library/http.rst:85 msgid "``401``" msgstr "``401``" -#: ../Doc/library/http.rst:84 +#: ../Doc/library/http.rst:85 msgid "``UNAUTHORIZED``" msgstr "``UNAUTHORIZED``" -#: ../Doc/library/http.rst:84 +#: ../Doc/library/http.rst:85 msgid "HTTP/1.1 Authentication :rfc:`7235`, Section 3.1" msgstr "Autentificación HTTP/1.1 :rfc:`7235`, Sección 3.1" -#: ../Doc/library/http.rst:85 +#: ../Doc/library/http.rst:86 msgid "``402``" msgstr "``402``" -#: ../Doc/library/http.rst:85 +#: ../Doc/library/http.rst:86 msgid "``PAYMENT_REQUIRED``" msgstr "``PAYMENT_REQUIRED``" -#: ../Doc/library/http.rst:85 +#: ../Doc/library/http.rst:86 msgid "HTTP/1.1 :rfc:`7231`, Section 6.5.2" msgstr "HTTP/1.1 :rfc:`7231`, Sección 6.5.2" -#: ../Doc/library/http.rst:86 +#: ../Doc/library/http.rst:87 msgid "``403``" msgstr "``403``" -#: ../Doc/library/http.rst:86 +#: ../Doc/library/http.rst:87 msgid "``FORBIDDEN``" msgstr "``FORBIDDEN``" -#: ../Doc/library/http.rst:86 +#: ../Doc/library/http.rst:87 msgid "HTTP/1.1 :rfc:`7231`, Section 6.5.3" msgstr "HTTP/1.1 :rfc:`7231`, Sección 6.5.3" -#: ../Doc/library/http.rst:87 +#: ../Doc/library/http.rst:88 msgid "``404``" msgstr "``404``" -#: ../Doc/library/http.rst:87 +#: ../Doc/library/http.rst:88 msgid "``NOT_FOUND``" msgstr "``NOT_FOUND``" -#: ../Doc/library/http.rst:87 +#: ../Doc/library/http.rst:88 msgid "HTTP/1.1 :rfc:`7231`, Section 6.5.4" msgstr "HTTP/1.1 :rfc:`7231`, Sección 6.5.4" -#: ../Doc/library/http.rst:88 +#: ../Doc/library/http.rst:89 msgid "``405``" msgstr "``405``" -#: ../Doc/library/http.rst:88 +#: ../Doc/library/http.rst:89 msgid "``METHOD_NOT_ALLOWED``" msgstr "``METHOD_NOT_ALLOWED``" -#: ../Doc/library/http.rst:88 +#: ../Doc/library/http.rst:89 msgid "HTTP/1.1 :rfc:`7231`, Section 6.5.5" msgstr "HTTP/1.1 :rfc:`7231`, Sección 6.5.5" -#: ../Doc/library/http.rst:89 +#: ../Doc/library/http.rst:90 msgid "``406``" msgstr "``406``" -#: ../Doc/library/http.rst:89 +#: ../Doc/library/http.rst:90 msgid "``NOT_ACCEPTABLE``" msgstr "``NOT_ACCEPTABLE``" -#: ../Doc/library/http.rst:89 +#: ../Doc/library/http.rst:90 msgid "HTTP/1.1 :rfc:`7231`, Section 6.5.6" msgstr "HTTP/1.1 :rfc:`7231`, Sección 6.5.6" -#: ../Doc/library/http.rst:90 +#: ../Doc/library/http.rst:91 msgid "``407``" msgstr "``407``" -#: ../Doc/library/http.rst:90 +#: ../Doc/library/http.rst:91 msgid "``PROXY_AUTHENTICATION_REQUIRED``" msgstr "``PROXY_AUTHENTICATION_REQUIRED``" -#: ../Doc/library/http.rst:90 +#: ../Doc/library/http.rst:91 msgid "HTTP/1.1 Authentication :rfc:`7235`, Section 3.2" msgstr "Autenticación HTTP/1.1 :rfc:`7235`, Sección 3.2" -#: ../Doc/library/http.rst:91 +#: ../Doc/library/http.rst:92 msgid "``408``" msgstr "``408``" -#: ../Doc/library/http.rst:91 +#: ../Doc/library/http.rst:92 msgid "``REQUEST_TIMEOUT``" msgstr "``REQUEST_TIMEOUT``" -#: ../Doc/library/http.rst:91 +#: ../Doc/library/http.rst:92 msgid "HTTP/1.1 :rfc:`7231`, Section 6.5.7" msgstr "HTTP/1.1 :rfc:`7231`, Sección 6.5.7" -#: ../Doc/library/http.rst:92 +#: ../Doc/library/http.rst:93 msgid "``409``" msgstr "``409``" -#: ../Doc/library/http.rst:92 +#: ../Doc/library/http.rst:93 msgid "``CONFLICT``" msgstr "``CONFLICT``" -#: ../Doc/library/http.rst:92 +#: ../Doc/library/http.rst:93 msgid "HTTP/1.1 :rfc:`7231`, Section 6.5.8" msgstr "HTTP/1.1 :rfc:`7231`, Sección 6.5.8" -#: ../Doc/library/http.rst:93 +#: ../Doc/library/http.rst:94 msgid "``410``" msgstr "``410``" -#: ../Doc/library/http.rst:93 +#: ../Doc/library/http.rst:94 msgid "``GONE``" msgstr "``GONE``" -#: ../Doc/library/http.rst:93 +#: ../Doc/library/http.rst:94 msgid "HTTP/1.1 :rfc:`7231`, Section 6.5.9" msgstr "HTTP/1.1 :rfc:`7231`, Sección 6.5.9" -#: ../Doc/library/http.rst:94 +#: ../Doc/library/http.rst:95 msgid "``411``" msgstr "``411``" -#: ../Doc/library/http.rst:94 +#: ../Doc/library/http.rst:95 msgid "``LENGTH_REQUIRED``" msgstr "``LENGTH_REQUIRED``" -#: ../Doc/library/http.rst:94 +#: ../Doc/library/http.rst:95 msgid "HTTP/1.1 :rfc:`7231`, Section 6.5.10" msgstr "HTTP/1.1 :rfc:`7231`, Sección 6.5.10" -#: ../Doc/library/http.rst:95 +#: ../Doc/library/http.rst:96 msgid "``412``" msgstr "``412``" -#: ../Doc/library/http.rst:95 +#: ../Doc/library/http.rst:96 msgid "``PRECONDITION_FAILED``" msgstr "``PRECONDITION_FAILED``" -#: ../Doc/library/http.rst:95 +#: ../Doc/library/http.rst:96 msgid "HTTP/1.1 :rfc:`7232`, Section 4.2" msgstr "HTTP/1.1 :rfc:`7232`, Sección 4.2" -#: ../Doc/library/http.rst:96 +#: ../Doc/library/http.rst:97 msgid "``413``" msgstr "``413``" -#: ../Doc/library/http.rst:96 +#: ../Doc/library/http.rst:97 msgid "``REQUEST_ENTITY_TOO_LARGE``" msgstr "``REQUEST_ENTITY_TOO_LARGE``" -#: ../Doc/library/http.rst:96 +#: ../Doc/library/http.rst:97 msgid "HTTP/1.1 :rfc:`7231`, Section 6.5.11" msgstr "HTTP/1.1 :rfc:`7231`, Sección 6.5.11" -#: ../Doc/library/http.rst:97 +#: ../Doc/library/http.rst:98 msgid "``414``" msgstr "``414``" -#: ../Doc/library/http.rst:97 +#: ../Doc/library/http.rst:98 msgid "``REQUEST_URI_TOO_LONG``" msgstr "``REQUEST_URI_TOO_LONG``" -#: ../Doc/library/http.rst:97 +#: ../Doc/library/http.rst:98 msgid "HTTP/1.1 :rfc:`7231`, Section 6.5.12" msgstr "HTTP/1.1 :rfc:`7231`, Sección 6.5.12" -#: ../Doc/library/http.rst:98 +#: ../Doc/library/http.rst:99 msgid "``415``" msgstr "``415``" -#: ../Doc/library/http.rst:98 +#: ../Doc/library/http.rst:99 msgid "``UNSUPPORTED_MEDIA_TYPE``" msgstr "``UNSUPPORTED_MEDIA_TYPE``" -#: ../Doc/library/http.rst:98 +#: ../Doc/library/http.rst:99 msgid "HTTP/1.1 :rfc:`7231`, Section 6.5.13" msgstr "HTTP/1.1 :rfc:`7231`, Sección 6.5.13" -#: ../Doc/library/http.rst:99 +#: ../Doc/library/http.rst:100 msgid "``416``" msgstr "``416``" -#: ../Doc/library/http.rst:99 +#: ../Doc/library/http.rst:100 msgid "``REQUESTED_RANGE_NOT_SATISFIABLE``" msgstr "``REQUESTED_RANGE_NOT_SATISFIABLE``" -#: ../Doc/library/http.rst:99 +#: ../Doc/library/http.rst:100 msgid "HTTP/1.1 Range Requests :rfc:`7233`, Section 4.4" msgstr "Rango de solicitudes HTTP/1.1 :rfc:`7233`, Sección 4.4" -#: ../Doc/library/http.rst:100 +#: ../Doc/library/http.rst:101 msgid "``417``" msgstr "``417``" -#: ../Doc/library/http.rst:100 +#: ../Doc/library/http.rst:101 msgid "``EXPECTATION_FAILED``" msgstr "``EXPECTATION_FAILED``" -#: ../Doc/library/http.rst:100 +#: ../Doc/library/http.rst:101 msgid "HTTP/1.1 :rfc:`7231`, Section 6.5.14" msgstr "HTTP/1.1 :rfc:`7231`, Sección 6.5.14" -#: ../Doc/library/http.rst:101 +#: ../Doc/library/http.rst:102 +#, fuzzy +msgid "``418``" +msgstr "``451``" + +#: ../Doc/library/http.rst:102 +msgid "``IM_A_TEAPOT``" +msgstr "" + +#: ../Doc/library/http.rst:102 +#, fuzzy +msgid "HTCPCP/1.0 :rfc:`2324`, Section 2.3.2" +msgstr "HTTP/1.1 :rfc:`7231`, Sección 6.3.2" + +#: ../Doc/library/http.rst:103 msgid "``421``" msgstr "``421``" -#: ../Doc/library/http.rst:101 +#: ../Doc/library/http.rst:103 msgid "``MISDIRECTED_REQUEST``" msgstr "``MISDIRECTED_REQUEST``" -#: ../Doc/library/http.rst:101 +#: ../Doc/library/http.rst:103 msgid "HTTP/2 :rfc:`7540`, Section 9.1.2" msgstr "HTTP/2 :rfc:`7540`, Sección 9.1.2" -#: ../Doc/library/http.rst:102 +#: ../Doc/library/http.rst:104 msgid "``422``" msgstr "``422``" -#: ../Doc/library/http.rst:102 +#: ../Doc/library/http.rst:104 msgid "``UNPROCESSABLE_ENTITY``" msgstr "``UNPROCESSABLE_ENTITY``" -#: ../Doc/library/http.rst:102 +#: ../Doc/library/http.rst:104 msgid "WebDAV :rfc:`4918`, Section 11.2" msgstr "WebDAV :rfc:`4918`, Sección 11.2" -#: ../Doc/library/http.rst:103 +#: ../Doc/library/http.rst:105 msgid "``423``" msgstr "``423``" -#: ../Doc/library/http.rst:103 +#: ../Doc/library/http.rst:105 msgid "``LOCKED``" msgstr "``LOCKED``" -#: ../Doc/library/http.rst:103 +#: ../Doc/library/http.rst:105 msgid "WebDAV :rfc:`4918`, Section 11.3" msgstr "WebDAV :rfc:`4918`, Sección 11.3" -#: ../Doc/library/http.rst:104 +#: ../Doc/library/http.rst:106 msgid "``424``" msgstr "``424``" -#: ../Doc/library/http.rst:104 +#: ../Doc/library/http.rst:106 msgid "``FAILED_DEPENDENCY``" msgstr "``FAILED_DEPENDENCY``" -#: ../Doc/library/http.rst:104 +#: ../Doc/library/http.rst:106 msgid "WebDAV :rfc:`4918`, Section 11.4" msgstr "WebDAV :rfc:`4918`, Sección 11.4" -#: ../Doc/library/http.rst:105 +#: ../Doc/library/http.rst:107 +#, fuzzy +msgid "``425``" +msgstr "``451``" + +#: ../Doc/library/http.rst:107 +msgid "``TOO_EARLY``" +msgstr "" + +#: ../Doc/library/http.rst:107 +msgid "Using Early Data in HTTP :rfc:`8470`" +msgstr "" + +#: ../Doc/library/http.rst:108 msgid "``426``" msgstr "``426``" -#: ../Doc/library/http.rst:105 +#: ../Doc/library/http.rst:108 msgid "``UPGRADE_REQUIRED``" msgstr "``UPGRADE_REQUIRED``" -#: ../Doc/library/http.rst:105 +#: ../Doc/library/http.rst:108 msgid "HTTP/1.1 :rfc:`7231`, Section 6.5.15" msgstr "HTTP/1.1 :rfc:`7231`, Sección 6.5.15" -#: ../Doc/library/http.rst:106 +#: ../Doc/library/http.rst:109 msgid "``428``" msgstr "``428``" -#: ../Doc/library/http.rst:106 +#: ../Doc/library/http.rst:109 msgid "``PRECONDITION_REQUIRED``" msgstr "``PRECONDITION_REQUIRED``" -#: ../Doc/library/http.rst:106 ../Doc/library/http.rst:107 -#: ../Doc/library/http.rst:108 +#: ../Doc/library/http.rst:109 ../Doc/library/http.rst:110 +#: ../Doc/library/http.rst:111 msgid "Additional HTTP Status Codes :rfc:`6585`" msgstr "Códigos de estados HTTP adicionales :rfc:`6585`" -#: ../Doc/library/http.rst:107 +#: ../Doc/library/http.rst:110 msgid "``429``" msgstr "``429``" -#: ../Doc/library/http.rst:107 +#: ../Doc/library/http.rst:110 msgid "``TOO_MANY_REQUESTS``" msgstr "``TOO_MANY_REQUESTS``" -#: ../Doc/library/http.rst:108 +#: ../Doc/library/http.rst:111 msgid "``431``" msgstr "``431``" -#: ../Doc/library/http.rst:108 +#: ../Doc/library/http.rst:111 msgid "``REQUEST_HEADER_FIELDS_TOO_LARGE``" msgstr "``REQUEST_HEADER_FIELDS_TOO_LARGE``" -#: ../Doc/library/http.rst:109 +#: ../Doc/library/http.rst:112 msgid "``451``" msgstr "``451``" -#: ../Doc/library/http.rst:109 +#: ../Doc/library/http.rst:112 msgid "``UNAVAILABLE_FOR_LEGAL_REASONS``" msgstr "``UNAVAILABLE_FOR_LEGAL_REASONS``" -#: ../Doc/library/http.rst:109 +#: ../Doc/library/http.rst:112 msgid "An HTTP Status Code to Report Legal Obstacles :rfc:`7725`" msgstr "Un código de estado HTTP para reportar obstáculos legales :rfc:`7725`" -#: ../Doc/library/http.rst:110 +#: ../Doc/library/http.rst:113 msgid "``500``" msgstr "``500``" -#: ../Doc/library/http.rst:110 +#: ../Doc/library/http.rst:113 msgid "``INTERNAL_SERVER_ERROR``" msgstr "``INTERNAL_SERVER_ERROR``" -#: ../Doc/library/http.rst:110 +#: ../Doc/library/http.rst:113 msgid "HTTP/1.1 :rfc:`7231`, Section 6.6.1" msgstr "HTTP/1.1 :rfc:`7231`, Sección 6.6.1" -#: ../Doc/library/http.rst:111 +#: ../Doc/library/http.rst:114 msgid "``501``" msgstr "``501``" -#: ../Doc/library/http.rst:111 +#: ../Doc/library/http.rst:114 msgid "``NOT_IMPLEMENTED``" msgstr "``NOT_IMPLEMENTED``" -#: ../Doc/library/http.rst:111 +#: ../Doc/library/http.rst:114 msgid "HTTP/1.1 :rfc:`7231`, Section 6.6.2" msgstr "HTTP/1.1 :rfc:`7231`, Sección 6.6.2" -#: ../Doc/library/http.rst:112 +#: ../Doc/library/http.rst:115 msgid "``502``" msgstr "``502``" -#: ../Doc/library/http.rst:112 +#: ../Doc/library/http.rst:115 msgid "``BAD_GATEWAY``" msgstr "``BAD_GATEWAY``" -#: ../Doc/library/http.rst:112 +#: ../Doc/library/http.rst:115 msgid "HTTP/1.1 :rfc:`7231`, Section 6.6.3" msgstr "HTTP/1.1 :rfc:`7231`, Sección 6.6.3" -#: ../Doc/library/http.rst:113 +#: ../Doc/library/http.rst:116 msgid "``503``" msgstr "``503``" -#: ../Doc/library/http.rst:113 +#: ../Doc/library/http.rst:116 msgid "``SERVICE_UNAVAILABLE``" msgstr "``SERVICE_UNAVAILABLE``" -#: ../Doc/library/http.rst:113 +#: ../Doc/library/http.rst:116 msgid "HTTP/1.1 :rfc:`7231`, Section 6.6.4" msgstr "HTTP/1.1 :rfc:`7231`, Sección 6.6.4" -#: ../Doc/library/http.rst:114 +#: ../Doc/library/http.rst:117 msgid "``504``" msgstr "``504``" -#: ../Doc/library/http.rst:114 +#: ../Doc/library/http.rst:117 msgid "``GATEWAY_TIMEOUT``" msgstr "``GATEWAY_TIMEOUT``" -#: ../Doc/library/http.rst:114 +#: ../Doc/library/http.rst:117 msgid "HTTP/1.1 :rfc:`7231`, Section 6.6.5" msgstr "HTTP/1.1 :rfc:`7231`, Sección 6.6.5" -#: ../Doc/library/http.rst:115 +#: ../Doc/library/http.rst:118 msgid "``505``" msgstr "``505``" -#: ../Doc/library/http.rst:115 +#: ../Doc/library/http.rst:118 msgid "``HTTP_VERSION_NOT_SUPPORTED``" msgstr "``HTTP_VERSION_NOT_SUPPORTED``" -#: ../Doc/library/http.rst:115 +#: ../Doc/library/http.rst:118 msgid "HTTP/1.1 :rfc:`7231`, Section 6.6.6" msgstr "HTTP/1.1 :rfc:`7231`, Sección 6.6.6" -#: ../Doc/library/http.rst:116 +#: ../Doc/library/http.rst:119 msgid "``506``" msgstr "``506``" -#: ../Doc/library/http.rst:116 +#: ../Doc/library/http.rst:119 msgid "``VARIANT_ALSO_NEGOTIATES``" msgstr "``VARIANT_ALSO_NEGOTIATES``" -#: ../Doc/library/http.rst:116 +#: ../Doc/library/http.rst:119 msgid "" "Transparent Content Negotiation in HTTP :rfc:`2295`, Section 8.1 " "(Experimental)" @@ -770,55 +809,55 @@ msgstr "" "Negociación transparente de contenido en HTTP :rfc:`2295`, Sección 8.1 " "(Experimental)" -#: ../Doc/library/http.rst:117 +#: ../Doc/library/http.rst:120 msgid "``507``" msgstr "``507``" -#: ../Doc/library/http.rst:117 +#: ../Doc/library/http.rst:120 msgid "``INSUFFICIENT_STORAGE``" msgstr "``INSUFFICIENT_STORAGE``" -#: ../Doc/library/http.rst:117 +#: ../Doc/library/http.rst:120 msgid "WebDAV :rfc:`4918`, Section 11.5" msgstr "WebDAV :rfc:`4918`, Sección 11.5" -#: ../Doc/library/http.rst:118 +#: ../Doc/library/http.rst:121 msgid "``508``" msgstr "``508``" -#: ../Doc/library/http.rst:118 +#: ../Doc/library/http.rst:121 msgid "``LOOP_DETECTED``" msgstr "``LOOP_DETECTED``" -#: ../Doc/library/http.rst:118 +#: ../Doc/library/http.rst:121 msgid "WebDAV Binding Extensions :rfc:`5842`, Section 7.2 (Experimental)" msgstr "Extensiones de unión WebDAV :rfc:`5842`, Sección 7.2 (Experimental)" -#: ../Doc/library/http.rst:119 +#: ../Doc/library/http.rst:122 msgid "``510``" msgstr "``510``" -#: ../Doc/library/http.rst:119 +#: ../Doc/library/http.rst:122 msgid "``NOT_EXTENDED``" msgstr "``NOT_EXTENDED``" -#: ../Doc/library/http.rst:119 +#: ../Doc/library/http.rst:122 msgid "An HTTP Extension Framework :rfc:`2774`, Section 7 (Experimental)" msgstr "Un framework de extensión HTTP :rfc:`2774`, Sección 7 (Experimental)" -#: ../Doc/library/http.rst:120 +#: ../Doc/library/http.rst:123 msgid "``511``" msgstr "``511``" -#: ../Doc/library/http.rst:120 +#: ../Doc/library/http.rst:123 msgid "``NETWORK_AUTHENTICATION_REQUIRED``" msgstr "``NETWORK_AUTHENTICATION_REQUIRED``" -#: ../Doc/library/http.rst:120 +#: ../Doc/library/http.rst:123 msgid "Additional HTTP Status Codes :rfc:`6585`, Section 6" msgstr "Códigos de estados HTTP adicionales :rfc:`6585`, Sección 6" -#: ../Doc/library/http.rst:123 +#: ../Doc/library/http.rst:126 msgid "" "In order to preserve backwards compatibility, enum values are also present " "in the :mod:`http.client` module in the form of constants. The enum name is " @@ -831,10 +870,16 @@ msgstr "" "el nombre de la constante (ej. ``http.HTTPStatus.OK`` se encuentra también " "disponible como ``http.client.OK``)." -#: ../Doc/library/http.rst:128 +#: ../Doc/library/http.rst:131 msgid "Added ``421 MISDIRECTED_REQUEST`` status code." msgstr "Se agregó el código de estado ``421 MISDIRECTED_REQUEST``." -#: ../Doc/library/http.rst:131 +#: ../Doc/library/http.rst:134 msgid "Added ``451 UNAVAILABLE_FOR_LEGAL_REASONS`` status code." msgstr "Se agregó el código de estado ``451 UNAVAILABLE_FOR_LEGAL_REASONS``." + +#: ../Doc/library/http.rst:137 +msgid "" +"Added ``103 EARLY_HINTS``, ``418 IM_A_TEAPOT`` and ``425 TOO_EARLY`` status " +"codes." +msgstr "" diff --git a/library/http.server.po b/library/http.server.po index 6731c0d1ee..6bfbbd13f1 100644 --- a/library/http.server.po +++ b/library/http.server.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-08-18 02:10-0500\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/http.server.rst:2 msgid ":mod:`http.server` --- HTTP servers" @@ -555,31 +554,41 @@ msgstr "" "define a nivel de módulo." #: ../Doc/library/http.server.rst:338 +#, fuzzy msgid "" -"A dictionary mapping suffixes into MIME types. The default is signified by " -"an empty string, and is considered to be ``application/octet-stream``. The " -"mapping is used case-insensitively, and so should contain only lower-cased " -"keys." +"A dictionary mapping suffixes into MIME types, contains custom overrides for " +"the default system mappings. The mapping is used case-insensitively, and so " +"should contain only lower-cased keys." msgstr "" "Un diccionario que mapea los sufijos en los tipos de MIME. El valor por " "defecto es una cadena vacía, y se considera que es ``application/octet-" "stream``. El mapeo se usa sin tener en cuenta las mayúsculas y minúsculas, " "por lo que sólo debe contener claves en minúsculas." -#: ../Doc/library/http.server.rst:345 +#: ../Doc/library/http.server.rst:342 +msgid "" +"This dictionary is no longer filled with the default system mappings, but " +"only contains overrides." +msgstr "" + +#: ../Doc/library/http.server.rst:348 msgid "" "If not specified, the directory to serve is the current working directory." msgstr "" "Si no se especifica, el directorio a servir es el directorio de trabajo " "actual." -#: ../Doc/library/http.server.rst:347 +#: ../Doc/library/http.server.rst:350 +msgid "Accepts a :term:`path-like object`." +msgstr "" + +#: ../Doc/library/http.server.rst:353 msgid "" "The :class:`SimpleHTTPRequestHandler` class defines the following methods:" msgstr "" "Una instancia :class:`SimpleHTTPRequestHandler` tiene los siguientes métodos:" -#: ../Doc/library/http.server.rst:351 +#: ../Doc/library/http.server.rst:357 msgid "" "This method serves the ``'HEAD'`` request type: it sends the headers it " "would send for the equivalent ``GET`` request. See the :meth:`do_GET` method " @@ -589,7 +598,7 @@ msgstr "" "que enviaría para la petición equivalente ``GET``. Ver el método :meth:" "`do_GET` para una explicación más completa de los posibles encabezados." -#: ../Doc/library/http.server.rst:357 +#: ../Doc/library/http.server.rst:363 msgid "" "The request is mapped to a local file by interpreting the request as a path " "relative to the current working directory." @@ -597,7 +606,7 @@ msgstr "" "La solicitud se asigna a un archivo local interpretando la solicitud como " "una ruta relativa al directorio de trabajo actual." -#: ../Doc/library/http.server.rst:360 +#: ../Doc/library/http.server.rst:366 msgid "" "If the request was mapped to a directory, the directory is checked for a " "file named ``index.html`` or ``index.htm`` (in that order). If found, the " @@ -613,7 +622,7 @@ msgstr "" "método utiliza :func:`os.listdir` para escanear el directorio, y retorna una " "respuesta de error ``404`` si falla el :func:`~os.listdir`." -#: ../Doc/library/http.server.rst:367 +#: ../Doc/library/http.server.rst:373 msgid "" "If the request was mapped to a file, it is opened. Any :exc:`OSError` " "exception in opening the requested file is mapped to a ``404``, ``'File not " @@ -631,7 +640,7 @@ msgstr "" "contenido se adivina llamando al método :meth:`guess_type`, que a su vez " "utiliza la variable *extensions_map*, y se retorna el contenido del archivo." -#: ../Doc/library/http.server.rst:375 +#: ../Doc/library/http.server.rst:381 msgid "" "A ``'Content-type:'`` header with the guessed content type is output, " "followed by a ``'Content-Length:'`` header with the file's size and a " @@ -642,7 +651,7 @@ msgstr "" "y un encabezado de ``'Last-Modified:'`` con el tiempo de modificación del " "archivo." -#: ../Doc/library/http.server.rst:379 +#: ../Doc/library/http.server.rst:385 msgid "" "Then follows a blank line signifying the end of the headers, and then the " "contents of the file are output. If the file's MIME type starts with ``text/" @@ -653,7 +662,7 @@ msgstr "" "comienza con ``text/`` el archivo se abre en modo de texto; en caso " "contrario se utiliza el modo binario." -#: ../Doc/library/http.server.rst:383 +#: ../Doc/library/http.server.rst:389 msgid "" "For example usage, see the implementation of the :func:`test` function " "invocation in the :mod:`http.server` module." @@ -661,11 +670,11 @@ msgstr "" "Por ejemplo, ver la implementación de la invocación de la función :func:" "`test` en el módulo :mod:`http.server`." -#: ../Doc/library/http.server.rst:386 +#: ../Doc/library/http.server.rst:392 msgid "Support of the ``'If-Modified-Since'`` header." msgstr "Soporta la cabecera ``'If-Modified-Since'``." -#: ../Doc/library/http.server.rst:389 +#: ../Doc/library/http.server.rst:395 msgid "" "The :class:`SimpleHTTPRequestHandler` class can be used in the following " "manner in order to create a very basic webserver serving files relative to " @@ -675,7 +684,7 @@ msgstr "" "manera para crear un servidor web muy básico que sirva archivos relativos al " "directorio actual::" -#: ../Doc/library/http.server.rst:406 +#: ../Doc/library/http.server.rst:412 msgid "" ":mod:`http.server` can also be invoked directly using the :option:`-m` " "switch of the interpreter with a ``port number`` argument. Similar to the " @@ -686,7 +695,7 @@ msgstr "" "Como en el ejemplo anterior, esto sirve a los archivos relativos al " "directorio actual::" -#: ../Doc/library/http.server.rst:412 +#: ../Doc/library/http.server.rst:418 msgid "" "By default, server binds itself to all interfaces. The option ``-b/--bind`` " "specifies a specific address to which it should bind. Both IPv4 and IPv6 " @@ -698,15 +707,15 @@ msgstr "" "Tanto las direcciones IPv4 como las IPv6 están soportadas. Por ejemplo, el " "siguiente comando hace que el servidor se vincule sólo al localhost::" -#: ../Doc/library/http.server.rst:419 +#: ../Doc/library/http.server.rst:425 msgid "``--bind`` argument was introduced." msgstr "Se introdujo el argumento ``--bind`` ." -#: ../Doc/library/http.server.rst:422 +#: ../Doc/library/http.server.rst:428 msgid "``--bind`` argument enhanced to support IPv6" msgstr "El argumento ``--bind`` se ha mejorado para soportar IPv6" -#: ../Doc/library/http.server.rst:425 +#: ../Doc/library/http.server.rst:431 msgid "" "By default, server uses the current directory. The option ``-d/--directory`` " "specifies a directory to which it should serve the files. For example, the " @@ -716,11 +725,11 @@ msgstr "" "directory`` especifica un directorio al que debe servir los archivos. Por " "ejemplo, el siguiente comando utiliza un directorio específico::" -#: ../Doc/library/http.server.rst:431 +#: ../Doc/library/http.server.rst:437 msgid "``--directory`` specify alternate directory" msgstr "``--directory`` especificar directorio alternativo" -#: ../Doc/library/http.server.rst:436 +#: ../Doc/library/http.server.rst:442 msgid "" "This class is used to serve either files or output of CGI scripts from the " "current directory and below. Note that mapping HTTP hierarchic structure to " @@ -731,7 +740,7 @@ msgstr "" "la estructura jerárquica de HTTP a la estructura del directorio local es " "exactamente como en :class:`SimpleHTTPRequestHandler`." -#: ../Doc/library/http.server.rst:442 +#: ../Doc/library/http.server.rst:448 msgid "" "CGI scripts run by the :class:`CGIHTTPRequestHandler` class cannot execute " "redirects (HTTP code 302), because code 200 (script output follows) is sent " @@ -742,7 +751,7 @@ msgstr "" "salida del script sigue) se envía antes de la ejecución del script CGI. " "Esto adelanta el código de estado." -#: ../Doc/library/http.server.rst:447 +#: ../Doc/library/http.server.rst:453 msgid "" "The class will however, run the CGI script, instead of serving it as a file, " "if it guesses it to be a CGI script. Only directory-based CGI are used --- " @@ -754,7 +763,7 @@ msgstr "" "directorios --- la otra configuración común del servidor es tratar las " "extensiones especiales como denotando los scripts CGI." -#: ../Doc/library/http.server.rst:452 +#: ../Doc/library/http.server.rst:458 msgid "" "The :func:`do_GET` and :func:`do_HEAD` functions are modified to run CGI " "scripts and serve the output, instead of serving files, if the request leads " @@ -764,12 +773,12 @@ msgstr "" "scripts CGI y servir la salida, en lugar de servir archivos, si la petición " "lleva a algún lugar por debajo de la ruta ``cgi_directories``." -#: ../Doc/library/http.server.rst:456 +#: ../Doc/library/http.server.rst:462 msgid "The :class:`CGIHTTPRequestHandler` defines the following data member:" msgstr "" "La :class:`CGIHTTPRequestHandler` define el siguiente miembro de datos:" -#: ../Doc/library/http.server.rst:460 +#: ../Doc/library/http.server.rst:466 msgid "" "This defaults to ``['/cgi-bin', '/htbin']`` and describes directories to " "treat as containing CGI scripts." @@ -777,11 +786,11 @@ msgstr "" "Esto por defecto es ``['/cgi-bin', '/htbin']`` y describe los directorios a " "tratar como si contuvieran scripts CGI." -#: ../Doc/library/http.server.rst:463 +#: ../Doc/library/http.server.rst:469 msgid "The :class:`CGIHTTPRequestHandler` defines the following method:" msgstr "La :class:`CGIHTTPRequestHandler` define el siguiente método:" -#: ../Doc/library/http.server.rst:467 +#: ../Doc/library/http.server.rst:473 msgid "" "This method serves the ``'POST'`` request type, only allowed for CGI " "scripts. Error 501, \"Can only POST to CGI scripts\", is output when trying " @@ -791,7 +800,7 @@ msgstr "" "scripts CGI. El error 501, \"Can only POST to CGI scripts\", se produce " "cuando se intenta enviar a una url no CGI." -#: ../Doc/library/http.server.rst:471 +#: ../Doc/library/http.server.rst:477 msgid "" "Note that CGI scripts will be run with UID of user nobody, for security " "reasons. Problems with the CGI script will be translated to error 403." @@ -800,7 +809,7 @@ msgstr "" "*nobody*, por razones de seguridad. Los problemas con el script CGI serán " "traducidos al error 403." -#: ../Doc/library/http.server.rst:474 +#: ../Doc/library/http.server.rst:480 msgid "" ":class:`CGIHTTPRequestHandler` can be enabled in the command line by passing " "the ``--cgi`` option::" diff --git a/library/idle.po b/library/idle.po index df7b01000b..44aee18bb3 100644 --- a/library/idle.po +++ b/library/idle.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-06-29 09:15-0500\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.3.1\n" #: ../Doc/library/idle.rst:4 msgid "IDLE" @@ -375,9 +374,10 @@ msgid "Show Completions" msgstr "Mostrar complementos" #: ../Doc/library/idle.rst:150 +#, fuzzy msgid "" -"Open a scrollable list allowing selection of keywords and attributes. See :" -"ref:`Completions ` in the Editing and navigation section below." +"Open a scrollable list allowing selection of existing names. See :ref:" +"`Completions ` in the Editing and navigation section below." msgstr "" "Abre una lista navegable que permite la selección de palabras clave y " "atributos. Consultar :ref:`Terminaciones ` en la sección " @@ -614,7 +614,10 @@ msgid "Restart Shell" msgstr "Reiniciar shell" #: ../Doc/library/idle.rst:253 -msgid "Restart the shell to clean the environment." +#, fuzzy +msgid "" +"Restart the shell to clean the environment and reset display and exception " +"handling." msgstr "Reinicia el shell para limpiar el entorno." #: ../Doc/library/idle.rst:256 @@ -1105,125 +1108,89 @@ msgstr "" "Consulte también los comandos de zona de indexación/deindentación en :ref:" "`Menú de formato `." -#: ../Doc/library/idle.rst:476 +#: ../Doc/library/idle.rst:475 msgid "Completions" msgstr "Terminaciones" -#: ../Doc/library/idle.rst:478 +#: ../Doc/library/idle.rst:477 msgid "" -"Completions are supplied for functions, classes, and attributes of classes, " -"both built-in and user-defined. Completions are also provided for filenames." +"Completions are supplied, when requested and available, for module names, " +"attributes of classes or functions, or filenames. Each request method " +"displays a completion box with existing names. (See tab completions below " +"for an exception.) For any box, change the name being completed and the item " +"highlighted in the box by typing and deleting characters; by hitting :kbd:" +"`Up`, :kbd:`Down`, :kbd:`PageUp`, :kbd:`PageDown`, :kbd:`Home`, and :kbd:" +"`End` keys; and by a single click within the box. Close the box with :kbd:" +"`Escape`, :kbd:`Enter`, and double :kbd:`Tab` keys or clicks outside the " +"box. A double click within the box selects and closes." msgstr "" -"Se proporciona terminaciones para funciones, clases y atributos de clases, " -"tanto integrados como definidos por el usuario. También se proporciona " -"terminaciones para nombres de archivo." -#: ../Doc/library/idle.rst:482 +#: ../Doc/library/idle.rst:488 msgid "" -"The AutoCompleteWindow (ACW) will open after a predefined delay (default is " -"two seconds) after a '.' or (in a string) an os.sep is typed. If after one " -"of those characters (plus zero or more other characters) a tab is typed the " -"ACW will open immediately if a possible continuation is found." +"One way to open a box is to type a key character and wait for a predefined " +"interval. This defaults to 2 seconds; customize it in the settings dialog. " +"(To prevent auto popups, set the delay to a large number of milliseconds, " +"such as 100000000.) For imported module names or class or function " +"attributes, type '.'. For filenames in the root directory, type :data:`os." +"sep` or :data:`os.altsep` immediately after an opening quote. (On Windows, " +"one can specify a drive first.) Move into subdirectories by typing a " +"directory name and a separator." msgstr "" -"La ventana de autocompletamiento (ACW, por la traducción de " -"AutoCompleteWindow) se abrirá después de un retraso predefinido (el valor " -"predeterminado es dos segundos) después de un '.' o (en una cadena de " -"caracteres) si es escrito os.sep. Si después de uno de esos caracteres (más " -"cero o varios caracteres más) un tab es escrito, ACW se abrirá " -"inmediatamente si se encuentra una posible continuación." -#: ../Doc/library/idle.rst:487 +#: ../Doc/library/idle.rst:498 msgid "" -"If there is only one possible completion for the characters entered, a :kbd:" -"`Tab` will supply that completion without opening the ACW." -msgstr "" -"Si solo hay una posible terminación para los caracteres ingresados, un :kbd:" -"`Tab` proporcionará esa terminación sin abrir el ACW." - -#: ../Doc/library/idle.rst:490 -msgid "" -"'Show Completions' will force open a completions window, by default the :kbd:" -"`C-space` will open a completions window. In an empty string, this will " -"contain the files in the current directory. On a blank line, it will contain " -"the built-in and user-defined functions and classes in the current " -"namespaces, plus any modules imported. If some characters have been entered, " -"the ACW will attempt to be more specific." +"Instead of waiting, or after a box is closed, open a completion box " +"immediately with Show Completions on the Edit menu. The default hot key is :" +"kbd:`C-space`. If one types a prefix for the desired name before opening " +"the box, the first match or near miss is made visible. The result is the " +"same as if one enters a prefix after the box is displayed. Show Completions " +"after a quote completes filenames in the current directory instead of a root " +"directory." msgstr "" -"'Mostrar terminaciones' forzará la apertura de una ventana de terminaciones, " -"por defecto :kbd:`C-space` abrirá una ventana de terminaciones. En una " -"cadena de caracteres vacía, esto contendrá los archivos en el directorio " -"actual. En una línea en blanco, contendrá las funciones y clases " -"incorporadas y definidas por el usuario en los espacios de nombres actuales " -"además de cualquier módulo importado. Si se han ingresado algunos " -"caracteres, el ACW intentará ser más específico." -#: ../Doc/library/idle.rst:497 +#: ../Doc/library/idle.rst:506 msgid "" -"If a string of characters is typed, the ACW selection will jump to the entry " -"most closely matching those characters. Entering a :kbd:`tab` will cause " -"the longest non-ambiguous match to be entered in the Editor window or " -"Shell. Two :kbd:`tab` in a row will supply the current ACW selection, as " -"will return or a double click. Cursor keys, Page Up/Down, mouse selection, " -"and the scroll wheel all operate on the ACW." +"Hitting :kbd:`Tab` after a prefix usually has the same effect as Show " +"Completions. (With no prefix, it indents.) However, if there is only one " +"match to the prefix, that match is immediately added to the editor text " +"without opening a box." msgstr "" -"Si se escribe una cadena de caracteres, la selección de ACW saltará a la " -"entrada que más se aproxime a esos caracteres. Ingresando un :kbd:`tab` " -"causará que sea ingresada la coincidencia no ambigua más larga en la ventana " -"del editor o en el shell. Dos :kbd:`tab` en una fila proporcionará la " -"selección ACW actual, tal como retornar o un doble click. Las teclas del " -"cursor, el avance/retroceso de página, la selección del ratón y la rueda de " -"desplazamiento, todas funcionan en el ACW." -#: ../Doc/library/idle.rst:504 +#: ../Doc/library/idle.rst:511 msgid "" -"\"Hidden\" attributes can be accessed by typing the beginning of hidden name " -"after a '.', e.g. '_'. This allows access to modules with ``__all__`` set, " -"or to class-private attributes." -msgstr "" -"Se puede acceder a los atributos \"ocultos\" escribiendo al comienzo del " -"nombre oculto después de un '.', por ejemplo: '_'. Esto permite acceder a " -"módulos con el conjunto ``__all__`` o a atributos privados de clase." - -#: ../Doc/library/idle.rst:508 -msgid "Completions and the 'Expand Word' facility can save a lot of typing!" +"Invoking 'Show Completions', or hitting :kbd:`Tab` after a prefix, outside " +"of a string and without a preceding '.' opens a box with keywords, builtin " +"names, and available module-level names." msgstr "" -"¡Las terminaciones y la función 'Expandir palabra' pueden ahorrar mucha " -"escritura!" -#: ../Doc/library/idle.rst:510 +#: ../Doc/library/idle.rst:515 msgid "" -"Completions are currently limited to those in the namespaces. Names in an " -"Editor window which are not via ``__main__`` and :data:`sys.modules` will " -"not be found. Run the module once with your imports to correct this " -"situation. Note that IDLE itself places quite a few modules in sys.modules, " -"so much can be found by default, e.g. the re module." +"When editing code in an editor (as oppose to Shell), increase the available " +"module-level names by running your code and not restarting the Shell " +"thereafter. This is especially useful after adding imports at the top of a " +"file. This also increases possible attribute completions." msgstr "" -"Las terminaciones son limitadas actualmente a aquellas en los espacios de " -"nombres. No se encontrarán los nombres en una ventana de edición que no " -"provengan de ``__main__`` y :data:`sys.modules`. Ejecute el módulo una vez " -"con sus importaciones para corregir esta situación. Tenga en cuenta que el " -"mismo IDLE coloca algunos módulos en sys.modules, a los que se puede acceder " -"por defecto, por ejemplo, el módulo re." -#: ../Doc/library/idle.rst:516 +#: ../Doc/library/idle.rst:521 msgid "" -"If you don't like the ACW popping up unbidden, simply make the delay longer " -"or disable the extension." +"Completion boxes intially exclude names beginning with '_' or, for modules, " +"not included in '__all__'. The hidden names can be accessed by typing '_' " +"after '.', either before or after the box is opened." msgstr "" -"Si no le gusta que aparezca ACW de forma inesperada, simplemente puede " -"aumentar el retraso o desactivar la extensión." -#: ../Doc/library/idle.rst:522 +#: ../Doc/library/idle.rst:528 msgid "Calltips" msgstr "Sugerencias de llamada" -#: ../Doc/library/idle.rst:524 +#: ../Doc/library/idle.rst:530 +#, fuzzy msgid "" -"A calltip is shown when one types :kbd:`(` after the name of an *accessible* " -"function. A name expression may include dots and subscripts. A calltip " -"remains until it is clicked, the cursor is moved out of the argument area, " -"or :kbd:`)` is typed. When the cursor is in the argument part of a " -"definition, the menu or shortcut display a calltip." +"A calltip is shown automatically when one types :kbd:`(` after the name of " +"an *accessible* function. A function name expression may include dots and " +"subscripts. A calltip remains until it is clicked, the cursor is moved out " +"of the argument area, or :kbd:`)` is typed. Whenever the cursor is in the " +"argument part of a definition, select Edit and \"Show Call Tip\" on the menu " +"or enter its shortcut to display a calltip." msgstr "" "Se muestra una sugerencia de llamada cuando se escribe :kbd:`(` después del " "nombre de una función *accesible*. Una expresión de nombre puede incluir " @@ -1232,36 +1199,31 @@ msgstr "" "el cursor está en la parte del argumento de una definición, el menú o acceso " "directo muestra una sugerencia de llamada." -#: ../Doc/library/idle.rst:530 +#: ../Doc/library/idle.rst:537 msgid "" -"A calltip consists of the function signature and the first line of the " -"docstring. For builtins without an accessible signature, the calltip " -"consists of all lines up the fifth line or the first blank line. These " -"details may change." +"The calltip consists of the function's signature and docstring up to the " +"latter's first blank line or the fifth non-blank line. (Some builtin " +"functions lack an accessible signature.) A '/' or '*' in the signature " +"indicates that the preceding or following arguments are passed by position " +"or name (keyword) only. Details are subject to change." msgstr "" -"Una sugerencia de llamada contiene la firma de la función y la primera línea " -"de la cadena de caracteres de la documentación. Para las funciones " -"incluidas por defecto sin una firma accesible, la sugerencia de llamadas " -"contiene todas las líneas hasta la quinta línea o la primera línea vacía. " -"Estos detalles están sujetos a cambios." -#: ../Doc/library/idle.rst:535 +#: ../Doc/library/idle.rst:543 msgid "" -"The set of *accessible* functions depends on what modules have been imported " -"into the user process, including those imported by Idle itself, and what " -"definitions have been run, all since the last restart." +"In Shell, the accessible functions depends on what modules have been " +"imported into the user process, including those imported by Idle itself, and " +"which definitions have been run, all since the last restart." msgstr "" -"El conjunto de funciones *accesibles* dependen de cuales módulos han sido " -"importados en el proceso del usuario, incluyendo los importados por IDLE y " -"de cuáles definiciones se han ejecutado, todo desde el último reinicio." -#: ../Doc/library/idle.rst:539 +#: ../Doc/library/idle.rst:547 +#, fuzzy msgid "" "For example, restart the Shell and enter ``itertools.count(``. A calltip " "appears because Idle imports itertools into the user process for its own " -"use. (This could change.) Enter ``turtle.write(`` and nothing appears. " -"Idle does not import turtle. The menu or shortcut do nothing either. Enter " -"``import turtle`` and then ``turtle.write(`` will work." +"use. (This could change.) Enter ``turtle.write(`` and nothing appears. " +"Idle does not itself import turtle. The menu entry and shortcut also do " +"nothing. Enter ``import turtle``. Thereafter, ``turtle.write(`` will " +"display a calltip." msgstr "" "Por ejemplo, reinicie el Shell e ingrese ``itertools.count(``. Una " "sugerencia de llamada aparece porque el Idle importa itertools en el proceso " @@ -1270,22 +1232,23 @@ msgstr "" "directo tampoco hace nada. Al ingresar ``import turtle`` y luego ``turtle." "write(`` funcionará." -#: ../Doc/library/idle.rst:545 +#: ../Doc/library/idle.rst:554 +#, fuzzy msgid "" -"In an editor, import statements have no effect until one runs the file. One " -"might want to run a file after writing the import statements at the top, or " -"immediately run an existing file before editing." +"In an editor, import statements have no effect until one runs the file. One " +"might want to run a file after writing import statements, after adding " +"function definitions, or after opening an existing file." msgstr "" "En un editor, las declaraciones de importación no tienen efecto hasta que se " "ejecuta el archivo. Es posible que desee ejecutar un archivo después de " "escribir las declaraciones de importación en la parte superior o ejecutar " "inmediatamente un archivo existente antes de editarlo." -#: ../Doc/library/idle.rst:552 +#: ../Doc/library/idle.rst:561 msgid "Code Context" msgstr "Contexto del código" -#: ../Doc/library/idle.rst:554 +#: ../Doc/library/idle.rst:563 msgid "" "Within an editor window containing Python code, code context can be toggled " "in order to show or hide a pane at the top of the window. When shown, this " @@ -1311,7 +1274,7 @@ msgstr "" "una línea en el panel de contexto, esa línea se moverá a la parte superior " "del editor." -#: ../Doc/library/idle.rst:565 +#: ../Doc/library/idle.rst:574 msgid "" "The text and background colors for the context pane can be configured under " "the Highlights tab in the Configure IDLE dialog." @@ -1319,11 +1282,11 @@ msgstr "" "El texto y los colores de fondo para el panel de contexto se pueden " "configurar en la pestaña destacados en el cuadro de diálogo Configurar IDLE." -#: ../Doc/library/idle.rst:569 +#: ../Doc/library/idle.rst:578 msgid "Python Shell window" msgstr "Shell de Python" -#: ../Doc/library/idle.rst:571 +#: ../Doc/library/idle.rst:580 msgid "" "With IDLE's Shell, one enters, edits, and recalls complete statements. Most " "consoles and terminals only work with a single physical line at a time." @@ -1332,7 +1295,7 @@ msgstr "" "completas. La mayoría de consolas y terminales solo funcionan con una sola " "línea física a la vez." -#: ../Doc/library/idle.rst:574 +#: ../Doc/library/idle.rst:583 msgid "" "When one pastes code into Shell, it is not compiled and possibly executed " "until one hits :kbd:`Return`. One may edit pasted code first. If one pastes " @@ -1345,7 +1308,7 @@ msgstr "" "será un :exc:`SyntaxError` cuando se compilan varias declaraciones como si " "fueran una sola." -#: ../Doc/library/idle.rst:579 +#: ../Doc/library/idle.rst:588 msgid "" "The editing features described in previous subsections work when entering " "code interactively. IDLE's Shell window also responds to the following keys." @@ -1354,27 +1317,27 @@ msgstr "" "cuando se ingresa código de forma interactiva. La ventana de shell del IDLE " "también responde a las siguientes combinaciones de teclas." -#: ../Doc/library/idle.rst:582 +#: ../Doc/library/idle.rst:591 msgid ":kbd:`C-c` interrupts executing command" msgstr ":kbd:`C-c` interrumpe la ejecución del comando" -#: ../Doc/library/idle.rst:584 +#: ../Doc/library/idle.rst:593 msgid "" ":kbd:`C-d` sends end-of-file; closes window if typed at a ``>>>`` prompt" msgstr "" ":kbd:`C-d` lo envía el final del archivo; la ventana se cierra si se escribe " "en un mensaje ``>>>``" -#: ../Doc/library/idle.rst:586 +#: ../Doc/library/idle.rst:595 msgid ":kbd:`Alt-/` (Expand word) is also useful to reduce typing" msgstr "" ":kbd:`Alt-/` (Expandir palabra) también es útil para reducir la escritura" -#: ../Doc/library/idle.rst:588 +#: ../Doc/library/idle.rst:597 msgid "Command history" msgstr "Historial de comandos" -#: ../Doc/library/idle.rst:590 +#: ../Doc/library/idle.rst:599 msgid "" ":kbd:`Alt-p` retrieves previous command matching what you have typed. On " "macOS use :kbd:`C-p`." @@ -1382,19 +1345,19 @@ msgstr "" ":kbd:`Alt-p` recupera el comando anterior que coincide con lo que ha " "escrito. En macOS use :kbd:`C-p`." -#: ../Doc/library/idle.rst:593 +#: ../Doc/library/idle.rst:602 msgid ":kbd:`Alt-n` retrieves next. On macOS use :kbd:`C-n`." msgstr ":kbd:`Alt-n` recupera el siguiente. En macOS use :kbd:`C-n`." -#: ../Doc/library/idle.rst:595 +#: ../Doc/library/idle.rst:604 msgid ":kbd:`Return` while on any previous command retrieves that command" msgstr ":kbd:`Return` ingresando en un comando anterior, recupera ese comando" -#: ../Doc/library/idle.rst:598 +#: ../Doc/library/idle.rst:607 msgid "Text colors" msgstr "Colores del texto" -#: ../Doc/library/idle.rst:600 +#: ../Doc/library/idle.rst:609 msgid "" "Idle defaults to black on white text, but colors text with special meanings. " "For the shell, these are shell output, shell error, user output, and user " @@ -1412,7 +1375,7 @@ msgstr "" "cualquier ventana de texto, estos son: el cursor (cuando está presente), el " "texto encontrado (cuando sea posible) y el texto seleccionado." -#: ../Doc/library/idle.rst:607 +#: ../Doc/library/idle.rst:616 msgid "" "Text coloring is done in the background, so uncolorized text is occasionally " "visible. To change the color scheme, use the Configure IDLE dialog " @@ -1426,11 +1389,11 @@ msgstr "" "editor y el texto en ventanas emergentes y cuadros de diálogo no es " "configurable por el usuario." -#: ../Doc/library/idle.rst:614 +#: ../Doc/library/idle.rst:623 msgid "Startup and code execution" msgstr "Inicio y ejecución de código" -#: ../Doc/library/idle.rst:616 +#: ../Doc/library/idle.rst:625 msgid "" "Upon startup with the ``-s`` option, IDLE will execute the file referenced " "by the environment variables :envvar:`IDLESTARTUP` or :envvar:" @@ -1451,7 +1414,7 @@ msgstr "" "frecuencia desde el shell del IDLE o para ejecutar declaraciones importadas " "para importar módulos comunes." -#: ../Doc/library/idle.rst:624 +#: ../Doc/library/idle.rst:633 msgid "" "In addition, ``Tk`` also loads a startup file if it is present. Note that " "the Tk file is loaded unconditionally. This additional file is ``.Idle.py`` " @@ -1466,15 +1429,15 @@ msgstr "" "nombres Tk, por lo que este archivo no es útil para importar funciones que " "se utilizarán desde el shell de Python del IDLE." -#: ../Doc/library/idle.rst:631 +#: ../Doc/library/idle.rst:640 msgid "Command line usage" msgstr "Uso de línea de comando" -#: ../Doc/library/idle.rst:647 +#: ../Doc/library/idle.rst:656 msgid "If there are arguments:" msgstr "Si están los argumentos:" -#: ../Doc/library/idle.rst:649 +#: ../Doc/library/idle.rst:658 msgid "" "If ``-``, ``-c``, or ``r`` is used, all arguments are placed in ``sys." "argv[1:...]`` and ``sys.argv[0]`` is set to ``''``, ``'-c'``, or ``'-r'``. " @@ -1486,7 +1449,7 @@ msgstr "" "r'``. No se abre ninguna ventana del editor, incluso si ese es el conjunto " "predeterminado en el cuadro de diálogo opciones." -#: ../Doc/library/idle.rst:654 +#: ../Doc/library/idle.rst:663 msgid "" "Otherwise, arguments are files opened for editing and ``sys.argv`` reflects " "the arguments passed to IDLE itself." @@ -1494,11 +1457,11 @@ msgstr "" "De lo contrario, los argumentos son archivos abiertos para edición y ``sys." "argv`` refleja los argumentos pasados al IDLE." -#: ../Doc/library/idle.rst:658 +#: ../Doc/library/idle.rst:667 msgid "Startup failure" msgstr "Error de inicio" -#: ../Doc/library/idle.rst:660 +#: ../Doc/library/idle.rst:669 msgid "" "IDLE uses a socket to communicate between the IDLE GUI process and the user " "code execution process. A connection must be established whenever the Shell " @@ -1515,7 +1478,7 @@ msgstr "" "``Tk`` con un mensaje de 'no se puede conectar' que dirige al usuario aquí. " "Y después se detiene." -#: ../Doc/library/idle.rst:667 +#: ../Doc/library/idle.rst:676 msgid "" "A common cause of failure is a user-written file with the same name as a " "standard library module, such as *random.py* and *tkinter.py*. When such a " @@ -1529,7 +1492,7 @@ msgstr "" "un archivo que está por ejecutarse, el IDLE no puede importar el archivo " "stdlib. La solución actual es cambiar el nombre del archivo del usuario." -#: ../Doc/library/idle.rst:673 +#: ../Doc/library/idle.rst:682 msgid "" "Though less common than in the past, an antivirus or firewall program may " "stop the connection. If the program cannot be taught to allow the " @@ -1545,7 +1508,7 @@ msgstr "" "puertos externos. Un problema similar es una configuración incorrecta de la " "red que bloquea las conexiones." -#: ../Doc/library/idle.rst:680 +#: ../Doc/library/idle.rst:689 msgid "" "Python installation issues occasionally stop IDLE: multiple versions can " "clash, or a single installation might need admin access. If one undo the " @@ -1558,7 +1521,7 @@ msgstr "" "puede o quiere ejecutar como administrador, puede ser más fácil desinstalar " "completamente Python y comenzar de nuevo." -#: ../Doc/library/idle.rst:685 +#: ../Doc/library/idle.rst:694 msgid "" "A zombie pythonw.exe process could be a problem. On Windows, use Task " "Manager to check for one and stop it if there is. Sometimes a restart " @@ -1572,7 +1535,7 @@ msgstr "" "(control-C) puede fallar al conectarse. Descartar el cuadro de error o usar " "Reiniciar Shell en el menú del Shell puede solucionar un problema temporal." -#: ../Doc/library/idle.rst:691 +#: ../Doc/library/idle.rst:700 msgid "" "When IDLE first starts, it attempts to read user configuration files in ``~/." "idlerc/`` (~ is one's home directory). If there is a problem, an error " @@ -1591,7 +1554,7 @@ msgstr "" "configuración de usuario, la mejor solución puede ser eliminarlo y empezar " "de nuevo con el cuadro de diálogo de configuración." -#: ../Doc/library/idle.rst:699 +#: ../Doc/library/idle.rst:708 msgid "" "If IDLE quits with no message, and it was not started from a console, try " "starting it from a console or terminal (``python -m idlelib``) and see if " @@ -1601,11 +1564,11 @@ msgstr "" "intente iniciarlo desde una consola o terminal (``python -m idlelib``) y " "observe si esto genera un mensaje de error." -#: ../Doc/library/idle.rst:704 +#: ../Doc/library/idle.rst:713 msgid "Running user code" msgstr "Ejecutando código del usuario" -#: ../Doc/library/idle.rst:706 +#: ../Doc/library/idle.rst:715 msgid "" "With rare exceptions, the result of executing Python code with IDLE is " "intended to be the same as executing the same code by the default method, " @@ -1622,7 +1585,7 @@ msgstr "" "``sys.modules`` comienza con más entradas y ``threading.activeCount()`` " "retorna 2 en lugar de 1." -#: ../Doc/library/idle.rst:713 +#: ../Doc/library/idle.rst:722 msgid "" "By default, IDLE runs user code in a separate OS process rather than in the " "user interface process that runs the shell and editor. In the execution " @@ -1640,20 +1603,19 @@ msgstr "" "__stdin__``, ``sys.__stdout__``, y ``sys.__stderr__`` no se ven afectados, " "pero pueden ser ``None``." -#: ../Doc/library/idle.rst:720 +#: ../Doc/library/idle.rst:729 msgid "" -"When Shell has the focus, it controls the keyboard and screen. This is " -"normally transparent, but functions that directly access the keyboard and " -"screen will not work. These include system-specific functions that " -"determine whether a key has been pressed and if so, which." +"Sending print output from one process to a text widget in another is slower " +"than printing to a system terminal in the same process. This has the most " +"effect when printing multiple arguments, as the string for each argument, " +"each separator, the newline are sent separately. For development, this is " +"usually not a problem, but if one wants to print faster in IDLE, format and " +"join together everything one wants displayed together and then print a " +"single string. Both format strings and :meth:`str.join` can help combine " +"fields and lines." msgstr "" -"Cuando el shell está en primer plano, controla el teclado y la pantalla. " -"Este es transparente normalmente, pero las funciones que acceden " -"directamente al teclado y la pantalla no funcionarán. Estas incluyen " -"funciones específicas del sistema que determinan si se ha presionado una " -"tecla y de ser así, cuál." -#: ../Doc/library/idle.rst:725 +#: ../Doc/library/idle.rst:738 msgid "" "IDLE's standard stream replacements are not inherited by subprocesses " "created in the execution process, whether directly by user code or by " @@ -1670,7 +1632,30 @@ msgstr "" "comando. El subproceso secundario será adjuntado a esa ventana para entrada " "y salida." -#: ../Doc/library/idle.rst:732 +#: ../Doc/library/idle.rst:745 +msgid "" +"If ``sys`` is reset by user code, such as with ``importlib.reload(sys)``, " +"IDLE's changes are lost and input from the keyboard and output to the screen " +"will not work correctly." +msgstr "" +"Si ``sys`` es restablecido mediante un código de usuario, tal como " +"``importlib.reload(sys)``, los cambios del IDLE se perderán y la entrada del " +"teclado y la salida de la pantalla no funcionarán correctamente." + +#: ../Doc/library/idle.rst:749 +msgid "" +"When Shell has the focus, it controls the keyboard and screen. This is " +"normally transparent, but functions that directly access the keyboard and " +"screen will not work. These include system-specific functions that " +"determine whether a key has been pressed and if so, which." +msgstr "" +"Cuando el shell está en primer plano, controla el teclado y la pantalla. " +"Este es transparente normalmente, pero las funciones que acceden " +"directamente al teclado y la pantalla no funcionarán. Estas incluyen " +"funciones específicas del sistema que determinan si se ha presionado una " +"tecla y de ser así, cuál." + +#: ../Doc/library/idle.rst:754 msgid "" "The IDLE code running in the execution process adds frames to the call stack " "that would not be there otherwise. IDLE wraps ``sys.getrecursionlimit`` and " @@ -1682,17 +1667,7 @@ msgstr "" "``sys.getrecursionlimit`` y ``sys.setrecursionlimit`` para reducir el efecto " "de los marcos de pila adicionales." -#: ../Doc/library/idle.rst:736 -msgid "" -"If ``sys`` is reset by user code, such as with ``importlib.reload(sys)``, " -"IDLE's changes are lost and input from the keyboard and output to the screen " -"will not work correctly." -msgstr "" -"Si ``sys`` es restablecido mediante un código de usuario, tal como " -"``importlib.reload(sys)``, los cambios del IDLE se perderán y la entrada del " -"teclado y la salida de la pantalla no funcionarán correctamente." - -#: ../Doc/library/idle.rst:740 +#: ../Doc/library/idle.rst:759 msgid "" "When user code raises SystemExit either directly or by calling sys.exit, " "IDLE returns to a Shell prompt instead of exiting." @@ -1700,11 +1675,11 @@ msgstr "" "Cuando el código de usuario genera SystemExit directamente o llamando a sys." "exit, el IDLE regresa al visualizador del Shell en lugar de salir." -#: ../Doc/library/idle.rst:744 +#: ../Doc/library/idle.rst:763 msgid "User output in Shell" msgstr "Salida del usuario en consola" -#: ../Doc/library/idle.rst:746 +#: ../Doc/library/idle.rst:765 msgid "" "When a program outputs text, the result is determined by the corresponding " "output device. When IDLE executes user code, ``sys.stdout`` and ``sys." @@ -1721,7 +1696,7 @@ msgstr "" "importante, el shell está diseñado para el desarrollo en lugar de la " "ejecución de producción." -#: ../Doc/library/idle.rst:753 +#: ../Doc/library/idle.rst:772 msgid "" "For instance, Shell never throws away output. A program that sends " "unlimited output to Shell will eventually fill memory, resulting in a memory " @@ -1736,7 +1711,7 @@ msgstr "" "ejemplo, mantiene una línea configurable por el usuario de 1 a 9999, con 300 " "por defecto." -#: ../Doc/library/idle.rst:759 +#: ../Doc/library/idle.rst:778 msgid "" "A Tk Text widget, and hence IDLE's Shell, displays characters (codepoints) " "in the BMP (Basic Multilingual Plane) subset of Unicode. Which characters " @@ -1762,7 +1737,7 @@ msgstr "" "con las teclas de flecha puede mostrar algún comportamiento de espaciado " "sorpresivo.) ::" -#: ../Doc/library/idle.rst:777 +#: ../Doc/library/idle.rst:796 msgid "" "The ``repr`` function is used for interactive echo of expression values. It " "returns an altered version of the input string in which control codes, some " @@ -1778,7 +1753,7 @@ msgstr "" "identificar los caracteres en una cadena de caracteres, independientemente " "de cómo sean mostrados." -#: ../Doc/library/idle.rst:783 +#: ../Doc/library/idle.rst:802 msgid "" "Normal and error output are generally kept separate (on separate lines) from " "code input and each other. They each get different highlight colors." @@ -1787,7 +1762,7 @@ msgstr "" "separadas) de la entrada de código y entre sí. Cada una obtiene diferentes " "colores de resaltado." -#: ../Doc/library/idle.rst:786 +#: ../Doc/library/idle.rst:805 msgid "" "For SyntaxError tracebacks, the normal '^' marking where the error was " "detected is replaced by coloring the text with an error highlight. When code " @@ -1801,7 +1776,7 @@ msgstr "" "click derecho en un *traceback* para saltar a la línea correspondiente en un " "editor del IDLE. El archivo se abrirá si es necesario." -#: ../Doc/library/idle.rst:792 +#: ../Doc/library/idle.rst:811 msgid "" "Shell has a special facility for squeezing output lines down to a 'Squeezed " "text' label. This is done automatically for output over N lines (N = 50 by " @@ -1817,7 +1792,7 @@ msgstr "" "salida. Esto puede ser útil en líneas suficientemente largas para bajar el " "tiempo de desplazamiento." -#: ../Doc/library/idle.rst:800 +#: ../Doc/library/idle.rst:819 msgid "" "Squeezed output is expanded in place by double-clicking the label. It can " "also be sent to the clipboard or a separate view window by right-clicking " @@ -1827,11 +1802,11 @@ msgstr "" "etiqueta. También se puede enviar al portapapeles o a una ventana de vista " "separada haciendo click derecho en la etiqueta." -#: ../Doc/library/idle.rst:805 +#: ../Doc/library/idle.rst:824 msgid "Developing tkinter applications" msgstr "Desarrollando aplicaciones tkinter" -#: ../Doc/library/idle.rst:807 +#: ../Doc/library/idle.rst:826 msgid "" "IDLE is intentionally different from standard Python in order to facilitate " "development of tkinter programs. Enter ``import tkinter as tk; root = tk." @@ -1852,7 +1827,7 @@ msgstr "" "text='button'); b.pack()``. Del mismo modo, no hay cambios visibles en " "Python estándar hasta que ingrese ``root.update()``." -#: ../Doc/library/idle.rst:816 +#: ../Doc/library/idle.rst:835 msgid "" "Most tkinter programs run ``root.mainloop()``, which usually does not return " "until the tk app is destroyed. If the program is run with ``python -i`` or " @@ -1865,7 +1840,7 @@ msgstr "" "aparecerá un mensaje ``>>>`` del shell hasta que retorne ``mainloop()``, " "momento en el cual no queda nada con lo que interactuar." -#: ../Doc/library/idle.rst:822 +#: ../Doc/library/idle.rst:841 msgid "" "When running a tkinter program from an IDLE editor, one can comment out the " "mainloop call. One then gets a shell prompt immediately and can interact " @@ -1878,11 +1853,11 @@ msgstr "" "debe recordar reactivar la llamada al bucle principal cuando se ejecuta en " "Python estándar." -#: ../Doc/library/idle.rst:828 +#: ../Doc/library/idle.rst:847 msgid "Running without a subprocess" msgstr "Ejecutando sin un subproceso" -#: ../Doc/library/idle.rst:830 +#: ../Doc/library/idle.rst:849 msgid "" "By default, IDLE executes user code in a separate subprocess via a socket, " "which uses the internal loopback interface. This connection is not " @@ -1895,7 +1870,7 @@ msgstr "" "Internet. Si el software de cortafuego sigue presentando problemas, puede " "ignorarlo." -#: ../Doc/library/idle.rst:835 +#: ../Doc/library/idle.rst:854 msgid "" "If the attempt to make the socket connection fails, Idle will notify you. " "Such failures are sometimes transient, but if persistent, the problem may be " @@ -1909,7 +1884,7 @@ msgstr "" "sistema en particular. Hasta que se solucione el problema, se puede " "ejecutar el Idle con el modificador de línea de comandos -n." -#: ../Doc/library/idle.rst:841 +#: ../Doc/library/idle.rst:860 msgid "" "If IDLE is started with the -n command line switch it will run in a single " "process and will not create the subprocess which runs the RPC Python " @@ -1934,15 +1909,15 @@ msgstr "" "Por estas razones, es preferible ejecutar el IDLE con el subproceso " "predeterminado si es posible." -#: ../Doc/library/idle.rst:856 +#: ../Doc/library/idle.rst:875 msgid "Help and preferences" msgstr "Ayuda y preferencias" -#: ../Doc/library/idle.rst:861 +#: ../Doc/library/idle.rst:880 msgid "Help sources" msgstr "Recursos de ayuda" -#: ../Doc/library/idle.rst:863 +#: ../Doc/library/idle.rst:882 msgid "" "Help menu entry \"IDLE Help\" displays a formatted html version of the IDLE " "chapter of the Library Reference. The result, in a read-only tkinter text " @@ -1959,7 +1934,7 @@ msgstr "" "click en el botón TDC (Tabla de contenido) y seleccione un encabezado de " "sección en el cuadro abierto." -#: ../Doc/library/idle.rst:871 +#: ../Doc/library/idle.rst:890 msgid "" "Help menu entry \"Python Docs\" opens the extensive sources of help, " "including tutorials, available at ``docs.python.org/x.y``, where 'x.y' is " @@ -1973,7 +1948,7 @@ msgstr "" "tiene una copia fuera de línea de los documentos (esta puede ser una opción " "de instalación), esta se abrirá en su lugar." -#: ../Doc/library/idle.rst:877 +#: ../Doc/library/idle.rst:896 msgid "" "Selected URLs can be added or removed from the help menu at any time using " "the General tab of the Configure IDLE dialog." @@ -1982,11 +1957,11 @@ msgstr "" "cualquier momento utilizando la pestaña General del cuadro de diálogo " "Configurar IDLE." -#: ../Doc/library/idle.rst:883 +#: ../Doc/library/idle.rst:902 msgid "Setting preferences" msgstr "Preferencias de configuración" -#: ../Doc/library/idle.rst:885 +#: ../Doc/library/idle.rst:904 msgid "" "The font preferences, highlighting, keys, and general preferences can be " "changed via Configure IDLE on the Option menu. Non-default user settings are " @@ -2001,7 +1976,7 @@ msgstr "" "configuración de usuario incorrectos se resuelven editando o eliminando uno " "o más de los archivos en ``.idlerc``." -#: ../Doc/library/idle.rst:891 +#: ../Doc/library/idle.rst:910 msgid "" "On the Font tab, see the text sample for the effect of font face and size on " "multiple characters in multiple languages. Edit the sample to add other " @@ -2017,7 +1992,7 @@ msgstr "" "agréguelos a la parte inicial de la muestra e intente cambiar primero el " "tamaño y luego la fuente." -#: ../Doc/library/idle.rst:898 +#: ../Doc/library/idle.rst:917 msgid "" "On the Highlights and Keys tab, select a built-in or custom color theme and " "key set. To use a newer built-in color theme or key set with older IDLEs, " @@ -2030,11 +2005,11 @@ msgstr "" "antiguos, guárdelo como un nuevo tema personalizado o conjunto de teclas y " "será accesible para los IDLE más antiguos." -#: ../Doc/library/idle.rst:904 +#: ../Doc/library/idle.rst:923 msgid "IDLE on macOS" msgstr "IDLE en macOS" -#: ../Doc/library/idle.rst:906 +#: ../Doc/library/idle.rst:925 msgid "" "Under System Preferences: Dock, one can set \"Prefer tabs when opening " "documents\" to \"Always\". This setting is not compatible with the tk/" @@ -2045,11 +2020,11 @@ msgstr "" "es compatible con la interfaz gráfica de usuario del framework tk/tkinter " "utilizado por IDLE y rompe algunas funcionalidades del IDLE." -#: ../Doc/library/idle.rst:911 +#: ../Doc/library/idle.rst:930 msgid "Extensions" msgstr "Extensiones" -#: ../Doc/library/idle.rst:913 +#: ../Doc/library/idle.rst:932 msgid "" "IDLE contains an extension facility. Preferences for extensions can be " "changed with the Extensions tab of the preferences dialog. See the beginning " @@ -2062,3 +2037,121 @@ msgstr "" "preferencias. Lea el inicio de config-extensions.def en la carpeta idlelib " "para obtener más información. La única extensión utilizada actualmente por " "defecto es zzdummy, un ejemplo que también se utiliza para realizar pruebas." + +#~ msgid "" +#~ "Completions are supplied for functions, classes, and attributes of " +#~ "classes, both built-in and user-defined. Completions are also provided " +#~ "for filenames." +#~ msgstr "" +#~ "Se proporciona terminaciones para funciones, clases y atributos de " +#~ "clases, tanto integrados como definidos por el usuario. También se " +#~ "proporciona terminaciones para nombres de archivo." + +#~ msgid "" +#~ "The AutoCompleteWindow (ACW) will open after a predefined delay (default " +#~ "is two seconds) after a '.' or (in a string) an os.sep is typed. If after " +#~ "one of those characters (plus zero or more other characters) a tab is " +#~ "typed the ACW will open immediately if a possible continuation is found." +#~ msgstr "" +#~ "La ventana de autocompletamiento (ACW, por la traducción de " +#~ "AutoCompleteWindow) se abrirá después de un retraso predefinido (el valor " +#~ "predeterminado es dos segundos) después de un '.' o (en una cadena de " +#~ "caracteres) si es escrito os.sep. Si después de uno de esos caracteres " +#~ "(más cero o varios caracteres más) un tab es escrito, ACW se abrirá " +#~ "inmediatamente si se encuentra una posible continuación." + +#~ msgid "" +#~ "If there is only one possible completion for the characters entered, a :" +#~ "kbd:`Tab` will supply that completion without opening the ACW." +#~ msgstr "" +#~ "Si solo hay una posible terminación para los caracteres ingresados, un :" +#~ "kbd:`Tab` proporcionará esa terminación sin abrir el ACW." + +#~ msgid "" +#~ "'Show Completions' will force open a completions window, by default the :" +#~ "kbd:`C-space` will open a completions window. In an empty string, this " +#~ "will contain the files in the current directory. On a blank line, it will " +#~ "contain the built-in and user-defined functions and classes in the " +#~ "current namespaces, plus any modules imported. If some characters have " +#~ "been entered, the ACW will attempt to be more specific." +#~ msgstr "" +#~ "'Mostrar terminaciones' forzará la apertura de una ventana de " +#~ "terminaciones, por defecto :kbd:`C-space` abrirá una ventana de " +#~ "terminaciones. En una cadena de caracteres vacía, esto contendrá los " +#~ "archivos en el directorio actual. En una línea en blanco, contendrá las " +#~ "funciones y clases incorporadas y definidas por el usuario en los " +#~ "espacios de nombres actuales además de cualquier módulo importado. Si se " +#~ "han ingresado algunos caracteres, el ACW intentará ser más específico." + +#~ msgid "" +#~ "If a string of characters is typed, the ACW selection will jump to the " +#~ "entry most closely matching those characters. Entering a :kbd:`tab` will " +#~ "cause the longest non-ambiguous match to be entered in the Editor window " +#~ "or Shell. Two :kbd:`tab` in a row will supply the current ACW selection, " +#~ "as will return or a double click. Cursor keys, Page Up/Down, mouse " +#~ "selection, and the scroll wheel all operate on the ACW." +#~ msgstr "" +#~ "Si se escribe una cadena de caracteres, la selección de ACW saltará a la " +#~ "entrada que más se aproxime a esos caracteres. Ingresando un :kbd:`tab` " +#~ "causará que sea ingresada la coincidencia no ambigua más larga en la " +#~ "ventana del editor o en el shell. Dos :kbd:`tab` en una fila " +#~ "proporcionará la selección ACW actual, tal como retornar o un doble " +#~ "click. Las teclas del cursor, el avance/retroceso de página, la " +#~ "selección del ratón y la rueda de desplazamiento, todas funcionan en el " +#~ "ACW." + +#~ msgid "" +#~ "\"Hidden\" attributes can be accessed by typing the beginning of hidden " +#~ "name after a '.', e.g. '_'. This allows access to modules with " +#~ "``__all__`` set, or to class-private attributes." +#~ msgstr "" +#~ "Se puede acceder a los atributos \"ocultos\" escribiendo al comienzo del " +#~ "nombre oculto después de un '.', por ejemplo: '_'. Esto permite acceder a " +#~ "módulos con el conjunto ``__all__`` o a atributos privados de clase." + +#~ msgid "Completions and the 'Expand Word' facility can save a lot of typing!" +#~ msgstr "" +#~ "¡Las terminaciones y la función 'Expandir palabra' pueden ahorrar mucha " +#~ "escritura!" + +#~ msgid "" +#~ "Completions are currently limited to those in the namespaces. Names in an " +#~ "Editor window which are not via ``__main__`` and :data:`sys.modules` will " +#~ "not be found. Run the module once with your imports to correct this " +#~ "situation. Note that IDLE itself places quite a few modules in sys." +#~ "modules, so much can be found by default, e.g. the re module." +#~ msgstr "" +#~ "Las terminaciones son limitadas actualmente a aquellas en los espacios de " +#~ "nombres. No se encontrarán los nombres en una ventana de edición que no " +#~ "provengan de ``__main__`` y :data:`sys.modules`. Ejecute el módulo una " +#~ "vez con sus importaciones para corregir esta situación. Tenga en cuenta " +#~ "que el mismo IDLE coloca algunos módulos en sys.modules, a los que se " +#~ "puede acceder por defecto, por ejemplo, el módulo re." + +#~ msgid "" +#~ "If you don't like the ACW popping up unbidden, simply make the delay " +#~ "longer or disable the extension." +#~ msgstr "" +#~ "Si no le gusta que aparezca ACW de forma inesperada, simplemente puede " +#~ "aumentar el retraso o desactivar la extensión." + +#~ msgid "" +#~ "A calltip consists of the function signature and the first line of the " +#~ "docstring. For builtins without an accessible signature, the calltip " +#~ "consists of all lines up the fifth line or the first blank line. These " +#~ "details may change." +#~ msgstr "" +#~ "Una sugerencia de llamada contiene la firma de la función y la primera " +#~ "línea de la cadena de caracteres de la documentación. Para las " +#~ "funciones incluidas por defecto sin una firma accesible, la sugerencia " +#~ "de llamadas contiene todas las líneas hasta la quinta línea o la primera " +#~ "línea vacía. Estos detalles están sujetos a cambios." + +#~ msgid "" +#~ "The set of *accessible* functions depends on what modules have been " +#~ "imported into the user process, including those imported by Idle itself, " +#~ "and what definitions have been run, all since the last restart." +#~ msgstr "" +#~ "El conjunto de funciones *accesibles* dependen de cuales módulos han sido " +#~ "importados en el proceso del usuario, incluyendo los importados por IDLE " +#~ "y de cuáles definiciones se han ejecutado, todo desde el último reinicio." diff --git a/library/imaplib.po b/library/imaplib.po index 1f33653af4..69df8f6683 100644 --- a/library/imaplib.po +++ b/library/imaplib.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-07-15 18:16-0300\n" +"Last-Translator: \n" +"Language: es_AR\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es_AR\n" -"X-Generator: Poedit 2.2.1\n" #: ../Doc/library/imaplib.rst:2 msgid ":mod:`imaplib` --- IMAP4 protocol client" @@ -53,18 +52,22 @@ msgstr "" "base:" #: ../Doc/library/imaplib.rst:35 +#, fuzzy msgid "" "This class implements the actual IMAP4 protocol. The connection is created " "and protocol version (IMAP4 or IMAP4rev1) is determined when the instance is " "initialized. If *host* is not specified, ``''`` (the local host) is used. If " -"*port* is omitted, the standard IMAP4 port (143) is used." +"*port* is omitted, the standard IMAP4 port (143) is used. The optional " +"*timeout* parameter specifies a timeout in seconds for the connection " +"attempt. If timeout is not given or is None, the global default socket " +"timeout is used." msgstr "" "Esta clase implementa el protocolo actual IMAP4. La conexión se crea y la " "versión del protocolo (IMAP4 o IMAP4rev1) se determina cuando se inicializa " "la instancia. Si no se especifica *host*, se usa ``''`` (el host local). Si " "se omite *port*, se usa el puerto IMAP4 estándar (143)." -#: ../Doc/library/imaplib.rst:40 +#: ../Doc/library/imaplib.rst:42 msgid "" "The :class:`IMAP4` class supports the :keyword:`with` statement. When used " "like this, the IMAP4 ``LOGOUT`` command is issued automatically when the :" @@ -74,15 +77,20 @@ msgstr "" "de esta manera, el comando IMAP4 ``LOGOUT`` se emite automáticamente cuando " "se cierra la declaración :keyword:`!with`. P.ej.::" -#: ../Doc/library/imaplib.rst:50 +#: ../Doc/library/imaplib.rst:52 msgid "Support for the :keyword:`with` statement was added." msgstr "Se agregó soporte para la sentencia :keyword:`with`." -#: ../Doc/library/imaplib.rst:53 +#: ../Doc/library/imaplib.rst:55 ../Doc/library/imaplib.rst:122 +#, fuzzy +msgid "The optional *timeout* parameter was added." +msgstr "*ssl_context* parámetro agregado." + +#: ../Doc/library/imaplib.rst:58 msgid "Three exceptions are defined as attributes of the :class:`IMAP4` class:" msgstr "Se definen tres excepciones como atributos de la clase :class:`IMAP4`:" -#: ../Doc/library/imaplib.rst:58 +#: ../Doc/library/imaplib.rst:63 msgid "" "Exception raised on any errors. The reason for the exception is passed to " "the constructor as a string." @@ -90,7 +98,7 @@ msgstr "" "Excepción lanzada por cualquier error. El motivo de la excepción se pasa al " "constructor como una cadena de caracteres." -#: ../Doc/library/imaplib.rst:64 +#: ../Doc/library/imaplib.rst:69 msgid "" "IMAP4 server errors cause this exception to be raised. This is a sub-class " "of :exc:`IMAP4.error`. Note that closing the instance and instantiating a " @@ -101,7 +109,7 @@ msgstr "" "instancia e instanciar una nueva generalmente permitirá la recuperación de " "esta excepción." -#: ../Doc/library/imaplib.rst:71 +#: ../Doc/library/imaplib.rst:76 msgid "" "This exception is raised when a writable mailbox has its status changed by " "the server. This is a sub-class of :exc:`IMAP4.error`. Some other client " @@ -113,11 +121,11 @@ msgstr "" "cliente ahora tiene permiso de escritura y será necesario volver a abrir el " "buzón para volver a obtener el permiso de escritura." -#: ../Doc/library/imaplib.rst:77 +#: ../Doc/library/imaplib.rst:82 msgid "There's also a subclass for secure connections:" msgstr "También hay una subclase para conexiones seguras:" -#: ../Doc/library/imaplib.rst:83 +#: ../Doc/library/imaplib.rst:88 msgid "" "This is a subclass derived from :class:`IMAP4` that connects over an SSL " "encrypted socket (to use this class you need a socket module that was " @@ -137,7 +145,7 @@ msgstr "" "estructura única (potencialmente de larga duración). Leer :ref:`ssl-" "security` para conocer las mejores prácticas." -#: ../Doc/library/imaplib.rst:92 +#: ../Doc/library/imaplib.rst:97 msgid "" "*keyfile* and *certfile* are a legacy alternative to *ssl_context* - they " "can point to PEM-formatted private key and certificate chain files for the " @@ -152,11 +160,19 @@ msgstr "" "`ValueError` se lanzará si *keyfile*/*certfile* se proporciona junto con " "*ssl_context*." -#: ../Doc/library/imaplib.rst:98 -msgid "*ssl_context* parameter added." +#: ../Doc/library/imaplib.rst:103 +msgid "" +"The optional *timeout* parameter specifies a timeout in seconds for the " +"connection attempt. If timeout is not given or is None, the global default " +"socket timeout is used." +msgstr "" + +#: ../Doc/library/imaplib.rst:107 +#, fuzzy +msgid "*ssl_context* parameter was added." msgstr "*ssl_context* parámetro agregado." -#: ../Doc/library/imaplib.rst:101 +#: ../Doc/library/imaplib.rst:110 msgid "" "The class now supports hostname check with :attr:`ssl.SSLContext." "check_hostname` and *Server Name Indication* (see :data:`ssl.HAS_SNI`)." @@ -165,7 +181,7 @@ msgstr "" "SSLContext.check_hostname` y *Server Name Indication* (ver :data:`ssl." "HAS_SNI`)." -#: ../Doc/library/imaplib.rst:108 +#: ../Doc/library/imaplib.rst:117 msgid "" "*keyfile* and *certfile* are deprecated in favor of *ssl_context*. Please " "use :meth:`ssl.SSLContext.load_cert_chain` instead, or let :func:`ssl." @@ -176,11 +192,11 @@ msgstr "" "create_default_context` seleccione los certificados CA de confianza del " "sistema para usted." -#: ../Doc/library/imaplib.rst:114 +#: ../Doc/library/imaplib.rst:125 msgid "The second subclass allows for connections created by a child process:" msgstr "La segunda subclase permite conexiones creadas por un proceso hijo:" -#: ../Doc/library/imaplib.rst:119 +#: ../Doc/library/imaplib.rst:130 msgid "" "This is a subclass derived from :class:`IMAP4` that connects to the ``stdin/" "stdout`` file descriptors created by passing *command* to ``subprocess." @@ -190,11 +206,11 @@ msgstr "" "descriptores de archivo ``stdin/stdout`` creados al pasar *command* a " "``subprocess.Popen ()``." -#: ../Doc/library/imaplib.rst:124 +#: ../Doc/library/imaplib.rst:135 msgid "The following utility functions are defined:" msgstr "Se definen las siguientes funciones de utilidad:" -#: ../Doc/library/imaplib.rst:129 +#: ../Doc/library/imaplib.rst:140 msgid "" "Parse an IMAP4 ``INTERNALDATE`` string and return corresponding local time. " "The return value is a :class:`time.struct_time` tuple or ``None`` if the " @@ -205,21 +221,22 @@ msgstr "" "struct_time` o ``None`` si la cadena de caracteres tiene un formato " "incorrecto." -#: ../Doc/library/imaplib.rst:135 +#: ../Doc/library/imaplib.rst:146 +#, fuzzy msgid "" -"Converts an integer into a string representation using characters from the " +"Converts an integer into a bytes representation using characters from the " "set [``A`` .. ``P``]." msgstr "" "Convierte un número entero en una representación de cadena de caracteres " "utilizando caracteres del conjunto [``A`` .. ``P``]." -#: ../Doc/library/imaplib.rst:141 +#: ../Doc/library/imaplib.rst:152 msgid "Converts an IMAP4 ``FLAGS`` response to a tuple of individual flags." msgstr "" "Convierte una respuesta IMAP4 ``FLAGS`` a una tupla de indicadores " "individuales." -#: ../Doc/library/imaplib.rst:146 +#: ../Doc/library/imaplib.rst:157 msgid "" "Convert *date_time* to an IMAP4 ``INTERNALDATE`` representation. The return " "value is a string in the form: ``\"DD-Mmm-YYYY HH:MM:SS +HHMM\"`` (including " @@ -240,7 +257,7 @@ msgstr "" "datetime`, o una cadena de caracteres entre comillas dobles. En el último " "caso, se supone que ya está en el formato correcto." -#: ../Doc/library/imaplib.rst:156 +#: ../Doc/library/imaplib.rst:167 msgid "" "Note that IMAP4 message numbers change as the mailbox changes; in " "particular, after an ``EXPUNGE`` command performs deletions the remaining " @@ -252,7 +269,7 @@ msgstr "" "realiza eliminaciones, los mensajes restantes se vuelven a numerar. Por lo " "tanto, es muy recomendable usar UIDs en su lugar, con el comando UID." -#: ../Doc/library/imaplib.rst:160 +#: ../Doc/library/imaplib.rst:171 msgid "" "At the end of the module, there is a test section that contains a more " "extensive example of usage." @@ -260,21 +277,18 @@ msgstr "" "Al final del módulo, hay una sección de prueba que contiene un ejemplo más " "extenso de uso." -#: ../Doc/library/imaplib.rst:166 +#: ../Doc/library/imaplib.rst:177 msgid "" -"Documents describing the protocol, and sources and binaries for servers " -"implementing it, can all be found at the University of Washington's *IMAP " -"Information Center* (https://www.washington.edu/imap/)." +"Documents describing the protocol, sources for servers implementing it, by " +"the University of Washington's IMAP Information Center can all be found at " +"(**Source Code**) https://github.com/uw-imap/imap (**Not Maintained**)." msgstr "" -"Los documentos que describen el protocolo, las fuentes y binarios para los " -"servidores que lo implementan, se pueden encontrar en el *IMAP Information " -"Center* de la Universidad de *Washington* (https://www.washington.edu/imap/)." -#: ../Doc/library/imaplib.rst:174 +#: ../Doc/library/imaplib.rst:185 msgid "IMAP4 Objects" msgstr "Objetos de IMAP4" -#: ../Doc/library/imaplib.rst:176 +#: ../Doc/library/imaplib.rst:187 msgid "" "All IMAP4rev1 commands are represented by methods of the same name, either " "upper-case or lower-case." @@ -282,7 +296,7 @@ msgstr "" "Todos los comandos IMAP4rev1 están representados por métodos del mismo " "nombre, mayúsculas o minúsculas." -#: ../Doc/library/imaplib.rst:179 +#: ../Doc/library/imaplib.rst:190 msgid "" "All arguments to commands are converted to strings, except for " "``AUTHENTICATE``, and the last argument to ``APPEND`` which is passed as an " @@ -302,12 +316,13 @@ msgstr "" "una cadena de argumento (por ejemplo: el argumento *flags* para ``STORE``), " "encierre la cadena entre paréntesis (por ejemplo: ``r'(\\Deleted)'``)." -#: ../Doc/library/imaplib.rst:187 +#: ../Doc/library/imaplib.rst:198 +#, fuzzy msgid "" "Each command returns a tuple: ``(type, [data, ...])`` where *type* is " "usually ``'OK'`` or ``'NO'``, and *data* is either the text from the command " "response, or mandated results from the command. Each *data* is either a " -"string, or a tuple. If a tuple, then the first part is the header of the " +"``bytes``, or a tuple. If a tuple, then the first part is the header of the " "response, and the second part contains the data (ie: 'literal' value)." msgstr "" "Cada comando retorna una tupla: ``(type, [data, ...])`` donde *type* suele " @@ -317,7 +332,7 @@ msgstr "" "respuesta, y la segunda parte contiene los datos (es decir, el valor " "'literal')." -#: ../Doc/library/imaplib.rst:193 +#: ../Doc/library/imaplib.rst:204 msgid "" "The *message_set* options to commands below is a string specifying one or " "more messages to be acted upon. It may be a simple message number " @@ -332,19 +347,19 @@ msgstr "" "(``'1:3,6:9'``). Un rango puede contener un asterisco para indicar un límite " "superior infinito (``'3:*'``)." -#: ../Doc/library/imaplib.rst:199 +#: ../Doc/library/imaplib.rst:210 msgid "An :class:`IMAP4` instance has the following methods:" msgstr "Una instancia de :class:`IMAP4` tiene los siguientes métodos:" -#: ../Doc/library/imaplib.rst:204 +#: ../Doc/library/imaplib.rst:215 msgid "Append *message* to named mailbox." msgstr "Agregar *mensaje* al buzón de correo con nombre." -#: ../Doc/library/imaplib.rst:209 +#: ../Doc/library/imaplib.rst:220 msgid "Authenticate command --- requires response processing." msgstr "Autenticar comando --- requiere procesamiento de respuesta." -#: ../Doc/library/imaplib.rst:211 +#: ../Doc/library/imaplib.rst:222 msgid "" "*mechanism* specifies which authentication mechanism is to be used - it " "should appear in the instance variable ``capabilities`` in the form " @@ -354,11 +369,11 @@ msgstr "" "aparecer en la variable de instancia ``capabilities`` en la forma " "``AUTH=mechanism``." -#: ../Doc/library/imaplib.rst:214 +#: ../Doc/library/imaplib.rst:225 msgid "*authobject* must be a callable object::" msgstr "*authobject* debe ser un objeto invocable::" -#: ../Doc/library/imaplib.rst:218 +#: ../Doc/library/imaplib.rst:229 msgid "" "It will be called to process server continuation responses; the *response* " "argument it is passed will be ``bytes``. It should return ``bytes`` *data* " @@ -371,7 +386,7 @@ msgstr "" "retornar ``None`` si la respuesta de cancelación de cliente ``*`` se debe " "enviar en su lugar." -#: ../Doc/library/imaplib.rst:223 +#: ../Doc/library/imaplib.rst:234 msgid "" "string usernames and passwords are now encoded to ``utf-8`` instead of being " "limited to ASCII." @@ -379,11 +394,11 @@ msgstr "" "los nombres de usuario y las contraseñas de cadena de caracteres ahora están " "codificados para ``utf-8`` en lugar de limitarse a ASCII." -#: ../Doc/library/imaplib.rst:230 +#: ../Doc/library/imaplib.rst:241 msgid "Checkpoint mailbox on server." msgstr "Control del buzón de correo en el servidor." -#: ../Doc/library/imaplib.rst:235 +#: ../Doc/library/imaplib.rst:246 msgid "" "Close currently selected mailbox. Deleted messages are removed from writable " "mailbox. This is the recommended command before ``LOGOUT``." @@ -392,25 +407,25 @@ msgstr "" "se eliminan del buzón de correo de escritura. Este es el comando recomendado " "antes de ``LOGOUT``." -#: ../Doc/library/imaplib.rst:241 +#: ../Doc/library/imaplib.rst:252 msgid "Copy *message_set* messages onto end of *new_mailbox*." msgstr "Copia mensajes *message_set* al final de *new_mailbox*." -#: ../Doc/library/imaplib.rst:246 +#: ../Doc/library/imaplib.rst:257 msgid "Create new mailbox named *mailbox*." msgstr "Crea un nuevo buzón de correo llamado *mailbox*." -#: ../Doc/library/imaplib.rst:251 +#: ../Doc/library/imaplib.rst:262 msgid "Delete old mailbox named *mailbox*." msgstr "Elimina el buzón de correo antiguo llamado *mailbox*." -#: ../Doc/library/imaplib.rst:256 +#: ../Doc/library/imaplib.rst:267 msgid "Delete the ACLs (remove any rights) set for who on mailbox." msgstr "" "Elimina las ACLs (elimina cualquier derecho) establecidas para quién en el " "buzón de correo." -#: ../Doc/library/imaplib.rst:261 +#: ../Doc/library/imaplib.rst:272 msgid "" "Enable *capability* (see :rfc:`5161`). Most capabilities do not need to be " "enabled. Currently only the ``UTF8=ACCEPT`` capability is supported (see :" @@ -420,11 +435,11 @@ msgstr "" "necesitan estar habilitadas. Actualmente solo esta soportada la capacidad " "``UTF8=ACCEPT`` (consulte :RFC:`6855`)." -#: ../Doc/library/imaplib.rst:265 +#: ../Doc/library/imaplib.rst:276 msgid "The :meth:`enable` method itself, and :RFC:`6855` support." msgstr "El método :meth:`enable` en sí, y soporte :RFC:`6855`." -#: ../Doc/library/imaplib.rst:271 +#: ../Doc/library/imaplib.rst:282 msgid "" "Permanently remove deleted items from selected mailbox. Generates an " "``EXPUNGE`` response for each deleted message. Returned data contains a list " @@ -435,7 +450,7 @@ msgstr "" "Los datos retornados contienen una lista de números de mensaje ``EXPUNGE`` " "en el orden recibido." -#: ../Doc/library/imaplib.rst:278 +#: ../Doc/library/imaplib.rst:289 msgid "" "Fetch (parts of) messages. *message_parts* should be a string of message " "part names enclosed within parentheses, eg: ``\"(UID BODY[TEXT])\"``. " @@ -446,7 +461,7 @@ msgstr "" "BODY[TEXT])\"``. Los datos retornados son una tupla de mensaje parte sobre y " "datos." -#: ../Doc/library/imaplib.rst:285 +#: ../Doc/library/imaplib.rst:296 msgid "" "Get the ``ACL``\\ s for *mailbox*. The method is non-standard, but is " "supported by the ``Cyrus`` server." @@ -454,7 +469,7 @@ msgstr "" "Obtiene la ``ACL``\\ s para *mailbox*. El método no es estándar, pero es " "compatible con el servidor ``Cyrus``." -#: ../Doc/library/imaplib.rst:291 +#: ../Doc/library/imaplib.rst:302 msgid "" "Retrieve the specified ``ANNOTATION``\\ s for *mailbox*. The method is non-" "standard, but is supported by the ``Cyrus`` server." @@ -462,7 +477,7 @@ msgstr "" "Recupera la ``ANNOTATION``\\ s especificada para *mailbox*. El método no es " "estándar, pero es compatible con el servidor ``Cyrus``." -#: ../Doc/library/imaplib.rst:297 +#: ../Doc/library/imaplib.rst:308 msgid "" "Get the ``quota`` *root*'s resource usage and limits. This method is part of " "the IMAP4 QUOTA extension defined in rfc2087." @@ -470,7 +485,7 @@ msgstr "" "Obtiene el uso y los límites de los recursos de la ``quota`` de *root*. Este " "método es parte de la extensión IMAP4 QUOTA definida en rfc2087." -#: ../Doc/library/imaplib.rst:303 +#: ../Doc/library/imaplib.rst:314 msgid "" "Get the list of ``quota`` ``roots`` for the named *mailbox*. This method is " "part of the IMAP4 QUOTA extension defined in rfc2087." @@ -478,7 +493,7 @@ msgstr "" "Obtiene la lista de ``quota`` ``roots`` para el nombrado *mailbox*. Este " "método es parte de la extensión IMAP4 QUOTA definida en rfc2087." -#: ../Doc/library/imaplib.rst:309 +#: ../Doc/library/imaplib.rst:320 msgid "" "List mailbox names in *directory* matching *pattern*. *directory* defaults " "to the top-level mail folder, and *pattern* defaults to match anything. " @@ -489,7 +504,7 @@ msgstr "" "superior, y *pattern* por defecto coincide con cualquier cosa. Los datos " "retornados contienen una lista de respuestas ``LIST``." -#: ../Doc/library/imaplib.rst:316 +#: ../Doc/library/imaplib.rst:327 msgid "" "Identify the client using a plaintext password. The *password* will be " "quoted." @@ -497,7 +512,7 @@ msgstr "" "Identifica al cliente con una contraseña de texto sin formato. El *password* " "será citado." -#: ../Doc/library/imaplib.rst:321 +#: ../Doc/library/imaplib.rst:332 msgid "" "Force use of ``CRAM-MD5`` authentication when identifying the client to " "protect the password. Will only work if the server ``CAPABILITY`` response " @@ -507,17 +522,17 @@ msgstr "" "para proteger la contraseña. Solo funcionará si la respuesta ``CAPABILITY'' " "del servidor incluye la frase ``AUTH=CRAM-MD5``." -#: ../Doc/library/imaplib.rst:328 +#: ../Doc/library/imaplib.rst:339 msgid "Shutdown connection to server. Returns server ``BYE`` response." msgstr "" "Cierra la conexión al servidor. Retorna la respuesta ``BYE`` desde el " "servidor ." -#: ../Doc/library/imaplib.rst:330 +#: ../Doc/library/imaplib.rst:341 msgid "The method no longer ignores silently arbitrary exceptions." msgstr "El método ya no ignora las excepciones silenciosamente arbitrarias." -#: ../Doc/library/imaplib.rst:336 +#: ../Doc/library/imaplib.rst:347 msgid "" "List subscribed mailbox names in directory matching pattern. *directory* " "defaults to the top level directory and *pattern* defaults to match any " @@ -528,35 +543,34 @@ msgstr "" "nivel superior y *pattern* por defecto para que coincida con cualquier buzón " "de correo. Los datos retornados son una tupla de mensaje parte sobre y datos." -#: ../Doc/library/imaplib.rst:343 +#: ../Doc/library/imaplib.rst:354 msgid "Show my ACLs for a mailbox (i.e. the rights that I have on mailbox)." msgstr "" "Muestra mis ACLs para un buzón de correo (es decir, los derechos que tengo " "sobre el buzón de correo)." -#: ../Doc/library/imaplib.rst:348 +#: ../Doc/library/imaplib.rst:359 msgid "Returns IMAP namespaces as defined in :rfc:`2342`." msgstr "Retorna espacios de nombres IMAP como se define en :rfc:`2342`." -#: ../Doc/library/imaplib.rst:353 +#: ../Doc/library/imaplib.rst:364 msgid "Send ``NOOP`` to server." msgstr "Envía ``NOOP`` al servidor." -#: ../Doc/library/imaplib.rst:358 +#: ../Doc/library/imaplib.rst:369 msgid "" -"Opens socket to *port* at *host*. This method is implicitly called by the :" -"class:`IMAP4` constructor. The connection objects established by this " -"method will be used in the :meth:`IMAP4.read`, :meth:`IMAP4.readline`, :meth:" -"`IMAP4.send`, and :meth:`IMAP4.shutdown` methods. You may override this " +"Opens socket to *port* at *host*. The optional *timeout* parameter specifies " +"a timeout in seconds for the connection attempt. If timeout is not given or " +"is None, the global default socket timeout is used. Also note that if the " +"*timeout* parameter is set to be zero, it will raise a :class:`ValueError` " +"to reject creating a non-blocking socket. This method is implicitly called " +"by the :class:`IMAP4` constructor. The connection objects established by " +"this method will be used in the :meth:`IMAP4.read`, :meth:`IMAP4.readline`, :" +"meth:`IMAP4.send`, and :meth:`IMAP4.shutdown` methods. You may override this " "method." msgstr "" -"Abre el socket al *port* en *host*. Este método lo llama implícitamente al " -"constructor :class:`IMAP4`. Los objetos de conexión establecidos por este " -"método se utilizarán en los métodos :meth:`IMAP4.read`, :meth:`IMAP4." -"readline`, :meth:`IMAP4.send` e :meth:`IMAP4.shutdown`. Podemos sobrescribir " -"este método." -#: ../Doc/library/imaplib.rst:364 +#: ../Doc/library/imaplib.rst:379 msgid "" "Raises an :ref:`auditing event ` ``imaplib.open`` with arguments " "``self``, ``host``, ``port``." @@ -564,7 +578,12 @@ msgstr "" "Genera un :ref:`evento de auditoría ` ``imaplib.open`` con " "argumentos ``self``, ``host``, ``port``." -#: ../Doc/library/imaplib.rst:369 +#: ../Doc/library/imaplib.rst:381 +#, fuzzy +msgid "The *timeout* parameter was added." +msgstr "*ssl_context* parámetro agregado." + +#: ../Doc/library/imaplib.rst:386 msgid "" "Fetch truncated part of a message. Returned data is a tuple of message part " "envelope and data." @@ -572,7 +591,7 @@ msgstr "" "Obtiene partes truncadas de un mensaje. Los datos retornados son una tupla " "de mensaje parte sobre y datos." -#: ../Doc/library/imaplib.rst:375 +#: ../Doc/library/imaplib.rst:392 msgid "" "Assume authentication as *user*. Allows an authorised administrator to proxy " "into any user's mailbox." @@ -580,17 +599,17 @@ msgstr "" "Asume la autenticación como *user*. Permite a un administrador autorizado " "hacer un proxy en el buzón de correo de cualquier usuario." -#: ../Doc/library/imaplib.rst:381 +#: ../Doc/library/imaplib.rst:398 msgid "" "Reads *size* bytes from the remote server. You may override this method." msgstr "" "Lee *size* bytes del servidor remoto. Podemos sobrescribir este método." -#: ../Doc/library/imaplib.rst:386 +#: ../Doc/library/imaplib.rst:403 msgid "Reads one line from the remote server. You may override this method." msgstr "Lee una línea del servidor remoto. Podemos sobrescribir este método." -#: ../Doc/library/imaplib.rst:391 +#: ../Doc/library/imaplib.rst:408 msgid "" "Prompt server for an update. Returned data is ``None`` if no new messages, " "else value of ``RECENT`` response." @@ -598,12 +617,12 @@ msgstr "" "Solicita al servidor una actualización. Los datos retornados son ``None`` si " "no hay mensajes nuevos, de lo contrario el valor de respuesta es ``RECENT``." -#: ../Doc/library/imaplib.rst:397 +#: ../Doc/library/imaplib.rst:414 msgid "Rename mailbox named *oldmailbox* to *newmailbox*." msgstr "" "Cambia el nombre del buzón de correo llamado *oldmailbox* a *newmailbox*." -#: ../Doc/library/imaplib.rst:402 +#: ../Doc/library/imaplib.rst:419 msgid "" "Return data for response *code* if received, or ``None``. Returns the given " "code, instead of the usual type." @@ -611,7 +630,7 @@ msgstr "" "Retorna los datos para la respuesta *code* si se recibió, o ``None``. " "Retorna el código dado, en lugar del tipo habitual." -#: ../Doc/library/imaplib.rst:408 +#: ../Doc/library/imaplib.rst:425 msgid "" "Search mailbox for matching messages. *charset* may be ``None``, in which " "case no ``CHARSET`` will be specified in the request to the server. The " @@ -627,11 +646,11 @@ msgstr "" "*charset* debe ser ``None`` si la capacidad ``UTF8=ACCEPT`` se habilitó " "utilizando el comando :meth:`enable`." -#: ../Doc/library/imaplib.rst:415 +#: ../Doc/library/imaplib.rst:432 msgid "Example::" msgstr "Ejemplo::" -#: ../Doc/library/imaplib.rst:426 +#: ../Doc/library/imaplib.rst:443 msgid "" "Select a mailbox. Returned data is the count of messages in *mailbox* " "(``EXISTS`` response). The default *mailbox* is ``'INBOX'``. If the " @@ -642,11 +661,11 @@ msgstr "" "``'INBOX'``. Si se establece el indicador *readonly*, no se permiten " "modificaciones en el buzón de correo." -#: ../Doc/library/imaplib.rst:433 +#: ../Doc/library/imaplib.rst:450 msgid "Sends ``data`` to the remote server. You may override this method." msgstr "Envía ``data`` al servidor remoto. Podemos sobrescribir este método." -#: ../Doc/library/imaplib.rst:435 +#: ../Doc/library/imaplib.rst:452 msgid "" "Raises an :ref:`auditing event ` ``imaplib.send`` with arguments " "``self``, ``data``." @@ -654,7 +673,7 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``imaplib.send`` con " "argumentos ``self``, ``data``." -#: ../Doc/library/imaplib.rst:440 +#: ../Doc/library/imaplib.rst:457 msgid "" "Set an ``ACL`` for *mailbox*. The method is non-standard, but is supported " "by the ``Cyrus`` server." @@ -662,7 +681,7 @@ msgstr "" "Establece una ``ACL`` para *mailbox*. El método no es estándar, pero es " "compatible con el servidor ``Cyrus``." -#: ../Doc/library/imaplib.rst:446 +#: ../Doc/library/imaplib.rst:463 msgid "" "Set ``ANNOTATION``\\ s for *mailbox*. The method is non-standard, but is " "supported by the ``Cyrus`` server." @@ -670,7 +689,7 @@ msgstr "" "Establece ``ANNOTATION``\\ s para *mailbox*. El método no es estándar, pero " "es compatible con el servidor ``Cyrus``." -#: ../Doc/library/imaplib.rst:452 +#: ../Doc/library/imaplib.rst:469 msgid "" "Set the ``quota`` *root*'s resource *limits*. This method is part of the " "IMAP4 QUOTA extension defined in rfc2087." @@ -678,7 +697,7 @@ msgstr "" "Establece los recursos *limits* de la ``quota`` de los *root*. Este método " "es parte de la extensión IMAP4 QUOTA definida en rfc2087." -#: ../Doc/library/imaplib.rst:458 +#: ../Doc/library/imaplib.rst:475 msgid "" "Close connection established in ``open``. This method is implicitly called " "by :meth:`IMAP4.logout`. You may override this method." @@ -686,11 +705,11 @@ msgstr "" "Cierra la conexión establecida en ``open``. Este método es llamado " "implícitamente por :meth:`IMAP4.logout`. Podemos sobrescribir este método." -#: ../Doc/library/imaplib.rst:464 +#: ../Doc/library/imaplib.rst:481 msgid "Returns socket instance used to connect to server." msgstr "Retorna la instancia de socket utilizada para conectarse al servidor." -#: ../Doc/library/imaplib.rst:469 +#: ../Doc/library/imaplib.rst:486 msgid "" "The ``sort`` command is a variant of ``search`` with sorting semantics for " "the results. Returned data contains a space separated list of matching " @@ -700,7 +719,7 @@ msgstr "" "clasificación para los resultados. Los datos retornados contienen una lista " "separada por espacios de números de mensajes coincidentes." -#: ../Doc/library/imaplib.rst:473 +#: ../Doc/library/imaplib.rst:490 msgid "" "Sort has two arguments before the *search_criterion* argument(s); a " "parenthesized list of *sort_criteria*, and the searching *charset*. Note " @@ -721,11 +740,11 @@ msgstr "" "*charset* para la interpretación de cadenas de caracteres en los criterios " "de búsqueda. Luego retorna los números de mensajes coincidentes." -#: ../Doc/library/imaplib.rst:482 ../Doc/library/imaplib.rst:553 +#: ../Doc/library/imaplib.rst:499 ../Doc/library/imaplib.rst:570 msgid "This is an ``IMAP4rev1`` extension command." msgstr "Este es un comando de extensión ``IMAP4rev1``." -#: ../Doc/library/imaplib.rst:487 +#: ../Doc/library/imaplib.rst:504 msgid "" "Send a ``STARTTLS`` command. The *ssl_context* argument is optional and " "should be a :class:`ssl.SSLContext` object. This will enable encryption on " @@ -735,7 +754,7 @@ msgstr "" "ser un objeto :class:`ssl.SSLContext`. Esto habilitará el cifrado en la " "conexión IMAP. Leer :ref:`ssl-security` para conocer las mejores prácticas." -#: ../Doc/library/imaplib.rst:494 +#: ../Doc/library/imaplib.rst:511 msgid "" "The method now supports hostname check with :attr:`ssl.SSLContext." "check_hostname` and *Server Name Indication* (see :data:`ssl.HAS_SNI`)." @@ -744,11 +763,11 @@ msgstr "" "SSLContext.check_hostname` y *Server Name Indication* (ver :data:`ssl." "HAS_SNI`)." -#: ../Doc/library/imaplib.rst:502 +#: ../Doc/library/imaplib.rst:519 msgid "Request named status conditions for *mailbox*." msgstr "Solicita condiciones de estado con nombre para *mailbox*." -#: ../Doc/library/imaplib.rst:507 +#: ../Doc/library/imaplib.rst:524 msgid "" "Alters flag dispositions for messages in mailbox. *command* is specified by " "section 6.4.6 of :rfc:`2060` as being one of \"FLAGS\", \"+FLAGS\", or \"-" @@ -759,13 +778,13 @@ msgstr "" "siendo como uno de \"FLAGS\", \"+FLAGS\" o \"-FLAGS\", opcionalmente con un " "sufijo \".SILENT\"." -#: ../Doc/library/imaplib.rst:511 +#: ../Doc/library/imaplib.rst:528 msgid "For example, to set the delete flag on all messages::" msgstr "" "Por ejemplo, para establecer el indicador de eliminación en todos los " "mensajes::" -#: ../Doc/library/imaplib.rst:520 +#: ../Doc/library/imaplib.rst:537 msgid "" "Creating flags containing ']' (for example: \"[test]\") violates :rfc:`3501` " "(the IMAP protocol). However, imaplib has historically allowed creation of " @@ -787,11 +806,11 @@ msgstr "" "3.6, las maneja si se envían desde el servidor, ya que esto mejora la " "compatibilidad en el mundo real." -#: ../Doc/library/imaplib.rst:532 +#: ../Doc/library/imaplib.rst:549 msgid "Subscribe to new mailbox." msgstr "Suscribe al nuevo buzón de correo." -#: ../Doc/library/imaplib.rst:537 +#: ../Doc/library/imaplib.rst:554 msgid "" "The ``thread`` command is a variant of ``search`` with threading semantics " "for the results. Returned data contains a space separated list of thread " @@ -801,7 +820,7 @@ msgstr "" "para los resultados. Los datos retornados contienen una lista de miembros de " "hilos separados por espacios." -#: ../Doc/library/imaplib.rst:540 +#: ../Doc/library/imaplib.rst:557 msgid "" "Thread members consist of zero or more messages numbers, delimited by " "spaces, indicating successive parent and child." @@ -809,7 +828,7 @@ msgstr "" "Los miembros de del hilo (*thread*) consisten en cero o más números de " "mensajes, delimitados por espacios, que indican sucesivos padres e hijos." -#: ../Doc/library/imaplib.rst:543 +#: ../Doc/library/imaplib.rst:560 msgid "" "Thread has two arguments before the *search_criterion* argument(s); a " "*threading_algorithm*, and the searching *charset*. Note that unlike " @@ -832,7 +851,7 @@ msgstr "" "retorna los mensajes coincidentes enfilados según el algoritmo de subproceso " "especificado." -#: ../Doc/library/imaplib.rst:558 +#: ../Doc/library/imaplib.rst:575 msgid "" "Execute command args with messages identified by UID, rather than message " "number. Returns response appropriate to command. At least one argument " @@ -844,11 +863,19 @@ msgstr "" "proporcionar al menos un argumento; Si no se proporciona ninguno, el " "servidor retornará un error y se lanzará una excepción." -#: ../Doc/library/imaplib.rst:566 +#: ../Doc/library/imaplib.rst:583 msgid "Unsubscribe from old mailbox." msgstr "Darse de baja del antiguo buzón de correo." -#: ../Doc/library/imaplib.rst:571 +#: ../Doc/library/imaplib.rst:587 +msgid "" +":meth:`imaplib.IMAP4.unselect` frees server's resources associated with the " +"selected mailbox and returns the server to the authenticated state. This " +"command performs the same actions as :meth:`imaplib.IMAP4.close`, except " +"that no messages are permanently removed from the currently selected mailbox." +msgstr "" + +#: ../Doc/library/imaplib.rst:597 msgid "" "Allow simple extension commands notified by server in ``CAPABILITY`` " "response." @@ -856,11 +883,11 @@ msgstr "" "Permite comandos de extensión simples notificados por el servidor en la " "respuesta ``CAPABILITY``." -#: ../Doc/library/imaplib.rst:574 +#: ../Doc/library/imaplib.rst:600 msgid "The following attributes are defined on instances of :class:`IMAP4`:" msgstr "Los siguientes atributos se definen en instancias de :class:`IMAP4`:" -#: ../Doc/library/imaplib.rst:578 +#: ../Doc/library/imaplib.rst:604 msgid "" "The most recent supported protocol in the ``CAPABILITY`` response from the " "server." @@ -868,7 +895,7 @@ msgstr "" "El protocolo mas recientemente admitido en la respuesta ``CAPABILITY`` desde " "el servidor." -#: ../Doc/library/imaplib.rst:584 +#: ../Doc/library/imaplib.rst:610 msgid "" "Integer value to control debugging output. The initialize value is taken " "from the module variable ``Debug``. Values greater than three trace each " @@ -878,7 +905,7 @@ msgstr "" "inicialización se toma de la variable del módulo ``Debug``. Valores mayores " "de tres rastrean cada comando." -#: ../Doc/library/imaplib.rst:590 +#: ../Doc/library/imaplib.rst:616 msgid "" "Boolean value that is normally ``False``, but is set to ``True`` if an :meth:" "`enable` command is successfully issued for the ``UTF8=ACCEPT`` capability." @@ -887,14 +914,37 @@ msgstr "" "si un comando :meth:`enable` es exitosamente emitido para la capacidad " "``UTF8=ACCEPT``." -#: ../Doc/library/imaplib.rst:600 +#: ../Doc/library/imaplib.rst:626 msgid "IMAP4 Example" msgstr "Ejemplo IMAP4" -#: ../Doc/library/imaplib.rst:602 +#: ../Doc/library/imaplib.rst:628 msgid "" "Here is a minimal example (without error checking) that opens a mailbox and " "retrieves and prints all messages::" msgstr "" "Aquí hay un ejemplo mínimo (sin verificación de errores) que abre un buzón " "de correo y recupera e imprime todos los mensajes::" + +#~ msgid "" +#~ "Documents describing the protocol, and sources and binaries for servers " +#~ "implementing it, can all be found at the University of Washington's *IMAP " +#~ "Information Center* (https://www.washington.edu/imap/)." +#~ msgstr "" +#~ "Los documentos que describen el protocolo, las fuentes y binarios para " +#~ "los servidores que lo implementan, se pueden encontrar en el *IMAP " +#~ "Information Center* de la Universidad de *Washington* (https://www." +#~ "washington.edu/imap/)." + +#~ msgid "" +#~ "Opens socket to *port* at *host*. This method is implicitly called by " +#~ "the :class:`IMAP4` constructor. The connection objects established by " +#~ "this method will be used in the :meth:`IMAP4.read`, :meth:`IMAP4." +#~ "readline`, :meth:`IMAP4.send`, and :meth:`IMAP4.shutdown` methods. You " +#~ "may override this method." +#~ msgstr "" +#~ "Abre el socket al *port* en *host*. Este método lo llama implícitamente " +#~ "al constructor :class:`IMAP4`. Los objetos de conexión establecidos por " +#~ "este método se utilizarán en los métodos :meth:`IMAP4.read`, :meth:`IMAP4." +#~ "readline`, :meth:`IMAP4.send` e :meth:`IMAP4.shutdown`. Podemos " +#~ "sobrescribir este método." diff --git a/library/imp.po b/library/imp.po index 4d0603d8dd..7a78e78524 100644 --- a/library/imp.po +++ b/library/imp.po @@ -10,18 +10,15 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-06 11:59-0400\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-08-13 15:10-0400\n" -"Last-Translator: REINNY ALMONTE reynsth@gmail.com\n" -"Language-Team: python-doc-es\n" +"Last-Translator: \n" +"Language: es_AR\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language-Team: \n" -"Language: es_AR\n" -"X-Generator: Poedit 2.4.1\n" "Generated-By: Babel 2.8.0\n" #: ../Doc/library/imp.rst:2 @@ -33,8 +30,8 @@ msgid "**Source code:** :source:`Lib/imp.py`" msgstr "**Código fuente:** :source:`Lib/imp.py`" #: ../Doc/library/imp.rst:10 -msgid "" -"The :mod:`imp` package is pending deprecation in favor of :mod:`importlib`." +#, fuzzy +msgid "The :mod:`imp` module is deprecated in favor of :mod:`importlib`." msgstr "" "El paquete :mod:`imp` está pendiente de desuso en favor de :mod:`importlib`." diff --git a/library/importlib.metadata.po b/library/importlib.metadata.po index 1105645489..906665c638 100644 --- a/library/importlib.metadata.po +++ b/library/importlib.metadata.po @@ -8,20 +8,20 @@ msgid "" msgstr "" "Project-Id-Version: Python en Español 3.7\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-10-04 22:03-0300\n" +"Last-Translator: \n" +"Language: es_AR\n" +"Language-Team: JuliKM@gmail.com\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language-Team: JuliKM@gmail.com\n" -"Language: es_AR\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/importlib.metadata.rst:5 -msgid "Using importlib.metadata" +#, fuzzy +msgid "Using :mod:`!importlib.metadata`" msgstr "Usando importlib.metadata" #: ../Doc/library/importlib.metadata.rst:8 @@ -33,12 +33,13 @@ msgstr "" "de la semántica de la librería estándar." #: ../Doc/library/importlib.metadata.rst:11 +#, fuzzy msgid "" "``importlib.metadata`` is a library that provides for access to installed " "package metadata. Built in part on Python's import system, this library " "intends to replace similar functionality in the `entry point API`_ and " -"`metadata API`_ of ``pkg_resources``. Along with ``importlib.resources`` in " -"`Python 3.7 and newer`_ (backported as `importlib_resources`_ for older " +"`metadata API`_ of ``pkg_resources``. Along with :mod:`importlib.resources` " +"in Python 3.7 and newer (backported as `importlib_resources`_ for older " "versions of Python), this can eliminate the need to use the older and less " "efficient ``pkg_resources`` package." msgstr "" @@ -53,13 +54,14 @@ msgstr "" "eficiente." #: ../Doc/library/importlib.metadata.rst:20 +#, fuzzy msgid "" "By \"installed package\" we generally mean a third-party package installed " "into Python's ``site-packages`` directory via tools such as `pip `_. Specifically, it means a package with either a " "discoverable ``dist-info`` or ``egg-info`` directory, and metadata defined " -"by `PEP 566`_ or its older specifications. By default, package metadata can " -"live on the file system or in zip archives on ``sys.path``. Through an " +"by :pep:`566` or its older specifications. By default, package metadata can " +"live on the file system or in zip archives on :data:`sys.path`. Through an " "extension mechanism, the metadata can live almost anywhere." msgstr "" "Por \"paquete instalado\" generalmente nos referimos a un paquete de " @@ -130,11 +132,14 @@ msgid "Entry points" msgstr "Puntos de entrada" #: ../Doc/library/importlib.metadata.rst:77 +#, fuzzy msgid "" "The ``entry_points()`` function returns a dictionary of all entry points, " "keyed by group. Entry points are represented by ``EntryPoint`` instances; " "each ``EntryPoint`` has a ``.name``, ``.group``, and ``.value`` attributes " -"and a ``.load()`` method to resolve the value." +"and a ``.load()`` method to resolve the value. There are also ``.module``, " +"``.attr``, and ``.extras`` attributes for getting the components of the ``." +"value`` attribute::" msgstr "" "La función ``entry_points()`` retorna un diccionario con todos los puntos de " "entrada, utilizando el grupo como claves. Los puntos de entrada están " @@ -142,13 +147,14 @@ msgstr "" "los atributos ``.name``, ``.group`` y ``.value``, y un método ``.load()`` " "para resolver el valor." -#: ../Doc/library/importlib.metadata.rst:93 +#: ../Doc/library/importlib.metadata.rst:101 +#, fuzzy msgid "" "The ``group`` and ``name`` are arbitrary values defined by the package " "author and usually a client will wish to resolve all entry points for a " "particular group. Read `the setuptools docs `_ " -"for more information on entrypoints, their definition, and usage." +"for more information on entry points, their definition, and usage." msgstr "" "``group`` y ``name`` son valores arbitrarios definidos por el autor del " "paquete y, en general, un cliente deseará resolver todos los puntos de " @@ -157,11 +163,11 @@ msgstr "" "discovery-of-services-and-plugins>`_ para obtener más información sobre los " "puntos de entrada, su definición y uso." -#: ../Doc/library/importlib.metadata.rst:103 +#: ../Doc/library/importlib.metadata.rst:111 msgid "Distribution metadata" msgstr "Metadatos de distribución" -#: ../Doc/library/importlib.metadata.rst:105 +#: ../Doc/library/importlib.metadata.rst:113 msgid "" "Every distribution includes some metadata, which you can extract using the " "``metadata()`` function::" @@ -169,7 +175,7 @@ msgstr "" "Cada distribución incluye algunos metadatos, que puede extraer utilizando la " "función ``metadata()``:" -#: ../Doc/library/importlib.metadata.rst:110 +#: ../Doc/library/importlib.metadata.rst:118 msgid "" "The keys of the returned data structure [#f1]_ name the metadata keywords, " "and their values are returned unparsed from the distribution metadata::" @@ -178,11 +184,11 @@ msgstr "" "clave de los metadatos y sus valores se retornan sin analizar de los " "metadatos de distribución:" -#: ../Doc/library/importlib.metadata.rst:120 +#: ../Doc/library/importlib.metadata.rst:128 msgid "Distribution versions" msgstr "Versiones de distribución" -#: ../Doc/library/importlib.metadata.rst:122 +#: ../Doc/library/importlib.metadata.rst:130 msgid "" "The ``version()`` function is the quickest way to get a distribution's " "version number, as a string::" @@ -190,18 +196,19 @@ msgstr "" "La función ``version()`` es la forma más rápida para obtener el número de " "versión de una distribución, como una cadena de caracteres:" -#: ../Doc/library/importlib.metadata.rst:132 +#: ../Doc/library/importlib.metadata.rst:140 msgid "Distribution files" msgstr "Archivos de distribución" -#: ../Doc/library/importlib.metadata.rst:134 +#: ../Doc/library/importlib.metadata.rst:142 +#, fuzzy msgid "" "You can also get the full set of files contained within a distribution. The " "``files()`` function takes a distribution package name and returns all of " "the files installed by this distribution. Each file object returned is a " -"``PackagePath``, a `pathlib.Path`_ derived object with additional ``dist``, " -"``size``, and ``hash`` properties as indicated by the metadata. For " -"example::" +"``PackagePath``, a :class:`pathlib.Path` derived object with additional " +"``dist``, ``size``, and ``hash`` properties as indicated by the metadata. " +"For example::" msgstr "" "También se puede obtener el conjunto completo de archivos contenidos dentro " "de una distribución. La función ``files()`` toma el nombre de un paquete de " @@ -210,11 +217,11 @@ msgstr "" "de `pathlib.Path`_ con las propiedades adicionales ``dist``, ``size`` y " "``hash`` según indican los metadatos. Por ejemplo:" -#: ../Doc/library/importlib.metadata.rst:150 +#: ../Doc/library/importlib.metadata.rst:158 msgid "Once you have the file, you can also read its contents::" msgstr "Una vez que se tiene el archivo, también se puede leer su contenido:" -#: ../Doc/library/importlib.metadata.rst:161 +#: ../Doc/library/importlib.metadata.rst:169 msgid "" "In the case where the metadata file listing files (RECORD or SOURCES.txt) is " "missing, ``files()`` will return ``None``. The caller may wish to wrap calls " @@ -230,11 +237,11 @@ msgstr "" "`_ u otra protección similar." -#: ../Doc/library/importlib.metadata.rst:172 +#: ../Doc/library/importlib.metadata.rst:180 msgid "Distribution requirements" msgstr "Requerimientos de la distribución" -#: ../Doc/library/importlib.metadata.rst:174 +#: ../Doc/library/importlib.metadata.rst:182 msgid "" "To get the full set of requirements for a distribution, use the " "``requires()`` function::" @@ -242,11 +249,11 @@ msgstr "" "Para obtener el conjunto completo de los requerimientos de una distribución, " "usa la función ``requires()``:" -#: ../Doc/library/importlib.metadata.rst:182 +#: ../Doc/library/importlib.metadata.rst:190 msgid "Distributions" msgstr "Distribuciones" -#: ../Doc/library/importlib.metadata.rst:184 +#: ../Doc/library/importlib.metadata.rst:192 msgid "" "While the above API is the most common and convenient usage, you can get all " "of that information from the ``Distribution`` class. A ``Distribution`` is " @@ -259,7 +266,7 @@ msgstr "" "paquete de Python. Se puede obtener la instancia de ``Distribución`` de la " "siguiente forma:" -#: ../Doc/library/importlib.metadata.rst:192 +#: ../Doc/library/importlib.metadata.rst:200 msgid "" "Thus, an alternative way to get the version number is through the " "``Distribution`` instance::" @@ -267,7 +274,7 @@ msgstr "" "Por lo tanto, una forma alternativa de obtener el número de versión es " "mediante la instancia de ``Distribución``:" -#: ../Doc/library/importlib.metadata.rst:198 +#: ../Doc/library/importlib.metadata.rst:206 msgid "" "There are all kinds of additional metadata available on the ``Distribution`` " "instance::" @@ -275,34 +282,30 @@ msgstr "" "Hay todo tipo de metadatos disponibles adicionales en la instancia de " "``Distribution``:" -#: ../Doc/library/importlib.metadata.rst:206 +#: ../Doc/library/importlib.metadata.rst:214 +#, fuzzy msgid "" -"The full set of available metadata is not described here. See `PEP 566 " -"`_ for additional details." +"The full set of available metadata is not described here. See :pep:`566` " +"for additional details." msgstr "" "El conjunto completo de metadatos disponible no está descripto aquí. " "Consultar `PEP 566 `_ para " "detalles adicionales." -#: ../Doc/library/importlib.metadata.rst:211 +#: ../Doc/library/importlib.metadata.rst:219 msgid "Extending the search algorithm" msgstr "Extendiendo el algoritmo de búsqueda" -#: ../Doc/library/importlib.metadata.rst:213 +#: ../Doc/library/importlib.metadata.rst:221 msgid "" -"Because package metadata is not available through ``sys.path`` searches, or " -"package loaders directly, the metadata for a package is found through import " -"system `finders`_. To find a distribution package's metadata, ``importlib." -"metadata`` queries the list of `meta path finders`_ on `sys.meta_path`_." +"Because package metadata is not available through :data:`sys.path` searches, " +"or package loaders directly, the metadata for a package is found through " +"import system :ref:`finders `. To find a distribution " +"package's metadata, ``importlib.metadata`` queries the list of :term:`meta " +"path finders ` on :data:`sys.meta_path`." msgstr "" -"Debido a que los metadatos de los paquetes no están disponibles a través de " -"las búsquedas de ``sys.path`` o directamente de los cargadores de paquetes, " -"los metadatos de un paquete se encuentran a través de los `finders`_ del " -"sistema de importación. Para encontrar los metadatos de un paquete de " -"distribución, ``importlib.metadata`` consulta la lista de `meta buscadores " -"de ruta`_ en `sys.meta_path`_." -#: ../Doc/library/importlib.metadata.rst:219 +#: ../Doc/library/importlib.metadata.rst:227 msgid "" "The default ``PathFinder`` for Python includes a hook that calls into " "``importlib.metadata.MetadataPathFinder`` for finding distributions loaded " @@ -312,14 +315,15 @@ msgstr "" "``importlib.metadata.MetadataPathFinder`` para encontrar distribuciones " "cargadas desde rutas basadas en sistemas de archivos típicos." -#: ../Doc/library/importlib.metadata.rst:223 +#: ../Doc/library/importlib.metadata.rst:231 +#, fuzzy msgid "" "The abstract class :py:class:`importlib.abc.MetaPathFinder` defines the " "interface expected of finders by Python's import system. ``importlib." "metadata`` extends this protocol by looking for an optional " -"``find_distributions`` callable on the finders from ``sys.meta_path`` and " -"presents this extended interface as the ``DistributionFinder`` abstract base " -"class, which defines this abstract method::" +"``find_distributions`` callable on the finders from :data:`sys.meta_path` " +"and presents this extended interface as the ``DistributionFinder`` abstract " +"base class, which defines this abstract method::" msgstr "" "La clase abstracta :py:class:`importlib.abc.MetaPathFinder` define la " "interfaz que se espera de los buscadores por el sistema de importación de " @@ -328,17 +332,18 @@ msgstr "" "meta_path`` y presenta esta interfaz extendida como la clase base abstracta " "``DistributionFinder``, que define este método abstracto:" -#: ../Doc/library/importlib.metadata.rst:237 +#: ../Doc/library/importlib.metadata.rst:245 +#, fuzzy msgid "" "The ``DistributionFinder.Context`` object provides ``.path`` and ``.name`` " -"properties indicating the path to search and names to match and may supply " +"properties indicating the path to search and name to match and may supply " "other relevant context." msgstr "" "El objeto ``DistributionFinder.Context`` proporciona propiedades ``.path`` y " "``.name`` que indican la ruta de búsqueda y los nombres que deben coincidir " "y puede proporcionar otro contexto relevante." -#: ../Doc/library/importlib.metadata.rst:241 +#: ../Doc/library/importlib.metadata.rst:249 msgid "" "What this means in practice is that to support finding distribution package " "metadata in locations other than the file system, subclass ``Distribution`` " @@ -353,21 +358,42 @@ msgstr "" "personalizado no hay más que retornar instancias de esta ``Distribution`` " "derivada." -#: ../Doc/library/importlib.metadata.rst:260 +#: ../Doc/library/importlib.metadata.rst:262 msgid "Footnotes" msgstr "Notas al pie" -#: ../Doc/library/importlib.metadata.rst:261 +#: ../Doc/library/importlib.metadata.rst:263 msgid "" -"Technically, the returned distribution metadata object is an `email.message." -"Message `_ instance, but this is an implementation detail, and not part " -"of the stable API. You should only use dictionary-like methods and syntax " -"to access the metadata contents." +"Technically, the returned distribution metadata object is an :class:`email." +"message.EmailMessage` instance, but this is an implementation detail, and " +"not part of the stable API. You should only use dictionary-like methods and " +"syntax to access the metadata contents." msgstr "" -"Técnicamente, el objeto de metadatos de distribución retornado es una " -"instancia de `email.message.Message `_, pero esto es un detalle de " -"implementación y no parte de la API estable. Solo se deben usar métodos y " -"sintaxis similares a los de un diccionario para acceder al contenido de los " -"metadatos." + +#~ msgid "" +#~ "Because package metadata is not available through ``sys.path`` searches, " +#~ "or package loaders directly, the metadata for a package is found through " +#~ "import system `finders`_. To find a distribution package's metadata, " +#~ "``importlib.metadata`` queries the list of `meta path finders`_ on `sys." +#~ "meta_path`_." +#~ msgstr "" +#~ "Debido a que los metadatos de los paquetes no están disponibles a través " +#~ "de las búsquedas de ``sys.path`` o directamente de los cargadores de " +#~ "paquetes, los metadatos de un paquete se encuentran a través de los " +#~ "`finders`_ del sistema de importación. Para encontrar los metadatos de un " +#~ "paquete de distribución, ``importlib.metadata`` consulta la lista de " +#~ "`meta buscadores de ruta`_ en `sys.meta_path`_." + +#~ msgid "" +#~ "Technically, the returned distribution metadata object is an `email." +#~ "message.Message `_ instance, but this is an " +#~ "implementation detail, and not part of the stable API. You should only " +#~ "use dictionary-like methods and syntax to access the metadata contents." +#~ msgstr "" +#~ "Técnicamente, el objeto de metadatos de distribución retornado es una " +#~ "instancia de `email.message.Message `_, pero esto es un detalle " +#~ "de implementación y no parte de la API estable. Solo se deben usar " +#~ "métodos y sintaxis similares a los de un diccionario para acceder al " +#~ "contenido de los metadatos." diff --git a/library/importlib.po b/library/importlib.po index c38ecdd586..3f28590624 100644 --- a/library/importlib.po +++ b/library/importlib.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: python-doc-es\n" @@ -425,7 +425,7 @@ msgid "" msgstr "" #: ../Doc/library/importlib.rst:298 ../Doc/library/importlib.rst:352 -#: ../Doc/library/importlib.rst:360 ../Doc/library/importlib.rst:1085 +#: ../Doc/library/importlib.rst:360 ../Doc/library/importlib.rst:1120 msgid "Use :meth:`find_spec` instead." msgstr "" @@ -504,7 +504,7 @@ msgid "" "definition for a loader." msgstr "" -#: ../Doc/library/importlib.rst:375 ../Doc/library/importlib.rst:835 +#: ../Doc/library/importlib.rst:375 ../Doc/library/importlib.rst:857 msgid "" "Loaders that wish to support resource reading should implement a " "``get_resource_reader(fullname)`` method as specified by :class:`importlib." @@ -600,40 +600,41 @@ msgid "" "attribute is not set on modules." msgstr "" -#: ../Doc/library/importlib.rst:444 +#: ../Doc/library/importlib.rst:445 msgid ":attr:`__package__`" msgstr "" #: ../Doc/library/importlib.rst:441 msgid "" -"The parent package for the module/package. If the module is top-level then " -"it has a value of the empty string. The :func:`importlib.util." -"module_for_loader` decorator can handle the details for :attr:`__package__`." +"The fully-qualified name of the package under which the module was loaded as " +"a submodule (or the empty string for top-level modules). For packages, it is " +"the same as :attr:`__name__`. The :func:`importlib.util.module_for_loader` " +"decorator can handle the details for :attr:`__package__`." msgstr "" -#: ../Doc/library/importlib.rst:449 +#: ../Doc/library/importlib.rst:450 msgid ":attr:`__loader__`" msgstr "" -#: ../Doc/library/importlib.rst:447 +#: ../Doc/library/importlib.rst:448 msgid "" "The loader used to load the module. The :func:`importlib.util." "module_for_loader` decorator can handle the details for :attr:`__package__`." msgstr "" -#: ../Doc/library/importlib.rst:451 +#: ../Doc/library/importlib.rst:452 msgid "" "When :meth:`exec_module` is available then backwards-compatible " "functionality is provided." msgstr "" -#: ../Doc/library/importlib.rst:454 +#: ../Doc/library/importlib.rst:455 msgid "" "Raise :exc:`ImportError` when called instead of :exc:`NotImplementedError`. " "Functionality provided when :meth:`exec_module` is available." msgstr "" -#: ../Doc/library/importlib.rst:459 +#: ../Doc/library/importlib.rst:460 msgid "" "The recommended API for loading a module is :meth:`exec_module` (and :meth:" "`create_module`). Loaders should implement it instead of load_module(). " @@ -641,27 +642,31 @@ msgid "" "load_module() when exec_module() is implemented." msgstr "" -#: ../Doc/library/importlib.rst:468 +#: ../Doc/library/importlib.rst:469 msgid "" "A legacy method which when implemented calculates and returns the given " "module's repr, as a string. The module type's default repr() will use the " "result of this method as appropriate." msgstr "" -#: ../Doc/library/importlib.rst:474 +#: ../Doc/library/importlib.rst:475 msgid "Made optional instead of an abstractmethod." msgstr "" -#: ../Doc/library/importlib.rst:477 +#: ../Doc/library/importlib.rst:478 msgid "The import machinery now takes care of this automatically." msgstr "" -#: ../Doc/library/importlib.rst:483 +#: ../Doc/library/importlib.rst:484 +msgid "*Superseded by TraversableReader*" +msgstr "" + +#: ../Doc/library/importlib.rst:486 msgid "" "An :term:`abstract base class` to provide the ability to read *resources*." msgstr "" -#: ../Doc/library/importlib.rst:486 +#: ../Doc/library/importlib.rst:489 msgid "" "From the perspective of this ABC, a *resource* is a binary artifact that is " "shipped within a package. Typically this is something like a data file that " @@ -671,7 +676,7 @@ msgid "" "file versus on the file system." msgstr "" -#: ../Doc/library/importlib.rst:494 +#: ../Doc/library/importlib.rst:497 msgid "" "For any of methods of this class, a *resource* argument is expected to be a :" "term:`path-like object` which represents conceptually just a file name. This " @@ -683,7 +688,7 @@ msgid "" "potentially representing multiple packages or a module)." msgstr "" -#: ../Doc/library/importlib.rst:505 +#: ../Doc/library/importlib.rst:508 msgid "" "Loaders that wish to support resource reading are expected to provide a " "method called ``get_resource_reader(fullname)`` which returns an object " @@ -692,33 +697,33 @@ msgid "" "with this ABC should only be returned when the specified module is a package." msgstr "" -#: ../Doc/library/importlib.rst:516 +#: ../Doc/library/importlib.rst:519 msgid "" "Returns an opened, :term:`file-like object` for binary reading of the " "*resource*." msgstr "" -#: ../Doc/library/importlib.rst:519 +#: ../Doc/library/importlib.rst:522 msgid "If the resource cannot be found, :exc:`FileNotFoundError` is raised." msgstr "" -#: ../Doc/library/importlib.rst:524 +#: ../Doc/library/importlib.rst:527 msgid "Returns the file system path to the *resource*." msgstr "" -#: ../Doc/library/importlib.rst:526 +#: ../Doc/library/importlib.rst:529 msgid "" "If the resource does not concretely exist on the file system, raise :exc:" "`FileNotFoundError`." msgstr "" -#: ../Doc/library/importlib.rst:531 +#: ../Doc/library/importlib.rst:534 msgid "" "Returns ``True`` if the named *name* is considered a resource. :exc:" "`FileNotFoundError` is raised if *name* does not exist." msgstr "" -#: ../Doc/library/importlib.rst:536 +#: ../Doc/library/importlib.rst:539 msgid "" "Returns an :term:`iterable` of strings over the contents of the package. Do " "note that it is not required that all names returned by the iterator be " @@ -726,7 +731,7 @@ msgid "" "`is_resource` would be false." msgstr "" -#: ../Doc/library/importlib.rst:542 +#: ../Doc/library/importlib.rst:545 msgid "" "Allowing non-resource names to be returned is to allow for situations where " "how a package and its resources are stored are known a priori and the non-" @@ -735,23 +740,23 @@ msgid "" "stored on the file system then those subdirectory names can be used directly." msgstr "" -#: ../Doc/library/importlib.rst:550 +#: ../Doc/library/importlib.rst:553 msgid "The abstract method returns an iterable of no items." msgstr "" -#: ../Doc/library/importlib.rst:555 +#: ../Doc/library/importlib.rst:558 msgid "" "An abstract base class for a :term:`loader` which implements the optional :" "pep:`302` protocol for loading arbitrary resources from the storage back-end." msgstr "" -#: ../Doc/library/importlib.rst:559 +#: ../Doc/library/importlib.rst:562 msgid "" "This ABC is deprecated in favour of supporting resource loading through :" "class:`importlib.abc.ResourceReader`." msgstr "" -#: ../Doc/library/importlib.rst:565 +#: ../Doc/library/importlib.rst:568 msgid "" "An abstract method to return the bytes for the data located at *path*. " "Loaders that have a file-like storage back-end that allows storing arbitrary " @@ -761,34 +766,34 @@ msgid "" "attribute or an item from a package's :attr:`__path__`." msgstr "" -#: ../Doc/library/importlib.rst:573 +#: ../Doc/library/importlib.rst:576 msgid "Raises :exc:`OSError` instead of :exc:`NotImplementedError`." msgstr "" -#: ../Doc/library/importlib.rst:579 +#: ../Doc/library/importlib.rst:582 msgid "" "An abstract base class for a :term:`loader` which implements the optional :" "pep:`302` protocol for loaders that inspect modules." msgstr "" -#: ../Doc/library/importlib.rst:584 +#: ../Doc/library/importlib.rst:587 msgid "" "Return the code object for a module, or ``None`` if the module does not have " "a code object (as would be the case, for example, for a built-in module). " "Raise an :exc:`ImportError` if loader cannot find the requested module." msgstr "" -#: ../Doc/library/importlib.rst:590 +#: ../Doc/library/importlib.rst:593 msgid "" "While the method has a default implementation, it is suggested that it be " "overridden if possible for performance." msgstr "" -#: ../Doc/library/importlib.rst:596 +#: ../Doc/library/importlib.rst:599 msgid "No longer abstract and a concrete implementation is provided." msgstr "" -#: ../Doc/library/importlib.rst:601 +#: ../Doc/library/importlib.rst:604 msgid "" "An abstract method to return the source of a module. It is returned as a " "text string using :term:`universal newlines`, translating all recognized " @@ -797,23 +802,23 @@ msgid "" "cannot find the module specified." msgstr "" -#: ../Doc/library/importlib.rst:607 ../Doc/library/importlib.rst:616 -#: ../Doc/library/importlib.rst:666 +#: ../Doc/library/importlib.rst:610 ../Doc/library/importlib.rst:619 +#: ../Doc/library/importlib.rst:669 msgid "Raises :exc:`ImportError` instead of :exc:`NotImplementedError`." msgstr "" -#: ../Doc/library/importlib.rst:612 +#: ../Doc/library/importlib.rst:615 msgid "" "An abstract method to return a true value if the module is a package, a " "false value otherwise. :exc:`ImportError` is raised if the :term:`loader` " "cannot find the module." msgstr "" -#: ../Doc/library/importlib.rst:621 +#: ../Doc/library/importlib.rst:624 msgid "Create a code object from Python source." msgstr "" -#: ../Doc/library/importlib.rst:623 +#: ../Doc/library/importlib.rst:626 msgid "" "The *data* argument can be whatever the :func:`compile` function supports (i." "e. string or bytes). The *path* argument should be the \"path\" to where the " @@ -821,106 +826,106 @@ msgid "" "in a zip file)." msgstr "" -#: ../Doc/library/importlib.rst:628 +#: ../Doc/library/importlib.rst:631 msgid "" "With the subsequent code object one can execute it in a module by running " "``exec(code, module.__dict__)``." msgstr "" -#: ../Doc/library/importlib.rst:633 +#: ../Doc/library/importlib.rst:636 msgid "Made the method static." msgstr "" -#: ../Doc/library/importlib.rst:638 +#: ../Doc/library/importlib.rst:641 msgid "Implementation of :meth:`Loader.exec_module`." msgstr "" -#: ../Doc/library/importlib.rst:644 +#: ../Doc/library/importlib.rst:647 msgid "Implementation of :meth:`Loader.load_module`." msgstr "" -#: ../Doc/library/importlib.rst:646 +#: ../Doc/library/importlib.rst:649 msgid "use :meth:`exec_module` instead." msgstr "" -#: ../Doc/library/importlib.rst:652 +#: ../Doc/library/importlib.rst:655 msgid "" "An abstract base class which inherits from :class:`InspectLoader` that, when " "implemented, helps a module to be executed as a script. The ABC represents " "an optional :pep:`302` protocol." msgstr "" -#: ../Doc/library/importlib.rst:658 +#: ../Doc/library/importlib.rst:661 msgid "" "An abstract method that is to return the value of :attr:`__file__` for the " "specified module. If no path is available, :exc:`ImportError` is raised." msgstr "" -#: ../Doc/library/importlib.rst:662 +#: ../Doc/library/importlib.rst:665 msgid "" "If source code is available, then the method should return the path to the " "source file, regardless of whether a bytecode was used to load the module." msgstr "" -#: ../Doc/library/importlib.rst:672 +#: ../Doc/library/importlib.rst:675 msgid "" "An abstract base class which inherits from :class:`ResourceLoader` and :" "class:`ExecutionLoader`, providing concrete implementations of :meth:" "`ResourceLoader.get_data` and :meth:`ExecutionLoader.get_filename`." msgstr "" -#: ../Doc/library/importlib.rst:676 +#: ../Doc/library/importlib.rst:679 msgid "" "The *fullname* argument is a fully resolved name of the module the loader is " "to handle. The *path* argument is the path to the file for the module." msgstr "" -#: ../Doc/library/importlib.rst:683 +#: ../Doc/library/importlib.rst:686 msgid "The name of the module the loader can handle." msgstr "" -#: ../Doc/library/importlib.rst:687 +#: ../Doc/library/importlib.rst:690 msgid "Path to the file of the module." msgstr "" -#: ../Doc/library/importlib.rst:691 +#: ../Doc/library/importlib.rst:694 msgid "Calls super's ``load_module()``." msgstr "" -#: ../Doc/library/importlib.rst:693 +#: ../Doc/library/importlib.rst:696 msgid "Use :meth:`Loader.exec_module` instead." msgstr "" -#: ../Doc/library/importlib.rst:698 ../Doc/library/importlib.rst:1284 +#: ../Doc/library/importlib.rst:701 ../Doc/library/importlib.rst:1319 msgid "Returns :attr:`path`." msgstr "" -#: ../Doc/library/importlib.rst:702 +#: ../Doc/library/importlib.rst:705 msgid "Reads *path* as a binary file and returns the bytes from it." msgstr "" -#: ../Doc/library/importlib.rst:707 +#: ../Doc/library/importlib.rst:710 msgid "" "An abstract base class for implementing source (and optionally bytecode) " "file loading. The class inherits from both :class:`ResourceLoader` and :" "class:`ExecutionLoader`, requiring the implementation of:" msgstr "" -#: ../Doc/library/importlib.rst:711 +#: ../Doc/library/importlib.rst:714 msgid ":meth:`ResourceLoader.get_data`" msgstr "" -#: ../Doc/library/importlib.rst:714 +#: ../Doc/library/importlib.rst:717 msgid ":meth:`ExecutionLoader.get_filename`" msgstr "" -#: ../Doc/library/importlib.rst:713 +#: ../Doc/library/importlib.rst:716 msgid "" "Should only return the path to the source file; sourceless loading is not " "supported." msgstr "" -#: ../Doc/library/importlib.rst:716 +#: ../Doc/library/importlib.rst:719 msgid "" "The abstract methods defined by this class are to add optional bytecode file " "support. Not implementing these optional methods (or causing them to raise :" @@ -932,83 +937,83 @@ msgid "" "bytecode-specific API is exposed." msgstr "" -#: ../Doc/library/importlib.rst:727 +#: ../Doc/library/importlib.rst:730 msgid "" "Optional abstract method which returns a :class:`dict` containing metadata " "about the specified path. Supported dictionary keys are:" msgstr "" -#: ../Doc/library/importlib.rst:730 +#: ../Doc/library/importlib.rst:733 msgid "" "``'mtime'`` (mandatory): an integer or floating-point number representing " "the modification time of the source code;" msgstr "" -#: ../Doc/library/importlib.rst:732 +#: ../Doc/library/importlib.rst:735 msgid "``'size'`` (optional): the size in bytes of the source code." msgstr "" -#: ../Doc/library/importlib.rst:734 +#: ../Doc/library/importlib.rst:737 msgid "" "Any other keys in the dictionary are ignored, to allow for future " "extensions. If the path cannot be handled, :exc:`OSError` is raised." msgstr "" -#: ../Doc/library/importlib.rst:739 ../Doc/library/importlib.rst:752 +#: ../Doc/library/importlib.rst:742 ../Doc/library/importlib.rst:755 msgid "Raise :exc:`OSError` instead of :exc:`NotImplementedError`." msgstr "" -#: ../Doc/library/importlib.rst:744 +#: ../Doc/library/importlib.rst:747 msgid "" "Optional abstract method which returns the modification time for the " "specified path." msgstr "" -#: ../Doc/library/importlib.rst:747 +#: ../Doc/library/importlib.rst:750 msgid "" "This method is deprecated in favour of :meth:`path_stats`. You don't have " "to implement it, but it is still available for compatibility purposes. " "Raise :exc:`OSError` if the path cannot be handled." msgstr "" -#: ../Doc/library/importlib.rst:757 +#: ../Doc/library/importlib.rst:760 msgid "" "Optional abstract method which writes the specified bytes to a file path. " "Any intermediate directories which do not exist are to be created " "automatically." msgstr "" -#: ../Doc/library/importlib.rst:761 +#: ../Doc/library/importlib.rst:764 msgid "" "When writing to the path fails because the path is read-only (:attr:`errno." "EACCES`/:exc:`PermissionError`), do not propagate the exception." msgstr "" -#: ../Doc/library/importlib.rst:765 +#: ../Doc/library/importlib.rst:768 msgid "No longer raises :exc:`NotImplementedError` when called." msgstr "" -#: ../Doc/library/importlib.rst:770 +#: ../Doc/library/importlib.rst:773 msgid "Concrete implementation of :meth:`InspectLoader.get_code`." msgstr "" -#: ../Doc/library/importlib.rst:774 +#: ../Doc/library/importlib.rst:777 msgid "Concrete implementation of :meth:`Loader.exec_module`." msgstr "" -#: ../Doc/library/importlib.rst:780 +#: ../Doc/library/importlib.rst:783 msgid "Concrete implementation of :meth:`Loader.load_module`." msgstr "" -#: ../Doc/library/importlib.rst:782 +#: ../Doc/library/importlib.rst:785 msgid "Use :meth:`exec_module` instead." msgstr "" -#: ../Doc/library/importlib.rst:787 +#: ../Doc/library/importlib.rst:790 msgid "Concrete implementation of :meth:`InspectLoader.get_source`." msgstr "" -#: ../Doc/library/importlib.rst:791 +#: ../Doc/library/importlib.rst:794 msgid "" "Concrete implementation of :meth:`InspectLoader.is_package`. A module is " "determined to be a package if its file path (as provided by :meth:" @@ -1017,15 +1022,29 @@ msgid "" "``__init__``." msgstr "" -#: ../Doc/library/importlib.rst:799 +#: ../Doc/library/importlib.rst:803 +msgid "" +"An object with a subset of pathlib.Path methods suitable for traversing " +"directories and opening files." +msgstr "" + +#: ../Doc/library/importlib.rst:811 +msgid "" +"An abstract base class for resource readers capable of serving the ``files`` " +"interface. Subclasses ResourceReader and provides concrete implementations " +"of the ResourceReader's abstract methods. Therefore, any loader supplying " +"TraversableReader also supplies ResourceReader." +msgstr "" + +#: ../Doc/library/importlib.rst:821 msgid ":mod:`importlib.resources` -- Resources" msgstr "" -#: ../Doc/library/importlib.rst:804 +#: ../Doc/library/importlib.rst:826 msgid "**Source code:** :source:`Lib/importlib/resources.py`" msgstr "" -#: ../Doc/library/importlib.rst:810 +#: ../Doc/library/importlib.rst:832 msgid "" "This module leverages Python's import system to provide access to " "*resources* within *packages*. If you can import a package, you can access " @@ -1033,7 +1052,7 @@ msgid "" "binary or text mode." msgstr "" -#: ../Doc/library/importlib.rst:815 +#: ../Doc/library/importlib.rst:837 msgid "" "Resources are roughly akin to files inside directories, though it's " "important to keep in mind that this is just a metaphor. Resources and " @@ -1041,7 +1060,7 @@ msgid "" "file system." msgstr "" -#: ../Doc/library/importlib.rst:821 +#: ../Doc/library/importlib.rst:843 msgid "" "This module provides functionality similar to `pkg_resources `_ `Basic Resource " @@ -1051,7 +1070,7 @@ msgid "" "consistent semantics." msgstr "" -#: ../Doc/library/importlib.rst:829 +#: ../Doc/library/importlib.rst:851 msgid "" "The standalone backport of this module provides more information on `using " "importlib.resources `_." msgstr "" -#: ../Doc/library/importlib.rst:839 +#: ../Doc/library/importlib.rst:861 msgid "The following types are defined." msgstr "" -#: ../Doc/library/importlib.rst:843 +#: ../Doc/library/importlib.rst:865 msgid "" "The ``Package`` type is defined as ``Union[str, ModuleType]``. This means " "that where the function describes accepting a ``Package``, you can pass in " @@ -1071,21 +1090,35 @@ msgid "" "``__spec__.submodule_search_locations`` that is not ``None``." msgstr "" -#: ../Doc/library/importlib.rst:850 +#: ../Doc/library/importlib.rst:872 msgid "" "This type describes the resource names passed into the various functions in " "this package. This is defined as ``Union[str, os.PathLike]``." msgstr "" -#: ../Doc/library/importlib.rst:854 +#: ../Doc/library/importlib.rst:876 msgid "The following functions are available." msgstr "" -#: ../Doc/library/importlib.rst:858 +#: ../Doc/library/importlib.rst:881 +msgid "" +"Returns an :class:`importlib.resources.abc.Traversable` object representing " +"the resource container for the package (think directory) and its resources " +"(think files). A Traversable may contain other containers (think " +"subdirectories)." +msgstr "" + +#: ../Doc/library/importlib.rst:886 ../Doc/library/importlib.rst:971 +msgid "" +"*package* is either a name or a module object which conforms to the " +"``Package`` requirements." +msgstr "" + +#: ../Doc/library/importlib.rst:893 msgid "Open for binary reading the *resource* within *package*." msgstr "" -#: ../Doc/library/importlib.rst:860 +#: ../Doc/library/importlib.rst:895 msgid "" "*package* is either a name or a module object which conforms to the " "``Package`` requirements. *resource* is the name of the resource to open " @@ -1094,13 +1127,13 @@ msgid "" "BinaryIO`` instance, a binary I/O stream open for reading." msgstr "" -#: ../Doc/library/importlib.rst:869 +#: ../Doc/library/importlib.rst:904 msgid "" "Open for text reading the *resource* within *package*. By default, the " "resource is opened for reading as UTF-8." msgstr "" -#: ../Doc/library/importlib.rst:872 +#: ../Doc/library/importlib.rst:907 msgid "" "*package* is either a name or a module object which conforms to the " "``Package`` requirements. *resource* is the name of the resource to open " @@ -1109,18 +1142,18 @@ msgid "" "same meaning as with built-in :func:`open`." msgstr "" -#: ../Doc/library/importlib.rst:878 +#: ../Doc/library/importlib.rst:913 msgid "" "This function returns a ``typing.TextIO`` instance, a text I/O stream open " "for reading." msgstr "" -#: ../Doc/library/importlib.rst:884 +#: ../Doc/library/importlib.rst:919 msgid "" "Read and return the contents of the *resource* within *package* as ``bytes``." msgstr "" -#: ../Doc/library/importlib.rst:887 +#: ../Doc/library/importlib.rst:922 msgid "" "*package* is either a name or a module object which conforms to the " "``Package`` requirements. *resource* is the name of the resource to open " @@ -1129,13 +1162,13 @@ msgid "" "contents of the resource as :class:`bytes`." msgstr "" -#: ../Doc/library/importlib.rst:896 +#: ../Doc/library/importlib.rst:931 msgid "" "Read and return the contents of *resource* within *package* as a ``str``. By " "default, the contents are read as strict UTF-8." msgstr "" -#: ../Doc/library/importlib.rst:899 +#: ../Doc/library/importlib.rst:934 msgid "" "*package* is either a name or a module object which conforms to the " "``Package`` requirements. *resource* is the name of the resource to open " @@ -1145,20 +1178,20 @@ msgid "" "contents of the resource as :class:`str`." msgstr "" -#: ../Doc/library/importlib.rst:909 +#: ../Doc/library/importlib.rst:944 msgid "" "Return the path to the *resource* as an actual file system path. This " "function returns a context manager for use in a :keyword:`with` statement. " "The context manager provides a :class:`pathlib.Path` object." msgstr "" -#: ../Doc/library/importlib.rst:913 +#: ../Doc/library/importlib.rst:948 msgid "" "Exiting the context manager cleans up any temporary file created when the " "resource needs to be extracted from e.g. a zip file." msgstr "" -#: ../Doc/library/importlib.rst:916 +#: ../Doc/library/importlib.rst:951 msgid "" "*package* is either a name or a module object which conforms to the " "``Package`` requirements. *resource* is the name of the resource to open " @@ -1166,7 +1199,7 @@ msgid "" "resources (i.e. it cannot be a directory)." msgstr "" -#: ../Doc/library/importlib.rst:924 +#: ../Doc/library/importlib.rst:959 msgid "" "Return ``True`` if there is a resource named *name* in the package, " "otherwise ``False``. Remember that directories are *not* resources! " @@ -1174,72 +1207,66 @@ msgid "" "``Package`` requirements." msgstr "" -#: ../Doc/library/importlib.rst:932 +#: ../Doc/library/importlib.rst:967 msgid "" "Return an iterable over the named items within the package. The iterable " "returns :class:`str` resources (e.g. files) and non-resources (e.g. " "directories). The iterable does not recurse into subdirectories." msgstr "" -#: ../Doc/library/importlib.rst:936 -msgid "" -"*package* is either a name or a module object which conforms to the " -"``Package`` requirements." -msgstr "" - -#: ../Doc/library/importlib.rst:941 +#: ../Doc/library/importlib.rst:976 msgid ":mod:`importlib.machinery` -- Importers and path hooks" msgstr "" -#: ../Doc/library/importlib.rst:946 +#: ../Doc/library/importlib.rst:981 msgid "**Source code:** :source:`Lib/importlib/machinery.py`" msgstr "" -#: ../Doc/library/importlib.rst:950 +#: ../Doc/library/importlib.rst:985 msgid "" "This module contains the various objects that help :keyword:`import` find " "and load modules." msgstr "" -#: ../Doc/library/importlib.rst:955 +#: ../Doc/library/importlib.rst:990 msgid "" "A list of strings representing the recognized file suffixes for source " "modules." msgstr "" -#: ../Doc/library/importlib.rst:962 +#: ../Doc/library/importlib.rst:997 msgid "" "A list of strings representing the file suffixes for non-optimized bytecode " "modules." msgstr "" -#: ../Doc/library/importlib.rst:967 ../Doc/library/importlib.rst:977 +#: ../Doc/library/importlib.rst:1002 ../Doc/library/importlib.rst:1012 msgid "Use :attr:`BYTECODE_SUFFIXES` instead." msgstr "" -#: ../Doc/library/importlib.rst:972 +#: ../Doc/library/importlib.rst:1007 msgid "" "A list of strings representing the file suffixes for optimized bytecode " "modules." msgstr "" -#: ../Doc/library/importlib.rst:982 +#: ../Doc/library/importlib.rst:1017 msgid "" "A list of strings representing the recognized file suffixes for bytecode " "modules (including the leading dot)." msgstr "" -#: ../Doc/library/importlib.rst:987 +#: ../Doc/library/importlib.rst:1022 msgid "The value is no longer dependent on ``__debug__``." msgstr "" -#: ../Doc/library/importlib.rst:992 +#: ../Doc/library/importlib.rst:1027 msgid "" "A list of strings representing the recognized file suffixes for extension " "modules." msgstr "" -#: ../Doc/library/importlib.rst:999 +#: ../Doc/library/importlib.rst:1034 msgid "" "Returns a combined list of strings representing all file suffixes for " "modules recognized by the standard import machinery. This is a helper for " @@ -1248,56 +1275,57 @@ msgid "" "`inspect.getmodulename`)." msgstr "" -#: ../Doc/library/importlib.rst:1010 +#: ../Doc/library/importlib.rst:1045 msgid "" "An :term:`importer` for built-in modules. All known built-in modules are " "listed in :data:`sys.builtin_module_names`. This class implements the :class:" "`importlib.abc.MetaPathFinder` and :class:`importlib.abc.InspectLoader` ABCs." msgstr "" -#: ../Doc/library/importlib.rst:1015 ../Doc/library/importlib.rst:1029 -#: ../Doc/library/importlib.rst:1042 ../Doc/library/importlib.rst:1057 +#: ../Doc/library/importlib.rst:1050 ../Doc/library/importlib.rst:1064 +#: ../Doc/library/importlib.rst:1077 ../Doc/library/importlib.rst:1092 msgid "" "Only class methods are defined by this class to alleviate the need for " "instantiation." msgstr "" -#: ../Doc/library/importlib.rst:1018 +#: ../Doc/library/importlib.rst:1053 msgid "" "As part of :pep:`489`, the builtin importer now implements :meth:`Loader." "create_module` and :meth:`Loader.exec_module`" msgstr "" -#: ../Doc/library/importlib.rst:1025 +#: ../Doc/library/importlib.rst:1060 msgid "" "An :term:`importer` for frozen modules. This class implements the :class:" "`importlib.abc.MetaPathFinder` and :class:`importlib.abc.InspectLoader` ABCs." msgstr "" -#: ../Doc/library/importlib.rst:1032 +#: ../Doc/library/importlib.rst:1067 msgid "" "Gained :meth:`~Loader.create_module` and :meth:`~Loader.exec_module` methods." msgstr "" -#: ../Doc/library/importlib.rst:1039 +#: ../Doc/library/importlib.rst:1074 msgid "" -":term:`Finder` for modules declared in the Windows registry. This class " -"implements the :class:`importlib.abc.MetaPathFinder` ABC." +":term:`Finder ` for modules declared in the Windows registry. This " +"class implements the :class:`importlib.abc.MetaPathFinder` ABC." msgstr "" -#: ../Doc/library/importlib.rst:1047 +#: ../Doc/library/importlib.rst:1082 msgid "" "Use :mod:`site` configuration instead. Future versions of Python may not " "enable this finder by default." msgstr "" -#: ../Doc/library/importlib.rst:1054 +#: ../Doc/library/importlib.rst:1089 msgid "" -"A :term:`Finder` for :data:`sys.path` and package ``__path__`` attributes. " -"This class implements the :class:`importlib.abc.MetaPathFinder` ABC." +"A :term:`Finder ` for :data:`sys.path` and package ``__path__`` " +"attributes. This class implements the :class:`importlib.abc.MetaPathFinder` " +"ABC." msgstr "" -#: ../Doc/library/importlib.rst:1062 +#: ../Doc/library/importlib.rst:1097 msgid "" "Class method that attempts to find a :term:`spec ` for the " "module specified by *fullname* on :data:`sys.path` or, if defined, on " @@ -1311,47 +1339,47 @@ msgid "" "cache and returned." msgstr "" -#: ../Doc/library/importlib.rst:1076 +#: ../Doc/library/importlib.rst:1111 msgid "" "If the current working directory -- represented by an empty string -- is no " "longer valid then ``None`` is returned but no value is cached in :data:`sys." "path_importer_cache`." msgstr "" -#: ../Doc/library/importlib.rst:1083 +#: ../Doc/library/importlib.rst:1118 msgid "A legacy wrapper around :meth:`find_spec`." msgstr "" -#: ../Doc/library/importlib.rst:1090 +#: ../Doc/library/importlib.rst:1125 msgid "" "Calls :meth:`importlib.abc.PathEntryFinder.invalidate_caches` on all finders " "stored in :data:`sys.path_importer_cache` that define the method. Otherwise " "entries in :data:`sys.path_importer_cache` set to ``None`` are deleted." msgstr "" -#: ../Doc/library/importlib.rst:1095 +#: ../Doc/library/importlib.rst:1130 msgid "Entries of ``None`` in :data:`sys.path_importer_cache` are deleted." msgstr "" -#: ../Doc/library/importlib.rst:1098 +#: ../Doc/library/importlib.rst:1133 msgid "" "Calls objects in :data:`sys.path_hooks` with the current working directory " "for ``''`` (i.e. the empty string)." msgstr "" -#: ../Doc/library/importlib.rst:1105 +#: ../Doc/library/importlib.rst:1140 msgid "" "A concrete implementation of :class:`importlib.abc.PathEntryFinder` which " "caches results from the file system." msgstr "" -#: ../Doc/library/importlib.rst:1108 +#: ../Doc/library/importlib.rst:1143 msgid "" "The *path* argument is the directory for which the finder is in charge of " "searching." msgstr "" -#: ../Doc/library/importlib.rst:1111 +#: ../Doc/library/importlib.rst:1146 msgid "" "The *loader_details* argument is a variable number of 2-item tuples each " "containing a loader and a sequence of file suffixes the loader recognizes. " @@ -1359,7 +1387,7 @@ msgid "" "module's name and the path to the file found." msgstr "" -#: ../Doc/library/importlib.rst:1116 +#: ../Doc/library/importlib.rst:1151 msgid "" "The finder will cache the directory contents as necessary, making stat calls " "for each module search to verify the cache is not outdated. Because cache " @@ -1372,152 +1400,152 @@ msgid "" "to call :func:`importlib.invalidate_caches`." msgstr "" -#: ../Doc/library/importlib.rst:1130 +#: ../Doc/library/importlib.rst:1165 msgid "The path the finder will search in." msgstr "" -#: ../Doc/library/importlib.rst:1134 +#: ../Doc/library/importlib.rst:1169 msgid "Attempt to find the spec to handle *fullname* within :attr:`path`." msgstr "" -#: ../Doc/library/importlib.rst:1140 +#: ../Doc/library/importlib.rst:1175 msgid "Attempt to find the loader to handle *fullname* within :attr:`path`." msgstr "" -#: ../Doc/library/importlib.rst:1144 +#: ../Doc/library/importlib.rst:1179 msgid "Clear out the internal cache." msgstr "" -#: ../Doc/library/importlib.rst:1148 +#: ../Doc/library/importlib.rst:1183 msgid "" "A class method which returns a closure for use on :attr:`sys.path_hooks`. An " "instance of :class:`FileFinder` is returned by the closure using the path " "argument given to the closure directly and *loader_details* indirectly." msgstr "" -#: ../Doc/library/importlib.rst:1153 +#: ../Doc/library/importlib.rst:1188 msgid "" "If the argument to the closure is not an existing directory, :exc:" "`ImportError` is raised." msgstr "" -#: ../Doc/library/importlib.rst:1159 +#: ../Doc/library/importlib.rst:1194 msgid "" "A concrete implementation of :class:`importlib.abc.SourceLoader` by " "subclassing :class:`importlib.abc.FileLoader` and providing some concrete " "implementations of other methods." msgstr "" -#: ../Doc/library/importlib.rst:1167 +#: ../Doc/library/importlib.rst:1202 msgid "The name of the module that this loader will handle." msgstr "" -#: ../Doc/library/importlib.rst:1171 +#: ../Doc/library/importlib.rst:1206 msgid "The path to the source file." msgstr "" -#: ../Doc/library/importlib.rst:1175 +#: ../Doc/library/importlib.rst:1210 msgid "Return ``True`` if :attr:`path` appears to be for a package." msgstr "" -#: ../Doc/library/importlib.rst:1179 +#: ../Doc/library/importlib.rst:1214 msgid "" "Concrete implementation of :meth:`importlib.abc.SourceLoader.path_stats`." msgstr "" -#: ../Doc/library/importlib.rst:1183 +#: ../Doc/library/importlib.rst:1218 msgid "Concrete implementation of :meth:`importlib.abc.SourceLoader.set_data`." msgstr "" -#: ../Doc/library/importlib.rst:1187 ../Doc/library/importlib.rst:1230 +#: ../Doc/library/importlib.rst:1222 ../Doc/library/importlib.rst:1265 msgid "" "Concrete implementation of :meth:`importlib.abc.Loader.load_module` where " "specifying the name of the module to load is optional." msgstr "" -#: ../Doc/library/importlib.rst:1192 ../Doc/library/importlib.rst:1235 +#: ../Doc/library/importlib.rst:1227 ../Doc/library/importlib.rst:1270 msgid "Use :meth:`importlib.abc.Loader.exec_module` instead." msgstr "" -#: ../Doc/library/importlib.rst:1197 +#: ../Doc/library/importlib.rst:1232 msgid "" "A concrete implementation of :class:`importlib.abc.FileLoader` which can " "import bytecode files (i.e. no source code files exist)." msgstr "" -#: ../Doc/library/importlib.rst:1200 +#: ../Doc/library/importlib.rst:1235 msgid "" "Please note that direct use of bytecode files (and thus not source code " "files) inhibits your modules from being usable by all Python implementations " "or new versions of Python which change the bytecode format." msgstr "" -#: ../Doc/library/importlib.rst:1209 +#: ../Doc/library/importlib.rst:1244 msgid "The name of the module the loader will handle." msgstr "" -#: ../Doc/library/importlib.rst:1213 +#: ../Doc/library/importlib.rst:1248 msgid "The path to the bytecode file." msgstr "" -#: ../Doc/library/importlib.rst:1217 +#: ../Doc/library/importlib.rst:1252 msgid "Determines if the module is a package based on :attr:`path`." msgstr "" -#: ../Doc/library/importlib.rst:1221 +#: ../Doc/library/importlib.rst:1256 msgid "Returns the code object for :attr:`name` created from :attr:`path`." msgstr "" -#: ../Doc/library/importlib.rst:1225 +#: ../Doc/library/importlib.rst:1260 msgid "" "Returns ``None`` as bytecode files have no source when this loader is used." msgstr "" -#: ../Doc/library/importlib.rst:1240 +#: ../Doc/library/importlib.rst:1275 msgid "" "A concrete implementation of :class:`importlib.abc.ExecutionLoader` for " "extension modules." msgstr "" -#: ../Doc/library/importlib.rst:1243 +#: ../Doc/library/importlib.rst:1278 msgid "" "The *fullname* argument specifies the name of the module the loader is to " "support. The *path* argument is the path to the extension module's file." msgstr "" -#: ../Doc/library/importlib.rst:1250 +#: ../Doc/library/importlib.rst:1285 msgid "Name of the module the loader supports." msgstr "" -#: ../Doc/library/importlib.rst:1254 +#: ../Doc/library/importlib.rst:1289 msgid "Path to the extension module." msgstr "" -#: ../Doc/library/importlib.rst:1258 +#: ../Doc/library/importlib.rst:1293 msgid "" "Creates the module object from the given specification in accordance with :" "pep:`489`." msgstr "" -#: ../Doc/library/importlib.rst:1265 +#: ../Doc/library/importlib.rst:1300 msgid "Initializes the given module object in accordance with :pep:`489`." msgstr "" -#: ../Doc/library/importlib.rst:1271 +#: ../Doc/library/importlib.rst:1306 msgid "" "Returns ``True`` if the file path points to a package's ``__init__`` module " "based on :attr:`EXTENSION_SUFFIXES`." msgstr "" -#: ../Doc/library/importlib.rst:1276 +#: ../Doc/library/importlib.rst:1311 msgid "Returns ``None`` as extension modules lack a code object." msgstr "" -#: ../Doc/library/importlib.rst:1280 +#: ../Doc/library/importlib.rst:1315 msgid "Returns ``None`` as extension modules do not have source code." msgstr "" -#: ../Doc/library/importlib.rst:1291 +#: ../Doc/library/importlib.rst:1326 msgid "" "A specification for a module's import-system-related state. This is " "typically exposed as the module's ``__spec__`` attribute. In the " @@ -1530,29 +1558,29 @@ msgid "" "``__spec__.submodule_search_locations``." msgstr "" -#: ../Doc/library/importlib.rst:1305 +#: ../Doc/library/importlib.rst:1340 msgid "(``__name__``)" msgstr "" -#: ../Doc/library/importlib.rst:1307 +#: ../Doc/library/importlib.rst:1342 msgid "A string for the fully-qualified name of the module." msgstr "" -#: ../Doc/library/importlib.rst:1311 +#: ../Doc/library/importlib.rst:1346 msgid "(``__loader__``)" msgstr "" -#: ../Doc/library/importlib.rst:1313 +#: ../Doc/library/importlib.rst:1348 msgid "" -"The loader to use for loading. For namespace packages this should be set to " -"``None``." +"The :term:`Loader ` that should be used when loading the module. :" +"term:`Finders ` should always set this." msgstr "" -#: ../Doc/library/importlib.rst:1318 +#: ../Doc/library/importlib.rst:1353 msgid "(``__file__``)" msgstr "" -#: ../Doc/library/importlib.rst:1320 +#: ../Doc/library/importlib.rst:1355 msgid "" "Name of the place from which the module is loaded, e.g. \"builtin\" for " "built-in modules and the filename for modules loaded from source. Normally " @@ -1560,66 +1588,67 @@ msgid "" "indicates it is unspecified (e.g. for namespace packages)." msgstr "" -#: ../Doc/library/importlib.rst:1327 +#: ../Doc/library/importlib.rst:1362 msgid "(``__path__``)" msgstr "" -#: ../Doc/library/importlib.rst:1329 +#: ../Doc/library/importlib.rst:1364 msgid "" "List of strings for where to find submodules, if a package (``None`` " "otherwise)." msgstr "" -#: ../Doc/library/importlib.rst:1334 +#: ../Doc/library/importlib.rst:1369 msgid "" "Container of extra module-specific data for use during loading (or ``None``)." msgstr "" -#: ../Doc/library/importlib.rst:1339 +#: ../Doc/library/importlib.rst:1374 msgid "(``__cached__``)" msgstr "" -#: ../Doc/library/importlib.rst:1341 +#: ../Doc/library/importlib.rst:1376 msgid "String for where the compiled module should be stored (or ``None``)." msgstr "" -#: ../Doc/library/importlib.rst:1345 +#: ../Doc/library/importlib.rst:1380 msgid "(``__package__``)" msgstr "" -#: ../Doc/library/importlib.rst:1347 +#: ../Doc/library/importlib.rst:1382 msgid "" -"(Read-only) Fully-qualified name of the package to which the module belongs " -"as a submodule (or ``None``)." +"(Read-only) The fully-qualified name of the package under which the module " +"should be loaded as a submodule (or the empty string for top-level modules). " +"For packages, it is the same as :attr:`__name__`." msgstr "" -#: ../Doc/library/importlib.rst:1352 +#: ../Doc/library/importlib.rst:1388 msgid "" "Boolean indicating whether or not the module's \"origin\" attribute refers " "to a loadable location." msgstr "" -#: ../Doc/library/importlib.rst:1356 +#: ../Doc/library/importlib.rst:1392 msgid ":mod:`importlib.util` -- Utility code for importers" msgstr "" -#: ../Doc/library/importlib.rst:1362 +#: ../Doc/library/importlib.rst:1398 msgid "**Source code:** :source:`Lib/importlib/util.py`" msgstr "" -#: ../Doc/library/importlib.rst:1366 +#: ../Doc/library/importlib.rst:1402 msgid "" "This module contains the various objects that help in the construction of " "an :term:`importer`." msgstr "" -#: ../Doc/library/importlib.rst:1371 +#: ../Doc/library/importlib.rst:1407 msgid "" "The bytes which represent the bytecode version number. If you need help with " "loading/writing bytecode then consider :class:`importlib.abc.SourceLoader`." msgstr "" -#: ../Doc/library/importlib.rst:1378 +#: ../Doc/library/importlib.rst:1414 msgid "" "Return the :pep:`3147`/:pep:`488` path to the byte-compiled file associated " "with the source *path*. For example, if *path* is ``/foo/bar/baz.py`` the " @@ -1629,7 +1658,7 @@ msgid "" "`NotImplementedError` will be raised)." msgstr "" -#: ../Doc/library/importlib.rst:1385 +#: ../Doc/library/importlib.rst:1421 msgid "" "The *optimization* parameter is used to specify the optimization level of " "the bytecode file. An empty string represents no optimization, so ``/foo/bar/" @@ -1642,7 +1671,7 @@ msgid "" "be alphanumeric, else :exc:`ValueError` is raised." msgstr "" -#: ../Doc/library/importlib.rst:1395 +#: ../Doc/library/importlib.rst:1431 msgid "" "The *debug_override* parameter is deprecated and can be used to override the " "system's value for ``__debug__``. A ``True`` value is the equivalent of " @@ -1651,18 +1680,18 @@ msgid "" "are not ``None`` then :exc:`TypeError` is raised." msgstr "" -#: ../Doc/library/importlib.rst:1403 +#: ../Doc/library/importlib.rst:1439 msgid "" "The *optimization* parameter was added and the *debug_override* parameter " "was deprecated." msgstr "" -#: ../Doc/library/importlib.rst:1407 ../Doc/library/importlib.rst:1423 -#: ../Doc/library/importlib.rst:1567 +#: ../Doc/library/importlib.rst:1443 ../Doc/library/importlib.rst:1459 +#: ../Doc/library/importlib.rst:1608 msgid "Accepts a :term:`path-like object`." msgstr "" -#: ../Doc/library/importlib.rst:1413 +#: ../Doc/library/importlib.rst:1449 msgid "" "Given the *path* to a :pep:`3147` file name, return the associated source " "code file path. For example, if *path* is ``/foo/bar/__pycache__/baz." @@ -1672,33 +1701,39 @@ msgid "" "cache_tag` is not defined, :exc:`NotImplementedError` is raised." msgstr "" -#: ../Doc/library/importlib.rst:1428 +#: ../Doc/library/importlib.rst:1464 msgid "" "Decode the given bytes representing source code and return it as a string " "with universal newlines (as required by :meth:`importlib.abc.InspectLoader." "get_source`)." msgstr "" -#: ../Doc/library/importlib.rst:1436 +#: ../Doc/library/importlib.rst:1472 msgid "Resolve a relative module name to an absolute one." msgstr "" -#: ../Doc/library/importlib.rst:1438 +#: ../Doc/library/importlib.rst:1474 msgid "" "If **name** has no leading dots, then **name** is simply returned. This " -"allows for usage such as ``importlib.util.resolve_name('sys', __package__)`` " -"without doing a check to see if the **package** argument is needed." +"allows for usage such as ``importlib.util.resolve_name('sys', __spec__." +"parent)`` without doing a check to see if the **package** argument is needed." msgstr "" -#: ../Doc/library/importlib.rst:1443 +#: ../Doc/library/importlib.rst:1479 msgid "" -":exc:`ValueError` is raised if **name** is a relative module name but " -"package is a false value (e.g. ``None`` or the empty string). :exc:" -"`ValueError` is also raised a relative name would escape its containing " +":exc:`ImportError` is raised if **name** is a relative module name but " +"**package** is a false value (e.g. ``None`` or the empty string). :exc:" +"`ImportError` is also raised a relative name would escape its containing " "package (e.g. requesting ``..bacon`` from within the ``spam`` package)." msgstr "" -#: ../Doc/library/importlib.rst:1452 +#: ../Doc/library/importlib.rst:1486 +msgid "" +"To improve consistency with import statements, raise :exc:`ImportError` " +"instead of :exc:`ValueError` for invalid relative import attempts." +msgstr "" + +#: ../Doc/library/importlib.rst:1493 msgid "" "Find the :term:`spec ` for a module, optionally relative to the " "specified **package** name. If the module is in :attr:`sys.modules`, then " @@ -1708,30 +1743,30 @@ msgid "" "if no spec is found." msgstr "" -#: ../Doc/library/importlib.rst:1459 +#: ../Doc/library/importlib.rst:1500 msgid "" "If **name** is for a submodule (contains a dot), the parent module is " "automatically imported." msgstr "" -#: ../Doc/library/importlib.rst:1462 +#: ../Doc/library/importlib.rst:1503 msgid "**name** and **package** work the same as for :func:`import_module`." msgstr "" -#: ../Doc/library/importlib.rst:1466 +#: ../Doc/library/importlib.rst:1507 msgid "" "Raises :exc:`ModuleNotFoundError` instead of :exc:`AttributeError` if " "**package** is in fact not a package (i.e. lacks a :attr:`__path__` " "attribute)." msgstr "" -#: ../Doc/library/importlib.rst:1473 +#: ../Doc/library/importlib.rst:1514 msgid "" "Create a new module based on **spec** and :meth:`spec.loader.create_module " "`." msgstr "" -#: ../Doc/library/importlib.rst:1476 +#: ../Doc/library/importlib.rst:1517 msgid "" "If :meth:`spec.loader.create_module ` " "does not return ``None``, then any pre-existing attributes will not be " @@ -1739,14 +1774,14 @@ msgid "" "accessing **spec** or setting an attribute on the module." msgstr "" -#: ../Doc/library/importlib.rst:1481 +#: ../Doc/library/importlib.rst:1522 msgid "" "This function is preferred over using :class:`types.ModuleType` to create a " "new module as **spec** is used to set as many import-controlled attributes " "on the module as possible." msgstr "" -#: ../Doc/library/importlib.rst:1489 +#: ../Doc/library/importlib.rst:1530 msgid "" "A :term:`decorator` for :meth:`importlib.abc.Loader.load_module` to handle " "selecting the proper module object to load with. The decorated method is " @@ -1756,7 +1791,7 @@ msgid "" "work on static methods because of the assumption of two arguments." msgstr "" -#: ../Doc/library/importlib.rst:1498 +#: ../Doc/library/importlib.rst:1539 msgid "" "The decorated method will take in the **name** of the module to be loaded as " "expected for a :term:`loader`. If the module is not found in :data:`sys." @@ -1766,7 +1801,7 @@ msgid "" "available). These attributes are set unconditionally to support reloading." msgstr "" -#: ../Doc/library/importlib.rst:1506 +#: ../Doc/library/importlib.rst:1547 msgid "" "If an exception is raised by the decorated method and a module was added to :" "data:`sys.modules`, then the module will be removed to prevent a partially " @@ -1774,25 +1809,25 @@ msgid "" "was already in :data:`sys.modules` then it is left alone." msgstr "" -#: ../Doc/library/importlib.rst:1511 +#: ../Doc/library/importlib.rst:1552 msgid "" ":attr:`__loader__` and :attr:`__package__` are automatically set (when " "possible)." msgstr "" -#: ../Doc/library/importlib.rst:1515 +#: ../Doc/library/importlib.rst:1556 msgid "" "Set :attr:`__name__`, :attr:`__loader__` :attr:`__package__` unconditionally " "to support reloading." msgstr "" -#: ../Doc/library/importlib.rst:1519 +#: ../Doc/library/importlib.rst:1560 msgid "" "The import machinery now directly performs all the functionality provided by " "this function." msgstr "" -#: ../Doc/library/importlib.rst:1525 +#: ../Doc/library/importlib.rst:1566 msgid "" "A :term:`decorator` for :meth:`importlib.abc.Loader.load_module` to set the :" "attr:`__loader__` attribute on the returned module. If the attribute is " @@ -1801,23 +1836,23 @@ msgid "" "`__loader__` should be set to." msgstr "" -#: ../Doc/library/importlib.rst:1532 +#: ../Doc/library/importlib.rst:1573 msgid "" "Set ``__loader__`` if set to ``None``, as if the attribute does not exist." msgstr "" -#: ../Doc/library/importlib.rst:1536 ../Doc/library/importlib.rst:1545 +#: ../Doc/library/importlib.rst:1577 ../Doc/library/importlib.rst:1586 msgid "The import machinery takes care of this automatically." msgstr "" -#: ../Doc/library/importlib.rst:1541 +#: ../Doc/library/importlib.rst:1582 msgid "" "A :term:`decorator` for :meth:`importlib.abc.Loader.load_module` to set the :" "attr:`__package__` attribute on the returned module. If :attr:`__package__` " "is set and has a value other than ``None`` it will not be changed." msgstr "" -#: ../Doc/library/importlib.rst:1550 +#: ../Doc/library/importlib.rst:1591 msgid "" "A factory function for creating a :class:`ModuleSpec` instance based on a " "loader. The parameters have the same meaning as they do for ModuleSpec. " @@ -1825,27 +1860,27 @@ msgid "" "`InspectLoader.is_package`, to fill in any missing information on the spec." msgstr "" -#: ../Doc/library/importlib.rst:1560 +#: ../Doc/library/importlib.rst:1601 msgid "" "A factory function for creating a :class:`ModuleSpec` instance based on the " "path to a file. Missing information will be filled in on the spec by making " "use of loader APIs and by the implication that the module will be file-based." msgstr "" -#: ../Doc/library/importlib.rst:1572 +#: ../Doc/library/importlib.rst:1613 msgid "" "Return the hash of *source_bytes* as bytes. A hash-based ``.pyc`` file " "embeds the :func:`source_hash` of the corresponding source file's contents " "in its header." msgstr "" -#: ../Doc/library/importlib.rst:1580 +#: ../Doc/library/importlib.rst:1621 msgid "" "A class which postpones the execution of the loader of a module until the " "module has an attribute accessed." msgstr "" -#: ../Doc/library/importlib.rst:1583 +#: ../Doc/library/importlib.rst:1624 msgid "" "This class **only** works with loaders that define :meth:`~importlib.abc." "Loader.exec_module` as control over what module type is used for the module " @@ -1858,7 +1893,7 @@ msgid "" "raised if such a substitution is detected." msgstr "" -#: ../Doc/library/importlib.rst:1594 +#: ../Doc/library/importlib.rst:1635 msgid "" "For projects where startup time is critical, this class allows for " "potentially minimizing the cost of loading a module if it is never used. For " @@ -1867,58 +1902,58 @@ msgid "" "postponed and thus occurring out of context." msgstr "" -#: ../Doc/library/importlib.rst:1602 +#: ../Doc/library/importlib.rst:1643 msgid "" "Began calling :meth:`~importlib.abc.Loader.create_module`, removing the " "compatibility warning for :class:`importlib.machinery.BuiltinImporter` and :" "class:`importlib.machinery.ExtensionFileLoader`." msgstr "" -#: ../Doc/library/importlib.rst:1609 +#: ../Doc/library/importlib.rst:1650 msgid "" "A static method which returns a callable that creates a lazy loader. This is " "meant to be used in situations where the loader is passed by class instead " "of by instance. ::" msgstr "" -#: ../Doc/library/importlib.rst:1622 +#: ../Doc/library/importlib.rst:1663 msgid "Examples" msgstr "" -#: ../Doc/library/importlib.rst:1625 +#: ../Doc/library/importlib.rst:1666 msgid "Importing programmatically" msgstr "" -#: ../Doc/library/importlib.rst:1627 +#: ../Doc/library/importlib.rst:1668 msgid "" "To programmatically import a module, use :func:`importlib.import_module`. ::" msgstr "" -#: ../Doc/library/importlib.rst:1636 +#: ../Doc/library/importlib.rst:1677 msgid "Checking if a module can be imported" msgstr "" -#: ../Doc/library/importlib.rst:1638 +#: ../Doc/library/importlib.rst:1679 msgid "" "If you need to find out if a module can be imported without actually doing " "the import, then you should use :func:`importlib.util.find_spec`. ::" msgstr "" -#: ../Doc/library/importlib.rst:1661 +#: ../Doc/library/importlib.rst:1702 msgid "Importing a source file directly" msgstr "" -#: ../Doc/library/importlib.rst:1663 +#: ../Doc/library/importlib.rst:1704 msgid "" "To import a Python source file directly, use the following recipe (Python " "3.5 and newer only)::" msgstr "" -#: ../Doc/library/importlib.rst:1682 +#: ../Doc/library/importlib.rst:1723 msgid "Setting up an importer" msgstr "" -#: ../Doc/library/importlib.rst:1684 +#: ../Doc/library/importlib.rst:1725 msgid "" "For deep customizations of import, you typically want to implement an :term:" "`importer`. This means managing both the :term:`finder` and :term:`loader` " @@ -1932,11 +1967,11 @@ msgid "" "for the appropriate classes defined within this package)::" msgstr "" -#: ../Doc/library/importlib.rst:1716 +#: ../Doc/library/importlib.rst:1757 msgid "Approximating :func:`importlib.import_module`" msgstr "" -#: ../Doc/library/importlib.rst:1718 +#: ../Doc/library/importlib.rst:1759 msgid "" "Import itself is implemented in Python code, making it possible to expose " "most of the import machinery through importlib. The following helps " diff --git a/library/inspect.po b/library/inspect.po index 1e84ea730c..06b5c6076f 100644 --- a/library/inspect.po +++ b/library/inspect.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-09-16 20:27+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" "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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/inspect.rst:2 msgid ":mod:`inspect` --- Inspect live objects" @@ -1088,7 +1087,7 @@ msgstr "" "objetos :class:`Parameter`. Los parámetros aparecen en estricto orden de " "definición, incluyendo parámetros de sólo palabras clave." -#: ../Doc/library/inspect.rst:631 ../Doc/library/inspect.rst:968 +#: ../Doc/library/inspect.rst:631 ../Doc/library/inspect.rst:971 msgid "" "Python only explicitly guaranteed that it preserved the declaration order of " "keyword-only parameters as of version 3.7, although in practice this order " @@ -1349,18 +1348,18 @@ msgstr "" "función." #: ../Doc/library/inspect.rst:824 +#, fuzzy msgid "" -"An ordered, mutable mapping (:class:`collections.OrderedDict`) of " -"parameters' names to arguments' values. Contains only explicitly bound " -"arguments. Changes in :attr:`arguments` will reflect in :attr:`args` and :" -"attr:`kwargs`." +"A mutable mapping of parameters' names to arguments' values. Contains only " +"explicitly bound arguments. Changes in :attr:`arguments` will reflect in :" +"attr:`args` and :attr:`kwargs`." msgstr "" "Un mapeo ordenado y mutable (:class:`collections.OrderedDict`) de los " "nombres de los parámetros a los valores de los argumentos. Contiene sólo " "argumentos explícitamente vinculados. Los cambios en :attr:`arguments` se " "reflejarán en :attr:`args` y :attr:`kwargs`." -#: ../Doc/library/inspect.rst:829 +#: ../Doc/library/inspect.rst:828 msgid "" "Should be used in conjunction with :attr:`Signature.parameters` for any " "argument processing purposes." @@ -1368,7 +1367,7 @@ msgstr "" "Debe ser usado en conjunto con :attr:`Signature.parameters` para cualquier " "propósito de procesamiento de argumentos." -#: ../Doc/library/inspect.rst:834 +#: ../Doc/library/inspect.rst:833 msgid "" "Arguments for which :meth:`Signature.bind` or :meth:`Signature.bind_partial` " "relied on a default value are skipped. However, if needed, use :meth:" @@ -1378,7 +1377,13 @@ msgstr "" "bind_partial` se basaban en un valor por defecto se saltan. Sin embargo, si " "es necesario, use :meth:`BoundArguments.apply_defaults` para añadirlos." -#: ../Doc/library/inspect.rst:841 +#: ../Doc/library/inspect.rst:838 +msgid "" +":attr:`arguments` is now of type :class:`dict`. Formerly, it was of type :" +"class:`collections.OrderedDict`." +msgstr "" + +#: ../Doc/library/inspect.rst:844 msgid "" "A tuple of positional arguments values. Dynamically computed from the :attr:" "`arguments` attribute." @@ -1386,7 +1391,7 @@ msgstr "" "Una tupla de valores de argumentos posicionales. Calculados dinámicamente a " "partir del atributo :attr:`arguments`." -#: ../Doc/library/inspect.rst:846 +#: ../Doc/library/inspect.rst:849 msgid "" "A dict of keyword arguments values. Dynamically computed from the :attr:" "`arguments` attribute." @@ -1394,29 +1399,29 @@ msgstr "" "Un diccionario de valores de argumentos de palabras clave. Calculados " "dinámicamente a partir del atributo :attr:`arguments`." -#: ../Doc/library/inspect.rst:851 +#: ../Doc/library/inspect.rst:854 msgid "A reference to the parent :class:`Signature` object." msgstr "Una referencia al objeto padre :class:`Signature`." -#: ../Doc/library/inspect.rst:855 +#: ../Doc/library/inspect.rst:858 msgid "Set default values for missing arguments." msgstr "Establece valores por defecto para los argumentos que faltan." -#: ../Doc/library/inspect.rst:857 +#: ../Doc/library/inspect.rst:860 msgid "" "For variable-positional arguments (``*args``) the default is an empty tuple." msgstr "" "Para los argumentos de posición variable (``*args``) el valor por defecto es " "una tupla vacía." -#: ../Doc/library/inspect.rst:860 +#: ../Doc/library/inspect.rst:863 msgid "" "For variable-keyword arguments (``**kwargs``) the default is an empty dict." msgstr "" "Para los argumentos de palabras clave variables (``**kwargs``) el valor por " "defecto es un diccionario vacío." -#: ../Doc/library/inspect.rst:873 +#: ../Doc/library/inspect.rst:876 msgid "" "The :attr:`args` and :attr:`kwargs` properties can be used to invoke " "functions::" @@ -1424,20 +1429,20 @@ msgstr "" "Las propiedades :attr:`args` y :attr:`kwargs` pueden ser usadas para invocar " "funciones::" -#: ../Doc/library/inspect.rst:886 +#: ../Doc/library/inspect.rst:889 msgid ":pep:`362` - Function Signature Object." msgstr ":pep:`362` - Función Objeto Signature." -#: ../Doc/library/inspect.rst:887 +#: ../Doc/library/inspect.rst:890 msgid "The detailed specification, implementation details and examples." msgstr "" "La especificación detallada, los detalles de implementación y los ejemplos." -#: ../Doc/library/inspect.rst:893 +#: ../Doc/library/inspect.rst:896 msgid "Classes and functions" msgstr "Clases y funciones" -#: ../Doc/library/inspect.rst:897 +#: ../Doc/library/inspect.rst:900 msgid "" "Arrange the given list of classes into a hierarchy of nested lists. Where a " "nested list appears, it contains classes derived from the class whose entry " @@ -1456,7 +1461,7 @@ msgstr "" "clases que utilizan la herencia múltiple y sus descendientes aparecerán " "varias veces." -#: ../Doc/library/inspect.rst:908 +#: ../Doc/library/inspect.rst:911 msgid "" "Get the names and default values of a Python function's parameters. A :term:" "`named tuple` ``ArgSpec(args, varargs, keywords, defaults)`` is returned. " @@ -1474,7 +1479,7 @@ msgstr "" "defecto o ``None`` si no hay argumentos por defecto; si esta tupla tiene *n* " "elementos, corresponden a los últimos *n* elementos listados en *args*." -#: ../Doc/library/inspect.rst:916 +#: ../Doc/library/inspect.rst:919 msgid "" "Use :func:`getfullargspec` for an updated API that is usually a drop-in " "replacement, but also correctly handles function annotations and keyword-" @@ -1484,7 +1489,7 @@ msgstr "" "sustituto de la que no se necesita, pero que también maneja correctamente " "las anotaciones de la función y los parámetros de sólo palabras clave." -#: ../Doc/library/inspect.rst:921 +#: ../Doc/library/inspect.rst:924 msgid "" "Alternatively, use :func:`signature` and :ref:`Signature Object `, which provide a more structured introspection API for " @@ -1494,7 +1499,7 @@ msgstr "" "signature-object>`, que proporcionan una API de introspección más " "estructurada para los invocables." -#: ../Doc/library/inspect.rst:928 +#: ../Doc/library/inspect.rst:931 msgid "" "Get the names and default values of a Python function's parameters. A :term:" "`named tuple` is returned:" @@ -1502,7 +1507,7 @@ msgstr "" "Obtener los nombres y valores por defecto de los parámetros de una función " "de Python. Se retorna un :term:`named tuple`:" -#: ../Doc/library/inspect.rst:931 +#: ../Doc/library/inspect.rst:934 msgid "" "``FullArgSpec(args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, " "annotations)``" @@ -1510,7 +1515,7 @@ msgstr "" "``FullArgSpec(args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, " "annotations)``" -#: ../Doc/library/inspect.rst:934 +#: ../Doc/library/inspect.rst:937 msgid "" "*args* is a list of the positional parameter names. *varargs* is the name of " "the ``*`` parameter or ``None`` if arbitrary positional arguments are not " @@ -1538,7 +1543,7 @@ msgstr "" "las anotaciones. La tecla especial ``\"return\"`` se utiliza para informar " "de la anotación del valor de retorno de la función (si existe)." -#: ../Doc/library/inspect.rst:949 +#: ../Doc/library/inspect.rst:952 msgid "" "Note that :func:`signature` and :ref:`Signature Object ` provide the recommended API for callable introspection, and support " @@ -1554,7 +1559,7 @@ msgstr "" "función se conserva principalmente para su uso en el código que necesita " "mantener la compatibilidad con la API de módulos de ``inspect`` de Python 2." -#: ../Doc/library/inspect.rst:956 +#: ../Doc/library/inspect.rst:959 msgid "" "This function is now based on :func:`signature`, but still ignores " "``__wrapped__`` attributes and includes the already bound first parameter in " @@ -1564,7 +1569,7 @@ msgstr "" "atributos ``__wrapped__`` e incluye el primer parámetro ya ligado en la " "salida del signature para los métodos ligados." -#: ../Doc/library/inspect.rst:961 +#: ../Doc/library/inspect.rst:964 msgid "" "This method was previously documented as deprecated in favour of :func:" "`signature` in Python 3.5, but that decision has been reversed in order to " @@ -1576,7 +1581,7 @@ msgstr "" "una interfaz estándar claramente soportada para el código de una sola fuente " "en Python 2/3 que se aleja de la API heredada :func:`getargspec`." -#: ../Doc/library/inspect.rst:976 +#: ../Doc/library/inspect.rst:979 msgid "" "Get information about arguments passed into a particular frame. A :term:" "`named tuple` ``ArgInfo(args, varargs, keywords, locals)`` is returned. " @@ -1590,11 +1595,11 @@ msgstr "" "y *keywords* son los nombres de los argumentos ``*` y ``**`` o ``None``. " "*locals* es el diccionario local del marco dado." -#: ../Doc/library/inspect.rst:983 ../Doc/library/inspect.rst:1020 +#: ../Doc/library/inspect.rst:986 ../Doc/library/inspect.rst:1023 msgid "This function was inadvertently marked as deprecated in Python 3.5." msgstr "Esta función fue inadvertidamente marcada como obsoleta en Python 3.5." -#: ../Doc/library/inspect.rst:988 +#: ../Doc/library/inspect.rst:991 msgid "" "Format a pretty argument spec from the values returned by :func:" "`getfullargspec`." @@ -1602,7 +1607,7 @@ msgstr "" "Formatea un bonito argumento de los valores retornados por :func:" "`getfullargspec`." -#: ../Doc/library/inspect.rst:991 +#: ../Doc/library/inspect.rst:994 msgid "" "The first seven arguments are (``args``, ``varargs``, ``varkw``, " "``defaults``, ``kwonlyargs``, ``kwonlydefaults``, ``annotations``)." @@ -1610,7 +1615,7 @@ msgstr "" "Los primeros siete argumentos son (``args``, ``varargs``, ``varkw``, " "``defaults``, ``kwonlyargs``, ``kwonlydefaults``, ``annotations``)." -#: ../Doc/library/inspect.rst:994 +#: ../Doc/library/inspect.rst:997 msgid "" "The other six arguments are functions that are called to turn argument " "names, ``*`` argument name, ``**`` argument name, default values, return " @@ -1621,11 +1626,11 @@ msgstr "" "argumento ``**``, los valores por defecto, la anotación de retorno y las " "anotaciones individuales en cadenas, respectivamente." -#: ../Doc/library/inspect.rst:998 +#: ../Doc/library/inspect.rst:1001 msgid "For example:" msgstr "Por ejemplo:" -#: ../Doc/library/inspect.rst:1007 +#: ../Doc/library/inspect.rst:1010 msgid "" "Use :func:`signature` and :ref:`Signature Object `, which provide a better introspecting API for callables." @@ -1633,7 +1638,7 @@ msgstr "" "Usar :func:`signature` y :ref:`Objeto Signature `, " "que proporcionan un mejor API de introspección para los invocables." -#: ../Doc/library/inspect.rst:1015 +#: ../Doc/library/inspect.rst:1018 msgid "" "Format a pretty argument spec from the four values returned by :func:" "`getargvalues`. The format\\* arguments are the corresponding optional " @@ -1644,7 +1649,7 @@ msgstr "" "correspondientes funciones de formato opcionales que se llaman para " "convertir nombres y valores en cadenas." -#: ../Doc/library/inspect.rst:1025 +#: ../Doc/library/inspect.rst:1028 msgid "" "Return a tuple of class cls's base classes, including cls, in method " "resolution order. No class appears more than once in this tuple. Note that " @@ -1657,7 +1662,7 @@ msgstr "" "cls. A menos que se utilice un meta tipo muy peculiar definido por el " "usuario, cls será el primer elemento de la tupla." -#: ../Doc/library/inspect.rst:1033 +#: ../Doc/library/inspect.rst:1036 msgid "" "Bind the *args* and *kwds* to the argument names of the Python function or " "method *func*, as if it was called with them. For bound methods, bind also " @@ -1679,12 +1684,12 @@ msgstr "" "excepción por firma incompatible, se plantea una excepción del mismo tipo y " "del mismo o similar mensaje. Por ejemplo::" -#: ../Doc/library/inspect.rst:1056 +#: ../Doc/library/inspect.rst:1059 msgid "Use :meth:`Signature.bind` and :meth:`Signature.bind_partial` instead." msgstr "" "Usa :meth:`Signature.bind` y :meth:`Signature.bind_partial` en su lugar." -#: ../Doc/library/inspect.rst:1062 +#: ../Doc/library/inspect.rst:1065 msgid "" "Get the mapping of external name references in a Python function or method " "*func* to their current values. A :term:`named tuple` " @@ -1704,13 +1709,13 @@ msgstr "" "nombres referenciados en la función que no pudieron ser resueltos en " "absoluto dados los actuales globals y builtins del módulo." -#: ../Doc/library/inspect.rst:1071 +#: ../Doc/library/inspect.rst:1074 msgid "" ":exc:`TypeError` is raised if *func* is not a Python function or method." msgstr "" ":exc:`TypeError` es lanzado si *func* no es una función o método de Python." -#: ../Doc/library/inspect.rst:1078 +#: ../Doc/library/inspect.rst:1081 msgid "" "Get the object wrapped by *func*. It follows the chain of :attr:" "`__wrapped__` attributes returning the last object in the chain." @@ -1718,7 +1723,7 @@ msgstr "" "Obtiene el objeto envuelto por *func*. Sigue la cadena de atributos :attr:" "`__wrapped__` retornando el último objeto de la cadena." -#: ../Doc/library/inspect.rst:1081 +#: ../Doc/library/inspect.rst:1084 msgid "" "*stop* is an optional callback accepting an object in the wrapper chain as " "its sole argument that allows the unwrapping to be terminated early if the " @@ -1735,15 +1740,15 @@ msgstr "" "desenvolvimiento si algún objeto de la cadena tiene definido el atributo " "``__signature__``." -#: ../Doc/library/inspect.rst:1088 +#: ../Doc/library/inspect.rst:1091 msgid ":exc:`ValueError` is raised if a cycle is encountered." msgstr ":exc:`ValueError` es lanzado si se encuentra un ciclo." -#: ../Doc/library/inspect.rst:1096 +#: ../Doc/library/inspect.rst:1099 msgid "The interpreter stack" msgstr "La pila del interprete" -#: ../Doc/library/inspect.rst:1098 +#: ../Doc/library/inspect.rst:1101 msgid "" "When the following functions return \"frame records,\" each record is a :" "term:`named tuple` ``FrameInfo(frame, filename, lineno, function, " @@ -1759,11 +1764,11 @@ msgstr "" "función, una lista de líneas de contexto del código fuente, y el índice de " "la línea actual dentro de esa lista." -#: ../Doc/library/inspect.rst:1106 +#: ../Doc/library/inspect.rst:1109 msgid "Return a named tuple instead of a tuple." msgstr "Retorna una tupla con nombre en lugar de una tupla." -#: ../Doc/library/inspect.rst:1111 +#: ../Doc/library/inspect.rst:1114 msgid "" "Keeping references to frame objects, as found in the first element of the " "frame records these functions return, can cause your program to create " @@ -1784,7 +1789,7 @@ msgstr "" "evitar la destrucción retardada de los objetos y el aumento del consumo de " "memoria que se produce." -#: ../Doc/library/inspect.rst:1119 +#: ../Doc/library/inspect.rst:1122 msgid "" "Though the cycle detector will catch these, destruction of the frames (and " "local variables) can be made deterministic by removing the cycle in a :" @@ -1797,7 +1802,7 @@ msgstr "" "detector de ciclos fue desactivado cuando se compiló Python o usando :func:" "`gc.disable`. Por ejemplo::" -#: ../Doc/library/inspect.rst:1131 +#: ../Doc/library/inspect.rst:1134 msgid "" "If you want to keep the frame around (for example to print a traceback " "later), you can also break reference cycles by using the :meth:`frame.clear` " @@ -1807,7 +1812,7 @@ msgstr "" "traceback más tarde), también puedes romper los ciclos de referencia " "utilizando el método :meth:`frame.clear`." -#: ../Doc/library/inspect.rst:1135 +#: ../Doc/library/inspect.rst:1138 msgid "" "The optional *context* argument supported by most of these functions " "specifies the number of lines of context to return, which are centered " @@ -1817,7 +1822,7 @@ msgstr "" "funciones, especifica el número de líneas de contexto a retornar, que se " "centran en la línea actual." -#: ../Doc/library/inspect.rst:1142 +#: ../Doc/library/inspect.rst:1145 msgid "" "Get information about a frame or traceback object. A :term:`named tuple` " "``Traceback(filename, lineno, function, code_context, index)`` is returned." @@ -1826,7 +1831,7 @@ msgstr "" "`named tuple` ``Traceback(filename, lineno, function, code_context, index)`` " "es retornado." -#: ../Doc/library/inspect.rst:1148 +#: ../Doc/library/inspect.rst:1151 msgid "" "Get a list of frame records for a frame and all outer frames. These frames " "represent the calls that lead to the creation of *frame*. The first entry in " @@ -1839,8 +1844,8 @@ msgstr "" "*frame*; la última entrada representa la llamada más exterior en la pila de " "*frame*." -#: ../Doc/library/inspect.rst:1153 ../Doc/library/inspect.rst:1166 -#: ../Doc/library/inspect.rst:1190 ../Doc/library/inspect.rst:1203 +#: ../Doc/library/inspect.rst:1156 ../Doc/library/inspect.rst:1169 +#: ../Doc/library/inspect.rst:1193 ../Doc/library/inspect.rst:1206 msgid "" "A list of :term:`named tuples ` ``FrameInfo(frame, filename, " "lineno, function, code_context, index)`` is returned." @@ -1848,7 +1853,7 @@ msgstr "" "Una lista de :term:`named tuples ` ``FrameInfo(frame, filename, " "lineno, function, code_context, index)`` es retornada." -#: ../Doc/library/inspect.rst:1161 +#: ../Doc/library/inspect.rst:1164 msgid "" "Get a list of frame records for a traceback's frame and all inner frames. " "These frames represent calls made as a consequence of *frame*. The first " @@ -1860,11 +1865,11 @@ msgstr "" "consecuencia de *frame*. La primera entrada de la lista representa " "*traceback*; la última entrada representa donde se lanzó la excepción." -#: ../Doc/library/inspect.rst:1174 +#: ../Doc/library/inspect.rst:1177 msgid "Return the frame object for the caller's stack frame." msgstr "Retorna el objeto marco para el marco de la pila del que llama." -#: ../Doc/library/inspect.rst:1178 +#: ../Doc/library/inspect.rst:1181 msgid "" "This function relies on Python stack frame support in the interpreter, which " "isn't guaranteed to exist in all implementations of Python. If running in " @@ -1876,7 +1881,7 @@ msgstr "" "de Python. Si se ejecuta en una implementación sin soporte de marcos de " "pila de Python, esta función retorna ``None``." -#: ../Doc/library/inspect.rst:1186 +#: ../Doc/library/inspect.rst:1189 msgid "" "Return a list of frame records for the caller's stack. The first entry in " "the returned list represents the caller; the last entry represents the " @@ -1886,7 +1891,7 @@ msgstr "" "primera entrada de la lista retornada representa al que llama; la última " "entrada representa la llamada más exterior de la pila." -#: ../Doc/library/inspect.rst:1198 +#: ../Doc/library/inspect.rst:1201 msgid "" "Return a list of frame records for the stack between the current frame and " "the frame in which an exception currently being handled was raised in. The " @@ -1898,11 +1903,11 @@ msgstr "" "actualmente. La primera entrada de la lista representa al que llama; la " "última entrada representa el lugar donde se lanzó la excepción." -#: ../Doc/library/inspect.rst:1210 +#: ../Doc/library/inspect.rst:1213 msgid "Fetching attributes statically" msgstr "Obteniendo atributos estáticamente" -#: ../Doc/library/inspect.rst:1212 +#: ../Doc/library/inspect.rst:1215 msgid "" "Both :func:`getattr` and :func:`hasattr` can trigger code execution when " "fetching or checking for the existence of attributes. Descriptors, like " @@ -1914,7 +1919,7 @@ msgstr "" "descriptores, como las propiedades, serán invocados y se podrá llamar a :" "meth:`__getattr__` y :meth:`__getattribute__`." -#: ../Doc/library/inspect.rst:1217 +#: ../Doc/library/inspect.rst:1220 msgid "" "For cases where you want passive introspection, like documentation tools, " "this can be inconvenient. :func:`getattr_static` has the same signature as :" @@ -1925,7 +1930,7 @@ msgstr "" "`getattr_static` tiene la misma firma que :func:`getattr` pero evita la " "ejecución de código cuando obtiene atributos." -#: ../Doc/library/inspect.rst:1223 +#: ../Doc/library/inspect.rst:1226 msgid "" "Retrieve attributes without triggering dynamic lookup via the descriptor " "protocol, :meth:`__getattr__` or :meth:`__getattribute__`." @@ -1933,7 +1938,7 @@ msgstr "" "Recuperar los atributos sin activar la búsqueda dinámica a través del " "protocolo descriptor, :meth:`__getattr__` o :meth:`__getattribute__`." -#: ../Doc/library/inspect.rst:1226 +#: ../Doc/library/inspect.rst:1229 msgid "" "Note: this function may not be able to retrieve all attributes that getattr " "can fetch (like dynamically created attributes) and may find attributes that " @@ -1946,7 +1951,7 @@ msgstr "" "AttributeError). También puede retornar objetos descriptores en lugar de " "miembros de la instancia." -#: ../Doc/library/inspect.rst:1232 +#: ../Doc/library/inspect.rst:1235 msgid "" "If the instance :attr:`~object.__dict__` is shadowed by another member (for " "example a property) then this function will be unable to find instance " @@ -1956,7 +1961,7 @@ msgstr "" "(por ejemplo una propiedad) entonces esta función no podrá encontrar " "miembros de la instancia." -#: ../Doc/library/inspect.rst:1238 +#: ../Doc/library/inspect.rst:1241 msgid "" ":func:`getattr_static` does not resolve descriptors, for example slot " "descriptors or getset descriptors on objects implemented in C. The " @@ -1967,7 +1972,7 @@ msgstr "" "implementados en C. El objeto descriptor se retorna en lugar del atributo " "subyacente." -#: ../Doc/library/inspect.rst:1242 +#: ../Doc/library/inspect.rst:1245 msgid "" "You can handle these with code like the following. Note that for arbitrary " "getset descriptors invoking these may trigger code execution::" @@ -1976,11 +1981,11 @@ msgstr "" "invocación de los descriptores de getset arbitrarios pueden desencadenar la " "ejecución del código::" -#: ../Doc/library/inspect.rst:1268 +#: ../Doc/library/inspect.rst:1271 msgid "Current State of Generators and Coroutines" msgstr "Estado actual de los Generadores y las Corutinas" -#: ../Doc/library/inspect.rst:1270 +#: ../Doc/library/inspect.rst:1273 msgid "" "When implementing coroutine schedulers and for other advanced uses of " "generators, it is useful to determine whether a generator is currently " @@ -1994,31 +1999,31 @@ msgstr "" "terminado. :func:`getgeneratorstate` permite determinar fácilmente el estado " "actual de un generador." -#: ../Doc/library/inspect.rst:1278 +#: ../Doc/library/inspect.rst:1281 msgid "Get current state of a generator-iterator." msgstr "Obtener el estado actual de un generador-iterador." -#: ../Doc/library/inspect.rst:1284 ../Doc/library/inspect.rst:1299 +#: ../Doc/library/inspect.rst:1287 ../Doc/library/inspect.rst:1302 msgid "Possible states are:" msgstr "Los posibles estados son:" -#: ../Doc/library/inspect.rst:1281 +#: ../Doc/library/inspect.rst:1284 msgid "GEN_CREATED: Waiting to start execution." msgstr "GEN_CREATED: Esperando para iniciar la ejecución." -#: ../Doc/library/inspect.rst:1282 +#: ../Doc/library/inspect.rst:1285 msgid "GEN_RUNNING: Currently being executed by the interpreter." msgstr "GEN_RUNNING: Actualmente está siendo ejecutado por el intérprete." -#: ../Doc/library/inspect.rst:1283 +#: ../Doc/library/inspect.rst:1286 msgid "GEN_SUSPENDED: Currently suspended at a yield expression." msgstr "GEN_SUSPENDED: Actualmente suspendido en una expresión yield." -#: ../Doc/library/inspect.rst:1284 +#: ../Doc/library/inspect.rst:1287 msgid "GEN_CLOSED: Execution has completed." msgstr "GEN_CLOSED: La ejecución se ha completado." -#: ../Doc/library/inspect.rst:1290 +#: ../Doc/library/inspect.rst:1293 msgid "" "Get current state of a coroutine object. The function is intended to be " "used with coroutine objects created by :keyword:`async def` functions, but " @@ -2030,23 +2035,23 @@ msgstr "" "`async def`, pero aceptará cualquier objeto de corutina que tenga los " "atributos ``cr_running`` y ``cr_frame``." -#: ../Doc/library/inspect.rst:1296 +#: ../Doc/library/inspect.rst:1299 msgid "CORO_CREATED: Waiting to start execution." msgstr "CORO_CREATED: Esperando para iniciar la ejecución." -#: ../Doc/library/inspect.rst:1297 +#: ../Doc/library/inspect.rst:1300 msgid "CORO_RUNNING: Currently being executed by the interpreter." msgstr "CORO_RUNNING: Actualmente está siendo ejecutado por el intérprete." -#: ../Doc/library/inspect.rst:1298 +#: ../Doc/library/inspect.rst:1301 msgid "CORO_SUSPENDED: Currently suspended at an await expression." msgstr "CORO_SUSPENDED: Actualmente suspendido en una expresión de espera." -#: ../Doc/library/inspect.rst:1299 +#: ../Doc/library/inspect.rst:1302 msgid "CORO_CLOSED: Execution has completed." msgstr "CORO_CLOSED: La ejecución se ha completado." -#: ../Doc/library/inspect.rst:1303 +#: ../Doc/library/inspect.rst:1306 msgid "" "The current internal state of the generator can also be queried. This is " "mostly useful for testing purposes, to ensure that internal state is being " @@ -2056,7 +2061,7 @@ msgstr "" "mayormente útil para fines de prueba, para asegurar que el estado interno se " "actualiza como se espera:" -#: ../Doc/library/inspect.rst:1309 +#: ../Doc/library/inspect.rst:1312 msgid "" "Get the mapping of live local variables in *generator* to their current " "values. A dictionary is returned that maps from variable names to values. " @@ -2068,7 +2073,7 @@ msgstr "" "variables a los valores. Esto es el equivalente a llamar :func:`locals` en " "el cuerpo del generador, y se aplican todas las mismas advertencias." -#: ../Doc/library/inspect.rst:1314 +#: ../Doc/library/inspect.rst:1317 msgid "" "If *generator* is a :term:`generator` with no currently associated frame, " "then an empty dictionary is returned. :exc:`TypeError` is raised if " @@ -2078,7 +2083,7 @@ msgstr "" "entonces se retorna un diccionario vacío. :exc:`TypeError` es lanzado si " "*generator* no es un objeto generador de Python." -#: ../Doc/library/inspect.rst:1320 +#: ../Doc/library/inspect.rst:1323 msgid "" "This function relies on the generator exposing a Python stack frame for " "introspection, which isn't guaranteed to be the case in all implementations " @@ -2090,7 +2095,7 @@ msgstr "" "implementaciones de Python. En tales casos, esta función siempre retornará " "un diccionario vacío." -#: ../Doc/library/inspect.rst:1329 +#: ../Doc/library/inspect.rst:1332 msgid "" "This function is analogous to :func:`~inspect.getgeneratorlocals`, but works " "for coroutine objects created by :keyword:`async def` functions." @@ -2098,11 +2103,11 @@ msgstr "" "Esta función es análoga a :func:`~inspect.getgeneratorlocals`, pero funciona " "para los objetos de corutina creados por funciones :keyword:`async def`." -#: ../Doc/library/inspect.rst:1338 +#: ../Doc/library/inspect.rst:1341 msgid "Code Objects Bit Flags" msgstr "Objetos de código Bit Flags" -#: ../Doc/library/inspect.rst:1340 +#: ../Doc/library/inspect.rst:1343 msgid "" "Python code objects have a ``co_flags`` attribute, which is a bitmap of the " "following flags:" @@ -2110,12 +2115,12 @@ msgstr "" "Los objetos de código Python tienen un atributo ``co_flags``, que es un mapa " "de bits de los siguientes flags:" -#: ../Doc/library/inspect.rst:1345 +#: ../Doc/library/inspect.rst:1348 msgid "The code object is optimized, using fast locals." msgstr "" "El objeto del código está optimizado, usando locales rápidas (*fast locals*)." -#: ../Doc/library/inspect.rst:1349 +#: ../Doc/library/inspect.rst:1352 msgid "" "If set, a new dict will be created for the frame's ``f_locals`` when the " "code object is executed." @@ -2123,23 +2128,23 @@ msgstr "" "Si se establece, se creará un nuevo diccionario para el marco ``f_locals`` " "cuando se ejecute el objeto código." -#: ../Doc/library/inspect.rst:1354 +#: ../Doc/library/inspect.rst:1357 msgid "The code object has a variable positional parameter (``*args``-like)." msgstr "" "El objeto del código tiene un parámetro posicional variable (similar a " "``*args``)." -#: ../Doc/library/inspect.rst:1358 +#: ../Doc/library/inspect.rst:1361 msgid "The code object has a variable keyword parameter (``**kwargs``-like)." msgstr "" "El objeto del código tiene un parámetro de palabra clave variable (similar a " "``**kwargs``)." -#: ../Doc/library/inspect.rst:1362 +#: ../Doc/library/inspect.rst:1365 msgid "The flag is set when the code object is a nested function." msgstr "El flag se fija cuando el objeto del código es una función anidada." -#: ../Doc/library/inspect.rst:1366 +#: ../Doc/library/inspect.rst:1369 msgid "" "The flag is set when the code object is a generator function, i.e. a " "generator object is returned when the code object is executed." @@ -2148,11 +2153,11 @@ msgstr "" "decir, un objeto generador es retornado cuando el objeto del código se " "ejecuta." -#: ../Doc/library/inspect.rst:1371 +#: ../Doc/library/inspect.rst:1374 msgid "The flag is set if there are no free or cell variables." msgstr "El flag se configura si no hay variables libres o de celda." -#: ../Doc/library/inspect.rst:1375 +#: ../Doc/library/inspect.rst:1378 msgid "" "The flag is set when the code object is a coroutine function. When the code " "object is executed it returns a coroutine object. See :pep:`492` for more " @@ -2162,7 +2167,7 @@ msgstr "" "Cuando el objeto código se ejecuta, retorna un objeto de corutina. Ver :pep:" "`492` para más detalles." -#: ../Doc/library/inspect.rst:1383 +#: ../Doc/library/inspect.rst:1386 msgid "" "The flag is used to transform generators into generator-based coroutines. " "Generator objects with this flag can be used in ``await`` expression, and " @@ -2173,7 +2178,7 @@ msgstr "" "expresión ``await``, y objetos de corutina ``yield from``. Ver :pep:`492` " "para más detalles." -#: ../Doc/library/inspect.rst:1392 +#: ../Doc/library/inspect.rst:1395 msgid "" "The flag is set when the code object is an asynchronous generator function. " "When the code object is executed it returns an asynchronous generator " @@ -2183,7 +2188,7 @@ msgstr "" "asíncrona. Cuando el objeto código se ejecuta, retorna un objeto generador " "asíncrono. Ver :pep:`525` para más detalles." -#: ../Doc/library/inspect.rst:1399 +#: ../Doc/library/inspect.rst:1402 msgid "" "The flags are specific to CPython, and may not be defined in other Python " "implementations. Furthermore, the flags are an implementation detail, and " @@ -2196,11 +2201,11 @@ msgstr "" "de Python. Se recomienda utilizar las APIs públicas del módulo :mod:" "`inspect` para cualquier necesidad de introspección." -#: ../Doc/library/inspect.rst:1409 +#: ../Doc/library/inspect.rst:1412 msgid "Command Line Interface" msgstr "Interfaz de la línea de comando" -#: ../Doc/library/inspect.rst:1411 +#: ../Doc/library/inspect.rst:1414 msgid "" "The :mod:`inspect` module also provides a basic introspection capability " "from the command line." @@ -2208,7 +2213,7 @@ msgstr "" "El módulo :mod:`inspect` también proporciona una capacidad básica de " "introspección desde la línea de comandos." -#: ../Doc/library/inspect.rst:1416 +#: ../Doc/library/inspect.rst:1419 msgid "" "By default, accepts the name of a module and prints the source of that " "module. A class or function within the module can be printed instead by " @@ -2218,7 +2223,7 @@ msgstr "" "módulo. Una clase o función dentro del módulo puede imprimirse en su lugar " "añadiendo dos puntos y el nombre calificado del objeto objetivo." -#: ../Doc/library/inspect.rst:1422 +#: ../Doc/library/inspect.rst:1425 msgid "" "Print information about the specified object rather than the source code" msgstr "" diff --git a/library/io.po b/library/io.po index 1f4d908536..502abf93d4 100644 --- a/library/io.po +++ b/library/io.po @@ -10,16 +10,15 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-07-27 18:51-0400\n" +"Last-Translator: Douglas Cueva \n" +"Language: io\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Last-Translator: Douglas Cueva \n" -"Language: io\n" -"X-Generator: Poedit 2.3.1\n" #: ../Doc/library/io.rst:2 msgid ":mod:`io` --- Core tools for working with streams" @@ -83,8 +82,8 @@ msgstr "" "Operaciones que lanzarán un :exc:`IOError` ahora lanzan :exc:`OSError`, ya " "que :exc:`IOError` es un alias de :exc:`OSError`." -#: ../Doc/library/io.rst:51 ../Doc/library/io.rst:777 -#: ../Doc/library/io.rst:1032 +#: ../Doc/library/io.rst:51 ../Doc/library/io.rst:781 +#: ../Doc/library/io.rst:1038 msgid "Text I/O" msgstr "E/S Texto" @@ -125,7 +124,7 @@ msgstr "" "El *API* (interfaz de programación de aplicaciones) de *streams* tipo texto " "está descrito con detalle en la documentación de :class:`TextIOBase`." -#: ../Doc/library/io.rst:72 ../Doc/library/io.rst:1020 +#: ../Doc/library/io.rst:72 ../Doc/library/io.rst:1026 msgid "Binary I/O" msgstr "E/S Binaria" @@ -218,6 +217,7 @@ msgstr "" msgid "This is an alias for the builtin :func:`open` function." msgstr "Esto es un alias para la función incorporada :func:`open`." +#: ../Doc/library/io.rst:123 msgid "" "Raises an :ref:`auditing event ` ``open`` with arguments ``path``, " "``mode``, ``flags``." @@ -362,28 +362,23 @@ msgstr "" #: ../Doc/library/io.rst:199 msgid "" -"The :class:`BufferedIOBase` ABC deals with buffering on a raw byte stream (:" -"class:`RawIOBase`). Its subclasses, :class:`BufferedWriter`, :class:" -"`BufferedReader`, and :class:`BufferedRWPair` buffer streams that are " -"readable, writable, and both readable and writable. :class:`BufferedRandom` " -"provides a buffered interface to random access streams. Another :class:" -"`BufferedIOBase` subclass, :class:`BytesIO`, is a stream of in-memory bytes." -msgstr "" -"La :class:`BufferedIOBase` ABC maneja el búfer en un *stream* de *bytes* sin " -"formato (:class:`RawIOBase`). Sus subclasificaciones, :class:" -"`BufferedWriter`, :class:`BufferedReader`, y :class:`BufferedRWPair` " -"*streams* de búfer que son legible, grabable, y ambos legible y grabable. :" -"class:`BufferedRandom` provee un interfaz búfer a *streams* de acceso " -"aleatorio. Otra subclasificación :class:`BufferedIOBase`, :class:`BytesIO`, " -"es un *stream* de *bytes* en memoria." +"The :class:`BufferedIOBase` ABC extends :class:`IOBase`. It deals with " +"buffering on a raw binary stream (:class:`RawIOBase`). Its subclasses, :" +"class:`BufferedWriter`, :class:`BufferedReader`, and :class:`BufferedRWPair` " +"buffer raw binary streams that are readable, writable, and both readable and " +"writable, respectively. :class:`BufferedRandom` provides a buffered " +"interface to seekable streams. Another :class:`BufferedIOBase` subclass, :" +"class:`BytesIO`, is a stream of in-memory bytes." +msgstr "" #: ../Doc/library/io.rst:207 +#, fuzzy msgid "" -"The :class:`TextIOBase` ABC, another subclass of :class:`IOBase`, deals with " -"streams whose bytes represent text, and handles encoding and decoding to and " -"from strings. :class:`TextIOWrapper`, which extends it, is a buffered text " -"interface to a buffered raw stream (:class:`BufferedIOBase`). Finally, :" -"class:`StringIO` is an in-memory stream for text." +"The :class:`TextIOBase` ABC extends :class:`IOBase`. It deals with streams " +"whose bytes represent text, and handles encoding and decoding to and from " +"strings. :class:`TextIOWrapper`, which extends :class:`TextIOBase`, is a " +"buffered text interface to a buffered raw stream (:class:`BufferedIOBase`). " +"Finally, :class:`StringIO` is an in-memory stream for text." msgstr "" "El :class:`TextIOBase` ABC, otra subclasificación de :class:`IOBase`, trata " "con los *streams* cuyos *bytes* representan texto, y maneja la codificación " @@ -698,7 +693,7 @@ msgstr "" msgid "Return the new absolute position." msgstr "Retorna la nueva posición absoluta." -#: ../Doc/library/io.rst:346 ../Doc/library/io.rst:853 +#: ../Doc/library/io.rst:346 ../Doc/library/io.rst:857 msgid "The ``SEEK_*`` constants." msgstr "Los constantes``SEEK_*``." @@ -771,33 +766,37 @@ msgstr "" "meth:`~IOBase.close`." #: ../Doc/library/io.rst:395 +#, fuzzy msgid "" -"Base class for raw binary I/O. It inherits :class:`IOBase`. There is no " -"public constructor." +"Base class for raw binary streams. It inherits :class:`IOBase`. There is " +"no public constructor." msgstr "" "Clase base para binarios de tipo E/S sin formato. Hereda la clase :class:" "`IOBase`. No hay constructor público." #: ../Doc/library/io.rst:398 +#, fuzzy msgid "" -"Raw binary I/O typically provides low-level access to an underlying OS " -"device or API, and does not try to encapsulate it in high-level primitives " -"(this is left to Buffered I/O and Text I/O, described later in this page)." +"Raw binary streams typically provide low-level access to an underlying OS " +"device or API, and do not try to encapsulate it in high-level primitives " +"(this functionality is done at a higher-level in buffered binary streams and " +"text streams, described later in this page)." msgstr "" "E/S binario sin formato proporciona acceso de nivel bajo a algún dispositivo " "del sistema operativo o API, y no intenta de encapsular primitivos de alto " "nivel (esta función se le deja a E/S de tipo búfer y E/S de tipo texto; esto " "se describe más adelante)." -#: ../Doc/library/io.rst:402 +#: ../Doc/library/io.rst:403 +#, fuzzy msgid "" -"In addition to the attributes and methods from :class:`IOBase`, :class:" -"`RawIOBase` provides the following methods:" +":class:`RawIOBase` provides these methods in addition to those from :class:" +"`IOBase`:" msgstr "" -"Además de los atributos y métodos de :class:`IOBase`, la clase :class:" -"`RawIOBase` proporciona los siguientes métodos:" +":class:`StringIO` provee este método además de los de :class:`TextIOBase` y " +"sus padres:" -#: ../Doc/library/io.rst:407 +#: ../Doc/library/io.rst:408 msgid "" "Read up to *size* bytes from the object and return them. As a convenience, " "if *size* is unspecified or -1, all bytes until EOF are returned. Otherwise, " @@ -810,7 +809,7 @@ msgstr "" "llamado al sistema. Se pueden retornar menos de *size* *bytes* si la llamada " "del sistema operativo retorna menos de *size* *bytes*." -#: ../Doc/library/io.rst:412 +#: ../Doc/library/io.rst:413 msgid "" "If 0 bytes are returned, and *size* was not 0, this indicates end of file. " "If the object is in non-blocking mode and no bytes are available, ``None`` " @@ -820,13 +819,13 @@ msgstr "" "archivo. Si el objeto está en modo sin bloqueo y no hay *bytes* disponibles, " "se retorna ``None``." -#: ../Doc/library/io.rst:416 +#: ../Doc/library/io.rst:417 msgid "" "The default implementation defers to :meth:`readall` and :meth:`readinto`." msgstr "" "La implementación dada difiera al método :meth:`readall` y :meth:`readinto`." -#: ../Doc/library/io.rst:421 +#: ../Doc/library/io.rst:422 msgid "" "Read and return all the bytes from the stream until EOF, using multiple " "calls to the stream if necessary." @@ -834,7 +833,7 @@ msgstr "" "Lee y retorna todos los *bytes* del *stream* hasta llegar al fin del " "archivo, usando, si es necesario, varias llamadas al *stream*." -#: ../Doc/library/io.rst:426 +#: ../Doc/library/io.rst:427 msgid "" "Read bytes into a pre-allocated, writable :term:`bytes-like object` *b*, and " "return the number of bytes read. For example, *b* might be a :class:" @@ -846,7 +845,7 @@ msgstr "" "de tipo :class:`bytearray`. Si el objeto está en modo sin bloquear y no hay " "*bytes* disponibles, se retorna ``None``." -#: ../Doc/library/io.rst:434 +#: ../Doc/library/io.rst:435 msgid "" "Write the given :term:`bytes-like object`, *b*, to the underlying raw " "stream, and return the number of bytes written. This can be less than the " @@ -865,7 +864,7 @@ msgstr "" "después que retorne este método, así que la implementación solo debería " "acceder *b* durante la ejecución al método." -#: ../Doc/library/io.rst:447 +#: ../Doc/library/io.rst:448 msgid "" "Base class for binary streams that support some kind of buffering. It " "inherits :class:`IOBase`. There is no public constructor." @@ -873,7 +872,7 @@ msgstr "" "Clase base para *streams* binarios que apoyan algún tipo de búfer. Hereda :" "class:`IOBase`. No hay constructor público." -#: ../Doc/library/io.rst:450 +#: ../Doc/library/io.rst:451 msgid "" "The main difference with :class:`RawIOBase` is that methods :meth:`read`, :" "meth:`readinto` and :meth:`write` will try (respectively) to read as much " @@ -885,7 +884,7 @@ msgstr "" "la cantidad de información solicitada o consumir toda la salida dada, a " "expensas de hacer más de una llamada al sistema." -#: ../Doc/library/io.rst:455 +#: ../Doc/library/io.rst:456 msgid "" "In addition, those methods can raise :exc:`BlockingIOError` if the " "underlying raw stream is in non-blocking mode and cannot take or give enough " @@ -897,7 +896,7 @@ msgstr "" "or dar más datos; a diferencia de sus contrapartes :class:`RawIOBase`, estos " "nunca retornarán ``None``." -#: ../Doc/library/io.rst:460 +#: ../Doc/library/io.rst:461 msgid "" "Besides, the :meth:`read` method does not have a default implementation that " "defers to :meth:`readinto`." @@ -905,7 +904,7 @@ msgstr "" "Además, el método :meth:`read` no tiene una implementación dada que difiere " "al método :meth:`readinto`." -#: ../Doc/library/io.rst:463 +#: ../Doc/library/io.rst:464 msgid "" "A typical :class:`BufferedIOBase` implementation should not inherit from a :" "class:`RawIOBase` implementation, but wrap one, like :class:`BufferedWriter` " @@ -915,15 +914,16 @@ msgstr "" "implementación de :class:`RawIOBase`, es más, debería envolver como uno, así " "como hacen las clases :class:`BufferedWriter` y :class:`BufferedReader`." -#: ../Doc/library/io.rst:467 +#: ../Doc/library/io.rst:468 +#, fuzzy msgid "" -":class:`BufferedIOBase` provides or overrides these methods and attribute in " -"addition to those from :class:`IOBase`:" +":class:`BufferedIOBase` provides or overrides these data attributes and " +"methods in addition to those from :class:`IOBase`:" msgstr "" -":class:`BufferedIOBase` provee o anula estos métodos y atributos en adición " -"a los de :class:`IOBase`:" +":class:`TextIOBase` provee o anula estos atributos y métodos de datos además " +"de los de :class:`IOBase`:" -#: ../Doc/library/io.rst:472 +#: ../Doc/library/io.rst:473 msgid "" "The underlying raw stream (a :class:`RawIOBase` instance) that :class:" "`BufferedIOBase` deals with. This is not part of the :class:" @@ -933,18 +933,18 @@ msgstr "" "class:`BufferedIOBase` maneja. Esto no es parte de la API :class:" "`BufferedIOBase` y posiblemente no exista en algunas implementaciones." -#: ../Doc/library/io.rst:478 +#: ../Doc/library/io.rst:479 msgid "Separate the underlying raw stream from the buffer and return it." msgstr "Separa el *stream* subyacente del búfer y lo retorna." -#: ../Doc/library/io.rst:480 +#: ../Doc/library/io.rst:481 msgid "" "After the raw stream has been detached, the buffer is in an unusable state." msgstr "" "Luego que el *stream* sin formato ha sido separado, el búfer está en un " "estado inutilizable." -#: ../Doc/library/io.rst:483 +#: ../Doc/library/io.rst:484 msgid "" "Some buffers, like :class:`BytesIO`, do not have the concept of a single raw " "stream to return from this method. They raise :exc:`UnsupportedOperation`." @@ -953,7 +953,7 @@ msgstr "" "sin formato singular para retornar de este método. Lanza un :exc:" "`UnsupportedOperation`." -#: ../Doc/library/io.rst:491 +#: ../Doc/library/io.rst:492 msgid "" "Read and return up to *size* bytes. If the argument is omitted, ``None``, " "or negative, data is read and returned until EOF is reached. An empty :" @@ -964,7 +964,7 @@ msgstr "" "alcance el fin del archivo. Un objeto :class:`bytes` vacío se retorna si el " "*stream* está al final del archivo." -#: ../Doc/library/io.rst:495 +#: ../Doc/library/io.rst:496 msgid "" "If the argument is positive, and the underlying raw stream is not " "interactive, multiple raw reads may be issued to satisfy the byte count " @@ -979,8 +979,8 @@ msgstr "" "emitida y un resultado corto no implica que se haya llegado al fin del " "archivo." -#: ../Doc/library/io.rst:501 ../Doc/library/io.rst:524 -#: ../Doc/library/io.rst:534 +#: ../Doc/library/io.rst:502 ../Doc/library/io.rst:525 +#: ../Doc/library/io.rst:535 msgid "" "A :exc:`BlockingIOError` is raised if the underlying raw stream is in non " "blocking-mode, and has no data available at the moment." @@ -988,7 +988,7 @@ msgstr "" "Un :exc:`BlockingIOError` se lanza si el *stream* subyacente está en modo no " "bloqueo y no tiene datos al momento." -#: ../Doc/library/io.rst:506 +#: ../Doc/library/io.rst:507 msgid "" "Read and return up to *size* bytes, with at most one call to the underlying " "raw stream's :meth:`~RawIOBase.read` (or :meth:`~RawIOBase.readinto`) " @@ -1000,7 +1000,7 @@ msgstr "" "subyacente. Esto puede ser útil si estás implementando tu propio búfer por " "encima de un objeto :class:`BufferedIOBase`." -#: ../Doc/library/io.rst:512 +#: ../Doc/library/io.rst:513 msgid "" "If *size* is ``-1`` (the default), an arbitrary number of bytes are returned " "(more than zero unless EOF is reached)." @@ -1008,7 +1008,7 @@ msgstr "" "Si *size* es ``-1`` (el valor dado) se retorna un monto arbitrario de " "*bytes* (más que cero al menos que se haya llegado al fin del archivo)." -#: ../Doc/library/io.rst:517 +#: ../Doc/library/io.rst:518 msgid "" "Read bytes into a pre-allocated, writable :term:`bytes-like object` *b* and " "return the number of bytes read. For example, *b* might be a :class:" @@ -1018,7 +1018,7 @@ msgstr "" "*b* y retorna el número de *bytes* leídos. Por ejemplo, *b* puede ser un :" "class:`bytearray`." -#: ../Doc/library/io.rst:521 +#: ../Doc/library/io.rst:522 msgid "" "Like :meth:`read`, multiple reads may be issued to the underlying raw " "stream, unless the latter is interactive." @@ -1026,7 +1026,7 @@ msgstr "" "Como :meth:`read`, varias lecturas pueden ser otorgadas al *stream* sin " "formato subyacente al menos que esto último sea interactivo." -#: ../Doc/library/io.rst:529 +#: ../Doc/library/io.rst:530 msgid "" "Read bytes into a pre-allocated, writable :term:`bytes-like object` *b*, " "using at most one call to the underlying raw stream's :meth:`~RawIOBase." @@ -1038,7 +1038,7 @@ msgstr "" "meth:`~RawIOBase.readinto`) del *stream* subyacente. Retorna la cantidad de " "*bytes* leídas." -#: ../Doc/library/io.rst:541 +#: ../Doc/library/io.rst:542 msgid "" "Write the given :term:`bytes-like object`, *b*, and return the number of " "bytes written (always equal to the length of *b* in bytes, since if the " @@ -1053,7 +1053,7 @@ msgstr "" "*stream* subyacente o mantenido en un búfer por razones de rendimiento y " "latencia." -#: ../Doc/library/io.rst:548 +#: ../Doc/library/io.rst:549 msgid "" "When in non-blocking mode, a :exc:`BlockingIOError` is raised if the data " "needed to be written to the raw stream but it couldn't accept all the data " @@ -1063,7 +1063,7 @@ msgstr "" "datos tenían que ser grabadas al *stream* sin formato pero no pudo aceptar " "todos los datos sin bloquear." -#: ../Doc/library/io.rst:552 +#: ../Doc/library/io.rst:553 msgid "" "The caller may release or mutate *b* after this method returns, so the " "implementation should only access *b* during the method call." @@ -1072,19 +1072,15 @@ msgstr "" "entonces la implementación debería acceder solamente a *b* durante la " "llamada al método." -#: ../Doc/library/io.rst:557 +#: ../Doc/library/io.rst:558 msgid "Raw File I/O" msgstr "Archivo sin formato E/S" -#: ../Doc/library/io.rst:561 +#: ../Doc/library/io.rst:562 msgid "" -":class:`FileIO` represents an OS-level file containing bytes data. It " -"implements the :class:`RawIOBase` interface (and therefore the :class:" -"`IOBase` interface, too)." +"A raw binary stream representing an OS-level file containing bytes data. It " +"inherits :class:`RawIOBase`." msgstr "" -":class:`FileIO` representa un archivo de nivel OS conteniendo datos en " -"*bytes*. Implementa la interfaz :class:`RawIOBase` (y por ende también la " -"interfaz :class:`IOBase`)." #: ../Doc/library/io.rst:565 msgid "The *name* can be one of two things:" @@ -1173,18 +1169,19 @@ msgid "The file is now non-inheritable." msgstr "El archivo ahora no es heredable." #: ../Doc/library/io.rst:604 +#, fuzzy msgid "" -"In addition to the attributes and methods from :class:`IOBase` and :class:" -"`RawIOBase`, :class:`FileIO` provides the following data attributes:" +":class:`FileIO` provides these data attributes in addition to those from :" +"class:`RawIOBase` and :class:`IOBase`:" msgstr "" -"Además de los atributos y métodos de las clases :class:`IOBase` y :class:" -"`RawIOBase`, :class:`FileIO`, estos proveen los siguientes atributos:" +":class:`BytesIO` provee o anula estos métodos además de los de :class:" +"`BufferedIOBase` y :class:`IOBase`:" -#: ../Doc/library/io.rst:610 +#: ../Doc/library/io.rst:609 msgid "The mode as given in the constructor." msgstr "El modo dado en el constructor." -#: ../Doc/library/io.rst:614 +#: ../Doc/library/io.rst:613 msgid "" "The file name. This is the file descriptor of the file when no name is " "given in the constructor." @@ -1192,11 +1189,11 @@ msgstr "" "El nombre del archivo. Este es el descriptor del archivo cuando no se " "proporciona ningún nombre en el constructor." -#: ../Doc/library/io.rst:619 +#: ../Doc/library/io.rst:618 msgid "Buffered Streams" msgstr "*Streams* almacenados (búfer)" -#: ../Doc/library/io.rst:621 +#: ../Doc/library/io.rst:620 msgid "" "Buffered I/O streams provide a higher-level interface to an I/O device than " "raw I/O does." @@ -1204,9 +1201,10 @@ msgstr "" "*Streams* E/S almacenadas (búfer) proveen una interfaz de más alto nivel a " "un dispositivo E/S que a un E/S sin formato." -#: ../Doc/library/io.rst:626 +#: ../Doc/library/io.rst:625 +#, fuzzy msgid "" -"A stream implementation using an in-memory bytes buffer. It inherits :class:" +"A binary stream using an in-memory bytes buffer. It inherits :class:" "`BufferedIOBase`. The buffer is discarded when the :meth:`~IOBase.close` " "method is called." msgstr "" @@ -1214,7 +1212,7 @@ msgstr "" "class:`BufferedIOBase`. El búfer está descartado cuando se llama al método :" "meth:`~IOBase.close`." -#: ../Doc/library/io.rst:630 +#: ../Doc/library/io.rst:629 msgid "" "The optional argument *initial_bytes* is a :term:`bytes-like object` that " "contains initial data." @@ -1222,7 +1220,7 @@ msgstr "" "El argumento opcional *initial_bytes* es un :term:`bytes-like object` que " "contiene datos iniciales." -#: ../Doc/library/io.rst:633 +#: ../Doc/library/io.rst:632 msgid "" ":class:`BytesIO` provides or overrides these methods in addition to those " "from :class:`BufferedIOBase` and :class:`IOBase`:" @@ -1230,7 +1228,7 @@ msgstr "" ":class:`BytesIO` provee o anula estos métodos además de los de :class:" "`BufferedIOBase` y :class:`IOBase`:" -#: ../Doc/library/io.rst:638 +#: ../Doc/library/io.rst:637 msgid "" "Return a readable and writable view over the contents of the buffer without " "copying them. Also, mutating the view will transparently update the " @@ -1240,7 +1238,7 @@ msgstr "" "copiarlos. Además mutando la vista actualizará de forma transparente los " "contenidos del búfer::" -#: ../Doc/library/io.rst:649 +#: ../Doc/library/io.rst:648 msgid "" "As long as the view exists, the :class:`BytesIO` object cannot be resized or " "closed." @@ -1248,43 +1246,45 @@ msgstr "" "Mientras exista la vista el objeto :class:`BytesIO` no se le puede cambiar " "el tamaño o cerrado." -#: ../Doc/library/io.rst:656 +#: ../Doc/library/io.rst:655 msgid "Return :class:`bytes` containing the entire contents of the buffer." msgstr "Retorna :class:`bytes` que contiene los contenidos enteros del búfer." -#: ../Doc/library/io.rst:661 +#: ../Doc/library/io.rst:660 msgid "In :class:`BytesIO`, this is the same as :meth:`~BufferedIOBase.read`." msgstr "" "En la clase :class:`BytesIO` esto es lo mismo que :meth:`~BufferedIOBase." "read`." -#: ../Doc/library/io.rst:663 ../Doc/library/io.rst:704 +#: ../Doc/library/io.rst:662 ../Doc/library/io.rst:705 msgid "The *size* argument is now optional." msgstr "Ahora es opcional el argumento *size*." -#: ../Doc/library/io.rst:668 +#: ../Doc/library/io.rst:667 msgid "" "In :class:`BytesIO`, this is the same as :meth:`~BufferedIOBase.readinto`." msgstr "" "En la clase :class:`BytesIO` esto es lo mismo que :meth:`~BufferedIOBase." "readinto`." -#: ../Doc/library/io.rst:674 +#: ../Doc/library/io.rst:673 +#, fuzzy +msgid "" +"A buffered binary stream providing higher-level access to a readable, non " +"seekable :class:`RawIOBase` raw binary stream. It inherits :class:" +"`BufferedIOBase`." +msgstr "" +"Una secuencia de texto almacenado sobre un *stream* binario :class:" +"`BufferedIOBase`. Hereda :class:`TextIOBase`." + +#: ../Doc/library/io.rst:677 msgid "" -"A buffer providing higher-level access to a readable, sequential :class:" -"`RawIOBase` object. It inherits :class:`BufferedIOBase`. When reading data " -"from this object, a larger amount of data may be requested from the " -"underlying raw stream, and kept in an internal buffer. The buffered data can " -"then be returned directly on subsequent reads." +"When reading data from this object, a larger amount of data may be requested " +"from the underlying raw stream, and kept in an internal buffer. The buffered " +"data can then be returned directly on subsequent reads." msgstr "" -"Un búfer dando un nivel de alto acceso a un objeto :class:`RawIOBase` " -"legible y secuencial. Hereda :class:`BufferedIOBase`. Al leer datos de este " -"objeto se puede solicitar una mayor cantidad de datos del *stream* sin " -"formato subyacente, y mantener el búfer interno. Los datos que han pasado " -"por el proceso de búfer pueden ser retornados directamente en lecturas " -"posteriores." -#: ../Doc/library/io.rst:680 +#: ../Doc/library/io.rst:681 msgid "" "The constructor creates a :class:`BufferedReader` for the given readable " "*raw* stream and *buffer_size*. If *buffer_size* is omitted, :data:" @@ -1294,7 +1294,7 @@ msgstr "" "formato *raw* y *buffer_size*. Si se omite *buffer_size* se usa :data:" "`DEFAULT_BUFFER_SIZE`." -#: ../Doc/library/io.rst:684 +#: ../Doc/library/io.rst:685 msgid "" ":class:`BufferedReader` provides or overrides these methods in addition to " "those from :class:`BufferedIOBase` and :class:`IOBase`:" @@ -1302,7 +1302,7 @@ msgstr "" ":class:`BufferedReader` provee o anula los métodos en adición a los de :" "class:`BufferedIOBase` y :class:`IOBase`:" -#: ../Doc/library/io.rst:689 +#: ../Doc/library/io.rst:690 msgid "" "Return bytes from the stream without advancing the position. At most one " "single read on the raw stream is done to satisfy the call. The number of " @@ -1312,7 +1312,7 @@ msgstr "" "se hace al *stream* sin formato para satisfacer el llamado. El número de " "bytes retornados puede ser menor o mayor al solicitado." -#: ../Doc/library/io.rst:695 +#: ../Doc/library/io.rst:696 msgid "" "Read and return *size* bytes, or if *size* is not given or negative, until " "EOF or if the read call would block in non-blocking mode." @@ -1320,7 +1320,7 @@ msgstr "" "Lee y retorna *size* *bytes* o si no se da *size*, o es negativo, hasta el " "fin del archivo o si la llamada leída podría bloquear in modo no bloquear." -#: ../Doc/library/io.rst:700 +#: ../Doc/library/io.rst:701 msgid "" "Read and return up to *size* bytes with only one call on the raw stream. If " "at least one byte is buffered, only buffered bytes are returned. Otherwise, " @@ -1331,13 +1331,22 @@ msgstr "" "retornan *buffered bytes*. De lo contrario se realiza un llamado de lectura " "de un *stream* sin formato." -#: ../Doc/library/io.rst:710 +#: ../Doc/library/io.rst:711 +#, fuzzy +msgid "" +"A buffered binary stream providing higher-level access to a writeable, non " +"seekable :class:`RawIOBase` raw binary stream. It inherits :class:" +"`BufferedIOBase`." +msgstr "" +"Una secuencia de texto almacenado sobre un *stream* binario :class:" +"`BufferedIOBase`. Hereda :class:`TextIOBase`." + +#: ../Doc/library/io.rst:715 +#, fuzzy msgid "" -"A buffer providing higher-level access to a writeable, sequential :class:" -"`RawIOBase` object. It inherits :class:`BufferedIOBase`. When writing to " -"this object, data is normally placed into an internal buffer. The buffer " -"will be written out to the underlying :class:`RawIOBase` object under " -"various conditions, including:" +"When writing to this object, data is normally placed into an internal " +"buffer. The buffer will be written out to the underlying :class:`RawIOBase` " +"object under various conditions, including:" msgstr "" "Un búfer que proporciona un nivel alto de acceso a un objeto :class:" "`RawIOBase` grabable y secuencial. Hereda :class:`BufferedIOBase`. Al " @@ -1345,27 +1354,27 @@ msgstr "" "interno. El búfer se escribirá en el objeto :class:`RawIOBase` subyacente " "bajo varias condiciones, incluyendo:" -#: ../Doc/library/io.rst:716 +#: ../Doc/library/io.rst:719 msgid "when the buffer gets too small for all pending data;" msgstr "" "cuando el búfer se vuelve demasiado pequeño para todos los datos pendientes;" -#: ../Doc/library/io.rst:717 +#: ../Doc/library/io.rst:720 msgid "when :meth:`flush()` is called;" msgstr "cuando se llama :meth:`flush()`;" -#: ../Doc/library/io.rst:718 +#: ../Doc/library/io.rst:721 msgid "" "when a :meth:`seek()` is requested (for :class:`BufferedRandom` objects);" msgstr "" "cuando se pide un método :meth:`seek()` (para :class:`BufferedRandom` " "objects);" -#: ../Doc/library/io.rst:719 +#: ../Doc/library/io.rst:722 msgid "when the :class:`BufferedWriter` object is closed or destroyed." msgstr "cuando el objeto :class:`BufferedWriter` is cerrado o anulado." -#: ../Doc/library/io.rst:721 +#: ../Doc/library/io.rst:724 msgid "" "The constructor creates a :class:`BufferedWriter` for the given writeable " "*raw* stream. If the *buffer_size* is not given, it defaults to :data:" @@ -1375,7 +1384,7 @@ msgstr "" "*raw*. Si no es dado el *buffer_size*, recurre el valor :data:" "`DEFAULT_BUFFER_SIZE`." -#: ../Doc/library/io.rst:725 +#: ../Doc/library/io.rst:728 msgid "" ":class:`BufferedWriter` provides or overrides these methods in addition to " "those from :class:`BufferedIOBase` and :class:`IOBase`:" @@ -1383,7 +1392,7 @@ msgstr "" ":class:`BufferedWriter` provee o anula estos métodos además de los de :class:" "`BufferedIOBase` y :class:`IOBase`:" -#: ../Doc/library/io.rst:730 +#: ../Doc/library/io.rst:733 msgid "" "Force bytes held in the buffer into the raw stream. A :exc:" "`BlockingIOError` should be raised if the raw stream blocks." @@ -1391,7 +1400,7 @@ msgstr "" "Forzar bytes retenidos en el búfer al *stream* sin formato. Un :exc:" "`BlockingIOError` debería ser lanzado si el *stream* sin formato bloquea." -#: ../Doc/library/io.rst:735 +#: ../Doc/library/io.rst:738 msgid "" "Write the :term:`bytes-like object`, *b*, and return the number of bytes " "written. When in non-blocking mode, a :exc:`BlockingIOError` is raised if " @@ -1402,15 +1411,17 @@ msgstr "" "`BlockingIOError` si el búfer tiene que ser escrito pero el *stream* sin " "formato bloquea." -#: ../Doc/library/io.rst:743 +#: ../Doc/library/io.rst:746 +#, fuzzy msgid "" -"A buffered interface to random access streams. It inherits :class:" -"`BufferedReader` and :class:`BufferedWriter`." +"A buffered binary stream providing higher-level access to a seekable :class:" +"`RawIOBase` raw binary stream. It inherits :class:`BufferedReader` and :" +"class:`BufferedWriter`." msgstr "" "Una interfaz búfer para *streams* de acceso aleatorio. Hereda :class:" "`BufferedReader` y :class:`BufferedWriter`." -#: ../Doc/library/io.rst:746 +#: ../Doc/library/io.rst:750 msgid "" "The constructor creates a reader and writer for a seekable raw stream, given " "in the first argument. If the *buffer_size* is omitted it defaults to :data:" @@ -1420,7 +1431,7 @@ msgstr "" "buscable, dado en el primer argumento. Si se omite el *buffer_size* este " "recae sobre el valor predeterminado :data:`DEFAULT_BUFFER_SIZE`." -#: ../Doc/library/io.rst:750 +#: ../Doc/library/io.rst:754 msgid "" ":class:`BufferedRandom` is capable of anything :class:`BufferedReader` or :" "class:`BufferedWriter` can do. In addition, :meth:`seek` and :meth:`tell` " @@ -1430,17 +1441,14 @@ msgstr "" "`BufferedReader` o :class:`BufferedWriter`. Adicionalmente, se garantiza " "implementar :meth:`seek` y :meth:`tell`." -#: ../Doc/library/io.rst:757 +#: ../Doc/library/io.rst:761 msgid "" -"A buffered I/O object combining two unidirectional :class:`RawIOBase` " -"objects -- one readable, the other writeable -- into a single bidirectional " -"endpoint. It inherits :class:`BufferedIOBase`." +"A buffered binary stream providing higher-level access to two non seekable :" +"class:`RawIOBase` raw binary streams---one readable, the other writeable. It " +"inherits :class:`BufferedIOBase`." msgstr "" -"Un objeto búfer E/S combinando dos objetos :class:`RawIOBase` " -"unidireccionales -- uno legible y el otro escribible -- a un punto final " -"singular bidireccional. Hereda :class:`BufferedIOBase`." -#: ../Doc/library/io.rst:761 +#: ../Doc/library/io.rst:765 msgid "" "*reader* and *writer* are :class:`RawIOBase` objects that are readable and " "writeable respectively. If the *buffer_size* is omitted it defaults to :" @@ -1450,7 +1458,7 @@ msgstr "" "legibles y escribibles. Si se omite *buffer_size* este se recae sobre el " "valor predeterminado :data:`DEFAULT_BUFFER_SIZE`." -#: ../Doc/library/io.rst:765 +#: ../Doc/library/io.rst:769 msgid "" ":class:`BufferedRWPair` implements all of :class:`BufferedIOBase`\\'s " "methods except for :meth:`~BufferedIOBase.detach`, which raises :exc:" @@ -1460,7 +1468,7 @@ msgstr "" "`BufferedIOBase` excepto por :meth:`~BufferedIOBase.detach`, que lanza un :" "exc:`UnsupportedOperation`." -#: ../Doc/library/io.rst:771 +#: ../Doc/library/io.rst:775 msgid "" ":class:`BufferedRWPair` does not attempt to synchronize accesses to its " "underlying raw streams. You should not pass it the same object as reader " @@ -1470,17 +1478,18 @@ msgstr "" "formato subyacente. No debes pasar el mismo objeto como legible y " "escribible; usa :class:`BufferedRandom` en su lugar." -#: ../Doc/library/io.rst:781 +#: ../Doc/library/io.rst:785 +#, fuzzy msgid "" "Base class for text streams. This class provides a character and line based " -"interface to stream I/O. It inherits :class:`IOBase`. There is no public " +"interface to stream I/O. It inherits :class:`IOBase`. There is no public " "constructor." msgstr "" "Clase base para los *streams* de tipo texto. Esta clase proporciona una " "interfaz basada en caracteres y líneas para transmitir E/S. Hereda :class:" "`IOBase`. No hay constructor público." -#: ../Doc/library/io.rst:785 +#: ../Doc/library/io.rst:789 msgid "" ":class:`TextIOBase` provides or overrides these data attributes and methods " "in addition to those from :class:`IOBase`:" @@ -1488,7 +1497,7 @@ msgstr "" ":class:`TextIOBase` provee o anula estos atributos y métodos de datos además " "de los de :class:`IOBase`:" -#: ../Doc/library/io.rst:790 +#: ../Doc/library/io.rst:794 msgid "" "The name of the encoding used to decode the stream's bytes into strings, and " "to encode strings into bytes." @@ -1497,11 +1506,11 @@ msgstr "" "*stream* a cadenas de caracteres y para codificar cadenas de caracteres en " "bytes." -#: ../Doc/library/io.rst:795 +#: ../Doc/library/io.rst:799 msgid "The error setting of the decoder or encoder." msgstr "La configuración de error del decodificador o codificador." -#: ../Doc/library/io.rst:799 +#: ../Doc/library/io.rst:803 msgid "" "A string, a tuple of strings, or ``None``, indicating the newlines " "translated so far. Depending on the implementation and the initial " @@ -1512,7 +1521,7 @@ msgstr "" "implementación y los indicadores iniciales del constructor, esto puede no " "estar disponible." -#: ../Doc/library/io.rst:805 +#: ../Doc/library/io.rst:809 msgid "" "The underlying binary buffer (a :class:`BufferedIOBase` instance) that :" "class:`TextIOBase` deals with. This is not part of the :class:`TextIOBase` " @@ -1522,14 +1531,14 @@ msgstr "" "maneja :class:`TextIOBase`. Esto no es parte del API de :class:`TextIOBase` " "y puede no existir en algunas implementaciones." -#: ../Doc/library/io.rst:811 +#: ../Doc/library/io.rst:815 msgid "" "Separate the underlying binary buffer from the :class:`TextIOBase` and " "return it." msgstr "" "Separa el búfer binario subyacente de :class:`TextIOBase` y lo retorna." -#: ../Doc/library/io.rst:814 +#: ../Doc/library/io.rst:818 msgid "" "After the underlying buffer has been detached, the :class:`TextIOBase` is in " "an unusable state." @@ -1537,7 +1546,7 @@ msgstr "" "Una vez que se ha separado el búfer subyacente, la :class:`TextIOBase` está " "en un estado inutilizable." -#: ../Doc/library/io.rst:817 +#: ../Doc/library/io.rst:821 msgid "" "Some :class:`TextIOBase` implementations, like :class:`StringIO`, may not " "have the concept of an underlying buffer and calling this method will raise :" @@ -1547,7 +1556,7 @@ msgstr "" "puede no tener el concepto de un búfer subyacente y llamar a este método se " "lanzará :exc:`UnsupportedOperation`." -#: ../Doc/library/io.rst:825 +#: ../Doc/library/io.rst:829 msgid "" "Read and return at most *size* characters from the stream as a single :class:" "`str`. If *size* is negative or ``None``, reads until EOF." @@ -1556,7 +1565,7 @@ msgstr "" "`str` singular. Si *size* es negativo o ``None``, lee hasta llegar al fin " "del archivo." -#: ../Doc/library/io.rst:830 +#: ../Doc/library/io.rst:834 msgid "" "Read until newline or EOF and return a single ``str``. If the stream is " "already at EOF, an empty string is returned." @@ -1564,11 +1573,11 @@ msgstr "" "Leer hasta la nueva línea o fin del archivo y retorna un ``str`` singular. " "Si el *stream* está al fin del archivo una cadena de caracteres se retorna." -#: ../Doc/library/io.rst:833 +#: ../Doc/library/io.rst:837 msgid "If *size* is specified, at most *size* characters will be read." msgstr "Si se especifica *size* como máximo *size* de caracteres será leído." -#: ../Doc/library/io.rst:837 +#: ../Doc/library/io.rst:841 msgid "" "Change the stream position to the given *offset*. Behaviour depends on the " "*whence* parameter. The default value for *whence* is :data:`SEEK_SET`." @@ -1576,7 +1585,7 @@ msgstr "" "Cambia la posición del *stream* dada *offset*. El comportamiento depende del " "parámetro *whence*. El valor dado de *whence* es :data:`SEEK_SET`." -#: ../Doc/library/io.rst:841 +#: ../Doc/library/io.rst:845 msgid "" ":data:`SEEK_SET` or ``0``: seek from the start of the stream (the default); " "*offset* must either be a number returned by :meth:`TextIOBase.tell`, or " @@ -1586,7 +1595,7 @@ msgstr "" "debería ser un número dado por :meth:`TextIOBase.tell`, o cero. Cualquier " "otro valor *offset* produce comportamiento indefinido." -#: ../Doc/library/io.rst:845 +#: ../Doc/library/io.rst:849 msgid "" ":data:`SEEK_CUR` or ``1``: \"seek\" to the current position; *offset* must " "be zero, which is a no-operation (all other values are unsupported)." @@ -1594,7 +1603,7 @@ msgstr "" ":data:`SEEK_CUR` o ``1``: buscar la posición actual; *offset* debería ser " "cero, que es una operación no (no se apoya ningún otro valor)." -#: ../Doc/library/io.rst:848 +#: ../Doc/library/io.rst:852 msgid "" ":data:`SEEK_END` or ``2``: seek to the end of the stream; *offset* must be " "zero (all other values are unsupported)." @@ -1602,11 +1611,11 @@ msgstr "" ":data:`SEEK_END` o ``2``: buscar el fin del *stream*; *offset* debería ser " "cero (cualquier otro valor no es apoyado)." -#: ../Doc/library/io.rst:851 +#: ../Doc/library/io.rst:855 msgid "Return the new absolute position as an opaque number." msgstr "Retorna la nueva posición absoluta como un número opaco." -#: ../Doc/library/io.rst:858 +#: ../Doc/library/io.rst:862 msgid "" "Return the current stream position as an opaque number. The number does not " "usually represent a number of bytes in the underlying binary storage." @@ -1615,7 +1624,7 @@ msgstr "" "no suele representar una cantidad de bytes en el almacenamiento binario " "subyacente." -#: ../Doc/library/io.rst:864 +#: ../Doc/library/io.rst:868 msgid "" "Write the string *s* to the stream and return the number of characters " "written." @@ -1623,15 +1632,16 @@ msgstr "" "Escribe la cadena de caracteres *s* al *stream* y retorna el número de " "caracteres grabadas." -#: ../Doc/library/io.rst:871 +#: ../Doc/library/io.rst:875 +#, fuzzy msgid "" -"A buffered text stream over a :class:`BufferedIOBase` binary stream. It " -"inherits :class:`TextIOBase`." +"A buffered text stream providing higher-level access to a :class:" +"`BufferedIOBase` buffered binary stream. It inherits :class:`TextIOBase`." msgstr "" "Una secuencia de texto almacenado sobre un *stream* binario :class:" "`BufferedIOBase`. Hereda :class:`TextIOBase`." -#: ../Doc/library/io.rst:874 +#: ../Doc/library/io.rst:879 msgid "" "*encoding* gives the name of the encoding that the stream will be decoded or " "encoded with. It defaults to :func:`locale.getpreferredencoding(False) " @@ -1641,7 +1651,7 @@ msgstr "" "codificada o descodificado. Se da al valor predeterminado :func:`locale." "getpreferredencoding(False) `." -#: ../Doc/library/io.rst:878 +#: ../Doc/library/io.rst:883 msgid "" "*errors* is an optional string that specifies how encoding and decoding " "errors are to be handled. Pass ``'strict'`` to raise a :exc:`ValueError` " @@ -1669,7 +1679,7 @@ msgstr "" "de errores que hayan sido registrados con :func:`codecs.register_error` " "también son validas." -#: ../Doc/library/io.rst:894 +#: ../Doc/library/io.rst:899 msgid "" "*newline* controls how line endings are handled. It can be ``None``, " "``''``, ``'\\n'``, ``'\\r'``, and ``'\\r\\n'``. It works as follows:" @@ -1678,16 +1688,17 @@ msgstr "" "``None``, ``''``, ``'\\n'``, ``'\\r'``, and ``'\\r\\n'``. Funciona de la " "siguiente manera:" -#: ../Doc/library/io.rst:897 +#: ../Doc/library/io.rst:902 +#, fuzzy msgid "" "When reading input from the stream, if *newline* is ``None``, :term:" "`universal newlines` mode is enabled. Lines in the input can end in " "``'\\n'``, ``'\\r'``, or ``'\\r\\n'``, and these are translated into " -"``'\\n'`` before being returned to the caller. If it is ``''``, universal " -"newlines mode is enabled, but line endings are returned to the caller " -"untranslated. If it has any of the other legal values, input lines are only " -"terminated by the given string, and the line ending is returned to the " -"caller untranslated." +"``'\\n'`` before being returned to the caller. If *newline* is ``''``, " +"universal newlines mode is enabled, but line endings are returned to the " +"caller untranslated. If *newline* has any of the other legal values, input " +"lines are only terminated by the given string, and the line ending is " +"returned to the caller untranslated." msgstr "" "Al leer la entrada del *stream*, si *newline* es ``None``, el modo :term:" "`universal newlines` está habilitada. Líneas en la entrada pueden terminar " @@ -1698,7 +1709,7 @@ msgstr "" "líneas de ingreso son terminadas por la cadena de caracteres dada, y la " "línea final se retorna al llamado sin traducir." -#: ../Doc/library/io.rst:906 +#: ../Doc/library/io.rst:911 msgid "" "When writing output to the stream, if *newline* is ``None``, any ``'\\n'`` " "characters written are translated to the system default line separator, :" @@ -1713,7 +1724,7 @@ msgstr "" "legales, cualquier carácter ``'\\n'`` escrito es traducido a la cadena de " "caracteres dada." -#: ../Doc/library/io.rst:912 +#: ../Doc/library/io.rst:917 msgid "" "If *line_buffering* is ``True``, :meth:`flush` is implied when a call to " "write contains a newline character or a carriage return." @@ -1721,7 +1732,7 @@ msgstr "" "Si *line_buffering* es ``True``, se implica :meth:`flush` cuando una llamada " "a grabar contiene un carácter de nueva línea o un retorno." -#: ../Doc/library/io.rst:915 +#: ../Doc/library/io.rst:920 msgid "" "If *write_through* is ``True``, calls to :meth:`write` are guaranteed not to " "be buffered: any data written on the :class:`TextIOWrapper` object is " @@ -1732,11 +1743,11 @@ msgstr "" "`TextIOWrapper` es inmediatamente manejado por el *buffer* binario " "subyacente." -#: ../Doc/library/io.rst:919 +#: ../Doc/library/io.rst:924 msgid "The *write_through* argument has been added." msgstr "Se ha agregado el argumento *write_through*." -#: ../Doc/library/io.rst:922 +#: ../Doc/library/io.rst:927 msgid "" "The default *encoding* is now ``locale.getpreferredencoding(False)`` instead " "of ``locale.getpreferredencoding()``. Don't change temporary the locale " @@ -1749,23 +1760,24 @@ msgstr "" "setlocale`, use la codificación local actual en vez del preferido del " "usaurio." -#: ../Doc/library/io.rst:928 +#: ../Doc/library/io.rst:933 +#, fuzzy msgid "" -":class:`TextIOWrapper` provides these members in addition to those of :class:" -"`TextIOBase` and its parents:" +":class:`TextIOWrapper` provides these data attributes and methods in " +"addition to those from :class:`TextIOBase` and :class:`IOBase`:" msgstr "" -":class:`TextIOWrapper` provee estos miembros además de las de :class:" -"`TextIOBase` y sus padres:" +":class:`TextIOBase` provee o anula estos atributos y métodos de datos además " +"de los de :class:`IOBase`:" -#: ../Doc/library/io.rst:933 +#: ../Doc/library/io.rst:938 msgid "Whether line buffering is enabled." msgstr "Si el almacenamiento en línea está habilitado." -#: ../Doc/library/io.rst:937 +#: ../Doc/library/io.rst:942 msgid "Whether writes are passed immediately to the underlying binary buffer." msgstr "Si grabaciones son pasadas inmediatamente al búfer binario subyacente." -#: ../Doc/library/io.rst:945 +#: ../Doc/library/io.rst:950 msgid "" "Reconfigure this text stream using new settings for *encoding*, *errors*, " "*newline*, *line_buffering* and *write_through*." @@ -1773,7 +1785,7 @@ msgstr "" "Reconfigura este *stream* textual usando las nuevas configuraciones de " "*encoding*, *errors*, *newline*, *line_buffering* y *write_through*." -#: ../Doc/library/io.rst:948 +#: ../Doc/library/io.rst:953 msgid "" "Parameters not specified keep current settings, except ``errors='strict'`` " "is used when *encoding* is specified but *errors* is not specified." @@ -1782,7 +1794,7 @@ msgstr "" "actuales, excepto por ``errors='strict'`` cuando *encoding* se especifica " "pero *errors* no está especificado." -#: ../Doc/library/io.rst:952 +#: ../Doc/library/io.rst:957 msgid "" "It is not possible to change the encoding or newline if some data has " "already been read from the stream. On the other hand, changing encoding " @@ -1792,22 +1804,28 @@ msgstr "" "sido captados por el *stream*. Sin embargo, cambiando la codificación " "después de grabar es posible." -#: ../Doc/library/io.rst:956 +#: ../Doc/library/io.rst:961 msgid "" "This method does an implicit stream flush before setting the new parameters." msgstr "" "Este método hace una nivelación implícita del *stream* antes de configurar " "los nuevos parámetros." -#: ../Doc/library/io.rst:964 +#: ../Doc/library/io.rst:969 msgid "" -"An in-memory stream for text I/O. The text buffer is discarded when the :" -"meth:`~IOBase.close` method is called." +"A text stream using an in-memory text buffer. It inherits :class:" +"`TextIOBase`." +msgstr "" + +#: ../Doc/library/io.rst:972 +#, fuzzy +msgid "" +"The text buffer is discarded when the :meth:`~IOBase.close` method is called." msgstr "" "Un *stream* en memoria para E/S de tipo texto. El búfer de tipo texto es " "descartado cuando se llama al método :meth:`~IOBase.close`." -#: ../Doc/library/io.rst:967 +#: ../Doc/library/io.rst:975 msgid "" "The initial value of the buffer can be set by providing *initial_value*. If " "newline translation is enabled, newlines will be encoded as if by :meth:" @@ -1818,30 +1836,23 @@ msgstr "" "codificado como si fuera por :meth:`~TextIOBase.write`. El *stream* está " "posicionado al inicio del búfer." -#: ../Doc/library/io.rst:972 +#: ../Doc/library/io.rst:980 msgid "" -"The *newline* argument works like that of :class:`TextIOWrapper`. The " -"default is to consider only ``\\n`` characters as ends of lines and to do no " -"newline translation. If *newline* is set to ``None``, newlines are written " -"as ``\\n`` on all platforms, but universal newline decoding is still " -"performed when reading." +"The *newline* argument works like that of :class:`TextIOWrapper`, except " +"that when writing output to the stream, if *newline* is ``None``, newlines " +"are written as ``\\n`` on all platforms." msgstr "" -"El argumento *newline* funciona como :class:`TextIOWrapper`. El valor dado " -"es considerado solamente como caracteres ``\\n`` al final de las lineas y no " -"hacen ninguna traducción de nuevas lineas. Si *newline* está configurado con " -"``None``, nuevas lineas son escritas como ``\\n`` en todas las plataformas, " -"pero descodificación universal de las nuevas lineas todavía se realiza " -"cuando se lee." -#: ../Doc/library/io.rst:978 +#: ../Doc/library/io.rst:984 +#, fuzzy msgid "" ":class:`StringIO` provides this method in addition to those from :class:" -"`TextIOBase` and its parents:" +"`TextIOBase` and :class:`IOBase`:" msgstr "" ":class:`StringIO` provee este método además de los de :class:`TextIOBase` y " "sus padres:" -#: ../Doc/library/io.rst:983 +#: ../Doc/library/io.rst:989 msgid "" "Return a ``str`` containing the entire contents of the buffer. Newlines are " "decoded as if by :meth:`~TextIOBase.read`, although the stream position is " @@ -1851,11 +1862,11 @@ msgstr "" "lineas son descodificados como si fuera :meth:`~TextIOBase.read`, aunque la " "posición de la transmisión no haya cambiado." -#: ../Doc/library/io.rst:987 +#: ../Doc/library/io.rst:993 msgid "Example usage::" msgstr "Ejemplos de uso::" -#: ../Doc/library/io.rst:1009 +#: ../Doc/library/io.rst:1015 msgid "" "A helper codec that decodes newlines for :term:`universal newlines` mode. It " "inherits :class:`codecs.IncrementalDecoder`." @@ -1863,11 +1874,11 @@ msgstr "" "Un códec auxiliar que descodifica nuevas líneas para el modo :term:" "`universal newlines`. Hereda :class:`codecs.IncrementalDecoder`." -#: ../Doc/library/io.rst:1014 +#: ../Doc/library/io.rst:1020 msgid "Performance" msgstr "Rendimiento" -#: ../Doc/library/io.rst:1016 +#: ../Doc/library/io.rst:1022 msgid "" "This section discusses the performance of the provided concrete I/O " "implementations." @@ -1875,7 +1886,7 @@ msgstr "" "Esta sección discute el rendimiento de las implementaciones concretas de E/S " "proporcionadas." -#: ../Doc/library/io.rst:1022 +#: ../Doc/library/io.rst:1028 msgid "" "By reading and writing only large chunks of data even when the user asks for " "a single byte, buffered I/O hides any inefficiency in calling and executing " @@ -1897,7 +1908,7 @@ msgstr "" "independientemente de la plataforma y el dispositivo de respaldo. Entonces " "es siempre preferible user E/S búfer que E/S sin búfer para datos binarios." -#: ../Doc/library/io.rst:1034 +#: ../Doc/library/io.rst:1040 msgid "" "Text I/O over a binary storage (such as a file) is significantly slower than " "binary I/O over the same storage, because it requires conversions between " @@ -1913,7 +1924,7 @@ msgstr "" "registro. También :meth:`TextIOWrapper.tell` y :meth:`TextIOWrapper.seek` " "son bastante lentos debido al uso del algoritmo de reconstrucción." -#: ../Doc/library/io.rst:1041 +#: ../Doc/library/io.rst:1047 msgid "" ":class:`StringIO`, however, is a native in-memory unicode container and will " "exhibit similar speed to :class:`BytesIO`." @@ -1921,11 +1932,11 @@ msgstr "" ":class:`StringIO`, sin embargo, es un contenedor unicode nativo en memoria y " "exhibirá una velocidad similar a :class:`BytesIO`." -#: ../Doc/library/io.rst:1045 +#: ../Doc/library/io.rst:1051 msgid "Multi-threading" msgstr "Multihilo" -#: ../Doc/library/io.rst:1047 +#: ../Doc/library/io.rst:1053 msgid "" ":class:`FileIO` objects are thread-safe to the extent that the operating " "system calls (such as ``read(2)`` under Unix) they wrap are thread-safe too." @@ -1934,7 +1945,7 @@ msgstr "" "llamadas al sistema operativo(como ``read(2)`` en Unix) que envuelven " "también son seguros para subprocesos." -#: ../Doc/library/io.rst:1050 +#: ../Doc/library/io.rst:1056 msgid "" "Binary buffered objects (instances of :class:`BufferedReader`, :class:" "`BufferedWriter`, :class:`BufferedRandom` and :class:`BufferedRWPair`) " @@ -1946,15 +1957,15 @@ msgstr "" "protegen sus estructuras internas usando un bloqueo; es seguro, entonces, " "llamarlos de varios hilos a la vez." -#: ../Doc/library/io.rst:1055 +#: ../Doc/library/io.rst:1061 msgid ":class:`TextIOWrapper` objects are not thread-safe." msgstr "objetos :class:`TextIOWrapper` no son seguros para subprocesos." -#: ../Doc/library/io.rst:1058 +#: ../Doc/library/io.rst:1064 msgid "Reentrancy" msgstr "Reentrada" -#: ../Doc/library/io.rst:1060 +#: ../Doc/library/io.rst:1066 msgid "" "Binary buffered objects (instances of :class:`BufferedReader`, :class:" "`BufferedWriter`, :class:`BufferedRandom` and :class:`BufferedRWPair`) are " @@ -1972,14 +1983,106 @@ msgstr "" "lanza un :exc:`RuntimeError`. Tenga en cuenta que esto no prohíbe un hilo " "diferente entrando un objeto búfer." -#: ../Doc/library/io.rst:1068 +#: ../Doc/library/io.rst:1074 +#, fuzzy msgid "" "The above implicitly extends to text files, since the :func:`open()` " "function will wrap a buffered object inside a :class:`TextIOWrapper`. This " -"includes standard streams and therefore affects the built-in function :func:" -"`print()` as well." +"includes standard streams and therefore affects the built-in :func:`print()` " +"function as well." msgstr "" "Lo de arriba de forma implícita extiende a los archivos de tipo texto ya que " "la función :func:`open()` envolverá un objeto almacenado en un :class:" "`TextIOWrapper`. Esto incluye *streams* estándar y por ende afecta la " "función :func:`print()` también." + +#~ msgid "" +#~ "The :class:`BufferedIOBase` ABC deals with buffering on a raw byte stream " +#~ "(:class:`RawIOBase`). Its subclasses, :class:`BufferedWriter`, :class:" +#~ "`BufferedReader`, and :class:`BufferedRWPair` buffer streams that are " +#~ "readable, writable, and both readable and writable. :class:" +#~ "`BufferedRandom` provides a buffered interface to random access streams. " +#~ "Another :class:`BufferedIOBase` subclass, :class:`BytesIO`, is a stream " +#~ "of in-memory bytes." +#~ msgstr "" +#~ "La :class:`BufferedIOBase` ABC maneja el búfer en un *stream* de *bytes* " +#~ "sin formato (:class:`RawIOBase`). Sus subclasificaciones, :class:" +#~ "`BufferedWriter`, :class:`BufferedReader`, y :class:`BufferedRWPair` " +#~ "*streams* de búfer que son legible, grabable, y ambos legible y " +#~ "grabable. :class:`BufferedRandom` provee un interfaz búfer a *streams* " +#~ "de acceso aleatorio. Otra subclasificación :class:`BufferedIOBase`, :" +#~ "class:`BytesIO`, es un *stream* de *bytes* en memoria." + +#~ msgid "" +#~ "In addition to the attributes and methods from :class:`IOBase`, :class:" +#~ "`RawIOBase` provides the following methods:" +#~ msgstr "" +#~ "Además de los atributos y métodos de :class:`IOBase`, la clase :class:" +#~ "`RawIOBase` proporciona los siguientes métodos:" + +#~ msgid "" +#~ ":class:`BufferedIOBase` provides or overrides these methods and attribute " +#~ "in addition to those from :class:`IOBase`:" +#~ msgstr "" +#~ ":class:`BufferedIOBase` provee o anula estos métodos y atributos en " +#~ "adición a los de :class:`IOBase`:" + +#~ msgid "" +#~ ":class:`FileIO` represents an OS-level file containing bytes data. It " +#~ "implements the :class:`RawIOBase` interface (and therefore the :class:" +#~ "`IOBase` interface, too)." +#~ msgstr "" +#~ ":class:`FileIO` representa un archivo de nivel OS conteniendo datos en " +#~ "*bytes*. Implementa la interfaz :class:`RawIOBase` (y por ende también la " +#~ "interfaz :class:`IOBase`)." + +#~ msgid "" +#~ "In addition to the attributes and methods from :class:`IOBase` and :class:" +#~ "`RawIOBase`, :class:`FileIO` provides the following data attributes:" +#~ msgstr "" +#~ "Además de los atributos y métodos de las clases :class:`IOBase` y :class:" +#~ "`RawIOBase`, :class:`FileIO`, estos proveen los siguientes atributos:" + +#~ msgid "" +#~ "A buffer providing higher-level access to a readable, sequential :class:" +#~ "`RawIOBase` object. It inherits :class:`BufferedIOBase`. When reading " +#~ "data from this object, a larger amount of data may be requested from the " +#~ "underlying raw stream, and kept in an internal buffer. The buffered data " +#~ "can then be returned directly on subsequent reads." +#~ msgstr "" +#~ "Un búfer dando un nivel de alto acceso a un objeto :class:`RawIOBase` " +#~ "legible y secuencial. Hereda :class:`BufferedIOBase`. Al leer datos de " +#~ "este objeto se puede solicitar una mayor cantidad de datos del *stream* " +#~ "sin formato subyacente, y mantener el búfer interno. Los datos que han " +#~ "pasado por el proceso de búfer pueden ser retornados directamente en " +#~ "lecturas posteriores." + +#~ msgid "" +#~ "A buffered I/O object combining two unidirectional :class:`RawIOBase` " +#~ "objects -- one readable, the other writeable -- into a single " +#~ "bidirectional endpoint. It inherits :class:`BufferedIOBase`." +#~ msgstr "" +#~ "Un objeto búfer E/S combinando dos objetos :class:`RawIOBase` " +#~ "unidireccionales -- uno legible y el otro escribible -- a un punto final " +#~ "singular bidireccional. Hereda :class:`BufferedIOBase`." + +#~ msgid "" +#~ ":class:`TextIOWrapper` provides these members in addition to those of :" +#~ "class:`TextIOBase` and its parents:" +#~ msgstr "" +#~ ":class:`TextIOWrapper` provee estos miembros además de las de :class:" +#~ "`TextIOBase` y sus padres:" + +#~ msgid "" +#~ "The *newline* argument works like that of :class:`TextIOWrapper`. The " +#~ "default is to consider only ``\\n`` characters as ends of lines and to do " +#~ "no newline translation. If *newline* is set to ``None``, newlines are " +#~ "written as ``\\n`` on all platforms, but universal newline decoding is " +#~ "still performed when reading." +#~ msgstr "" +#~ "El argumento *newline* funciona como :class:`TextIOWrapper`. El valor " +#~ "dado es considerado solamente como caracteres ``\\n`` al final de las " +#~ "lineas y no hacen ninguna traducción de nuevas lineas. Si *newline* está " +#~ "configurado con ``None``, nuevas lineas son escritas como ``\\n`` en " +#~ "todas las plataformas, pero descodificación universal de las nuevas " +#~ "lineas todavía se realiza cuando se lee." diff --git a/library/ipaddress.po b/library/ipaddress.po index 06de5c6a03..36eb52fd67 100644 --- a/library/ipaddress.po +++ b/library/ipaddress.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-07-18 03:11-0300\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.3.1\n" #: ../Doc/library/ipaddress.rst:2 msgid ":mod:`ipaddress` --- IPv4/IPv6 manipulation library" @@ -314,7 +313,19 @@ msgstr "" "``True`` si la dirección está reservada para uso de enlace-local. Véase :" "RFC:`3927`." -#: ../Doc/library/ipaddress.rst:208 +#: ../Doc/library/ipaddress.rst:207 +msgid "" +"Returns a string representation of the IP address, controlled by an explicit " +"format string. *fmt* can be one of the following: ``'s'``, the default " +"option, equivalent to :func:`str`, ``'b'`` for a zero-padded binary string, " +"``'X'`` or ``'x'`` for an uppercase or lowercase hexadecimal representation, " +"or ``'n'``, which is equivalent to ``'b'`` for IPv4 addresses and ``'x'`` " +"for IPv6. For binary and hexadecimal representations, the form specifier " +"``'#'`` and the grouping option ``'_'`` are available. ``__format__`` is " +"used by ``format``, ``str.format`` and f-strings." +msgstr "" + +#: ../Doc/library/ipaddress.rst:234 msgid "" "Construct an IPv6 address. An :exc:`AddressValueError` is raised if " "*address* is not a valid IPv6 address." @@ -322,11 +333,11 @@ msgstr "" "Construye una dirección IPv6. Se genera un :exc:`AddressValueError` si " "*address* no es una dirección IPv6 válida." -#: ../Doc/library/ipaddress.rst:211 +#: ../Doc/library/ipaddress.rst:237 msgid "The following constitutes a valid IPv6 address:" msgstr "Lo siguiente constituye una dirección IPv6 válida:" -#: ../Doc/library/ipaddress.rst:213 +#: ../Doc/library/ipaddress.rst:239 msgid "" "A string consisting of eight groups of four hexadecimal digits, each group " "representing 16 bits. The groups are separated by colons. This describes an " @@ -342,18 +353,28 @@ msgstr "" "para más detalles. Por ejemplo, ``\"0000:0000:0000:0000:0000:0abc:0007:0def" "\"`` puede ser comprimida a ``\"::abc:7:def\"``." -#: ../Doc/library/ipaddress.rst:220 +#: ../Doc/library/ipaddress.rst:247 +#, python-format +msgid "" +"Optionally, the string may also have a scope zone ID, expressed with a " +"suffix ``%scope_id``. If present, the scope ID must be non-empty, and may " +"not contain ``%``. See :RFC:`4007` for details. For example, " +"``fe80::1234%1`` might identify address ``fe80::1234`` on the first link of " +"the node." +msgstr "" + +#: ../Doc/library/ipaddress.rst:252 msgid "An integer that fits into 128 bits." msgstr "Un entero que cabe en 128 bits." -#: ../Doc/library/ipaddress.rst:221 +#: ../Doc/library/ipaddress.rst:253 msgid "" "An integer packed into a :class:`bytes` object of length 16, big-endian." msgstr "" "Un entero empaquetado en un objeto :class:`bytes` de longitud 16, *big-" "endian*." -#: ../Doc/library/ipaddress.rst:228 +#: ../Doc/library/ipaddress.rst:263 msgid "" "The short form of the address representation, with leading zeroes in groups " "omitted and the longest sequence of groups consisting entirely of zeroes " @@ -363,12 +384,12 @@ msgstr "" "a la izquierda en los grupos y la secuencia más larga de grupos que " "consisten completamente de ceros colapsada en un sólo grupo vacío." -#: ../Doc/library/ipaddress.rst:232 +#: ../Doc/library/ipaddress.rst:267 msgid "This is also the value returned by ``str(addr)`` for IPv6 addresses." msgstr "" "Este es también el valor retornado por ``str(addr)`` para direcciones IPv6." -#: ../Doc/library/ipaddress.rst:236 +#: ../Doc/library/ipaddress.rst:271 msgid "" "The long form of the address representation, with all leading zeroes and " "groups consisting entirely of zeroes included." @@ -376,21 +397,22 @@ msgstr "" "La forma larga de la representación de la dirección, incluidos todos los " "ceros iniciales y los grupos que consisten completamente de ceros." -#: ../Doc/library/ipaddress.rst:240 +#: ../Doc/library/ipaddress.rst:275 +#, fuzzy msgid "" -"For the following attributes, see the corresponding documentation of the :" -"class:`IPv4Address` class:" +"For the following attributes and methods, see the corresponding " +"documentation of the :class:`IPv4Address` class:" msgstr "" "Para los siguientes atributos, véase la documentación correspondiente de la " "clase :class:`IPv4Address`:" # Esto no debería tener que traducirse -#: ../Doc/library/ipaddress.rst:255 +#: ../Doc/library/ipaddress.rst:290 #, fuzzy msgid "is_global" msgstr "is_global" -#: ../Doc/library/ipaddress.rst:260 +#: ../Doc/library/ipaddress.rst:295 msgid "" "``True`` if the address is reserved for site-local usage. Note that the " "site-local address space has been deprecated by :RFC:`3879`. Use :attr:" @@ -403,7 +425,7 @@ msgstr "" "si esta dirección está en el espacio de direcciones locales únicas según lo " "definido por :RFC:`4193`." -#: ../Doc/library/ipaddress.rst:267 +#: ../Doc/library/ipaddress.rst:302 msgid "" "For addresses that appear to be IPv4 mapped addresses (starting with ``::" "FFFF/96``), this property will report the embedded IPv4 address. For any " @@ -413,7 +435,14 @@ msgstr "" "con ``::FFFF/96``), esta propiedad informará la dirección IPv4 incrustada. " "Para cualquier otra dirección, esta propiedad será ``None``." -#: ../Doc/library/ipaddress.rst:273 +#: ../Doc/library/ipaddress.rst:308 +msgid "" +"For scoped addresses as defined by :RFC:`4007`, this property identifies the " +"particular zone of the address's scope that the address belongs to, as a " +"string. When no scope zone is specified, this property will be ``None``." +msgstr "" + +#: ../Doc/library/ipaddress.rst:314 msgid "" "For addresses that appear to be 6to4 addresses (starting with " "``2002::/16``) as defined by :RFC:`3056`, this property will report the " @@ -425,7 +454,7 @@ msgstr "" "la dirección IPv4 incrustada. Para cualquier otra dirección, esta propiedad " "será ``None``." -#: ../Doc/library/ipaddress.rst:280 +#: ../Doc/library/ipaddress.rst:321 msgid "" "For addresses that appear to be Teredo addresses (starting with " "``2001::/32``) as defined by :RFC:`4380`, this property will report the " @@ -437,11 +466,19 @@ msgstr "" "par de direcciones IP ``(servidor, cliente)`` incrustadas. Para cualquier " "otra dirección, esta propiedad será ``None``." -#: ../Doc/library/ipaddress.rst:287 +#: ../Doc/library/ipaddress.rst:328 +#, fuzzy +msgid "" +"Refer to the corresponding method documentation in :class:`IPv4Address`." +msgstr "" +"Consulta en :class:`IPv4Address` la documentación de atributos " +"correspondiente." + +#: ../Doc/library/ipaddress.rst:334 msgid "Conversion to Strings and Integers" msgstr "Conversión a cadenas de caracteres y enteros" -#: ../Doc/library/ipaddress.rst:289 +#: ../Doc/library/ipaddress.rst:336 msgid "" "To interoperate with networking interfaces such as the socket module, " "addresses must be converted to strings or integers. This is handled using " @@ -451,12 +488,18 @@ msgstr "" "direcciones se deben convertir en cadenas de caracteres o enteros. Esto se " "gestiona usando las funciones :func:`str` e :func:`int` incorporadas::" -#: ../Doc/library/ipaddress.rst:304 ../Doc/library/ipaddress.rst:678 -#: ../Doc/library/ipaddress.rst:814 +#: ../Doc/library/ipaddress.rst:349 +msgid "" +"Note that IPv6 scoped addresses are converted to integers without scope zone " +"ID." +msgstr "" + +#: ../Doc/library/ipaddress.rst:353 ../Doc/library/ipaddress.rst:737 +#: ../Doc/library/ipaddress.rst:873 msgid "Operators" msgstr "Operadores" -#: ../Doc/library/ipaddress.rst:306 +#: ../Doc/library/ipaddress.rst:355 msgid "" "Address objects support some operators. Unless stated otherwise, operators " "can only be applied between compatible objects (i.e. IPv4 with IPv4, IPv6 " @@ -466,34 +509,36 @@ msgstr "" "lo contrario, los operadores solo se pueden aplicar entre objetos " "compatibles (es decir, IPv4 con IPv4, IPv6 con IPv6)." -#: ../Doc/library/ipaddress.rst:312 +#: ../Doc/library/ipaddress.rst:361 msgid "Comparison operators" msgstr "Operadores de comparación" -#: ../Doc/library/ipaddress.rst:314 +#: ../Doc/library/ipaddress.rst:363 +#, fuzzy msgid "" -"Address objects can be compared with the usual set of comparison operators. " -"Some examples::" +"Address objects can be compared with the usual set of comparison operators. " +"Same IPv6 addresses with different scope zone IDs are not equal. Some " +"examples::" msgstr "" "Los objetos de dirección pueden compararse con el conjunto usual de " "operadores de comparación. Algunos ejemplos:" -#: ../Doc/library/ipaddress.rst:326 +#: ../Doc/library/ipaddress.rst:380 msgid "Arithmetic operators" msgstr "Operadores aritméticos" -#: ../Doc/library/ipaddress.rst:328 +#: ../Doc/library/ipaddress.rst:382 msgid "" "Integers can be added to or subtracted from address objects. Some examples::" msgstr "" "Los enteros pueden ser sumados o restados de objetos de dirección. Algunos " "ejemplos:" -#: ../Doc/library/ipaddress.rst:341 +#: ../Doc/library/ipaddress.rst:395 msgid "IP Network definitions" msgstr "Definiciones de red IP" -#: ../Doc/library/ipaddress.rst:343 +#: ../Doc/library/ipaddress.rst:397 msgid "" "The :class:`IPv4Network` and :class:`IPv6Network` objects provide a " "mechanism for defining and inspecting IP network definitions. A network " @@ -511,11 +556,11 @@ msgstr "" "máscara ``255.255.255.0`` y la dirección de red ``192.168.1.0`` consiste de " "las direcciones IP en el rango inclusivo ``192.168.1.0`` a ``192.168.1.255``." -#: ../Doc/library/ipaddress.rst:353 +#: ../Doc/library/ipaddress.rst:407 msgid "Prefix, net mask and host mask" msgstr "Prefijo, máscara de red y máscara de *host*" -#: ../Doc/library/ipaddress.rst:355 +#: ../Doc/library/ipaddress.rst:409 msgid "" "There are several equivalent ways to specify IP network masks. A *prefix* " "``/`` is a notation that denotes how many high-order bits are set in " @@ -536,11 +581,11 @@ msgstr "" "las listas de control de acceso de Cisco) para denotar una máscara de red. " "La máscara de host equivalente a ``/24`` en IPv4 es ``0.0.0.255``." -#: ../Doc/library/ipaddress.rst:366 +#: ../Doc/library/ipaddress.rst:420 msgid "Network objects" msgstr "Objetos de red" -#: ../Doc/library/ipaddress.rst:368 +#: ../Doc/library/ipaddress.rst:422 msgid "" "All attributes implemented by address objects are implemented by network " "objects as well. In addition, network objects implement additional " @@ -556,14 +601,14 @@ msgstr "" "documentados para :class:`IPv4Network`. Los objetos de red son :term:" "`hashable`, por lo que se pueden utilizar como claves en diccionarios." -#: ../Doc/library/ipaddress.rst:377 +#: ../Doc/library/ipaddress.rst:431 msgid "" "Construct an IPv4 network definition. *address* can be one of the following:" msgstr "" "Construye una definición de red IPv4. *address* puede ser uno de los " "siguientes:" -#: ../Doc/library/ipaddress.rst:379 +#: ../Doc/library/ipaddress.rst:433 msgid "" "A string consisting of an IP address and an optional mask, separated by a " "slash (``/``). The IP address is the network address, and the mask can be " @@ -584,7 +629,7 @@ msgstr "" "tratada como una máscara de red. Si no se proporciona una máscara, se " "considera ``\\32``." -#: ../Doc/library/ipaddress.rst:388 +#: ../Doc/library/ipaddress.rst:442 msgid "" "For example, the following *address* specifications are equivalent: " "``192.168.1.0/24``, ``192.168.1.0/255.255.255.0`` and " @@ -594,7 +639,7 @@ msgstr "" "``192.168.1.0/24``, ``192.168.1.0/255.255.255.0`` y " "``192.168.1.0/0.0.0.255``." -#: ../Doc/library/ipaddress.rst:392 +#: ../Doc/library/ipaddress.rst:446 msgid "" "An integer that fits into 32 bits. This is equivalent to a single-address " "network, with the network address being *address* and the mask being ``/32``." @@ -602,7 +647,7 @@ msgstr "" "Un entero que cabe en 32 bits. Este es equivalente a una red de una sola " "dirección, siendo *address* la dirección de red y ``/32`` la máscara." -#: ../Doc/library/ipaddress.rst:396 +#: ../Doc/library/ipaddress.rst:450 msgid "" "An integer packed into a :class:`bytes` object of length 4, big-endian. The " "interpretation is similar to an integer *address*." @@ -610,7 +655,7 @@ msgstr "" "Un entero empaquetado en un objeto :class:`bytes` de longitud 4, *big-" "endian*. La interpretación es similar a un entero *address*." -#: ../Doc/library/ipaddress.rst:399 +#: ../Doc/library/ipaddress.rst:453 msgid "" "A two-tuple of an address description and a netmask, where the address " "description is either a string, a 32-bits integer, a 4-bytes packed integer, " @@ -625,7 +670,7 @@ msgstr "" "prefijo (por ejemplo ``24``) o una cadena de caracteres que representa la " "máscara de prefijo (por ejemplo ``255.255.255.0``)." -#: ../Doc/library/ipaddress.rst:405 +#: ../Doc/library/ipaddress.rst:459 msgid "" "An :exc:`AddressValueError` is raised if *address* is not a valid IPv4 " "address. A :exc:`NetmaskValueError` is raised if the mask is not valid for " @@ -635,7 +680,7 @@ msgstr "" "válida. Se genera un :exc:`NetmaskValueError` si la máscara no es válida " "para un dirección IPv4." -#: ../Doc/library/ipaddress.rst:409 ../Doc/library/ipaddress.rst:626 +#: ../Doc/library/ipaddress.rst:463 ../Doc/library/ipaddress.rst:683 msgid "" "If *strict* is ``True`` and host bits are set in the supplied address, then :" "exc:`ValueError` is raised. Otherwise, the host bits are masked out to " @@ -645,7 +690,7 @@ msgstr "" "dirección proporcionada, se genera :exc:`ValueError`. De lo contrario, los " "bits de *host* se enmascaran para determinar la dirección de red adecuada." -#: ../Doc/library/ipaddress.rst:413 +#: ../Doc/library/ipaddress.rst:467 msgid "" "Unless stated otherwise, all network methods accepting other network/address " "objects will raise :exc:`TypeError` if the argument's IP version is " @@ -655,20 +700,20 @@ msgstr "" "otros objetos de red/dirección generarán :exc:`TypeError` si la versión IP " "del argumento es incompatible con ``self``." -#: ../Doc/library/ipaddress.rst:419 ../Doc/library/ipaddress.rst:632 +#: ../Doc/library/ipaddress.rst:473 ../Doc/library/ipaddress.rst:689 msgid "Added the two-tuple form for the *address* constructor parameter." msgstr "" "Se agregó la forma de tupla con dos elementos para el parámetro *address* " "del constructor." -#: ../Doc/library/ipaddress.rst:424 +#: ../Doc/library/ipaddress.rst:478 msgid "" "Refer to the corresponding attribute documentation in :class:`IPv4Address`." msgstr "" "Consulta en :class:`IPv4Address` la documentación de atributos " "correspondiente." -#: ../Doc/library/ipaddress.rst:434 +#: ../Doc/library/ipaddress.rst:488 msgid "" "These attributes are true for the network as a whole if they are true for " "both the network address and the broadcast address." @@ -676,7 +721,7 @@ msgstr "" "Estos atributos son verdaderos para la red en su conjunto si son verdaderos " "tanto para la dirección de red como para la dirección de difusión." -#: ../Doc/library/ipaddress.rst:439 +#: ../Doc/library/ipaddress.rst:493 msgid "" "The network address for the network. The network address and the prefix " "length together uniquely define a network." @@ -684,7 +729,7 @@ msgstr "" "La dirección de red para la red. La dirección de red y la longitud del " "prefijo juntas definen de forma única una red." -#: ../Doc/library/ipaddress.rst:444 +#: ../Doc/library/ipaddress.rst:498 msgid "" "The broadcast address for the network. Packets sent to the broadcast address " "should be received by every host on the network." @@ -692,22 +737,22 @@ msgstr "" "La dirección de difusión para la red. Los paquetes enviados a la dirección " "de difusión deberían ser recibidos por cada *host* en la red." -#: ../Doc/library/ipaddress.rst:449 +#: ../Doc/library/ipaddress.rst:503 msgid "The host mask, as an :class:`IPv4Address` object." msgstr "La máscara de *host*, como un objeto :class:`IPv4Address`." -#: ../Doc/library/ipaddress.rst:453 +#: ../Doc/library/ipaddress.rst:507 msgid "The net mask, as an :class:`IPv4Address` object." msgstr "La máscara de red, como un objeto :class:`IPv4Address`." -#: ../Doc/library/ipaddress.rst:459 +#: ../Doc/library/ipaddress.rst:513 msgid "" "A string representation of the network, with the mask in prefix notation." msgstr "" "Una representación en cadena de caracteres de la red, con la máscara en " "notación de prefijo." -#: ../Doc/library/ipaddress.rst:462 +#: ../Doc/library/ipaddress.rst:516 msgid "" "``with_prefixlen`` and ``compressed`` are always the same as " "``str(network)``. ``exploded`` uses the exploded form the network address." @@ -715,35 +760,37 @@ msgstr "" "``with_prefixlen`` y ``compressed`` son siempre lo mismo que " "``str(network)``. ``exploded`` usa la forma completa de la dirección de red." -#: ../Doc/library/ipaddress.rst:468 +#: ../Doc/library/ipaddress.rst:522 msgid "" "A string representation of the network, with the mask in net mask notation." msgstr "" "Una representación en cadena de caracteres de la red, con la máscara en " "notación de máscara de red." -#: ../Doc/library/ipaddress.rst:473 +#: ../Doc/library/ipaddress.rst:527 msgid "" "A string representation of the network, with the mask in host mask notation." msgstr "" "Una representación de cadena de caracteres de la red, con la máscara en " "notación de máscara de *host*." -#: ../Doc/library/ipaddress.rst:478 +#: ../Doc/library/ipaddress.rst:532 msgid "The total number of addresses in the network." msgstr "El número total de direcciones en la red." -#: ../Doc/library/ipaddress.rst:482 +#: ../Doc/library/ipaddress.rst:536 msgid "Length of the network prefix, in bits." msgstr "Longitud del prefijo de red, en bits." -#: ../Doc/library/ipaddress.rst:486 +#: ../Doc/library/ipaddress.rst:540 +#, fuzzy msgid "" "Returns an iterator over the usable hosts in the network. The usable hosts " "are all the IP addresses that belong to the network, except the network " "address itself and the network broadcast address. For networks with a mask " "length of 31, the network address and network broadcast address are also " -"included in the result." +"included in the result. Networks with a mask of 32 will return a list " +"containing the single host address." msgstr "" "Retorna un iterador a través de los *hosts* utilizables de la red. Los " "*hosts* utilizables son todas las direcciones IP que pertenecen a la red, " @@ -751,7 +798,7 @@ msgstr "" "las redes con una longitud de máscara de 31, la dirección de red y la " "dirección de difusión de red también se incluyen en el resultado." -#: ../Doc/library/ipaddress.rst:501 +#: ../Doc/library/ipaddress.rst:558 msgid "" "``True`` if this network is partly or wholly contained in *other* or *other* " "is wholly contained in this network." @@ -759,7 +806,7 @@ msgstr "" "``True`` si esta red está parcial o totalmente contenida en *other* u " "*other* está totalmente contenida en esta red." -#: ../Doc/library/ipaddress.rst:506 +#: ../Doc/library/ipaddress.rst:563 msgid "" "Computes the network definitions resulting from removing the given *network* " "from this one. Returns an iterator of network objects. Raises :exc:" @@ -769,7 +816,7 @@ msgstr "" "red. Retorna un iterador de objetos de red. Se genera :exc:`ValueError` si " "*network* no está completamente contenida en esta red." -#: ../Doc/library/ipaddress.rst:519 +#: ../Doc/library/ipaddress.rst:576 msgid "" "The subnets that join to make the current network definition, depending on " "the argument values. *prefixlen_diff* is the amount our prefix length " @@ -785,7 +832,7 @@ msgstr "" "Se debe establecer uno y solo uno de *prefixlen_diff* y *new_prefix*. " "Retorna un iterador de objetos de red." -#: ../Doc/library/ipaddress.rst:544 +#: ../Doc/library/ipaddress.rst:601 msgid "" "The supernet containing this network definition, depending on the argument " "values. *prefixlen_diff* is the amount our prefix length should be " @@ -800,15 +847,15 @@ msgstr "" "establecer uno y solo uno de *prefixlen_diff* y *new_prefix*. Retorna un " "único objeto de red." -#: ../Doc/library/ipaddress.rst:560 +#: ../Doc/library/ipaddress.rst:617 msgid "Return ``True`` if this network is a subnet of *other*." msgstr "Retorna ``True`` si esta red es una subred de *other*." -#: ../Doc/library/ipaddress.rst:571 +#: ../Doc/library/ipaddress.rst:628 msgid "Return ``True`` if this network is a supernet of *other*." msgstr "Retorna ``True`` si esta red es una superred de *other*." -#: ../Doc/library/ipaddress.rst:582 +#: ../Doc/library/ipaddress.rst:639 msgid "" "Compare this network to *other*. In this comparison only the network " "addresses are considered; host bits aren't. Returns either ``-1``, ``0`` or " @@ -817,7 +864,7 @@ msgstr "" "Compara esta red con *other*. En esta comparación solo se consideran las " "direcciones de red; los bits de *host* no. Retorna ``-1``, ``0`` o ``1``." -#: ../Doc/library/ipaddress.rst:593 +#: ../Doc/library/ipaddress.rst:650 msgid "" "It uses the same ordering and comparison algorithm as \"<\", \"==\", and \">" "\"" @@ -825,14 +872,14 @@ msgstr "" "Utiliza el mismo algoritmo de ordenación y comparación que \"<\", \"==\", y " "\">\"" -#: ../Doc/library/ipaddress.rst:599 +#: ../Doc/library/ipaddress.rst:656 msgid "" "Construct an IPv6 network definition. *address* can be one of the following:" msgstr "" "Construye una definición de red IPv6. *address* puede ser uno de los " "siguientes:" -#: ../Doc/library/ipaddress.rst:601 +#: ../Doc/library/ipaddress.rst:658 msgid "" "A string consisting of an IP address and an optional prefix length, " "separated by a slash (``/``). The IP address is the network address, and " @@ -845,7 +892,7 @@ msgstr "" "*prefijo*. Si no se proporciona ninguna longitud de prefijo, se considera " "que es ``/128``." -#: ../Doc/library/ipaddress.rst:606 +#: ../Doc/library/ipaddress.rst:663 msgid "" "Note that currently expanded netmasks are not supported. That means ``2001:" "db00::0/24`` is a valid argument while ``2001:db00::0/ffff:ff00::`` not." @@ -854,7 +901,7 @@ msgstr "" "actualmente. Eso significa que ``2001:db00::0/24`` es un argumento válido " "mientras que ``2001:db00::0/ffff:ff00::`` no." -#: ../Doc/library/ipaddress.rst:610 +#: ../Doc/library/ipaddress.rst:667 msgid "" "An integer that fits into 128 bits. This is equivalent to a single-address " "network, with the network address being *address* and the mask being " @@ -863,7 +910,7 @@ msgstr "" "Un entero que cabe en 128 bits. Este es equivalente a una red de una sola " "dirección, siendo *address* la dirección de red y ``/128`` la máscara." -#: ../Doc/library/ipaddress.rst:614 +#: ../Doc/library/ipaddress.rst:671 msgid "" "An integer packed into a :class:`bytes` object of length 16, big-endian. The " "interpretation is similar to an integer *address*." @@ -871,7 +918,7 @@ msgstr "" "Un entero empaquetado en un objeto :class:`bytes` de longitud 16, *big-" "endian*. La interpretación es similar a un entero *address*." -#: ../Doc/library/ipaddress.rst:617 +#: ../Doc/library/ipaddress.rst:674 msgid "" "A two-tuple of an address description and a netmask, where the address " "description is either a string, a 128-bits integer, a 16-bytes packed " @@ -884,7 +931,7 @@ msgstr "" "IPv6Address existente; y una máscara de red es un entero que representa la " "longitud del prefijo." -#: ../Doc/library/ipaddress.rst:622 +#: ../Doc/library/ipaddress.rst:679 msgid "" "An :exc:`AddressValueError` is raised if *address* is not a valid IPv6 " "address. A :exc:`NetmaskValueError` is raised if the mask is not valid for " @@ -894,12 +941,14 @@ msgstr "" "válida. Se genera un :exc:`NetmaskValueError` si la máscara no es válida " "para una dirección IPv6." -#: ../Doc/library/ipaddress.rst:655 +#: ../Doc/library/ipaddress.rst:712 +#, fuzzy msgid "" "Returns an iterator over the usable hosts in the network. The usable hosts " "are all the IP addresses that belong to the network, except the Subnet-" "Router anycast address. For networks with a mask length of 127, the Subnet-" -"Router anycast address is also included in the result." +"Router anycast address is also included in the result. Networks with a mask " +"of 128 will return a list containing the single host address." msgstr "" "Retorna un iterador sobre los *hosts* utilizables de la red. Los *hosts* " "utilizables son todas las direcciones IP que pertenecen a la red, excepto la " @@ -907,14 +956,14 @@ msgstr "" "máscara de 127, la dirección *anycast Subnet-Router* también se incluye en " "el resultado." -#: ../Doc/library/ipaddress.rst:668 +#: ../Doc/library/ipaddress.rst:727 msgid "" "Refer to the corresponding attribute documentation in :class:`IPv4Network`." msgstr "" "Consulta en :class:`IPv4Network` la documentación de atributos " "correspondiente." -#: ../Doc/library/ipaddress.rst:673 +#: ../Doc/library/ipaddress.rst:732 msgid "" "These attribute is true for the network as a whole if it is true for both " "the network address and the broadcast address." @@ -922,7 +971,7 @@ msgstr "" "Este atributo es verdadero para la red en su conjunto si es verdadero tanto " "para la dirección de red como para la dirección de difusión." -#: ../Doc/library/ipaddress.rst:680 +#: ../Doc/library/ipaddress.rst:739 msgid "" "Network objects support some operators. Unless stated otherwise, operators " "can only be applied between compatible objects (i.e. IPv4 with IPv4, IPv6 " @@ -932,11 +981,11 @@ msgstr "" "contrario, los operadores solo se pueden aplicar entre objetos compatibles " "(es decir, IPv4 con IPv4, IPv6 con IPv6)." -#: ../Doc/library/ipaddress.rst:686 ../Doc/library/ipaddress.rst:822 +#: ../Doc/library/ipaddress.rst:745 ../Doc/library/ipaddress.rst:881 msgid "Logical operators" msgstr "Operadores lógicos" -#: ../Doc/library/ipaddress.rst:688 +#: ../Doc/library/ipaddress.rst:747 msgid "" "Network objects can be compared with the usual set of logical operators. " "Network objects are ordered first by network address, then by net mask." @@ -945,11 +994,11 @@ msgstr "" "lógicos. Los objetos de red son ordenados primero por dirección de red, y " "después por máscara de red." -#: ../Doc/library/ipaddress.rst:693 +#: ../Doc/library/ipaddress.rst:752 msgid "Iteration" msgstr "Iteración" -#: ../Doc/library/ipaddress.rst:695 +#: ../Doc/library/ipaddress.rst:754 msgid "" "Network objects can be iterated to list all the addresses belonging to the " "network. For iteration, *all* hosts are returned, including unusable hosts " @@ -960,21 +1009,21 @@ msgstr "" "incluyendo *hosts* inutilizables (para *hosts* utilizables, se usa el " "método :meth:`~IPv4Network.hosts`). Un ejemplo::" -#: ../Doc/library/ipaddress.rst:722 +#: ../Doc/library/ipaddress.rst:781 msgid "Networks as containers of addresses" msgstr "Redes como contenedores de direcciones" -#: ../Doc/library/ipaddress.rst:724 +#: ../Doc/library/ipaddress.rst:783 msgid "Network objects can act as containers of addresses. Some examples::" msgstr "" "Los objetos de red pueden actuar como contenedores de direcciones. Algunos " "ejemplos::" -#: ../Doc/library/ipaddress.rst:737 +#: ../Doc/library/ipaddress.rst:796 msgid "Interface objects" msgstr "Objetos de interfaz" -#: ../Doc/library/ipaddress.rst:739 +#: ../Doc/library/ipaddress.rst:798 msgid "" "Interface objects are :term:`hashable`, so they can be used as keys in " "dictionaries." @@ -982,7 +1031,7 @@ msgstr "" "Los objetos de interfaz son :term:`hashable`, por lo que se pueden utilizar " "como claves en diccionarios." -#: ../Doc/library/ipaddress.rst:744 +#: ../Doc/library/ipaddress.rst:803 msgid "" "Construct an IPv4 interface. The meaning of *address* is as in the " "constructor of :class:`IPv4Network`, except that arbitrary host addresses " @@ -992,7 +1041,7 @@ msgstr "" "el constructor de :class:`IPv4Network`, excepto que las direcciones de " "*host* arbitrarias son siempre aceptadas." -#: ../Doc/library/ipaddress.rst:748 +#: ../Doc/library/ipaddress.rst:807 msgid "" ":class:`IPv4Interface` is a subclass of :class:`IPv4Address`, so it inherits " "all the attributes from that class. In addition, the following attributes " @@ -1002,35 +1051,35 @@ msgstr "" "hereda todos los atributos de esa clase. Adicionalmente, los siguientes " "atributos están disponibles:" -#: ../Doc/library/ipaddress.rst:754 +#: ../Doc/library/ipaddress.rst:813 msgid "The address (:class:`IPv4Address`) without network information." msgstr "La dirección (:class:`IPv4Address`) sin información de red." -#: ../Doc/library/ipaddress.rst:762 +#: ../Doc/library/ipaddress.rst:821 msgid "The network (:class:`IPv4Network`) this interface belongs to." msgstr "La red (:class:`IPv4Network`) a la que pertenece esta interfaz." -#: ../Doc/library/ipaddress.rst:770 +#: ../Doc/library/ipaddress.rst:829 msgid "" "A string representation of the interface with the mask in prefix notation." msgstr "" "Una representación en cadena de caracteres de la interfaz con la máscara en " "notación de prefijo." -#: ../Doc/library/ipaddress.rst:778 +#: ../Doc/library/ipaddress.rst:837 msgid "" "A string representation of the interface with the network as a net mask." msgstr "" "Una representación en cadena de caracteres de la interfaz con la red como " "una máscara de red." -#: ../Doc/library/ipaddress.rst:786 +#: ../Doc/library/ipaddress.rst:845 msgid "" "A string representation of the interface with the network as a host mask." msgstr "" "Una representación de la interfaz con la red como una máscara de *host*." -#: ../Doc/library/ipaddress.rst:795 +#: ../Doc/library/ipaddress.rst:854 msgid "" "Construct an IPv6 interface. The meaning of *address* is as in the " "constructor of :class:`IPv6Network`, except that arbitrary host addresses " @@ -1040,7 +1089,7 @@ msgstr "" "el constructor de :class:`IPv6Network`, excepto que las direcciones de " "*host* arbitrarias son siempre aceptadas." -#: ../Doc/library/ipaddress.rst:799 +#: ../Doc/library/ipaddress.rst:858 msgid "" ":class:`IPv6Interface` is a subclass of :class:`IPv6Address`, so it inherits " "all the attributes from that class. In addition, the following attributes " @@ -1050,14 +1099,14 @@ msgstr "" "hereda todos los atributos de esa clase. Adicionalmente, los siguientes " "atributos están disponibles:" -#: ../Doc/library/ipaddress.rst:809 +#: ../Doc/library/ipaddress.rst:868 msgid "" "Refer to the corresponding attribute documentation in :class:`IPv4Interface`." msgstr "" "Consulta en :class:`IPv4Interface` la documentación de atributos " "correspondiente." -#: ../Doc/library/ipaddress.rst:816 +#: ../Doc/library/ipaddress.rst:875 msgid "" "Interface objects support some operators. Unless stated otherwise, " "operators can only be applied between compatible objects (i.e. IPv4 with " @@ -1067,14 +1116,14 @@ msgstr "" "lo contrario, los operadores solo se pueden aplicar entre objetos " "compatibles (es decir, IPv4 con IPv4, IPv6 con IPv6)." -#: ../Doc/library/ipaddress.rst:824 +#: ../Doc/library/ipaddress.rst:883 msgid "" "Interface objects can be compared with the usual set of logical operators." msgstr "" "Los objetos de interfaz pueden compararse con el conjunto usual de " "operadores lógicos." -#: ../Doc/library/ipaddress.rst:826 +#: ../Doc/library/ipaddress.rst:885 msgid "" "For equality comparison (``==`` and ``!=``), both the IP address and network " "must be the same for the objects to be equal. An interface will not compare " @@ -1084,7 +1133,7 @@ msgstr "" "como la red deben ser iguales para que los objetos sean iguales. Una " "interfaz no será igual a ningún objeto de dirección o de red." -#: ../Doc/library/ipaddress.rst:830 +#: ../Doc/library/ipaddress.rst:889 msgid "" "For ordering (``<``, ``>``, etc) the rules are different. Interface and " "address objects with the same IP version can be compared, and the address " @@ -1098,15 +1147,15 @@ msgstr "" "objetos de interfaz. Dos objetos de interfaz se comparan primero por sus " "redes y, si son iguales, luego por sus direcciones IP." -#: ../Doc/library/ipaddress.rst:838 +#: ../Doc/library/ipaddress.rst:897 msgid "Other Module Level Functions" msgstr "Otras funciones a nivel de módulo" -#: ../Doc/library/ipaddress.rst:840 +#: ../Doc/library/ipaddress.rst:899 msgid "The module also provides the following module level functions:" msgstr "El módulo también provee las siguientes funciones a nivel de módulo:" -#: ../Doc/library/ipaddress.rst:844 +#: ../Doc/library/ipaddress.rst:903 msgid "" "Represent an address as 4 packed bytes in network (big-endian) order. " "*address* is an integer representation of an IPv4 IP address. A :exc:" @@ -1118,7 +1167,7 @@ msgstr "" "Se genera un :exc:`ValueError` si el entero es negativo o demasiado grande " "para ser una dirección IPv4." -#: ../Doc/library/ipaddress.rst:857 +#: ../Doc/library/ipaddress.rst:916 msgid "" "Represent an address as 16 packed bytes in network (big-endian) order. " "*address* is an integer representation of an IPv6 IP address. A :exc:" @@ -1130,7 +1179,7 @@ msgstr "" "Se genera un :exc:`ValueError` si el entero es negativo o demasiado grande " "para ser una dirección IPv6." -#: ../Doc/library/ipaddress.rst:865 +#: ../Doc/library/ipaddress.rst:924 msgid "" "Return an iterator of the summarized network range given the first and last " "IP addresses. *first* is the first :class:`IPv4Address` or :class:" @@ -1148,7 +1197,7 @@ msgstr "" "exc:`ValueError` si *last* no es mayor que *first* o si la versión de " "*first* no es 4 o 6." -#: ../Doc/library/ipaddress.rst:881 +#: ../Doc/library/ipaddress.rst:940 msgid "" "Return an iterator of the collapsed :class:`IPv4Network` or :class:" "`IPv6Network` objects. *addresses* is an iterator of :class:`IPv4Network` " @@ -1160,7 +1209,7 @@ msgstr "" "o :class:`IPv6Network`. Se genera un :exc:`TypeError` si *addresses* " "contiene objetos de versiones distintas." -#: ../Doc/library/ipaddress.rst:894 +#: ../Doc/library/ipaddress.rst:953 msgid "" "Return a key suitable for sorting between networks and addresses. Address " "and Network objects are not sortable by default; they're fundamentally " @@ -1170,7 +1219,7 @@ msgstr "" "objetos de dirección y red no son ordenables por defecto; son " "fundamentalmente diferentes, así que la expresión::" -#: ../Doc/library/ipaddress.rst:900 +#: ../Doc/library/ipaddress.rst:959 msgid "" "doesn't make sense. There are some times however, where you may wish to " "have :mod:`ipaddress` sort these anyway. If you need to do this, you can " @@ -1180,15 +1229,15 @@ msgstr "" "`ipaddress` las ordene de cualquier forma. Si se necesita hacer esto, se " "puede usar esta función como el argumento *key* de :func:`sorted()`." -#: ../Doc/library/ipaddress.rst:904 +#: ../Doc/library/ipaddress.rst:963 msgid "*obj* is either a network or address object." msgstr "*obj* es un objeto de red o de dirección." -#: ../Doc/library/ipaddress.rst:908 +#: ../Doc/library/ipaddress.rst:967 msgid "Custom Exceptions" msgstr "Excepciones personalizadas" -#: ../Doc/library/ipaddress.rst:910 +#: ../Doc/library/ipaddress.rst:969 msgid "" "To support more specific error reporting from class constructors, the module " "defines the following exceptions:" @@ -1196,10 +1245,10 @@ msgstr "" "Para soportar un reporte de errores más específico desde los constructores " "de clase, el módulo define las siguientes excepciones:" -#: ../Doc/library/ipaddress.rst:915 +#: ../Doc/library/ipaddress.rst:974 msgid "Any value error related to the address." msgstr "Cualquier valor de error relacionado a la dirección." -#: ../Doc/library/ipaddress.rst:920 +#: ../Doc/library/ipaddress.rst:979 msgid "Any value error related to the net mask." msgstr "Cualquier valor de error relacionado a la máscara de red." diff --git a/library/itertools.po b/library/itertools.po index 94e4ab21fc..b89d4f39e3 100644 --- a/library/itertools.po +++ b/library/itertools.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-08-10 10:42-0500\n" +"Last-Translator: Julián Pérez (@jcpmmx)\n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Julián Pérez (@jcpmmx)\n" -"Language: es\n" -"X-Generator: Poedit 2.4\n" #: ../Doc/library/itertools.rst:2 msgid ":mod:`itertools` --- Functions creating iterators for efficient looping" @@ -453,7 +452,7 @@ msgstr "" #: ../Doc/library/itertools.rst:112 ../Doc/library/itertools.rst:210 #: ../Doc/library/itertools.rst:259 ../Doc/library/itertools.rst:495 -#: ../Doc/library/itertools.rst:574 ../Doc/library/itertools.rst:627 +#: ../Doc/library/itertools.rst:577 ../Doc/library/itertools.rst:630 msgid "Roughly equivalent to::" msgstr "Aproximadamente equivalente a::" @@ -520,10 +519,11 @@ msgstr "" "entrada." #: ../Doc/library/itertools.rst:202 ../Doc/library/itertools.rst:251 +#, fuzzy msgid "" -"Combinations are emitted in lexicographic sort order. So, if the input " -"*iterable* is sorted, the combination tuples will be produced in sorted " -"order." +"The combination tuples are emitted in lexicographic ordering according to " +"the order of the input *iterable*. So, if the input *iterable* is sorted, " +"the combination tuples will be produced in sorted order." msgstr "" "Las combinaciones se emiten en orden lexicográfico. De esta manera, si el " "*iterable* de entrada está ordenado, las tuplas de permutación producidas " @@ -772,10 +772,11 @@ msgstr "" "longitud serán generadas." #: ../Doc/library/itertools.rst:487 +#, fuzzy msgid "" -"Permutations are emitted in lexicographic sort order. So, if the input " -"*iterable* is sorted, the permutation tuples will be produced in sorted " -"order." +"The permutation tuples are emitted in lexicographic ordering according to " +"the order of the input *iterable*. So, if the input *iterable* is sorted, " +"the combination tuples will be produced in sorted order." msgstr "" "Las permutaciones son emitidas en orden lexicográfico. De esta manera, si " "el *iterable* de entrada esta ordenado, las tuplas de permutación producidas " @@ -854,7 +855,14 @@ msgstr "" "Esta función es aproximadamente equivalente al código siguiente, exceptuando " "que la implementación real no acumula resultados intermedios en memoria::" -#: ../Doc/library/itertools.rst:569 +#: ../Doc/library/itertools.rst:566 +msgid "" +"Before :func:`product` runs, it completely consumes the input iterables, " +"keeping pools of values in memory to generate the products. Accordingly, it " +"is only useful with finite inputs." +msgstr "" + +#: ../Doc/library/itertools.rst:572 msgid "" "Make an iterator that returns *object* over and over again. Runs " "indefinitely unless the *times* argument is specified. Used as argument to :" @@ -867,7 +875,7 @@ msgstr "" "invocada. También se usa con :func:`zip` para crear una parte invariante de " "una tupla." -#: ../Doc/library/itertools.rst:585 +#: ../Doc/library/itertools.rst:588 msgid "" "A common use for *repeat* is to supply a stream of constant values to *map* " "or *zip*::" @@ -875,7 +883,7 @@ msgstr "" "Un uso común de *repeat* es el de proporcionar un flujo de valores " "constantes a *map* o *zip*::" -#: ../Doc/library/itertools.rst:593 +#: ../Doc/library/itertools.rst:596 msgid "" "Make an iterator that computes the function using arguments obtained from " "the iterable. Used instead of :func:`map` when argument parameters are " @@ -891,7 +899,7 @@ msgstr "" "a la distinción entre ``function(a,b)`` y ``function(*c)``. Aproximadamente " "equivalente a::" -#: ../Doc/library/itertools.rst:607 +#: ../Doc/library/itertools.rst:610 msgid "" "Make an iterator that returns elements from the iterable as long as the " "predicate is true. Roughly equivalent to::" @@ -899,11 +907,11 @@ msgstr "" "Crea un iterador que retorna elementos del iterador siempre y cuando el " "predicado sea cierto. Aproximadamente equivalente a::" -#: ../Doc/library/itertools.rst:621 +#: ../Doc/library/itertools.rst:624 msgid "Return *n* independent iterators from a single iterable." msgstr "Retorna *n* iteradores independientes de un mismo iterador." -#: ../Doc/library/itertools.rst:623 +#: ../Doc/library/itertools.rst:626 msgid "" "The following Python code helps explain what *tee* does (although the actual " "implementation is more complex and uses only a single underlying :abbr:`FIFO " @@ -913,7 +921,7 @@ msgstr "" "(aunque la implementación real es mucho más compleja y usa sólo una cola :" "abbr:`FIFO (first-in, first-out)` subyacente)." -#: ../Doc/library/itertools.rst:644 +#: ../Doc/library/itertools.rst:647 msgid "" "Once :func:`tee` has made a split, the original *iterable* should not be " "used anywhere else; otherwise, the *iterable* could get advanced without the " @@ -923,7 +931,7 @@ msgstr "" "debería usar en otro lugar. De lo contrario, el *iterable* podría avanzarse " "sin informar a los objetos *tee*." -#: ../Doc/library/itertools.rst:648 +#: ../Doc/library/itertools.rst:651 msgid "" "``tee`` iterators are not threadsafe. A :exc:`RuntimeError` may be raised " "when using simultaneously iterators returned by the same :func:`tee` call, " @@ -934,7 +942,7 @@ msgstr "" "llamada a :func:`tee` call, aún cuando el *iterable* original sea " "*threadsafe*." -#: ../Doc/library/itertools.rst:652 +#: ../Doc/library/itertools.rst:655 msgid "" "This itertool may require significant auxiliary storage (depending on how " "much temporary data needs to be stored). In general, if one iterator uses " @@ -947,7 +955,7 @@ msgstr "" "otro iterador comience, es más rápido utilizar :func:`list` en vez de :func:" "`tee`." -#: ../Doc/library/itertools.rst:660 +#: ../Doc/library/itertools.rst:663 msgid "" "Make an iterator that aggregates elements from each of the iterables. If the " "iterables are of uneven length, missing values are filled-in with " @@ -959,7 +967,7 @@ msgstr "" "*fillvalue*. La iteración continúa hasta que el iterable más largo sea " "consumido. Aproximadamente equivalente a::" -#: ../Doc/library/itertools.rst:684 +#: ../Doc/library/itertools.rst:687 msgid "" "If one of the iterables is potentially infinite, then the :func:" "`zip_longest` function should be wrapped with something that limits the " @@ -971,11 +979,11 @@ msgstr "" "llamadas (por ejemplo, :func:`islice` o :func:`takewhile`). Si no se " "especifica, *fillvalue* es ``None`` por defecto." -#: ../Doc/library/itertools.rst:693 +#: ../Doc/library/itertools.rst:696 msgid "Itertools Recipes" msgstr "Fórmulas con itertools" -#: ../Doc/library/itertools.rst:695 +#: ../Doc/library/itertools.rst:698 msgid "" "This section shows recipes for creating an extended toolset using the " "existing itertools as building blocks." @@ -983,7 +991,7 @@ msgstr "" "Esta sección muestra fórmulas para crear un conjunto de herramientas " "extendido usando las herramientas de itertools como piezas básicas." -#: ../Doc/library/itertools.rst:698 +#: ../Doc/library/itertools.rst:701 msgid "" "Substantially all of these recipes and many, many others can be installed " "from the `more-itertools project `_, ubicado en el Python Package Index::" -#: ../Doc/library/itertools.rst:704 +#: ../Doc/library/itertools.rst:707 msgid "" "The extended tools offer the same high performance as the underlying " "toolset. The superior memory performance is kept by processing elements one " diff --git a/library/json.po b/library/json.po index 74840a8c08..fd0f22b240 100644 --- a/library/json.po +++ b/library/json.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-08-16 11:29-0500\n" +"Last-Translator: Adriaan Beiertz \n" +"Language: es_ES\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Adriaan Beiertz \n" -"Language: es_ES\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/json.rst:2 msgid ":mod:`json` --- JSON encoder and decoder" @@ -159,7 +158,7 @@ msgstr "" "class:`bytes`. Por lo tanto, ``fp.write()`` debe admitir :class:`str` como " "entrada." -#: ../Doc/library/json.rst:156 ../Doc/library/json.rst:431 +#: ../Doc/library/json.rst:156 ../Doc/library/json.rst:429 msgid "" "If *ensure_ascii* is true (the default), the output is guaranteed to have " "all incoming non-ASCII characters escaped. If *ensure_ascii* is false, " @@ -193,7 +192,7 @@ msgstr "" "JSON. Si *allow_nan* es verdadero, se utilizarán sus equivalentes de " "JavaScript (``NaN``, ``Infinity``, ``-Infinity``)." -#: ../Doc/library/json.rst:170 ../Doc/library/json.rst:450 +#: ../Doc/library/json.rst:170 ../Doc/library/json.rst:448 msgid "" "If *indent* is a non-negative integer or string, then JSON array elements " "and object members will be pretty-printed with that indent level. An indent " @@ -210,11 +209,11 @@ msgstr "" "espacios por nivel. Si *indent* es una cadena (como ``\"\\t\"``), esa cadena " "se usa para agregarle sangría a cada nivel." -#: ../Doc/library/json.rst:177 ../Doc/library/json.rst:457 +#: ../Doc/library/json.rst:177 ../Doc/library/json.rst:455 msgid "Allow strings for *indent* in addition to integers." msgstr "Permite cadenas de caracteres para *indent* además de enteros." -#: ../Doc/library/json.rst:180 ../Doc/library/json.rst:460 +#: ../Doc/library/json.rst:180 ../Doc/library/json.rst:458 msgid "" "If specified, *separators* should be an ``(item_separator, key_separator)`` " "tuple. The default is ``(', ', ': ')`` if *indent* is ``None`` and ``(',', " @@ -227,11 +226,11 @@ msgstr "" "representación JSON más compacta, debe especificar ``(', ', ': ')`` para " "eliminar espacios en blanco." -#: ../Doc/library/json.rst:185 ../Doc/library/json.rst:465 +#: ../Doc/library/json.rst:185 ../Doc/library/json.rst:463 msgid "Use ``(',', ': ')`` as default if *indent* is not ``None``." msgstr "Usa ``(',', ': ')`` como predeterminado si *indent* no es ``None``." -#: ../Doc/library/json.rst:188 ../Doc/library/json.rst:468 +#: ../Doc/library/json.rst:188 ../Doc/library/json.rst:466 msgid "" "If specified, *default* should be a function that gets called for objects " "that can't otherwise be serialized. It should return a JSON encodable " @@ -347,11 +346,11 @@ msgstr "" "decodificadores personalizados. Si también se define *object_hook*, el " "*object_pairs_hook* tiene prioridad." -#: ../Doc/library/json.rst:245 ../Doc/library/json.rst:345 +#: ../Doc/library/json.rst:245 ../Doc/library/json.rst:344 msgid "Added support for *object_pairs_hook*." msgstr "Soporte agregado para *object_pairs_hook*." -#: ../Doc/library/json.rst:248 ../Doc/library/json.rst:348 +#: ../Doc/library/json.rst:248 ../Doc/library/json.rst:347 msgid "" "*parse_float*, if specified, will be called with the string of every JSON " "float to be decoded. By default, this is equivalent to ``float(num_str)``. " @@ -364,7 +363,7 @@ msgstr "" "datos o analizador para flotantes JSON (por ejemplo :class:`decimal. " "Decimal`)." -#: ../Doc/library/json.rst:253 ../Doc/library/json.rst:353 +#: ../Doc/library/json.rst:253 ../Doc/library/json.rst:352 msgid "" "*parse_int*, if specified, will be called with the string of every JSON int " "to be decoded. By default, this is equivalent to ``int(num_str)``. This " @@ -376,7 +375,7 @@ msgstr "" "``int(num_str)``. Esto se puede utilizar para hace uso de otro tipo de " "datos o analizador para enteros JSON (por ejemplo :class:`float`)." -#: ../Doc/library/json.rst:258 ../Doc/library/json.rst:358 +#: ../Doc/library/json.rst:258 ../Doc/library/json.rst:357 msgid "" "*parse_constant*, if specified, will be called with one of the following " "strings: ``'-Infinity'``, ``'Infinity'``, ``'NaN'``. This can be used to " @@ -401,8 +400,8 @@ msgstr "" "utilizará :class:`JSONDecoder`. Se pasarán argumentos adicionales de " "palabra llave al constructor de la clase." -#: ../Doc/library/json.rst:270 ../Doc/library/json.rst:289 -#: ../Doc/library/json.rst:368 +#: ../Doc/library/json.rst:270 ../Doc/library/json.rst:288 +#: ../Doc/library/json.rst:367 msgid "" "If the data being deserialized is not a valid JSON document, a :exc:" "`JSONDecodeError` will be raised." @@ -429,18 +428,13 @@ msgstr "" "esta :ref:`conversion table `." #: ../Doc/library/json.rst:286 -msgid "" -"The other arguments have the same meaning as in :func:`load`, except " -"*encoding* which is ignored and deprecated since Python 3.1." +#, fuzzy +msgid "The other arguments have the same meaning as in :func:`load`." msgstr "" "Los otros argumentos tienen el mismo significado que en :func:`load`, " "excepto *encoding* que se omite y está en desuso desde Python 3.1." -#: ../Doc/library/json.rst:294 -msgid "*encoding* keyword argument." -msgstr "*encoding* argumento de palabra llave." - -#: ../Doc/library/json.rst:295 +#: ../Doc/library/json.rst:291 msgid "" "*s* can now be of type :class:`bytes` or :class:`bytearray`. The input " "encoding should be UTF-8, UTF-16 or UTF-32." @@ -448,93 +442,97 @@ msgstr "" "*s* ahora puede ser de tipo :class:`bytes` o :class:`bytearray`. La " "codificación de entrada debe ser UTF-8, UTF-16 o UTF-32." -#: ../Doc/library/json.rst:301 +#: ../Doc/library/json.rst:295 +msgid "The keyword argument *encoding* has been removed." +msgstr "" + +#: ../Doc/library/json.rst:300 msgid "Encoders and Decoders" msgstr "Codificadores y Decodificadores" -#: ../Doc/library/json.rst:305 +#: ../Doc/library/json.rst:304 msgid "Simple JSON decoder." msgstr "Decodificador JSON simple." -#: ../Doc/library/json.rst:307 +#: ../Doc/library/json.rst:306 msgid "Performs the following translations in decoding by default:" msgstr "" "Realiza las siguientes traducciones en la decodificación de forma " "predeterminada:" -#: ../Doc/library/json.rst:312 ../Doc/library/json.rst:401 +#: ../Doc/library/json.rst:311 ../Doc/library/json.rst:400 msgid "JSON" msgstr "JSON" -#: ../Doc/library/json.rst:312 ../Doc/library/json.rst:401 +#: ../Doc/library/json.rst:311 ../Doc/library/json.rst:400 msgid "Python" msgstr "Python" -#: ../Doc/library/json.rst:314 ../Doc/library/json.rst:403 +#: ../Doc/library/json.rst:313 ../Doc/library/json.rst:402 msgid "object" msgstr "object" -#: ../Doc/library/json.rst:314 ../Doc/library/json.rst:403 +#: ../Doc/library/json.rst:313 ../Doc/library/json.rst:402 msgid "dict" msgstr "dict" -#: ../Doc/library/json.rst:316 ../Doc/library/json.rst:405 +#: ../Doc/library/json.rst:315 ../Doc/library/json.rst:404 msgid "array" msgstr "array" -#: ../Doc/library/json.rst:316 +#: ../Doc/library/json.rst:315 msgid "list" msgstr "list" -#: ../Doc/library/json.rst:318 ../Doc/library/json.rst:407 +#: ../Doc/library/json.rst:317 ../Doc/library/json.rst:406 msgid "string" msgstr "string" -#: ../Doc/library/json.rst:318 ../Doc/library/json.rst:407 +#: ../Doc/library/json.rst:317 ../Doc/library/json.rst:406 msgid "str" msgstr "str" -#: ../Doc/library/json.rst:320 +#: ../Doc/library/json.rst:319 msgid "number (int)" msgstr "número (int)" -#: ../Doc/library/json.rst:320 +#: ../Doc/library/json.rst:319 msgid "int" msgstr "int" -#: ../Doc/library/json.rst:322 +#: ../Doc/library/json.rst:321 msgid "number (real)" msgstr "número (real)" -#: ../Doc/library/json.rst:322 +#: ../Doc/library/json.rst:321 msgid "float" msgstr "float" -#: ../Doc/library/json.rst:324 ../Doc/library/json.rst:411 +#: ../Doc/library/json.rst:323 ../Doc/library/json.rst:410 msgid "true" msgstr "true" -#: ../Doc/library/json.rst:324 ../Doc/library/json.rst:411 +#: ../Doc/library/json.rst:323 ../Doc/library/json.rst:410 msgid "True" msgstr "True" -#: ../Doc/library/json.rst:326 ../Doc/library/json.rst:413 +#: ../Doc/library/json.rst:325 ../Doc/library/json.rst:412 msgid "false" msgstr "false" -#: ../Doc/library/json.rst:326 ../Doc/library/json.rst:413 +#: ../Doc/library/json.rst:325 ../Doc/library/json.rst:412 msgid "False" msgstr "False" -#: ../Doc/library/json.rst:328 ../Doc/library/json.rst:415 +#: ../Doc/library/json.rst:327 ../Doc/library/json.rst:414 msgid "null" msgstr "null" -#: ../Doc/library/json.rst:328 ../Doc/library/json.rst:415 +#: ../Doc/library/json.rst:327 ../Doc/library/json.rst:414 msgid "None" msgstr "None" -#: ../Doc/library/json.rst:331 +#: ../Doc/library/json.rst:330 msgid "" "It also understands ``NaN``, ``Infinity``, and ``-Infinity`` as their " "corresponding ``float`` values, which is outside the JSON spec." @@ -542,19 +540,20 @@ msgstr "" "También entiende ``NaN``, ``Infinity`` y ``-Infinity`` como sus " "correspondientes valores ``float``, que está fuera de la especificación JSON." -#: ../Doc/library/json.rst:334 +#: ../Doc/library/json.rst:333 +#, fuzzy msgid "" "*object_hook*, if specified, will be called with the result of every JSON " "object decoded and its return value will be used in place of the given :" "class:`dict`. This can be used to provide custom deserializations (e.g. to " -"support JSON-RPC class hinting)." +"support `JSON-RPC `_ class hinting)." msgstr "" "*object_hook*, si se especifica, se llamará con el resultado de cada objeto " "JSON decodificado y su valor de retorno se utilizará en lugar de la :class:" "`dict` dada. Esto se puede usar para proporcionar deserializaciones " "personalizadas (por ejemplo, para admitir sugerencias de clases JSON-RPC)." -#: ../Doc/library/json.rst:339 +#: ../Doc/library/json.rst:338 msgid "" "*object_pairs_hook*, if specified will be called with the result of every " "JSON object decoded with an ordered list of pairs. The return value of " @@ -569,7 +568,7 @@ msgstr "" "personalizados. Si también se define *object_hook*, el *object_pairs_hook* " "tiene prioridad." -#: ../Doc/library/json.rst:363 +#: ../Doc/library/json.rst:362 msgid "" "If *strict* is false (``True`` is the default), then control characters will " "be allowed inside strings. Control characters in this context are those " @@ -581,13 +580,13 @@ msgstr "" "contexto son aquellos con códigos de caracteres en el rango 0--31, " "incluyendo ``'\\t'`` (tab), ``'\\n'``, ``'\\r'`` and ``'\\0'``." -#: ../Doc/library/json.rst:371 ../Doc/library/json.rst:473 +#: ../Doc/library/json.rst:370 ../Doc/library/json.rst:471 msgid "All parameters are now :ref:`keyword-only `." msgstr "" "Todos los parámetros son ahora :ref:`palabra-clave-solamente `." -#: ../Doc/library/json.rst:376 +#: ../Doc/library/json.rst:375 msgid "" "Return the Python representation of *s* (a :class:`str` instance containing " "a JSON document)." @@ -595,7 +594,7 @@ msgstr "" "Retorna la representación Python de *s* (una instancia :class:`str` que " "contiene un documento JSON)." -#: ../Doc/library/json.rst:379 +#: ../Doc/library/json.rst:378 msgid "" ":exc:`JSONDecodeError` will be raised if the given JSON document is not " "valid." @@ -603,7 +602,7 @@ msgstr "" ":exc:`JSONDecodeError` se producirá si el documento JSON entregado es " "invalido." -#: ../Doc/library/json.rst:384 +#: ../Doc/library/json.rst:383 msgid "" "Decode a JSON document from *s* (a :class:`str` beginning with a JSON " "document) and return a 2-tuple of the Python representation and the index in " @@ -613,7 +612,7 @@ msgstr "" "documento JSON) y retorna una tupla de 2 de la representación Python y el " "índice en *s* donde terminó el documento." -#: ../Doc/library/json.rst:388 +#: ../Doc/library/json.rst:387 msgid "" "This can be used to decode a JSON document from a string that may have " "extraneous data at the end." @@ -621,31 +620,31 @@ msgstr "" "Esto se puede usar para decodificar un documento JSON de una cadena de " "caracteres que puede tener datos extraños al final." -#: ../Doc/library/json.rst:394 +#: ../Doc/library/json.rst:393 msgid "Extensible JSON encoder for Python data structures." msgstr "Codificador JSON extensible para estructuras de datos de Python." -#: ../Doc/library/json.rst:396 +#: ../Doc/library/json.rst:395 msgid "Supports the following objects and types by default:" msgstr "Admite los siguientes objetos y tipos de forma predeterminada:" -#: ../Doc/library/json.rst:405 +#: ../Doc/library/json.rst:404 msgid "list, tuple" msgstr "list, tuple" -#: ../Doc/library/json.rst:409 +#: ../Doc/library/json.rst:408 msgid "int, float, int- & float-derived Enums" msgstr "int, float, Enums derivadas de int o float" -#: ../Doc/library/json.rst:409 +#: ../Doc/library/json.rst:408 msgid "number" msgstr "number" -#: ../Doc/library/json.rst:418 +#: ../Doc/library/json.rst:417 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:421 +#: ../Doc/library/json.rst:420 msgid "" "To extend this to recognize other objects, subclass and implement a :meth:" "`default` method with another method that returns a serializable object for " @@ -657,18 +656,14 @@ msgstr "" "serializable para ''o'' si es posible, de lo contrario debe llamar a la " "implementación de superclase (para elevar :exc:`TypeError`)." -#: ../Doc/library/json.rst:426 +#: ../Doc/library/json.rst:425 msgid "" -"If *skipkeys* is false (the default), then it is a :exc:`TypeError` to " -"attempt encoding of keys that are not :class:`str`, :class:`int`, :class:" +"If *skipkeys* is false (the default), a :exc:`TypeError` will be raised when " +"trying to encode keys that are not :class:`str`, :class:`int`, :class:" "`float` or ``None``. If *skipkeys* is true, such items are simply skipped." msgstr "" -"Si *skipkeys* es falso (valor predeterminado), entonces es un :exc:" -"`TypeError` intentar codificar claves que no son :class:`str`, :class:" -"`int`, :class:`float` o ``None``. Si *skipkeys* es verdadero, estos " -"elementos simplemente se omiten." -#: ../Doc/library/json.rst:435 +#: ../Doc/library/json.rst:433 msgid "" "If *check_circular* is true (the default), then lists, dicts, and custom " "encoded objects will be checked for circular references during encoding to " @@ -681,7 +676,7 @@ msgstr "" "recursividad infinita (lo que provocaría un :exc:`OverflowError`). De lo " "contrario, no se realiza ninguna comprobación de este tipo." -#: ../Doc/library/json.rst:440 +#: ../Doc/library/json.rst:438 msgid "" "If *allow_nan* is true (the default), then ``NaN``, ``Infinity``, and ``-" "Infinity`` will be encoded as such. This behavior is not JSON specification " @@ -694,7 +689,7 @@ msgstr "" "codificadores y decodificadores basados en JavaScript. De lo contrario, " "codificar dichos puntos flotantes provocará un :exc:`ValueError`." -#: ../Doc/library/json.rst:446 +#: ../Doc/library/json.rst:444 msgid "" "If *sort_keys* is true (default: ``False``), then the output of dictionaries " "will be sorted by key; this is useful for regression tests to ensure that " @@ -705,7 +700,7 @@ msgstr "" "regresión para garantizar que las serializaciones JSON se pueden comparar en " "el día a día." -#: ../Doc/library/json.rst:479 +#: ../Doc/library/json.rst:477 msgid "" "Implement this method in a subclass such that it returns a serializable " "object for *o*, or calls the base implementation (to raise a :exc:" @@ -715,15 +710,16 @@ msgstr "" "serializable para *o*, o llame a la implementación base (para generar un :" "exc:`TypeError`)." -#: ../Doc/library/json.rst:483 +#: ../Doc/library/json.rst:481 +#, fuzzy msgid "" -"For example, to support arbitrary iterators, you could implement default " -"like this::" +"For example, to support arbitrary iterators, you could implement :meth:" +"`default` like this::" msgstr "" "Por ejemplo, para admitir iteradores arbitrarios, podría implementar un " "valor predeterminado como este::" -#: ../Doc/library/json.rst:499 +#: ../Doc/library/json.rst:497 msgid "" "Return a JSON string representation of a Python data structure, *o*. For " "example::" @@ -731,7 +727,7 @@ msgstr "" "Retorna una representación de cadena de caracteres JSON de una estructura de " "datos de Python, *o*. Por ejemplo::" -#: ../Doc/library/json.rst:508 +#: ../Doc/library/json.rst:506 msgid "" "Encode the given object, *o*, and yield each string representation as " "available. For example::" @@ -739,40 +735,40 @@ msgstr "" "Codifica el objeto dado, *o*, y produce cada representación de cadena como " "disponible. Por ejemplo::" -#: ../Doc/library/json.rst:516 +#: ../Doc/library/json.rst:514 msgid "Exceptions" msgstr "Excepciones" -#: ../Doc/library/json.rst:520 +#: ../Doc/library/json.rst:518 msgid "Subclass of :exc:`ValueError` with the following additional attributes:" msgstr "" "Subclase de :exc:`ValueError` con los siguientes atributos adicionales:" -#: ../Doc/library/json.rst:524 +#: ../Doc/library/json.rst:522 msgid "The unformatted error message." msgstr "El mensaje de error sin formato." -#: ../Doc/library/json.rst:528 +#: ../Doc/library/json.rst:526 msgid "The JSON document being parsed." msgstr "El documento JSON que se está analizando." -#: ../Doc/library/json.rst:532 +#: ../Doc/library/json.rst:530 msgid "The start index of *doc* where parsing failed." msgstr "El índice de inicio de *doc* donde se produjo un error en el análisis." -#: ../Doc/library/json.rst:536 +#: ../Doc/library/json.rst:534 msgid "The line corresponding to *pos*." msgstr "La línea correspondiente a *pos*." -#: ../Doc/library/json.rst:540 +#: ../Doc/library/json.rst:538 msgid "The column corresponding to *pos*." msgstr "La columna correspondiente a *pos*." -#: ../Doc/library/json.rst:546 +#: ../Doc/library/json.rst:544 msgid "Standard Compliance and Interoperability" msgstr "Cumplimiento e interoperabilidad estándar" -#: ../Doc/library/json.rst:548 +#: ../Doc/library/json.rst:546 msgid "" "The JSON format is specified by :rfc:`7159` and by `ECMA-404 `_. This section " @@ -787,7 +783,7 @@ msgstr "" "class:`JSONDecoder` y los parámetros distintos de los mencionados " "explícitamente." -#: ../Doc/library/json.rst:554 +#: ../Doc/library/json.rst:552 msgid "" "This module does not comply with the RFC in a strict fashion, implementing " "some extensions that are valid JavaScript but not valid JSON. In particular:" @@ -796,11 +792,11 @@ msgstr "" "extensiones que son válidas en JavaScript pero no son válidas en JSON. En " "particular:" -#: ../Doc/library/json.rst:557 +#: ../Doc/library/json.rst:555 msgid "Infinite and NaN number values are accepted and output;" msgstr "Se aceptan y se envían valores de números Infinitos y NaN;" -#: ../Doc/library/json.rst:558 +#: ../Doc/library/json.rst:556 msgid "" "Repeated names within an object are accepted, and only the value of the last " "name-value pair is used." @@ -808,7 +804,7 @@ msgstr "" "Se aceptan nombres repetidos dentro de un objeto y solo se utiliza el valor " "del último par nombre-valor." -#: ../Doc/library/json.rst:561 +#: ../Doc/library/json.rst:559 msgid "" "Since the RFC permits RFC-compliant parsers to accept input texts that are " "not RFC-compliant, this module's deserializer is technically RFC-compliant " @@ -819,11 +815,11 @@ msgstr "" "módulo es técnicamente compatible con RFC bajo la configuración " "predeterminada." -#: ../Doc/library/json.rst:566 +#: ../Doc/library/json.rst:564 msgid "Character Encodings" msgstr "Codificaciones de caracteres" -#: ../Doc/library/json.rst:568 +#: ../Doc/library/json.rst:566 msgid "" "The RFC requires that JSON be represented using either UTF-8, UTF-16, or " "UTF-32, with UTF-8 being the recommended default for maximum " @@ -833,7 +829,7 @@ msgstr "" "siendo UTF-8 el valor predeterminado recomendado para la máxima " "interoperabilidad." -#: ../Doc/library/json.rst:571 +#: ../Doc/library/json.rst:569 msgid "" "As permitted, though not required, by the RFC, this module's serializer sets " "*ensure_ascii=True* by default, thus escaping the output so that the " @@ -844,7 +840,7 @@ msgstr "" "así el dato de salida para que las cadenas resultantes solo contengan " "caracteres ASCII." -#: ../Doc/library/json.rst:575 +#: ../Doc/library/json.rst:573 msgid "" "Other than the *ensure_ascii* parameter, this module is defined strictly in " "terms of conversion between Python objects and :class:`Unicode strings " @@ -856,7 +852,7 @@ msgstr "" "`, y por lo tanto no aborda directamente el problema de las " "codificaciones de caracteres." -#: ../Doc/library/json.rst:580 +#: ../Doc/library/json.rst:578 msgid "" "The RFC prohibits adding a byte order mark (BOM) to the start of a JSON " "text, and this module's serializer does not add a BOM to its output. The RFC " @@ -871,7 +867,7 @@ msgstr "" "deserializador de este módulo genera un :exc:`ValueError` cuando hay una " "lista de materiales inicial." -#: ../Doc/library/json.rst:586 +#: ../Doc/library/json.rst:584 msgid "" "The RFC does not explicitly forbid JSON strings which contain byte sequences " "that don't correspond to valid Unicode characters (e.g. unpaired UTF-16 " @@ -886,11 +882,11 @@ msgstr "" "y genera puntos de código (cuando está presente en el original :class:`str`) " "para dichas secuencias." -#: ../Doc/library/json.rst:594 +#: ../Doc/library/json.rst:592 msgid "Infinite and NaN Number Values" msgstr "Valores de número infinito y NaN" -#: ../Doc/library/json.rst:596 +#: ../Doc/library/json.rst:594 msgid "" "The RFC does not permit the representation of infinite or NaN number values. " "Despite that, by default, this module accepts and outputs ``Infinity``, ``-" @@ -901,7 +897,7 @@ msgstr "" "``Infinity``, ``-Infinity`` y ``NaN`` como si fueran valores literales de " "número JSON válidos::" -#: ../Doc/library/json.rst:611 +#: ../Doc/library/json.rst:609 msgid "" "In the serializer, the *allow_nan* parameter can be used to alter this " "behavior. In the deserializer, the *parse_constant* parameter can be used " @@ -911,11 +907,11 @@ msgstr "" "modificar este comportamiento. En el deserializador, se puede utilizar el " "parámetro *parse_constant* para modificar este comportamiento." -#: ../Doc/library/json.rst:617 +#: ../Doc/library/json.rst:615 msgid "Repeated Names Within an Object" msgstr "Nombres repetidos dentro de un objeto" -#: ../Doc/library/json.rst:619 +#: ../Doc/library/json.rst:617 msgid "" "The RFC specifies that the names within a JSON object should be unique, but " "does not mandate how repeated names in JSON objects should be handled. By " @@ -927,17 +923,17 @@ msgstr "" "JSON. De forma predeterminada, este módulo no genera una excepción; en su " "lugar, ignora todo excepto el último par nombre-valor para un nombre dado::" -#: ../Doc/library/json.rst:628 +#: ../Doc/library/json.rst:626 msgid "The *object_pairs_hook* parameter can be used to alter this behavior." msgstr "" "El parámetro *object_pairs_hook* se puede utilizar para alterar este " "comportamiento." -#: ../Doc/library/json.rst:632 +#: ../Doc/library/json.rst:630 msgid "Top-level Non-Object, Non-Array Values" msgstr "Valores de nivel superior No-Objeto , No-Arreglo" -#: ../Doc/library/json.rst:634 +#: ../Doc/library/json.rst:632 msgid "" "The old version of JSON specified by the obsolete :rfc:`4627` required that " "the top-level value of a JSON text must be either a JSON object or array " @@ -953,7 +949,7 @@ msgstr "" "restricción, y este módulo no ha implementado ni ha implementado nunca esa " "restricción en su serializador o en su deserializador." -#: ../Doc/library/json.rst:641 +#: ../Doc/library/json.rst:639 msgid "" "Regardless, for maximum interoperability, you may wish to voluntarily adhere " "to the restriction yourself." @@ -961,33 +957,33 @@ msgstr "" "Independientemente, para lograr la máxima interoperabilidad, es posible que " "usted desee adherirse voluntariamente a la restricción." -#: ../Doc/library/json.rst:646 +#: ../Doc/library/json.rst:644 msgid "Implementation Limitations" msgstr "Limitaciones de la implementación" -#: ../Doc/library/json.rst:648 +#: ../Doc/library/json.rst:646 msgid "Some JSON deserializer implementations may set limits on:" msgstr "" "Algunas implementaciones del deserializador JSON pueden establecer límites " "en:" -#: ../Doc/library/json.rst:650 +#: ../Doc/library/json.rst:648 msgid "the size of accepted JSON texts" msgstr "el tamaño de los textos JSON aceptados" -#: ../Doc/library/json.rst:651 +#: ../Doc/library/json.rst:649 msgid "the maximum level of nesting of JSON objects and arrays" msgstr "el nivel máximo de anidamiento de objetos y arreglos JSON" -#: ../Doc/library/json.rst:652 +#: ../Doc/library/json.rst:650 msgid "the range and precision of JSON numbers" msgstr "el rango y precisión de los números JSON" -#: ../Doc/library/json.rst:653 +#: ../Doc/library/json.rst:651 msgid "the content and maximum length of JSON strings" msgstr "el contenido y la longitud máxima de las cadenas de caracteres JSON" -#: ../Doc/library/json.rst:655 +#: ../Doc/library/json.rst:653 msgid "" "This module does not impose any such limits beyond those of the relevant " "Python datatypes themselves or the Python interpreter itself." @@ -995,7 +991,7 @@ msgstr "" "Este módulo no impone tales límites más allá de los propios tipos de datos " "de Python relevantes o del propio intérprete de Python." -#: ../Doc/library/json.rst:658 +#: ../Doc/library/json.rst:656 msgid "" "When serializing to JSON, beware any such limitations in applications that " "may consume your JSON. In particular, it is common for JSON numbers to be " @@ -1014,15 +1010,15 @@ msgstr "" "se serializan instancias de tipos numéricos \"exóticos\" como :class:" "`decimal. Decimal`." -#: ../Doc/library/json.rst:671 +#: ../Doc/library/json.rst:669 msgid "Command Line Interface" msgstr "Interfaz de línea de comandos" -#: ../Doc/library/json.rst:676 +#: ../Doc/library/json.rst:674 msgid "**Source code:** :source:`Lib/json/tool.py`" msgstr "**Código fuente:** :source:`Lib/json/tool.py`" -#: ../Doc/library/json.rst:680 +#: ../Doc/library/json.rst:678 msgid "" "The :mod:`json.tool` module provides a simple command line interface to " "validate and pretty-print JSON objects." @@ -1030,7 +1026,7 @@ msgstr "" "El módulo :mod:`json.tool` proporciona una interfaz de línea de comandos " "simple para validar e imprimir objetos JSON." -#: ../Doc/library/json.rst:683 +#: ../Doc/library/json.rst:681 msgid "" "If the optional ``infile`` and ``outfile`` arguments are not specified, :" "attr:`sys.stdin` and :attr:`sys.stdout` will be used respectively:" @@ -1038,7 +1034,7 @@ msgstr "" "Si no se especifican los argumentos opcionales ``infile`` y ``outfile``, se " "utilizarán :attr:`sys.stdin` y :attr:`sys.stdout` respectivamente:" -#: ../Doc/library/json.rst:695 +#: ../Doc/library/json.rst:693 msgid "" "The output is now in the same order as the input. Use the :option:`--sort-" "keys` option to sort the output of dictionaries alphabetically by key." @@ -1047,19 +1043,19 @@ msgstr "" "option:`--sort-keys` para ordenar la salida de los diccionarios " "alfabéticamente por llave." -#: ../Doc/library/json.rst:702 +#: ../Doc/library/json.rst:700 msgid "Command line options" msgstr "Opciones de línea de comandos" -#: ../Doc/library/json.rst:706 +#: ../Doc/library/json.rst:704 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:722 +#: ../Doc/library/json.rst:720 msgid "If *infile* is not specified, read from :attr:`sys.stdin`." msgstr "Si no se especifica *infile*, lee :attr:`sys.stdin`." -#: ../Doc/library/json.rst:726 +#: ../Doc/library/json.rst:724 msgid "" "Write the output of the *infile* to the given *outfile*. Otherwise, write it " "to :attr:`sys.stdout`." @@ -1067,23 +1063,33 @@ msgstr "" "Escribe la salida de *infile* en el *outfile* dado. De lo contrario, lo " "escribe en :attr:`sys.stdout`." -#: ../Doc/library/json.rst:731 +#: ../Doc/library/json.rst:729 msgid "Sort the output of dictionaries alphabetically by key." msgstr "Ordena la salida de los diccionarios alfabéticamente por llave." -#: ../Doc/library/json.rst:737 +#: ../Doc/library/json.rst:735 +msgid "" +"Disable escaping of non-ascii characters, see :func:`json.dumps` for more " +"information." +msgstr "" + +#: ../Doc/library/json.rst:741 msgid "Parse every input line as separate JSON object." msgstr "Analiza cada línea de entrada como objeto JSON independiente." -#: ../Doc/library/json.rst:743 +#: ../Doc/library/json.rst:747 +msgid "Mutually exclusive options for whitespace control." +msgstr "" + +#: ../Doc/library/json.rst:753 msgid "Show the help message." msgstr "Muestra el mensaje de ayuda." -#: ../Doc/library/json.rst:747 +#: ../Doc/library/json.rst:757 msgid "Footnotes" msgstr "Notas de pie de página" -#: ../Doc/library/json.rst:748 +#: ../Doc/library/json.rst:758 msgid "" "As noted in `the errata for RFC 7159 `_, JSON permits literal U+2028 (LINE SEPARATOR) " @@ -1094,3 +1100,17 @@ msgstr "" "errata_search.php?rfc-7159>`_, JSON permite caracteres literales U+2028 " "(SEPARADOR DE LINEA) y U+2029 (SEPARADOR DE PÁRRAFO) en cadenas, mientras " "que JavaScript (a partir de ECMAScript Edición 5.1) no lo hace." + +#~ msgid "*encoding* keyword argument." +#~ msgstr "*encoding* argumento de palabra llave." + +#~ msgid "" +#~ "If *skipkeys* is false (the default), then it is a :exc:`TypeError` to " +#~ "attempt encoding of keys that are not :class:`str`, :class:`int`, :class:" +#~ "`float` or ``None``. If *skipkeys* is true, such items are simply " +#~ "skipped." +#~ msgstr "" +#~ "Si *skipkeys* es falso (valor predeterminado), entonces es un :exc:" +#~ "`TypeError` intentar codificar claves que no son :class:`str`, :class:" +#~ "`int`, :class:`float` o ``None``. Si *skipkeys* es verdadero, estos " +#~ "elementos simplemente se omiten." diff --git a/library/keyword.po b/library/keyword.po index 44abd33b38..ffd4ee4f6a 100644 --- a/library/keyword.po +++ b/library/keyword.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-10-24 15:46-0300\n" +"Last-Translator: Enrique Giménez \n" +"Language: es_AR\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Enrique Giménez \n" -"Language: es_AR\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/keyword.rst:2 msgid ":mod:`keyword` --- Testing for Python keywords" @@ -52,3 +51,21 @@ msgstr "" "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." + +#: ../Doc/library/keyword.rst:29 +#, fuzzy +msgid "Return ``True`` if *s* is a Python soft :ref:`keyword `." +msgstr "Retorna ``True`` si *s* es una :ref:`palabra clave ` Python." + +#: ../Doc/library/keyword.rst:36 +#, fuzzy +msgid "" +"Sequence containing all the soft :ref:`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." diff --git a/library/logging.handlers.po b/library/logging.handlers.po index 20fcb7fca8..9c4ee9763b 100644 --- a/library/logging.handlers.po +++ b/library/logging.handlers.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-07-28 09:15-0300\n" +"Last-Translator: \n" +"Language: es_AR\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es_AR\n" -"X-Generator: Poedit 2.3.1\n" #: ../Doc/library/logging.handlers.rst:2 msgid ":mod:`logging.handlers` --- Logging handlers" @@ -88,11 +87,12 @@ msgstr "" "se usará *sys.stderr*." #: ../Doc/library/logging.handlers.rst:50 +#, fuzzy msgid "" "If a formatter is specified, it is used to format the record. The record is " -"then written to the stream with a terminator. If exception information is " -"present, it is formatted using :func:`traceback.print_exception` and " -"appended to the stream." +"then written to the stream followed by :attr:`terminator`. If exception " +"information is present, it is formatted using :func:`traceback." +"print_exception` and appended to the stream." msgstr "" "Si esta especificado un formateador se usará para formatear el registro. " "Luego se escribe el registro al *stream* con un terminador. Si hay " @@ -135,26 +135,27 @@ msgstr "Retorna" msgid "the old stream, if the stream was changed, or *None* if it wasn't." msgstr "el anterior *stream*. si el *stream* cambió o *None* si no cambió." -#: ../Doc/library/logging.handlers.rst:74 +#: ../Doc/library/logging.handlers.rst:75 +msgid "" +"String used as the terminator when writing a formatted record to a stream. " +"Default value is ``'\\n'``." +msgstr "" + +#: ../Doc/library/logging.handlers.rst:78 msgid "" -"The ``StreamHandler`` class now has a ``terminator`` attribute, default " -"value ``'\\n'``, which is used as the terminator when writing a formatted " -"record to a stream. If you don't want this newline termination, you can set " -"the handler instance's ``terminator`` attribute to the empty string. In " -"earlier versions, the terminator was hardcoded as ``'\\n'``." +"If you don't want a newline termination, you can set the handler instance's " +"``terminator`` attribute to the empty string." msgstr "" -"La clase ``StreamHandler`` ahora tiene un atributo ``terminador` con valor " -"por defecto ``'\\n'``, que se usa como terminador cuando se escribe un " -"registro formateado a un *stream*. Si no se quiere esta terminación de nueva " -"línea, se puede establecer el atributo de la instancia del " -"gestor``terminator`` para vaciar la cadena de caracteres. En versiones " -"anteriores el terminador era codificado como ``'\\n'``." -#: ../Doc/library/logging.handlers.rst:85 +#: ../Doc/library/logging.handlers.rst:81 +msgid "In earlier versions, the terminator was hardcoded as ``'\\n'``." +msgstr "" + +#: ../Doc/library/logging.handlers.rst:89 msgid "FileHandler" msgstr "FileHandler" -#: ../Doc/library/logging.handlers.rst:87 +#: ../Doc/library/logging.handlers.rst:91 msgid "" "The :class:`FileHandler` class, located in the core :mod:`logging` package, " "sends logging output to a disk file. It inherits the output functionality " @@ -164,14 +165,16 @@ msgstr "" "`logging`, envía la salida del *logging* a un archivo de disco. Hereda la " "funcionalidad de salida de la clase :class:`StreamHandler`." -#: ../Doc/library/logging.handlers.rst:94 +#: ../Doc/library/logging.handlers.rst:98 +#, fuzzy msgid "" "Returns a new instance of the :class:`FileHandler` class. The specified file " "is opened and used as the stream for logging. If *mode* is not specified, :" "const:`'a'` is used. If *encoding* is not ``None``, it is used to open the " "file with that encoding. If *delay* is true, then file opening is deferred " "until the first call to :meth:`emit`. By default, the file grows " -"indefinitely." +"indefinitely. If *errors* is specified, it's used to determine how encoding " +"errors are handled." msgstr "" "Retorna una nueva instancia de la clase :class:`FileHandler`. Abre el " "archivo especificado y se usa como un *stream* para *logging*. si *mode* no " @@ -180,10 +183,10 @@ msgstr "" "difiere la apertura del archivo hasta la primer llamada al método :meth:" "`emit`. Por defecto el archivo crece indefinidamente." -#: ../Doc/library/logging.handlers.rst:100 -#: ../Doc/library/logging.handlers.rst:179 -#: ../Doc/library/logging.handlers.rst:310 -#: ../Doc/library/logging.handlers.rst:410 +#: ../Doc/library/logging.handlers.rst:105 +#: ../Doc/library/logging.handlers.rst:187 +#: ../Doc/library/logging.handlers.rst:322 +#: ../Doc/library/logging.handlers.rst:428 msgid "" "As well as string values, :class:`~pathlib.Path` objects are also accepted " "for the *filename* argument." @@ -191,19 +194,27 @@ msgstr "" "Así como valores de cadena de caracteres, también se aceptan objetos de la " "clase :class:`~pathlib.Path` para el argumento \"*filename*\"." -#: ../Doc/library/logging.handlers.rst:106 +#: ../Doc/library/logging.handlers.rst:109 +#: ../Doc/library/logging.handlers.rst:191 +#: ../Doc/library/logging.handlers.rst:326 +#: ../Doc/library/logging.handlers.rst:432 +#, fuzzy +msgid "The *errors* parameter was added." +msgstr "Se agregó el parámetro *context*." + +#: ../Doc/library/logging.handlers.rst:114 msgid "Closes the file." msgstr "Cierra el archivo." -#: ../Doc/library/logging.handlers.rst:111 +#: ../Doc/library/logging.handlers.rst:118 msgid "Outputs the record to the file." msgstr "Da la salida del registro al archivo." -#: ../Doc/library/logging.handlers.rst:117 +#: ../Doc/library/logging.handlers.rst:124 msgid "NullHandler" msgstr "NullHandler" -#: ../Doc/library/logging.handlers.rst:121 +#: ../Doc/library/logging.handlers.rst:128 msgid "" "The :class:`NullHandler` class, located in the core :mod:`logging` package, " "does not do any formatting or output. It is essentially a 'no-op' handler " @@ -213,16 +224,16 @@ msgstr "" "`logging` . No realiza ningún formateo o salida. Es en esencia un gestor 'no-" "op' para uso de desarrolladores de bibliotecas." -#: ../Doc/library/logging.handlers.rst:127 +#: ../Doc/library/logging.handlers.rst:134 msgid "Returns a new instance of the :class:`NullHandler` class." msgstr "Retorna una nueva instancia de la clase :class:`NullHandler`." -#: ../Doc/library/logging.handlers.rst:131 -#: ../Doc/library/logging.handlers.rst:135 +#: ../Doc/library/logging.handlers.rst:138 +#: ../Doc/library/logging.handlers.rst:142 msgid "This method does nothing." msgstr "Este método no realiza ninguna acción." -#: ../Doc/library/logging.handlers.rst:139 +#: ../Doc/library/logging.handlers.rst:146 msgid "" "This method returns ``None`` for the lock, since there is no underlying I/O " "to which access needs to be serialized." @@ -230,7 +241,7 @@ msgstr "" "Este método retorna ``None`` para el bloqueo , dado que no hay una E/S " "subyacente cuyo acceso se necesite serializar." -#: ../Doc/library/logging.handlers.rst:143 +#: ../Doc/library/logging.handlers.rst:150 msgid "" "See :ref:`library-config` for more information on how to use :class:" "`NullHandler`." @@ -238,11 +249,11 @@ msgstr "" "Véase :ref:`library-config` para mas información en como usar la clase :" "class:`NullHandler`." -#: ../Doc/library/logging.handlers.rst:149 +#: ../Doc/library/logging.handlers.rst:156 msgid "WatchedFileHandler" msgstr "WatchedFileHandler" -#: ../Doc/library/logging.handlers.rst:153 +#: ../Doc/library/logging.handlers.rst:160 msgid "" "The :class:`WatchedFileHandler` class, located in the :mod:`logging." "handlers` module, is a :class:`FileHandler` which watches the file it is " @@ -254,7 +265,7 @@ msgstr "" "está enviando el *logging*. Si el archivo cambia , este se cerrará y se " "volverá a abrir usando el nombre de archivo." -#: ../Doc/library/logging.handlers.rst:157 +#: ../Doc/library/logging.handlers.rst:164 msgid "" "A file change can happen because of usage of programs such as *newsyslog* " "and *logrotate* which perform log file rotation. This handler, intended for " @@ -271,7 +282,7 @@ msgstr "" "anterior *stream* de archivo se cerrará, y se abrirá el nuevo para obtener " "un nuevo *stream*." -#: ../Doc/library/logging.handlers.rst:164 +#: ../Doc/library/logging.handlers.rst:171 msgid "" "This handler is not appropriate for use under Windows, because under Windows " "open log files cannot be moved or renamed - logging opens the files with " @@ -285,23 +296,25 @@ msgstr "" "gestor. Por otra parte *ST_INO* no es soportado bajo Windows. La función :" "func:`~os.stat` siempre retorna cero para este valor." -#: ../Doc/library/logging.handlers.rst:173 +#: ../Doc/library/logging.handlers.rst:180 +#, fuzzy msgid "" "Returns a new instance of the :class:`WatchedFileHandler` class. The " "specified file is opened and used as the stream for logging. If *mode* is " "not specified, :const:`'a'` is used. If *encoding* is not ``None``, it is " "used to open the file with that encoding. If *delay* is true, then file " "opening is deferred until the first call to :meth:`emit`. By default, the " -"file grows indefinitely." +"file grows indefinitely. If *errors* is provided, it determines how encoding " +"errors are handled." msgstr "" -"Retorna una nueva instancia de la clase :class:`WatchedFileHandler`. El " -"archivo especificado se abre y usa como el *stream* para *logging*. Si " -"*mode* no se especifica se usará :const:`'a'`. Si *encoding* no es ``None``, " -"se usa para abrir el archivo con esa codificación. Si *delay* es true se " -"diferirá la apertura del archivo hasta tanto se llame al método :meth:" -"`emit` . Por defecto el archivo crecerá indefinidamente." +"Retorna una nueva instancia de la clase :class:`FileHandler`. Abre el " +"archivo especificado y se usa como un *stream* para *logging*. si *mode* no " +"se especifica se usa :const:`'a'` . Si *encoding* no es ``None``, se usará " +"para abrir el archivo con esa codificación. Si *delay* es *true* entonces se " +"difiere la apertura del archivo hasta la primer llamada al método :meth:" +"`emit`. Por defecto el archivo crece indefinidamente." -#: ../Doc/library/logging.handlers.rst:185 +#: ../Doc/library/logging.handlers.rst:196 msgid "" "Checks to see if the file has changed. If it has, the existing stream is " "flushed and closed and the file opened again, typically as a precursor to " @@ -311,7 +324,7 @@ msgstr "" "y cierra y el archivo se abre nuevamente. Típicamente es un precursor para " "dar salida del registro a un archivo." -#: ../Doc/library/logging.handlers.rst:194 +#: ../Doc/library/logging.handlers.rst:205 msgid "" "Outputs the record to the file, but first calls :meth:`reopenIfNeeded` to " "reopen the file if it has changed." @@ -319,11 +332,11 @@ msgstr "" "Da salida al registro a un archivo, pero primero invoca al método :meth:" "`reopenIfNeeded` para reabrir el archivo si es que cambió." -#: ../Doc/library/logging.handlers.rst:200 +#: ../Doc/library/logging.handlers.rst:211 msgid "BaseRotatingHandler" msgstr "BaseRotatingHandler" -#: ../Doc/library/logging.handlers.rst:202 +#: ../Doc/library/logging.handlers.rst:213 msgid "" "The :class:`BaseRotatingHandler` class, located in the :mod:`logging." "handlers` module, is the base class for the rotating file handlers, :class:" @@ -337,13 +350,13 @@ msgstr "" "ser necesario instanciar esta clase, pero tiene métodos y atributos que " "quizá se necesiten sobrescribir (*override*)." -#: ../Doc/library/logging.handlers.rst:210 +#: ../Doc/library/logging.handlers.rst:221 msgid "The parameters are as for :class:`FileHandler`. The attributes are:" msgstr "" "Los parámetros son como los de la clase :class:`FileHandler`. Los atributos " "son:" -#: ../Doc/library/logging.handlers.rst:214 +#: ../Doc/library/logging.handlers.rst:225 msgid "" "If this attribute is set to a callable, the :meth:`rotation_filename` method " "delegates to this callable. The parameters passed to the callable are those " @@ -353,7 +366,7 @@ msgstr "" "`rotation_filename` delega a este invocable. Los parámetros pasados al " "invocable son aquellos pasados al método :meth:`rotation_filename`." -#: ../Doc/library/logging.handlers.rst:218 +#: ../Doc/library/logging.handlers.rst:229 msgid "" "The namer function is called quite a few times during rollover, so it should " "be as simple and as fast as possible. It should also return the same output " @@ -365,7 +378,7 @@ msgstr "" "también retornar siempre la misma salida para una misma entrada, de otra " "manera el volcado puede no funcionar como se espera." -#: ../Doc/library/logging.handlers.rst:228 +#: ../Doc/library/logging.handlers.rst:239 msgid "" "If this attribute is set to a callable, the :meth:`rotate` method delegates " "to this callable. The parameters passed to the callable are those passed " @@ -375,16 +388,16 @@ msgstr "" "delega a este invocable. Los parámetros pasados al invocable son aquellos " "pasados al método :meth:`rotate`." -#: ../Doc/library/logging.handlers.rst:236 +#: ../Doc/library/logging.handlers.rst:247 msgid "Modify the filename of a log file when rotating." msgstr "Modifica el nombre de un archivo log cuando esta rotando." -#: ../Doc/library/logging.handlers.rst:238 +#: ../Doc/library/logging.handlers.rst:249 msgid "This is provided so that a custom filename can be provided." msgstr "" "Esto esta previsto para que pueda usarse un nombre de archivo personalizado." -#: ../Doc/library/logging.handlers.rst:240 +#: ../Doc/library/logging.handlers.rst:251 msgid "" "The default implementation calls the 'namer' attribute of the handler, if " "it's callable, passing the default name to it. If the attribute isn't " @@ -394,15 +407,15 @@ msgstr "" "es invocable, pasando el nombre por defecto a él. Si el atributo no es " "invocable (por defecto es ``None``) el nombre se retorna sin cambios." -#: ../Doc/library/logging.handlers.rst:244 +#: ../Doc/library/logging.handlers.rst:255 msgid "The default name for the log file." msgstr "El nombre por defecto para el archivo de log." -#: ../Doc/library/logging.handlers.rst:251 +#: ../Doc/library/logging.handlers.rst:262 msgid "When rotating, rotate the current log." msgstr "Cuando está rotando, rotar el actual log." -#: ../Doc/library/logging.handlers.rst:253 +#: ../Doc/library/logging.handlers.rst:264 msgid "" "The default implementation calls the 'rotator' attribute of the handler, if " "it's callable, passing the source and dest arguments to it. If the attribute " @@ -414,14 +427,14 @@ msgstr "" "invocar (porque el atributo por defecto es 'None') el origen es simplemente " "renombrado al destino." -#: ../Doc/library/logging.handlers.rst:258 +#: ../Doc/library/logging.handlers.rst:269 msgid "" "The source filename. This is normally the base filename, e.g. 'test.log'." msgstr "" "El nombre de archivo origen . Normalmente el nombre de archivo base, por " "ejemplo 'test.log'." -#: ../Doc/library/logging.handlers.rst:260 +#: ../Doc/library/logging.handlers.rst:271 msgid "" "The destination filename. This is normally what the source is rotated to, e." "g. 'test.log.1'." @@ -429,7 +442,7 @@ msgstr "" "El nombre de archivo de destino. Normalmente es el nombre al que se rota el " "archivo origen por ejemplo 'test.log.1'." -#: ../Doc/library/logging.handlers.rst:265 +#: ../Doc/library/logging.handlers.rst:276 msgid "" "The reason the attributes exist is to save you having to subclass - you can " "use the same callables for instances of :class:`RotatingFileHandler` and :" @@ -446,7 +459,7 @@ msgstr "" "al método :meth:`emit` por ejemplo a través del método :meth:`handleError` " "del gestor." -#: ../Doc/library/logging.handlers.rst:272 +#: ../Doc/library/logging.handlers.rst:283 msgid "" "If you need to make more significant changes to rotation processing, you can " "override the methods." @@ -454,15 +467,15 @@ msgstr "" "Si necesitas hacer cambios mas significativos al proceso de rotación puedes " "obviar los métodos." -#: ../Doc/library/logging.handlers.rst:275 +#: ../Doc/library/logging.handlers.rst:286 msgid "For an example, see :ref:`cookbook-rotator-namer`." msgstr "Para un ejemplo véase :ref:`cookbook-rotator-namer`." -#: ../Doc/library/logging.handlers.rst:281 +#: ../Doc/library/logging.handlers.rst:292 msgid "RotatingFileHandler" msgstr "RotatingFileHandler" -#: ../Doc/library/logging.handlers.rst:283 +#: ../Doc/library/logging.handlers.rst:294 msgid "" "The :class:`RotatingFileHandler` class, located in the :mod:`logging." "handlers` module, supports rotation of disk log files." @@ -470,14 +483,16 @@ msgstr "" "La clase :class:`RotatingFileHandler`, localizada en el módulo :mod:`logging." "handlers` soporta la rotación de archivos log de disco." -#: ../Doc/library/logging.handlers.rst:289 +#: ../Doc/library/logging.handlers.rst:300 +#, fuzzy msgid "" "Returns a new instance of the :class:`RotatingFileHandler` class. The " "specified file is opened and used as the stream for logging. If *mode* is " "not specified, ``'a'`` is used. If *encoding* is not ``None``, it is used " "to open the file with that encoding. If *delay* is true, then file opening " "is deferred until the first call to :meth:`emit`. By default, the file " -"grows indefinitely." +"grows indefinitely. If *errors* is provided, it determines how encoding " +"errors are handled." msgstr "" "Retorna una nueva instancia de la clase :class:`RotatingFileHandler`. El " "archivo especificado es abierto y usado como un *stream* para *logging*. Si " @@ -486,7 +501,7 @@ msgstr "" "entonces la apertura del archivo se diferirá hasta la primer llamada al " "método :meth:`emit`. Por defecto el archivo crece indefinidamente." -#: ../Doc/library/logging.handlers.rst:295 +#: ../Doc/library/logging.handlers.rst:307 msgid "" "You can use the *maxBytes* and *backupCount* values to allow the file to :" "dfn:`rollover` at a predetermined size. When the size is about to be " @@ -520,12 +535,12 @@ msgstr "" "ya existen :file:`app.log.1`, :file:`app.log.2`, etc. Entonces se renombrará " "como :file:`app.log.2`, :file:`app.log.3` etc. respectivamente." -#: ../Doc/library/logging.handlers.rst:316 -#: ../Doc/library/logging.handlers.rst:416 +#: ../Doc/library/logging.handlers.rst:331 +#: ../Doc/library/logging.handlers.rst:437 msgid "Does a rollover, as described above." msgstr "Realiza un volcado (*rollover*) como se describe arriba." -#: ../Doc/library/logging.handlers.rst:321 +#: ../Doc/library/logging.handlers.rst:336 msgid "" "Outputs the record to the file, catering for rollover as described " "previously." @@ -533,11 +548,11 @@ msgstr "" "Da la salida del registro al archivo , dando suministro para el volcado " "(*rollover*) como está descripto anteriormente." -#: ../Doc/library/logging.handlers.rst:327 +#: ../Doc/library/logging.handlers.rst:342 msgid "TimedRotatingFileHandler" msgstr "TimedRotatingFileHandler" -#: ../Doc/library/logging.handlers.rst:329 +#: ../Doc/library/logging.handlers.rst:344 msgid "" "The :class:`TimedRotatingFileHandler` class, located in the :mod:`logging." "handlers` module, supports rotation of disk log files at certain timed " @@ -547,7 +562,7 @@ msgstr "" "`logging.handlers`. Soporta la rotación de archivos de log a ciertos " "intervalos de tiempo." -#: ../Doc/library/logging.handlers.rst:336 +#: ../Doc/library/logging.handlers.rst:351 msgid "" "Returns a new instance of the :class:`TimedRotatingFileHandler` class. The " "specified file is opened and used as the stream for logging. On rotating it " @@ -559,7 +574,7 @@ msgstr "" "de log. En la rotación también establece el sufijo del nombre de archivo. La " "rotación ocurre basada en el producto de *when* y *interval*." -#: ../Doc/library/logging.handlers.rst:341 +#: ../Doc/library/logging.handlers.rst:356 msgid "" "You can use the *when* to specify the type of *interval*. The list of " "possible values is below. Note that they are not case sensitive." @@ -568,81 +583,81 @@ msgstr "" "lista de posibles valores esta debajo. Nota que no distingue mayúsculas y " "minúsculas." -#: ../Doc/library/logging.handlers.rst:345 +#: ../Doc/library/logging.handlers.rst:360 msgid "Value" msgstr "Valor" -#: ../Doc/library/logging.handlers.rst:345 +#: ../Doc/library/logging.handlers.rst:360 msgid "Type of interval" msgstr "Tipo de intervalo" -#: ../Doc/library/logging.handlers.rst:345 +#: ../Doc/library/logging.handlers.rst:360 msgid "If/how *atTime* is used" msgstr "Si/como *atTime* es usado" -#: ../Doc/library/logging.handlers.rst:347 +#: ../Doc/library/logging.handlers.rst:362 msgid "``'S'``" msgstr "``'S'``" -#: ../Doc/library/logging.handlers.rst:347 +#: ../Doc/library/logging.handlers.rst:362 msgid "Seconds" msgstr "Segundos" -#: ../Doc/library/logging.handlers.rst:347 -#: ../Doc/library/logging.handlers.rst:349 -#: ../Doc/library/logging.handlers.rst:351 -#: ../Doc/library/logging.handlers.rst:353 +#: ../Doc/library/logging.handlers.rst:362 +#: ../Doc/library/logging.handlers.rst:364 +#: ../Doc/library/logging.handlers.rst:366 +#: ../Doc/library/logging.handlers.rst:368 msgid "Ignored" msgstr "Ignorado" -#: ../Doc/library/logging.handlers.rst:349 +#: ../Doc/library/logging.handlers.rst:364 msgid "``'M'``" msgstr "``'M'``" -#: ../Doc/library/logging.handlers.rst:349 +#: ../Doc/library/logging.handlers.rst:364 msgid "Minutes" msgstr "Minutos" -#: ../Doc/library/logging.handlers.rst:351 +#: ../Doc/library/logging.handlers.rst:366 msgid "``'H'``" msgstr "``'H'``" -#: ../Doc/library/logging.handlers.rst:351 +#: ../Doc/library/logging.handlers.rst:366 msgid "Hours" msgstr "Horas" -#: ../Doc/library/logging.handlers.rst:353 +#: ../Doc/library/logging.handlers.rst:368 msgid "``'D'``" msgstr "``'D'``" -#: ../Doc/library/logging.handlers.rst:353 +#: ../Doc/library/logging.handlers.rst:368 msgid "Days" msgstr "Días" -#: ../Doc/library/logging.handlers.rst:355 +#: ../Doc/library/logging.handlers.rst:370 msgid "``'W0'-'W6'``" msgstr "``'W0'-'W6'``" -#: ../Doc/library/logging.handlers.rst:355 +#: ../Doc/library/logging.handlers.rst:370 msgid "Weekday (0=Monday)" msgstr "Día de la semana (0=Lunes)" -#: ../Doc/library/logging.handlers.rst:355 -#: ../Doc/library/logging.handlers.rst:358 +#: ../Doc/library/logging.handlers.rst:370 +#: ../Doc/library/logging.handlers.rst:373 msgid "Used to compute initial rollover time" msgstr "Usado para calcular la hora inicial del volcado *rollover*" -#: ../Doc/library/logging.handlers.rst:358 +#: ../Doc/library/logging.handlers.rst:373 msgid "``'midnight'``" msgstr "``'midnight'``" -#: ../Doc/library/logging.handlers.rst:358 +#: ../Doc/library/logging.handlers.rst:373 msgid "Roll over at midnight, if *atTime* not specified, else at time *atTime*" msgstr "" "Volcado (*rollover*) a medianoche , si *atTime* no está especificado, sino " "el volcado se hará *atTime*" -#: ../Doc/library/logging.handlers.rst:363 +#: ../Doc/library/logging.handlers.rst:378 msgid "" "When using weekday-based rotation, specify 'W0' for Monday, 'W1' for " "Tuesday, and so on up to 'W6' for Sunday. In this case, the value passed for " @@ -652,7 +667,7 @@ msgstr "" "Lunes, 'W1' para Martes y así, hasta 'W6' para Domingo. en este caso el " "valor pasado para *Interval* no se usa." -#: ../Doc/library/logging.handlers.rst:367 +#: ../Doc/library/logging.handlers.rst:382 #, python-format msgid "" "The system will save old log files by appending extensions to the filename. " @@ -664,7 +679,7 @@ msgstr "" "formato ``%Y-%m-%d_%H-%M-%S`` o un prefijo respecto el intervalo del volcado " "(*rollover*)." -#: ../Doc/library/logging.handlers.rst:372 +#: ../Doc/library/logging.handlers.rst:387 msgid "" "When computing the next rollover time for the first time (when the handler " "is created), the last modification time of an existing log file, or else the " @@ -675,7 +690,7 @@ msgstr "" "log existente o sino la hora actual, se usa para calcular cuando será la " "próxima rotación." -#: ../Doc/library/logging.handlers.rst:376 +#: ../Doc/library/logging.handlers.rst:391 msgid "" "If the *utc* argument is true, times in UTC will be used; otherwise local " "time is used." @@ -683,7 +698,7 @@ msgstr "" "Si el argumento *utc* es *true* se usará la hora en UTC, sino se usará la " "hora local." -#: ../Doc/library/logging.handlers.rst:379 +#: ../Doc/library/logging.handlers.rst:394 msgid "" "If *backupCount* is nonzero, at most *backupCount* files will be kept, and " "if more would be created when rollover occurs, the oldest one is deleted. " @@ -696,7 +711,7 @@ msgstr "" "intervalo para determinar que archivos borrar, pues entonces cambiando el " "intervalo puede dejar viejos archivos abandonados." -#: ../Doc/library/logging.handlers.rst:384 +#: ../Doc/library/logging.handlers.rst:399 msgid "" "If *delay* is true, then file opening is deferred until the first call to :" "meth:`emit`." @@ -704,7 +719,7 @@ msgstr "" "Si *delay* es *true* entonces la apertura del archivo se demorará hasta la " "primer llamada a :meth:`emit`." -#: ../Doc/library/logging.handlers.rst:387 +#: ../Doc/library/logging.handlers.rst:402 msgid "" "If *atTime* is not ``None``, it must be a ``datetime.time`` instance which " "specifies the time of day when rollover occurs, for the cases where rollover " @@ -720,7 +735,13 @@ msgstr "" "calcular el valor *initial* del volcado (*rollover*) y los subsecuentes " "volcados serán calculados a través del calculo normal de intervalos." -#: ../Doc/library/logging.handlers.rst:394 +#: ../Doc/library/logging.handlers.rst:409 +msgid "" +"If *errors* is specified, it's used to determine how encoding errors are " +"handled." +msgstr "" + +#: ../Doc/library/logging.handlers.rst:412 msgid "" "Calculation of the initial rollover time is done when the handler is " "initialised. Calculation of subsequent rollover times is done only when " @@ -747,22 +768,22 @@ msgstr "" "entonces habrá brechas de tiempo en los archivos correspondientes a los " "minutos que no hubo salida (y no ocurrió por tanto volcado alguno)." -#: ../Doc/library/logging.handlers.rst:407 +#: ../Doc/library/logging.handlers.rst:425 msgid "*atTime* parameter was added." msgstr "Se agregó el parámetro *atTime*." -#: ../Doc/library/logging.handlers.rst:420 +#: ../Doc/library/logging.handlers.rst:441 msgid "" "Outputs the record to the file, catering for rollover as described above." msgstr "" "Da la salida del registro a un archivo , proveyendo la información para el " "volcado (*rollover*) como esta descripto anteriormente." -#: ../Doc/library/logging.handlers.rst:426 +#: ../Doc/library/logging.handlers.rst:447 msgid "SocketHandler" msgstr "SocketHandler" -#: ../Doc/library/logging.handlers.rst:428 +#: ../Doc/library/logging.handlers.rst:449 msgid "" "The :class:`SocketHandler` class, located in the :mod:`logging.handlers` " "module, sends logging output to a network socket. The base class uses a TCP " @@ -772,7 +793,7 @@ msgstr "" "handlers`, envía el *logging* a un socket de la red. La clase base usa " "*sockets* TCP." -#: ../Doc/library/logging.handlers.rst:434 +#: ../Doc/library/logging.handlers.rst:455 msgid "" "Returns a new instance of the :class:`SocketHandler` class intended to " "communicate with a remote machine whose address is given by *host* and " @@ -782,7 +803,7 @@ msgstr "" "para comunicarse con una terminal remota cuya dirección esta dada por *host* " "y *port*." -#: ../Doc/library/logging.handlers.rst:437 +#: ../Doc/library/logging.handlers.rst:458 msgid "" "If ``port`` is specified as ``None``, a Unix domain socket is created using " "the value in ``host`` - otherwise, a TCP socket is created." @@ -790,11 +811,11 @@ msgstr "" "Si \"port\" se especifica como``None`` se crea un socket de dominio Unix, " "usando el valor en``host`` - de otra manera se creará un socket TCP." -#: ../Doc/library/logging.handlers.rst:443 +#: ../Doc/library/logging.handlers.rst:464 msgid "Closes the socket." msgstr "Cierra el socket." -#: ../Doc/library/logging.handlers.rst:448 +#: ../Doc/library/logging.handlers.rst:469 msgid "" "Pickles the record's attribute dictionary and writes it to the socket in " "binary format. If there is an error with the socket, silently drops the " @@ -809,7 +830,7 @@ msgstr "" "receptor a una clase :class:`~logging.LogRecord`, usa la función :func:" "`~logging.makeLogRecord`." -#: ../Doc/library/logging.handlers.rst:458 +#: ../Doc/library/logging.handlers.rst:479 msgid "" "Handles an error which has occurred during :meth:`emit`. The most likely " "cause is a lost connection. Closes the socket so that we can retry on the " @@ -819,7 +840,7 @@ msgstr "" "común es una perdida de conexión. Cierra el socket para que podamos " "reintentar en el próximo evento." -#: ../Doc/library/logging.handlers.rst:465 +#: ../Doc/library/logging.handlers.rst:486 msgid "" "This is a factory method which allows subclasses to define the precise type " "of socket they want. The default implementation creates a TCP socket (:const:" @@ -829,7 +850,7 @@ msgstr "" "de socket que se necesita. La implementación por defecto crea un socket TCP(:" "const:`socket.SOCK_STREAM`)." -#: ../Doc/library/logging.handlers.rst:472 +#: ../Doc/library/logging.handlers.rst:493 msgid "" "Pickles the record's attribute dictionary in binary format with a length " "prefix, and returns it ready for transmission across the socket. The details " @@ -839,7 +860,7 @@ msgstr "" "binario con un prefijo de tamaño, y lo retorna listo para transmitir a " "través del socket. Los detalles de esta operación son equivalentes a::" -#: ../Doc/library/logging.handlers.rst:480 +#: ../Doc/library/logging.handlers.rst:501 msgid "" "Note that pickles aren't completely secure. If you are concerned about " "security, you may want to override this method to implement a more secure " @@ -854,7 +875,7 @@ msgstr "" "deshabilitar la deserialización (*unpickling*) de objetos globales en el " "extremo receptor." -#: ../Doc/library/logging.handlers.rst:489 +#: ../Doc/library/logging.handlers.rst:510 msgid "" "Send a pickled byte-string *packet* to the socket. The format of the sent " "byte-string is as described in the documentation for :meth:`~SocketHandler." @@ -864,7 +885,7 @@ msgstr "" "El formato de la cadena de bytes enviada es tal como se describe en la " "documentación de :meth:`~SocketHandler.makePickle`." -#: ../Doc/library/logging.handlers.rst:493 +#: ../Doc/library/logging.handlers.rst:514 msgid "" "This function allows for partial sends, which can happen when the network is " "busy." @@ -872,7 +893,7 @@ msgstr "" "Esta función permite envíos parciales, que pueden ocurrir cuando la red esta " "ocupada." -#: ../Doc/library/logging.handlers.rst:499 +#: ../Doc/library/logging.handlers.rst:520 msgid "" "Tries to create a socket; on failure, uses an exponential back-off " "algorithm. On initial failure, the handler will drop the message it was " @@ -890,24 +911,24 @@ msgstr "" "segundo y si después del retardo la conexión todavía no se puede realizar, " "el gestor doblará el retardo cada vez hasta un máximo de 30 segundos." -#: ../Doc/library/logging.handlers.rst:507 +#: ../Doc/library/logging.handlers.rst:528 msgid "This behaviour is controlled by the following handler attributes:" msgstr "" "Este comportamiento es controlado por los siguientes atributos del gestor:" -#: ../Doc/library/logging.handlers.rst:509 +#: ../Doc/library/logging.handlers.rst:530 msgid "``retryStart`` (initial delay, defaulting to 1.0 seconds)." msgstr "``retryStart`` (retardo inicial por defecto 1.0 segundos)" -#: ../Doc/library/logging.handlers.rst:510 +#: ../Doc/library/logging.handlers.rst:531 msgid "``retryFactor`` (multiplier, defaulting to 2.0)." msgstr "``retryFactor`` (multiplicador por defecto 2.0)" -#: ../Doc/library/logging.handlers.rst:511 +#: ../Doc/library/logging.handlers.rst:532 msgid "``retryMax`` (maximum delay, defaulting to 30.0 seconds)." msgstr "``retryMax`` (máximo retardo por defecto 30.0 segundos)" -#: ../Doc/library/logging.handlers.rst:513 +#: ../Doc/library/logging.handlers.rst:534 msgid "" "This means that if the remote listener starts up *after* the handler has " "been used, you could lose messages (since the handler won't even attempt a " @@ -919,11 +940,11 @@ msgstr "" "siquiera intentar una conexión hasta que se haya cumplido el retardo, y " "silenciosamente desechará los mensajes mientras se cumpla el retardo)." -#: ../Doc/library/logging.handlers.rst:522 +#: ../Doc/library/logging.handlers.rst:543 msgid "DatagramHandler" msgstr "DatagramHandler" -#: ../Doc/library/logging.handlers.rst:524 +#: ../Doc/library/logging.handlers.rst:545 msgid "" "The :class:`DatagramHandler` class, located in the :mod:`logging.handlers` " "module, inherits from :class:`SocketHandler` to support sending logging " @@ -933,7 +954,7 @@ msgstr "" "handlers`, hereda de la clase :class:`SocketHandler` para realizar el " "soporte de mensajes *logging* por los *sockets* UDP." -#: ../Doc/library/logging.handlers.rst:531 +#: ../Doc/library/logging.handlers.rst:552 msgid "" "Returns a new instance of the :class:`DatagramHandler` class intended to " "communicate with a remote machine whose address is given by *host* and " @@ -943,7 +964,7 @@ msgstr "" "para comunicarse con la terminal remota cuya dirección es dada por *host* y " "*port*." -#: ../Doc/library/logging.handlers.rst:534 +#: ../Doc/library/logging.handlers.rst:555 msgid "" "If ``port`` is specified as ``None``, a Unix domain socket is created using " "the value in ``host`` - otherwise, a UDP socket is created." @@ -951,7 +972,7 @@ msgstr "" "Si 'port' se especifica como \"None\", se crea un socket de dominio Unix, " "usando el valor en \"host\" - de otra manera se crea un socket UDP." -#: ../Doc/library/logging.handlers.rst:540 +#: ../Doc/library/logging.handlers.rst:561 msgid "" "Pickles the record's attribute dictionary and writes it to the socket in " "binary format. If there is an error with the socket, silently drops the " @@ -964,7 +985,7 @@ msgstr "" "registro en el extremo de recepción a una clase :class:`~logging.LogRecord`, " "usa la función :func:`~logging.makeLogRecord`." -#: ../Doc/library/logging.handlers.rst:549 +#: ../Doc/library/logging.handlers.rst:570 msgid "" "The factory method of :class:`SocketHandler` is here overridden to create a " "UDP socket (:const:`socket.SOCK_DGRAM`)." @@ -972,7 +993,7 @@ msgstr "" "El método original de la clase :class:`SocketHandler` se omite para crear un " "socket UDP (:const:`socket.SOCK_DGRAM`)." -#: ../Doc/library/logging.handlers.rst:555 +#: ../Doc/library/logging.handlers.rst:576 msgid "" "Send a pickled byte-string to a socket. The format of the sent byte-string " "is as described in the documentation for :meth:`SocketHandler.makePickle`." @@ -981,11 +1002,11 @@ msgstr "" "El formato de la cadena de *bytes* enviado es tal como se describe en la " "documentación para :meth:`SocketHandler.makePickle`." -#: ../Doc/library/logging.handlers.rst:562 +#: ../Doc/library/logging.handlers.rst:583 msgid "SysLogHandler" msgstr "Gestor *SysLog* (*SysLogHandler*)" -#: ../Doc/library/logging.handlers.rst:564 +#: ../Doc/library/logging.handlers.rst:585 msgid "" "The :class:`SysLogHandler` class, located in the :mod:`logging.handlers` " "module, supports sending logging messages to a remote or local Unix syslog." @@ -994,7 +1015,7 @@ msgstr "" "handlers`. Realiza el soporte de los mensajes de *logging* a un *syslog* " "Unix local o remoto." -#: ../Doc/library/logging.handlers.rst:570 +#: ../Doc/library/logging.handlers.rst:591 msgid "" "Returns a new instance of the :class:`SysLogHandler` class intended to " "communicate with a remote Unix machine whose address is given by *address* " @@ -1021,7 +1042,7 @@ msgstr "" "TCP (para usar con los nuevos *daemons syslog* como Rsyslog) se debe " "especificar un valor de :const:`socket.SOCK_STREAM`." -#: ../Doc/library/logging.handlers.rst:582 +#: ../Doc/library/logging.handlers.rst:603 msgid "" "Note that if your server is not listening on UDP port 514, :class:" "`SysLogHandler` may appear not to work. In that case, check what address you " @@ -1040,15 +1061,15 @@ msgstr "" "necesita correr en diferentes plataformas). En Windows seguramente tengas " "que usar la opción UDP." -#: ../Doc/library/logging.handlers.rst:591 +#: ../Doc/library/logging.handlers.rst:612 msgid "*socktype* was added." msgstr "Se agregó *socktype*." -#: ../Doc/library/logging.handlers.rst:597 +#: ../Doc/library/logging.handlers.rst:618 msgid "Closes the socket to the remote host." msgstr "Cierra el socket del host remoto." -#: ../Doc/library/logging.handlers.rst:602 +#: ../Doc/library/logging.handlers.rst:623 msgid "" "The record is formatted, and then sent to the syslog server. If exception " "information is present, it is *not* sent to the server." @@ -1056,7 +1077,7 @@ msgstr "" "El registro es formateado, y luego enviado al servidor *syslog*. Si hay " "información de excepción presente entonces no se enviará al servidor." -#: ../Doc/library/logging.handlers.rst:605 +#: ../Doc/library/logging.handlers.rst:626 msgid "" "(See: :issue:`12168`.) In earlier versions, the message sent to the syslog " "daemons was always terminated with a NUL byte, because early versions of " @@ -1074,7 +1095,7 @@ msgstr "" "quitan si esta ahí. Versiones aún mas recientes que están mas cercanas a la " "especificación RFC 5424 pasan el byte NUL como parte del mensaje." -#: ../Doc/library/logging.handlers.rst:614 +#: ../Doc/library/logging.handlers.rst:635 msgid "" "To enable easier handling of syslog messages in the face of all these " "differing daemon behaviours, the appending of the NUL byte has been made " @@ -1090,7 +1111,7 @@ msgstr "" "ya existente) pero se puede establecer a 'False' en una instancia " "``SysLogHandler`` como para que esa instancia no añada el terminador NUL." -#: ../Doc/library/logging.handlers.rst:621 +#: ../Doc/library/logging.handlers.rst:642 msgid "" "(See: :issue:`12419`.) In earlier versions, there was no facility for an " "\"ident\" or \"tag\" prefix to identify the source of the message. This can " @@ -1108,7 +1129,7 @@ msgstr "" "anteponga el *ident* a todos los mensajes gestionados. Nótese que el *ident* " "provisto debe ser texto, no bytes y se antepone al mensaje tal como es." -#: ../Doc/library/logging.handlers.rst:632 +#: ../Doc/library/logging.handlers.rst:653 msgid "" "Encodes the facility and priority into an integer. You can pass in strings " "or integers - if strings are passed, internal mapping dictionaries are used " @@ -1118,7 +1139,7 @@ msgstr "" "caracteres o enteros, si pasas cadenas de caracteres se usarán los " "diccionarios de mapeo interno para convertirlos en enteros." -#: ../Doc/library/logging.handlers.rst:636 +#: ../Doc/library/logging.handlers.rst:657 msgid "" "The symbolic ``LOG_`` values are defined in :class:`SysLogHandler` and " "mirror the values defined in the ``sys/syslog.h`` header file." @@ -1126,249 +1147,249 @@ msgstr "" "Los valores simbólicos ``LOG_`` están definidos en :class:`SysLogHandler` e " "invierten los valores definidos en el archivo de encabezado `sys/syslog.h``." -#: ../Doc/library/logging.handlers.rst:639 +#: ../Doc/library/logging.handlers.rst:660 msgid "**Priorities**" msgstr "**Prioridades**" -#: ../Doc/library/logging.handlers.rst:642 -#: ../Doc/library/logging.handlers.rst:664 +#: ../Doc/library/logging.handlers.rst:663 +#: ../Doc/library/logging.handlers.rst:685 msgid "Name (string)" msgstr "Nombre (cadena de caracteres)" -#: ../Doc/library/logging.handlers.rst:642 -#: ../Doc/library/logging.handlers.rst:664 +#: ../Doc/library/logging.handlers.rst:663 +#: ../Doc/library/logging.handlers.rst:685 msgid "Symbolic value" msgstr "Valor simbólico" -#: ../Doc/library/logging.handlers.rst:644 +#: ../Doc/library/logging.handlers.rst:665 msgid "``alert``" msgstr "``alert``" -#: ../Doc/library/logging.handlers.rst:644 +#: ../Doc/library/logging.handlers.rst:665 msgid "LOG_ALERT" msgstr "LOG_ALERT" -#: ../Doc/library/logging.handlers.rst:646 +#: ../Doc/library/logging.handlers.rst:667 msgid "``crit`` or ``critical``" msgstr "``crit`` or ``critical``" -#: ../Doc/library/logging.handlers.rst:646 +#: ../Doc/library/logging.handlers.rst:667 msgid "LOG_CRIT" msgstr "LOG_CRIT" -#: ../Doc/library/logging.handlers.rst:648 +#: ../Doc/library/logging.handlers.rst:669 msgid "``debug``" msgstr "``debug``" -#: ../Doc/library/logging.handlers.rst:648 +#: ../Doc/library/logging.handlers.rst:669 msgid "LOG_DEBUG" msgstr "LOG_DEBUG" -#: ../Doc/library/logging.handlers.rst:650 +#: ../Doc/library/logging.handlers.rst:671 msgid "``emerg`` or ``panic``" msgstr "``emerg`` or ``panic``" -#: ../Doc/library/logging.handlers.rst:650 +#: ../Doc/library/logging.handlers.rst:671 msgid "LOG_EMERG" msgstr "LOG_EMERG" -#: ../Doc/library/logging.handlers.rst:652 +#: ../Doc/library/logging.handlers.rst:673 msgid "``err`` or ``error``" msgstr "``err`` or ``error``" -#: ../Doc/library/logging.handlers.rst:652 +#: ../Doc/library/logging.handlers.rst:673 msgid "LOG_ERR" msgstr "LOG_ERR" -#: ../Doc/library/logging.handlers.rst:654 +#: ../Doc/library/logging.handlers.rst:675 msgid "``info``" msgstr "``info``" -#: ../Doc/library/logging.handlers.rst:654 +#: ../Doc/library/logging.handlers.rst:675 msgid "LOG_INFO" msgstr "LOG_INFO" -#: ../Doc/library/logging.handlers.rst:656 +#: ../Doc/library/logging.handlers.rst:677 msgid "``notice``" msgstr "``notice``" -#: ../Doc/library/logging.handlers.rst:656 +#: ../Doc/library/logging.handlers.rst:677 msgid "LOG_NOTICE" msgstr "LOG_NOTICE" -#: ../Doc/library/logging.handlers.rst:658 +#: ../Doc/library/logging.handlers.rst:679 msgid "``warn`` or ``warning``" msgstr "``warn`` or ``warning``" -#: ../Doc/library/logging.handlers.rst:658 +#: ../Doc/library/logging.handlers.rst:679 msgid "LOG_WARNING" msgstr "LOG_WARNING" -#: ../Doc/library/logging.handlers.rst:661 +#: ../Doc/library/logging.handlers.rst:682 msgid "**Facilities**" msgstr "**Facilities**" -#: ../Doc/library/logging.handlers.rst:666 +#: ../Doc/library/logging.handlers.rst:687 msgid "``auth``" msgstr "``auth``" -#: ../Doc/library/logging.handlers.rst:666 +#: ../Doc/library/logging.handlers.rst:687 msgid "LOG_AUTH" msgstr "LOG_AUTH" -#: ../Doc/library/logging.handlers.rst:668 +#: ../Doc/library/logging.handlers.rst:689 msgid "``authpriv``" msgstr "``authpriv``" -#: ../Doc/library/logging.handlers.rst:668 +#: ../Doc/library/logging.handlers.rst:689 msgid "LOG_AUTHPRIV" msgstr "LOG_AUTHPRIV" -#: ../Doc/library/logging.handlers.rst:670 +#: ../Doc/library/logging.handlers.rst:691 msgid "``cron``" msgstr "``cron``" -#: ../Doc/library/logging.handlers.rst:670 +#: ../Doc/library/logging.handlers.rst:691 msgid "LOG_CRON" msgstr "LOG_CRON" -#: ../Doc/library/logging.handlers.rst:672 +#: ../Doc/library/logging.handlers.rst:693 msgid "``daemon``" msgstr "``daemon``" -#: ../Doc/library/logging.handlers.rst:672 +#: ../Doc/library/logging.handlers.rst:693 msgid "LOG_DAEMON" msgstr "LOG_DAEMON" -#: ../Doc/library/logging.handlers.rst:674 +#: ../Doc/library/logging.handlers.rst:695 msgid "``ftp``" msgstr "``ftp``" -#: ../Doc/library/logging.handlers.rst:674 +#: ../Doc/library/logging.handlers.rst:695 msgid "LOG_FTP" msgstr "LOG_FTP" -#: ../Doc/library/logging.handlers.rst:676 +#: ../Doc/library/logging.handlers.rst:697 msgid "``kern``" msgstr "``kern``" -#: ../Doc/library/logging.handlers.rst:676 +#: ../Doc/library/logging.handlers.rst:697 msgid "LOG_KERN" msgstr "LOG_KERN" -#: ../Doc/library/logging.handlers.rst:678 +#: ../Doc/library/logging.handlers.rst:699 msgid "``lpr``" msgstr "``lpr``" -#: ../Doc/library/logging.handlers.rst:678 +#: ../Doc/library/logging.handlers.rst:699 msgid "LOG_LPR" msgstr "LOG_LPR" -#: ../Doc/library/logging.handlers.rst:680 +#: ../Doc/library/logging.handlers.rst:701 msgid "``mail``" msgstr "``mail``" -#: ../Doc/library/logging.handlers.rst:680 +#: ../Doc/library/logging.handlers.rst:701 msgid "LOG_MAIL" msgstr "LOG_MAIL" -#: ../Doc/library/logging.handlers.rst:682 +#: ../Doc/library/logging.handlers.rst:703 msgid "``news``" msgstr "``news``" -#: ../Doc/library/logging.handlers.rst:682 +#: ../Doc/library/logging.handlers.rst:703 msgid "LOG_NEWS" msgstr "LOG_NEWS" -#: ../Doc/library/logging.handlers.rst:684 +#: ../Doc/library/logging.handlers.rst:705 msgid "``syslog``" msgstr "``syslog``" -#: ../Doc/library/logging.handlers.rst:684 +#: ../Doc/library/logging.handlers.rst:705 msgid "LOG_SYSLOG" msgstr "LOG_SYSLOG" -#: ../Doc/library/logging.handlers.rst:686 +#: ../Doc/library/logging.handlers.rst:707 msgid "``user``" msgstr "``user``" -#: ../Doc/library/logging.handlers.rst:686 +#: ../Doc/library/logging.handlers.rst:707 msgid "LOG_USER" msgstr "LOG_USER" -#: ../Doc/library/logging.handlers.rst:688 +#: ../Doc/library/logging.handlers.rst:709 msgid "``uucp``" msgstr "``uucp``" -#: ../Doc/library/logging.handlers.rst:688 +#: ../Doc/library/logging.handlers.rst:709 msgid "LOG_UUCP" msgstr "LOG_UUCP" -#: ../Doc/library/logging.handlers.rst:690 +#: ../Doc/library/logging.handlers.rst:711 msgid "``local0``" msgstr "``local0``" -#: ../Doc/library/logging.handlers.rst:690 +#: ../Doc/library/logging.handlers.rst:711 msgid "LOG_LOCAL0" msgstr "LOG_LOCAL0" -#: ../Doc/library/logging.handlers.rst:692 +#: ../Doc/library/logging.handlers.rst:713 msgid "``local1``" msgstr "``local1``" -#: ../Doc/library/logging.handlers.rst:692 +#: ../Doc/library/logging.handlers.rst:713 msgid "LOG_LOCAL1" msgstr "LOG_LOCAL1" -#: ../Doc/library/logging.handlers.rst:694 +#: ../Doc/library/logging.handlers.rst:715 msgid "``local2``" msgstr "``local2``" -#: ../Doc/library/logging.handlers.rst:694 +#: ../Doc/library/logging.handlers.rst:715 msgid "LOG_LOCAL2" msgstr "LOG_LOCAL2" -#: ../Doc/library/logging.handlers.rst:696 +#: ../Doc/library/logging.handlers.rst:717 msgid "``local3``" msgstr "``local3``" -#: ../Doc/library/logging.handlers.rst:696 +#: ../Doc/library/logging.handlers.rst:717 msgid "LOG_LOCAL3" msgstr "LOG_LOCAL3" -#: ../Doc/library/logging.handlers.rst:698 +#: ../Doc/library/logging.handlers.rst:719 msgid "``local4``" msgstr "``local4``" -#: ../Doc/library/logging.handlers.rst:698 +#: ../Doc/library/logging.handlers.rst:719 msgid "LOG_LOCAL4" msgstr "LOG_LOCAL4" -#: ../Doc/library/logging.handlers.rst:700 +#: ../Doc/library/logging.handlers.rst:721 msgid "``local5``" msgstr "``local5``" -#: ../Doc/library/logging.handlers.rst:700 +#: ../Doc/library/logging.handlers.rst:721 msgid "LOG_LOCAL5" msgstr "LOG_LOCAL5" -#: ../Doc/library/logging.handlers.rst:702 +#: ../Doc/library/logging.handlers.rst:723 msgid "``local6``" msgstr "``local6``" -#: ../Doc/library/logging.handlers.rst:702 +#: ../Doc/library/logging.handlers.rst:723 msgid "LOG_LOCAL6" msgstr "LOG_LOCAL6" -#: ../Doc/library/logging.handlers.rst:704 +#: ../Doc/library/logging.handlers.rst:725 msgid "``local7``" msgstr "``local7``" -#: ../Doc/library/logging.handlers.rst:704 +#: ../Doc/library/logging.handlers.rst:725 msgid "LOG_LOCAL7" msgstr "LOG_LOCAL7" -#: ../Doc/library/logging.handlers.rst:709 +#: ../Doc/library/logging.handlers.rst:730 msgid "" "Maps a logging level name to a syslog priority name. You may need to " "override this if you are using custom levels, or if the default algorithm is " @@ -1383,11 +1404,11 @@ msgstr "" "sus nombres equivalentes *syslog*, y todos los demás nombres de nivel a " "'warning'." -#: ../Doc/library/logging.handlers.rst:719 +#: ../Doc/library/logging.handlers.rst:740 msgid "NTEventLogHandler" msgstr "Gestor de eventos *NTELog* (NTEventLogHandler)" -#: ../Doc/library/logging.handlers.rst:721 +#: ../Doc/library/logging.handlers.rst:742 msgid "" "The :class:`NTEventLogHandler` class, located in the :mod:`logging.handlers` " "module, supports sending logging messages to a local Windows NT, Windows " @@ -1400,7 +1421,7 @@ msgstr "" "usarlo, necesitarás tener instaladas las extensiones de Win32 de Mark " "Hammond para Python." -#: ../Doc/library/logging.handlers.rst:729 +#: ../Doc/library/logging.handlers.rst:750 msgid "" "Returns a new instance of the :class:`NTEventLogHandler` class. The " "*appname* is used to define the application name as it appears in the event " @@ -1429,7 +1450,7 @@ msgstr "" "usar en el log. El *logtype* puede ser de ``'Application'``, ``'System'`` or " "``'Security'`` y sino por defecto será de ``'Application'``." -#: ../Doc/library/logging.handlers.rst:745 +#: ../Doc/library/logging.handlers.rst:766 msgid "" "At this point, you can remove the application name from the registry as a " "source of event log entries. However, if you do this, you will not be able " @@ -1443,7 +1464,7 @@ msgstr "" "eventos - necesita ser capaz de acceder al registro para tomar el nombre ." "dll. Esto no lo hace la versión actual." -#: ../Doc/library/logging.handlers.rst:754 +#: ../Doc/library/logging.handlers.rst:775 msgid "" "Determines the message ID, event category and event type, and then logs the " "message in the NT event log." @@ -1451,7 +1472,7 @@ msgstr "" "Determina el ID del mensaje, categoría y tipo de evento y luego registra el " "mensaje en el log de eventos NT." -#: ../Doc/library/logging.handlers.rst:760 +#: ../Doc/library/logging.handlers.rst:781 msgid "" "Returns the event category for the record. Override this if you want to " "specify your own categories. This version returns 0." @@ -1459,7 +1480,7 @@ msgstr "" "Retorna la categoría de evento del registro. Evita esto si quieres " "especificar tus propias categorías. Esta versión retorna 0." -#: ../Doc/library/logging.handlers.rst:766 +#: ../Doc/library/logging.handlers.rst:787 msgid "" "Returns the event type for the record. Override this if you want to specify " "your own types. This version does a mapping using the handler's typemap " @@ -1477,7 +1498,7 @@ msgstr "" "niveles, necesitarás omitir este método o colocar un diccionario a medida en " "el atributo *typemap* del gestor." -#: ../Doc/library/logging.handlers.rst:777 +#: ../Doc/library/logging.handlers.rst:798 msgid "" "Returns the message ID for the record. If you are using your own messages, " "you could do this by having the *msg* passed to the logger being an ID " @@ -1491,11 +1512,11 @@ msgstr "" "diccionario para obtener el ID de mensaje. Esta versión retorna 1, que es el " "ID de mensaje base en :file:`win32service.pyd`." -#: ../Doc/library/logging.handlers.rst:786 +#: ../Doc/library/logging.handlers.rst:807 msgid "SMTPHandler" msgstr "SMTPHandler" -#: ../Doc/library/logging.handlers.rst:788 +#: ../Doc/library/logging.handlers.rst:809 msgid "" "The :class:`SMTPHandler` class, located in the :mod:`logging.handlers` " "module, supports sending logging messages to an email address via SMTP." @@ -1504,7 +1525,7 @@ msgstr "" "handlers` y soporta el envío de mensajes de *logging* a un a dirección de " "correo electrónico a través de SMTP." -#: ../Doc/library/logging.handlers.rst:794 +#: ../Doc/library/logging.handlers.rst:815 msgid "" "Returns a new instance of the :class:`SMTPHandler` class. The instance is " "initialized with the from and to addresses and subject line of the email. " @@ -1523,7 +1544,7 @@ msgstr "" "puedes especificar una tupla (usuario, contraseña) para el argumento de " "*credentials*." -#: ../Doc/library/logging.handlers.rst:801 +#: ../Doc/library/logging.handlers.rst:822 msgid "" "To specify the use of a secure protocol (TLS), pass in a tuple to the " "*secure* argument. This will only be used when authentication credentials " @@ -1540,7 +1561,7 @@ msgstr "" "certificado. (Esta tupla se pasa al método :meth:`smtplib.SMTP.starttls` " "method.)." -#: ../Doc/library/logging.handlers.rst:808 +#: ../Doc/library/logging.handlers.rst:829 msgid "" "A timeout can be specified for communication with the SMTP server using the " "*timeout* argument." @@ -1548,15 +1569,15 @@ msgstr "" "Se puede especificar un tiempo de espera para comunicación con el servidor " "SMTP usando el argumento *timeout*." -#: ../Doc/library/logging.handlers.rst:811 +#: ../Doc/library/logging.handlers.rst:832 msgid "The *timeout* argument was added." msgstr "Se agregó el argumento *timeout*." -#: ../Doc/library/logging.handlers.rst:816 +#: ../Doc/library/logging.handlers.rst:837 msgid "Formats the record and sends it to the specified addressees." msgstr "Formatea el registro y lo envía a las direcciones especificadas." -#: ../Doc/library/logging.handlers.rst:821 +#: ../Doc/library/logging.handlers.rst:842 msgid "" "If you want to specify a subject line which is record-dependent, override " "this method." @@ -1564,11 +1585,11 @@ msgstr "" "Si quieres especificar una línea de argumento que es registro-dependiente, " "sobrescribe (*override*) este método." -#: ../Doc/library/logging.handlers.rst:827 +#: ../Doc/library/logging.handlers.rst:848 msgid "MemoryHandler" msgstr "MemoryHandler" -#: ../Doc/library/logging.handlers.rst:829 +#: ../Doc/library/logging.handlers.rst:850 msgid "" "The :class:`MemoryHandler` class, located in the :mod:`logging.handlers` " "module, supports buffering of logging records in memory, periodically " @@ -1580,7 +1601,7 @@ msgstr "" "memoria. Periódicamente los descarga al gestor :dfn:`target`. Esto ocurre " "cuando el búfer está lleno o cuando ocurre un evento de cierta importancia." -#: ../Doc/library/logging.handlers.rst:834 +#: ../Doc/library/logging.handlers.rst:855 msgid "" ":class:`MemoryHandler` is a subclass of the more general :class:" "`BufferingHandler`, which is an abstract class. This buffers logging records " @@ -1595,7 +1616,7 @@ msgstr "" "para ver si dicho búfer debe ser descargado. Si debiera, entonces el método :" "meth:`flush` se espera que realice la descarga." -#: ../Doc/library/logging.handlers.rst:843 +#: ../Doc/library/logging.handlers.rst:864 msgid "" "Initializes the handler with a buffer of the specified capacity. Here, " "*capacity* means the number of logging records buffered." @@ -1604,7 +1625,7 @@ msgstr "" "capacidad significa el número de registros *logging* en el almacenamiento " "temporal." -#: ../Doc/library/logging.handlers.rst:849 +#: ../Doc/library/logging.handlers.rst:870 msgid "" "Append the record to the buffer. If :meth:`shouldFlush` returns true, call :" "meth:`flush` to process the buffer." @@ -1612,7 +1633,7 @@ msgstr "" "Añade un registro al búfer. Si el método :meth:`shouldFlush` retorna " "*true* , entonces llama al método :meth:`flush` para procesar el búfer." -#: ../Doc/library/logging.handlers.rst:855 +#: ../Doc/library/logging.handlers.rst:876 msgid "" "You can override this to implement custom flushing behavior. This version " "just zaps the buffer to empty." @@ -1620,7 +1641,7 @@ msgstr "" "Puedes sobrescribir (*override*) esto para implementar un comportamiento 'a " "medida' de la descarga. Esta versión solo vacía el búfer." -#: ../Doc/library/logging.handlers.rst:861 +#: ../Doc/library/logging.handlers.rst:882 msgid "" "Return ``True`` if the buffer is up to capacity. This method can be " "overridden to implement custom flushing strategies." @@ -1628,7 +1649,7 @@ msgstr "" "Retorna ``True`` si el búfer tiene aún capacidad. Este método puede ser " "omitido para implementar estrategias a medida de vaciado." -#: ../Doc/library/logging.handlers.rst:867 +#: ../Doc/library/logging.handlers.rst:888 msgid "" "Returns a new instance of the :class:`MemoryHandler` class. The instance is " "initialized with a buffer size of *capacity* (number of records buffered). " @@ -1649,17 +1670,17 @@ msgstr "" "comportamiento previo de vaciado del búfer sucederá cuando se cierre el " "gestor." -#: ../Doc/library/logging.handlers.rst:876 +#: ../Doc/library/logging.handlers.rst:897 msgid "The *flushOnClose* parameter was added." msgstr "Se añadió el parámetro *flushOnClose*." -#: ../Doc/library/logging.handlers.rst:882 +#: ../Doc/library/logging.handlers.rst:903 msgid "Calls :meth:`flush`, sets the target to ``None`` and clears the buffer." msgstr "" "Invoca al método :meth:`flush` y establece el objetivo a 'None' y vacía el " "búfer." -#: ../Doc/library/logging.handlers.rst:888 +#: ../Doc/library/logging.handlers.rst:909 msgid "" "For a :class:`MemoryHandler`, flushing means just sending the buffered " "records to the target, if there is one. The buffer is also cleared when this " @@ -1670,21 +1691,21 @@ msgstr "" "vacía cuando esto ocurre. Sobrescribe (*override*) si deseas un " "comportamiento diferente." -#: ../Doc/library/logging.handlers.rst:895 +#: ../Doc/library/logging.handlers.rst:916 msgid "Sets the target handler for this handler." msgstr "Establece el gestor de objetivo para este gestor." -#: ../Doc/library/logging.handlers.rst:900 +#: ../Doc/library/logging.handlers.rst:921 msgid "Checks for buffer full or a record at the *flushLevel* or higher." msgstr "" "Comprueba si el búfer esta lleno o un registro igual o mas alto que " "*flushLevel*." -#: ../Doc/library/logging.handlers.rst:906 +#: ../Doc/library/logging.handlers.rst:927 msgid "HTTPHandler" msgstr "HTTPHandler" -#: ../Doc/library/logging.handlers.rst:908 +#: ../Doc/library/logging.handlers.rst:929 msgid "" "The :class:`HTTPHandler` class, located in the :mod:`logging.handlers` " "module, supports sending logging messages to a Web server, using either " @@ -1694,7 +1715,7 @@ msgstr "" "handlers`.Soporta el envío de mensajes *logging* a un servidor Web, usando " "la semántica ``GET`` o `POST``." -#: ../Doc/library/logging.handlers.rst:915 +#: ../Doc/library/logging.handlers.rst:936 msgid "" "Returns a new instance of the :class:`HTTPHandler` class. The *host* can be " "of the form ``host:port``, should you need to use a specific port number. " @@ -1719,11 +1740,11 @@ msgstr "" "*secure=True* así tu usuario y contraseña no son pasados como texto en " "blanco por la conexión." -#: ../Doc/library/logging.handlers.rst:926 +#: ../Doc/library/logging.handlers.rst:947 msgid "The *context* parameter was added." msgstr "Se agregó el parámetro *context*." -#: ../Doc/library/logging.handlers.rst:931 +#: ../Doc/library/logging.handlers.rst:952 msgid "" "Provides a dictionary, based on ``record``, which is to be URL-encoded and " "sent to the web server. The default implementation just returns ``record." @@ -1737,7 +1758,7 @@ msgstr "" "servidor web un subconjunto de la clase :class:`~logging.LogRecord` o si se " "requiere enviar al servidor algo mas específico." -#: ../Doc/library/logging.handlers.rst:939 +#: ../Doc/library/logging.handlers.rst:960 msgid "" "Sends the record to the Web server as a URL-encoded dictionary. The :meth:" "`mapLogRecord` method is used to convert the record to the dictionary to be " @@ -1747,7 +1768,7 @@ msgstr "" "Se usa el método :meth:`mapLogRecord` para convertir el registro al " "diccionario que debe ser enviado." -#: ../Doc/library/logging.handlers.rst:943 +#: ../Doc/library/logging.handlers.rst:964 msgid "" "Since preparing a record for sending it to a Web server is not the same as a " "generic formatting operation, using :meth:`~logging.Handler.setFormatter` to " @@ -1765,11 +1786,11 @@ msgstr "" "codificar el diccionario en una forma que sea adecuada para enviar a un " "servidor Web." -#: ../Doc/library/logging.handlers.rst:956 +#: ../Doc/library/logging.handlers.rst:977 msgid "QueueHandler" msgstr "QueueHandler" -#: ../Doc/library/logging.handlers.rst:960 +#: ../Doc/library/logging.handlers.rst:981 msgid "" "The :class:`QueueHandler` class, located in the :mod:`logging.handlers` " "module, supports sending logging messages to a queue, such as those " @@ -1779,7 +1800,7 @@ msgstr "" "handlers` soporta el envío de mensajes de *logging* a una cola, tal como los " "implementados en los módulos :mod:`queue` o :mod:`multiprocessing` ." -#: ../Doc/library/logging.handlers.rst:964 +#: ../Doc/library/logging.handlers.rst:985 msgid "" "Along with the :class:`QueueListener` class, :class:`QueueHandler` can be " "used to let handlers do their work on a separate thread from the one which " @@ -1796,7 +1817,7 @@ msgstr "" "operación potencialmente lenta (tal como enviar un correo electrónico a " "través la clase :class:`SMTPHandler`) se realizan por un hilo diferente." -#: ../Doc/library/logging.handlers.rst:973 +#: ../Doc/library/logging.handlers.rst:994 msgid "" "Returns a new instance of the :class:`QueueHandler` class. The instance is " "initialized with the queue to send messages to. The *queue* can be any queue-" @@ -1812,7 +1833,7 @@ msgstr "" "*requerida* para tener una API de rastreo de tareas, lo que significa que " "puedes usar instancias de :class:`~queue.SimpleQueue` como *queue*." -#: ../Doc/library/logging.handlers.rst:983 +#: ../Doc/library/logging.handlers.rst:1004 msgid "" "Enqueues the result of preparing the LogRecord. Should an exception occur (e." "g. because a bounded queue has filled up), the :meth:`~logging.Handler." @@ -1828,7 +1849,7 @@ msgstr "" "es ``False``) o que se imprima un mensaje a ``sys.stderr`` (si :attr:" "`logging.raiseExceptions` es ``True``)." -#: ../Doc/library/logging.handlers.rst:992 +#: ../Doc/library/logging.handlers.rst:1013 msgid "" "Prepares a record for queuing. The object returned by this method is " "enqueued." @@ -1836,7 +1857,7 @@ msgstr "" "Prepara un registro para poner en la cola. El objeto que retorna este método " "se colocará en cola." -#: ../Doc/library/logging.handlers.rst:995 +#: ../Doc/library/logging.handlers.rst:1016 msgid "" "The base implementation formats the record to merge the message, arguments, " "and exception information, if present. It also removes unpickleable items " @@ -1847,7 +1868,7 @@ msgstr "" "los elementos que no se pueden serializar (*unpickleables*) de los registros " "in-situ." -#: ../Doc/library/logging.handlers.rst:999 +#: ../Doc/library/logging.handlers.rst:1020 msgid "" "You might want to override this method if you want to convert the record to " "a dict or JSON string, or send a modified copy of the record while leaving " @@ -1857,7 +1878,7 @@ msgstr "" "registro en un diccionario o cadena de caracteres JSON, o enviar una copia " "modificada del registro mientras dejas el original intacto." -#: ../Doc/library/logging.handlers.rst:1005 +#: ../Doc/library/logging.handlers.rst:1026 msgid "" "Enqueues the record on the queue using ``put_nowait()``; you may want to " "override this if you want to use blocking behaviour, or a timeout, or a " @@ -1867,11 +1888,11 @@ msgstr "" "sobrescribe (*override*) esto si quieres usar una acción de bloqueo, o un " "tiempo de espera, o una implementación de cola a medida." -#: ../Doc/library/logging.handlers.rst:1014 +#: ../Doc/library/logging.handlers.rst:1035 msgid "QueueListener" msgstr "QueueListener" -#: ../Doc/library/logging.handlers.rst:1018 +#: ../Doc/library/logging.handlers.rst:1039 msgid "" "The :class:`QueueListener` class, located in the :mod:`logging.handlers` " "module, supports receiving logging messages from a queue, such as those " @@ -1889,7 +1910,7 @@ msgstr "" "`QueueListener` no es en si misma un gestor, esta documentada aquí porque " "trabaja mano a mano con la clase :class:`QueueHandler`." -#: ../Doc/library/logging.handlers.rst:1026 +#: ../Doc/library/logging.handlers.rst:1047 msgid "" "Along with the :class:`QueueHandler` class, :class:`QueueListener` can be " "used to let handlers do their work on a separate thread from the one which " @@ -1906,7 +1927,7 @@ msgstr "" "operación potencialmente lenta (tal como enviar un correo electrónico a " "través de la clase :class:`SMTPHandler`) son atendidas por un hilo diferente." -#: ../Doc/library/logging.handlers.rst:1035 +#: ../Doc/library/logging.handlers.rst:1056 msgid "" "Returns a new instance of the :class:`QueueListener` class. The instance is " "initialized with the queue to send messages to and a list of handlers which " @@ -1925,7 +1946,7 @@ msgstr "" "disponible), lo que significa que puede usar instancias :class:`~queue." "SimpleQueue` para *queue*." -#: ../Doc/library/logging.handlers.rst:1043 +#: ../Doc/library/logging.handlers.rst:1064 msgid "" "If ``respect_handler_level`` is ``True``, a handler's level is respected " "(compared with the level for the message) when deciding whether to pass " @@ -1937,15 +1958,15 @@ msgstr "" "gestor; de otra manera, el comportamiento es como en versiones anteriores de " "Python - de pasar cada mensaje a cada gestor." -#: ../Doc/library/logging.handlers.rst:1048 +#: ../Doc/library/logging.handlers.rst:1069 msgid "The ``respect_handler_level`` argument was added." msgstr "Se agregó el argumento ``respect_handler_levels``." -#: ../Doc/library/logging.handlers.rst:1053 +#: ../Doc/library/logging.handlers.rst:1074 msgid "Dequeues a record and return it, optionally blocking." msgstr "Extrae de la cola un registro y lo retorna, con opción a bloquearlo." -#: ../Doc/library/logging.handlers.rst:1055 +#: ../Doc/library/logging.handlers.rst:1076 msgid "" "The base implementation uses ``get()``. You may want to override this method " "if you want to use timeouts or work with custom queue implementations." @@ -1954,11 +1975,11 @@ msgstr "" "método si quieres usar tiempos de espera o trabajar con colas implementadas " "a medida." -#: ../Doc/library/logging.handlers.rst:1061 +#: ../Doc/library/logging.handlers.rst:1082 msgid "Prepare a record for handling." msgstr "Prepara un registro para ser gestionado." -#: ../Doc/library/logging.handlers.rst:1063 +#: ../Doc/library/logging.handlers.rst:1084 msgid "" "This implementation just returns the passed-in record. You may want to " "override this method if you need to do any custom marshalling or " @@ -1968,11 +1989,11 @@ msgstr "" "sobrescribir (*override*) este método para hacer una serialización a medida " "o una manipulación del registro antes de pasarlo a los gestores." -#: ../Doc/library/logging.handlers.rst:1069 +#: ../Doc/library/logging.handlers.rst:1090 msgid "Handle a record." msgstr "Manejar un registro." -#: ../Doc/library/logging.handlers.rst:1071 +#: ../Doc/library/logging.handlers.rst:1092 msgid "" "This just loops through the handlers offering them the record to handle. The " "actual object passed to the handlers is that which is returned from :meth:" @@ -1982,11 +2003,11 @@ msgstr "" "registro para ser gestionado. El objeto actual pasado a los gestores es " "aquel que es retornado por el método :meth:`prepare`." -#: ../Doc/library/logging.handlers.rst:1077 +#: ../Doc/library/logging.handlers.rst:1098 msgid "Starts the listener." msgstr "Da comienzo al oyente (*listener*)." -#: ../Doc/library/logging.handlers.rst:1079 +#: ../Doc/library/logging.handlers.rst:1100 msgid "" "This starts up a background thread to monitor the queue for LogRecords to " "process." @@ -1994,11 +2015,11 @@ msgstr "" "Esto da comienzo a un hilo en segundo plano para supervisar la cola de " "registros log a procesar." -#: ../Doc/library/logging.handlers.rst:1084 +#: ../Doc/library/logging.handlers.rst:1105 msgid "Stops the listener." msgstr "Detiene el oyente (*listener*)." -#: ../Doc/library/logging.handlers.rst:1086 +#: ../Doc/library/logging.handlers.rst:1107 msgid "" "This asks the thread to terminate, and then waits for it to do so. Note that " "if you don't call this before your application exits, there may be some " @@ -2008,7 +2029,7 @@ msgstr "" "si no llamas a esto antes de que tu aplicación salga, puede haber algunos " "registros que aun están en la cola, que no serán procesados." -#: ../Doc/library/logging.handlers.rst:1092 +#: ../Doc/library/logging.handlers.rst:1113 msgid "" "Writes a sentinel to the queue to tell the listener to quit. This " "implementation uses ``put_nowait()``. You may want to override this method " @@ -2019,18 +2040,47 @@ msgstr "" "sobrescribir (*override*) este método si quieres usar tiempos de espera o " "trabajar con implementaciones de cola a tu medida." -#: ../Doc/library/logging.handlers.rst:1103 +#: ../Doc/library/logging.handlers.rst:1124 msgid "Module :mod:`logging`" msgstr "Módulo :mod:`logging`" -#: ../Doc/library/logging.handlers.rst:1103 +#: ../Doc/library/logging.handlers.rst:1124 msgid "API reference for the logging module." msgstr "Referencia API para el módulo de *logging*." -#: ../Doc/library/logging.handlers.rst:1105 +#: ../Doc/library/logging.handlers.rst:1126 msgid "Module :mod:`logging.config`" msgstr "Módulo :mod:`logging.config`" -#: ../Doc/library/logging.handlers.rst:1106 +#: ../Doc/library/logging.handlers.rst:1127 msgid "Configuration API for the logging module." msgstr "Configuración API para el módulo de *logging*." + +#~ msgid "" +#~ "The ``StreamHandler`` class now has a ``terminator`` attribute, default " +#~ "value ``'\\n'``, which is used as the terminator when writing a formatted " +#~ "record to a stream. If you don't want this newline termination, you can " +#~ "set the handler instance's ``terminator`` attribute to the empty string. " +#~ "In earlier versions, the terminator was hardcoded as ``'\\n'``." +#~ msgstr "" +#~ "La clase ``StreamHandler`` ahora tiene un atributo ``terminador` con " +#~ "valor por defecto ``'\\n'``, que se usa como terminador cuando se escribe " +#~ "un registro formateado a un *stream*. Si no se quiere esta terminación de " +#~ "nueva línea, se puede establecer el atributo de la instancia del " +#~ "gestor``terminator`` para vaciar la cadena de caracteres. En versiones " +#~ "anteriores el terminador era codificado como ``'\\n'``." + +#~ msgid "" +#~ "Returns a new instance of the :class:`WatchedFileHandler` class. The " +#~ "specified file is opened and used as the stream for logging. If *mode* is " +#~ "not specified, :const:`'a'` is used. If *encoding* is not ``None``, it " +#~ "is used to open the file with that encoding. If *delay* is true, then " +#~ "file opening is deferred until the first call to :meth:`emit`. By " +#~ "default, the file grows indefinitely." +#~ msgstr "" +#~ "Retorna una nueva instancia de la clase :class:`WatchedFileHandler`. El " +#~ "archivo especificado se abre y usa como el *stream* para *logging*. Si " +#~ "*mode* no se especifica se usará :const:`'a'`. Si *encoding* no es " +#~ "``None``, se usa para abrir el archivo con esa codificación. Si *delay* " +#~ "es true se diferirá la apertura del archivo hasta tanto se llame al " +#~ "método :meth:`emit` . Por defecto el archivo crecerá indefinidamente." diff --git a/library/logging.po b/library/logging.po index a0e82ac2d1..80d707e0dc 100644 --- a/library/logging.po +++ b/library/logging.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: python-doc-es\n" @@ -253,7 +253,7 @@ msgid "" "information." msgstr "" -#: ../Doc/library/logging.rst:172 ../Doc/library/logging.rst:960 +#: ../Doc/library/logging.rst:172 ../Doc/library/logging.rst:966 msgid "" "The second optional keyword argument is *stack_info*, which defaults to " "``False``. If true, stack information is added to the logging message, " @@ -265,14 +265,14 @@ msgid "" "handlers." msgstr "" -#: ../Doc/library/logging.rst:181 ../Doc/library/logging.rst:969 +#: ../Doc/library/logging.rst:181 ../Doc/library/logging.rst:975 msgid "" "You can specify *stack_info* independently of *exc_info*, e.g. to just show " "how you got to a certain point in your code, even when no exceptions were " "raised. The stack frames are printed following a header line which says:" msgstr "" -#: ../Doc/library/logging.rst:189 ../Doc/library/logging.rst:977 +#: ../Doc/library/logging.rst:189 ../Doc/library/logging.rst:983 msgid "" "This mimics the ``Traceback (most recent call last):`` which is used when " "displaying exception frames." @@ -303,7 +303,7 @@ msgstr "" msgid "would print something like" msgstr "" -#: ../Doc/library/logging.rst:218 ../Doc/library/logging.rst:997 +#: ../Doc/library/logging.rst:218 ../Doc/library/logging.rst:1003 msgid "" "The keys in the dictionary passed in *extra* should not clash with the keys " "used by the logging system. (See the :class:`Formatter` documentation for " @@ -321,7 +321,7 @@ msgid "" "dictionary with these keys." msgstr "" -#: ../Doc/library/logging.rst:229 ../Doc/library/logging.rst:1008 +#: ../Doc/library/logging.rst:229 ../Doc/library/logging.rst:1014 msgid "" "While this might be annoying, this feature is intended for use in " "specialized circumstances, such as multi-threaded servers where the same " @@ -332,7 +332,7 @@ msgid "" "particular :class:`Handler`\\ s." msgstr "" -#: ../Doc/library/logging.rst:236 ../Doc/library/logging.rst:1015 +#: ../Doc/library/logging.rst:236 ../Doc/library/logging.rst:1021 msgid "The *stack_info* parameter was added." msgstr "" @@ -695,15 +695,17 @@ msgstr "" msgid "" "The *style* parameter can be one of '%', '{' or '$' and determines how the " "format string will be merged with its data: using one of %-formatting, :meth:" -"`str.format` or :class:`string.Template`. See :ref:`formatting-styles` for " -"more information on using {- and $-formatting for log messages." +"`str.format` or :class:`string.Template`. This only applies to the format " +"string *fmt* (e.g. ``'%(message)s'`` or ``{message}``), not to the actual " +"log messages passed to ``Logger.debug`` etc; see :ref:`formatting-styles` " +"for more information on using {- and $-formatting for log messages." msgstr "" -#: ../Doc/library/logging.rst:545 +#: ../Doc/library/logging.rst:548 msgid "The *style* parameter was added." msgstr "" -#: ../Doc/library/logging.rst:548 +#: ../Doc/library/logging.rst:551 #, python-format msgid "" "The *validate* parameter was added. Incorrect or mismatched style and fmt " @@ -711,7 +713,7 @@ msgid "" "%(message)s', style='{')``." msgstr "" -#: ../Doc/library/logging.rst:555 +#: ../Doc/library/logging.rst:558 msgid "" "The record's attribute dictionary is used as the operand to a string " "formatting operation. Returns the resulting string. Before formatting the " @@ -729,13 +731,13 @@ msgid "" "cached value but recalculates it afresh." msgstr "" -#: ../Doc/library/logging.rst:571 +#: ../Doc/library/logging.rst:574 msgid "" "If stack information is available, it's appended after the exception " "information, using :meth:`formatStack` to transform it if necessary." msgstr "" -#: ../Doc/library/logging.rst:577 +#: ../Doc/library/logging.rst:580 #, python-format msgid "" "This method should be called from :meth:`format` by a formatter which wants " @@ -749,7 +751,7 @@ msgid "" "resulting string is returned." msgstr "" -#: ../Doc/library/logging.rst:587 +#: ../Doc/library/logging.rst:590 msgid "" "This function uses a user-configurable function to convert the creation time " "to a tuple. By default, :func:`time.localtime` is used; to change this for a " @@ -759,7 +761,7 @@ msgid "" "be shown in GMT, set the ``converter`` attribute in the ``Formatter`` class." msgstr "" -#: ../Doc/library/logging.rst:595 +#: ../Doc/library/logging.rst:598 #, python-format msgid "" "Previously, the default format was hard-coded as in this example: " @@ -775,7 +777,11 @@ msgid "" "the millisecond value)." msgstr "" -#: ../Doc/library/logging.rst:610 +#: ../Doc/library/logging.rst:611 +msgid "The ``default_msec_format`` can be ``None``." +msgstr "" + +#: ../Doc/library/logging.rst:616 msgid "" "Formats the specified exception information (a standard exception tuple as " "returned by :func:`sys.exc_info`) as a string. This default implementation " @@ -783,18 +789,18 @@ msgid "" "returned." msgstr "" -#: ../Doc/library/logging.rst:617 +#: ../Doc/library/logging.rst:623 msgid "" "Formats the specified stack information (a string as returned by :func:" "`traceback.print_stack`, but with the last newline removed) as a string. " "This default implementation just returns the input value." msgstr "" -#: ../Doc/library/logging.rst:624 +#: ../Doc/library/logging.rst:630 msgid "Filter Objects" msgstr "" -#: ../Doc/library/logging.rst:626 +#: ../Doc/library/logging.rst:632 msgid "" "``Filters`` can be used by ``Handlers`` and ``Loggers`` for more " "sophisticated filtering than is provided by levels. The base filter class " @@ -804,7 +810,7 @@ msgid "" "If initialized with the empty string, all events are passed." msgstr "" -#: ../Doc/library/logging.rst:636 +#: ../Doc/library/logging.rst:642 msgid "" "Returns an instance of the :class:`Filter` class. If *name* is specified, it " "names a logger which, together with its children, will have its events " @@ -812,13 +818,13 @@ msgid "" "event." msgstr "" -#: ../Doc/library/logging.rst:643 +#: ../Doc/library/logging.rst:649 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 "" -#: ../Doc/library/logging.rst:647 +#: ../Doc/library/logging.rst:653 msgid "" "Note that filters attached to handlers are consulted before an event is " "emitted by the handler, whereas filters attached to loggers are consulted " @@ -828,13 +834,13 @@ msgid "" "setting, unless the filter has also been applied to those descendant loggers." msgstr "" -#: ../Doc/library/logging.rst:654 +#: ../Doc/library/logging.rst:660 msgid "" "You don't actually need to subclass ``Filter``: you can pass any instance " "which has a ``filter`` method with the same semantics." msgstr "" -#: ../Doc/library/logging.rst:657 +#: ../Doc/library/logging.rst:663 msgid "" "You don't need to create specialized ``Filter`` classes, or use other " "classes with a ``filter`` method: you can use a function (or other callable) " @@ -845,7 +851,7 @@ msgid "" "value should conform to that returned by :meth:`~Filter.filter`." msgstr "" -#: ../Doc/library/logging.rst:667 +#: ../Doc/library/logging.rst:673 msgid "" "Although filters are used primarily to filter records based on more " "sophisticated criteria than levels, they get to see every record which is " @@ -857,11 +863,11 @@ msgid "" "contextual information into logs (see :ref:`filters-contextual`)." msgstr "" -#: ../Doc/library/logging.rst:679 +#: ../Doc/library/logging.rst:685 msgid "LogRecord Objects" msgstr "" -#: ../Doc/library/logging.rst:681 +#: ../Doc/library/logging.rst:687 msgid "" ":class:`LogRecord` instances are created automatically by the :class:" "`Logger` every time something is logged, and can be created manually via :" @@ -869,11 +875,11 @@ msgid "" "wire)." msgstr "" -#: ../Doc/library/logging.rst:689 +#: ../Doc/library/logging.rst:695 msgid "Contains all the information pertinent to the event being logged." msgstr "" -#: ../Doc/library/logging.rst:691 +#: ../Doc/library/logging.rst:697 msgid "" "The primary information is passed in :attr:`msg` and :attr:`args`, which are " "combined using ``msg % args`` to create the :attr:`message` field of the " @@ -884,58 +890,58 @@ msgstr "" msgid "Parameters" msgstr "" -#: ../Doc/library/logging.rst:695 +#: ../Doc/library/logging.rst:701 msgid "" "The name of the logger used to log the event represented by this LogRecord. " "Note that this name will always have this value, even though it may be " "emitted by a handler attached to a different (ancestor) logger." msgstr "" -#: ../Doc/library/logging.rst:699 +#: ../Doc/library/logging.rst:705 msgid "" "The numeric level of the logging event (one of DEBUG, INFO etc.) Note that " "this is converted to *two* attributes of the LogRecord: ``levelno`` for the " "numeric value and ``levelname`` for the corresponding level name." msgstr "" -#: ../Doc/library/logging.rst:703 +#: ../Doc/library/logging.rst:709 msgid "The full pathname of the source file where the logging call was made." msgstr "" -#: ../Doc/library/logging.rst:705 +#: ../Doc/library/logging.rst:711 msgid "The line number in the source file where the logging call was made." msgstr "" -#: ../Doc/library/logging.rst:707 +#: ../Doc/library/logging.rst:713 msgid "" "The event description message, possibly a format string with placeholders " "for variable data." msgstr "" -#: ../Doc/library/logging.rst:709 +#: ../Doc/library/logging.rst:715 msgid "" "Variable data to merge into the *msg* argument to obtain the event " "description." msgstr "" -#: ../Doc/library/logging.rst:711 +#: ../Doc/library/logging.rst:717 msgid "" "An exception tuple with the current exception information, or ``None`` if no " "exception information is available." msgstr "" -#: ../Doc/library/logging.rst:713 +#: ../Doc/library/logging.rst:719 msgid "" "The name of the function or method from which the logging call was invoked." msgstr "" -#: ../Doc/library/logging.rst:715 +#: ../Doc/library/logging.rst:721 msgid "" "A text string representing stack information from the base of the stack in " "the current thread, up to the logging call." msgstr "" -#: ../Doc/library/logging.rst:720 +#: ../Doc/library/logging.rst:726 msgid "" "Returns the message for this :class:`LogRecord` instance after merging any " "user-supplied arguments with the message. If the user-supplied message " @@ -944,7 +950,7 @@ msgid "" "whose ``__str__`` method can return the actual format string to be used." msgstr "" -#: ../Doc/library/logging.rst:727 +#: ../Doc/library/logging.rst:733 msgid "" "The creation of a :class:`LogRecord` has been made more configurable by " "providing a factory which is used to create the record. The factory can be " @@ -952,24 +958,24 @@ msgid "" "this for the factory's signature)." msgstr "" -#: ../Doc/library/logging.rst:733 +#: ../Doc/library/logging.rst:739 msgid "" "This functionality can be used to inject your own values into a :class:" "`LogRecord` at creation time. You can use the following pattern::" msgstr "" -#: ../Doc/library/logging.rst:745 +#: ../Doc/library/logging.rst:751 msgid "" "With this pattern, multiple factories could be chained, and as long as they " "don't overwrite each other's attributes or unintentionally overwrite the " "standard attributes listed above, there should be no surprises." msgstr "" -#: ../Doc/library/logging.rst:754 +#: ../Doc/library/logging.rst:760 msgid "LogRecord attributes" msgstr "" -#: ../Doc/library/logging.rst:756 +#: ../Doc/library/logging.rst:762 #, python-format msgid "" "The LogRecord has a number of attributes, most of which are derived from the " @@ -981,7 +987,7 @@ msgid "" "%-style format string." msgstr "" -#: ../Doc/library/logging.rst:764 +#: ../Doc/library/logging.rst:770 msgid "" "If you are using {}-formatting (:func:`str.format`), you can use ``{attrname}" "`` as the placeholder in the format string. If you are using $-formatting (:" @@ -989,7 +995,7 @@ msgid "" "course, replace ``attrname`` with the actual attribute name you want to use." msgstr "" -#: ../Doc/library/logging.rst:770 +#: ../Doc/library/logging.rst:776 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: " @@ -998,325 +1004,325 @@ msgid "" "on the options available to you." msgstr "" -#: ../Doc/library/logging.rst:777 +#: ../Doc/library/logging.rst:783 msgid "Attribute name" msgstr "" -#: ../Doc/library/logging.rst:777 ../Doc/library/logging.rst:1153 +#: ../Doc/library/logging.rst:783 ../Doc/library/logging.rst:1168 msgid "Format" msgstr "" -#: ../Doc/library/logging.rst:777 ../Doc/library/logging.rst:1153 +#: ../Doc/library/logging.rst:783 ../Doc/library/logging.rst:1168 msgid "Description" msgstr "" -#: ../Doc/library/logging.rst ../Doc/library/logging.rst:779 +#: ../Doc/library/logging.rst ../Doc/library/logging.rst:785 msgid "args" msgstr "" -#: ../Doc/library/logging.rst:779 ../Doc/library/logging.rst:793 -#: ../Doc/library/logging.rst:821 ../Doc/library/logging.rst:839 +#: ../Doc/library/logging.rst:785 ../Doc/library/logging.rst:799 +#: ../Doc/library/logging.rst:827 ../Doc/library/logging.rst:845 msgid "You shouldn't need to format this yourself." msgstr "" -#: ../Doc/library/logging.rst:779 +#: ../Doc/library/logging.rst:785 msgid "" "The tuple of arguments merged into ``msg`` to produce ``message``, or a dict " "whose values are used for the merge (when there is only one argument, and it " "is a dictionary)." msgstr "" -#: ../Doc/library/logging.rst:784 +#: ../Doc/library/logging.rst:790 msgid "asctime" msgstr "" -#: ../Doc/library/logging.rst:784 +#: ../Doc/library/logging.rst:790 #, python-format msgid "``%(asctime)s``" msgstr "" -#: ../Doc/library/logging.rst:784 +#: ../Doc/library/logging.rst:790 msgid "" "Human-readable time when the :class:`LogRecord` was created. By default " "this is of the form '2003-07-08 16:49:45,896' (the numbers after the comma " "are millisecond portion of the time)." msgstr "" -#: ../Doc/library/logging.rst:790 +#: ../Doc/library/logging.rst:796 msgid "created" msgstr "" -#: ../Doc/library/logging.rst:790 +#: ../Doc/library/logging.rst:796 #, python-format msgid "``%(created)f``" msgstr "" -#: ../Doc/library/logging.rst:790 +#: ../Doc/library/logging.rst:796 msgid "" "Time when the :class:`LogRecord` was created (as returned by :func:`time." "time`)." msgstr "" -#: ../Doc/library/logging.rst ../Doc/library/logging.rst:793 +#: ../Doc/library/logging.rst ../Doc/library/logging.rst:799 msgid "exc_info" msgstr "" -#: ../Doc/library/logging.rst:793 +#: ../Doc/library/logging.rst:799 msgid "" "Exception tuple (à la ``sys.exc_info``) or, if no exception has occurred, " "``None``." msgstr "" -#: ../Doc/library/logging.rst:796 +#: ../Doc/library/logging.rst:802 msgid "filename" msgstr "" -#: ../Doc/library/logging.rst:796 +#: ../Doc/library/logging.rst:802 #, python-format msgid "``%(filename)s``" msgstr "" -#: ../Doc/library/logging.rst:796 +#: ../Doc/library/logging.rst:802 msgid "Filename portion of ``pathname``." msgstr "" -#: ../Doc/library/logging.rst:798 +#: ../Doc/library/logging.rst:804 msgid "funcName" msgstr "" -#: ../Doc/library/logging.rst:798 +#: ../Doc/library/logging.rst:804 #, python-format msgid "``%(funcName)s``" msgstr "" -#: ../Doc/library/logging.rst:798 +#: ../Doc/library/logging.rst:804 msgid "Name of function containing the logging call." msgstr "" -#: ../Doc/library/logging.rst:800 +#: ../Doc/library/logging.rst:806 msgid "levelname" msgstr "" -#: ../Doc/library/logging.rst:800 +#: ../Doc/library/logging.rst:806 #, python-format msgid "``%(levelname)s``" msgstr "" -#: ../Doc/library/logging.rst:800 +#: ../Doc/library/logging.rst:806 msgid "" "Text logging level for the message (``'DEBUG'``, ``'INFO'``, ``'WARNING'``, " "``'ERROR'``, ``'CRITICAL'``)." msgstr "" -#: ../Doc/library/logging.rst:804 +#: ../Doc/library/logging.rst:810 msgid "levelno" msgstr "" -#: ../Doc/library/logging.rst:804 +#: ../Doc/library/logging.rst:810 #, python-format msgid "``%(levelno)s``" msgstr "" -#: ../Doc/library/logging.rst:804 +#: ../Doc/library/logging.rst:810 msgid "" "Numeric logging level for the message (:const:`DEBUG`, :const:`INFO`, :const:" "`WARNING`, :const:`ERROR`, :const:`CRITICAL`)." msgstr "" -#: ../Doc/library/logging.rst:809 +#: ../Doc/library/logging.rst:815 msgid "lineno" msgstr "" -#: ../Doc/library/logging.rst:809 +#: ../Doc/library/logging.rst:815 #, python-format msgid "``%(lineno)d``" msgstr "" -#: ../Doc/library/logging.rst:809 +#: ../Doc/library/logging.rst:815 msgid "Source line number where the logging call was issued (if available)." msgstr "" -#: ../Doc/library/logging.rst:812 +#: ../Doc/library/logging.rst:818 msgid "message" msgstr "" -#: ../Doc/library/logging.rst:812 +#: ../Doc/library/logging.rst:818 #, python-format msgid "``%(message)s``" msgstr "" -#: ../Doc/library/logging.rst:812 +#: ../Doc/library/logging.rst:818 msgid "" "The logged message, computed as ``msg % args``. This is set when :meth:" "`Formatter.format` is invoked." msgstr "" -#: ../Doc/library/logging.rst:816 +#: ../Doc/library/logging.rst:822 msgid "module" msgstr "" -#: ../Doc/library/logging.rst:816 +#: ../Doc/library/logging.rst:822 #, python-format msgid "``%(module)s``" msgstr "" -#: ../Doc/library/logging.rst:816 +#: ../Doc/library/logging.rst:822 msgid "Module (name portion of ``filename``)." msgstr "" -#: ../Doc/library/logging.rst:818 +#: ../Doc/library/logging.rst:824 msgid "msecs" msgstr "" -#: ../Doc/library/logging.rst:818 +#: ../Doc/library/logging.rst:824 #, python-format msgid "``%(msecs)d``" msgstr "" -#: ../Doc/library/logging.rst:818 +#: ../Doc/library/logging.rst:824 msgid "" "Millisecond portion of the time when the :class:`LogRecord` was created." msgstr "" -#: ../Doc/library/logging.rst ../Doc/library/logging.rst:821 +#: ../Doc/library/logging.rst ../Doc/library/logging.rst:827 msgid "msg" msgstr "" -#: ../Doc/library/logging.rst:821 +#: ../Doc/library/logging.rst:827 msgid "" "The format string passed in the original logging call. Merged with ``args`` " "to produce ``message``, or an arbitrary object (see :ref:`arbitrary-object-" "messages`)." msgstr "" -#: ../Doc/library/logging.rst ../Doc/library/logging.rst:826 +#: ../Doc/library/logging.rst ../Doc/library/logging.rst:832 msgid "name" msgstr "" -#: ../Doc/library/logging.rst:826 +#: ../Doc/library/logging.rst:832 #, python-format msgid "``%(name)s``" msgstr "" -#: ../Doc/library/logging.rst:826 +#: ../Doc/library/logging.rst:832 msgid "Name of the logger used to log the call." msgstr "" -#: ../Doc/library/logging.rst:828 +#: ../Doc/library/logging.rst:834 msgid "pathname" msgstr "" -#: ../Doc/library/logging.rst:828 +#: ../Doc/library/logging.rst:834 #, python-format msgid "``%(pathname)s``" msgstr "" -#: ../Doc/library/logging.rst:828 +#: ../Doc/library/logging.rst:834 msgid "" "Full pathname of the source file where the logging call was issued (if " "available)." msgstr "" -#: ../Doc/library/logging.rst:831 +#: ../Doc/library/logging.rst:837 msgid "process" msgstr "" -#: ../Doc/library/logging.rst:831 +#: ../Doc/library/logging.rst:837 #, python-format msgid "``%(process)d``" msgstr "" -#: ../Doc/library/logging.rst:831 +#: ../Doc/library/logging.rst:837 msgid "Process ID (if available)." msgstr "" -#: ../Doc/library/logging.rst:833 +#: ../Doc/library/logging.rst:839 msgid "processName" msgstr "" -#: ../Doc/library/logging.rst:833 +#: ../Doc/library/logging.rst:839 #, python-format msgid "``%(processName)s``" msgstr "" -#: ../Doc/library/logging.rst:833 +#: ../Doc/library/logging.rst:839 msgid "Process name (if available)." msgstr "" -#: ../Doc/library/logging.rst:835 +#: ../Doc/library/logging.rst:841 msgid "relativeCreated" msgstr "" -#: ../Doc/library/logging.rst:835 +#: ../Doc/library/logging.rst:841 #, python-format msgid "``%(relativeCreated)d``" msgstr "" -#: ../Doc/library/logging.rst:835 +#: ../Doc/library/logging.rst:841 msgid "" "Time in milliseconds when the LogRecord was created, relative to the time " "the logging module was loaded." msgstr "" -#: ../Doc/library/logging.rst:839 +#: ../Doc/library/logging.rst:845 msgid "stack_info" msgstr "" -#: ../Doc/library/logging.rst:839 +#: ../Doc/library/logging.rst:845 msgid "" "Stack frame information (where available) from the bottom of the stack in " "the current thread, up to and including the stack frame of the logging call " "which resulted in the creation of this record." msgstr "" -#: ../Doc/library/logging.rst:845 +#: ../Doc/library/logging.rst:851 msgid "thread" msgstr "" -#: ../Doc/library/logging.rst:845 +#: ../Doc/library/logging.rst:851 #, python-format msgid "``%(thread)d``" msgstr "" -#: ../Doc/library/logging.rst:845 +#: ../Doc/library/logging.rst:851 msgid "Thread ID (if available)." msgstr "" -#: ../Doc/library/logging.rst:847 +#: ../Doc/library/logging.rst:853 msgid "threadName" msgstr "" -#: ../Doc/library/logging.rst:847 +#: ../Doc/library/logging.rst:853 #, python-format msgid "``%(threadName)s``" msgstr "" -#: ../Doc/library/logging.rst:847 +#: ../Doc/library/logging.rst:853 msgid "Thread name (if available)." msgstr "" -#: ../Doc/library/logging.rst:850 +#: ../Doc/library/logging.rst:856 msgid "*processName* was added." msgstr "" -#: ../Doc/library/logging.rst:857 +#: ../Doc/library/logging.rst:863 msgid "LoggerAdapter Objects" msgstr "" -#: ../Doc/library/logging.rst:859 +#: ../Doc/library/logging.rst:865 msgid "" ":class:`LoggerAdapter` instances are used to conveniently pass contextual " "information into logging calls. For a usage example, see the section on :ref:" "`adding contextual information to your logging output `." msgstr "" -#: ../Doc/library/logging.rst:865 +#: ../Doc/library/logging.rst:871 msgid "" "Returns an instance of :class:`LoggerAdapter` initialized with an " "underlying :class:`Logger` instance and a dict-like object." msgstr "" -#: ../Doc/library/logging.rst:870 +#: ../Doc/library/logging.rst:876 msgid "" "Modifies the message and/or keyword arguments passed to a logging call in " "order to insert contextual information. This implementation takes the object " @@ -1325,7 +1331,7 @@ msgid "" "(possibly modified) versions of the arguments passed in." msgstr "" -#: ../Doc/library/logging.rst:876 +#: ../Doc/library/logging.rst:882 msgid "" "In addition to the above, :class:`LoggerAdapter` supports the following " "methods of :class:`Logger`: :meth:`~Logger.debug`, :meth:`~Logger.info`, :" @@ -1337,18 +1343,18 @@ msgid "" "interchangeably." msgstr "" -#: ../Doc/library/logging.rst:885 +#: ../Doc/library/logging.rst:891 msgid "" "The :meth:`~Logger.isEnabledFor`, :meth:`~Logger.getEffectiveLevel`, :meth:" "`~Logger.setLevel` and :meth:`~Logger.hasHandlers` methods were added to :" "class:`LoggerAdapter`. These methods delegate to the underlying logger." msgstr "" -#: ../Doc/library/logging.rst:892 +#: ../Doc/library/logging.rst:898 msgid "Thread Safety" msgstr "" -#: ../Doc/library/logging.rst:894 +#: ../Doc/library/logging.rst:900 msgid "" "The logging module is intended to be thread-safe without any special work " "needing to be done by its clients. It achieves this though using threading " @@ -1357,7 +1363,7 @@ msgid "" "O." msgstr "" -#: ../Doc/library/logging.rst:899 +#: ../Doc/library/logging.rst:905 msgid "" "If you are implementing asynchronous signal handlers using the :mod:`signal` " "module, you may not be able to use logging from within such handlers. This " @@ -1365,17 +1371,17 @@ msgid "" "always re-entrant, and so cannot be invoked from such signal handlers." msgstr "" -#: ../Doc/library/logging.rst:906 +#: ../Doc/library/logging.rst:912 msgid "Module-Level Functions" msgstr "" -#: ../Doc/library/logging.rst:908 +#: ../Doc/library/logging.rst:914 msgid "" "In addition to the classes described above, there are a number of module-" "level functions." msgstr "" -#: ../Doc/library/logging.rst:914 +#: ../Doc/library/logging.rst:920 msgid "" "Return a logger with the specified name or, if name is ``None``, return a " "logger which is the root logger of the hierarchy. If specified, the name is " @@ -1384,14 +1390,14 @@ msgid "" "logging." msgstr "" -#: ../Doc/library/logging.rst:919 +#: ../Doc/library/logging.rst:925 msgid "" "All calls to this function with a given name return the same logger " "instance. This means that logger instances never need to be passed between " "different parts of an application." msgstr "" -#: ../Doc/library/logging.rst:926 +#: ../Doc/library/logging.rst:932 msgid "" "Return either the standard :class:`Logger` class, or the last class passed " "to :func:`setLoggerClass`. This function may be called from within a new " @@ -1400,24 +1406,24 @@ msgid "" "example::" msgstr "" -#: ../Doc/library/logging.rst:937 +#: ../Doc/library/logging.rst:943 msgid "Return a callable which is used to create a :class:`LogRecord`." msgstr "" -#: ../Doc/library/logging.rst:939 +#: ../Doc/library/logging.rst:945 msgid "" "This function has been provided, along with :func:`setLogRecordFactory`, to " "allow developers more control over how the :class:`LogRecord` representing a " "logging event is constructed." msgstr "" -#: ../Doc/library/logging.rst:944 +#: ../Doc/library/logging.rst:950 msgid "" "See :func:`setLogRecordFactory` for more information about the how the " "factory is called." msgstr "" -#: ../Doc/library/logging.rst:949 +#: ../Doc/library/logging.rst:955 msgid "" "Logs a message with level :const:`DEBUG` on the root logger. The *msg* is " "the message format string, and the *args* are the arguments which are merged " @@ -1426,7 +1432,7 @@ msgid "" "argument.)" msgstr "" -#: ../Doc/library/logging.rst:954 +#: ../Doc/library/logging.rst:960 msgid "" "There are three keyword arguments in *kwargs* which are inspected: " "*exc_info* which, if it does not evaluate as false, causes exception " @@ -1436,7 +1442,7 @@ msgid "" "exception information." msgstr "" -#: ../Doc/library/logging.rst:980 +#: ../Doc/library/logging.rst:986 msgid "" "The third optional keyword argument is *extra* which can be used to pass a " "dictionary which is used to populate the __dict__ of the LogRecord created " @@ -1445,11 +1451,11 @@ msgid "" "logged messages. For example::" msgstr "" -#: ../Doc/library/logging.rst:991 +#: ../Doc/library/logging.rst:997 msgid "would print something like:" msgstr "" -#: ../Doc/library/logging.rst:1001 +#: ../Doc/library/logging.rst:1007 msgid "" "If you choose to use these attributes in logged messages, you need to " "exercise some care. In the above example, for instance, the :class:" @@ -1460,51 +1466,51 @@ msgid "" "dictionary with these keys." msgstr "" -#: ../Doc/library/logging.rst:1020 +#: ../Doc/library/logging.rst:1026 msgid "" "Logs a message with level :const:`INFO` on the root logger. The arguments " "are interpreted as for :func:`debug`." msgstr "" -#: ../Doc/library/logging.rst:1026 +#: ../Doc/library/logging.rst:1032 msgid "" "Logs a message with level :const:`WARNING` on the root logger. The arguments " "are interpreted as for :func:`debug`." msgstr "" -#: ../Doc/library/logging.rst:1029 +#: ../Doc/library/logging.rst:1035 msgid "" "There is an obsolete function ``warn`` which is functionally identical to " "``warning``. As ``warn`` is deprecated, please do not use it - use " "``warning`` instead." msgstr "" -#: ../Doc/library/logging.rst:1036 +#: ../Doc/library/logging.rst:1042 msgid "" "Logs a message with level :const:`ERROR` on the root logger. The arguments " "are interpreted as for :func:`debug`." msgstr "" -#: ../Doc/library/logging.rst:1042 +#: ../Doc/library/logging.rst:1048 msgid "" "Logs a message with level :const:`CRITICAL` on the root logger. The " "arguments are interpreted as for :func:`debug`." msgstr "" -#: ../Doc/library/logging.rst:1048 +#: ../Doc/library/logging.rst:1054 msgid "" "Logs a message with level :const:`ERROR` on the root logger. The arguments " "are interpreted as for :func:`debug`. Exception info is added to the logging " "message. This function should only be called from an exception handler." msgstr "" -#: ../Doc/library/logging.rst:1054 +#: ../Doc/library/logging.rst:1060 msgid "" "Logs a message with level *level* on the root logger. The other arguments " "are interpreted as for :func:`debug`." msgstr "" -#: ../Doc/library/logging.rst:1057 +#: ../Doc/library/logging.rst:1063 msgid "" "The above module-level convenience functions, which delegate to the root " "logger, call :func:`basicConfig` to ensure that at least one handler is " @@ -1517,7 +1523,7 @@ msgid "" "messages for the same event." msgstr "" -#: ../Doc/library/logging.rst:1069 +#: ../Doc/library/logging.rst:1075 msgid "" "Provides an overriding level *level* for all loggers which takes precedence " "over the logger's own level. When the need arises to temporarily throttle " @@ -1531,7 +1537,7 @@ msgid "" "individual loggers." msgstr "" -#: ../Doc/library/logging.rst:1080 +#: ../Doc/library/logging.rst:1086 msgid "" "Note that if you have defined any custom logging level higher than " "``CRITICAL`` (this is not recommended), you won't be able to rely on the " @@ -1539,13 +1545,13 @@ msgid "" "a suitable value." msgstr "" -#: ../Doc/library/logging.rst:1085 +#: ../Doc/library/logging.rst:1091 msgid "" -"The *level* parameter was defaulted to level ``CRITICAL``. See Issue #28524 " -"for more information about this change." +"The *level* parameter was defaulted to level ``CRITICAL``. See :issue:" +"`28524` for more information about this change." msgstr "" -#: ../Doc/library/logging.rst:1091 +#: ../Doc/library/logging.rst:1097 msgid "" "Associates level *level* with text *levelName* in an internal dictionary, " "which is used to map numeric levels to a textual representation, for example " @@ -1555,35 +1561,51 @@ msgid "" "and they should increase in increasing order of severity." msgstr "" -#: ../Doc/library/logging.rst:1098 +#: ../Doc/library/logging.rst:1104 msgid "" "If you are thinking of defining your own levels, please see the section on :" "ref:`custom-levels`." msgstr "" -#: ../Doc/library/logging.rst:1103 +#: ../Doc/library/logging.rst:1109 +msgid "Returns the textual or numeric representation of logging level *level*." +msgstr "" + +#: ../Doc/library/logging.rst:1111 +msgid "" +"If *level* is one of the predefined levels :const:`CRITICAL`, :const:" +"`ERROR`, :const:`WARNING`, :const:`INFO` or :const:`DEBUG` then you get the " +"corresponding string. If you have associated levels with names using :func:" +"`addLevelName` then the name you have associated with *level* is returned. " +"If a numeric value corresponding to one of the defined levels is passed in, " +"the corresponding string representation is returned." +msgstr "" + +#: ../Doc/library/logging.rst:1118 +msgid "" +"The *level* parameter also accepts a string representation of the level such " +"as 'INFO'. In such cases, this functions returns the corresponding numeric " +"value of the level." +msgstr "" + +#: ../Doc/library/logging.rst:1122 #, python-format msgid "" -"Returns the textual representation of logging level *level*. If the level is " -"one of the predefined levels :const:`CRITICAL`, :const:`ERROR`, :const:" -"`WARNING`, :const:`INFO` or :const:`DEBUG` then you get the corresponding " -"string. If you have associated levels with names using :func:`addLevelName` " -"then the name you have associated with *level* is returned. If a numeric " -"value corresponding to one of the defined levels is passed in, the " -"corresponding string representation is returned. Otherwise, the string " -"'Level %s' % level is returned." +"If no matching numeric or string value is passed in, the string 'Level %s' " +"% level is returned." msgstr "" -#: ../Doc/library/logging.rst:1111 +#: ../Doc/library/logging.rst:1125 #, python-format msgid "" "Levels are internally integers (as they need to be compared in the logging " "logic). This function is used to convert between an integer level and the " "level name displayed in the formatted log output by means of the ``" -"%(levelname)s`` format specifier (see :ref:`logrecord-attributes`)." +"%(levelname)s`` format specifier (see :ref:`logrecord-attributes`), and vice " +"versa." msgstr "" -#: ../Doc/library/logging.rst:1116 +#: ../Doc/library/logging.rst:1131 msgid "" "In Python versions earlier than 3.4, this function could also be passed a " "text level, and would return the corresponding numeric value of the level. " @@ -1591,7 +1613,7 @@ msgid "" "Python 3.4, but reinstated in 3.4.2 due to retain backward compatibility." msgstr "" -#: ../Doc/library/logging.rst:1124 +#: ../Doc/library/logging.rst:1139 msgid "" "Creates and returns a new :class:`LogRecord` instance whose attributes are " "defined by *attrdict*. This function is useful for taking a pickled :class:" @@ -1599,7 +1621,7 @@ msgid "" "as a :class:`LogRecord` instance at the receiving end." msgstr "" -#: ../Doc/library/logging.rst:1132 +#: ../Doc/library/logging.rst:1147 msgid "" "Does basic configuration for the logging system by creating a :class:" "`StreamHandler` with a default :class:`Formatter` and adding it to the root " @@ -1608,13 +1630,13 @@ msgid "" "no handlers are defined for the root logger." msgstr "" -#: ../Doc/library/logging.rst:1138 +#: ../Doc/library/logging.rst:1153 msgid "" "This function does nothing if the root logger already has handlers " "configured, unless the keyword argument *force* is set to ``True``." msgstr "" -#: ../Doc/library/logging.rst:1141 +#: ../Doc/library/logging.rst:1156 msgid "" "This function should be called from the main thread before other threads are " "started. In versions of Python prior to 2.7.1 and 3.2, if this function is " @@ -1623,52 +1645,54 @@ msgid "" "unexpected results such as messages being duplicated in the log." msgstr "" -#: ../Doc/library/logging.rst:1148 +#: ../Doc/library/logging.rst:1163 msgid "The following keyword arguments are supported." msgstr "" -#: ../Doc/library/logging.rst:1155 +#: ../Doc/library/logging.rst:1170 msgid "*filename*" msgstr "" -#: ../Doc/library/logging.rst:1155 +#: ../Doc/library/logging.rst:1170 msgid "" "Specifies that a FileHandler be created, using the specified filename, " "rather than a StreamHandler." msgstr "" -#: ../Doc/library/logging.rst:1159 +#: ../Doc/library/logging.rst:1174 msgid "*filemode*" msgstr "" -#: ../Doc/library/logging.rst:1159 +#: ../Doc/library/logging.rst:1174 msgid "" "If *filename* is specified, open the file in this :ref:`mode `. " "Defaults to ``'a'``." msgstr "" -#: ../Doc/library/logging.rst:1163 +#: ../Doc/library/logging.rst:1178 msgid "*format*" msgstr "" -#: ../Doc/library/logging.rst:1163 -msgid "Use the specified format string for the handler." +#: ../Doc/library/logging.rst:1178 +msgid "" +"Use the specified format string for the handler. Defaults to attributes " +"``levelname``, ``name`` and ``message`` separated by colons." msgstr "" -#: ../Doc/library/logging.rst:1166 +#: ../Doc/library/logging.rst:1183 msgid "*datefmt*" msgstr "" -#: ../Doc/library/logging.rst:1166 +#: ../Doc/library/logging.rst:1183 msgid "" "Use the specified date/time format, as accepted by :func:`time.strftime`." msgstr "" -#: ../Doc/library/logging.rst:1169 +#: ../Doc/library/logging.rst:1186 msgid "*style*" msgstr "" -#: ../Doc/library/logging.rst:1169 +#: ../Doc/library/logging.rst:1186 msgid "" "If *format* is specified, use this style for the format string. One of " "``'%'``, ``'{'`` or ``'$'`` for :ref:`printf-style `." msgstr "" -#: ../Doc/library/logging.rst:1180 +#: ../Doc/library/logging.rst:1197 msgid "*stream*" msgstr "" -#: ../Doc/library/logging.rst:1180 +#: ../Doc/library/logging.rst:1197 msgid "" "Use the specified stream to initialize the StreamHandler. Note that this " "argument is incompatible with *filename* - if both are present, a " "``ValueError`` is raised." msgstr "" -#: ../Doc/library/logging.rst:1185 +#: ../Doc/library/logging.rst:1202 msgid "*handlers*" msgstr "" -#: ../Doc/library/logging.rst:1185 +#: ../Doc/library/logging.rst:1202 msgid "" "If specified, this should be an iterable of already created handlers to add " "to the root logger. Any handlers which don't already have a formatter set " @@ -1708,46 +1732,74 @@ msgid "" "present, a ``ValueError`` is raised." msgstr "" -#: ../Doc/library/logging.rst:1194 +#: ../Doc/library/logging.rst:1211 msgid "*force*" msgstr "" -#: ../Doc/library/logging.rst:1194 +#: ../Doc/library/logging.rst:1211 msgid "" "If this keyword argument is specified as true, any existing handlers " "attached to the root logger are removed and closed, before carrying out the " "configuration as specified by the other arguments." msgstr "" -#: ../Doc/library/logging.rst:1201 +#: ../Doc/library/logging.rst:1217 +msgid "*encoding*" +msgstr "" + +#: ../Doc/library/logging.rst:1217 +msgid "" +"If this keyword argument is specified along with *filename*, its value is " +"used when the FileHandler is created, and thus used when opening the output " +"file." +msgstr "" + +#: ../Doc/library/logging.rst:1222 +msgid "*errors*" +msgstr "" + +#: ../Doc/library/logging.rst:1222 +msgid "" +"If this keyword argument is specified along with *filename*, its value is " +"used when the FileHandler is created, and thus used when opening the output " +"file. If not specified, the value 'backslashreplace' is used. Note that if " +"``None`` is specified, it will be passed as such to func:`open`, which means " +"that it will be treated the same as passing 'errors'." +msgstr "" + +#: ../Doc/library/logging.rst:1233 msgid "The *style* argument was added." msgstr "" -#: ../Doc/library/logging.rst:1204 +#: ../Doc/library/logging.rst:1236 msgid "" "The *handlers* argument was added. Additional checks were added to catch " "situations where incompatible arguments are specified (e.g. *handlers* " "together with *stream* or *filename*, or *stream* together with *filename*)." msgstr "" -#: ../Doc/library/logging.rst:1210 +#: ../Doc/library/logging.rst:1242 msgid "The *force* argument was added." msgstr "" -#: ../Doc/library/logging.rst:1215 +#: ../Doc/library/logging.rst:1245 +msgid "The *encoding* and *errors* arguments were added." +msgstr "" + +#: ../Doc/library/logging.rst:1250 msgid "" "Informs the logging system to perform an orderly shutdown by flushing and " "closing all handlers. This should be called at application exit and no " "further use of the logging system should be made after this call." msgstr "" -#: ../Doc/library/logging.rst:1219 +#: ../Doc/library/logging.rst:1254 msgid "" "When the logging module is imported, it registers this function as an exit " "handler (see :mod:`atexit`), so normally there's no need to do that manually." msgstr "" -#: ../Doc/library/logging.rst:1226 +#: ../Doc/library/logging.rst:1261 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 " @@ -1759,32 +1811,32 @@ msgid "" "loggers." msgstr "" -#: ../Doc/library/logging.rst:1237 +#: ../Doc/library/logging.rst:1272 msgid "Set a callable which is used to create a :class:`LogRecord`." msgstr "" -#: ../Doc/library/logging.rst:1239 +#: ../Doc/library/logging.rst:1274 msgid "The factory callable to be used to instantiate a log record." msgstr "" -#: ../Doc/library/logging.rst:1241 +#: ../Doc/library/logging.rst:1276 msgid "" "This function has been provided, along with :func:`getLogRecordFactory`, to " "allow developers more control over how the :class:`LogRecord` representing a " "logging event is constructed." msgstr "" -#: ../Doc/library/logging.rst:1246 +#: ../Doc/library/logging.rst:1281 msgid "The factory has the following signature:" msgstr "" -#: ../Doc/library/logging.rst:1248 +#: ../Doc/library/logging.rst:1283 msgid "" "``factory(name, level, fn, lno, msg, args, exc_info, func=None, sinfo=None, " "**kwargs)``" msgstr "" -#: ../Doc/library/logging.rst:1250 +#: ../Doc/library/logging.rst:1285 msgid "The logger name." msgstr "" @@ -1792,7 +1844,7 @@ msgstr "" msgid "level" msgstr "" -#: ../Doc/library/logging.rst:1251 +#: ../Doc/library/logging.rst:1286 msgid "The logging level (numeric)." msgstr "" @@ -1800,7 +1852,7 @@ msgstr "" msgid "fn" msgstr "" -#: ../Doc/library/logging.rst:1252 +#: ../Doc/library/logging.rst:1287 msgid "The full pathname of the file where the logging call was made." msgstr "" @@ -1808,19 +1860,19 @@ msgstr "" msgid "lno" msgstr "" -#: ../Doc/library/logging.rst:1253 +#: ../Doc/library/logging.rst:1288 msgid "The line number in the file where the logging call was made." msgstr "" -#: ../Doc/library/logging.rst:1254 +#: ../Doc/library/logging.rst:1289 msgid "The logging message." msgstr "" -#: ../Doc/library/logging.rst:1255 +#: ../Doc/library/logging.rst:1290 msgid "The arguments for the logging message." msgstr "" -#: ../Doc/library/logging.rst:1256 +#: ../Doc/library/logging.rst:1291 msgid "An exception tuple, or ``None``." msgstr "" @@ -1828,7 +1880,7 @@ msgstr "" msgid "func" msgstr "" -#: ../Doc/library/logging.rst:1257 +#: ../Doc/library/logging.rst:1292 msgid "The name of the function or method which invoked the logging call." msgstr "" @@ -1836,7 +1888,7 @@ msgstr "" msgid "sinfo" msgstr "" -#: ../Doc/library/logging.rst:1259 +#: ../Doc/library/logging.rst:1294 msgid "" "A stack traceback such as is provided by :func:`traceback.print_stack`, " "showing the call hierarchy." @@ -1846,15 +1898,15 @@ msgstr "" msgid "kwargs" msgstr "" -#: ../Doc/library/logging.rst:1261 +#: ../Doc/library/logging.rst:1296 msgid "Additional keyword arguments." msgstr "" -#: ../Doc/library/logging.rst:1265 +#: ../Doc/library/logging.rst:1300 msgid "Module-Level Attributes" msgstr "" -#: ../Doc/library/logging.rst:1269 +#: ../Doc/library/logging.rst:1304 msgid "" "A \"handler of last resort\" is available through this attribute. This is a :" "class:`StreamHandler` writing to ``sys.stderr`` with a level of ``WARNING``, " @@ -1865,22 +1917,22 @@ msgid "" "reason, ``lastResort`` can be set to ``None``." msgstr "" -#: ../Doc/library/logging.rst:1280 +#: ../Doc/library/logging.rst:1315 msgid "Integration with the warnings module" msgstr "" -#: ../Doc/library/logging.rst:1282 +#: ../Doc/library/logging.rst:1317 msgid "" "The :func:`captureWarnings` function can be used to integrate :mod:`logging` " "with the :mod:`warnings` module." msgstr "" -#: ../Doc/library/logging.rst:1287 +#: ../Doc/library/logging.rst:1322 msgid "" "This function is used to turn the capture of warnings by logging on and off." msgstr "" -#: ../Doc/library/logging.rst:1290 +#: ../Doc/library/logging.rst:1325 msgid "" "If *capture* is ``True``, warnings issued by the :mod:`warnings` module will " "be redirected to the logging system. Specifically, a warning will be " @@ -1889,46 +1941,46 @@ msgid "" "`WARNING`." msgstr "" -#: ../Doc/library/logging.rst:1295 +#: ../Doc/library/logging.rst:1330 msgid "" "If *capture* is ``False``, the redirection of warnings to the logging system " "will stop, and warnings will be redirected to their original destinations (i." "e. those in effect before ``captureWarnings(True)`` was called)." msgstr "" -#: ../Doc/library/logging.rst:1303 +#: ../Doc/library/logging.rst:1338 msgid "Module :mod:`logging.config`" msgstr "" -#: ../Doc/library/logging.rst:1303 +#: ../Doc/library/logging.rst:1338 msgid "Configuration API for the logging module." msgstr "" -#: ../Doc/library/logging.rst:1306 +#: ../Doc/library/logging.rst:1341 msgid "Module :mod:`logging.handlers`" msgstr "" -#: ../Doc/library/logging.rst:1306 +#: ../Doc/library/logging.rst:1341 msgid "Useful handlers included with the logging module." msgstr "" -#: ../Doc/library/logging.rst:1310 +#: ../Doc/library/logging.rst:1345 msgid ":pep:`282` - A Logging System" msgstr "" -#: ../Doc/library/logging.rst:1309 +#: ../Doc/library/logging.rst:1344 msgid "" "The proposal which described this feature for inclusion in the Python " "standard library." msgstr "" -#: ../Doc/library/logging.rst:1315 +#: ../Doc/library/logging.rst:1350 msgid "" "`Original Python logging package `_" msgstr "" -#: ../Doc/library/logging.rst:1313 +#: ../Doc/library/logging.rst:1348 msgid "" "This is the original source for the :mod:`logging` package. The version of " "the package available from this site is suitable for use with Python 1.5.2, " diff --git a/library/mailbox.po b/library/mailbox.po index 3f7c618f2f..bb46a0fc63 100644 --- a/library/mailbox.po +++ b/library/mailbox.po @@ -10,18 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-08-18 22:31-0400\n" +"Last-Translator: Rodrigo Poblete \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Rodrigo Poblete \n" -"Language: es\n" -"X-Generator: Poedit 2.4.1\n" -"X-Poedit-SourceCharset: UTF-8\n" #: ../Doc/library/mailbox.rst:2 msgid ":mod:`mailbox` --- Manipulate mailboxes in various formats" @@ -596,7 +594,7 @@ msgstr "" "Las instancias de :class:`Maildir` tienen todos los métodos de :class:" "`Mailbox` además de los siguientes:" -#: ../Doc/library/mailbox.rst:357 ../Doc/library/mailbox.rst:535 +#: ../Doc/library/mailbox.rst:357 ../Doc/library/mailbox.rst:529 msgid "Return a list of the names of all folders." msgstr "Retorna una lista con los nombres de todas las carpetas." @@ -618,7 +616,7 @@ msgstr "" "Crea una carpeta cuyo nombre sea *folder* y retorna una instancia :class:" "`Maildir` que la represente." -#: ../Doc/library/mailbox.rst:375 ../Doc/library/mailbox.rst:553 +#: ../Doc/library/mailbox.rst:375 ../Doc/library/mailbox.rst:547 msgid "" "Delete the folder whose name is *folder*. If the folder contains any " "messages, a :exc:`NotEmptyError` exception will be raised and the folder " @@ -693,21 +691,26 @@ msgstr "" "eliminar el mensaje subyacente mientras el archivo retornado permanezca " "abierto." -#: ../Doc/library/mailbox.rst:430 +#: ../Doc/library/mailbox.rst:431 msgid "" -"`maildir man page from qmail `_" +"`maildir man page from Courier `_" msgstr "" -"`pagina web maildir de qmail `__" +"`pagina web maildir de Courier `_" #: ../Doc/library/mailbox.rst:430 -msgid "The original specification of the format." -msgstr "La especificación original del formato." +#, fuzzy +msgid "" +"A specification of the format. Describes a common extension for supporting " +"folders." +msgstr "" +"Otra especificación del formato. Describe una extensión común para soportar " +"carpetas." #: ../Doc/library/mailbox.rst:434 msgid "`Using maildir format `_" msgstr "`Utilizando el formato maildir `_" -#: ../Doc/library/mailbox.rst:433 +#: ../Doc/library/mailbox.rst:434 msgid "" "Notes on Maildir by its inventor. Includes an updated name-creation scheme " "and details on \"info\" semantics." @@ -715,25 +718,11 @@ msgstr "" "Notas sobre Maildir por su inventor. Incluye un esquema actualizado de " "creación de nombres y detalles sobre la \"info\" de la semántica\"." -#: ../Doc/library/mailbox.rst:437 -msgid "" -"`maildir man page from Courier `_" -msgstr "" -"`pagina web maildir de Courier `_" - -#: ../Doc/library/mailbox.rst:437 -msgid "" -"Another specification of the format. Describes a common extension for " -"supporting folders." -msgstr "" -"Otra especificación del formato. Describe una extensión común para soportar " -"carpetas." - -#: ../Doc/library/mailbox.rst:444 +#: ../Doc/library/mailbox.rst:441 msgid ":class:`mbox`" msgstr ":class:`mbox`" -#: ../Doc/library/mailbox.rst:449 +#: ../Doc/library/mailbox.rst:446 msgid "" "A subclass of :class:`Mailbox` for mailboxes in mbox format. Parameter " "*factory* is a callable object that accepts a file-like message " @@ -749,7 +738,7 @@ msgstr "" "`mboxMessage` se utiliza como representación de mensaje por defecto. Si " "*create* es ``True``, el buzón de correo se crea si no existe." -#: ../Doc/library/mailbox.rst:456 +#: ../Doc/library/mailbox.rst:453 msgid "" "The mbox format is the classic format for storing mail on Unix systems. All " "messages in an mbox mailbox are stored in a single file with the beginning " @@ -761,7 +750,7 @@ msgstr "" "archivo con el comienzo de cada mensaje indicado por una línea cuyos cinco " "primeros caracteres son \"From\"." -#: ../Doc/library/mailbox.rst:460 +#: ../Doc/library/mailbox.rst:457 msgid "" "Several variations of the mbox format exist to address perceived " "shortcomings in the original. In the interest of compatibility, :class:" @@ -781,7 +770,7 @@ msgstr "" "mensaje, aunque las ocurrencias de \">From \" no se transforman en \"From \" " "al leer el mensaje." -#: ../Doc/library/mailbox.rst:468 +#: ../Doc/library/mailbox.rst:465 msgid "" "Some :class:`Mailbox` methods implemented by :class:`mbox` deserve special " "remarks:" @@ -789,7 +778,7 @@ msgstr "" "Algunos métodos de :class:`Mailbox` implementados por :class:`Maildir` " "merecen comentarios especiales:" -#: ../Doc/library/mailbox.rst:474 +#: ../Doc/library/mailbox.rst:471 msgid "" "Using the file after calling :meth:`flush` or :meth:`close` on the :class:" "`mbox` instance may yield unpredictable results or raise an exception." @@ -798,8 +787,8 @@ msgstr "" "instancia :class:`mbox` puede producir resultados impredecibles o lanzar una " "excepción." -#: ../Doc/library/mailbox.rst:482 ../Doc/library/mailbox.rst:694 -#: ../Doc/library/mailbox.rst:745 +#: ../Doc/library/mailbox.rst:479 ../Doc/library/mailbox.rst:688 +#: ../Doc/library/mailbox.rst:739 msgid "" "Three locking mechanisms are used---dot locking and, if available, the :c:" "func:`flock` and :c:func:`lockf` system calls." @@ -807,15 +796,7 @@ 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`." -#: ../Doc/library/mailbox.rst:489 -msgid "`mbox man page from qmail `_" -msgstr "`pagina web mbox de qmail `_" - -#: ../Doc/library/mailbox.rst:489 -msgid "A specification of the format and its variations." -msgstr "Una especificación del formato y sus variaciones." - -#: ../Doc/library/mailbox.rst:492 +#: ../Doc/library/mailbox.rst:486 msgid "" "`mbox man page from tin `_" @@ -823,11 +804,12 @@ msgstr "" "`pagina web mbox de tin `_" -#: ../Doc/library/mailbox.rst:492 -msgid "Another specification of the format, with details on locking." +#: ../Doc/library/mailbox.rst:486 +#, fuzzy +msgid "A specification of the format, with details on locking." msgstr "Otra especificación del formato, con detalles sobre el bloqueo." -#: ../Doc/library/mailbox.rst:495 +#: ../Doc/library/mailbox.rst:489 msgid "" "`Configuring Netscape Mail on Unix: Why The Content-Length Format is Bad " "`_" @@ -835,12 +817,12 @@ msgstr "" "`Configurando el correo de Netscape en Unix: Por qué el formato de longitud " "de contenido es malo `_" -#: ../Doc/library/mailbox.rst:495 +#: ../Doc/library/mailbox.rst:489 msgid "An argument for using the original mbox format rather than a variation." msgstr "" "Un argumento para usar el formato original mbox en lugar de una variación." -#: ../Doc/library/mailbox.rst:497 +#: ../Doc/library/mailbox.rst:491 msgid "" "`\"mbox\" is a family of several mutually incompatible mailbox formats " "`_" @@ -849,15 +831,15 @@ msgstr "" "incompatibles `__" -#: ../Doc/library/mailbox.rst:498 +#: ../Doc/library/mailbox.rst:492 msgid "A history of mbox variations." msgstr "Una historia de variaciones de mbox." -#: ../Doc/library/mailbox.rst:504 +#: ../Doc/library/mailbox.rst:498 msgid ":class:`MH`" msgstr ":class:`MH`" -#: ../Doc/library/mailbox.rst:509 +#: ../Doc/library/mailbox.rst:503 msgid "" "A subclass of :class:`Mailbox` for mailboxes in MH format. Parameter " "*factory* is a callable object that accepts a file-like message " @@ -873,7 +855,7 @@ msgstr "" "`MHMessage` se utiliza como representación de mensaje por defecto. Si " "*create* es ``True``, el buzón de correo se crea si no existe." -#: ../Doc/library/mailbox.rst:516 +#: ../Doc/library/mailbox.rst:510 msgid "" "MH is a directory-based mailbox format invented for the MH Message Handling " "System, a mail user agent. Each message in an MH mailbox resides in its own " @@ -893,7 +875,7 @@ msgstr "" "moverlos a subcarpetas. Las secuencias se definen en un archivo llamado :" "file:`.mh_sequences` en cada carpeta." -#: ../Doc/library/mailbox.rst:524 +#: ../Doc/library/mailbox.rst:518 msgid "" "The :class:`MH` class manipulates MH mailboxes, but it does not attempt to " "emulate all of :program:`mh`'s behaviors. In particular, it does not modify " @@ -906,7 +888,7 @@ msgstr "" "mh_profile` que utiliza :program:`mh` para almacenar su estado y " "configuración." -#: ../Doc/library/mailbox.rst:529 +#: ../Doc/library/mailbox.rst:523 msgid "" ":class:`MH` instances have all of the methods of :class:`Mailbox` in " "addition to the following:" @@ -914,7 +896,7 @@ msgstr "" "Las instancias de :class:`Maildir` tienen todos los métodos de :class:" "`Mailbox` además de los siguientes:" -#: ../Doc/library/mailbox.rst:540 +#: ../Doc/library/mailbox.rst:534 msgid "" "Return an :class:`MH` instance representing the folder whose name is " "*folder*. A :exc:`NoSuchMailboxError` exception is raised if the folder does " @@ -924,7 +906,7 @@ msgstr "" "es *folder*. Una excepción :exc:`NoSuchMailboxError` se lanza si la carpeta " "no existe." -#: ../Doc/library/mailbox.rst:547 +#: ../Doc/library/mailbox.rst:541 msgid "" "Create a folder whose name is *folder* and return an :class:`MH` instance " "representing it." @@ -932,7 +914,7 @@ msgstr "" "Crea una carpeta cuyo nombre sea *folder* y retorna una instancia :class:" "`MH` que la represente." -#: ../Doc/library/mailbox.rst:560 +#: ../Doc/library/mailbox.rst:554 msgid "" "Return a dictionary of sequence names mapped to key lists. If there are no " "sequences, the empty dictionary is returned." @@ -940,7 +922,7 @@ msgstr "" "Retorna un diccionario de nombres de secuencias mapeadas a listas clave. Si " "no hay secuencias, se retorna el diccionario vacío." -#: ../Doc/library/mailbox.rst:566 +#: ../Doc/library/mailbox.rst:560 msgid "" "Re-define the sequences that exist in the mailbox based upon *sequences*, a " "dictionary of names mapped to key lists, like returned by :meth:" @@ -950,7 +932,7 @@ msgstr "" "*sequences*, un diccionario de nombres mapeados a listas de claves, como las " "retornadas por :meth:`get_sequences`." -#: ../Doc/library/mailbox.rst:573 +#: ../Doc/library/mailbox.rst:567 msgid "" "Rename messages in the mailbox as necessary to eliminate gaps in numbering. " "Entries in the sequences list are updated correspondingly." @@ -959,7 +941,7 @@ msgstr "" "eliminar los huecos en la numeración. Las entradas en la lista de " "secuencias se actualizan correspondientemente." -#: ../Doc/library/mailbox.rst:578 +#: ../Doc/library/mailbox.rst:572 msgid "" "Already-issued keys are invalidated by this operation and should not be " "subsequently used." @@ -967,7 +949,7 @@ msgstr "" "Las llaves ya emitidas quedan invalidadas por esta operación y no deben " "utilizarse posteriormente." -#: ../Doc/library/mailbox.rst:581 +#: ../Doc/library/mailbox.rst:575 msgid "" "Some :class:`Mailbox` methods implemented by :class:`MH` deserve special " "remarks:" @@ -975,7 +957,7 @@ msgstr "" "Algunos métodos de :class:`Mailbox` implementados por :class:`Maildir` " "merecen comentarios especiales:" -#: ../Doc/library/mailbox.rst:589 +#: ../Doc/library/mailbox.rst:583 msgid "" "These methods immediately delete the message. The MH convention of marking a " "message for deletion by prepending a comma to its name is not used." @@ -983,7 +965,7 @@ msgstr "" "Estos métodos borran inmediatamente el mensaje. No se utiliza la convención " "del MH de marcar un mensaje para borrarlo poniendo una coma en su nombre." -#: ../Doc/library/mailbox.rst:596 +#: ../Doc/library/mailbox.rst:590 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 the " @@ -997,7 +979,7 @@ msgstr "" "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:605 +#: ../Doc/library/mailbox.rst:599 msgid "" "Depending upon the host platform, it may not be possible to remove the " "underlying message while the returned file remains open." @@ -1005,7 +987,7 @@ msgstr "" "Dependiendo de la plataforma anfitriona, puede que no sea posible eliminar " "el mensaje subyacente mientras el archivo retornado permanezca abierto." -#: ../Doc/library/mailbox.rst:611 +#: ../Doc/library/mailbox.rst:605 msgid "" "All changes to MH mailboxes are immediately applied, so this method does " "nothing." @@ -1013,7 +995,7 @@ msgstr "" "Todos los cambios en los buzones de correos de Maildir se aplican " "inmediatamente, así que este método no hace nada." -#: ../Doc/library/mailbox.rst:617 +#: ../Doc/library/mailbox.rst:611 msgid "" ":class:`MH` instances do not keep any open files, so this method is " "equivalent to :meth:`unlock`." @@ -1021,11 +1003,11 @@ msgstr "" "Las instancias de :class:`MH` no mantienen ningún archivo abierto, así que " "este método es equivalente a :meth:`unlock`." -#: ../Doc/library/mailbox.rst:624 +#: ../Doc/library/mailbox.rst:618 msgid "`nmh - Message Handling System `_" msgstr "`nmh - Sistema de Manejo de Mensajes `__" -#: ../Doc/library/mailbox.rst:624 +#: ../Doc/library/mailbox.rst:618 msgid "" "Home page of :program:`nmh`, an updated version of the original :program:" "`mh`." @@ -1033,7 +1015,7 @@ msgstr "" "Página principal de :program:`nmh`, una versión actualizada del original :" "program:`mh`." -#: ../Doc/library/mailbox.rst:627 +#: ../Doc/library/mailbox.rst:621 msgid "" "`MH & nmh: Email for Users & Programmers `_" @@ -1041,7 +1023,7 @@ msgstr "" "`MH & nmh: Correo electrónico para usuarios y programadores `_" -#: ../Doc/library/mailbox.rst:627 +#: ../Doc/library/mailbox.rst:621 msgid "" "A GPL-licensed book on :program:`mh` and :program:`nmh`, with some " "information on the mailbox format." @@ -1049,11 +1031,11 @@ msgstr "" "Un libro con licencia GPL sobre :program:`mh` y :program:`nmh`, con alguna " "información sobre el formato del buzón." -#: ../Doc/library/mailbox.rst:634 +#: ../Doc/library/mailbox.rst:628 msgid ":class:`Babyl`" msgstr ":class:`Babyl`" -#: ../Doc/library/mailbox.rst:639 +#: ../Doc/library/mailbox.rst:633 msgid "" "A subclass of :class:`Mailbox` for mailboxes in Babyl format. Parameter " "*factory* is a callable object that accepts a file-like message " @@ -1069,7 +1051,7 @@ msgstr "" "`BabylMessage` se utiliza como representación de mensaje por defecto. Si " "*create* es ``True``, el buzón se crea si no existe." -#: ../Doc/library/mailbox.rst:646 +#: ../Doc/library/mailbox.rst:640 msgid "" "Babyl is a single-file mailbox format used by the Rmail mail user agent " "included with Emacs. The beginning of a message is indicated by a line " @@ -1085,7 +1067,7 @@ msgstr "" "con el comienzo del siguiente mensaje o, en el caso del último mensaje, una " "línea que contiene un carácter Control-Underscore (``'\\037'``)." -#: ../Doc/library/mailbox.rst:653 +#: ../Doc/library/mailbox.rst:647 msgid "" "Messages in a Babyl mailbox have two sets of headers, original headers and " "so-called visible headers. Visible headers are typically a subset of the " @@ -1105,7 +1087,7 @@ msgstr "" "encuentran en el buzón de correo se mantiene en la sección de opciones de " "Babyl." -#: ../Doc/library/mailbox.rst:661 +#: ../Doc/library/mailbox.rst:655 msgid "" ":class:`Babyl` instances have all of the methods of :class:`Mailbox` in " "addition to the following:" @@ -1113,14 +1095,14 @@ msgstr "" "Las instancias de :class:`Maildir` tienen todos los métodos de :class:" "`Mailbox` además de los siguientes:" -#: ../Doc/library/mailbox.rst:667 +#: ../Doc/library/mailbox.rst:661 msgid "" "Return a list of the names of all user-defined labels used in the mailbox." msgstr "" "Retorna una lista de los nombres de todas las etiquetas definidas por el " "usuario utilizadas en el buzón de correo." -#: ../Doc/library/mailbox.rst:671 +#: ../Doc/library/mailbox.rst:665 msgid "" "The actual messages are inspected to determine which labels exist in the " "mailbox rather than consulting the list of labels in the Babyl options " @@ -1131,7 +1113,7 @@ msgstr "" "sección de opciones de Babyl, pero la sección de Babyl se actualiza cada vez " "que se modifica el buzón de correo." -#: ../Doc/library/mailbox.rst:676 +#: ../Doc/library/mailbox.rst:670 msgid "" "Some :class:`Mailbox` methods implemented by :class:`Babyl` deserve special " "remarks:" @@ -1139,7 +1121,7 @@ msgstr "" "Algunos métodos de :class:`Mailbox` implementados por :class:`Maildir` " "merecen comentarios especiales:" -#: ../Doc/library/mailbox.rst:682 +#: ../Doc/library/mailbox.rst:676 msgid "" "In Babyl mailboxes, the headers of a message are not stored contiguously " "with the body of the message. To generate a file-like representation, the " @@ -1156,18 +1138,18 @@ msgstr "" "independiente del buzón de correo subyacente, pero no ahorra memoria en " "comparación con una representación en cadena." -#: ../Doc/library/mailbox.rst:701 +#: ../Doc/library/mailbox.rst:695 msgid "" "`Format of Version 5 Babyl Files `_" msgstr "" "\"Formato de la versión 5 de los archivos de Babyl\" `_" -#: ../Doc/library/mailbox.rst:701 +#: ../Doc/library/mailbox.rst:695 msgid "A specification of the Babyl format." msgstr "Una especificación del formato Babyl." -#: ../Doc/library/mailbox.rst:703 +#: ../Doc/library/mailbox.rst:697 msgid "" "`Reading Mail with Rmail `_" @@ -1175,15 +1157,15 @@ msgstr "" "`Leyendo el correo con Rmail `_" -#: ../Doc/library/mailbox.rst:704 +#: ../Doc/library/mailbox.rst:698 msgid "The Rmail manual, with some information on Babyl semantics." msgstr "El manual de Rmail, con cierta información sobre la semántica Babyl." -#: ../Doc/library/mailbox.rst:710 +#: ../Doc/library/mailbox.rst:704 msgid ":class:`MMDF`" msgstr ":class:`MMDF`" -#: ../Doc/library/mailbox.rst:715 +#: ../Doc/library/mailbox.rst:709 msgid "" "A subclass of :class:`Mailbox` for mailboxes in MMDF format. Parameter " "*factory* is a callable object that accepts a file-like message " @@ -1200,7 +1182,7 @@ msgstr "" "de mensaje predeterminada. Si *create* es ``True``, el buzón de correo se " "crea si no existe." -#: ../Doc/library/mailbox.rst:722 +#: ../Doc/library/mailbox.rst:716 msgid "" "MMDF is a single-file mailbox format invented for the Multichannel " "Memorandum Distribution Facility, a mail transfer agent. Each message is in " @@ -1223,7 +1205,7 @@ msgstr "" "separador de mensajes adicionales impiden confundir tales ocurrencias para " "los inicios de los mensajes posteriores." -#: ../Doc/library/mailbox.rst:731 +#: ../Doc/library/mailbox.rst:725 msgid "" "Some :class:`Mailbox` methods implemented by :class:`MMDF` deserve special " "remarks:" @@ -1231,7 +1213,7 @@ msgstr "" "Algunos métodos :class:`Mailbox` implementados por :class:`MMDF` merecen " "comentarios especiales:" -#: ../Doc/library/mailbox.rst:737 +#: ../Doc/library/mailbox.rst:731 msgid "" "Using the file after calling :meth:`flush` or :meth:`close` on the :class:" "`MMDF` instance may yield unpredictable results or raise an exception." @@ -1240,7 +1222,7 @@ msgstr "" "instancia :class:`MMDF` puede producir resultados impredecibles o generar " "una excepción." -#: ../Doc/library/mailbox.rst:752 +#: ../Doc/library/mailbox.rst:746 msgid "" "`mmdf man page from tin `_" @@ -1248,18 +1230,18 @@ msgstr "" "`Página web de mmdf por Tin `_" -#: ../Doc/library/mailbox.rst:752 +#: ../Doc/library/mailbox.rst:746 msgid "" "A specification of MMDF format from the documentation of tin, a newsreader." msgstr "" "Una especificación del formato MMDF de la documentación de tin, un lector de " "noticias." -#: ../Doc/library/mailbox.rst:755 +#: ../Doc/library/mailbox.rst:749 msgid "`MMDF `_" msgstr "`MMDF `_" -#: ../Doc/library/mailbox.rst:755 +#: ../Doc/library/mailbox.rst:749 msgid "" "A Wikipedia article describing the Multichannel Memorandum Distribution " "Facility." @@ -1267,11 +1249,11 @@ msgstr "" "Un artículo de Wikipedia que describe el Centro de Distribución de " "Memorandos Multicanal." -#: ../Doc/library/mailbox.rst:762 +#: ../Doc/library/mailbox.rst:756 msgid ":class:`Message` objects" msgstr "Objetos :class:`Message`" -#: ../Doc/library/mailbox.rst:767 +#: ../Doc/library/mailbox.rst:761 msgid "" "A subclass of the :mod:`email.message` module's :class:`~email.message." "Message`. Subclasses of :class:`mailbox.Message` add mailbox-format-specific " @@ -1281,7 +1263,7 @@ msgstr "" "Message`. Las subclases de :class:`mailbox.Message` añaden el estado y el " "comportamiento específicos del formato del buzón de correo." -#: ../Doc/library/mailbox.rst:771 +#: ../Doc/library/mailbox.rst:765 msgid "" "If *message* is omitted, the new instance is created in a default, empty " "state. If *message* is an :class:`email.message.Message` instance, its " @@ -1302,7 +1284,7 @@ msgstr "" "archivos en modo texto son aceptados para compatibilidad con versiones " "anteriores." -#: ../Doc/library/mailbox.rst:780 +#: ../Doc/library/mailbox.rst:774 msgid "" "The format-specific state and behaviors offered by subclasses vary, but in " "general it is only the properties that are not specific to a particular " @@ -1324,7 +1306,7 @@ msgstr "" "declaraciones tales como si un mensaje ha sido leído por el usuario o " "marcado como importante, porque se aplican al propio mensaje." -#: ../Doc/library/mailbox.rst:789 +#: ../Doc/library/mailbox.rst:783 msgid "" "There is no requirement that :class:`Message` instances be used to represent " "messages retrieved using :class:`Mailbox` instances. In some situations, the " @@ -1342,11 +1324,11 @@ msgstr "" "fábrica de mensajes personalizados cuando se inicializa una instancia de :" "class:`Mailbox`." -#: ../Doc/library/mailbox.rst:800 +#: ../Doc/library/mailbox.rst:794 msgid ":class:`MaildirMessage`" msgstr ":class:`MaildirMessage`" -#: ../Doc/library/mailbox.rst:805 +#: ../Doc/library/mailbox.rst:799 msgid "" "A message with Maildir-specific behaviors. Parameter *message* has the same " "meaning as with the :class:`Message` constructor." @@ -1354,7 +1336,7 @@ msgstr "" "Un mensaje con comportamientos específicos de Maildir. El parámetro " "*message* tiene el mismo significado que con el constructor :class:`Message`." -#: ../Doc/library/mailbox.rst:808 +#: ../Doc/library/mailbox.rst:802 msgid "" "Typically, a mail user agent application moves all of the messages in the :" "file:`new` subdirectory to the :file:`cur` subdirectory after the first time " @@ -1380,108 +1362,108 @@ msgstr "" "experimental. Los flags normalizados para los mensajes de Maildir son los " "siguientes:" -#: ../Doc/library/mailbox.rst:820 ../Doc/library/mailbox.rst:987 -#: ../Doc/library/mailbox.rst:1357 +#: ../Doc/library/mailbox.rst:814 ../Doc/library/mailbox.rst:981 +#: ../Doc/library/mailbox.rst:1351 msgid "Flag" msgstr "Flag" -#: ../Doc/library/mailbox.rst:820 ../Doc/library/mailbox.rst:987 -#: ../Doc/library/mailbox.rst:1357 +#: ../Doc/library/mailbox.rst:814 ../Doc/library/mailbox.rst:981 +#: ../Doc/library/mailbox.rst:1351 msgid "Meaning" msgstr "Significado" -#: ../Doc/library/mailbox.rst:820 ../Doc/library/mailbox.rst:987 -#: ../Doc/library/mailbox.rst:1137 ../Doc/library/mailbox.rst:1224 -#: ../Doc/library/mailbox.rst:1357 +#: ../Doc/library/mailbox.rst:814 ../Doc/library/mailbox.rst:981 +#: ../Doc/library/mailbox.rst:1131 ../Doc/library/mailbox.rst:1218 +#: ../Doc/library/mailbox.rst:1351 msgid "Explanation" msgstr "Explicación" -#: ../Doc/library/mailbox.rst:822 ../Doc/library/mailbox.rst:993 -#: ../Doc/library/mailbox.rst:1363 +#: ../Doc/library/mailbox.rst:816 ../Doc/library/mailbox.rst:987 +#: ../Doc/library/mailbox.rst:1357 msgid "D" msgstr "D" -#: ../Doc/library/mailbox.rst:822 +#: ../Doc/library/mailbox.rst:816 msgid "Draft" msgstr "Borrador" -#: ../Doc/library/mailbox.rst:822 +#: ../Doc/library/mailbox.rst:816 msgid "Under composition" msgstr "Bajo composición" -#: ../Doc/library/mailbox.rst:824 ../Doc/library/mailbox.rst:995 -#: ../Doc/library/mailbox.rst:1365 +#: ../Doc/library/mailbox.rst:818 ../Doc/library/mailbox.rst:989 +#: ../Doc/library/mailbox.rst:1359 msgid "F" msgstr "F" -#: ../Doc/library/mailbox.rst:824 ../Doc/library/mailbox.rst:995 -#: ../Doc/library/mailbox.rst:1365 +#: ../Doc/library/mailbox.rst:818 ../Doc/library/mailbox.rst:989 +#: ../Doc/library/mailbox.rst:1359 msgid "Flagged" msgstr "Marcada" -#: ../Doc/library/mailbox.rst:824 ../Doc/library/mailbox.rst:995 -#: ../Doc/library/mailbox.rst:1143 ../Doc/library/mailbox.rst:1365 +#: ../Doc/library/mailbox.rst:818 ../Doc/library/mailbox.rst:989 +#: ../Doc/library/mailbox.rst:1137 ../Doc/library/mailbox.rst:1359 msgid "Marked as important" msgstr "Marcado como importante" -#: ../Doc/library/mailbox.rst:826 +#: ../Doc/library/mailbox.rst:820 msgid "P" msgstr "P" -#: ../Doc/library/mailbox.rst:826 +#: ../Doc/library/mailbox.rst:820 msgid "Passed" msgstr "Aprobado" -#: ../Doc/library/mailbox.rst:826 +#: ../Doc/library/mailbox.rst:820 msgid "Forwarded, resent, or bounced" msgstr "Enviado, reenviado o rebotado" -#: ../Doc/library/mailbox.rst:828 ../Doc/library/mailbox.rst:989 -#: ../Doc/library/mailbox.rst:1359 +#: ../Doc/library/mailbox.rst:822 ../Doc/library/mailbox.rst:983 +#: ../Doc/library/mailbox.rst:1353 msgid "R" msgstr "R" -#: ../Doc/library/mailbox.rst:828 +#: ../Doc/library/mailbox.rst:822 msgid "Replied" msgstr "Contestado" -#: ../Doc/library/mailbox.rst:828 ../Doc/library/mailbox.rst:997 -#: ../Doc/library/mailbox.rst:1141 ../Doc/library/mailbox.rst:1232 -#: ../Doc/library/mailbox.rst:1367 +#: ../Doc/library/mailbox.rst:822 ../Doc/library/mailbox.rst:991 +#: ../Doc/library/mailbox.rst:1135 ../Doc/library/mailbox.rst:1226 +#: ../Doc/library/mailbox.rst:1361 msgid "Replied to" msgstr "Contestado a" -#: ../Doc/library/mailbox.rst:830 +#: ../Doc/library/mailbox.rst:824 msgid "S" msgstr "S" -#: ../Doc/library/mailbox.rst:830 +#: ../Doc/library/mailbox.rst:824 msgid "Seen" msgstr "Visto" -#: ../Doc/library/mailbox.rst:830 ../Doc/library/mailbox.rst:989 -#: ../Doc/library/mailbox.rst:1359 +#: ../Doc/library/mailbox.rst:824 ../Doc/library/mailbox.rst:983 +#: ../Doc/library/mailbox.rst:1353 msgid "Read" msgstr "Leído" -#: ../Doc/library/mailbox.rst:832 +#: ../Doc/library/mailbox.rst:826 msgid "T" msgstr "T" -#: ../Doc/library/mailbox.rst:832 +#: ../Doc/library/mailbox.rst:826 msgid "Trashed" msgstr "Destruido" -#: ../Doc/library/mailbox.rst:832 ../Doc/library/mailbox.rst:993 -#: ../Doc/library/mailbox.rst:1228 ../Doc/library/mailbox.rst:1363 +#: ../Doc/library/mailbox.rst:826 ../Doc/library/mailbox.rst:987 +#: ../Doc/library/mailbox.rst:1222 ../Doc/library/mailbox.rst:1357 msgid "Marked for subsequent deletion" msgstr "Marcado para su posterior eliminación" -#: ../Doc/library/mailbox.rst:835 +#: ../Doc/library/mailbox.rst:829 msgid ":class:`MaildirMessage` instances offer the following methods:" msgstr "Instancias de :class:`MaildirMessage` ofrecen los siguientes métodos:" -#: ../Doc/library/mailbox.rst:840 +#: ../Doc/library/mailbox.rst:834 msgid "" "Return either \"new\" (if the message should be stored in the :file:`new` " "subdirectory) or \"cur\" (if the message should be stored in the :file:`cur` " @@ -1491,7 +1473,7 @@ msgstr "" "`new`) o \"cur\" (si el mensaje debe ser almacenado en el subdirectorio :" "file:`cur`)." -#: ../Doc/library/mailbox.rst:846 +#: ../Doc/library/mailbox.rst:840 msgid "" "A message is typically moved from :file:`new` to :file:`cur` after its " "mailbox has been accessed, whether or not the message is has been read. A " @@ -1502,7 +1484,7 @@ msgstr "" "leído o no. Un mensaje ``msg`` ha sido leído si ``\"S\" in msg.get_flags()`` " "es ``True``." -#: ../Doc/library/mailbox.rst:854 +#: ../Doc/library/mailbox.rst:848 msgid "" "Set the subdirectory the message should be stored in. Parameter *subdir* " "must be either \"new\" or \"cur\"." @@ -1510,7 +1492,7 @@ msgstr "" "Establece el subdirectorio en el que debe almacenarse el mensaje. El " "parámetro *subdir* debe ser \"new\" o \"cur\"." -#: ../Doc/library/mailbox.rst:860 +#: ../Doc/library/mailbox.rst:854 msgid "" "Return a string specifying the flags that are currently set. If the message " "complies with the standard Maildir format, the result is the concatenation " @@ -1525,12 +1507,12 @@ msgstr "" "``'T'``. La cadena vacía se retorna si no hay flags o si \"info\" contiene " "semántica experimental." -#: ../Doc/library/mailbox.rst:870 +#: ../Doc/library/mailbox.rst:864 msgid "Set the flags specified by *flags* and unset all others." msgstr "" "Establece los flags especificados por *flags* y desactiva todas las demás." -#: ../Doc/library/mailbox.rst:875 +#: ../Doc/library/mailbox.rst:869 msgid "" "Set the flag(s) specified by *flag* without changing other flags. To add " "more than one flag at a time, *flag* may be a string of more than one " @@ -1542,7 +1524,7 @@ msgstr "" "de un carácter. La \"info\" actual se sobrescribe si contiene o no " "información experimental en lugar de flags." -#: ../Doc/library/mailbox.rst:883 +#: ../Doc/library/mailbox.rst:877 msgid "" "Unset the flag(s) specified by *flag* without changing other flags. To " "remove more than one flag at a time, *flag* maybe a string of more than one " @@ -1554,7 +1536,7 @@ msgstr "" "de más de un carácter. Si \"info\" contiene información experimental en " "lugar de flags, la \"info\" actual no se modifica." -#: ../Doc/library/mailbox.rst:891 +#: ../Doc/library/mailbox.rst:885 msgid "" "Return the delivery date of the message as a floating-point number " "representing seconds since the epoch." @@ -1562,7 +1544,7 @@ msgstr "" "Retorna la fecha de entrega del mensaje como un número de punto flotante que " "representa los segundos desde la época." -#: ../Doc/library/mailbox.rst:897 +#: ../Doc/library/mailbox.rst:891 msgid "" "Set the delivery date of the message to *date*, a floating-point number " "representing seconds since the epoch." @@ -1570,7 +1552,7 @@ msgstr "" "Establece la fecha de entrega del mensaje en *date*, un número de punto " "flotante que representa los segundos desde la época." -#: ../Doc/library/mailbox.rst:903 +#: ../Doc/library/mailbox.rst:897 msgid "" "Return a string containing the \"info\" for a message. This is useful for " "accessing and modifying \"info\" that is experimental (i.e., not a list of " @@ -1580,11 +1562,11 @@ msgstr "" "acceder y modificar la \"info\" que es experimental (es decir, no una lista " "de flags)." -#: ../Doc/library/mailbox.rst:910 +#: ../Doc/library/mailbox.rst:904 msgid "Set \"info\" to *info*, which should be a string." msgstr "Establece \"info\" en *info*, que debería ser una cadena." -#: ../Doc/library/mailbox.rst:912 +#: ../Doc/library/mailbox.rst:906 msgid "" "When a :class:`MaildirMessage` instance is created based upon an :class:" "`mboxMessage` or :class:`MMDFMessage` instance, the :mailheader:`Status` " @@ -1596,82 +1578,82 @@ msgstr "" "cabeceras :mailheader:`Status` y :mailheader:`X-Status` y se producen las " "siguientes conversiones:" -#: ../Doc/library/mailbox.rst:918 ../Doc/library/mailbox.rst:936 -#: ../Doc/library/mailbox.rst:951 ../Doc/library/mailbox.rst:1058 -#: ../Doc/library/mailbox.rst:1075 ../Doc/library/mailbox.rst:1090 -#: ../Doc/library/mailbox.rst:1105 ../Doc/library/mailbox.rst:1172 -#: ../Doc/library/mailbox.rst:1187 ../Doc/library/mailbox.rst:1201 -#: ../Doc/library/mailbox.rst:1298 ../Doc/library/mailbox.rst:1315 -#: ../Doc/library/mailbox.rst:1329 ../Doc/library/mailbox.rst:1429 -#: ../Doc/library/mailbox.rst:1446 ../Doc/library/mailbox.rst:1461 -#: ../Doc/library/mailbox.rst:1477 +#: ../Doc/library/mailbox.rst:912 ../Doc/library/mailbox.rst:930 +#: ../Doc/library/mailbox.rst:945 ../Doc/library/mailbox.rst:1052 +#: ../Doc/library/mailbox.rst:1069 ../Doc/library/mailbox.rst:1084 +#: ../Doc/library/mailbox.rst:1099 ../Doc/library/mailbox.rst:1166 +#: ../Doc/library/mailbox.rst:1181 ../Doc/library/mailbox.rst:1195 +#: ../Doc/library/mailbox.rst:1292 ../Doc/library/mailbox.rst:1309 +#: ../Doc/library/mailbox.rst:1323 ../Doc/library/mailbox.rst:1423 +#: ../Doc/library/mailbox.rst:1440 ../Doc/library/mailbox.rst:1455 +#: ../Doc/library/mailbox.rst:1471 msgid "Resulting state" msgstr "Estado resultante" -#: ../Doc/library/mailbox.rst:918 ../Doc/library/mailbox.rst:1187 -#: ../Doc/library/mailbox.rst:1315 +#: ../Doc/library/mailbox.rst:912 ../Doc/library/mailbox.rst:1181 +#: ../Doc/library/mailbox.rst:1309 msgid ":class:`mboxMessage` or :class:`MMDFMessage` state" msgstr "Estado :class:`mboxMessage` o :class:`MMDFMessage`" -#: ../Doc/library/mailbox.rst:921 ../Doc/library/mailbox.rst:938 -#: ../Doc/library/mailbox.rst:953 ../Doc/library/mailbox.rst:1062 -#: ../Doc/library/mailbox.rst:1433 +#: ../Doc/library/mailbox.rst:915 ../Doc/library/mailbox.rst:932 +#: ../Doc/library/mailbox.rst:947 ../Doc/library/mailbox.rst:1056 +#: ../Doc/library/mailbox.rst:1427 msgid "\"cur\" subdirectory" msgstr "subdirectorio \"cur\"" -#: ../Doc/library/mailbox.rst:921 ../Doc/library/mailbox.rst:1062 -#: ../Doc/library/mailbox.rst:1079 ../Doc/library/mailbox.rst:1094 -#: ../Doc/library/mailbox.rst:1109 ../Doc/library/mailbox.rst:1433 -#: ../Doc/library/mailbox.rst:1450 ../Doc/library/mailbox.rst:1465 -#: ../Doc/library/mailbox.rst:1481 +#: ../Doc/library/mailbox.rst:915 ../Doc/library/mailbox.rst:1056 +#: ../Doc/library/mailbox.rst:1073 ../Doc/library/mailbox.rst:1088 +#: ../Doc/library/mailbox.rst:1103 ../Doc/library/mailbox.rst:1427 +#: ../Doc/library/mailbox.rst:1444 ../Doc/library/mailbox.rst:1459 +#: ../Doc/library/mailbox.rst:1475 msgid "O flag" msgstr "indicador O" -#: ../Doc/library/mailbox.rst:923 ../Doc/library/mailbox.rst:942 -#: ../Doc/library/mailbox.rst:1066 ../Doc/library/mailbox.rst:1081 -#: ../Doc/library/mailbox.rst:1113 ../Doc/library/mailbox.rst:1178 -#: ../Doc/library/mailbox.rst:1194 ../Doc/library/mailbox.rst:1437 -#: ../Doc/library/mailbox.rst:1452 ../Doc/library/mailbox.rst:1485 +#: ../Doc/library/mailbox.rst:917 ../Doc/library/mailbox.rst:936 +#: ../Doc/library/mailbox.rst:1060 ../Doc/library/mailbox.rst:1075 +#: ../Doc/library/mailbox.rst:1107 ../Doc/library/mailbox.rst:1172 +#: ../Doc/library/mailbox.rst:1188 ../Doc/library/mailbox.rst:1431 +#: ../Doc/library/mailbox.rst:1446 ../Doc/library/mailbox.rst:1479 msgid "F flag" msgstr "indicador F" -#: ../Doc/library/mailbox.rst:925 ../Doc/library/mailbox.rst:927 -#: ../Doc/library/mailbox.rst:944 ../Doc/library/mailbox.rst:959 -#: ../Doc/library/mailbox.rst:1060 ../Doc/library/mailbox.rst:1068 -#: ../Doc/library/mailbox.rst:1107 ../Doc/library/mailbox.rst:1176 -#: ../Doc/library/mailbox.rst:1304 ../Doc/library/mailbox.rst:1431 -#: ../Doc/library/mailbox.rst:1439 ../Doc/library/mailbox.rst:1479 +#: ../Doc/library/mailbox.rst:919 ../Doc/library/mailbox.rst:921 +#: ../Doc/library/mailbox.rst:938 ../Doc/library/mailbox.rst:953 +#: ../Doc/library/mailbox.rst:1054 ../Doc/library/mailbox.rst:1062 +#: ../Doc/library/mailbox.rst:1101 ../Doc/library/mailbox.rst:1170 +#: ../Doc/library/mailbox.rst:1298 ../Doc/library/mailbox.rst:1425 +#: ../Doc/library/mailbox.rst:1433 ../Doc/library/mailbox.rst:1473 msgid "R flag" msgstr "indicador R" -#: ../Doc/library/mailbox.rst:925 ../Doc/library/mailbox.rst:1068 -#: ../Doc/library/mailbox.rst:1083 ../Doc/library/mailbox.rst:1098 -#: ../Doc/library/mailbox.rst:1115 ../Doc/library/mailbox.rst:1192 -#: ../Doc/library/mailbox.rst:1322 ../Doc/library/mailbox.rst:1439 -#: ../Doc/library/mailbox.rst:1454 ../Doc/library/mailbox.rst:1469 -#: ../Doc/library/mailbox.rst:1487 +#: ../Doc/library/mailbox.rst:919 ../Doc/library/mailbox.rst:1062 +#: ../Doc/library/mailbox.rst:1077 ../Doc/library/mailbox.rst:1092 +#: ../Doc/library/mailbox.rst:1109 ../Doc/library/mailbox.rst:1186 +#: ../Doc/library/mailbox.rst:1316 ../Doc/library/mailbox.rst:1433 +#: ../Doc/library/mailbox.rst:1448 ../Doc/library/mailbox.rst:1463 +#: ../Doc/library/mailbox.rst:1481 msgid "A flag" msgstr "indicador A" -#: ../Doc/library/mailbox.rst:927 ../Doc/library/mailbox.rst:1060 -#: ../Doc/library/mailbox.rst:1431 +#: ../Doc/library/mailbox.rst:921 ../Doc/library/mailbox.rst:1054 +#: ../Doc/library/mailbox.rst:1425 msgid "S flag" msgstr "indicador S" -#: ../Doc/library/mailbox.rst:929 ../Doc/library/mailbox.rst:961 -#: ../Doc/library/mailbox.rst:1064 ../Doc/library/mailbox.rst:1302 -#: ../Doc/library/mailbox.rst:1435 +#: ../Doc/library/mailbox.rst:923 ../Doc/library/mailbox.rst:955 +#: ../Doc/library/mailbox.rst:1058 ../Doc/library/mailbox.rst:1296 +#: ../Doc/library/mailbox.rst:1429 msgid "T flag" msgstr "indicador T" -#: ../Doc/library/mailbox.rst:929 ../Doc/library/mailbox.rst:1064 -#: ../Doc/library/mailbox.rst:1096 ../Doc/library/mailbox.rst:1111 -#: ../Doc/library/mailbox.rst:1320 ../Doc/library/mailbox.rst:1435 -#: ../Doc/library/mailbox.rst:1467 ../Doc/library/mailbox.rst:1483 +#: ../Doc/library/mailbox.rst:923 ../Doc/library/mailbox.rst:1058 +#: ../Doc/library/mailbox.rst:1090 ../Doc/library/mailbox.rst:1105 +#: ../Doc/library/mailbox.rst:1314 ../Doc/library/mailbox.rst:1429 +#: ../Doc/library/mailbox.rst:1461 ../Doc/library/mailbox.rst:1477 msgid "D flag" msgstr "indicador D" -#: ../Doc/library/mailbox.rst:932 +#: ../Doc/library/mailbox.rst:926 msgid "" "When a :class:`MaildirMessage` instance is created based upon an :class:" "`MHMessage` instance, the following conversions take place:" @@ -1679,41 +1661,41 @@ msgstr "" "Cuando se crea una instancia :class:`MaildirMessage` basada en una " "instancia :class:`MHMessage`, se producen las siguientes conversiones:" -#: ../Doc/library/mailbox.rst:936 ../Doc/library/mailbox.rst:1075 -#: ../Doc/library/mailbox.rst:1329 ../Doc/library/mailbox.rst:1446 +#: ../Doc/library/mailbox.rst:930 ../Doc/library/mailbox.rst:1069 +#: ../Doc/library/mailbox.rst:1323 ../Doc/library/mailbox.rst:1440 msgid ":class:`MHMessage` state" msgstr "Estado :class:`MHMessage`" -#: ../Doc/library/mailbox.rst:938 ../Doc/library/mailbox.rst:1079 -#: ../Doc/library/mailbox.rst:1174 ../Doc/library/mailbox.rst:1190 -#: ../Doc/library/mailbox.rst:1203 ../Doc/library/mailbox.rst:1331 -#: ../Doc/library/mailbox.rst:1450 +#: ../Doc/library/mailbox.rst:932 ../Doc/library/mailbox.rst:1073 +#: ../Doc/library/mailbox.rst:1168 ../Doc/library/mailbox.rst:1184 +#: ../Doc/library/mailbox.rst:1197 ../Doc/library/mailbox.rst:1325 +#: ../Doc/library/mailbox.rst:1444 msgid "\"unseen\" sequence" msgstr "Secuencia \"*unseen*\" (no vista)" -#: ../Doc/library/mailbox.rst:940 ../Doc/library/mailbox.rst:955 +#: ../Doc/library/mailbox.rst:934 ../Doc/library/mailbox.rst:949 msgid "\"cur\" subdirectory and S flag" msgstr "subdirectorio \"cur\" e indicador S" -#: ../Doc/library/mailbox.rst:940 ../Doc/library/mailbox.rst:1077 -#: ../Doc/library/mailbox.rst:1448 +#: ../Doc/library/mailbox.rst:934 ../Doc/library/mailbox.rst:1071 +#: ../Doc/library/mailbox.rst:1442 msgid "no \"unseen\" sequence" msgstr "no hay una secuencia \"*unseen*\" (invisible)" -#: ../Doc/library/mailbox.rst:942 ../Doc/library/mailbox.rst:1081 -#: ../Doc/library/mailbox.rst:1178 ../Doc/library/mailbox.rst:1194 -#: ../Doc/library/mailbox.rst:1452 +#: ../Doc/library/mailbox.rst:936 ../Doc/library/mailbox.rst:1075 +#: ../Doc/library/mailbox.rst:1172 ../Doc/library/mailbox.rst:1188 +#: ../Doc/library/mailbox.rst:1446 msgid "\"flagged\" sequence" msgstr "secuencia \"*flagged*\" (marcada)" -#: ../Doc/library/mailbox.rst:944 ../Doc/library/mailbox.rst:1083 -#: ../Doc/library/mailbox.rst:1176 ../Doc/library/mailbox.rst:1192 -#: ../Doc/library/mailbox.rst:1205 ../Doc/library/mailbox.rst:1333 -#: ../Doc/library/mailbox.rst:1454 +#: ../Doc/library/mailbox.rst:938 ../Doc/library/mailbox.rst:1077 +#: ../Doc/library/mailbox.rst:1170 ../Doc/library/mailbox.rst:1186 +#: ../Doc/library/mailbox.rst:1199 ../Doc/library/mailbox.rst:1327 +#: ../Doc/library/mailbox.rst:1448 msgid "\"replied\" sequence" msgstr "Secuencia \"*replied*\" (respondida)" -#: ../Doc/library/mailbox.rst:947 +#: ../Doc/library/mailbox.rst:941 msgid "" "When a :class:`MaildirMessage` instance is created based upon a :class:" "`BabylMessage` instance, the following conversions take place:" @@ -1721,49 +1703,49 @@ msgstr "" "Cuando se crea una instancia :class:`MaildirMessage` basada en una " "instancia :class:`BabylMessage`, se producen las siguientes conversiones:" -#: ../Doc/library/mailbox.rst:951 ../Doc/library/mailbox.rst:1090 -#: ../Doc/library/mailbox.rst:1201 ../Doc/library/mailbox.rst:1461 +#: ../Doc/library/mailbox.rst:945 ../Doc/library/mailbox.rst:1084 +#: ../Doc/library/mailbox.rst:1195 ../Doc/library/mailbox.rst:1455 msgid ":class:`BabylMessage` state" msgstr "Estado :class:`BabylMessage`" -#: ../Doc/library/mailbox.rst:953 ../Doc/library/mailbox.rst:1094 -#: ../Doc/library/mailbox.rst:1203 ../Doc/library/mailbox.rst:1300 -#: ../Doc/library/mailbox.rst:1318 ../Doc/library/mailbox.rst:1331 -#: ../Doc/library/mailbox.rst:1465 +#: ../Doc/library/mailbox.rst:947 ../Doc/library/mailbox.rst:1088 +#: ../Doc/library/mailbox.rst:1197 ../Doc/library/mailbox.rst:1294 +#: ../Doc/library/mailbox.rst:1312 ../Doc/library/mailbox.rst:1325 +#: ../Doc/library/mailbox.rst:1459 msgid "\"unseen\" label" msgstr "etiqueta \"*unseen*\" (invisible)" -#: ../Doc/library/mailbox.rst:955 ../Doc/library/mailbox.rst:1092 -#: ../Doc/library/mailbox.rst:1463 +#: ../Doc/library/mailbox.rst:949 ../Doc/library/mailbox.rst:1086 +#: ../Doc/library/mailbox.rst:1457 msgid "no \"unseen\" label" msgstr "no hay una etiqueta \"*unseen*\" (invisible)" -#: ../Doc/library/mailbox.rst:957 ../Doc/library/mailbox.rst:1306 +#: ../Doc/library/mailbox.rst:951 ../Doc/library/mailbox.rst:1300 msgid "P flag" msgstr "indicador P" -#: ../Doc/library/mailbox.rst:957 +#: ../Doc/library/mailbox.rst:951 msgid "\"forwarded\" or \"resent\" label" msgstr "etiqueta \"*forwarded*\" o \"*resent*\" (reenviado)" -#: ../Doc/library/mailbox.rst:959 ../Doc/library/mailbox.rst:1098 -#: ../Doc/library/mailbox.rst:1205 ../Doc/library/mailbox.rst:1304 -#: ../Doc/library/mailbox.rst:1322 ../Doc/library/mailbox.rst:1333 -#: ../Doc/library/mailbox.rst:1469 +#: ../Doc/library/mailbox.rst:953 ../Doc/library/mailbox.rst:1092 +#: ../Doc/library/mailbox.rst:1199 ../Doc/library/mailbox.rst:1298 +#: ../Doc/library/mailbox.rst:1316 ../Doc/library/mailbox.rst:1327 +#: ../Doc/library/mailbox.rst:1463 msgid "\"answered\" label" msgstr "etiqueta de \"*answered*\" (contestado)" -#: ../Doc/library/mailbox.rst:961 ../Doc/library/mailbox.rst:1096 -#: ../Doc/library/mailbox.rst:1302 ../Doc/library/mailbox.rst:1320 -#: ../Doc/library/mailbox.rst:1467 +#: ../Doc/library/mailbox.rst:955 ../Doc/library/mailbox.rst:1090 +#: ../Doc/library/mailbox.rst:1296 ../Doc/library/mailbox.rst:1314 +#: ../Doc/library/mailbox.rst:1461 msgid "\"deleted\" label" msgstr "etiqueta \"deleted\" (borrado)" -#: ../Doc/library/mailbox.rst:968 +#: ../Doc/library/mailbox.rst:962 msgid ":class:`mboxMessage`" msgstr ":class:`mboxMessage`" -#: ../Doc/library/mailbox.rst:973 +#: ../Doc/library/mailbox.rst:967 msgid "" "A message with mbox-specific behaviors. Parameter *message* has the same " "meaning as with the :class:`Message` constructor." @@ -1771,7 +1753,7 @@ msgstr "" "Un mensaje con comportamientos específicos de mbox. El parámetro *message* " "tiene el mismo significado que con el constructor :class:`Message`." -#: ../Doc/library/mailbox.rst:976 +#: ../Doc/library/mailbox.rst:970 msgid "" "Messages in an mbox mailbox are stored together in a single file. The " "sender's envelope address and the time of delivery are typically stored in a " @@ -1790,35 +1772,35 @@ msgstr "" "o marcado como importante, se almacenan típicamente en las cabeceras :" "mailheader:`Status` y :mailheader:`X-Status`." -#: ../Doc/library/mailbox.rst:984 +#: ../Doc/library/mailbox.rst:978 msgid "Conventional flags for mbox messages are as follows:" msgstr "Los flags convencionales para los mensajes de mbox son los siguientes:" -#: ../Doc/library/mailbox.rst:991 ../Doc/library/mailbox.rst:1361 +#: ../Doc/library/mailbox.rst:985 ../Doc/library/mailbox.rst:1355 msgid "O" msgstr "O" -#: ../Doc/library/mailbox.rst:991 ../Doc/library/mailbox.rst:1361 +#: ../Doc/library/mailbox.rst:985 ../Doc/library/mailbox.rst:1355 msgid "Old" msgstr "Antiguo" -#: ../Doc/library/mailbox.rst:991 ../Doc/library/mailbox.rst:1361 +#: ../Doc/library/mailbox.rst:985 ../Doc/library/mailbox.rst:1355 msgid "Previously detected by MUA" msgstr "Anteriormente detectado por MUA" -#: ../Doc/library/mailbox.rst:993 ../Doc/library/mailbox.rst:1363 +#: ../Doc/library/mailbox.rst:987 ../Doc/library/mailbox.rst:1357 msgid "Deleted" msgstr "Borrado" -#: ../Doc/library/mailbox.rst:997 ../Doc/library/mailbox.rst:1367 +#: ../Doc/library/mailbox.rst:991 ../Doc/library/mailbox.rst:1361 msgid "A" msgstr "A" -#: ../Doc/library/mailbox.rst:997 ../Doc/library/mailbox.rst:1367 +#: ../Doc/library/mailbox.rst:991 ../Doc/library/mailbox.rst:1361 msgid "Answered" msgstr "Respondido" -#: ../Doc/library/mailbox.rst:1000 ../Doc/library/mailbox.rst:1370 +#: ../Doc/library/mailbox.rst:994 ../Doc/library/mailbox.rst:1364 msgid "" "The \"R\" and \"O\" flags are stored in the :mailheader:`Status` header, and " "the \"D\", \"F\", and \"A\" flags are stored in the :mailheader:`X-Status` " @@ -1829,11 +1811,11 @@ msgstr "" "Status`. Los flags y los encabezados aparecen típicamente en el orden " "mencionado." -#: ../Doc/library/mailbox.rst:1004 +#: ../Doc/library/mailbox.rst:998 msgid ":class:`mboxMessage` instances offer the following methods:" msgstr "Instancias de :class:`mboxMessage` ofrecen los siguientes métodos:" -#: ../Doc/library/mailbox.rst:1009 ../Doc/library/mailbox.rst:1380 +#: ../Doc/library/mailbox.rst:1003 ../Doc/library/mailbox.rst:1374 msgid "" "Return a string representing the \"From \" line that marks the start of the " "message in an mbox mailbox. The leading \"From \" and the trailing newline " @@ -1843,7 +1825,7 @@ msgstr "" "mensaje en un buzón de correo de mbox. El \"From\" inicial y la nueva línea " "final están excluidas." -#: ../Doc/library/mailbox.rst:1016 ../Doc/library/mailbox.rst:1387 +#: ../Doc/library/mailbox.rst:1010 ../Doc/library/mailbox.rst:1381 msgid "" "Set the \"From \" line to *from_*, which should be specified without a " "leading \"From \" or trailing newline. For convenience, *time_* may be " @@ -1859,7 +1841,7 @@ msgstr "" "una tupla adecuada para pasar a :meth:`time.strftime`, o ``True`` (para " "usar :meth:`time.gmtime`)." -#: ../Doc/library/mailbox.rst:1026 ../Doc/library/mailbox.rst:1397 +#: ../Doc/library/mailbox.rst:1020 ../Doc/library/mailbox.rst:1391 msgid "" "Return a string specifying the flags that are currently set. If the message " "complies with the conventional format, the result is the concatenation in " @@ -1871,7 +1853,7 @@ msgstr "" "es la concatenación en el siguiente orden de cero o una ocurrencia de cada " "uno de los flags `'R'``, ``'O'``, ``'D'``, ``'F'``, and ``'A'``." -#: ../Doc/library/mailbox.rst:1034 ../Doc/library/mailbox.rst:1405 +#: ../Doc/library/mailbox.rst:1028 ../Doc/library/mailbox.rst:1399 msgid "" "Set the flags specified by *flags* and unset all others. Parameter *flags* " "should be the concatenation in any order of zero or more occurrences of each " @@ -1882,7 +1864,7 @@ msgstr "" "más ocurrencias de cada uno de los flags ``'R'``, ``'O'``, ``'D'``, ``'F'``, " "and ``'A'``." -#: ../Doc/library/mailbox.rst:1041 ../Doc/library/mailbox.rst:1412 +#: ../Doc/library/mailbox.rst:1035 ../Doc/library/mailbox.rst:1406 msgid "" "Set the flag(s) specified by *flag* without changing other flags. To add " "more than one flag at a time, *flag* may be a string of more than one " @@ -1892,7 +1874,7 @@ msgstr "" "Para añadir más de un indicador a la vez, *flag* puede ser una cadena de más " "de un carácter." -#: ../Doc/library/mailbox.rst:1048 ../Doc/library/mailbox.rst:1419 +#: ../Doc/library/mailbox.rst:1042 ../Doc/library/mailbox.rst:1413 msgid "" "Unset the flag(s) specified by *flag* without changing other flags. To " "remove more than one flag at a time, *flag* maybe a string of more than one " @@ -1902,7 +1884,7 @@ msgstr "" "flags. Para quitar más de un indicador a la vez, *flag* puede ser una cadena " "de más de un carácter." -#: ../Doc/library/mailbox.rst:1052 +#: ../Doc/library/mailbox.rst:1046 msgid "" "When an :class:`mboxMessage` instance is created based upon a :class:" "`MaildirMessage` instance, a \"From \" line is generated based upon the :" @@ -1914,12 +1896,12 @@ msgstr "" "entrega de la instancia :class:`MaildirMessage`, y se realizan las " "siguientes conversiones:" -#: ../Doc/library/mailbox.rst:1058 ../Doc/library/mailbox.rst:1172 -#: ../Doc/library/mailbox.rst:1298 ../Doc/library/mailbox.rst:1429 +#: ../Doc/library/mailbox.rst:1052 ../Doc/library/mailbox.rst:1166 +#: ../Doc/library/mailbox.rst:1292 ../Doc/library/mailbox.rst:1423 msgid ":class:`MaildirMessage` state" msgstr "Estado de :class:`MaildirMessage`" -#: ../Doc/library/mailbox.rst:1071 +#: ../Doc/library/mailbox.rst:1065 msgid "" "When an :class:`mboxMessage` instance is created based upon an :class:" "`MHMessage` instance, the following conversions take place:" @@ -1927,12 +1909,12 @@ msgstr "" "Cuando se crea una instancia :class:`mboxMessage` basada en una instancia :" "class:`MHMessage`, se producen las siguientes conversiones:" -#: ../Doc/library/mailbox.rst:1077 ../Doc/library/mailbox.rst:1092 -#: ../Doc/library/mailbox.rst:1448 ../Doc/library/mailbox.rst:1463 +#: ../Doc/library/mailbox.rst:1071 ../Doc/library/mailbox.rst:1086 +#: ../Doc/library/mailbox.rst:1442 ../Doc/library/mailbox.rst:1457 msgid "R flag and O flag" msgstr "indicador R e indicador O" -#: ../Doc/library/mailbox.rst:1086 +#: ../Doc/library/mailbox.rst:1080 msgid "" "When an :class:`mboxMessage` instance is created based upon a :class:" "`BabylMessage` instance, the following conversions take place:" @@ -1940,7 +1922,7 @@ msgstr "" "Cuando se crea una instancia :class:`mboxMessage` basada en una instancia :" "class:`BabylMessage`, se producen las siguientes conversiones:" -#: ../Doc/library/mailbox.rst:1101 +#: ../Doc/library/mailbox.rst:1095 msgid "" "When a :class:`Message` instance is created based upon an :class:" "`MMDFMessage` instance, the \"From \" line is copied and all flags directly " @@ -1950,15 +1932,15 @@ msgstr "" "`MMDFMessage`, la línea \"From\" se copia y todas los flags se corresponden " "directamente:" -#: ../Doc/library/mailbox.rst:1105 +#: ../Doc/library/mailbox.rst:1099 msgid ":class:`MMDFMessage` state" msgstr "Estado de :class:`MMDFMessage`" -#: ../Doc/library/mailbox.rst:1122 +#: ../Doc/library/mailbox.rst:1116 msgid ":class:`MHMessage`" msgstr ":class:`MHMessage`" -#: ../Doc/library/mailbox.rst:1127 +#: ../Doc/library/mailbox.rst:1121 msgid "" "A message with MH-specific behaviors. Parameter *message* has the same " "meaning as with the :class:`Message` constructor." @@ -1966,7 +1948,7 @@ msgstr "" "Un mensaje con comportamientos específicos de la HM. El parámetro *message* " "tiene el mismo significado que con el constructor :class:`Message`." -#: ../Doc/library/mailbox.rst:1130 +#: ../Doc/library/mailbox.rst:1124 msgid "" "MH messages do not support marks or flags in the traditional sense, but they " "do support sequences, which are logical groupings of arbitrary messages. " @@ -1980,49 +1962,49 @@ msgstr "" "`mh` y :program:`nmh`) usan secuencias de manera muy similar a los flags que " "se usan con otros formatos, como sigue:" -#: ../Doc/library/mailbox.rst:1137 +#: ../Doc/library/mailbox.rst:1131 msgid "Sequence" msgstr "Secuencia" -#: ../Doc/library/mailbox.rst:1139 ../Doc/library/mailbox.rst:1226 +#: ../Doc/library/mailbox.rst:1133 ../Doc/library/mailbox.rst:1220 msgid "unseen" msgstr "*unseen* (no visto)" -#: ../Doc/library/mailbox.rst:1139 ../Doc/library/mailbox.rst:1226 +#: ../Doc/library/mailbox.rst:1133 ../Doc/library/mailbox.rst:1220 msgid "Not read, but previously detected by MUA" msgstr "No leído, pero previamente detectado por la MUA" -#: ../Doc/library/mailbox.rst:1141 +#: ../Doc/library/mailbox.rst:1135 msgid "replied" msgstr "*replied* (contestado)" -#: ../Doc/library/mailbox.rst:1143 +#: ../Doc/library/mailbox.rst:1137 msgid "flagged" msgstr "*flagged* (marcado)" -#: ../Doc/library/mailbox.rst:1146 +#: ../Doc/library/mailbox.rst:1140 msgid ":class:`MHMessage` instances offer the following methods:" msgstr "Instancias de :class:`MHMessage` ofrecen los siguientes métodos:" -#: ../Doc/library/mailbox.rst:1151 +#: ../Doc/library/mailbox.rst:1145 msgid "Return a list of the names of sequences that include this message." msgstr "" "Retorna una lista de los nombres de las secuencias que incluyen este mensaje." -#: ../Doc/library/mailbox.rst:1156 +#: ../Doc/library/mailbox.rst:1150 msgid "Set the list of sequences that include this message." msgstr "Establece la lista de secuencias que incluyen este mensaje." -#: ../Doc/library/mailbox.rst:1161 +#: ../Doc/library/mailbox.rst:1155 msgid "Add *sequence* to the list of sequences that include this message." msgstr "Añade *sequence* a la lista de secuencias que incluyen este mensaje." -#: ../Doc/library/mailbox.rst:1166 +#: ../Doc/library/mailbox.rst:1160 msgid "Remove *sequence* from the list of sequences that include this message." msgstr "" "Elimina *sequence* de la lista de secuencias que incluyen este mensaje." -#: ../Doc/library/mailbox.rst:1168 +#: ../Doc/library/mailbox.rst:1162 msgid "" "When an :class:`MHMessage` instance is created based upon a :class:" "`MaildirMessage` instance, the following conversions take place:" @@ -2030,11 +2012,11 @@ msgstr "" "Cuando se crea una instancia :class:`MHMessage` basada en una instancia :" "class:`MaildirMessage`, se producen las siguientes conversiones:" -#: ../Doc/library/mailbox.rst:1174 ../Doc/library/mailbox.rst:1300 +#: ../Doc/library/mailbox.rst:1168 ../Doc/library/mailbox.rst:1294 msgid "no S flag" msgstr "no hay indicador S" -#: ../Doc/library/mailbox.rst:1181 +#: ../Doc/library/mailbox.rst:1175 msgid "" "When an :class:`MHMessage` instance is created based upon an :class:" "`mboxMessage` or :class:`MMDFMessage` instance, the :mailheader:`Status` " @@ -2046,11 +2028,11 @@ msgstr "" "mailheader:`Status` y :mailheader:`X-Status` y se producen las siguientes " "conversiones:" -#: ../Doc/library/mailbox.rst:1190 ../Doc/library/mailbox.rst:1318 +#: ../Doc/library/mailbox.rst:1184 ../Doc/library/mailbox.rst:1312 msgid "no R flag" msgstr "sin indicador R" -#: ../Doc/library/mailbox.rst:1197 +#: ../Doc/library/mailbox.rst:1191 msgid "" "When an :class:`MHMessage` instance is created based upon a :class:" "`BabylMessage` instance, the following conversions take place:" @@ -2058,11 +2040,11 @@ msgstr "" "Cuando se crea una instancia :class:`MHMessage` basada en una instancia :" "class:`BabylMessage`, se producen las siguientes conversiones:" -#: ../Doc/library/mailbox.rst:1212 +#: ../Doc/library/mailbox.rst:1206 msgid ":class:`BabylMessage`" msgstr ":class:`BabylMessage`" -#: ../Doc/library/mailbox.rst:1217 +#: ../Doc/library/mailbox.rst:1211 msgid "" "A message with Babyl-specific behaviors. Parameter *message* has the same " "meaning as with the :class:`Message` constructor." @@ -2070,7 +2052,7 @@ msgstr "" "Un mensaje con comportamientos específicos de Babyl. El parámetro *message* " "tiene el mismo significado que con el constructor :class:`Message`." -#: ../Doc/library/mailbox.rst:1220 +#: ../Doc/library/mailbox.rst:1214 msgid "" "Certain message labels, called :dfn:`attributes`, are defined by convention " "to have special meanings. The attributes are as follows:" @@ -2079,51 +2061,51 @@ msgstr "" "por convención para tener significados especiales. Los atributos son los " "siguientes:" -#: ../Doc/library/mailbox.rst:1224 +#: ../Doc/library/mailbox.rst:1218 msgid "Label" msgstr "Etiqueta" -#: ../Doc/library/mailbox.rst:1228 +#: ../Doc/library/mailbox.rst:1222 msgid "deleted" msgstr "*deleted* (borrado)" -#: ../Doc/library/mailbox.rst:1230 +#: ../Doc/library/mailbox.rst:1224 msgid "filed" msgstr "*filed* (archivado)" -#: ../Doc/library/mailbox.rst:1230 +#: ../Doc/library/mailbox.rst:1224 msgid "Copied to another file or mailbox" msgstr "Copiado a otro archivo o buzón de correo" -#: ../Doc/library/mailbox.rst:1232 +#: ../Doc/library/mailbox.rst:1226 msgid "answered" msgstr "*answered* (contestado)" -#: ../Doc/library/mailbox.rst:1234 +#: ../Doc/library/mailbox.rst:1228 msgid "forwarded" msgstr "*forwarded* (reenviado)" -#: ../Doc/library/mailbox.rst:1234 +#: ../Doc/library/mailbox.rst:1228 msgid "Forwarded" msgstr "Reenviado" -#: ../Doc/library/mailbox.rst:1236 +#: ../Doc/library/mailbox.rst:1230 msgid "edited" msgstr "*edited* (editado)" -#: ../Doc/library/mailbox.rst:1236 +#: ../Doc/library/mailbox.rst:1230 msgid "Modified by the user" msgstr "Modificado por el usuario" -#: ../Doc/library/mailbox.rst:1238 +#: ../Doc/library/mailbox.rst:1232 msgid "resent" msgstr "*resent* (reenviado)" -#: ../Doc/library/mailbox.rst:1238 +#: ../Doc/library/mailbox.rst:1232 msgid "Resent" msgstr "Reenviado" -#: ../Doc/library/mailbox.rst:1241 +#: ../Doc/library/mailbox.rst:1235 msgid "" "By default, Rmail displays only visible headers. The :class:`BabylMessage` " "class, though, uses the original headers because they are more complete. " @@ -2134,27 +2116,27 @@ msgstr "" "porque son más completos. Se puede acceder a las cabeceras visibles " "explícitamente si se desea." -#: ../Doc/library/mailbox.rst:1245 +#: ../Doc/library/mailbox.rst:1239 msgid ":class:`BabylMessage` instances offer the following methods:" msgstr "Instancias de :class:`BabylMessage` ofrecen los siguientes métodos:" -#: ../Doc/library/mailbox.rst:1250 +#: ../Doc/library/mailbox.rst:1244 msgid "Return a list of labels on the message." msgstr "Retorna una lista de etiquetas en el mensaje." -#: ../Doc/library/mailbox.rst:1255 +#: ../Doc/library/mailbox.rst:1249 msgid "Set the list of labels on the message to *labels*." msgstr "Establece la lista de etiquetas del mensaje en *labels*." -#: ../Doc/library/mailbox.rst:1260 +#: ../Doc/library/mailbox.rst:1254 msgid "Add *label* to the list of labels on the message." msgstr "Añade *label* a la lista de etiquetas del mensaje." -#: ../Doc/library/mailbox.rst:1265 +#: ../Doc/library/mailbox.rst:1259 msgid "Remove *label* from the list of labels on the message." msgstr "Eliminar *label* de la lista de etiquetas del mensaje." -#: ../Doc/library/mailbox.rst:1270 +#: ../Doc/library/mailbox.rst:1264 msgid "" "Return an :class:`Message` instance whose headers are the message's visible " "headers and whose body is empty." @@ -2162,7 +2144,7 @@ msgstr "" "Retorna una instancia de :class:`Message` cuyos encabezados son los " "encabezados visibles del mensaje y cuyo cuerpo está vacío." -#: ../Doc/library/mailbox.rst:1276 +#: ../Doc/library/mailbox.rst:1270 msgid "" "Set the message's visible headers to be the same as the headers in " "*message*. Parameter *visible* should be a :class:`Message` instance, an :" @@ -2174,7 +2156,7 @@ msgstr "" "`Message`, una instancia :class:`email.message.Message`, una cadena, o un " "objeto tipo archivo (que debe estar abierto en modo texto)." -#: ../Doc/library/mailbox.rst:1284 +#: ../Doc/library/mailbox.rst:1278 msgid "" "When a :class:`BabylMessage` instance's original headers are modified, the " "visible headers are not automatically modified to correspond. This method " @@ -2197,7 +2179,7 @@ msgstr "" "presentes en las cabeceras originales pero no las cabeceras visibles se " "añaden a las cabeceras visibles." -#: ../Doc/library/mailbox.rst:1294 +#: ../Doc/library/mailbox.rst:1288 msgid "" "When a :class:`BabylMessage` instance is created based upon a :class:" "`MaildirMessage` instance, the following conversions take place:" @@ -2205,11 +2187,11 @@ msgstr "" "Cuando se crea una instancia :class:`BabylMessage` basada en una instancia :" "class:`MaildirMessage`, se producen las siguientes conversiones:" -#: ../Doc/library/mailbox.rst:1306 +#: ../Doc/library/mailbox.rst:1300 msgid "\"forwarded\" label" msgstr "etiqueta \"*forwarded*\" (reenviado)" -#: ../Doc/library/mailbox.rst:1309 +#: ../Doc/library/mailbox.rst:1303 msgid "" "When a :class:`BabylMessage` instance is created based upon an :class:" "`mboxMessage` or :class:`MMDFMessage` instance, the :mailheader:`Status` " @@ -2221,7 +2203,7 @@ msgstr "" "mailheader:`Status` y :mailheader:`X-Status` y se producen las siguientes " "conversiones:" -#: ../Doc/library/mailbox.rst:1325 +#: ../Doc/library/mailbox.rst:1319 msgid "" "When a :class:`BabylMessage` instance is created based upon an :class:" "`MHMessage` instance, the following conversions take place:" @@ -2229,11 +2211,11 @@ msgstr "" "Cuando se crea una instancia :class:`BabylMessage` basada en una instancia :" "class:`MHMessage`, se producen las siguientes conversiones:" -#: ../Doc/library/mailbox.rst:1340 +#: ../Doc/library/mailbox.rst:1334 msgid ":class:`MMDFMessage`" msgstr ":class:`MMDFMessage`" -#: ../Doc/library/mailbox.rst:1345 +#: ../Doc/library/mailbox.rst:1339 msgid "" "A message with MMDF-specific behaviors. Parameter *message* has the same " "meaning as with the :class:`Message` constructor." @@ -2241,7 +2223,7 @@ msgstr "" "Un mensaje con comportamientos específicos de MMDF. El parámetro *message* " "tiene el mismo significado que con el constructor :class:`Message`." -#: ../Doc/library/mailbox.rst:1348 +#: ../Doc/library/mailbox.rst:1342 msgid "" "As with message in an mbox mailbox, MMDF messages are stored with the " "sender's address and the delivery date in an initial line beginning with " @@ -2254,7 +2236,7 @@ msgstr "" "indican el estado del mensaje se almacenan típicamente en las cabeceras :" "mailheader:`Status` y :mailheader:`X-Status`." -#: ../Doc/library/mailbox.rst:1353 +#: ../Doc/library/mailbox.rst:1347 msgid "" "Conventional flags for MMDF messages are identical to those of mbox message " "and are as follows:" @@ -2262,7 +2244,7 @@ msgstr "" "Los flags convencionales para los mensajes MMDF son idénticos a las de los " "mensajes de mbox y son los siguientes:" -#: ../Doc/library/mailbox.rst:1374 +#: ../Doc/library/mailbox.rst:1368 msgid "" ":class:`MMDFMessage` instances offer the following methods, which are " "identical to those offered by :class:`mboxMessage`:" @@ -2270,7 +2252,7 @@ msgstr "" "Las instancias de :class:`MMDFMessage` ofrecen los siguientes métodos, que " "son idénticos a los ofrecidos por :class:`mboxMessage`:" -#: ../Doc/library/mailbox.rst:1423 +#: ../Doc/library/mailbox.rst:1417 msgid "" "When an :class:`MMDFMessage` instance is created based upon a :class:" "`MaildirMessage` instance, a \"From \" line is generated based upon the :" @@ -2282,7 +2264,7 @@ msgstr "" "entrega de la instancia :class:`MaildirMessage`, y se realizan las " "siguientes conversiones:" -#: ../Doc/library/mailbox.rst:1442 +#: ../Doc/library/mailbox.rst:1436 msgid "" "When an :class:`MMDFMessage` instance is created based upon an :class:" "`MHMessage` instance, the following conversions take place:" @@ -2290,7 +2272,7 @@ msgstr "" "Cuando se crea una instancia :class:`MMDFMessage` basada en una instancia :" "class:`MHMessage`, se producen las siguientes conversiones:" -#: ../Doc/library/mailbox.rst:1457 +#: ../Doc/library/mailbox.rst:1451 msgid "" "When an :class:`MMDFMessage` instance is created based upon a :class:" "`BabylMessage` instance, the following conversions take place:" @@ -2298,7 +2280,7 @@ msgstr "" "Cuando se crea una instancia :class:`MMDFMessage` basada en una instancia :" "class:`BabylMessage`, se producen las siguientes conversiones:" -#: ../Doc/library/mailbox.rst:1472 +#: ../Doc/library/mailbox.rst:1466 msgid "" "When an :class:`MMDFMessage` instance is created based upon an :class:" "`mboxMessage` instance, the \"From \" line is copied and all flags directly " @@ -2308,26 +2290,26 @@ msgstr "" "class:`mboxMessage`, la línea \"From \" se copia y todos los flags se " "corresponden directamente:" -#: ../Doc/library/mailbox.rst:1477 +#: ../Doc/library/mailbox.rst:1471 msgid ":class:`mboxMessage` state" msgstr "Estado de :class:`mboxMessage`" -#: ../Doc/library/mailbox.rst:1492 +#: ../Doc/library/mailbox.rst:1486 msgid "Exceptions" msgstr "Excepciones" -#: ../Doc/library/mailbox.rst:1494 +#: ../Doc/library/mailbox.rst:1488 msgid "" "The following exception classes are defined in the :mod:`mailbox` module:" msgstr "" "Las siguientes clases de excepción están definidas en el módulo :mod:" "`mailbox`:" -#: ../Doc/library/mailbox.rst:1499 +#: ../Doc/library/mailbox.rst:1493 msgid "The based class for all other module-specific exceptions." msgstr "La clase base para todas las demás excepciones específicas del módulo." -#: ../Doc/library/mailbox.rst:1504 +#: ../Doc/library/mailbox.rst:1498 msgid "" "Raised when a mailbox is expected but is not found, such as when " "instantiating a :class:`Mailbox` subclass with a path that does not exist " @@ -2339,7 +2321,7 @@ msgstr "" "(y con el parámetro *create* establecido en ``False``), o cuando se abre una " "carpeta que no existe." -#: ../Doc/library/mailbox.rst:1511 +#: ../Doc/library/mailbox.rst:1505 msgid "" "Raised when a mailbox is not empty but is expected to be, such as when " "deleting a folder that contains messages." @@ -2347,7 +2329,7 @@ msgstr "" "Se lanza cuando un buzón de correo no está vacío, pero se espera que lo " "esté, como cuando se elimina una carpeta que contiene mensajes." -#: ../Doc/library/mailbox.rst:1517 +#: ../Doc/library/mailbox.rst:1511 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 " @@ -2359,7 +2341,7 @@ msgstr "" "cuando se falla en la adquisición de un bloqueo que es mantenido por otro " "programa, o cuando ya existe un nombre de archivo generado de forma única." -#: ../Doc/library/mailbox.rst:1525 +#: ../Doc/library/mailbox.rst:1519 msgid "" "Raised when the data in a file cannot be parsed, such as when an :class:`MH` " "instance attempts to read a corrupted :file:`.mh_sequences` file." @@ -2368,11 +2350,11 @@ msgstr "" "cuando una instancia :class:`MH` intenta leer un archivo :file:`." "mh_sequences` corrupto." -#: ../Doc/library/mailbox.rst:1532 +#: ../Doc/library/mailbox.rst:1526 msgid "Examples" msgstr "Ejemplos" -#: ../Doc/library/mailbox.rst:1534 +#: ../Doc/library/mailbox.rst:1528 msgid "" "A simple example of printing the subjects of all messages in a mailbox that " "seem interesting::" @@ -2380,7 +2362,7 @@ msgstr "" "Un simple ejemplo de impresión de los temas de todos los mensajes en un " "buzón de correo que parecen interesantes::" -#: ../Doc/library/mailbox.rst:1543 +#: ../Doc/library/mailbox.rst:1537 msgid "" "To copy all mail from a Babyl mailbox to an MH mailbox, converting all of " "the format-specific information that can be converted::" @@ -2389,7 +2371,7 @@ msgstr "" "convirtiendo toda la información de formato específico que puede ser " "convertida::" -#: ../Doc/library/mailbox.rst:1554 +#: ../Doc/library/mailbox.rst:1548 msgid "" "This example sorts mail from several mailing lists into different mailboxes, " "being careful to avoid mail corruption due to concurrent modification by " @@ -2401,3 +2383,21 @@ msgstr "" "modificación simultánea por otros programas, la pérdida de correo debido a " "la interrupción del programa, o la terminación prematura debido a mensajes " "malformados en el buzón::" + +#~ msgid "" +#~ "`maildir man page from qmail `_" +#~ msgstr "" +#~ "`pagina web maildir de qmail `__" + +#~ msgid "The original specification of the format." +#~ msgstr "La especificación original del formato." + +#~ msgid "" +#~ "`mbox man page from qmail `_" +#~ msgstr "" +#~ "`pagina web mbox de qmail `_" + +#~ msgid "A specification of the format and its variations." +#~ msgstr "Una especificación del formato y sus variaciones." diff --git a/library/math.po b/library/math.po index 1706ac1cd6..1916581752 100644 --- a/library/math.po +++ b/library/math.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-10-17 19:44+0200\n" +"Last-Translator: Francisco Jesús Sevilla García \n" +"Language: es_ES\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Francisco Jesús Sevilla García \n" -"Language: es_ES\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/math.rst:2 msgid ":mod:`math` --- Mathematical functions" @@ -104,7 +103,7 @@ msgstr "" "del k-ésimo término en el desarrollo polinomial de la expresión ``(1 + x) ** " "n``." -#: ../Doc/library/math.rst:51 ../Doc/library/math.rst:224 +#: ../Doc/library/math.rst:51 ../Doc/library/math.rst:260 msgid "" "Raises :exc:`TypeError` if either of the arguments are not integers. Raises :" "exc:`ValueError` if either of the arguments are negative." @@ -135,7 +134,11 @@ msgstr "" "Retorna el factorial de *x* como un número entero. Lanza una excepción :exc:" "`ValueError` si *x* no es un entero o es negativo." -#: ../Doc/library/math.rst:77 +#: ../Doc/library/math.rst:74 +msgid "Accepting floats with integral values (like ``5.0``) is deprecated." +msgstr "" + +#: ../Doc/library/math.rst:80 msgid "" "Return the floor of *x*, the largest integer less than or equal to *x*. If " "*x* is not a float, delegates to ``x.__floor__()``, which should return an :" @@ -145,7 +148,7 @@ msgstr "" "Si *x* no es un flotante, delega en ``x .__floor__()``, que debería retornar " "un valor :class:`~numbers.Integral`." -#: ../Doc/library/math.rst:84 +#: ../Doc/library/math.rst:87 #, python-format msgid "" "Return ``fmod(x, y)``, as defined by the platform C library. Note that the " @@ -176,7 +179,7 @@ msgstr "" "trabaja con flotantes, mientras que se prefiere el uso de ``x % y`` de " "Python cuando se trabaja con enteros." -#: ../Doc/library/math.rst:99 +#: ../Doc/library/math.rst:102 msgid "" "Return the mantissa and exponent of *x* as the pair ``(m, e)``. *m* is a " "float and *e* is an integer such that ``x == m * 2**e`` exactly. If *x* is " @@ -189,7 +192,7 @@ msgstr "" "contrario. Se utiliza como una forma portable de \"extraer\" la " "representación interna de un flotante." -#: ../Doc/library/math.rst:107 +#: ../Doc/library/math.rst:110 msgid "" "Return an accurate floating point sum of values in the iterable. Avoids " "loss of precision by tracking multiple intermediate partial sums::" @@ -198,7 +201,7 @@ msgstr "" "Evita la pérdida de precisión mediante el seguimiento de múltiples sumas " "parciales intermedias::" -#: ../Doc/library/math.rst:115 +#: ../Doc/library/math.rst:118 msgid "" "The algorithm's accuracy depends on IEEE-754 arithmetic guarantees and the " "typical case where the rounding mode is half-even. On some non-Windows " @@ -213,7 +216,7 @@ msgstr "" "ocasionalmente, puede realizar un doble redondeo en una suma intermedia, " "haciendo que el bit menos significativo tome el valor incorrecto." -#: ../Doc/library/math.rst:121 +#: ../Doc/library/math.rst:124 msgid "" "For further discussion and two alternative approaches, see the `ASPN " "cookbook recipes for accurate floating point summation `_\\." -#: ../Doc/library/math.rst:128 +#: ../Doc/library/math.rst:131 msgid "" -"Return the greatest common divisor of the integers *a* and *b*. If either " -"*a* or *b* is nonzero, then the value of ``gcd(a, b)`` is the largest " -"positive integer that divides both *a* and *b*. ``gcd(0, 0)`` returns ``0``." +"Return the greatest common divisor of the specified integer arguments. If " +"any of the arguments is nonzero, then the returned value is the largest " +"positive integer that is a divisor of all arguments. If all arguments are " +"zero, then the returned value is ``0``. ``gcd()`` without arguments returns " +"``0``." msgstr "" -"Retorna el máximo común divisor de los números enteros *a* y *b*. Si *a* o " -"*b* son distintos de cero, el valor de ``gcd(a, b)`` es el mayor entero " -"positivo que divide a ambos, *a* y *b*. ``gcd(0, 0)`` retorna ``0``." -#: ../Doc/library/math.rst:138 +#: ../Doc/library/math.rst:139 +#, fuzzy +msgid "" +"Added support for an arbitrary number of arguments. Formerly, only two " +"arguments were supported." +msgstr "" +"Agregado soporte para puntos n-dimensionales. Anteriormente, solo se admitía " +"el caso bidimensional." + +#: ../Doc/library/math.rst:146 msgid "" "Return ``True`` if the values *a* and *b* are close to each other and " "``False`` otherwise." @@ -241,7 +252,7 @@ msgstr "" "Retorna ``True`` si los valores *a* y *b* están cerca el uno del otro y " "``False`` en caso contrario." -#: ../Doc/library/math.rst:141 +#: ../Doc/library/math.rst:149 msgid "" "Whether or not two values are considered close is determined according to " "given absolute and relative tolerances." @@ -249,7 +260,7 @@ msgstr "" "Que dos valores se consideren cercanos o no, se determina de acuerdo con las " "tolerancias absolutas y relativas dadas." -#: ../Doc/library/math.rst:144 +#: ../Doc/library/math.rst:152 msgid "" "*rel_tol* is the relative tolerance -- it is the maximum allowed difference " "between *a* and *b*, relative to the larger absolute value of *a* or *b*. " @@ -264,7 +275,7 @@ msgstr "" "sean iguales considerando 9 dígitos decimales aproximadamente. *rel_tol* " "debe ser mayor que cero." -#: ../Doc/library/math.rst:150 +#: ../Doc/library/math.rst:158 msgid "" "*abs_tol* is the minimum absolute tolerance -- useful for comparisons near " "zero. *abs_tol* must be at least zero." @@ -272,7 +283,7 @@ msgstr "" "*abs_tol* es la tolerancia absoluta mínima, útil para las comparaciones " "cercanas a cero. *abs_tol* debe valer al menos cero." -#: ../Doc/library/math.rst:153 +#: ../Doc/library/math.rst:161 msgid "" "If no errors occur, the result will be: ``abs(a-b) <= max(rel_tol * " "max(abs(a), abs(b)), abs_tol)``." @@ -280,7 +291,7 @@ msgstr "" "Si no se encuentran errores, el resultado será: ``abs(a-b) <= max(rel_tol * " "max(abs(a), abs(b)), abs_tol)``." -#: ../Doc/library/math.rst:156 +#: ../Doc/library/math.rst:164 msgid "" "The IEEE 754 special values of ``NaN``, ``inf``, and ``-inf`` will be " "handled according to IEEE rules. Specifically, ``NaN`` is not considered " @@ -292,11 +303,11 @@ msgstr "" "cercano a ningún otro valor, incluido ``NaN``. Por su parte, ``inf`` e ``-" "inf`` solo se consideran cercanos a sí mismos." -#: ../Doc/library/math.rst:165 +#: ../Doc/library/math.rst:173 msgid ":pep:`485` -- A function for testing approximate equality" msgstr ":pep:`485` -- Una función para comprobar la igualdad aproximada" -#: ../Doc/library/math.rst:170 +#: ../Doc/library/math.rst:178 msgid "" "Return ``True`` if *x* is neither an infinity nor a NaN, and ``False`` " "otherwise. (Note that ``0.0`` *is* considered finite.)" @@ -304,7 +315,7 @@ msgstr "" "Retorna ``True`` si *x* no es infinito ni NaN, o ``False`` en caso " "contrario. (Ten en cuenta que ``0.0`` *es* considerado finito.)" -#: ../Doc/library/math.rst:178 +#: ../Doc/library/math.rst:186 msgid "" "Return ``True`` if *x* is a positive or negative infinity, and ``False`` " "otherwise." @@ -312,14 +323,14 @@ msgstr "" "Retorna ``True`` si *x* es infinito positivo o negativo, o ``False`` en caso " "contrario." -#: ../Doc/library/math.rst:184 +#: ../Doc/library/math.rst:192 msgid "" "Return ``True`` if *x* is a NaN (not a number), and ``False`` otherwise." msgstr "" "Retorna ``True`` si *x* es NaN (not a number, en español: no es un número), " "o ``False`` en caso contrario." -#: ../Doc/library/math.rst:189 +#: ../Doc/library/math.rst:197 msgid "" "Return the integer square root of the nonnegative integer *n*. This is the " "floor of the exact square root of *n*, or equivalently the greatest integer " @@ -329,7 +340,7 @@ msgstr "" "de aplicar la función suelo al valor exacto de la raíz cuadrada de *n*, o de " "forma equivalente, el mayor entero *a* tal que *a*\\ ² |nbsp| ≤ |nbsp| *n*." -#: ../Doc/library/math.rst:193 +#: ../Doc/library/math.rst:201 msgid "" "For some applications, it may be more convenient to have the least integer " "*a* such that *n* |nbsp| ≤ |nbsp| *a*\\ ², or in other words the ceiling of " @@ -341,7 +352,16 @@ msgstr "" "resultado de aplicar la función techo a la raíz cuadrada exacta de *n*. Para " "*n* positivo, esto se puede calcular usando ``a = 1 + isqrt(n - 1)``." -#: ../Doc/library/math.rst:203 +#: ../Doc/library/math.rst:211 +msgid "" +"Return the least common multiple of the specified integer arguments. If all " +"arguments are nonzero, then the returned value is the smallest positive " +"integer that is a multiple of all arguments. If any of the arguments is " +"zero, then the returned value is ``0``. ``lcm()`` without arguments returns " +"``1``." +msgstr "" + +#: ../Doc/library/math.rst:222 msgid "" "Return ``x * (2**i)``. This is essentially the inverse of function :func:" "`frexp`." @@ -349,7 +369,7 @@ msgstr "" "Retorna ``x * (2**i)``. Esta es esencialmente la función inversa de :func:" "`frexp`." -#: ../Doc/library/math.rst:209 +#: ../Doc/library/math.rst:228 msgid "" "Return the fractional and integer parts of *x*. Both results carry the sign " "of *x* and are floats." @@ -357,7 +377,39 @@ msgstr "" "Retorna la parte fraccionaria y entera de *x*. Ambos resultados son " "flotantes y tienen el mismo signo que *x* ." -#: ../Doc/library/math.rst:215 +#: ../Doc/library/math.rst:234 +msgid "Return the next floating-point value after *x* towards *y*." +msgstr "" + +#: ../Doc/library/math.rst:236 +msgid "If *x* is equal to *y*, return *y*." +msgstr "" + +#: ../Doc/library/math.rst:238 +msgid "Examples:" +msgstr "" + +#: ../Doc/library/math.rst:240 +msgid "``math.nextafter(x, math.inf)`` goes up: towards positive infinity." +msgstr "" + +#: ../Doc/library/math.rst:241 +msgid "``math.nextafter(x, -math.inf)`` goes down: towards minus infinity." +msgstr "" + +#: ../Doc/library/math.rst:242 +msgid "``math.nextafter(x, 0.0)`` goes towards zero." +msgstr "" + +#: ../Doc/library/math.rst:243 +msgid "``math.nextafter(x, math.copysign(math.inf, x))`` goes away from zero." +msgstr "" + +#: ../Doc/library/math.rst:245 +msgid "See also :func:`math.ulp`." +msgstr "" + +#: ../Doc/library/math.rst:251 msgid "" "Return the number of ways to choose *k* items from *n* items without " "repetition and with order." @@ -365,7 +417,7 @@ msgstr "" "Retorna el número de formas posibles de elegir *k* elementos de *n* " "elementos, sin repetición y en orden." -#: ../Doc/library/math.rst:218 +#: ../Doc/library/math.rst:254 msgid "" "Evaluates to ``n! / (n - k)!`` when ``k <= n`` and evaluates to zero when " "``k > n``." @@ -373,7 +425,7 @@ msgstr "" "Se evalúa como ``n! / (n - k)!`` cuando ``k <= n`` y como cero cuando ``k > " "n``." -#: ../Doc/library/math.rst:221 +#: ../Doc/library/math.rst:257 msgid "" "If *k* is not specified or is None, then *k* defaults to *n* and the " "function returns ``n!``." @@ -381,7 +433,7 @@ msgstr "" "Si *k* no se especifica o es None, *k* será igual a *n* por defecto y la " "función retornará ``n!``." -#: ../Doc/library/math.rst:232 +#: ../Doc/library/math.rst:268 msgid "" "Calculate the product of all the elements in the input *iterable*. The " "default *start* value for the product is ``1``." @@ -389,7 +441,7 @@ msgstr "" "Calcula el producto de todos los elementos en la entrada *iterable*. El " "valor *start* predeterminado para el producto es ``1``." -#: ../Doc/library/math.rst:235 +#: ../Doc/library/math.rst:271 msgid "" "When the iterable is empty, return the start value. This function is " "intended specifically for use with numeric values and may reject non-numeric " @@ -399,7 +451,7 @@ msgstr "" "diseñada específicamente para su uso con valores numéricos y puede rechazar " "tipos no numéricos." -#: ../Doc/library/math.rst:244 +#: ../Doc/library/math.rst:280 msgid "" "Return the IEEE 754-style remainder of *x* with respect to *y*. For finite " "*x* and finite nonzero *y*, this is the difference ``x - n*y``, where ``n`` " @@ -416,7 +468,7 @@ msgstr "" "``n``. Por lo tanto, el residuo ``r = remainder(x, y)`` siempre satisface " "``abs(r) <= 0.5 * abs(y)``." -#: ../Doc/library/math.rst:251 +#: ../Doc/library/math.rst:287 msgid "" "Special cases follow IEEE 754: in particular, ``remainder(x, math.inf)`` is " "*x* for any finite *x*, and ``remainder(x, 0)`` and ``remainder(math.inf, " @@ -429,7 +481,7 @@ msgstr "" "`ValueError` para todo *x* que no sea NaN. Si el resultado de la operación " "residuo es cero, este cero tendrá el mismo signo que *x*." -#: ../Doc/library/math.rst:257 +#: ../Doc/library/math.rst:293 msgid "" "On platforms using IEEE 754 binary floating-point, the result of this " "operation is always exactly representable: no rounding error is introduced." @@ -438,7 +490,7 @@ msgstr "" "binarios, el resultado de esta operación siempre es exactamente " "representable: no se introduce ningún error de redondeo." -#: ../Doc/library/math.rst:265 +#: ../Doc/library/math.rst:301 msgid "" "Return the :class:`~numbers.Real` value *x* truncated to an :class:`~numbers." "Integral` (usually an integer). Delegates to :meth:`x.__trunc__() `." -#: ../Doc/library/math.rst:270 +#: ../Doc/library/math.rst:307 +msgid "Return the value of the least significant bit of the float *x*:" +msgstr "" + +#: ../Doc/library/math.rst:309 +msgid "If *x* is a NaN (not a number), return *x*." +msgstr "" + +#: ../Doc/library/math.rst:310 +msgid "If *x* is negative, return ``ulp(-x)``." +msgstr "" + +#: ../Doc/library/math.rst:311 +msgid "If *x* is a positive infinity, return *x*." +msgstr "" + +#: ../Doc/library/math.rst:312 +msgid "" +"If *x* is equal to zero, return the smallest positive *denormalized* " +"representable float (smaller than the minimum positive *normalized* float, :" +"data:`sys.float_info.min `)." +msgstr "" + +#: ../Doc/library/math.rst:315 +msgid "" +"If *x* is equal to the largest positive representable float, return the " +"value of the least significant bit of *x*, such that the first float smaller " +"than *x* is ``x - ulp(x)``." +msgstr "" + +#: ../Doc/library/math.rst:318 +msgid "" +"Otherwise (*x* is a positive finite number), return the value of the least " +"significant bit of *x*, such that the first float bigger than *x* is ``x + " +"ulp(x)``." +msgstr "" + +#: ../Doc/library/math.rst:322 +msgid "ULP stands for \"Unit in the Last Place\"." +msgstr "" + +#: ../Doc/library/math.rst:324 +msgid "" +"See also :func:`math.nextafter` and :data:`sys.float_info.epsilon `." +msgstr "" + +#: ../Doc/library/math.rst:330 msgid "" "Note that :func:`frexp` and :func:`modf` have a different call/return " "pattern than their C equivalents: they take a single argument and return a " @@ -460,7 +559,7 @@ msgstr "" "retornan un par de valores, en lugar de retornar su segundo valor de retorno " "a través de un `parámetro de salida` (no existe tal cosa en Python)." -#: ../Doc/library/math.rst:275 +#: ../Doc/library/math.rst:335 msgid "" "For the :func:`ceil`, :func:`floor`, and :func:`modf` functions, note that " "*all* floating-point numbers of sufficiently large magnitude are exact " @@ -475,11 +574,11 @@ msgstr "" "cuyo caso cualquier flotante *x* con ``abs(x) >= 2**52`` no necesariamente " "tiene bits fraccionarios." -#: ../Doc/library/math.rst:283 +#: ../Doc/library/math.rst:343 msgid "Power and logarithmic functions" msgstr "Funciones logarítmicas y exponenciales" -#: ../Doc/library/math.rst:287 +#: ../Doc/library/math.rst:347 msgid "" "Return *e* raised to the power *x*, where *e* = 2.718281... is the base of " "natural logarithms. This is usually more accurate than ``math.e ** x`` or " @@ -489,7 +588,7 @@ msgstr "" "los logaritmos naturales. Esto generalmente es más preciso que ``math.e ** " "x`` o ``pow(math.e, x)``." -#: ../Doc/library/math.rst:294 +#: ../Doc/library/math.rst:354 msgid "" "Return *e* raised to the power *x*, minus 1. Here *e* is the base of " "natural logarithms. For small floats *x*, the subtraction in ``exp(x) - 1`` " @@ -503,11 +602,11 @@ msgstr "" "wikipedia.org/wiki/Loss_of_significance>`_\\; la función :func:`expm1` " "proporciona una forma de calcular este valor con una precisión total::" -#: ../Doc/library/math.rst:311 +#: ../Doc/library/math.rst:371 msgid "With one argument, return the natural logarithm of *x* (to base *e*)." msgstr "Con un argumento, retorna el logaritmo natural de *x* (en base *e*)." -#: ../Doc/library/math.rst:313 +#: ../Doc/library/math.rst:373 msgid "" "With two arguments, return the logarithm of *x* to the given *base*, " "calculated as ``log(x)/log(base)``." @@ -515,7 +614,7 @@ msgstr "" "Con dos argumentos, retorna el logaritmo de *x* en la *base* dada, calculado " "como ``log(x)/log(base)``." -#: ../Doc/library/math.rst:319 +#: ../Doc/library/math.rst:379 msgid "" "Return the natural logarithm of *1+x* (base *e*). The result is calculated " "in a way which is accurate for *x* near zero." @@ -523,7 +622,7 @@ msgstr "" "Retorna el logaritmo natural de *1+x* (base *e*). El resultado se calcula de " "forma precisa para *x* cercano a cero." -#: ../Doc/library/math.rst:325 +#: ../Doc/library/math.rst:385 msgid "" "Return the base-2 logarithm of *x*. This is usually more accurate than " "``log(x, 2)``." @@ -531,7 +630,7 @@ msgstr "" "Retorna el logaritmo en base 2 de *x*. Esto suele ser más preciso que " "``log(x, 2)``." -#: ../Doc/library/math.rst:332 +#: ../Doc/library/math.rst:392 msgid "" ":meth:`int.bit_length` returns the number of bits necessary to represent an " "integer in binary, excluding the sign and leading zeros." @@ -539,7 +638,7 @@ msgstr "" ":meth:`int.bit_length` retorna el número de bits necesarios para representar " "un entero en binario, excluyendo el signo y los ceros iniciales." -#: ../Doc/library/math.rst:338 +#: ../Doc/library/math.rst:398 msgid "" "Return the base-10 logarithm of *x*. This is usually more accurate than " "``log(x, 10)``." @@ -547,7 +646,7 @@ msgstr "" "Retorna el logaritmo en base 10 de *x*. Esto suele ser más preciso que " "``log(x, 10)``." -#: ../Doc/library/math.rst:344 +#: ../Doc/library/math.rst:404 msgid "" "Return ``x`` raised to the power ``y``. Exceptional cases follow Annex 'F' " "of the C99 standard as far as possible. In particular, ``pow(1.0, x)`` and " @@ -562,7 +661,7 @@ msgstr "" "negativo e ``y`` no es un número entero, entonces ``pow(x, y)`` no está " "definido y se lanza una excepción :exc:`ValueError`." -#: ../Doc/library/math.rst:351 +#: ../Doc/library/math.rst:411 msgid "" "Unlike the built-in ``**`` operator, :func:`math.pow` converts both its " "arguments to type :class:`float`. Use ``**`` or the built-in :func:`pow` " @@ -572,27 +671,36 @@ msgstr "" "ambos argumentos al tipo :class:`float`. Utiliza ``**`` o la función " "incorporada :func:`pow` para calcular potencias enteras exactas." -#: ../Doc/library/math.rst:358 +#: ../Doc/library/math.rst:418 msgid "Return the square root of *x*." msgstr "Retorna la raíz cuadrada de *x*." -#: ../Doc/library/math.rst:362 +#: ../Doc/library/math.rst:422 msgid "Trigonometric functions" msgstr "Funciones trigonométricas" -#: ../Doc/library/math.rst:366 -msgid "Return the arc cosine of *x*, in radians." +#: ../Doc/library/math.rst:426 +#, fuzzy +msgid "" +"Return the arc cosine of *x*, in radians. The result is between ``0`` and " +"``pi``." msgstr "Retorna el arcocoseno de *x*, en radianes." -#: ../Doc/library/math.rst:371 -msgid "Return the arc sine of *x*, in radians." +#: ../Doc/library/math.rst:432 +#, fuzzy +msgid "" +"Return the arc sine of *x*, in radians. The result is between ``-pi/2`` and " +"``pi/2``." msgstr "Retorna el arcoseno de *x*, en radianes." -#: ../Doc/library/math.rst:376 -msgid "Return the arc tangent of *x*, in radians." +#: ../Doc/library/math.rst:438 +#, fuzzy +msgid "" +"Return the arc tangent of *x*, in radians. The result is between ``-pi/2`` " +"and ``pi/2``." msgstr "Retorna la arcotangente de *x*, en radianes." -#: ../Doc/library/math.rst:381 +#: ../Doc/library/math.rst:444 msgid "" "Return ``atan(y / x)``, in radians. The result is between ``-pi`` and " "``pi``. The vector in the plane from the origin to point ``(x, y)`` makes " @@ -608,11 +716,11 @@ msgstr "" "cuadrante correcto para el ángulo. Por ejemplo, ``atan(1)`` y ``atan2(1, " "1)`` son ambas ``pi/4``, pero ``atan2(-1, -1)`` es ``-3*pi/4``." -#: ../Doc/library/math.rst:391 +#: ../Doc/library/math.rst:454 msgid "Return the cosine of *x* radians." msgstr "Retorna el coseno de *x* radianes." -#: ../Doc/library/math.rst:396 +#: ../Doc/library/math.rst:459 msgid "" "Return the Euclidean distance between two points *p* and *q*, each given as " "a sequence (or iterable) of coordinates. The two points must have the same " @@ -622,11 +730,11 @@ msgstr "" "ellos dado como una secuencia (o iterable) de coordenadas. Los dos puntos " "deben tener la misma dimensión." -#: ../Doc/library/math.rst:400 +#: ../Doc/library/math.rst:463 msgid "Roughly equivalent to::" msgstr "Aproximadamente equivalente a::" -#: ../Doc/library/math.rst:409 +#: ../Doc/library/math.rst:472 msgid "" "Return the Euclidean norm, ``sqrt(sum(x**2 for x in coordinates))``. This is " "the length of the vector from the origin to the point given by the " @@ -636,7 +744,7 @@ msgstr "" "es la longitud del vector que va desde el origen hasta el punto dado por las " "coordenadas." -#: ../Doc/library/math.rst:413 +#: ../Doc/library/math.rst:476 msgid "" "For a two dimensional point ``(x, y)``, this is equivalent to computing the " "hypotenuse of a right triangle using the Pythagorean theorem, ``sqrt(x*x + " @@ -646,7 +754,7 @@ msgstr "" "hipotenusa de un triángulo rectángulo usando el teorema de Pitágoras, " "``sqrt(x*x + y*y)``." -#: ../Doc/library/math.rst:417 +#: ../Doc/library/math.rst:480 msgid "" "Added support for n-dimensional points. Formerly, only the two dimensional " "case was supported." @@ -654,31 +762,31 @@ msgstr "" "Agregado soporte para puntos n-dimensionales. Anteriormente, solo se admitía " "el caso bidimensional." -#: ../Doc/library/math.rst:424 +#: ../Doc/library/math.rst:487 msgid "Return the sine of *x* radians." msgstr "Retorna el seno de *x* radianes." -#: ../Doc/library/math.rst:429 +#: ../Doc/library/math.rst:492 msgid "Return the tangent of *x* radians." msgstr "Retorna la tangente de *x* radianes." -#: ../Doc/library/math.rst:433 +#: ../Doc/library/math.rst:496 msgid "Angular conversion" msgstr "Conversión angular" -#: ../Doc/library/math.rst:437 +#: ../Doc/library/math.rst:500 msgid "Convert angle *x* from radians to degrees." msgstr "Convierte el ángulo *x* de radianes a grados." -#: ../Doc/library/math.rst:442 +#: ../Doc/library/math.rst:505 msgid "Convert angle *x* from degrees to radians." msgstr "Convierte el ángulo *x* de grados a radianes." -#: ../Doc/library/math.rst:446 +#: ../Doc/library/math.rst:509 msgid "Hyperbolic functions" msgstr "Funciones hiperbólicas" -#: ../Doc/library/math.rst:448 +#: ../Doc/library/math.rst:511 msgid "" "`Hyperbolic functions `_ " "are analogs of trigonometric functions that are based on hyperbolas instead " @@ -688,35 +796,35 @@ msgstr "" "%C3%B3n_hiperb%C3%B3lica>`_ son análogas a las funciones trigonométricas " "pero basadas en hipérbolas en lugar de en círculos." -#: ../Doc/library/math.rst:454 +#: ../Doc/library/math.rst:517 msgid "Return the inverse hyperbolic cosine of *x*." msgstr "Retorna el coseno hiperbólico inverso de *x*." -#: ../Doc/library/math.rst:459 +#: ../Doc/library/math.rst:522 msgid "Return the inverse hyperbolic sine of *x*." msgstr "Retorna el seno hiperbólico inverso de *x*." -#: ../Doc/library/math.rst:464 +#: ../Doc/library/math.rst:527 msgid "Return the inverse hyperbolic tangent of *x*." msgstr "Retorna la tangente hiperbólica inversa de *x*." -#: ../Doc/library/math.rst:469 +#: ../Doc/library/math.rst:532 msgid "Return the hyperbolic cosine of *x*." msgstr "Retorna el coseno hiperbólico de *x*." -#: ../Doc/library/math.rst:474 +#: ../Doc/library/math.rst:537 msgid "Return the hyperbolic sine of *x*." msgstr "Retorna el seno hiperbólico de *x*." -#: ../Doc/library/math.rst:479 +#: ../Doc/library/math.rst:542 msgid "Return the hyperbolic tangent of *x*." msgstr "Retorna la tangente hiperbólica de *x*." -#: ../Doc/library/math.rst:483 +#: ../Doc/library/math.rst:546 msgid "Special functions" msgstr "Funciones especiales" -#: ../Doc/library/math.rst:487 +#: ../Doc/library/math.rst:550 msgid "" "Return the `error function `_ " "at *x*." @@ -724,7 +832,7 @@ msgstr "" "Retorna la `función error `_ en *x*." -#: ../Doc/library/math.rst:490 +#: ../Doc/library/math.rst:553 msgid "" "The :func:`erf` function can be used to compute traditional statistical " "functions such as the `cumulative standard normal distribution `_::" -#: ../Doc/library/math.rst:503 +#: ../Doc/library/math.rst:566 msgid "" "Return the complementary error function at *x*. The `complementary error " "function `_ is defined as " @@ -749,7 +857,7 @@ msgstr "" "resta de 1 causaría una `pérdida de presición `_\\." -#: ../Doc/library/math.rst:514 +#: ../Doc/library/math.rst:577 msgid "" "Return the `Gamma function `_ " "at *x*." @@ -757,28 +865,28 @@ msgstr "" "Retorna la `función gamma `_ en *x*." -#: ../Doc/library/math.rst:522 +#: ../Doc/library/math.rst:585 msgid "" "Return the natural logarithm of the absolute value of the Gamma function at " "*x*." msgstr "" "Retorna el logaritmo natural del valor absoluto de la función gamma en *x*." -#: ../Doc/library/math.rst:529 +#: ../Doc/library/math.rst:592 msgid "Constants" msgstr "Constantes" -#: ../Doc/library/math.rst:533 +#: ../Doc/library/math.rst:596 msgid "The mathematical constant *π* = 3.141592..., to available precision." msgstr "" "La constante matemática *π* = 3.141592..., hasta la precisión disponible." -#: ../Doc/library/math.rst:538 +#: ../Doc/library/math.rst:601 msgid "The mathematical constant *e* = 2.718281..., to available precision." msgstr "" "La constante matemática *e* = 2.718281..., hasta la precisión disponible." -#: ../Doc/library/math.rst:543 +#: ../Doc/library/math.rst:606 msgid "" "The mathematical constant *τ* = 6.283185..., to available precision. Tau is " "a circle constant equal to 2\\ *π*, the ratio of a circle's circumference to " @@ -793,7 +901,7 @@ msgstr "" "com/watch?v=jG7vhMMXagQ>`_, y comienza a celebrar el `el día de Tau `_ ¡comiendo el doble de tarta!" -#: ../Doc/library/math.rst:554 +#: ../Doc/library/math.rst:617 msgid "" "A floating-point positive infinity. (For negative infinity, use ``-math." "inf``.) Equivalent to the output of ``float('inf')``." @@ -801,7 +909,7 @@ msgstr "" "Un valor infinito positivo en punto flotante. (Para un valor infinito " "negativo, usa ``-math.inf``.) Equivalente a la salida de ``float('inf')``." -#: ../Doc/library/math.rst:562 +#: ../Doc/library/math.rst:625 msgid "" "A floating-point \"not a number\" (NaN) value. Equivalent to the output of " "``float('nan')``." @@ -809,7 +917,7 @@ msgstr "" "Un valor de punto flotante que \"no es un número\" (NaN). Equivalente a la " "salida de ``float('nan')``." -#: ../Doc/library/math.rst:570 +#: ../Doc/library/math.rst:633 msgid "" "The :mod:`math` module consists mostly of thin wrappers around the platform " "C math library functions. Behavior in exceptional cases follows Annex F of " @@ -837,7 +945,7 @@ msgstr "" "estándar C99) hay algunas excepciones a esta regla, por ejemplo " "``pow(float('nan'), 0.0)`` o ``hypot(float('nan'), float('inf'))``." -#: ../Doc/library/math.rst:582 +#: ../Doc/library/math.rst:645 msgid "" "Note that Python makes no effort to distinguish signaling NaNs from quiet " "NaNs, and behavior for signaling NaNs remains unspecified. Typical behavior " @@ -848,10 +956,20 @@ msgstr "" "los NaN permanece sin especificar. El comportamiento estándar es tratar a " "todos los NaN como silenciosos." -#: ../Doc/library/math.rst:589 +#: ../Doc/library/math.rst:652 msgid "Module :mod:`cmath`" msgstr "Módulo :mod:`cmath`" -#: ../Doc/library/math.rst:590 +#: ../Doc/library/math.rst:653 msgid "Complex number versions of many of these functions." msgstr "Versiones de muchas de estas funciones para números complejos." + +#~ msgid "" +#~ "Return the greatest common divisor of the integers *a* and *b*. If " +#~ "either *a* or *b* is nonzero, then the value of ``gcd(a, b)`` is the " +#~ "largest positive integer that divides both *a* and *b*. ``gcd(0, 0)`` " +#~ "returns ``0``." +#~ msgstr "" +#~ "Retorna el máximo común divisor de los números enteros *a* y *b*. Si *a* " +#~ "o *b* son distintos de cero, el valor de ``gcd(a, b)`` es el mayor entero " +#~ "positivo que divide a ambos, *a* y *b*. ``gcd(0, 0)`` retorna ``0``." diff --git a/library/mmap.po b/library/mmap.po index 12a349cb79..de19a680bf 100644 --- a/library/mmap.po +++ b/library/mmap.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-07-18 15:06-0500\n" +"Last-Translator: Adolfo Hristo David Roque Gámez \n" +"Language: es_AR\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Adolfo Hristo David Roque Gámez \n" -"Language: es_AR\n" -"X-Generator: Poedit 2.3.1\n" #: ../Doc/library/mmap.rst:2 msgid ":mod:`mmap` --- Memory-mapped file support" @@ -168,7 +167,7 @@ msgstr "" "archivo. *offset* es por defecto 0. *offset* debe ser un múltiplo de :const:" "`ALLOCATIONGRANULARITY`." -#: ../Doc/library/mmap.rst:70 ../Doc/library/mmap.rst:160 +#: ../Doc/library/mmap.rst:70 ../Doc/library/mmap.rst:159 msgid "" "Raises an :ref:`auditing event ` ``mmap.__new__`` with arguments " "``fileno``, ``length``, ``access``, ``offset``." @@ -303,8 +302,8 @@ msgstr "" "argumentos opcionales *start* y *end* son interpretados como en una notación " "de rebanada. Retorna ``-1`` si falla." -#: ../Doc/library/mmap.rst:184 ../Doc/library/mmap.rst:264 -#: ../Doc/library/mmap.rst:296 +#: ../Doc/library/mmap.rst:184 ../Doc/library/mmap.rst:265 +#: ../Doc/library/mmap.rst:297 msgid "Writable :term:`bytes-like object` is now accepted." msgstr "" "Ahora el objeto :term:`bytes-like object` con permisos de escritura se " @@ -400,14 +399,16 @@ msgstr "" "la posición del archivo por 1." #: ../Doc/library/mmap.rst:246 +#, fuzzy msgid "" "Returns a single line, starting at the current file position and up to the " -"next newline." +"next newline. The file position is updated to point after the bytes that " +"were returned." msgstr "" "Retorna una sola línea, empezando desde la posición actual del archivo y " "hasta la siguiente nueva línea." -#: ../Doc/library/mmap.rst:252 +#: ../Doc/library/mmap.rst:253 msgid "" "Resizes the map and the underlying file, if any. If the mmap was created " "with :const:`ACCESS_READ` or :const:`ACCESS_COPY`, resizing the map will " @@ -417,7 +418,7 @@ msgstr "" "fue creado con :const:`ACCESS_READ` o :const:`ACCESS_COPY`, redimensionar el " "mapa lanzará una excepción :exc:`TypeError`." -#: ../Doc/library/mmap.rst:259 +#: ../Doc/library/mmap.rst:260 msgid "" "Returns the highest index in the object where the subsequence *sub* is " "found, such that *sub* is contained in the range [*start*, *end*]. Optional " @@ -429,7 +430,7 @@ msgstr "" "argumentos opcionales *start* y *end* son interpretados como un notación de " "rebanada. Retorna ``-1`` si falla." -#: ../Doc/library/mmap.rst:270 +#: ../Doc/library/mmap.rst:271 msgid "" "Set the file's current position. *whence* argument is optional and defaults " "to ``os.SEEK_SET`` or ``0`` (absolute file positioning); other values are " @@ -442,7 +443,7 @@ msgstr "" "posición actual) y ``os.SEEK_END`` o ``2`` (búsqueda relativa al final del " "archivo)." -#: ../Doc/library/mmap.rst:278 +#: ../Doc/library/mmap.rst:279 msgid "" "Return the length of the file, which can be larger than the size of the " "memory-mapped area." @@ -450,11 +451,11 @@ msgstr "" "Retorna el tamaño del archivo, que puede ser más grande que el tamaño del " "área mapeado en memoria." -#: ../Doc/library/mmap.rst:284 +#: ../Doc/library/mmap.rst:285 msgid "Returns the current position of the file pointer." msgstr "Retorna la posición actual del puntero del archivo." -#: ../Doc/library/mmap.rst:289 +#: ../Doc/library/mmap.rst:290 msgid "" "Write the bytes in *bytes* into memory at the current position of the file " "pointer and return the number of bytes written (never less than " @@ -470,11 +471,11 @@ msgstr "" "apuntar después de los bytes escritos. Si el *mmap* fue creado con :const:" "`ACCESS_READ`, entonces escribirlo lanzará una excepción :exc:`TypeError`." -#: ../Doc/library/mmap.rst:299 +#: ../Doc/library/mmap.rst:300 msgid "The number of bytes written is now returned." msgstr "Ahora se retorna el número de bytes escritos." -#: ../Doc/library/mmap.rst:305 +#: ../Doc/library/mmap.rst:306 msgid "" "Write the integer *byte* into memory at the current position of the file " "pointer; the file position is advanced by ``1``. If the mmap was created " @@ -486,11 +487,11 @@ msgstr "" "con :const:`ACCES_READ`, entonces escribirlo hará que se lance la excepción :" "exc:`TypeError`." -#: ../Doc/library/mmap.rst:313 +#: ../Doc/library/mmap.rst:314 msgid "MADV_* Constants" msgstr "Constantes MADV_*" -#: ../Doc/library/mmap.rst:338 +#: ../Doc/library/mmap.rst:339 msgid "" "These options can be passed to :meth:`mmap.madvise`. Not every option will " "be present on every system." @@ -498,6 +499,6 @@ msgstr "" "Se pueden pasar estas opciones al método :meth:`mmap.madvise`. No todas las " "opciones estarán presentes en todos los sistemas." -#: ../Doc/library/mmap.rst:341 +#: ../Doc/library/mmap.rst:342 msgid "Availability: Systems with the madvise() system call." msgstr "Disponibilidad: Sistemas con la llamada al sistema *madvise()*." diff --git a/library/multiprocessing.po b/library/multiprocessing.po index 7d47cbfcdb..50d37bb7cf 100644 --- a/library/multiprocessing.po +++ b/library/multiprocessing.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-06-28 22:50+0200\n" +"Last-Translator: \n" +"Language: es_ES\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es_ES\n" -"X-Generator: Poedit 2.3.1\n" #: ../Doc/library/multiprocessing.rst:2 msgid ":mod:`multiprocessing` --- Process-based parallelism" @@ -35,14 +34,15 @@ msgid "Introduction" msgstr "Introducción" #: ../Doc/library/multiprocessing.rst:14 +#, fuzzy msgid "" ":mod:`multiprocessing` is a package that supports spawning processes using " "an API similar to the :mod:`threading` module. The :mod:`multiprocessing` " "package offers both local and remote concurrency, effectively side-stepping " -"the :term:`Global Interpreter Lock` by using subprocesses instead of " -"threads. Due to this, the :mod:`multiprocessing` module allows the " -"programmer to fully leverage multiple processors on a given machine. It " -"runs on both Unix and Windows." +"the :term:`Global Interpreter Lock ` by using " +"subprocesses instead of threads. Due to this, the :mod:`multiprocessing` " +"module allows the programmer to fully leverage multiple processors on a " +"given machine. It runs on both Unix and Windows." msgstr "" ":mod:`multiprocessing` es un paquete que admite procesos de generación " "(*spawning*) utilizando una API similar al módulo :mod:`threading`. El " @@ -53,7 +53,7 @@ msgstr "" "procesadores en una máquina determinada. Se ejecuta tanto en Unix como en " "Windows." -#: ../Doc/library/multiprocessing.rst:22 +#: ../Doc/library/multiprocessing.rst:23 msgid "" "The :mod:`multiprocessing` module also introduces APIs which do not have " "analogs in the :mod:`threading` module. A prime example of this is the :" @@ -75,15 +75,15 @@ msgstr "" "puedan importar con éxito ese módulo. Este ejemplo básico de paralelismo de " "datos usando :class:`~multiprocessing.pool.Pool`, ::" -#: ../Doc/library/multiprocessing.rst:40 +#: ../Doc/library/multiprocessing.rst:41 msgid "will print to standard output ::" msgstr "imprimirá la salida estándar ::" -#: ../Doc/library/multiprocessing.rst:46 +#: ../Doc/library/multiprocessing.rst:47 msgid "The :class:`Process` class" msgstr "La clase :class:`Process`" -#: ../Doc/library/multiprocessing.rst:48 +#: ../Doc/library/multiprocessing.rst:49 msgid "" "In :mod:`multiprocessing`, processes are spawned by creating a :class:" "`Process` object and then calling its :meth:`~Process.start` method. :class:" @@ -95,14 +95,14 @@ msgstr "" "`Process` sigue la API de :class:`threading.Thread`. Un ejemplo trivial de " "un programa multiproceso es ::" -#: ../Doc/library/multiprocessing.rst:63 +#: ../Doc/library/multiprocessing.rst:64 msgid "" "To show the individual process IDs involved, here is an expanded example::" msgstr "" "Para mostrar las IDs individuales involucradas en el proceso, aquí hay un " "ejemplo ampliado::" -#: ../Doc/library/multiprocessing.rst:84 +#: ../Doc/library/multiprocessing.rst:85 msgid "" "For an explanation of why the ``if __name__ == '__main__'`` part is " "necessary, see :ref:`multiprocessing-programming`." @@ -110,11 +110,11 @@ msgstr "" "Para obtener una explicación de por qué es necesaria la parte ``if __name__ " "== '__main__'`` , consulte :ref:`multiprocessing-programming`." -#: ../Doc/library/multiprocessing.rst:90 +#: ../Doc/library/multiprocessing.rst:91 msgid "Contexts and start methods" msgstr "Contextos y métodos de inicio" -#: ../Doc/library/multiprocessing.rst:94 +#: ../Doc/library/multiprocessing.rst:95 msgid "" "Depending on the platform, :mod:`multiprocessing` supports three ways to " "start a process. These *start methods* are" @@ -122,15 +122,16 @@ msgstr "" "Dependiendo de la plataforma, :mod:`multiprocessing` admite tres formas de " "iniciar un proceso. Estos métodos de inicio *start methods* son" -#: ../Doc/library/multiprocessing.rst:105 +#: ../Doc/library/multiprocessing.rst:106 msgid "*spawn*" msgstr "Generación (*spawn*)" -#: ../Doc/library/multiprocessing.rst:98 +#: ../Doc/library/multiprocessing.rst:99 +#, fuzzy msgid "" "The parent process starts a fresh python interpreter process. The child " "process will only inherit those resources necessary to run the process " -"objects :meth:`~Process.run` method. In particular, unnecessary file " +"object's :meth:`~Process.run` method. In particular, unnecessary file " "descriptors and handles from the parent process will not be inherited. " "Starting a process using this method is rather slow compared to using *fork* " "or *forkserver*." @@ -142,15 +143,15 @@ msgstr "" "principal. Iniciar un proceso usando este método es bastante lento en " "comparación con el uso de *fork* o *forkserver*." -#: ../Doc/library/multiprocessing.rst:105 +#: ../Doc/library/multiprocessing.rst:106 msgid "Available on Unix and Windows. The default on Windows and macOS." msgstr "Disponible en Unix y Windows. Por defecto en Windows y macOS." -#: ../Doc/library/multiprocessing.rst:114 +#: ../Doc/library/multiprocessing.rst:115 msgid "*fork*" msgstr "*fork*" -#: ../Doc/library/multiprocessing.rst:108 +#: ../Doc/library/multiprocessing.rst:109 msgid "" "The parent process uses :func:`os.fork` to fork the Python interpreter. The " "child process, when it begins, is effectively identical to the parent " @@ -163,15 +164,15 @@ msgstr "" "el proceso hijo. Tenga en cuenta que bifurcar (*forking*) de forma segura un " "proceso multihilo es problemático." -#: ../Doc/library/multiprocessing.rst:114 +#: ../Doc/library/multiprocessing.rst:115 msgid "Available on Unix only. The default on Unix." msgstr "Disponible solo en Unix. Por defecto en Unix." -#: ../Doc/library/multiprocessing.rst:125 +#: ../Doc/library/multiprocessing.rst:126 msgid "*forkserver*" msgstr "*forkserver*" -#: ../Doc/library/multiprocessing.rst:117 +#: ../Doc/library/multiprocessing.rst:118 msgid "" "When the program starts and selects the *forkserver* start method, a server " "process is started. From then on, whenever a new process is needed, the " @@ -186,7 +187,7 @@ msgstr "" "un solo hilo, por lo que es seguro usarlo :func:`os.fork`. No se heredan " "recursos innecesarios." -#: ../Doc/library/multiprocessing.rst:124 +#: ../Doc/library/multiprocessing.rst:125 msgid "" "Available on Unix platforms which support passing file descriptors over Unix " "pipes." @@ -194,7 +195,7 @@ msgstr "" "Disponible en plataformas Unix que admiten pasar descriptores de archivo a " "través de tuberías (*pipes*) Unix." -#: ../Doc/library/multiprocessing.rst:129 +#: ../Doc/library/multiprocessing.rst:130 msgid "" "On macOS, the *spawn* start method is now the default. The *fork* start " "method should be considered unsafe as it can lead to crashes of the " @@ -204,7 +205,7 @@ msgstr "" "de inicio *fork* debe considerarse inseguro ya que puede provocar bloqueos " "del subproceso. Consulte :issue:`33725`." -#: ../Doc/library/multiprocessing.rst:133 +#: ../Doc/library/multiprocessing.rst:134 msgid "" "*spawn* added on all unix platforms, and *forkserver* added for some unix " "platforms. Child processes no longer inherit all of the parents inheritable " @@ -215,7 +216,7 @@ msgstr "" "processes*) ya no heredan todos los identificadores heredables de los " "procesos parentales en Windows." -#: ../Doc/library/multiprocessing.rst:139 +#: ../Doc/library/multiprocessing.rst:140 msgid "" "On Unix using the *spawn* or *forkserver* start methods will also start a " "*resource tracker* process which tracks the unlinked named system resources " @@ -242,7 +243,7 @@ msgstr "" "permite un número limitado de semáforos con nombre, y los segmentos de " "memoria compartida ocupan algo de espacio en la memoria principal)." -#: ../Doc/library/multiprocessing.rst:152 +#: ../Doc/library/multiprocessing.rst:153 msgid "" "To select a start method you use the :func:`set_start_method` in the ``if " "__name__ == '__main__'`` clause of the main module. For example::" @@ -251,13 +252,13 @@ msgstr "" "`set_start_method` en la cláusula ``if __name__ == '__main__'`` del módulo " "principal. Por ejemplo::" -#: ../Doc/library/multiprocessing.rst:169 +#: ../Doc/library/multiprocessing.rst:170 msgid "" ":func:`set_start_method` should not be used more than once in the program." msgstr "" ":func:`set_start_method` no debería ser usada más de una vez en el programa." -#: ../Doc/library/multiprocessing.rst:172 +#: ../Doc/library/multiprocessing.rst:173 msgid "" "Alternatively, you can use :func:`get_context` to obtain a context object. " "Context objects have the same API as the multiprocessing module, and allow " @@ -268,7 +269,7 @@ msgstr "" "multiprocesamiento, y permiten utilizar múltiples métodos de inicio en el " "mismo programa. ::" -#: ../Doc/library/multiprocessing.rst:190 +#: ../Doc/library/multiprocessing.rst:191 msgid "" "Note that objects related to one context may not be compatible with " "processes for a different context. In particular, locks created using the " @@ -280,7 +281,7 @@ msgstr "" "*locks* creados con el contexto *fork* no se pueden pasar a los procesos " "iniciados con los métodos de inicio *spawn* o *forkserver* ." -#: ../Doc/library/multiprocessing.rst:195 +#: ../Doc/library/multiprocessing.rst:196 msgid "" "A library which wants to use a particular start method should probably use :" "func:`get_context` to avoid interfering with the choice of the library user." @@ -289,7 +290,7 @@ msgstr "" "debería usar :func:`get_context` para evitar interferir con la elección del " "usuario de la biblioteca." -#: ../Doc/library/multiprocessing.rst:201 +#: ../Doc/library/multiprocessing.rst:202 msgid "" "The ``'spawn'`` and ``'forkserver'`` start methods cannot currently be used " "with \"frozen\" executables (i.e., binaries produced by packages like " @@ -301,11 +302,11 @@ msgstr "" "producidos por paquetes como **PyInstaller** y **cx_Freeze**) en Unix. El " "método de inicio ``'fork'`` funciona." -#: ../Doc/library/multiprocessing.rst:208 +#: ../Doc/library/multiprocessing.rst:209 msgid "Exchanging objects between processes" msgstr "Intercambiando objetos entre procesos" -#: ../Doc/library/multiprocessing.rst:210 +#: ../Doc/library/multiprocessing.rst:211 msgid "" ":mod:`multiprocessing` supports two types of communication channel between " "processes:" @@ -313,11 +314,11 @@ msgstr "" ":mod:`multiprocessing` admite dos tipos de canales de comunicación entre " "procesos:" -#: ../Doc/library/multiprocessing.rst:213 +#: ../Doc/library/multiprocessing.rst:214 msgid "**Queues**" msgstr "**Colas (*queues*)**" -#: ../Doc/library/multiprocessing.rst:215 +#: ../Doc/library/multiprocessing.rst:216 msgid "" "The :class:`Queue` class is a near clone of :class:`queue.Queue`. For " "example::" @@ -325,15 +326,15 @@ msgstr "" "La clase :class:`Queue` es prácticamente un clon de :class:`queue.Queue`. " "Por ejemplo::" -#: ../Doc/library/multiprocessing.rst:230 +#: ../Doc/library/multiprocessing.rst:231 msgid "Queues are thread and process safe." msgstr "Las colas (*queues*) son hilos y procesos seguro." -#: ../Doc/library/multiprocessing.rst:232 +#: ../Doc/library/multiprocessing.rst:233 msgid "**Pipes**" msgstr "**Tuberías (*Pipes*)**" -#: ../Doc/library/multiprocessing.rst:234 +#: ../Doc/library/multiprocessing.rst:235 msgid "" "The :func:`Pipe` function returns a pair of connection objects connected by " "a pipe which by default is duplex (two-way). For example::" @@ -342,7 +343,7 @@ msgstr "" "una tubería (*pipe*) que, por defecto, es un dúplex (bidireccional). Por " "ejemplo::" -#: ../Doc/library/multiprocessing.rst:250 +#: ../Doc/library/multiprocessing.rst:251 msgid "" "The two connection objects returned by :func:`Pipe` represent the two ends " "of the pipe. Each connection object has :meth:`~Connection.send` and :meth:" @@ -359,11 +360,11 @@ msgstr "" "al mismo tiempo. Por supuesto, no hay riesgo de corrupción por procesos que " "utilizan diferentes extremos de la tubería (*pipe*) al mismo tiempo." -#: ../Doc/library/multiprocessing.rst:260 +#: ../Doc/library/multiprocessing.rst:261 msgid "Synchronization between processes" msgstr "Sincronización entre procesos" -#: ../Doc/library/multiprocessing.rst:262 +#: ../Doc/library/multiprocessing.rst:263 msgid "" ":mod:`multiprocessing` contains equivalents of all the synchronization " "primitives from :mod:`threading`. For instance one can use a lock to ensure " @@ -374,7 +375,7 @@ msgstr "" "(*lock*) para garantizar que solo un proceso se imprima a la salida estándar " "a la vez::" -#: ../Doc/library/multiprocessing.rst:281 +#: ../Doc/library/multiprocessing.rst:282 msgid "" "Without using the lock output from the different processes is liable to get " "all mixed up." @@ -382,11 +383,11 @@ msgstr "" "Sin usar el candado (*lock*) de salida de los diferentes procesos, es " "probable que todo se mezcle." -#: ../Doc/library/multiprocessing.rst:286 +#: ../Doc/library/multiprocessing.rst:287 msgid "Sharing state between processes" msgstr "Compartiendo estado entre procesos" -#: ../Doc/library/multiprocessing.rst:288 +#: ../Doc/library/multiprocessing.rst:289 msgid "" "As mentioned above, when doing concurrent programming it is usually best to " "avoid using shared state as far as possible. This is particularly true when " @@ -397,7 +398,7 @@ msgstr "" "medida de lo posible. Esto es particularmente cierto cuando se utilizan " "múltiples procesos." -#: ../Doc/library/multiprocessing.rst:292 +#: ../Doc/library/multiprocessing.rst:293 msgid "" "However, if you really do need to use some shared data then :mod:" "`multiprocessing` provides a couple of ways of doing so." @@ -405,11 +406,11 @@ msgstr "" "Sin embargo, si usted realmente necesita usar algunos datos compartidos el :" "mod:`multiprocessing` proporciona un par de maneras de hacerlo." -#: ../Doc/library/multiprocessing.rst:295 +#: ../Doc/library/multiprocessing.rst:296 msgid "**Shared memory**" msgstr "**Memoria compartida**" -#: ../Doc/library/multiprocessing.rst:297 +#: ../Doc/library/multiprocessing.rst:298 msgid "" "Data can be stored in a shared memory map using :class:`Value` or :class:" "`Array`. For example, the following code ::" @@ -417,12 +418,12 @@ msgstr "" "Los datos se pueden almacenar en un mapa de memoria compartida usando :class:" "`Value` o :class:`Array`. Por ejemplo, el siguiente código ::" -#: ../Doc/library/multiprocessing.rst:318 -#: ../Doc/library/multiprocessing.rst:364 +#: ../Doc/library/multiprocessing.rst:319 +#: ../Doc/library/multiprocessing.rst:365 msgid "will print ::" msgstr "imprimirá ::" -#: ../Doc/library/multiprocessing.rst:323 +#: ../Doc/library/multiprocessing.rst:324 msgid "" "The ``'d'`` and ``'i'`` arguments used when creating ``num`` and ``arr`` are " "typecodes of the kind used by the :mod:`array` module: ``'d'`` indicates a " @@ -434,7 +435,7 @@ msgstr "" "un flotador de doble precisión y ``'i'`` indica un entero con signo. Estos " "objetos compartidos serán seguros para procesos y subprocesos." -#: ../Doc/library/multiprocessing.rst:328 +#: ../Doc/library/multiprocessing.rst:329 msgid "" "For more flexibility in using shared memory one can use the :mod:" "`multiprocessing.sharedctypes` module which supports the creation of " @@ -444,11 +445,11 @@ msgstr "" "usar el módulo :mod:`multiprocessing.sharedctypes` que admite la creación " "arbitraria de objetos *ctypes* asignados desde la memoria compartida." -#: ../Doc/library/multiprocessing.rst:332 +#: ../Doc/library/multiprocessing.rst:333 msgid "**Server process**" msgstr "**Proceso servidor (*Server process*)**" -#: ../Doc/library/multiprocessing.rst:334 +#: ../Doc/library/multiprocessing.rst:335 msgid "" "A manager object returned by :func:`Manager` controls a server process which " "holds Python objects and allows other processes to manipulate them using " @@ -458,7 +459,7 @@ msgstr "" "de servidor que contiene objetos de Python y permite que otros procesos los " "manipulen usando proxies." -#: ../Doc/library/multiprocessing.rst:338 +#: ../Doc/library/multiprocessing.rst:339 msgid "" "A manager returned by :func:`Manager` will support types :class:`list`, :" "class:`dict`, :class:`~managers.Namespace`, :class:`Lock`, :class:`RLock`, :" @@ -472,7 +473,7 @@ msgstr "" "class:`Condition`, :class:`Event`, :class:`Barrier`, :class:`Queue`, :class:" "`Value` y :class:`Array`. Por ejemplo, ::" -#: ../Doc/library/multiprocessing.rst:369 +#: ../Doc/library/multiprocessing.rst:370 msgid "" "Server process managers are more flexible than using shared memory objects " "because they can be made to support arbitrary object types. Also, a single " @@ -485,11 +486,11 @@ msgstr "" "compartido por procesos en diferentes ordenadores a través de una red. Sin " "embargo, son más lentos que usar memoria compartida." -#: ../Doc/library/multiprocessing.rst:376 +#: ../Doc/library/multiprocessing.rst:377 msgid "Using a pool of workers" msgstr "Usando una piscina de trabajadores (*pool of workers*)" -#: ../Doc/library/multiprocessing.rst:378 +#: ../Doc/library/multiprocessing.rst:379 msgid "" "The :class:`~multiprocessing.pool.Pool` class represents a pool of worker " "processes. It has methods which allows tasks to be offloaded to the worker " @@ -499,11 +500,11 @@ msgstr "" "de trabajadores (*pool of workers*). Tiene métodos que permiten que las " "tareas se descarguen a los procesos de trabajo de diferentes maneras." -#: ../Doc/library/multiprocessing.rst:382 +#: ../Doc/library/multiprocessing.rst:383 msgid "For example::" msgstr "Por ejemplo::" -#: ../Doc/library/multiprocessing.rst:426 +#: ../Doc/library/multiprocessing.rst:427 msgid "" "Note that the methods of a pool should only ever be used by the process " "which created it." @@ -511,7 +512,7 @@ msgstr "" "Tenga en cuenta que los métodos de una piscina (*pool*) solo deben ser " "utilizados por el proceso que lo creó." -#: ../Doc/library/multiprocessing.rst:431 +#: ../Doc/library/multiprocessing.rst:432 msgid "" "Functionality within this package requires that the ``__main__`` module be " "importable by the children. This is covered in :ref:`multiprocessing-" @@ -525,7 +526,7 @@ msgstr "" "Esto significa que algunos ejemplos, como :class:`multiprocessing.pool.Pool` " "no funcionarán en el intérprete interactivo. Por ejemplo::" -#: ../Doc/library/multiprocessing.rst:454 +#: ../Doc/library/multiprocessing.rst:455 msgid "" "(If you try this it will actually output three full tracebacks interleaved " "in a semi-random fashion, and then you may have to stop the parent process " @@ -535,11 +536,11 @@ msgstr "" "forma semialeatoria, y luego tendrá que detener el proceso principal de " "alguna manera)" -#: ../Doc/library/multiprocessing.rst:460 +#: ../Doc/library/multiprocessing.rst:461 msgid "Reference" msgstr "Referencia" -#: ../Doc/library/multiprocessing.rst:462 +#: ../Doc/library/multiprocessing.rst:463 msgid "" "The :mod:`multiprocessing` package mostly replicates the API of the :mod:" "`threading` module." @@ -547,11 +548,11 @@ msgstr "" "El paquete :mod:`multiprocessing` mayoritariamente replica la API del " "módulo :mod:`threading`." -#: ../Doc/library/multiprocessing.rst:467 +#: ../Doc/library/multiprocessing.rst:468 msgid ":class:`Process` and exceptions" msgstr ":class:`Process` y excepciones" -#: ../Doc/library/multiprocessing.rst:472 +#: ../Doc/library/multiprocessing.rst:473 msgid "" "Process objects represent activity that is run in a separate process. The :" "class:`Process` class has equivalents of all the methods of :class:" @@ -561,7 +562,7 @@ msgstr "" "separado. La clase :class:`Process` tiene equivalentes para todos los " "métodos :class:`threading.Thread`." -#: ../Doc/library/multiprocessing.rst:476 +#: ../Doc/library/multiprocessing.rst:477 msgid "" "The constructor should always be called with keyword arguments. *group* " "should always be ``None``; it exists solely for compatibility with :class:" @@ -586,11 +587,11 @@ msgstr "" "``True`` o ``False``. Si ``None`` (el valor predeterminado), este indicador " "se heredará del proceso de creación." -#: ../Doc/library/multiprocessing.rst:487 +#: ../Doc/library/multiprocessing.rst:488 msgid "By default, no arguments are passed to *target*." msgstr "Por defecto, ningún argumento es pasado a *target*." -#: ../Doc/library/multiprocessing.rst:489 +#: ../Doc/library/multiprocessing.rst:490 msgid "" "If a subclass overrides the constructor, it must make sure it invokes the " "base class constructor (:meth:`Process.__init__`) before doing anything else " @@ -600,15 +601,15 @@ msgstr "" "constructor de la clase base (:meth:`Process.__init__`) antes de hacer " "cualquier otra cosa al proceso." -#: ../Doc/library/multiprocessing.rst:493 +#: ../Doc/library/multiprocessing.rst:494 msgid "Added the *daemon* argument." msgstr "Añadido el argumento *daemon*." -#: ../Doc/library/multiprocessing.rst:498 +#: ../Doc/library/multiprocessing.rst:499 msgid "Method representing the process's activity." msgstr "Método que representa la actividad del proceso." -#: ../Doc/library/multiprocessing.rst:500 +#: ../Doc/library/multiprocessing.rst:501 msgid "" "You may override this method in a subclass. The standard :meth:`run` method " "invokes the callable object passed to the object's constructor as the target " @@ -620,11 +621,11 @@ msgstr "" "objetivo, si lo hay, con argumentos posicionares y de palabras clave tomados " "de los argumentos *args* y *kwargs*, respectivamente." -#: ../Doc/library/multiprocessing.rst:507 +#: ../Doc/library/multiprocessing.rst:508 msgid "Start the process's activity." msgstr "Comienza la actividad del proceso." -#: ../Doc/library/multiprocessing.rst:509 +#: ../Doc/library/multiprocessing.rst:510 msgid "" "This must be called at most once per process object. It arranges for the " "object's :meth:`run` method to be invoked in a separate process." @@ -632,7 +633,7 @@ msgstr "" "Esto debe llamarse como máximo una vez por objeto de proceso. Organiza la " "invocación del método :meth:`run` del objeto en un proceso separado." -#: ../Doc/library/multiprocessing.rst:514 +#: ../Doc/library/multiprocessing.rst:515 msgid "" "If the optional argument *timeout* is ``None`` (the default), the method " "blocks until the process whose :meth:`join` method is called terminates. If " @@ -648,11 +649,11 @@ msgstr "" "finaliza o si el método agota el tiempo de espera. Verifique el proceso :" "attr:`exitcode` para determinar si terminó." -#: ../Doc/library/multiprocessing.rst:521 +#: ../Doc/library/multiprocessing.rst:522 msgid "A process can be joined many times." msgstr "Un proceso puede unirse muchas veces." -#: ../Doc/library/multiprocessing.rst:523 +#: ../Doc/library/multiprocessing.rst:524 msgid "" "A process cannot join itself because this would cause a deadlock. It is an " "error to attempt to join a process before it has been started." @@ -661,7 +662,7 @@ msgstr "" "muerto. Es un error intentar unirse a un proceso antes de que se haya " "iniciado." -#: ../Doc/library/multiprocessing.rst:528 +#: ../Doc/library/multiprocessing.rst:529 msgid "" "The process's name. The name is a string used for identification purposes " "only. It has no semantics. Multiple processes may be given the same name." @@ -670,7 +671,7 @@ msgstr "" "identificación. No tiene semántica. Múltiples procesos pueden tener el mismo " "nombre." -#: ../Doc/library/multiprocessing.rst:532 +#: ../Doc/library/multiprocessing.rst:533 msgid "" "The initial name is set by the constructor. If no explicit name is provided " "to the constructor, a name of the form 'Process-N\\ :sub:`1`:N\\ :sub:" @@ -682,11 +683,11 @@ msgstr "" "sub:`1`:N\\ :sub:`2`:...:N\\ :sub:`k`'* se construye, donde cada *N\\ :sub:" "`k`* es el *N-enésimo* hijo del parental." -#: ../Doc/library/multiprocessing.rst:539 +#: ../Doc/library/multiprocessing.rst:540 msgid "Return whether the process is alive." msgstr "Retorna si el proceso está vivo." -#: ../Doc/library/multiprocessing.rst:541 +#: ../Doc/library/multiprocessing.rst:542 msgid "" "Roughly, a process object is alive from the moment the :meth:`start` method " "returns until the child process terminates." @@ -694,7 +695,7 @@ msgstr "" "Aproximadamente, un objeto de proceso está vivo desde el momento en que el " "método :meth:`start` retorna hasta que finaliza el proceso hijo." -#: ../Doc/library/multiprocessing.rst:546 +#: ../Doc/library/multiprocessing.rst:547 msgid "" "The process's daemon flag, a Boolean value. This must be set before :meth:" "`start` is called." @@ -702,11 +703,11 @@ msgstr "" "La bandera del proceso *daemon* , es un valor booleano. Esto debe " "establecerse antes de que :meth:`start` sea llamado." -#: ../Doc/library/multiprocessing.rst:549 +#: ../Doc/library/multiprocessing.rst:550 msgid "The initial value is inherited from the creating process." msgstr "El valor inicial se hereda del proceso de creación." -#: ../Doc/library/multiprocessing.rst:551 +#: ../Doc/library/multiprocessing.rst:552 msgid "" "When a process exits, it attempts to terminate all of its daemonic child " "processes." @@ -714,7 +715,7 @@ msgstr "" "Cuando un proceso sale, intenta terminar todos sus procesos demoníacos " "(*daemonic*) hijos." -#: ../Doc/library/multiprocessing.rst:554 +#: ../Doc/library/multiprocessing.rst:555 msgid "" "Note that a daemonic process is not allowed to create child processes. " "Otherwise a daemonic process would leave its children orphaned if it gets " @@ -729,7 +730,7 @@ msgstr "" "normales qué finalizarán (y no se unirán) si los procesos no demoníacos han " "salido." -#: ../Doc/library/multiprocessing.rst:560 +#: ../Doc/library/multiprocessing.rst:561 msgid "" "In addition to the :class:`threading.Thread` API, :class:`Process` objects " "also support the following attributes and methods:" @@ -737,14 +738,14 @@ msgstr "" "Además de API :class:`threading.Thread`, los objetos :class:`Process` " "también admiten los siguientes atributos y métodos:" -#: ../Doc/library/multiprocessing.rst:565 +#: ../Doc/library/multiprocessing.rst:566 msgid "" "Return the process ID. Before the process is spawned, this will be ``None``." msgstr "" "Retorna el ID del proceso. Antes de que se genere el proceso, esto será " "``None``." -#: ../Doc/library/multiprocessing.rst:570 +#: ../Doc/library/multiprocessing.rst:571 msgid "" "The child's exit code. This will be ``None`` if the process has not yet " "terminated. A negative value *-N* indicates that the child was terminated " @@ -754,11 +755,11 @@ msgstr "" "terminado. Un valor negativo *-N* indica que el hijo fue terminado por la " "señal *N*." -#: ../Doc/library/multiprocessing.rst:576 +#: ../Doc/library/multiprocessing.rst:577 msgid "The process's authentication key (a byte string)." msgstr "La clave de autenticación del proceso (una cadena de bytes)." -#: ../Doc/library/multiprocessing.rst:578 +#: ../Doc/library/multiprocessing.rst:579 msgid "" "When :mod:`multiprocessing` is initialized the main process is assigned a " "random string using :func:`os.urandom`." @@ -766,7 +767,7 @@ msgstr "" "Cuando el :mod:`multiprocessing` se inicializa el proceso principal se le " "asigna una cadena aleatoria usando :func:`os.urandom`." -#: ../Doc/library/multiprocessing.rst:581 +#: ../Doc/library/multiprocessing.rst:582 msgid "" "When a :class:`Process` object is created, it will inherit the " "authentication key of its parent process, although this may be changed by " @@ -776,11 +777,11 @@ msgstr "" "autenticación de su proceso parental, aunque esto puede cambiarse " "configurando :attr:`authkey` a otra cadena de bytes." -#: ../Doc/library/multiprocessing.rst:585 +#: ../Doc/library/multiprocessing.rst:586 msgid "See :ref:`multiprocessing-auth-keys`." msgstr "Consulte :ref:`multiprocessing-auth-keys`." -#: ../Doc/library/multiprocessing.rst:589 +#: ../Doc/library/multiprocessing.rst:590 msgid "" "A numeric handle of a system object which will become \"ready\" when the " "process ends." @@ -788,7 +789,7 @@ msgstr "" "Un identificador numérico de un objeto del sistema que estará \"listo\" " "cuando finalice el proceso." -#: ../Doc/library/multiprocessing.rst:592 +#: ../Doc/library/multiprocessing.rst:593 msgid "" "You can use this value if you want to wait on several events at once using :" "func:`multiprocessing.connection.wait`. Otherwise calling :meth:`join()` is " @@ -798,7 +799,7 @@ msgstr "" "func:`multiprocessing.connection.wait`. De lo contrario, llamar a :meth:" "`join()` es más simple." -#: ../Doc/library/multiprocessing.rst:596 +#: ../Doc/library/multiprocessing.rst:597 msgid "" "On Windows, this is an OS handle usable with the ``WaitForSingleObject`` and " "``WaitForMultipleObjects`` family of API calls. On Unix, this is a file " @@ -809,7 +810,7 @@ msgstr "" "este es un descriptor de archivo utilizable con primitivas del módulo :mod:" "`select`." -#: ../Doc/library/multiprocessing.rst:604 +#: ../Doc/library/multiprocessing.rst:605 msgid "" "Terminate the process. On Unix this is done using the ``SIGTERM`` signal; " "on Windows :c:func:`TerminateProcess` is used. Note that exit handlers and " @@ -819,7 +820,7 @@ msgstr "" "Windows se utiliza :c:func:`TerminateProcess` . Tenga en cuenta que los " "manejadores de salida y finalmente las cláusulas, etc., no se ejecutarán." -#: ../Doc/library/multiprocessing.rst:608 +#: ../Doc/library/multiprocessing.rst:609 msgid "" "Note that descendant processes of the process will *not* be terminated -- " "they will simply become orphaned." @@ -827,7 +828,7 @@ msgstr "" "Tenga en cuenta que los procesos descendientes del proceso *no* finalizarán " "-- simplemente quedarán huérfanos." -#: ../Doc/library/multiprocessing.rst:613 +#: ../Doc/library/multiprocessing.rst:614 msgid "" "If this method is used when the associated process is using a pipe or queue " "then the pipe or queue is liable to become corrupted and may become unusable " @@ -841,13 +842,13 @@ msgstr "" "si el proceso ha adquirido un *lock* o un semáforo, etc., su finalización " "puede provocar el bloqueo de otros procesos." -#: ../Doc/library/multiprocessing.rst:621 +#: ../Doc/library/multiprocessing.rst:622 msgid "Same as :meth:`terminate()` but using the ``SIGKILL`` signal on Unix." msgstr "" "Siempre como :meth:`terminate()` pero utilizando la señal ``SIGKILL`` en " "Unix." -#: ../Doc/library/multiprocessing.rst:627 +#: ../Doc/library/multiprocessing.rst:628 msgid "" "Close the :class:`Process` object, releasing all resources associated with " "it. :exc:`ValueError` is raised if the underlying process is still " @@ -860,7 +861,7 @@ msgstr "" "otros métodos y atributos del objeto :class:`Process` lanzará :exc:" "`ValueError`." -#: ../Doc/library/multiprocessing.rst:635 +#: ../Doc/library/multiprocessing.rst:636 msgid "" "Note that the :meth:`start`, :meth:`join`, :meth:`is_alive`, :meth:" "`terminate` and :attr:`exitcode` methods should only be called by the " @@ -870,15 +871,15 @@ msgstr "" "`is_alive`, :meth:`terminate` y :attr:`exitcode` deberían solo ser llamados " "por el proceso que creó el objeto del proceso." -#: ../Doc/library/multiprocessing.rst:639 +#: ../Doc/library/multiprocessing.rst:640 msgid "Example usage of some of the methods of :class:`Process`:" msgstr "Ejemplo de uso de algunos métodos de la :class:`Process`:" -#: ../Doc/library/multiprocessing.rst:660 +#: ../Doc/library/multiprocessing.rst:661 msgid "The base class of all :mod:`multiprocessing` exceptions." msgstr "La clase base de todas las excepciones :mod:`multiprocessing`." -#: ../Doc/library/multiprocessing.rst:664 +#: ../Doc/library/multiprocessing.rst:665 msgid "" "Exception raised by :meth:`Connection.recv_bytes_into()` when the supplied " "buffer object is too small for the message read." @@ -886,7 +887,7 @@ msgstr "" "La excepción :meth:`Connection.recv_bytes_into()` es lanzada cuando el " "objeto de búfer suministrado es demasiado pequeño para el mensaje leído." -#: ../Doc/library/multiprocessing.rst:667 +#: ../Doc/library/multiprocessing.rst:668 msgid "" "If ``e`` is an instance of :exc:`BufferTooShort` then ``e.args[0]`` will " "give the message as a byte string." @@ -894,20 +895,20 @@ msgstr "" "Si ``e`` es una instancia de :exc:`BufferTooShort` entonces ``e.args[0]`` " "dará el mensaje como una cadena de *bytes*." -#: ../Doc/library/multiprocessing.rst:672 +#: ../Doc/library/multiprocessing.rst:673 msgid "Raised when there is an authentication error." msgstr "Lanzada cuando hay un error de autenticación." -#: ../Doc/library/multiprocessing.rst:676 +#: ../Doc/library/multiprocessing.rst:677 msgid "Raised by methods with a timeout when the timeout expires." msgstr "" "Lanzada por métodos con un tiempo de espera (*timeout*) cuando este expira." -#: ../Doc/library/multiprocessing.rst:679 +#: ../Doc/library/multiprocessing.rst:680 msgid "Pipes and Queues" msgstr "Tuberías (*Pipes*) y Colas (*Queues*)" -#: ../Doc/library/multiprocessing.rst:681 +#: ../Doc/library/multiprocessing.rst:682 msgid "" "When using multiple processes, one generally uses message passing for " "communication between processes and avoids having to use any synchronization " @@ -917,7 +918,7 @@ msgstr "" "para la comunicación entre procesos y evita tener que usar primitivas de " "sincronización como *locks*." -#: ../Doc/library/multiprocessing.rst:685 +#: ../Doc/library/multiprocessing.rst:686 msgid "" "For passing messages one can use :func:`Pipe` (for a connection between two " "processes) or a queue (which allows multiple producers and consumers)." @@ -926,7 +927,7 @@ msgstr "" "procesos) o una cola (*queue*)(que permite múltiples productores y " "consumidores)." -#: ../Doc/library/multiprocessing.rst:688 +#: ../Doc/library/multiprocessing.rst:689 msgid "" "The :class:`Queue`, :class:`SimpleQueue` and :class:`JoinableQueue` types " "are multi-producer, multi-consumer :abbr:`FIFO (first-in, first-out)` queues " @@ -942,7 +943,7 @@ msgstr "" "`~queue.Queue.task_done` y :meth:`~queue.Queue.join` métodos introducidos en " "Python 2.5 :class:`queue.Queue` class." -#: ../Doc/library/multiprocessing.rst:695 +#: ../Doc/library/multiprocessing.rst:696 msgid "" "If you use :class:`JoinableQueue` then you **must** call :meth:" "`JoinableQueue.task_done` for each task removed from the queue or else the " @@ -954,7 +955,7 @@ msgstr "" "de lo contrario el semáforo utilizado para contar el número de tareas sin " "terminar puede eventualmente desbordarse, lanzando un excepción." -#: ../Doc/library/multiprocessing.rst:700 +#: ../Doc/library/multiprocessing.rst:701 msgid "" "Note that one can also create a shared queue by using a manager object -- " "see :ref:`multiprocessing-managers`." @@ -963,7 +964,7 @@ msgstr "" "uso de un objeto de administrador -- consulte :ref:`multiprocessing-" "managers`." -#: ../Doc/library/multiprocessing.rst:705 +#: ../Doc/library/multiprocessing.rst:706 msgid "" ":mod:`multiprocessing` uses the usual :exc:`queue.Empty` and :exc:`queue." "Full` exceptions to signal a timeout. They are not available in the :mod:" @@ -974,7 +975,7 @@ msgstr "" "en el espacio de nombres :mod:`multiprocessing`, por lo que debe importarlos " "desde :mod:`queue`." -#: ../Doc/library/multiprocessing.rst:712 +#: ../Doc/library/multiprocessing.rst:713 msgid "" "When an object is put on a queue, the object is pickled and a background " "thread later flushes the pickled data to an underlying pipe. This has some " @@ -989,7 +990,7 @@ msgstr "" "realmente causan molestias, se puede usar una cola creada con un :ref:" "`manager `." -#: ../Doc/library/multiprocessing.rst:719 +#: ../Doc/library/multiprocessing.rst:720 msgid "" "After putting an object on an empty queue there may be an infinitesimal " "delay before the queue's :meth:`~Queue.empty` method returns :const:`False` " @@ -1000,7 +1001,7 @@ msgstr "" "retorne :const:`False` y :meth:`~Queue.get_nowait` puede retornar sin " "lanzar :exc:`queue.Empty`." -#: ../Doc/library/multiprocessing.rst:724 +#: ../Doc/library/multiprocessing.rst:725 msgid "" "If multiple processes are enqueuing objects, it is possible for the objects " "to be received at the other end out-of-order. However, objects enqueued by " @@ -1012,7 +1013,7 @@ msgstr "" "objetos en cola por el mismo proceso siempre estarán en el orden esperado " "entre sí." -#: ../Doc/library/multiprocessing.rst:731 +#: ../Doc/library/multiprocessing.rst:732 msgid "" "If a process is killed using :meth:`Process.terminate` or :func:`os.kill` " "while it is trying to use a :class:`Queue`, then the data in the queue is " @@ -1024,7 +1025,7 @@ msgstr "" "la cola(*queue*) se corrompan. Esto puede hacer que cualquier otro proceso " "obtenga una excepción cuando intente usar la cola más adelante." -#: ../Doc/library/multiprocessing.rst:738 +#: ../Doc/library/multiprocessing.rst:739 msgid "" "As mentioned above, if a child process has put items on a queue (and it has " "not used :meth:`JoinableQueue.cancel_join_thread ` -- see also :ref:`multiprocessing-listeners-clients`." @@ -1602,7 +1613,7 @@ msgstr "" "` -- ver también :ref:`multiprocessing-listeners-" "clients`." -#: ../Doc/library/multiprocessing.rst:1073 +#: ../Doc/library/multiprocessing.rst:1084 msgid "" "Send an object to the other end of the connection which should be read " "using :meth:`recv`." @@ -1610,7 +1621,7 @@ msgstr "" "Envía un objeto al otro extremo de la conexión que debe leerse usando :meth:" "`recv`." -#: ../Doc/library/multiprocessing.rst:1076 +#: ../Doc/library/multiprocessing.rst:1087 msgid "" "The object must be picklable. Very large pickles (approximately 32 MiB+, " "though it depends on the OS) may raise a :exc:`ValueError` exception." @@ -1619,7 +1630,7 @@ msgstr "" "muy grandes (aproximadamente 32 *MiB+* , aunque depende del sistema " "operativo) pueden generar una excepción :exc:`ValueError`." -#: ../Doc/library/multiprocessing.rst:1081 +#: ../Doc/library/multiprocessing.rst:1092 msgid "" "Return an object sent from the other end of the connection using :meth:" "`send`. Blocks until there is something to receive. Raises :exc:`EOFError` " @@ -1629,25 +1640,25 @@ msgstr "" "`send`. Se bloquea hasta que haya algo para recibir. Se lanza :exc:" "`EOFError` si no queda nada por recibir y el otro extremo está cerrado." -#: ../Doc/library/multiprocessing.rst:1088 +#: ../Doc/library/multiprocessing.rst:1099 msgid "Return the file descriptor or handle used by the connection." msgstr "" "Retorna el descriptor de archivo o identificador utilizado por la conexión." -#: ../Doc/library/multiprocessing.rst:1092 +#: ../Doc/library/multiprocessing.rst:1103 msgid "Close the connection." msgstr "Cierra la conexión." -#: ../Doc/library/multiprocessing.rst:1094 +#: ../Doc/library/multiprocessing.rst:1105 msgid "This is called automatically when the connection is garbage collected." msgstr "" "Esto se llama automáticamente cuando la conexión es basura recolectada." -#: ../Doc/library/multiprocessing.rst:1098 +#: ../Doc/library/multiprocessing.rst:1109 msgid "Return whether there is any data available to be read." msgstr "Retorna si hay datos disponibles para leer." -#: ../Doc/library/multiprocessing.rst:1100 +#: ../Doc/library/multiprocessing.rst:1111 msgid "" "If *timeout* is not specified then it will return immediately. If *timeout* " "is a number then this specifies the maximum time in seconds to block. If " @@ -1657,7 +1668,7 @@ msgstr "" "número, esto especifica el tiempo máximo en segundos para bloquear. Si " "*timeout* es ``None``, se usa un tiempo de espera infinito." -#: ../Doc/library/multiprocessing.rst:1104 +#: ../Doc/library/multiprocessing.rst:1115 msgid "" "Note that multiple connection objects may be polled at once by using :func:" "`multiprocessing.connection.wait`." @@ -1665,13 +1676,13 @@ msgstr "" "Tenga en cuenta que se pueden sondear varios objetos de conexión a la vez " "utilizando :func:`multiprocessing.connection.wait`." -#: ../Doc/library/multiprocessing.rst:1109 +#: ../Doc/library/multiprocessing.rst:1120 msgid "Send byte data from a :term:`bytes-like object` as a complete message." msgstr "" "Envía datos de *bytes* desde a :term:`bytes-like object` como un mensaje " "completo." -#: ../Doc/library/multiprocessing.rst:1111 +#: ../Doc/library/multiprocessing.rst:1122 msgid "" "If *offset* is given then data is read from that position in *buffer*. If " "*size* is given then that many bytes will be read from buffer. Very large " @@ -1683,7 +1694,7 @@ msgstr "" "grandes (aproximadamente *32 MiB+*, aunque depende del sistema operativo) " "pueden generar una excepción :exc:`ValueError`" -#: ../Doc/library/multiprocessing.rst:1118 +#: ../Doc/library/multiprocessing.rst:1129 msgid "" "Return a complete message of byte data sent from the other end of the " "connection as a string. Blocks until there is something to receive. Raises :" @@ -1695,7 +1706,7 @@ msgstr "" "haya algo para recibir. Aumenta :exc:`EOFError` si no queda nada por recibir " "y el otro extremo se ha cerrado." -#: ../Doc/library/multiprocessing.rst:1123 +#: ../Doc/library/multiprocessing.rst:1134 msgid "" "If *maxlength* is specified and the message is longer than *maxlength* then :" "exc:`OSError` is raised and the connection will no longer be readable." @@ -1703,7 +1714,7 @@ msgstr "" "Si se especifica *maxlength* y el mensaje es más largo que *maxlength*, " "entonces se lanza un :exc:`OSError` y la conexión ya no será legible." -#: ../Doc/library/multiprocessing.rst:1127 +#: ../Doc/library/multiprocessing.rst:1138 msgid "" "This function used to raise :exc:`IOError`, which is now an alias of :exc:" "`OSError`." @@ -1711,7 +1722,7 @@ msgstr "" "Esta función solía lanzar un :exc:`IOError`, que ahora es un alias de :exc:" "`OSError`." -#: ../Doc/library/multiprocessing.rst:1134 +#: ../Doc/library/multiprocessing.rst:1145 msgid "" "Read into *buffer* a complete message of byte data sent from the other end " "of the connection and return the number of bytes in the message. Blocks " @@ -1723,7 +1734,7 @@ msgstr "" "bloquea hasta que haya algo para recibir. Si no queda nada por recibir y el " "otro extremo está cerrándose se lanza :exc:`EOFError`." -#: ../Doc/library/multiprocessing.rst:1140 +#: ../Doc/library/multiprocessing.rst:1151 msgid "" "*buffer* must be a writable :term:`bytes-like object`. If *offset* is given " "then the message will be written into the buffer from that position. Offset " @@ -1734,7 +1745,7 @@ msgstr "" "compensación debe ser un número entero no negativo menor que la longitud de " "*buffer* (en *bytes*)." -#: ../Doc/library/multiprocessing.rst:1145 +#: ../Doc/library/multiprocessing.rst:1156 msgid "" "If the buffer is too short then a :exc:`BufferTooShort` exception is raised " "and the complete message is available as ``e.args[0]`` where ``e`` is the " @@ -1744,7 +1755,7 @@ msgstr "" "`BufferTooShort` y el mensaje completo está disponible como ``e.args[0]`` " "donde ``e`` es la instancia de excepción." -#: ../Doc/library/multiprocessing.rst:1149 +#: ../Doc/library/multiprocessing.rst:1160 msgid "" "Connection objects themselves can now be transferred between processes " "using :meth:`Connection.send` and :meth:`Connection.recv`." @@ -1752,7 +1763,7 @@ msgstr "" "Los objetos de conexión ahora pueden transferirse entre procesos usando :" "meth:`Connection.send` y :meth:`Connection.recv`." -#: ../Doc/library/multiprocessing.rst:1153 +#: ../Doc/library/multiprocessing.rst:1164 msgid "" "Connection objects now support the context management protocol -- see :ref:" "`typecontextmanager`. :meth:`~contextmanager.__enter__` returns the " @@ -1763,11 +1774,11 @@ msgstr "" "__enter__` retorna el objeto de conexión, y :meth:`~contextmanager.__exit__` " "llama a :meth:`close`." -#: ../Doc/library/multiprocessing.rst:1158 +#: ../Doc/library/multiprocessing.rst:1169 msgid "For example:" msgstr "Por ejemplo:" -#: ../Doc/library/multiprocessing.rst:1182 +#: ../Doc/library/multiprocessing.rst:1193 msgid "" "The :meth:`Connection.recv` method automatically unpickles the data it " "receives, which can be a security risk unless you can trust the process " @@ -1777,7 +1788,7 @@ msgstr "" "recibe, lo que puede ser un riesgo de seguridad a menos que pueda confiar en " "el proceso que envió el mensaje." -#: ../Doc/library/multiprocessing.rst:1186 +#: ../Doc/library/multiprocessing.rst:1197 msgid "" "Therefore, unless the connection object was produced using :func:`Pipe` you " "should only use the :meth:`~Connection.recv` and :meth:`~Connection.send` " @@ -1789,7 +1800,7 @@ msgstr "" "`~Connection.send` después de realizar algún tipo de autenticación. " "Consulte :ref:`multiprocessing-auth-keys`." -#: ../Doc/library/multiprocessing.rst:1193 +#: ../Doc/library/multiprocessing.rst:1204 msgid "" "If a process is killed while it is trying to read or write to a pipe then " "the data in the pipe is likely to become corrupted, because it may become " @@ -1800,11 +1811,11 @@ msgstr "" "porque puede ser imposible estar seguro de dónde se encuentran los límites " "del mensaje." -#: ../Doc/library/multiprocessing.rst:1199 +#: ../Doc/library/multiprocessing.rst:1210 msgid "Synchronization primitives" msgstr "Primitivas de sincronización (*Synchronization primitives*)" -#: ../Doc/library/multiprocessing.rst:1203 +#: ../Doc/library/multiprocessing.rst:1214 msgid "" "Generally synchronization primitives are not as necessary in a multiprocess " "program as they are in a multithreaded program. See the documentation for :" @@ -1814,7 +1825,7 @@ msgstr "" "programa multiproceso como en un programa *multihilos* (*multithreaded*). " "Consulte la documentación para :mod:`threading` ." -#: ../Doc/library/multiprocessing.rst:1207 +#: ../Doc/library/multiprocessing.rst:1218 msgid "" "Note that one can also create synchronization primitives by using a manager " "object -- see :ref:`multiprocessing-managers`." @@ -1823,11 +1834,11 @@ msgstr "" "utilizando un objeto administrador -- consulte :ref:`multiprocessing-" "managers`." -#: ../Doc/library/multiprocessing.rst:1212 +#: ../Doc/library/multiprocessing.rst:1223 msgid "A barrier object: a clone of :class:`threading.Barrier`." msgstr "Un objeto de barrera: un clon de :class:`threading.Barrier`." -#: ../Doc/library/multiprocessing.rst:1218 +#: ../Doc/library/multiprocessing.rst:1229 msgid "" "A bounded semaphore object: a close analog of :class:`threading." "BoundedSemaphore`." @@ -1835,8 +1846,8 @@ msgstr "" "Un objeto semáforo (*semaphore object*) acotado: un análogo cercano de la :" "class:`threading.BoundedSemaphore`." -#: ../Doc/library/multiprocessing.rst:1221 -#: ../Doc/library/multiprocessing.rst:1359 +#: ../Doc/library/multiprocessing.rst:1232 +#: ../Doc/library/multiprocessing.rst:1370 msgid "" "A solitary difference from its close analog exists: its ``acquire`` method's " "first argument is named *block*, as is consistent with :meth:`Lock.acquire`." @@ -1845,7 +1856,7 @@ msgstr "" "de su método ``acquire`` es nombrado *block*, es consistente con :meth:`Lock." "acquire`." -#: ../Doc/library/multiprocessing.rst:1225 +#: ../Doc/library/multiprocessing.rst:1236 msgid "" "On Mac OS X, this is indistinguishable from :class:`Semaphore` because " "``sem_getvalue()`` is not implemented on that platform." @@ -1853,12 +1864,12 @@ msgstr "" "En Mac OS X, esto no se puede distinguir de :class:`Semaphore` porque " "``sem_getvalue()`` no está implementado en esa plataforma." -#: ../Doc/library/multiprocessing.rst:1230 +#: ../Doc/library/multiprocessing.rst:1241 msgid "A condition variable: an alias for :class:`threading.Condition`." msgstr "" "Una variable de condición: un alias para la :class:`threading.Condition`." -#: ../Doc/library/multiprocessing.rst:1232 +#: ../Doc/library/multiprocessing.rst:1243 msgid "" "If *lock* is specified then it should be a :class:`Lock` or :class:`RLock` " "object from :mod:`multiprocessing`." @@ -1866,16 +1877,16 @@ msgstr "" "Si se especifica *lock*, entonces debería ser una :class:`Lock` o :class:" "`RLock` objeto de :mod:`multiprocessing`." -#: ../Doc/library/multiprocessing.rst:1235 -#: ../Doc/library/multiprocessing.rst:1769 +#: ../Doc/library/multiprocessing.rst:1246 +#: ../Doc/library/multiprocessing.rst:1780 msgid "The :meth:`~threading.Condition.wait_for` method was added." msgstr "El método :meth:`~threading.Condition.wait_for` fue a añadido." -#: ../Doc/library/multiprocessing.rst:1240 +#: ../Doc/library/multiprocessing.rst:1251 msgid "A clone of :class:`threading.Event`." msgstr "Un clon de :class:`threading.Event`." -#: ../Doc/library/multiprocessing.rst:1245 +#: ../Doc/library/multiprocessing.rst:1256 msgid "" "A non-recursive lock object: a close analog of :class:`threading.Lock`. Once " "a process or thread has acquired a lock, subsequent attempts to acquire it " @@ -1893,7 +1904,7 @@ msgstr "" "los subprocesos se replican aquí en :class:`multiprocessing.Lock` como se " "aplica a los procesos o subprocesos, excepto como se indica." -#: ../Doc/library/multiprocessing.rst:1253 +#: ../Doc/library/multiprocessing.rst:1264 msgid "" "Note that :class:`Lock` is actually a factory function which returns an " "instance of ``multiprocessing.synchronize.Lock`` initialized with a default " @@ -1903,7 +1914,7 @@ msgstr "" "retorna una instancia de ``multiprocessing.synchronize.Lock`` inicializada " "con un contexto predeterminado." -#: ../Doc/library/multiprocessing.rst:1257 +#: ../Doc/library/multiprocessing.rst:1268 msgid "" ":class:`Lock` supports the :term:`context manager` protocol and thus may be " "used in :keyword:`with` statements." @@ -1911,12 +1922,12 @@ msgstr "" "La :class:`Lock` soporta el protocolo :term:`context manager` y, por lo " "tanto, se puede usar en la declaración :keyword:`with`." -#: ../Doc/library/multiprocessing.rst:1262 -#: ../Doc/library/multiprocessing.rst:1313 +#: ../Doc/library/multiprocessing.rst:1273 +#: ../Doc/library/multiprocessing.rst:1324 msgid "Acquire a lock, blocking or non-blocking." msgstr "Adquiriendo un candado (*lock*), bloqueante o no bloqueante." -#: ../Doc/library/multiprocessing.rst:1264 +#: ../Doc/library/multiprocessing.rst:1275 msgid "" "With the *block* argument set to ``True`` (the default), the method call " "will block until the lock is in an unlocked state, then set it to locked and " @@ -1929,7 +1940,7 @@ msgstr "" "cuenta que el nombre de este primer argumento difiere del que aparece en :" "meth:`threading.Lock.acquire`." -#: ../Doc/library/multiprocessing.rst:1269 +#: ../Doc/library/multiprocessing.rst:1280 msgid "" "With the *block* argument set to ``False``, the method call does not block. " "If the lock is currently in a locked state, return ``False``; otherwise set " @@ -1940,7 +1951,7 @@ msgstr "" "``False``; de lo contrario, configure el bloqueo en un estado bloqueado y " "retorne ``True``." -#: ../Doc/library/multiprocessing.rst:1273 +#: ../Doc/library/multiprocessing.rst:1284 msgid "" "When invoked with a positive, floating-point value for *timeout*, block for " "at most the number of seconds specified by *timeout* as long as the lock can " @@ -1965,7 +1976,7 @@ msgstr "" "Retorna ``True`` si se ha adquirido el candado o ``False`` si ha " "transcurrido el tiempo de espera." -#: ../Doc/library/multiprocessing.rst:1288 +#: ../Doc/library/multiprocessing.rst:1299 msgid "" "Release a lock. This can be called from any process or thread, not only the " "process or thread which originally acquired the lock." @@ -1974,7 +1985,7 @@ msgstr "" "subproceso, no solo desde el proceso o subproceso que originalmente adquirió " "el candado." -#: ../Doc/library/multiprocessing.rst:1291 +#: ../Doc/library/multiprocessing.rst:1302 msgid "" "Behavior is the same as in :meth:`threading.Lock.release` except that when " "invoked on an unlocked lock, a :exc:`ValueError` is raised." @@ -1983,7 +1994,7 @@ msgstr "" "que cuando se invoca en un bloqueo desbloqueado, se genera a :exc:" "`ValueError`." -#: ../Doc/library/multiprocessing.rst:1297 +#: ../Doc/library/multiprocessing.rst:1308 msgid "" "A recursive lock object: a close analog of :class:`threading.RLock`. A " "recursive lock must be released by the process or thread that acquired it. " @@ -1998,7 +2009,7 @@ msgstr "" "bloquearlo; ese proceso o hilo debe liberarlo una vez por cada vez que se " "haya adquirido." -#: ../Doc/library/multiprocessing.rst:1303 +#: ../Doc/library/multiprocessing.rst:1314 msgid "" "Note that :class:`RLock` is actually a factory function which returns an " "instance of ``multiprocessing.synchronize.RLock`` initialized with a default " @@ -2008,7 +2019,7 @@ msgstr "" "retorna una instancia de ``multiprocessing.synchronize.RLock`` inicializada " "con un contexto predeterminado." -#: ../Doc/library/multiprocessing.rst:1307 +#: ../Doc/library/multiprocessing.rst:1318 msgid "" ":class:`RLock` supports the :term:`context manager` protocol and thus may be " "used in :keyword:`with` statements." @@ -2016,7 +2027,7 @@ msgstr "" "La :class:`RLock` admite el protocolo :term:`context manager` y, por lo " "tanto, puede usarse en :keyword:`with`." -#: ../Doc/library/multiprocessing.rst:1315 +#: ../Doc/library/multiprocessing.rst:1326 msgid "" "When invoked with the *block* argument set to ``True``, block until the lock " "is in an unlocked state (not owned by any process or thread) unless the lock " @@ -2038,7 +2049,7 @@ msgstr "" "argumento en comparación con la implementación de :meth:`threading.RLock." "acquire`, comenzando con el nombre del argumento en sí." -#: ../Doc/library/multiprocessing.rst:1325 +#: ../Doc/library/multiprocessing.rst:1336 msgid "" "When invoked with the *block* argument set to ``False``, do not block. If " "the lock has already been acquired (and thus is owned) by another process or " @@ -2056,7 +2067,7 @@ msgstr "" "proceso o subproceso actual toma posesión y el nivel de recurrencia se " "incrementa, lo que resulta en un valor de retorno de ``True``." -#: ../Doc/library/multiprocessing.rst:1333 +#: ../Doc/library/multiprocessing.rst:1344 msgid "" "Use and behaviors of the *timeout* argument are the same as in :meth:`Lock." "acquire`. Note that some of these behaviors of *timeout* differ from the " @@ -2067,7 +2078,7 @@ msgstr "" "*timeout* difieren de los comportamientos implementados en :meth:`threading." "RLock.acquire`." -#: ../Doc/library/multiprocessing.rst:1340 +#: ../Doc/library/multiprocessing.rst:1351 msgid "" "Release a lock, decrementing the recursion level. If after the decrement " "the recursion level is zero, reset the lock to unlocked (not owned by any " @@ -2084,7 +2095,7 @@ msgstr "" "decremento el nivel de recursión sigue siendo distinto de cero, el candado " "permanece bloqueado y pertenece al proceso de llamada o subproceso." -#: ../Doc/library/multiprocessing.rst:1348 +#: ../Doc/library/multiprocessing.rst:1359 msgid "" "Only call this method when the calling process or thread owns the lock. An :" "exc:`AssertionError` is raised if this method is called by a process or " @@ -2099,12 +2110,12 @@ msgstr "" "que el tipo de excepción planteada en esta situación difiere del " "comportamiento implementado en :meth:`threading.RLock.release`." -#: ../Doc/library/multiprocessing.rst:1357 +#: ../Doc/library/multiprocessing.rst:1368 msgid "A semaphore object: a close analog of :class:`threading.Semaphore`." msgstr "" "Un objeto semáforo: un análogo cercano de :class:`threading.Semaphore`." -#: ../Doc/library/multiprocessing.rst:1364 +#: ../Doc/library/multiprocessing.rst:1375 msgid "" "On Mac OS X, ``sem_timedwait`` is unsupported, so calling ``acquire()`` with " "a timeout will emulate that function's behavior using a sleeping loop." @@ -2113,7 +2124,7 @@ msgstr "" "``acquire()`` con un tiempo de espera emulará el comportamiento de esa " "función utilizando un bucle inactivo." -#: ../Doc/library/multiprocessing.rst:1369 +#: ../Doc/library/multiprocessing.rst:1380 msgid "" "If the SIGINT signal generated by :kbd:`Ctrl-C` arrives while the main " "thread is blocked by a call to :meth:`BoundedSemaphore.acquire`, :meth:`Lock." @@ -2127,7 +2138,7 @@ msgstr "" "acquire`, :meth:`Condition.acquire` o :meth:`Condition.wait`, la llamada se " "interrumpirá inmediatamente y :exc:`KeyboardInterrupt` se lanzará." -#: ../Doc/library/multiprocessing.rst:1375 +#: ../Doc/library/multiprocessing.rst:1386 msgid "" "This differs from the behaviour of :mod:`threading` where SIGINT will be " "ignored while the equivalent blocking calls are in progress." @@ -2135,7 +2146,7 @@ msgstr "" "Esto difiere del comportamiento de :mod:`threading` donde SIGINT será " "ignorado mientras las llamadas de candado equivalentes están en progreso." -#: ../Doc/library/multiprocessing.rst:1380 +#: ../Doc/library/multiprocessing.rst:1391 msgid "" "Some of this package's functionality requires a functioning shared semaphore " "implementation on the host operating system. Without one, the :mod:" @@ -2149,11 +2160,11 @@ msgstr "" "importarlo darán como resultado :exc:`ImportError`. Consulte :issue:`3770` " "para información adicional." -#: ../Doc/library/multiprocessing.rst:1388 +#: ../Doc/library/multiprocessing.rst:1399 msgid "Shared :mod:`ctypes` Objects" msgstr "Objetos compartidos :mod:`ctypes`" -#: ../Doc/library/multiprocessing.rst:1390 +#: ../Doc/library/multiprocessing.rst:1401 msgid "" "It is possible to create shared objects using shared memory which can be " "inherited by child processes." @@ -2161,7 +2172,7 @@ msgstr "" "Es posible crear objetos compartidos utilizando memoria compartida que puede " "ser heredada por procesos secundarios." -#: ../Doc/library/multiprocessing.rst:1395 +#: ../Doc/library/multiprocessing.rst:1406 msgid "" "Return a :mod:`ctypes` object allocated from shared memory. By default the " "return value is actually a synchronized wrapper for the object. The object " @@ -2172,8 +2183,8 @@ msgstr "" "el objeto. Se puede acceder al objeto en sí a través del atributo *value* de " "la :class:`Value`." -#: ../Doc/library/multiprocessing.rst:1399 -#: ../Doc/library/multiprocessing.rst:1486 +#: ../Doc/library/multiprocessing.rst:1410 +#: ../Doc/library/multiprocessing.rst:1497 msgid "" "*typecode_or_type* determines the type of the returned object: it is either " "a ctypes type or a one character typecode of the kind used by the :mod:" @@ -2183,7 +2194,7 @@ msgstr "" "*ctypes* o un código de tipo de un carácter del tipo utilizado por el " "módulo :mod:`array`. *\\*args* se pasa al constructor para el tipo." -#: ../Doc/library/multiprocessing.rst:1403 +#: ../Doc/library/multiprocessing.rst:1414 msgid "" "If *lock* is ``True`` (the default) then a new recursive lock object is " "created to synchronize access to the value. If *lock* is a :class:`Lock` " @@ -2199,7 +2210,7 @@ msgstr "" "estará protegido automáticamente por un candado, por lo que no será " "necesariamente \"proceso-seguro\"." -#: ../Doc/library/multiprocessing.rst:1410 +#: ../Doc/library/multiprocessing.rst:1421 msgid "" "Operations like ``+=`` which involve a read and write are not atomic. So " "if, for instance, you want to atomically increment a shared value it is " @@ -2209,7 +2220,7 @@ msgstr "" "atómicas. Entonces, si, por ejemplo, desea incrementar atómicamente un valor " "compartido, es insuficiente simplemente hacer::" -#: ../Doc/library/multiprocessing.rst:1416 +#: ../Doc/library/multiprocessing.rst:1427 msgid "" "Assuming the associated lock is recursive (which it is by default) you can " "instead do ::" @@ -2217,13 +2228,13 @@ msgstr "" "Suponiendo que el candado asociado es recursivo (que es por defecto), puede " "hacer ::" -#: ../Doc/library/multiprocessing.rst:1422 -#: ../Doc/library/multiprocessing.rst:1512 -#: ../Doc/library/multiprocessing.rst:1527 +#: ../Doc/library/multiprocessing.rst:1433 +#: ../Doc/library/multiprocessing.rst:1523 +#: ../Doc/library/multiprocessing.rst:1538 msgid "Note that *lock* is a keyword-only argument." msgstr "Véase que *lock* es un argumento de solo una palabra clave." -#: ../Doc/library/multiprocessing.rst:1426 +#: ../Doc/library/multiprocessing.rst:1437 msgid "" "Return a ctypes array allocated from shared memory. By default the return " "value is actually a synchronized wrapper for the array." @@ -2232,7 +2243,7 @@ msgstr "" "defecto, el valor de retorno es en realidad un contenedor sincronizado para " "el arreglo." -#: ../Doc/library/multiprocessing.rst:1429 +#: ../Doc/library/multiprocessing.rst:1440 msgid "" "*typecode_or_type* determines the type of the elements of the returned " "array: it is either a ctypes type or a one character typecode of the kind " @@ -2249,7 +2260,7 @@ msgstr "" "secuencia que se utiliza para inicializar la matriz y cuya longitud " "determina la longitud de la matriz." -#: ../Doc/library/multiprocessing.rst:1436 +#: ../Doc/library/multiprocessing.rst:1447 msgid "" "If *lock* is ``True`` (the default) then a new lock object is created to " "synchronize access to the value. If *lock* is a :class:`Lock` or :class:" @@ -2265,11 +2276,11 @@ msgstr "" "protegido automáticamente por un candado, por lo que no será necesariamente " "\"proceso seguro\"." -#: ../Doc/library/multiprocessing.rst:1443 +#: ../Doc/library/multiprocessing.rst:1454 msgid "Note that *lock* is a keyword only argument." msgstr "Véase que *lock* es un argumento de solo una palabra clave." -#: ../Doc/library/multiprocessing.rst:1445 +#: ../Doc/library/multiprocessing.rst:1456 msgid "" "Note that an array of :data:`ctypes.c_char` has *value* and *raw* attributes " "which allow one to use it to store and retrieve strings." @@ -2278,11 +2289,11 @@ msgstr "" "*value* y *raw* que le permiten a uno usarlo para almacenar y recuperar " "cadenas de caracteres." -#: ../Doc/library/multiprocessing.rst:1450 +#: ../Doc/library/multiprocessing.rst:1461 msgid "The :mod:`multiprocessing.sharedctypes` module" msgstr "El módulo :mod:`multiprocessing.sharedctypes`" -#: ../Doc/library/multiprocessing.rst:1455 +#: ../Doc/library/multiprocessing.rst:1466 msgid "" "The :mod:`multiprocessing.sharedctypes` module provides functions for " "allocating :mod:`ctypes` objects from shared memory which can be inherited " @@ -2292,7 +2303,7 @@ msgstr "" "asignar objetos :mod:`ctypes` de la memoria compartida que pueden ser " "heredados por procesos secundarios." -#: ../Doc/library/multiprocessing.rst:1461 +#: ../Doc/library/multiprocessing.rst:1472 msgid "" "Although it is possible to store a pointer in shared memory remember that " "this will refer to a location in the address space of a specific process. " @@ -2306,11 +2317,11 @@ msgstr "" "en el contexto de un segundo proceso y tratar de desreferenciar el puntero " "del segundo proceso puede causar un bloqueo." -#: ../Doc/library/multiprocessing.rst:1469 +#: ../Doc/library/multiprocessing.rst:1480 msgid "Return a ctypes array allocated from shared memory." msgstr "Retorna una matriz *ctypes* asignada desde la memoria compartida." -#: ../Doc/library/multiprocessing.rst:1471 +#: ../Doc/library/multiprocessing.rst:1482 msgid "" "*typecode_or_type* determines the type of the elements of the returned " "array: it is either a ctypes type or a one character typecode of the kind " @@ -2327,7 +2338,7 @@ msgstr "" "secuencia que se usa para inicializar la matriz y cuya longitud determina la " "longitud del arreglo." -#: ../Doc/library/multiprocessing.rst:1478 +#: ../Doc/library/multiprocessing.rst:1489 msgid "" "Note that setting and getting an element is potentially non-atomic -- use :" "func:`Array` instead to make sure that access is automatically synchronized " @@ -2337,11 +2348,11 @@ msgstr "" "atómico -- utiliza :func:`Array` en su lugar para asegurarse de que el " "acceso se sincronice automáticamente mediante un candado." -#: ../Doc/library/multiprocessing.rst:1484 +#: ../Doc/library/multiprocessing.rst:1495 msgid "Return a ctypes object allocated from shared memory." msgstr "Retorna un objeto *ctypes* asignado desde la memoria compartida." -#: ../Doc/library/multiprocessing.rst:1490 +#: ../Doc/library/multiprocessing.rst:1501 msgid "" "Note that setting and getting the value is potentially non-atomic -- use :" "func:`Value` instead to make sure that access is automatically synchronized " @@ -2351,7 +2362,7 @@ msgstr "" "atómico -- use :func:`Value` en su lugar para asegurarse de que el acceso se " "sincronice automáticamente mediante un candado." -#: ../Doc/library/multiprocessing.rst:1494 +#: ../Doc/library/multiprocessing.rst:1505 msgid "" "Note that an array of :data:`ctypes.c_char` has ``value`` and ``raw`` " "attributes which allow one to use it to store and retrieve strings -- see " @@ -2361,7 +2372,7 @@ msgstr "" "``value`` y` `raw`` que le permiten a uno usarlo para almacenar y recuperar " "cadenas de caracteres -- consulte la documentación para :mod:`ctypes`." -#: ../Doc/library/multiprocessing.rst:1500 +#: ../Doc/library/multiprocessing.rst:1511 msgid "" "The same as :func:`RawArray` except that depending on the value of *lock* a " "process-safe synchronization wrapper may be returned instead of a raw ctypes " @@ -2371,8 +2382,8 @@ msgstr "" "se puede retornar un contenedor de sincronización seguro para el proceso en " "lugar de un arreglo de tipos crudos." -#: ../Doc/library/multiprocessing.rst:1504 -#: ../Doc/library/multiprocessing.rst:1520 +#: ../Doc/library/multiprocessing.rst:1515 +#: ../Doc/library/multiprocessing.rst:1531 msgid "" "If *lock* is ``True`` (the default) then a new lock object is created to " "synchronize access to the value. If *lock* is a :class:`~multiprocessing." @@ -2388,7 +2399,7 @@ msgstr "" "al objeto retornado no estará protegido automáticamente por un candado, por " "lo que no será necesariamente \"seguro para el proceso\"." -#: ../Doc/library/multiprocessing.rst:1516 +#: ../Doc/library/multiprocessing.rst:1527 msgid "" "The same as :func:`RawValue` except that depending on the value of *lock* a " "process-safe synchronization wrapper may be returned instead of a raw ctypes " @@ -2398,7 +2409,7 @@ msgstr "" "se puede retornar una envoltura de sincronización segura para el proceso en " "lugar de un objeto *ctypes* sin procesar." -#: ../Doc/library/multiprocessing.rst:1531 +#: ../Doc/library/multiprocessing.rst:1542 msgid "" "Return a ctypes object allocated from shared memory which is a copy of the " "ctypes object *obj*." @@ -2406,7 +2417,7 @@ msgstr "" "Retorna un objeto *ctypes* asignado de la memoria compartida, que es una " "copia del objeto *ctypes* *obj*." -#: ../Doc/library/multiprocessing.rst:1536 +#: ../Doc/library/multiprocessing.rst:1547 msgid "" "Return a process-safe wrapper object for a ctypes object which uses *lock* " "to synchronize access. If *lock* is ``None`` (the default) then a :class:" @@ -2416,7 +2427,7 @@ msgstr "" "para sincronizar el acceso. Si *lock* es ``None`` (el valor predeterminado), " "se crea automáticamente un objeto :class:`multiprocessing.RLock`." -#: ../Doc/library/multiprocessing.rst:1540 +#: ../Doc/library/multiprocessing.rst:1551 msgid "" "A synchronized wrapper will have two methods in addition to those of the " "object it wraps: :meth:`get_obj` returns the wrapped object and :meth:" @@ -2426,7 +2437,7 @@ msgstr "" "envuelve: :meth:`get_obj` retorna el objeto envuelto y :meth:`get_lock` " "retorna el objeto de bloqueo utilizado para la sincronización." -#: ../Doc/library/multiprocessing.rst:1544 +#: ../Doc/library/multiprocessing.rst:1555 msgid "" "Note that accessing the ctypes object through the wrapper can be a lot " "slower than accessing the raw ctypes object." @@ -2434,12 +2445,12 @@ msgstr "" "Tenga en cuenta que acceder al objeto *ctypes* a través del contenedor puede " "ser mucho más lento que acceder al objeto *ctypes* sin formato." -#: ../Doc/library/multiprocessing.rst:1547 +#: ../Doc/library/multiprocessing.rst:1558 msgid "Synchronized objects support the :term:`context manager` protocol." msgstr "" "Los objetos sincronizados admiten el protocolo: :term:`context manager`." -#: ../Doc/library/multiprocessing.rst:1551 +#: ../Doc/library/multiprocessing.rst:1562 msgid "" "The table below compares the syntax for creating shared ctypes objects from " "shared memory with the normal ctypes syntax. (In the table ``MyStruct`` is " @@ -2449,63 +2460,63 @@ msgstr "" "compartidos desde la memoria compartida con la sintaxis *ctypes* normal. (En " "la tabla ``MyStruct`` hay alguna subclase de :class:`ctypes.Structure`.)" -#: ../Doc/library/multiprocessing.rst:1556 +#: ../Doc/library/multiprocessing.rst:1567 msgid "ctypes" msgstr "*ctypes*" -#: ../Doc/library/multiprocessing.rst:1556 +#: ../Doc/library/multiprocessing.rst:1567 msgid "sharedctypes using type" msgstr "*sharedctypes* usando *type*" -#: ../Doc/library/multiprocessing.rst:1556 +#: ../Doc/library/multiprocessing.rst:1567 msgid "sharedctypes using typecode" msgstr "*sharedctypes* usando *typecode*" -#: ../Doc/library/multiprocessing.rst:1558 +#: ../Doc/library/multiprocessing.rst:1569 msgid "c_double(2.4)" msgstr "*c_double(2.4)*" -#: ../Doc/library/multiprocessing.rst:1558 +#: ../Doc/library/multiprocessing.rst:1569 msgid "RawValue(c_double, 2.4)" msgstr "*RawValue(c_double, 2.4)*" -#: ../Doc/library/multiprocessing.rst:1558 +#: ../Doc/library/multiprocessing.rst:1569 msgid "RawValue('d', 2.4)" msgstr "*RawValue('d', 2.4)*" -#: ../Doc/library/multiprocessing.rst:1559 +#: ../Doc/library/multiprocessing.rst:1570 msgid "MyStruct(4, 6)" msgstr "*MyStruct(4, 6)*" -#: ../Doc/library/multiprocessing.rst:1559 +#: ../Doc/library/multiprocessing.rst:1570 msgid "RawValue(MyStruct, 4, 6)" msgstr "*RawValue(MyStruct, 4, 6)*" -#: ../Doc/library/multiprocessing.rst:1560 +#: ../Doc/library/multiprocessing.rst:1571 msgid "(c_short * 7)()" msgstr "*(c_short * 7)()*" -#: ../Doc/library/multiprocessing.rst:1560 +#: ../Doc/library/multiprocessing.rst:1571 msgid "RawArray(c_short, 7)" msgstr "*RawArray(c_short, 7)*" -#: ../Doc/library/multiprocessing.rst:1560 +#: ../Doc/library/multiprocessing.rst:1571 msgid "RawArray('h', 7)" msgstr "*RawArray(‘h’, 7)*" -#: ../Doc/library/multiprocessing.rst:1561 +#: ../Doc/library/multiprocessing.rst:1572 msgid "(c_int * 3)(9, 2, 8)" msgstr "*(c_int * 3)(9, 2, 8)*" -#: ../Doc/library/multiprocessing.rst:1561 +#: ../Doc/library/multiprocessing.rst:1572 msgid "RawArray(c_int, (9, 2, 8))" msgstr "*RawArray(c_int, (9, 2, 8))*" -#: ../Doc/library/multiprocessing.rst:1561 +#: ../Doc/library/multiprocessing.rst:1572 msgid "RawArray('i', (9, 2, 8))" msgstr "*RawArray('i', (9, 2, 8))*" -#: ../Doc/library/multiprocessing.rst:1565 +#: ../Doc/library/multiprocessing.rst:1576 msgid "" "Below is an example where a number of ctypes objects are modified by a child " "process::" @@ -2513,15 +2524,15 @@ msgstr "" "A continuación se muestra un ejemplo donde un número de objetos *ctypes* son " "modificados por un proceso hijo::" -#: ../Doc/library/multiprocessing.rst:1603 +#: ../Doc/library/multiprocessing.rst:1614 msgid "The results printed are ::" msgstr "Los resultados impresos son ::" -#: ../Doc/library/multiprocessing.rst:1616 +#: ../Doc/library/multiprocessing.rst:1627 msgid "Managers" msgstr "Administradores (*Managers*)" -#: ../Doc/library/multiprocessing.rst:1618 +#: ../Doc/library/multiprocessing.rst:1629 msgid "" "Managers provide a way to create data which can be shared between different " "processes, including sharing over a network between processes running on " @@ -2536,7 +2547,7 @@ msgstr "" "(*objetos compartidos*). Otros procesos pueden acceder a los objetos " "compartidos mediante el uso de servidores proxy." -#: ../Doc/library/multiprocessing.rst:1626 +#: ../Doc/library/multiprocessing.rst:1637 msgid "" "Returns a started :class:`~multiprocessing.managers.SyncManager` object " "which can be used for sharing objects between processes. The returned " @@ -2549,7 +2560,7 @@ msgstr "" "métodos que crearán objetos compartidos y retornarán los proxies " "correspondientes." -#: ../Doc/library/multiprocessing.rst:1634 +#: ../Doc/library/multiprocessing.rst:1645 msgid "" "Manager processes will be shutdown as soon as they are garbage collected or " "their parent process exits. The manager classes are defined in the :mod:" @@ -2559,11 +2570,11 @@ msgstr "" "basura o salga su proceso padre. Las clases de administrador se definen en " "el módulo :mod:`multiprocessing.managers`:" -#: ../Doc/library/multiprocessing.rst:1640 +#: ../Doc/library/multiprocessing.rst:1651 msgid "Create a BaseManager object." msgstr "Crear un objeto *BaseManager*." -#: ../Doc/library/multiprocessing.rst:1642 +#: ../Doc/library/multiprocessing.rst:1653 msgid "" "Once created one should call :meth:`start` or ``get_server()." "serve_forever()`` to ensure that the manager object refers to a started " @@ -2573,7 +2584,7 @@ msgstr "" "serve_forever()`` para asegurarse de que el objeto de administrador se " "refiera a un proceso de administrador iniciado." -#: ../Doc/library/multiprocessing.rst:1645 +#: ../Doc/library/multiprocessing.rst:1656 msgid "" "*address* is the address on which the manager process listens for new " "connections. If *address* is ``None`` then an arbitrary one is chosen." @@ -2581,7 +2592,7 @@ msgstr "" "*address* es la dirección en la que el proceso del administrador escucha las " "nuevas conexiones. Si *address* es ``None``, se elige una arbitrariamente." -#: ../Doc/library/multiprocessing.rst:1648 +#: ../Doc/library/multiprocessing.rst:1659 msgid "" "*authkey* is the authentication key which will be used to check the validity " "of incoming connections to the server process. If *authkey* is ``None`` " @@ -2593,7 +2604,7 @@ msgstr "" "``None``, entonces se usa ``current_process().authkey``. De lo contrario, se " "usa *authkey* y debe ser una cadena de *bytes*." -#: ../Doc/library/multiprocessing.rst:1655 +#: ../Doc/library/multiprocessing.rst:1666 msgid "" "Start a subprocess to start the manager. If *initializer* is not ``None`` " "then the subprocess will call ``initializer(*initargs)`` when it starts." @@ -2602,7 +2613,7 @@ msgstr "" "es ``None``, entonces el subproceso llamará ``initializer(*initargs)`` " "cuando se inicie." -#: ../Doc/library/multiprocessing.rst:1660 +#: ../Doc/library/multiprocessing.rst:1671 msgid "" "Returns a :class:`Server` object which represents the actual server under " "the control of the Manager. The :class:`Server` object supports the :meth:" @@ -2612,17 +2623,17 @@ msgstr "" "control del Administrador. El objeto :class:`Server` admite el método :meth:" "`serve_forever`::" -#: ../Doc/library/multiprocessing.rst:1669 +#: ../Doc/library/multiprocessing.rst:1680 msgid ":class:`Server` additionally has an :attr:`address` attribute." msgstr ":class:`Server` tiene un atributo adicional :attr:`address`." -#: ../Doc/library/multiprocessing.rst:1673 +#: ../Doc/library/multiprocessing.rst:1684 msgid "Connect a local manager object to a remote manager process::" msgstr "" "Conecta un objeto de administrador (*manager*) local a un proceso de " "administrador remoto::" -#: ../Doc/library/multiprocessing.rst:1681 +#: ../Doc/library/multiprocessing.rst:1692 msgid "" "Stop the process used by the manager. This is only available if :meth:" "`start` has been used to start the server process." @@ -2631,11 +2642,11 @@ msgstr "" "disponible si :meth:`start` se ha utilizado para iniciar el proceso del " "servidor." -#: ../Doc/library/multiprocessing.rst:1684 +#: ../Doc/library/multiprocessing.rst:1695 msgid "This can be called multiple times." msgstr "Esto se puede llamar múltiples veces." -#: ../Doc/library/multiprocessing.rst:1688 +#: ../Doc/library/multiprocessing.rst:1699 msgid "" "A classmethod which can be used for registering a type or callable with the " "manager class." @@ -2643,7 +2654,7 @@ msgstr "" "Un método de clase que puede usarse para registrar un tipo o invocarse con " "la clase de administrador (*manager*)." -#: ../Doc/library/multiprocessing.rst:1691 +#: ../Doc/library/multiprocessing.rst:1702 msgid "" "*typeid* is a \"type identifier\" which is used to identify a particular " "type of shared object. This must be a string." @@ -2651,7 +2662,7 @@ msgstr "" "*typeid* es un \"identificador de tipo\" que se utiliza para identificar un " "tipo particular de objeto compartido. Esto debe ser una cadena de caracteres." -#: ../Doc/library/multiprocessing.rst:1694 +#: ../Doc/library/multiprocessing.rst:1705 msgid "" "*callable* is a callable used for creating objects for this type " "identifier. If a manager instance will be connected to the server using " @@ -2663,7 +2674,7 @@ msgstr "" "servidor utilizando el método :meth:`connect`, o si el argumento " "*create_method* es ``False``, esto se puede dejar como ``None``." -#: ../Doc/library/multiprocessing.rst:1700 +#: ../Doc/library/multiprocessing.rst:1711 msgid "" "*proxytype* is a subclass of :class:`BaseProxy` which is used to create " "proxies for shared objects with this *typeid*. If ``None`` then a proxy " @@ -2673,7 +2684,7 @@ msgstr "" "*proxies* para objetos compartidos con este *typeid*. Si ``None``, se crea " "automáticamente una clase proxy." -#: ../Doc/library/multiprocessing.rst:1704 +#: ../Doc/library/multiprocessing.rst:1715 msgid "" "*exposed* is used to specify a sequence of method names which proxies for " "this typeid should be allowed to access using :meth:`BaseProxy." @@ -2692,7 +2703,7 @@ msgstr "" "\"método público\" significa cualquier atributo que tenga un método :meth:" "`~object.__call__` y cuyo nombre no comience con ``'_'``.)" -#: ../Doc/library/multiprocessing.rst:1713 +#: ../Doc/library/multiprocessing.rst:1724 msgid "" "*method_to_typeid* is a mapping used to specify the return type of those " "exposed methods which should return a proxy. It maps method names to typeid " @@ -2709,7 +2720,7 @@ msgstr "" "asignación es ``None`` entonces el objeto retornado por el método se copiará " "por valor." -#: ../Doc/library/multiprocessing.rst:1720 +#: ../Doc/library/multiprocessing.rst:1731 msgid "" "*create_method* determines whether a method should be created with name " "*typeid* which can be used to tell the server process to create a new shared " @@ -2719,17 +2730,17 @@ msgstr "" "que se puede usar para indicarle al proceso del servidor que cree un nuevo " "objeto compartido y retornando un proxy para él. Por defecto es ``True``." -#: ../Doc/library/multiprocessing.rst:1724 +#: ../Doc/library/multiprocessing.rst:1735 msgid ":class:`BaseManager` instances also have one read-only property:" msgstr "" ":class:`BaseManager` las instancias también tienen una propiedad de solo " "lectura:" -#: ../Doc/library/multiprocessing.rst:1728 +#: ../Doc/library/multiprocessing.rst:1739 msgid "The address used by the manager." msgstr "La dirección utilizada por el administrador." -#: ../Doc/library/multiprocessing.rst:1730 +#: ../Doc/library/multiprocessing.rst:1741 msgid "" "Manager objects support the context management protocol -- see :ref:" "`typecontextmanager`. :meth:`~contextmanager.__enter__` starts the server " @@ -2741,7 +2752,7 @@ msgstr "" "el proceso del servidor (si aún no se ha iniciado) y luego retorna el objeto " "de administrador. :meth:`~contextmanager .__exit__` llama :meth:`shutdown`." -#: ../Doc/library/multiprocessing.rst:1736 +#: ../Doc/library/multiprocessing.rst:1747 msgid "" "In previous versions :meth:`~contextmanager.__enter__` did not start the " "manager's server process if it was not already started." @@ -2749,7 +2760,7 @@ msgstr "" "En versiones anteriores :meth:`~contextmanager.__enter__` no iniciaba el " "proceso del servidor del administrador si aún no se había iniciado." -#: ../Doc/library/multiprocessing.rst:1741 +#: ../Doc/library/multiprocessing.rst:1752 msgid "" "A subclass of :class:`BaseManager` which can be used for the synchronization " "of processes. Objects of this type are returned by :func:`multiprocessing." @@ -2759,7 +2770,7 @@ msgstr "" "sincronización de procesos. Los objetos de este tipo son retornados por :" "func:`multiprocessing.Manager`." -#: ../Doc/library/multiprocessing.rst:1745 +#: ../Doc/library/multiprocessing.rst:1756 msgid "" "Its methods create and return :ref:`multiprocessing-proxy_objects` for a " "number of commonly used data types to be synchronized across processes. This " @@ -2769,14 +2780,14 @@ msgstr "" "varios tipos de datos de uso común que se sincronizarán entre procesos. Esto " "incluye notablemente listas compartidas y diccionarios." -#: ../Doc/library/multiprocessing.rst:1751 +#: ../Doc/library/multiprocessing.rst:1762 msgid "" "Create a shared :class:`threading.Barrier` object and return a proxy for it." msgstr "" ":class:`threading.Barrier` crea un objeto compartido y retorna un proxy para " "él." -#: ../Doc/library/multiprocessing.rst:1758 +#: ../Doc/library/multiprocessing.rst:1769 msgid "" "Create a shared :class:`threading.BoundedSemaphore` object and return a " "proxy for it." @@ -2784,7 +2795,7 @@ msgstr "" "Crea un objeto compartido :class:`threading.BoundedSemaphore` y retorna un " "proxy para él." -#: ../Doc/library/multiprocessing.rst:1763 +#: ../Doc/library/multiprocessing.rst:1774 msgid "" "Create a shared :class:`threading.Condition` object and return a proxy for " "it." @@ -2792,7 +2803,7 @@ msgstr "" "Crea un objeto compartido :class:`threading.Condition` y retorna un proxy " "para él." -#: ../Doc/library/multiprocessing.rst:1766 +#: ../Doc/library/multiprocessing.rst:1777 msgid "" "If *lock* is supplied then it should be a proxy for a :class:`threading." "Lock` or :class:`threading.RLock` object." @@ -2800,37 +2811,37 @@ msgstr "" "Si se proporciona *lock*, debería ser un proxy para un objeto :class:" "`threading.Lock` o :class:`threading.RLock`." -#: ../Doc/library/multiprocessing.rst:1774 +#: ../Doc/library/multiprocessing.rst:1785 msgid "" "Create a shared :class:`threading.Event` object and return a proxy for it." msgstr "" "Crea un objeto compartido :class:`threading.Event` y retorna un proxy para " "él." -#: ../Doc/library/multiprocessing.rst:1778 +#: ../Doc/library/multiprocessing.rst:1789 msgid "" "Create a shared :class:`threading.Lock` object and return a proxy for it." msgstr "" "Crea un objeto compartido :class:`threading.Lock` y retorna un proxy para él." -#: ../Doc/library/multiprocessing.rst:1782 +#: ../Doc/library/multiprocessing.rst:1793 msgid "Create a shared :class:`Namespace` object and return a proxy for it." msgstr "" "Crea un objeto compartido :class:`Namespace` y retorna un proxy para él." -#: ../Doc/library/multiprocessing.rst:1786 +#: ../Doc/library/multiprocessing.rst:1797 msgid "Create a shared :class:`queue.Queue` object and return a proxy for it." msgstr "" "Crea un objeto compartido :class:`queue.Queue` y retorna un proxy para él." -#: ../Doc/library/multiprocessing.rst:1790 +#: ../Doc/library/multiprocessing.rst:1801 msgid "" "Create a shared :class:`threading.RLock` object and return a proxy for it." msgstr "" "Crea un objeto compartido :class:`threading.RLock` y retorna un proxy para " "él." -#: ../Doc/library/multiprocessing.rst:1794 +#: ../Doc/library/multiprocessing.rst:1805 msgid "" "Create a shared :class:`threading.Semaphore` object and return a proxy for " "it." @@ -2838,11 +2849,11 @@ msgstr "" "Crea un objeto compartido :class:`threading.Semaphore` y retorna un proxy " "para él." -#: ../Doc/library/multiprocessing.rst:1799 +#: ../Doc/library/multiprocessing.rst:1810 msgid "Create an array and return a proxy for it." msgstr "Crea un arreglo y retorna un proxy para ello." -#: ../Doc/library/multiprocessing.rst:1803 +#: ../Doc/library/multiprocessing.rst:1814 msgid "" "Create an object with a writable ``value`` attribute and return a proxy for " "it." @@ -2850,15 +2861,15 @@ msgstr "" "Crea un objeto con un atributo de escritura ``value`` y retorna un proxy " "para él." -#: ../Doc/library/multiprocessing.rst:1810 +#: ../Doc/library/multiprocessing.rst:1821 msgid "Create a shared :class:`dict` object and return a proxy for it." msgstr "Crea un objeto compartido :class:`dict` y retorna un proxy para él." -#: ../Doc/library/multiprocessing.rst:1815 +#: ../Doc/library/multiprocessing.rst:1826 msgid "Create a shared :class:`list` object and return a proxy for it." msgstr "Crea un objeto compartido :class:`list` y retorna un proxy para él." -#: ../Doc/library/multiprocessing.rst:1817 +#: ../Doc/library/multiprocessing.rst:1828 msgid "" "Shared objects are capable of being nested. For example, a shared container " "object such as a shared list can contain other shared objects which will all " @@ -2868,11 +2879,11 @@ msgstr "" "compartido, como una lista compartida, puede contener otros objetos " "compartidos que serán administrados y sincronizados por :class:`SyncManager`." -#: ../Doc/library/multiprocessing.rst:1824 +#: ../Doc/library/multiprocessing.rst:1835 msgid "A type that can register with :class:`SyncManager`." msgstr "Un tipo que puede registrarse con :class:`SyncManager`." -#: ../Doc/library/multiprocessing.rst:1826 +#: ../Doc/library/multiprocessing.rst:1837 msgid "" "A namespace object has no public methods, but does have writable attributes. " "Its representation shows the values of its attributes." @@ -2881,7 +2892,7 @@ msgstr "" "atributos de escritura. Su representación muestra los valores de sus " "atributos." -#: ../Doc/library/multiprocessing.rst:1829 +#: ../Doc/library/multiprocessing.rst:1840 msgid "" "However, when using a proxy for a namespace object, an attribute beginning " "with ``'_'`` will be an attribute of the proxy and not an attribute of the " @@ -2891,11 +2902,11 @@ msgstr "" "atributo que comience con ``'_'`` será un atributo del proxy y no un " "atributo del referente:" -#: ../Doc/library/multiprocessing.rst:1845 +#: ../Doc/library/multiprocessing.rst:1856 msgid "Customized managers" msgstr "Administradores customizables (*Customized managers*)" -#: ../Doc/library/multiprocessing.rst:1847 +#: ../Doc/library/multiprocessing.rst:1858 msgid "" "To create one's own manager, one creates a subclass of :class:`BaseManager` " "and uses the :meth:`~BaseManager.register` classmethod to register new types " @@ -2906,11 +2917,11 @@ msgstr "" "para registrar nuevos tipos o llamadas con la clase de administrador. Por " "ejemplo::" -#: ../Doc/library/multiprocessing.rst:1872 +#: ../Doc/library/multiprocessing.rst:1883 msgid "Using a remote manager" msgstr "Utilizando un administrador remoto" -#: ../Doc/library/multiprocessing.rst:1874 +#: ../Doc/library/multiprocessing.rst:1885 msgid "" "It is possible to run a manager server on one machine and have clients use " "it from other machines (assuming that the firewalls involved allow it)." @@ -2919,7 +2930,7 @@ msgstr "" "clientes lo usen desde otras máquinas (suponiendo que los cortafuegos " "involucrados lo permitan)." -#: ../Doc/library/multiprocessing.rst:1877 +#: ../Doc/library/multiprocessing.rst:1888 msgid "" "Running the following commands creates a server for a single shared queue " "which remote clients can access::" @@ -2927,15 +2938,15 @@ msgstr "" "La ejecución de los siguientes comandos crea un servidor para una única cola " "compartida a la que los clientes remotos pueden acceder::" -#: ../Doc/library/multiprocessing.rst:1889 +#: ../Doc/library/multiprocessing.rst:1900 msgid "One client can access the server as follows::" msgstr "Un cliente puede tener accesos al servidor de la siguiente manera::" -#: ../Doc/library/multiprocessing.rst:1899 +#: ../Doc/library/multiprocessing.rst:1910 msgid "Another client can also use it::" msgstr "Otro cliente puede también usarlo::" -#: ../Doc/library/multiprocessing.rst:1910 +#: ../Doc/library/multiprocessing.rst:1921 msgid "" "Local processes can also access that queue, using the code from above on the " "client to access it remotely::" @@ -2943,11 +2954,11 @@ msgstr "" "Los procesos locales también pueden acceder a esa cola (*queue*), utilizando " "el código de arriba en el cliente para acceder de forma remota::" -#: ../Doc/library/multiprocessing.rst:1935 +#: ../Doc/library/multiprocessing.rst:1946 msgid "Proxy Objects" msgstr "Objetos Proxy (*Proxy Objects*)" -#: ../Doc/library/multiprocessing.rst:1937 +#: ../Doc/library/multiprocessing.rst:1948 msgid "" "A proxy is an object which *refers* to a shared object which lives " "(presumably) in a different process. The shared object is said to be the " @@ -2958,7 +2969,7 @@ msgstr "" "es el *referente* del proxy. Varios objetos proxy pueden tener el mismo " "referente." -#: ../Doc/library/multiprocessing.rst:1941 +#: ../Doc/library/multiprocessing.rst:1952 msgid "" "A proxy object has methods which invoke corresponding methods of its " "referent (although not every method of the referent will necessarily be " @@ -2970,7 +2981,7 @@ msgstr "" "disponibles a través del proxy). De esta manera, un proxy se puede usar al " "igual que su referente:" -#: ../Doc/library/multiprocessing.rst:1959 +#: ../Doc/library/multiprocessing.rst:1970 msgid "" "Notice that applying :func:`str` to a proxy will return the representation " "of the referent, whereas applying :func:`repr` will return the " @@ -2980,7 +2991,7 @@ msgstr "" "representación del referente, mientras que la aplicación :func:`repr` " "retornará la representación del proxy." -#: ../Doc/library/multiprocessing.rst:1963 +#: ../Doc/library/multiprocessing.rst:1974 msgid "" "An important feature of proxy objects is that they are picklable so they can " "be passed between processes. As such, a referent can contain :ref:" @@ -2992,13 +3003,13 @@ msgstr "" "contener :ref:`multiprocessing-proxy_objects`. Esto permite anidar estas " "listas administradas, dictados y otros :ref:`multiprocessing-proxy_objects`:" -#: ../Doc/library/multiprocessing.rst:1979 +#: ../Doc/library/multiprocessing.rst:1990 msgid "Similarly, dict and list proxies may be nested inside one another::" msgstr "" "Del mismo modo, los proxies *dict* y *list* pueden estar anidados uno dentro " "del otro::" -#: ../Doc/library/multiprocessing.rst:1992 +#: ../Doc/library/multiprocessing.rst:2003 msgid "" "If standard (non-proxy) :class:`list` or :class:`dict` objects are contained " "in a referent, modifications to those mutable values will not be propagated " @@ -3017,7 +3028,7 @@ msgstr "" "por lo tanto, para modificar efectivamente dicho elemento, uno podría " "reasignar el valor modificado al proxy de contenedor::" -#: ../Doc/library/multiprocessing.rst:2011 +#: ../Doc/library/multiprocessing.rst:2022 msgid "" "This approach is perhaps less convenient than employing nested :ref:" "`multiprocessing-proxy_objects` for most use cases but also demonstrates a " @@ -3027,7 +3038,7 @@ msgstr "" "`multiprocessing-proxy_objects` para la mayoría de los casos de uso, pero " "también demuestra un nivel de control sobre la sincronización." -#: ../Doc/library/multiprocessing.rst:2017 +#: ../Doc/library/multiprocessing.rst:2028 msgid "" "The proxy types in :mod:`multiprocessing` do nothing to support comparisons " "by value. So, for instance, we have:" @@ -3035,35 +3046,35 @@ msgstr "" "Los tipos de proxy en :mod:`multiprocessing` no hacen nada para admitir " "comparaciones por valor. Entonces, por ejemplo, tenemos:" -#: ../Doc/library/multiprocessing.rst:2025 +#: ../Doc/library/multiprocessing.rst:2036 msgid "" "One should just use a copy of the referent instead when making comparisons." msgstr "" "En su lugar, se debe usar una copia del referente al hacer comparaciones." -#: ../Doc/library/multiprocessing.rst:2029 +#: ../Doc/library/multiprocessing.rst:2040 msgid "Proxy objects are instances of subclasses of :class:`BaseProxy`." msgstr "Los objetos proxy son instancias de subclases de :class:`BaseProxy`." -#: ../Doc/library/multiprocessing.rst:2033 +#: ../Doc/library/multiprocessing.rst:2044 msgid "Call and return the result of a method of the proxy's referent." msgstr "Llama y retorna el resultado de un método del referente del proxy." -#: ../Doc/library/multiprocessing.rst:2035 +#: ../Doc/library/multiprocessing.rst:2046 msgid "" "If ``proxy`` is a proxy whose referent is ``obj`` then the expression ::" msgstr "" "Si ``proxy`` es un proxy cuyo referente es ``obj`` entonces la expresión ::" -#: ../Doc/library/multiprocessing.rst:2039 +#: ../Doc/library/multiprocessing.rst:2050 msgid "will evaluate the expression ::" msgstr "evaluará la expresión ::" -#: ../Doc/library/multiprocessing.rst:2043 +#: ../Doc/library/multiprocessing.rst:2054 msgid "in the manager's process." msgstr "en el proceso del administrador." -#: ../Doc/library/multiprocessing.rst:2045 +#: ../Doc/library/multiprocessing.rst:2056 msgid "" "The returned value will be a copy of the result of the call or a proxy to a " "new shared object -- see documentation for the *method_to_typeid* argument " @@ -3073,7 +3084,7 @@ msgstr "" "un nuevo objeto compartido; consulte la documentación del argumento " "*method_to_typeid* de :meth:`BaseManager.register`." -#: ../Doc/library/multiprocessing.rst:2049 +#: ../Doc/library/multiprocessing.rst:2060 msgid "" "If an exception is raised by the call, then is re-raised by :meth:" "`_callmethod`. If some other exception is raised in the manager's process " @@ -3085,7 +3096,7 @@ msgstr "" "administrador, esto se convierte en una excepción :exc:`RemoteError` y se " "genera mediante :meth:`_callmethod`." -#: ../Doc/library/multiprocessing.rst:2054 +#: ../Doc/library/multiprocessing.rst:2065 msgid "" "Note in particular that an exception will be raised if *methodname* has not " "been *exposed*." @@ -3093,33 +3104,33 @@ msgstr "" "Tenga en cuenta en particular que se generará una excepción si *methodname* " "no ha sido *exposed*." -#: ../Doc/library/multiprocessing.rst:2057 +#: ../Doc/library/multiprocessing.rst:2068 msgid "An example of the usage of :meth:`_callmethod`:" msgstr "Un ejemplo de uso de :meth:`_callmethod`:" -#: ../Doc/library/multiprocessing.rst:2073 +#: ../Doc/library/multiprocessing.rst:2084 msgid "Return a copy of the referent." msgstr "Retorna una copia del referente." -#: ../Doc/library/multiprocessing.rst:2075 +#: ../Doc/library/multiprocessing.rst:2086 msgid "If the referent is unpicklable then this will raise an exception." msgstr "" "Si el referente no se puede deserializar (*unpicklable*), esto generará una " "excepción." -#: ../Doc/library/multiprocessing.rst:2079 +#: ../Doc/library/multiprocessing.rst:2090 msgid "Return a representation of the proxy object." msgstr "Retorna una representación de un objeto proxy." -#: ../Doc/library/multiprocessing.rst:2083 +#: ../Doc/library/multiprocessing.rst:2094 msgid "Return the representation of the referent." msgstr "Retorna una representación del referente." -#: ../Doc/library/multiprocessing.rst:2087 +#: ../Doc/library/multiprocessing.rst:2098 msgid "Cleanup" msgstr "Limpieza (*Cleanup*)" -#: ../Doc/library/multiprocessing.rst:2089 +#: ../Doc/library/multiprocessing.rst:2100 msgid "" "A proxy object uses a weakref callback so that when it gets garbage " "collected it deregisters itself from the manager which owns its referent." @@ -3128,7 +3139,7 @@ msgstr "" "débil (*weakref*) para que cuando sea recolectado por el recolector de " "basura se da de baja del administrador que posee su referente." -#: ../Doc/library/multiprocessing.rst:2092 +#: ../Doc/library/multiprocessing.rst:2103 msgid "" "A shared object gets deleted from the manager process when there are no " "longer any proxies referring to it." @@ -3136,11 +3147,11 @@ msgstr "" "Un objeto compartido se elimina del proceso del administrador cuando ya no " "hay ningún proxy que se refiera a él." -#: ../Doc/library/multiprocessing.rst:2097 +#: ../Doc/library/multiprocessing.rst:2108 msgid "Process Pools" msgstr "Piscinas de procesos (*Process Pools*)" -#: ../Doc/library/multiprocessing.rst:2102 +#: ../Doc/library/multiprocessing.rst:2113 msgid "" "One can create a pool of processes which will carry out tasks submitted to " "it with the :class:`Pool` class." @@ -3148,7 +3159,7 @@ msgstr "" "Se puede crear un grupo de procesos que llevarán a cabo las tareas que se le " "presenten con la :class:`Pool` class." -#: ../Doc/library/multiprocessing.rst:2107 +#: ../Doc/library/multiprocessing.rst:2118 msgid "" "A process pool object which controls a pool of worker processes to which " "jobs can be submitted. It supports asynchronous results with timeouts and " @@ -3159,7 +3170,7 @@ msgstr "" "tiempos de espera y devoluciones de llamada y tiene una implementación de " "mapa paralelo." -#: ../Doc/library/multiprocessing.rst:2111 +#: ../Doc/library/multiprocessing.rst:2122 msgid "" "*processes* is the number of worker processes to use. If *processes* is " "``None`` then the number returned by :func:`os.cpu_count` is used." @@ -3167,7 +3178,8 @@ msgstr "" "*processes* es el número de procesos de trabajo a utilizar. Si *processes* " "es ``None`` , se utiliza el número retornado por :func:`os.cpu_count`." -#: ../Doc/library/multiprocessing.rst:2114 +#: ../Doc/library/multiprocessing.rst:2125 +#: ../Doc/library/multiprocessing.rst:2684 msgid "" "If *initializer* is not ``None`` then each worker process will call " "``initializer(*initargs)`` when it starts." @@ -3175,7 +3187,7 @@ msgstr "" "Si *initializer* no es ``None``, cada proceso de trabajo llamará " "``initializer(*initargs)`` cuando se inicie." -#: ../Doc/library/multiprocessing.rst:2117 +#: ../Doc/library/multiprocessing.rst:2128 msgid "" "*maxtasksperchild* is the number of tasks a worker process can complete " "before it will exit and be replaced with a fresh worker process, to enable " @@ -3188,7 +3200,7 @@ msgstr "" "predeterminado *maxtasksperchild* es ``None``, lo que significa que los " "procesos de trabajo vivirán tanto tiempo como el grupo." -#: ../Doc/library/multiprocessing.rst:2122 +#: ../Doc/library/multiprocessing.rst:2133 msgid "" "*context* can be used to specify the context used for starting the worker " "processes. Usually a pool is created using the function :func:" @@ -3201,7 +3213,7 @@ msgstr "" "contexto :meth:`Pool`. En ambos casos, *context* se establece de manera " "adecuada." -#: ../Doc/library/multiprocessing.rst:2128 +#: ../Doc/library/multiprocessing.rst:2139 msgid "" "Note that the methods of the pool object should only be called by the " "process which created the pool." @@ -3209,7 +3221,7 @@ msgstr "" "Tenga en cuenta que los métodos del objeto de grupo solo deben ser invocados " "por el proceso que creó el grupo." -#: ../Doc/library/multiprocessing.rst:2132 +#: ../Doc/library/multiprocessing.rst:2143 msgid "" ":class:`multiprocessing.pool` objects have internal resources that need to " "be properly managed (like any other resource) by using the pool as a context " @@ -3222,7 +3234,7 @@ msgstr "" "`close` y :meth:`terminate` manualmente. De lo contrario, el proceso puede " "demorarse en la finalización." -#: ../Doc/library/multiprocessing.rst:2137 +#: ../Doc/library/multiprocessing.rst:2148 msgid "" "Note that is **not correct** to rely on the garbage colletor to destroy the " "pool as CPython does not assure that the finalizer of the pool will be " @@ -3233,15 +3245,15 @@ msgstr "" "finalizador del grupo (consulte :meth:`object.__del__` para obtener más " "información)." -#: ../Doc/library/multiprocessing.rst:2141 +#: ../Doc/library/multiprocessing.rst:2152 msgid "*maxtasksperchild*" msgstr "*maxtasksperchild*" -#: ../Doc/library/multiprocessing.rst:2144 +#: ../Doc/library/multiprocessing.rst:2155 msgid "*context*" msgstr "*context*" -#: ../Doc/library/multiprocessing.rst:2149 +#: ../Doc/library/multiprocessing.rst:2160 msgid "" "Worker processes within a :class:`Pool` typically live for the complete " "duration of the Pool's work queue. A frequent pattern found in other systems " @@ -3260,7 +3272,7 @@ msgstr "" "el viejo. El argumento *maxtasksperchild* para :class:`Pool` expone esta " "capacidad al usuario final." -#: ../Doc/library/multiprocessing.rst:2159 +#: ../Doc/library/multiprocessing.rst:2170 msgid "" "Call *func* with arguments *args* and keyword arguments *kwds*. It blocks " "until the result is ready. Given this blocks, :meth:`apply_async` is better " @@ -3272,13 +3284,16 @@ msgstr "" "`apply_async` es más adecuado para realizar trabajos en paralelo. Además, " "*func* solo se ejecuta en uno de los trabajadores de piscina." -#: ../Doc/library/multiprocessing.rst:2166 -msgid "A variant of the :meth:`apply` method which returns a result object." +#: ../Doc/library/multiprocessing.rst:2177 +#, fuzzy +msgid "" +"A variant of the :meth:`apply` method which returns a :class:" +"`~multiprocessing.pool.AsyncResult` object." msgstr "" "Una variante del método :meth:`apply` que retorna un objeto de resultado." -#: ../Doc/library/multiprocessing.rst:2168 -#: ../Doc/library/multiprocessing.rst:2198 +#: ../Doc/library/multiprocessing.rst:2180 +#: ../Doc/library/multiprocessing.rst:2211 msgid "" "If *callback* is specified then it should be a callable which accepts a " "single argument. When the result becomes ready *callback* is applied to it, " @@ -3289,8 +3304,8 @@ msgstr "" "argumento. Cuando el resultado está listo, se le aplica *callback*, a menos " "que la llamada falle, en cuyo caso se aplica *error_callback*." -#: ../Doc/library/multiprocessing.rst:2173 -#: ../Doc/library/multiprocessing.rst:2203 +#: ../Doc/library/multiprocessing.rst:2185 +#: ../Doc/library/multiprocessing.rst:2216 msgid "" "If *error_callback* is specified then it should be a callable which accepts " "a single argument. If the target function fails, then the *error_callback* " @@ -3300,8 +3315,8 @@ msgstr "" "único argumento. Si la función de destino falla, se llama a *error_callback* " "con la instancia de excepción." -#: ../Doc/library/multiprocessing.rst:2177 -#: ../Doc/library/multiprocessing.rst:2207 +#: ../Doc/library/multiprocessing.rst:2189 +#: ../Doc/library/multiprocessing.rst:2220 msgid "" "Callbacks should complete immediately since otherwise the thread which " "handles the results will get blocked." @@ -3309,7 +3324,7 @@ msgstr "" "Las devoluciones de llamada deben completarse inmediatamente ya que de lo " "contrario el hilo que maneja los resultados se bloqueará." -#: ../Doc/library/multiprocessing.rst:2182 +#: ../Doc/library/multiprocessing.rst:2194 msgid "" "A parallel equivalent of the :func:`map` built-in function (it supports only " "one *iterable* argument though, for multiple iterables see :meth:`starmap`). " @@ -3319,7 +3334,7 @@ msgstr "" "admite un argumento *iterable*, para varios iterables consulte :meth:" "`starmap`). Bloquea hasta que el resultado esté listo." -#: ../Doc/library/multiprocessing.rst:2186 +#: ../Doc/library/multiprocessing.rst:2198 msgid "" "This method chops the iterable into a number of chunks which it submits to " "the process pool as separate tasks. The (approximate) size of these chunks " @@ -3329,7 +3344,7 @@ msgstr "" "procesos como tareas separadas. El tamaño (aproximado) de estos fragmentos " "se puede especificar estableciendo *chunksize* en un entero positivo." -#: ../Doc/library/multiprocessing.rst:2190 +#: ../Doc/library/multiprocessing.rst:2202 msgid "" "Note that it may cause high memory usage for very long iterables. Consider " "using :meth:`imap` or :meth:`imap_unordered` with explicit *chunksize* " @@ -3339,16 +3354,19 @@ msgstr "" "largos. Considere usar :meth:`imap` o :meth:`imap_unordered` con la opción " "explícita *chunksize* para una mejor eficiencia." -#: ../Doc/library/multiprocessing.rst:2196 -msgid "A variant of the :meth:`.map` method which returns a result object." +#: ../Doc/library/multiprocessing.rst:2208 +#, fuzzy +msgid "" +"A variant of the :meth:`.map` method which returns a :class:" +"`~multiprocessing.pool.AsyncResult` object." msgstr "" "Una variante del método :meth:`.map` que como resultado retorna un objeto." -#: ../Doc/library/multiprocessing.rst:2212 +#: ../Doc/library/multiprocessing.rst:2225 msgid "A lazier version of :meth:`.map`." msgstr "Una versión más perezosa (*lazier*) de :meth:`.map`." -#: ../Doc/library/multiprocessing.rst:2214 +#: ../Doc/library/multiprocessing.rst:2227 msgid "" "The *chunksize* argument is the same as the one used by the :meth:`.map` " "method. For very long iterables using a large value for *chunksize* can " @@ -3359,7 +3377,7 @@ msgstr "" "hacer que el trabajo se complete **much** (**mucho**) más rápido que usar el " "valor predeterminado de ``1``." -#: ../Doc/library/multiprocessing.rst:2219 +#: ../Doc/library/multiprocessing.rst:2232 msgid "" "Also if *chunksize* is ``1`` then the :meth:`!next` method of the iterator " "returned by the :meth:`imap` method has an optional *timeout* parameter: " @@ -3371,7 +3389,7 @@ msgstr "" "``next (timeout)`` lanzará :exc:`multiprocessing.TimeoutError` si el " "resultado no puede retornarse dentro de *timeout* segundos." -#: ../Doc/library/multiprocessing.rst:2226 +#: ../Doc/library/multiprocessing.rst:2239 msgid "" "The same as :meth:`imap` except that the ordering of the results from the " "returned iterator should be considered arbitrary. (Only when there is only " @@ -3381,7 +3399,7 @@ msgstr "" "iterador retornado debe considerarse arbitrario. (Solo cuando hay un solo " "proceso de trabajo se garantiza que el orden sea \"correcto\")." -#: ../Doc/library/multiprocessing.rst:2232 +#: ../Doc/library/multiprocessing.rst:2245 msgid "" "Like :meth:`map` except that the elements of the *iterable* are expected to " "be iterables that are unpacked as arguments." @@ -3389,7 +3407,7 @@ msgstr "" "Como :meth:`map` excepto que se espera que los elementos de *iterable* sean " "iterables que se desempaquetan como argumentos." -#: ../Doc/library/multiprocessing.rst:2235 +#: ../Doc/library/multiprocessing.rst:2248 msgid "" "Hence an *iterable* of ``[(1,2), (3, 4)]`` results in ``[func(1,2), " "func(3,4)]``." @@ -3397,7 +3415,7 @@ msgstr "" "Por lo tanto, un *iterable* de ``[(1,2), (3, 4)]`` da como resultado " "``[func(1,2), func(3,4)]``." -#: ../Doc/library/multiprocessing.rst:2242 +#: ../Doc/library/multiprocessing.rst:2255 msgid "" "A combination of :meth:`starmap` and :meth:`map_async` that iterates over " "*iterable* of iterables and calls *func* with the iterables unpacked. " @@ -3407,7 +3425,7 @@ msgstr "" "*iterable* de iterables y llama a *func* con los iterables desempaquetados. " "Como resultado se retorna un objeto." -#: ../Doc/library/multiprocessing.rst:2250 +#: ../Doc/library/multiprocessing.rst:2263 msgid "" "Prevents any more tasks from being submitted to the pool. Once all the " "tasks have been completed the worker processes will exit." @@ -3415,7 +3433,7 @@ msgstr "" "Impide que se envíen más tareas a la piscina (*pool*). Una vez que se hayan " "completado todas las tareas, se cerrarán los procesos de trabajo." -#: ../Doc/library/multiprocessing.rst:2255 +#: ../Doc/library/multiprocessing.rst:2268 msgid "" "Stops the worker processes immediately without completing outstanding work. " "When the pool object is garbage collected :meth:`terminate` will be called " @@ -3425,7 +3443,7 @@ msgstr "" "pendiente. Cuando el objeto del grupo es basura recolectada :meth:" "`terminate` se llamará inmediatamente." -#: ../Doc/library/multiprocessing.rst:2261 +#: ../Doc/library/multiprocessing.rst:2274 msgid "" "Wait for the worker processes to exit. One must call :meth:`close` or :meth:" "`terminate` before using :meth:`join`." @@ -3433,7 +3451,7 @@ msgstr "" "Espera a que salgan los procesos de trabajo. Se debe llamar :meth:`close` o :" "meth:`terminate` antes de usar :meth:`join`." -#: ../Doc/library/multiprocessing.rst:2264 +#: ../Doc/library/multiprocessing.rst:2277 msgid "" "Pool objects now support the context management protocol -- see :ref:" "`typecontextmanager`. :meth:`~contextmanager.__enter__` returns the pool " @@ -3444,7 +3462,7 @@ msgstr "" "enter__` retorna el objeto de grupo, y :meth:`~ contextmanager.__ exit__` " "llama :meth:`terminate`." -#: ../Doc/library/multiprocessing.rst:2272 +#: ../Doc/library/multiprocessing.rst:2285 msgid "" "The class of the result returned by :meth:`Pool.apply_async` and :meth:`Pool." "map_async`." @@ -3452,7 +3470,7 @@ msgstr "" "La clase del resultado retornado por :meth:`Pool.apply_async` y :meth:`Pool." "map_async`." -#: ../Doc/library/multiprocessing.rst:2277 +#: ../Doc/library/multiprocessing.rst:2290 msgid "" "Return the result when it arrives. If *timeout* is not ``None`` and the " "result does not arrive within *timeout* seconds then :exc:`multiprocessing." @@ -3464,17 +3482,17 @@ msgstr "" "`multiprocessing.TimeoutError`. Si la llamada remota generó una excepción, " "esa excepción se volverá a plantear mediante :meth:`get`." -#: ../Doc/library/multiprocessing.rst:2284 +#: ../Doc/library/multiprocessing.rst:2297 msgid "Wait until the result is available or until *timeout* seconds pass." msgstr "" "Espera hasta que el resultado esté disponible o hasta que pase *timeout* " "segundos." -#: ../Doc/library/multiprocessing.rst:2288 +#: ../Doc/library/multiprocessing.rst:2301 msgid "Return whether the call has completed." msgstr "Retorna si la llamada se ha completado." -#: ../Doc/library/multiprocessing.rst:2292 +#: ../Doc/library/multiprocessing.rst:2305 msgid "" "Return whether the call completed without raising an exception. Will raise :" "exc:`ValueError` if the result is not ready." @@ -3482,7 +3500,7 @@ msgstr "" "Retorna si la llamada se completó sin generar una excepción. Lanzará :exc:" "`ValueError` si el resultado no está listo." -#: ../Doc/library/multiprocessing.rst:2295 +#: ../Doc/library/multiprocessing.rst:2308 msgid "" "If the result is not ready, :exc:`ValueError` is raised instead of :exc:" "`AssertionError`." @@ -3490,15 +3508,15 @@ msgstr "" "Si el resultado no está listo :exc:`ValueError` aparece en lugar de :exc:" "`AssertionError`." -#: ../Doc/library/multiprocessing.rst:2299 +#: ../Doc/library/multiprocessing.rst:2312 msgid "The following example demonstrates the use of a pool::" msgstr "El siguiente ejemplo demuestra el uso de una piscina(*pool*)::" -#: ../Doc/library/multiprocessing.rst:2326 +#: ../Doc/library/multiprocessing.rst:2339 msgid "Listeners and Clients" msgstr "Oyentes y Clientes (*Listeners and Clients*)" -#: ../Doc/library/multiprocessing.rst:2331 +#: ../Doc/library/multiprocessing.rst:2344 msgid "" "Usually message passing between processes is done using queues or by using :" "class:`~Connection` objects returned by :func:`~multiprocessing.Pipe`." @@ -3507,7 +3525,7 @@ msgstr "" "o mediante objetos :class:`~Connection` retornados por :func:" "`~multiprocessing.Pipe`." -#: ../Doc/library/multiprocessing.rst:2335 +#: ../Doc/library/multiprocessing.rst:2348 msgid "" "However, the :mod:`multiprocessing.connection` module allows some extra " "flexibility. It basically gives a high level message oriented API for " @@ -3521,7 +3539,7 @@ msgstr "" "Windows. También tiene soporte para *digest authentication* usando el " "módulo :mod:`hmac`, y para sondear múltiples conexiones al mismo tiempo." -#: ../Doc/library/multiprocessing.rst:2344 +#: ../Doc/library/multiprocessing.rst:2357 msgid "" "Send a randomly generated message to the other end of the connection and " "wait for a reply." @@ -3529,7 +3547,7 @@ msgstr "" "Envía un mensaje generado aleatoriamente al otro extremo de la conexión y " "espera una respuesta." -#: ../Doc/library/multiprocessing.rst:2347 +#: ../Doc/library/multiprocessing.rst:2360 msgid "" "If the reply matches the digest of the message using *authkey* as the key " "then a welcome message is sent to the other end of the connection. " @@ -3540,7 +3558,7 @@ msgstr "" "conexión. De lo contrario se lanza :exc:`~multiprocessing." "AuthenticationError`." -#: ../Doc/library/multiprocessing.rst:2353 +#: ../Doc/library/multiprocessing.rst:2366 msgid "" "Receive a message, calculate the digest of the message using *authkey* as " "the key, and then send the digest back." @@ -3548,7 +3566,7 @@ msgstr "" "Recibe un mensaje, calcula el resumen del mensaje usando *authkey* como la " "clave y luego envía el resumen de vuelta." -#: ../Doc/library/multiprocessing.rst:2356 +#: ../Doc/library/multiprocessing.rst:2369 msgid "" "If a welcome message is not received, then :exc:`~multiprocessing." "AuthenticationError` is raised." @@ -3556,7 +3574,7 @@ msgstr "" "Si no se recibe un mensaje de bienvenida, se lanza :exc:`~multiprocessing." "AuthenticationError`." -#: ../Doc/library/multiprocessing.rst:2361 +#: ../Doc/library/multiprocessing.rst:2374 msgid "" "Attempt to set up a connection to the listener which is using address " "*address*, returning a :class:`~Connection`." @@ -3564,7 +3582,7 @@ msgstr "" "Se intenta configurar una conexión con el oyente que utiliza la dirección " "*address*, retornando :class:`~Connection`." -#: ../Doc/library/multiprocessing.rst:2364 +#: ../Doc/library/multiprocessing.rst:2377 msgid "" "The type of the connection is determined by *family* argument, but this can " "generally be omitted since it can usually be inferred from the format of " @@ -3574,8 +3592,8 @@ msgstr "" "generalmente se puede omitir ya que generalmente se puede inferir del " "formato de *address*. (Consulte :ref:`multiprocessing-address-formats`)" -#: ../Doc/library/multiprocessing.rst:2368 -#: ../Doc/library/multiprocessing.rst:2403 +#: ../Doc/library/multiprocessing.rst:2381 +#: ../Doc/library/multiprocessing.rst:2416 msgid "" "If *authkey* is given and not None, it should be a byte string and will be " "used as the secret key for an HMAC-based authentication challenge. No " @@ -3589,7 +3607,7 @@ msgstr "" "autenticación se lanza :exc:`~multiprocessing.AuthenticationError`. " "Consulte :ref:`multiprocessing-auth-keys`." -#: ../Doc/library/multiprocessing.rst:2376 +#: ../Doc/library/multiprocessing.rst:2389 msgid "" "A wrapper for a bound socket or Windows named pipe which is 'listening' for " "connections." @@ -3597,7 +3615,7 @@ msgstr "" "Un contenedor para un *socket* vinculado o una tubería (*pipe*) con nombre " "de Windows que está 'escuchando' las conexiones." -#: ../Doc/library/multiprocessing.rst:2379 +#: ../Doc/library/multiprocessing.rst:2392 msgid "" "*address* is the address to be used by the bound socket or named pipe of the " "listener object." @@ -3605,7 +3623,7 @@ msgstr "" "*address* es la dirección que utilizará el *socket* vinculado o la conocida " "tubería (*pipe*) con nombre del objeto de escucha." -#: ../Doc/library/multiprocessing.rst:2384 +#: ../Doc/library/multiprocessing.rst:2397 msgid "" "If an address of '0.0.0.0' is used, the address will not be a connectable " "end point on Windows. If you require a connectable end-point, you should use " @@ -3615,7 +3633,7 @@ msgstr "" "conectable en Windows. Si necesita un punto final conectable, debe usar " "'127.0.0.1'." -#: ../Doc/library/multiprocessing.rst:2388 +#: ../Doc/library/multiprocessing.rst:2401 msgid "" "*family* is the type of socket (or named pipe) to use. This can be one of " "the strings ``'AF_INET'`` (for a TCP socket), ``'AF_UNIX'`` (for a Unix " @@ -3640,7 +3658,7 @@ msgstr "" "*socket* se creará en un directorio temporal privado usando :func:`tempfile." "mkstemp`." -#: ../Doc/library/multiprocessing.rst:2399 +#: ../Doc/library/multiprocessing.rst:2412 msgid "" "If the listener object uses a socket then *backlog* (1 by default) is passed " "to the :meth:`~socket.socket.listen` method of the socket once it has been " @@ -3650,7 +3668,7 @@ msgstr "" "defecto) se pasa al método :meth:`~socket.socket.listen` del *socket* una " "vez que se ha vinculado." -#: ../Doc/library/multiprocessing.rst:2411 +#: ../Doc/library/multiprocessing.rst:2424 msgid "" "Accept a connection on the bound socket or named pipe of the listener object " "and return a :class:`~Connection` object. If authentication is attempted and " @@ -3661,7 +3679,7 @@ msgstr "" "autenticación y falla, entonces se lanza una :exc:`~multiprocessing." "AuthenticationError`." -#: ../Doc/library/multiprocessing.rst:2418 +#: ../Doc/library/multiprocessing.rst:2431 msgid "" "Close the bound socket or named pipe of the listener object. This is called " "automatically when the listener is garbage collected. However it is " @@ -3671,16 +3689,16 @@ msgstr "" "Esto se llama automáticamente cuando el oyente es recolectado por el " "recolector de basura. Sin embargo, es aconsejable llamarlo explícitamente." -#: ../Doc/library/multiprocessing.rst:2422 +#: ../Doc/library/multiprocessing.rst:2435 msgid "Listener objects have the following read-only properties:" msgstr "" "Los objetos de escucha tienen las siguientes propiedades de solo lectura:" -#: ../Doc/library/multiprocessing.rst:2426 +#: ../Doc/library/multiprocessing.rst:2439 msgid "The address which is being used by the Listener object." msgstr "La dirección que está utilizando el objeto *Listener*." -#: ../Doc/library/multiprocessing.rst:2430 +#: ../Doc/library/multiprocessing.rst:2443 msgid "" "The address from which the last accepted connection came. If this is " "unavailable then it is ``None``." @@ -3688,7 +3706,7 @@ msgstr "" "La dirección de donde vino la última conexión aceptada. Si esto no está " "disponible, entonces es ``None``." -#: ../Doc/library/multiprocessing.rst:2433 +#: ../Doc/library/multiprocessing.rst:2446 msgid "" "Listener objects now support the context management protocol -- see :ref:" "`typecontextmanager`. :meth:`~contextmanager.__enter__` returns the " @@ -3699,7 +3717,7 @@ msgstr "" "`~contextmanager.__enter__`, y :meth:`~contextmanager.__exit__` llama a :" "meth:`close`." -#: ../Doc/library/multiprocessing.rst:2440 +#: ../Doc/library/multiprocessing.rst:2453 msgid "" "Wait till an object in *object_list* is ready. Returns the list of those " "objects in *object_list* which are ready. If *timeout* is a float then the " @@ -3713,22 +3731,22 @@ msgstr "" "```None``, se bloqueará por un período ilimitado. Un tiempo de espera " "negativo es equivalente a un tiempo de espera cero." -#: ../Doc/library/multiprocessing.rst:2446 +#: ../Doc/library/multiprocessing.rst:2459 msgid "" "For both Unix and Windows, an object can appear in *object_list* if it is" msgstr "" "Tanto para Unix como para Windows, un objeto puede aparecer en *object_list* " "si este es" -#: ../Doc/library/multiprocessing.rst:2449 +#: ../Doc/library/multiprocessing.rst:2462 msgid "a readable :class:`~multiprocessing.connection.Connection` object;" msgstr "un objeto legible de :class:`~multiprocessing.connection.Connection`;" -#: ../Doc/library/multiprocessing.rst:2450 +#: ../Doc/library/multiprocessing.rst:2463 msgid "a connected and readable :class:`socket.socket` object; or" msgstr "un objeto conectado y legible de :class:`socket.socket`; o" -#: ../Doc/library/multiprocessing.rst:2451 +#: ../Doc/library/multiprocessing.rst:2464 msgid "" "the :attr:`~multiprocessing.Process.sentinel` attribute of a :class:" "`~multiprocessing.Process` object." @@ -3736,7 +3754,7 @@ msgstr "" "el atributo :attr:`~multiprocessing.Process.sentinel` de un objeto :class:" "`~multiprocessing.Process`." -#: ../Doc/library/multiprocessing.rst:2454 +#: ../Doc/library/multiprocessing.rst:2467 msgid "" "A connection or socket object is ready when there is data available to be " "read from it, or the other end has been closed." @@ -3744,7 +3762,7 @@ msgstr "" "Un objeto de conexión o *socket* está listo cuando hay datos disponibles " "para leer, o el otro extremo se ha cerrado." -#: ../Doc/library/multiprocessing.rst:2457 +#: ../Doc/library/multiprocessing.rst:2470 msgid "" "**Unix**: ``wait(object_list, timeout)`` almost equivalent ``select." "select(object_list, [], [], timeout)``. The difference is that, if :func:" @@ -3756,7 +3774,7 @@ msgstr "" "interrumpe :func:`select.select` por una señal, este lanza :exc:`OSError` " "con un número de error ``EINTR``, a diferencia de :func:`wait`." -#: ../Doc/library/multiprocessing.rst:2463 +#: ../Doc/library/multiprocessing.rst:2476 msgid "" "**Windows**: An item in *object_list* must either be an integer handle which " "is waitable (according to the definition used by the documentation of the " @@ -3771,11 +3789,11 @@ msgstr "" "tubo o manejador de tubería. (Tenga en cuenta que las manijas de las " "tuberías y las manijas de los zócalos son **no** manijas aptas)" -#: ../Doc/library/multiprocessing.rst:2473 +#: ../Doc/library/multiprocessing.rst:2486 msgid "**Examples**" msgstr "**Ejemplos**" -#: ../Doc/library/multiprocessing.rst:2475 +#: ../Doc/library/multiprocessing.rst:2488 msgid "" "The following server code creates a listener which uses ``'secret " "password'`` as an authentication key. It then waits for a connection and " @@ -3785,7 +3803,7 @@ msgstr "" "password'`` como clave de autenticación. Luego espera una conexión y envía " "algunos datos al cliente::" -#: ../Doc/library/multiprocessing.rst:2494 +#: ../Doc/library/multiprocessing.rst:2507 msgid "" "The following code connects to the server and receives some data from the " "server::" @@ -3793,7 +3811,7 @@ msgstr "" "El siguiente código se conecta al servidor y recibe algunos datos del " "servidor::" -#: ../Doc/library/multiprocessing.rst:2511 +#: ../Doc/library/multiprocessing.rst:2524 msgid "" "The following code uses :func:`~multiprocessing.connection.wait` to wait for " "messages from multiple processes at once::" @@ -3801,11 +3819,11 @@ msgstr "" "El siguiente código utiliza :func:`~multiprocessing.connection.wait` para " "esperar mensajes de múltiples procesos a la vez::" -#: ../Doc/library/multiprocessing.rst:2550 +#: ../Doc/library/multiprocessing.rst:2563 msgid "Address Formats" msgstr "Formatos de dirección (*Address formats*)" -#: ../Doc/library/multiprocessing.rst:2552 +#: ../Doc/library/multiprocessing.rst:2565 msgid "" "An ``'AF_INET'`` address is a tuple of the form ``(hostname, port)`` where " "*hostname* is a string and *port* is an integer." @@ -3813,44 +3831,43 @@ msgstr "" "Una dirección ``'AF_INET'`` es una tupla de la forma ``(hostname, port)`` " "donde *hostname* es una cadena de caracteres y *port* es un número entero." -#: ../Doc/library/multiprocessing.rst:2555 +#: ../Doc/library/multiprocessing.rst:2568 +#, fuzzy msgid "" -"An ``'AF_Unix'`` address is a string representing a filename on the " +"An ``'AF_UNIX'`` address is a string representing a filename on the " "filesystem." msgstr "" "Una dirección ``'AF_Unix'`` es una cadena que representa un nombre de " "archivo en el sistema de archivos." -#: ../Doc/library/multiprocessing.rst:2561 -msgid "An ``'AF_PIPE'`` address is a string of the form" -msgstr "Una dirección ``'AF_PIPE'`` es una cadena del formulario" - -#: ../Doc/library/multiprocessing.rst:2559 +#: ../Doc/library/multiprocessing.rst:2571 +#, fuzzy msgid "" -":samp:`r'\\\\\\\\.\\\\pipe\\\\{PipeName}'`. To use :func:`Client` to " -"connect to a named pipe on a remote computer called *ServerName* one should " -"use an address of the form :samp:`r'\\\\\\\\{ServerName}\\\\pipe\\" -"\\{PipeName}'` instead." +"An ``'AF_PIPE'`` address is a string of the form :samp:`r'\\\\\\\\.\\\\pipe\\" +"\\{PipeName}'`. To use :func:`Client` to connect to a named pipe on a " +"remote computer called *ServerName* one should use an address of the form :" +"samp:`r'\\\\\\\\{ServerName}\\\\pipe\\\\{PipeName}'` instead." msgstr "" ":samp:`r'\\\\\\\\.\\\\pipe\\\\{PipeName}'`. Para usar :func:`Client` para " "conectarse a una tubería (*pipe*) con nombre en un ordenador remoto llamada " "*ServerName* uno debe usar una dirección del formulario :samp:`r'\\\\\\" "\\{ServerName}\\\\pipe\\\\{PipeName}'`." -#: ../Doc/library/multiprocessing.rst:2563 +#: ../Doc/library/multiprocessing.rst:2576 +#, fuzzy msgid "" "Note that any string beginning with two backslashes is assumed by default to " -"be an ``'AF_PIPE'`` address rather than an ``'AF_Unix'`` address." +"be an ``'AF_PIPE'`` address rather than an ``'AF_UNIX'`` address." msgstr "" "Tenga en cuenta que cualquier cadena que comience con dos barras inclinadas " "invertidas se asume por defecto como una dirección ``'AF_PIPE'`` en lugar de " "una dirección ``'AF_Unix'``." -#: ../Doc/library/multiprocessing.rst:2570 +#: ../Doc/library/multiprocessing.rst:2583 msgid "Authentication keys" msgstr "Llaves de autentificación" -#: ../Doc/library/multiprocessing.rst:2572 +#: ../Doc/library/multiprocessing.rst:2585 msgid "" "When one uses :meth:`Connection.recv `, the data received " "is automatically unpickled. Unfortunately unpickling data from an untrusted " @@ -3863,7 +3880,7 @@ msgstr "" "class:`Listener` y :func:`Client` usan el módulo :mod:`hmac` para " "proporcionar autenticación de resumen." -#: ../Doc/library/multiprocessing.rst:2578 +#: ../Doc/library/multiprocessing.rst:2591 msgid "" "An authentication key is a byte string which can be thought of as a " "password: once a connection is established both ends will demand proof that " @@ -3876,7 +3893,7 @@ msgstr "" "que ambos extremos están usando la misma clave **no** implica enviar la " "clave a través de la conexión)." -#: ../Doc/library/multiprocessing.rst:2584 +#: ../Doc/library/multiprocessing.rst:2597 msgid "" "If authentication is requested but no authentication key is specified then " "the return value of ``current_process().authkey`` is used (see :class:" @@ -3894,7 +3911,7 @@ msgstr "" "los procesos de un programa multiproceso compartirán una única clave de " "autenticación que se puede usar al configurar conexiones entre ellos." -#: ../Doc/library/multiprocessing.rst:2592 +#: ../Doc/library/multiprocessing.rst:2605 msgid "" "Suitable authentication keys can also be generated by using :func:`os." "urandom`." @@ -3902,11 +3919,11 @@ msgstr "" "Las claves de autenticación adecuadas también se pueden generar utilizando :" "func:`os.urandom`." -#: ../Doc/library/multiprocessing.rst:2596 +#: ../Doc/library/multiprocessing.rst:2609 msgid "Logging" msgstr "*Logging*" -#: ../Doc/library/multiprocessing.rst:2598 +#: ../Doc/library/multiprocessing.rst:2611 msgid "" "Some support for logging is available. Note, however, that the :mod:" "`logging` package does not use process shared locks so it is possible " @@ -3918,7 +3935,7 @@ msgstr "" "que es posible (dependiendo del tipo de controlador) que los mensajes de " "diferentes procesos se mezclen." -#: ../Doc/library/multiprocessing.rst:2605 +#: ../Doc/library/multiprocessing.rst:2618 msgid "" "Returns the logger used by :mod:`multiprocessing`. If necessary, a new one " "will be created." @@ -3926,7 +3943,7 @@ msgstr "" "Retorna el registrador utilizado por :mod:`multiprocessing`. Si es " "necesario, se creará uno nuevo." -#: ../Doc/library/multiprocessing.rst:2608 +#: ../Doc/library/multiprocessing.rst:2621 msgid "" "When first created the logger has level :data:`logging.NOTSET` and no " "default handler. Messages sent to this logger will not by default propagate " @@ -3936,7 +3953,7 @@ msgstr "" "NOTSET` y no tiene un controlador predeterminado. Los mensajes enviados a " "este registrador no se propagarán por defecto al registrador raíz." -#: ../Doc/library/multiprocessing.rst:2612 +#: ../Doc/library/multiprocessing.rst:2625 msgid "" "Note that on Windows child processes will only inherit the level of the " "parent process's logger -- any other customization of the logger will not be " @@ -3946,7 +3963,7 @@ msgstr "" "del registrador del proceso parental -- no se heredará ninguna otra " "personalización del registrador." -#: ../Doc/library/multiprocessing.rst:2619 +#: ../Doc/library/multiprocessing.rst:2632 #, python-format msgid "" "This function performs a call to :func:`get_logger` but in addition to " @@ -3959,22 +3976,22 @@ msgstr "" "envía la salida a :data:`sys.stderr` usando el formato ``'[%(levelname)s/" "%(processName)s] %(message)s'``." -#: ../Doc/library/multiprocessing.rst:2624 +#: ../Doc/library/multiprocessing.rst:2637 msgid "Below is an example session with logging turned on::" msgstr "" "A continuación se muestra una sesión de ejemplo con el registro activado::" -#: ../Doc/library/multiprocessing.rst:2639 +#: ../Doc/library/multiprocessing.rst:2652 msgid "For a full table of logging levels, see the :mod:`logging` module." msgstr "" "Para obtener una tabla completa de niveles de registro, consulte el módulo :" "mod:`logging`." -#: ../Doc/library/multiprocessing.rst:2643 +#: ../Doc/library/multiprocessing.rst:2656 msgid "The :mod:`multiprocessing.dummy` module" msgstr "El módulo :mod:`multiprocessing.dummy`" -#: ../Doc/library/multiprocessing.rst:2648 +#: ../Doc/library/multiprocessing.rst:2661 msgid "" ":mod:`multiprocessing.dummy` replicates the API of :mod:`multiprocessing` " "but is no more than a wrapper around the :mod:`threading` module." @@ -3982,11 +3999,62 @@ msgstr "" "El :mod:`multiprocessing.dummy` replica la API de :mod:`multiprocessing` " "pero no es más que un contenedor alrededor del módulo :mod:`threading`." -#: ../Doc/library/multiprocessing.rst:2655 +#: ../Doc/library/multiprocessing.rst:2666 +msgid "" +"In particular, the ``Pool`` function provided by :mod:`multiprocessing." +"dummy` returns an instance of :class:`ThreadPool`, which is a subclass of :" +"class:`Pool` that supports all the same method calls but uses a pool of " +"worker threads rather than worker processes." +msgstr "" + +#: ../Doc/library/multiprocessing.rst:2674 +msgid "" +"A thread pool object which controls a pool of worker threads to which jobs " +"can be submitted. :class:`ThreadPool` instances are fully interface " +"compatible with :class:`Pool` instances, and their resources must also be " +"properly managed, either by using the pool as a context manager or by " +"calling :meth:`~multiprocessing.pool.Pool.close` and :meth:`~multiprocessing." +"pool.Pool.terminate` manually." +msgstr "" + +#: ../Doc/library/multiprocessing.rst:2681 +#, fuzzy +msgid "" +"*processes* is the number of worker threads to use. If *processes* is " +"``None`` then the number returned by :func:`os.cpu_count` is used." +msgstr "" +"*processes* es el número de procesos de trabajo a utilizar. Si *processes* " +"es ``None`` , se utiliza el número retornado por :func:`os.cpu_count`." + +#: ../Doc/library/multiprocessing.rst:2687 +msgid "" +"Unlike :class:`Pool`, *maxtasksperchild* and *context* cannot be provided." +msgstr "" + +#: ../Doc/library/multiprocessing.rst:2691 +msgid "" +"A :class:`ThreadPool` shares the same interface as :class:`Pool`, which is " +"designed around a pool of processes and predates the introduction of the :" +"class:`concurrent.futures` module. As such, it inherits some operations " +"that don't make sense for a pool backed by threads, and it has its own type " +"for representing the status of asynchronous jobs, :class:`AsyncResult`, that " +"is not understood by any other libraries." +msgstr "" + +#: ../Doc/library/multiprocessing.rst:2698 +msgid "" +"Users should generally prefer to use :class:`concurrent.futures." +"ThreadPoolExecutor`, which has a simpler interface that was designed around " +"threads from the start, and which returns :class:`concurrent.futures.Future` " +"instances that are compatible with many other libraries, including :mod:" +"`asyncio`." +msgstr "" + +#: ../Doc/library/multiprocessing.rst:2708 msgid "Programming guidelines" msgstr "Pautas de programación" -#: ../Doc/library/multiprocessing.rst:2657 +#: ../Doc/library/multiprocessing.rst:2710 msgid "" "There are certain guidelines and idioms which should be adhered to when " "using :mod:`multiprocessing`." @@ -3994,19 +4062,19 @@ msgstr "" "Hay ciertas pautas y expresiones idiomáticas que deben tenerse en cuenta al " "usar :mod:`multiprocessing` ." -#: ../Doc/library/multiprocessing.rst:2662 +#: ../Doc/library/multiprocessing.rst:2715 msgid "All start methods" msgstr "Todos los métodos de inicio" -#: ../Doc/library/multiprocessing.rst:2664 +#: ../Doc/library/multiprocessing.rst:2717 msgid "The following applies to all start methods." msgstr "Lo siguiente se aplica a todos los métodos de inicio." -#: ../Doc/library/multiprocessing.rst:2666 +#: ../Doc/library/multiprocessing.rst:2719 msgid "Avoid shared state" msgstr "Evita estado compartido" -#: ../Doc/library/multiprocessing.rst:2668 +#: ../Doc/library/multiprocessing.rst:2721 msgid "" "As far as possible one should try to avoid shifting large amounts of data " "between processes." @@ -4014,7 +4082,7 @@ msgstr "" "En la medida de lo posible, se debe tratar de evitar el desplazamiento de " "grandes cantidades de datos entre procesos." -#: ../Doc/library/multiprocessing.rst:2671 +#: ../Doc/library/multiprocessing.rst:2724 msgid "" "It is probably best to stick to using queues or pipes for communication " "between processes rather than using the lower level synchronization " @@ -4024,21 +4092,21 @@ msgstr "" "para la comunicación entre procesos en lugar de usar las primitivas de " "sincronización de nivel inferior." -#: ../Doc/library/multiprocessing.rst:2675 +#: ../Doc/library/multiprocessing.rst:2728 msgid "Picklability" msgstr "Serialización (*picklability*)" -#: ../Doc/library/multiprocessing.rst:2677 +#: ../Doc/library/multiprocessing.rst:2730 msgid "Ensure that the arguments to the methods of proxies are picklable." msgstr "" "Asegúrese que todos los argumentos de los métodos de *proxies* son " "serializables (*pickable*)" -#: ../Doc/library/multiprocessing.rst:2679 +#: ../Doc/library/multiprocessing.rst:2732 msgid "Thread safety of proxies" msgstr "Seguridad de hilos de *proxies*" -#: ../Doc/library/multiprocessing.rst:2681 +#: ../Doc/library/multiprocessing.rst:2734 msgid "" "Do not use a proxy object from more than one thread unless you protect it " "with a lock." @@ -4046,17 +4114,17 @@ msgstr "" "No usa un objeto proxy de más de un hilo a menos que lo proteja con un " "candado (*lock*)." -#: ../Doc/library/multiprocessing.rst:2684 +#: ../Doc/library/multiprocessing.rst:2737 msgid "" "(There is never a problem with different processes using the *same* proxy.)" msgstr "" "(Nunca hay un problema con diferentes procesos que usan el *mismo* proxy.)" -#: ../Doc/library/multiprocessing.rst:2686 +#: ../Doc/library/multiprocessing.rst:2739 msgid "Joining zombie processes" msgstr "Uniéndose a procesos zombies" -#: ../Doc/library/multiprocessing.rst:2688 +#: ../Doc/library/multiprocessing.rst:2741 msgid "" "On Unix when a process finishes but has not been joined it becomes a zombie. " "There should never be very many because each time a new process starts (or :" @@ -4074,11 +4142,11 @@ msgstr "" "is_alive>` se unirá al proceso. Aun así, probablemente sea una buena " "práctica unir explícitamente todos los procesos que comience." -#: ../Doc/library/multiprocessing.rst:2696 +#: ../Doc/library/multiprocessing.rst:2749 msgid "Better to inherit than pickle/unpickle" msgstr "Mejor heredar que serializar/deserializar (*pickle/unpickle*)" -#: ../Doc/library/multiprocessing.rst:2698 +#: ../Doc/library/multiprocessing.rst:2751 msgid "" "When using the *spawn* or *forkserver* start methods many types from :mod:" "`multiprocessing` need to be picklable so that child processes can use " @@ -4095,11 +4163,11 @@ msgstr "" "recurso compartido creado en otro lugar pueda heredarlo de un proceso " "ancestro." -#: ../Doc/library/multiprocessing.rst:2706 +#: ../Doc/library/multiprocessing.rst:2759 msgid "Avoid terminating processes" msgstr "Evita procesos de finalización" -#: ../Doc/library/multiprocessing.rst:2708 +#: ../Doc/library/multiprocessing.rst:2761 msgid "" "Using the :meth:`Process.terminate ` " "method to stop a process is liable to cause any shared resources (such as " @@ -4111,7 +4179,7 @@ msgstr "" "compartidos (como candados, semáforos, tuberías y colas) que el proceso " "utiliza actualmente se rompan o no disponible para otros procesos." -#: ../Doc/library/multiprocessing.rst:2714 +#: ../Doc/library/multiprocessing.rst:2767 msgid "" "Therefore it is probably best to only consider using :meth:`Process." "terminate ` on processes which never use " @@ -4121,11 +4189,11 @@ msgstr "" "terminate ` en procesos que nunca usan " "recursos compartidos." -#: ../Doc/library/multiprocessing.rst:2718 +#: ../Doc/library/multiprocessing.rst:2771 msgid "Joining processes that use queues" msgstr "Unirse a procesos que usan colas" -#: ../Doc/library/multiprocessing.rst:2720 +#: ../Doc/library/multiprocessing.rst:2773 msgid "" "Bear in mind that a process that has put items in a queue will wait before " "terminating until all the buffered items are fed by the \"feeder\" thread to " @@ -4140,7 +4208,7 @@ msgstr "" "` de la cola para evitar este " "comportamiento)." -#: ../Doc/library/multiprocessing.rst:2726 +#: ../Doc/library/multiprocessing.rst:2779 msgid "" "This means that whenever you use a queue you need to make sure that all " "items which have been put on the queue will eventually be removed before the " @@ -4154,11 +4222,11 @@ msgstr "" "puesto elementos en la cola finalizarán. Recuerde también que los procesos " "no demoníacos se unirán automáticamente." -#: ../Doc/library/multiprocessing.rst:2732 +#: ../Doc/library/multiprocessing.rst:2785 msgid "An example which will deadlock is the following::" msgstr "Un ejemplo que de bloqueo mutuo (*deadlock*) es el siguiente ::" -#: ../Doc/library/multiprocessing.rst:2746 +#: ../Doc/library/multiprocessing.rst:2799 msgid "" "A fix here would be to swap the last two lines (or simply remove the ``p." "join()`` line)." @@ -4166,11 +4234,11 @@ msgstr "" "Una solución aquí sería intercambiar las dos últimas líneas (o simplemente " "eliminar la línea ``p.join()``)." -#: ../Doc/library/multiprocessing.rst:2749 +#: ../Doc/library/multiprocessing.rst:2802 msgid "Explicitly pass resources to child processes" msgstr "Se pasan recursos explícitamente a procesos hijos" -#: ../Doc/library/multiprocessing.rst:2751 +#: ../Doc/library/multiprocessing.rst:2804 msgid "" "On Unix using the *fork* start method, a child process can make use of a " "shared resource created in a parent process using a global resource. " @@ -4182,7 +4250,7 @@ msgstr "" "un recurso global. Sin embargo, es mejor pasar el objeto como argumento al " "constructor para el proceso secundario." -#: ../Doc/library/multiprocessing.rst:2756 +#: ../Doc/library/multiprocessing.rst:2809 msgid "" "Apart from making the code (potentially) compatible with Windows and the " "other start methods this also ensures that as long as the child process is " @@ -4196,24 +4264,24 @@ msgstr "" "Esto podría ser importante si se libera algún recurso cuando el objeto es " "basura recolectada en el proceso padre." -#: ../Doc/library/multiprocessing.rst:2763 +#: ../Doc/library/multiprocessing.rst:2816 msgid "So for instance ::" msgstr "Entonces por ejemplo ::" -#: ../Doc/library/multiprocessing.rst:2775 +#: ../Doc/library/multiprocessing.rst:2828 msgid "should be rewritten as ::" msgstr "debería ser reescrito como ::" -#: ../Doc/library/multiprocessing.rst:2787 +#: ../Doc/library/multiprocessing.rst:2840 msgid "Beware of replacing :data:`sys.stdin` with a \"file like object\"" msgstr "" "Tenga cuidado de reemplazar :data:`sys.stdin` con un *\"file like object\"*" -#: ../Doc/library/multiprocessing.rst:2789 +#: ../Doc/library/multiprocessing.rst:2842 msgid ":mod:`multiprocessing` originally unconditionally called::" msgstr ":mod:`multiprocessing` original e incondicionalmente llamado::" -#: ../Doc/library/multiprocessing.rst:2793 +#: ../Doc/library/multiprocessing.rst:2846 msgid "" "in the :meth:`multiprocessing.Process._bootstrap` method --- this resulted " "in issues with processes-in-processes. This has been changed to::" @@ -4221,7 +4289,7 @@ msgstr "" "en el método :meth:`multiprocessing.Process._bootstrap` --- Esto dio lugar a " "problemas con los procesos en proceso. Esto ha sido cambiado a::" -#: ../Doc/library/multiprocessing.rst:2799 +#: ../Doc/library/multiprocessing.rst:2852 msgid "" "Which solves the fundamental issue of processes colliding with each other " "resulting in a bad file descriptor error, but introduces a potential danger " @@ -4239,7 +4307,7 @@ msgstr "" "los mismos datos se vacíen al objeto varias veces, lo que provocaría " "corrupción." -#: ../Doc/library/multiprocessing.rst:2806 +#: ../Doc/library/multiprocessing.rst:2859 msgid "" "If you write a file-like object and implement your own caching, you can make " "it fork-safe by storing the pid whenever you append to the cache, and " @@ -4250,17 +4318,17 @@ msgstr "" "(*fork-safe*) almacenando el pid cada vez que se agrega al caché y " "descartando el caché cuando cambia el pid. Por ejemplo::" -#: ../Doc/library/multiprocessing.rst:2818 +#: ../Doc/library/multiprocessing.rst:2871 msgid "" "For more information, see :issue:`5155`, :issue:`5313` and :issue:`5331`" msgstr "" "Para más información, consulte :issue:`5155`, :issue:`5313` y :issue:`5331`" -#: ../Doc/library/multiprocessing.rst:2821 +#: ../Doc/library/multiprocessing.rst:2874 msgid "The *spawn* and *forkserver* start methods" msgstr "Los métodos de inicio *spawn* y *forkserver*" -#: ../Doc/library/multiprocessing.rst:2823 +#: ../Doc/library/multiprocessing.rst:2876 msgid "" "There are a few extra restriction which don't apply to the *fork* start " "method." @@ -4268,11 +4336,11 @@ msgstr "" "Hay algunas restricciones adicionales que no se aplican al método de inicio " "*fork*." -#: ../Doc/library/multiprocessing.rst:2826 +#: ../Doc/library/multiprocessing.rst:2879 msgid "More picklability" msgstr "Más serialización (*pickability*)" -#: ../Doc/library/multiprocessing.rst:2828 +#: ../Doc/library/multiprocessing.rst:2881 msgid "" "Ensure that all arguments to :meth:`Process.__init__` are picklable. Also, " "if you subclass :class:`~multiprocessing.Process` then make sure that " @@ -4285,11 +4353,11 @@ msgstr "" "serializables cuando se llame al método :meth:`Process.start " "`." -#: ../Doc/library/multiprocessing.rst:2833 +#: ../Doc/library/multiprocessing.rst:2886 msgid "Global variables" msgstr "Variables globales" -#: ../Doc/library/multiprocessing.rst:2835 +#: ../Doc/library/multiprocessing.rst:2888 msgid "" "Bear in mind that if code run in a child process tries to access a global " "variable, then the value it sees (if any) may not be the same as the value " @@ -4301,7 +4369,7 @@ msgstr "" "puede no ser el mismo que el valor en el proceso primario en el momento en " "que fue llamado :meth:`Process.start `." -#: ../Doc/library/multiprocessing.rst:2840 +#: ../Doc/library/multiprocessing.rst:2893 msgid "" "However, global variables which are just module level constants cause no " "problems." @@ -4309,11 +4377,11 @@ msgstr "" "Sin embargo, las variables globales que son solo constantes de nivel de " "módulo no causan problemas." -#: ../Doc/library/multiprocessing.rst:2843 +#: ../Doc/library/multiprocessing.rst:2896 msgid "Safe importing of main module" msgstr "Importando de manera segura el módulo principal" -#: ../Doc/library/multiprocessing.rst:2845 +#: ../Doc/library/multiprocessing.rst:2898 msgid "" "Make sure that the main module can be safely imported by a new Python " "interpreter without causing unintended side effects (such a starting a new " @@ -4323,7 +4391,7 @@ msgstr "" "segura el módulo principal sin causar efectos secundarios no deseados (como " "comenzar un nuevo proceso)." -#: ../Doc/library/multiprocessing.rst:2849 +#: ../Doc/library/multiprocessing.rst:2902 msgid "" "For example, using the *spawn* or *forkserver* start method running the " "following module would fail with a :exc:`RuntimeError`::" @@ -4331,7 +4399,7 @@ msgstr "" "Por ejemplo, usando el método de inicio *spawn* o *forkserver* ejecutando " "este módulo fallaría produciendo :exc:`RuntimeError`::" -#: ../Doc/library/multiprocessing.rst:2861 +#: ../Doc/library/multiprocessing.rst:2914 msgid "" "Instead one should protect the \"entry point\" of the program by using ``if " "__name__ == '__main__':`` as follows::" @@ -4339,7 +4407,7 @@ msgstr "" "En su lugar, se debe proteger el \"punto de entrada\" (*\"entry point\"*) " "del programa utilizando como sigue ``if __name__ == '__main__':`` ::" -#: ../Doc/library/multiprocessing.rst:2875 +#: ../Doc/library/multiprocessing.rst:2928 msgid "" "(The ``freeze_support()`` line can be omitted if the program will be run " "normally instead of frozen.)" @@ -4347,7 +4415,7 @@ msgstr "" "(La línea ``freeze_support()`` puede omitirse si el programa se ejecuta " "normalmente en lugar de congelarse)." -#: ../Doc/library/multiprocessing.rst:2878 +#: ../Doc/library/multiprocessing.rst:2931 msgid "" "This allows the newly spawned Python interpreter to safely import the module " "and then run the module's ``foo()`` function." @@ -4355,7 +4423,7 @@ msgstr "" "Esto permite que el intérprete de Python recién generado importe de forma " "segura el módulo y luego ejecute la función del módulo ``foo()``." -#: ../Doc/library/multiprocessing.rst:2881 +#: ../Doc/library/multiprocessing.rst:2934 msgid "" "Similar restrictions apply if a pool or manager is created in the main " "module." @@ -4363,22 +4431,25 @@ msgstr "" "Se aplican restricciones similares si se crea un grupo o administrador en el " "módulo principal." -#: ../Doc/library/multiprocessing.rst:2888 +#: ../Doc/library/multiprocessing.rst:2941 msgid "Examples" msgstr "Ejemplos" -#: ../Doc/library/multiprocessing.rst:2890 +#: ../Doc/library/multiprocessing.rst:2943 msgid "Demonstration of how to create and use customized managers and proxies:" msgstr "Demostración de cómo crear y usar gerentes y proxies personalizados:" -#: ../Doc/library/multiprocessing.rst:2896 +#: ../Doc/library/multiprocessing.rst:2949 msgid "Using :class:`~multiprocessing.pool.Pool`:" msgstr "Usando :class:`~multiprocessing.pool.Pool`:" -#: ../Doc/library/multiprocessing.rst:2902 +#: ../Doc/library/multiprocessing.rst:2955 msgid "" "An example showing how to use queues to feed tasks to a collection of worker " "processes and collect the results:" msgstr "" "Un ejemplo que muestra cómo usar las colas para alimentar tareas a una " "colección de procesos de trabajo y recopilar los resultados:" + +#~ msgid "An ``'AF_PIPE'`` address is a string of the form" +#~ msgstr "Una dirección ``'AF_PIPE'`` es una cadena del formulario" diff --git a/library/nntplib.po b/library/nntplib.po index 3c7c354836..2f384a761a 100644 --- a/library/nntplib.po +++ b/library/nntplib.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-11-26 08:46-0300\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.4.2\n" #: ../Doc/library/nntplib.rst:2 msgid ":mod:`nntplib` --- NNTP protocol client" @@ -31,11 +30,12 @@ msgid "**Source code:** :source:`Lib/nntplib.py`" msgstr "**Código fuente:** :source:`Lib/nntplib.py`" #: ../Doc/library/nntplib.rst:15 +#, fuzzy msgid "" "This module defines the class :class:`NNTP` which implements the client side " -"side of the Network News Transfer Protocol. It can be used to implement a " -"news reader or poster, or automated news processors. It is compatible with :" -"rfc:`3977` as well as the older :rfc:`977` and :rfc:`2980`." +"of the Network News Transfer Protocol. It can be used to implement a news " +"reader or poster, or automated news processors. It is compatible with :rfc:" +"`3977` as well as the older :rfc:`977` and :rfc:`2980`." msgstr "" "Este módulo define la clase :class:`NNTP` que implementa el lado del cliente " "del protocolo para la transferencia de noticias en red. Se puede utilizar " @@ -98,7 +98,7 @@ msgstr "" "keyword:`with` para consumir incondicionalmente las excepciones :exc:" "`OSError` y para cerrar la conexión NNTP cuando haya terminado, e.g.:" -#: ../Doc/library/nntplib.rst:83 ../Doc/library/nntplib.rst:111 +#: ../Doc/library/nntplib.rst:82 ../Doc/library/nntplib.rst:114 msgid "" "Raises an :ref:`auditing event ` ``nntplib.connect`` with " "arguments ``self``, ``host``, ``port``." @@ -106,6 +106,7 @@ msgstr "" "Genera un :ref:`evento de auditoría ` ``nntplib.connect`` con los " "argumentos ``self``, ``host``, ``port``." +#: ../Doc/library/nntplib.rst:84 ../Doc/library/nntplib.rst:116 msgid "" "Raises an :ref:`auditing event ` ``nntplib.putline`` with " "arguments ``self``, ``line``." @@ -113,7 +114,7 @@ msgstr "" "Genera un :ref:`evento de auditoría ` ``nntplib.putline`` con los " "argumentos ``self``, ``line``." -#: ../Doc/library/nntplib.rst:86 ../Doc/library/nntplib.rst:114 +#: ../Doc/library/nntplib.rst:86 ../Doc/library/nntplib.rst:118 msgid "" "All commands will raise an :ref:`auditing event ` ``nntplib." "putline`` with arguments ``self`` and ``line``, where ``line`` is the bytes " @@ -131,7 +132,13 @@ msgstr "*usenetrc* es ahora ``False`` por defecto." msgid "Support for the :keyword:`with` statement was added." msgstr "El soporte para la declaración :keyword:`with` fue añadido." -#: ../Doc/library/nntplib.rst:98 +#: ../Doc/library/nntplib.rst:96 ../Doc/library/nntplib.rst:129 +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 "" + +#: ../Doc/library/nntplib.rst:102 msgid "" "Return a new :class:`NNTP_SSL` object, representing an encrypted connection " "to the NNTP server running on host *host*, listening at port *port*. :class:" @@ -150,7 +157,7 @@ msgstr "" "buenas prácticas. Todos los demás parámetros se comportan igual que para :" "class:`NNTP`." -#: ../Doc/library/nntplib.rst:106 +#: ../Doc/library/nntplib.rst:110 msgid "" "Note that SSL-on-563 is discouraged per :rfc:`4642`, in favor of STARTTLS as " "described below. However, some servers only support the former." @@ -159,7 +166,7 @@ msgstr "" "de STARTTLS como se describe abajo. Sin embargo, algunos servidores solo " "admiten el primero." -#: ../Doc/library/nntplib.rst:120 +#: ../Doc/library/nntplib.rst:124 msgid "" "The class now supports hostname check with :attr:`ssl.SSLContext." "check_hostname` and *Server Name Indication* (see :data:`ssl.HAS_SNI`)." @@ -168,7 +175,7 @@ msgstr "" "SSLContext.check_hostname` e *Indicador del nombre del servidor* (SNI por " "sus siglas en inglés, consulte :data:`ssl.HAS_SNI`)." -#: ../Doc/library/nntplib.rst:127 +#: ../Doc/library/nntplib.rst:135 msgid "" "Derived from the standard exception :exc:`Exception`, this is the base class " "for all exceptions raised by the :mod:`nntplib` module. Instances of this " @@ -178,31 +185,31 @@ msgstr "" "para todas las excepciones generadas por el módulo :mod:`nntplib`. Las " "instancias de esta clase tienen el siguiente atributo:" -#: ../Doc/library/nntplib.rst:133 +#: ../Doc/library/nntplib.rst:141 msgid "The response of the server if available, as a :class:`str` object." msgstr "" "La respuesta del servidor, si está disponible, como un objeto :class:`str`." -#: ../Doc/library/nntplib.rst:138 +#: ../Doc/library/nntplib.rst:146 msgid "Exception raised when an unexpected reply is received from the server." msgstr "" "Excepción generada cuando se recibe una respuesta inesperada del servidor." -#: ../Doc/library/nntplib.rst:143 +#: ../Doc/library/nntplib.rst:151 msgid "" "Exception raised when a response code in the range 400--499 is received." msgstr "" "Excepción generada cuando se recibe un código de respuesta dentro del rango " "del 400--499." -#: ../Doc/library/nntplib.rst:148 +#: ../Doc/library/nntplib.rst:156 msgid "" "Exception raised when a response code in the range 500--599 is received." msgstr "" "Excepción generada cuando se recibe un código de respuesta dentro del rango " "del 500--599." -#: ../Doc/library/nntplib.rst:153 +#: ../Doc/library/nntplib.rst:161 msgid "" "Exception raised when a reply is received from the server that does not " "begin with a digit in the range 1--5." @@ -210,16 +217,16 @@ msgstr "" "Excepción generada cuando se recibe una respuesta del servidor que no " "comienza con un dígito dentro del rango 1--5." -#: ../Doc/library/nntplib.rst:159 +#: ../Doc/library/nntplib.rst:167 msgid "Exception raised when there is some error in the response data." msgstr "" "Excepción generada cuando hay algún error en los datos de la respuesta." -#: ../Doc/library/nntplib.rst:165 +#: ../Doc/library/nntplib.rst:173 msgid "NNTP Objects" msgstr "Objetos NNTP" -#: ../Doc/library/nntplib.rst:167 +#: ../Doc/library/nntplib.rst:175 msgid "" "When connected, :class:`NNTP` and :class:`NNTP_SSL` objects support the " "following methods and attributes." @@ -227,11 +234,11 @@ msgstr "" "Cuando están conectados, los objetos :class:`NNTP` y :class:`NNTP_SSL` " "admiten los siguientes métodos y atributos." -#: ../Doc/library/nntplib.rst:171 +#: ../Doc/library/nntplib.rst:179 msgid "Attributes" msgstr "Atributos" -#: ../Doc/library/nntplib.rst:175 +#: ../Doc/library/nntplib.rst:183 msgid "" "An integer representing the version of the NNTP protocol supported by the " "server. In practice, this should be ``2`` for servers advertising :rfc:" @@ -241,7 +248,7 @@ msgstr "" "servidor. En la práctica, esto debería ser ``2`` para los servidores que " "anuncian el cumplimiento :rfc:`3977` y ``1`` para otros." -#: ../Doc/library/nntplib.rst:183 +#: ../Doc/library/nntplib.rst:191 msgid "" "A string describing the software name and version of the NNTP server, or :" "const:`None` if not advertised by the server." @@ -249,11 +256,11 @@ msgstr "" "Cadena que describe el nombre de software y la versión del servidor NNTP, o :" "const:`None` si el servidor no lo anuncia." -#: ../Doc/library/nntplib.rst:189 +#: ../Doc/library/nntplib.rst:197 msgid "Methods" msgstr "Métodos" -#: ../Doc/library/nntplib.rst:191 +#: ../Doc/library/nntplib.rst:199 msgid "" "The *response* that is returned as the first item in the return tuple of " "almost all methods is the server's response: a string beginning with a three-" @@ -265,7 +272,7 @@ msgstr "" "que comienza con un código de tres dígitos. Si la respuesta del servidor " "indica un error, el método genera una de las excepciones anteriores." -#: ../Doc/library/nntplib.rst:196 +#: ../Doc/library/nntplib.rst:204 msgid "" "Many of the following methods take an optional keyword-only argument *file*. " "When the *file* argument is supplied, it must be either a :term:`file " @@ -282,7 +289,7 @@ msgstr "" "archivo; cualquier lista de líneas, tuplas u objetos que el método retorna " "normalmente estará vacía." -#: ../Doc/library/nntplib.rst:203 +#: ../Doc/library/nntplib.rst:211 msgid "" "Many of the following methods have been reworked and fixed, which makes them " "incompatible with their 3.1 counterparts." @@ -290,7 +297,7 @@ msgstr "" "Muchos de los siguientes métodos se han rediseñado y corregido, lo que los " "hace incompatibles con sus contrapartes 3.1." -#: ../Doc/library/nntplib.rst:210 +#: ../Doc/library/nntplib.rst:218 msgid "" "Send a ``QUIT`` command and close the connection. Once this method has been " "called, no other methods of the NNTP object should be called." @@ -298,7 +305,7 @@ msgstr "" "Envía un comando ``QUIT`` y cierra la conexión. Una vez que se ha invocado " "este método, no se debe invocar ningún otro método del objeto NNTP." -#: ../Doc/library/nntplib.rst:216 +#: ../Doc/library/nntplib.rst:224 msgid "" "Return the welcome message sent by the server in reply to the initial " "connection. (This message sometimes contains disclaimers or help " @@ -308,7 +315,7 @@ msgstr "" "conexión inicial. (Este mensaje a veces contiene aclaraciones o información " "de ayuda que puede ser relevante para el usuario.)" -#: ../Doc/library/nntplib.rst:223 +#: ../Doc/library/nntplib.rst:231 msgid "" "Return the :rfc:`3977` capabilities advertised by the server, as a :class:" "`dict` instance mapping capability names to (possibly empty) lists of " @@ -320,7 +327,7 @@ msgstr "" "(posiblemente vacías). En los servidores heredados que no entienden el " "comando ``CAPABILITIES``, se retorna un diccionario vacío en su lugar." -#: ../Doc/library/nntplib.rst:237 +#: ../Doc/library/nntplib.rst:245 msgid "" "Send ``AUTHINFO`` commands with the user name and password. If *user* and " "*password* are ``None`` and *usenetrc* is true, credentials from ``~/." @@ -330,7 +337,7 @@ msgstr "" "*user* y *password* son ``None`` y *usenetrc* es verdadero, se utilizarán " "las credenciales de ``~/.netrc`` si su uso es posible." -#: ../Doc/library/nntplib.rst:241 +#: ../Doc/library/nntplib.rst:249 msgid "" "Unless intentionally delayed, login is normally performed during the :class:" "`NNTP` object initialization and separately calling this function is " @@ -343,7 +350,7 @@ msgstr "" "autenticación, no debes establecer *user* o *password* al crear el objeto y " "debes establecer *usenetrc* en *False*." -#: ../Doc/library/nntplib.rst:252 +#: ../Doc/library/nntplib.rst:260 msgid "" "Send a ``STARTTLS`` command. This will enable encryption on the NNTP " "connection. The *context* argument is optional and should be a :class:`ssl." @@ -354,7 +361,7 @@ msgstr "" "SSLContext`. Por favor lea :ref:`ssl-security` para conocer las buenas " "prácticas." -#: ../Doc/library/nntplib.rst:257 +#: ../Doc/library/nntplib.rst:265 msgid "" "Note that this may not be done after authentication information has been " "transmitted, and authentication occurs by default if possible during a :" @@ -367,7 +374,7 @@ msgstr "" "class:`NNTP`. Consulte :meth:`NNTP.login` para obtener información sobre " "cómo suprimir este comportamiento." -#: ../Doc/library/nntplib.rst:264 +#: ../Doc/library/nntplib.rst:272 msgid "" "The method now supports hostname check with :attr:`ssl.SSLContext." "check_hostname` and *Server Name Indication* (see :data:`ssl.HAS_SNI`)." @@ -376,7 +383,7 @@ msgstr "" "SSLContext.check_hostname` y *Indicador del nombre del servidor* (SNI por " "sus siglas en inglés, consulte :data:`ssl.HAS_SNI`)." -#: ../Doc/library/nntplib.rst:271 +#: ../Doc/library/nntplib.rst:279 msgid "" "Send a ``NEWGROUPS`` command. The *date* argument should be a :class:" "`datetime.date` or :class:`datetime.datetime` object. Return a pair " @@ -390,7 +397,7 @@ msgstr "" "que son nuevos desde la fecha determinada. Sin embargo, si se proporciona " "*file*, entonces *groups* estará vacío." -#: ../Doc/library/nntplib.rst:287 +#: ../Doc/library/nntplib.rst:295 msgid "" "Send a ``NEWNEWS`` command. Here, *group* is a group name or ``'*'``, and " "*date* has the same meaning as for :meth:`newgroups`. Return a pair " @@ -401,13 +408,13 @@ msgstr "" "par ``(response, articles)`` donde *articles* es una lista de " "identificadores de mensaje." -#: ../Doc/library/nntplib.rst:291 +#: ../Doc/library/nntplib.rst:299 msgid "This command is frequently disabled by NNTP server administrators." msgstr "" "Este comando es inhabilitado frecuentemente por los administradores del " "servidor NNTP." -#: ../Doc/library/nntplib.rst:296 +#: ../Doc/library/nntplib.rst:304 msgid "" "Send a ``LIST`` or ``LIST ACTIVE`` command. Return a pair ``(response, " "list)`` where *list* is a list of tuples representing all the groups " @@ -424,35 +431,35 @@ msgstr "" "son los últimos y primeros números de artículo, y *flag* suele tomar uno de " "estos valores:" -#: ../Doc/library/nntplib.rst:304 +#: ../Doc/library/nntplib.rst:312 msgid "``y``: Local postings and articles from peers are allowed." msgstr "``y``: Se permiten publicaciones locales y artículos de pares." -#: ../Doc/library/nntplib.rst:305 +#: ../Doc/library/nntplib.rst:313 msgid "``m``: The group is moderated and all postings must be approved." msgstr "" "``m``: El grupo está moderado y todas las publicaciones deben ser aprobadas." -#: ../Doc/library/nntplib.rst:306 +#: ../Doc/library/nntplib.rst:314 msgid "``n``: No local postings are allowed, only articles from peers." msgstr "``n``: No se permiten publicaciones locales, solo artículos de pares." -#: ../Doc/library/nntplib.rst:307 +#: ../Doc/library/nntplib.rst:315 msgid "``j``: Articles from peers are filed in the junk group instead." msgstr "" "``j``: Los artículos de pares se archivan en el grupo de basura en su lugar." -#: ../Doc/library/nntplib.rst:308 +#: ../Doc/library/nntplib.rst:316 msgid "``x``: No local postings, and articles from peers are ignored." msgstr "" "``x``: No hay publicaciones locales y los artículos de pares son ignorados." -#: ../Doc/library/nntplib.rst:309 +#: ../Doc/library/nntplib.rst:317 msgid "``=foo.bar``: Articles are filed in the ``foo.bar`` group instead." msgstr "" "``=foo.bar``: Los artículos se archivan en el grupo ``foo.bar`` en su lugar." -#: ../Doc/library/nntplib.rst:311 +#: ../Doc/library/nntplib.rst:319 msgid "" "If *flag* has another value, then the status of the newsgroup should be " "considered unknown." @@ -460,7 +467,7 @@ msgstr "" "Si *flag* tiene otro valor, el estado del grupo de noticias debe " "considerarse como desconocido." -#: ../Doc/library/nntplib.rst:314 +#: ../Doc/library/nntplib.rst:322 msgid "" "This command can return very large results, especially if *group_pattern* is " "not specified. It is best to cache the results offline unless you really " @@ -470,11 +477,11 @@ msgstr "" "especifica *group_pattern*. Es mejor almacenar en caché los resultados sin " "conexión a menos que realmente necesite actualizarlos." -#: ../Doc/library/nntplib.rst:318 +#: ../Doc/library/nntplib.rst:326 msgid "*group_pattern* was added." msgstr "*group_pattern* fue añadido." -#: ../Doc/library/nntplib.rst:324 +#: ../Doc/library/nntplib.rst:332 msgid "" "Send a ``LIST NEWSGROUPS`` command, where *grouppattern* is a wildmat string " "as specified in :rfc:`3977` (it's essentially the same as DOS or UNIX shell " @@ -487,7 +494,7 @@ msgstr "" "descriptions)``, donde *descriptions* es un diccionario que asigna nombres " "de grupos a descripciones textuales." -#: ../Doc/library/nntplib.rst:338 +#: ../Doc/library/nntplib.rst:346 msgid "" "Get a description for a single group *group*. If more than one group " "matches (if 'group' is a real wildmat string), return the first match. If " @@ -497,7 +504,7 @@ msgstr "" "coincide (si *'group'* es una cadena comodín real), retorna la primera " "coincidencia. Si ningún grupo coincide, retorna una cadena vacía." -#: ../Doc/library/nntplib.rst:342 +#: ../Doc/library/nntplib.rst:350 msgid "" "This elides the response code from the server. If the response code is " "needed, use :meth:`descriptions`." @@ -505,7 +512,7 @@ msgstr "" "Esto elude el código de respuesta del servidor. Si necesita el código de " "respuesta, use :meth:`descriptions`." -#: ../Doc/library/nntplib.rst:348 +#: ../Doc/library/nntplib.rst:356 msgid "" "Send a ``GROUP`` command, where *name* is the group name. The group is " "selected as the current group, if it exists. Return a tuple ``(response, " @@ -520,7 +527,7 @@ msgstr "" "del grupo, *last* es el último número de artículo en el grupo y *name* es el " "nombre del grupo." -#: ../Doc/library/nntplib.rst:358 +#: ../Doc/library/nntplib.rst:366 msgid "" "Send an ``OVER`` command, or an ``XOVER`` command on legacy servers. " "*message_spec* can be either a string representing a message id, or a " @@ -537,7 +544,7 @@ msgstr "" "grupo actual, o :const:`None` para seleccionar el artículo actual en el " "grupo actual." -#: ../Doc/library/nntplib.rst:365 +#: ../Doc/library/nntplib.rst:373 msgid "" "Return a pair ``(response, overviews)``. *overviews* is a list of " "``(article_number, overview)`` tuples, one for each article selected by " @@ -556,7 +563,7 @@ msgstr "" "metadatos precedido de ``\":\"``). Se garantiza la presencia de los " "siguientes elementos por la especificación NNTP:" -#: ../Doc/library/nntplib.rst:373 +#: ../Doc/library/nntplib.rst:381 msgid "" "the ``subject``, ``from``, ``date``, ``message-id`` and ``references`` " "headers" @@ -564,7 +571,7 @@ msgstr "" "los encabezados ``subject``, ``from``, ``date``, ``message-id`` y " "``references``" -#: ../Doc/library/nntplib.rst:375 +#: ../Doc/library/nntplib.rst:383 msgid "" "the ``:bytes`` metadata: the number of bytes in the entire raw article " "(including headers and body)" @@ -572,18 +579,18 @@ msgstr "" "los metadatos ``:bytes``: el número de bytes en todo el artículo sin " "procesar (incluidos los encabezados y el cuerpo)" -#: ../Doc/library/nntplib.rst:377 +#: ../Doc/library/nntplib.rst:385 msgid "the ``:lines`` metadata: the number of lines in the article body" msgstr "" "los metadatos ``:lines``: el número de líneas en el cuerpo del artículo" -#: ../Doc/library/nntplib.rst:379 +#: ../Doc/library/nntplib.rst:387 msgid "" "The value of each item is either a string, or :const:`None` if not present." msgstr "" "El valor de cada elemento es una cadena o :const:`None` si no está presente." -#: ../Doc/library/nntplib.rst:381 +#: ../Doc/library/nntplib.rst:389 msgid "" "It is advisable to use the :func:`decode_header` function on header values " "when they may contain non-ASCII characters::" @@ -591,7 +598,7 @@ msgstr "" "Es aconsejable utilizar la función :func:`decode_header` en los valores del " "encabezado cuando pueden contener caracteres no-ASCII::" -#: ../Doc/library/nntplib.rst:401 +#: ../Doc/library/nntplib.rst:409 msgid "" "Send a ``HELP`` command. Return a pair ``(response, list)`` where *list* is " "a list of help strings." @@ -599,7 +606,7 @@ msgstr "" "Envía un comando ``HELP``. Retorna un par ``(response, list)`` donde *list* " "es una lista de cadenas de caracteres de ayuda." -#: ../Doc/library/nntplib.rst:407 +#: ../Doc/library/nntplib.rst:415 msgid "" "Send a ``STAT`` command, where *message_spec* is either a message id " "(enclosed in ``'<'`` and ``'>'``) or an article number in the current group. " @@ -614,15 +621,15 @@ msgstr "" "id)`` donde *number* es el número de artículo e *id* es el identificador del " "mensaje." -#: ../Doc/library/nntplib.rst:421 +#: ../Doc/library/nntplib.rst:429 msgid "Send a ``NEXT`` command. Return as for :meth:`.stat`." msgstr "Envía un comando ``NEXT``. Retorna como para :meth:`.stat`." -#: ../Doc/library/nntplib.rst:426 +#: ../Doc/library/nntplib.rst:434 msgid "Send a ``LAST`` command. Return as for :meth:`.stat`." msgstr "Envía un comando ``LAST``. Retorna como para :meth:`.stat`." -#: ../Doc/library/nntplib.rst:431 +#: ../Doc/library/nntplib.rst:439 msgid "" "Send an ``ARTICLE`` command, where *message_spec* has the same meaning as " "for :meth:`.stat`. Return a tuple ``(response, info)`` where *info* is a :" @@ -641,7 +648,7 @@ msgstr "" "(sin terminar líneas nuevas) que comprende el mensaje sin procesar, " "incluidos los encabezados y el cuerpo." -#: ../Doc/library/nntplib.rst:456 +#: ../Doc/library/nntplib.rst:464 msgid "" "Same as :meth:`article()`, but sends a ``HEAD`` command. The *lines* " "returned (or written to *file*) will only contain the message headers, not " @@ -651,7 +658,7 @@ msgstr "" "retornadas (o escritas a *file*) solo contendrán los encabezados del " "mensaje, no el cuerpo." -#: ../Doc/library/nntplib.rst:463 +#: ../Doc/library/nntplib.rst:471 msgid "" "Same as :meth:`article()`, but sends a ``BODY`` command. The *lines* " "returned (or written to *file*) will only contain the message body, not the " @@ -661,7 +668,7 @@ msgstr "" "retornadas (o escritas a *file*) solo contendrán los encabezados del " "mensaje, no el cuerpo." -#: ../Doc/library/nntplib.rst:470 +#: ../Doc/library/nntplib.rst:478 msgid "" "Post an article using the ``POST`` command. The *data* argument is either " "a :term:`file object` opened for binary reading, or any iterable of bytes " @@ -678,7 +685,7 @@ msgstr "" "automáticamente las líneas que comienzan con ``.`` y añade la línea de " "terminación." -#: ../Doc/library/nntplib.rst:477 +#: ../Doc/library/nntplib.rst:485 msgid "" "If the method succeeds, the server's response is returned. If the server " "refuses posting, a :class:`NNTPReplyError` is raised." @@ -686,7 +693,7 @@ msgstr "" "Si el método tiene éxito, se retorna la respuesta del servidor. Si el " "servidor se niega a publicarlo, se genera un :class:`NNTPReplyError`." -#: ../Doc/library/nntplib.rst:483 +#: ../Doc/library/nntplib.rst:491 msgid "" "Send an ``IHAVE`` command. *message_id* is the id of the message to send to " "the server (enclosed in ``'<'`` and ``'>'``). The *data* parameter and the " @@ -696,7 +703,7 @@ msgstr "" "se enviará al servidor (incluido entre ``'<'`` y ``'>'``). El parámetro " "*data* y el valor de retorno son los mismos que para :meth:`post()`." -#: ../Doc/library/nntplib.rst:490 +#: ../Doc/library/nntplib.rst:498 msgid "" "Return a pair ``(response, date)``. *date* is a :class:`~datetime.datetime` " "object containing the current date and time of the server." @@ -704,11 +711,11 @@ msgstr "" "Devuelve un par ``(response, date)``. *date* es un objeto :class:`~datetime." "datetime` que contiene la fecha y hora actuales del servidor." -#: ../Doc/library/nntplib.rst:496 +#: ../Doc/library/nntplib.rst:504 msgid "Send a ``SLAVE`` command. Return the server's *response*." msgstr "Envía un comando ``SLAVE``. Retorna la *response* del servidor." -#: ../Doc/library/nntplib.rst:501 +#: ../Doc/library/nntplib.rst:509 msgid "" "Set the instance's debugging level. This controls the amount of debugging " "output printed. The default, ``0``, produces no debugging output. A value " @@ -725,7 +732,7 @@ msgstr "" "de depuración, registrando cada línea enviada y recibida en la conexión " "(incluyendo el texto del mensaje)." -#: ../Doc/library/nntplib.rst:509 +#: ../Doc/library/nntplib.rst:517 msgid "" "The following are optional NNTP extensions defined in :rfc:`2980`. Some of " "them have been superseded by newer commands in :rfc:`3977`." @@ -734,7 +741,7 @@ msgstr "" "Algunas de ellas han sido reemplazados por comandos más nuevos en :rfc:" "`3977`." -#: ../Doc/library/nntplib.rst:515 +#: ../Doc/library/nntplib.rst:523 msgid "" "Send an ``XHDR`` command. The *hdr* argument is a header keyword, e.g. " "``'subject'``. The *str* argument should have the form ``'first-last'`` " @@ -761,7 +768,7 @@ msgstr "" "invocando :meth:`write` en él para almacenar las líneas de la salida del " "comando. Si se proporciona *file*, entonces retorna *list* o una lista vacía." -#: ../Doc/library/nntplib.rst:530 +#: ../Doc/library/nntplib.rst:538 msgid "" "Send an ``XOVER`` command. *start* and *end* are article numbers delimiting " "the range of articles to select. The return value is the same of for :meth:" @@ -774,29 +781,15 @@ msgstr "" "lugar, ya que se usará automáticamente el comando más nuevo ``OVER`` si está " "disponible." -#: ../Doc/library/nntplib.rst:539 -msgid "" -"Return a pair ``(resp, path)``, where *path* is the directory path to the " -"article with message ID *id*. Most of the time, this extension is not " -"enabled by NNTP server administrators." -msgstr "" -"Retorna un par ``(resp, path)``, donde *path* es la ruta del directorio al " -"artículo con un ID de mensaje *id*. La mayoría de las veces, los " -"administradores del servidor NNTP no habilitan esta extensión." - -#: ../Doc/library/nntplib.rst:543 -msgid "The XPATH extension is not actively used." -msgstr "La extensión XPATH no se utiliza activamente." - -#: ../Doc/library/nntplib.rst:565 +#: ../Doc/library/nntplib.rst:546 msgid "Utility functions" msgstr "Funciones de utilidad" -#: ../Doc/library/nntplib.rst:567 +#: ../Doc/library/nntplib.rst:548 msgid "The module also defines the following utility function:" msgstr "El módulo también define la siguiente función de utilidad:" -#: ../Doc/library/nntplib.rst:572 +#: ../Doc/library/nntplib.rst:553 msgid "" "Decode a header value, un-escaping any escaped non-ASCII characters. " "*header_str* must be a :class:`str` object. The unescaped value is " @@ -807,3 +800,15 @@ msgstr "" "no sean ASCII. *header_str* debe ser un objeto :class:`str`. Se retorna el " "valor sin escape. Se recomienda utilizar esta función para mostrar algunos " "encabezados en una forma legible por humanos::" + +#~ msgid "" +#~ "Return a pair ``(resp, path)``, where *path* is the directory path to the " +#~ "article with message ID *id*. Most of the time, this extension is not " +#~ "enabled by NNTP server administrators." +#~ msgstr "" +#~ "Retorna un par ``(resp, path)``, donde *path* es la ruta del directorio " +#~ "al artículo con un ID de mensaje *id*. La mayoría de las veces, los " +#~ "administradores del servidor NNTP no habilitan esta extensión." + +#~ msgid "The XPATH extension is not actively used." +#~ msgstr "La extensión XPATH no se utiliza activamente." diff --git a/library/optparse.po b/library/optparse.po index 72aaabe497..253a503fad 100644 --- a/library/optparse.po +++ b/library/optparse.po @@ -10,18 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-09-23 13:41+0200\n" +"Last-Translator: Francisco Jesús Sevilla García \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Francisco Jesús Sevilla García \n" -"Language: es\n" -"X-Generator: Poedit 2.4.1\n" -"X-Poedit-SourceCharset: UTF-8\n" #: ../Doc/library/optparse.rst:2 msgid ":mod:`optparse` --- Parser for command line options" @@ -95,7 +93,8 @@ msgstr "" "siguientes líneas de comandos son todas equivalentes al ejemplo previo::" #: ../Doc/library/optparse.rst:58 -msgid "Additionally, users can run one of ::" +#, fuzzy +msgid "Additionally, users can run one of the following ::" msgstr "Además, los usuarios pueden ejecutar una de estas líneas:" #: ../Doc/library/optparse.rst:63 diff --git a/library/os.po b/library/os.po index de19c9cd38..7126c40c9d 100644 --- a/library/os.po +++ b/library/os.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-08-20 20:48+0200\n" "Last-Translator: Cristián Maureira-Fredes \n" -"Language-Team: python-doc-es\n" "Language: es\n" +"Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.8.0\n" -"X-Generator: Poedit 2.3.1\n" #: ../Doc/library/os.rst:2 msgid ":mod:`os` --- Miscellaneous operating system interfaces" @@ -194,60 +193,60 @@ msgstr "" "Retorna el nombre del archivo correspondiente al terminal que controla el " "proceso." -#: ../Doc/library/os.rst:100 ../Doc/library/os.rst:262 -#: ../Doc/library/os.rst:271 ../Doc/library/os.rst:280 -#: ../Doc/library/os.rst:290 ../Doc/library/os.rst:299 -#: ../Doc/library/os.rst:334 ../Doc/library/os.rst:342 -#: ../Doc/library/os.rst:379 ../Doc/library/os.rst:390 -#: ../Doc/library/os.rst:400 ../Doc/library/os.rst:410 -#: ../Doc/library/os.rst:420 ../Doc/library/os.rst:430 -#: ../Doc/library/os.rst:461 ../Doc/library/os.rst:468 -#: ../Doc/library/os.rst:475 ../Doc/library/os.rst:485 -#: ../Doc/library/os.rst:496 ../Doc/library/os.rst:505 -#: ../Doc/library/os.rst:523 ../Doc/library/os.rst:531 -#: ../Doc/library/os.rst:539 ../Doc/library/os.rst:548 -#: ../Doc/library/os.rst:556 ../Doc/library/os.rst:563 -#: ../Doc/library/os.rst:570 ../Doc/library/os.rst:579 -#: ../Doc/library/os.rst:777 ../Doc/library/os.rst:789 -#: ../Doc/library/os.rst:798 ../Doc/library/os.rst:820 -#: ../Doc/library/os.rst:841 ../Doc/library/os.rst:878 -#: ../Doc/library/os.rst:899 ../Doc/library/os.rst:911 -#: ../Doc/library/os.rst:1081 ../Doc/library/os.rst:1096 -#: ../Doc/library/os.rst:1111 ../Doc/library/os.rst:1124 -#: ../Doc/library/os.rst:1192 ../Doc/library/os.rst:1291 -#: ../Doc/library/os.rst:1308 ../Doc/library/os.rst:1320 -#: ../Doc/library/os.rst:1338 ../Doc/library/os.rst:1347 -#: ../Doc/library/os.rst:1355 ../Doc/library/os.rst:1364 -#: ../Doc/library/os.rst:1400 ../Doc/library/os.rst:1648 -#: ../Doc/library/os.rst:1717 ../Doc/library/os.rst:1731 -#: ../Doc/library/os.rst:1744 ../Doc/library/os.rst:1771 -#: ../Doc/library/os.rst:1786 ../Doc/library/os.rst:1799 -#: ../Doc/library/os.rst:1985 ../Doc/library/os.rst:2007 -#: ../Doc/library/os.rst:2051 ../Doc/library/os.rst:2062 -#: ../Doc/library/os.rst:2736 ../Doc/library/os.rst:2890 -#: ../Doc/library/os.rst:3115 ../Doc/library/os.rst:3412 -#: ../Doc/library/os.rst:3420 ../Doc/library/os.rst:3427 -#: ../Doc/library/os.rst:3434 ../Doc/library/os.rst:3441 -#: ../Doc/library/os.rst:3448 ../Doc/library/os.rst:3455 -#: ../Doc/library/os.rst:3462 ../Doc/library/os.rst:3470 -#: ../Doc/library/os.rst:3478 ../Doc/library/os.rst:3485 -#: ../Doc/library/os.rst:3492 ../Doc/library/os.rst:3501 -#: ../Doc/library/os.rst:3509 ../Doc/library/os.rst:3517 -#: ../Doc/library/os.rst:3524 ../Doc/library/os.rst:3531 -#: ../Doc/library/os.rst:3552 ../Doc/library/os.rst:3607 -#: ../Doc/library/os.rst:3614 ../Doc/library/os.rst:3622 -#: ../Doc/library/os.rst:3733 ../Doc/library/os.rst:3781 -#: ../Doc/library/os.rst:3987 ../Doc/library/os.rst:4003 -#: ../Doc/library/os.rst:4014 ../Doc/library/os.rst:4025 -#: ../Doc/library/os.rst:4038 ../Doc/library/os.rst:4084 -#: ../Doc/library/os.rst:4095 ../Doc/library/os.rst:4103 -#: ../Doc/library/os.rst:4119 ../Doc/library/os.rst:4133 -#: ../Doc/library/os.rst:4144 ../Doc/library/os.rst:4156 -#: ../Doc/library/os.rst:4163 ../Doc/library/os.rst:4172 -#: ../Doc/library/os.rst:4181 ../Doc/library/os.rst:4190 -#: ../Doc/library/os.rst:4199 ../Doc/library/os.rst:4345 -#: ../Doc/library/os.rst:4354 ../Doc/library/os.rst:4375 -#: ../Doc/library/os.rst:4385 ../Doc/library/os.rst:4394 +#: ../Doc/library/os.rst:100 ../Doc/library/os.rst:264 +#: ../Doc/library/os.rst:273 ../Doc/library/os.rst:282 +#: ../Doc/library/os.rst:292 ../Doc/library/os.rst:301 +#: ../Doc/library/os.rst:336 ../Doc/library/os.rst:344 +#: ../Doc/library/os.rst:381 ../Doc/library/os.rst:392 +#: ../Doc/library/os.rst:402 ../Doc/library/os.rst:412 +#: ../Doc/library/os.rst:422 ../Doc/library/os.rst:432 +#: ../Doc/library/os.rst:464 ../Doc/library/os.rst:471 +#: ../Doc/library/os.rst:478 ../Doc/library/os.rst:488 +#: ../Doc/library/os.rst:499 ../Doc/library/os.rst:508 +#: ../Doc/library/os.rst:526 ../Doc/library/os.rst:534 +#: ../Doc/library/os.rst:542 ../Doc/library/os.rst:551 +#: ../Doc/library/os.rst:559 ../Doc/library/os.rst:566 +#: ../Doc/library/os.rst:573 ../Doc/library/os.rst:582 +#: ../Doc/library/os.rst:781 ../Doc/library/os.rst:793 +#: ../Doc/library/os.rst:802 ../Doc/library/os.rst:824 +#: ../Doc/library/os.rst:845 ../Doc/library/os.rst:882 +#: ../Doc/library/os.rst:903 ../Doc/library/os.rst:915 +#: ../Doc/library/os.rst:1085 ../Doc/library/os.rst:1100 +#: ../Doc/library/os.rst:1115 ../Doc/library/os.rst:1128 +#: ../Doc/library/os.rst:1197 ../Doc/library/os.rst:1297 +#: ../Doc/library/os.rst:1317 ../Doc/library/os.rst:1329 +#: ../Doc/library/os.rst:1347 ../Doc/library/os.rst:1356 +#: ../Doc/library/os.rst:1364 ../Doc/library/os.rst:1373 +#: ../Doc/library/os.rst:1409 ../Doc/library/os.rst:1657 +#: ../Doc/library/os.rst:1726 ../Doc/library/os.rst:1740 +#: ../Doc/library/os.rst:1753 ../Doc/library/os.rst:1780 +#: ../Doc/library/os.rst:1795 ../Doc/library/os.rst:1808 +#: ../Doc/library/os.rst:1996 ../Doc/library/os.rst:2018 +#: ../Doc/library/os.rst:2062 ../Doc/library/os.rst:2073 +#: ../Doc/library/os.rst:2749 ../Doc/library/os.rst:2903 +#: ../Doc/library/os.rst:3135 ../Doc/library/os.rst:3432 +#: ../Doc/library/os.rst:3440 ../Doc/library/os.rst:3447 +#: ../Doc/library/os.rst:3454 ../Doc/library/os.rst:3461 +#: ../Doc/library/os.rst:3468 ../Doc/library/os.rst:3475 +#: ../Doc/library/os.rst:3482 ../Doc/library/os.rst:3490 +#: ../Doc/library/os.rst:3498 ../Doc/library/os.rst:3505 +#: ../Doc/library/os.rst:3512 ../Doc/library/os.rst:3521 +#: ../Doc/library/os.rst:3529 ../Doc/library/os.rst:3537 +#: ../Doc/library/os.rst:3544 ../Doc/library/os.rst:3551 +#: ../Doc/library/os.rst:3572 ../Doc/library/os.rst:3627 +#: ../Doc/library/os.rst:3634 ../Doc/library/os.rst:3655 +#: ../Doc/library/os.rst:3771 ../Doc/library/os.rst:3819 +#: ../Doc/library/os.rst:4033 ../Doc/library/os.rst:4054 +#: ../Doc/library/os.rst:4065 ../Doc/library/os.rst:4085 +#: ../Doc/library/os.rst:4100 ../Doc/library/os.rst:4155 +#: ../Doc/library/os.rst:4169 ../Doc/library/os.rst:4207 +#: ../Doc/library/os.rst:4223 ../Doc/library/os.rst:4237 +#: ../Doc/library/os.rst:4248 ../Doc/library/os.rst:4260 +#: ../Doc/library/os.rst:4267 ../Doc/library/os.rst:4276 +#: ../Doc/library/os.rst:4285 ../Doc/library/os.rst:4294 +#: ../Doc/library/os.rst:4303 ../Doc/library/os.rst:4449 +#: ../Doc/library/os.rst:4458 ../Doc/library/os.rst:4479 +#: ../Doc/library/os.rst:4489 ../Doc/library/os.rst:4498 msgid ":ref:`Availability `: Unix." msgstr ":ref:`Disponibilidad `: Unix." @@ -275,10 +274,11 @@ msgstr "" "modificando directamente a ``os.environ``." #: ../Doc/library/os.rst:114 +#, fuzzy msgid "" -"If the platform supports the :func:`putenv` function, this mapping may be " -"used to modify the environment as well as query the environment. :func:" -"`putenv` will be called automatically when the mapping is modified." +"This mapping may be used to modify the environment as well as query the " +"environment. :func:`putenv` will be called automatically when the mapping " +"is modified." msgstr "" "Si la plataforma soporta la función :func:`putenv`, este mapeo se puede usar " "para modificar el entorno como también para consultarlo. La función :func:" @@ -313,28 +313,18 @@ msgstr "" #: ../Doc/library/os.rst:133 msgid "" -"If :func:`putenv` is not provided, a modified copy of this mapping may be " -"passed to the appropriate process-creation functions to cause child " -"processes to use a modified environment." +"You can delete items in this mapping to unset environment variables. :func:" +"`unsetenv` will be called automatically when an item is deleted from ``os." +"environ``, and when one of the :meth:`pop` or :meth:`clear` methods is " +"called." msgstr "" -"Si la función :func:`putenv` no está provista, una copia modificada de este " -"mapeo se puede pasarse a las funciones adecuadas de creación de procesos " -"para generar que los procesos hijos usen un entorno modificado." -#: ../Doc/library/os.rst:137 +#: ../Doc/library/os.rst:138 ../Doc/library/os.rst:154 msgid "" -"If the platform supports the :func:`unsetenv` function, you can delete items " -"in this mapping to unset environment variables. :func:`unsetenv` will be " -"called automatically when an item is deleted from ``os.environ``, and when " -"one of the :meth:`pop` or :meth:`clear` methods is called." +"Updated to support :pep:`584`'s merge (``|``) and update (``|=``) operators." msgstr "" -"Si la plataforma suporta la función :func:`unsetenv`, se pueden eliminar " -"elementos de este mapeo para quitar variables de entorno. Se va a llamar " -"automáticamente a :func:`unsetenv` cuando un elemento sea eliminado de ``os." -"environ``, así como también cuando se llamen a los métodos :meth:`pop` o :" -"meth:`clear`." -#: ../Doc/library/os.rst:145 +#: ../Doc/library/os.rst:144 msgid "" "Bytes version of :data:`environ`: a :term:`mapping` object representing the " "environment as byte strings. :data:`environ` and :data:`environb` are " @@ -346,7 +336,7 @@ msgstr "" "`environb` están sincronizados (modificar :data:`environb` actualiza :data:" "`environ` y viceversa)." -#: ../Doc/library/os.rst:150 +#: ../Doc/library/os.rst:149 msgid "" ":data:`environb` is only available if :data:`supports_bytes_environ` is " "``True``." @@ -354,11 +344,11 @@ msgstr "" ":data:`environb` está disponible sólo si :data:`supports_bytes_environ` está " "establecido en ``True``." -#: ../Doc/library/os.rst:161 +#: ../Doc/library/os.rst:163 msgid "These functions are described in :ref:`os-file-dir`." msgstr "Estas funciones están detalladas en :ref:`os-file-dir`." -#: ../Doc/library/os.rst:166 +#: ../Doc/library/os.rst:168 msgid "" "Encode :term:`path-like ` *filename* to the filesystem " "encoding with ``'surrogateescape'`` error handler, or ``'strict'`` on " @@ -369,11 +359,11 @@ msgstr "" "``'surrogateescape'``, o ``'strict'`` en Windows; retorna :class:`bytes` sin " "alterar." -#: ../Doc/library/os.rst:170 +#: ../Doc/library/os.rst:172 msgid ":func:`fsdecode` is the reverse function." msgstr ":func:`fsdecode` es la función inversa." -#: ../Doc/library/os.rst:174 ../Doc/library/os.rst:189 +#: ../Doc/library/os.rst:176 ../Doc/library/os.rst:191 msgid "" "Support added to accept objects implementing the :class:`os.PathLike` " "interface." @@ -381,7 +371,7 @@ msgstr "" "Soporte agregado para aceptar objetos que implementan una interfaz :class:" "`os.PathLike`." -#: ../Doc/library/os.rst:181 +#: ../Doc/library/os.rst:183 msgid "" "Decode the :term:`path-like ` *filename* from the " "filesystem encoding with ``'surrogateescape'`` error handler, or " @@ -392,15 +382,15 @@ msgstr "" "``'surrogateescape'``, o ``'strict'`` en Windows; retorna :class:`str` sin " "alterar." -#: ../Doc/library/os.rst:185 +#: ../Doc/library/os.rst:187 msgid ":func:`fsencode` is the reverse function." msgstr ":func:`fsencode` es la función inversa." -#: ../Doc/library/os.rst:196 +#: ../Doc/library/os.rst:198 msgid "Return the file system representation of the path." msgstr "Retorna la representación en el sistema de archivos de la ruta." -#: ../Doc/library/os.rst:198 +#: ../Doc/library/os.rst:200 msgid "" "If :class:`str` or :class:`bytes` is passed in, it is returned unchanged. " "Otherwise :meth:`~os.PathLike.__fspath__` is called and its value is " @@ -412,7 +402,7 @@ msgstr "" "siempre que sea un objeto :class:`str` o :class:`bytes`. En los demás casos " "se lanza una excepción del tipo :exc:`TypeError`." -#: ../Doc/library/os.rst:208 +#: ../Doc/library/os.rst:210 msgid "" "An :term:`abstract base class` for objects representing a file system path, " "e.g. :class:`pathlib.PurePath`." @@ -420,12 +410,12 @@ msgstr "" "Una :term:`clase base abstracta` para objetos que representan una ruta del " "sistema de archivos, i.e. :class:`pathlib.PurePath`." -#: ../Doc/library/os.rst:215 +#: ../Doc/library/os.rst:217 msgid "Return the file system path representation of the object." msgstr "" "Retorna la representación de la ruta del sistema de archivos del objeto." -#: ../Doc/library/os.rst:217 +#: ../Doc/library/os.rst:219 msgid "" "The method should only return a :class:`str` or :class:`bytes` object, with " "the preference being for :class:`str`." @@ -433,7 +423,7 @@ msgstr "" "Este método sólo retornará objetos :class:`str` or :class:`bytes`, " "preferentemente :class:`str`." -#: ../Doc/library/os.rst:223 +#: ../Doc/library/os.rst:225 msgid "" "Return the value of the environment variable *key* if it exists, or " "*default* if it doesn't. *key*, *default* and the result are str." @@ -442,7 +432,7 @@ msgstr "" "si existe, o *default* si no existe. *key*, *default* y el resultado son " "cadenas de texto." -#: ../Doc/library/os.rst:226 +#: ../Doc/library/os.rst:228 msgid "" "On Unix, keys and values are decoded with :func:`sys.getfilesystemencoding` " "and ``'surrogateescape'`` error handler. Use :func:`os.getenvb` if you would " @@ -453,11 +443,11 @@ msgstr "" "``'surrogateescape'``. Usar :func:`os.getenvb` si se quiere usar una " "codificación diferente." -#: ../Doc/library/os.rst:230 ../Doc/library/os.rst:443 +#: ../Doc/library/os.rst:232 msgid ":ref:`Availability `: most flavors of Unix, Windows." msgstr ":ref:`Disponibilidad `: sistemas tipo Unix, Windows." -#: ../Doc/library/os.rst:235 +#: ../Doc/library/os.rst:237 msgid "" "Return the value of the environment variable *key* if it exists, or " "*default* if it doesn't. *key*, *default* and the result are bytes." @@ -466,7 +456,7 @@ msgstr "" "si existe, o *default* si no existe. *key*, *default* y el resultado son " "*bytes*." -#: ../Doc/library/os.rst:238 +#: ../Doc/library/os.rst:240 msgid "" ":func:`getenvb` is only available if :data:`supports_bytes_environ` is " "``True``." @@ -474,11 +464,11 @@ msgstr "" ":func:`getenvb` está disponible sólo si :data:`supports_bytes_environ` está " "establecido en ``True``." -#: ../Doc/library/os.rst:242 ../Doc/library/os.rst:650 +#: ../Doc/library/os.rst:244 msgid ":ref:`Availability `: most flavors of Unix." msgstr ":ref:`Disponibilidad `: sistemas tipo Unix." -#: ../Doc/library/os.rst:248 +#: ../Doc/library/os.rst:250 msgid "" "Returns the list of directories that will be searched for a named " "executable, similar to a shell, when launching a process. *env*, when " @@ -490,7 +480,7 @@ msgstr "" "tienen que ser un diccionario de variables de entorno donde buscar el " "*PATH*. Por defecto cuando *env* es ``None``, se usa :data:`environ`." -#: ../Doc/library/os.rst:259 +#: ../Doc/library/os.rst:261 msgid "" "Return the effective group id of the current process. This corresponds to " "the \"set id\" bit on the file being executed in the current process." @@ -499,19 +489,19 @@ msgstr "" "está ejecuntando. Esto corresponde al bit de *\"set id\"* en el archivo que " "se está ejecutando en el proceso actual." -#: ../Doc/library/os.rst:269 +#: ../Doc/library/os.rst:271 msgid "Return the current process's effective user id." msgstr "" "Retorna el id el usuario correspondiente al proceso que se está ejecutando " "actualmente." -#: ../Doc/library/os.rst:278 +#: ../Doc/library/os.rst:280 msgid "Return the real group id of the current process." msgstr "" "Retorna el id del grupo real correspondiente al proceso que se está " "ejecutando actualmente." -#: ../Doc/library/os.rst:285 +#: ../Doc/library/os.rst:287 msgid "" "Return list of group ids that *user* belongs to. If *group* is not in the " "list, it is included; typically, *group* is specified as the group ID field " @@ -521,14 +511,14 @@ msgstr "" "*group* no está en la lista, se inlcuirá; típicamente *group* se especifica " "como en el campo *ID* de grupo del registro de claves del usuario." -#: ../Doc/library/os.rst:296 +#: ../Doc/library/os.rst:298 msgid "" "Return list of supplemental group ids associated with the current process." msgstr "" "Retorna la lista de *ids* de grupos secundarios asociados con el proceso " "actual." -#: ../Doc/library/os.rst:302 +#: ../Doc/library/os.rst:304 msgid "" "On Mac OS X, :func:`getgroups` behavior differs somewhat from other Unix " "platforms. If the Python interpreter was built with a deployment target of :" @@ -559,7 +549,7 @@ msgstr "" "const:`MACOSX_DEPLOYMENT_TARGET`, se puede ver con :func:`sysconfig." "get_config_var`." -#: ../Doc/library/os.rst:319 +#: ../Doc/library/os.rst:321 msgid "" "Return the name of the user logged in on the controlling terminal of the " "process. For most purposes, it is more useful to use :func:`getpass." @@ -574,18 +564,18 @@ msgstr "" "a ``pwd.getpwuid(os.getuid())[0]`` para obtener el nombre de inicio de " "sesión del ID de usuario real actual." -#: ../Doc/library/os.rst:326 ../Doc/library/os.rst:361 -#: ../Doc/library/os.rst:853 ../Doc/library/os.rst:865 -#: ../Doc/library/os.rst:1057 ../Doc/library/os.rst:1426 -#: ../Doc/library/os.rst:1815 ../Doc/library/os.rst:2085 -#: ../Doc/library/os.rst:2870 ../Doc/library/os.rst:2904 -#: ../Doc/library/os.rst:3379 ../Doc/library/os.rst:3866 -#: ../Doc/library/os.rst:3877 ../Doc/library/os.rst:3949 -#: ../Doc/library/os.rst:3973 +#: ../Doc/library/os.rst:328 ../Doc/library/os.rst:363 +#: ../Doc/library/os.rst:857 ../Doc/library/os.rst:869 +#: ../Doc/library/os.rst:1061 ../Doc/library/os.rst:1435 +#: ../Doc/library/os.rst:1824 ../Doc/library/os.rst:2096 +#: ../Doc/library/os.rst:2883 ../Doc/library/os.rst:2917 +#: ../Doc/library/os.rst:3399 ../Doc/library/os.rst:3904 +#: ../Doc/library/os.rst:3915 ../Doc/library/os.rst:3991 +#: ../Doc/library/os.rst:4015 msgid ":ref:`Availability `: Unix, Windows." msgstr ":ref:`Disponibilidad `: Unix, Windows." -#: ../Doc/library/os.rst:331 +#: ../Doc/library/os.rst:333 msgid "" "Return the process group id of the process with process id *pid*. If *pid* " "is 0, the process group id of the current process is returned." @@ -594,15 +584,15 @@ msgstr "" "proceso *pid*. Si *pid* es 0, se retorna la identificación del grupo de " "proceso del proceso actual." -#: ../Doc/library/os.rst:340 +#: ../Doc/library/os.rst:342 msgid "Return the id of the current process group." msgstr "Retorna el *id* del grupo de proceso actual." -#: ../Doc/library/os.rst:349 +#: ../Doc/library/os.rst:351 msgid "Return the current process id." msgstr "Retorna el *id* del proceso actual." -#: ../Doc/library/os.rst:356 +#: ../Doc/library/os.rst:358 msgid "" "Return the parent's process id. When the parent process has exited, on Unix " "the id returned is the one of the init process (1), on Windows it is still " @@ -613,11 +603,11 @@ msgstr "" "Windows sigue siendo la misma identificación, que ya puede ser reutilizada " "por otro proceso." -#: ../Doc/library/os.rst:362 +#: ../Doc/library/os.rst:364 msgid "Added support for Windows." msgstr "Se agregó soporte para Windows." -#: ../Doc/library/os.rst:370 +#: ../Doc/library/os.rst:372 msgid "" "Get program scheduling priority. The value *which* is one of :const:" "`PRIO_PROCESS`, :const:`PRIO_PGRP`, or :const:`PRIO_USER`, and *who* is " @@ -635,13 +625,13 @@ msgstr "" "*who* denota (respectivamente) el proceso llamado, el grupo de proceso del " "proceso llamado o el ID de usuario real del proceso llamado." -#: ../Doc/library/os.rst:387 +#: ../Doc/library/os.rst:389 msgid "" "Parameters for the :func:`getpriority` and :func:`setpriority` functions." msgstr "" "Parámetros para las funciones :func:`getpriority` y :func:`setpriority`." -#: ../Doc/library/os.rst:396 +#: ../Doc/library/os.rst:398 msgid "" "Return a tuple (ruid, euid, suid) denoting the current process's real, " "effective, and saved user ids." @@ -649,7 +639,7 @@ msgstr "" "Retorna una tupla (ruid, euid, suid) que denota los ID de usuario reales, " "efectivos y guardados del proceso actual." -#: ../Doc/library/os.rst:406 +#: ../Doc/library/os.rst:408 msgid "" "Return a tuple (rgid, egid, sgid) denoting the current process's real, " "effective, and saved group ids." @@ -657,11 +647,11 @@ msgstr "" "Retorna una tupla (rgid, egid, sgid) que denota los ID de grupo reales, " "efectivos y guardados del proceso actual." -#: ../Doc/library/os.rst:418 +#: ../Doc/library/os.rst:420 msgid "Return the current process's real user id." msgstr "Retorna el *id* del usuario real del proceso actual." -#: ../Doc/library/os.rst:425 +#: ../Doc/library/os.rst:427 msgid "" "Call the system initgroups() to initialize the group access list with all of " "the groups of which the specified username is a member, plus the specified " @@ -671,7 +661,7 @@ msgstr "" "con todos los grupos de los que es miembro el nombre de usuario " "especificado, más el ID del grupo especificado." -#: ../Doc/library/os.rst:438 +#: ../Doc/library/os.rst:440 msgid "" "Set the environment variable named *key* to the string *value*. Such " "changes to the environment affect subprocesses started with :func:`os." @@ -681,26 +671,23 @@ msgstr "" "*value*. Dichos cambios en el entorno impactan a los subprocesos iniciados " "con :func:`os.system`, :func:`popen` o :func:`fork` y :func:`execv`." -#: ../Doc/library/os.rst:446 +#: ../Doc/library/os.rst:444 msgid "" -"On some platforms, including FreeBSD and Mac OS X, setting ``environ`` may " -"cause memory leaks. Refer to the system documentation for putenv." +"Assignments to items in ``os.environ`` are automatically translated into " +"corresponding calls to :func:`putenv`; however, calls to :func:`putenv` " +"don't update ``os.environ``, so it is actually preferable to assign to items " +"of ``os.environ``." msgstr "" -"En algunas plataformas, incluidas FreeBSD y Mac OS X, la configuración de " -"``environment`` puede causar pérdidas de memoria. Consulta la documentación " -"del sistema para putenv." -#: ../Doc/library/os.rst:449 +#: ../Doc/library/os.rst:451 +#, fuzzy msgid "" -"When :func:`putenv` is supported, assignments to items in ``os.environ`` are " -"automatically translated into corresponding calls to :func:`putenv`; " -"however, calls to :func:`putenv` don't update ``os.environ``, so it is " -"actually preferable to assign to items of ``os.environ``." +"On some platforms, including FreeBSD and Mac OS X, setting ``environ`` may " +"cause memory leaks. Refer to the system documentation for :c:func:`putenv`." msgstr "" -"Cuando :func:`putenv` es compatible, las asignaciones de elementos en ``os." -"environ`` se traducen automáticamente en llamadas correspondientes a :func:" -"`putenv`; sin embargo, llamar a :func:`putenv` no actualiza ``os.environ``, " -"por lo que es preferible asignar a elementos de ``os.environ``." +"En algunas plataformas, como FreeBSD y Mac OS X, establece ``environ`` " +"pueden generar pérdidas de memoria. Hay que referirse a la documentación del " +"sistema para la función :c:func:`putenv`." #: ../Doc/library/os.rst:454 msgid "" @@ -710,19 +697,24 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``os.putenv`` con argumentos " "``key``, ``value``." -#: ../Doc/library/os.rst:459 +#: ../Doc/library/os.rst:456 +#, fuzzy +msgid "The function is now always available." +msgstr "Esta función no está disponible en MacOS." + +#: ../Doc/library/os.rst:462 msgid "Set the current process's effective group id." msgstr "Establece el *id* de grupo efectivo del proceso actual." -#: ../Doc/library/os.rst:466 +#: ../Doc/library/os.rst:469 msgid "Set the current process's effective user id." msgstr "Establece el *id* de usuario efectivo del proceso actual." -#: ../Doc/library/os.rst:473 +#: ../Doc/library/os.rst:476 msgid "Set the current process' group id." msgstr "Establece el *id* de grupo del proceso actual." -#: ../Doc/library/os.rst:480 +#: ../Doc/library/os.rst:483 msgid "" "Set the list of supplemental group ids associated with the current process " "to *groups*. *groups* must be a sequence, and each element must be an " @@ -734,7 +726,7 @@ msgstr "" "un número entero que identifique un grupo. Esta operación generalmente está " "disponible sólo para el superusuario." -#: ../Doc/library/os.rst:486 +#: ../Doc/library/os.rst:489 msgid "" "On Mac OS X, the length of *groups* may not exceed the system-defined " "maximum number of effective group ids, typically 16. See the documentation " @@ -746,7 +738,7 @@ msgstr "" "16. Consulte la documentación de :func:`getgroups` para casos en los que no " "puede retornar el mismo conjunto de listas de grupos llamando a setgroups()." -#: ../Doc/library/os.rst:493 +#: ../Doc/library/os.rst:496 msgid "" "Call the system call :c:func:`setpgrp` or ``setpgrp(0, 0)`` depending on " "which version is implemented (if any). See the Unix manual for the " @@ -756,7 +748,7 @@ msgstr "" "dependiendo de la versión que se implemente (si la hay). Vea el manual de " "Unix para la semántica." -#: ../Doc/library/os.rst:501 +#: ../Doc/library/os.rst:504 msgid "" "Call the system call :c:func:`setpgid` to set the process group id of the " "process with id *pid* to the process group with id *pgrp*. See the Unix " @@ -766,7 +758,7 @@ msgstr "" "identificación del grupo de procesos del *id* del proceso como *pid* al " "grupo de procesos con id *pgrp*. Vea el manual de Unix para la semántica." -#: ../Doc/library/os.rst:512 +#: ../Doc/library/os.rst:515 msgid "" "Set program scheduling priority. The value *which* is one of :const:" "`PRIO_PROCESS`, :const:`PRIO_PGRP`, or :const:`PRIO_USER`, and *who* is " @@ -788,27 +780,27 @@ msgstr "" "un valor en el rango de -20 a 19. La prioridad predeterminada es 0; las " "prioridades más bajas causan una programación más favorable." -#: ../Doc/library/os.rst:529 +#: ../Doc/library/os.rst:532 msgid "Set the current process's real and effective group ids." msgstr "Establece los *ids* de grupos reales y efectivos del proceso actual." -#: ../Doc/library/os.rst:536 +#: ../Doc/library/os.rst:539 msgid "Set the current process's real, effective, and saved group ids." msgstr "" "Establece los *ids* de grupo reales, efectivos y guardados del proceso " "actual." -#: ../Doc/library/os.rst:545 +#: ../Doc/library/os.rst:548 msgid "Set the current process's real, effective, and saved user ids." msgstr "" "Establece los *ids* de usuario reales, efectivos y guardados del proceso " "actual." -#: ../Doc/library/os.rst:554 +#: ../Doc/library/os.rst:557 msgid "Set the current process's real and effective user ids." msgstr "Establece los *ids* de usuario reales y efectivos del proceso actual." -#: ../Doc/library/os.rst:561 +#: ../Doc/library/os.rst:564 msgid "" "Call the system call :c:func:`getsid`. See the Unix manual for the " "semantics." @@ -816,7 +808,7 @@ msgstr "" "Invoca a la llamada de sistema :c:func:`getsid`. Vea el manual de Unix para " "la semántica." -#: ../Doc/library/os.rst:568 +#: ../Doc/library/os.rst:571 msgid "" "Call the system call :c:func:`setsid`. See the Unix manual for the " "semantics." @@ -824,11 +816,11 @@ msgstr "" "Invoca a la llamada de sistema :c:func:`setsid`. Vea el manual de Unix para " "la semántica." -#: ../Doc/library/os.rst:577 +#: ../Doc/library/os.rst:580 msgid "Set the current process's user id." msgstr "Establece *id* del usuario del proceso actual." -#: ../Doc/library/os.rst:585 +#: ../Doc/library/os.rst:588 msgid "" "Return the error message corresponding to the error code in *code*. On " "platforms where :c:func:`strerror` returns ``NULL`` when given an unknown " @@ -838,7 +830,7 @@ msgstr "" "plataformas donde :c:func:`strerror` retorna ``NULL`` cuando se le da un " "número de error desconocido lanza un :exc:`ValueError`." -#: ../Doc/library/os.rst:592 +#: ../Doc/library/os.rst:595 msgid "" "``True`` if the native OS type of the environment is bytes (eg. ``False`` on " "Windows)." @@ -846,11 +838,11 @@ msgstr "" "``True`` si el tipo de entorno nativo del sistema operativo es bytes (por " "ejemplo, ``False`` en Windows)." -#: ../Doc/library/os.rst:600 +#: ../Doc/library/os.rst:603 msgid "Set the current numeric umask and return the previous umask." msgstr "Establece la *umask* numérica actual y retorna la *umask* anterior." -#: ../Doc/library/os.rst:609 +#: ../Doc/library/os.rst:612 msgid "" "Returns information identifying the current operating system. The return " "value is an object with five attributes:" @@ -858,29 +850,29 @@ msgstr "" "Retorna información que identifica el sistema operativo actual. El valor " "retornado es un objeto con cinco atributos:" -#: ../Doc/library/os.rst:612 +#: ../Doc/library/os.rst:615 msgid ":attr:`sysname` - operating system name" msgstr ":attr:`sysname` - nombre del sistema operativo" -#: ../Doc/library/os.rst:613 +#: ../Doc/library/os.rst:616 msgid ":attr:`nodename` - name of machine on network (implementation-defined)" msgstr "" ":attr:`nodename` - nombre de la máquina en la red (definida por la " "implementación)" -#: ../Doc/library/os.rst:614 +#: ../Doc/library/os.rst:617 msgid ":attr:`release` - operating system release" msgstr ":attr:`release` - *release* del sistema operativo" -#: ../Doc/library/os.rst:615 +#: ../Doc/library/os.rst:618 msgid ":attr:`version` - operating system version" msgstr ":attr:`version` - versión del sistema operativo" -#: ../Doc/library/os.rst:616 +#: ../Doc/library/os.rst:619 msgid ":attr:`machine` - hardware identifier" msgstr ":attr:`machine` - identificador de hardware" -#: ../Doc/library/os.rst:618 +#: ../Doc/library/os.rst:621 msgid "" "For backwards compatibility, this object is also iterable, behaving like a " "five-tuple containing :attr:`sysname`, :attr:`nodename`, :attr:`release`, :" @@ -890,7 +882,7 @@ msgstr "" "iterable, se comporta como una tupla que contiene :attr:`sysname`, :attr:" "`nodename`, :attr:`release`, :attr:`version`, y :attr:`machine` en ese orden." -#: ../Doc/library/os.rst:623 +#: ../Doc/library/os.rst:626 msgid "" "Some systems truncate :attr:`nodename` to 8 characters or to the leading " "component; a better way to get the hostname is :func:`socket.gethostname` " @@ -901,11 +893,11 @@ msgstr "" "`socket.gethostname` o incluso ``socket.gethostbyaddr(socket." "gethostname())``." -#: ../Doc/library/os.rst:629 +#: ../Doc/library/os.rst:632 msgid ":ref:`Availability `: recent flavors of Unix." msgstr ":ref:`Disponibilidad `: sistemas tipo Unix más nuevos." -#: ../Doc/library/os.rst:630 ../Doc/library/os.rst:3974 +#: ../Doc/library/os.rst:633 ../Doc/library/os.rst:4016 msgid "" "Return type changed from a tuple to a tuple-like object with named " "attributes." @@ -913,7 +905,7 @@ msgstr "" "El tipo de objeto retornado cambió de una tupla a un objeto tipo tupla con " "atributos con nombre." -#: ../Doc/library/os.rst:639 +#: ../Doc/library/os.rst:642 msgid "" "Unset (delete) the environment variable named *key*. Such changes to the " "environment affect subprocesses started with :func:`os.system`, :func:" @@ -923,20 +915,15 @@ msgstr "" "en el entorno afectan a los subprocesos iniciados con :func:`os.system`, :" "func:`popen` o :func:`fork` y :func:`execv`." -#: ../Doc/library/os.rst:643 +#: ../Doc/library/os.rst:646 msgid "" -"When :func:`unsetenv` is supported, deletion of items in ``os.environ`` is " -"automatically translated into a corresponding call to :func:`unsetenv`; " -"however, calls to :func:`unsetenv` don't update ``os.environ``, so it is " -"actually preferable to delete items of ``os.environ``." +"Deletion of items in ``os.environ`` is automatically translated into a " +"corresponding call to :func:`unsetenv`; however, calls to :func:`unsetenv` " +"don't update ``os.environ``, so it is actually preferable to delete items of " +"``os.environ``." msgstr "" -"Cuando :func:`unsetenv` es compatible, la eliminación de elementos en ``os." -"environ`` se traduce automáticamente en una llamada correspondiente a :func:" -"`unsetenv`; sin embargo, las llamadas a :func:`unsetenv` no actualizan ``os." -"environ``, por lo que en realidad es preferible eliminar elementos de ``os." -"environ``." -#: ../Doc/library/os.rst:649 +#: ../Doc/library/os.rst:651 msgid "" "Raises an :ref:`auditing event ` ``os.unsetenv`` with argument " "``key``." @@ -944,11 +931,16 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``os.unsetenv`` con argumento " "``key``." -#: ../Doc/library/os.rst:656 +#: ../Doc/library/os.rst:653 +#, fuzzy +msgid "The function is now always available and is also available on Windows." +msgstr "Estas funciones están disponibles solo en Linux." + +#: ../Doc/library/os.rst:660 msgid "File Object Creation" msgstr "Creación de objetos de tipo archivo" -#: ../Doc/library/os.rst:658 +#: ../Doc/library/os.rst:662 msgid "" "These functions create new :term:`file objects `. (See also :" "func:`~os.open` for opening file descriptors.)" @@ -956,7 +948,7 @@ msgstr "" "Estas funciones crean nuevos :term:`objetos de archivo `. " "(Consulte también :func:`~os.open` para abrir los descriptores de archivos)." -#: ../Doc/library/os.rst:664 +#: ../Doc/library/os.rst:668 msgid "" "Return an open file object connected to the file descriptor *fd*. This is " "an alias of the :func:`open` built-in function and accepts the same " @@ -968,18 +960,18 @@ msgstr "" "mismos argumentos. La única diferencia es que el primer argumento de :func:" "`fdopen` siempre debe ser un número entero." -#: ../Doc/library/os.rst:673 +#: ../Doc/library/os.rst:677 msgid "File Descriptor Operations" msgstr "Operaciones de descriptores de archivos" -#: ../Doc/library/os.rst:675 +#: ../Doc/library/os.rst:679 msgid "" "These functions operate on I/O streams referenced using file descriptors." msgstr "" "Estas funciones operan en flujos de E/S a los que se hace referencia " "mediante descriptores de archivo." -#: ../Doc/library/os.rst:677 +#: ../Doc/library/os.rst:681 msgid "" "File descriptors are small integers corresponding to a file that has been " "opened by the current process. For example, standard input is usually file " @@ -996,7 +988,7 @@ msgstr "" "es ligeramente engañoso; en las plataformas Unix, los descriptores de " "archivo también hacen referencia a *sockets* y tuberías." -#: ../Doc/library/os.rst:684 +#: ../Doc/library/os.rst:688 msgid "" "The :meth:`~io.IOBase.fileno` method can be used to obtain the file " "descriptor associated with a :term:`file object` when required. Note that " @@ -1009,11 +1001,11 @@ msgstr "" "omitirá los métodos de objeto de archivo, ignorando aspectos como el " "almacenamiento interno interno de datos." -#: ../Doc/library/os.rst:692 +#: ../Doc/library/os.rst:696 msgid "Close file descriptor *fd*." msgstr "Cierra el descriptor de archivo *fd*." -#: ../Doc/library/os.rst:696 +#: ../Doc/library/os.rst:700 msgid "" "This function is intended for low-level I/O and must be applied to a file " "descriptor as returned by :func:`os.open` or :func:`pipe`. To close a " @@ -1026,7 +1018,7 @@ msgstr "" "func:`open` o por :func:`popen` o :func:`fdopen`, use el método :meth:`~io." "IOBase.close`." -#: ../Doc/library/os.rst:704 +#: ../Doc/library/os.rst:708 msgid "" "Close all file descriptors from *fd_low* (inclusive) to *fd_high* " "(exclusive), ignoring errors. Equivalent to (but much faster than)::" @@ -1035,7 +1027,7 @@ msgstr "" "*fd_high* (exclusivo), ignorando los errores. Equivalente a (pero mucho más " "rápido que)::" -#: ../Doc/library/os.rst:716 +#: ../Doc/library/os.rst:720 msgid "" "Copy *count* bytes from file descriptor *src*, starting from offset " "*offset_src*, to file descriptor *dst*, starting from offset *offset_dst*. " @@ -1052,7 +1044,7 @@ msgstr "" "contrario, se genera una :exc:`OSError` con :attr:`~OSError.errno` " "establecido en :data:`errno.EXDEV`." -#: ../Doc/library/os.rst:723 +#: ../Doc/library/os.rst:727 msgid "" "This copy is done without the additional cost of transferring data from the " "kernel to user space and then back into the kernel. Additionally, some " @@ -1064,7 +1056,7 @@ msgstr "" "sistemas de archivos podrían implementar optimizaciones adicionales. La " "copia se realiza como si ambos archivos se abrieran como binarios." -#: ../Doc/library/os.rst:728 +#: ../Doc/library/os.rst:732 msgid "" "The return value is the amount of bytes copied. This could be less than the " "amount requested." @@ -1072,13 +1064,13 @@ msgstr "" "El valor de retorno es la cantidad de bytes copiados. Esto podría ser menor " "que la cantidad solicitada." -#: ../Doc/library/os.rst:732 +#: ../Doc/library/os.rst:736 msgid "" ":ref:`Availability `: Linux kernel >= 4.5 or glibc >= 2.27." msgstr "" ":ref:`Disponibilidad `: Kernel de Linux >= 4.5 o glibc >= 2.27." -#: ../Doc/library/os.rst:738 +#: ../Doc/library/os.rst:742 msgid "" "Return a string describing the encoding of the device associated with *fd* " "if it is connected to a terminal; else return :const:`None`." @@ -1086,7 +1078,7 @@ msgstr "" "Retorna una cadena que describe la codificación del dispositivo asociado con " "*fd* si está conectado a una terminal; sino retorna :const:`None`." -#: ../Doc/library/os.rst:744 +#: ../Doc/library/os.rst:748 msgid "" "Return a duplicate of file descriptor *fd*. The new file descriptor is :ref:" "`non-inheritable `." @@ -1094,7 +1086,7 @@ msgstr "" "Retorna un duplicado del descriptor de archivo *fd*. El nuevo descriptor de " "archivo es :ref:`no heredable `." -#: ../Doc/library/os.rst:747 +#: ../Doc/library/os.rst:751 msgid "" "On Windows, when duplicating a standard stream (0: stdin, 1: stdout, 2: " "stderr), the new file descriptor is :ref:`inheritable `." @@ -1102,11 +1094,11 @@ msgstr "" "En Windows, al duplicar un flujo estándar (0: stdin, 1: stdout, 2: stderr), " "el nuevo descriptor de archivo es :ref:`heredable `." -#: ../Doc/library/os.rst:751 ../Doc/library/os.rst:953 +#: ../Doc/library/os.rst:755 ../Doc/library/os.rst:957 msgid "The new file descriptor is now non-inheritable." msgstr "El nuevo descriptor de archivo ahora es no heredable." -#: ../Doc/library/os.rst:757 +#: ../Doc/library/os.rst:761 msgid "" "Duplicate file descriptor *fd* to *fd2*, closing the latter first if " "necessary. Return *fd2*. The new file descriptor is :ref:`inheritable " @@ -1117,16 +1109,16 @@ msgstr "" "necesario. Retorna *fd2*. El nuevo descriptor de archivo es :ref:`heredable " "` por defecto o no heredable si *inheritable* es ``False``." -#: ../Doc/library/os.rst:762 +#: ../Doc/library/os.rst:766 msgid "Add the optional *inheritable* parameter." msgstr "Agrega el parámetro opcional *inheritable*." -#: ../Doc/library/os.rst:765 +#: ../Doc/library/os.rst:769 msgid "Return *fd2* on success. Previously, ``None`` was always returned." msgstr "" "Retorna *fd2* en caso de éxito. Anteriormente se retornaba siempre ``None``." -#: ../Doc/library/os.rst:771 +#: ../Doc/library/os.rst:775 msgid "" "Change the mode of the file given by *fd* to the numeric *mode*. See the " "docs for :func:`chmod` for possible values of *mode*. As of Python 3.3, " @@ -1136,8 +1128,8 @@ msgstr "" "los documentos para :func:`chmod` para conocer los posibles valores de " "*mode*. A partir de Python 3.3, esto es equivalente a ``os.chmod(fd, mode)``." -#: ../Doc/library/os.rst:776 ../Doc/library/os.rst:1693 -#: ../Doc/library/os.rst:1784 +#: ../Doc/library/os.rst:779 ../Doc/library/os.rst:1701 +#: ../Doc/library/os.rst:1792 msgid "" "Raises an :ref:`auditing event ` ``os.chmod`` with arguments " "``path``, ``mode``, ``dir_fd``." @@ -1145,7 +1137,7 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``os.chmod`` con argumentos " "``path``, ``mode``, ``dir_fd``." -#: ../Doc/library/os.rst:782 +#: ../Doc/library/os.rst:786 msgid "" "Change the owner and group id of the file given by *fd* to the numeric *uid* " "and *gid*. To leave one of the ids unchanged, set it to -1. See :func:" @@ -1156,8 +1148,8 @@ msgstr "" "identificadores sin cambios, configúrelo en -1. Ver :func:`chown`. A partir " "de Python 3.3, esto es equivalente a ``os.chown(fd, uid, gid)``." -#: ../Doc/library/os.rst:788 ../Doc/library/os.rst:1715 -#: ../Doc/library/os.rst:1797 +#: ../Doc/library/os.rst:791 ../Doc/library/os.rst:1723 +#: ../Doc/library/os.rst:1805 msgid "" "Raises an :ref:`auditing event ` ``os.chown`` with arguments " "``path``, ``uid``, ``gid``, ``dir_fd``." @@ -1165,7 +1157,7 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``os.chown`` con argumentos " "``path``, ``uid``, ``gid``, ``dir_fd``." -#: ../Doc/library/os.rst:794 +#: ../Doc/library/os.rst:798 msgid "" "Force write of file with filedescriptor *fd* to disk. Does not force update " "of metadata." @@ -1173,11 +1165,11 @@ msgstr "" "Fuerza la escritura del archivo con el descriptor de archivo *fd* en el " "disco. No fuerza la actualización de metadatos." -#: ../Doc/library/os.rst:800 +#: ../Doc/library/os.rst:804 msgid "This function is not available on MacOS." msgstr "Esta función no está disponible en MacOS." -#: ../Doc/library/os.rst:805 +#: ../Doc/library/os.rst:809 msgid "" "Return system configuration information relevant to an open file. *name* " "specifies the configuration value to retrieve; it may be a string which is " @@ -1196,7 +1188,7 @@ msgstr "" "``pathconf_names``. Para las variables de configuración no incluidas en esa " "asignación, también se acepta pasar un número entero para *name*." -#: ../Doc/library/os.rst:813 ../Doc/library/os.rst:2042 +#: ../Doc/library/os.rst:817 ../Doc/library/os.rst:2053 msgid "" "If *name* is a string and is not known, :exc:`ValueError` is raised. If a " "specific value for *name* is not supported by the host system, even if it is " @@ -1208,12 +1200,12 @@ msgstr "" "incluido en ``pathconf_names``, se genera un :exc:`OSError` con :const:" "`errno.EINVAL` para el número de error." -#: ../Doc/library/os.rst:818 +#: ../Doc/library/os.rst:822 msgid "As of Python 3.3, this is equivalent to ``os.pathconf(fd, name)``." msgstr "" "A partir de Python 3.3, esto es equivalente a ``os.pathconf(fd, name)``." -#: ../Doc/library/os.rst:825 +#: ../Doc/library/os.rst:829 msgid "" "Get the status of the file descriptor *fd*. Return a :class:`stat_result` " "object." @@ -1221,15 +1213,15 @@ msgstr "" "Obtiene el estado del descriptor de archivo *fd*. Retorna un objeto :class:" "`stat_result`." -#: ../Doc/library/os.rst:828 +#: ../Doc/library/os.rst:832 msgid "As of Python 3.3, this is equivalent to ``os.stat(fd)``." msgstr "A partir de Python 3.3, esto es equivalente a ``os.stat(fd)``." -#: ../Doc/library/os.rst:832 ../Doc/library/os.rst:1878 +#: ../Doc/library/os.rst:836 ../Doc/library/os.rst:1889 msgid "The :func:`.stat` function." msgstr "La función :func:`.stat`." -#: ../Doc/library/os.rst:837 +#: ../Doc/library/os.rst:841 msgid "" "Return information about the filesystem containing the file associated with " "file descriptor *fd*, like :func:`statvfs`. As of Python 3.3, this is " @@ -1239,7 +1231,7 @@ msgstr "" "asociado con el descriptor de archivo *fd*, como :func:`statvfs`. A partir " "de Python 3.3, esto es equivalente a ``os.statvfs(fd)``." -#: ../Doc/library/os.rst:846 +#: ../Doc/library/os.rst:850 msgid "" "Force write of file with filedescriptor *fd* to disk. On Unix, this calls " "the native :c:func:`fsync` function; on Windows, the MS :c:func:`_commit` " @@ -1249,7 +1241,7 @@ msgstr "" "disco. En Unix, esto llama a la función nativa :c:func:`fsync`; en Windows, " "la función MS :c:func:`_commit`." -#: ../Doc/library/os.rst:849 +#: ../Doc/library/os.rst:853 msgid "" "If you're starting with a buffered Python :term:`file object` *f*, first do " "``f.flush()``, and then do ``os.fsync(f.fileno())``, to ensure that all " @@ -1260,7 +1252,7 @@ msgstr "" "garantizar que todas las memorias intermedias internas asociadas con *f* se " "escriban en disco." -#: ../Doc/library/os.rst:858 +#: ../Doc/library/os.rst:862 msgid "" "Truncate the file corresponding to file descriptor *fd*, so that it is at " "most *length* bytes in size. As of Python 3.3, this is equivalent to ``os." @@ -1270,7 +1262,7 @@ msgstr "" "tenga como máximo *length* bytes de tamaño. A partir de Python 3.3, esto es " "equivalente a ``os.truncate(fd, length)``." -#: ../Doc/library/os.rst:863 +#: ../Doc/library/os.rst:866 msgid "" "Raises an :ref:`auditing event ` ``os.truncate`` with arguments " "``fd``, ``length``." @@ -1278,11 +1270,11 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``os.truncate`` con " "argumentos ``fd``, ``length``." -#: ../Doc/library/os.rst:866 ../Doc/library/os.rst:2907 +#: ../Doc/library/os.rst:870 ../Doc/library/os.rst:2920 msgid "Added support for Windows" msgstr "Se agregó soporte para Windows" -#: ../Doc/library/os.rst:872 +#: ../Doc/library/os.rst:876 msgid "" "Get the blocking mode of the file descriptor: ``False`` if the :data:" "`O_NONBLOCK` flag is set, ``True`` if the flag is cleared." @@ -1290,12 +1282,12 @@ msgstr "" "Obtiene el modo de bloqueo del descriptor de archivo: ``False`` si se " "establece el indicador :data:`O_NONBLOCK`, ``True`` si el indicador se borra." -#: ../Doc/library/os.rst:875 +#: ../Doc/library/os.rst:879 msgid "See also :func:`set_blocking` and :meth:`socket.socket.setblocking`." msgstr "" "Consulte también :func:`set_blocking` y :meth:`socket.socket.setblocking`." -#: ../Doc/library/os.rst:884 +#: ../Doc/library/os.rst:888 msgid "" "Return ``True`` if the file descriptor *fd* is open and connected to a tty(-" "like) device, else ``False``." @@ -1303,7 +1295,7 @@ msgstr "" "retorna ``True`` si el descriptor de archivo *fd* está abierto y conectado a " "un dispositivo tipo tty, de lo contrario, ``False``." -#: ../Doc/library/os.rst:890 +#: ../Doc/library/os.rst:894 msgid "" "Apply, test or remove a POSIX lock on an open file descriptor. *fd* is an " "open file descriptor. *cmd* specifies the command to use - one of :data:" @@ -1315,7 +1307,7 @@ msgstr "" "comando a usar - uno de :data:`F_LOCK`, :data:`F_TLOCK`, :data:`F_ULOCK` o :" "data:`F_TEST`. *len* especifica la sección del archivo a bloquear." -#: ../Doc/library/os.rst:897 +#: ../Doc/library/os.rst:900 msgid "" "Raises an :ref:`auditing event ` ``os.lockf`` with arguments " "``fd``, ``cmd``, ``len``." @@ -1323,11 +1315,11 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``os.lockf`` con argumentos " "``fd``, ``cmd``, ``len``." -#: ../Doc/library/os.rst:908 +#: ../Doc/library/os.rst:912 msgid "Flags that specify what action :func:`lockf` will take." msgstr "Indicadores que especifican qué acción tomará :func:`lockf`." -#: ../Doc/library/os.rst:917 +#: ../Doc/library/os.rst:921 msgid "" "Set the current position of file descriptor *fd* to position *pos*, modified " "by *how*: :const:`SEEK_SET` or ``0`` to set the position relative to the " @@ -1343,7 +1335,7 @@ msgstr "" "para establecerlo en relación con el final del archivo. Retorna la nueva " "posición del cursor en bytes, comenzando desde el principio." -#: ../Doc/library/os.rst:928 +#: ../Doc/library/os.rst:932 msgid "" "Parameters to the :func:`lseek` function. Their values are 0, 1, and 2, " "respectively." @@ -1351,7 +1343,7 @@ msgstr "" "Parámetros para la función :func:`lseek`. Sus valores son 0, 1 y 2, " "respectivamente." -#: ../Doc/library/os.rst:931 +#: ../Doc/library/os.rst:935 msgid "" "Some operating systems could support additional values, like :data:`os." "SEEK_HOLE` or :data:`os.SEEK_DATA`." @@ -1359,7 +1351,7 @@ msgstr "" "Algunos sistemas operativos pueden admitir valores adicionales, como :data:" "`os.SEEK_HOLE` o :data:`os.SEEK_DATA`." -#: ../Doc/library/os.rst:938 +#: ../Doc/library/os.rst:942 msgid "" "Open the file *path* and set various flags according to *flags* and possibly " "its mode according to *mode*. When computing *mode*, the current umask " @@ -1372,7 +1364,7 @@ msgstr "" "abierto. El nuevo descriptor de archivo es :ref:`no heredable " "`." -#: ../Doc/library/os.rst:943 +#: ../Doc/library/os.rst:947 msgid "" "For a description of the flag and mode values, see the C run-time " "documentation; flag constants (like :const:`O_RDONLY` and :const:`O_WRONLY`) " @@ -1385,7 +1377,7 @@ msgstr "" "se definen en el módulo :mod:`os`. En particular, en Windows agregar :const:" "`O_BINARY` es necesario para abrir archivos en modo binario." -#: ../Doc/library/os.rst:948 +#: ../Doc/library/os.rst:952 msgid "" "This function can support :ref:`paths relative to directory descriptors " "` with the *dir_fd* parameter." @@ -1393,7 +1385,7 @@ msgstr "" "Esta función puede admitir :ref:`rutas relativas a descriptores de " "directorio ` con el parámetro *dir_fd*." -#: ../Doc/library/os.rst:952 +#: ../Doc/library/os.rst:955 msgid "" "Raises an :ref:`auditing event ` ``open`` with arguments ``path``, " "``mode``, ``flags``." @@ -1401,7 +1393,7 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``open`` con argumentos " "``path``, ``mode``, ``flags``." -#: ../Doc/library/os.rst:958 +#: ../Doc/library/os.rst:962 msgid "" "This function is intended for low-level I/O. For normal usage, use the " "built-in function :func:`open`, which returns a :term:`file object` with :" @@ -1414,14 +1406,14 @@ msgstr "" "envolver un descriptor de archivo en un objeto de archivo, use :func:" "`fdopen`." -#: ../Doc/library/os.rst:963 ../Doc/library/os.rst:1918 -#: ../Doc/library/os.rst:1986 ../Doc/library/os.rst:2008 -#: ../Doc/library/os.rst:2089 ../Doc/library/os.rst:2119 +#: ../Doc/library/os.rst:967 ../Doc/library/os.rst:1929 +#: ../Doc/library/os.rst:1997 ../Doc/library/os.rst:2019 +#: ../Doc/library/os.rst:2100 ../Doc/library/os.rst:2130 msgid "The *dir_fd* argument." msgstr "El argumento *dir_fd*." -#: ../Doc/library/os.rst:966 ../Doc/library/os.rst:1258 -#: ../Doc/library/os.rst:1381 ../Doc/library/os.rst:4069 +#: ../Doc/library/os.rst:970 ../Doc/library/os.rst:1264 +#: ../Doc/library/os.rst:1390 ../Doc/library/os.rst:4137 msgid "" "If the system call is interrupted and the signal handler does not raise an " "exception, the function now retries the system call instead of raising an :" @@ -1432,24 +1424,24 @@ msgstr "" "de generar una excepción :exc:`InterruptedError` (ver :pep:`475` para la " "justificación)." -#: ../Doc/library/os.rst:971 ../Doc/library/os.rst:1589 -#: ../Doc/library/os.rst:1621 ../Doc/library/os.rst:1652 -#: ../Doc/library/os.rst:1698 ../Doc/library/os.rst:1732 -#: ../Doc/library/os.rst:1772 ../Doc/library/os.rst:1787 -#: ../Doc/library/os.rst:1800 ../Doc/library/os.rst:1857 -#: ../Doc/library/os.rst:1921 ../Doc/library/os.rst:1962 -#: ../Doc/library/os.rst:1989 ../Doc/library/os.rst:2011 -#: ../Doc/library/os.rst:2052 ../Doc/library/os.rst:2122 -#: ../Doc/library/os.rst:2141 ../Doc/library/os.rst:2227 -#: ../Doc/library/os.rst:2498 ../Doc/library/os.rst:2749 -#: ../Doc/library/os.rst:2910 ../Doc/library/os.rst:2926 -#: ../Doc/library/os.rst:2966 ../Doc/library/os.rst:3059 -#: ../Doc/library/os.rst:3118 ../Doc/library/os.rst:3205 -#: ../Doc/library/os.rst:3384 ../Doc/library/os.rst:3854 +#: ../Doc/library/os.rst:975 ../Doc/library/os.rst:1598 +#: ../Doc/library/os.rst:1630 ../Doc/library/os.rst:1661 +#: ../Doc/library/os.rst:1707 ../Doc/library/os.rst:1741 +#: ../Doc/library/os.rst:1781 ../Doc/library/os.rst:1796 +#: ../Doc/library/os.rst:1809 ../Doc/library/os.rst:1868 +#: ../Doc/library/os.rst:1932 ../Doc/library/os.rst:1973 +#: ../Doc/library/os.rst:2000 ../Doc/library/os.rst:2022 +#: ../Doc/library/os.rst:2063 ../Doc/library/os.rst:2133 +#: ../Doc/library/os.rst:2152 ../Doc/library/os.rst:2238 +#: ../Doc/library/os.rst:2511 ../Doc/library/os.rst:2762 +#: ../Doc/library/os.rst:2923 ../Doc/library/os.rst:2939 +#: ../Doc/library/os.rst:2979 ../Doc/library/os.rst:3077 +#: ../Doc/library/os.rst:3138 ../Doc/library/os.rst:3225 +#: ../Doc/library/os.rst:3404 ../Doc/library/os.rst:3892 msgid "Accepts a :term:`path-like object`." msgstr "Acepta un :term:`objeto tipo ruta`." -#: ../Doc/library/os.rst:974 +#: ../Doc/library/os.rst:978 msgid "" "The following constants are options for the *flags* parameter to the :func:" "`~os.open` function. They can be combined using the bitwise OR operator ``|" @@ -1465,23 +1457,23 @@ msgstr "" "manual :manpage:`open(2)` en Unix o `la MSDN `_ en Windows." -#: ../Doc/library/os.rst:989 +#: ../Doc/library/os.rst:993 msgid "The above constants are available on Unix and Windows." msgstr "Las constantes anteriores están disponibles en Unix y Windows." -#: ../Doc/library/os.rst:1000 +#: ../Doc/library/os.rst:1004 msgid "The above constants are only available on Unix." msgstr "Las constantes anteriores sólo están disponibles en Unix." -#: ../Doc/library/os.rst:1002 +#: ../Doc/library/os.rst:1006 msgid "Add :data:`O_CLOEXEC` constant." msgstr "Se agregó la constante :data:`O_CLOEXEC`." -#: ../Doc/library/os.rst:1013 +#: ../Doc/library/os.rst:1017 msgid "The above constants are only available on Windows." msgstr "Las constantes anteriores sólo están disponibles en Windows." -#: ../Doc/library/os.rst:1026 +#: ../Doc/library/os.rst:1030 msgid "" "The above constants are extensions and not present if they are not defined " "by the C library." @@ -1489,7 +1481,7 @@ msgstr "" "Las constantes anteriores son extensiones y no están presentes si no están " "definidas por la biblioteca de C." -#: ../Doc/library/os.rst:1029 +#: ../Doc/library/os.rst:1033 msgid "" "Add :data:`O_PATH` on systems that support it. Add :data:`O_TMPFILE`, only " "available on Linux Kernel 3.11 or newer." @@ -1498,7 +1490,7 @@ msgstr "" "agrega :data:`O_TMPFILE`, sólo disponible en Linux para el Kernel 3.11 o " "posterior." -#: ../Doc/library/os.rst:1039 +#: ../Doc/library/os.rst:1043 msgid "" "Open a new pseudo-terminal pair. Return a pair of file descriptors " "``(master, slave)`` for the pty and the tty, respectively. The new file " @@ -1510,16 +1502,16 @@ msgstr "" "descriptores de archivo son :ref:`no heredable `. Para un " "enfoque (ligeramente) más portátil, use el módulo :mod:`pty`." -#: ../Doc/library/os.rst:1045 ../Doc/library/os.rst:1071 -#: ../Doc/library/os.rst:3569 +#: ../Doc/library/os.rst:1049 ../Doc/library/os.rst:1075 +#: ../Doc/library/os.rst:3589 msgid ":ref:`Availability `: some flavors of Unix." msgstr ":ref:`Disponibilidad `: algunos sistemas tipo Unix." -#: ../Doc/library/os.rst:1046 ../Doc/library/os.rst:1058 +#: ../Doc/library/os.rst:1050 ../Doc/library/os.rst:1062 msgid "The new file descriptors are now non-inheritable." msgstr "Los nuevos descriptores de archivo ahora son no heredables." -#: ../Doc/library/os.rst:1052 +#: ../Doc/library/os.rst:1056 msgid "" "Create a pipe. Return a pair of file descriptors ``(r, w)`` usable for " "reading and writing, respectively. The new file descriptor is :ref:`non-" @@ -1529,7 +1521,7 @@ msgstr "" "se pueden usar para leer y escribir, respectivamente. El nuevo descriptor de " "archivo es :ref:`no heredable `." -#: ../Doc/library/os.rst:1064 +#: ../Doc/library/os.rst:1068 msgid "" "Create a pipe with *flags* set atomically. *flags* can be constructed by " "ORing together one or more of these values: :data:`O_NONBLOCK`, :data:" @@ -1541,7 +1533,7 @@ msgstr "" "`O_CLOEXEC` con el operador OR. Retorna un par de descriptores de archivo " "``(r, w)`` que se pueden usar para leer y escribir, respectivamente." -#: ../Doc/library/os.rst:1077 +#: ../Doc/library/os.rst:1081 msgid "" "Ensures that enough disk space is allocated for the file specified by *fd* " "starting from *offset* and continuing for *len* bytes." @@ -1549,7 +1541,7 @@ msgstr "" "Asegura que se asigne suficiente espacio en disco para el archivo " "especificado por *fd* a partir de *offset* y se extiende por *len* bytes." -#: ../Doc/library/os.rst:1087 +#: ../Doc/library/os.rst:1091 msgid "" "Announces an intention to access data in a specific pattern thus allowing " "the kernel to make optimizations. The advice applies to the region of the " @@ -1567,7 +1559,7 @@ msgstr "" "`POSIX_FADV_NOREUSE`, :data:`POSIX_FADV_WILLNEED` o :data:" "`POSIX_FADV_DONTNEED`." -#: ../Doc/library/os.rst:1107 +#: ../Doc/library/os.rst:1111 msgid "" "Flags that can be used in *advice* in :func:`posix_fadvise` that specify the " "access pattern that is likely to be used." @@ -1575,7 +1567,7 @@ msgstr "" "Indicadores que se pueden usar en *advice* en :func:`posix_fadvise` que " "especifican el patrón de acceso que es probable que se use." -#: ../Doc/library/os.rst:1117 +#: ../Doc/library/os.rst:1121 msgid "" "Read at most *n* bytes from file descriptor *fd* at a position of *offset*, " "leaving the file offset unchanged." @@ -1583,7 +1575,7 @@ msgstr "" "Lee como máximo *n* bytes del descriptor de archivo *fd* en una posición de " "*offset*, sin modificar el desplazamiento (*offset*) del archivo." -#: ../Doc/library/os.rst:1120 ../Doc/library/os.rst:1247 +#: ../Doc/library/os.rst:1124 ../Doc/library/os.rst:1253 msgid "" "Return a bytestring containing the bytes read. If the end of the file " "referred to by *fd* has been reached, an empty bytes object is returned." @@ -1592,7 +1584,7 @@ msgstr "" "final del archivo al que hace referencia *fd*, se retorna un objeto de bytes " "vacío." -#: ../Doc/library/os.rst:1130 +#: ../Doc/library/os.rst:1134 msgid "" "Read from a file descriptor *fd* at a position of *offset* into mutable :" "term:`bytes-like objects ` *buffers*, leaving the file " @@ -1605,7 +1597,7 @@ msgstr "" "que esté lleno y luego pase al siguiente búfer en la secuencia para contener " "el resto de los datos." -#: ../Doc/library/os.rst:1135 ../Doc/library/os.rst:1204 +#: ../Doc/library/os.rst:1139 ../Doc/library/os.rst:1209 msgid "" "The flags argument contains a bitwise OR of zero or more of the following " "flags:" @@ -1613,15 +1605,15 @@ msgstr "" "El argumento flags contiene un operador de bit a bit OR de cero o más de las " "siguientes flags:" -#: ../Doc/library/os.rst:1138 +#: ../Doc/library/os.rst:1142 msgid ":data:`RWF_HIPRI`" msgstr ":data:`RWF_HIPRI`" -#: ../Doc/library/os.rst:1139 +#: ../Doc/library/os.rst:1143 msgid ":data:`RWF_NOWAIT`" msgstr ":data:`RWF_NOWAIT`" -#: ../Doc/library/os.rst:1141 ../Doc/library/os.rst:1331 +#: ../Doc/library/os.rst:1145 ../Doc/library/os.rst:1340 msgid "" "Return the total number of bytes actually read which can be less than the " "total capacity of all the objects." @@ -1629,8 +1621,8 @@ msgstr "" "Retorna el número total de bytes realmente leídos que puede ser menor que la " "capacidad total de todos los objetos." -#: ../Doc/library/os.rst:1144 ../Doc/library/os.rst:1212 -#: ../Doc/library/os.rst:1334 ../Doc/library/os.rst:1396 +#: ../Doc/library/os.rst:1148 ../Doc/library/os.rst:1217 +#: ../Doc/library/os.rst:1343 ../Doc/library/os.rst:1405 msgid "" "The operating system may set a limit (:func:`sysconf` value " "``'SC_IOV_MAX'``) on the number of buffers that can be used." @@ -1638,20 +1630,22 @@ msgstr "" "El sistema operativo puede establecer un límite (:func:`sysconf` valor " "``'SC_IOV_MAX'``) en el número de búferes que se pueden usar." -#: ../Doc/library/os.rst:1147 +#: ../Doc/library/os.rst:1151 msgid "Combine the functionality of :func:`os.readv` and :func:`os.pread`." msgstr "Combina la funcionalidad de :func:`os.readv` y :func:`os.pread`." -#: ../Doc/library/os.rst:1151 +#: ../Doc/library/os.rst:1156 +#, fuzzy msgid "" ":ref:`Availability `: Linux 2.6.30 and newer, FreeBSD 6.0 and " -"newer, OpenBSD 2.7 and newer. Using flags requires Linux 4.6 or newer." +"newer, OpenBSD 2.7 and newer, AIX 7.1 and newer. Using flags requires Linux " +"4.6 or newer." msgstr "" ":ref:`Disponibilidad `: Linux 2.6.30 y posterior, FreeBSD 6.0 " "y posterior, OpenBSD 2.7 y posterior. El uso de flags requiere Linux 4.6 o " "posterior." -#: ../Doc/library/os.rst:1157 +#: ../Doc/library/os.rst:1162 msgid "" "Do not wait for data which is not immediately available. If this flag is " "specified, the system call will return instantly if it would have to read " @@ -1661,7 +1655,7 @@ msgstr "" "indicador, la llamada al sistema regresará instantáneamente si tuviera que " "leer datos del almacenamiento de respaldo o esperar por un bloqueo." -#: ../Doc/library/os.rst:1161 +#: ../Doc/library/os.rst:1166 msgid "" "If some data was successfully read, it will return the number of bytes read. " "If no bytes were read, it will return ``-1`` and set errno to :data:`errno." @@ -1671,11 +1665,11 @@ msgstr "" "Si no se leyeron bytes, retornará ``-1`` y establecerá errno en :data:`errno." "EAGAIN`." -#: ../Doc/library/os.rst:1166 +#: ../Doc/library/os.rst:1171 msgid ":ref:`Availability `: Linux 4.14 and newer." msgstr ":ref:`Disponibilidad `: Linux 4.14 y más nuevos." -#: ../Doc/library/os.rst:1172 +#: ../Doc/library/os.rst:1177 msgid "" "High priority read/write. Allows block-based filesystems to use polling of " "the device, which provides lower latency, but may use additional resources." @@ -1684,7 +1678,7 @@ msgstr "" "basados en bloques utilicen el sondeo del dispositivo, lo que proporciona " "una latencia más baja, pero puede usar recursos adicionales." -#: ../Doc/library/os.rst:1176 +#: ../Doc/library/os.rst:1181 msgid "" "Currently, on Linux, this feature is usable only on a file descriptor opened " "using the :data:`O_DIRECT` flag." @@ -1692,11 +1686,11 @@ msgstr "" "Actualmente, en Linux, esta función sólo se puede usar en un descriptor de " "archivo abierto con el indicador :data:`O_DIRECT`." -#: ../Doc/library/os.rst:1180 +#: ../Doc/library/os.rst:1185 msgid ":ref:`Availability `: Linux 4.6 and newer." msgstr ":ref:`Disponibilidad `: Linux 4.6 y más nuevos." -#: ../Doc/library/os.rst:1186 +#: ../Doc/library/os.rst:1191 msgid "" "Write the bytestring in *str* to file descriptor *fd* at position of " "*offset*, leaving the file offset unchanged." @@ -1704,11 +1698,11 @@ msgstr "" "Escribe la cadena de bytes en *str* en el descriptor de archivo *fd* en la " "posición *offset*, sin modificar el desplazamiento del archivo." -#: ../Doc/library/os.rst:1189 ../Doc/library/os.rst:1371 +#: ../Doc/library/os.rst:1194 ../Doc/library/os.rst:1380 msgid "Return the number of bytes actually written." msgstr "Retorna el número de bytes realmente escritos." -#: ../Doc/library/os.rst:1198 +#: ../Doc/library/os.rst:1203 msgid "" "Write the *buffers* contents to file descriptor *fd* at a offset *offset*, " "leaving the file offset unchanged. *buffers* must be a sequence of :term:" @@ -1723,32 +1717,34 @@ msgstr "" "escribe todo el contenido del primer búfer antes de pasar al segundo, y así " "sucesivamente." -#: ../Doc/library/os.rst:1207 +#: ../Doc/library/os.rst:1212 msgid ":data:`RWF_DSYNC`" msgstr ":data:`RWF_DSYNC`" -#: ../Doc/library/os.rst:1208 +#: ../Doc/library/os.rst:1213 msgid ":data:`RWF_SYNC`" msgstr ":data:`RWF_SYNC`" -#: ../Doc/library/os.rst:1210 +#: ../Doc/library/os.rst:1215 msgid "Return the total number of bytes actually written." msgstr "Retorna el número total de bytes realmente escritos." -#: ../Doc/library/os.rst:1215 +#: ../Doc/library/os.rst:1220 msgid "Combine the functionality of :func:`os.writev` and :func:`os.pwrite`." msgstr "Combina la funcionalidad de :func:`os.writev` y :func:`os.pwrite`." -#: ../Doc/library/os.rst:1219 +#: ../Doc/library/os.rst:1225 +#, fuzzy msgid "" ":ref:`Availability `: Linux 2.6.30 and newer, FreeBSD 6.0 and " -"newer, OpenBSD 2.7 and newer. Using flags requires Linux 4.7 or newer." +"newer, OpenBSD 2.7 and newer, AIX 7.1 and newer. Using flags requires Linux " +"4.7 or newer." msgstr "" ":ref:`Disponibilidad `: Linux 2.6.30 y posterior, FreeBSD 6.0 " "y posterior, OpenBSD 2.7 y posterior. El uso de flags requiere Linux 4.7 o " "posterior." -#: ../Doc/library/os.rst:1225 +#: ../Doc/library/os.rst:1231 msgid "" "Provide a per-write equivalent of the :data:`O_DSYNC` ``open(2)`` flag. This " "flag effect applies only to the data range written by the system call." @@ -1757,11 +1753,11 @@ msgstr "" "`open(2)``. Esta flag sólo se aplica al rango de datos escrito por la " "llamada al sistema." -#: ../Doc/library/os.rst:1229 ../Doc/library/os.rst:1239 +#: ../Doc/library/os.rst:1235 ../Doc/library/os.rst:1245 msgid ":ref:`Availability `: Linux 4.7 and newer." msgstr ":ref:`Disponibilidad `: Linux 4.7 y más nuevos." -#: ../Doc/library/os.rst:1235 +#: ../Doc/library/os.rst:1241 msgid "" "Provide a per-write equivalent of the :data:`O_SYNC` ``open(2)`` flag. This " "flag effect applies only to the data range written by the system call." @@ -1770,11 +1766,11 @@ msgstr "" "`open(2)``. Esta flag sólo se aplica al rango de datos escrito por la " "llamada al sistema." -#: ../Doc/library/os.rst:1245 +#: ../Doc/library/os.rst:1251 msgid "Read at most *n* bytes from file descriptor *fd*." msgstr "Lee como máximo *n* bytes del descriptor de archivo *fd*." -#: ../Doc/library/os.rst:1252 +#: ../Doc/library/os.rst:1258 msgid "" "This function is intended for low-level I/O and must be applied to a file " "descriptor as returned by :func:`os.open` or :func:`pipe`. To read a \"file " @@ -1788,17 +1784,18 @@ msgstr "" "`open` o por :func:`popen` o :func:`fdopen`, o :data:`sys.stdin`, use los " "métodos :meth:`~file.read` o :meth:`~file.readline`." -#: ../Doc/library/os.rst:1267 +#: ../Doc/library/os.rst:1273 +#, fuzzy msgid "" -"Copy *count* bytes from file descriptor *in* to file descriptor *out* " +"Copy *count* bytes from file descriptor *in_fd* to file descriptor *out_fd* " "starting at *offset*. Return the number of bytes sent. When EOF is reached " -"return 0." +"return ``0``." msgstr "" "Copia *count* bytes del descriptor de archivo *in* al descriptor de archivo " "*out* comenzando en *offset*. Retorna el número de bytes enviados. Cuando se " "alcanza EOF, retorna 0." -#: ../Doc/library/os.rst:1271 +#: ../Doc/library/os.rst:1277 msgid "" "The first function notation is supported by all platforms that define :func:" "`sendfile`." @@ -1806,43 +1803,48 @@ msgstr "" "La primera notación de la función es compatible con todas las plataformas " "que definen :func:`sendfile`." -#: ../Doc/library/os.rst:1274 +#: ../Doc/library/os.rst:1280 +#, fuzzy msgid "" "On Linux, if *offset* is given as ``None``, the bytes are read from the " -"current position of *in* and the position of *in* is updated." +"current position of *in_fd* and the position of *in_fd* is updated." msgstr "" "En Linux, si *offset* se da como ``None``, los bytes se leen desde la " "posición actual de *in* y se actualiza la posición de *in*." -#: ../Doc/library/os.rst:1277 +#: ../Doc/library/os.rst:1283 +#, fuzzy msgid "" "The second case may be used on Mac OS X and FreeBSD where *headers* and " "*trailers* are arbitrary sequences of buffers that are written before and " -"after the data from *in* is written. It returns the same as the first case." +"after the data from *in_fd* is written. It returns the same as the first " +"case." msgstr "" "El segundo caso puede usarse en Mac OS X y FreeBSD donde *headers* y " "*trailers* son secuencias arbitrarias de búferes que se escriben antes y " "después de que se escriben los datos de *in*. Retorna lo mismo que el primer " "caso." -#: ../Doc/library/os.rst:1281 +#: ../Doc/library/os.rst:1287 +#, fuzzy msgid "" -"On Mac OS X and FreeBSD, a value of 0 for *count* specifies to send until " -"the end of *in* is reached." +"On Mac OS X and FreeBSD, a value of ``0`` for *count* specifies to send " +"until the end of *in_fd* is reached." msgstr "" "En Mac OS X y FreeBSD, un valor de 0 para *count* especifica enviar hasta el " "final de *in*." -#: ../Doc/library/os.rst:1284 +#: ../Doc/library/os.rst:1290 +#, fuzzy msgid "" -"All platforms support sockets as *out* file descriptor, and some platforms " -"allow other types (e.g. regular file, pipe) as well." +"All platforms support sockets as *out_fd* file descriptor, and some " +"platforms allow other types (e.g. regular file, pipe) as well." msgstr "" "Todas las plataformas admiten sockets como descriptor de archivo *out*, y " "algunas plataformas también permiten otros tipos (por ejemplo, archivo " "normal, tuberías)." -#: ../Doc/library/os.rst:1287 +#: ../Doc/library/os.rst:1293 msgid "" "Cross-platform applications should not use *headers*, *trailers* and *flags* " "arguments." @@ -1850,7 +1852,7 @@ msgstr "" "Las aplicaciones multiplataforma no deben usar los argumentos *headers*, " "*trailers* y *flags*." -#: ../Doc/library/os.rst:1294 +#: ../Doc/library/os.rst:1300 msgid "" "For a higher-level wrapper of :func:`sendfile`, see :meth:`socket.socket." "sendfile`." @@ -1858,7 +1860,11 @@ msgstr "" "Para un contenedor de alto nivel de :func:`sendfile`, vea :meth:`socket." "socket.sendfile`." -#: ../Doc/library/os.rst:1302 +#: ../Doc/library/os.rst:1305 +msgid "Parameters *out* and *in* was renamed to *out_fd* and *in_fd*." +msgstr "" + +#: ../Doc/library/os.rst:1311 msgid "" "Set the blocking mode of the specified file descriptor. Set the :data:" "`O_NONBLOCK` flag if blocking is ``False``, clear the flag otherwise." @@ -1867,19 +1873,19 @@ msgstr "" "Establece la flag :data:`O_NONBLOCK` si se quiere que el bloqueo sea " "``False``, borre la flag de lo contrario." -#: ../Doc/library/os.rst:1305 +#: ../Doc/library/os.rst:1314 msgid "See also :func:`get_blocking` and :meth:`socket.socket.setblocking`." msgstr "" "Consulte también :func:`get_blocking` y :meth:`socket.socket.setblocking`." -#: ../Doc/library/os.rst:1316 +#: ../Doc/library/os.rst:1325 msgid "" "Parameters to the :func:`sendfile` function, if the implementation supports " "them." msgstr "" "Parámetros para la función :func:`sendfile`, si la implementación los admite." -#: ../Doc/library/os.rst:1326 +#: ../Doc/library/os.rst:1335 msgid "" "Read from a file descriptor *fd* into a number of mutable :term:`bytes-like " "objects ` *buffers*. Transfer data into each buffer until " @@ -1891,7 +1897,7 @@ msgstr "" "búfer hasta que esté lleno y luego pase al siguiente búfer en la secuencia " "para contener el resto de los datos." -#: ../Doc/library/os.rst:1344 +#: ../Doc/library/os.rst:1353 msgid "" "Return the process group associated with the terminal given by *fd* (an open " "file descriptor as returned by :func:`os.open`)." @@ -1899,7 +1905,7 @@ msgstr "" "Retorna el grupo del proceso asociado con la terminal proporcionada por *fd* " "(un descriptor de archivo abierto como lo retorna :func:`os.open`)." -#: ../Doc/library/os.rst:1352 +#: ../Doc/library/os.rst:1361 msgid "" "Set the process group associated with the terminal given by *fd* (an open " "file descriptor as returned by :func:`os.open`) to *pg*." @@ -1907,7 +1913,7 @@ msgstr "" "Establece el grupo del proceso asociado con la terminal dada por *fd* (un " "descriptor de archivo abierto como lo retorna :func:`os.open`) a *pg*." -#: ../Doc/library/os.rst:1360 +#: ../Doc/library/os.rst:1369 msgid "" "Return a string which specifies the terminal device associated with file " "descriptor *fd*. If *fd* is not associated with a terminal device, an " @@ -1917,11 +1923,11 @@ msgstr "" "descriptor de archivo *fd*. Si *fd* no está asociado con un dispositivo de " "terminal, se genera una excepción." -#: ../Doc/library/os.rst:1369 +#: ../Doc/library/os.rst:1378 msgid "Write the bytestring in *str* to file descriptor *fd*." msgstr "Escribe la cadena de bytes en *str* en el descriptor de archivo *fd*." -#: ../Doc/library/os.rst:1375 +#: ../Doc/library/os.rst:1384 msgid "" "This function is intended for low-level I/O and must be applied to a file " "descriptor as returned by :func:`os.open` or :func:`pipe`. To write a " @@ -1935,7 +1941,7 @@ msgstr "" "func:`open` o por :func:`popen` o :func:`fdopen`, o :data:`sys.stdout` o :" "data:`sys.stderr`, use el método :meth:`~file.write`." -#: ../Doc/library/os.rst:1389 +#: ../Doc/library/os.rst:1398 msgid "" "Write the contents of *buffers* to file descriptor *fd*. *buffers* must be a " "sequence of :term:`bytes-like objects `. Buffers are " @@ -1947,15 +1953,15 @@ msgstr "" "object>`. Los búferes se procesan en orden secuencial. Se escribe todo el " "contenido del primer búfer antes de pasar al segundo, y así sucesivamente." -#: ../Doc/library/os.rst:1394 +#: ../Doc/library/os.rst:1403 msgid "Returns the total number of bytes actually written." msgstr "Retorna el número total de bytes realmente escritos." -#: ../Doc/library/os.rst:1407 +#: ../Doc/library/os.rst:1416 msgid "Querying the size of a terminal" msgstr "Consultando las dimensiones de una terminal" -#: ../Doc/library/os.rst:1413 +#: ../Doc/library/os.rst:1422 msgid "" "Return the size of the terminal window as ``(columns, lines)``, tuple of " "type :class:`terminal_size`." @@ -1963,7 +1969,7 @@ msgstr "" "Retorna el tamaño de la ventana de la terminal como ``(columns, lines)``, " "una tupla del tipo :class:`terminal_size`." -#: ../Doc/library/os.rst:1416 +#: ../Doc/library/os.rst:1425 msgid "" "The optional argument ``fd`` (default ``STDOUT_FILENO``, or standard output) " "specifies which file descriptor should be queried." @@ -1971,7 +1977,7 @@ msgstr "" "El argumento opcional ``fd`` (por defecto es ``STDOUT_FILENO``, o la salida " "estándar) especifica qué descriptor de archivo debe consultarse." -#: ../Doc/library/os.rst:1419 +#: ../Doc/library/os.rst:1428 msgid "" "If the file descriptor is not connected to a terminal, an :exc:`OSError` is " "raised." @@ -1979,7 +1985,7 @@ msgstr "" "Si el descriptor de archivo no está conectado a una terminal, se genera un :" "exc:`OSError`." -#: ../Doc/library/os.rst:1422 +#: ../Doc/library/os.rst:1431 msgid "" ":func:`shutil.get_terminal_size` is the high-level function which should " "normally be used, ``os.get_terminal_size`` is the low-level implementation." @@ -1987,7 +1993,7 @@ msgstr "" ":func:`shutil.get_terminal_size` es la función de alto nivel que normalmente " "debería usarse, ``os.get_terminal_size`` es la implementación de bajo nivel." -#: ../Doc/library/os.rst:1430 +#: ../Doc/library/os.rst:1439 msgid "" "A subclass of tuple, holding ``(columns, lines)`` of the terminal window " "size." @@ -1995,19 +2001,19 @@ msgstr "" "Una subclase de tupla, que contiene ``(columns, lines)`` representando el " "tamaño de la ventana de la terminal." -#: ../Doc/library/os.rst:1434 +#: ../Doc/library/os.rst:1443 msgid "Width of the terminal window in characters." msgstr "Ancho de la ventana de la terminal en caracteres." -#: ../Doc/library/os.rst:1438 +#: ../Doc/library/os.rst:1447 msgid "Height of the terminal window in characters." msgstr "Alto de la ventana de la terminal en caracteres." -#: ../Doc/library/os.rst:1444 +#: ../Doc/library/os.rst:1453 msgid "Inheritance of File Descriptors" msgstr "Herencia de los descriptores de archivos" -#: ../Doc/library/os.rst:1448 +#: ../Doc/library/os.rst:1457 msgid "" "A file descriptor has an \"inheritable\" flag which indicates if the file " "descriptor can be inherited by child processes. Since Python 3.4, file " @@ -2018,7 +2024,7 @@ msgstr "" "secundarios. Desde Python 3.4, los descriptores de archivo creados por " "Python son no heredables por defecto." -#: ../Doc/library/os.rst:1452 +#: ../Doc/library/os.rst:1461 msgid "" "On UNIX, non-inheritable file descriptors are closed in child processes at " "the execution of a new program, other file descriptors are inherited." @@ -2027,7 +2033,7 @@ msgstr "" "hijos en la ejecución de un nuevo programa, otros descriptores de archivos " "sí se heredan." -#: ../Doc/library/os.rst:1455 +#: ../Doc/library/os.rst:1464 msgid "" "On Windows, non-inheritable handles and file descriptors are closed in child " "processes, except for standard streams (file descriptors 0, 1 and 2: stdin, " @@ -2046,42 +2052,42 @@ msgstr "" "archivo, excepto los flujos estándar, están cerrados, y los identificadores " "heredables sólo se heredan si el parámetro *close_fds* es ``False``." -#: ../Doc/library/os.rst:1465 +#: ../Doc/library/os.rst:1474 msgid "" "Get the \"inheritable\" flag of the specified file descriptor (a boolean)." msgstr "" "Obtiene el indicador heredable (*inheritable*) del descriptor de archivo " "especificado (un valor booleano)." -#: ../Doc/library/os.rst:1469 +#: ../Doc/library/os.rst:1478 msgid "Set the \"inheritable\" flag of the specified file descriptor." msgstr "" "Establece el indicador heredable (*inheritable*) del descriptor de archivo " "especificado." -#: ../Doc/library/os.rst:1473 +#: ../Doc/library/os.rst:1482 msgid "Get the \"inheritable\" flag of the specified handle (a boolean)." msgstr "" "Obtiene el indicador heredable (*inheritable*) del identificador " "especificado (un valor booleano)." -#: ../Doc/library/os.rst:1475 ../Doc/library/os.rst:1481 -#: ../Doc/library/os.rst:3311 ../Doc/library/os.rst:3889 -#: ../Doc/library/os.rst:3920 +#: ../Doc/library/os.rst:1484 ../Doc/library/os.rst:1490 +#: ../Doc/library/os.rst:3331 ../Doc/library/os.rst:3927 +#: ../Doc/library/os.rst:3958 msgid ":ref:`Availability `: Windows." msgstr ":ref:`Disponibilidad `: Windows." -#: ../Doc/library/os.rst:1479 +#: ../Doc/library/os.rst:1488 msgid "Set the \"inheritable\" flag of the specified handle." msgstr "" "Establece el indicador heredable (*inheritable*) del identificador " "especificado." -#: ../Doc/library/os.rst:1487 +#: ../Doc/library/os.rst:1496 msgid "Files and Directories" msgstr "Archivos y directorios" -#: ../Doc/library/os.rst:1489 +#: ../Doc/library/os.rst:1498 msgid "" "On some Unix platforms, many of these functions support one or more of these " "features:" @@ -2089,7 +2095,7 @@ msgstr "" "En algunas plataformas Unix, muchas de estas funciones admiten una o más de " "estas características:" -#: ../Doc/library/os.rst:1494 +#: ../Doc/library/os.rst:1503 msgid "" "**specifying a file descriptor:** Normally the *path* argument provided to " "functions in the :mod:`os` module must be a string specifying a file path. " @@ -2108,7 +2114,7 @@ msgstr "" "función con el prefijo ``f`` (por ejemplo, llamará a ``fchdir`` en lugar de " "``chdir``))." -#: ../Doc/library/os.rst:1502 +#: ../Doc/library/os.rst:1511 msgid "" "You can check whether or not *path* can be specified as a file descriptor " "for a particular function on your platform using :data:`os.supports_fd`. If " @@ -2120,7 +2126,7 @@ msgstr "" "supports_fd`. Si esta funcionalidad no está disponible, su uso generará un :" "exc:`NotImplementedError`." -#: ../Doc/library/os.rst:1507 +#: ../Doc/library/os.rst:1516 msgid "" "If the function also supports *dir_fd* or *follow_symlinks* arguments, it's " "an error to specify one of those when supplying *path* as a file descriptor." @@ -2129,7 +2135,7 @@ msgstr "" "error especificar uno de esos al suministrar *path* como descriptor de " "archivo." -#: ../Doc/library/os.rst:1512 +#: ../Doc/library/os.rst:1521 msgid "" "**paths relative to directory descriptors:** If *dir_fd* is not ``None``, it " "should be a file descriptor referring to a directory, and the path to " @@ -2147,7 +2153,7 @@ msgstr "" "``at`` y posiblemente con el prefijo ``f`` (por ejemplo, llamará a " "``faccessat`` en lugar de ``access``)." -#: ../Doc/library/os.rst:1519 +#: ../Doc/library/os.rst:1528 msgid "" "You can check whether or not *dir_fd* is supported for a particular function " "on your platform using :data:`os.supports_dir_fd`. If it's unavailable, " @@ -2157,7 +2163,7 @@ msgstr "" "en su plataforma usando :data:`os.supports_dir_fd`. Si no está disponible, " "usarlo generará un :exc:`NotImplementedError`." -#: ../Doc/library/os.rst:1525 +#: ../Doc/library/os.rst:1534 msgid "" "**not following symlinks:** If *follow_symlinks* is ``False``, and the last " "element of the path to operate on is a symbolic link, the function will " @@ -2171,7 +2177,7 @@ msgstr "" "(Para los sistemas POSIX, Python llamará a la variante ``l...`` de la " "función)." -#: ../Doc/library/os.rst:1531 +#: ../Doc/library/os.rst:1540 msgid "" "You can check whether or not *follow_symlinks* is supported for a particular " "function on your platform using :data:`os.supports_follow_symlinks`. If it's " @@ -2181,7 +2187,7 @@ msgstr "" "particular en su plataforma usando :data:`os.supports_follow_symlinks`. Si " "no está disponible, usarlo generará un :exc:`NotImplementedError`." -#: ../Doc/library/os.rst:1539 +#: ../Doc/library/os.rst:1548 msgid "" "Use the real uid/gid to test for access to *path*. Note that most " "operations will use the effective uid/gid, therefore this routine can be " @@ -2202,7 +2208,7 @@ msgstr "" "si no. Consulte la página de manual de Unix :manpage:`access (2)` para " "obtener más información." -#: ../Doc/library/os.rst:1548 +#: ../Doc/library/os.rst:1557 msgid "" "This function can support specifying :ref:`paths relative to directory " "descriptors ` and :ref:`not following symlinks `." @@ -2211,7 +2217,7 @@ msgstr "" "descriptores de directorio ` y :ref:`no seguir los enlaces " "simbólicos `." -#: ../Doc/library/os.rst:1551 +#: ../Doc/library/os.rst:1560 msgid "" "If *effective_ids* is ``True``, :func:`access` will perform its access " "checks using the effective uid/gid instead of the real uid/gid. " @@ -2225,7 +2231,7 @@ msgstr "" "si está disponible o no usando :data:`os.supports_effective_ids`. Si no está " "disponible, usarlo generará un :exc:`NotImplementedError`." -#: ../Doc/library/os.rst:1559 +#: ../Doc/library/os.rst:1568 msgid "" "Using :func:`access` to check if a user is authorized to e.g. open a file " "before actually doing so using :func:`open` creates a security hole, because " @@ -2239,11 +2245,11 @@ msgstr "" "de tiempo entre verificar y abrir el archivo para manipularlo es preferible " "utilizar técnicas :term:`EAFP`. Por ejemplo::" -#: ../Doc/library/os.rst:1570 +#: ../Doc/library/os.rst:1579 msgid "is better written as::" msgstr "está mejor escrito como::" -#: ../Doc/library/os.rst:1582 +#: ../Doc/library/os.rst:1591 msgid "" "I/O operations may fail even when :func:`access` indicates that they would " "succeed, particularly for operations on network filesystems which may have " @@ -2254,12 +2260,12 @@ msgstr "" "de red que pueden tener una semántica de permisos más allá del modelo " "habitual de bits de permiso POSIX." -#: ../Doc/library/os.rst:1586 +#: ../Doc/library/os.rst:1595 msgid "Added the *dir_fd*, *effective_ids*, and *follow_symlinks* parameters." msgstr "" "Se agregaron los parámetros *dir_fd*, *effective_ids* y *follow_symlinks*." -#: ../Doc/library/os.rst:1598 +#: ../Doc/library/os.rst:1607 msgid "" "Values to pass as the *mode* parameter of :func:`access` to test the " "existence, readability, writability and executability of *path*, " @@ -2269,11 +2275,11 @@ msgstr "" "existencia, legibilidad, escritura y ejecutabilidad de *path*, " "respectivamente." -#: ../Doc/library/os.rst:1607 +#: ../Doc/library/os.rst:1616 msgid "Change the current working directory to *path*." msgstr "Cambia el directorio de trabajo actual a *path*." -#: ../Doc/library/os.rst:1609 +#: ../Doc/library/os.rst:1618 msgid "" "This function can support :ref:`specifying a file descriptor `. " "The descriptor must refer to an opened directory, not an open file." @@ -2282,7 +2288,7 @@ msgstr "" "`. El descriptor debe hacer referencia a un directorio abierto, no " "a un archivo abierto." -#: ../Doc/library/os.rst:1612 +#: ../Doc/library/os.rst:1621 msgid "" "This function can raise :exc:`OSError` and subclasses such as :exc:" "`FileNotFoundError`, :exc:`PermissionError`, and :exc:`NotADirectoryError`." @@ -2290,7 +2296,7 @@ msgstr "" "Esta función puede generar :exc:`OSError` y subclases como :exc:" "`FileNotFoundError`, :exc:`PermissionError`, y :exc:`NotADirectoryError`." -#: ../Doc/library/os.rst:1616 ../Doc/library/os.rst:1743 +#: ../Doc/library/os.rst:1624 ../Doc/library/os.rst:1751 msgid "" "Raises an :ref:`auditing event ` ``os.chdir`` with argument " "``path``." @@ -2298,14 +2304,14 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``os.chdir`` con argumento " "``path``." -#: ../Doc/library/os.rst:1617 +#: ../Doc/library/os.rst:1626 msgid "" "Added support for specifying *path* as a file descriptor on some platforms." msgstr "" "Se agregó soporte para especificar *path* como descriptor de archivo en " "algunas plataformas." -#: ../Doc/library/os.rst:1627 +#: ../Doc/library/os.rst:1636 msgid "" "Set the flags of *path* to the numeric *flags*. *flags* may take a " "combination (bitwise OR) of the following values (as defined in the :mod:" @@ -2315,62 +2321,62 @@ msgstr "" "una combinación (OR bit a bit) de los siguientes valores (como se define en " "el módulo :mod:`stat`):" -#: ../Doc/library/os.rst:1630 +#: ../Doc/library/os.rst:1639 msgid ":data:`stat.UF_NODUMP`" msgstr ":data:`stat.UF_NODUMP`" -#: ../Doc/library/os.rst:1631 +#: ../Doc/library/os.rst:1640 msgid ":data:`stat.UF_IMMUTABLE`" msgstr ":data:`stat.UF_IMMUTABLE`" -#: ../Doc/library/os.rst:1632 +#: ../Doc/library/os.rst:1641 msgid ":data:`stat.UF_APPEND`" msgstr ":data:`stat.UF_APPEND`" -#: ../Doc/library/os.rst:1633 +#: ../Doc/library/os.rst:1642 msgid ":data:`stat.UF_OPAQUE`" msgstr ":data:`stat.UF_OPAQUE`" -#: ../Doc/library/os.rst:1634 +#: ../Doc/library/os.rst:1643 msgid ":data:`stat.UF_NOUNLINK`" msgstr ":data:`stat.UF_NOUNLINK`" -#: ../Doc/library/os.rst:1635 +#: ../Doc/library/os.rst:1644 msgid ":data:`stat.UF_COMPRESSED`" msgstr ":data:`stat.UF_COMPRESSED`" -#: ../Doc/library/os.rst:1636 +#: ../Doc/library/os.rst:1645 msgid ":data:`stat.UF_HIDDEN`" msgstr ":data:`stat.UF_HIDDEN`" -#: ../Doc/library/os.rst:1637 +#: ../Doc/library/os.rst:1646 msgid ":data:`stat.SF_ARCHIVED`" msgstr ":data:`stat.SF_ARCHIVED`" -#: ../Doc/library/os.rst:1638 +#: ../Doc/library/os.rst:1647 msgid ":data:`stat.SF_IMMUTABLE`" msgstr ":data:`stat.SF_IMMUTABLE`" -#: ../Doc/library/os.rst:1639 +#: ../Doc/library/os.rst:1648 msgid ":data:`stat.SF_APPEND`" msgstr ":data:`stat.SF_APPEND`" -#: ../Doc/library/os.rst:1640 +#: ../Doc/library/os.rst:1649 msgid ":data:`stat.SF_NOUNLINK`" msgstr ":data:`stat.SF_NOUNLINK`" -#: ../Doc/library/os.rst:1641 +#: ../Doc/library/os.rst:1650 msgid ":data:`stat.SF_SNAPSHOT`" msgstr ":data:`stat.SF_SNAPSHOT`" -#: ../Doc/library/os.rst:1643 +#: ../Doc/library/os.rst:1652 msgid "" "This function can support :ref:`not following symlinks `." msgstr "" "Esta función puede soportar :ref:`no seguir enlaces simbólicos " "`." -#: ../Doc/library/os.rst:1646 ../Doc/library/os.rst:1769 +#: ../Doc/library/os.rst:1654 ../Doc/library/os.rst:1777 msgid "" "Raises an :ref:`auditing event ` ``os.chflags`` with arguments " "``path``, ``flags``." @@ -2378,11 +2384,11 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``os.chflags`` con argumentos " "``path``, ``flags``." -#: ../Doc/library/os.rst:1649 +#: ../Doc/library/os.rst:1658 msgid "The *follow_symlinks* argument." msgstr "El argumento *follow_symlinks*." -#: ../Doc/library/os.rst:1658 +#: ../Doc/library/os.rst:1667 msgid "" "Change the mode of *path* to the numeric *mode*. *mode* may take one of the " "following values (as defined in the :mod:`stat` module) or bitwise ORed " @@ -2392,84 +2398,84 @@ msgstr "" "los siguientes valores (como se define en el módulo :mod:`stat`) o " "combinaciones OR de bit a bit de ellos:" -#: ../Doc/library/os.rst:1662 +#: ../Doc/library/os.rst:1671 msgid ":data:`stat.S_ISUID`" msgstr ":data:`stat.S_ISUID`" -#: ../Doc/library/os.rst:1663 +#: ../Doc/library/os.rst:1672 msgid ":data:`stat.S_ISGID`" msgstr ":data:`stat.S_ISGID`" -#: ../Doc/library/os.rst:1664 +#: ../Doc/library/os.rst:1673 msgid ":data:`stat.S_ENFMT`" msgstr ":data:`stat.S_ENFMT`" -#: ../Doc/library/os.rst:1665 +#: ../Doc/library/os.rst:1674 msgid ":data:`stat.S_ISVTX`" msgstr ":data:`stat.S_ISVTX`" -#: ../Doc/library/os.rst:1666 +#: ../Doc/library/os.rst:1675 msgid ":data:`stat.S_IREAD`" msgstr ":data:`stat.S_IREAD`" -#: ../Doc/library/os.rst:1667 +#: ../Doc/library/os.rst:1676 msgid ":data:`stat.S_IWRITE`" msgstr ":data:`stat.S_IWRITE`" -#: ../Doc/library/os.rst:1668 +#: ../Doc/library/os.rst:1677 msgid ":data:`stat.S_IEXEC`" msgstr ":data:`stat.S_IEXEC`" -#: ../Doc/library/os.rst:1669 +#: ../Doc/library/os.rst:1678 msgid ":data:`stat.S_IRWXU`" msgstr ":data:`stat.S_IRWXU`" -#: ../Doc/library/os.rst:1670 +#: ../Doc/library/os.rst:1679 msgid ":data:`stat.S_IRUSR`" msgstr ":data:`stat.S_IRUSR`" -#: ../Doc/library/os.rst:1671 +#: ../Doc/library/os.rst:1680 msgid ":data:`stat.S_IWUSR`" msgstr ":data:`stat.S_IWUSR`" -#: ../Doc/library/os.rst:1672 +#: ../Doc/library/os.rst:1681 msgid ":data:`stat.S_IXUSR`" msgstr ":data:`stat.S_IXUSR`" -#: ../Doc/library/os.rst:1673 +#: ../Doc/library/os.rst:1682 msgid ":data:`stat.S_IRWXG`" msgstr ":data:`stat.S_IRWXG`" -#: ../Doc/library/os.rst:1674 +#: ../Doc/library/os.rst:1683 msgid ":data:`stat.S_IRGRP`" msgstr ":data:`stat.S_IRGRP`" -#: ../Doc/library/os.rst:1675 +#: ../Doc/library/os.rst:1684 msgid ":data:`stat.S_IWGRP`" msgstr ":data:`stat.S_IWGRP`" -#: ../Doc/library/os.rst:1676 +#: ../Doc/library/os.rst:1685 msgid ":data:`stat.S_IXGRP`" msgstr ":data:`stat.S_IXGRP`" -#: ../Doc/library/os.rst:1677 +#: ../Doc/library/os.rst:1686 msgid ":data:`stat.S_IRWXO`" msgstr ":data:`stat.S_IRWXO`" -#: ../Doc/library/os.rst:1678 +#: ../Doc/library/os.rst:1687 msgid ":data:`stat.S_IROTH`" msgstr ":data:`stat.S_IROTH`" -#: ../Doc/library/os.rst:1679 +#: ../Doc/library/os.rst:1688 msgid ":data:`stat.S_IWOTH`" msgstr ":data:`stat.S_IWOTH`" -#: ../Doc/library/os.rst:1680 +#: ../Doc/library/os.rst:1689 msgid ":data:`stat.S_IXOTH`" msgstr ":data:`stat.S_IXOTH`" -#: ../Doc/library/os.rst:1682 ../Doc/library/os.rst:1707 -#: ../Doc/library/os.rst:2956 +#: ../Doc/library/os.rst:1691 ../Doc/library/os.rst:1716 +#: ../Doc/library/os.rst:2969 msgid "" "This function can support :ref:`specifying a file descriptor `, :" "ref:`paths relative to directory descriptors ` and :ref:`not " @@ -2479,7 +2485,7 @@ msgstr "" "`, :ref:`rutas relativas a los descriptores de directorio ` " "y :ref:`no seguir enlaces simbólicos `." -#: ../Doc/library/os.rst:1688 +#: ../Doc/library/os.rst:1697 msgid "" "Although Windows supports :func:`chmod`, you can only set the file's read-" "only flag with it (via the ``stat.S_IWRITE`` and ``stat.S_IREAD`` constants " @@ -2490,7 +2496,7 @@ msgstr "" "``stat.S_IREAD`` o un valor entero correspondiente). Todos los demás bits " "son ignorados." -#: ../Doc/library/os.rst:1694 ../Doc/library/os.rst:1718 +#: ../Doc/library/os.rst:1703 ../Doc/library/os.rst:1727 msgid "" "Added support for specifying *path* as an open file descriptor, and the " "*dir_fd* and *follow_symlinks* arguments." @@ -2498,7 +2504,7 @@ msgstr "" "Se agregó soporte para especificar *path* como un descriptor de archivo " "abierto, y los argumentos *dir_fd* y *follow_symlinks*." -#: ../Doc/library/os.rst:1704 +#: ../Doc/library/os.rst:1713 msgid "" "Change the owner and group id of *path* to the numeric *uid* and *gid*. To " "leave one of the ids unchanged, set it to -1." @@ -2506,7 +2512,7 @@ msgstr "" "Cambia el propietario y el *id* del grupo de *path* a los numéricos *uid* y " "*gid*. Para dejar uno de los identificadores sin cambios, configúrelo en -1." -#: ../Doc/library/os.rst:1711 +#: ../Doc/library/os.rst:1720 msgid "" "See :func:`shutil.chown` for a higher-level function that accepts names in " "addition to numeric ids." @@ -2514,15 +2520,15 @@ msgstr "" "Ver :func:`shutil.chown` para una función de nivel superior que acepta " "nombres además de identificadores numéricos." -#: ../Doc/library/os.rst:1722 +#: ../Doc/library/os.rst:1731 msgid "Supports a :term:`path-like object`." msgstr "Admite un :term:`objeto tipo ruta`." -#: ../Doc/library/os.rst:1728 +#: ../Doc/library/os.rst:1737 msgid "Change the root directory of the current process to *path*." msgstr "Cambia el directorio raíz del proceso actual a *path*." -#: ../Doc/library/os.rst:1738 +#: ../Doc/library/os.rst:1747 msgid "" "Change the current working directory to the directory represented by the " "file descriptor *fd*. The descriptor must refer to an opened directory, not " @@ -2533,16 +2539,16 @@ msgstr "" "directorio abierto, no a un archivo abierto. A partir de Python 3.3, esto es " "equivalente a ``os.chdir(fd)``." -#: ../Doc/library/os.rst:1749 +#: ../Doc/library/os.rst:1758 msgid "Return a string representing the current working directory." msgstr "Retorna una cadena que representa el directorio de trabajo actual." -#: ../Doc/library/os.rst:1754 +#: ../Doc/library/os.rst:1763 msgid "Return a bytestring representing the current working directory." msgstr "" "Retorna una cadena de bytes que representa el directorio de trabajo actual." -#: ../Doc/library/os.rst:1756 +#: ../Doc/library/os.rst:1765 msgid "" "The function now uses the UTF-8 encoding on Windows, rather than the ANSI " "code page: see :pep:`529` for the rationale. The function is no longer " @@ -2552,7 +2558,7 @@ msgstr "" "códigos ANSI: consulte :pep:`529` para ver la justificación. La función ya " "no está en desuso en Windows." -#: ../Doc/library/os.rst:1764 +#: ../Doc/library/os.rst:1773 msgid "" "Set the flags of *path* to the numeric *flags*, like :func:`chflags`, but do " "not follow symbolic links. As of Python 3.3, this is equivalent to ``os." @@ -2562,7 +2568,7 @@ msgstr "" "pero no siga los enlaces simbólicos. A partir de Python 3.3, esto es " "equivalente a ``os.chflags(path, flags, follow_symlinks=False)``." -#: ../Doc/library/os.rst:1778 +#: ../Doc/library/os.rst:1787 msgid "" "Change the mode of *path* to the numeric *mode*. If path is a symlink, this " "affects the symlink rather than the target. See the docs for :func:`chmod` " @@ -2575,7 +2581,7 @@ msgstr "" "*mode*. A partir de Python 3.3, esto es equivalente a ``os.chmod(path, mode, " "follow_symlinks=False)``." -#: ../Doc/library/os.rst:1792 +#: ../Doc/library/os.rst:1801 msgid "" "Change the owner and group id of *path* to the numeric *uid* and *gid*. " "This function will not follow symbolic links. As of Python 3.3, this is " @@ -2586,11 +2592,11 @@ msgstr "" "partir de Python 3.3, esto es equivalente a ``os.chown(path, uid, gid, " "follow_symlinks=False)``." -#: ../Doc/library/os.rst:1806 +#: ../Doc/library/os.rst:1815 msgid "Create a hard link pointing to *src* named *dst*." msgstr "Cree un enlace rígido que apunte a *src* llamado *dst*." -#: ../Doc/library/os.rst:1808 +#: ../Doc/library/os.rst:1817 msgid "" "This function can support specifying *src_dir_fd* and/or *dst_dir_fd* to " "supply :ref:`paths relative to directory descriptors `, and :ref:" @@ -2600,7 +2606,7 @@ msgstr "" "para proporcionar :ref:`rutas relativas a los descriptores de directorio " "`, y :ref:`no sigue enlaces simbólicos `." -#: ../Doc/library/os.rst:1813 +#: ../Doc/library/os.rst:1821 msgid "" "Raises an :ref:`auditing event ` ``os.link`` with arguments " "``src``, ``dst``, ``src_dir_fd``, ``dst_dir_fd``." @@ -2608,33 +2614,36 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``os.link`` con argumentos " "``src``, ``dst``, ``src_dir_fd``, ``dst_dir_fd``." -#: ../Doc/library/os.rst:1816 +#: ../Doc/library/os.rst:1825 msgid "Added Windows support." msgstr "Se agregó soporte para Windows." -#: ../Doc/library/os.rst:1819 +#: ../Doc/library/os.rst:1828 msgid "Added the *src_dir_fd*, *dst_dir_fd*, and *follow_symlinks* arguments." msgstr "" "Se agregaron los argumentos *src_dir_fd*, *dst_dir_fd* y *follow_symlinks*." -#: ../Doc/library/os.rst:1822 ../Doc/library/os.rst:1886 -#: ../Doc/library/os.rst:2171 ../Doc/library/os.rst:2208 -#: ../Doc/library/os.rst:2878 +#: ../Doc/library/os.rst:1831 ../Doc/library/os.rst:1897 +#: ../Doc/library/os.rst:2182 ../Doc/library/os.rst:2219 +#: ../Doc/library/os.rst:2891 msgid "Accepts a :term:`path-like object` for *src* and *dst*." msgstr "Acepta un :term:`path-like object` para *src* y *dst*." -#: ../Doc/library/os.rst:1828 +#: ../Doc/library/os.rst:1837 +#, fuzzy msgid "" "Return a list containing the names of the entries in the directory given by " "*path*. The list is in arbitrary order, and does not include the special " -"entries ``'.'`` and ``'..'`` even if they are present in the directory." +"entries ``'.'`` and ``'..'`` even if they are present in the directory. If a " +"file is removed from or added to the directory during the call of this " +"function, whether a name for that file be included is unspecified." msgstr "" "Retorna una lista que contiene los nombres de las entradas en el directorio " "dado por *path*. La lista está en un orden arbitrario y no incluye las " "entradas especiales ``'.'`` Y ``'..'`` incluso si están presentes en el " "directorio." -#: ../Doc/library/os.rst:1832 +#: ../Doc/library/os.rst:1843 msgid "" "*path* may be a :term:`path-like object`. If *path* is of type ``bytes`` " "(directly or indirectly through the :class:`PathLike` interface), the " @@ -2646,7 +2655,7 @@ msgstr "" "nombres de archivo retornados también serán de tipo ``bytes``; en todas las " "demás circunstancias, serán del tipo ``str``." -#: ../Doc/library/os.rst:1837 ../Doc/library/os.rst:2254 +#: ../Doc/library/os.rst:1848 ../Doc/library/os.rst:2267 msgid "" "This function can also support :ref:`specifying a file descriptor " "`; the file descriptor must refer to a directory." @@ -2655,7 +2664,7 @@ msgstr "" "archivo `; el descriptor de archivo debe hacer referencia a un " "directorio." -#: ../Doc/library/os.rst:1841 +#: ../Doc/library/os.rst:1851 msgid "" "Raises an :ref:`auditing event ` ``os.listdir`` with argument " "``path``." @@ -2663,13 +2672,13 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``os.listdir`` con el " "argumento ``ruta``." -#: ../Doc/library/os.rst:1843 +#: ../Doc/library/os.rst:1854 msgid "To encode ``str`` filenames to ``bytes``, use :func:`~os.fsencode`." msgstr "" "Para codificar los nombres de archivo ``str`` en ``bytes``, use :func:`~os." "fsencode`." -#: ../Doc/library/os.rst:1847 +#: ../Doc/library/os.rst:1858 msgid "" "The :func:`scandir` function returns directory entries along with file " "attribute information, giving better performance for many common use cases." @@ -2678,17 +2687,17 @@ msgstr "" "información de atributos de archivo, lo que proporciona un mejor rendimiento " "para muchos casos de uso comunes." -#: ../Doc/library/os.rst:1851 +#: ../Doc/library/os.rst:1862 msgid "The *path* parameter became optional." msgstr "El parámetro *path* se convirtió en opcional." -#: ../Doc/library/os.rst:1854 ../Doc/library/os.rst:2740 +#: ../Doc/library/os.rst:1865 ../Doc/library/os.rst:2753 msgid "Added support for specifying *path* as an open file descriptor." msgstr "" "Se agregó soporte para especificar *path* como un descriptor de archivo " "abierto." -#: ../Doc/library/os.rst:1863 +#: ../Doc/library/os.rst:1874 msgid "" "Perform the equivalent of an :c:func:`lstat` system call on the given path. " "Similar to :func:`~os.stat`, but does not follow symbolic links. Return a :" @@ -2698,7 +2707,7 @@ msgstr "" "dada. Similar a :func:`~os.stat`, pero no sigue enlaces simbólicos. Retorna " "un objeto :class:`stat_result`." -#: ../Doc/library/os.rst:1867 +#: ../Doc/library/os.rst:1878 msgid "" "On platforms that do not support symbolic links, this is an alias for :func:" "`~os.stat`." @@ -2706,7 +2715,7 @@ msgstr "" "En plataformas que no admiten enlaces simbólicos, este es un alias para :" "func:`~ os.stat`." -#: ../Doc/library/os.rst:1870 +#: ../Doc/library/os.rst:1881 msgid "" "As of Python 3.3, this is equivalent to ``os.stat(path, dir_fd=dir_fd, " "follow_symlinks=False)``." @@ -2714,9 +2723,9 @@ msgstr "" "A partir de Python 3.3, esto es equivalente a ``os.stat(path, dir_fd=dir_fd, " "follow_symlinks=False)``." -#: ../Doc/library/os.rst:1873 ../Doc/library/os.rst:1910 -#: ../Doc/library/os.rst:1975 ../Doc/library/os.rst:2003 -#: ../Doc/library/os.rst:2077 +#: ../Doc/library/os.rst:1884 ../Doc/library/os.rst:1921 +#: ../Doc/library/os.rst:1986 ../Doc/library/os.rst:2014 +#: ../Doc/library/os.rst:2088 msgid "" "This function can also support :ref:`paths relative to directory descriptors " "`." @@ -2724,16 +2733,16 @@ msgstr "" "Esta función también puede admitir :ref:`rutas relativas a descriptores de " "directorio `." -#: ../Doc/library/os.rst:1880 ../Doc/library/os.rst:2086 -#: ../Doc/library/os.rst:2871 +#: ../Doc/library/os.rst:1891 ../Doc/library/os.rst:2097 +#: ../Doc/library/os.rst:2884 msgid "Added support for Windows 6.0 (Vista) symbolic links." msgstr "Se agregó soporte para enlaces simbólicos de Windows 6.0 (Vista)." -#: ../Doc/library/os.rst:1883 +#: ../Doc/library/os.rst:1894 msgid "Added the *dir_fd* parameter." msgstr "Se agregó el parámetro *dir_fd*." -#: ../Doc/library/os.rst:1889 +#: ../Doc/library/os.rst:1900 msgid "" "On Windows, now opens reparse points that represent another path (name " "surrogates), including symbolic links and directory junctions. Other kinds " @@ -2745,15 +2754,15 @@ msgstr "" "sistema operativo resuelve otros tipos de puntos de análisis como :func:`~os." "stat`." -#: ../Doc/library/os.rst:1898 +#: ../Doc/library/os.rst:1909 msgid "Create a directory named *path* with numeric mode *mode*." msgstr "Cree un directorio llamado *path* con modo numérico *mode*." -#: ../Doc/library/os.rst:1900 +#: ../Doc/library/os.rst:1911 msgid "If the directory already exists, :exc:`FileExistsError` is raised." msgstr "Si el directorio ya existe, se excita :exc:`FileExistsError`." -#: ../Doc/library/os.rst:1904 +#: ../Doc/library/os.rst:1915 msgid "" "On some systems, *mode* is ignored. Where it is used, the current umask " "value is first masked out. If bits other than the last 9 (i.e. the last 3 " @@ -2767,7 +2776,7 @@ msgstr "" "significado depende de la plataforma. En algunas plataformas, se ignoran y " "debe llamar a :func:`chmod` explícitamente para configurarlos." -#: ../Doc/library/os.rst:1913 +#: ../Doc/library/os.rst:1924 msgid "" "It is also possible to create temporary directories; see the :mod:`tempfile` " "module's :func:`tempfile.mkdtemp` function." @@ -2775,7 +2784,7 @@ msgstr "" "También es posible crear directorios temporales; vea la función :mod:" "`tempfile` del módulo :func:`tempfile.mkdtemp`." -#: ../Doc/library/os.rst:1917 ../Doc/library/os.rst:1951 +#: ../Doc/library/os.rst:1927 ../Doc/library/os.rst:1961 msgid "" "Raises an :ref:`auditing event ` ``os.mkdir`` with arguments " "``path``, ``mode``, ``dir_fd``." @@ -2783,7 +2792,7 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``os.mkdir`` con argumentos " "``ruta``, ``modo``, ``dir_fd``." -#: ../Doc/library/os.rst:1931 +#: ../Doc/library/os.rst:1942 msgid "" "Recursive directory creation function. Like :func:`mkdir`, but makes all " "intermediate-level directories needed to contain the leaf directory." @@ -2792,7 +2801,7 @@ msgstr "" "que todos los directorios de nivel intermedio sean necesarios para contener " "el directorio hoja." -#: ../Doc/library/os.rst:1934 +#: ../Doc/library/os.rst:1945 msgid "" "The *mode* parameter is passed to :func:`mkdir` for creating the leaf " "directory; see :ref:`the mkdir() description ` for how it is " @@ -2807,7 +2816,7 @@ msgstr "" "func:`makedirs`. Los bits de permiso de archivo de los directorios " "principales existentes no se modifican." -#: ../Doc/library/os.rst:1940 +#: ../Doc/library/os.rst:1951 msgid "" "If *exist_ok* is ``False`` (the default), an :exc:`FileExistsError` is " "raised if the target directory already exists." @@ -2815,7 +2824,7 @@ msgstr "" "Si *exist_ok* es ``False`` (el valor predeterminado), se genera un :exc:" "`FileExistsError` si el directorio de destino ya existe." -#: ../Doc/library/os.rst:1945 +#: ../Doc/library/os.rst:1956 msgid "" ":func:`makedirs` will become confused if the path elements to create " "include :data:`pardir` (eg. \"..\" on UNIX systems)." @@ -2823,15 +2832,15 @@ msgstr "" ":func:`makedirs` se confundirá si los elementos de ruta a crear incluyen :" "data:`pardir` (por ejemplo, \"..\" en sistemas UNIX)." -#: ../Doc/library/os.rst:1948 +#: ../Doc/library/os.rst:1959 msgid "This function handles UNC paths correctly." msgstr "Esta función maneja las rutas UNC correctamente." -#: ../Doc/library/os.rst:1952 +#: ../Doc/library/os.rst:1963 msgid "The *exist_ok* parameter." msgstr "El parámetro *exist_ok*." -#: ../Doc/library/os.rst:1957 +#: ../Doc/library/os.rst:1968 msgid "" "Before Python 3.4.1, if *exist_ok* was ``True`` and the directory existed, :" "func:`makedirs` would still raise an error if *mode* did not match the mode " @@ -2843,7 +2852,7 @@ msgstr "" "del directorio existente. Como este comportamiento era imposible de " "implementar de forma segura, se eliminó en Python 3.4.1. Ver :issue:`21082`." -#: ../Doc/library/os.rst:1965 +#: ../Doc/library/os.rst:1976 msgid "" "The *mode* argument no longer affects the file permission bits of newly-" "created intermediate-level directories." @@ -2851,7 +2860,7 @@ msgstr "" "El argumento *mode* ya no afecta los bits de permiso de archivo de los " "directorios de nivel intermedio recién creados." -#: ../Doc/library/os.rst:1972 +#: ../Doc/library/os.rst:1983 msgid "" "Create a FIFO (a named pipe) named *path* with numeric mode *mode*. The " "current umask value is first masked out from the mode." @@ -2859,7 +2868,7 @@ msgstr "" "Cree una FIFO (una tubería con nombre) llamada *path* con modo numérico " "*modo*. El valor actual de umask se enmascara primero del modo." -#: ../Doc/library/os.rst:1978 +#: ../Doc/library/os.rst:1989 msgid "" "FIFOs are pipes that can be accessed like regular files. FIFOs exist until " "they are deleted (for example with :func:`os.unlink`). Generally, FIFOs are " @@ -2875,7 +2884,7 @@ msgstr "" "cliente lo abre para escribir. Tenga en cuenta que :func:`mkfifo` no abre el " "FIFO --- solo crea el punto de encuentro." -#: ../Doc/library/os.rst:1995 +#: ../Doc/library/os.rst:2006 msgid "" "Create a filesystem node (file, device special file or named pipe) named " "*path*. *mode* specifies both the permissions to use and the type of node to " @@ -2894,7 +2903,7 @@ msgstr "" "archivo especial del dispositivo recién creado (probablemente usando :func:" "`os.makedev`), de lo contrario se ignora." -#: ../Doc/library/os.rst:2017 +#: ../Doc/library/os.rst:2028 msgid "" "Extract the device major number from a raw device number (usually the :attr:" "`st_dev` or :attr:`st_rdev` field from :c:type:`stat`)." @@ -2903,7 +2912,7 @@ msgstr "" "formato (generalmente el campo :attr:`st_dev` o :attr:`st_rdev` de :c:type:" "`stat`)." -#: ../Doc/library/os.rst:2023 +#: ../Doc/library/os.rst:2034 msgid "" "Extract the device minor number from a raw device number (usually the :attr:" "`st_dev` or :attr:`st_rdev` field from :c:type:`stat`)." @@ -2912,13 +2921,13 @@ msgstr "" "formato (generalmente el campo :attr:`st_dev` o :attr:`st_rdev` de :c:type:" "`stat`)." -#: ../Doc/library/os.rst:2029 +#: ../Doc/library/os.rst:2040 msgid "Compose a raw device number from the major and minor device numbers." msgstr "" "Compone un número de dispositivo sin procesar a partir de los números de " "dispositivo mayor y menor." -#: ../Doc/library/os.rst:2034 +#: ../Doc/library/os.rst:2045 msgid "" "Return system configuration information relevant to a named file. *name* " "specifies the configuration value to retrieve; it may be a string which is " @@ -2937,15 +2946,15 @@ msgstr "" "``pathconf_names``. Para las variables de configuración no incluidas en esa " "asignación, también se acepta pasar un número entero para *name*." -#: ../Doc/library/os.rst:2047 ../Doc/library/os.rst:2733 -#: ../Doc/library/os.rst:2899 +#: ../Doc/library/os.rst:2058 ../Doc/library/os.rst:2746 +#: ../Doc/library/os.rst:2912 msgid "" "This function can support :ref:`specifying a file descriptor `." msgstr "" "Esta función puede soportar :ref:`especificando un descriptor de archivo " "`." -#: ../Doc/library/os.rst:2058 +#: ../Doc/library/os.rst:2069 msgid "" "Dictionary mapping names accepted by :func:`pathconf` and :func:`fpathconf` " "to the integer values defined for those names by the host operating system. " @@ -2956,7 +2965,7 @@ msgstr "" "operativo host. Esto se puede usar para determinar el conjunto de nombres " "conocidos por el sistema." -#: ../Doc/library/os.rst:2067 +#: ../Doc/library/os.rst:2078 msgid "" "Return a string representing the path to which the symbolic link points. " "The result may be either an absolute or relative pathname; if it is " @@ -2968,7 +2977,7 @@ msgstr "" "es relativo, se puede convertir a un nombre de ruta absoluto usando ``os." "path.join(os.path.dirname(path), result)``." -#: ../Doc/library/os.rst:2072 +#: ../Doc/library/os.rst:2083 msgid "" "If the *path* is a string object (directly or indirectly through a :class:" "`PathLike` interface), the result will also be a string object, and the call " @@ -2981,7 +2990,7 @@ msgstr "" "objeto de bytes (directa o indirectamente), el resultado será un objeto de " "bytes." -#: ../Doc/library/os.rst:2080 +#: ../Doc/library/os.rst:2091 msgid "" "When trying to resolve a path that may contain links, use :func:`~os.path." "realpath` to properly handle recursion and platform differences." @@ -2990,15 +2999,15 @@ msgstr "" "path.realpath` para manejar adecuadamente la recurrencia y las diferencias " "de plataforma." -#: ../Doc/library/os.rst:2092 +#: ../Doc/library/os.rst:2103 msgid "Accepts a :term:`path-like object` on Unix." msgstr "Acepta un :term:`path-like object` en Unix." -#: ../Doc/library/os.rst:2095 +#: ../Doc/library/os.rst:2106 msgid "Accepts a :term:`path-like object` and a bytes object on Windows." msgstr "Acepta un :term:`path-like object` y un objeto de bytes en Windows." -#: ../Doc/library/os.rst:2098 +#: ../Doc/library/os.rst:2109 msgid "" "Added support for directory junctions, and changed to return the " "substitution path (which typically includes ``\\\\?\\`` prefix) rather than " @@ -3009,7 +3018,7 @@ msgstr "" "lugar del campo opcional \"nombre de impresión\" que se retornó " "anteriormente." -#: ../Doc/library/os.rst:2105 +#: ../Doc/library/os.rst:2116 msgid "" "Remove (delete) the file *path*. If *path* is a directory, an :exc:" "`IsADirectoryError` is raised. Use :func:`rmdir` to remove directories." @@ -3017,8 +3026,8 @@ msgstr "" "Elimina (elimine) el archivo *path*. Si *path* es un directorio, se genera " "un :exc:`IsADirectoryError`. Use :func:`rmdir` para eliminar directorios." -#: ../Doc/library/os.rst:2108 ../Doc/library/os.rst:2219 -#: ../Doc/library/os.rst:2853 +#: ../Doc/library/os.rst:2119 ../Doc/library/os.rst:2230 +#: ../Doc/library/os.rst:2866 msgid "" "This function can support :ref:`paths relative to directory descriptors " "`." @@ -3026,7 +3035,7 @@ msgstr "" "Esta función puede admitir :ref:`rutas relativas a descriptores de " "directorio `." -#: ../Doc/library/os.rst:2111 +#: ../Doc/library/os.rst:2122 msgid "" "On Windows, attempting to remove a file that is in use causes an exception " "to be raised; on Unix, the directory entry is removed but the storage " @@ -3038,12 +3047,12 @@ msgstr "" "almacenamiento asignado al archivo no está disponible hasta que el archivo " "original ya no esté en uso." -#: ../Doc/library/os.rst:2115 +#: ../Doc/library/os.rst:2126 msgid "This function is semantically identical to :func:`unlink`." msgstr "Esta función es semánticamente idéntica a :func:`unlink`." -#: ../Doc/library/os.rst:2118 ../Doc/library/os.rst:2140 -#: ../Doc/library/os.rst:2922 +#: ../Doc/library/os.rst:2128 ../Doc/library/os.rst:2150 +#: ../Doc/library/os.rst:2934 msgid "" "Raises an :ref:`auditing event ` ``os.remove`` with arguments " "``path``, ``dir_fd``." @@ -3051,7 +3060,7 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``os.remove`` con argumentos " "``ruta``, ``dir_fd``." -#: ../Doc/library/os.rst:2130 +#: ../Doc/library/os.rst:2141 msgid "" "Remove directories recursively. Works like :func:`rmdir` except that, if " "the leaf directory is successfully removed, :func:`removedirs` tries to " @@ -3071,7 +3080,7 @@ msgstr "" "``'foo/bar'`` y ``'foo'`` si están vacíos. Genera :exc:`OSError` si el " "directorio hoja no se pudo eliminar con éxito." -#: ../Doc/library/os.rst:2147 +#: ../Doc/library/os.rst:2158 msgid "" "Rename the file or directory *src* to *dst*. If *dst* exists, the operation " "will fail with an :exc:`OSError` subclass in a number of cases:" @@ -3079,12 +3088,12 @@ msgstr "" "Cambia el nombre del archivo o directorio *src* a *dst*. Si *dst* existe, la " "operación fallará con una subclase :exc:`OSError` en varios casos:" -#: ../Doc/library/os.rst:2150 +#: ../Doc/library/os.rst:2161 msgid "On Windows, if *dst* exists a :exc:`FileExistsError` is always raised." msgstr "" "En Windows, si *dst* existe a :exc:`FileExistsError` siempre se genera." -#: ../Doc/library/os.rst:2152 +#: ../Doc/library/os.rst:2163 msgid "" "On Unix, if *src* is a file and *dst* is a directory or vice-versa, an :exc:" "`IsADirectoryError` or a :exc:`NotADirectoryError` will be raised " @@ -3105,7 +3114,7 @@ msgstr "" "éxito, el cambio de nombre será una operación atómica (este es un requisito " "POSIX)." -#: ../Doc/library/os.rst:2161 ../Doc/library/os.rst:2201 +#: ../Doc/library/os.rst:2172 ../Doc/library/os.rst:2212 msgid "" "This function can support specifying *src_dir_fd* and/or *dst_dir_fd* to " "supply :ref:`paths relative to directory descriptors `." @@ -3114,15 +3123,15 @@ msgstr "" "para proporcionar :ref:`rutas relativas a los descriptores de directorio " "`." -#: ../Doc/library/os.rst:2164 +#: ../Doc/library/os.rst:2175 msgid "" "If you want cross-platform overwriting of the destination, use :func:" "`replace`." msgstr "" "Si desea sobrescribir multiplataforma del destino, use :func:`replace`." -#: ../Doc/library/os.rst:2167 ../Doc/library/os.rst:2188 -#: ../Doc/library/os.rst:2205 +#: ../Doc/library/os.rst:2177 ../Doc/library/os.rst:2198 +#: ../Doc/library/os.rst:2215 msgid "" "Raises an :ref:`auditing event ` ``os.rename`` with arguments " "``src``, ``dst``, ``src_dir_fd``, ``dst_dir_fd``." @@ -3130,11 +3139,11 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``os.rename`` con argumentos " "``src``, ``dst``, ``src_dir_fd``, ``dst_dir_fd``." -#: ../Doc/library/os.rst:2168 +#: ../Doc/library/os.rst:2179 msgid "The *src_dir_fd* and *dst_dir_fd* arguments." msgstr "Los argumentos *src_dir_fd* y *dst_dir_fd*." -#: ../Doc/library/os.rst:2177 +#: ../Doc/library/os.rst:2188 msgid "" "Recursive directory or file renaming function. Works like :func:`rename`, " "except creation of any intermediate directories needed to make the new " @@ -3149,7 +3158,7 @@ msgstr "" "segmentos de ruta más a la derecha del nombre anterior se eliminarán usando :" "func:`removeirs`." -#: ../Doc/library/os.rst:2184 +#: ../Doc/library/os.rst:2195 msgid "" "This function can fail with the new directory structure made if you lack " "permissions needed to remove the leaf directory or file." @@ -3158,11 +3167,11 @@ msgstr "" "si carece de los permisos necesarios para eliminar el directorio o archivo " "hoja." -#: ../Doc/library/os.rst:2189 +#: ../Doc/library/os.rst:2200 msgid "Accepts a :term:`path-like object` for *old* and *new*." msgstr "Acepta un :term:`path-like object` para *old* y *new*." -#: ../Doc/library/os.rst:2195 +#: ../Doc/library/os.rst:2206 msgid "" "Rename the file or directory *src* to *dst*. If *dst* is a directory, :exc:" "`OSError` will be raised. If *dst* exists and is a file, it will be " @@ -3177,7 +3186,7 @@ msgstr "" "tiene éxito, el cambio de nombre será una operación atómica (este es un " "requisito POSIX)." -#: ../Doc/library/os.rst:2214 +#: ../Doc/library/os.rst:2225 msgid "" "Remove (delete) the directory *path*. If the directory does not exist or is " "not empty, an :exc:`FileNotFoundError` or an :exc:`OSError` is raised " @@ -3189,7 +3198,7 @@ msgstr "" "respectivamente. Para eliminar árboles de directorios completos, se puede " "usar :func:`shutil.rmtree`." -#: ../Doc/library/os.rst:2223 +#: ../Doc/library/os.rst:2233 msgid "" "Raises an :ref:`auditing event ` ``os.rmdir`` with arguments " "``path``, ``dir_fd``." @@ -3197,22 +3206,25 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``os.rmdir`` con argumentos " "``ruta``, ``dir_fd``." -#: ../Doc/library/os.rst:2224 ../Doc/library/os.rst:2923 +#: ../Doc/library/os.rst:2235 ../Doc/library/os.rst:2936 msgid "The *dir_fd* parameter." msgstr "El parámetro *dir_fd*." -#: ../Doc/library/os.rst:2233 +#: ../Doc/library/os.rst:2244 +#, fuzzy msgid "" "Return an iterator of :class:`os.DirEntry` objects corresponding to the " "entries in the directory given by *path*. The entries are yielded in " "arbitrary order, and the special entries ``'.'`` and ``'..'`` are not " -"included." +"included. If a file is removed from or added to the directory after " +"creating the iterator, whether an entry for that file be included is " +"unspecified." msgstr "" "Retorna un iterador de objetos :class:`os.DirEntry` correspondientes a las " "entradas en el directorio dado por *path*. Las entradas se entregan en orden " "arbitrario, y las entradas especiales ``'.'`` Y ``'..'`` no están incluidas." -#: ../Doc/library/os.rst:2238 +#: ../Doc/library/os.rst:2251 msgid "" "Using :func:`scandir` instead of :func:`listdir` can significantly increase " "the performance of code that also needs file type or file attribute " @@ -3234,7 +3246,7 @@ msgstr "" "requiere una llamada al sistema en Unix, pero solo requiere una para enlaces " "simbólicos en Windows." -#: ../Doc/library/os.rst:2248 +#: ../Doc/library/os.rst:2261 msgid "" "*path* may be a :term:`path-like object`. If *path* is of type ``bytes`` " "(directly or indirectly through the :class:`PathLike` interface), the type " @@ -3248,7 +3260,7 @@ msgstr "" "de cada :class:`os.DirEntry` serán ``bytes``; en todas las demás " "circunstancias, serán del tipo ``str``." -#: ../Doc/library/os.rst:2258 +#: ../Doc/library/os.rst:2270 msgid "" "Raises an :ref:`auditing event ` ``os.scandir`` with argument " "``path``." @@ -3256,7 +3268,7 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``os.scandir`` con argumento " "``ruta``." -#: ../Doc/library/os.rst:2259 +#: ../Doc/library/os.rst:2272 msgid "" "The :func:`scandir` iterator supports the :term:`context manager` protocol " "and has the following method:" @@ -3264,11 +3276,11 @@ msgstr "" "El iterador :func:`scandir` admite el protocolo :term:`context manager` y " "tiene el siguiente método:" -#: ../Doc/library/os.rst:2264 +#: ../Doc/library/os.rst:2277 msgid "Close the iterator and free acquired resources." msgstr "Cierre el iterador y libere los recursos adquiridos." -#: ../Doc/library/os.rst:2266 +#: ../Doc/library/os.rst:2279 msgid "" "This is called automatically when the iterator is exhausted or garbage " "collected, or when an error happens during iterating. However it is " @@ -3279,7 +3291,7 @@ msgstr "" "aconsejable llamarlo explícitamente o utilizar la palabra clave :keyword:" "`with`." -#: ../Doc/library/os.rst:2273 +#: ../Doc/library/os.rst:2286 msgid "" "The following example shows a simple use of :func:`scandir` to display all " "the files (excluding directories) in the given *path* that don't start with " @@ -3291,7 +3303,7 @@ msgstr "" "comienzan con ``'.'``. La llamada ``entry.is_file()`` generalmente no " "realizará una llamada adicional al sistema::" -#: ../Doc/library/os.rst:2285 +#: ../Doc/library/os.rst:2298 msgid "" "On Unix-based systems, :func:`scandir` uses the system's `opendir() `_ and " @@ -3309,7 +3321,7 @@ msgstr "" "aspx>`_ y `FindNextFileW `_ funciones." -#: ../Doc/library/os.rst:2297 +#: ../Doc/library/os.rst:2310 msgid "" "Added support for the :term:`context manager` protocol and the :func:" "`~scandir.close()` method. If a :func:`scandir` iterator is neither " @@ -3320,16 +3332,16 @@ msgstr "" "func:`~scandir.close()`. Si un iterador :func:`scandir` no está agotado ni " "cerrado explícitamente, se emitirá a :exc:`ResourceWarning` en su destructor." -#: ../Doc/library/os.rst:2303 +#: ../Doc/library/os.rst:2316 msgid "The function accepts a :term:`path-like object`." msgstr "La función acepta un :term:`path-like object`." -#: ../Doc/library/os.rst:2305 +#: ../Doc/library/os.rst:2318 msgid "Added support for :ref:`file descriptors ` on Unix." msgstr "" "Soporte agregado para :ref:`descriptores de archivo ` en Unix." -#: ../Doc/library/os.rst:2311 +#: ../Doc/library/os.rst:2324 msgid "" "Object yielded by :func:`scandir` to expose the file path and other file " "attributes of a directory entry." @@ -3337,7 +3349,7 @@ msgstr "" "Objeto generado por :func:`scandir` para exponer la ruta del archivo y otros " "atributos de archivo de una entrada de directorio." -#: ../Doc/library/os.rst:2314 +#: ../Doc/library/os.rst:2327 msgid "" ":func:`scandir` will provide as much of this information as possible without " "making additional system calls. When a ``stat()`` or ``lstat()`` system call " @@ -3348,7 +3360,7 @@ msgstr "" "``stat()`` o ``lstat()``, el objeto ``os.DirEntry`` almacenará en caché el " "resultado." -#: ../Doc/library/os.rst:2318 +#: ../Doc/library/os.rst:2331 msgid "" "``os.DirEntry`` instances are not intended to be stored in long-lived data " "structures; if you know the file metadata has changed or if a long time has " @@ -3361,7 +3373,7 @@ msgstr "" "func:`scandir`, llame a ``os.stat(entry.path)`` para obtener información " "actualizada." -#: ../Doc/library/os.rst:2323 +#: ../Doc/library/os.rst:2336 msgid "" "Because the ``os.DirEntry`` methods can make operating system calls, they " "may also raise :exc:`OSError`. If you need very fine-grained control over " @@ -3373,7 +3385,7 @@ msgstr "" "preciso sobre los errores, puede detectar :exc:`OSError` cuando llame a uno " "de los métodos ``os.DirEntry`` y maneje según corresponda." -#: ../Doc/library/os.rst:2328 +#: ../Doc/library/os.rst:2341 msgid "" "To be directly usable as a :term:`path-like object`, ``os.DirEntry`` " "implements the :class:`PathLike` interface." @@ -3381,20 +3393,20 @@ msgstr "" "Para ser directamente utilizable como :term:`path-like object`, ``os." "DirEntry`` implementa la interfaz :class:`PathLike`." -#: ../Doc/library/os.rst:2331 +#: ../Doc/library/os.rst:2344 msgid "Attributes and methods on a ``os.DirEntry`` instance are as follows:" msgstr "" "Los atributos y métodos en una instancia de ``os.DirEntry`` son los " "siguientes:" -#: ../Doc/library/os.rst:2335 +#: ../Doc/library/os.rst:2348 msgid "" "The entry's base filename, relative to the :func:`scandir` *path* argument." msgstr "" "El nombre de archivo base de la entrada, relativo al argumento :func:" "`scandir` *path*." -#: ../Doc/library/os.rst:2338 +#: ../Doc/library/os.rst:2351 msgid "" "The :attr:`name` attribute will be ``bytes`` if the :func:`scandir` *path* " "argument is of type ``bytes`` and ``str`` otherwise. Use :func:`~os." @@ -3404,7 +3416,7 @@ msgstr "" "*path* es de tipo ``bytes`` y ``str`` de lo contrario. Utilice :func:`~os." "fsdecode` para decodificar los nombres de archivo de bytes." -#: ../Doc/library/os.rst:2344 +#: ../Doc/library/os.rst:2357 msgid "" "The entry's full path name: equivalent to ``os.path.join(scandir_path, entry." "name)`` where *scandir_path* is the :func:`scandir` *path* argument. The " @@ -3420,7 +3432,7 @@ msgstr "" "`descriptor de archivo `, el atributo :attr:`path` es el mismo que " "el atributo :attr:`name`." -#: ../Doc/library/os.rst:2351 +#: ../Doc/library/os.rst:2364 msgid "" "The :attr:`path` attribute will be ``bytes`` if the :func:`scandir` *path* " "argument is of type ``bytes`` and ``str`` otherwise. Use :func:`~os." @@ -3430,11 +3442,11 @@ msgstr "" "*path* es de tipo ``bytes`` y ``str`` de lo contrario. Utilice :func:`~os." "fsdecode` para decodificar los nombres de archivo de bytes." -#: ../Doc/library/os.rst:2357 +#: ../Doc/library/os.rst:2370 msgid "Return the inode number of the entry." msgstr "Retorna el número de inodo de la entrada." -#: ../Doc/library/os.rst:2359 +#: ../Doc/library/os.rst:2372 msgid "" "The result is cached on the ``os.DirEntry`` object. Use ``os.stat(entry." "path, follow_symlinks=False).st_ino`` to fetch up-to-date information." @@ -3443,7 +3455,7 @@ msgstr "" "stat(entry.path, follow_symlinks=False).st_ino`` para obtener información " "actualizada." -#: ../Doc/library/os.rst:2363 +#: ../Doc/library/os.rst:2376 msgid "" "On the first, uncached call, a system call is required on Windows but not on " "Unix." @@ -3451,7 +3463,7 @@ msgstr "" "En la primera llamada no almacenada en caché, se requiere una llamada del " "sistema en Windows pero no en Unix." -#: ../Doc/library/os.rst:2368 +#: ../Doc/library/os.rst:2381 msgid "" "Return ``True`` if this entry is a directory or a symbolic link pointing to " "a directory; return ``False`` if the entry is or points to any other kind of " @@ -3461,7 +3473,7 @@ msgstr "" "apunta a un directorio; retorna ``False`` si la entrada es o apunta a " "cualquier otro tipo de archivo, o si ya no existe." -#: ../Doc/library/os.rst:2372 +#: ../Doc/library/os.rst:2385 msgid "" "If *follow_symlinks* is ``False``, return ``True`` only if this entry is a " "directory (without following symlinks); return ``False`` if the entry is any " @@ -3471,7 +3483,7 @@ msgstr "" "un directorio (sin seguir los enlaces simbólicos); retorna ``False`` si la " "entrada es cualquier otro tipo de archivo o si ya no existe." -#: ../Doc/library/os.rst:2376 +#: ../Doc/library/os.rst:2389 msgid "" "The result is cached on the ``os.DirEntry`` object, with a separate cache " "for *follow_symlinks* ``True`` and ``False``. Call :func:`os.stat` along " @@ -3481,7 +3493,7 @@ msgstr "" "separado para *follow_symlinks* ``True`` y ``False``. Llame a :func:`os." "stat` junto con :func:`stat.S_ISDIR` para obtener información actualizada." -#: ../Doc/library/os.rst:2380 +#: ../Doc/library/os.rst:2393 msgid "" "On the first, uncached call, no system call is required in most cases. " "Specifically, for non-symlinks, neither Windows or Unix require a system " @@ -3498,7 +3510,7 @@ msgstr "" "simbólico, se requerirá una llamada al sistema para seguir el enlace " "simbólico a menos que *follow_symlinks* sea ``False``." -#: ../Doc/library/os.rst:2387 ../Doc/library/os.rst:2417 +#: ../Doc/library/os.rst:2400 ../Doc/library/os.rst:2430 msgid "" "This method can raise :exc:`OSError`, such as :exc:`PermissionError`, but :" "exc:`FileNotFoundError` is caught and not raised." @@ -3506,7 +3518,7 @@ msgstr "" "Este método puede generar :exc:`OSError`, como :exc:`PermissionError`, pero :" "exc:`FileNotFoundError` se captura y no se genera." -#: ../Doc/library/os.rst:2392 +#: ../Doc/library/os.rst:2405 msgid "" "Return ``True`` if this entry is a file or a symbolic link pointing to a " "file; return ``False`` if the entry is or points to a directory or other non-" @@ -3516,7 +3528,7 @@ msgstr "" "apunta a un archivo; retorna ``False`` si la entrada es o apunta a un " "directorio u otra entrada que no sea de archivo, o si ya no existe." -#: ../Doc/library/os.rst:2396 +#: ../Doc/library/os.rst:2409 msgid "" "If *follow_symlinks* is ``False``, return ``True`` only if this entry is a " "file (without following symlinks); return ``False`` if the entry is a " @@ -3527,7 +3539,7 @@ msgstr "" "entrada es un directorio u otra entrada que no sea de archivo, o si ya no " "existe." -#: ../Doc/library/os.rst:2400 +#: ../Doc/library/os.rst:2413 msgid "" "The result is cached on the ``os.DirEntry`` object. Caching, system calls " "made, and exceptions raised are as per :func:`~os.DirEntry.is_dir`." @@ -3536,7 +3548,7 @@ msgstr "" "almacenamiento en caché, las llamadas realizadas al sistema y las " "excepciones generadas son las siguientes :func:`~os.DirEntry.is_dir`." -#: ../Doc/library/os.rst:2405 +#: ../Doc/library/os.rst:2418 msgid "" "Return ``True`` if this entry is a symbolic link (even if broken); return " "``False`` if the entry points to a directory or any kind of file, or if it " @@ -3546,7 +3558,7 @@ msgstr "" "roto); retorna ``False`` si la entrada apunta a un directorio o cualquier " "tipo de archivo, o si ya no existe." -#: ../Doc/library/os.rst:2409 +#: ../Doc/library/os.rst:2422 msgid "" "The result is cached on the ``os.DirEntry`` object. Call :func:`os.path." "islink` to fetch up-to-date information." @@ -3554,7 +3566,7 @@ msgstr "" "El resultado se almacena en caché en el objeto ``os.DirEntry``. Llame a :" "func:`os.path.islink` para obtener información actualizada." -#: ../Doc/library/os.rst:2412 +#: ../Doc/library/os.rst:2425 msgid "" "On the first, uncached call, no system call is required in most cases. " "Specifically, neither Windows or Unix require a system call, except on " @@ -3567,7 +3579,7 @@ msgstr "" "Unix, como los sistemas de archivos de red, que retornan ``dirent.d_type == " "DT_UNKNOWN``." -#: ../Doc/library/os.rst:2422 +#: ../Doc/library/os.rst:2435 msgid "" "Return a :class:`stat_result` object for this entry. This method follows " "symbolic links by default; to stat a symbolic link add the " @@ -3577,7 +3589,7 @@ msgstr "" "sigue enlaces simbólicos por defecto; para crear un enlace simbólico agregue " "el argumento ``follow_symlinks=False``." -#: ../Doc/library/os.rst:2426 +#: ../Doc/library/os.rst:2439 msgid "" "On Unix, this method always requires a system call. On Windows, it only " "requires a system call if *follow_symlinks* is ``True`` and the entry is a " @@ -3588,7 +3600,7 @@ msgstr "" "entrada es un punto de análisis (por ejemplo, un enlace simbólico o una " "unión de directorio)." -#: ../Doc/library/os.rst:2431 +#: ../Doc/library/os.rst:2444 msgid "" "On Windows, the ``st_ino``, ``st_dev`` and ``st_nlink`` attributes of the :" "class:`stat_result` are always set to zero. Call :func:`os.stat` to get " @@ -3598,7 +3610,7 @@ msgstr "" "`stat_result` siempre se establecen en cero. Llame a :func:`os.stat` para " "obtener estos atributos." -#: ../Doc/library/os.rst:2435 +#: ../Doc/library/os.rst:2448 msgid "" "The result is cached on the ``os.DirEntry`` object, with a separate cache " "for *follow_symlinks* ``True`` and ``False``. Call :func:`os.stat` to fetch " @@ -3608,7 +3620,7 @@ msgstr "" "separado para *follow_symlinks* ``True`` y ``False``. Llame a :func:`os." "stat` para obtener información actualizada." -#: ../Doc/library/os.rst:2439 +#: ../Doc/library/os.rst:2452 msgid "" "Note that there is a nice correspondence between several attributes and " "methods of ``os.DirEntry`` and of :class:`pathlib.Path`. In particular, the " @@ -3620,7 +3632,7 @@ msgstr "" "atributo ``name`` tiene el mismo significado, al igual que los métodos " "``is_dir()``, ``is_file()``, ``is_symlink()`` y ``stat()``." -#: ../Doc/library/os.rst:2447 +#: ../Doc/library/os.rst:2460 msgid "" "Added support for the :class:`~os.PathLike` interface. Added support for :" "class:`bytes` paths on Windows." @@ -3628,7 +3640,7 @@ msgstr "" "Se agregó soporte para la interfaz :class:`~os.PathLike`. Se agregó soporte " "para rutas de :class:`bytes` en Windows." -#: ../Doc/library/os.rst:2454 +#: ../Doc/library/os.rst:2467 msgid "" "Get the status of a file or a file descriptor. Perform the equivalent of a :" "c:func:`stat` system call on the given path. *path* may be specified as " @@ -3642,7 +3654,7 @@ msgstr "" "través de la interfaz :class:`PathLike`, o como un descriptor de archivo " "abierto. Retorna un objeto :class:`stat_result`." -#: ../Doc/library/os.rst:2460 +#: ../Doc/library/os.rst:2473 msgid "" "This function normally follows symlinks; to stat a symlink add the argument " "``follow_symlinks=False``, or use :func:`lstat`." @@ -3651,9 +3663,9 @@ msgstr "" "simbólico agregue el argumento ``follow_symlinks=False``, o use :func:" "`lstat`." -#: ../Doc/library/os.rst:2463 ../Doc/library/os.rst:3184 -#: ../Doc/library/os.rst:3200 ../Doc/library/os.rst:3216 -#: ../Doc/library/os.rst:3236 +#: ../Doc/library/os.rst:2476 ../Doc/library/os.rst:3204 +#: ../Doc/library/os.rst:3220 ../Doc/library/os.rst:3236 +#: ../Doc/library/os.rst:3256 msgid "" "This function can support :ref:`specifying a file descriptor ` and :" "ref:`not following symlinks `." @@ -3661,7 +3673,7 @@ msgstr "" "Esta función puede soportar :ref:`especificando un descriptor de archivo " "` y :ref:`no siguen enlaces simbólicos `." -#: ../Doc/library/os.rst:2466 +#: ../Doc/library/os.rst:2479 msgid "" "On Windows, passing ``follow_symlinks=False`` will disable following all " "name-surrogate reparse points, which includes symlinks and directory " @@ -3686,7 +3698,7 @@ msgstr "" "`lstat` en el resultado. Esto no se aplica a enlaces simbólicos o puntos de " "unión colgantes, lo que generará las excepciones habituales." -#: ../Doc/library/os.rst:2479 +#: ../Doc/library/os.rst:2492 msgid "Example::" msgstr "" "El diseño de todos los módulos incorporados de Python dependientes del " @@ -3695,11 +3707,11 @@ msgstr "" "estadísticas sobre la ruta (*path*) en el mismo formato (lo que sucede " "originalmente con la interfaz POSIX)." -#: ../Doc/library/os.rst:2492 +#: ../Doc/library/os.rst:2505 msgid ":func:`fstat` and :func:`lstat` functions." msgstr ":func:`fstat` y funciones :func:`lstat`." -#: ../Doc/library/os.rst:2494 +#: ../Doc/library/os.rst:2507 msgid "" "Added the *dir_fd* and *follow_symlinks* arguments, specifying a file " "descriptor instead of a path." @@ -3707,7 +3719,7 @@ msgstr "" "Se agregaron los argumentos *dir_fd* y *follow_symlinks*, especificando un " "descriptor de archivo en lugar de una ruta." -#: ../Doc/library/os.rst:2501 +#: ../Doc/library/os.rst:2514 msgid "" "On Windows, all reparse points that can be resolved by the operating system " "are now followed, and passing ``follow_symlinks=False`` disables following " @@ -3723,7 +3735,7 @@ msgstr "" "información de la ruta original como si se hubiera especificado " "``follow_symlinks=False`` en lugar de generar un error." -#: ../Doc/library/os.rst:2512 +#: ../Doc/library/os.rst:2525 msgid "" "Object whose attributes correspond roughly to the members of the :c:type:" "`stat` structure. It is used for the result of :func:`os.stat`, :func:`os." @@ -3733,15 +3745,15 @@ msgstr "" "estructura :c:type:`stat`. Se utiliza para el resultado de :func:`os.stat`, :" "func:`os.fstat` y :func:`os.lstat`." -#: ../Doc/library/os.rst:2516 +#: ../Doc/library/os.rst:2529 msgid "Attributes:" msgstr "Atributos:" -#: ../Doc/library/os.rst:2520 +#: ../Doc/library/os.rst:2533 msgid "File mode: file type and file mode bits (permissions)." msgstr "Modo de archivo: tipo de archivo y bits de modo de archivo (permisos)." -#: ../Doc/library/os.rst:2524 +#: ../Doc/library/os.rst:2537 msgid "" "Platform dependent, but if non-zero, uniquely identifies the file for a " "given value of ``st_dev``. Typically:" @@ -3749,11 +3761,11 @@ msgstr "" "Dependiendo de la plataforma, pero si no es cero, identifica de forma " "exclusiva el archivo para un valor dado de ``st_dev``. Típicamente:" -#: ../Doc/library/os.rst:2527 +#: ../Doc/library/os.rst:2540 msgid "the inode number on Unix," msgstr "el número de inodo en Unix," -#: ../Doc/library/os.rst:2528 +#: ../Doc/library/os.rst:2541 msgid "" "the `file index `_ on " "Windows" @@ -3761,23 +3773,23 @@ msgstr "" "el índice del archivo `_ " "en Windows" -#: ../Doc/library/os.rst:2534 +#: ../Doc/library/os.rst:2547 msgid "Identifier of the device on which this file resides." msgstr "Identificador del dispositivo en el que reside este archivo." -#: ../Doc/library/os.rst:2538 +#: ../Doc/library/os.rst:2551 msgid "Number of hard links." msgstr "Número de enlaces duros." -#: ../Doc/library/os.rst:2542 +#: ../Doc/library/os.rst:2555 msgid "User identifier of the file owner." msgstr "Identificador de usuario del propietario del archivo." -#: ../Doc/library/os.rst:2546 +#: ../Doc/library/os.rst:2559 msgid "Group identifier of the file owner." msgstr "Identificador de grupo del propietario del archivo." -#: ../Doc/library/os.rst:2550 +#: ../Doc/library/os.rst:2563 msgid "" "Size of the file in bytes, if it is a regular file or a symbolic link. The " "size of a symbolic link is the length of the pathname it contains, without a " @@ -3787,37 +3799,37 @@ msgstr "" "El tamaño de un enlace simbólico es la longitud del nombre de ruta que " "contiene, sin un byte nulo de terminación." -#: ../Doc/library/os.rst:2554 +#: ../Doc/library/os.rst:2567 msgid "Timestamps:" msgstr "Marcas de tiempo:" -#: ../Doc/library/os.rst:2558 +#: ../Doc/library/os.rst:2571 msgid "Time of most recent access expressed in seconds." msgstr "Tiempo de acceso más reciente expresado en segundos." -#: ../Doc/library/os.rst:2562 +#: ../Doc/library/os.rst:2575 msgid "Time of most recent content modification expressed in seconds." msgstr "" "Tiempo de modificación de contenido más reciente expresado en segundos." -#: ../Doc/library/os.rst:2566 ../Doc/library/os.rst:2582 +#: ../Doc/library/os.rst:2579 ../Doc/library/os.rst:2595 msgid "Platform dependent:" msgstr "Depende de la plataforma:" -#: ../Doc/library/os.rst:2568 ../Doc/library/os.rst:2584 +#: ../Doc/library/os.rst:2581 ../Doc/library/os.rst:2597 msgid "the time of most recent metadata change on Unix," msgstr "el momento del cambio de metadatos más reciente en Unix," -#: ../Doc/library/os.rst:2569 +#: ../Doc/library/os.rst:2582 msgid "the time of creation on Windows, expressed in seconds." msgstr "El tiempo de creación en Windows, expresado en segundos." -#: ../Doc/library/os.rst:2573 +#: ../Doc/library/os.rst:2586 msgid "Time of most recent access expressed in nanoseconds as an integer." msgstr "" "Tiempo de acceso más reciente expresado en nanosegundos como un entero." -#: ../Doc/library/os.rst:2577 +#: ../Doc/library/os.rst:2590 msgid "" "Time of most recent content modification expressed in nanoseconds as an " "integer." @@ -3825,13 +3837,13 @@ msgstr "" "Hora de la modificación de contenido más reciente expresada en nanosegundos " "como un entero." -#: ../Doc/library/os.rst:2585 +#: ../Doc/library/os.rst:2598 msgid "" "the time of creation on Windows, expressed in nanoseconds as an integer." msgstr "" "El tiempo de creación en Windows, expresado en nanosegundos como un entero." -#: ../Doc/library/os.rst:2590 +#: ../Doc/library/os.rst:2603 msgid "" "The exact meaning and resolution of the :attr:`st_atime`, :attr:`st_mtime`, " "and :attr:`st_ctime` attributes depend on the operating system and the file " @@ -3846,7 +3858,7 @@ msgstr "" "segundos y :attr:`st_atime` tiene una resolución de solo 1 día. Consulte la " "documentación de su sistema operativo para más detalles." -#: ../Doc/library/os.rst:2597 +#: ../Doc/library/os.rst:2610 msgid "" "Similarly, although :attr:`st_atime_ns`, :attr:`st_mtime_ns`, and :attr:" "`st_ctime_ns` are always expressed in nanoseconds, many systems do not " @@ -3865,7 +3877,7 @@ msgstr "" "marcas de tiempo exactas, siempre debe usar :attr:`st_atime_ns`, :attr:" "`st_mtime_ns` y :attr:`st_ctime_ns`." -#: ../Doc/library/os.rst:2606 +#: ../Doc/library/os.rst:2619 msgid "" "On some Unix systems (such as Linux), the following attributes may also be " "available:" @@ -3873,7 +3885,7 @@ msgstr "" "En algunos sistemas Unix (como Linux), los siguientes atributos también " "pueden estar disponibles:" -#: ../Doc/library/os.rst:2611 +#: ../Doc/library/os.rst:2624 msgid "" "Number of 512-byte blocks allocated for file. This may be smaller than :attr:" "`st_size`/512 when the file has holes." @@ -3881,7 +3893,7 @@ msgstr "" "Número de bloques de 512 bytes asignados para el archivo. Esto puede ser más " "pequeño que :attr:`st_size` / 512 cuando el archivo tiene agujeros." -#: ../Doc/library/os.rst:2616 +#: ../Doc/library/os.rst:2629 msgid "" "\"Preferred\" blocksize for efficient file system I/O. Writing to a file in " "smaller chunks may cause an inefficient read-modify-rewrite." @@ -3890,15 +3902,15 @@ msgstr "" "archivos. Escribir en un archivo en fragmentos más pequeños puede causar una " "lectura-modificación-reescritura ineficiente." -#: ../Doc/library/os.rst:2621 +#: ../Doc/library/os.rst:2634 msgid "Type of device if an inode device." msgstr "Tipo de dispositivo si es un dispositivo inode." -#: ../Doc/library/os.rst:2625 +#: ../Doc/library/os.rst:2638 msgid "User defined flags for file." msgstr "Indicadores definidos por el usuario para el archivo." -#: ../Doc/library/os.rst:2627 +#: ../Doc/library/os.rst:2640 msgid "" "On other Unix systems (such as FreeBSD), the following attributes may be " "available (but may be only filled out if root tries to use them):" @@ -3906,22 +3918,22 @@ msgstr "" "En otros sistemas Unix (como FreeBSD), los siguientes atributos pueden estar " "disponibles (pero solo se pueden completar si la raíz intenta usarlos):" -#: ../Doc/library/os.rst:2632 +#: ../Doc/library/os.rst:2645 msgid "File generation number." msgstr "Número de generación de archivos." -#: ../Doc/library/os.rst:2636 +#: ../Doc/library/os.rst:2649 msgid "Time of file creation." msgstr "Hora de creación del archivo." -#: ../Doc/library/os.rst:2638 +#: ../Doc/library/os.rst:2651 msgid "" "On Solaris and derivatives, the following attributes may also be available:" msgstr "" "En Solaris y derivados, los siguientes atributos también pueden estar " "disponibles:" -#: ../Doc/library/os.rst:2643 +#: ../Doc/library/os.rst:2656 msgid "" "String that uniquely identifies the type of the filesystem that contains the " "file." @@ -3929,30 +3941,30 @@ msgstr "" "Cadena que identifica de forma exclusiva el tipo de sistema de archivos que " "contiene el archivo." -#: ../Doc/library/os.rst:2646 +#: ../Doc/library/os.rst:2659 msgid "On Mac OS systems, the following attributes may also be available:" msgstr "" "En los sistemas Mac OS, los siguientes atributos también pueden estar " "disponibles:" -#: ../Doc/library/os.rst:2650 +#: ../Doc/library/os.rst:2663 msgid "Real size of the file." msgstr "Tamaño real del archivo." -#: ../Doc/library/os.rst:2654 +#: ../Doc/library/os.rst:2667 msgid "Creator of the file." msgstr "Creador del archivo." -#: ../Doc/library/os.rst:2658 +#: ../Doc/library/os.rst:2671 msgid "File type." msgstr "Tipo de archivo." -#: ../Doc/library/os.rst:2660 +#: ../Doc/library/os.rst:2673 msgid "On Windows systems, the following attributes are also available:" msgstr "" "En los sistemas Windows, los siguientes atributos también están disponibles:" -#: ../Doc/library/os.rst:2664 +#: ../Doc/library/os.rst:2677 msgid "" "Windows file attributes: ``dwFileAttributes`` member of the " "``BY_HANDLE_FILE_INFORMATION`` structure returned by :c:func:" @@ -3964,7 +3976,7 @@ msgstr "" "`GetFileInformationByHandle`. Vea las constantes ``FILE_ATTRIBUTE_*`` en el " "módulo :mod:`stat`." -#: ../Doc/library/os.rst:2671 +#: ../Doc/library/os.rst:2684 msgid "" "When :attr:`st_file_attributes` has the ``FILE_ATTRIBUTE_REPARSE_POINT`` " "set, this field contains the tag identifying the type of reparse point. See " @@ -3975,7 +3987,7 @@ msgstr "" "identifica el tipo de punto de análisis. Vea las constantes " "``IO_REPARSE_TAG_*`` en el módulo :mod:`stat`." -#: ../Doc/library/os.rst:2675 +#: ../Doc/library/os.rst:2688 msgid "" "The standard module :mod:`stat` defines functions and constants that are " "useful for extracting information from a :c:type:`stat` structure. (On " @@ -3985,7 +3997,7 @@ msgstr "" "para extraer información de la estructura a :c:type:`stat`. (En Windows, " "algunos elementos están llenos de valores ficticios)." -#: ../Doc/library/os.rst:2679 +#: ../Doc/library/os.rst:2692 msgid "" "For backward compatibility, a :class:`stat_result` instance is also " "accessible as a tuple of at least 10 integers giving the most important (and " @@ -4006,7 +4018,7 @@ msgstr "" "anteriores de Python, acceder a :class:`stat_result` como una tupla siempre " "retorna enteros." -#: ../Doc/library/os.rst:2688 +#: ../Doc/library/os.rst:2701 msgid "" "Added the :attr:`st_atime_ns`, :attr:`st_mtime_ns`, and :attr:`st_ctime_ns` " "members." @@ -4014,25 +4026,25 @@ msgstr "" "Se agregaron los miembros :attr:`st_atime_ns`, :attr:`st_mtime_ns` y :attr:" "`st_ctime_ns`." -#: ../Doc/library/os.rst:2692 +#: ../Doc/library/os.rst:2705 msgid "Added the :attr:`st_file_attributes` member on Windows." msgstr "Se agregó el miembro :attr:`st_file_attributes` en Windows." -#: ../Doc/library/os.rst:2695 +#: ../Doc/library/os.rst:2708 msgid "Windows now returns the file index as :attr:`st_ino` when available." msgstr "" "Windows ahora retorna el índice del archivo como :attr:`st_ino` cuando está " "disponible." -#: ../Doc/library/os.rst:2699 +#: ../Doc/library/os.rst:2712 msgid "Added the :attr:`st_fstype` member to Solaris/derivatives." msgstr "Se agregó el miembro :attr:`st_fstype` a Solaris/derivados." -#: ../Doc/library/os.rst:2702 +#: ../Doc/library/os.rst:2715 msgid "Added the :attr:`st_reparse_tag` member on Windows." msgstr "Se agregó el miembro :attr:`st_reparse_tag` en Windows." -#: ../Doc/library/os.rst:2705 +#: ../Doc/library/os.rst:2718 msgid "" "On Windows, the :attr:`st_mode` member now identifies special files as :" "const:`S_IFCHR`, :const:`S_IFIFO` or :const:`S_IFBLK` as appropriate." @@ -4040,7 +4052,7 @@ msgstr "" "En Windows, el miembro :attr:`st_mode` ahora identifica archivos especiales " "como :const:`S_IFCHR`, :const:`S_IFIFO` o :const:`S_IFBLK` según corresponda." -#: ../Doc/library/os.rst:2712 +#: ../Doc/library/os.rst:2725 msgid "" "Perform a :c:func:`statvfs` system call on the given path. The return value " "is an object whose attributes describe the filesystem on the given path, and " @@ -4056,7 +4068,7 @@ msgstr "" "attr:`f_bfree`, :attr:`f_bavail`, :attr:`f_files`, :attr:`f_ffree`, :attr:" "`f_favail`, :attr:`f_flag`, :attr:`f_namemax`, :attr:`f_fsid`." -#: ../Doc/library/os.rst:2719 +#: ../Doc/library/os.rst:2732 msgid "" "Two module-level constants are defined for the :attr:`f_flag` attribute's " "bit-flags: if :const:`ST_RDONLY` is set, the filesystem is mounted read-" @@ -4069,7 +4081,7 @@ msgstr "" "configurado, el la semántica de los bits setuid/setgid está deshabilitada o " "no es compatible." -#: ../Doc/library/os.rst:2724 +#: ../Doc/library/os.rst:2737 msgid "" "Additional module-level constants are defined for GNU/glibc based systems. " "These are :const:`ST_NODEV` (disallow access to device special files), :" @@ -4093,11 +4105,11 @@ msgstr "" "acceso al directorio), :const:`ST_RELATIME` (tiempo de actualización " "relativo a mtime/ctime)." -#: ../Doc/library/os.rst:2737 +#: ../Doc/library/os.rst:2750 msgid "The :const:`ST_RDONLY` and :const:`ST_NOSUID` constants were added." msgstr "Se agregaron las constantes :const:`ST_RDONLY` y :const:`ST_NOSUID`." -#: ../Doc/library/os.rst:2743 +#: ../Doc/library/os.rst:2756 msgid "" "The :const:`ST_NODEV`, :const:`ST_NOEXEC`, :const:`ST_SYNCHRONOUS`, :const:" "`ST_MANDLOCK`, :const:`ST_WRITE`, :const:`ST_APPEND`, :const:" @@ -4109,11 +4121,11 @@ msgstr "" "`ST_IMMUTABLE`, :const:`ST_NOATIME`, :const:`ST_NODIRATIME`, y :const:" "`ST_RELATIME` se agregaron constantes." -#: ../Doc/library/os.rst:2752 +#: ../Doc/library/os.rst:2765 msgid "Added :attr:`f_fsid`." msgstr "Agregado :attr:`f_fsid`." -#: ../Doc/library/os.rst:2758 +#: ../Doc/library/os.rst:2771 msgid "" "A :class:`set` object indicating which functions in the :mod:`os` module " "accept an open file descriptor for their *dir_fd* parameter. Different " @@ -4134,7 +4146,7 @@ msgstr "" "funcionalidad se utiliza cuando no está disponible localmente. (Especificar " "``None`` para *dir_fd* siempre es compatible con todas las plataformas)." -#: ../Doc/library/os.rst:2768 +#: ../Doc/library/os.rst:2781 msgid "" "To check whether a particular function accepts an open file descriptor for " "its *dir_fd* parameter, use the ``in`` operator on ``supports_dir_fd``. As " @@ -4147,7 +4159,7 @@ msgstr "" "si :func:`os.stat` acepta descriptores de archivos abiertos para *dir_fd* en " "la plataforma local::" -#: ../Doc/library/os.rst:2775 +#: ../Doc/library/os.rst:2788 msgid "" "Currently *dir_fd* parameters only work on Unix platforms; none of them work " "on Windows." @@ -4155,7 +4167,7 @@ msgstr "" "Actualmente, los parámetros *dir_fd* solo funcionan en plataformas Unix; " "ninguno de ellos funciona en Windows." -#: ../Doc/library/os.rst:2783 +#: ../Doc/library/os.rst:2796 msgid "" "A :class:`set` object indicating whether :func:`os.access` permits " "specifying ``True`` for its *effective_ids* parameter on the local platform. " @@ -4169,7 +4181,7 @@ msgstr "" "las plataformas). Si la plataforma local lo admite, la colección contendrá :" "func:`os.access`; de lo contrario estará vacío." -#: ../Doc/library/os.rst:2789 +#: ../Doc/library/os.rst:2802 msgid "" "This expression evaluates to ``True`` if :func:`os.access` supports " "``effective_ids=True`` on the local platform::" @@ -4177,7 +4189,7 @@ msgstr "" "Esta expresión se evalúa como ``True`` si :func:`os.access` admite " "``effective_id=True`` en la plataforma local::" -#: ../Doc/library/os.rst:2794 +#: ../Doc/library/os.rst:2807 msgid "" "Currently *effective_ids* is only supported on Unix platforms; it does not " "work on Windows." @@ -4185,7 +4197,7 @@ msgstr "" "Actualmente, *effective_ids* solo es compatible con plataformas Unix; No " "funciona en Windows." -#: ../Doc/library/os.rst:2802 +#: ../Doc/library/os.rst:2815 msgid "" "A :class:`set` object indicating which functions in the :mod:`os` module " "permit specifying their *path* parameter as an open file descriptor on the " @@ -4200,7 +4212,7 @@ msgstr "" "para aceptar descriptores de archivos abiertos como argumentos *path* no " "está disponible en todas las plataformas que admite Python." -#: ../Doc/library/os.rst:2809 +#: ../Doc/library/os.rst:2822 msgid "" "To determine whether a particular function permits specifying an open file " "descriptor for its *path* parameter, use the ``in`` operator on " @@ -4214,7 +4226,7 @@ msgstr "" "``True`` si :func:`os.chdir` acepta descriptores de archivo abiertos para " "*path* en su plataforma local::" -#: ../Doc/library/os.rst:2822 +#: ../Doc/library/os.rst:2835 msgid "" "A :class:`set` object indicating which functions in the :mod:`os` module " "accept ``False`` for their *follow_symlinks* parameter on the local " @@ -4237,7 +4249,7 @@ msgstr "" "localmente. (Especificar ``True`` para *follow_symlinks* siempre se admite " "en todas las plataformas)." -#: ../Doc/library/os.rst:2832 +#: ../Doc/library/os.rst:2845 msgid "" "To check whether a particular function accepts ``False`` for its " "*follow_symlinks* parameter, use the ``in`` operator on " @@ -4251,11 +4263,11 @@ msgstr "" "``follow_symlinks=False`` al llamar a :func:`os.stat` en la plataforma " "local::" -#: ../Doc/library/os.rst:2845 +#: ../Doc/library/os.rst:2858 msgid "Create a symbolic link pointing to *src* named *dst*." msgstr "Cree un enlace simbólico que apunte a *src* llamado *dst*." -#: ../Doc/library/os.rst:2847 +#: ../Doc/library/os.rst:2860 msgid "" "On Windows, a symlink represents either a file or a directory, and does not " "morph to the target dynamically. If the target is present, the type of the " @@ -4272,7 +4284,7 @@ msgstr "" "contrario. En plataformas que no son de Windows, *target_is_directory* se " "ignora." -#: ../Doc/library/os.rst:2858 +#: ../Doc/library/os.rst:2871 msgid "" "On newer versions of Windows 10, unprivileged accounts can create symlinks " "if Developer Mode is enabled. When Developer Mode is not available/enabled, " @@ -4285,13 +4297,13 @@ msgstr "" "privilegio *SeCreateSymbolicLinkPrivilege*, o el proceso debe ejecutarse " "como administrador." -#: ../Doc/library/os.rst:2864 +#: ../Doc/library/os.rst:2877 msgid "" ":exc:`OSError` is raised when the function is called by an unprivileged user." msgstr "" ":exc:`OSError` se lanza cuando un usuario sin privilegios llama a la función." -#: ../Doc/library/os.rst:2868 +#: ../Doc/library/os.rst:2880 msgid "" "Raises an :ref:`auditing event ` ``os.symlink`` with arguments " "``src``, ``dst``, ``dir_fd``." @@ -4299,7 +4311,7 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``os.symlink`` con argumentos " "``src``, ``dst``, ``dir_fd``." -#: ../Doc/library/os.rst:2874 +#: ../Doc/library/os.rst:2887 msgid "" "Added the *dir_fd* argument, and now allow *target_is_directory* on non-" "Windows platforms." @@ -4307,17 +4319,17 @@ msgstr "" "Se agregó el argumento *dir_fd* y ahora permite *target_is_directory* en " "plataformas que no son de Windows." -#: ../Doc/library/os.rst:2881 +#: ../Doc/library/os.rst:2894 msgid "Added support for unelevated symlinks on Windows with Developer Mode." msgstr "" "Se agregó soporte para enlaces simbólicos sin elevar en Windows con el modo " "de desarrollador." -#: ../Doc/library/os.rst:2887 +#: ../Doc/library/os.rst:2900 msgid "Force write of everything to disk." msgstr "Forzar la escritura de todo en el disco." -#: ../Doc/library/os.rst:2896 +#: ../Doc/library/os.rst:2909 msgid "" "Truncate the file corresponding to *path*, so that it is at most *length* " "bytes in size." @@ -4325,7 +4337,7 @@ msgstr "" "Trunca el archivo correspondiente a *path*, para que tenga como máximo " "*length* bytes de tamaño." -#: ../Doc/library/os.rst:2902 +#: ../Doc/library/os.rst:2914 msgid "" "Raises an :ref:`auditing event ` ``os.truncate`` with arguments " "``path``, ``length``." @@ -4333,7 +4345,7 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``os.truncate`` con " "argumentos ``path``, ``length``." -#: ../Doc/library/os.rst:2916 +#: ../Doc/library/os.rst:2929 msgid "" "Remove (delete) the file *path*. This function is semantically identical " "to :func:`remove`; the ``unlink`` name is its traditional Unix name. Please " @@ -4343,13 +4355,13 @@ msgstr "" "a :func:`remove`; El nombre ``unlink`` es su nombre tradicional de Unix. " "Consulte la documentación de :func:`remove` para obtener más información." -#: ../Doc/library/os.rst:2932 +#: ../Doc/library/os.rst:2945 msgid "Set the access and modified times of the file specified by *path*." msgstr "" "Establece el acceso y los tiempos modificados del archivo especificado por " "*path*." -#: ../Doc/library/os.rst:2934 +#: ../Doc/library/os.rst:2947 msgid "" ":func:`utime` takes two optional parameters, *times* and *ns*. These specify " "the times set on *path* and are used as follows:" @@ -4358,7 +4370,7 @@ msgstr "" "especifican los tiempos establecidos en *path* y se utilizan de la siguiente " "manera:" -#: ../Doc/library/os.rst:2937 +#: ../Doc/library/os.rst:2950 msgid "" "If *ns* is specified, it must be a 2-tuple of the form ``(atime_ns, " "mtime_ns)`` where each member is an int expressing nanoseconds." @@ -4366,7 +4378,7 @@ msgstr "" "Si se especifica *ns*, debe ser una tupla de 2 de la forma ``(atime_ns, " "mtime_ns)`` donde cada miembro es un int que expresa nanosegundos." -#: ../Doc/library/os.rst:2940 +#: ../Doc/library/os.rst:2953 msgid "" "If *times* is not ``None``, it must be a 2-tuple of the form ``(atime, " "mtime)`` where each member is an int or float expressing seconds." @@ -4374,7 +4386,7 @@ msgstr "" "Si *times* no es ``None``, debe ser una 2-tupla de la forma ``(atime, " "mtime)`` donde cada miembro es un int o flotante que expresa segundos." -#: ../Doc/library/os.rst:2943 +#: ../Doc/library/os.rst:2956 msgid "" "If *times* is ``None`` and *ns* is unspecified, this is equivalent to " "specifying ``ns=(atime_ns, mtime_ns)`` where both times are the current time." @@ -4382,11 +4394,11 @@ msgstr "" "Si *times* es ``None`` y *ns* no está especificado, esto es equivalente a " "especificar ``ns=(atime_ns, mtime_ns)`` donde ambas horas son la hora actual." -#: ../Doc/library/os.rst:2947 +#: ../Doc/library/os.rst:2960 msgid "It is an error to specify tuples for both *times* and *ns*." msgstr "Es un error especificar tuplas para *times* y *ns*." -#: ../Doc/library/os.rst:2949 +#: ../Doc/library/os.rst:2962 msgid "" "Note that the exact times you set here may not be returned by a subsequent :" "func:`~os.stat` call, depending on the resolution with which your operating " @@ -4402,7 +4414,7 @@ msgstr "" "exactos es usar los campos *st_atime_ns* y *st_mtime_ns* del objeto de " "resultado :func:`os.stat` con el parámetro *ns* para` utime`." -#: ../Doc/library/os.rst:2961 +#: ../Doc/library/os.rst:2973 msgid "" "Raises an :ref:`auditing event ` ``os.utime`` with arguments " "``path``, ``times``, ``ns``, ``dir_fd``." @@ -4410,7 +4422,7 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``os.utime`` con argumentos " "``path``, ``times``, ``ns``, ``dir_fd``." -#: ../Doc/library/os.rst:2962 +#: ../Doc/library/os.rst:2975 msgid "" "Added support for specifying *path* as an open file descriptor, and the " "*dir_fd*, *follow_symlinks*, and *ns* parameters." @@ -4418,7 +4430,7 @@ msgstr "" "Se agregó soporte para especificar *path* como un descriptor de archivo " "abierto, y los parámetros *dir_fd*, *follow_symlinks* y *ns*." -#: ../Doc/library/os.rst:2976 +#: ../Doc/library/os.rst:2989 msgid "" "Generate the file names in a directory tree by walking the tree either top-" "down or bottom-up. For each directory in the tree rooted at directory *top* " @@ -4430,14 +4442,18 @@ msgstr "" "el árbol enraizado en el directorio *top* (incluido *top*), produce una " "tupla de 3 tuplas ``(dirpath, dirnames, filenames)``." -#: ../Doc/library/os.rst:2981 +#: ../Doc/library/os.rst:2994 +#, fuzzy msgid "" "*dirpath* is a string, the path to the directory. *dirnames* is a list of " "the names of the subdirectories in *dirpath* (excluding ``'.'`` and " "``'..'``). *filenames* is a list of the names of the non-directory files in " "*dirpath*. Note that the names in the lists contain no path components. To " "get a full path (which begins with *top*) to a file or directory in " -"*dirpath*, do ``os.path.join(dirpath, name)``." +"*dirpath*, do ``os.path.join(dirpath, name)``. Whether or not the lists are " +"sorted depends on the file system. If a file is removed from or added to " +"the *dirpath* directory during generating the lists, whether a name for that " +"file be included is unspecified." msgstr "" "*dirpath* es una cadena, la ruta al directorio. *dirnames* es una lista de " "los nombres de los subdirectorios en *dirpath* (excluyendo ``'.'`` y " @@ -4447,7 +4463,7 @@ msgstr "" "comienza con *top*) a un archivo o directorio en *dirpath*, haga ``os.path." "join(dirpath, name)``." -#: ../Doc/library/os.rst:2988 +#: ../Doc/library/os.rst:3004 msgid "" "If optional argument *topdown* is ``True`` or not specified, the triple for " "a directory is generated before the triples for any of its subdirectories " @@ -4466,7 +4482,7 @@ msgstr "" "subdirectorios se recupera antes de que se generen las tuplas para el " "directorio y sus subdirectorios." -#: ../Doc/library/os.rst:2996 +#: ../Doc/library/os.rst:3012 msgid "" "When *topdown* is ``True``, the caller can modify the *dirnames* list in-" "place (perhaps using :keyword:`del` or slice assignment), and :func:`walk` " @@ -4489,7 +4505,7 @@ msgstr "" "caminata, porque en el modo ascendente los directorios en *dirnames* se " "generan antes de que se genere *dirpath*." -#: ../Doc/library/os.rst:3005 +#: ../Doc/library/os.rst:3021 msgid "" "By default, errors from the :func:`scandir` call are ignored. If optional " "argument *onerror* is specified, it should be a function; it will be called " @@ -4505,7 +4521,7 @@ msgstr "" "caminata. Tenga en cuenta que el nombre de archivo está disponible como el " "atributo ``filename`` del objeto de excepción." -#: ../Doc/library/os.rst:3011 +#: ../Doc/library/os.rst:3027 msgid "" "By default, :func:`walk` will not walk down into symbolic links that resolve " "to directories. Set *followlinks* to ``True`` to visit directories pointed " @@ -4516,7 +4532,7 @@ msgstr "" "directorios señalados por los enlaces simbólicos, en los sistemas que los " "admiten." -#: ../Doc/library/os.rst:3017 +#: ../Doc/library/os.rst:3033 msgid "" "Be aware that setting *followlinks* to ``True`` can lead to infinite " "recursion if a link points to a parent directory of itself. :func:`walk` " @@ -4527,7 +4543,7 @@ msgstr "" "mismo. :func:`walk` no realiza un seguimiento de los directorios que ya " "visitó." -#: ../Doc/library/os.rst:3023 +#: ../Doc/library/os.rst:3039 msgid "" "If you pass a relative pathname, don't change the current working directory " "between resumptions of :func:`walk`. :func:`walk` never changes the current " @@ -4537,7 +4553,7 @@ msgstr "" "actual entre las reanudaciones de :func:`walk`. :func:`walk` nunca cambia el " "directorio actual, y supone que la persona que llama tampoco." -#: ../Doc/library/os.rst:3027 ../Doc/library/os.rst:3086 +#: ../Doc/library/os.rst:3043 ../Doc/library/os.rst:3104 msgid "" "This example displays the number of bytes taken by non-directory files in " "each directory under the starting directory, except that it doesn't look " @@ -4547,7 +4563,7 @@ msgstr "" "directorio en cada directorio bajo el directorio inicial, excepto que no se " "ve en ningún subdirectorio CVS::" -#: ../Doc/library/os.rst:3040 +#: ../Doc/library/os.rst:3056 msgid "" "In the next example (simple implementation of :func:`shutil.rmtree`), " "walking the tree bottom-up is essential, :func:`rmdir` doesn't allow " @@ -4557,7 +4573,16 @@ msgstr "" "recorrer el árbol de abajo hacia arriba es esencial, :func:`rmdir` no " "permite eliminar un directorio antes de que el directorio esté vacío::" -#: ../Doc/library/os.rst:3055 +#: ../Doc/library/os.rst:3071 +#, fuzzy +msgid "" +"Raises an :ref:`auditing event ` ``os.walk`` with arguments " +"``top``, ``topdown``, ``onerror``, ``followlinks``." +msgstr "" +"Lanza un :ref:`evento de auditoría ` ``os.spawn`` con argumentos " +"``mode``, ``path``, ``args``, ``env``." + +#: ../Doc/library/os.rst:3073 msgid "" "This function now calls :func:`os.scandir` instead of :func:`os.listdir`, " "making it faster by reducing the number of calls to :func:`os.stat`." @@ -4565,7 +4590,7 @@ msgstr "" "Esta función ahora llama :func:`os.scandir` en lugar de :func:`os.listdir`, " "lo que lo hace más rápido al reducir el número de llamadas a :func:`os.stat`." -#: ../Doc/library/os.rst:3069 +#: ../Doc/library/os.rst:3087 msgid "" "This behaves exactly like :func:`walk`, except that it yields a 4-tuple " "``(dirpath, dirnames, filenames, dirfd)``, and it supports ``dir_fd``." @@ -4573,7 +4598,7 @@ msgstr "" "Esto se comporta exactamente como :func:`walk`, excepto que produce 4 tuplas " "``(dirpath, dirnames, filenames, dirfd)``, y admite ``dir_fd``." -#: ../Doc/library/os.rst:3072 +#: ../Doc/library/os.rst:3090 msgid "" "*dirpath*, *dirnames* and *filenames* are identical to :func:`walk` output, " "and *dirfd* is a file descriptor referring to the directory *dirpath*." @@ -4581,7 +4606,7 @@ msgstr "" "*dirpath*, *dirnames* y *filenames* son idénticos a :func:`walk` output, y " "*dirfd* es un descriptor de archivo que se refiere al directorio *dirpath*." -#: ../Doc/library/os.rst:3075 +#: ../Doc/library/os.rst:3093 msgid "" "This function always supports :ref:`paths relative to directory descriptors " "` and :ref:`not following symlinks `. Note however " @@ -4594,7 +4619,7 @@ msgstr "" "funciones, el valor predeterminado :func:`fwalk` para *follow_symlinks* es " "``False``." -#: ../Doc/library/os.rst:3082 +#: ../Doc/library/os.rst:3100 msgid "" "Since :func:`fwalk` yields file descriptors, those are only valid until the " "next iteration step, so you should duplicate them (e.g. with :func:`dup`) if " @@ -4604,7 +4629,7 @@ msgstr "" "válidos hasta el siguiente paso de iteración, por lo que debe duplicarlos " "(por ejemplo, con :func:`dup`) si desea mantenerlos más tiempo." -#: ../Doc/library/os.rst:3099 +#: ../Doc/library/os.rst:3117 msgid "" "In the next example, walking the tree bottom-up is essential: :func:`rmdir` " "doesn't allow deleting a directory before the directory is empty::" @@ -4613,11 +4638,20 @@ msgstr "" "esencial: :func:`rmdir` no permite eliminar un directorio antes de que el " "directorio esté vacío::" -#: ../Doc/library/os.rst:3121 +#: ../Doc/library/os.rst:3132 +#, fuzzy +msgid "" +"Raises an :ref:`auditing event ` ``os.fwalk`` with arguments " +"``top``, ``topdown``, ``onerror``, ``follow_symlinks``, ``dir_fd``." +msgstr "" +"Lanza un :ref:`evento de auditoría ` ``os.chown`` con argumentos " +"``path``, ``uid``, ``gid``, ``dir_fd``." + +#: ../Doc/library/os.rst:3141 msgid "Added support for :class:`bytes` paths." msgstr "Se agregó soporte para rutas de acceso :class:`bytes`." -#: ../Doc/library/os.rst:3127 +#: ../Doc/library/os.rst:3147 msgid "" "Create an anonymous file and return a file descriptor that refers to it. " "*flags* must be one of the ``os.MFD_*`` constants available on the system " @@ -4629,7 +4663,7 @@ msgstr "" "sistema (o una combinación ORed bit a bit de ellas). Por defecto, el nuevo " "descriptor de archivo es :ref:`no heredable `." -#: ../Doc/library/os.rst:3132 +#: ../Doc/library/os.rst:3152 msgid "" "The name supplied in *name* is used as a filename and will be displayed as " "the target of the corresponding symbolic link in the directory ``/proc/self/" @@ -4645,7 +4679,7 @@ msgstr "" "afectan el comportamiento del descriptor de archivo y, como tal, varios " "archivos pueden tener el mismo nombre sin efectos secundarios." -#: ../Doc/library/os.rst:3140 +#: ../Doc/library/os.rst:3160 msgid "" ":ref:`Availability `: Linux 3.17 or newer with glibc 2.27 or " "newer." @@ -4653,11 +4687,11 @@ msgstr "" ":ref:`Disponibilidad `: Linux 3.17 o posterior con glibc 2.27 " "o posterior." -#: ../Doc/library/os.rst:3162 +#: ../Doc/library/os.rst:3182 msgid "These flags can be passed to :func:`memfd_create`." msgstr "Estas flags se pueden pasar a :func:`memfd_create`." -#: ../Doc/library/os.rst:3166 +#: ../Doc/library/os.rst:3186 msgid "" ":ref:`Availability `: Linux 3.17 or newer with glibc 2.27 or " "newer. The ``MFD_HUGE*`` flags are only available since Linux 4.14." @@ -4666,15 +4700,15 @@ msgstr "" "o posterior. Los indicadores ``MFD_HUGE*`` solo están disponibles desde " "Linux 4.14." -#: ../Doc/library/os.rst:3171 +#: ../Doc/library/os.rst:3191 msgid "Linux extended attributes" msgstr "Atributos extendidos de Linux" -#: ../Doc/library/os.rst:3175 +#: ../Doc/library/os.rst:3195 msgid "These functions are all available on Linux only." msgstr "Estas funciones están disponibles solo en Linux." -#: ../Doc/library/os.rst:3179 +#: ../Doc/library/os.rst:3199 msgid "" "Return the value of the extended filesystem attribute *attribute* for " "*path*. *attribute* can be bytes or str (directly or indirectly through the :" @@ -4686,7 +4720,7 @@ msgstr "" "través de la interfaz :class:`PathLike`). Si es str, se codifica con la " "codificación del sistema de archivos." -#: ../Doc/library/os.rst:3188 +#: ../Doc/library/os.rst:3207 msgid "" "Raises an :ref:`auditing event ` ``os.getxattr`` with arguments " "``path``, ``attribute``." @@ -4694,12 +4728,12 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``os.getxattr`` con " "argumentos ``path``, ``atributo``." -#: ../Doc/library/os.rst:3189 ../Doc/library/os.rst:3221 -#: ../Doc/library/os.rst:3246 +#: ../Doc/library/os.rst:3209 ../Doc/library/os.rst:3241 +#: ../Doc/library/os.rst:3266 msgid "Accepts a :term:`path-like object` for *path* and *attribute*." msgstr "Acepta un :term:`path-like object` para *path*y *attribute*." -#: ../Doc/library/os.rst:3195 +#: ../Doc/library/os.rst:3215 msgid "" "Return a list of the extended filesystem attributes on *path*. The " "attributes in the list are represented as strings decoded with the " @@ -4711,7 +4745,7 @@ msgstr "" "con la codificación del sistema de archivos. Si *path* es ``None``, :func:" "`listxattr` examinará el directorio actual." -#: ../Doc/library/os.rst:3204 +#: ../Doc/library/os.rst:3223 msgid "" "Raises an :ref:`auditing event ` ``os.listxattr`` with argument " "``path``." @@ -4719,7 +4753,7 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``os.listxattr`` con el " "argumento ``path``." -#: ../Doc/library/os.rst:3211 +#: ../Doc/library/os.rst:3231 msgid "" "Removes the extended filesystem attribute *attribute* from *path*. " "*attribute* should be bytes or str (directly or indirectly through the :" @@ -4731,7 +4765,7 @@ msgstr "" "interfaz :class:`PathLike`). Si es una cadena, se codifica con la " "codificación del sistema de archivos." -#: ../Doc/library/os.rst:3220 +#: ../Doc/library/os.rst:3239 msgid "" "Raises an :ref:`auditing event ` ``os.removexattr`` with arguments " "``path``, ``attribute``." @@ -4739,7 +4773,7 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``os.removexattr`` con " "argumentos ``path``, ``attribute``." -#: ../Doc/library/os.rst:3227 +#: ../Doc/library/os.rst:3247 msgid "" "Set the extended filesystem attribute *attribute* on *path* to *value*. " "*attribute* must be a bytes or str with no embedded NULs (directly or " @@ -4759,7 +4793,7 @@ msgstr "" "``EEXISTS``. Si :data:`XATTR_CREATE` se proporciona y el atributo ya existe, " "el atributo no se creará y se generará ``ENODATA``." -#: ../Doc/library/os.rst:3241 +#: ../Doc/library/os.rst:3261 msgid "" "A bug in Linux kernel versions less than 2.6.39 caused the flags argument to " "be ignored on some filesystems." @@ -4767,7 +4801,7 @@ msgstr "" "Un error en las versiones de kernel de Linux anteriores a 2.6.39 hizo que el " "argumento de las flags se ignorara en algunos sistemas de archivos." -#: ../Doc/library/os.rst:3245 +#: ../Doc/library/os.rst:3264 msgid "" "Raises an :ref:`auditing event ` ``os.setxattr`` with arguments " "``path``, ``attribute``, ``value``, ``flags``." @@ -4775,7 +4809,7 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``os.setxattr`` con " "argumentos ``path``, ``attribute``, ``value``, ``flags``." -#: ../Doc/library/os.rst:3252 +#: ../Doc/library/os.rst:3272 msgid "" "The maximum size the value of an extended attribute can be. Currently, this " "is 64 KiB on Linux." @@ -4783,7 +4817,7 @@ msgstr "" "El tamaño máximo que puede tener el valor de un atributo extendido. " "Actualmente, esto es 64 KiB en Linux." -#: ../Doc/library/os.rst:3258 +#: ../Doc/library/os.rst:3278 msgid "" "This is a possible value for the flags argument in :func:`setxattr`. It " "indicates the operation must create an attribute." @@ -4791,7 +4825,7 @@ msgstr "" "Este es un valor posible para el argumento flags en :func:`setxattr`. Indica " "que la operación debe crear un atributo." -#: ../Doc/library/os.rst:3264 +#: ../Doc/library/os.rst:3284 msgid "" "This is a possible value for the flags argument in :func:`setxattr`. It " "indicates the operation must replace an existing attribute." @@ -4799,15 +4833,15 @@ msgstr "" "Este es un valor posible para el argumento flags en :func:`setxattr`. Indica " "que la operación debe reemplazar un atributo existente." -#: ../Doc/library/os.rst:3271 +#: ../Doc/library/os.rst:3291 msgid "Process Management" msgstr "Gestión de proceso" -#: ../Doc/library/os.rst:3273 +#: ../Doc/library/os.rst:3293 msgid "These functions may be used to create and manage processes." msgstr "Estas funciones pueden usarse para crear y administrar procesos." -#: ../Doc/library/os.rst:3275 +#: ../Doc/library/os.rst:3295 msgid "" "The various :func:`exec\\* ` functions take a list of arguments for " "the new program loaded into the process. In each case, the first of these " @@ -4825,7 +4859,7 @@ msgstr "" "c:func:`main`. Por ejemplo, ``os.execv('/bin/echo', ['foo', 'bar'])`` solo " "imprimirá ``bar`` en la salida estándar; ``foo`` parecerá ignorado." -#: ../Doc/library/os.rst:3286 +#: ../Doc/library/os.rst:3306 msgid "" "Generate a :const:`SIGABRT` signal to the current process. On Unix, the " "default behavior is to produce a core dump; on Windows, the process " @@ -4839,11 +4873,11 @@ msgstr "" "cuenta que llamar a esta función no llamará al controlador de señal Python " "registrado para :const:`SIGABRT` con :func:`signal.signal`." -#: ../Doc/library/os.rst:3295 +#: ../Doc/library/os.rst:3315 msgid "Add a path to the DLL search path." msgstr "Agregue una ruta a la ruta de búsqueda de DLL." -#: ../Doc/library/os.rst:3297 +#: ../Doc/library/os.rst:3317 msgid "" "This search path is used when resolving dependencies for imported extension " "modules (the module itself is resolved through sys.path), and also by :mod:" @@ -4853,7 +4887,7 @@ msgstr "" "extensión importados (el módulo en sí se resuelve a través de sys.path), y " "también mediante :mod:`ctypes`." -#: ../Doc/library/os.rst:3301 +#: ../Doc/library/os.rst:3321 msgid "" "Remove the directory by calling **close()** on the returned object or using " "it in a :keyword:`with` statement." @@ -4861,7 +4895,7 @@ msgstr "" "Elimina el directorio llamando a **close()** en el objeto retornado o " "utilizándolo en una :keyword:`with` instrucción." -#: ../Doc/library/os.rst:3304 +#: ../Doc/library/os.rst:3324 msgid "" "See the `Microsoft documentation `_ for more information about how " @@ -4871,7 +4905,7 @@ msgstr "" "com/44228cf2-6306-466c-8f16-f513cd3ba8b5>`_ para obtener más información " "sobre cómo se cargan las DLL." -#: ../Doc/library/os.rst:3309 +#: ../Doc/library/os.rst:3328 msgid "" "Raises an :ref:`auditing event ` ``os.add_dll_directory`` with " "argument ``path``." @@ -4879,7 +4913,7 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``os.add_dll_directory`` con " "el argumento ``path``." -#: ../Doc/library/os.rst:3312 +#: ../Doc/library/os.rst:3332 msgid "" "Previous versions of CPython would resolve DLLs using the default behavior " "for the current process. This led to inconsistencies, such as only sometimes " @@ -4892,7 +4926,7 @@ msgstr "" "trabajo actual, y las funciones del sistema operativo como " "``AddDllDirectory`` no tienen ningún efecto." -#: ../Doc/library/os.rst:3319 +#: ../Doc/library/os.rst:3339 msgid "" "In 3.8, the two primary ways DLLs are loaded now explicitly override the " "process-wide behavior to ensure consistency. See the :ref:`porting notes " @@ -4903,7 +4937,7 @@ msgstr "" "coherencia. Ver el :ref:`notas de portabilidad ` para " "obtener información sobre la actualización de bibliotecas." -#: ../Doc/library/os.rst:3334 +#: ../Doc/library/os.rst:3354 msgid "" "These functions all execute a new program, replacing the current process; " "they do not return. On Unix, the new executable is loaded into the current " @@ -4915,7 +4949,7 @@ msgstr "" "actual y tendrá la misma identificación de proceso que la persona que llama. " "Los errores se informarán como excepciones :exc:`OSError`." -#: ../Doc/library/os.rst:3339 +#: ../Doc/library/os.rst:3359 msgid "" "The current process is replaced immediately. Open file objects and " "descriptors are not flushed, so if there may be data buffered on these open " @@ -4928,7 +4962,7 @@ msgstr "" "stdout.flush` o :func:`os.fsync` antes de llamar a :func:`exec\\* ` " "función." -#: ../Doc/library/os.rst:3345 +#: ../Doc/library/os.rst:3365 msgid "" "The \"l\" and \"v\" variants of the :func:`exec\\* ` functions differ " "in how command-line arguments are passed. The \"l\" variants are perhaps " @@ -4950,7 +4984,7 @@ msgstr "" "*args*. En cualquier caso, los argumentos del proceso secundario deben " "comenzar con el nombre del comando que se ejecuta, pero esto no se aplica." -#: ../Doc/library/os.rst:3354 +#: ../Doc/library/os.rst:3374 msgid "" "The variants which include a \"p\" near the end (:func:`execlp`, :func:" "`execlpe`, :func:`execvp`, and :func:`execvpe`) will use the :envvar:`PATH` " @@ -4972,7 +5006,7 @@ msgstr "" "variable :envvar:`PATH` para localizar el ejecutable; *path* debe contener " "una ruta absoluta o relativa apropiada." -#: ../Doc/library/os.rst:3364 +#: ../Doc/library/os.rst:3384 msgid "" "For :func:`execle`, :func:`execlpe`, :func:`execve`, and :func:`execvpe` " "(note that these all end in \"e\"), the *env* parameter must be a mapping " @@ -4988,7 +5022,7 @@ msgstr "" "funciones :func:`execl`, :func:`execlp`, :func:`execv` y :func:`execvp` " "hacen que el nuevo proceso herede el entorno del proceso actual." -#: ../Doc/library/os.rst:3371 +#: ../Doc/library/os.rst:3391 msgid "" "For :func:`execve` on some platforms, *path* may also be specified as an " "open file descriptor. This functionality may not be supported on your " @@ -5002,7 +5036,7 @@ msgstr "" "disponible o no usando :data:`os.supports_fd`. Si no está disponible, su uso " "generará un :exc:`NotImplementedError`." -#: ../Doc/library/os.rst:3377 +#: ../Doc/library/os.rst:3396 msgid "" "Raises an :ref:`auditing event ` ``os.exec`` with arguments " "``path``, ``args``, ``env``." @@ -5010,7 +5044,7 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``os.exec`` con argumentos " "``ruta``, ``args``, ``env``." -#: ../Doc/library/os.rst:3380 +#: ../Doc/library/os.rst:3400 msgid "" "Added support for specifying *path* as an open file descriptor for :func:" "`execve`." @@ -5018,7 +5052,7 @@ msgstr "" "Se agregó soporte para especificar *path* como un descriptor de archivo " "abierto para :func:`execve`." -#: ../Doc/library/os.rst:3389 +#: ../Doc/library/os.rst:3409 msgid "" "Exit the process with status *n*, without calling cleanup handlers, flushing " "stdio buffers, etc." @@ -5026,7 +5060,7 @@ msgstr "" "Salga del proceso con el estado *n*, sin llamar a los controladores de " "limpieza, vaciar los buffers stdio, etc." -#: ../Doc/library/os.rst:3394 +#: ../Doc/library/os.rst:3414 msgid "" "The standard way to exit is ``sys.exit(n)``. :func:`_exit` should normally " "only be used in the child process after a :func:`fork`." @@ -5034,7 +5068,7 @@ msgstr "" "La forma estándar de salir es ``sys.exit(n)``. :func:`_exit` normalmente " "solo debe usarse en el proceso secundario después de :func:`fork`." -#: ../Doc/library/os.rst:3397 +#: ../Doc/library/os.rst:3417 msgid "" "The following exit codes are defined and can be used with :func:`_exit`, " "although they are not required. These are typically used for system " @@ -5046,7 +5080,7 @@ msgstr "" "del sistema escritos en Python, como el programa de entrega de comandos " "externos de un servidor de correo." -#: ../Doc/library/os.rst:3403 +#: ../Doc/library/os.rst:3423 msgid "" "Some of these may not be available on all Unix platforms, since there is " "some variation. These constants are defined where they are defined by the " @@ -5056,11 +5090,11 @@ msgstr "" "plataformas Unix, ya que hay alguna variación. Estas constantes se definen " "donde están definidas por la plataforma subyacente." -#: ../Doc/library/os.rst:3410 +#: ../Doc/library/os.rst:3430 msgid "Exit code that means no error occurred." msgstr "Código de salida que significa que no se produjo ningún error." -#: ../Doc/library/os.rst:3417 +#: ../Doc/library/os.rst:3437 msgid "" "Exit code that means the command was used incorrectly, such as when the " "wrong number of arguments are given." @@ -5068,36 +5102,36 @@ msgstr "" "Código de salida que significa que el comando se usó incorrectamente, como " "cuando se da un número incorrecto de argumentos." -#: ../Doc/library/os.rst:3425 +#: ../Doc/library/os.rst:3445 msgid "Exit code that means the input data was incorrect." msgstr "" "Código de salida que significa que los datos de entrada eran incorrectos." -#: ../Doc/library/os.rst:3432 +#: ../Doc/library/os.rst:3452 msgid "Exit code that means an input file did not exist or was not readable." msgstr "" "Código de salida que significa que no existía un archivo de entrada o que no " "era legible." -#: ../Doc/library/os.rst:3439 +#: ../Doc/library/os.rst:3459 msgid "Exit code that means a specified user did not exist." msgstr "Código de salida que significa que un usuario especificado no existía." -#: ../Doc/library/os.rst:3446 +#: ../Doc/library/os.rst:3466 msgid "Exit code that means a specified host did not exist." msgstr "Código de salida que significa que no existía un host especificado." -#: ../Doc/library/os.rst:3453 +#: ../Doc/library/os.rst:3473 msgid "Exit code that means that a required service is unavailable." msgstr "" "Código de salida que significa que un servicio requerido no está disponible." -#: ../Doc/library/os.rst:3460 +#: ../Doc/library/os.rst:3480 msgid "Exit code that means an internal software error was detected." msgstr "" "Código de salida que significa que se detectó un error interno de software." -#: ../Doc/library/os.rst:3467 +#: ../Doc/library/os.rst:3487 msgid "" "Exit code that means an operating system error was detected, such as the " "inability to fork or create a pipe." @@ -5105,7 +5139,7 @@ msgstr "" "Código de salida que significa que se detectó un error del sistema " "operativo, como la imposibilidad de bifurcar o crear una tubería." -#: ../Doc/library/os.rst:3475 +#: ../Doc/library/os.rst:3495 msgid "" "Exit code that means some system file did not exist, could not be opened, or " "had some other kind of error." @@ -5113,20 +5147,20 @@ msgstr "" "Código de salida que significa que algunos archivos del sistema no existían, " "no podían abrirse o tenían algún otro tipo de error." -#: ../Doc/library/os.rst:3483 +#: ../Doc/library/os.rst:3503 msgid "Exit code that means a user specified output file could not be created." msgstr "" "Código de salida que significa que no se pudo crear un archivo de salida " "especificado por el usuario." -#: ../Doc/library/os.rst:3490 +#: ../Doc/library/os.rst:3510 msgid "" "Exit code that means that an error occurred while doing I/O on some file." msgstr "" "Código de salida que significa que se produjo un error al realizar E / S en " "algún archivo." -#: ../Doc/library/os.rst:3497 +#: ../Doc/library/os.rst:3517 msgid "" "Exit code that means a temporary failure occurred. This indicates something " "that may not really be an error, such as a network connection that couldn't " @@ -5136,7 +5170,7 @@ msgstr "" "algo que puede no ser realmente un error, como una conexión de red que no se " "pudo realizar durante una operación recuperable." -#: ../Doc/library/os.rst:3506 +#: ../Doc/library/os.rst:3526 msgid "" "Exit code that means that a protocol exchange was illegal, invalid, or not " "understood." @@ -5144,7 +5178,7 @@ msgstr "" "Código de salida que significa que un intercambio de protocolo fue ilegal, " "inválido o no se entendió." -#: ../Doc/library/os.rst:3514 +#: ../Doc/library/os.rst:3534 msgid "" "Exit code that means that there were insufficient permissions to perform the " "operation (but not intended for file system problems)." @@ -5152,18 +5186,18 @@ msgstr "" "Código de salida que significa que no había permisos suficientes para " "realizar la operación (pero no para problemas del sistema de archivos)." -#: ../Doc/library/os.rst:3522 +#: ../Doc/library/os.rst:3542 msgid "Exit code that means that some kind of configuration error occurred." msgstr "" "Código de salida que significa que se produjo algún tipo de error de " "configuración." -#: ../Doc/library/os.rst:3529 +#: ../Doc/library/os.rst:3549 msgid "Exit code that means something like \"an entry was not found\"." msgstr "" "Código de salida que significa algo así como \"no se encontró una entrada\"." -#: ../Doc/library/os.rst:3536 +#: ../Doc/library/os.rst:3556 msgid "" "Fork a child process. Return ``0`` in the child and the child's process id " "in the parent. If an error occurs :exc:`OSError` is raised." @@ -5172,7 +5206,7 @@ msgstr "" "proceso del niño en el padre. Si se produce un error se genera :exc:" "`OSError`." -#: ../Doc/library/os.rst:3539 +#: ../Doc/library/os.rst:3559 msgid "" "Note that some platforms including FreeBSD <= 6.3 and Cygwin have known " "issues when using ``fork()`` from a thread." @@ -5180,13 +5214,13 @@ msgstr "" "Tenga en cuenta que algunas plataformas que incluyen FreeBSD <= 6.3 y " "Cygwin tienen problemas conocidos al usar ``fork()`` desde un hilo." -#: ../Doc/library/os.rst:3543 +#: ../Doc/library/os.rst:3562 msgid "" "Raises an :ref:`auditing event ` ``os.fork`` with no arguments." msgstr "" "Lanza un :ref:`evento de auditoría ` ``os.fork`` sin argumentos." -#: ../Doc/library/os.rst:3544 +#: ../Doc/library/os.rst:3564 msgid "" "Calling ``fork()`` in a subinterpreter is no longer supported (:exc:" "`RuntimeError` is raised)." @@ -5194,11 +5228,11 @@ msgstr "" "Llamar a ``fork()`` en un subinterpretador ya no es compatible (:exc:" "`RuntimeError` está activado)." -#: ../Doc/library/os.rst:3550 +#: ../Doc/library/os.rst:3570 msgid "See :mod:`ssl` for applications that use the SSL module with fork()." msgstr "Ver :mod:`ssl` para aplicaciones que usan el módulo SSL con fork()." -#: ../Doc/library/os.rst:3557 +#: ../Doc/library/os.rst:3577 msgid "" "Fork a child process, using a new pseudo-terminal as the child's controlling " "terminal. Return a pair of ``(pid, fd)``, where *pid* is ``0`` in the child, " @@ -5213,13 +5247,13 @@ msgstr "" "del final maestro de El pseudo-terminal. Para un enfoque más portátil, use " "el módulo :mod:`pty`. Si se produce un error se genera :exc:`OSError`." -#: ../Doc/library/os.rst:3564 +#: ../Doc/library/os.rst:3583 msgid "" "Raises an :ref:`auditing event ` ``os.forkpty`` with no arguments." msgstr "" "Lanza un :ref:`evento de auditoría ` ``os.forkpty`` sin argumentos." -#: ../Doc/library/os.rst:3565 +#: ../Doc/library/os.rst:3585 msgid "" "Calling ``forkpty()`` in a subinterpreter is no longer supported (:exc:" "`RuntimeError` is raised)." @@ -5227,7 +5261,7 @@ msgstr "" "Llamar a ``forkpty()`` en un subinterpretador ya no es compatible (:exc:" "`RuntimeError` está activado)." -#: ../Doc/library/os.rst:3578 +#: ../Doc/library/os.rst:3598 msgid "" "Send signal *sig* to the process *pid*. Constants for the specific signals " "available on the host platform are defined in the :mod:`signal` module." @@ -5236,7 +5270,7 @@ msgstr "" "específicas disponibles en la plataforma host se definen en el módulo :mod:" "`signal`." -#: ../Doc/library/os.rst:3581 +#: ../Doc/library/os.rst:3601 msgid "" "Windows: The :data:`signal.CTRL_C_EVENT` and :data:`signal.CTRL_BREAK_EVENT` " "signals are special signals which can only be sent to console processes " @@ -5253,11 +5287,11 @@ msgstr "" "salida se establecerá en *sig*. La versión de Windows de :func:`kill` " "también requiere que los identificadores de proceso sean eliminados." -#: ../Doc/library/os.rst:3589 +#: ../Doc/library/os.rst:3609 msgid "See also :func:`signal.pthread_kill`." msgstr "Ver también :func:`signal.pthread_kill`." -#: ../Doc/library/os.rst:3592 +#: ../Doc/library/os.rst:3611 msgid "" "Raises an :ref:`auditing event ` ``os.kill`` with arguments " "``pid``, ``sig``." @@ -5265,15 +5299,15 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``os.kill`` con argumentos " "``pid``, ``sig``." -#: ../Doc/library/os.rst:3593 +#: ../Doc/library/os.rst:3613 msgid "Windows support." msgstr "Soporte de Windows." -#: ../Doc/library/os.rst:3603 +#: ../Doc/library/os.rst:3623 msgid "Send the signal *sig* to the process group *pgid*." msgstr "Envíe la señal *sig* al grupo de procesos *pgid*." -#: ../Doc/library/os.rst:3606 +#: ../Doc/library/os.rst:3625 msgid "" "Raises an :ref:`auditing event ` ``os.killpg`` with arguments " "``pgid``, ``sig``." @@ -5281,14 +5315,31 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``os.killpg`` con argumentos " "``pgid``, ``sig``." -#: ../Doc/library/os.rst:3612 +#: ../Doc/library/os.rst:3632 msgid "" "Add *increment* to the process's \"niceness\". Return the new niceness." msgstr "" "Agregue *increment* a la \"simpatía\" del proceso. Retorna la nueva " "amabilidad." -#: ../Doc/library/os.rst:3619 +#: ../Doc/library/os.rst:3639 +msgid "" +"Return a file descriptor referring to the process *pid*. This descriptor " +"can be used to perform process management without races and signals. The " +"*flags* argument is provided for future extensions; no flag values are " +"currently defined." +msgstr "" + +#: ../Doc/library/os.rst:3644 +msgid "See the :manpage:`pidfd_open(2)` man page for more details." +msgstr "" + +#: ../Doc/library/os.rst:3646 +#, fuzzy +msgid ":ref:`Availability `: Linux 5.3+" +msgstr ":ref:`Disponibilidad `: Unix." + +#: ../Doc/library/os.rst:3652 msgid "" "Lock program segments into memory. The value of *op* (defined in ````) determines which segments are locked." @@ -5296,7 +5347,7 @@ msgstr "" "Bloquee segmentos del programa en la memoria. El valor de *op* (definido en " "````) determina qué segmentos están bloqueados." -#: ../Doc/library/os.rst:3627 +#: ../Doc/library/os.rst:3660 msgid "" "Open a pipe to or from command *cmd*. The return value is an open file " "object connected to the pipe, which can be read or written depending on " @@ -5312,7 +5363,7 @@ msgstr "" "correspondiente a la función incorporada :func:`open`. El objeto de archivo " "retornado lee o escribe cadenas de texto en lugar de bytes." -#: ../Doc/library/os.rst:3634 +#: ../Doc/library/os.rst:3667 msgid "" "The ``close`` method returns :const:`None` if the subprocess exited " "successfully, or the subprocess's return code if there was an error. On " @@ -5333,7 +5384,14 @@ msgstr "" "el valor de retorno contiene el código de retorno entero firmado del proceso " "secundario." -#: ../Doc/library/os.rst:3644 +#: ../Doc/library/os.rst:3677 +msgid "" +"On Unix, :func:`waitstatus_to_exitcode` can be used to convert the ``close`` " +"method result (exit status) into an exit code if it is not ``None``. On " +"Windows, the ``close`` method result is directly the exit code (or ``None``)." +msgstr "" + +#: ../Doc/library/os.rst:3682 msgid "" "This is implemented using :class:`subprocess.Popen`; see that class's " "documentation for more powerful ways to manage and communicate with " @@ -5343,20 +5401,20 @@ msgstr "" "documentación de esa clase para obtener formas más potentes de administrar y " "comunicarse con subprocesos." -#: ../Doc/library/os.rst:3653 +#: ../Doc/library/os.rst:3691 msgid "Wraps the :c:func:`posix_spawn` C library API for use from Python." msgstr "" "Envuelve la API de la biblioteca C :c:func:`posix_spawn` para usar desde " "Python." -#: ../Doc/library/os.rst:3655 +#: ../Doc/library/os.rst:3693 msgid "" "Most users should use :func:`subprocess.run` instead of :func:`posix_spawn`." msgstr "" "La mayoría de los usuarios deberían usar :func:`subprocess.run` en lugar de :" "func:`posix_spawn`." -#: ../Doc/library/os.rst:3657 +#: ../Doc/library/os.rst:3695 msgid "" "The positional-only arguments *path*, *args*, and *env* are similar to :func:" "`execve`." @@ -5364,17 +5422,18 @@ msgstr "" "Los argumentos de solo posición *path*, *args* y *env* son similares a :func:" "`execve`." -#: ../Doc/library/os.rst:3660 +#: ../Doc/library/os.rst:3698 +#, fuzzy msgid "" -"The *path* parameter is the path to the executable file.The *path* should " -"contain a directory.Use :func:`posix_spawnp` to pass an executable file " +"The *path* parameter is the path to the executable file. The *path* should " +"contain a directory. Use :func:`posix_spawnp` to pass an executable file " "without directory." msgstr "" "El parámetro *path* es la ruta al archivo ejecutable. La *path* debe " "contener un directorio. Utilice :func:`posix_spawnp` para pasar un archivo " "ejecutable sin directorio." -#: ../Doc/library/os.rst:3664 +#: ../Doc/library/os.rst:3702 msgid "" "The *file_actions* argument may be a sequence of tuples describing actions " "to take on specific file descriptors in the child process between the C " @@ -5389,31 +5448,31 @@ msgstr "" "los tres indicadores de tipo que se enumeran a continuación y que describen " "los elementos de tupla restantes:" -#: ../Doc/library/os.rst:3672 +#: ../Doc/library/os.rst:3710 msgid "(``os.POSIX_SPAWN_OPEN``, *fd*, *path*, *flags*, *mode*)" msgstr "(``os.POSIX_SPAWN_OPEN``, *fd*, *path*, *flags*, *mode*)" -#: ../Doc/library/os.rst:3674 +#: ../Doc/library/os.rst:3712 msgid "Performs ``os.dup2(os.open(path, flags, mode), fd)``." msgstr "Realiza ``os.dup2(os.open(path, flags, mode), fd)``." -#: ../Doc/library/os.rst:3678 +#: ../Doc/library/os.rst:3716 msgid "(``os.POSIX_SPAWN_CLOSE``, *fd*)" msgstr "(``os.POSIX_SPAWN_CLOSE``, *fd*)" -#: ../Doc/library/os.rst:3680 +#: ../Doc/library/os.rst:3718 msgid "Performs ``os.close(fd)``." msgstr "Realiza ``os.close(fd)``." -#: ../Doc/library/os.rst:3684 +#: ../Doc/library/os.rst:3722 msgid "(``os.POSIX_SPAWN_DUP2``, *fd*, *new_fd*)" msgstr "(``os.POSIX_SPAWN_DUP2``, *fd*, *new_fd*)" -#: ../Doc/library/os.rst:3686 +#: ../Doc/library/os.rst:3724 msgid "Performs ``os.dup2(fd, new_fd)``." msgstr "Realiza ``os.dup2(fd, new_fd)``." -#: ../Doc/library/os.rst:3688 +#: ../Doc/library/os.rst:3726 msgid "" "These tuples correspond to the C library :c:func:" "`posix_spawn_file_actions_addopen`, :c:func:" @@ -5427,7 +5486,7 @@ msgstr "" "`posix_spawn_file_actions_adddup2` Llamadas API utilizadas para prepararse " "para :c:func:`posix_spawn` se llame a sí mismo." -#: ../Doc/library/os.rst:3694 +#: ../Doc/library/os.rst:3732 msgid "" "The *setpgroup* argument will set the process group of the child to the " "value specified. If the value specified is 0, the child's process group ID " @@ -5442,7 +5501,7 @@ msgstr "" "ID del grupo de proceso del elemento primario. Este argumento corresponde al " "flag :c:data:`POSIX_SPAWN_SETPGROUP` de la biblioteca de C." -#: ../Doc/library/os.rst:3700 +#: ../Doc/library/os.rst:3738 msgid "" "If the *resetids* argument is ``True`` it will reset the effective UID and " "GID of the child to the real UID and GID of the parent process. If the " @@ -5460,7 +5519,7 @@ msgstr "" "UID y GID efectivos. Este argumento corresponde a la flag de la biblioteca " "C :c:data:`POSIX_SPAWN_RESETIDS`." -#: ../Doc/library/os.rst:3708 +#: ../Doc/library/os.rst:3746 msgid "" "If the *setsid* argument is ``True``, it will create a new session ID for " "`posix_spawn`. *setsid* requires :c:data:`POSIX_SPAWN_SETSID` or :c:data:" @@ -5472,7 +5531,7 @@ msgstr "" "`POSIX_SPAWN_SETSID_NP`. De lo contrario, se excita :exc:" "`NotImplementedError`." -#: ../Doc/library/os.rst:3713 +#: ../Doc/library/os.rst:3751 msgid "" "The *setsigmask* argument will set the signal mask to the signal set " "specified. If the parameter is not used, then the child inherits the " @@ -5484,7 +5543,7 @@ msgstr "" "señal del padre. Este argumento corresponde al flag :c:data:" "`POSIX_SPAWN_SETSIGMASK` de la biblioteca en C." -#: ../Doc/library/os.rst:3718 +#: ../Doc/library/os.rst:3756 msgid "" "The *sigdef* argument will reset the disposition of all signals in the set " "specified. This argument corresponds to the C library :c:data:" @@ -5494,7 +5553,7 @@ msgstr "" "conjunto especificado. Este argumento corresponde al flag :c:data:" "`POSIX_SPAWN_SETSIGDEF` de la biblioteca de C." -#: ../Doc/library/os.rst:3722 +#: ../Doc/library/os.rst:3760 msgid "" "The *scheduler* argument must be a tuple containing the (optional) scheduler " "policy and an instance of :class:`sched_param` with the scheduler " @@ -5510,7 +5569,7 @@ msgstr "" "combinación de la biblioteca C :c:data:`POSIX_SPAWN_SETSCHEDPARAM` y flags :" "c:data:`POSIX_SPAWN_SETSCHEDULER`." -#: ../Doc/library/os.rst:3730 ../Doc/library/os.rst:3746 +#: ../Doc/library/os.rst:3767 ../Doc/library/os.rst:3783 msgid "" "Raises an :ref:`auditing event ` ``os.posix_spawn`` with arguments " "``path``, ``argv``, ``env``." @@ -5518,13 +5577,13 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``os.posix_spawn`` con " "argumentos ``ruta``, ``argv``, ``env``." -#: ../Doc/library/os.rst:3739 +#: ../Doc/library/os.rst:3777 msgid "Wraps the :c:func:`posix_spawnp` C library API for use from Python." msgstr "" "Envuelve la API de la biblioteca :c:func:`posix_spawnp` C para usar desde " "Python." -#: ../Doc/library/os.rst:3741 +#: ../Doc/library/os.rst:3779 msgid "" "Similar to :func:`posix_spawn` except that the system searches for the " "*executable* file in the list of directories specified by the :envvar:`PATH` " @@ -5534,13 +5593,13 @@ msgstr "" "*executable* en la lista de directorios especificada por la variable de " "entorno :envvar:`PATH` (de la misma manera que para ``execvp(3)`` )" -#: ../Doc/library/os.rst:3749 +#: ../Doc/library/os.rst:3787 msgid "" ":ref:`Availability `: See :func:`posix_spawn` documentation." msgstr "" ":ref:`Disponibilidad `: Ver documentación :func:`posix_spawn`." -#: ../Doc/library/os.rst:3755 +#: ../Doc/library/os.rst:3793 msgid "" "Register callables to be executed when a new child process is forked using :" "func:`os.fork` or similar process cloning APIs. The parameters are optional " @@ -5551,11 +5610,11 @@ msgstr "" "similares. Los parámetros son opcionales y solo de palabras clave. Cada uno " "especifica un punto de llamada diferente." -#: ../Doc/library/os.rst:3760 +#: ../Doc/library/os.rst:3798 msgid "*before* is a function called before forking a child process." msgstr "*before* es una función llamada antes de bifurcar un proceso hijo." -#: ../Doc/library/os.rst:3761 +#: ../Doc/library/os.rst:3799 msgid "" "*after_in_parent* is a function called from the parent process after forking " "a child process." @@ -5563,11 +5622,11 @@ msgstr "" "*after_in_parent* es una función llamada desde el proceso padre después de " "bifurcar un proceso hijo." -#: ../Doc/library/os.rst:3763 +#: ../Doc/library/os.rst:3801 msgid "*after_in_child* is a function called from the child process." msgstr "*after_in_child* es una función llamada desde el proceso hijo." -#: ../Doc/library/os.rst:3765 +#: ../Doc/library/os.rst:3803 msgid "" "These calls are only made if control is expected to return to the Python " "interpreter. A typical :mod:`subprocess` launch will not trigger them as " @@ -5577,7 +5636,7 @@ msgstr "" "intérprete de Python. Un lanzamiento típico :mod:`subprocess` no los " "activará ya que el niño no va a volver a ingresar al intérprete." -#: ../Doc/library/os.rst:3769 +#: ../Doc/library/os.rst:3807 msgid "" "Functions registered for execution before forking are called in reverse " "registration order. Functions registered for execution after forking " @@ -5588,7 +5647,7 @@ msgstr "" "ejecución después de la bifurcación (ya sea en el padre o en el hijo) se " "invocan en orden de registro." -#: ../Doc/library/os.rst:3774 +#: ../Doc/library/os.rst:3812 msgid "" "Note that :c:func:`fork` calls made by third-party C code may not call those " "functions, unless it explicitly calls :c:func:`PyOS_BeforeFork`, :c:func:" @@ -5599,15 +5658,15 @@ msgstr "" "a :c:func:`PyOS_BeforeFork`, :c:func:`PyOS_AfterFork_Parent` y :c:func:" "`PyOS_AfterFork_Child`." -#: ../Doc/library/os.rst:3778 +#: ../Doc/library/os.rst:3816 msgid "There is no way to unregister a function." msgstr "No hay forma de cancelar el registro de una función." -#: ../Doc/library/os.rst:3794 +#: ../Doc/library/os.rst:3832 msgid "Execute the program *path* in a new process." msgstr "Ejecute el programa *path* en un nuevo proceso." -#: ../Doc/library/os.rst:3796 +#: ../Doc/library/os.rst:3834 msgid "" "(Note that the :mod:`subprocess` module provides more powerful facilities " "for spawning new processes and retrieving their results; using that module " @@ -5619,7 +5678,7 @@ msgstr "" "preferible usar ese módulo que usar estas funciones. Compruebe especialmente " "la sección :ref:`subprocess-replacements`.)" -#: ../Doc/library/os.rst:3801 +#: ../Doc/library/os.rst:3839 msgid "" "If *mode* is :const:`P_NOWAIT`, this function returns the process id of the " "new process; if *mode* is :const:`P_WAIT`, returns the process's exit code " @@ -5634,7 +5693,7 @@ msgstr "" "realidad será el identificador del proceso, por lo que se puede usar con la " "función :func:`waitpid`." -#: ../Doc/library/os.rst:3807 +#: ../Doc/library/os.rst:3845 msgid "" "Note on VxWorks, this function doesn't return ``-signal`` when the new " "process is killed. Instead it raises OSError exception." @@ -5642,7 +5701,7 @@ msgstr "" "Nota sobre VxWorks, esta función no retorna ``-signal`` cuando se cierra el " "nuevo proceso. En su lugar, genera una excepción OSError." -#: ../Doc/library/os.rst:3810 +#: ../Doc/library/os.rst:3848 msgid "" "The \"l\" and \"v\" variants of the :func:`spawn\\* ` functions " "differ in how command-line arguments are passed. The \"l\" variants are " @@ -5663,7 +5722,7 @@ msgstr "" "*args*. En cualquier caso, los argumentos del proceso secundario deben " "comenzar con el nombre del comando que se está ejecutando." -#: ../Doc/library/os.rst:3819 +#: ../Doc/library/os.rst:3857 msgid "" "The variants which include a second \"p\" near the end (:func:`spawnlp`, :" "func:`spawnlpe`, :func:`spawnvp`, and :func:`spawnvpe`) will use the :envvar:" @@ -5685,7 +5744,7 @@ msgstr "" "utilizarán la variable :envvar:`PATH` para localizar el ejecutable; *path* " "debe contener una ruta absoluta o relativa apropiada." -#: ../Doc/library/os.rst:3829 +#: ../Doc/library/os.rst:3867 msgid "" "For :func:`spawnle`, :func:`spawnlpe`, :func:`spawnve`, and :func:`spawnvpe` " "(note that these all end in \"e\"), the *env* parameter must be a mapping " @@ -5706,7 +5765,7 @@ msgstr "" "cadenas; Las teclas o valores no válidos harán que la función falle, con un " "valor de retorno de ``127``." -#: ../Doc/library/os.rst:3838 +#: ../Doc/library/os.rst:3876 msgid "" "As an example, the following calls to :func:`spawnlp` and :func:`spawnvpe` " "are equivalent::" @@ -5714,7 +5773,7 @@ msgstr "" "Como ejemplo, las siguientes llamadas a :func:`spawnlp` y :func:`spawnvpe` " "son equivalentes::" -#: ../Doc/library/os.rst:3848 +#: ../Doc/library/os.rst:3885 msgid "" "Raises an :ref:`auditing event ` ``os.spawn`` with arguments " "``mode``, ``path``, ``args``, ``env``." @@ -5722,7 +5781,7 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``os.spawn`` con argumentos " "``mode``, ``path``, ``args``, ``env``." -#: ../Doc/library/os.rst:3853 +#: ../Doc/library/os.rst:3891 msgid "" ":ref:`Availability `: Unix, Windows. :func:`spawnlp`, :func:" "`spawnlpe`, :func:`spawnvp` and :func:`spawnvpe` are not available on " @@ -5735,7 +5794,7 @@ msgstr "" "en Windows; le recomendamos que utilice el módulo :mod:`subprocess` en su " "lugar." -#: ../Doc/library/os.rst:3861 +#: ../Doc/library/os.rst:3899 msgid "" "Possible values for the *mode* parameter to the :func:`spawn\\* ` " "family of functions. If either of these values is given, the :func:`spawn" @@ -5747,7 +5806,7 @@ msgstr "" "`spawn\\*` volverán tan pronto como se haya creado el nuevo proceso, con la " "identificación del proceso como valor de retorno." -#: ../Doc/library/os.rst:3871 +#: ../Doc/library/os.rst:3909 msgid "" "Possible value for the *mode* parameter to the :func:`spawn\\* ` " "family of functions. If this is given as *mode*, the :func:`spawn\\*` " @@ -5761,7 +5820,7 @@ msgstr "" "el código de salida del proceso, la ejecución es exitosa, o ``-signal`` si " "una señal mata el proceso." -#: ../Doc/library/os.rst:3883 +#: ../Doc/library/os.rst:3921 msgid "" "Possible values for the *mode* parameter to the :func:`spawn\\* ` " "family of functions. These are less portable than those listed above. :" @@ -5777,11 +5836,11 @@ msgstr "" "const:`P_OVERLAY`, el proceso actual será reemplazado; la función :func:" "`spawn\\* ` no volverá." -#: ../Doc/library/os.rst:3894 +#: ../Doc/library/os.rst:3932 msgid "Start a file with its associated application." msgstr "Inicie un archivo con su aplicación asociada." -#: ../Doc/library/os.rst:3896 +#: ../Doc/library/os.rst:3934 msgid "" "When *operation* is not specified or ``'open'``, this acts like double-" "clicking the file in Windows Explorer, or giving the file name as an " @@ -5795,7 +5854,7 @@ msgstr "" "comandos interactivo: el archivo se abre con cualquier aplicación (si la " "hay) a la que está asociada su extensión." -#: ../Doc/library/os.rst:3901 +#: ../Doc/library/os.rst:3939 msgid "" "When another *operation* is given, it must be a \"command verb\" that " "specifies what should be done with the file. Common verbs documented by " @@ -5807,7 +5866,7 @@ msgstr "" "por Microsoft son ``'print'`` y ``'edit'`` (para usar en archivos), así como " "``'explore'`` y ``'find'`` (para usar en directorios)." -#: ../Doc/library/os.rst:3906 +#: ../Doc/library/os.rst:3944 msgid "" ":func:`startfile` returns as soon as the associated application is launched. " "There is no option to wait for the application to close, and no way to " @@ -5826,7 +5885,7 @@ msgstr "" "función :func:`os.path.normpath` para asegurarse de que la ruta esté " "codificada correctamente para Win32." -#: ../Doc/library/os.rst:3914 +#: ../Doc/library/os.rst:3952 msgid "" "To reduce interpreter startup overhead, the Win32 :c:func:`ShellExecute` " "function is not resolved until this function is first called. If the " @@ -5837,7 +5896,7 @@ msgstr "" "primera vez. Si la función no se puede resolver, se generará :exc:" "`NotImplementedError`." -#: ../Doc/library/os.rst:3919 +#: ../Doc/library/os.rst:3956 msgid "" "Raises an :ref:`auditing event ` ``os.startfile`` with arguments " "``path``, ``operation``." @@ -5845,7 +5904,7 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``os.startfile`` con " "argumentos ``path``, ``operation``." -#: ../Doc/library/os.rst:3925 +#: ../Doc/library/os.rst:3963 msgid "" "Execute the command (a string) in a subshell. This is implemented by " "calling the Standard C function :c:func:`system`, and has the same " @@ -5859,7 +5918,7 @@ msgstr "" "comando ejecutado. Si *command* genera alguna salida, se enviará al flujo de " "salida estándar del intérprete." -#: ../Doc/library/os.rst:3931 +#: ../Doc/library/os.rst:3969 msgid "" "On Unix, the return value is the exit status of the process encoded in the " "format specified for :func:`wait`. Note that POSIX does not specify the " @@ -5872,7 +5931,7 @@ msgstr "" "`system`, por lo que el valor de retorno de la función Python depende del " "sistema." -#: ../Doc/library/os.rst:3936 +#: ../Doc/library/os.rst:3974 msgid "" "On Windows, the return value is that returned by the system shell after " "running *command*. The shell is given by the Windows environment variable :" @@ -5886,7 +5945,7 @@ msgstr "" "que retorna el estado de salida de la ejecución del comando; En sistemas que " "utilizan un shell no nativo, consulte la documentación del shell." -#: ../Doc/library/os.rst:3942 +#: ../Doc/library/os.rst:3980 msgid "" "The :mod:`subprocess` module provides more powerful facilities for spawning " "new processes and retrieving their results; using that module is preferable " @@ -5899,7 +5958,14 @@ msgstr "" "replacements` en la documentación de :mod:`subprocess` para obtener algunas " "recetas útiles." -#: ../Doc/library/os.rst:3948 +#: ../Doc/library/os.rst:3985 +msgid "" +"On Unix, :func:`waitstatus_to_exitcode` can be used to convert the result " +"(exit status) into an exit code. On Windows, the result is directly the exit " +"code." +msgstr "" + +#: ../Doc/library/os.rst:3989 msgid "" "Raises an :ref:`auditing event ` ``os.system`` with argument " "``command``." @@ -5907,7 +5973,7 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``os.system`` con argumento " "``command``." -#: ../Doc/library/os.rst:3954 +#: ../Doc/library/os.rst:3996 msgid "" "Returns the current global process times. The return value is an object with " "five attributes:" @@ -5915,30 +5981,30 @@ msgstr "" "Retorna los tiempos de proceso globales actuales. El valor de retorno es un " "objeto con cinco atributos:" -#: ../Doc/library/os.rst:3957 +#: ../Doc/library/os.rst:3999 msgid ":attr:`user` - user time" msgstr ":attr:`user` - tiempo de usuario" -#: ../Doc/library/os.rst:3958 +#: ../Doc/library/os.rst:4000 msgid ":attr:`system` - system time" msgstr ":mod:`os` --- Interfaces misceláneas del sistema operativo" -#: ../Doc/library/os.rst:3959 +#: ../Doc/library/os.rst:4001 msgid ":attr:`children_user` - user time of all child processes" msgstr "" ":attr:`children_user` - tiempo de usuario de todos los procesos secundarios" -#: ../Doc/library/os.rst:3960 +#: ../Doc/library/os.rst:4002 msgid ":attr:`children_system` - system time of all child processes" msgstr "" ":attr:`children_system` - hora del sistema de todos los procesos secundarios" -#: ../Doc/library/os.rst:3961 +#: ../Doc/library/os.rst:4003 msgid ":attr:`elapsed` - elapsed real time since a fixed point in the past" msgstr "" ":attr:`elapsed` - tiempo real transcurrido desde un punto fijo en el pasado" -#: ../Doc/library/os.rst:3963 +#: ../Doc/library/os.rst:4005 msgid "" "For backwards compatibility, this object also behaves like a five-tuple " "containing :attr:`user`, :attr:`system`, :attr:`children_user`, :attr:" @@ -5948,7 +6014,7 @@ msgstr "" "como una tupla que contiene :attr:`user`, :attr:`system`, :attr:" "`children_user`, :attr:`children_system`, y :attr:`elapsed` en ese orden" -#: ../Doc/library/os.rst:3967 +#: ../Doc/library/os.rst:4009 msgid "" "See the Unix manual page :manpage:`times(2)` and :manpage:`times(3)` manual " "page on Unix or `the GetProcessTimes MSDN `_ en Windows. En Windows, solo se conocen :attr:`user` y :" "attr:`system`; Los otros atributos son cero." -#: ../Doc/library/os.rst:3981 +#: ../Doc/library/os.rst:4023 msgid "" "Wait for completion of a child process, and return a tuple containing its " "pid and exit status indication: a 16-bit number, whose low byte is the " @@ -5976,17 +6042,30 @@ msgstr "" "estado de salida (si la señal el número es cero); el bit alto del byte bajo " "se establece si se produjo un archivo central." -#: ../Doc/library/os.rst:3991 +#: ../Doc/library/os.rst:4029 ../Doc/library/os.rst:4134 +msgid "" +":func:`waitstatus_to_exitcode` can be used to convert the exit status into " +"an exit code." +msgstr "" + +#: ../Doc/library/os.rst:4036 +msgid "" +":func:`waitpid` can be used to wait for the completion of a specific child " +"process and has more options." +msgstr "" + +#: ../Doc/library/os.rst:4041 +#, fuzzy msgid "" "Wait for the completion of one or more child processes. *idtype* can be :" -"data:`P_PID`, :data:`P_PGID` or :data:`P_ALL`. *id* specifies the pid to " -"wait on. *options* is constructed from the ORing of one or more of :data:" -"`WEXITED`, :data:`WSTOPPED` or :data:`WCONTINUED` and additionally may be " -"ORed with :data:`WNOHANG` or :data:`WNOWAIT`. The return value is an object " -"representing the data contained in the :c:type:`siginfo_t` structure, " -"namely: :attr:`si_pid`, :attr:`si_uid`, :attr:`si_signo`, :attr:" -"`si_status`, :attr:`si_code` or ``None`` if :data:`WNOHANG` is specified and " -"there are no children in a waitable state." +"data:`P_PID`, :data:`P_PGID`, :data:`P_ALL`, or :data:`P_PIDFD` on Linux. " +"*id* specifies the pid to wait on. *options* is constructed from the ORing " +"of one or more of :data:`WEXITED`, :data:`WSTOPPED` or :data:`WCONTINUED` " +"and additionally may be ORed with :data:`WNOHANG` or :data:`WNOWAIT`. The " +"return value is an object representing the data contained in the :c:type:" +"`siginfo_t` structure, namely: :attr:`si_pid`, :attr:`si_uid`, :attr:" +"`si_signo`, :attr:`si_status`, :attr:`si_code` or ``None`` if :data:" +"`WNOHANG` is specified and there are no children in a waitable state." msgstr "" "Espere la finalización de uno o más procesos secundarios. *idtype* puede " "ser :data:`P_PID`, :data:`P_PGID` o :data:`P_ALL`. *id* especifica el pid " @@ -5998,7 +6077,7 @@ msgstr "" "attr:`si_status`, :attr:`si_code` o ``None`` if :data:`WNOHANG` está " "especificado y no hay hijos en un estado de espera." -#: ../Doc/library/os.rst:4010 +#: ../Doc/library/os.rst:4061 msgid "" "These are the possible values for *idtype* in :func:`waitid`. They affect " "how *id* is interpreted." @@ -6006,7 +6085,18 @@ msgstr "" "Estos son los valores posibles para *idtype* en :func:`waitid`. Afectan cómo " "se interpreta *id*." -#: ../Doc/library/os.rst:4021 +#: ../Doc/library/os.rst:4070 +msgid "" +"This is a Linux-specific *idtype* that indicates that *id* is a file " +"descriptor that refers to a process." +msgstr "" + +#: ../Doc/library/os.rst:4074 +#, fuzzy +msgid ":ref:`Availability `: Linux 5.4+" +msgstr ":ref:`Disponibilidad `: Unix." + +#: ../Doc/library/os.rst:4081 msgid "" "Flags that can be used in *options* in :func:`waitid` that specify what " "child signal to wait for." @@ -6014,7 +6104,7 @@ msgstr "" "Indicadores que se pueden usar en *options* en :func:`waitid` que " "especifican qué señal secundaria esperar." -#: ../Doc/library/os.rst:4034 +#: ../Doc/library/os.rst:4096 msgid "" "These are the possible values for :attr:`si_code` in the result returned by :" "func:`waitid`." @@ -6022,11 +6112,15 @@ msgstr "" "Estos son los valores posibles para :attr:`si_code` en el resultado " "retornado por :func:`waitid`." -#: ../Doc/library/os.rst:4044 +#: ../Doc/library/os.rst:4103 +msgid "Added :data:`CLD_KILLED` and :data:`CLD_STOPPED` values." +msgstr "" + +#: ../Doc/library/os.rst:4109 msgid "The details of this function differ on Unix and Windows." msgstr "Los detalles de esta función difieren en Unix y Windows." -#: ../Doc/library/os.rst:4046 +#: ../Doc/library/os.rst:4111 msgid "" "On Unix: Wait for completion of a child process given by process id *pid*, " "and return a tuple containing its process id and exit status indication " @@ -6041,7 +6135,7 @@ msgstr "" "valor del número entero *options*, que debe ser ``0`` para el funcionamiento " "normal." -#: ../Doc/library/os.rst:4051 +#: ../Doc/library/os.rst:4116 msgid "" "If *pid* is greater than ``0``, :func:`waitpid` requests status information " "for that specific process. If *pid* is ``0``, the request is for the status " @@ -6058,14 +6152,14 @@ msgstr "" "cualquier proceso en el grupo de procesos ``-pid`` (el valor absoluto de " "*pid*)." -#: ../Doc/library/os.rst:4058 +#: ../Doc/library/os.rst:4123 msgid "" "An :exc:`OSError` is raised with the value of errno when the syscall returns " "-1." msgstr "" "Un :exc:`OSError` se lanza con el valor de errno cuando syscall retorna -1." -#: ../Doc/library/os.rst:4061 +#: ../Doc/library/os.rst:4126 msgid "" "On Windows: Wait for completion of a process given by process handle *pid*, " "and return a tuple containing *pid*, and its exit status shifted left by 8 " @@ -6086,7 +6180,7 @@ msgstr "" "funciones :func:`spawn\\* ` llamadas con :const:`P_NOWAIT` retornan " "manejadores de proceso adecuados." -#: ../Doc/library/os.rst:4077 +#: ../Doc/library/os.rst:4145 msgid "" "Similar to :func:`waitpid`, except no process id argument is given and a 3-" "element tuple containing the child's process id, exit status indication, and " @@ -6102,7 +6196,13 @@ msgstr "" "recursos. El argumento de la opción es el mismo que se proporciona a :func:" "`waitpid` y :func:`wait4`." -#: ../Doc/library/os.rst:4089 +#: ../Doc/library/os.rst:4152 ../Doc/library/os.rst:4166 +msgid "" +":func:`waitstatus_to_exitcode` can be used to convert the exit status into " +"an exitcode." +msgstr "" + +#: ../Doc/library/os.rst:4160 msgid "" "Similar to :func:`waitpid`, except a 3-element tuple, containing the child's " "process id, exit status indication, and resource usage information is " @@ -6117,7 +6217,52 @@ msgstr "" "Los argumentos para :func:`wait4` son los mismos que los proporcionados " "para :func:`waitpid`." -#: ../Doc/library/os.rst:4100 +#: ../Doc/library/os.rst:4174 +msgid "Convert a wait status to an exit code." +msgstr "" + +#: ../Doc/library/os.rst:4176 +msgid "On Unix:" +msgstr "" + +#: ../Doc/library/os.rst:4178 +msgid "" +"If the process exited normally (if ``WIFEXITED(status)`` is true), return " +"the process exit status (return ``WEXITSTATUS(status)``): result greater " +"than or equal to 0." +msgstr "" + +#: ../Doc/library/os.rst:4181 +msgid "" +"If the process was terminated by a signal (if ``WIFSIGNALED(status)`` is " +"true), return ``-signum`` where *signum* is the number of the signal that " +"caused the process to terminate (return ``-WTERMSIG(status)``): result less " +"than 0." +msgstr "" + +#: ../Doc/library/os.rst:4185 +msgid "Otherwise, raise a :exc:`ValueError`." +msgstr "" + +#: ../Doc/library/os.rst:4187 +msgid "On Windows, return *status* shifted right by 8 bits." +msgstr "" + +#: ../Doc/library/os.rst:4189 +msgid "" +"On Unix, if the process is being traced or if :func:`waitpid` was called " +"with :data:`WUNTRACED` option, the caller must first check if " +"``WIFSTOPPED(status)`` is true. This function must not be called if " +"``WIFSTOPPED(status)`` is true." +msgstr "" + +#: ../Doc/library/os.rst:4196 +msgid "" +":func:`WIFEXITED`, :func:`WEXITSTATUS`, :func:`WIFSIGNALED`, :func:" +"`WTERMSIG`, :func:`WIFSTOPPED`, :func:`WSTOPSIG` functions." +msgstr "" + +#: ../Doc/library/os.rst:4204 msgid "" "The option for :func:`waitpid` to return immediately if no child process " "status is available immediately. The function returns ``(0, 0)`` in this " @@ -6127,7 +6272,7 @@ msgstr "" "estado de proceso secundario disponible de inmediato. La función retorna " "``(0, 0)`` en este caso." -#: ../Doc/library/os.rst:4108 +#: ../Doc/library/os.rst:4212 msgid "" "This option causes child processes to be reported if they have been " "continued from a job control stop since their status was last reported." @@ -6136,11 +6281,11 @@ msgstr "" "continuado desde una parada de control de trabajo desde la última vez que se " "informó su estado." -#: ../Doc/library/os.rst:4111 +#: ../Doc/library/os.rst:4215 msgid ":ref:`Availability `: some Unix systems." msgstr ":ref:`Disponibilidad `: algunos sistemas Unix." -#: ../Doc/library/os.rst:4116 +#: ../Doc/library/os.rst:4220 msgid "" "This option causes child processes to be reported if they have been stopped " "but their current state has not been reported since they were stopped." @@ -6148,7 +6293,7 @@ msgstr "" "Esta opción hace que se informen los procesos secundarios si se han detenido " "pero su estado actual no se ha informado desde que se detuvieron." -#: ../Doc/library/os.rst:4122 +#: ../Doc/library/os.rst:4226 msgid "" "The following functions take a process status code as returned by :func:" "`system`, :func:`wait`, or :func:`waitpid` as a parameter. They may be used " @@ -6158,7 +6303,7 @@ msgstr "" "por :func:`system`, :func:`wait`, o :func:`waitpid` como parámetro. Pueden " "usarse para determinar la disposición de un proceso." -#: ../Doc/library/os.rst:4128 +#: ../Doc/library/os.rst:4232 msgid "" "Return ``True`` if a core dump was generated for the process, otherwise " "return ``False``." @@ -6166,11 +6311,11 @@ msgstr "" "Retorna ``True`` si se generó un volcado de núcleo para el proceso; de lo " "contrario, retorna ``False``." -#: ../Doc/library/os.rst:4131 ../Doc/library/os.rst:4197 +#: ../Doc/library/os.rst:4235 ../Doc/library/os.rst:4301 msgid "This function should be employed only if :func:`WIFSIGNALED` is true." msgstr "Esta función debe emplearse solo si :func:`WIFSIGNALED` es verdadero." -#: ../Doc/library/os.rst:4138 +#: ../Doc/library/os.rst:4242 msgid "" "Return ``True`` if a stopped child has been resumed by delivery of :data:" "`~signal.SIGCONT` (if the process has been continued from a job control " @@ -6180,11 +6325,11 @@ msgstr "" "data:`~signal.SIGCONT` (si el proceso se ha continuado desde una parada de " "control de trabajo), de lo contrario, retorna ``False``." -#: ../Doc/library/os.rst:4142 +#: ../Doc/library/os.rst:4246 msgid "See :data:`WCONTINUED` option." msgstr "Ver opción :data:`WCONTINUED`." -#: ../Doc/library/os.rst:4149 +#: ../Doc/library/os.rst:4253 msgid "" "Return ``True`` if the process was stopped by delivery of a signal, " "otherwise return ``False``." @@ -6192,7 +6337,7 @@ msgstr "" "retorna ``True`` si el proceso se detuvo mediante la entrega de una señal; " "de lo contrario, retorna ``False``." -#: ../Doc/library/os.rst:4152 +#: ../Doc/library/os.rst:4256 msgid "" ":func:`WIFSTOPPED` only returns ``True`` if the :func:`waitpid` call was " "done using :data:`WUNTRACED` option or when the process is being traced " @@ -6202,7 +6347,7 @@ msgstr "" "realizó utilizando la opción :data:`WUNTRACED` o cuando se rastrea el " "proceso (consulte :manpage:`ptrace(2)`)" -#: ../Doc/library/os.rst:4160 +#: ../Doc/library/os.rst:4264 msgid "" "Return ``True`` if the process was terminated by a signal, otherwise return " "``False``." @@ -6210,7 +6355,7 @@ msgstr "" "retorna ``True`` si el proceso finalizó con una señal; de lo contrario, " "retorna ``False``." -#: ../Doc/library/os.rst:4168 +#: ../Doc/library/os.rst:4272 msgid "" "Return ``True`` if the process exited terminated normally, that is, by " "calling ``exit()`` or ``_exit()``, or by returning from ``main()``; " @@ -6220,31 +6365,31 @@ msgstr "" "``exit()`` o ``_exit()``, o volviendo de ``main()``; de lo contrario, " "retorna ``False``." -#: ../Doc/library/os.rst:4177 +#: ../Doc/library/os.rst:4281 msgid "Return the process exit status." msgstr "Retorna el estado de salida del proceso." -#: ../Doc/library/os.rst:4179 +#: ../Doc/library/os.rst:4283 msgid "This function should be employed only if :func:`WIFEXITED` is true." msgstr "Esta función debe emplearse solo si :func:`WIFEXITED` es verdadero." -#: ../Doc/library/os.rst:4186 +#: ../Doc/library/os.rst:4290 msgid "Return the signal which caused the process to stop." msgstr "Retorna la señal que hizo que el proceso se detuviera." -#: ../Doc/library/os.rst:4188 +#: ../Doc/library/os.rst:4292 msgid "This function should be employed only if :func:`WIFSTOPPED` is true." msgstr "Esta función debe emplearse solo si :func:`WIFSTOPPED` es verdadero." -#: ../Doc/library/os.rst:4195 +#: ../Doc/library/os.rst:4299 msgid "Return the number of the signal that caused the process to terminate." msgstr "Retorna el número de la señal que provocó la finalización del proceso." -#: ../Doc/library/os.rst:4203 +#: ../Doc/library/os.rst:4307 msgid "Interface to the scheduler" msgstr "Interfaz al planificador" -#: ../Doc/library/os.rst:4205 +#: ../Doc/library/os.rst:4309 msgid "" "These functions control how a process is allocated CPU time by the operating " "system. They are only available on some Unix platforms. For more detailed " @@ -6254,7 +6399,7 @@ msgstr "" "a un proceso. Solo están disponibles en algunas plataformas Unix. Para " "obtener información más detallada, consulte las páginas de manual de Unix." -#: ../Doc/library/os.rst:4211 +#: ../Doc/library/os.rst:4315 msgid "" "The following scheduling policies are exposed if they are supported by the " "operating system." @@ -6262,11 +6407,11 @@ msgstr "" "Las siguientes políticas de programación están expuestas si son compatibles " "con el sistema operativo." -#: ../Doc/library/os.rst:4216 +#: ../Doc/library/os.rst:4320 msgid "The default scheduling policy." msgstr "La política de programación predeterminada." -#: ../Doc/library/os.rst:4220 +#: ../Doc/library/os.rst:4324 msgid "" "Scheduling policy for CPU-intensive processes that tries to preserve " "interactivity on the rest of the computer." @@ -6274,25 +6419,25 @@ msgstr "" "Política de programación para procesos intensivos en CPU que intenta " "preservar la interactividad en el resto de la computadora." -#: ../Doc/library/os.rst:4225 +#: ../Doc/library/os.rst:4329 msgid "Scheduling policy for extremely low priority background tasks." msgstr "" "Política de programación para tareas en segundo plano de prioridad " "extremadamente baja." -#: ../Doc/library/os.rst:4229 +#: ../Doc/library/os.rst:4333 msgid "Scheduling policy for sporadic server programs." msgstr "Política de programación para programas de servidor esporádicos." -#: ../Doc/library/os.rst:4233 +#: ../Doc/library/os.rst:4337 msgid "A First In First Out scheduling policy." msgstr "Una política de programación *First In First Out*." -#: ../Doc/library/os.rst:4237 +#: ../Doc/library/os.rst:4341 msgid "A round-robin scheduling policy." msgstr "Una política de programación round-robin." -#: ../Doc/library/os.rst:4241 +#: ../Doc/library/os.rst:4345 msgid "" "This flag can be OR'ed with any other scheduling policy. When a process with " "this flag set forks, its child's scheduling policy and priority are reset to " @@ -6303,7 +6448,7 @@ msgstr "" "programación y la prioridad de su hijo se restablecen a los valores " "predeterminados." -#: ../Doc/library/os.rst:4248 +#: ../Doc/library/os.rst:4352 msgid "" "This class represents tunable scheduling parameters used in :func:" "`sched_setparam`, :func:`sched_setscheduler`, and :func:`sched_getparam`. It " @@ -6313,15 +6458,15 @@ msgstr "" "en :func:`sched_setparam`, :func:`sched_setscheduler` y :func:" "`sched_getparam`. Es inmutable." -#: ../Doc/library/os.rst:4252 +#: ../Doc/library/os.rst:4356 msgid "At the moment, there is only one possible parameter:" msgstr "Por el momento, solo hay un parámetro posible:" -#: ../Doc/library/os.rst:4256 +#: ../Doc/library/os.rst:4360 msgid "The scheduling priority for a scheduling policy." msgstr "La prioridad de programación para una política de programación." -#: ../Doc/library/os.rst:4261 +#: ../Doc/library/os.rst:4365 msgid "" "Get the minimum priority value for *policy*. *policy* is one of the " "scheduling policy constants above." @@ -6329,7 +6474,7 @@ msgstr "" "Obtiene el valor de prioridad mínimo para *policy*. *policy* es una de las " "constantes de política de programación anteriores." -#: ../Doc/library/os.rst:4267 +#: ../Doc/library/os.rst:4371 msgid "" "Get the maximum priority value for *policy*. *policy* is one of the " "scheduling policy constants above." @@ -6337,7 +6482,7 @@ msgstr "" "Obtiene el valor de prioridad máxima para *policy*. *policy* es una de las " "constantes de política de programación anteriores." -#: ../Doc/library/os.rst:4273 +#: ../Doc/library/os.rst:4377 msgid "" "Set the scheduling policy for the process with PID *pid*. A *pid* of 0 means " "the calling process. *policy* is one of the scheduling policy constants " @@ -6348,7 +6493,7 @@ msgstr "" "constantes de política de programación anteriores. *param* es una instancia " "de :class:`sched_param`." -#: ../Doc/library/os.rst:4280 +#: ../Doc/library/os.rst:4384 msgid "" "Return the scheduling policy for the process with PID *pid*. A *pid* of 0 " "means the calling process. The result is one of the scheduling policy " @@ -6358,7 +6503,7 @@ msgstr "" "de 0 significa el proceso de llamada. El resultado es una de las constantes " "de política de programación anteriores." -#: ../Doc/library/os.rst:4287 +#: ../Doc/library/os.rst:4391 msgid "" "Set a scheduling parameters for the process with PID *pid*. A *pid* of 0 " "means the calling process. *param* is a :class:`sched_param` instance." @@ -6367,7 +6512,7 @@ msgstr "" "de 0 significa el proceso de llamada. *param* es una instancia de :class:" "`sched_param`." -#: ../Doc/library/os.rst:4293 +#: ../Doc/library/os.rst:4397 msgid "" "Return the scheduling parameters as a :class:`sched_param` instance for the " "process with PID *pid*. A *pid* of 0 means the calling process." @@ -6376,7 +6521,7 @@ msgstr "" "`sched_param` para el proceso con PID *pid*. Un *pid* de 0 significa el " "proceso de llamada." -#: ../Doc/library/os.rst:4299 +#: ../Doc/library/os.rst:4403 msgid "" "Return the round-robin quantum in seconds for the process with PID *pid*. A " "*pid* of 0 means the calling process." @@ -6384,11 +6529,11 @@ msgstr "" "Retorna el round-robin quantum en segundos para el proceso con PID *pid*. Un " "*pid* de 0 significa el proceso de llamada." -#: ../Doc/library/os.rst:4305 +#: ../Doc/library/os.rst:4409 msgid "Voluntarily relinquish the CPU." msgstr "Renunciar voluntariamente a la CPU." -#: ../Doc/library/os.rst:4310 +#: ../Doc/library/os.rst:4414 msgid "" "Restrict the process with PID *pid* (or the current process if zero) to a " "set of CPUs. *mask* is an iterable of integers representing the set of CPUs " @@ -6398,7 +6543,7 @@ msgstr "" "conjunto de CPU. *mask* es un entero iterable que representa el conjunto de " "CPU a las que se debe restringir el proceso." -#: ../Doc/library/os.rst:4317 +#: ../Doc/library/os.rst:4421 msgid "" "Return the set of CPUs the process with PID *pid* (or the current process if " "zero) is restricted to." @@ -6406,11 +6551,11 @@ msgstr "" "Retorna el conjunto de CPU al proceso con PID *pid* (o el proceso actual si " "es cero) está restringido." -#: ../Doc/library/os.rst:4324 +#: ../Doc/library/os.rst:4428 msgid "Miscellaneous System Information" msgstr "Información miscelánea del sistema" -#: ../Doc/library/os.rst:4329 +#: ../Doc/library/os.rst:4433 msgid "" "Return string-valued system configuration values. *name* specifies the " "configuration value to retrieve; it may be a string which is the name of a " @@ -6429,7 +6574,7 @@ msgstr "" "``confstr_names``. Para las variables de configuración no incluidas en esa " "asignación, también se acepta pasar un número entero para *name*." -#: ../Doc/library/os.rst:4337 +#: ../Doc/library/os.rst:4441 msgid "" "If the configuration value specified by *name* isn't defined, ``None`` is " "returned." @@ -6437,7 +6582,7 @@ msgstr "" "Si el valor de configuración especificado por *name* no está definido, se " "retorna ``None``." -#: ../Doc/library/os.rst:4340 +#: ../Doc/library/os.rst:4444 msgid "" "If *name* is a string and is not known, :exc:`ValueError` is raised. If a " "specific value for *name* is not supported by the host system, even if it is " @@ -6449,7 +6594,7 @@ msgstr "" "incluido en ``confstr_names``, se lanza un :exc:`OSError` con :const:`errno." "EINVAL` para el número de error ." -#: ../Doc/library/os.rst:4350 +#: ../Doc/library/os.rst:4454 msgid "" "Dictionary mapping names accepted by :func:`confstr` to the integer values " "defined for those names by the host operating system. This can be used to " @@ -6459,14 +6604,14 @@ msgstr "" "enteros definidos para esos nombres por el sistema operativo host. Esto se " "puede usar para determinar el conjunto de nombres conocidos por el sistema." -#: ../Doc/library/os.rst:4359 +#: ../Doc/library/os.rst:4463 msgid "" "Return the number of CPUs in the system. Returns ``None`` if undetermined." msgstr "" "Retorna el número de CPU en el sistema. Retorna ``None`` si no está " "determinado." -#: ../Doc/library/os.rst:4361 +#: ../Doc/library/os.rst:4465 msgid "" "This number is not equivalent to the number of CPUs the current process can " "use. The number of usable CPUs can be obtained with ``len(os." @@ -6476,7 +6621,7 @@ msgstr "" "actual. El número de CPU utilizables se puede obtener con ``len(os." "sched_getaffinity(0))``" -#: ../Doc/library/os.rst:4371 +#: ../Doc/library/os.rst:4475 msgid "" "Return the number of processes in the system run queue averaged over the " "last 1, 5, and 15 minutes or raises :exc:`OSError` if the load average was " @@ -6486,7 +6631,7 @@ msgstr "" "durante los últimos 1, 5 y 15 minutos o aumentos :exc:`OSError` si el " "promedio de carga no se pudo obtener." -#: ../Doc/library/os.rst:4380 +#: ../Doc/library/os.rst:4484 msgid "" "Return integer-valued system configuration values. If the configuration " "value specified by *name* isn't defined, ``-1`` is returned. The comments " @@ -6500,7 +6645,7 @@ msgstr "" "aplican aquí también; El diccionario que proporciona información sobre los " "nombres conocidos viene dado por ``sysconf_names``." -#: ../Doc/library/os.rst:4390 +#: ../Doc/library/os.rst:4494 msgid "" "Dictionary mapping names accepted by :func:`sysconf` to the integer values " "defined for those names by the host operating system. This can be used to " @@ -6511,7 +6656,7 @@ msgstr "" "Esto se puede usar para determinar el conjunto de nombres conocidos por el " "sistema." -#: ../Doc/library/os.rst:4396 +#: ../Doc/library/os.rst:4500 msgid "" "The following data values are used to support path manipulation operations. " "These are defined for all platforms." @@ -6519,7 +6664,7 @@ msgstr "" "Los siguientes valores de datos se utilizan para admitir operaciones de " "manipulación de rutas. Estos están definidos para todas las plataformas." -#: ../Doc/library/os.rst:4399 +#: ../Doc/library/os.rst:4503 msgid "" "Higher-level operations on pathnames are defined in the :mod:`os.path` " "module." @@ -6527,7 +6672,7 @@ msgstr "" "Las operaciones de nivel superior en los nombres de ruta se definen en el " "módulo :mod:`os.path`." -#: ../Doc/library/os.rst:4405 +#: ../Doc/library/os.rst:4509 msgid "" "The constant string used by the operating system to refer to the current " "directory. This is ``'.'`` for Windows and POSIX. Also available via :mod:" @@ -6537,7 +6682,7 @@ msgstr "" "directorio actual. Esto es ``'.'`` Para Windows y POSIX. También disponible " "a través de :mod:`os.path`." -#: ../Doc/library/os.rst:4413 +#: ../Doc/library/os.rst:4517 msgid "" "The constant string used by the operating system to refer to the parent " "directory. This is ``'..'`` for Windows and POSIX. Also available via :mod:" @@ -6547,7 +6692,7 @@ msgstr "" "al directorio principal. Esto es ``'...'`` para Windows y POSIX. También " "disponible a través de :mod:`os.path`." -#: ../Doc/library/os.rst:4422 +#: ../Doc/library/os.rst:4526 msgid "" "The character used by the operating system to separate pathname components. " "This is ``'/'`` for POSIX and ``'\\\\'`` for Windows. Note that knowing " @@ -6562,7 +6707,7 @@ msgstr "" "join` --- pero en ocasiones es útil. También disponible a través de :mod:`os." "path`." -#: ../Doc/library/os.rst:4432 +#: ../Doc/library/os.rst:4536 msgid "" "An alternative character used by the operating system to separate pathname " "components, or ``None`` if only one separator character exists. This is set " @@ -6575,7 +6720,7 @@ msgstr "" "``sep`` es una barra invertida. También disponible a través de :mod:`os." "path`." -#: ../Doc/library/os.rst:4441 +#: ../Doc/library/os.rst:4545 msgid "" "The character which separates the base filename from the extension; for " "example, the ``'.'`` in :file:`os.py`. Also available via :mod:`os.path`." @@ -6584,7 +6729,7 @@ msgstr "" "ejemplo, el ``'.'`` en :file:`os.py`. También disponible a través de :mod:" "`os.path`." -#: ../Doc/library/os.rst:4449 +#: ../Doc/library/os.rst:4553 msgid "" "The character conventionally used by the operating system to separate search " "path components (as in :envvar:`PATH`), such as ``':'`` for POSIX or ``';'`` " @@ -6595,7 +6740,7 @@ msgstr "" "como ``':'`` para POSIX o ``';'`` para Windows. También disponible a través " "de :mod:`os.path`." -#: ../Doc/library/os.rst:4456 +#: ../Doc/library/os.rst:4560 msgid "" "The default search path used by :func:`exec\\*p\\* ` and :func:`spawn" "\\*p\\* ` if the environment doesn't have a ``'PATH'`` key. Also " @@ -6605,7 +6750,7 @@ msgstr "" "y :func:`spawn\\*p\\* ` si el entorno no tiene una tecla ``'RUTA'``. " "También disponible a través de :mod:`os.path`." -#: ../Doc/library/os.rst:4463 +#: ../Doc/library/os.rst:4567 msgid "" "The string used to separate (or, rather, terminate) lines on the current " "platform. This may be a single character, such as ``'\\n'`` for POSIX, or " @@ -6620,7 +6765,7 @@ msgstr "" "abiertos en modo texto (el valor predeterminado); use un solo ``'\\n'`` en " "su lugar, en todas las plataformas." -#: ../Doc/library/os.rst:4472 +#: ../Doc/library/os.rst:4576 msgid "" "The file path of the null device. For example: ``'/dev/null'`` for POSIX, " "``'nul'`` for Windows. Also available via :mod:`os.path`." @@ -6628,7 +6773,7 @@ msgstr "" "La ruta del archivo del dispositivo nulo. Por ejemplo: ``'/dev/null'`` para " "POSIX, ``'nul'`` para Windows. También disponible a través de :mod:`os.path`." -#: ../Doc/library/os.rst:4483 +#: ../Doc/library/os.rst:4587 msgid "" "Flags for use with the :func:`~sys.setdlopenflags` and :func:`~sys." "getdlopenflags` functions. See the Unix manual page :manpage:`dlopen(3)` " @@ -6638,11 +6783,11 @@ msgstr "" "getdlopenflags`. Consulte la página del manual de Unix :manpage:`dlopen(3)` " "para saber qué significan las diferentes flags." -#: ../Doc/library/os.rst:4491 +#: ../Doc/library/os.rst:4595 msgid "Random numbers" msgstr "Números al azar" -#: ../Doc/library/os.rst:4496 +#: ../Doc/library/os.rst:4600 msgid "" "Get up to *size* random bytes. The function can return less bytes than " "requested." @@ -6650,7 +6795,7 @@ msgstr "" "Obtiene hasta *size* bytes aleatorios. La función puede retornar menos bytes " "que los solicitados." -#: ../Doc/library/os.rst:4499 +#: ../Doc/library/os.rst:4603 msgid "" "These bytes can be used to seed user-space random number generators or for " "cryptographic purposes." @@ -6658,7 +6803,7 @@ msgstr "" "Estos bytes se pueden usar para generar generadores de números aleatorios en " "el espacio del usuario o para fines criptográficos." -#: ../Doc/library/os.rst:4502 +#: ../Doc/library/os.rst:4606 msgid "" "``getrandom()`` relies on entropy gathered from device drivers and other " "sources of environmental noise. Unnecessarily reading large quantities of " @@ -6670,7 +6815,7 @@ msgstr "" "grandes cantidades de datos tendrá un impacto negativo en otros usuarios de " "los dispositivos ``/dev/random`` y ``/dev/urandom``." -#: ../Doc/library/os.rst:4507 +#: ../Doc/library/os.rst:4611 msgid "" "The flags argument is a bit mask that can contain zero or more of the " "following values ORed together: :py:data:`os.GRND_RANDOM` and :py:data:" @@ -6680,7 +6825,7 @@ msgstr "" "más de los siguientes valores OR juntos:: py :data:`os.GRND_RANDOM` y :py:" "data:`GRND_NONBLOCK`." -#: ../Doc/library/os.rst:4511 +#: ../Doc/library/os.rst:4615 msgid "" "See also the `Linux getrandom() manual page `_." @@ -6688,17 +6833,17 @@ msgstr "" "Consulte también la página del manual `Linux getrandom() `_." -#: ../Doc/library/os.rst:4515 +#: ../Doc/library/os.rst:4619 msgid ":ref:`Availability `: Linux 3.17 and newer." msgstr ":ref:`Disponibilidad `: Linux 3.17 y más reciente." -#: ../Doc/library/os.rst:4520 +#: ../Doc/library/os.rst:4624 msgid "Return a string of *size* random bytes suitable for cryptographic use." msgstr "" "Retorna una cadena de *size* bytes aleatorios adecuados para uso " "criptográfico." -#: ../Doc/library/os.rst:4522 +#: ../Doc/library/os.rst:4626 msgid "" "This function returns random bytes from an OS-specific randomness source. " "The returned data should be unpredictable enough for cryptographic " @@ -6709,7 +6854,7 @@ msgstr "" "suficientemente impredecibles para las aplicaciones criptográficas, aunque " "su calidad exacta depende de la implementación del sistema operativo." -#: ../Doc/library/os.rst:4526 +#: ../Doc/library/os.rst:4630 msgid "" "On Linux, if the ``getrandom()`` syscall is available, it is used in " "blocking mode: block until the system urandom entropy pool is initialized " @@ -6726,7 +6871,7 @@ msgstr "" "indicador :data:`GRND_NONBLOCK`) o para sondear hasta que el grupo de " "entropía urandom del sistema se inicialice." -#: ../Doc/library/os.rst:4533 +#: ../Doc/library/os.rst:4637 msgid "" "On a Unix-like system, random bytes are read from the ``/dev/urandom`` " "device. If the ``/dev/urandom`` device is not available or not readable, " @@ -6736,11 +6881,11 @@ msgstr "" "``/dev/urandom``. Si el dispositivo ``/dev/urandom`` no está disponible o no " "es legible, se genera la excepción :exc:`NotImplementedError`." -#: ../Doc/library/os.rst:4537 +#: ../Doc/library/os.rst:4641 msgid "On Windows, it will use ``CryptGenRandom()``." msgstr "En Windows, usará ``CryptGenRandom()``." -#: ../Doc/library/os.rst:4540 +#: ../Doc/library/os.rst:4644 msgid "" "The :mod:`secrets` module provides higher level functions. For an easy-to-" "use interface to the random number generator provided by your platform, " @@ -6750,7 +6895,7 @@ msgstr "" "obtener una interfaz fácil de usar con el generador de números aleatorios " "proporcionado por su plataforma, consulte :class:`random.SystemRandom`." -#: ../Doc/library/os.rst:4544 +#: ../Doc/library/os.rst:4648 msgid "" "On Linux, ``getrandom()`` is now used in blocking mode to increase the " "security." @@ -6758,7 +6903,7 @@ msgstr "" "En Linux, ``getrandom()`` ahora se usa en modo de bloqueo para aumentar la " "seguridad." -#: ../Doc/library/os.rst:4548 +#: ../Doc/library/os.rst:4652 msgid "" "On Linux, if the ``getrandom()`` syscall blocks (the urandom entropy pool is " "not initialized yet), fall back on reading ``/dev/urandom``." @@ -6766,7 +6911,7 @@ msgstr "" "En Linux, si el syscall ``getrandom()`` bloquea (el grupo de entropía " "urandom aún no está inicializado), recurra a la lectura ``/dev/urandom``." -#: ../Doc/library/os.rst:4552 +#: ../Doc/library/os.rst:4656 msgid "" "On Linux 3.17 and newer, the ``getrandom()`` syscall is now used when " "available. On OpenBSD 5.6 and newer, the C ``getentropy()`` function is now " @@ -6777,7 +6922,7 @@ msgstr "" "usa la función C ``getentropy()``. Estas funciones evitan el uso de un " "descriptor de archivo interno." -#: ../Doc/library/os.rst:4560 +#: ../Doc/library/os.rst:4664 msgid "" "By default, when reading from ``/dev/random``, :func:`getrandom` blocks if " "no random bytes are available, and when reading from ``/dev/urandom``, it " @@ -6787,7 +6932,7 @@ msgstr "" "no hay bytes aleatorios disponibles, y cuando lee desde ``/dev/urandom``, " "bloquea si el grupo de entropía no tiene, sin embargo, se ha inicializado." -#: ../Doc/library/os.rst:4564 +#: ../Doc/library/os.rst:4668 msgid "" "If the :py:data:`GRND_NONBLOCK` flag is set, then :func:`getrandom` does not " "block in these cases, but instead immediately raises :exc:`BlockingIOError`." @@ -6796,10 +6941,62 @@ msgstr "" "`getrandom` no se bloquea en estos casos, sino que inmediatamente genera :" "exc:`BlockingIOError`." -#: ../Doc/library/os.rst:4571 +#: ../Doc/library/os.rst:4675 msgid "" "If this bit is set, then random bytes are drawn from the ``/dev/" "random`` pool instead of the ``/dev/urandom`` pool." msgstr "" "Si se establece este bit, los bytes aleatorios se extraen del grupo ``/dev/" "random`` en lugar del grupo ``/dev/urandom``." + +#~ msgid "" +#~ "If :func:`putenv` is not provided, a modified copy of this mapping may " +#~ "be passed to the appropriate process-creation functions to cause child " +#~ "processes to use a modified environment." +#~ msgstr "" +#~ "Si la función :func:`putenv` no está provista, una copia modificada de " +#~ "este mapeo se puede pasarse a las funciones adecuadas de creación de " +#~ "procesos para generar que los procesos hijos usen un entorno modificado." + +#~ msgid "" +#~ "If the platform supports the :func:`unsetenv` function, you can delete " +#~ "items in this mapping to unset environment variables. :func:`unsetenv` " +#~ "will be called automatically when an item is deleted from ``os.environ``, " +#~ "and when one of the :meth:`pop` or :meth:`clear` methods is called." +#~ msgstr "" +#~ "Si la plataforma suporta la función :func:`unsetenv`, se pueden eliminar " +#~ "elementos de este mapeo para quitar variables de entorno. Se va a llamar " +#~ "automáticamente a :func:`unsetenv` cuando un elemento sea eliminado de " +#~ "``os.environ``, así como también cuando se llamen a los métodos :meth:" +#~ "`pop` o :meth:`clear`." + +#~ msgid "" +#~ "On some platforms, including FreeBSD and Mac OS X, setting ``environ`` " +#~ "may cause memory leaks. Refer to the system documentation for putenv." +#~ msgstr "" +#~ "En algunas plataformas, incluidas FreeBSD y Mac OS X, la configuración de " +#~ "``environment`` puede causar pérdidas de memoria. Consulta la " +#~ "documentación del sistema para putenv." + +#~ msgid "" +#~ "When :func:`putenv` is supported, assignments to items in ``os.environ`` " +#~ "are automatically translated into corresponding calls to :func:`putenv`; " +#~ "however, calls to :func:`putenv` don't update ``os.environ``, so it is " +#~ "actually preferable to assign to items of ``os.environ``." +#~ msgstr "" +#~ "Cuando :func:`putenv` es compatible, las asignaciones de elementos en " +#~ "``os.environ`` se traducen automáticamente en llamadas correspondientes " +#~ "a :func:`putenv`; sin embargo, llamar a :func:`putenv` no actualiza ``os." +#~ "environ``, por lo que es preferible asignar a elementos de ``os.environ``." + +#~ msgid "" +#~ "When :func:`unsetenv` is supported, deletion of items in ``os.environ`` " +#~ "is automatically translated into a corresponding call to :func:" +#~ "`unsetenv`; however, calls to :func:`unsetenv` don't update ``os." +#~ "environ``, so it is actually preferable to delete items of ``os.environ``." +#~ msgstr "" +#~ "Cuando :func:`unsetenv` es compatible, la eliminación de elementos en " +#~ "``os.environ`` se traduce automáticamente en una llamada correspondiente " +#~ "a :func:`unsetenv`; sin embargo, las llamadas a :func:`unsetenv` no " +#~ "actualizan ``os.environ``, por lo que en realidad es preferible eliminar " +#~ "elementos de ``os.environ``." diff --git a/library/othergui.po b/library/othergui.po index 7a433f4eda..0b7d8cfd82 100644 --- a/library/othergui.po +++ b/library/othergui.po @@ -1,23 +1,25 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. # Maintained by the python-doc-es workteam. -# docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ -# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers +# docs-es@python.org / +# https://mail.python.org/mailman3/lists/docs-es.python.org/ +# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get +# the list of volunteers # msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-06 11:59-0400\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-10-06 12:10+0200\n" +"Last-Translator: Juan Biondi \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Juan Biondi \n" -"Language: es\n" -"X-Generator: Poedit 2.4.1\n" +"Generated-By: Babel 2.8.0\n" #: ../Doc/library/othergui.rst:4 msgid "Other Graphical User Interface Packages" @@ -85,24 +87,24 @@ msgstr "" "para generar enlaces para bibliotecas de C++ como clases de Python, y está " "diseñado específicamente para Python." -#: ../Doc/library/othergui.rst:36 -msgid "`PySide `_" +#: ../Doc/library/othergui.rst:37 +#, fuzzy +msgid "`PySide2 `_" msgstr "`PySide `_" #: ../Doc/library/othergui.rst:34 msgid "" -"PySide is a newer binding to the Qt toolkit, provided by Nokia. Compared to " -"PyQt, its licensing scheme is friendlier to non-open source applications." +"Also known as the Qt for Python project, PySide2 is a newer binding to the " +"Qt toolkit. It is provided by The Qt Company and aims to provide a complete " +"port of PySide to Qt 5. Compared to PyQt, its licensing scheme is friendlier " +"to non-open source applications." msgstr "" -"PySide es un enlace más reciente al kit de herramientas Qt, proporcionado " -"por Nokia. En comparación con PyQt, su esquema de licencias es más amigable " -"con las aplicaciones de código no abierto." -#: ../Doc/library/othergui.rst:47 +#: ../Doc/library/othergui.rst:48 msgid "`wxPython `_" msgstr "`wxPython `_" -#: ../Doc/library/othergui.rst:39 +#: ../Doc/library/othergui.rst:40 msgid "" "wxPython is a cross-platform GUI toolkit for Python that is built around the " "popular `wxWidgets `_ (formerly wxWindows) C++ " @@ -126,19 +128,37 @@ msgstr "" "recursos basado en XML y más, incluida una biblioteca cada vez mayor de " "módulos aportados por el usuario." -#: ../Doc/library/othergui.rst:50 +#: ../Doc/library/othergui.rst:51 msgid "" -"PyGTK, PyQt, and wxPython, all have a modern look and feel and more widgets " -"than Tkinter. In addition, there are many other GUI toolkits for Python, " -"both cross-platform, and platform-specific. See the `GUI Programming " +"PyGTK, PyQt, PySide2, and wxPython, all have a modern look and feel and more " +"widgets than Tkinter. In addition, there are many other GUI toolkits for " +"Python, both cross-platform, and platform-specific. See the `GUI Programming " "`_ page in the Python Wiki for " "a much more complete list, and also for links to documents where the " "different GUI toolkits are compared." msgstr "" -"PyGTK, PyQt y wxPython, todos tienen un aspecto moderno y más widgets que " -"Tkinter. Además, hay muchos otros kits de herramientas GUI de herramientas " -"para Python, tanto multiplataforma como específicos de la plataforma. " -"Consulte la página `GUI Programming `_ en la Wiki de Python para obtener una lista mucho más " -"completa, y también para obtener enlaces a documentos donde se comparan los " -"diferentes kits de herramientas de GUI." + +#~ msgid "" +#~ "PySide is a newer binding to the Qt toolkit, provided by Nokia. Compared " +#~ "to PyQt, its licensing scheme is friendlier to non-open source " +#~ "applications." +#~ msgstr "" +#~ "PySide es un enlace más reciente al kit de herramientas Qt, proporcionado " +#~ "por Nokia. En comparación con PyQt, su esquema de licencias es más " +#~ "amigable con las aplicaciones de código no abierto." + +#~ msgid "" +#~ "PyGTK, PyQt, and wxPython, all have a modern look and feel and more " +#~ "widgets than Tkinter. In addition, there are many other GUI toolkits for " +#~ "Python, both cross-platform, and platform-specific. See the `GUI " +#~ "Programming `_ page in the " +#~ "Python Wiki for a much more complete list, and also for links to " +#~ "documents where the different GUI toolkits are compared." +#~ msgstr "" +#~ "PyGTK, PyQt y wxPython, todos tienen un aspecto moderno y más widgets que " +#~ "Tkinter. Además, hay muchos otros kits de herramientas GUI de " +#~ "herramientas para Python, tanto multiplataforma como específicos de la " +#~ "plataforma. Consulte la página `GUI Programming `_ en la Wiki de Python para obtener una lista mucho " +#~ "más completa, y también para obtener enlaces a documentos donde se " +#~ "comparan los diferentes kits de herramientas de GUI." diff --git a/library/parser.po b/library/parser.po index 7991084247..fd03b6f5b5 100644 --- a/library/parser.po +++ b/library/parser.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-10-07 16:51+0200\n" +"Last-Translator: Francisco Jesús Sevilla García \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Francisco Jesús Sevilla García \n" -"Language: es\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/parser.rst:2 msgid ":mod:`parser` --- Access Python parse trees" @@ -47,13 +46,10 @@ msgstr "" #: ../Doc/library/parser.rst:30 msgid "" -"From Python 2.5 onward, it's much more convenient to cut in at the Abstract " -"Syntax Tree (AST) generation and compilation stage, using the :mod:`ast` " -"module." +"The parser module is deprecated and will be removed in future versions of " +"Python. For the majority of use cases you can leverage the Abstract Syntax " +"Tree (AST) generation and compilation stage, using the :mod:`ast` module." msgstr "" -"A partir de Python 2.5, es más práctico realizar estas operaciones entre la " -"generación del árbol de sintaxis abstracta (AST) y la etapa de compilación, " -"utilizando para ello el módulo :mod:`ast`." #: ../Doc/library/parser.rst:34 msgid "" @@ -607,3 +603,12 @@ msgid "" msgstr "" "Una aplicación que necesita tanto ST como objetos de código puede empaquetar " "este código en funciones fácilmente disponibles::" + +#~ msgid "" +#~ "From Python 2.5 onward, it's much more convenient to cut in at the " +#~ "Abstract Syntax Tree (AST) generation and compilation stage, using the :" +#~ "mod:`ast` module." +#~ msgstr "" +#~ "A partir de Python 2.5, es más práctico realizar estas operaciones entre " +#~ "la generación del árbol de sintaxis abstracta (AST) y la etapa de " +#~ "compilación, utilizando para ello el módulo :mod:`ast`." diff --git a/library/pathlib.po b/library/pathlib.po index f19b282da2..5d27e3013d 100644 --- a/library/pathlib.po +++ b/library/pathlib.po @@ -10,19 +10,19 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-22 16:44-0300\n" +"Last-Translator: Carlos A. Crespo \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Carlos A. Crespo \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" -# filesystem paths --> como "Rutas de sistema" queda mejor (antes que rutas de sistema de archivos) +# filesystem paths --> como "Rutas de sistema" queda mejor (antes que rutas de +# sistema de archivos) #: ../Doc/library/pathlib.rst:3 #, fuzzy msgid ":mod:`pathlib` --- Object-oriented filesystem paths" @@ -224,8 +224,8 @@ msgstr "" "son del sistema de archivos de Windows::" #: ../Doc/library/pathlib.rst:164 ../Doc/library/pathlib.rst:174 -#: ../Doc/library/pathlib.rst:597 ../Doc/library/pathlib.rst:607 -#: ../Doc/library/pathlib.rst:617 +#: ../Doc/library/pathlib.rst:636 ../Doc/library/pathlib.rst:646 +#: ../Doc/library/pathlib.rst:656 msgid "*pathsegments* is specified similarly to :class:`PurePath`." msgstr "*pathsegments* se especifica de manera similar a :class:`PurePath`." @@ -450,6 +450,10 @@ msgstr "" "una raíz y (si la **familia** lo permite) una unidad::" #: ../Doc/library/pathlib.rst:467 +msgid "Return whether or not this path is relative to the *other* path." +msgstr "" + +#: ../Doc/library/pathlib.rst:480 msgid "" "With :class:`PureWindowsPath`, return ``True`` if the path is considered " "reserved under Windows, ``False`` otherwise. With :class:`PurePosixPath`, " @@ -460,7 +464,7 @@ msgstr "" "`PurePosixPath`, siempre retorna ``False``." # cambié "misteriosamente": demasiado suspenso para el castellano -#: ../Doc/library/pathlib.rst:476 +#: ../Doc/library/pathlib.rst:489 msgid "" "File system calls on reserved paths can fail mysteriously or have unintended " "effects." @@ -468,7 +472,7 @@ msgstr "" "Las llamadas al sistema de archivos en rutas reservadas pueden fallar " "inesperadamente o tener efectos no deseados." -#: ../Doc/library/pathlib.rst:482 +#: ../Doc/library/pathlib.rst:495 msgid "" "Calling this method is equivalent to combining the path with each of the " "*other* arguments in turn::" @@ -477,7 +481,7 @@ msgstr "" "*other* argumentos::" # dejo *pattern* para que se entienda la referencia en el ejemplo y título -#: ../Doc/library/pathlib.rst:497 +#: ../Doc/library/pathlib.rst:510 #, fuzzy msgid "" "Match this path against the provided glob-style pattern. Return ``True`` if " @@ -486,7 +490,7 @@ msgstr "" "Haga coincidir esta ruta con el *pattern* global proporcionado. Retorna " "``True`` si la coincidencia es exitosa, ``False`` en caso contrario." -#: ../Doc/library/pathlib.rst:500 +#: ../Doc/library/pathlib.rst:513 msgid "" "If *pattern* is relative, the path can be either relative or absolute, and " "matching is done from the right::" @@ -494,7 +498,7 @@ msgstr "" "Si *pattern* es relativo, la ruta puede ser relativa o absoluta, y la " "coincidencia se realiza desde la derecha::" -#: ../Doc/library/pathlib.rst:510 +#: ../Doc/library/pathlib.rst:523 msgid "" "If *pattern* is absolute, the path must be absolute, and the whole path must " "match::" @@ -502,14 +506,14 @@ msgstr "" "Si *pattern* es absoluto, la ruta debe ser absoluta y toda la ruta debe " "coincidir::" -#: ../Doc/library/pathlib.rst:518 +#: ../Doc/library/pathlib.rst:531 msgid "As with other methods, case-sensitivity follows platform defaults::" msgstr "" "Al igual que con otros métodos, la distinción entre mayúsculas y minúsculas " "sigue los valores predeterminados de la plataforma::" # ValueError --> *ValueError*. Aplica para el resto -#: ../Doc/library/pathlib.rst:528 +#: ../Doc/library/pathlib.rst:541 #, fuzzy msgid "" "Compute a version of this path relative to the path represented by *other*. " @@ -518,7 +522,13 @@ msgstr "" "Computa una versión de la ruta en relación a la ruta representada por " "*other*. Si es imposible, se genera *ValueError*::" -#: ../Doc/library/pathlib.rst:546 +#: ../Doc/library/pathlib.rst:556 +msgid "" +"NOTE: This function is part of :class:`PurePath` and works with strings. It " +"does not check or access the underlying file structure." +msgstr "" + +#: ../Doc/library/pathlib.rst:561 msgid "" "Return a new path with the :attr:`name` changed. If the original path " "doesn't have a name, ValueError is raised::" @@ -526,7 +536,16 @@ msgstr "" "Retorna una nueva ruta con :attr:`name` cambiado. Si la ruta original no " "tiene nombre, se genera *ValueError*::" -#: ../Doc/library/pathlib.rst:563 +#: ../Doc/library/pathlib.rst:578 +#, fuzzy +msgid "" +"Return a new path with the :attr:`stem` changed. If the original path " +"doesn't have a name, ValueError is raised::" +msgstr "" +"Retorna una nueva ruta con :attr:`name` cambiado. Si la ruta original no " +"tiene nombre, se genera *ValueError*::" + +#: ../Doc/library/pathlib.rst:602 msgid "" "Return a new path with the :attr:`suffix` changed. If the original path " "doesn't have a suffix, the new *suffix* is appended instead. If the " @@ -536,11 +555,11 @@ msgstr "" "tiene un sufijo, se agrega el nuevo *suffix*. Si *suffix* es una cadena " "vacía, el sufijo original se elimina::" -#: ../Doc/library/pathlib.rst:582 +#: ../Doc/library/pathlib.rst:621 msgid "Concrete paths" msgstr "Rutas concretas" -#: ../Doc/library/pathlib.rst:584 +#: ../Doc/library/pathlib.rst:623 msgid "" "Concrete paths are subclasses of the pure path classes. In addition to " "operations provided by the latter, they also provide methods to do system " @@ -551,7 +570,7 @@ msgstr "" "realizar llamadas del sistema a objetos ruta. Hay tres formas de crear " "instancias de rutas concretas:" -#: ../Doc/library/pathlib.rst:590 +#: ../Doc/library/pathlib.rst:629 msgid "" "A subclass of :class:`PurePath`, this class represents concrete paths of the " "system's path flavour (instantiating it creates either a :class:`PosixPath` " @@ -561,7 +580,7 @@ msgstr "" "la *familia* ruta del sistema (al crear una instancia crea ya sea :class:" "`PosixPath` o :class:`WindowsPath`)::" -#: ../Doc/library/pathlib.rst:601 +#: ../Doc/library/pathlib.rst:640 msgid "" "A subclass of :class:`Path` and :class:`PurePosixPath`, this class " "represents concrete non-Windows filesystem paths::" @@ -569,7 +588,7 @@ msgstr "" "Una subclase de :class:`Path` y :class:`PurePosixPath`, esta clase " "representa rutas concretas de sistemas de archivos que no son de Windows::" -#: ../Doc/library/pathlib.rst:611 +#: ../Doc/library/pathlib.rst:650 msgid "" "A subclass of :class:`Path` and :class:`PureWindowsPath`, this class " "represents concrete Windows filesystem paths::" @@ -577,7 +596,7 @@ msgstr "" "Una subclase de :class:`Path` y :class:`PureWindowsPath`, esta clase " "representa rutas concretas del sistema de archivos de Windows::" -#: ../Doc/library/pathlib.rst:619 +#: ../Doc/library/pathlib.rst:658 msgid "" "You can only instantiate the class flavour that corresponds to your system " "(allowing system calls on non-compatible path flavours could lead to bugs or " @@ -587,11 +606,11 @@ msgstr "" "sistema operativo (permitir llamadas del sistema no compatibles podría " "provocar errores o fallas en su aplicación)::" -#: ../Doc/library/pathlib.rst:639 +#: ../Doc/library/pathlib.rst:678 msgid "Methods" msgstr "Métodos" -#: ../Doc/library/pathlib.rst:641 +#: ../Doc/library/pathlib.rst:680 msgid "" "Concrete paths provide the following methods in addition to pure paths " "methods. Many of these methods can raise an :exc:`OSError` if a system call " @@ -602,7 +621,7 @@ msgstr "" "`OSError` si falla una llamada al sistema (por ejemplo, porque la ruta no " "existe)." -#: ../Doc/library/pathlib.rst:647 +#: ../Doc/library/pathlib.rst:686 msgid "" ":meth:`~Path.exists()`, :meth:`~Path.is_dir()`, :meth:`~Path.is_file()`, :" "meth:`~Path.is_mount()`, :meth:`~Path.is_symlink()`, :meth:`~Path." @@ -618,7 +637,7 @@ msgstr "" "generar una excepción para las rutas que contienen caracteres que no se " "pueden representar a nivel del sistema operativo." -#: ../Doc/library/pathlib.rst:657 +#: ../Doc/library/pathlib.rst:696 msgid "" "Return a new path object representing the current directory (as returned by :" "func:`os.getcwd`)::" @@ -626,7 +645,7 @@ msgstr "" "Retorna un nuevo objeto ruta que representa el directorio actual (como lo " "retorna :func:`os.getcwd`)::" -#: ../Doc/library/pathlib.rst:666 +#: ../Doc/library/pathlib.rst:705 msgid "" "Return a new path object representing the user's home directory (as returned " "by :func:`os.path.expanduser` with ``~`` construct)::" @@ -635,7 +654,7 @@ msgstr "" "usuario (como lo retorna :func:`os.path.expanduser` con el agregado ``~``)::" # ¿se "busca"? ¿se "obtiene"? -#: ../Doc/library/pathlib.rst:677 +#: ../Doc/library/pathlib.rst:716 msgid "" "Return a :class:`os.stat_result` object containing information about this " "path, like :func:`os.stat`. The result is looked up at each call to this " @@ -645,15 +664,15 @@ msgstr "" "esta ruta, del mismo modo que :func:`os.stat`. El resultado se consulta en " "cada llamada a este método." -#: ../Doc/library/pathlib.rst:691 +#: ../Doc/library/pathlib.rst:730 msgid "Change the file mode and permissions, like :func:`os.chmod`::" msgstr "Cambia el modo y los permisos de archivo, como :func:`os.chmod`::" -#: ../Doc/library/pathlib.rst:703 +#: ../Doc/library/pathlib.rst:742 msgid "Whether the path points to an existing file or directory::" msgstr "Si la ruta apunta a un archivo o directorio existente::" -#: ../Doc/library/pathlib.rst:715 +#: ../Doc/library/pathlib.rst:754 msgid "" "If the path points to a symlink, :meth:`exists` returns whether the symlink " "*points to* an existing file or directory." @@ -661,7 +680,7 @@ msgstr "" "Si la ruta apunta a un enlace simbólico, :meth:`exist` retorna si el enlace " "simbólico *apunta a* un archivo o directorio existente." -#: ../Doc/library/pathlib.rst:721 +#: ../Doc/library/pathlib.rst:760 msgid "" "Return a new path with expanded ``~`` and ``~user`` constructs, as returned " "by :meth:`os.path.expanduser`::" @@ -671,7 +690,7 @@ msgstr "" # No entiendo qué es lo que hace ni si está bien traducido. # Indagué en la documentación en otros idiomas -#: ../Doc/library/pathlib.rst:733 +#: ../Doc/library/pathlib.rst:772 #, fuzzy msgid "" "Glob the given relative *pattern* in the directory represented by this path, " @@ -680,7 +699,7 @@ msgstr "" "Analiza el patrón comodín relativo a esta ruta para producir todos los " "archivos coincidentes (de cualquier tipo):" -#: ../Doc/library/pathlib.rst:741 +#: ../Doc/library/pathlib.rst:780 msgid "" "The \"``**``\" pattern means \"this directory and all subdirectories, " "recursively\". In other words, it enables recursive globbing::" @@ -688,7 +707,7 @@ msgstr "" "El patrón \"``**``\" significa \"este directorio y todos los subdirectorios " "de forma recursiva\". En otras palabras, habilita el comodín recursivo:" -#: ../Doc/library/pathlib.rst:752 +#: ../Doc/library/pathlib.rst:791 msgid "" "Using the \"``**``\" pattern in large directory trees may consume an " "inordinate amount of time." @@ -696,7 +715,13 @@ msgstr "" "El uso del patrón \"``**``\" en grandes árboles de directorios puede " "consumir una cantidad excesiva de tiempo." -#: ../Doc/library/pathlib.rst:758 +#: ../Doc/library/pathlib.rst:794 +msgid "" +"Raises an :ref:`auditing event ` ``pathlib.Path.glob`` with " +"arguments ``self``, ``pattern``." +msgstr "" + +#: ../Doc/library/pathlib.rst:799 msgid "" "Return the name of the group owning the file. :exc:`KeyError` is raised if " "the file's gid isn't found in the system database." @@ -705,7 +730,7 @@ msgstr "" "genera si el *gid* del archivo no se encuentra en la base de datos del " "sistema." -#: ../Doc/library/pathlib.rst:764 +#: ../Doc/library/pathlib.rst:805 msgid "" "Return ``True`` if the path points to a directory (or a symbolic link " "pointing to a directory), ``False`` if it points to another kind of file." @@ -714,9 +739,9 @@ msgstr "" "que apunta a un directorio), ``False`` si apunta a otro tipo de archivo." # "extiende" por "propaga"? Aplica para las siguientes lineas. -#: ../Doc/library/pathlib.rst:767 ../Doc/library/pathlib.rst:776 -#: ../Doc/library/pathlib.rst:805 ../Doc/library/pathlib.rst:814 -#: ../Doc/library/pathlib.rst:823 ../Doc/library/pathlib.rst:832 +#: ../Doc/library/pathlib.rst:808 ../Doc/library/pathlib.rst:817 +#: ../Doc/library/pathlib.rst:846 ../Doc/library/pathlib.rst:855 +#: ../Doc/library/pathlib.rst:864 ../Doc/library/pathlib.rst:873 #, fuzzy msgid "" "``False`` is also returned if the path doesn't exist or is a broken symlink; " @@ -725,7 +750,7 @@ msgstr "" "`` False`` también se retorna si la ruta no existe o es un enlace simbólico " "roto; se extiende otros errores (como errores de permiso)." -#: ../Doc/library/pathlib.rst:773 +#: ../Doc/library/pathlib.rst:814 msgid "" "Return ``True`` if the path points to a regular file (or a symbolic link " "pointing to a regular file), ``False`` if it points to another kind of file." @@ -734,7 +759,7 @@ msgstr "" "simbólico que apunta a un archivo normal), ``Falso`` si apunta a otro tipo " "de archivo." -#: ../Doc/library/pathlib.rst:782 +#: ../Doc/library/pathlib.rst:823 #, fuzzy msgid "" "Return ``True`` if the path is a :dfn:`mount point`: a point in a file " @@ -752,14 +777,14 @@ msgstr "" "montaje para todas las variantes de Unix y POSIX. No está implementado en " "Windows." -#: ../Doc/library/pathlib.rst:794 +#: ../Doc/library/pathlib.rst:835 msgid "" "Return ``True`` if the path points to a symbolic link, ``False`` otherwise." msgstr "" "Retorna ``True`` si la ruta apunta a un enlace simbólico, ``False`` de lo " "contrario." -#: ../Doc/library/pathlib.rst:796 +#: ../Doc/library/pathlib.rst:837 msgid "" "``False`` is also returned if the path doesn't exist; other errors (such as " "permission errors) are propagated." @@ -767,7 +792,7 @@ msgstr "" "`` False`` también se retorna si la ruta no existe; se extiende a otros " "errores (como errores de permiso)." -#: ../Doc/library/pathlib.rst:802 +#: ../Doc/library/pathlib.rst:843 msgid "" "Return ``True`` if the path points to a Unix socket (or a symbolic link " "pointing to a Unix socket), ``False`` if it points to another kind of file." @@ -775,7 +800,7 @@ msgstr "" "Retorna ``True`` si la ruta apunta a un *socket* Unix (o un enlace simbólico " "que apunta a uno), ``False`` si apunta a otro tipo de archivo." -#: ../Doc/library/pathlib.rst:811 +#: ../Doc/library/pathlib.rst:852 msgid "" "Return ``True`` if the path points to a FIFO (or a symbolic link pointing to " "a FIFO), ``False`` if it points to another kind of file." @@ -785,7 +810,7 @@ msgstr "" # ¿qué es un block device? # en la traducción francesa menciona "périphérique". -#: ../Doc/library/pathlib.rst:820 +#: ../Doc/library/pathlib.rst:861 msgid "" "Return ``True`` if the path points to a block device (or a symbolic link " "pointing to a block device), ``False`` if it points to another kind of file." @@ -793,7 +818,7 @@ msgstr "" "Retorna ``True`` si la ruta apunta a un dispositivo de bloques (o un enlace " "simbólico que apunta a uno), ``False`` si apunta a otro tipo de archivo." -#: ../Doc/library/pathlib.rst:829 +#: ../Doc/library/pathlib.rst:870 msgid "" "Return ``True`` if the path points to a character device (or a symbolic link " "pointing to a character device), ``False`` if it points to another kind of " @@ -803,7 +828,7 @@ msgstr "" "enlace simbólico que apunta a uno), ``False`` si apunta a otro tipo de " "archivo." -#: ../Doc/library/pathlib.rst:838 +#: ../Doc/library/pathlib.rst:879 msgid "" "When the path points to a directory, yield path objects of the directory " "contents::" @@ -811,7 +836,15 @@ msgstr "" "Cuando la ruta apunta a un directorio, produce objetos de ruta del contenido " "del directorio::" -#: ../Doc/library/pathlib.rst:854 +#: ../Doc/library/pathlib.rst:893 +msgid "" +"The children are yielded in arbitrary order, and the special entries ``'.'`` " +"and ``'..'`` are not included. If a file is removed from or added to the " +"directory after creating the iterator, whether an path object for that file " +"be included is unspecified." +msgstr "" + +#: ../Doc/library/pathlib.rst:900 msgid "" "Like :meth:`Path.chmod` but, if the path points to a symbolic link, the " "symbolic link's mode is changed rather than its target's." @@ -819,7 +852,7 @@ msgstr "" "Del mismo modo que :meth:`Path.chmod` pero si la ruta apunta a un enlace " "simbólico, el modo del enlace simbólico cambia en lugar del de su objetivo." -#: ../Doc/library/pathlib.rst:860 +#: ../Doc/library/pathlib.rst:906 msgid "" "Like :meth:`Path.stat` but, if the path points to a symbolic link, return " "the symbolic link's information rather than its target's." @@ -828,7 +861,7 @@ msgstr "" "simbólico, retorna la información del enlace simbólico en lugar de la de su " "objetivo." -#: ../Doc/library/pathlib.rst:866 +#: ../Doc/library/pathlib.rst:912 msgid "" "Create a new directory at this given path. If *mode* is given, it is " "combined with the process' ``umask`` value to determine the file mode and " @@ -839,7 +872,7 @@ msgstr "" "archivo y los derechos de acceso. Si la ruta ya existe, se genera :exc:" "`FileExistsError`." -#: ../Doc/library/pathlib.rst:871 +#: ../Doc/library/pathlib.rst:917 msgid "" "If *parents* is true, any missing parents of this path are created as " "needed; they are created with the default permissions without taking *mode* " @@ -849,7 +882,7 @@ msgstr "" "sea necesario; se crean con los permisos predeterminados sin tener en cuenta " "*mode* (imitando el comando POSIX ``mkdir -p``)." -#: ../Doc/library/pathlib.rst:875 +#: ../Doc/library/pathlib.rst:921 msgid "" "If *parents* is false (the default), a missing parent raises :exc:" "`FileNotFoundError`." @@ -857,7 +890,7 @@ msgstr "" "Si *parents* es falso (el valor predeterminado), se genera un padre que " "falta :exc:`FileNotFoundError`." -#: ../Doc/library/pathlib.rst:878 +#: ../Doc/library/pathlib.rst:924 msgid "" "If *exist_ok* is false (the default), :exc:`FileExistsError` is raised if " "the target directory already exists." @@ -865,7 +898,7 @@ msgstr "" "Si *exist_ok* es falso (el valor predeterminado), se genera :exc:" "`FileExistsError` si el directorio de destino ya existe." -#: ../Doc/library/pathlib.rst:881 +#: ../Doc/library/pathlib.rst:927 msgid "" "If *exist_ok* is true, :exc:`FileExistsError` exceptions will be ignored " "(same behavior as the POSIX ``mkdir -p`` command), but only if the last path " @@ -876,11 +909,11 @@ msgstr "" "p``), pero solo si el último componente de ruta no es un archivo existente " "que no sea de directorio." -#: ../Doc/library/pathlib.rst:885 +#: ../Doc/library/pathlib.rst:931 msgid "The *exist_ok* parameter was added." msgstr "Se agregó el parámetro *exist_ok*." -#: ../Doc/library/pathlib.rst:891 +#: ../Doc/library/pathlib.rst:937 msgid "" "Open the file pointed to by the path, like the built-in :func:`open` " "function does::" @@ -888,7 +921,7 @@ msgstr "" "Abre el archivo señalado por la ruta, como lo hace la función incorporada :" "func:`open`::" -#: ../Doc/library/pathlib.rst:903 +#: ../Doc/library/pathlib.rst:949 msgid "" "Return the name of the user owning the file. :exc:`KeyError` is raised if " "the file's uid isn't found in the system database." @@ -897,17 +930,17 @@ msgstr "" "genera si el *uid* del archivo no se encuentra en la base de datos del " "sistema." -#: ../Doc/library/pathlib.rst:909 +#: ../Doc/library/pathlib.rst:955 msgid "Return the binary contents of the pointed-to file as a bytes object::" msgstr "" "Retorna el contenido binario del archivo apuntado como un objeto bytes::" -#: ../Doc/library/pathlib.rst:922 +#: ../Doc/library/pathlib.rst:968 msgid "Return the decoded contents of the pointed-to file as a string::" msgstr "" "Retorna el contenido decodificado del archivo apuntado como una cadena::" -#: ../Doc/library/pathlib.rst:930 +#: ../Doc/library/pathlib.rst:976 msgid "" "The file is opened and then closed. The optional parameters have the same " "meaning as in :func:`open`." @@ -915,7 +948,16 @@ msgstr "" "El archivo se abre y luego se cierra. Los parámetros opcionales funcionan de " "la misma manera que en :func:`open`." -#: ../Doc/library/pathlib.rst:938 +#: ../Doc/library/pathlib.rst:984 +#, fuzzy +msgid "" +"Return the path to which the symbolic link points (as returned by :func:`os." +"readlink`)::" +msgstr "" +"Retorna un nuevo objeto ruta que representa el directorio actual (como lo " +"retorna :func:`os.getcwd`)::" + +#: ../Doc/library/pathlib.rst:997 msgid "" "Rename this file or directory to the given *target*, and return a new Path " "instance pointing to *target*. On Unix, if *target* exists and is a file, " @@ -927,11 +969,18 @@ msgstr "" "existe, es un archivo y el usuario tiene permisos, será reemplazado sin " "notificar. *target* puede ser una cadena u otro objeto ruta::" -#: ../Doc/library/pathlib.rst:952 ../Doc/library/pathlib.rst:962 +#: ../Doc/library/pathlib.rst:1011 ../Doc/library/pathlib.rst:1025 +msgid "" +"The target path may be absolute or relative. Relative paths are interpreted " +"relative to the current working directory, *not* the directory of the Path " +"object." +msgstr "" + +#: ../Doc/library/pathlib.rst:1015 ../Doc/library/pathlib.rst:1029 msgid "Added return value, return the new Path instance." msgstr "Valor de retorno agregado, retorna la nueva instancia de *Path*." -#: ../Doc/library/pathlib.rst:958 +#: ../Doc/library/pathlib.rst:1021 msgid "" "Rename this file or directory to the given *target*, and return a new Path " "instance pointing to *target*. If *target* points to an existing file or " @@ -941,7 +990,7 @@ msgstr "" "instancia de *Path* que apunta a *target*. Si *target* apunta a un archivo o " "directorio existente, será reemplazado incondicionalmente." -#: ../Doc/library/pathlib.rst:968 +#: ../Doc/library/pathlib.rst:1035 msgid "" "Make the path absolute, resolving any symlinks. A new path object is " "returned::" @@ -949,7 +998,7 @@ msgstr "" "Hace que la ruta sea absoluta, resolviendo los enlaces simbólicos. Se " "retorna un nuevo objeto ruta::" -#: ../Doc/library/pathlib.rst:977 +#: ../Doc/library/pathlib.rst:1044 msgid "" "\"``..``\" components are also eliminated (this is the only method to do " "so)::" @@ -957,7 +1006,7 @@ msgstr "" "Los componentes \"``..``\" también se eliminan (este es el único método para " "hacerlo)::" -#: ../Doc/library/pathlib.rst:983 +#: ../Doc/library/pathlib.rst:1050 msgid "" "If the path doesn't exist and *strict* is ``True``, :exc:`FileNotFoundError` " "is raised. If *strict* is ``False``, the path is resolved as far as " @@ -971,14 +1020,14 @@ msgstr "" "encuentra un bucle infinito en la resolución de la ruta se genera :exc:" "`RuntimeError`." -#: ../Doc/library/pathlib.rst:989 +#: ../Doc/library/pathlib.rst:1056 #, fuzzy msgid "The *strict* argument (pre-3.6 behavior is strict)." msgstr "" "El argumento *strict* (el comportamiento anterior a 3.6 es *strict* = " "``True``)." -#: ../Doc/library/pathlib.rst:994 +#: ../Doc/library/pathlib.rst:1061 msgid "" "This is like calling :func:`Path.glob` with \"``**/``\" added in front of " "the given relative *pattern*::" @@ -986,11 +1035,17 @@ msgstr "" "Idéntico a llamar a :func:`Path.glob` con \"``**/``\" agregado delante del " "*pattern* relativo::" -#: ../Doc/library/pathlib.rst:1007 +#: ../Doc/library/pathlib.rst:1071 +msgid "" +"Raises an :ref:`auditing event ` ``pathlib.Path.rglob`` with " +"arguments ``self``, ``pattern``." +msgstr "" + +#: ../Doc/library/pathlib.rst:1076 msgid "Remove this directory. The directory must be empty." msgstr "Elimina el directorio. El directorio debe estar vacío." -#: ../Doc/library/pathlib.rst:1012 +#: ../Doc/library/pathlib.rst:1081 msgid "" "Return whether this path points to the same file as *other_path*, which can " "be either a Path object, or a string. The semantics are similar to :func:" @@ -1000,7 +1055,7 @@ msgstr "" "un objeto *Path* o una cadena. La semántica es similar a :func:`os.path." "samefile` y :func:`os.path.samestat`." -#: ../Doc/library/pathlib.rst:1016 +#: ../Doc/library/pathlib.rst:1085 msgid "" "An :exc:`OSError` can be raised if either file cannot be accessed for some " "reason." @@ -1008,7 +1063,7 @@ msgstr "" "Se puede generar :exc:`OSError` si no se accede a alguno de los archivos por " "algún motivo." -#: ../Doc/library/pathlib.rst:1033 +#: ../Doc/library/pathlib.rst:1102 msgid "" "Make this path a symbolic link to *target*. Under Windows, " "*target_is_directory* must be true (default ``False``) if the link's target " @@ -1019,14 +1074,14 @@ msgstr "" "directorio (``False`` es predeterminado). En POSIX, el valor de " "*target_is_directory* se ignora." -#: ../Doc/library/pathlib.rst:1049 +#: ../Doc/library/pathlib.rst:1118 msgid "" "The order of arguments (link, target) is the reverse of :func:`os.symlink`'s." msgstr "" "El orden de los argumentos (*link*, *target*) es el reverso de :func:`os." "symlink`'s." -#: ../Doc/library/pathlib.rst:1055 +#: ../Doc/library/pathlib.rst:1124 msgid "" "Create a file at this given path. If *mode* is given, it is combined with " "the process' ``umask`` value to determine the file mode and access flags. " @@ -1040,7 +1095,7 @@ msgstr "" "*exist_ok* es verdadero (y su hora de modificación se actualiza a la hora " "actual), de lo contrario se genera :exc:`FileExistsError`." -#: ../Doc/library/pathlib.rst:1064 +#: ../Doc/library/pathlib.rst:1133 msgid "" "Remove this file or symbolic link. If the path points to a directory, use :" "func:`Path.rmdir` instead." @@ -1048,7 +1103,7 @@ msgstr "" "Elimine el archivo o enlace simbólico. Si la ruta apunta a un directorio, " "use :func:`Path.rmdir` en su lugar." -#: ../Doc/library/pathlib.rst:1067 +#: ../Doc/library/pathlib.rst:1136 msgid "" "If *missing_ok* is false (the default), :exc:`FileNotFoundError` is raised " "if the path does not exist." @@ -1056,7 +1111,7 @@ msgstr "" "Si *missing_ok* es falso (el valor predeterminado), se genera :exc:" "`FileNotFoundError` si la ruta no existe." -#: ../Doc/library/pathlib.rst:1070 +#: ../Doc/library/pathlib.rst:1139 msgid "" "If *missing_ok* is true, :exc:`FileNotFoundError` exceptions will be ignored " "(same behavior as the POSIX ``rm -f`` command)." @@ -1064,33 +1119,33 @@ msgstr "" "Si *missing_ok* es verdadero, las excepciones :exc:`FileNotFoundError` serán " "ignoradas (el mismo comportamiento que el comando POSIX ``rm -f``)." -#: ../Doc/library/pathlib.rst:1073 +#: ../Doc/library/pathlib.rst:1142 msgid "The *missing_ok* parameter was added." msgstr "Se agregó el parámetro *missing_ok*." -#: ../Doc/library/pathlib.rst:1079 +#: ../Doc/library/pathlib.rst:1148 msgid "Create a hard link pointing to a path named *target*." msgstr "Crea un enlace fijo que apunta a la ruta *target*." -#: ../Doc/library/pathlib.rst:1086 +#: ../Doc/library/pathlib.rst:1155 msgid "" "Open the file pointed to in bytes mode, write *data* to it, and close the " "file::" msgstr "" "Abre el archivo apuntado en modo bytes, escribe *data* y cierra el archivo::" -#: ../Doc/library/pathlib.rst:1095 +#: ../Doc/library/pathlib.rst:1164 msgid "An existing file of the same name is overwritten." msgstr "Se sobrescribe un archivo existente con el mismo nombre." -#: ../Doc/library/pathlib.rst:1102 +#: ../Doc/library/pathlib.rst:1171 msgid "" "Open the file pointed to in text mode, write *data* to it, and close the " "file::" msgstr "" "Abre el archivo apuntado en modo texto, escribe *data* y cierra el archivo::" -#: ../Doc/library/pathlib.rst:1111 +#: ../Doc/library/pathlib.rst:1180 msgid "" "An existing file of the same name is overwritten. The optional parameters " "have the same meaning as in :func:`open`." @@ -1098,11 +1153,11 @@ msgstr "" "Se sobrescribe un archivo existente con el mismo nombre. Los parámetros " "opcionales tienen el mismo significado que en :func:`open`." -#: ../Doc/library/pathlib.rst:1117 +#: ../Doc/library/pathlib.rst:1186 msgid "Correspondence to tools in the :mod:`os` module" msgstr "Correspondencia a herramientas en el módulo :mod:`os`" -#: ../Doc/library/pathlib.rst:1119 +#: ../Doc/library/pathlib.rst:1188 msgid "" "Below is a table mapping various :mod:`os` functions to their corresponding :" "class:`PurePath`/:class:`Path` equivalent." @@ -1110,7 +1165,7 @@ msgstr "" "A continuación se muestra una tabla que asigna varias funciones :mod:`os` a " "sus equivalentes en :class:`PurePath`/:class:`Path`." -#: ../Doc/library/pathlib.rst:1124 +#: ../Doc/library/pathlib.rst:1193 msgid "" "Although :func:`os.path.relpath` and :meth:`PurePath.relative_to` have some " "overlapping use-cases, their semantics differ enough to warrant not " @@ -1120,170 +1175,215 @@ msgstr "" "casos de uso superpuestos, su semántica difiere lo suficiente como para " "justificar no considerarlos equivalentes." -#: ../Doc/library/pathlib.rst:1129 +#: ../Doc/library/pathlib.rst:1198 msgid "os and os.path" msgstr "os y os.path" -#: ../Doc/library/pathlib.rst:1129 +#: ../Doc/library/pathlib.rst:1198 msgid "pathlib" msgstr "pathlib" -#: ../Doc/library/pathlib.rst:1131 +#: ../Doc/library/pathlib.rst:1200 msgid ":func:`os.path.abspath`" msgstr ":func:`os.path.abspath`" -#: ../Doc/library/pathlib.rst:1131 +#: ../Doc/library/pathlib.rst:1200 msgid ":meth:`Path.resolve`" msgstr ":meth:`Path.resolve`" -#: ../Doc/library/pathlib.rst:1132 +#: ../Doc/library/pathlib.rst:1201 msgid ":func:`os.chmod`" msgstr ":func:`os.chmod`" -#: ../Doc/library/pathlib.rst:1132 +#: ../Doc/library/pathlib.rst:1201 msgid ":meth:`Path.chmod`" msgstr ":meth:`Path.chmod`" -#: ../Doc/library/pathlib.rst:1133 +#: ../Doc/library/pathlib.rst:1202 msgid ":func:`os.mkdir`" msgstr ":func:`os.mkdir`" -#: ../Doc/library/pathlib.rst:1133 +#: ../Doc/library/pathlib.rst:1202 ../Doc/library/pathlib.rst:1203 msgid ":meth:`Path.mkdir`" msgstr ":meth:`Path.mkdir`" -#: ../Doc/library/pathlib.rst:1134 +#: ../Doc/library/pathlib.rst:1203 +#, fuzzy +msgid ":func:`os.makedirs`" +msgstr ":func:`os.mkdir`" + +#: ../Doc/library/pathlib.rst:1204 msgid ":func:`os.rename`" msgstr ":func:`os.rename`" -#: ../Doc/library/pathlib.rst:1134 +#: ../Doc/library/pathlib.rst:1204 msgid ":meth:`Path.rename`" msgstr ":meth:`Path.rename`" -#: ../Doc/library/pathlib.rst:1135 +#: ../Doc/library/pathlib.rst:1205 msgid ":func:`os.replace`" msgstr ":func:`os.replace`" -#: ../Doc/library/pathlib.rst:1135 +#: ../Doc/library/pathlib.rst:1205 msgid ":meth:`Path.replace`" msgstr ":meth:`Path.replace`" -#: ../Doc/library/pathlib.rst:1136 +#: ../Doc/library/pathlib.rst:1206 msgid ":func:`os.rmdir`" msgstr ":func:`os.rmdir`" -#: ../Doc/library/pathlib.rst:1136 +#: ../Doc/library/pathlib.rst:1206 msgid ":meth:`Path.rmdir`" msgstr ":meth:`Path.rmdir`" -#: ../Doc/library/pathlib.rst:1137 +#: ../Doc/library/pathlib.rst:1207 msgid ":func:`os.remove`, :func:`os.unlink`" msgstr ":func:`os.remove`, :func:`os.unlink`" -#: ../Doc/library/pathlib.rst:1137 +#: ../Doc/library/pathlib.rst:1207 msgid ":meth:`Path.unlink`" msgstr ":meth:`Path.unlink`" -#: ../Doc/library/pathlib.rst:1138 +#: ../Doc/library/pathlib.rst:1208 msgid ":func:`os.getcwd`" msgstr ":func:`os.getcwd`" -#: ../Doc/library/pathlib.rst:1138 +#: ../Doc/library/pathlib.rst:1208 msgid ":func:`Path.cwd`" msgstr ":func:`Path.cwd`" -#: ../Doc/library/pathlib.rst:1139 +#: ../Doc/library/pathlib.rst:1209 msgid ":func:`os.path.exists`" msgstr ":func:`os.path.exists`" -#: ../Doc/library/pathlib.rst:1139 +#: ../Doc/library/pathlib.rst:1209 msgid ":meth:`Path.exists`" msgstr ":meth:`Path.exists`" -#: ../Doc/library/pathlib.rst:1140 +#: ../Doc/library/pathlib.rst:1210 msgid ":func:`os.path.expanduser`" msgstr ":func:`os.path.expanduser`" -#: ../Doc/library/pathlib.rst:1140 +#: ../Doc/library/pathlib.rst:1210 msgid ":meth:`Path.expanduser` and :meth:`Path.home`" msgstr ":meth:`Path.expanduser` y :meth:`Path.home`" -#: ../Doc/library/pathlib.rst:1142 +#: ../Doc/library/pathlib.rst:1212 +#, fuzzy +msgid ":func:`os.listdir`" +msgstr ":func:`os.rmdir`" + +#: ../Doc/library/pathlib.rst:1212 +#, fuzzy +msgid ":meth:`Path.iterdir`" +msgstr ":meth:`Path.rmdir`" + +#: ../Doc/library/pathlib.rst:1213 msgid ":func:`os.path.isdir`" msgstr ":func:`os.path.isdir`" -#: ../Doc/library/pathlib.rst:1142 +#: ../Doc/library/pathlib.rst:1213 msgid ":meth:`Path.is_dir`" msgstr ":meth:`Path.is_dir`" -#: ../Doc/library/pathlib.rst:1143 +#: ../Doc/library/pathlib.rst:1214 msgid ":func:`os.path.isfile`" msgstr ":func:`os.path.isfile`" -#: ../Doc/library/pathlib.rst:1143 +#: ../Doc/library/pathlib.rst:1214 msgid ":meth:`Path.is_file`" msgstr ":meth:`Path.is_file`" -#: ../Doc/library/pathlib.rst:1144 +#: ../Doc/library/pathlib.rst:1215 msgid ":func:`os.path.islink`" msgstr ":func:`os.path.islink`" -#: ../Doc/library/pathlib.rst:1144 +#: ../Doc/library/pathlib.rst:1215 msgid ":meth:`Path.is_symlink`" msgstr ":meth:`Path.is_symlink`" -#: ../Doc/library/pathlib.rst:1145 +#: ../Doc/library/pathlib.rst:1216 +#, fuzzy +msgid ":func:`os.link`" +msgstr ":func:`os.path.islink`" + +#: ../Doc/library/pathlib.rst:1216 +#, fuzzy +msgid ":meth:`Path.link_to`" +msgstr ":meth:`Path.unlink`" + +#: ../Doc/library/pathlib.rst:1217 +#, fuzzy +msgid ":func:`os.symlink`" +msgstr ":func:`os.path.islink`" + +#: ../Doc/library/pathlib.rst:1217 +#, fuzzy +msgid ":meth:`Path.symlink_to`" +msgstr ":meth:`Path.is_symlink`" + +#: ../Doc/library/pathlib.rst:1218 +#, fuzzy +msgid ":func:`os.readlink`" +msgstr ":func:`os.rmdir`" + +#: ../Doc/library/pathlib.rst:1218 +#, fuzzy +msgid ":meth:`Path.readlink`" +msgstr ":meth:`Path.unlink`" + +#: ../Doc/library/pathlib.rst:1219 msgid ":func:`os.stat`" msgstr ":func:`os.stat`" -#: ../Doc/library/pathlib.rst:1145 +#: ../Doc/library/pathlib.rst:1219 msgid ":meth:`Path.stat`, :meth:`Path.owner`, :meth:`Path.group`" msgstr ":meth:`Path.stat`, :meth:`Path.owner`, :meth:`Path.group`" -#: ../Doc/library/pathlib.rst:1148 +#: ../Doc/library/pathlib.rst:1222 msgid ":func:`os.path.isabs`" msgstr ":func:`os.path.isabs`" -#: ../Doc/library/pathlib.rst:1148 +#: ../Doc/library/pathlib.rst:1222 msgid ":meth:`PurePath.is_absolute`" msgstr ":meth:`PurePath.is_absolute`" -#: ../Doc/library/pathlib.rst:1149 +#: ../Doc/library/pathlib.rst:1223 msgid ":func:`os.path.join`" msgstr ":func:`os.path.join`" -#: ../Doc/library/pathlib.rst:1149 +#: ../Doc/library/pathlib.rst:1223 msgid ":func:`PurePath.joinpath`" msgstr ":func:`PurePath.joinpath`" -#: ../Doc/library/pathlib.rst:1150 +#: ../Doc/library/pathlib.rst:1224 msgid ":func:`os.path.basename`" msgstr ":func:`os.path.basename`" -#: ../Doc/library/pathlib.rst:1150 +#: ../Doc/library/pathlib.rst:1224 msgid ":data:`PurePath.name`" msgstr ":data:`PurePath.name`" -#: ../Doc/library/pathlib.rst:1151 +#: ../Doc/library/pathlib.rst:1225 msgid ":func:`os.path.dirname`" msgstr ":func:`os.path.dirname`" -#: ../Doc/library/pathlib.rst:1151 +#: ../Doc/library/pathlib.rst:1225 msgid ":data:`PurePath.parent`" msgstr ":data:`PurePath.parent`" -#: ../Doc/library/pathlib.rst:1152 +#: ../Doc/library/pathlib.rst:1226 msgid ":func:`os.path.samefile`" msgstr ":func:`os.path.samefile`" -#: ../Doc/library/pathlib.rst:1152 +#: ../Doc/library/pathlib.rst:1226 msgid ":meth:`Path.samefile`" msgstr ":meth:`Path.samefile`" -#: ../Doc/library/pathlib.rst:1153 +#: ../Doc/library/pathlib.rst:1227 msgid ":func:`os.path.splitext`" msgstr ":func:`os.path.splitext`" -#: ../Doc/library/pathlib.rst:1153 +#: ../Doc/library/pathlib.rst:1227 msgid ":data:`PurePath.suffix`" msgstr ":data:`PurePath.suffix`" diff --git a/library/pdb.po b/library/pdb.po index f6fce3f683..5fbe45f6cb 100644 --- a/library/pdb.po +++ b/library/pdb.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-06-22 22:35-0500\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/library/pdb.rst:4 msgid ":mod:`pdb` --- The Python Debugger" @@ -292,7 +291,7 @@ msgstr "" msgid "Example call to enable tracing with *skip*::" msgstr "Ejemplo de llamada para permitir el rastreo con *skip*::" -#: ../Doc/library/pdb.rst:185 +#: ../Doc/library/pdb.rst:184 msgid "" "Raises an :ref:`auditing event ` ``pdb.Pdb`` with no arguments." msgstr "" @@ -884,11 +883,15 @@ msgstr "" "es una expresión o declaración arbitraria que debe ejecutarse en el entorno " "actual)." -#: ../Doc/library/pdb.rst:544 +#: ../Doc/library/pdb.rst:542 +msgid "Print the return value for the last return of a function." +msgstr "" + +#: ../Doc/library/pdb.rst:545 msgid "Footnotes" msgstr "Notas de pie de página" -#: ../Doc/library/pdb.rst:545 +#: ../Doc/library/pdb.rst:546 msgid "" "Whether a frame is considered to originate in a certain module is determined " "by the ``__name__`` in the frame globals." diff --git a/library/pkgutil.po b/library/pkgutil.po index fd102d839d..b58ddd912b 100644 --- a/library/pkgutil.po +++ b/library/pkgutil.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-10-08 22:10+0200\n" "Last-Translator: Andreu Vallbona Plazas \n" "Language-Team: python-doc-es\n" @@ -144,7 +144,9 @@ msgstr "" "mod:`importlib`." #: ../Doc/library/pkgutil.rst:71 -msgid ":term:`Loader` that wraps Python's \"classic\" import algorithm." +#, fuzzy +msgid "" +":term:`Loader ` that wraps Python's \"classic\" import algorithm." msgstr "" ":term:`Loader` que envuelve el algoritmo de importación \"clásico\" de " "Python." @@ -365,3 +367,68 @@ msgstr "" "entonces retorna ``None``. En particular, el: término :term:`loader` para :" "term:`namespace packages ` no soporta :meth:`get_data " "`." + +#: ../Doc/library/pkgutil.rst:234 +msgid "Resolve a name to an object." +msgstr "" + +#: ../Doc/library/pkgutil.rst:236 +msgid "" +"This functionality is used in numerous places in the standard library (see :" +"issue:`12915`) - and equivalent functionality is also in widely used third-" +"party packages such as setuptools, Django and Pyramid." +msgstr "" + +#: ../Doc/library/pkgutil.rst:240 +msgid "" +"It is expected that *name* will be a string in one of the following formats, " +"where W is shorthand for a valid Python identifier and dot stands for a " +"literal period in these pseudo-regexes:" +msgstr "" + +#: ../Doc/library/pkgutil.rst:244 +msgid "``W(.W)*``" +msgstr "" + +#: ../Doc/library/pkgutil.rst:245 +msgid "``W(.W)*:(W(.W)*)?``" +msgstr "" + +#: ../Doc/library/pkgutil.rst:247 +msgid "" +"The first form is intended for backward compatibility only. It assumes that " +"some part of the dotted name is a package, and the rest is an object " +"somewhere within that package, possibly nested inside other objects. Because " +"the place where the package stops and the object hierarchy starts can't be " +"inferred by inspection, repeated attempts to import must be done with this " +"form." +msgstr "" + +#: ../Doc/library/pkgutil.rst:254 +msgid "" +"In the second form, the caller makes the division point clear through the " +"provision of a single colon: the dotted name to the left of the colon is a " +"package to be imported, and the dotted name to the right is the object " +"hierarchy within that package. Only one import is needed in this form. If it " +"ends with the colon, then a module object is returned." +msgstr "" + +#: ../Doc/library/pkgutil.rst:260 +msgid "" +"The function will return an object (which might be a module), or raise one " +"of the following exceptions:" +msgstr "" + +#: ../Doc/library/pkgutil.rst:263 +msgid ":exc:`ValueError` -- if *name* isn't in a recognised format." +msgstr "" + +#: ../Doc/library/pkgutil.rst:265 +msgid ":exc:`ImportError` -- if an import failed when it shouldn't have." +msgstr "" + +#: ../Doc/library/pkgutil.rst:267 +msgid "" +":exc:`AttributeError` -- If a failure occurred when traversing the object " +"hierarchy within the imported package to get to the desired object." +msgstr "" diff --git a/library/platform.po b/library/platform.po index ef084ebdf3..ba073fc9bc 100644 --- a/library/platform.po +++ b/library/platform.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-10-05 09:27+0100\n" +"Last-Translator: \n" +"Language: es_ES\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es_ES\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/platform.rst:2 msgid ":mod:`platform` --- Access to underlying platform's identifying data" @@ -366,17 +365,6 @@ msgstr "" #: ../Doc/library/platform.rst:214 msgid "" -"This function works best with Mark Hammond's :mod:`win32all` package " -"installed, but also on Python 2.3 and later (support for this was added in " -"Python 2.6). It obviously only runs on Win32 compatible platforms." -msgstr "" -"Esta función funciona mejor con el paquete :mod:`win32all` de Mark Hammond " -"instalado, pero también en Python 2.3 y versiones posteriores (se agregó " -"soporte para esto en Python 2.6). Obviamente sólo se ejecuta en plataformas " -"compatibles con Win32." - -#: ../Doc/library/platform.rst:221 -msgid "" "Returns a string representing the current Windows edition. Possible values " "include but are not limited to ``'Enterprise'``, ``'IoTUAP'``, " "``'ServerStandard'``, and ``'nanoserver'``." @@ -385,7 +373,7 @@ msgstr "" "posibles incluyen, entre otros, ``'Enterprise'``, ``'IoTUAP'``, " "``'ServerStandard'`` y ``'nanoserver'``." -#: ../Doc/library/platform.rst:229 +#: ../Doc/library/platform.rst:222 msgid "" "Return ``True`` if the Windows edition returned by :func:`win32_edition` is " "recognized as an IoT edition." @@ -393,11 +381,11 @@ msgstr "" "Retorna ``True`` si la edición de Windows retornada por :func:" "`win32_edition` se reconoce como una edición IoT." -#: ../Doc/library/platform.rst:236 +#: ../Doc/library/platform.rst:229 msgid "Mac OS Platform" msgstr "Plataforma Mac OS" -#: ../Doc/library/platform.rst:241 +#: ../Doc/library/platform.rst:234 msgid "" "Get Mac OS version information and return it as tuple ``(release, " "versioninfo, machine)`` with *versioninfo* being a tuple ``(version, " @@ -407,7 +395,7 @@ msgstr "" "versioninfo, machine)`` con *versioninfo* siendo una tupla ``(versión, " "dev_stage, non_release_version)``." -#: ../Doc/library/platform.rst:245 +#: ../Doc/library/platform.rst:238 msgid "" "Entries which cannot be determined are set to ``''``. All tuple entries are " "strings." @@ -415,11 +403,11 @@ msgstr "" "Cualquier registro que no puede ser determinado se establece como ``''``. " "Todas los registros de la tupla son cadenas." -#: ../Doc/library/platform.rst:250 +#: ../Doc/library/platform.rst:243 msgid "Unix Platforms" msgstr "Plataformas Unix" -#: ../Doc/library/platform.rst:254 +#: ../Doc/library/platform.rst:247 msgid "" "Tries to determine the libc version against which the file executable " "(defaults to the Python interpreter) is linked. Returns a tuple of strings " @@ -431,7 +419,7 @@ msgstr "" "cadenas ``(lib, version)`` que tiene por defecto los parámetros que han sido " "introducidos en caso de que la búsqueda fallase." -#: ../Doc/library/platform.rst:258 +#: ../Doc/library/platform.rst:251 msgid "" "Note that this function has intimate knowledge of how different libc " "versions add symbols to the executable is probably only usable for " @@ -442,6 +430,16 @@ msgstr "" "sólo se puede utilizar para los ejecutables compilados mediante :program:" "`gcc`." -#: ../Doc/library/platform.rst:262 +#: ../Doc/library/platform.rst:255 msgid "The file is read and scanned in chunks of *chunksize* bytes." msgstr "El archivo se lee y se analiza en fragmentos de bytes *chunksize*." + +#~ msgid "" +#~ "This function works best with Mark Hammond's :mod:`win32all` package " +#~ "installed, but also on Python 2.3 and later (support for this was added " +#~ "in Python 2.6). It obviously only runs on Win32 compatible platforms." +#~ msgstr "" +#~ "Esta función funciona mejor con el paquete :mod:`win32all` de Mark " +#~ "Hammond instalado, pero también en Python 2.3 y versiones posteriores (se " +#~ "agregó soporte para esto en Python 2.6). Obviamente sólo se ejecuta en " +#~ "plataformas compatibles con Win32." diff --git a/library/plistlib.po b/library/plistlib.po index f7b94f4696..735cb506dd 100644 --- a/library/plistlib.po +++ b/library/plistlib.po @@ -10,19 +10,20 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-10-05 19:51+0200\n" +"Last-Translator: Álvaro Mondéjar \n" "Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Last-Translator: Álvaro Mondéjar \n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/plistlib.rst:2 -msgid ":mod:`plistlib` --- Generate and parse Mac OS X ``.plist`` files" +#, fuzzy +msgid ":mod:`plistlib` --- Generate and parse Apple ``.plist`` files" msgstr ":mod:`plistlib` --- Genera y analiza archivos ``.plist`` de Mac OS X" #: ../Doc/library/plistlib.rst:11 @@ -30,16 +31,17 @@ msgid "**Source code:** :source:`Lib/plistlib.py`" msgstr "**Código fuente:** :source:`Lib/plistlib.py`" #: ../Doc/library/plistlib.rst:19 +#, fuzzy msgid "" "This module provides an interface for reading and writing the \"property list" -"\" files used mainly by Mac OS X and supports both binary and XML plist " -"files." +"\" files used by Apple, primarily on macOS and iOS. This module supports " +"both binary and XML plist files." msgstr "" "Este módulo provee una interfaz para lectura y escritura de archivos de " "\"listas de propiedades\" usados principalmente por Mac OS X y soporta tanto " "archivos plist binarios como XML." -#: ../Doc/library/plistlib.rst:22 +#: ../Doc/library/plistlib.rst:23 msgid "" "The property list (``.plist``) file format is a simple serialization " "supporting basic object types, like dictionaries, lists, numbers and " @@ -49,7 +51,7 @@ msgstr "" "que soporta tipos de objetos básicos, como diccionarios, listas, números y " "cadenas. Generalmente el objeto de nivel superior es un diccionario." -#: ../Doc/library/plistlib.rst:26 +#: ../Doc/library/plistlib.rst:27 msgid "" "To write out and to parse a plist file, use the :func:`dump` and :func:" "`load` functions." @@ -57,7 +59,7 @@ msgstr "" "Para escribir y analizar un archivo plist usa las funciones :func:`dump` y :" "func:`load`." -#: ../Doc/library/plistlib.rst:29 +#: ../Doc/library/plistlib.rst:30 msgid "" "To work with plist data in bytes objects, use :func:`dumps` and :func:" "`loads`." @@ -65,24 +67,25 @@ msgstr "" "Para trabajar con datos plist en objetos de bytes usa :func:`dumps` y :func:" "`loads`." -#: ../Doc/library/plistlib.rst:32 +#: ../Doc/library/plistlib.rst:33 +#, fuzzy msgid "" "Values can be strings, integers, floats, booleans, tuples, lists, " -"dictionaries (but only with string keys), :class:`Data`, :class:`bytes`, :" -"class:`bytesarray` or :class:`datetime.datetime` objects." +"dictionaries (but only with string keys), :class:`bytes`, :class:`bytearray` " +"or :class:`datetime.datetime` objects." msgstr "" "Los valores pueden ser cadenas de caracteres, enteros, coma flotantes, " "booleanos, tuplas, listas, diccionarios (pero sólo con cadenas como " "claves), :class:`Data`, :class:`bytes`, :class:`bytesarray` u objetos :class:" "`datetime.datetime`." -#: ../Doc/library/plistlib.rst:36 +#: ../Doc/library/plistlib.rst:37 msgid "New API, old API deprecated. Support for binary format plists added." msgstr "" "Nueva API, API antigua obsoleta. Añadido soporte para plists en formato " "binario." -#: ../Doc/library/plistlib.rst:39 +#: ../Doc/library/plistlib.rst:40 msgid "" "Support added for reading and writing :class:`UID` tokens in binary plists " "as used by NSKeyedArchiver and NSKeyedUnarchiver." @@ -90,7 +93,11 @@ msgstr "" "Añadido soporte para lectura y escritura de tokens :class:`UID` en plists " "binarios como lo usan NSKeyedArchiver y NSKeyedUnarchiver." -#: ../Doc/library/plistlib.rst:45 +#: ../Doc/library/plistlib.rst:44 +msgid "Old API removed." +msgstr "" + +#: ../Doc/library/plistlib.rst:49 msgid "" "`PList manual page `_" @@ -98,15 +105,15 @@ msgstr "" "`Página del manual PList `_" -#: ../Doc/library/plistlib.rst:46 +#: ../Doc/library/plistlib.rst:50 msgid "Apple's documentation of the file format." msgstr "Documentación de Apple del formato de archivo." -#: ../Doc/library/plistlib.rst:49 +#: ../Doc/library/plistlib.rst:53 msgid "This module defines the following functions:" msgstr "Este módulo define las siguientes funciones:" -#: ../Doc/library/plistlib.rst:53 +#: ../Doc/library/plistlib.rst:57 msgid "" "Read a plist file. *fp* should be a readable and binary file object. Return " "the unpacked root object (which usually is a dictionary)." @@ -115,33 +122,23 @@ msgstr "" "Retorna el objeto raíz desempaquetado (el cual generalmente es un " "diccionario)." -#: ../Doc/library/plistlib.rst:57 +#: ../Doc/library/plistlib.rst:61 msgid "The *fmt* is the format of the file and the following values are valid:" msgstr "" "El *fmt* es el formato del archivo y los siguientes valores son válidos:" -#: ../Doc/library/plistlib.rst:59 +#: ../Doc/library/plistlib.rst:63 msgid ":data:`None`: Autodetect the file format" msgstr ":data:`None`: Autodetecta el formato de archivo" -#: ../Doc/library/plistlib.rst:61 +#: ../Doc/library/plistlib.rst:65 msgid ":data:`FMT_XML`: XML file format" msgstr ":data:`FMT_XML`: Formato de archivo XML" -#: ../Doc/library/plistlib.rst:63 +#: ../Doc/library/plistlib.rst:67 msgid ":data:`FMT_BINARY`: Binary plist format" msgstr ":data:`FMT_BINARY`: Formato binario plist" -#: ../Doc/library/plistlib.rst:65 -msgid "" -"If *use_builtin_types* is true (the default) binary data will be returned as " -"instances of :class:`bytes`, otherwise it is returned as instances of :class:" -"`Data`." -msgstr "" -"Si *use_builtin_types* es verdadero (el valor por defecto) los datos " -"binarios serán retornados como instancias de :class:`bytes`, si no serán " -"retornados como instancias de :class:`Data`." - #: ../Doc/library/plistlib.rst:69 msgid "" "The *dict_type* is the type used for dictionaries that are read from the " @@ -245,104 +242,11 @@ msgstr "" "documentación de :func:`dump` para una explicación de los argumentos de " "palabra clave de esta función." -#: ../Doc/library/plistlib.rst:127 -msgid "The following functions are deprecated:" -msgstr "La siguientes funciones están obsoletas:" - -#: ../Doc/library/plistlib.rst:131 -msgid "" -"Read a plist file. *pathOrFile* may be either a file name or a (readable and " -"binary) file object. Returns the unpacked root object (which usually is a " -"dictionary)." -msgstr "" -"Lee un archivo plist. *pathOrFile* puede ser tanto un nombre de archivo o un " -"(legible y binario) objeto de archivo. Retorna el objeto raíz desempaquetado " -"(el cual generalmente es un diccionario)." - -#: ../Doc/library/plistlib.rst:135 -msgid "" -"This function calls :func:`load` to do the actual work, see the " -"documentation of :func:`that function ` for an explanation of the " -"keyword arguments." -msgstr "" -"Esta función llama a :func:`load` para hacer el trabajo actual, consulte la " -"documentación de :func:`esa función ` para una explicación de los " -"argumentos de palabra clave." - -#: ../Doc/library/plistlib.rst:138 -msgid "Use :func:`load` instead." -msgstr "Usa :func:`load` en su lugar." - -#: ../Doc/library/plistlib.rst:140 ../Doc/library/plistlib.rst:161 -msgid "" -"Dict values in the result are now normal dicts. You no longer can use " -"attribute access to access items of these dictionaries." -msgstr "" -"Los valores de diccionario en el resultado son ahora diccionarios normales. " -"No puedes usar más el acceso mediante atributo para acceder a elementos de " -"esos diccionarios." - -#: ../Doc/library/plistlib.rst:147 -msgid "" -"Write *rootObject* to an XML plist file. *pathOrFile* may be either a file " -"name or a (writable and binary) file object" -msgstr "" -"Escribe *rootObject* a un archivo plist XML. *pathOrFile* puede ser tanto un " -"nombre de archivo o un (escribible y binario) archivo de objeto" - -#: ../Doc/library/plistlib.rst:150 -msgid "Use :func:`dump` instead." -msgstr "Usa :func:`dump` en su lugar." - -#: ../Doc/library/plistlib.rst:155 -msgid "Read a plist data from a bytes object. Return the root object." -msgstr "Lee datos plist de un objeto de bytes. Retorna el objeto raíz." - -#: ../Doc/library/plistlib.rst:157 -msgid "See :func:`load` for a description of the keyword arguments." -msgstr "" -"Consulta :func:`load` para una descripción de los argumentos de palabra " -"clave." - -#: ../Doc/library/plistlib.rst:159 -msgid "Use :func:`loads` instead." -msgstr "Usa :func:`loads` en su lugar." - -#: ../Doc/library/plistlib.rst:168 -msgid "Return *rootObject* as an XML plist-formatted bytes object." -msgstr "Retorna *rootObject* como un objeto de bytes con formato XML plist." - -#: ../Doc/library/plistlib.rst:170 -msgid "Use :func:`dumps` instead." -msgstr "Usa :func:`dumps` en su lugar." - -#: ../Doc/library/plistlib.rst:173 +#: ../Doc/library/plistlib.rst:128 msgid "The following classes are available:" msgstr "Las siguientes clases están disponibles:" -#: ../Doc/library/plistlib.rst:177 -msgid "" -"Return a \"data\" wrapper object around the bytes object *data*. This is " -"used in functions converting from/to plists to represent the ```` type " -"available in plists." -msgstr "" -"Retorna un objeto contenedor de \"datos\" alrededor del objeto de bytes " -"*data*. Este es usado en funciones convirtiendo desde/hacia plists para " -"representar el tipo ```` disponible en plists." - -#: ../Doc/library/plistlib.rst:181 -msgid "" -"It has one attribute, :attr:`data`, that can be used to retrieve the Python " -"bytes object stored in it." -msgstr "" -"Tiene un atributo, :attr:`data`, que puede ser usado para recuperar el " -"objeto de bytes de Python almacenado en él." - -#: ../Doc/library/plistlib.rst:184 -msgid "Use a :class:`bytes` object instead." -msgstr "Usa un objeto :class:`bytes` en su lugar." - -#: ../Doc/library/plistlib.rst:188 +#: ../Doc/library/plistlib.rst:132 msgid "" "Wraps an :class:`int`. This is used when reading or writing NSKeyedArchiver " "encoded data, which contains UID (see PList manual)." @@ -350,7 +254,7 @@ msgstr "" "Envuelve un :class:`int`. Este es usado leyendo o escribiendo datos " "codificados NSKeyedArchiver, los cuales contienen UID (ver manual PList)." -#: ../Doc/library/plistlib.rst:191 +#: ../Doc/library/plistlib.rst:135 msgid "" "It has one attribute, :attr:`data`, which can be used to retrieve the int " "value of the UID. :attr:`data` must be in the range `0 <= data < 2**64`." @@ -358,26 +262,113 @@ msgstr "" "Tiene un atributo, :attr:`data`, el cual puede ser usado para recuperar el " "valor int del UID. :attr:`data` debe estar en el rango `0 <= data < 2**64`." -#: ../Doc/library/plistlib.rst:197 +#: ../Doc/library/plistlib.rst:141 msgid "The following constants are available:" msgstr "Las siguientes constantes están disponibles:" -#: ../Doc/library/plistlib.rst:201 +#: ../Doc/library/plistlib.rst:145 msgid "The XML format for plist files." msgstr "El formato XML para archivos plist." -#: ../Doc/library/plistlib.rst:208 +#: ../Doc/library/plistlib.rst:152 msgid "The binary format for plist files" msgstr "El formato binario para archivos plist" -#: ../Doc/library/plistlib.rst:214 +#: ../Doc/library/plistlib.rst:158 msgid "Examples" msgstr "Ejemplos" -#: ../Doc/library/plistlib.rst:216 +#: ../Doc/library/plistlib.rst:160 msgid "Generating a plist::" msgstr "Generar un plist::" -#: ../Doc/library/plistlib.rst:236 +#: ../Doc/library/plistlib.rst:180 msgid "Parsing a plist::" msgstr "Analizar un plist::" + +#~ msgid "" +#~ "If *use_builtin_types* is true (the default) binary data will be returned " +#~ "as instances of :class:`bytes`, otherwise it is returned as instances of :" +#~ "class:`Data`." +#~ msgstr "" +#~ "Si *use_builtin_types* es verdadero (el valor por defecto) los datos " +#~ "binarios serán retornados como instancias de :class:`bytes`, si no serán " +#~ "retornados como instancias de :class:`Data`." + +#~ msgid "The following functions are deprecated:" +#~ msgstr "La siguientes funciones están obsoletas:" + +#~ msgid "" +#~ "Read a plist file. *pathOrFile* may be either a file name or a (readable " +#~ "and binary) file object. Returns the unpacked root object (which usually " +#~ "is a dictionary)." +#~ msgstr "" +#~ "Lee un archivo plist. *pathOrFile* puede ser tanto un nombre de archivo o " +#~ "un (legible y binario) objeto de archivo. Retorna el objeto raíz " +#~ "desempaquetado (el cual generalmente es un diccionario)." + +#~ msgid "" +#~ "This function calls :func:`load` to do the actual work, see the " +#~ "documentation of :func:`that function ` for an explanation of the " +#~ "keyword arguments." +#~ msgstr "" +#~ "Esta función llama a :func:`load` para hacer el trabajo actual, consulte " +#~ "la documentación de :func:`esa función ` para una explicación de " +#~ "los argumentos de palabra clave." + +#~ msgid "Use :func:`load` instead." +#~ msgstr "Usa :func:`load` en su lugar." + +#~ msgid "" +#~ "Dict values in the result are now normal dicts. You no longer can use " +#~ "attribute access to access items of these dictionaries." +#~ msgstr "" +#~ "Los valores de diccionario en el resultado son ahora diccionarios " +#~ "normales. No puedes usar más el acceso mediante atributo para acceder a " +#~ "elementos de esos diccionarios." + +#~ msgid "" +#~ "Write *rootObject* to an XML plist file. *pathOrFile* may be either a " +#~ "file name or a (writable and binary) file object" +#~ msgstr "" +#~ "Escribe *rootObject* a un archivo plist XML. *pathOrFile* puede ser tanto " +#~ "un nombre de archivo o un (escribible y binario) archivo de objeto" + +#~ msgid "Use :func:`dump` instead." +#~ msgstr "Usa :func:`dump` en su lugar." + +#~ msgid "Read a plist data from a bytes object. Return the root object." +#~ msgstr "Lee datos plist de un objeto de bytes. Retorna el objeto raíz." + +#~ msgid "See :func:`load` for a description of the keyword arguments." +#~ msgstr "" +#~ "Consulta :func:`load` para una descripción de los argumentos de palabra " +#~ "clave." + +#~ msgid "Use :func:`loads` instead." +#~ msgstr "Usa :func:`loads` en su lugar." + +#~ msgid "Return *rootObject* as an XML plist-formatted bytes object." +#~ msgstr "Retorna *rootObject* como un objeto de bytes con formato XML plist." + +#~ msgid "Use :func:`dumps` instead." +#~ msgstr "Usa :func:`dumps` en su lugar." + +#~ msgid "" +#~ "Return a \"data\" wrapper object around the bytes object *data*. This is " +#~ "used in functions converting from/to plists to represent the ```` " +#~ "type available in plists." +#~ msgstr "" +#~ "Retorna un objeto contenedor de \"datos\" alrededor del objeto de bytes " +#~ "*data*. Este es usado en funciones convirtiendo desde/hacia plists para " +#~ "representar el tipo ```` disponible en plists." + +#~ msgid "" +#~ "It has one attribute, :attr:`data`, that can be used to retrieve the " +#~ "Python bytes object stored in it." +#~ msgstr "" +#~ "Tiene un atributo, :attr:`data`, que puede ser usado para recuperar el " +#~ "objeto de bytes de Python almacenado en él." + +#~ msgid "Use a :class:`bytes` object instead." +#~ msgstr "Usa un objeto :class:`bytes` en su lugar." diff --git a/library/poplib.po b/library/poplib.po index eac7a690d5..27ae92dd6f 100644 --- a/library/poplib.po +++ b/library/poplib.po @@ -10,16 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-09-23 00:02-0400\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/poplib.rst:2 msgid ":mod:`poplib` --- POP3 protocol client" @@ -86,7 +86,7 @@ msgstr "" "espera en segundos para el intento de conexión (si no se especifica, la " "configuración global de tiempo de espera será utilizada)." -#: ../Doc/library/poplib.rst:43 ../Doc/library/poplib.rst:66 +#: ../Doc/library/poplib.rst:42 ../Doc/library/poplib.rst:68 msgid "" "Raises an :ref:`auditing event ` ``poplib.connect`` with arguments " "``self``, ``host``, ``port``." @@ -94,6 +94,7 @@ msgstr "" "Genera un :ref:`evento de auditoría ` ``poplib.connect`` con " "argumentos ``self``, ``host``, ``port``." +#: ../Doc/library/poplib.rst:44 ../Doc/library/poplib.rst:70 msgid "" "Raises an :ref:`auditing event ` ``poplib.putline`` with arguments " "``self``, ``line``." @@ -101,7 +102,7 @@ msgstr "" "Genera un :ref:`evento de auditoría ` ``poplib.putline`` con " "argumentos ``self``, ``line``." -#: ../Doc/library/poplib.rst:46 ../Doc/library/poplib.rst:69 +#: ../Doc/library/poplib.rst:46 ../Doc/library/poplib.rst:72 msgid "" "All commands will raise an :ref:`auditing event ` ``poplib." "putline`` with arguments ``self`` and ``line``, where ``line`` is the bytes " @@ -111,7 +112,13 @@ msgstr "" "``poplib.putline``con argumentos ``self`` y ``line``, donde ``line`` son los " "bytes a ser enviados al host remoto." -#: ../Doc/library/poplib.rst:53 +#: ../Doc/library/poplib.rst:50 ../Doc/library/poplib.rst:91 +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 "" + +#: ../Doc/library/poplib.rst:56 msgid "" "This is a subclass of :class:`POP3` that connects to the server over an SSL " "encrypted socket. If *port* is not specified, 995, the standard POP3-over-" @@ -129,7 +136,7 @@ msgstr "" "privadas en una única (potencialmente longeva) estructura. Por favor lea :" "ref:`ssl-security` para buenas prácticas." -#: ../Doc/library/poplib.rst:61 +#: ../Doc/library/poplib.rst:64 msgid "" "*keyfile* and *certfile* are a legacy alternative to *context* - they can " "point to PEM-formatted private key and certificate chain files, " @@ -139,11 +146,11 @@ msgstr "" "apuntar a llaves privadas PEM - y archivos de cadena de certificados, " "respectivamente, para la conexión SSL." -#: ../Doc/library/poplib.rst:73 +#: ../Doc/library/poplib.rst:76 msgid "*context* parameter added." msgstr "Parámetro *context* agregado." -#: ../Doc/library/poplib.rst:76 +#: ../Doc/library/poplib.rst:79 msgid "" "The class now supports hostname check with :attr:`ssl.SSLContext." "check_hostname` and *Server Name Indication* (see :data:`ssl.HAS_SNI`)." @@ -152,7 +159,7 @@ msgstr "" "SSLContext.check_hostname` e *Indicación de Nombre de Servidor* (vea :data:" "`ssl.HAS_SNI`)." -#: ../Doc/library/poplib.rst:83 +#: ../Doc/library/poplib.rst:86 msgid "" "*keyfile* and *certfile* are deprecated in favor of *context*. Please use :" "meth:`ssl.SSLContext.load_cert_chain` instead, or let :func:`ssl." @@ -163,11 +170,11 @@ msgstr "" "func:`ssl.create_default_context` seleccione el sistema de certificados CA " "de confianza para usted." -#: ../Doc/library/poplib.rst:88 +#: ../Doc/library/poplib.rst:95 msgid "One exception is defined as an attribute of the :mod:`poplib` module:" msgstr "Una excepción es definida como un atributo del módulo :mod:`poplib`:" -#: ../Doc/library/poplib.rst:93 +#: ../Doc/library/poplib.rst:100 msgid "" "Exception raised on any errors from this module (errors from :mod:`socket` " "module are not caught). The reason for the exception is passed to the " @@ -177,15 +184,15 @@ msgstr "" "mod:`socket` no son capturadas). La razón para la excepción es pasada al " "constructor como una cadena." -#: ../Doc/library/poplib.rst:101 +#: ../Doc/library/poplib.rst:108 msgid "Module :mod:`imaplib`" msgstr "Módulo :mod:`imaplib`" -#: ../Doc/library/poplib.rst:101 +#: ../Doc/library/poplib.rst:108 msgid "The standard Python IMAP module." msgstr "El módulo IMAP de Python." -#: ../Doc/library/poplib.rst:105 +#: ../Doc/library/poplib.rst:112 msgid "" "`Frequently Asked Questions About Fetchmail `_" @@ -193,7 +200,7 @@ msgstr "" "`Preguntas Frecuentes Sobre Fetchmail `_" -#: ../Doc/library/poplib.rst:104 +#: ../Doc/library/poplib.rst:111 msgid "" "The FAQ for the :program:`fetchmail` POP/IMAP client collects information on " "POP3 server variations and RFC noncompliance that may be useful if you need " @@ -204,11 +211,11 @@ msgstr "" "de RFC que puede ser útil si usted necesita escribir una aplicación basada " "en el protocolo POP." -#: ../Doc/library/poplib.rst:112 +#: ../Doc/library/poplib.rst:119 msgid "POP3 Objects" msgstr "Objetos POP3" -#: ../Doc/library/poplib.rst:114 +#: ../Doc/library/poplib.rst:121 msgid "" "All POP3 commands are represented by methods of the same name, in lower-" "case; most return the response text sent by the server." @@ -216,11 +223,11 @@ msgstr "" "Todos los comandos POP3 están representados por métodos del mismo nombre, en " "minúscula; la mayoría retornan el texto de respuesta enviado por el servidor." -#: ../Doc/library/poplib.rst:117 +#: ../Doc/library/poplib.rst:124 msgid "An :class:`POP3` instance has the following methods:" msgstr "Una instancia :class:`POP3` tiene los siguientes métodos:" -#: ../Doc/library/poplib.rst:122 +#: ../Doc/library/poplib.rst:129 msgid "" "Set the instance's debugging level. This controls the amount of debugging " "output printed. The default, ``0``, produces no debugging output. A value " @@ -236,11 +243,11 @@ msgstr "" "mayor produce la máxima cantidad de salida de depuración, registrando cada " "línea enviada y recibida en la conexión de control." -#: ../Doc/library/poplib.rst:131 +#: ../Doc/library/poplib.rst:138 msgid "Returns the greeting string sent by the POP3 server." msgstr "Retorna la cadena de saludo enviada por el servidor POP3." -#: ../Doc/library/poplib.rst:136 +#: ../Doc/library/poplib.rst:143 msgid "" "Query the server's capabilities as specified in :rfc:`2449`. Returns a " "dictionary in the form ``{'name': ['param'...]}``." @@ -248,14 +255,14 @@ msgstr "" "Consulta las capacidades del servidor como está especificado en :rfc:`2449`. " "Retorna un diccionario en la forma ``{'nombre': ['param'...]}``." -#: ../Doc/library/poplib.rst:144 +#: ../Doc/library/poplib.rst:151 msgid "" "Send user command, response should indicate that a password is required." msgstr "" "Envía el comando del usuario, la respuesta debería indicar que una " "contraseña es requerida." -#: ../Doc/library/poplib.rst:149 +#: ../Doc/library/poplib.rst:156 msgid "" "Send password, response includes message count and mailbox size. Note: the " "mailbox on the server is locked until :meth:`~poplib.quit` is called." @@ -264,20 +271,20 @@ msgstr "" "del buzón de correo. Nota: el buzón de correo en el servidor está bloqueado " "hasta que :meth:`~poplib.quit` es llamado." -#: ../Doc/library/poplib.rst:155 +#: ../Doc/library/poplib.rst:162 msgid "Use the more secure APOP authentication to log into the POP3 server." msgstr "" "Utiliza la autenticación APOP (más segura) para registrar en el servidor " "POP3." -#: ../Doc/library/poplib.rst:160 +#: ../Doc/library/poplib.rst:167 msgid "" "Use RPOP authentication (similar to UNIX r-commands) to log into POP3 server." msgstr "" "Utiliza autenticación RPOP (similar a los comandos r de UNIX) para registrar " "en el servidor POP3." -#: ../Doc/library/poplib.rst:165 +#: ../Doc/library/poplib.rst:172 msgid "" "Get mailbox status. The result is a tuple of 2 integers: ``(message count, " "mailbox size)``." @@ -285,7 +292,7 @@ msgstr "" "Obtiene el estado del buzón de correo. El resultado es una tupla de 2 " "enteros: ``(conteo de mensaje, tamaño del buzón de correo)``." -#: ../Doc/library/poplib.rst:171 +#: ../Doc/library/poplib.rst:178 msgid "" "Request message list, result is in the form ``(response, ['mesg_num " "octets', ...], octets)``. If *which* is set, it is the message to list." @@ -294,7 +301,7 @@ msgstr "" "['mesg_num octets', ...], octets)``. Si *which* está establecido, es el " "mensaje a listar." -#: ../Doc/library/poplib.rst:177 +#: ../Doc/library/poplib.rst:184 msgid "" "Retrieve whole message number *which*, and set its seen flag. Result is in " "form ``(response, ['line', ...], octets)``." @@ -302,7 +309,7 @@ msgstr "" "Recupera el número de mensaje completo *which*, y establece marca de visto. " "El resultado es en la forma ``(respuesta, ['line', ...], octets)``." -#: ../Doc/library/poplib.rst:183 +#: ../Doc/library/poplib.rst:190 msgid "" "Flag message number *which* for deletion. On most servers deletions are not " "actually performed until QUIT (the major exception is Eudora QPOP, which " @@ -313,20 +320,20 @@ msgstr "" "mayor excepción es Eudora QPOP, que deliberadamente viola las RFC haciendo " "eliminaciones pendientes en cada desconexión)." -#: ../Doc/library/poplib.rst:190 +#: ../Doc/library/poplib.rst:197 msgid "Remove any deletion marks for the mailbox." msgstr "Remueve las marcas de eliminación para el buzón de correo." -#: ../Doc/library/poplib.rst:195 +#: ../Doc/library/poplib.rst:202 msgid "Do nothing. Might be used as a keep-alive." msgstr "No hace nada. Puede ser utilizado como keep-alive." -#: ../Doc/library/poplib.rst:200 +#: ../Doc/library/poplib.rst:207 msgid "Signoff: commit changes, unlock mailbox, drop connection." msgstr "" "Cierra sesión: envía los cambios, desbloquea el buzón de correo, desconecta." -#: ../Doc/library/poplib.rst:205 +#: ../Doc/library/poplib.rst:212 msgid "" "Retrieves the message header plus *howmuch* lines of the message after the " "header of message number *which*. Result is in form ``(response, " @@ -336,7 +343,7 @@ msgstr "" "después del cabecera del número de mensajes *which*. El resultado es en la " "forma ``(respuesta, ['línea', ...]. octets)``." -#: ../Doc/library/poplib.rst:209 +#: ../Doc/library/poplib.rst:216 msgid "" "The POP3 TOP command this method uses, unlike the RETR command, doesn't set " "the message's seen flag; unfortunately, TOP is poorly specified in the RFCs " @@ -349,7 +356,7 @@ msgstr "" "off-brand. Pruebe este método a mano contra los servidores POP3 que usted " "utilizará antes de confiar en él." -#: ../Doc/library/poplib.rst:217 +#: ../Doc/library/poplib.rst:224 msgid "" "Return message digest (unique id) list. If *which* is specified, result " "contains the unique id for that message in the form ``'response mesgnum " @@ -360,7 +367,7 @@ msgstr "" "``'response mesgnum uid``, de otra forma el resultado es una lista " "``(respuesta, ['mengnum uid', ...], octets)``." -#: ../Doc/library/poplib.rst:224 +#: ../Doc/library/poplib.rst:231 msgid "" "Try to switch to UTF-8 mode. Returns the server response if successful, " "raises :class:`error_proto` if not. Specified in :RFC:`6856`." @@ -368,7 +375,7 @@ msgstr "" "Trata de cambiar al modo UTF-8. Retorna la respuesta del servidor si es " "exitosa, genera :class:`error_proto` si no. Especificado en :RFC:`6856`." -#: ../Doc/library/poplib.rst:232 +#: ../Doc/library/poplib.rst:239 msgid "" "Start a TLS session on the active connection as specified in :rfc:`2595`. " "This is only allowed before user authentication" @@ -376,7 +383,7 @@ msgstr "" "Comienza una sesión TLS en la conexión activa como está especificado en :rfc:" "`2595`. Esto es únicamente permitido antes de la autenticación de usuario" -#: ../Doc/library/poplib.rst:235 +#: ../Doc/library/poplib.rst:242 msgid "" "*context* parameter is a :class:`ssl.SSLContext` object which allows " "bundling SSL configuration options, certificates and private keys into a " @@ -388,7 +395,7 @@ msgstr "" "una única (potencialmente longeva) estructura. Por favor lea :ref:`ssl-" "security` para buenas prácticas." -#: ../Doc/library/poplib.rst:240 +#: ../Doc/library/poplib.rst:247 msgid "" "This method supports hostname checking via :attr:`ssl.SSLContext." "check_hostname` and *Server Name Indication* (see :data:`ssl.HAS_SNI`)." @@ -397,7 +404,7 @@ msgstr "" "SSLContext.check_hostname` e *Indicación de Nombre del Servidor* (vea :data:" "`ssl.HAS_SNI`)." -#: ../Doc/library/poplib.rst:247 +#: ../Doc/library/poplib.rst:254 msgid "" "Instances of :class:`POP3_SSL` have no additional methods. The interface of " "this subclass is identical to its parent." @@ -405,11 +412,11 @@ msgstr "" "Instancias de :class:`POP3_SSL` no tienen métodos adicionales. La interfaz " "de esta subclase es idéntica a su padre." -#: ../Doc/library/poplib.rst:254 +#: ../Doc/library/poplib.rst:261 msgid "POP3 Example" msgstr "Ejemplo POP3" -#: ../Doc/library/poplib.rst:256 +#: ../Doc/library/poplib.rst:263 msgid "" "Here is a minimal example (without error checking) that opens a mailbox and " "retrieves and prints all messages::" @@ -417,7 +424,7 @@ msgstr "" "Este es un ejemplo mínimo (sin chequeo de errores) que abre un buzón de " "correo y retorna e imprime todos los mensajes::" -#: ../Doc/library/poplib.rst:269 +#: ../Doc/library/poplib.rst:276 msgid "" "At the end of the module, there is a test section that contains a more " "extensive example of usage." diff --git a/library/pprint.po b/library/pprint.po index 70a571b10d..5df338e2e4 100644 --- a/library/pprint.po +++ b/library/pprint.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-08-22 19:09+0200\n" +"Last-Translator: Francisco Jesús Sevilla García \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Francisco Jesús Sevilla García \n" -"Language: es\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/pprint.rst:2 msgid ":mod:`pprint` --- Data pretty printer" @@ -66,10 +65,14 @@ msgstr "" "representación en pantalla." #: ../Doc/library/pprint.rst:28 +msgid "Added support for pretty-printing :class:`types.SimpleNamespace`." +msgstr "" + +#: ../Doc/library/pprint.rst:31 msgid "The :mod:`pprint` module defines one class:" msgstr "El módulo :mod:`pprint` define una sola clase:" -#: ../Doc/library/pprint.rst:38 +#: ../Doc/library/pprint.rst:41 msgid "" "Construct a :class:`PrettyPrinter` instance. This constructor understands " "several keyword parameters. An output stream may be set using the *stream* " @@ -112,21 +115,21 @@ msgstr "" "defecto), los diccionarios se formatearán con sus claves ordenadas; de lo " "contrario, se mostrarán según orden de inserción." -#: ../Doc/library/pprint.rst:57 ../Doc/library/pprint.rst:97 -#: ../Doc/library/pprint.rst:125 +#: ../Doc/library/pprint.rst:60 ../Doc/library/pprint.rst:100 +#: ../Doc/library/pprint.rst:128 msgid "Added the *compact* parameter." msgstr "Añadido el argumento *compact*." -#: ../Doc/library/pprint.rst:60 ../Doc/library/pprint.rst:100 -#: ../Doc/library/pprint.rst:128 +#: ../Doc/library/pprint.rst:63 ../Doc/library/pprint.rst:103 +#: ../Doc/library/pprint.rst:131 msgid "Added the *sort_dicts* parameter." msgstr "Añadido el argumento *sort_dicts*." -#: ../Doc/library/pprint.rst:88 +#: ../Doc/library/pprint.rst:91 msgid "The :mod:`pprint` module also provides several shortcut functions:" msgstr "El módulo :mod:`pprint` también proporciona varias funciones de atajo:" -#: ../Doc/library/pprint.rst:93 +#: ../Doc/library/pprint.rst:96 msgid "" "Return the formatted representation of *object* as a string. *indent*, " "*width*, *depth*, *compact* and *sort_dicts* will be passed to the :class:" @@ -136,7 +139,7 @@ msgstr "" "caracteres. *indent*, *width*, *depth*, *compact* y *sort_dicts* se pasarán " "al constructor de :class:`PrettyPrinter` como parámetros de formato." -#: ../Doc/library/pprint.rst:106 +#: ../Doc/library/pprint.rst:109 msgid "" "Prints the formatted representation of *object* followed by a newline. If " "*sort_dicts* is false (the default), dictionaries will be displayed with " @@ -150,7 +153,7 @@ msgstr "" "claves del diccionario serán ordenadas. *args* y *kwargs* se pasarán a :func:" "`pprint` como parámetros de formato." -#: ../Doc/library/pprint.rst:118 +#: ../Doc/library/pprint.rst:121 msgid "" "Prints the formatted representation of *object* on *stream*, followed by a " "newline. If *stream* is ``None``, ``sys.stdout`` is used. This may be used " @@ -168,7 +171,7 @@ msgstr "" "*compact* y *sort_dicts* se pasarán al constructor de :class:`PrettyPrinter` " "como parámetros de formato." -#: ../Doc/library/pprint.rst:147 +#: ../Doc/library/pprint.rst:150 msgid "" "Determine if the formatted representation of *object* is \"readable\", or " "can be used to reconstruct the value using :func:`eval`. This always " @@ -178,15 +181,15 @@ msgstr "" "puede usarse para reconstruir el objeto usando :func:`eval`. Siempre " "retorna ``False`` para objetos recursivos." -#: ../Doc/library/pprint.rst:157 +#: ../Doc/library/pprint.rst:160 msgid "Determine if *object* requires a recursive representation." msgstr "Determina si *object* requiere una representación recursiva." -#: ../Doc/library/pprint.rst:160 +#: ../Doc/library/pprint.rst:163 msgid "One more support function is also defined:" msgstr "Una función extra de soporte es también definida:" -#: ../Doc/library/pprint.rst:164 +#: ../Doc/library/pprint.rst:167 msgid "" "Return a string representation of *object*, protected against recursive data " "structures. If the representation of *object* exposes a recursive entry, " @@ -199,16 +202,16 @@ msgstr "" "representará como ````. Además, la " "representación no tendrá otro formato." -#: ../Doc/library/pprint.rst:176 +#: ../Doc/library/pprint.rst:179 msgid "PrettyPrinter Objects" msgstr "Objetos *PrettyPrinter*" -#: ../Doc/library/pprint.rst:178 +#: ../Doc/library/pprint.rst:181 msgid ":class:`PrettyPrinter` instances have the following methods:" msgstr "" "Las instancias de :class:`PrettyPrinter` tienen los siguientes métodos:" -#: ../Doc/library/pprint.rst:183 +#: ../Doc/library/pprint.rst:186 msgid "" "Return the formatted representation of *object*. This takes into account " "the options passed to the :class:`PrettyPrinter` constructor." @@ -216,7 +219,7 @@ msgstr "" "Retorna la representación formateada de *object*. Tiene en cuenta las " "opciones pasadas al constructor de la clase :class:`PrettyPrinter`." -#: ../Doc/library/pprint.rst:189 +#: ../Doc/library/pprint.rst:192 msgid "" "Print the formatted representation of *object* on the configured stream, " "followed by a newline." @@ -224,7 +227,7 @@ msgstr "" "Imprime la representación formateada de *object* en la secuencia " "configurada, seguida de una nueva línea." -#: ../Doc/library/pprint.rst:192 +#: ../Doc/library/pprint.rst:195 msgid "" "The following methods provide the implementations for the corresponding " "functions of the same names. Using these methods on an instance is slightly " @@ -236,7 +239,7 @@ msgstr "" "es algo más eficiente, ya que no es necesario crear nuevos objetos :class:" "`PrettyPrinter`." -#: ../Doc/library/pprint.rst:202 +#: ../Doc/library/pprint.rst:205 msgid "" "Determine if the formatted representation of the object is \"readable,\" or " "can be used to reconstruct the value using :func:`eval`. Note that this " @@ -250,11 +253,11 @@ msgstr "" "*depth* de :class:`PrettyPrinter` es proporcionado y el objeto es más " "profundo de lo permitido, también se retorna ``False``." -#: ../Doc/library/pprint.rst:211 +#: ../Doc/library/pprint.rst:214 msgid "Determine if the object requires a recursive representation." msgstr "Determina si *object* requiere una representación recursiva." -#: ../Doc/library/pprint.rst:213 +#: ../Doc/library/pprint.rst:216 msgid "" "This method is provided as a hook to allow subclasses to modify the way " "objects are converted to strings. The default implementation uses the " @@ -266,7 +269,7 @@ msgstr "" "implementación por defecto utiliza la implementación interna de :func:" "`saferepr`." -#: ../Doc/library/pprint.rst:220 +#: ../Doc/library/pprint.rst:223 msgid "" "Returns three values: the formatted version of *object* as a string, a flag " "indicating whether the result is readable, and a flag indicating whether " @@ -299,11 +302,11 @@ msgstr "" "llamadas recursivas sucesivas deben pasar un valor menor que el de la " "llamada actual." -#: ../Doc/library/pprint.rst:238 +#: ../Doc/library/pprint.rst:241 msgid "Example" msgstr "Ejemplo" -#: ../Doc/library/pprint.rst:240 +#: ../Doc/library/pprint.rst:243 msgid "" "To demonstrate several uses of the :func:`pprint` function and its " "parameters, let's fetch information about a project from `PyPI `_::" -#: ../Doc/library/pprint.rst:249 +#: ../Doc/library/pprint.rst:252 msgid "In its basic form, :func:`pprint` shows the whole object::" msgstr "" "En su forma básica, la función :func:`pprint` muestra el objeto completo::" -#: ../Doc/library/pprint.rst:305 +#: ../Doc/library/pprint.rst:308 msgid "" "The result can be limited to a certain *depth* (ellipsis is used for deeper " "contents)::" @@ -325,7 +328,7 @@ msgstr "" "El resultado puede limitarse a una cierta profundidad asignando un valor al " "argumento *depth* (``...`` se utiliza para contenidos más \"profundos\"):" -#: ../Doc/library/pprint.rst:351 +#: ../Doc/library/pprint.rst:354 msgid "" "Additionally, maximum character *width* can be suggested. If a long object " "cannot be split, the specified width will be exceeded::" diff --git a/library/profile.po b/library/profile.po index 0fffeacaa3..a38f03234b 100644 --- a/library/profile.po +++ b/library/profile.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-07-10 22:47-0500\n" +"Last-Translator: Juan Alegría \n" +"Language: es_CO\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Juan Alegría \n" -"Language: es_CO\n" -"X-Generator: Poedit 2.3.1\n" #: ../Doc/library/profile.rst:5 msgid "The Python Profilers" @@ -1006,11 +1005,25 @@ msgstr "" "los argumentos y el orden son idénticos al método :meth:`~pstats.Stats." "print_callers`." -#: ../Doc/library/profile.rst:531 +#: ../Doc/library/profile.rst:530 +msgid "" +"This method returns an instance of StatsProfile, which contains a mapping of " +"function names to instances of FunctionProfile. Each FunctionProfile " +"instance holds information related to the function's profile such as how " +"long the function took to run, how many times it was called, etc..." +msgstr "" + +#: ../Doc/library/profile.rst:535 +msgid "" +"Added the following dataclasses: StatsProfile, FunctionProfile. Added the " +"following function: get_stats_profile." +msgstr "" + +#: ../Doc/library/profile.rst:542 msgid "What Is Deterministic Profiling?" msgstr "¿Qué es el perfil determinista?" -#: ../Doc/library/profile.rst:533 +#: ../Doc/library/profile.rst:544 msgid "" ":dfn:`Deterministic profiling` is meant to reflect the fact that all " "*function call*, *function return*, and *exception* events are monitored, " @@ -1033,7 +1046,7 @@ msgstr "" "instrumentado), pero proporciona solo indicaciones relativas de dónde se " "está gastando el tiempo." -#: ../Doc/library/profile.rst:542 +#: ../Doc/library/profile.rst:553 msgid "" "In Python, since there is an interpreter active during execution, the " "presence of instrumented code is not required in order to do deterministic " @@ -1054,7 +1067,7 @@ msgstr "" "determinista no es tan costoso, pero proporciona estadísticas extensas de " "tiempo de ejecución sobre la ejecución de un programa Python." -#: ../Doc/library/profile.rst:551 +#: ../Doc/library/profile.rst:562 msgid "" "Call count statistics can be used to identify bugs in code (surprising " "counts), and to identify possible inline-expansion points (high call " @@ -1076,11 +1089,11 @@ msgstr "" "implementaciones recursivas de algoritmos se comparen directamente con " "implementaciones iterativas." -#: ../Doc/library/profile.rst:564 +#: ../Doc/library/profile.rst:575 msgid "Limitations" msgstr "Limitaciones" -#: ../Doc/library/profile.rst:566 +#: ../Doc/library/profile.rst:577 msgid "" "One limitation has to do with accuracy of timing information. There is a " "fundamental problem with deterministic profilers involving accuracy. The " @@ -1099,7 +1112,7 @@ msgstr "" "el \"error\" tenderá a promediar. Desafortunadamente, eliminar este primer " "error induce una segunda fuente de error." -#: ../Doc/library/profile.rst:574 +#: ../Doc/library/profile.rst:585 msgid "" "The second problem is that it \"takes a while\" from when an event is " "dispatched until the profiler's call to get the time actually *gets* the " @@ -1122,7 +1135,7 @@ msgstr "" "es típicamente menor que la precisión del reloj (menos de un tic de reloj), " "pero *puede* acumularse y volverse muy significativo." -#: ../Doc/library/profile.rst:584 +#: ../Doc/library/profile.rst:595 msgid "" "The problem is more important with :mod:`profile` than with the lower-" "overhead :mod:`cProfile`. For this reason, :mod:`profile` provides a means " @@ -1146,11 +1159,11 @@ msgstr "" "Deberían aparecer *solo* si ha calibrado su generador de perfiles, y los " "resultados son realmente mejores que sin calibración." -#: ../Doc/library/profile.rst:598 +#: ../Doc/library/profile.rst:609 msgid "Calibration" msgstr "Calibración" -#: ../Doc/library/profile.rst:600 +#: ../Doc/library/profile.rst:611 msgid "" "The profiler of the :mod:`profile` module subtracts a constant from each " "event handling time to compensate for the overhead of calling the time " @@ -1164,7 +1177,7 @@ msgstr "" "El siguiente procedimiento se puede usar para obtener una mejor constante " "para una plataforma dada (ver :ref:`profile-limitations`). ::" -#: ../Doc/library/profile.rst:611 +#: ../Doc/library/profile.rst:622 msgid "" "The method executes the number of Python calls given by the argument, " "directly and again under the profiler, measuring the time for both. It then " @@ -1180,7 +1193,7 @@ msgstr "" "1.8Ghz con Mac OS X y usando time.process_time() de Python como " "temporizador, el número mágico es aproximadamente 4.04e-6." -#: ../Doc/library/profile.rst:617 +#: ../Doc/library/profile.rst:628 msgid "" "The object of this exercise is to get a fairly consistent result. If your " "computer is *very* fast, or your timer function has poor resolution, you " @@ -1191,12 +1204,12 @@ msgstr "" "resolución pobre, es posible que tenga que pasar 100000, o incluso 1000000, " "para obtener resultados consistentes." -#: ../Doc/library/profile.rst:621 +#: ../Doc/library/profile.rst:632 msgid "" "When you have a consistent answer, there are three ways you can use it::" msgstr "Cuando tiene una respuesta consistente, hay tres formas de usarla::" -#: ../Doc/library/profile.rst:635 +#: ../Doc/library/profile.rst:646 msgid "" "If you have a choice, you are better off choosing a smaller constant, and " "then your results will \"less often\" show up as negative in profile " @@ -1206,11 +1219,11 @@ msgstr "" "sus resultados \"con menos frecuencia\" se mostrarán como negativos en las " "estadísticas del perfil." -#: ../Doc/library/profile.rst:641 +#: ../Doc/library/profile.rst:652 msgid "Using a custom timer" msgstr "Usando un temporizador personalizado" -#: ../Doc/library/profile.rst:643 +#: ../Doc/library/profile.rst:654 msgid "" "If you want to change how current time is determined (for example, to force " "use of wall-clock time or elapsed process time), pass the timing function " @@ -1221,7 +1234,7 @@ msgstr "" "del proceso), pase la función de temporización que desee a la clase " "constructora :class:`Profile`::" -#: ../Doc/library/profile.rst:649 +#: ../Doc/library/profile.rst:660 msgid "" "The resulting profiler will then call ``your_time_func``. Depending on " "whether you are using :class:`profile.Profile` or :class:`cProfile.Profile`, " @@ -1232,11 +1245,11 @@ msgstr "" "`cProfile.Profile`, el valor de retorno de ``your_time_func`` se " "interpretará de manera diferente:" -#: ../Doc/library/profile.rst:667 +#: ../Doc/library/profile.rst:678 msgid ":class:`profile.Profile`" msgstr ":class:`profile.Profile`" -#: ../Doc/library/profile.rst:654 +#: ../Doc/library/profile.rst:665 msgid "" "``your_time_func`` should return a single number, or a list of numbers whose " "sum is the current time (like what :func:`os.times` returns). If the " @@ -1250,7 +1263,7 @@ msgstr "" "tiene una longitud de 2, obtendrá una versión especialmente rápida de la " "rutina de envío." -#: ../Doc/library/profile.rst:660 +#: ../Doc/library/profile.rst:671 msgid "" "Be warned that you should calibrate the profiler class for the timer " "function that you choose (see :ref:`profile-calibration`). For most " @@ -1271,11 +1284,11 @@ msgstr "" "conecte un método de envío de reemplazo que maneje mejor su llamada de " "temporizador, junto con la constante de calibración adecuada." -#: ../Doc/library/profile.rst:681 +#: ../Doc/library/profile.rst:692 msgid ":class:`cProfile.Profile`" msgstr ":class:`cProfile.Profile`" -#: ../Doc/library/profile.rst:670 +#: ../Doc/library/profile.rst:681 msgid "" "``your_time_func`` should return a single number. If it returns integers, " "you can also invoke the class constructor with a second argument specifying " @@ -1289,7 +1302,7 @@ msgstr "" "``your_integer_time_func`` retorna tiempos medidos en miles de segundos, " "construiría la instancia :class:`Profile` de la siguiente manera::" -#: ../Doc/library/profile.rst:678 +#: ../Doc/library/profile.rst:689 msgid "" "As the :class:`cProfile.Profile` class cannot be calibrated, custom timer " "functions should be used with care and should be as fast as possible. For " @@ -1302,7 +1315,7 @@ msgstr "" "personalizado, puede ser necesario codificarlo en la fuente C del módulo " "interno :mod:`_lsprof`." -#: ../Doc/library/profile.rst:683 +#: ../Doc/library/profile.rst:694 msgid "" "Python 3.3 adds several new functions in :mod:`time` that can be used to " "make precise measurements of process or wall-clock time. For example, see :" diff --git a/library/pty.po b/library/pty.po index dfeb8b5286..fef8277bce 100644 --- a/library/pty.po +++ b/library/pty.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-10-18 14:36-0500\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/pty.rst:2 msgid ":mod:`pty` --- Pseudo-terminal utilities" @@ -148,7 +147,21 @@ msgstr "" "pasan tres listas vacías. Esto es un error documentado en `issue 26228 " "`_." -#: ../Doc/library/pty.rst:73 +#: ../Doc/library/pty.rst:72 +#, fuzzy +msgid "" +"Return the exit status value from :func:`os.waitpid` on the child process." +msgstr "" +":func:`spawn` ahora retorna el valor de estado de :func:`os.waitpid` para " +"los procesos hijos." + +#: ../Doc/library/pty.rst:74 +msgid "" +":func:`waitstatus_to_exitcode` can be used to convert the exit status into " +"an exit code." +msgstr "" + +#: ../Doc/library/pty.rst:77 msgid "" "Raises an :ref:`auditing event ` ``pty.spawn`` with argument " "``argv``." @@ -156,7 +169,7 @@ msgstr "" "Lanza un :ref:`evento de auditoria ` ``pty.spawn`` con el " "argumento ``argv``." -#: ../Doc/library/pty.rst:74 +#: ../Doc/library/pty.rst:79 msgid "" ":func:`spawn` now returns the status value from :func:`os.waitpid` on the " "child process." @@ -164,11 +177,11 @@ msgstr "" ":func:`spawn` ahora retorna el valor de estado de :func:`os.waitpid` para " "los procesos hijos." -#: ../Doc/library/pty.rst:79 +#: ../Doc/library/pty.rst:84 msgid "Example" msgstr "Ejemplo" -#: ../Doc/library/pty.rst:83 +#: ../Doc/library/pty.rst:88 msgid "" "The following program acts like the Unix command :manpage:`script(1)`, using " "a pseudo-terminal to record all input and output of a terminal session in a " diff --git a/library/py_compile.po b/library/py_compile.po index 1682af9e1c..f846ed365e 100644 --- a/library/py_compile.po +++ b/library/py_compile.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-10-06 22:11+0200\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/py_compile.rst:2 msgid ":mod:`py_compile` --- Compile Python source files" @@ -59,6 +58,7 @@ msgstr "" "excepción." #: ../Doc/library/py_compile.rst:32 +#, fuzzy msgid "" "Compile a source file to byte-code and write out the byte-code cache file. " "The source code is loaded from the file named *file*. The byte-code is " @@ -66,11 +66,11 @@ msgid "" "ending in ``.pyc``. For example, if *file* is ``/foo/bar/baz.py`` *cfile* " "will default to ``/foo/bar/__pycache__/baz.cpython-32.pyc`` for Python 3.2. " "If *dfile* is specified, it is used as the name of the source file in error " -"messages when instead of *file*. If *doraise* is true, a :exc:" -"`PyCompileError` is raised when an error is encountered while compiling " -"*file*. If *doraise* is false (the default), an error string is written to " -"``sys.stderr``, but no exception is raised. This function returns the path " -"to byte-compiled file, i.e. whatever *cfile* value was used." +"messages instead of *file*. If *doraise* is true, a :exc:`PyCompileError` " +"is raised when an error is encountered while compiling *file*. If *doraise* " +"is false (the default), an error string is written to ``sys.stderr``, but no " +"exception is raised. This function returns the path to byte-compiled file, " +"i.e. whatever *cfile* value was used." msgstr "" "Compila un archivo fuente a código de bytes y escribe el archivo de código " "de bytes almacenado. El código fuente es cargado del archivo llamado *file* " diff --git a/library/random.po b/library/random.po index 171a07b9f5..8da4b0c038 100644 --- a/library/random.po +++ b/library/random.po @@ -1,22 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) 2001-2019, Python Software Foundation # This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. +# FIRST AUTHOR , 2020. # msgid "" msgstr "" "Project-Id-Version: Python 3.7\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-06 11:59-0400\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-24 20:02+0200\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" "Last-Translator: \n" -"Language-Team: \n" "Language: es_ES\n" -"X-Generator: Poedit 2.3.1\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.8.0\n" #: ../Doc/library/random.rst:2 msgid ":mod:`random` --- Generate pseudo-random numbers" @@ -199,7 +199,14 @@ msgstr "" "El esquema que usa todos los bits en una semilla de tipo cadena, se ha " "movido a la versión 2." -#: ../Doc/library/random.rst:91 +#: ../Doc/library/random.rst:89 +msgid "" +"In the future, the *seed* must be one of the following types: *NoneType*, :" +"class:`int`, :class:`float`, :class:`str`, :class:`bytes`, or :class:" +"`bytearray`." +msgstr "" + +#: ../Doc/library/random.rst:96 msgid "" "Return an object capturing the current internal state of the generator. " "This object can be passed to :func:`setstate` to restore the state." @@ -207,7 +214,7 @@ msgstr "" "Retorna un objeto capturando el estado interno del generador. Este objeto " "puede pasarse a :func:`setstate` para restaurar su estado." -#: ../Doc/library/random.rst:97 +#: ../Doc/library/random.rst:102 msgid "" "*state* should have been obtained from a previous call to :func:`getstate`, " "and :func:`setstate` restores the internal state of the generator to what it " @@ -217,24 +224,26 @@ msgstr "" "`getstate`, y :func:`setstate` reestablece el estado interno del generador " "al que tenia cuando se llamó a la función :func:`getstate`." -#: ../Doc/library/random.rst:104 +#: ../Doc/library/random.rst:108 +#, fuzzy +msgid "Functions for bytes" +msgstr "Funciones para enteros" + +#: ../Doc/library/random.rst:112 +msgid "Generate *n* random bytes." +msgstr "" + +#: ../Doc/library/random.rst:114 msgid "" -"Returns a Python integer with *k* random bits. This method is supplied with " -"the MersenneTwister generator and some other generators may also provide it " -"as an optional part of the API. When available, :meth:`getrandbits` enables :" -"meth:`randrange` to handle arbitrarily large ranges." +"This method should not be used for generating security tokens. Use :func:" +"`secrets.token_bytes` instead." msgstr "" -"Retorna un entero de Python con *k* bits aleatorios. Este método se " -"suministra con el generador de Mersenne Twister, y otros generadores también " -"pueden proporcionarlo como una parte de la API. Cuando está disponible, :" -"meth:`getrandbits` habilita :meth:`randrange` para manejar rangos " -"arbitrariamente grandes." -#: ../Doc/library/random.rst:111 +#: ../Doc/library/random.rst:121 msgid "Functions for integers" msgstr "Funciones para enteros" -#: ../Doc/library/random.rst:116 +#: ../Doc/library/random.rst:126 msgid "" "Return a randomly selected element from ``range(start, stop, step)``. This " "is equivalent to ``choice(range(start, stop, step))``, but doesn't actually " @@ -244,7 +253,7 @@ msgstr "" "aleatoriamente. Esto es equivalente a ``choice(range(start, stop, step))``, " "pero en realidad no crea un objeto rango." -#: ../Doc/library/random.rst:120 +#: ../Doc/library/random.rst:130 msgid "" "The positional argument pattern matches that of :func:`range`. Keyword " "arguments should not be used because the function may use them in unexpected " @@ -254,7 +263,7 @@ msgstr "" "argumentos no deben usarse porque la función puede usarlos de forma " "inesperada." -#: ../Doc/library/random.rst:123 +#: ../Doc/library/random.rst:133 msgid "" ":meth:`randrange` is more sophisticated about producing equally distributed " "values. Formerly it used a style like ``int(random()*n)`` which could " @@ -264,7 +273,7 @@ msgstr "" "distribuidos. Anteriormente utilizaba un estilo como ``int(random()*n)`` el " "cual puede producir distribuciones ligeramente desiguales." -#: ../Doc/library/random.rst:130 +#: ../Doc/library/random.rst:140 msgid "" "Return a random integer *N* such that ``a <= N <= b``. Alias for " "``randrange(a, b+1)``." @@ -272,11 +281,29 @@ msgstr "" "Retorna un entero aleatorio *N* tal que ``a <= N <= b``. Alias de " "``randrange(a, b+1)``." -#: ../Doc/library/random.rst:135 +#: ../Doc/library/random.rst:145 +#, fuzzy +msgid "" +"Returns a non-negative Python integer with *k* random bits. This method is " +"supplied with the MersenneTwister generator and some other generators may " +"also provide it as an optional part of the API. When available, :meth:" +"`getrandbits` enables :meth:`randrange` to handle arbitrarily large ranges." +msgstr "" +"Retorna un entero de Python con *k* bits aleatorios. Este método se " +"suministra con el generador de Mersenne Twister, y otros generadores también " +"pueden proporcionarlo como una parte de la API. Cuando está disponible, :" +"meth:`getrandbits` habilita :meth:`randrange` para manejar rangos " +"arbitrariamente grandes." + +#: ../Doc/library/random.rst:151 +msgid "This method now accepts zero for *k*." +msgstr "" + +#: ../Doc/library/random.rst:156 msgid "Functions for sequences" msgstr "Funciones para secuencias" -#: ../Doc/library/random.rst:139 +#: ../Doc/library/random.rst:160 msgid "" "Return a random element from the non-empty sequence *seq*. If *seq* is " "empty, raises :exc:`IndexError`." @@ -284,7 +311,7 @@ msgstr "" "Retorna un elemento aleatorio de una secuencia *seq* no vacía. Si *seq* está " "vacía, lanza :exc:`IndexError`." -#: ../Doc/library/random.rst:144 +#: ../Doc/library/random.rst:165 msgid "" "Return a *k* sized list of elements chosen from the *population* with " "replacement. If the *population* is empty, raises :exc:`IndexError`." @@ -292,7 +319,7 @@ msgstr "" "Retorna una lista de elementos de tamaño *k* elegidos de la *population* con " "reemplazo. Si la *population* está vacía, lanza :exc:`IndexError`." -#: ../Doc/library/random.rst:147 +#: ../Doc/library/random.rst:168 msgid "" "If a *weights* sequence is specified, selections are made according to the " "relative weights. Alternatively, if a *cum_weights* sequence is given, the " @@ -311,7 +338,7 @@ msgstr "" "convierten en pesos cumulativos antes de hacer selecciones, por lo cual " "suplir los pesos cumulativos ahorra trabajo." -#: ../Doc/library/random.rst:156 +#: ../Doc/library/random.rst:177 msgid "" "If neither *weights* nor *cum_weights* are specified, selections are made " "with equal probability. If a weights sequence is supplied, it must be the " @@ -323,17 +350,20 @@ msgstr "" "ponderaciones, debe tener la misma longitud que la secuencia *population*. " "Es un :exc:`TypeError` especificar ambas *weights* y *cum_weights*." -#: ../Doc/library/random.rst:161 +#: ../Doc/library/random.rst:182 +#, fuzzy msgid "" "The *weights* or *cum_weights* can use any numeric type that interoperates " "with the :class:`float` values returned by :func:`random` (that includes " -"integers, floats, and fractions but excludes decimals)." +"integers, floats, and fractions but excludes decimals). Behavior is " +"undefined if any weight is negative. A :exc:`ValueError` is raised if all " +"weights are zero." msgstr "" "*weights* o *cum_weights* pueden usar cualquier tipo numérico que interopere " "con los valores :class:`float` retornados por :func:`random` (que incluyen " "enteros, flotantes y fracciones, pero excluyen decimales)." -#: ../Doc/library/random.rst:165 +#: ../Doc/library/random.rst:188 msgid "" "For a given seed, the :func:`choices` function with equal weighting " "typically produces a different sequence than repeated calls to :func:" @@ -349,12 +379,16 @@ msgstr "" "por :func:`choice` emplea por defecto aritmética de enteros con selecciones " "repetidas para evitar pequeños sesgos de errores de redondeo." -#: ../Doc/library/random.rst:177 +#: ../Doc/library/random.rst:197 +msgid "Raises a :exc:`ValueError` if all weights are zero." +msgstr "" + +#: ../Doc/library/random.rst:203 #, fuzzy msgid "Shuffle the sequence *x* in place." msgstr "Baraja la secuencia *x* en su lugar." -#: ../Doc/library/random.rst:179 +#: ../Doc/library/random.rst:205 msgid "" "The optional argument *random* is a 0-argument function returning a random " "float in [0.0, 1.0); by default, this is the function :func:`.random`." @@ -363,7 +397,7 @@ msgstr "" "flotante random en [0.0, 1.0); por defecto esta es la función :func:`." "random`." -#: ../Doc/library/random.rst:182 +#: ../Doc/library/random.rst:208 msgid "" "To shuffle an immutable sequence and return a new shuffled list, use " "``sample(x, k=len(x))`` instead." @@ -371,7 +405,7 @@ msgstr "" "Para bajar una secuencia inmutable y retornar una nueva lista barajada, " "utilice ``sample(x, k=len(x))`` en su lugar." -#: ../Doc/library/random.rst:185 +#: ../Doc/library/random.rst:211 msgid "" "Note that even for small ``len(x)``, the total number of permutations of *x* " "can quickly grow larger than the period of most random number generators. " @@ -386,7 +420,11 @@ msgstr "" "una secuencia de longitud 2080 es la más grande que cabe dentro del período " "del generador de números aleatorios de Mersenne Twister." -#: ../Doc/library/random.rst:194 +#: ../Doc/library/random.rst:218 +msgid "The optional parameter *random*." +msgstr "" + +#: ../Doc/library/random.rst:223 msgid "" "Return a *k* length list of unique elements chosen from the population " "sequence or set. Used for random sampling without replacement." @@ -395,7 +433,7 @@ msgstr "" "secuencia de población o conjunto. Se utiliza para el muestreo aleatorio sin " "reemplazo." -#: ../Doc/library/random.rst:197 +#: ../Doc/library/random.rst:226 msgid "" "Returns a new list containing elements from the population while leaving the " "original population unchanged. The resulting list is in selection order so " @@ -409,7 +447,7 @@ msgstr "" "Esto permite que los ganadores de la rifa (la muestra) se dividan en primer " "premio y ganadores del segundo lugar (los subsectores)." -#: ../Doc/library/random.rst:203 +#: ../Doc/library/random.rst:232 msgid "" "Members of the population need not be :term:`hashable` or unique. If the " "population contains repeats, then each occurrence is a possible selection in " @@ -419,7 +457,15 @@ msgstr "" "Si la población incluye repeticiones, entonces cada ocurrencia es una " "posible selección en la muestra." -#: ../Doc/library/random.rst:206 +#: ../Doc/library/random.rst:235 +msgid "" +"Repeated elements can be specified one at a time or with the optional " +"keyword-only *counts* parameter. For example, ``sample(['red', 'blue'], " +"counts=[4, 2], k=5)`` is equivalent to ``sample(['red', 'red', 'red', 'red', " +"'blue', 'blue'], k=5)``." +msgstr "" + +#: ../Doc/library/random.rst:240 msgid "" "To choose a sample from a range of integers, use a :func:`range` object as " "an argument. This is especially fast and space efficient for sampling from " @@ -429,7 +475,7 @@ msgstr "" "como argumento. Esto es especialmente rápido y eficiente en espacio para el " "muestreo de poblaciones grandes: ``sample(range(10000000), k=60)``." -#: ../Doc/library/random.rst:210 +#: ../Doc/library/random.rst:244 msgid "" "If the sample size is larger than the population size, a :exc:`ValueError` " "is raised." @@ -437,11 +483,23 @@ msgstr "" "Si el tamaño de la muestra es mayor que el tamaño de la población, se " "lanzará un :exc:`ValueError`." -#: ../Doc/library/random.rst:214 +#: ../Doc/library/random.rst:247 +msgid "Added the *counts* parameter." +msgstr "" + +#: ../Doc/library/random.rst:250 +msgid "" +"In the future, the *population* must be a sequence. Instances of :class:" +"`set` are no longer supported. The set must first be converted to a :class:" +"`list` or :class:`tuple`, preferably in a deterministic order so that the " +"sample is reproducible." +msgstr "" + +#: ../Doc/library/random.rst:260 msgid "Real-valued distributions" msgstr "Distribuciones para los nombres reales" -#: ../Doc/library/random.rst:216 +#: ../Doc/library/random.rst:262 msgid "" "The following functions generate specific real-valued distributions. " "Function parameters are named after the corresponding variables in the " @@ -454,13 +512,13 @@ msgstr "" "la práctica matemática común.; la mayoría de estas ecuaciones se pueden " "encontrar en cualquier texto estadístico." -#: ../Doc/library/random.rst:224 +#: ../Doc/library/random.rst:270 msgid "Return the next random floating point number in the range [0.0, 1.0)." msgstr "" "Retorna el siguiente número en coma flotante aleatorio dentro del rango " "[0.0, 1.0)." -#: ../Doc/library/random.rst:229 +#: ../Doc/library/random.rst:275 msgid "" "Return a random floating point number *N* such that ``a <= N <= b`` for ``a " "<= b`` and ``b <= N <= a`` for ``b < a``." @@ -468,7 +526,7 @@ msgstr "" "Retorna un número en coma flotante aleatorio *N* tal que ``a <= N <= b`` " "para ``a <= b`` y ``b <= N <= a`` para ``b < a``." -#: ../Doc/library/random.rst:232 +#: ../Doc/library/random.rst:278 msgid "" "The end-point value ``b`` may or may not be included in the range depending " "on floating-point rounding in the equation ``a + (b-a) * random()``." @@ -476,7 +534,7 @@ msgstr "" "El valor final ``b`` puede o no estar incluido en el rango, dependiendo del " "redondeo de coma flotante en la ecuación ``a + (b-a) * random()``." -#: ../Doc/library/random.rst:238 +#: ../Doc/library/random.rst:284 msgid "" "Return a random floating point number *N* such that ``low <= N <= high`` and " "with the specified *mode* between those bounds. The *low* and *high* bounds " @@ -489,7 +547,7 @@ msgstr "" "valor por defecto el punto medio entre los límites, dando lugar a una " "distribución simétrica." -#: ../Doc/library/random.rst:246 +#: ../Doc/library/random.rst:292 msgid "" "Beta distribution. Conditions on the parameters are ``alpha > 0`` and " "``beta > 0``. Returned values range between 0 and 1." @@ -497,7 +555,7 @@ msgstr "" "Distribución beta. Las condiciones de los parámetros son ``alpha > 0`` y " "``beta > 0``. Retorna valores dentro del rango entre 0 y 1." -#: ../Doc/library/random.rst:252 +#: ../Doc/library/random.rst:298 msgid "" "Exponential distribution. *lambd* is 1.0 divided by the desired mean. It " "should be nonzero. (The parameter would be called \"lambda\", but that is a " @@ -511,7 +569,7 @@ msgstr "" "infinito positivo si *lambd* es positivo, y de infinito negativo a 0 si " "*lambd* es negativo." -#: ../Doc/library/random.rst:261 +#: ../Doc/library/random.rst:307 msgid "" "Gamma distribution. (*Not* the gamma function!) Conditions on the " "parameters are ``alpha > 0`` and ``beta > 0``." @@ -519,11 +577,11 @@ msgstr "" "Distribución gamma. (¡*No* la función gamma!) Las condiciones en los " "parámetros son ``alpha > 0`` y ``beta > 0``." -#: ../Doc/library/random.rst:264 +#: ../Doc/library/random.rst:310 msgid "The probability distribution function is::" msgstr "La función de distribución de la probabilidad es::" -#: ../Doc/library/random.rst:273 +#: ../Doc/library/random.rst:319 msgid "" "Gaussian distribution. *mu* is the mean, and *sigma* is the standard " "deviation. This is slightly faster than the :func:`normalvariate` function " @@ -533,7 +591,16 @@ msgstr "" "estándar. Es un poco más rápida que la función :func:`normalvariate` " "definida debajo." -#: ../Doc/library/random.rst:280 +#: ../Doc/library/random.rst:323 +msgid "" +"Multithreading note: When two threads call this function simultaneously, it " +"is possible that they will receive the same return value. This can be " +"avoided in three ways. 1) Have each thread use a different instance of the " +"random number generator. 2) Put locks around all calls. 3) Use the slower, " +"but thread-safe :func:`normalvariate` function instead." +msgstr "" + +#: ../Doc/library/random.rst:333 msgid "" "Log normal distribution. If you take the natural logarithm of this " "distribution, you'll get a normal distribution with mean *mu* and standard " @@ -545,14 +612,14 @@ msgstr "" "desviación estándar *sigma*. *mu* puede tener cualquier valor, y *sigma* " "debe ser mayor que cero." -#: ../Doc/library/random.rst:288 +#: ../Doc/library/random.rst:341 msgid "" "Normal distribution. *mu* is the mean, and *sigma* is the standard " "deviation." msgstr "" "Distribución normal. *mu* es la media y *sigma* es la desviación estándar." -#: ../Doc/library/random.rst:293 +#: ../Doc/library/random.rst:346 msgid "" "*mu* is the mean angle, expressed in radians between 0 and 2\\*\\ *pi*, and " "*kappa* is the concentration parameter, which must be greater than or equal " @@ -564,11 +631,11 @@ msgstr "" "Si *kappa* es igual a cero, esta distribución se reduce a un ángulo " "aleatorio uniforme sobre el rango de 0 a 2\\*\\ *pi*." -#: ../Doc/library/random.rst:301 +#: ../Doc/library/random.rst:354 msgid "Pareto distribution. *alpha* is the shape parameter." msgstr "Distribución de Pareto. *alpha* es el parámetro de forma." -#: ../Doc/library/random.rst:306 +#: ../Doc/library/random.rst:359 msgid "" "Weibull distribution. *alpha* is the scale parameter and *beta* is the " "shape parameter." @@ -576,11 +643,11 @@ msgstr "" "Distribución de Weibull. *alpha* es el parámetro de escala y *beta* es el " "parámetro de forma." -#: ../Doc/library/random.rst:311 +#: ../Doc/library/random.rst:364 msgid "Alternative Generator" msgstr "Generador alternativo" -#: ../Doc/library/random.rst:315 +#: ../Doc/library/random.rst:368 msgid "" "Class that implements the default pseudo-random number generator used by " "the :mod:`random` module." @@ -588,7 +655,14 @@ msgstr "" "Esta clase implementa el generador de números pseudoaleatorios " "predeterminado que usa el módulo :mod:`random` ." -#: ../Doc/library/random.rst:320 +#: ../Doc/library/random.rst:371 +msgid "" +"In the future, the *seed* must be one of the following types: :class:" +"`NoneType`, :class:`int`, :class:`float`, :class:`str`, :class:`bytes`, or :" +"class:`bytearray`." +msgstr "" + +#: ../Doc/library/random.rst:378 msgid "" "Class that uses the :func:`os.urandom` function for generating random " "numbers from sources provided by the operating system. Not available on all " @@ -604,14 +678,15 @@ msgstr "" "`seed` no tiene efecto y es ignorado. Los métodos :meth:`getstate` y :meth:" "`setstate` lanzan :exc:`NotImplementedError` si se les llama." -#: ../Doc/library/random.rst:329 +#: ../Doc/library/random.rst:387 msgid "Notes on Reproducibility" msgstr "Notas sobre la Reproducibilidad" -#: ../Doc/library/random.rst:331 +#: ../Doc/library/random.rst:389 +#, fuzzy msgid "" "Sometimes it is useful to be able to reproduce the sequences given by a " -"pseudo random number generator. By re-using a seed value, the same sequence " +"pseudo-random number generator. By re-using a seed value, the same sequence " "should be reproducible from run to run as long as multiple threads are not " "running." msgstr "" @@ -620,7 +695,7 @@ msgstr "" "misma secuencia debería ser reproducible en cada ejecución siempre que no se " "ejecuten múltiples subprocesos." -#: ../Doc/library/random.rst:335 +#: ../Doc/library/random.rst:393 msgid "" "Most of the random module's algorithms and seeding functions are subject to " "change across Python versions, but two aspects are guaranteed not to change:" @@ -629,7 +704,7 @@ msgstr "" "módulo aleatorio pueden cambiar entre versiones de Python, pero se garantiza " "que dos aspectos no cambien::" -#: ../Doc/library/random.rst:338 +#: ../Doc/library/random.rst:396 msgid "" "If a new seeding method is added, then a backward compatible seeder will be " "offered." @@ -637,7 +712,7 @@ msgstr "" "Si se añade un nuevo método de generación de semilla, se ofrecerá un " "generador de semilla retrocompatible." -#: ../Doc/library/random.rst:341 +#: ../Doc/library/random.rst:399 msgid "" "The generator's :meth:`~Random.random` method will continue to produce the " "same sequence when the compatible seeder is given the same seed." @@ -646,30 +721,32 @@ msgstr "" "secuencia cuando se le da la misma semilla al generador de semilla " "compatible." -#: ../Doc/library/random.rst:347 -msgid "Examples and Recipes" -msgstr "Ejemplos y Recetas" +#: ../Doc/library/random.rst:405 +#, fuzzy +msgid "Examples" +msgstr "Ejemplos básicos::" -#: ../Doc/library/random.rst:349 +#: ../Doc/library/random.rst:407 msgid "Basic examples::" msgstr "Ejemplos básicos::" -#: ../Doc/library/random.rst:377 +#: ../Doc/library/random.rst:435 msgid "Simulations::" msgstr "Simulaciones::" -#: ../Doc/library/random.rst:406 +#: ../Doc/library/random.rst:463 +#, fuzzy msgid "" "Example of `statistical bootstrapping `_ using resampling with replacement to estimate " -"a confidence interval for the mean of a sample of size five::" +"a confidence interval for the mean of a sample::" msgstr "" "Ejemplo de `*bootstrapping* estadístico `_ usando remuestreo con reemplazo para " "estimar el intervalo de confianza para la media de una muestra de tamaño " "cinco::" -#: ../Doc/library/random.rst:420 +#: ../Doc/library/random.rst:476 msgid "" "Example of a `resampling permutation test `_ to determine the statistical " @@ -682,14 +759,15 @@ msgstr "" "Valor_p>`_ de una diferencia observada entre los efectos de un fármaco y un " "placebo::" -#: ../Doc/library/random.rst:447 +#: ../Doc/library/random.rst:503 +#, fuzzy msgid "" -"Simulation of arrival times and service deliveries in a single server queue::" +"Simulation of arrival times and service deliveries for a multiserver queue::" msgstr "" "Simulación del tiempo de llegada y servicios de reparto en un servidor de " "cola única::" -#: ../Doc/library/random.rst:478 +#: ../Doc/library/random.rst:531 msgid "" "`Statistics for Hackers `_ a " "video tutorial by `Jake Vanderplas `_ sobre análisis estadístico usando sólo algunos conceptos " "fundamentales incluyendo simulación, muestreo, baraja y validación cruzada." -#: ../Doc/library/random.rst:484 +#: ../Doc/library/random.rst:537 msgid "" "`Economics Simulation `_ a simulation of a marketplace by `Peter Norvig `_ a tutorial by `Peter " @@ -728,3 +806,51 @@ msgstr "" "Norvig `_ cubriendo teoría básica de " "probabilidad, cómo escribir simulaciones y cómo realizar un análisis de " "datos usando Python." + +#: ../Doc/library/random.rst:552 +msgid "Recipes" +msgstr "" + +#: ../Doc/library/random.rst:554 +msgid "" +"The default :func:`.random` returns multiples of 2⁻⁵³ in the range *0.0 ≤ x " +"< 1.0*. All such numbers are evenly spaced and are exactly representable as " +"Python floats. However, many other representable floats in that interval " +"are not possible selections. For example, ``0.05954861408025609`` isn't an " +"integer multiple of 2⁻⁵³." +msgstr "" + +#: ../Doc/library/random.rst:560 +msgid "" +"The following recipe takes a different approach. All floats in the interval " +"are possible selections. The mantissa comes from a uniform distribution of " +"integers in the range *2⁵² ≤ mantissa < 2⁵³*. The exponent comes from a " +"geometric distribution where exponents smaller than *-53* occur half as " +"often as the next larger exponent." +msgstr "" + +#: ../Doc/library/random.rst:582 +msgid "" +"All :ref:`real valued distributions ` in the " +"class will use the new method::" +msgstr "" + +#: ../Doc/library/random.rst:591 +msgid "" +"The recipe is conceptually equivalent to an algorithm that chooses from all " +"the multiples of 2⁻¹⁰⁷⁴ in the range *0.0 ≤ x < 1.0*. All such numbers are " +"evenly spaced, but most have to be rounded down to the nearest representable " +"Python float. (The value 2⁻¹⁰⁷⁴ is the smallest positive unnormalized float " +"and is equal to ``math.ulp(0.0)``.)" +msgstr "" + +#: ../Doc/library/random.rst:600 +msgid "" +"`Generating Pseudo-random Floating-Point Values `_ a paper by Allen B. Downey describing " +"ways to generate more fine-grained floats than normally generated by :func:`." +"random`." +msgstr "" + +#~ msgid "Examples and Recipes" +#~ msgstr "Ejemplos y Recetas" diff --git a/library/re.po b/library/re.po index 9bc527aef9..dc1b8d6365 100644 --- a/library/re.po +++ b/library/re.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-06-23 11:00+0200\n" +"Last-Translator: Miguel Hernandez \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Miguel Hernandez \n" -"Language: es\n" -"X-Generator: Poedit 2.3.1\n" #: ../Doc/library/re.rst:2 msgid ":mod:`re` --- Regular expression operations" @@ -1320,12 +1319,13 @@ msgstr "" "indicador :const:`re.LOCALE`. Corresponde al indicador en línea ``(?i)``." #: ../Doc/library/re.rst:672 +#, fuzzy msgid "" "Note that when the Unicode patterns ``[a-z]`` or ``[A-Z]`` are used in " "combination with the :const:`IGNORECASE` flag, they will match the 52 ASCII " "letters and 4 additional non-ASCII letters: 'İ' (U+0130, Latin capital " "letter I with dot above), 'ı' (U+0131, Latin small letter dotless i), 'ſ' (U" -"+017F, Latin small letter long s) and 'K' (U+212A, Kelvin sign). If the :" +"+017F, Latin small letter long s) and 'K' (U+212A, Kelvin sign). If the :" "const:`ASCII` flag is used, only letters 'a' to 'z' and 'A' to 'Z' are " "matched." msgstr "" diff --git a/library/secrets.po b/library/secrets.po index e4d3ec0d4c..390a53e74f 100644 --- a/library/secrets.po +++ b/library/secrets.po @@ -1,23 +1,25 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. # Maintained by the python-doc-es workteam. -# docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ -# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers +# docs-es@python.org / +# https://mail.python.org/mailman3/lists/docs-es.python.org/ +# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get +# the list of volunteers # msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-06 11:59-0400\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-07-26 21:25-0300\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.3.1\n" +"Generated-By: Babel 2.8.0\n" #: ../Doc/library/secrets.rst:2 msgid ":mod:`secrets` --- Generate secure random numbers for managing secrets" @@ -41,8 +43,9 @@ msgstr "" "relacionados." #: ../Doc/library/secrets.rst:24 +#, fuzzy msgid "" -"In particularly, :mod:`secrets` should be used in preference to the default " +"In particular, :mod:`secrets` should be used in preference to the default " "pseudo-random number generator in the :mod:`random` module, which is " "designed for modelling and simulation, not security or cryptography." msgstr "" @@ -217,7 +220,7 @@ msgstr "" msgid "Generate an eight-character alphanumeric password:" msgstr "Generar una contraseña alfanumérica de ocho caracteres:" -#: ../Doc/library/secrets.rst:154 +#: ../Doc/library/secrets.rst:155 msgid "" "Applications should not `store passwords in a recoverable format `_, whether plain text or encrypted. " @@ -229,7 +232,7 @@ msgstr "" "encriptado. Deberían ser saladas y hasheadas usando una función hash " "unidireccional (irreversible) y criptográficamente fuerte." -#: ../Doc/library/secrets.rst:160 +#: ../Doc/library/secrets.rst:161 msgid "" "Generate a ten-character alphanumeric password with at least one lowercase " "character, at least one uppercase character, and at least three digits:" @@ -238,11 +241,11 @@ msgstr "" "carácter en minúscula, al menos un carácter en mayúscula y al menos tres " "dígitos:" -#: ../Doc/library/secrets.rst:176 +#: ../Doc/library/secrets.rst:178 msgid "Generate an `XKCD-style passphrase `_:" msgstr "Generar una `contraseña al estilo XKCD `_:" -#: ../Doc/library/secrets.rst:187 +#: ../Doc/library/secrets.rst:190 msgid "" "Generate a hard-to-guess temporary URL containing a security token suitable " "for password recovery applications:" diff --git a/library/select.po b/library/select.po index aec1615fd1..c3429efb7d 100644 --- a/library/select.po +++ b/library/select.po @@ -10,17 +10,15 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-07-31 08:52-0500\n" +"Last-Translator: Juan Diego Alfonso Ocampo Language: es\n" "Language-Team: python-doc-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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Juan Diego Alfonso Ocampo Language: es\n" -"X-Generator: Poedit 2.4\n" #: ../Doc/library/select.rst:2 msgid ":mod:`select` --- Waiting for I/O completion" @@ -207,9 +205,10 @@ msgstr "" "admitidos por los objetos kevent." #: ../Doc/library/select.rst:119 +#, fuzzy msgid "" "This is a straightforward interface to the Unix :c:func:`select` system " -"call. The first three arguments are sequences of 'waitable objects': either " +"call. The first three arguments are iterables of 'waitable objects': either " "integers representing file descriptors or objects with a parameterless " "method named :meth:`~io.IOBase.fileno` returning such an integer:" msgstr "" @@ -236,8 +235,9 @@ msgstr "" "para ver lo que su sistema considera tal condición)" #: ../Doc/library/select.rst:129 +#, fuzzy msgid "" -"Empty sequences are allowed, but acceptance of three empty sequences is " +"Empty iterables are allowed, but acceptance of three empty iterables is " "platform-dependent. (It is known to work on Unix but not on Windows.) The " "optional *timeout* argument specifies a time-out as a floating point number " "in seconds. When the *timeout* argument is omitted the function blocks " @@ -264,8 +264,9 @@ msgstr "" "vacías." #: ../Doc/library/select.rst:144 +#, fuzzy msgid "" -"Among the acceptable object types in the sequences are Python :term:`file " +"Among the acceptable object types in the iterables are Python :term:`file " "objects ` (e.g. ``sys.stdin``, or objects returned by :func:" "`open` or :func:`os.popen`), socket objects returned by :func:`socket." "socket`. You may also define a :dfn:`wrapper` class yourself, as long as it " @@ -292,8 +293,8 @@ msgstr "" "originan en WinSock." #: ../Doc/library/select.rst:160 ../Doc/library/select.rst:266 -#: ../Doc/library/select.rst:363 ../Doc/library/select.rst:451 -#: ../Doc/library/select.rst:492 +#: ../Doc/library/select.rst:366 ../Doc/library/select.rst:454 +#: ../Doc/library/select.rst:495 msgid "" "The function is now retried with a recomputed timeout when interrupted by a " "signal, except if the signal handler raises an exception (see :pep:`475` for " @@ -358,7 +359,7 @@ msgstr "``True`` si el objeto de sondeo está cerrado." msgid "Return the file descriptor number of the polling object." msgstr "Retorna el número de descriptor de archivo del objeto de sondeo." -#: ../Doc/library/select.rst:217 ../Doc/library/select.rst:386 +#: ../Doc/library/select.rst:217 ../Doc/library/select.rst:389 msgid "" "Register a file descriptor with the polling object. Future calls to the :" "meth:`poll` method will then check whether the file descriptor has any " @@ -404,7 +405,7 @@ msgstr "" "Este método hace un :meth:`unregister` seguido de a :meth:`register`. Es (un " "poco) más eficiente que hacer lo mismo explícitamente." -#: ../Doc/library/select.rst:245 ../Doc/library/select.rst:430 +#: ../Doc/library/select.rst:245 ../Doc/library/select.rst:433 msgid "" "Remove a file descriptor being tracked by a polling object. Just like the :" "meth:`register` method, *fd* can be an integer or an object with a :meth:" @@ -460,17 +461,17 @@ msgstr "https://linux.die.net/man/4/epoll" msgid "*eventmask*" msgstr "*eventmask*" -#: ../Doc/library/select.rst:283 ../Doc/library/select.rst:398 -#: ../Doc/library/select.rst:518 ../Doc/library/select.rst:547 -#: ../Doc/library/select.rst:578 ../Doc/library/select.rst:586 -#: ../Doc/library/select.rst:606 ../Doc/library/select.rst:629 +#: ../Doc/library/select.rst:283 ../Doc/library/select.rst:401 +#: ../Doc/library/select.rst:521 ../Doc/library/select.rst:550 +#: ../Doc/library/select.rst:581 ../Doc/library/select.rst:589 +#: ../Doc/library/select.rst:609 ../Doc/library/select.rst:632 msgid "Constant" msgstr "Constante" -#: ../Doc/library/select.rst:283 ../Doc/library/select.rst:398 -#: ../Doc/library/select.rst:518 ../Doc/library/select.rst:547 -#: ../Doc/library/select.rst:578 ../Doc/library/select.rst:586 -#: ../Doc/library/select.rst:606 ../Doc/library/select.rst:629 +#: ../Doc/library/select.rst:283 ../Doc/library/select.rst:401 +#: ../Doc/library/select.rst:521 ../Doc/library/select.rst:550 +#: ../Doc/library/select.rst:581 ../Doc/library/select.rst:589 +#: ../Doc/library/select.rst:609 ../Doc/library/select.rst:632 msgid "Meaning" msgstr "Significado" @@ -616,7 +617,7 @@ msgstr "Cierra el descriptor del archivo de control del objeto epoll." msgid "``True`` if the epoll object is closed." msgstr "``True`` si el objeto epoll está cerrado." -#: ../Doc/library/select.rst:336 ../Doc/library/select.rst:475 +#: ../Doc/library/select.rst:336 ../Doc/library/select.rst:478 msgid "Return the file descriptor number of the control fd." msgstr "Retorna el número de descriptor de archivo del control fd." @@ -636,15 +637,19 @@ msgstr "Modifica un descriptor de archivo registrado." msgid "Remove a registered file descriptor from the epoll object." msgstr "Elimina un descriptor de archivo registrado del objeto epoll." -#: ../Doc/library/select.rst:361 +#: ../Doc/library/select.rst:358 +msgid "The method no longer ignores the :data:`~errno.EBADF` error." +msgstr "" + +#: ../Doc/library/select.rst:364 msgid "Wait for events. timeout in seconds (float)" msgstr "Espera los eventos. tiempo de espera (*timeout*) en segundos (float)" -#: ../Doc/library/select.rst:373 +#: ../Doc/library/select.rst:376 msgid "Polling Objects" msgstr "Sondeo de objetos" -#: ../Doc/library/select.rst:375 +#: ../Doc/library/select.rst:378 msgid "" "The :c:func:`poll` system call, supported on most Unix systems, provides " "better scalability for network servers that service many, many clients at " @@ -665,7 +670,7 @@ msgstr "" "(descriptor de archivo más alto), mientras que :c:func:`poll` es O(número de " "descriptores de archivo)." -#: ../Doc/library/select.rst:392 +#: ../Doc/library/select.rst:395 msgid "" "*eventmask* is an optional bitmask describing the type of events you want to " "check for, and can be a combination of the constants :const:`POLLIN`, :const:" @@ -678,66 +683,66 @@ msgstr "" "abajo. Si no se especifica, el valor predeterminado utilizado verificará los " "3 tipos de eventos." -#: ../Doc/library/select.rst:400 +#: ../Doc/library/select.rst:403 msgid ":const:`POLLIN`" msgstr ":const:`POLLIN`" -#: ../Doc/library/select.rst:400 +#: ../Doc/library/select.rst:403 msgid "There is data to read" msgstr "Hay datos para leer" -#: ../Doc/library/select.rst:402 +#: ../Doc/library/select.rst:405 msgid ":const:`POLLPRI`" msgstr ":const:`POLLPRI`" -#: ../Doc/library/select.rst:402 +#: ../Doc/library/select.rst:405 msgid "There is urgent data to read" msgstr "Hay datos urgentes para leer" -#: ../Doc/library/select.rst:404 +#: ../Doc/library/select.rst:407 msgid ":const:`POLLOUT`" msgstr ":const:`POLLOUT`" -#: ../Doc/library/select.rst:404 +#: ../Doc/library/select.rst:407 msgid "Ready for output: writing will not block" msgstr "Lista para la salida: la escritura no bloqueará" -#: ../Doc/library/select.rst:406 +#: ../Doc/library/select.rst:409 msgid ":const:`POLLERR`" msgstr ":const:`POLLERR`" -#: ../Doc/library/select.rst:406 +#: ../Doc/library/select.rst:409 msgid "Error condition of some sort" msgstr "Condición de error de algún tipo" -#: ../Doc/library/select.rst:408 +#: ../Doc/library/select.rst:411 msgid ":const:`POLLHUP`" msgstr ":const:`POLLHUP`" -#: ../Doc/library/select.rst:408 +#: ../Doc/library/select.rst:411 msgid "Hung up" msgstr "Colgado" -#: ../Doc/library/select.rst:410 +#: ../Doc/library/select.rst:413 msgid ":const:`POLLRDHUP`" msgstr ":const:`POLLRDHUP`" -#: ../Doc/library/select.rst:410 +#: ../Doc/library/select.rst:413 msgid "" "Stream socket peer closed connection, or shut down writing half of connection" msgstr "" "Socket de flujo de conexión cerrada por pares, o apagado escribiendo la " "mitad de la conexión" -#: ../Doc/library/select.rst:413 +#: ../Doc/library/select.rst:416 msgid ":const:`POLLNVAL`" msgstr ":const:`POLLNVAL`" -#: ../Doc/library/select.rst:413 +#: ../Doc/library/select.rst:416 msgid "Invalid request: descriptor not open" msgstr "Solicitud no válida: descriptor no abierto" -#: ../Doc/library/select.rst:416 +#: ../Doc/library/select.rst:419 msgid "" "Registering a file descriptor that's already registered is not an error, and " "has the same effect as registering the descriptor exactly once." @@ -745,7 +750,7 @@ msgstr "" "Al registrar un descriptor de archivo que ya está registrado no es un error " "y tiene el mismo efecto que registrar el descriptor exactamente una vez." -#: ../Doc/library/select.rst:422 +#: ../Doc/library/select.rst:425 msgid "" "Modifies an already registered fd. This has the same effect as " "``register(fd, eventmask)``. Attempting to modify a file descriptor that " @@ -756,7 +761,7 @@ msgstr "" "eventmask)``. Si se intenta modificar un descriptor de archivo que nunca se " "registró, se genera una excepción :exc:`OSError` con *errno* :const:`ENOENT`." -#: ../Doc/library/select.rst:434 +#: ../Doc/library/select.rst:437 msgid "" "Attempting to remove a file descriptor that was never registered causes a :" "exc:`KeyError` exception to be raised." @@ -764,7 +769,7 @@ msgstr "" "Intenta eliminar un descriptor de archivo que nunca se registró provoca una " "excepción :exc:`KeyError`." -#: ../Doc/library/select.rst:440 +#: ../Doc/library/select.rst:443 msgid "" "Polls the set of registered file descriptors, and returns a possibly-empty " "list containing ``(fd, event)`` 2-tuples for the descriptors that have " @@ -790,37 +795,37 @@ msgstr "" "antes de regresar. Si se omite *timeout*, es negativo, o :const:`None`, la " "llamada se bloqueará hasta que haya un evento para este objeto de encuesta." -#: ../Doc/library/select.rst:461 +#: ../Doc/library/select.rst:464 msgid "Kqueue Objects" msgstr "Objetos Kqueue" -#: ../Doc/library/select.rst:465 +#: ../Doc/library/select.rst:468 msgid "Close the control file descriptor of the kqueue object." msgstr "Cierra el descriptor del archivo de control del objeto kqueue." -#: ../Doc/library/select.rst:470 +#: ../Doc/library/select.rst:473 msgid "``True`` if the kqueue object is closed." msgstr "``True`` si el objeto *kqueue* está cerrado." -#: ../Doc/library/select.rst:480 +#: ../Doc/library/select.rst:483 msgid "Create a kqueue object from a given file descriptor." msgstr "Crea un objeto *kqueue* a partir de un descriptor de archivo dado." -#: ../Doc/library/select.rst:485 +#: ../Doc/library/select.rst:488 msgid "Low level interface to kevent" msgstr "Interfaz de bajo nivel para kevent" -#: ../Doc/library/select.rst:487 +#: ../Doc/library/select.rst:490 msgid "changelist must be an iterable of kevent objects or ``None``" msgstr "" "la lista de cambios (*changelist*) debe ser iterable de objetos kevent o " "``None``" -#: ../Doc/library/select.rst:488 +#: ../Doc/library/select.rst:491 msgid "max_events must be 0 or a positive integer" msgstr "max_events debe ser 0 o un entero positivo" -#: ../Doc/library/select.rst:489 +#: ../Doc/library/select.rst:492 msgid "" "timeout in seconds (floats possible); the default is ``None``, to wait " "forever" @@ -828,15 +833,15 @@ msgstr "" "tiempo de espera (*timeout*) en segundos (posible con *floats*); el valor " "predeterminado es ``None``, para esperar para siempre" -#: ../Doc/library/select.rst:502 +#: ../Doc/library/select.rst:505 msgid "Kevent Objects" msgstr "Objetos Kevent" -#: ../Doc/library/select.rst:504 +#: ../Doc/library/select.rst:507 msgid "https://www.freebsd.org/cgi/man.cgi?query=kqueue&sektion=2" msgstr "https://www.freebsd.org/cgi/man.cgi?query=kqueue&sektion=2" -#: ../Doc/library/select.rst:508 +#: ../Doc/library/select.rst:511 msgid "" "Value used to identify the event. The interpretation depends on the filter " "but it's usually the file descriptor. In the constructor ident can either be " @@ -848,334 +853,334 @@ msgstr "" "ident puede ser un int o un objeto con un método :meth:`~io.IOBase.fileno`. " "kevent almacena el entero internamente." -#: ../Doc/library/select.rst:515 +#: ../Doc/library/select.rst:518 msgid "Name of the kernel filter." msgstr "Nombre del filtro del kernel." -#: ../Doc/library/select.rst:520 +#: ../Doc/library/select.rst:523 msgid ":const:`KQ_FILTER_READ`" msgstr ":const:`KQ_FILTER_READ`" -#: ../Doc/library/select.rst:520 +#: ../Doc/library/select.rst:523 msgid "Takes a descriptor and returns whenever there is data available to read" msgstr "" "Toma un descriptor y retorna cada vez que hay datos disponibles para leer" -#: ../Doc/library/select.rst:523 +#: ../Doc/library/select.rst:526 msgid ":const:`KQ_FILTER_WRITE`" msgstr ":const:`KQ_FILTER_WRITE`" -#: ../Doc/library/select.rst:523 +#: ../Doc/library/select.rst:526 msgid "" "Takes a descriptor and returns whenever there is data available to write" msgstr "" "Toma un descriptor y retorna cada vez que hay datos disponibles para escribir" -#: ../Doc/library/select.rst:526 +#: ../Doc/library/select.rst:529 msgid ":const:`KQ_FILTER_AIO`" msgstr ":const:`KQ_FILTER_AIO`" -#: ../Doc/library/select.rst:526 +#: ../Doc/library/select.rst:529 msgid "AIO requests" msgstr "Solicitudes de AIO" -#: ../Doc/library/select.rst:528 +#: ../Doc/library/select.rst:531 msgid ":const:`KQ_FILTER_VNODE`" msgstr ":const:`KQ_FILTER_VNODE`" -#: ../Doc/library/select.rst:528 +#: ../Doc/library/select.rst:531 msgid "" "Returns when one or more of the requested events watched in *fflag* occurs" msgstr "" "Retorna cuando ocurre uno o más de los eventos solicitados observados en " "*fflag*" -#: ../Doc/library/select.rst:531 +#: ../Doc/library/select.rst:534 msgid ":const:`KQ_FILTER_PROC`" msgstr ":const:`KQ_FILTER_PROC`" -#: ../Doc/library/select.rst:531 +#: ../Doc/library/select.rst:534 msgid "Watch for events on a process id" msgstr "Vigila los eventos en un id de proceso" -#: ../Doc/library/select.rst:533 +#: ../Doc/library/select.rst:536 msgid ":const:`KQ_FILTER_NETDEV`" msgstr ":const:`KQ_FILTER_NETDEV`" -#: ../Doc/library/select.rst:533 +#: ../Doc/library/select.rst:536 msgid "Watch for events on a network device [not available on Mac OS X]" msgstr "" "Vigila los eventos en un dispositivo de red [no disponible en Mac OS X]" -#: ../Doc/library/select.rst:536 +#: ../Doc/library/select.rst:539 msgid ":const:`KQ_FILTER_SIGNAL`" msgstr ":const:`KQ_FILTER_SIGNAL`" -#: ../Doc/library/select.rst:536 +#: ../Doc/library/select.rst:539 msgid "Returns whenever the watched signal is delivered to the process" msgstr "Retorna cada vez que la señal observada se entrega al proceso" -#: ../Doc/library/select.rst:539 +#: ../Doc/library/select.rst:542 msgid ":const:`KQ_FILTER_TIMER`" msgstr ":const:`KQ_FILTER_TIMER`" -#: ../Doc/library/select.rst:539 +#: ../Doc/library/select.rst:542 msgid "Establishes an arbitrary timer" msgstr "Establece un temporizador arbitrario" -#: ../Doc/library/select.rst:544 +#: ../Doc/library/select.rst:547 msgid "Filter action." msgstr "Acción de filtro." -#: ../Doc/library/select.rst:549 +#: ../Doc/library/select.rst:552 msgid ":const:`KQ_EV_ADD`" msgstr ":const:`KQ_EV_ADD`" -#: ../Doc/library/select.rst:549 +#: ../Doc/library/select.rst:552 msgid "Adds or modifies an event" msgstr "Agrega o modifica un evento" -#: ../Doc/library/select.rst:551 +#: ../Doc/library/select.rst:554 msgid ":const:`KQ_EV_DELETE`" msgstr ":const:`KQ_EV_DELETE`" -#: ../Doc/library/select.rst:551 +#: ../Doc/library/select.rst:554 msgid "Removes an event from the queue" msgstr "Elimina un evento de la cola" -#: ../Doc/library/select.rst:553 +#: ../Doc/library/select.rst:556 msgid ":const:`KQ_EV_ENABLE`" msgstr ":const:`KQ_EV_ENABLE`" -#: ../Doc/library/select.rst:553 +#: ../Doc/library/select.rst:556 msgid "Permitscontrol() to returns the event" msgstr "Permitscontrol() para retornar el evento" -#: ../Doc/library/select.rst:555 +#: ../Doc/library/select.rst:558 msgid ":const:`KQ_EV_DISABLE`" msgstr ":const:`KQ_EV_DISABLE`" -#: ../Doc/library/select.rst:555 +#: ../Doc/library/select.rst:558 msgid "Disablesevent" msgstr "Disablesevent" -#: ../Doc/library/select.rst:557 +#: ../Doc/library/select.rst:560 msgid ":const:`KQ_EV_ONESHOT`" msgstr ":const:`KQ_EV_ONESHOT`" -#: ../Doc/library/select.rst:557 +#: ../Doc/library/select.rst:560 msgid "Removes event after first occurrence" msgstr "Elimina evento después de la primera aparición" -#: ../Doc/library/select.rst:559 +#: ../Doc/library/select.rst:562 msgid ":const:`KQ_EV_CLEAR`" msgstr ":const:`KQ_EV_CLEAR`" -#: ../Doc/library/select.rst:559 +#: ../Doc/library/select.rst:562 msgid "Reset the state after an event is retrieved" msgstr "Restablece el estado después de recuperar un evento" -#: ../Doc/library/select.rst:561 +#: ../Doc/library/select.rst:564 msgid ":const:`KQ_EV_SYSFLAGS`" msgstr ":const:`KQ_EV_SYSFLAGS`" -#: ../Doc/library/select.rst:561 ../Doc/library/select.rst:563 +#: ../Doc/library/select.rst:564 ../Doc/library/select.rst:566 msgid "internal event" msgstr "evento interno" -#: ../Doc/library/select.rst:563 +#: ../Doc/library/select.rst:566 msgid ":const:`KQ_EV_FLAG1`" msgstr ":const:`KQ_EV_FLAG1`" -#: ../Doc/library/select.rst:565 +#: ../Doc/library/select.rst:568 msgid ":const:`KQ_EV_EOF`" msgstr ":const:`KQ_EV_EOF`" -#: ../Doc/library/select.rst:565 +#: ../Doc/library/select.rst:568 msgid "Filter specific EOF condition" msgstr "Filtrar la condición específica de EOF" -#: ../Doc/library/select.rst:567 +#: ../Doc/library/select.rst:570 msgid ":const:`KQ_EV_ERROR`" msgstr ":const:`KQ_EV_ERROR`" -#: ../Doc/library/select.rst:567 +#: ../Doc/library/select.rst:570 msgid "See return values" msgstr "Ver valores de retorno" -#: ../Doc/library/select.rst:573 +#: ../Doc/library/select.rst:576 msgid "Filter specific flags." msgstr "Filtrar flags específicas." -#: ../Doc/library/select.rst:575 +#: ../Doc/library/select.rst:578 msgid ":const:`KQ_FILTER_READ` and :const:`KQ_FILTER_WRITE` filter flags:" msgstr ":const:`KQ_FILTER_READ` y :const:`KQ_FILTER_WRITE` bandera de filtro:" -#: ../Doc/library/select.rst:580 +#: ../Doc/library/select.rst:583 msgid ":const:`KQ_NOTE_LOWAT`" msgstr ":const:`KQ_NOTE_LOWAT`" -#: ../Doc/library/select.rst:580 +#: ../Doc/library/select.rst:583 msgid "low water mark of a socket buffer" msgstr "marca de agua baja de un *socket buffer*" -#: ../Doc/library/select.rst:583 +#: ../Doc/library/select.rst:586 msgid ":const:`KQ_FILTER_VNODE` filter flags:" msgstr ":const:`KQ_FILTER_VNODE` bandera de filtro:" -#: ../Doc/library/select.rst:588 +#: ../Doc/library/select.rst:591 msgid ":const:`KQ_NOTE_DELETE`" msgstr ":const:`KQ_NOTE_DELETE`" -#: ../Doc/library/select.rst:588 +#: ../Doc/library/select.rst:591 msgid "*unlink()* was called" msgstr "*unlink()* fue llamado" -#: ../Doc/library/select.rst:590 +#: ../Doc/library/select.rst:593 msgid ":const:`KQ_NOTE_WRITE`" msgstr ":const:`KQ_NOTE_WRITE`" -#: ../Doc/library/select.rst:590 +#: ../Doc/library/select.rst:593 msgid "a write occurred" msgstr "una escritura ha ocurrido" -#: ../Doc/library/select.rst:592 +#: ../Doc/library/select.rst:595 msgid ":const:`KQ_NOTE_EXTEND`" msgstr ":const:`KQ_NOTE_EXTEND`" -#: ../Doc/library/select.rst:592 +#: ../Doc/library/select.rst:595 msgid "the file was extended" msgstr "el archivo fue extendido" -#: ../Doc/library/select.rst:594 +#: ../Doc/library/select.rst:597 msgid ":const:`KQ_NOTE_ATTRIB`" msgstr ":const:`KQ_NOTE_ATTRIB`" -#: ../Doc/library/select.rst:594 +#: ../Doc/library/select.rst:597 msgid "an attribute was changed" msgstr "un atributo fue cambiado" -#: ../Doc/library/select.rst:596 +#: ../Doc/library/select.rst:599 msgid ":const:`KQ_NOTE_LINK`" msgstr ":const:`KQ_NOTE_LINK`" -#: ../Doc/library/select.rst:596 +#: ../Doc/library/select.rst:599 msgid "the link count has changed" msgstr "el recuento de enlaces ha cambiado" -#: ../Doc/library/select.rst:598 +#: ../Doc/library/select.rst:601 msgid ":const:`KQ_NOTE_RENAME`" msgstr ":const:`KQ_NOTE_RENAME`" -#: ../Doc/library/select.rst:598 +#: ../Doc/library/select.rst:601 msgid "the file was renamed" msgstr "el archivo fue renombrado" -#: ../Doc/library/select.rst:600 +#: ../Doc/library/select.rst:603 msgid ":const:`KQ_NOTE_REVOKE`" msgstr ":const:`KQ_NOTE_REVOKE`" -#: ../Doc/library/select.rst:600 +#: ../Doc/library/select.rst:603 msgid "access to the file was revoked" msgstr "se revocó el acceso al archivo" -#: ../Doc/library/select.rst:603 +#: ../Doc/library/select.rst:606 msgid ":const:`KQ_FILTER_PROC` filter flags:" msgstr ":const:`KQ_FILTER_PROC` bandera de filtro:" -#: ../Doc/library/select.rst:608 +#: ../Doc/library/select.rst:611 msgid ":const:`KQ_NOTE_EXIT`" msgstr ":const:`KQ_NOTE_EXIT`" -#: ../Doc/library/select.rst:608 +#: ../Doc/library/select.rst:611 msgid "the process has exited" msgstr "el proceso ha terminado (*exited*)" -#: ../Doc/library/select.rst:610 +#: ../Doc/library/select.rst:613 msgid ":const:`KQ_NOTE_FORK`" msgstr ":const:`KQ_NOTE_FORK`" -#: ../Doc/library/select.rst:610 +#: ../Doc/library/select.rst:613 msgid "the process has called *fork()*" msgstr "el proceso ha llamado a *fork()*" -#: ../Doc/library/select.rst:612 +#: ../Doc/library/select.rst:615 msgid ":const:`KQ_NOTE_EXEC`" msgstr ":const:`KQ_NOTE_EXEC`" -#: ../Doc/library/select.rst:612 +#: ../Doc/library/select.rst:615 msgid "the process has executed a new process" msgstr "el proceso ha ejecutado un nuevo proceso" -#: ../Doc/library/select.rst:614 +#: ../Doc/library/select.rst:617 msgid ":const:`KQ_NOTE_PCTRLMASK`" msgstr ":const:`KQ_NOTE_PCTRLMASK`" -#: ../Doc/library/select.rst:614 ../Doc/library/select.rst:616 +#: ../Doc/library/select.rst:617 ../Doc/library/select.rst:619 msgid "internal filter flag" msgstr "flag de filtro interno" -#: ../Doc/library/select.rst:616 +#: ../Doc/library/select.rst:619 msgid ":const:`KQ_NOTE_PDATAMASK`" msgstr ":const:`KQ_NOTE_PDATAMASK`" -#: ../Doc/library/select.rst:618 +#: ../Doc/library/select.rst:621 msgid ":const:`KQ_NOTE_TRACK`" msgstr ":const:`KQ_NOTE_TRACK`" -#: ../Doc/library/select.rst:618 +#: ../Doc/library/select.rst:621 msgid "follow a process across *fork()*" msgstr "sigue un proceso a través de *fork()*" -#: ../Doc/library/select.rst:620 +#: ../Doc/library/select.rst:623 msgid ":const:`KQ_NOTE_CHILD`" msgstr ":const:`KQ_NOTE_CHILD`" -#: ../Doc/library/select.rst:620 +#: ../Doc/library/select.rst:623 msgid "returned on the child process for *NOTE_TRACK*" msgstr "retornado en el proceso hijo para *NOTE_TRACK*" -#: ../Doc/library/select.rst:623 +#: ../Doc/library/select.rst:626 msgid ":const:`KQ_NOTE_TRACKERR`" msgstr ":const:`KQ_NOTE_TRACKERR`" -#: ../Doc/library/select.rst:623 +#: ../Doc/library/select.rst:626 msgid "unable to attach to a child" msgstr "incapaz de adjuntar a un proceso hijo" -#: ../Doc/library/select.rst:626 +#: ../Doc/library/select.rst:629 msgid ":const:`KQ_FILTER_NETDEV` filter flags (not available on Mac OS X):" msgstr "" ":const:`KQ_FILTER_NETDEV` banderas de filtro (no disponible en Mac OS X):" -#: ../Doc/library/select.rst:631 +#: ../Doc/library/select.rst:634 msgid ":const:`KQ_NOTE_LINKUP`" msgstr ":const:`KQ_NOTE_LINKUP`" -#: ../Doc/library/select.rst:631 +#: ../Doc/library/select.rst:634 msgid "link is up" msgstr "el enlace está funcionando" -#: ../Doc/library/select.rst:633 +#: ../Doc/library/select.rst:636 msgid ":const:`KQ_NOTE_LINKDOWN`" msgstr ":const:`KQ_NOTE_LINKDOWN`" -#: ../Doc/library/select.rst:633 +#: ../Doc/library/select.rst:636 msgid "link is down" msgstr "el enlace está caído" -#: ../Doc/library/select.rst:635 +#: ../Doc/library/select.rst:638 msgid ":const:`KQ_NOTE_LINKINV`" msgstr ":const:`KQ_NOTE_LINKINV`" -#: ../Doc/library/select.rst:635 +#: ../Doc/library/select.rst:638 msgid "link state is invalid" msgstr "el estado del enlace es invalido" -#: ../Doc/library/select.rst:641 +#: ../Doc/library/select.rst:644 msgid "Filter specific data." msgstr "Filtrar datos específicos." -#: ../Doc/library/select.rst:646 +#: ../Doc/library/select.rst:649 msgid "User defined value." msgstr "Valor definido por el usuario." diff --git a/library/shlex.po b/library/shlex.po index e1d3c523e8..de8ed183a1 100644 --- a/library/shlex.po +++ b/library/shlex.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-08-20 08:15-0500\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/shlex.rst:2 msgid ":mod:`shlex` --- Simple lexical analysis" @@ -74,7 +73,12 @@ msgstr "" "pasar ``None`` por *s* se leerá la cadena de caracteres para separarse de la " "entrada estándar." -#: ../Doc/library/shlex.rst:42 +#: ../Doc/library/shlex.rst:39 +msgid "" +"Passing ``None`` for *s* will raise an exception in future Python versions." +msgstr "" + +#: ../Doc/library/shlex.rst:45 msgid "" "Concatenate the tokens of the list *split_command* and return a string. This " "function is the inverse of :func:`split`." @@ -82,7 +86,7 @@ msgstr "" "Concatena los tokens de la lista *split_command* y retorna una cadena. Esta " "función es la inversa de :func:`split`." -#: ../Doc/library/shlex.rst:49 +#: ../Doc/library/shlex.rst:52 msgid "" "The returned value is shell-escaped to protect against injection " "vulnerabilities (see :func:`quote`)." @@ -90,7 +94,7 @@ msgstr "" "El valor retornado se escapa del intérprete de comandos para protegerlo " "contra vulnerabilidades de inyección (consulte :func:`quote`)." -#: ../Doc/library/shlex.rst:57 +#: ../Doc/library/shlex.rst:60 msgid "" "Return a shell-escaped version of the string *s*. The returned value is a " "string that can safely be used as one token in a shell command line, for " @@ -101,25 +105,25 @@ msgstr "" "token en un intérprete de línea de comandos, para los casos en los que no se " "puede usar una lista." -#: ../Doc/library/shlex.rst:61 +#: ../Doc/library/shlex.rst:64 msgid "This idiom would be unsafe:" msgstr "Este idioma sería inseguro:" -#: ../Doc/library/shlex.rst:68 +#: ../Doc/library/shlex.rst:71 msgid ":func:`quote` lets you plug the security hole:" msgstr ":func:`quote` te permite tapar el agujero de seguridad:" -#: ../Doc/library/shlex.rst:78 +#: ../Doc/library/shlex.rst:81 msgid "The quoting is compatible with UNIX shells and with :func:`split`:" msgstr "" "La cita es compatible con los intérpretes de comandos UNIX y con :func:" "`split`:" -#: ../Doc/library/shlex.rst:90 +#: ../Doc/library/shlex.rst:93 msgid "The :mod:`shlex` module defines the following class:" msgstr "El módulo :mod:`shlex` define las siguientes clases:" -#: ../Doc/library/shlex.rst:95 +#: ../Doc/library/shlex.rst:98 msgid "" "A :class:`~shlex.shlex` instance or subclass instance is a lexical analyzer " "object. The initialization argument, if present, specifies where to read " @@ -173,30 +177,30 @@ msgstr "" "información. *punctuation_chars* solo se puede establecer en la creación de " "la instancia :class:`~shlex.shlex` y no se puede modificar más adelante." -#: ../Doc/library/shlex.rst:120 +#: ../Doc/library/shlex.rst:123 msgid "The *punctuation_chars* parameter was added." msgstr "Se añadió el parámetro *punctuation_chars*." -#: ../Doc/library/shlex.rst:125 +#: ../Doc/library/shlex.rst:128 msgid "Module :mod:`configparser`" msgstr "Módulo :mod:`configparser`" -#: ../Doc/library/shlex.rst:126 +#: ../Doc/library/shlex.rst:129 msgid "" "Parser for configuration files similar to the Windows :file:`.ini` files." msgstr "" "Analizador de archivos de configuración similares a los archivos :file:`." "ini` de Windows." -#: ../Doc/library/shlex.rst:132 +#: ../Doc/library/shlex.rst:135 msgid "shlex Objects" msgstr "objetos ``shlex``" -#: ../Doc/library/shlex.rst:134 +#: ../Doc/library/shlex.rst:137 msgid "A :class:`~shlex.shlex` instance has the following methods:" msgstr "Una instancia :class:`~shlex.shlex` tiene los siguientes métodos:" -#: ../Doc/library/shlex.rst:139 +#: ../Doc/library/shlex.rst:142 msgid "" "Return a token. If tokens have been stacked using :meth:`push_token`, pop a " "token off the stack. Otherwise, read one from the input stream. If reading " @@ -209,11 +213,11 @@ msgstr "" "attr:`eof` se retorna (la cadena de caracteres vacía (``''``) en modo no-" "POSIX, y ``None`` en modo POSIX)." -#: ../Doc/library/shlex.rst:147 +#: ../Doc/library/shlex.rst:150 msgid "Push the argument onto the token stack." msgstr "Coloca el argumento en la pila de tokens." -#: ../Doc/library/shlex.rst:152 +#: ../Doc/library/shlex.rst:155 msgid "" "Read a raw token. Ignore the pushback stack, and do not interpret source " "requests. (This is not ordinarily a useful entry point, and is documented " @@ -223,7 +227,7 @@ msgstr "" "peticiones de la fuente. (Este no es normalmente un punto de entrada útil, " "y está documentado aquí sólo para completarlo.)" -#: ../Doc/library/shlex.rst:159 +#: ../Doc/library/shlex.rst:162 msgid "" "When :class:`~shlex.shlex` detects a source request (see :attr:`source` " "below) this method is given the following token as argument, and expected to " @@ -234,7 +238,7 @@ msgstr "" "espera que retorne una tupla que consista en un nombre de archivo y un " "archivo abierto como objeto." -#: ../Doc/library/shlex.rst:163 +#: ../Doc/library/shlex.rst:166 msgid "" "Normally, this method first strips any quotes off the argument. If the " "result is an absolute pathname, or there was no previous source request in " @@ -253,7 +257,7 @@ msgstr "" "comportamiento es similar a la forma en que el preprocesador de C controla " "``#include \"file.h\"``)." -#: ../Doc/library/shlex.rst:171 +#: ../Doc/library/shlex.rst:174 msgid "" "The result of the manipulations is treated as a filename, and returned as " "the first component of the tuple, with :func:`open` called on it to yield " @@ -265,7 +269,7 @@ msgstr "" "él para producir el segundo componente. (Nota: esto es lo contrario del " "orden de los argumentos en la inicialización de instancia!)" -#: ../Doc/library/shlex.rst:176 +#: ../Doc/library/shlex.rst:179 msgid "" "This hook is exposed so that you can use it to implement directory search " "paths, addition of file extensions, and other namespace hacks. There is no " @@ -278,7 +282,7 @@ msgstr "" "instancia de ``shlex`` llamará el método :meth:`~io.IOBase.close` de la " "secuencia de entrada de origen cuando retorna EOF." -#: ../Doc/library/shlex.rst:182 +#: ../Doc/library/shlex.rst:185 msgid "" "For more explicit control of source stacking, use the :meth:`push_source` " "and :meth:`pop_source` methods." @@ -286,7 +290,7 @@ msgstr "" "Para un control más explícito del apilamiento de código fuente, utilice los " "métodos :meth:`push_source` y :meth:`pop_source`." -#: ../Doc/library/shlex.rst:188 +#: ../Doc/library/shlex.rst:191 msgid "" "Push an input source stream onto the input stack. If the filename argument " "is specified it will later be available for use in error messages. This is " @@ -297,7 +301,7 @@ msgstr "" "para su uso en mensajes de error. Este es el mismo método utilizado " "internamente por el método :meth:`sourcehook`." -#: ../Doc/library/shlex.rst:195 +#: ../Doc/library/shlex.rst:198 msgid "" "Pop the last-pushed input source from the input stack. This is the same " "method used internally when the lexer reaches EOF on a stacked input stream." @@ -306,7 +310,7 @@ msgstr "" "método que el analizador léxico utiliza cuando llega al EOF en una secuencia " "de entrada apilada." -#: ../Doc/library/shlex.rst:201 +#: ../Doc/library/shlex.rst:204 #, python-format msgid "" "This method generates an error message leader in the format of a Unix C " @@ -321,7 +325,7 @@ msgstr "" "``%d`` con el número de línea de entrada actual (los argumentos opcionales " "pueden ser usado para sobrescribir estos)." -#: ../Doc/library/shlex.rst:206 +#: ../Doc/library/shlex.rst:209 msgid "" "This convenience is provided to encourage :mod:`shlex` users to generate " "error messages in the standard, parseable format understood by Emacs and " @@ -331,7 +335,7 @@ msgstr "" "a generar mensajes de error en el formato estándar y analizable que " "entienden Emacs y otras herramientas de Unix." -#: ../Doc/library/shlex.rst:210 +#: ../Doc/library/shlex.rst:213 msgid "" "Instances of :class:`~shlex.shlex` subclasses have some public instance " "variables which either control lexical analysis or can be used for debugging:" @@ -340,7 +344,7 @@ msgstr "" "variables de instancia pública que controlan el análisis léxico o pueden ser " "usadas para la depuración:" -#: ../Doc/library/shlex.rst:216 +#: ../Doc/library/shlex.rst:219 msgid "" "The string of characters that are recognized as comment beginners. All " "characters from the comment beginner to end of line are ignored. Includes " @@ -350,7 +354,7 @@ msgstr "" "principiantes. Todos los caracteres desde el comentario principiante hasta " "el final de la línea son ignorados. Incluye sólo ``'#'`` por defecto." -#: ../Doc/library/shlex.rst:223 +#: ../Doc/library/shlex.rst:226 msgid "" "The string of characters that will accumulate into multi-character tokens. " "By default, includes all ASCII alphanumerics and underscore. In POSIX mode, " @@ -372,7 +376,7 @@ msgstr "" "eliminado de ``wordchars`` si están presentes allí. Si :attr:" "`whitespace_split` se establece en ``True``, esto no tendrá ningún efecto." -#: ../Doc/library/shlex.rst:236 +#: ../Doc/library/shlex.rst:239 msgid "" "Characters that will be considered whitespace and skipped. Whitespace " "bounds tokens. By default, includes space, tab, linefeed and carriage-" @@ -382,7 +386,7 @@ msgstr "" "espacio blanco limita los tokens. Por defecto, incluye espacio, tabulación, " "salto de línea y retorno de carro." -#: ../Doc/library/shlex.rst:242 +#: ../Doc/library/shlex.rst:245 msgid "" "Characters that will be considered as escape. This will be only used in " "POSIX mode, and includes just ``'\\'`` by default." @@ -390,7 +394,7 @@ msgstr "" "Caracteres que serán considerados como de escape. Esto sólo se usará en el " "modo POSIX, e incluye sólo ``'\\'`` por defecto." -#: ../Doc/library/shlex.rst:248 +#: ../Doc/library/shlex.rst:251 msgid "" "Characters that will be considered string quotes. The token accumulates " "until the same quote is encountered again (thus, different quote types " @@ -402,7 +406,7 @@ msgstr "" "tipos de citas se protegen entre sí como en el intérprete de comandos.) Por " "defecto, incluye ASCII comillas simples y dobles." -#: ../Doc/library/shlex.rst:255 +#: ../Doc/library/shlex.rst:258 msgid "" "Characters in :attr:`quotes` that will interpret escape characters defined " "in :attr:`escape`. This is only used in POSIX mode, and includes just " @@ -412,7 +416,7 @@ msgstr "" "definidos en :attr:`escape`. Esto sólo se usa en el modo POSIX, e incluye " "sólo ``'\"'`` por defecto." -#: ../Doc/library/shlex.rst:262 +#: ../Doc/library/shlex.rst:265 msgid "" "If ``True``, tokens will only be split in whitespaces. This is useful, for " "example, for parsing command lines with :class:`~shlex.shlex`, getting " @@ -427,7 +431,7 @@ msgstr "" "`puntuation_chars`, los tokens se dividirán en espacios en blanco además de " "esos caracteres." -#: ../Doc/library/shlex.rst:268 +#: ../Doc/library/shlex.rst:271 msgid "" "The :attr:`punctuation_chars` attribute was made compatible with the :attr:" "`whitespace_split` attribute." @@ -435,7 +439,7 @@ msgstr "" "El atributo :attr:`puntuation_chars` se hizo compatible con el atributo :" "attr:`whitespace_split`." -#: ../Doc/library/shlex.rst:275 +#: ../Doc/library/shlex.rst:278 msgid "" "The name of the current input file, as initially set at class instantiation " "time or stacked by later source requests. It may be useful to examine this " @@ -446,7 +450,7 @@ msgstr "" "posteriores. Puede ser útil examinar esto cuando se construyan mensajes de " "error." -#: ../Doc/library/shlex.rst:282 +#: ../Doc/library/shlex.rst:285 msgid "" "The input stream from which this :class:`~shlex.shlex` instance is reading " "characters." @@ -454,7 +458,7 @@ msgstr "" "El flujo de entrada del cual esta instancia :class:`~shlex.shlex` está " "leyendo caracteres." -#: ../Doc/library/shlex.rst:288 +#: ../Doc/library/shlex.rst:291 msgid "" "This attribute is ``None`` by default. If you assign a string to it, that " "string will be recognized as a lexical-level inclusion request similar to " @@ -474,7 +478,7 @@ msgstr "" "convertirá de nuevo en el flujo de entrada original. Las peticiones de " "origen pueden ser apiladas a cualquier número de niveles de profundidad." -#: ../Doc/library/shlex.rst:299 +#: ../Doc/library/shlex.rst:302 msgid "" "If this attribute is numeric and ``1`` or more, a :class:`~shlex.shlex` " "instance will print verbose progress output on its behavior. If you need to " @@ -485,20 +489,20 @@ msgstr "" "necesitas usar esto, puedes leer el código fuente del módulo para conocer " "los detalles." -#: ../Doc/library/shlex.rst:306 +#: ../Doc/library/shlex.rst:309 msgid "Source line number (count of newlines seen so far plus one)." msgstr "" "Numero de linea de fuente (conteo de las nuevas lineas vistas hasta ahora " "mas uno)." -#: ../Doc/library/shlex.rst:311 +#: ../Doc/library/shlex.rst:314 msgid "" "The token buffer. It may be useful to examine this when catching exceptions." msgstr "" "El buffer de tokens. Puede ser útil examinarlo cuando se capturan " "excepciones." -#: ../Doc/library/shlex.rst:316 +#: ../Doc/library/shlex.rst:319 msgid "" "Token used to determine end of file. This will be set to the empty string " "(``''``), in non-POSIX mode, and to ``None`` in POSIX mode." @@ -507,7 +511,7 @@ msgstr "" "cadena de caracteres vacía (``''``), en el modo no-POSIX, y a ``None`` en el " "modo POSIX." -#: ../Doc/library/shlex.rst:322 +#: ../Doc/library/shlex.rst:325 msgid "" "A read-only property. Characters that will be considered punctuation. Runs " "of punctuation characters will be returned as a single token. However, note " @@ -522,11 +526,11 @@ msgstr "" "como un token, aunque no sea reconocido como tal por los intérpretes de " "comandos." -#: ../Doc/library/shlex.rst:333 +#: ../Doc/library/shlex.rst:336 msgid "Parsing Rules" msgstr "Reglas de análisis" -#: ../Doc/library/shlex.rst:335 +#: ../Doc/library/shlex.rst:338 msgid "" "When operating in non-POSIX mode, :class:`~shlex.shlex` will try to obey to " "the following rules." @@ -534,7 +538,7 @@ msgstr "" "Cuando se opera en modo no-POSIX, :class:`~shlex.shlex` intentará obedecer " "las siguientes reglas." -#: ../Doc/library/shlex.rst:338 +#: ../Doc/library/shlex.rst:341 msgid "" "Quote characters are not recognized within words (``Do\"Not\"Separate`` is " "parsed as the single word ``Do\"Not\"Separate``);" @@ -542,11 +546,11 @@ msgstr "" "Los caracteres entre comillas no son reconocidos dentro de las palabras (``Do" "\"Not\"Separate`` es analizado como la única palabra ``Do\"Not\"Separate``);" -#: ../Doc/library/shlex.rst:341 +#: ../Doc/library/shlex.rst:344 msgid "Escape characters are not recognized;" msgstr "Los caracteres de escape no son reconocidos;" -#: ../Doc/library/shlex.rst:343 +#: ../Doc/library/shlex.rst:346 msgid "" "Enclosing characters in quotes preserve the literal value of all characters " "within the quotes;" @@ -554,7 +558,7 @@ msgstr "" "El encerrar los caracteres entre comillas preserva el valor literal de todos " "los caracteres dentro de las comillas;" -#: ../Doc/library/shlex.rst:346 +#: ../Doc/library/shlex.rst:349 msgid "" "Closing quotes separate words (``\"Do\"Separate`` is parsed as ``\"Do\"`` " "and ``Separate``);" @@ -562,7 +566,7 @@ msgstr "" "Las comillas finales separan las palabras (``\"Do\"Separate`` es analizado " "como ``\"Do\"`` y ``Separate``);" -#: ../Doc/library/shlex.rst:349 +#: ../Doc/library/shlex.rst:352 msgid "" "If :attr:`~shlex.whitespace_split` is ``False``, any character not declared " "to be a word character, whitespace, or a quote will be returned as a single-" @@ -574,16 +578,16 @@ msgstr "" "será retornado como un token de un solo carácter. Si es ``True``, :class:" "`~shlex.shlex` sólo dividirá las palabras en espacios en blanco;" -#: ../Doc/library/shlex.rst:354 +#: ../Doc/library/shlex.rst:357 msgid "EOF is signaled with an empty string (``''``);" msgstr "EOF es señalado con una cadena de caracteres vacía (``''``);" -#: ../Doc/library/shlex.rst:356 +#: ../Doc/library/shlex.rst:359 msgid "It's not possible to parse empty strings, even if quoted." msgstr "" "No es posible analizar cadenas de caracteres vacías, incluso si se citan." -#: ../Doc/library/shlex.rst:358 +#: ../Doc/library/shlex.rst:361 msgid "" "When operating in POSIX mode, :class:`~shlex.shlex` will try to obey to the " "following parsing rules." @@ -591,7 +595,7 @@ msgstr "" "Cuando se opera en el modo POSIX, :class:`~shlex.shlex` intentará obedecer a " "las siguientes reglas de análisis." -#: ../Doc/library/shlex.rst:361 +#: ../Doc/library/shlex.rst:364 msgid "" "Quotes are stripped out, and do not separate words (``\"Do\"Not\"Separate" "\"`` is parsed as the single word ``DoNotSeparate``);" @@ -599,7 +603,7 @@ msgstr "" "Las comillas se eliminan y no separan las palabras (``\"Do\"Not\"Separate" "\"`` se analiza como la sola palabra ``DoNotSeparate``);" -#: ../Doc/library/shlex.rst:364 +#: ../Doc/library/shlex.rst:367 msgid "" "Non-quoted escape characters (e.g. ``'\\'``) preserve the literal value of " "the next character that follows;" @@ -607,7 +611,7 @@ msgstr "" "Los caracteres de escape no citados (por ejemplo ``'\\'``) conservan el " "valor literal del siguiente carácter que continua;" -#: ../Doc/library/shlex.rst:367 +#: ../Doc/library/shlex.rst:370 msgid "" "Enclosing characters in quotes which are not part of :attr:`~shlex." "escapedquotes` (e.g. ``\"'\"``) preserve the literal value of all characters " @@ -617,7 +621,7 @@ msgstr "" "escapedquotes` (por ejemplo, ``\"\"``) conservan el valor literal de todos " "los caracteres dentro de las comillas;" -#: ../Doc/library/shlex.rst:371 +#: ../Doc/library/shlex.rst:374 msgid "" "Enclosing characters in quotes which are part of :attr:`~shlex." "escapedquotes` (e.g. ``'\"'``) preserves the literal value of all characters " @@ -634,19 +638,19 @@ msgstr "" "propio carácter de escape. De lo contrario, el carácter de escape sera " "considerado un carácter normal." -#: ../Doc/library/shlex.rst:379 +#: ../Doc/library/shlex.rst:382 msgid "EOF is signaled with a :const:`None` value;" msgstr "EOF es señalado con un valor :const:`None`;" -#: ../Doc/library/shlex.rst:381 +#: ../Doc/library/shlex.rst:384 msgid "Quoted empty strings (``''``) are allowed." msgstr "Se permiten cadenas de caracteres vacías entrecomilladas (``''``)." -#: ../Doc/library/shlex.rst:386 +#: ../Doc/library/shlex.rst:389 msgid "Improved Compatibility with Shells" msgstr "Compatibilidad mejorada con intérprete de comandos" -#: ../Doc/library/shlex.rst:390 +#: ../Doc/library/shlex.rst:393 msgid "" "The :class:`shlex` class provides compatibility with the parsing performed " "by common Unix shells like ``bash``, ``dash``, and ``sh``. To take " @@ -674,7 +678,7 @@ msgstr "" "de lo que podrías hacerlo de otra manera. Para ilustrarlo, puede ver la " "diferencia en el siguiente fragmento:" -#: ../Doc/library/shlex.rst:416 +#: ../Doc/library/shlex.rst:419 msgid "" "Of course, tokens will be returned which are not valid for shells, and " "you'll need to implement your own error checks on the returned tokens." @@ -683,7 +687,7 @@ msgstr "" "de comandos y deberá implementar sus propias comprobaciones de errores en " "los tokens retornados." -#: ../Doc/library/shlex.rst:419 +#: ../Doc/library/shlex.rst:422 msgid "" "Instead of passing ``True`` as the value for the punctuation_chars " "parameter, you can pass a string with specific characters, which will be " @@ -693,7 +697,7 @@ msgstr "" "puede pasar una cadena con caracteres específicos, que se usará para " "determinar qué caracteres constituyen puntuación. Por ejemplo::" -#: ../Doc/library/shlex.rst:428 +#: ../Doc/library/shlex.rst:431 msgid "" "When ``punctuation_chars`` is specified, the :attr:`~shlex.wordchars` " "attribute is augmented with the characters ``~-./*?=``. That is because " @@ -706,7 +710,7 @@ msgstr "" "comodines) y en los argumentos de la línea de comandos (por ejemplo, ``--" "color=auto``). Por lo tanto::" -#: ../Doc/library/shlex.rst:439 +#: ../Doc/library/shlex.rst:442 msgid "" "However, to match the shell as closely as possible, it is recommended to " "always use ``posix`` and :attr:`~shlex.whitespace_split` when using :attr:" @@ -718,7 +722,7 @@ msgstr "" "whitespace_split` cuando se utiliza :attr:`~shlex.punctuation_chars`, el " "cual negará por completo :attr:`~shlex.wordchars`." -#: ../Doc/library/shlex.rst:444 +#: ../Doc/library/shlex.rst:447 msgid "" "For best effect, ``punctuation_chars`` should be set in conjunction with " "``posix=True``. (Note that ``posix=False`` is the default for :class:`~shlex." diff --git a/library/shutil.po b/library/shutil.po index 18ac5438b6..1be3cec0f2 100644 --- a/library/shutil.po +++ b/library/shutil.po @@ -10,19 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Silvina Bárbara Tamburini \n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.3.1\n" -"X-Poedit-Bookmarks: -1,-1,-1,117,-1,-1,-1,-1,-1,-1\n" #: ../Doc/library/shutil.rst:2 msgid ":mod:`shutil` --- High-level file operations" @@ -133,8 +130,8 @@ msgstr "" "Si *follow_symlinks* es falso y *src* es un enlace simbólico, un enlace " "simbólico nuevo se creará en lugar de copiar el archivo al que *src* apunta." -#: ../Doc/library/shutil.rst:71 ../Doc/library/shutil.rst:177 -#: ../Doc/library/shutil.rst:208 +#: ../Doc/library/shutil.rst:70 ../Doc/library/shutil.rst:176 +#: ../Doc/library/shutil.rst:207 msgid "" "Raises an :ref:`auditing event ` ``shutil.copyfile`` with " "arguments ``src``, ``dst``." @@ -199,7 +196,7 @@ msgstr "" "los enlaces simbólicos de la plataforma local y se le solicita hacerlo, no " "hará nada y retornará." -#: ../Doc/library/shutil.rst:107 ../Doc/library/shutil.rst:179 +#: ../Doc/library/shutil.rst:106 ../Doc/library/shutil.rst:178 msgid "" "Raises an :ref:`auditing event ` ``shutil.copymode`` with " "arguments ``src``, ``dst``." @@ -288,7 +285,7 @@ msgstr "" msgid "Please see :data:`os.supports_follow_symlinks` for more information." msgstr "Véase :data:`os.supports_follow_symlinks` para más información." -#: ../Doc/library/shutil.rst:154 ../Doc/library/shutil.rst:210 +#: ../Doc/library/shutil.rst:153 ../Doc/library/shutil.rst:209 msgid "" "Raises an :ref:`auditing event ` ``shutil.copystat`` with " "arguments ``src``, ``dst``." @@ -304,11 +301,12 @@ msgstr "" "extendidos de Linux." #: ../Doc/library/shutil.rst:160 +#, fuzzy msgid "" "Copies the file *src* to the file or directory *dst*. *src* and *dst* " -"should be strings. If *dst* specifies a directory, the file will be copied " -"into *dst* using the base filename from *src*. Returns the path to the " -"newly created file." +"should be :term:`path-like objects ` or strings. If *dst* " +"specifies a directory, the file will be copied into *dst* using the base " +"filename from *src*. Returns the path to the newly created file." msgstr "" "Copia el archivo *src* al archivo o directorio *dst*. *src* y *dst* deberían " "ser cadenas de caracteres (*strings*). Si *dst* especifica un directorio, el " @@ -491,7 +489,7 @@ msgstr "" "argumentos. Por defecto, se usa :func:`~shutil.copy2`, pero se puede usar " "cualquier función que admita la misma (como :func:`~shutil.copy`)." -#: ../Doc/library/shutil.rst:270 +#: ../Doc/library/shutil.rst:269 msgid "" "Raises an :ref:`auditing event ` ``shutil.copytree`` with " "arguments ``src``, ``dst``." @@ -573,7 +571,7 @@ msgstr "" "*excinfo*, será la información de la excepción retornada por :func:`sys." "exc_info`. Las excepciones generadas por *onerror* no serán tomadas." -#: ../Doc/library/shutil.rst:319 +#: ../Doc/library/shutil.rst:318 msgid "" "Raises an :ref:`auditing event ` ``shutil.rmtree`` with argument " "``path``." @@ -641,9 +639,10 @@ msgstr "" "eliminado." #: ../Doc/library/shutil.rst:351 +#, fuzzy msgid "" "If *copy_function* is given, it must be a callable that takes two arguments " -"*src* and *dst*, and will be used to copy *src* to *dest* if :func:`os." +"*src* and *dst*, and will be used to copy *src* to *dst* if :func:`os." "rename` cannot be used. If the source is a directory, :func:`copytree` is " "called, passing it the :func:`copy_function`. The default *copy_function* " "is :func:`copy2`. Using :func:`~shutil.copy` as the *copy_function* allows " @@ -659,7 +658,7 @@ msgstr "" "es posible copiar los metadatos también, a expensas de no copiar ninguno de " "los metadatos." -#: ../Doc/library/shutil.rst:360 +#: ../Doc/library/shutil.rst:359 msgid "" "Raises an :ref:`auditing event ` ``shutil.move`` with arguments " "``src``, ``dst``." @@ -680,7 +679,12 @@ msgstr "" msgid "Added the *copy_function* keyword argument." msgstr "Se agregó el argumento de keyword *copy_function*." -#: ../Doc/library/shutil.rst:376 +#: ../Doc/library/shutil.rst:374 +#, fuzzy +msgid "Accepts a :term:`path-like object` for both *src* and *dst*." +msgstr "Acepta un :term:`path-like object` como *filename* y *extract_dir*." + +#: ../Doc/library/shutil.rst:379 msgid "" "Return disk usage statistics about the given path as a :term:`named tuple` " "with the attributes *total*, *used* and *free*, which are the amount of " @@ -691,19 +695,19 @@ msgstr "" "las cantidades del espacio total, el usado y el libre, en bytes. *path* " "puede ser un archivo o un directorio." -#: ../Doc/library/shutil.rst:383 +#: ../Doc/library/shutil.rst:386 msgid "On Windows, *path* can now be a file or directory." msgstr "En Windows, *path* ahora puede ser un archivo o un directorio." -#: ../Doc/library/shutil.rst:386 +#: ../Doc/library/shutil.rst:389 msgid ":ref:`Availability `: Unix, Windows." msgstr ":ref:`Disponibilidad `: Unix, Windows." -#: ../Doc/library/shutil.rst:390 +#: ../Doc/library/shutil.rst:393 msgid "Change owner *user* and/or *group* of the given *path*." msgstr "Cambia el propietario *user* y/o *group* de la *ruta* dada." -#: ../Doc/library/shutil.rst:392 +#: ../Doc/library/shutil.rst:395 msgid "" "*user* can be a system user name or a uid; the same applies to *group*. At " "least one argument is required." @@ -711,11 +715,11 @@ msgstr "" "*user* puede ser un nombre usuario de sistema o un UID (identificador de " "usuario); lo mismo aplica a *group*. Se requiere al menos un argumento." -#: ../Doc/library/shutil.rst:395 +#: ../Doc/library/shutil.rst:398 msgid "See also :func:`os.chown`, the underlying function." msgstr "Véase también :func:`os.chown`, la función subyacente." -#: ../Doc/library/shutil.rst:398 +#: ../Doc/library/shutil.rst:400 msgid "" "Raises an :ref:`auditing event ` ``shutil.chown`` with arguments " "``path``, ``user``, ``group``." @@ -723,11 +727,11 @@ msgstr "" "Genera un :ref:`evento de auditoría ` ``shutil.chown`` con " "argumentos ``path``, ``user``, ``group``." -#: ../Doc/library/shutil.rst:400 +#: ../Doc/library/shutil.rst:403 msgid ":ref:`Availability `: Unix." msgstr ":ref:`Disponibilidad `: Unix." -#: ../Doc/library/shutil.rst:406 +#: ../Doc/library/shutil.rst:409 msgid "" "Return the path to an executable which would be run if the given *cmd* was " "called. If no *cmd* would be called, return ``None``." @@ -735,7 +739,7 @@ msgstr "" "Retorna la ruta de acceso a un ejecutable que se ejecutaría si el *cmd* dado " "se invoca. Si no se invoca a *cmd*, retorna ``None``." -#: ../Doc/library/shutil.rst:409 +#: ../Doc/library/shutil.rst:412 msgid "" "*mode* is a permission mask passed to :func:`os.access`, by default " "determining if the file exists and executable." @@ -743,7 +747,7 @@ msgstr "" "*mode* es una máscara de permiso que se pasa a :func:`os.access`, que " "determinar por defecto si el archivo existe y es ejecutable." -#: ../Doc/library/shutil.rst:412 +#: ../Doc/library/shutil.rst:415 msgid "" "When no *path* is specified, the results of :func:`os.environ` are used, " "returning either the \"PATH\" value or a fallback of :attr:`os.defpath`." @@ -751,7 +755,7 @@ msgstr "" "Cuando no se especifica *path*, se usan los resultados de :func:`os.environ` " "y se retorna el valor de \"PATH\" o una reserva de :attr:`os.defpath`." -#: ../Doc/library/shutil.rst:415 +#: ../Doc/library/shutil.rst:418 msgid "" "On Windows, the current directory is always prepended to the *path* whether " "or not you use the default or provide your own, which is the behavior the " @@ -770,7 +774,7 @@ msgstr "" "buscar ``python.exe`` dentro de los directorios *path*. Por ejemplo, en " "Windows::" -#: ../Doc/library/shutil.rst:428 +#: ../Doc/library/shutil.rst:431 msgid "" "The :class:`bytes` type is now accepted. If *cmd* type is :class:`bytes`, " "the result type is also :class:`bytes`." @@ -778,7 +782,7 @@ msgstr "" "Ahora se acepta el tipo :class:`bytes`. Si el tipo *cmd* es :class:`bytes`, " "el tipo resultante también es :class:`bytes`." -#: ../Doc/library/shutil.rst:434 +#: ../Doc/library/shutil.rst:437 msgid "" "This exception collects exceptions that are raised during a multi-file " "operation. For :func:`copytree`, the exception argument is a list of 3-" @@ -788,18 +792,19 @@ msgstr "" "de varios archivos. Para :func:`copytree`, el argumento de excepción es una " "lista de 3 tuplas (*scrname*, *dstname*, *exception*)." -#: ../Doc/library/shutil.rst:441 +#: ../Doc/library/shutil.rst:444 msgid "Platform-dependent efficient copy operations" msgstr "Operaciones de copia eficientes dependientes de la plataforma" -#: ../Doc/library/shutil.rst:443 +#: ../Doc/library/shutil.rst:446 +#, fuzzy msgid "" -"Starting from Python 3.8 all functions involving a file copy (:func:" -"`copyfile`, :func:`copy`, :func:`copy2`, :func:`copytree`, and :func:`move`) " -"may use platform-specific \"fast-copy\" syscalls in order to copy the file " -"more efficiently (see :issue:`33671`). \"fast-copy\" means that the copying " -"operation occurs within the kernel, avoiding the use of userspace buffers in " -"Python as in \"``outfd.write(infd.read())``\"." +"Starting from Python 3.8, all functions involving a file copy (:func:" +"`copyfile`, :func:`~shutil.copy`, :func:`copy2`, :func:`copytree`, and :func:" +"`move`) may use platform-specific \"fast-copy\" syscalls in order to copy " +"the file more efficiently (see :issue:`33671`). \"fast-copy\" means that the " +"copying operation occurs within the kernel, avoiding the use of userspace " +"buffers in Python as in \"``outfd.write(infd.read())``\"." msgstr "" "A partir de Python 3.8, todas las funciones que incluyen una copia de " "archivo (:func:`copyfile`, :func:`copy`, :func:`copy2`, :func:`copytree`, y :" @@ -809,17 +814,17 @@ msgstr "" "evitando el uso de búferes de espacio de usuario en Python como en \"``outfd." "write(infd.read())``\"." -#: ../Doc/library/shutil.rst:450 +#: ../Doc/library/shutil.rst:454 msgid "On macOS `fcopyfile`_ is used to copy the file content (not metadata)." msgstr "" "En macOS, se usar `fcopyfile`_ para copiar el contenido del archivo (pero no " "los metadatos)." -#: ../Doc/library/shutil.rst:452 +#: ../Doc/library/shutil.rst:456 msgid "On Linux :func:`os.sendfile` is used." msgstr "En Linux, se usa :func:`os.sendfile`." -#: ../Doc/library/shutil.rst:454 +#: ../Doc/library/shutil.rst:458 msgid "" "On Windows :func:`shutil.copyfile` uses a bigger default buffer size (1 MiB " "instead of 64 KiB) and a :func:`memoryview`-based variant of :func:`shutil." @@ -829,7 +834,7 @@ msgstr "" "más grande (1 MiB en lugar de 64 KiB) y se usa una variante de :func:`shutil." "copyfileobj` basada en :func:`memoryview`." -#: ../Doc/library/shutil.rst:458 +#: ../Doc/library/shutil.rst:462 msgid "" "If the fast-copy operation fails and no data was written in the destination " "file then shutil will silently fallback on using less efficient :func:" @@ -839,11 +844,11 @@ msgstr "" "dato en el archivo de destino, entonces shutil recurrirá silenciosamente a " "usar la función :func:`copyfileobj` menos eficiente internamente." -#: ../Doc/library/shutil.rst:467 +#: ../Doc/library/shutil.rst:471 msgid "copytree example" msgstr "ejemplo de *copytree*" -#: ../Doc/library/shutil.rst:469 +#: ../Doc/library/shutil.rst:473 msgid "" "This example is the implementation of the :func:`copytree` function, " "described above, with the docstring omitted. It demonstrates many of the " @@ -853,11 +858,11 @@ msgstr "" "arriba, con la cadena de documentación omitida. Demuestra muchas de las " "otras funciones provistas por este módulo. ::" -#: ../Doc/library/shutil.rst:504 +#: ../Doc/library/shutil.rst:508 msgid "Another example that uses the :func:`ignore_patterns` helper::" msgstr "Otro ejemplo que usa el auxiliar :func:`ignore_patterns`::" -#: ../Doc/library/shutil.rst:510 +#: ../Doc/library/shutil.rst:514 msgid "" "This will copy everything except ``.pyc`` files and files or directories " "whose name starts with ``tmp``." @@ -865,17 +870,17 @@ msgstr "" "Esto copiará todo excepto archivos ``.pyc`` y archivos o directorios cuyo " "nombre comience con ``tmp``." -#: ../Doc/library/shutil.rst:513 +#: ../Doc/library/shutil.rst:517 msgid "Another example that uses the *ignore* argument to add a logging call::" msgstr "" "Otro ejemplo que usa el argumento *ignore* para agregar una llamada a " "iniciar sesión::" -#: ../Doc/library/shutil.rst:528 +#: ../Doc/library/shutil.rst:532 msgid "rmtree example" msgstr "ejemplo de rmtree" -#: ../Doc/library/shutil.rst:530 +#: ../Doc/library/shutil.rst:534 msgid "" "This example shows how to remove a directory tree on Windows where some of " "the files have their read-only bit set. It uses the onerror callback to " @@ -887,15 +892,15 @@ msgstr "" "*onerror callback* para limpiar el *bit* de sólo lectura y reintentar " "eliminarlo. Cualquier fallo que le siga, se propagará. ::" -#: ../Doc/library/shutil.rst:548 +#: ../Doc/library/shutil.rst:552 msgid "Archiving operations" msgstr "Operaciones de archivado" -#: ../Doc/library/shutil.rst:552 +#: ../Doc/library/shutil.rst:556 msgid "Added support for the *xztar* format." msgstr "Se agregó soporte para el formato *xztar*." -#: ../Doc/library/shutil.rst:556 +#: ../Doc/library/shutil.rst:560 msgid "" "High-level utilities to create and read compressed and archived files are " "also provided. They rely on the :mod:`zipfile` and :mod:`tarfile` modules." @@ -904,11 +909,11 @@ msgstr "" "comprimidos y archivados. Utilizan para esto los módulos :mod:`zipfile` y :" "mod:`tarfile`." -#: ../Doc/library/shutil.rst:561 +#: ../Doc/library/shutil.rst:565 msgid "Create an archive file (such as zip or tar) and return its name." msgstr "Crea un documento de archivado (como zip o tar) y retorna su nombre." -#: ../Doc/library/shutil.rst:563 +#: ../Doc/library/shutil.rst:567 msgid "" "*base_name* is the name of the file to create, including the path, minus any " "format-specific extension. *format* is the archive format: one of \"zip" @@ -922,29 +927,34 @@ msgstr "" "\"gztar\" (si el módulo :mod:`zlib` está disponible), \"bztar\" (si el " "módulo :mod:`bz2` está disponible), o \"xztar\" (si el módulo :mod:`lzma`)." -#: ../Doc/library/shutil.rst:569 +#: ../Doc/library/shutil.rst:573 +#, fuzzy msgid "" -"*root_dir* is a directory that will be the root directory of the archive; " -"for example, we typically chdir into *root_dir* before creating the archive." +"*root_dir* is a directory that will be the root directory of the archive, " +"all paths in the archive will be relative to it; for example, we typically " +"chdir into *root_dir* before creating the archive." msgstr "" "*root_dir* es un directorio que será el directorio raíz del archivo; por " "ejemplo, iremos al directorio (*chdir*) a *root_dir* antes de crear el " "archivo." -#: ../Doc/library/shutil.rst:573 +#: ../Doc/library/shutil.rst:577 +#, fuzzy msgid "" "*base_dir* is the directory where we start archiving from; i.e. *base_dir* " -"will be the common prefix of all files and directories in the archive." +"will be the common prefix of all files and directories in the archive. " +"*base_dir* must be given relative to *root_dir*. See :ref:`shutil-archiving-" +"example-with-basedir` for how to use *base_dir* and *root_dir* together." msgstr "" "*base_dir* es el directorio desde donde iniciamos el archivado ; por " "ejemplo, *base_dir* será el prefijo común para todos los archivos y " "directorios en el archivo." -#: ../Doc/library/shutil.rst:577 +#: ../Doc/library/shutil.rst:583 msgid "*root_dir* and *base_dir* both default to the current directory." msgstr "*root_dir* y *base_dir* irán por defecto al directorio actual." -#: ../Doc/library/shutil.rst:579 +#: ../Doc/library/shutil.rst:585 msgid "" "If *dry_run* is true, no archive is created, but the operations that would " "be executed are logged to *logger*." @@ -952,7 +962,7 @@ msgstr "" "If *dry_run* es verdadero, no se crea un archivo, pero las operaciones que " "se ejecutarán están registradas en *logger*." -#: ../Doc/library/shutil.rst:582 +#: ../Doc/library/shutil.rst:588 msgid "" "*owner* and *group* are used when creating a tar archive. By default, uses " "the current owner and group." @@ -960,7 +970,7 @@ msgstr "" "*owner* y *group* se usan al crear un archivador tar. Por defecto, usa el " "propietario y el grupo actual." -#: ../Doc/library/shutil.rst:585 +#: ../Doc/library/shutil.rst:591 msgid "" "*logger* must be an object compatible with :pep:`282`, usually an instance " "of :class:`logging.Logger`." @@ -968,11 +978,11 @@ msgstr "" "*logger* debe ser un objeto compatible con :pep:`282`, usualmente una " "instancia de :class:`logging.Logger`." -#: ../Doc/library/shutil.rst:588 +#: ../Doc/library/shutil.rst:594 msgid "The *verbose* argument is unused and deprecated." msgstr "El argumento *verbose* está fuera de uso y es obsoleto." -#: ../Doc/library/shutil.rst:591 +#: ../Doc/library/shutil.rst:596 msgid "" "Raises an :ref:`auditing event ` ``shutil.make_archive`` with " "arguments ``base_name``, ``format``, ``root_dir``, ``base_dir``." @@ -980,7 +990,7 @@ msgstr "" "Genera un :ref:`evento de auditoría ` ``shutil.make_archive`` con " "argumentos ``base_name``, ``format``, ``root_dir``, ``base_dir``." -#: ../Doc/library/shutil.rst:592 +#: ../Doc/library/shutil.rst:598 msgid "" "The modern pax (POSIX.1-2001) format is now used instead of the legacy GNU " "format for archives created with ``format=\"tar\"``." @@ -988,7 +998,7 @@ msgstr "" "El formato de *pax* moderno (POSIX.1-2001) se usa ahora en lugar del formato " "de legado GNU para archivadores creados con ``format=\"tar\"``." -#: ../Doc/library/shutil.rst:599 +#: ../Doc/library/shutil.rst:605 msgid "" "Return a list of supported formats for archiving. Each element of the " "returned sequence is a tuple ``(name, description)``." @@ -996,40 +1006,40 @@ msgstr "" "Retorna una lista de formatos admitidos para archivado. Cada elemento de una " "secuencia retornada es una tupla ``(name, description)``." -#: ../Doc/library/shutil.rst:602 ../Doc/library/shutil.rst:684 +#: ../Doc/library/shutil.rst:608 ../Doc/library/shutil.rst:690 msgid "By default :mod:`shutil` provides these formats:" msgstr "Por defecto, :mod:`shutil` provee los siguientes formatos:" -#: ../Doc/library/shutil.rst:604 +#: ../Doc/library/shutil.rst:610 msgid "*zip*: ZIP file (if the :mod:`zlib` module is available)." msgstr "*zip*: archivo ZIP (si el módulo :mod:`zlib` está disponible)." -#: ../Doc/library/shutil.rst:605 +#: ../Doc/library/shutil.rst:611 msgid "" "*tar*: Uncompressed tar file. Uses POSIX.1-2001 pax format for new archives." msgstr "" "*tar*: archivo tar sin comprimir. Utiliza POSIX.1-2001 formato pax para " "archivos nuevos." -#: ../Doc/library/shutil.rst:606 ../Doc/library/shutil.rst:689 +#: ../Doc/library/shutil.rst:612 ../Doc/library/shutil.rst:695 msgid "*gztar*: gzip'ed tar-file (if the :mod:`zlib` module is available)." msgstr "" "*gztar*: archivo tar comprimido con gzip (si el módulo :mod:`zlib` está " "disponible)." -#: ../Doc/library/shutil.rst:607 ../Doc/library/shutil.rst:690 +#: ../Doc/library/shutil.rst:613 ../Doc/library/shutil.rst:696 msgid "*bztar*: bzip2'ed tar-file (if the :mod:`bz2` module is available)." msgstr "" "*bztar*: archivo tar comprimido con bzip2 (si el módulo :mod:`bz2` está " "disponible)." -#: ../Doc/library/shutil.rst:608 ../Doc/library/shutil.rst:691 +#: ../Doc/library/shutil.rst:614 ../Doc/library/shutil.rst:697 msgid "*xztar*: xz'ed tar-file (if the :mod:`lzma` module is available)." msgstr "" "*xztar*: archivo tar comprimido con xz (si el módulo :mod:`lzma` está " "disponible)." -#: ../Doc/library/shutil.rst:610 +#: ../Doc/library/shutil.rst:616 msgid "" "You can register new formats or provide your own archiver for any existing " "formats, by using :func:`register_archive_format`." @@ -1037,11 +1047,11 @@ msgstr "" "Puedes registrar formatos nuevos o proporcionar tu propio archivador para " "cualquier formato existente, usando :func:`register_archive_format`." -#: ../Doc/library/shutil.rst:616 +#: ../Doc/library/shutil.rst:622 msgid "Register an archiver for the format *name*." msgstr "Registra un archivador para el formato *name*." -#: ../Doc/library/shutil.rst:618 +#: ../Doc/library/shutil.rst:624 msgid "" "*function* is the callable that will be used to unpack archives. The " "callable will receive the *base_name* of the file to create, followed by the " @@ -1056,7 +1066,7 @@ msgstr "" "clave: *owner*, *group*, *dry_run* y *logger* (como se pasa en :func:" "`make_archive`)." -#: ../Doc/library/shutil.rst:624 +#: ../Doc/library/shutil.rst:630 msgid "" "If given, *extra_args* is a sequence of ``(name, value)`` pairs that will be " "used as extra keywords arguments when the archiver callable is used." @@ -1065,7 +1075,7 @@ msgstr "" "se usarán como argumentos de palabras clave extra cuando se usa el " "archivador invocable." -#: ../Doc/library/shutil.rst:627 +#: ../Doc/library/shutil.rst:633 msgid "" "*description* is used by :func:`get_archive_formats` which returns the list " "of archivers. Defaults to an empty string." @@ -1073,16 +1083,16 @@ msgstr "" "*description* se usa por :func:`get_archive_formats` que retorna la lista de " "archivadores. Cae por defecto en una cadena de caracteres vacía." -#: ../Doc/library/shutil.rst:633 +#: ../Doc/library/shutil.rst:639 msgid "Remove the archive format *name* from the list of supported formats." msgstr "" "Elimina el formato de archivo *name* de la lista de formatos admitidos." -#: ../Doc/library/shutil.rst:638 +#: ../Doc/library/shutil.rst:644 msgid "Unpack an archive. *filename* is the full path of the archive." msgstr "Desempaqueta un archivo. *filename* es la ruta completa del archivo." -#: ../Doc/library/shutil.rst:640 +#: ../Doc/library/shutil.rst:646 msgid "" "*extract_dir* is the name of the target directory where the archive is " "unpacked. If not provided, the current working directory is used." @@ -1090,7 +1100,7 @@ msgstr "" "*extract_dir* es el nombre del directorio donde se desempaca el archivo. Si " "no está provisto, se usa el nombre del directorio actual." -#: ../Doc/library/shutil.rst:643 +#: ../Doc/library/shutil.rst:649 msgid "" "*format* is the archive format: one of \"zip\", \"tar\", \"gztar\", \"bztar" "\", or \"xztar\". Or any other format registered with :func:" @@ -1105,7 +1115,7 @@ msgstr "" "para esa extensión. En caso de que no se encuentre ninguno, se genera un :" "exc:`ValueError`." -#: ../Doc/library/shutil.rst:651 +#: ../Doc/library/shutil.rst:656 msgid "" "Raises an :ref:`auditing event ` ``shutil.unpack_archive`` with " "arguments ``filename``, ``extract_dir``, ``format``." @@ -1113,11 +1123,11 @@ msgstr "" "Se genera un :ref:`evento de auditoría ` ``shutil.unpack_archive`` " "con argumentos ``filename``, ``extract_dir``, ``format``." -#: ../Doc/library/shutil.rst:652 +#: ../Doc/library/shutil.rst:658 msgid "Accepts a :term:`path-like object` for *filename* and *extract_dir*." msgstr "Acepta un :term:`path-like object` como *filename* y *extract_dir*." -#: ../Doc/library/shutil.rst:658 +#: ../Doc/library/shutil.rst:664 msgid "" "Registers an unpack format. *name* is the name of the format and " "*extensions* is a list of extensions corresponding to the format, like ``." @@ -1127,7 +1137,7 @@ msgstr "" "*extensions* es una lista de extensiones que corresponden al formato, como " "``.zip`` para archivos zip." -#: ../Doc/library/shutil.rst:662 +#: ../Doc/library/shutil.rst:668 msgid "" "*function* is the callable that will be used to unpack archives. The " "callable will receive the path of the archive, followed by the directory the " @@ -1137,7 +1147,7 @@ msgstr "" "invocable recibirá la ruta del archivador, seguida del directorio al que el " "archivador debe extraerse." -#: ../Doc/library/shutil.rst:666 +#: ../Doc/library/shutil.rst:672 msgid "" "When provided, *extra_args* is a sequence of ``(name, value)`` tuples that " "will be passed as keywords arguments to the callable." @@ -1145,7 +1155,7 @@ msgstr "" "Cuando está dado, *extra_args* es una secuencia de tuplas ``(name, value)`` " "que se pasarán como argumentos de palabra clave al invocable." -#: ../Doc/library/shutil.rst:669 +#: ../Doc/library/shutil.rst:675 msgid "" "*description* can be provided to describe the format, and will be returned " "by the :func:`get_unpack_formats` function." @@ -1153,12 +1163,12 @@ msgstr "" "*description* se puede proporcionar para describir el formato y será " "retornado por la función :func:`get_unpack_formats`." -#: ../Doc/library/shutil.rst:675 +#: ../Doc/library/shutil.rst:681 msgid "Unregister an unpack format. *name* is the name of the format." msgstr "" "Anula el registro del formato de desempaque. *name* es el nombre del formato." -#: ../Doc/library/shutil.rst:680 +#: ../Doc/library/shutil.rst:686 msgid "" "Return a list of all registered formats for unpacking. Each element of the " "returned sequence is a tuple ``(name, extensions, description)``." @@ -1166,7 +1176,7 @@ msgstr "" "Retorna una lista de todos los formatos registrados para desempaquetar. Cada " "elemento de la secuencia es una tupla ``(name, extensions, description)``." -#: ../Doc/library/shutil.rst:686 +#: ../Doc/library/shutil.rst:692 msgid "" "*zip*: ZIP file (unpacking compressed files works only if the corresponding " "module is available)." @@ -1174,11 +1184,11 @@ msgstr "" "*zip*: archivo zip (desempaquetar archivos comprimidos funciona solo si el " "módulo correspondiente está disponible)." -#: ../Doc/library/shutil.rst:688 +#: ../Doc/library/shutil.rst:694 msgid "*tar*: uncompressed tar file." msgstr "*tar*: archivo tar sin comprimir." -#: ../Doc/library/shutil.rst:693 +#: ../Doc/library/shutil.rst:699 msgid "" "You can register new formats or provide your own unpacker for any existing " "formats, by using :func:`register_unpack_format`." @@ -1186,11 +1196,11 @@ msgstr "" "Puedes registrar formatos nuevos o proporcionar tu propio desempaquetado " "para cualquier formato existente, usando :func:`register_unpack_format`." -#: ../Doc/library/shutil.rst:700 +#: ../Doc/library/shutil.rst:706 msgid "Archiving example" msgstr "Ejemplo de archivado" -#: ../Doc/library/shutil.rst:702 +#: ../Doc/library/shutil.rst:708 msgid "" "In this example, we create a gzip'ed tar-file archive containing all files " "found in the :file:`.ssh` directory of the user::" @@ -1198,19 +1208,41 @@ msgstr "" "En este ejemplo, creamos un archivo tar de tipo gzip que contiene todos los " "archivos que se encuentran en el directorio :file:`.ssh` del usuario::" -#: ../Doc/library/shutil.rst:712 +#: ../Doc/library/shutil.rst:718 msgid "The resulting archive contains:" msgstr "El archivo resultante contiene:" -#: ../Doc/library/shutil.rst:728 +#: ../Doc/library/shutil.rst:736 +#, fuzzy +msgid "Archiving example with *base_dir*" +msgstr "Ejemplo de archivado" + +#: ../Doc/library/shutil.rst:738 +msgid "" +"In this example, similar to the `one above `_, we " +"show how to use :func:`make_archive`, but this time with the usage of " +"*base_dir*. We now have the following directory structure:" +msgstr "" + +#: ../Doc/library/shutil.rst:752 +msgid "" +"In the final archive, :file:`please_add.txt` should be included, but :file:" +"`do_not_add.txt` should not. Therefore we use the following::" +msgstr "" + +#: ../Doc/library/shutil.rst:766 +msgid "Listing the files in the resulting archive gives us:" +msgstr "" + +#: ../Doc/library/shutil.rst:776 msgid "Querying the size of the output terminal" msgstr "Consulta el tamaño de la terminal de salida" -#: ../Doc/library/shutil.rst:732 +#: ../Doc/library/shutil.rst:780 msgid "Get the size of the terminal window." msgstr "Obtén el tamaño de la ventana de la terminal." -#: ../Doc/library/shutil.rst:734 +#: ../Doc/library/shutil.rst:782 msgid "" "For each of the two dimensions, the environment variable, ``COLUMNS`` and " "``LINES`` respectively, is checked. If the variable is defined and the value " @@ -1220,7 +1252,7 @@ msgstr "" "``COLUMNS`` y ``LINES`` respectivamente. Si la variable está definida y el " "valor es un entero positivo, se utiliza." -#: ../Doc/library/shutil.rst:738 +#: ../Doc/library/shutil.rst:786 msgid "" "When ``COLUMNS`` or ``LINES`` is not defined, which is the common case, the " "terminal connected to :data:`sys.__stdout__` is queried by invoking :func:" @@ -1230,7 +1262,7 @@ msgstr "" "terminal conectada a :data:`sys.__stdout__` se consulta invocando :func:`os." "get_terminal_size`." -#: ../Doc/library/shutil.rst:742 +#: ../Doc/library/shutil.rst:790 msgid "" "If the terminal size cannot be successfully queried, either because the " "system doesn't support querying, or because we are not connected to a " @@ -1244,16 +1276,17 @@ msgstr "" "tiene por defecto ``(80, 24)``, que es el tamaño por defecto que se usa en " "muchos emuladores de terminal." -#: ../Doc/library/shutil.rst:748 +#: ../Doc/library/shutil.rst:796 msgid "The value returned is a named tuple of type :class:`os.terminal_size`." msgstr "" "El valor retornado es una tupla con su respectivo nombre, de tipo :class:`os." "terminal_size`." -#: ../Doc/library/shutil.rst:750 +#: ../Doc/library/shutil.rst:798 +#, fuzzy msgid "" -"See also: The Single UNIX Specification, Version 2, `Otras variables de " -"entorno `_." +"See also: The Single UNIX Specification, Version 2, `Other Environment " +"Variables`_." msgstr "" "Véase también: *The Single UNIX Specification*, Versión 2, `Other " "Environment Variables`_." diff --git a/library/signal.po b/library/signal.po index 020d4864e3..55cb7a8e34 100644 --- a/library/signal.po +++ b/library/signal.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: python-doc-es\n" @@ -87,14 +87,17 @@ msgstr "" #: ../Doc/library/signal.rst:56 msgid "" -"Python signal handlers are always executed in the main Python thread, even " -"if the signal was received in another thread. This means that signals can't " -"be used as a means of inter-thread communication. You can use the " -"synchronization primitives from the :mod:`threading` module instead." +"Python signal handlers are always executed in the main Python thread of the " +"main interpreter, even if the signal was received in another thread. This " +"means that signals can't be used as a means of inter-thread communication. " +"You can use the synchronization primitives from the :mod:`threading` module " +"instead." msgstr "" #: ../Doc/library/signal.rst:61 -msgid "Besides, only the main thread is allowed to set a new signal handler." +msgid "" +"Besides, only the main thread of the main interpreter is allowed to set a " +"new signal handler." msgstr "" #: ../Doc/library/signal.rst:65 @@ -137,11 +140,11 @@ msgid "Timer signal from :manpage:`alarm(2)`." msgstr "" #: ../Doc/library/signal.rst:102 ../Doc/library/signal.rst:114 -#: ../Doc/library/signal.rst:130 ../Doc/library/signal.rst:144 -#: ../Doc/library/signal.rst:162 ../Doc/library/signal.rst:170 -#: ../Doc/library/signal.rst:184 ../Doc/library/signal.rst:190 -#: ../Doc/library/signal.rst:196 ../Doc/library/signal.rst:434 -#: ../Doc/library/signal.rst:441 +#: ../Doc/library/signal.rst:120 ../Doc/library/signal.rst:130 +#: ../Doc/library/signal.rst:144 ../Doc/library/signal.rst:162 +#: ../Doc/library/signal.rst:170 ../Doc/library/signal.rst:184 +#: ../Doc/library/signal.rst:190 ../Doc/library/signal.rst:196 +#: ../Doc/library/signal.rst:447 ../Doc/library/signal.rst:454 msgid ":ref:`Availability `: Unix." msgstr "" @@ -149,8 +152,8 @@ msgstr "" msgid "Interrupt from keyboard (CTRL + BREAK)." msgstr "" -#: ../Doc/library/signal.rst:108 ../Doc/library/signal.rst:120 -#: ../Doc/library/signal.rst:215 ../Doc/library/signal.rst:225 +#: ../Doc/library/signal.rst:108 ../Doc/library/signal.rst:215 +#: ../Doc/library/signal.rst:225 msgid ":ref:`Availability `: Windows." msgstr "" @@ -386,103 +389,119 @@ msgstr "" #: ../Doc/library/signal.rst:356 msgid "" +"Send signal *sig* to the process referred to by file descriptor *pidfd*. " +"Python does not currently support the *siginfo* parameter; it must be " +"``None``. The *flags* argument is provided for future extensions; no flag " +"values are currently defined." +msgstr "" + +#: ../Doc/library/signal.rst:361 +msgid "See the :manpage:`pidfd_send_signal(2)` man page for more information." +msgstr "" + +#: ../Doc/library/signal.rst:363 +msgid ":ref:`Availability `: Linux 5.1+" +msgstr "" + +#: ../Doc/library/signal.rst:369 +msgid "" "Send the signal *signalnum* to the thread *thread_id*, another thread in the " "same process as the caller. The target thread can be executing any code " "(Python or not). However, if the target thread is executing the Python " "interpreter, the Python signal handlers will be :ref:`executed by the main " -"thread `. Therefore, the only point of sending a " -"signal to a particular Python thread would be to force a running system call " -"to fail with :exc:`InterruptedError`." +"thread of the main interpreter `. Therefore, the only " +"point of sending a signal to a particular Python thread would be to force a " +"running system call to fail with :exc:`InterruptedError`." msgstr "" -#: ../Doc/library/signal.rst:364 +#: ../Doc/library/signal.rst:377 msgid "" "Use :func:`threading.get_ident()` or the :attr:`~threading.Thread.ident` " "attribute of :class:`threading.Thread` objects to get a suitable value for " "*thread_id*." msgstr "" -#: ../Doc/library/signal.rst:368 +#: ../Doc/library/signal.rst:381 msgid "" "If *signalnum* is 0, then no signal is sent, but error checking is still " "performed; this can be used to check if the target thread is still running." msgstr "" -#: ../Doc/library/signal.rst:372 +#: ../Doc/library/signal.rst:384 msgid "" "Raises an :ref:`auditing event ` ``signal.pthread_kill`` with " "arguments ``thread_id``, ``signalnum``." msgstr "" -#: ../Doc/library/signal.rst:375 +#: ../Doc/library/signal.rst:388 msgid "" ":ref:`Availability `: Unix. See the man page :manpage:" "`pthread_kill(3)` for further information." msgstr "" -#: ../Doc/library/signal.rst:376 +#: ../Doc/library/signal.rst:389 msgid "See also :func:`os.kill`." msgstr "" -#: ../Doc/library/signal.rst:383 +#: ../Doc/library/signal.rst:396 msgid "" "Fetch and/or change the signal mask of the calling thread. The signal mask " "is the set of signals whose delivery is currently blocked for the caller. " "Return the old signal mask as a set of signals." msgstr "" -#: ../Doc/library/signal.rst:387 +#: ../Doc/library/signal.rst:400 msgid "" "The behavior of the call is dependent on the value of *how*, as follows." msgstr "" -#: ../Doc/library/signal.rst:389 +#: ../Doc/library/signal.rst:402 msgid "" ":data:`SIG_BLOCK`: The set of blocked signals is the union of the current " "set and the *mask* argument." msgstr "" -#: ../Doc/library/signal.rst:391 +#: ../Doc/library/signal.rst:404 msgid "" ":data:`SIG_UNBLOCK`: The signals in *mask* are removed from the current set " "of blocked signals. It is permissible to attempt to unblock a signal which " "is not blocked." msgstr "" -#: ../Doc/library/signal.rst:394 +#: ../Doc/library/signal.rst:407 msgid "" ":data:`SIG_SETMASK`: The set of blocked signals is set to the *mask* " "argument." msgstr "" -#: ../Doc/library/signal.rst:397 +#: ../Doc/library/signal.rst:410 msgid "" "*mask* is a set of signal numbers (e.g. {:const:`signal.SIGINT`, :const:" "`signal.SIGTERM`}). Use :func:`~signal.valid_signals` for a full mask " "including all signals." msgstr "" -#: ../Doc/library/signal.rst:401 +#: ../Doc/library/signal.rst:414 msgid "" "For example, ``signal.pthread_sigmask(signal.SIG_BLOCK, [])`` reads the " "signal mask of the calling thread." msgstr "" -#: ../Doc/library/signal.rst:404 +#: ../Doc/library/signal.rst:417 msgid ":data:`SIGKILL` and :data:`SIGSTOP` cannot be blocked." msgstr "" -#: ../Doc/library/signal.rst:408 +#: ../Doc/library/signal.rst:421 msgid "" ":ref:`Availability `: Unix. See the man page :manpage:" "`sigprocmask(3)` and :manpage:`pthread_sigmask(3)` for further information." msgstr "" -#: ../Doc/library/signal.rst:409 +#: ../Doc/library/signal.rst:422 msgid "See also :func:`pause`, :func:`sigpending` and :func:`sigwait`." msgstr "" -#: ../Doc/library/signal.rst:416 +#: ../Doc/library/signal.rst:429 msgid "" "Sets given interval timer (one of :const:`signal.ITIMER_REAL`, :const:" "`signal.ITIMER_VIRTUAL` or :const:`signal.ITIMER_PROF`) specified by *which* " @@ -492,7 +511,7 @@ msgid "" "zero." msgstr "" -#: ../Doc/library/signal.rst:423 +#: ../Doc/library/signal.rst:436 msgid "" "When an interval timer fires, a signal is sent to the process. The signal " "sent is dependent on the timer being used; :const:`signal.ITIMER_REAL` will " @@ -500,21 +519,21 @@ msgid "" "`SIGVTALRM`, and :const:`signal.ITIMER_PROF` will deliver :const:`SIGPROF`." msgstr "" -#: ../Doc/library/signal.rst:429 +#: ../Doc/library/signal.rst:442 msgid "The old values are returned as a tuple: (delay, interval)." msgstr "" -#: ../Doc/library/signal.rst:431 +#: ../Doc/library/signal.rst:444 msgid "" "Attempting to pass an invalid interval timer will cause an :exc:" "`ItimerError`." msgstr "" -#: ../Doc/library/signal.rst:439 +#: ../Doc/library/signal.rst:452 msgid "Returns current value of a given interval timer specified by *which*." msgstr "" -#: ../Doc/library/signal.rst:446 +#: ../Doc/library/signal.rst:459 msgid "" "Set the wakeup file descriptor to *fd*. When a signal is received, the " "signal number is written as a single byte into the fd. This can be used by " @@ -522,7 +541,7 @@ msgid "" "processed." msgstr "" -#: ../Doc/library/signal.rst:451 +#: ../Doc/library/signal.rst:464 msgid "" "The old wakeup fd is returned (or -1 if file descriptor wakeup was not " "enabled). If *fd* is -1, file descriptor wakeup is disabled. If not -1, " @@ -530,21 +549,22 @@ msgid "" "*fd* before calling poll or select again." msgstr "" -#: ../Doc/library/signal.rst:456 ../Doc/library/signal.rst:509 +#: ../Doc/library/signal.rst:469 ../Doc/library/signal.rst:523 msgid "" -"When threads are enabled, this function can only be called from the main " -"thread; attempting to call it from other threads will cause a :exc:" -"`ValueError` exception to be raised." +"When threads are enabled, this function can only be called from :ref:`the " +"main thread of the main interpreter `; attempting to " +"call it from other threads will cause a :exc:`ValueError` exception to be " +"raised." msgstr "" -#: ../Doc/library/signal.rst:460 +#: ../Doc/library/signal.rst:474 msgid "" "There are two common ways to use this function. In both approaches, you use " "the fd to wake up when a signal arrives, but then they differ in how they " "determine *which* signal or signals have arrived." msgstr "" -#: ../Doc/library/signal.rst:465 +#: ../Doc/library/signal.rst:479 msgid "" "In the first approach, we read the data out of the fd's buffer, and the byte " "values give you the signal numbers. This is simple, but in rare cases it can " @@ -555,7 +575,7 @@ msgid "" "warning to be printed to stderr when signals are lost." msgstr "" -#: ../Doc/library/signal.rst:474 +#: ../Doc/library/signal.rst:488 msgid "" "In the second approach, we use the wakeup fd *only* for wakeups, and ignore " "the actual byte values. In this case, all we care about is whether the fd's " @@ -565,35 +585,35 @@ msgid "" "spurious warning messages." msgstr "" -#: ../Doc/library/signal.rst:481 +#: ../Doc/library/signal.rst:495 msgid "On Windows, the function now also supports socket handles." msgstr "" -#: ../Doc/library/signal.rst:484 +#: ../Doc/library/signal.rst:498 msgid "Added ``warn_on_full_buffer`` parameter." msgstr "" -#: ../Doc/library/signal.rst:489 +#: ../Doc/library/signal.rst:503 msgid "" "Change system call restart behaviour: if *flag* is :const:`False`, system " "calls will be restarted when interrupted by signal *signalnum*, otherwise " "system calls will be interrupted. Returns nothing." msgstr "" -#: ../Doc/library/signal.rst:495 +#: ../Doc/library/signal.rst:509 msgid "" ":ref:`Availability `: Unix. See the man page :manpage:" "`siginterrupt(3)` for further information." msgstr "" -#: ../Doc/library/signal.rst:496 +#: ../Doc/library/signal.rst:510 msgid "" "Note that installing a signal handler with :func:`signal` will reset the " "restart behaviour to interruptible by implicitly calling :c:func:" "`siginterrupt` with a true *flag* value for the given signal." msgstr "" -#: ../Doc/library/signal.rst:503 +#: ../Doc/library/signal.rst:517 msgid "" "Set the handler for signal *signalnum* to the function *handler*. *handler* " "can be a callable Python object taking two arguments (see below), or one of " @@ -603,7 +623,7 @@ msgid "" "information.)" msgstr "" -#: ../Doc/library/signal.rst:513 +#: ../Doc/library/signal.rst:528 msgid "" "The *handler* is called with two arguments: the signal number and the " "current stack frame (``None`` or a frame object; for a description of frame " @@ -611,7 +631,7 @@ msgid "" "see the attribute descriptions in the :mod:`inspect` module)." msgstr "" -#: ../Doc/library/signal.rst:518 +#: ../Doc/library/signal.rst:533 msgid "" "On Windows, :func:`signal` can only be called with :const:`SIGABRT`, :const:" "`SIGFPE`, :const:`SIGILL`, :const:`SIGINT`, :const:`SIGSEGV`, :const:" @@ -621,24 +641,24 @@ msgid "" "``SIG*`` module level constant." msgstr "" -#: ../Doc/library/signal.rst:529 +#: ../Doc/library/signal.rst:544 msgid "" "Examine the set of signals that are pending for delivery to the calling " "thread (i.e., the signals which have been raised while blocked). Return the " "set of the pending signals." msgstr "" -#: ../Doc/library/signal.rst:535 +#: ../Doc/library/signal.rst:550 msgid "" ":ref:`Availability `: Unix. See the man page :manpage:" "`sigpending(2)` for further information." msgstr "" -#: ../Doc/library/signal.rst:536 +#: ../Doc/library/signal.rst:551 msgid "See also :func:`pause`, :func:`pthread_sigmask` and :func:`sigwait`." msgstr "" -#: ../Doc/library/signal.rst:543 +#: ../Doc/library/signal.rst:558 msgid "" "Suspend execution of the calling thread until the delivery of one of the " "signals specified in the signal set *sigset*. The function accepts the " @@ -646,19 +666,19 @@ msgid "" "number." msgstr "" -#: ../Doc/library/signal.rst:549 +#: ../Doc/library/signal.rst:564 msgid "" ":ref:`Availability `: Unix. See the man page :manpage:" "`sigwait(3)` for further information." msgstr "" -#: ../Doc/library/signal.rst:550 +#: ../Doc/library/signal.rst:565 msgid "" "See also :func:`pause`, :func:`pthread_sigmask`, :func:`sigpending`, :func:" "`sigwaitinfo` and :func:`sigtimedwait`." msgstr "" -#: ../Doc/library/signal.rst:558 +#: ../Doc/library/signal.rst:573 msgid "" "Suspend execution of the calling thread until the delivery of one of the " "signals specified in the signal set *sigset*. The function accepts the " @@ -669,7 +689,7 @@ msgid "" "`InterruptedError` if it is interrupted by a signal that is not in *sigset*." msgstr "" -#: ../Doc/library/signal.rst:567 +#: ../Doc/library/signal.rst:582 msgid "" "The return value is an object representing the data contained in the :c:type:" "`siginfo_t` structure, namely: :attr:`si_signo`, :attr:`si_code`, :attr:" @@ -677,52 +697,52 @@ msgid "" "`si_band`." msgstr "" -#: ../Doc/library/signal.rst:574 +#: ../Doc/library/signal.rst:589 msgid "" ":ref:`Availability `: Unix. See the man page :manpage:" "`sigwaitinfo(2)` for further information." msgstr "" -#: ../Doc/library/signal.rst:575 +#: ../Doc/library/signal.rst:590 msgid "See also :func:`pause`, :func:`sigwait` and :func:`sigtimedwait`." msgstr "" -#: ../Doc/library/signal.rst:579 +#: ../Doc/library/signal.rst:594 msgid "" "The function is now retried if interrupted by a signal not in *sigset* and " "the signal handler does not raise an exception (see :pep:`475` for the " "rationale)." msgstr "" -#: ../Doc/library/signal.rst:587 +#: ../Doc/library/signal.rst:602 msgid "" "Like :func:`sigwaitinfo`, but takes an additional *timeout* argument " "specifying a timeout. If *timeout* is specified as :const:`0`, a poll is " "performed. Returns :const:`None` if a timeout occurs." msgstr "" -#: ../Doc/library/signal.rst:593 +#: ../Doc/library/signal.rst:608 msgid "" ":ref:`Availability `: Unix. See the man page :manpage:" "`sigtimedwait(2)` for further information." msgstr "" -#: ../Doc/library/signal.rst:594 +#: ../Doc/library/signal.rst:609 msgid "See also :func:`pause`, :func:`sigwait` and :func:`sigwaitinfo`." msgstr "" -#: ../Doc/library/signal.rst:598 +#: ../Doc/library/signal.rst:613 msgid "" "The function is now retried with the recomputed *timeout* if interrupted by " "a signal not in *sigset* and the signal handler does not raise an exception " "(see :pep:`475` for the rationale)." msgstr "" -#: ../Doc/library/signal.rst:607 +#: ../Doc/library/signal.rst:622 msgid "Example" msgstr "" -#: ../Doc/library/signal.rst:609 +#: ../Doc/library/signal.rst:624 msgid "" "Here is a minimal example program. It uses the :func:`alarm` function to " "limit the time spent waiting to open a file; this is useful if the file is " @@ -732,11 +752,11 @@ msgid "" "signal will be sent, and the handler raises an exception. ::" msgstr "" -#: ../Doc/library/signal.rst:632 +#: ../Doc/library/signal.rst:647 msgid "Note on SIGPIPE" msgstr "" -#: ../Doc/library/signal.rst:634 +#: ../Doc/library/signal.rst:649 msgid "" "Piping output of your program to tools like :manpage:`head(1)` will cause a :" "const:`SIGPIPE` signal to be sent to your process when the receiver of its " @@ -745,7 +765,7 @@ msgid "" "entry point to catch this exception as follows::" msgstr "" -#: ../Doc/library/signal.rst:661 +#: ../Doc/library/signal.rst:676 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 " diff --git a/library/site.po b/library/site.po index 10a1aee373..8505619d55 100644 --- a/library/site.po +++ b/library/site.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-08-16 18:18+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" "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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" -"X-Generator: Poedit 2.3.1\n" #: ../Doc/library/site.rst:2 msgid ":mod:`site` --- Site-specific configuration hook" @@ -381,17 +380,15 @@ msgstr "" msgid "" "Return the path of the user-specific site-packages directory, :data:" "`USER_SITE`. If it is not initialized yet, this function will also set it, " -"respecting :envvar:`PYTHONNOUSERSITE` and :data:`USER_BASE`." +"respecting :data:`USER_BASE`. To determine if the user-specific site-" +"packages was added to ``sys.path`` :data:`ENABLE_USER_SITE` should be used." msgstr "" -"Retorna la ruta del directorio *site-packages* específicos del usuario :data:" -"`USER_SITE`. Si este aún no fue inicializado, esta función también lo " -"configurará, respetando :envvar:`PYTHONNOUSERSITE` y :data:`USER_BASE`." -#: ../Doc/library/site.rst:242 +#: ../Doc/library/site.rst:244 msgid "Command Line Interface" msgstr "Interfaz de línea de comando" -#: ../Doc/library/site.rst:246 +#: ../Doc/library/site.rst:248 msgid "" "The :mod:`site` module also provides a way to get the user directories from " "the command line:" @@ -399,7 +396,7 @@ msgstr "" "El módulo :mod:`site` también proporciona una forma de obtener los " "directorios del usuario desde la línea de comandos:" -#: ../Doc/library/site.rst:254 +#: ../Doc/library/site.rst:256 msgid "" "If it is called without arguments, it will print the contents of :data:`sys." "path` on the standard output, followed by the value of :data:`USER_BASE` and " @@ -411,15 +408,15 @@ msgstr "" "existe, entonces lo mismo para :data:`USER_SITE`, y finalmente el valor de :" "data:`ENABLE_USER_SITE`." -#: ../Doc/library/site.rst:261 +#: ../Doc/library/site.rst:263 msgid "Print the path to the user base directory." msgstr "Imprime la ruta al directorio base del usuario." -#: ../Doc/library/site.rst:265 +#: ../Doc/library/site.rst:267 msgid "Print the path to the user site-packages directory." msgstr "Imprime la ruta al directorio *site-packages* del usuario." -#: ../Doc/library/site.rst:267 +#: ../Doc/library/site.rst:269 msgid "" "If both options are given, user base and user site will be printed (always " "in this order), separated by :data:`os.pathsep`." @@ -428,7 +425,7 @@ msgstr "" "*site-packages* del usuario se imprimirán (siempre en este orden), separados " "por :data:`os.pathsep`." -#: ../Doc/library/site.rst:270 +#: ../Doc/library/site.rst:272 msgid "" "If any option is given, the script will exit with one of these values: ``0`` " "if the user site-packages directory is enabled, ``1`` if it was disabled by " @@ -440,6 +437,15 @@ msgstr "" "deshabilitado por el usuario, `` 2`` si está deshabilitado por razones de " "seguridad o por un administrador, y un valor mayor que 2 si hay un error." -#: ../Doc/library/site.rst:277 +#: ../Doc/library/site.rst:279 msgid ":pep:`370` -- Per user site-packages directory" msgstr ":pep:`370` - Directorio *site-packages* de cada usuario" + +#~ msgid "" +#~ "Return the path of the user-specific site-packages directory, :data:" +#~ "`USER_SITE`. If it is not initialized yet, this function will also set " +#~ "it, respecting :envvar:`PYTHONNOUSERSITE` and :data:`USER_BASE`." +#~ msgstr "" +#~ "Retorna la ruta del directorio *site-packages* específicos del usuario :" +#~ "data:`USER_SITE`. Si este aún no fue inicializado, esta función también " +#~ "lo configurará, respetando :envvar:`PYTHONNOUSERSITE` y :data:`USER_BASE`." diff --git a/library/smtpd.po b/library/smtpd.po index b6a4767a00..2c631452ea 100644 --- a/library/smtpd.po +++ b/library/smtpd.po @@ -1,22 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) 2001-2019, Python Software Foundation # This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. +# FIRST AUTHOR , 2020. # msgid "" msgstr "" "Project-Id-Version: Python 3.7\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-06 11:59-0400\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-10-08 22:47-0500\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" "Last-Translator: Juan Alegría \n" -"Language-Team: \n" "Language: es_CO\n" -"X-Generator: Poedit 2.4.1\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.8.0\n" #: ../Doc/library/smtpd.rst:2 msgid ":mod:`smtpd` --- SMTP Server" @@ -87,7 +87,7 @@ msgstr "" "`. El objeto hereda de :class:`asyncore.dispatcher`, por lo que " "se insertará en el bucle de eventos de :mod:`asyncore` en la instanciación." -#: ../Doc/library/smtpd.rst:46 ../Doc/library/smtpd.rst:168 +#: ../Doc/library/smtpd.rst:46 ../Doc/library/smtpd.rst:174 msgid "" "*data_size_limit* specifies the maximum number of bytes that will be " "accepted in a ``DATA`` command. A value of ``None`` or ``0`` means no limit." @@ -248,7 +248,7 @@ msgstr "" "parámetro *kwargs* para :meth:`process_message` cuando *decode_data* es " "``False``." -#: ../Doc/library/smtpd.rst:120 ../Doc/library/smtpd.rst:190 +#: ../Doc/library/smtpd.rst:120 ../Doc/library/smtpd.rst:196 msgid "*decode_data* is now ``False`` by default." msgstr "*decode_data* ahora es ``False`` por defecto." @@ -284,7 +284,13 @@ msgstr "" msgid "MailmanProxy Objects" msgstr "Objetos MailmanProxy" -#: ../Doc/library/smtpd.rst:151 +#: ../Doc/library/smtpd.rst:153 +msgid "" +":class:`MailmanProxy` is deprecated, it depends on a ``Mailman`` module " +"which no longer exists and therefore is already broken." +msgstr "" + +#: ../Doc/library/smtpd.rst:157 msgid "" "Create a new pure proxy server. Arguments are as per :class:`SMTPServer`. " "Everything will be relayed to *remoteaddr*, unless local mailman " @@ -298,11 +304,11 @@ msgstr "" "manejará a través de mailman. Tenga en cuenta que ejecutar esto implica una " "buena posibilidad de convertirlo en un relé abierto, así que tenga cuidado." -#: ../Doc/library/smtpd.rst:158 +#: ../Doc/library/smtpd.rst:164 msgid "SMTPChannel Objects" msgstr "Objetos SMTPChannel" -#: ../Doc/library/smtpd.rst:163 +#: ../Doc/library/smtpd.rst:169 msgid "" "Create a new :class:`SMTPChannel` object which manages the communication " "between the server and a single SMTP client." @@ -310,13 +316,13 @@ msgstr "" "Crea un nuevo objeto :class:`SMTPChannel` que gestiona la comunicación entre " "el servidor y un único cliente SMTP." -#: ../Doc/library/smtpd.rst:166 +#: ../Doc/library/smtpd.rst:172 msgid "*conn* and *addr* are as per the instance variables described below." msgstr "" "*conn* y *addr* son según las variables de instancia que se describen a " "continuación." -#: ../Doc/library/smtpd.rst:172 +#: ../Doc/library/smtpd.rst:178 msgid "" "*enable_SMTPUTF8* determines whether the ``SMTPUTF8`` extension (as defined " "in :RFC:`6531`) should be enabled. The default is ``False``. *decode_data* " @@ -327,14 +333,14 @@ msgstr "" "*decode_data* y *enable_SMTPUTF8* no se pueden establecer en ``True`` al " "mismo tiempo." -#: ../Doc/library/smtpd.rst:177 +#: ../Doc/library/smtpd.rst:183 msgid "" "A dictionary can be specified in *map* to avoid using a global socket map." msgstr "" "Se puede especificar un diccionario en *map* para evitar el uso de un mapa " "de socket global." -#: ../Doc/library/smtpd.rst:179 +#: ../Doc/library/smtpd.rst:185 msgid "" "*decode_data* specifies whether the data portion of the SMTP transaction " "should be decoded using UTF-8. The default is ``False``. *decode_data* and " @@ -345,7 +351,7 @@ msgstr "" "*decode_data* y *enable_SMTPUTF8* no se pueden establecer en ``True`` al " "mismo tiempo." -#: ../Doc/library/smtpd.rst:184 +#: ../Doc/library/smtpd.rst:190 msgid "" "To use a custom SMTPChannel implementation you need to override the :attr:" "`SMTPServer.channel_class` of your :class:`SMTPServer`." @@ -353,24 +359,24 @@ msgstr "" "Para utilizar una implementación SMTPChannel personalizada, debe anular :" "attr:`SMTPServer.channel_class` de su :class:`SMTPServer`." -#: ../Doc/library/smtpd.rst:187 +#: ../Doc/library/smtpd.rst:193 msgid "The *decode_data* and *enable_SMTPUTF8* parameters were added." msgstr "Se agregaron los parámetros *decode_data* y *enable_SMTPUTF8*." -#: ../Doc/library/smtpd.rst:193 +#: ../Doc/library/smtpd.rst:199 msgid "The :class:`SMTPChannel` has the following instance variables:" msgstr "" "La clase :class:`SMTPChannel` tiene las siguientes variables de instancia:" -#: ../Doc/library/smtpd.rst:197 +#: ../Doc/library/smtpd.rst:203 msgid "Holds the :class:`SMTPServer` that spawned this channel." msgstr "Contiene el :class:`SMTPServer` que generó este canal." -#: ../Doc/library/smtpd.rst:201 +#: ../Doc/library/smtpd.rst:207 msgid "Holds the socket object connecting to the client." msgstr "Contiene el objeto de socket que se conecta al cliente." -#: ../Doc/library/smtpd.rst:205 +#: ../Doc/library/smtpd.rst:211 msgid "" "Holds the address of the client, the second value returned by :func:`socket." "accept `" @@ -378,7 +384,7 @@ msgstr "" "Contiene la dirección del cliente, el segundo valor retornado por :func:" "`socket.accept `" -#: ../Doc/library/smtpd.rst:210 +#: ../Doc/library/smtpd.rst:216 msgid "" "Holds a list of the line strings (decoded using UTF-8) received from the " "client. The lines have their ``\"\\r\\n\"`` line ending translated to ``\"\\n" @@ -388,7 +394,7 @@ msgstr "" "recibidas del cliente. Las líneas tienen su final de línea ``\"\\r\\n\"`` " "traducido a ``\"\\n\"``." -#: ../Doc/library/smtpd.rst:216 +#: ../Doc/library/smtpd.rst:222 msgid "" "Holds the current state of the channel. This will be either :attr:`COMMAND` " "initially and then :attr:`DATA` after the client sends a \"DATA\" line." @@ -396,14 +402,14 @@ msgstr "" "Contiene el estado actual del canal. Será :attr:`COMMAND` inicialmente y " "luego :attr:`DATA` después de que el cliente envíe una línea \"DATA\"." -#: ../Doc/library/smtpd.rst:222 +#: ../Doc/library/smtpd.rst:228 msgid "" "Holds a string containing the greeting sent by the client in its \"HELO\"." msgstr "" "Contiene una cadena de caracteres que contiene el saludo enviado por el " "cliente en su \"HELO\"." -#: ../Doc/library/smtpd.rst:226 +#: ../Doc/library/smtpd.rst:232 msgid "" "Holds a string containing the address identified in the \"MAIL FROM:\" line " "from the client." @@ -411,7 +417,7 @@ msgstr "" "Contiene una cadena de caracteres que contiene la dirección identificada en " "la línea \"MAIL FROM:\" del cliente." -#: ../Doc/library/smtpd.rst:231 +#: ../Doc/library/smtpd.rst:237 msgid "" "Holds a list of strings containing the addresses identified in the \"RCPT TO:" "\" lines from the client." @@ -419,7 +425,7 @@ msgstr "" "Contiene una lista de cadenas de caracteres que contienen las direcciones " "identificadas en las líneas \"RCPT TO:\" del cliente." -#: ../Doc/library/smtpd.rst:236 +#: ../Doc/library/smtpd.rst:242 msgid "" "Holds a string containing all of the data sent by the client during the DATA " "state, up to but not including the terminating ``\"\\r\\n.\\r\\n\"``." @@ -428,7 +434,7 @@ msgstr "" "el cliente durante el estado de DATA, hasta pero sin incluir la terminación " "``\"\\r\\n.\\r\\n\"``." -#: ../Doc/library/smtpd.rst:241 +#: ../Doc/library/smtpd.rst:247 msgid "" "Holds the fully-qualified domain name of the server as returned by :func:" "`socket.getfqdn`." @@ -436,7 +442,7 @@ msgstr "" "Contiene el nombre de dominio completo del servidor como lo retorna :func:" "`socket.getfqdn`." -#: ../Doc/library/smtpd.rst:246 +#: ../Doc/library/smtpd.rst:252 msgid "" "Holds the name of the client peer as returned by ``conn.getpeername()`` " "where ``conn`` is :attr:`conn`." @@ -444,7 +450,7 @@ msgstr "" "Contiene el nombre del par del cliente como lo retorna ``conn." "getpeername()`` donde ``conn`` es :attr:`conn`." -#: ../Doc/library/smtpd.rst:249 +#: ../Doc/library/smtpd.rst:255 msgid "" "The :class:`SMTPChannel` operates by invoking methods named " "``smtp_`` upon reception of a command line from the client. Built " @@ -456,19 +462,19 @@ msgstr "" "en la clase base :class:`SMTPChannel`, son métodos para manejar los " "siguientes comandos (y responder a ellos de manera apropiada):" -#: ../Doc/library/smtpd.rst:255 +#: ../Doc/library/smtpd.rst:261 msgid "Command" msgstr "Comando" -#: ../Doc/library/smtpd.rst:255 +#: ../Doc/library/smtpd.rst:261 msgid "Action taken" msgstr "Acción tomada" -#: ../Doc/library/smtpd.rst:257 +#: ../Doc/library/smtpd.rst:263 msgid "HELO" msgstr "HELO" -#: ../Doc/library/smtpd.rst:257 +#: ../Doc/library/smtpd.rst:263 msgid "" "Accepts the greeting from the client and stores it in :attr:" "`seen_greeting`. Sets server to base command mode." @@ -476,11 +482,11 @@ msgstr "" "Acepta el saludo del cliente y lo almacena en :attr:`seen_greeting`. " "Establece el servidor en el modo de comando base." -#: ../Doc/library/smtpd.rst:259 +#: ../Doc/library/smtpd.rst:265 msgid "EHLO" msgstr "EHLO" -#: ../Doc/library/smtpd.rst:259 +#: ../Doc/library/smtpd.rst:265 msgid "" "Accepts the greeting from the client and stores it in :attr:" "`seen_greeting`. Sets server to extended command mode." @@ -488,27 +494,27 @@ msgstr "" "Acepta el saludo del cliente y lo almacena en :attr:`seen_greeting`. " "Establece el servidor en el modo de comando extendido." -#: ../Doc/library/smtpd.rst:261 +#: ../Doc/library/smtpd.rst:267 msgid "NOOP" msgstr "NOOP" -#: ../Doc/library/smtpd.rst:261 +#: ../Doc/library/smtpd.rst:267 msgid "Takes no action." msgstr "No realiza ninguna acción." -#: ../Doc/library/smtpd.rst:262 +#: ../Doc/library/smtpd.rst:268 msgid "QUIT" msgstr "QUIT" -#: ../Doc/library/smtpd.rst:262 +#: ../Doc/library/smtpd.rst:268 msgid "Closes the connection cleanly." msgstr "Cierra la conexión limpiamente." -#: ../Doc/library/smtpd.rst:263 +#: ../Doc/library/smtpd.rst:269 msgid "MAIL" msgstr "MAIL" -#: ../Doc/library/smtpd.rst:263 +#: ../Doc/library/smtpd.rst:269 msgid "" "Accepts the \"MAIL FROM:\" syntax and stores the supplied address as :attr:" "`mailfrom`. In extended command mode, accepts the :rfc:`1870` SIZE " @@ -519,11 +525,11 @@ msgstr "" "rfc:`1870` SIZE y responde apropiadamente según el valor de " "*data_size_limit*." -#: ../Doc/library/smtpd.rst:267 +#: ../Doc/library/smtpd.rst:273 msgid "RCPT" msgstr "RCPT" -#: ../Doc/library/smtpd.rst:267 +#: ../Doc/library/smtpd.rst:273 msgid "" "Accepts the \"RCPT TO:\" syntax and stores the supplied addresses in the :" "attr:`rcpttos` list." @@ -531,11 +537,11 @@ msgstr "" "Acepta la sintaxis \"RCPT TO:\" y almacena las direcciones proporcionadas en " "la lista :attr:`rcpttos`." -#: ../Doc/library/smtpd.rst:269 +#: ../Doc/library/smtpd.rst:275 msgid "RSET" msgstr "RSET" -#: ../Doc/library/smtpd.rst:269 +#: ../Doc/library/smtpd.rst:275 msgid "" "Resets the :attr:`mailfrom`, :attr:`rcpttos`, and :attr:`received_data`, but " "not the greeting." @@ -543,11 +549,11 @@ msgstr "" "Restablece :attr:`mailfrom`, :attr:`rcpttos` y :attr:`received_data`, pero " "no el saludo." -#: ../Doc/library/smtpd.rst:271 +#: ../Doc/library/smtpd.rst:277 msgid "DATA" msgstr "DATA" -#: ../Doc/library/smtpd.rst:271 +#: ../Doc/library/smtpd.rst:277 msgid "" "Sets the internal state to :attr:`DATA` and stores remaining lines from the " "client in :attr:`received_data` until the terminator ``\"\\r\\n.\\r\\n\"`` " @@ -557,26 +563,26 @@ msgstr "" "del cliente en :attr:`received_data` hasta que se recibe el terminador ``”\\r" "\\n.\\r\\n”``." -#: ../Doc/library/smtpd.rst:274 +#: ../Doc/library/smtpd.rst:280 msgid "HELP" msgstr "HELP" -#: ../Doc/library/smtpd.rst:274 +#: ../Doc/library/smtpd.rst:280 msgid "Returns minimal information on command syntax" msgstr "Retorna información mínima sobre la sintaxis del comando" -#: ../Doc/library/smtpd.rst:275 +#: ../Doc/library/smtpd.rst:281 msgid "VRFY" msgstr "VRFY" -#: ../Doc/library/smtpd.rst:275 +#: ../Doc/library/smtpd.rst:281 msgid "Returns code 252 (the server doesn't know if the address is valid)" msgstr "Retorna el código 252 (el servidor no sabe si la dirección es válida)" -#: ../Doc/library/smtpd.rst:276 +#: ../Doc/library/smtpd.rst:282 msgid "EXPN" msgstr "EXPN" -#: ../Doc/library/smtpd.rst:276 +#: ../Doc/library/smtpd.rst:282 msgid "Reports that the command is not implemented." msgstr "Informa que el comando no está implementado." diff --git a/library/smtplib.po b/library/smtplib.po index 41b7ef791e..41678b78e5 100644 --- a/library/smtplib.po +++ b/library/smtplib.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-12-21 19:42+0100\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" "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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/smtplib.rst:2 msgid ":mod:`smtplib` --- SMTP protocol client" @@ -99,6 +98,7 @@ msgstr "" "así, el comando SMTP ``QUIT`` se emite automáticamente cuando la :keyword:`!" "with` sale de la instrucción. por ejemplo::" +#: ../Doc/library/smtplib.rst:58 msgid "" "Raises an :ref:`auditing event ` ``smtplib.send`` with arguments " "``self``, ``data``." @@ -120,7 +120,7 @@ msgstr "" msgid "Support for the :keyword:`with` statement was added." msgstr "Se agregó soporte para la sentencia :keyword:`with`." -#: ../Doc/library/smtplib.rst:67 ../Doc/library/smtplib.rst:96 +#: ../Doc/library/smtplib.rst:67 ../Doc/library/smtplib.rst:99 msgid "source_address argument was added." msgstr "se agrego el argumento source_address." @@ -128,7 +128,13 @@ msgstr "se agrego el argumento source_address." msgid "The SMTPUTF8 extension (:rfc:`6531`) is now supported." msgstr "La extensión SMTPUTF8 (:rfc:`6531`) ahora es compatible." -#: ../Doc/library/smtplib.rst:78 +#: ../Doc/library/smtplib.rst:73 ../Doc/library/smtplib.rst:114 +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 "" + +#: ../Doc/library/smtplib.rst:81 msgid "" "An :class:`SMTP_SSL` instance behaves exactly the same as instances of :" "class:`SMTP`. :class:`SMTP_SSL` should be used for situations where SSL is " @@ -152,7 +158,7 @@ msgstr "" "permite configurar varios aspectos de la conexión segura. Por favor lea :ref:" "`ssl-security` para conocer las mejores prácticas." -#: ../Doc/library/smtplib.rst:89 +#: ../Doc/library/smtplib.rst:92 msgid "" "*keyfile* and *certfile* are a legacy alternative to *context*, and can " "point to a PEM formatted private key and certificate chain file for the SSL " @@ -162,11 +168,11 @@ msgstr "" "apuntar a una clave privada con formato PEM y un archivo de cadena de " "certificados para la conexión SSL." -#: ../Doc/library/smtplib.rst:93 ../Doc/library/smtplib.rst:416 +#: ../Doc/library/smtplib.rst:96 ../Doc/library/smtplib.rst:426 msgid "*context* was added." msgstr "se agregó *contexto*." -#: ../Doc/library/smtplib.rst:99 +#: ../Doc/library/smtplib.rst:102 msgid "" "The class now supports hostname check with :attr:`ssl.SSLContext." "check_hostname` and *Server Name Indication* (see :data:`ssl.HAS_SNI`)." @@ -175,7 +181,7 @@ msgstr "" "SSLContext.check_hostname` y *Server Name Indication* (ver :data:`ssl." "HAS_SNI`)." -#: ../Doc/library/smtplib.rst:106 ../Doc/library/smtplib.rst:402 +#: ../Doc/library/smtplib.rst:109 ../Doc/library/smtplib.rst:412 msgid "" "*keyfile* and *certfile* are deprecated in favor of *context*. Please use :" "meth:`ssl.SSLContext.load_cert_chain` instead, or let :func:`ssl." @@ -186,7 +192,7 @@ msgstr "" "create_default_context` seleccione los certificados CA confiables del " "sistema para usted." -#: ../Doc/library/smtplib.rst:114 +#: ../Doc/library/smtplib.rst:121 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:" @@ -203,7 +209,7 @@ msgstr "" "Para especificar un socket Unix, debe usar una ruta absoluta para *host*, " "comenzando con '/'." -#: ../Doc/library/smtplib.rst:121 +#: ../Doc/library/smtplib.rst:128 msgid "" "Authentication is supported, using the regular SMTP mechanism. When using a " "Unix socket, LMTP generally don't support or require any authentication, but " @@ -213,11 +219,15 @@ msgstr "" "usa un socket Unix, LMTP generalmente no admite ni requiere autenticación, " "pero su millaje puede variar." -#: ../Doc/library/smtplib.rst:126 +#: ../Doc/library/smtplib.rst:132 +msgid "The optional *timeout* parameter was added." +msgstr "" + +#: ../Doc/library/smtplib.rst:136 msgid "A nice selection of exceptions is defined as well:" msgstr "También se define una buena selección de excepciones:" -#: ../Doc/library/smtplib.rst:131 +#: ../Doc/library/smtplib.rst:141 msgid "" "Subclass of :exc:`OSError` that is the base exception class for all the " "other exceptions provided by this module." @@ -225,11 +235,11 @@ msgstr "" "Subclase de :exc:`OSError` que es la clase de excepción base para todas las " "demás excepciones proporcionadas por este módulo." -#: ../Doc/library/smtplib.rst:134 +#: ../Doc/library/smtplib.rst:144 msgid "SMTPException became subclass of :exc:`OSError`" msgstr "SMTPException se convirtió en subclase de :exc:`OSError`" -#: ../Doc/library/smtplib.rst:140 +#: ../Doc/library/smtplib.rst:150 msgid "" "This exception is raised when the server unexpectedly disconnects, or when " "an attempt is made to use the :class:`SMTP` instance before connecting it to " @@ -239,7 +249,7 @@ msgstr "" "cuando se intenta usar la instancia :class:`SMTP` antes de conectarlo a un " "servidor." -#: ../Doc/library/smtplib.rst:147 +#: ../Doc/library/smtplib.rst:157 msgid "" "Base class for all exceptions that include an SMTP error code. These " "exceptions are generated in some instances when the SMTP server returns an " @@ -252,7 +262,7 @@ msgstr "" "attr:`smtp_code` del error, y el atributo :attr:`smtp_error` se establece en " "el mensaje de error." -#: ../Doc/library/smtplib.rst:155 +#: ../Doc/library/smtplib.rst:165 msgid "" "Sender address refused. In addition to the attributes set by on all :exc:" "`SMTPResponseException` exceptions, this sets 'sender' to the string that " @@ -262,7 +272,7 @@ msgstr "" "todas las excepciones :exc:`SMTPResponseException`, éste establece " "'remitente' para la cadena de caracteres que el servidor SMTP rechazó." -#: ../Doc/library/smtplib.rst:162 +#: ../Doc/library/smtplib.rst:172 msgid "" "All recipient addresses refused. The errors for each recipient are " "accessible through the attribute :attr:`recipients`, which is a dictionary " @@ -272,24 +282,24 @@ msgstr "" "destinatario son accesibles mediante el atributo :attr:`recipients`, el cual " "es un diccionario del mismo tipo que el :meth:`SMTP.sendmail` retorna." -#: ../Doc/library/smtplib.rst:169 +#: ../Doc/library/smtplib.rst:179 msgid "The SMTP server refused to accept the message data." msgstr "El servidor SMTP se negó a aceptar los datos del mensaje." -#: ../Doc/library/smtplib.rst:174 +#: ../Doc/library/smtplib.rst:184 msgid "Error occurred during establishment of a connection with the server." msgstr "" "Se produjo un error durante el establecimiento de conexión con el servidor." -#: ../Doc/library/smtplib.rst:179 +#: ../Doc/library/smtplib.rst:189 msgid "The server refused our ``HELO`` message." msgstr "El servidor rechazó nuestro mensaje ``HELO``." -#: ../Doc/library/smtplib.rst:184 +#: ../Doc/library/smtplib.rst:194 msgid "The command or option attempted is not supported by the server." msgstr "El servidor no admite el comando o la opción que se intentó." -#: ../Doc/library/smtplib.rst:191 +#: ../Doc/library/smtplib.rst:201 msgid "" "SMTP authentication went wrong. Most probably the server didn't accept the " "username/password combination provided." @@ -297,11 +307,11 @@ msgstr "" "La autenticación SMTP salió mal. Lo más probable es que el servidor no " "aceptó la combinación proporcionada de username/password." -#: ../Doc/library/smtplib.rst:199 +#: ../Doc/library/smtplib.rst:209 msgid ":rfc:`821` - Simple Mail Transfer Protocol" msgstr ":rfc:`821` - Simple Mail Transfer Protocol" -#: ../Doc/library/smtplib.rst:198 +#: ../Doc/library/smtplib.rst:208 msgid "" "Protocol definition for SMTP. This document covers the model, operating " "procedure, and protocol details for SMTP." @@ -309,11 +319,11 @@ msgstr "" "Definición de protocolo para SMTP. Este documento cubre el modelo, el " "procedimiento operativo y los detalles del protocolo para SMTP." -#: ../Doc/library/smtplib.rst:203 +#: ../Doc/library/smtplib.rst:213 msgid ":rfc:`1869` - SMTP Service Extensions" msgstr ":rfc:`1869` - Extensiones de Servicio SMTP" -#: ../Doc/library/smtplib.rst:202 +#: ../Doc/library/smtplib.rst:212 msgid "" "Definition of the ESMTP extensions for SMTP. This describes a framework for " "extending SMTP with new commands, supporting dynamic discovery of the " @@ -324,15 +334,15 @@ msgstr "" "los comandos proporcionados por el servidor y define algunos comandos " "adicionales." -#: ../Doc/library/smtplib.rst:210 +#: ../Doc/library/smtplib.rst:220 msgid "SMTP Objects" msgstr "Objetos SMTP" -#: ../Doc/library/smtplib.rst:212 +#: ../Doc/library/smtplib.rst:222 msgid "An :class:`SMTP` instance has the following methods:" msgstr "Una instancia :class:`SMTP` tiene los siguientes métodos:" -#: ../Doc/library/smtplib.rst:217 +#: ../Doc/library/smtplib.rst:227 msgid "" "Set the debug output level. A value of 1 or ``True`` for *level* results in " "debug messages for connection and for all messages sent to and received from " @@ -344,11 +354,11 @@ msgstr "" "todos los mensajes enviados y recibidos desde el servidor. Un valor de 2 " "para *level* da como resultado que estos mensajes tengan una marca de tiempo." -#: ../Doc/library/smtplib.rst:222 +#: ../Doc/library/smtplib.rst:232 msgid "Added debuglevel 2." msgstr "Se agregó el nivel de depuración 2." -#: ../Doc/library/smtplib.rst:227 +#: ../Doc/library/smtplib.rst:237 msgid "" "Send a command *cmd* to the server. The optional argument *args* is simply " "concatenated to the command, separated by a space." @@ -356,7 +366,7 @@ msgstr "" "Envíe un comando *cmd* al servidor. El argumento opcional *args* simplemente " "se concatena al comando, separado por un espacio." -#: ../Doc/library/smtplib.rst:230 +#: ../Doc/library/smtplib.rst:240 msgid "" "This returns a 2-tuple composed of a numeric response code and the actual " "response line (multiline responses are joined into one long line.)" @@ -365,7 +375,7 @@ msgstr "" "y la línea de respuesta real (las respuestas de varias líneas se unen en una " "línea larga)." -#: ../Doc/library/smtplib.rst:233 +#: ../Doc/library/smtplib.rst:243 msgid "" "In normal operation it should not be necessary to call this method " "explicitly. It is used to implement other methods and may be useful for " @@ -375,7 +385,7 @@ msgstr "" "explícitamente. Se utiliza para implementar otros métodos y puede resultar " "útil para probar extensiones privadas." -#: ../Doc/library/smtplib.rst:237 +#: ../Doc/library/smtplib.rst:247 msgid "" "If the connection to the server is lost while waiting for the reply, :exc:" "`SMTPServerDisconnected` will be raised." @@ -383,7 +393,7 @@ msgstr "" "Si se pierde la conexión con el servidor mientras se espera la respuesta, se " "activará :exc:`SMTPServerDisconnected`." -#: ../Doc/library/smtplib.rst:243 +#: ../Doc/library/smtplib.rst:253 msgid "" "Connect to a host on a given port. The defaults are to connect to the local " "host at the standard SMTP port (25). If the hostname ends with a colon " @@ -401,7 +411,7 @@ msgstr "" "un host durante la instanciación. Devuelve una tupla de 2 del código de " "respuesta y el mensaje enviado por el servidor en su respuesta de conexión." -#: ../Doc/library/smtplib.rst:251 +#: ../Doc/library/smtplib.rst:261 msgid "" "Raises an :ref:`auditing event ` ``smtplib.connect`` with " "arguments ``self``, ``host``, ``port``." @@ -409,7 +419,7 @@ msgstr "" "Genera un :ref:`evento de auditoría ` ``smtplib.connect`` con " "argumentos ``self``, ``host``, ``port``." -#: ../Doc/library/smtplib.rst:256 +#: ../Doc/library/smtplib.rst:266 msgid "" "Identify yourself to the SMTP server using ``HELO``. The hostname argument " "defaults to the fully qualified domain name of the local host. The message " @@ -421,7 +431,7 @@ msgstr "" "host local. El mensaje devuelto por el servidor se almacena como el " "atributo :attr:`helo_resp` del objeto." -#: ../Doc/library/smtplib.rst:261 +#: ../Doc/library/smtplib.rst:271 msgid "" "In normal operation it should not be necessary to call this method " "explicitly. It will be implicitly called by the :meth:`sendmail` when " @@ -431,7 +441,7 @@ msgstr "" "explícitamente. Será llamado implícitamente por :meth:`sendmail` cuando sea " "necesario." -#: ../Doc/library/smtplib.rst:267 +#: ../Doc/library/smtplib.rst:277 msgid "" "Identify yourself to an ESMTP server using ``EHLO``. The hostname argument " "defaults to the fully qualified domain name of the local host. Examine the " @@ -452,7 +462,7 @@ msgstr "" "diccionario que contiene los nombres de las extensiones de servicio SMTP que " "admite este servidor, y sus parámetros (si los hay)." -#: ../Doc/library/smtplib.rst:276 +#: ../Doc/library/smtplib.rst:286 msgid "" "Unless you wish to use :meth:`has_extn` before sending mail, it should not " "be necessary to call this method explicitly. It will be implicitly called " @@ -462,7 +472,7 @@ msgstr "" "debería ser necesario llamar a este método explícitamente. Se llamará " "implícitamente por :meth:`sendmail` cuando sea necesario." -#: ../Doc/library/smtplib.rst:282 +#: ../Doc/library/smtplib.rst:292 msgid "" "This method calls :meth:`ehlo` and/or :meth:`helo` if there has been no " "previous ``EHLO`` or ``HELO`` command this session. It tries ESMTP ``EHLO`` " @@ -472,17 +482,17 @@ msgstr "" "comando ``EHLO`` o ``HELO`` anterior en esta sesión. Primero prueba ESMTP " "``EHLO``." -#: ../Doc/library/smtplib.rst:286 ../Doc/library/smtplib.rst:316 -#: ../Doc/library/smtplib.rst:408 ../Doc/library/smtplib.rst:477 +#: ../Doc/library/smtplib.rst:296 ../Doc/library/smtplib.rst:326 +#: ../Doc/library/smtplib.rst:418 ../Doc/library/smtplib.rst:487 msgid ":exc:`SMTPHeloError`" msgstr ":exc:`SMTPHeloError`" -#: ../Doc/library/smtplib.rst:287 ../Doc/library/smtplib.rst:316 -#: ../Doc/library/smtplib.rst:408 ../Doc/library/smtplib.rst:477 +#: ../Doc/library/smtplib.rst:297 ../Doc/library/smtplib.rst:326 +#: ../Doc/library/smtplib.rst:418 ../Doc/library/smtplib.rst:487 msgid "The server didn't reply properly to the ``HELO`` greeting." msgstr "El servidor no respondió correctamente al saludo ``HELO``." -#: ../Doc/library/smtplib.rst:291 +#: ../Doc/library/smtplib.rst:301 msgid "" "Return :const:`True` if *name* is in the set of SMTP service extensions " "returned by the server, :const:`False` otherwise. Case is ignored." @@ -491,7 +501,7 @@ msgstr "" "servicio SMTP devueltas por el servidor, :const:`False` en caso contrario. " "El método es insensible a la presencia de mayúsculas en *name*." -#: ../Doc/library/smtplib.rst:297 +#: ../Doc/library/smtplib.rst:307 msgid "" "Check the validity of an address on this server using SMTP ``VRFY``. Returns " "a tuple consisting of code 250 and a full :rfc:`822` address (including " @@ -504,11 +514,11 @@ msgstr "" "lo contrario, devuelve un código de error SMTP de 400 o más y una cadena de " "error." -#: ../Doc/library/smtplib.rst:304 +#: ../Doc/library/smtplib.rst:314 msgid "Many sites disable SMTP ``VRFY`` in order to foil spammers." msgstr "Muchos sitios desactivan SMTP ``VRFY`` para frustrar a los spammers." -#: ../Doc/library/smtplib.rst:309 +#: ../Doc/library/smtplib.rst:319 msgid "" "Log in on an SMTP server that requires authentication. The arguments are the " "username and the password to authenticate with. If there has been no " @@ -522,32 +532,32 @@ msgstr "" "prueba primero ESMTP ``EHLO``. Este método regresará normalmente si la " "autenticación fue exitosa o puede generar las siguientes excepciones:" -#: ../Doc/library/smtplib.rst:319 +#: ../Doc/library/smtplib.rst:329 msgid ":exc:`SMTPAuthenticationError`" msgstr ":exc:`SMTPAuthenticationError`" -#: ../Doc/library/smtplib.rst:319 +#: ../Doc/library/smtplib.rst:329 msgid "The server didn't accept the username/password combination." msgstr "El servidor no aceptó la combinación de nombre de username/password." -#: ../Doc/library/smtplib.rst:322 ../Doc/library/smtplib.rst:411 -#: ../Doc/library/smtplib.rst:488 +#: ../Doc/library/smtplib.rst:332 ../Doc/library/smtplib.rst:421 +#: ../Doc/library/smtplib.rst:498 msgid ":exc:`SMTPNotSupportedError`" msgstr ":exc:`SMTPNotSupportedError`" -#: ../Doc/library/smtplib.rst:322 +#: ../Doc/library/smtplib.rst:332 msgid "The ``AUTH`` command is not supported by the server." msgstr "El servidor no admite el comando ``AUTH``." -#: ../Doc/library/smtplib.rst:325 +#: ../Doc/library/smtplib.rst:335 msgid ":exc:`SMTPException`" msgstr ":exc:`SMTPException`" -#: ../Doc/library/smtplib.rst:325 +#: ../Doc/library/smtplib.rst:335 msgid "No suitable authentication method was found." msgstr "No se encontró ningún método de autenticación adecuado." -#: ../Doc/library/smtplib.rst:327 +#: ../Doc/library/smtplib.rst:337 msgid "" "Each of the authentication methods supported by :mod:`smtplib` are tried in " "turn if they are advertised as supported by the server. See :meth:`auth` " @@ -559,7 +569,7 @@ msgstr "" "meth:`auth` para obtener una lista de los métodos de autenticación " "admitidos. *initial_response_ok* se pasa a :meth:`auth`." -#: ../Doc/library/smtplib.rst:332 +#: ../Doc/library/smtplib.rst:342 msgid "" "Optional keyword argument *initial_response_ok* specifies whether, for " "authentication methods that support it, an \"initial response\" as specified " @@ -571,7 +581,7 @@ msgstr "" "\"respuesta inicial\" como se especifica en :rfc:`4954` junto con el comando " "``AUTH``, en lugar de requerir un desafío/respuesta ." -#: ../Doc/library/smtplib.rst:337 +#: ../Doc/library/smtplib.rst:347 msgid "" ":exc:`SMTPNotSupportedError` may be raised, and the *initial_response_ok* " "parameter was added." @@ -579,7 +589,7 @@ msgstr "" ":exc:`SMTPNotSupportedError` se puede generar y se agregó el parámetro " "*initial_response_ok*." -#: ../Doc/library/smtplib.rst:344 +#: ../Doc/library/smtplib.rst:354 msgid "" "Issue an ``SMTP`` ``AUTH`` command for the specified authentication " "*mechanism*, and handle the challenge response via *authobject*." @@ -587,7 +597,7 @@ msgstr "" "Emita un comando ``SMTP`` ``AUTH`` para el *mechanism* de autenticación " "especificado y maneje la respuesta de desafío a través de *authobject*." -#: ../Doc/library/smtplib.rst:347 +#: ../Doc/library/smtplib.rst:357 msgid "" "*mechanism* specifies which authentication mechanism is to be used as " "argument to the ``AUTH`` command; the valid values are those listed in the " @@ -597,18 +607,18 @@ msgstr "" "argumento para el comando ``AUTH``; los valores válidos son los enumerados " "en el elemento ``auth`` de :attr:`esmtp_features`." -#: ../Doc/library/smtplib.rst:351 +#: ../Doc/library/smtplib.rst:361 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:" -#: ../Doc/library/smtplib.rst:353 +#: ../Doc/library/smtplib.rst:363 msgid "data = authobject(challenge=None)" msgstr "data = authobject(challenge=None)" -#: ../Doc/library/smtplib.rst:355 +#: ../Doc/library/smtplib.rst:365 msgid "" "If optional keyword argument *initial_response_ok* is true, ``authobject()`` " "will be called first with no argument. It can return the :rfc:`4954` " @@ -624,7 +634,7 @@ msgstr "" "será un ``bytes``. Debería devolver *data* ASCII ``str`` que serán " "codificados en base64 y enviados al servidor." -#: ../Doc/library/smtplib.rst:363 +#: ../Doc/library/smtplib.rst:373 msgid "" "If the initial response check returns ``None``, or if *initial_response_ok* " "is false, ``authobject()`` will be called to process the server's challenge " @@ -638,7 +648,7 @@ msgstr "" "será un ``bytes``. Debería devolver *data* ASCII ``str`` que serán " "codificados en base64 y enviados al servidor." -#: ../Doc/library/smtplib.rst:369 +#: ../Doc/library/smtplib.rst:379 msgid "" "The ``SMTP`` class provides ``authobjects`` for the ``CRAM-MD5``, ``PLAIN``, " "and ``LOGIN`` mechanisms; they are named ``SMTP.auth_cram_md5``, ``SMTP." @@ -652,7 +662,7 @@ msgstr "" "propiedades de ``user`` y ``password`` de la instancia ``SMTP`` se " "establezcan en los valores adecuados." -#: ../Doc/library/smtplib.rst:375 +#: ../Doc/library/smtplib.rst:385 msgid "" "User code does not normally need to call ``auth`` directly, but can instead " "call the :meth:`login` method, which will try each of the above mechanisms " @@ -666,7 +676,7 @@ msgstr "" "para facilitar la implementación de métodos de autenticación que no (o aún " "no) son compatibles directamente con :mod:`smtplib`." -#: ../Doc/library/smtplib.rst:386 +#: ../Doc/library/smtplib.rst:396 msgid "" "Put the SMTP connection in TLS (Transport Layer Security) mode. All SMTP " "commands that follow will be encrypted. You should then call :meth:`ehlo` " @@ -676,7 +686,7 @@ msgstr "" "Todos los comandos SMTP que siguen se cifrarán. Entonces deberías llamar a :" "meth:`ehlo` de nuevo." -#: ../Doc/library/smtplib.rst:390 +#: ../Doc/library/smtplib.rst:400 msgid "" "If *keyfile* and *certfile* are provided, they are used to create an :class:" "`ssl.SSLContext`." @@ -684,7 +694,7 @@ msgstr "" "Si se proporcionan *keyfile* y *certfile*, se utilizan para crear una :class:" "`ssl.SSLContext`." -#: ../Doc/library/smtplib.rst:393 +#: ../Doc/library/smtplib.rst:403 msgid "" "Optional *context* parameter is an :class:`ssl.SSLContext` object; This is " "an alternative to using a keyfile and a certfile and if specified both " @@ -695,7 +705,7 @@ msgstr "" "certificado y, si se especifica, tanto *keyfile* como *certfile* deben ser " "``None``." -#: ../Doc/library/smtplib.rst:397 +#: ../Doc/library/smtplib.rst:407 msgid "" "If there has been no previous ``EHLO`` or ``HELO`` command this session, " "this method tries ESMTP ``EHLO`` first." @@ -703,21 +713,21 @@ msgstr "" "Si no ha habido ningún comando ``EHLO`` o ``HELO`` anterior en esta sesión, " "este método intenta ESMTP ``EHLO`` primero." -#: ../Doc/library/smtplib.rst:411 +#: ../Doc/library/smtplib.rst:421 msgid "The server does not support the STARTTLS extension." msgstr "El servidor no admite la extensión STARTTLS." -#: ../Doc/library/smtplib.rst:414 +#: ../Doc/library/smtplib.rst:424 msgid ":exc:`RuntimeError`" msgstr ":exc:`RuntimeError`" -#: ../Doc/library/smtplib.rst:414 +#: ../Doc/library/smtplib.rst:424 msgid "SSL/TLS support is not available to your Python interpreter." msgstr "" "La compatibilidad con SSL/TLS no está disponible para su intérprete de " "Python." -#: ../Doc/library/smtplib.rst:419 +#: ../Doc/library/smtplib.rst:429 msgid "" "The method now supports hostname check with :attr:`SSLContext." "check_hostname` and *Server Name Indicator* (see :data:`~ssl.HAS_SNI`)." @@ -726,7 +736,7 @@ msgstr "" "`SSLContext.check_hostname` y *Server Name Indicator* (ver :data:`~ssl." "HAS_SNI`)." -#: ../Doc/library/smtplib.rst:424 +#: ../Doc/library/smtplib.rst:434 msgid "" "The error raised for lack of STARTTLS support is now the :exc:" "`SMTPNotSupportedError` subclass instead of the base :exc:`SMTPException`." @@ -735,7 +745,7 @@ msgstr "" "subclase :exc:`SMTPNotSupportedError` en lugar de la base :exc:" "`SMTPException`." -#: ../Doc/library/smtplib.rst:432 +#: ../Doc/library/smtplib.rst:442 msgid "" "Send mail. The required arguments are an :rfc:`822` from-address string, a " "list of :rfc:`822` to-address strings (a bare string will be treated as a " @@ -758,7 +768,7 @@ msgstr "" "métodos de bajo nivel como :meth:`mail`, :meth:`rcpt` y :meth:`data` para " "enviar el mensaje)." -#: ../Doc/library/smtplib.rst:443 +#: ../Doc/library/smtplib.rst:453 msgid "" "The *from_addr* and *to_addrs* parameters are used to construct the message " "envelope used by the transport agents. ``sendmail`` does not modify the " @@ -768,7 +778,7 @@ msgstr "" "del mensaje utilizado por los agentes de transporte. ``sendmail`` no " "modifica los encabezados de los mensajes de ninguna manera." -#: ../Doc/library/smtplib.rst:447 +#: ../Doc/library/smtplib.rst:457 msgid "" "*msg* may be a string containing characters in the ASCII range, or a byte " "string. A string is encoded to bytes using the ascii codec, and lone ``" @@ -780,7 +790,7 @@ msgstr "" "y los caracteres ``\\r`` y ``\\n`` solitarios se convierten en caracteres ``" "\\ r\\n``. Una cadena de bytes no se modifica." -#: ../Doc/library/smtplib.rst:452 +#: ../Doc/library/smtplib.rst:462 msgid "" "If there has been no previous ``EHLO`` or ``HELO`` command this session, " "this method tries ESMTP ``EHLO`` first. If the server does ESMTP, message " @@ -794,7 +804,7 @@ msgstr "" "la opción está en el conjunto de funciones que anuncia el servidor). Si " "``EHLO`` falla, se probará ``HELO`` y se eliminarán las opciones de ESMTP." -#: ../Doc/library/smtplib.rst:458 +#: ../Doc/library/smtplib.rst:468 msgid "" "This method will return normally if the mail is accepted for at least one " "recipient. Otherwise it will raise an exception. That is, if this method " @@ -810,7 +820,7 @@ msgstr "" "para cada destinatario rechazado. Cada entrada contiene una tupla del código " "de error SMTP y el mensaje de error adjunto enviado por el servidor." -#: ../Doc/library/smtplib.rst:465 +#: ../Doc/library/smtplib.rst:475 msgid "" "If ``SMTPUTF8`` is included in *mail_options*, and the server supports it, " "*from_addr* and *to_addrs* may contain non-ASCII characters." @@ -818,15 +828,15 @@ msgstr "" "Si se incluye ``SMTPUTF8``' en *mail_options * y el servidor lo admite, " "*from_addr* y *to_addrs* pueden contener caracteres no ASCII." -#: ../Doc/library/smtplib.rst:468 +#: ../Doc/library/smtplib.rst:478 msgid "This method may raise the following exceptions:" msgstr "Este método puede lanzar las siguientes excepciones:" -#: ../Doc/library/smtplib.rst:474 +#: ../Doc/library/smtplib.rst:484 msgid ":exc:`SMTPRecipientsRefused`" msgstr ":exc:`SMTPRecipientsRefused`" -#: ../Doc/library/smtplib.rst:471 +#: ../Doc/library/smtplib.rst:481 msgid "" "All recipients were refused. Nobody got the mail. The :attr:`recipients` " "attribute of the exception object is a dictionary with information about the " @@ -838,19 +848,19 @@ msgstr "" "información sobre los destinatarios rechazados (como el que se retorna " "cuando se aceptó al menos un destinatario)." -#: ../Doc/library/smtplib.rst:480 +#: ../Doc/library/smtplib.rst:490 msgid ":exc:`SMTPSenderRefused`" msgstr ":exc:`SMTPSenderRefused`" -#: ../Doc/library/smtplib.rst:480 +#: ../Doc/library/smtplib.rst:490 msgid "The server didn't accept the *from_addr*." msgstr "El servidor no aceptó el *from_addr*." -#: ../Doc/library/smtplib.rst:484 +#: ../Doc/library/smtplib.rst:494 msgid ":exc:`SMTPDataError`" msgstr ":exc:`SMTPDataError`" -#: ../Doc/library/smtplib.rst:483 +#: ../Doc/library/smtplib.rst:493 msgid "" "The server replied with an unexpected error code (other than a refusal of a " "recipient)." @@ -858,14 +868,14 @@ msgstr "" "El servidor respondió con un código de error inesperado (que no sea el " "rechazo de un destinatario)." -#: ../Doc/library/smtplib.rst:487 +#: ../Doc/library/smtplib.rst:497 msgid "" "``SMTPUTF8`` was given in the *mail_options* but is not supported by the " "server." msgstr "" "Se proporcionó ``SMTPUTF8`` en *mail_options* pero el servidor no lo admite." -#: ../Doc/library/smtplib.rst:490 +#: ../Doc/library/smtplib.rst:500 msgid "" "Unless otherwise noted, the connection will be open even after an exception " "is raised." @@ -873,11 +883,11 @@ msgstr "" "A menos que se indique lo contrario, la conexión estará abierta incluso " "después de que se lance una excepción." -#: ../Doc/library/smtplib.rst:493 +#: ../Doc/library/smtplib.rst:503 msgid "*msg* may be a byte string." msgstr "*msg* puede ser una cadena de bytes." -#: ../Doc/library/smtplib.rst:496 +#: ../Doc/library/smtplib.rst:506 msgid "" "``SMTPUTF8`` support added, and :exc:`SMTPNotSupportedError` may be raised " "if ``SMTPUTF8`` is specified but the server does not support it." @@ -885,7 +895,7 @@ msgstr "" "Se agregó compatibilidad con ``SMTPUTF8``, y :exc:`SMTPNotSupportedError` " "puede aparecer si se especifica ``SMTPUTF8`` pero el servidor no lo admite." -#: ../Doc/library/smtplib.rst:504 +#: ../Doc/library/smtplib.rst:514 msgid "" "This is a convenience method for calling :meth:`sendmail` with the message " "represented by an :class:`email.message.Message` object. The arguments have " @@ -897,7 +907,7 @@ msgstr "" "tienen el mismo significado que para :meth:`sendmail`, excepto que *msg* es " "un objeto ``Mensaje``." -#: ../Doc/library/smtplib.rst:509 +#: ../Doc/library/smtplib.rst:519 msgid "" "If *from_addr* is ``None`` or *to_addrs* is ``None``, ``send_message`` fills " "those arguments with addresses extracted from the headers of *msg* as " @@ -924,7 +934,7 @@ msgstr "" "`ValueError`, ya que no hay forma de detectar sin ambigüedades el conjunto " "más reciente de encabezados :mailheader:`Resent-`." -#: ../Doc/library/smtplib.rst:521 +#: ../Doc/library/smtplib.rst:531 msgid "" "``send_message`` serializes *msg* using :class:`~email.generator." "BytesGenerator` with ``\\r\\n`` as the *linesep*, and calls :meth:`sendmail` " @@ -950,11 +960,11 @@ msgstr "" "atributo :attr:`~email.policy.EmailPolicy.utf8` establecido en ``True`` y " "``SMTPUTF8`` y ``BODY=8BITMIME`` se agregan a *mail_options*." -#: ../Doc/library/smtplib.rst:535 +#: ../Doc/library/smtplib.rst:545 msgid "Support for internationalized addresses (``SMTPUTF8``)." msgstr "Soporte para direcciones internacionalizadas (``SMTPUTF8``)." -#: ../Doc/library/smtplib.rst:541 +#: ../Doc/library/smtplib.rst:551 msgid "" "Terminate the SMTP session and close the connection. Return the result of " "the SMTP ``QUIT`` command." @@ -962,7 +972,7 @@ msgstr "" "Termine la sesión SMTP y cierre la conexión. Retorna el resultado del " "comando SMTP ``QUIT``." -#: ../Doc/library/smtplib.rst:545 +#: ../Doc/library/smtplib.rst:555 msgid "" "Low-level methods corresponding to the standard SMTP/ESMTP commands " "``HELP``, ``RSET``, ``NOOP``, ``MAIL``, ``RCPT``, and ``DATA`` are also " @@ -975,11 +985,11 @@ msgstr "" "lo que no se documentan aquí. Para más detalles, consulte el código del " "módulo." -#: ../Doc/library/smtplib.rst:554 +#: ../Doc/library/smtplib.rst:564 msgid "SMTP Example" msgstr "Ejemplo SMTP" -#: ../Doc/library/smtplib.rst:556 +#: ../Doc/library/smtplib.rst:566 msgid "" "This example prompts the user for addresses needed in the message envelope " "('To' and 'From' addresses), and the message to be delivered. Note that the " @@ -995,7 +1005,7 @@ msgstr "" "los encabezados :rfc:`822` . En particular, las direcciones 'To' y 'From " "deben incluirse explícitamente en los encabezados de los mensajes. ::" -#: ../Doc/library/smtplib.rst:592 +#: ../Doc/library/smtplib.rst:602 msgid "" "In general, you will want to use the :mod:`email` package's features to " "construct an email message, which you can then send via :meth:`~smtplib.SMTP." diff --git a/library/socket.po b/library/socket.po index da3fdb33a2..948cf572a5 100644 --- a/library/socket.po +++ b/library/socket.po @@ -6,27 +6,29 @@ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to # get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" "Language-Team: python-doc-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" "Generated-By: Babel 2.8.0\n" +"X-Generator: Poedit 2.3\n" +"Last-Translator: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es_ES\n" #: ../Doc/library/socket.rst:2 msgid ":mod:`socket` --- Low-level networking interface" -msgstr "" +msgstr ":mod:`socket` --- interfaz de red de bajo nivel" #: ../Doc/library/socket.rst:7 msgid "**Source code:** :source:`Lib/socket.py`" -msgstr "" +msgstr "**Código fuente:** :source:`Lib/socket.py`" #: ../Doc/library/socket.rst:11 msgid "" @@ -34,12 +36,17 @@ msgid "" "on all modern Unix systems, Windows, MacOS, and probably additional " "platforms." msgstr "" +"Este módulo proporciona acceso a la interfaz BSD *socket*. Está disponible " +"en todos los sistemas Unix modernos, Windows, MacOS y probablemente " +"plataformas adicionales." #: ../Doc/library/socket.rst:16 msgid "" "Some behavior may be platform dependent, since calls are made to the " "operating system socket APIs." msgstr "" +"Algunos comportamientos pueden depender de la plataforma, ya que las " +"llamadas se realizan a las API de socket del sistema operativo." #: ../Doc/library/socket.rst:21 msgid "" @@ -51,32 +58,43 @@ msgid "" "operations on Python files, buffer allocation on receive operations is " "automatic, and buffer length is implicit on send operations." msgstr "" +"La interfaz de Python es una transcripción sencilla de la llamada al sistema " +"Unix y la interfaz de la biblioteca para sockets al estilo orientado a " +"objetos de Python: la función :func:`.socket` devuelve a :dfn:`socket " +"object` cuyos métodos implementan las diversas llamadas al sistema de " +"socket. Los tipos de parámetros tienen un nivel algo más alto que en la " +"interfaz C: como con :meth:`read` y :meth:`write` en las operaciones en los " +"archivos Python, la asignación del buffer en las operaciones de recepción es " +"automática y la longitud del buffer está implícita en las operaciones de " +"envío." #: ../Doc/library/socket.rst:33 msgid "Module :mod:`socketserver`" -msgstr "" +msgstr "Módulo :mod:`socketserver`" #: ../Doc/library/socket.rst:33 msgid "Classes that simplify writing network servers." -msgstr "" +msgstr "Clases que simplifican la escritura de servidores de red." #: ../Doc/library/socket.rst:35 msgid "Module :mod:`ssl`" -msgstr "" +msgstr "Módulo :mod:`ssl`" #: ../Doc/library/socket.rst:36 msgid "A TLS/SSL wrapper for socket objects." -msgstr "" +msgstr "Un contenedor TLS/SSL para objetos de socket." #: ../Doc/library/socket.rst:40 msgid "Socket families" -msgstr "" +msgstr "Familias Socket" #: ../Doc/library/socket.rst:42 msgid "" "Depending on the system and the build options, various socket families are " "supported by this module." msgstr "" +"Dependiendo del sistema y de las opciones de compilación, este módulo admite " +"varias familias de sockets." #: ../Doc/library/socket.rst:45 msgid "" @@ -84,6 +102,10 @@ msgid "" "selected based on the address family specified when the socket object was " "created. Socket addresses are represented as follows:" msgstr "" +"El formato de dirección requerido por un objeto de socket determinado se " +"selecciona automáticamente en función de la familia de direcciones " +"especificada cuando se creó el objeto de socket. Las direcciones de socket " +"se representan de la siguiente manera:" #: ../Doc/library/socket.rst:49 msgid "" @@ -101,11 +123,13 @@ msgstr "" msgid "" "Previously, :const:`AF_UNIX` socket paths were assumed to use UTF-8 encoding." msgstr "" +"Anteriormente, se suponía que las rutas de socket :const:`AF_UNIX` " +"utilizaban codificación UTF-8." -#: ../Doc/library/socket.rst:63 ../Doc/library/socket.rst:920 -#: ../Doc/library/socket.rst:962 ../Doc/library/socket.rst:1645 +#: ../Doc/library/socket.rst:63 ../Doc/library/socket.rst:965 +#: ../Doc/library/socket.rst:1007 ../Doc/library/socket.rst:1734 msgid "Writable :term:`bytes-like object` is now accepted." -msgstr "" +msgstr "Ahora se acepta la grabación :term:`bytes-like object`." #: ../Doc/library/socket.rst:68 msgid "" @@ -114,6 +138,10 @@ msgid "" "notation like ``'daring.cwi.nl'`` or an IPv4 address like " "``'100.50.200.5'``, and *port* is an integer." msgstr "" +"Un par ``(host, puerto)`` se utiliza para la familia de direcciones :const:" +"`AF_INET`, donde *host* es una cadena que representa un nombre de host en " +"notación de dominio de Internet como ``'daring.cwi.nl'`` o una dirección " +"IPv4 como ``'100.50.200.5'`` y *puerto* es un entero." #: ../Doc/library/socket.rst:73 msgid "" @@ -128,25 +156,29 @@ msgstr "" #: ../Doc/library/socket.rst:80 msgid "" "For :const:`AF_INET6` address family, a four-tuple ``(host, port, flowinfo, " -"scopeid)`` is used, where *flowinfo* and *scopeid* represent the " +"scope_id)`` is used, where *flowinfo* and *scope_id* represent the " "``sin6_flowinfo`` and ``sin6_scope_id`` members in :const:`struct " "sockaddr_in6` in C. For :mod:`socket` module methods, *flowinfo* and " -"*scopeid* can be omitted just for backward compatibility. Note, however, " -"omission of *scopeid* can cause problems in manipulating scoped IPv6 " +"*scope_id* can be omitted just for backward compatibility. Note, however, " +"omission of *scope_id* can cause problems in manipulating scoped IPv6 " "addresses." msgstr "" #: ../Doc/library/socket.rst:87 #, python-format msgid "" -"For multicast addresses (with *scopeid* meaningful) *address* may not " -"contain ``%scope`` (or ``zone id``) part. This information is superfluous " +"For multicast addresses (with *scope_id* meaningful) *address* may not " +"contain ``%scope_id`` (or ``zone id``) part. This information is superfluous " "and may be safely omitted (recommended)." msgstr "" +"Para direcciones de multidifusión (con *scopeid* significativo) *address* " +"puede no contener la parte ``%scope`` (o ``zone id``). Esta información es " +"superflua y puede omitirse de forma segura (recomendado)." #: ../Doc/library/socket.rst:92 msgid ":const:`AF_NETLINK` sockets are represented as pairs ``(pid, groups)``." msgstr "" +":const:`AF_NETLINK` sockets se representan como pares ``(pid, groups)``." #: ../Doc/library/socket.rst:94 msgid "" @@ -156,12 +188,20 @@ msgid "" "and the fields depend on the address type. The general tuple form is " "``(addr_type, v1, v2, v3 [, scope])``, where:" msgstr "" +"La compatibilidad con LINUX solo para TIPC está disponible mediante la " +"familia de direcciones :const:`AF_TIPC`. TIPC es un protocolo en red " +"abierto y no basado en IP diseñado para su uso en entornos informáticos " +"agrupados. Las direcciones se representan mediante una tupla y los campos " +"dependen del tipo de dirección. El formulario de tupla general es " +"``(addr_type, v1, v2, v3 [, scope])``, donde:" #: ../Doc/library/socket.rst:100 msgid "" "*addr_type* is one of :const:`TIPC_ADDR_NAMESEQ`, :const:`TIPC_ADDR_NAME`, " "or :const:`TIPC_ADDR_ID`." msgstr "" +"*addr_type* es uno de :const:`TIPC_ADDR_NAMESEQ`, :const:`TIPC_ADDR_NAME`, " +"o :const:`TIPC_ADDR_ID`." #: ../Doc/library/socket.rst:102 msgid "" @@ -186,6 +226,8 @@ msgid "" "If *addr_type* is :const:`TIPC_ADDR_ID`, then *v1* is the node, *v2* is the " "reference, and *v3* should be set to 0." msgstr "" +"Si *addr_type* es :const:`TIPC_ADDR_ID`, *v1* es el nodo, *v2* es la " +"referencia y *v3* debe establecerse en 0." #: ../Doc/library/socket.rst:113 msgid "" @@ -202,7 +244,15 @@ msgid "" "represent a CAN identifier (standard or extended)." msgstr "" -#: ../Doc/library/socket.rst:122 +#: ../Doc/library/socket.rst:121 +msgid "" +":const:`CAN_J1939` protocol require a tuple ``(interface, name, pgn, addr)`` " +"where additional parameters are 64-bit unsigned integer representing the ECU " +"name, a 32-bit unsigned integer representing the Parameter Group Number " +"(PGN), and an 8-bit integer representing the address." +msgstr "" + +#: ../Doc/library/socket.rst:126 msgid "" "A string or a tuple ``(id, unit)`` is used for the :const:`SYSPROTO_CONTROL` " "protocol of the :const:`PF_SYSTEM` family. The string is the name of a " @@ -210,25 +260,32 @@ msgid "" "and unit number of the kernel control are known or if a registered ID is " "used." msgstr "" +"Se utiliza una cadena o una tupla ``(id, unit)`` para el protocolo :const:" +"`SYSPROTO_CONTROL` de la familia :const:`PF_SYSTEM`. La cadena es el nombre " +"de un control de kernel mediante un IDENTIFICADOR asignado dinámicamente. La " +"tupla se puede utilizar si se conoce el ID y el número de unidad del control " +"del kernel o si se utiliza un ID registrado." -#: ../Doc/library/socket.rst:130 +#: ../Doc/library/socket.rst:134 msgid "" ":const:`AF_BLUETOOTH` supports the following protocols and address formats:" msgstr "" +":const:`AF_BLUETOOTH` admite los siguientes protocolos y formatos de " +"dirección:" -#: ../Doc/library/socket.rst:133 +#: ../Doc/library/socket.rst:137 msgid "" ":const:`BTPROTO_L2CAP` accepts ``(bdaddr, psm)`` where ``bdaddr`` is the " "Bluetooth address as a string and ``psm`` is an integer." msgstr "" -#: ../Doc/library/socket.rst:136 +#: ../Doc/library/socket.rst:140 msgid "" ":const:`BTPROTO_RFCOMM` accepts ``(bdaddr, channel)`` where ``bdaddr`` is " "the Bluetooth address as a string and ``channel`` is an integer." msgstr "" -#: ../Doc/library/socket.rst:139 +#: ../Doc/library/socket.rst:143 msgid "" ":const:`BTPROTO_HCI` accepts ``(device_id,)`` where ``device_id`` is either " "an integer or a string with the Bluetooth address of the interface. (This " @@ -236,112 +293,139 @@ msgid "" "everything else expects an integer.)" msgstr "" -#: ../Doc/library/socket.rst:144 +#: ../Doc/library/socket.rst:148 msgid "NetBSD and DragonFlyBSD support added." -msgstr "" +msgstr "Se ha añadido compatibilidad con NetBSD y DragonFlyBSD." -#: ../Doc/library/socket.rst:147 +#: ../Doc/library/socket.rst:151 msgid "" ":const:`BTPROTO_SCO` accepts ``bdaddr`` where ``bdaddr`` is a :class:`bytes` " "object containing the Bluetooth address in a string format. (ex. " "``b'12:23:34:45:56:67'``) This protocol is not supported under FreeBSD." msgstr "" -#: ../Doc/library/socket.rst:152 +#: ../Doc/library/socket.rst:156 msgid "" ":const:`AF_ALG` is a Linux-only socket based interface to Kernel " "cryptography. An algorithm socket is configured with a tuple of two to four " "elements ``(type, name [, feat [, mask]])``, where:" msgstr "" +":const:`AF_ALG` es una interfaz basada en socket sólo Linux para la " +"criptografía del núcleo. Un socket de algoritmo se configura con una tupla " +"de dos a cuatro elementos ``(type, name [, feat [, mask]])``, donde:" -#: ../Doc/library/socket.rst:156 +#: ../Doc/library/socket.rst:160 msgid "" "*type* is the algorithm type as string, e.g. ``aead``, ``hash``, " "``skcipher`` or ``rng``." msgstr "" -#: ../Doc/library/socket.rst:159 +#: ../Doc/library/socket.rst:163 msgid "" "*name* is the algorithm name and operation mode as string, e.g. ``sha256``, " "``hmac(sha256)``, ``cbc(aes)`` or ``drbg_nopr_ctr_aes256``." msgstr "" -#: ../Doc/library/socket.rst:162 +#: ../Doc/library/socket.rst:166 msgid "*feat* and *mask* are unsigned 32bit integers." -msgstr "" +msgstr "*feat* y *mask* son enteros de 32 bits sin signo." -#: ../Doc/library/socket.rst:168 +#: ../Doc/library/socket.rst:172 msgid "" ":const:`AF_VSOCK` allows communication between virtual machines and their " "hosts. The sockets are represented as a ``(CID, port)`` tuple where the " "context ID or CID and port are integers." msgstr "" -#: ../Doc/library/socket.rst:176 +#: ../Doc/library/socket.rst:180 msgid "" ":const:`AF_PACKET` is a low-level interface directly to network devices. The " "packets are represented by the tuple ``(ifname, proto[, pkttype[, hatype[, " "addr]]])`` where:" msgstr "" -#: ../Doc/library/socket.rst:180 +#: ../Doc/library/socket.rst:184 msgid "*ifname* - String specifying the device name." -msgstr "" +msgstr "*ifname* - Cadena que especifica el nombre del dispositivo." -#: ../Doc/library/socket.rst:181 +#: ../Doc/library/socket.rst:185 msgid "" "*proto* - An in network-byte-order integer specifying the Ethernet protocol " "number." msgstr "" +"*proto* - Un entero en orden de byte de red que especifica el número de " +"protocolo Ethernet." -#: ../Doc/library/socket.rst:183 +#: ../Doc/library/socket.rst:187 msgid "*pkttype* - Optional integer specifying the packet type:" msgstr "" -#: ../Doc/library/socket.rst:185 +#: ../Doc/library/socket.rst:189 msgid "``PACKET_HOST`` (the default) - Packet addressed to the local host." msgstr "" -#: ../Doc/library/socket.rst:186 +#: ../Doc/library/socket.rst:190 msgid "``PACKET_BROADCAST`` - Physical-layer broadcast packet." msgstr "" -#: ../Doc/library/socket.rst:187 +#: ../Doc/library/socket.rst:191 msgid "" "``PACKET_MULTIHOST`` - Packet sent to a physical-layer multicast address." msgstr "" -#: ../Doc/library/socket.rst:188 +#: ../Doc/library/socket.rst:192 msgid "" "``PACKET_OTHERHOST`` - Packet to some other host that has been caught by a " "device driver in promiscuous mode." msgstr "" -#: ../Doc/library/socket.rst:190 +#: ../Doc/library/socket.rst:194 msgid "" "``PACKET_OUTGOING`` - Packet originating from the local host that is looped " "back to a packet socket." msgstr "" -#: ../Doc/library/socket.rst:192 +#: ../Doc/library/socket.rst:196 msgid "*hatype* - Optional integer specifying the ARP hardware address type." msgstr "" -#: ../Doc/library/socket.rst:193 +#: ../Doc/library/socket.rst:197 msgid "" "*addr* - Optional bytes-like object specifying the hardware physical " "address, whose interpretation depends on the device." msgstr "" -#: ../Doc/library/socket.rst:196 +#: ../Doc/library/socket.rst:200 msgid "" ":const:`AF_QIPCRTR` is a Linux-only socket based interface for communicating " "with services running on co-processors in Qualcomm platforms. The address " "family is represented as a ``(node, port)`` tuple where the *node* and " "*port* are non-negative integers." msgstr "" +":const:`AF_QIPCRTR` es una interfaz basada en sockets solo para Linux para " +"comunicarse con servicios que se ejecutan en co-procesadores en plataformas " +"Qualcomm. La familia de direcciones se representa como una tupla ``(node, " +"port)`` donde el *node* y *port* son enteros no negativos." + +#: ../Doc/library/socket.rst:207 +msgid "" +":const:`IPPROTO_UDPLITE` is a variant of UDP which allows you to specify " +"what portion of a packet is covered with the checksum. It adds two socket " +"options that you can change. ``self.setsockopt(IPPROTO_UDPLITE, " +"UDPLITE_SEND_CSCOV, length)`` will change what portion of outgoing packets " +"are covered by the checksum and ``self.setsockopt(IPPROTO_UDPLITE, " +"UDPLITE_RECV_CSCOV, length)`` will filter out packets which cover too little " +"of their data. In both cases ``length`` should be in ``range(8, 2**16, 8)``." +msgstr "" + +#: ../Doc/library/socket.rst:216 +msgid "" +"Such a socket should be constructed with ``socket(AF_INET, SOCK_DGRAM, " +"IPPROTO_UDPLITE)`` for IPv4 or ``socket(AF_INET6, SOCK_DGRAM, " +"IPPROTO_UDPLITE)`` for IPv6." +msgstr "" -#: ../Doc/library/socket.rst:203 +#: ../Doc/library/socket.rst:224 msgid "" "If you use a hostname in the *host* portion of IPv4/v6 socket address, the " "program may show a nondeterministic behavior, as Python uses the first " @@ -350,43 +434,58 @@ msgid "" "results from DNS resolution and/or the host configuration. For " "deterministic behavior use a numeric address in *host* portion." msgstr "" +"Si utiliza un nombre de host en la parte *host* de la dirección de socket " +"IPv4/v6, el programa puede mostrar un comportamiento no determinista, ya que " +"Python utiliza la primera dirección devuelta por la resolución DNS. La " +"dirección del socket se resolverá de manera diferente en una dirección IPv4/" +"v6 real, dependiendo de los resultados de la resolución DNS y/o la " +"configuración del host. Para un comportamiento determinista, utilice una " +"dirección numérica en la parte *host*." -#: ../Doc/library/socket.rst:210 +#: ../Doc/library/socket.rst:231 msgid "" "All errors raise exceptions. The normal exceptions for invalid argument " "types and out-of-memory conditions can be raised; starting from Python 3.3, " "errors related to socket or address semantics raise :exc:`OSError` or one of " "its subclasses (they used to raise :exc:`socket.error`)." msgstr "" +"Todos los errores generan excepciones. Se pueden generar las excepciones " +"normales para los tipos de argumento no válidos y las condiciones de memoria " +"insuficiente; a partir de Python 3.3, los errores relacionados con la " +"semántica de socket o direcciones generan :exc:`OSError` o una de sus " +"subclases (solían generar :exc:`socket.error`)." -#: ../Doc/library/socket.rst:215 +#: ../Doc/library/socket.rst:236 msgid "" "Non-blocking mode is supported through :meth:`~socket.setblocking`. A " "generalization of this based on timeouts is supported through :meth:`~socket." "settimeout`." msgstr "" +"El modo de no bloqueo es compatible a través de :meth:`~socket." +"setblocking`. Se admite una generalización de esto basada en los tiempos de " +"espera a través de :meth:`~socket.settimeout`." -#: ../Doc/library/socket.rst:221 +#: ../Doc/library/socket.rst:242 msgid "Module contents" -msgstr "" +msgstr "Contenido del módulo" -#: ../Doc/library/socket.rst:223 +#: ../Doc/library/socket.rst:244 msgid "The module :mod:`socket` exports the following elements." -msgstr "" +msgstr "El módulo :mod:`socket` exporta los siguientes elementos." -#: ../Doc/library/socket.rst:227 +#: ../Doc/library/socket.rst:248 msgid "Exceptions" -msgstr "" +msgstr "Excepciones" -#: ../Doc/library/socket.rst:231 +#: ../Doc/library/socket.rst:252 msgid "A deprecated alias of :exc:`OSError`." -msgstr "" +msgstr "Un alias en desuso de :exc:`OSError`." -#: ../Doc/library/socket.rst:233 +#: ../Doc/library/socket.rst:254 msgid "Following :pep:`3151`, this class was made an alias of :exc:`OSError`." msgstr "" -#: ../Doc/library/socket.rst:239 +#: ../Doc/library/socket.rst:260 msgid "" "A subclass of :exc:`OSError`, this exception is raised for address-related " "errors, i.e. for functions that use *h_errno* in the POSIX C API, including :" @@ -395,13 +494,20 @@ msgid "" "call. *h_errno* is a numeric value, while *string* represents the " "description of *h_errno*, as returned by the :c:func:`hstrerror` C function." msgstr "" +"Una subclase de :exc:`OSError`, esta excepción se produce para los errores " +"relacionados con la dirección, es decir, para las funciones que utilizan " +"*h_errno* en la API de POSIX C, incluidas :func:`gethostbyname_ex` y :func:" +"`gethostbyaddr`. El valor adjunto es un par ``(h_errno, string)`` que " +"representa un error devuelto por una llamada a la biblioteca. *h_errno* es " +"un valor numérico, mientras que *string* representa la descripción de " +"*h_errno*, devuelta por la función :c:func:`hstrerror` C." -#: ../Doc/library/socket.rst:247 ../Doc/library/socket.rst:260 -#: ../Doc/library/socket.rst:271 +#: ../Doc/library/socket.rst:268 ../Doc/library/socket.rst:281 +#: ../Doc/library/socket.rst:292 msgid "This class was made a subclass of :exc:`OSError`." msgstr "" -#: ../Doc/library/socket.rst:252 +#: ../Doc/library/socket.rst:273 msgid "" "A subclass of :exc:`OSError`, this exception is raised for address-related " "errors by :func:`getaddrinfo` and :func:`getnameinfo`. The accompanying " @@ -411,7 +517,7 @@ msgid "" "match one of the :const:`EAI_\\*` constants defined in this module." msgstr "" -#: ../Doc/library/socket.rst:265 +#: ../Doc/library/socket.rst:286 msgid "" "A subclass of :exc:`OSError`, this exception is raised when a timeout occurs " "on a socket which has had timeouts enabled via a prior call to :meth:" @@ -420,17 +526,17 @@ msgid "" "currently always \"timed out\"." msgstr "" -#: ../Doc/library/socket.rst:276 +#: ../Doc/library/socket.rst:297 msgid "Constants" -msgstr "" +msgstr "Constantes" -#: ../Doc/library/socket.rst:278 +#: ../Doc/library/socket.rst:299 msgid "" "The AF_* and SOCK_* constants are now :class:`AddressFamily` and :class:" "`SocketKind` :class:`.IntEnum` collections." msgstr "" -#: ../Doc/library/socket.rst:287 +#: ../Doc/library/socket.rst:308 msgid "" "These constants represent the address (and protocol) families, used for the " "first argument to :func:`.socket`. If the :const:`AF_UNIX` constant is not " @@ -438,7 +544,7 @@ msgid "" "depending on the system." msgstr "" -#: ../Doc/library/socket.rst:299 +#: ../Doc/library/socket.rst:320 msgid "" "These constants represent the socket types, used for the second argument to :" "func:`.socket`. More constants may be available depending on the system. " @@ -446,24 +552,27 @@ msgid "" "useful.)" msgstr "" -#: ../Doc/library/socket.rst:307 +#: ../Doc/library/socket.rst:328 msgid "" "These two constants, if defined, can be combined with the socket types and " "allow you to set some flags atomically (thus avoiding possible race " "conditions and the need for separate calls)." msgstr "" +"Estas dos constantes, si se definen, se pueden combinar con los tipos de " +"socket y le permiten establecer algunas banderas atómicamente (evitando así " +"posibles condiciones de carrera y la necesidad de llamadas separadas)." -#: ../Doc/library/socket.rst:313 +#: ../Doc/library/socket.rst:334 msgid "" "`Secure File Descriptor Handling `_ for a more thorough explanation." msgstr "" -#: ../Doc/library/socket.rst:317 +#: ../Doc/library/socket.rst:338 msgid ":ref:`Availability `: Linux >= 2.6.27." msgstr "" -#: ../Doc/library/socket.rst:335 +#: ../Doc/library/socket.rst:356 msgid "" "Many constants of these forms, documented in the Unix documentation on " "sockets and/or the IP protocol, are also defined in the socket module. They " @@ -472,162 +581,199 @@ msgid "" "that are defined in the Unix header files are defined; for a few symbols, " "default values are provided." msgstr "" +"Muchas constantes de estos formularios, documentadas en la documentación de " +"Unix en sockets y/o el protocolo IP, también se definen en el módulo de " +"socket. Generalmente se utilizan en argumentos de los métodos :meth:" +"`setsockopt` y :meth:`getsockopt` de objetos socket. En la mayoría de los " +"casos, solo se definen los símbolos definidos en los archivos de encabezado " +"Unix; para algunos símbolos, se proporcionan valores predeterminados." -#: ../Doc/library/socket.rst:342 +#: ../Doc/library/socket.rst:363 msgid "" "``SO_DOMAIN``, ``SO_PROTOCOL``, ``SO_PEERSEC``, ``SO_PASSSEC``, " "``TCP_USER_TIMEOUT``, ``TCP_CONGESTION`` were added." msgstr "" -#: ../Doc/library/socket.rst:346 +#: ../Doc/library/socket.rst:367 msgid "" "On Windows, ``TCP_FASTOPEN``, ``TCP_KEEPCNT`` appear if run-time Windows " "supports." msgstr "" -#: ../Doc/library/socket.rst:350 +#: ../Doc/library/socket.rst:371 msgid "``TCP_NOTSENT_LOWAT`` was added." msgstr "" -#: ../Doc/library/socket.rst:353 +#: ../Doc/library/socket.rst:374 msgid "" "On Windows, ``TCP_KEEPIDLE``, ``TCP_KEEPINTVL`` appear if run-time Windows " "supports." msgstr "" -#: ../Doc/library/socket.rst:361 ../Doc/library/socket.rst:408 -#: ../Doc/library/socket.rst:419 +#: ../Doc/library/socket.rst:382 ../Doc/library/socket.rst:449 +#: ../Doc/library/socket.rst:460 msgid "" "Many constants of these forms, documented in the Linux documentation, are " "also defined in the socket module." msgstr "" +"Muchas constantes de estos formularios, documentadas en la documentación de " +"Linux, también se definen en el módulo de socket." -#: ../Doc/library/socket.rst:365 ../Doc/library/socket.rst:376 -#: ../Doc/library/socket.rst:400 +#: ../Doc/library/socket.rst:386 ../Doc/library/socket.rst:397 +#: ../Doc/library/socket.rst:432 msgid ":ref:`Availability `: Linux >= 2.6.25." msgstr "" -#: ../Doc/library/socket.rst:371 +#: ../Doc/library/socket.rst:392 msgid "" "CAN_BCM, in the CAN protocol family, is the broadcast manager (BCM) " "protocol. Broadcast manager constants, documented in the Linux " "documentation, are also defined in the socket module." msgstr "" -#: ../Doc/library/socket.rst:378 +#: ../Doc/library/socket.rst:399 msgid "" "The :data:`CAN_BCM_CAN_FD_FRAME` flag is only available on Linux >= 4.8." msgstr "" -#: ../Doc/library/socket.rst:384 +#: ../Doc/library/socket.rst:405 msgid "" "Enables CAN FD support in a CAN_RAW socket. This is disabled by default. " "This allows your application to send both CAN and CAN FD frames; however, " "you must accept both CAN and CAN FD frames when reading from the socket." msgstr "" +"Habilita la compatibilidad con CAN FD en un socket CAN_RAW. Esta opción está " +"deshabilitada de forma predeterminada. Esto permite que la aplicación envíe " +"tramas CAN y CAN FD; sin embargo, debe aceptar las tramas CAN y CAN FD al " +"leer desde el socket." -#: ../Doc/library/socket.rst:388 +#: ../Doc/library/socket.rst:409 ../Doc/library/socket.rst:420 msgid "This constant is documented in the Linux documentation." -msgstr "" +msgstr "Esta constante se documenta en la documentación de Linux." -#: ../Doc/library/socket.rst:391 +#: ../Doc/library/socket.rst:412 msgid ":ref:`Availability `: Linux >= 3.6." msgstr "" -#: ../Doc/library/socket.rst:396 +#: ../Doc/library/socket.rst:417 +msgid "" +"Joins the applied CAN filters such that only CAN frames that match all given " +"CAN filters are passed to user space." +msgstr "" + +#: ../Doc/library/socket.rst:423 +msgid ":ref:`Availability `: Linux >= 4.1." +msgstr "" + +#: ../Doc/library/socket.rst:428 msgid "" "CAN_ISOTP, in the CAN protocol family, is the ISO-TP (ISO 15765-2) protocol. " "ISO-TP constants, documented in the Linux documentation." msgstr "" -#: ../Doc/library/socket.rst:411 +#: ../Doc/library/socket.rst:437 +msgid "" +"CAN_J1939, in the CAN protocol family, is the SAE J1939 protocol. J1939 " +"constants, documented in the Linux documentation." +msgstr "" + +#: ../Doc/library/socket.rst:441 +msgid ":ref:`Availability `: Linux >= 5.4." +msgstr "" + +#: ../Doc/library/socket.rst:452 msgid ":ref:`Availability `: Linux >= 2.2." msgstr "" -#: ../Doc/library/socket.rst:423 +#: ../Doc/library/socket.rst:464 msgid ":ref:`Availability `: Linux >= 2.6.30." msgstr "" -#: ../Doc/library/socket.rst:432 +#: ../Doc/library/socket.rst:473 msgid "" "Constants for Windows' WSAIoctl(). The constants are used as arguments to " "the :meth:`~socket.socket.ioctl` method of socket objects." msgstr "" -#: ../Doc/library/socket.rst:435 ../Doc/library/socket.rst:1269 +#: ../Doc/library/socket.rst:476 ../Doc/library/socket.rst:1333 msgid "``SIO_LOOPBACK_FAST_PATH`` was added." msgstr "" -#: ../Doc/library/socket.rst:441 +#: ../Doc/library/socket.rst:482 msgid "" "TIPC related constants, matching the ones exported by the C socket API. See " "the TIPC documentation for more information." msgstr "" +"LAS constantes relacionadas con TIPC, que coinciden con las exportadas por " +"la API de socket de C. Consulte la documentación de TIPC para obtener más " +"información." -#: ../Doc/library/socket.rst:448 +#: ../Doc/library/socket.rst:489 msgid "Constants for Linux Kernel cryptography." msgstr "" -#: ../Doc/library/socket.rst:451 ../Doc/library/socket.rst:1569 +#: ../Doc/library/socket.rst:492 ../Doc/library/socket.rst:1633 msgid ":ref:`Availability `: Linux >= 2.6.38." msgstr "" -#: ../Doc/library/socket.rst:460 +#: ../Doc/library/socket.rst:501 msgid "Constants for Linux host/guest communication." -msgstr "" +msgstr "Constantes para la comunicación host/invitado de Linux." -#: ../Doc/library/socket.rst:463 +#: ../Doc/library/socket.rst:504 msgid ":ref:`Availability `: Linux >= 4.8." msgstr "" -#: ../Doc/library/socket.rst:469 +#: ../Doc/library/socket.rst:510 msgid ":ref:`Availability `: BSD, OSX." msgstr "" -#: ../Doc/library/socket.rst:474 +#: ../Doc/library/socket.rst:515 msgid "" "This constant contains a boolean value which indicates if IPv6 is supported " "on this platform." msgstr "" +"Esta constante contiene un valor booleano que indica si IPv6 se admite en " +"esta plataforma." -#: ../Doc/library/socket.rst:480 +#: ../Doc/library/socket.rst:521 msgid "" "These are string constants containing Bluetooth addresses with special " "meanings. For example, :const:`BDADDR_ANY` can be used to indicate any " "address when specifying the binding socket with :const:`BTPROTO_RFCOMM`." msgstr "" -#: ../Doc/library/socket.rst:489 +#: ../Doc/library/socket.rst:530 msgid "" "For use with :const:`BTPROTO_HCI`. :const:`HCI_FILTER` is not available for " "NetBSD or DragonFlyBSD. :const:`HCI_TIME_STAMP` and :const:`HCI_DATA_DIR` " "are not available for FreeBSD, NetBSD, or DragonFlyBSD." msgstr "" -#: ../Doc/library/socket.rst:496 +#: ../Doc/library/socket.rst:537 msgid "" "Constant for Qualcomm's IPC router protocol, used to communicate with " "service providing remote processors." msgstr "" -#: ../Doc/library/socket.rst:499 +#: ../Doc/library/socket.rst:540 msgid ":ref:`Availability `: Linux >= 4.7." msgstr "" -#: ../Doc/library/socket.rst:502 +#: ../Doc/library/socket.rst:543 msgid "Functions" -msgstr "" +msgstr "Funciones" -#: ../Doc/library/socket.rst:505 +#: ../Doc/library/socket.rst:546 msgid "Creating sockets" -msgstr "" +msgstr "Creación de sockets" -#: ../Doc/library/socket.rst:507 +#: ../Doc/library/socket.rst:548 msgid "" "The following functions all create :ref:`socket objects `." msgstr "" -#: ../Doc/library/socket.rst:512 +#: ../Doc/library/socket.rst:553 msgid "" "Create a new socket using the given address family, socket type and protocol " "number. The address family should be :const:`AF_INET` (the default), :const:" @@ -636,10 +782,11 @@ msgid "" "const:`SOCK_DGRAM`, :const:`SOCK_RAW` or perhaps one of the other ``SOCK_`` " "constants. The protocol number is usually zero and may be omitted or in the " "case where the address family is :const:`AF_CAN` the protocol should be one " -"of :const:`CAN_RAW`, :const:`CAN_BCM` or :const:`CAN_ISOTP`." +"of :const:`CAN_RAW`, :const:`CAN_BCM`, :const:`CAN_ISOTP` or :const:" +"`CAN_J1939`." msgstr "" -#: ../Doc/library/socket.rst:521 +#: ../Doc/library/socket.rst:563 msgid "" "If *fileno* is specified, the values for *family*, *type*, and *proto* are " "auto-detected from the specified file descriptor. Auto-detection can be " @@ -650,47 +797,51 @@ msgid "" "This may help close a detached socket using :meth:`socket.close()`." msgstr "" -#: ../Doc/library/socket.rst:530 ../Doc/library/socket.rst:661 -#: ../Doc/library/socket.rst:1099 ../Doc/library/socket.rst:1186 +#: ../Doc/library/socket.rst:572 ../Doc/library/socket.rst:706 +#: ../Doc/library/socket.rst:1163 ../Doc/library/socket.rst:1250 msgid "The newly created socket is :ref:`non-inheritable `." msgstr "" -#: ../Doc/library/socket.rst:533 +#: ../Doc/library/socket.rst:574 msgid "" "Raises an :ref:`auditing event ` ``socket.__new__`` with arguments " "``self``, ``family``, ``type``, ``protocol``." msgstr "" -#: ../Doc/library/socket.rst:534 +#: ../Doc/library/socket.rst:576 msgid "The AF_CAN family was added. The AF_RDS family was added." -msgstr "" +msgstr "Se añadió la familia AF_CAN. Se añadió la familia AF_RDS." -#: ../Doc/library/socket.rst:538 +#: ../Doc/library/socket.rst:580 msgid "The CAN_BCM protocol was added." msgstr "" -#: ../Doc/library/socket.rst:541 ../Doc/library/socket.rst:663 +#: ../Doc/library/socket.rst:583 ../Doc/library/socket.rst:708 msgid "The returned socket is now non-inheritable." -msgstr "" +msgstr "Los sockets devueltos ahora no son heredables." -#: ../Doc/library/socket.rst:544 +#: ../Doc/library/socket.rst:586 msgid "The CAN_ISOTP protocol was added." msgstr "" -#: ../Doc/library/socket.rst:547 +#: ../Doc/library/socket.rst:589 msgid "" "When :const:`SOCK_NONBLOCK` or :const:`SOCK_CLOEXEC` bit flags are applied " "to *type* they are cleared, and :attr:`socket.type` will not reflect them. " "They are still passed to the underlying system `socket()` call. Therefore," msgstr "" -#: ../Doc/library/socket.rst:559 +#: ../Doc/library/socket.rst:601 msgid "" "will still create a non-blocking socket on OSes that support " "``SOCK_NONBLOCK``, but ``sock.type`` will be set to ``socket.SOCK_STREAM``." msgstr "" -#: ../Doc/library/socket.rst:565 +#: ../Doc/library/socket.rst:605 +msgid "The CAN_J1939 protocol was added." +msgstr "" + +#: ../Doc/library/socket.rst:610 msgid "" "Build a pair of connected socket objects using the given address family, " "socket type, and protocol number. Address family, socket type, and protocol " @@ -698,26 +849,34 @@ msgid "" "const:`AF_UNIX` if defined on the platform; otherwise, the default is :const:" "`AF_INET`." msgstr "" +"Cree un par de objetos de socket conectados utilizando la familia de " +"direcciones, el tipo de socket y el número de protocolo especificados. La " +"familia de direcciones, el tipo de socket y el número de protocolo son los " +"siguientes para la función :func:`.socket` anterior. La familia " +"predeterminada es :const:`AF_UNIX` si se define en la plataforma; de lo " +"contrario, el valor predeterminado es :const:`AF_INET`." -#: ../Doc/library/socket.rst:570 +#: ../Doc/library/socket.rst:615 msgid "The newly created sockets are :ref:`non-inheritable `." msgstr "" -#: ../Doc/library/socket.rst:572 +#: ../Doc/library/socket.rst:617 msgid "" "The returned socket objects now support the whole socket API, rather than a " "subset." msgstr "" +"Los objetos de socket devueltos ahora admiten toda la API de socket, en " +"lugar de un subconjunto." -#: ../Doc/library/socket.rst:576 +#: ../Doc/library/socket.rst:621 msgid "The returned sockets are now non-inheritable." -msgstr "" +msgstr "Los sockets devueltos ahora no son heredables." -#: ../Doc/library/socket.rst:579 +#: ../Doc/library/socket.rst:624 msgid "Windows support added." -msgstr "" +msgstr "Se ha agregado compatibilidad con Windows." -#: ../Doc/library/socket.rst:585 +#: ../Doc/library/socket.rst:630 msgid "" "Connect to a TCP service listening on the Internet *address* (a 2-tuple " "``(host, port)``), and return the socket object. This is a higher-level " @@ -728,31 +887,33 @@ msgid "" "IPv4 and IPv6." msgstr "" -#: ../Doc/library/socket.rst:593 +#: ../Doc/library/socket.rst:638 msgid "" "Passing the optional *timeout* parameter will set the timeout on the socket " "instance before attempting to connect. If no *timeout* is supplied, the " "global default timeout setting returned by :func:`getdefaulttimeout` is used." msgstr "" -#: ../Doc/library/socket.rst:598 +#: ../Doc/library/socket.rst:643 msgid "" "If supplied, *source_address* must be a 2-tuple ``(host, port)`` for the " "socket to bind to as its source address before connecting. If host or port " "are '' or 0 respectively the OS default behavior will be used." msgstr "" -#: ../Doc/library/socket.rst:602 +#: ../Doc/library/socket.rst:647 msgid "*source_address* was added." msgstr "" -#: ../Doc/library/socket.rst:607 +#: ../Doc/library/socket.rst:652 msgid "" "Convenience function which creates a TCP socket bound to *address* (a 2-" "tuple ``(host, port)``) and return the socket object." msgstr "" +"Función de conveniencia que crea un socket TCP enlazado a *address* (una " +"tupla de 2 ``(host, puerto)``) y devuelve el objeto de socket." -#: ../Doc/library/socket.rst:610 +#: ../Doc/library/socket.rst:655 msgid "" "*family* should be either :data:`AF_INET` or :data:`AF_INET6`. *backlog* is " "the queue size passed to :meth:`socket.listen`; when ``0`` a default " @@ -760,7 +921,7 @@ msgid "" "`SO_REUSEPORT` socket option." msgstr "" -#: ../Doc/library/socket.rst:615 +#: ../Doc/library/socket.rst:660 msgid "" "If *dualstack_ipv6* is true and the platform supports it the socket will be " "able to accept both IPv4 and IPv6 connections, else it will raise :exc:" @@ -772,21 +933,33 @@ msgid "" "it by default (e.g. Linux). This parameter can be used in conjunction with :" "func:`has_dualstack_ipv6`:" msgstr "" +"Si *dualstack_ipv6* es true y la plataforma lo admite el socket podrá " +"aceptar conexiones IPv4 e IPv6, de lo contrario generará :exc:`ValueError`. " +"Se supone que la mayoría de las plataformas POSIX y Windows admiten esta " +"funcionalidad. Cuando esta funcionalidad está habilitada, la dirección " +"devuelta por :meth:`socket.getpeername` cuando se produce una conexión IPv4 " +"será una dirección IPv6 representada como una dirección IPv4 asignada6. Si " +"*dualstack_ipv6* es false, deshabilitará explícitamente esta funcionalidad " +"en las plataformas que la habilitan de forma predeterminada (por ejemplo, " +"Linux). Este parámetro se puede utilizar junto con :func:" +"`has_dualstack_ipv6`:" -#: ../Doc/library/socket.rst:637 +#: ../Doc/library/socket.rst:682 msgid "" "On POSIX platforms the :data:`SO_REUSEADDR` socket option is set in order to " "immediately reuse previous sockets which were bound on the same *address* " "and remained in TIME_WAIT state." msgstr "" -#: ../Doc/library/socket.rst:645 +#: ../Doc/library/socket.rst:690 msgid "" "Return ``True`` if the platform supports creating a TCP socket which can " "handle both IPv4 and IPv6 connections." msgstr "" +"Devuelve ``True`` si la plataforma admite la creación de un socket TCP que " +"pueda manejar conexiones IPv4 e IPv6." -#: ../Doc/library/socket.rst:652 +#: ../Doc/library/socket.rst:697 msgid "" "Duplicate the file descriptor *fd* (an integer as returned by a file " "object's :meth:`fileno` method) and build a socket object from the result. " @@ -799,38 +972,43 @@ msgid "" "socket is assumed to be in blocking mode." msgstr "" -#: ../Doc/library/socket.rst:669 +#: ../Doc/library/socket.rst:714 msgid "" "Instantiate a socket from data obtained from the :meth:`socket.share` " "method. The socket is assumed to be in blocking mode." msgstr "" +"Cree una instancia de un socket a partir de los datos obtenidos del método :" +"meth:`socket.share`. Se supone que el socket está en modo de bloqueo." -#: ../Doc/library/socket.rst:673 ../Doc/library/socket.rst:1670 +#: ../Doc/library/socket.rst:718 ../Doc/library/socket.rst:1759 msgid ":ref:`Availability `: Windows." msgstr "" -#: ../Doc/library/socket.rst:679 +#: ../Doc/library/socket.rst:724 msgid "" "This is a Python type object that represents the socket object type. It is " "the same as ``type(socket(...))``." msgstr "" -#: ../Doc/library/socket.rst:684 +#: ../Doc/library/socket.rst:729 msgid "Other functions" -msgstr "" +msgstr "Otras funciones" -#: ../Doc/library/socket.rst:686 +#: ../Doc/library/socket.rst:731 msgid "The :mod:`socket` module also offers various network-related services:" msgstr "" -#: ../Doc/library/socket.rst:691 +#: ../Doc/library/socket.rst:736 msgid "" "Close a socket file descriptor. This is like :func:`os.close`, but for " "sockets. On some platforms (most noticeable Windows) :func:`os.close` does " "not work for socket file descriptors." msgstr "" +"Cierre un descriptor de archivo de socket. Esto es como :func:`os.close`, " +"pero para sockets. En algunas plataformas (la mayoría notable de Windows) :" +"func:`os.close` no funciona para descriptores de archivos de socket." -#: ../Doc/library/socket.rst:699 +#: ../Doc/library/socket.rst:744 msgid "" "Translate the *host*/*port* argument into a sequence of 5-tuples that " "contain all the necessary arguments for creating a socket connected to that " @@ -840,7 +1018,7 @@ msgid "" "and *port*, you can pass ``NULL`` to the underlying C API." msgstr "" -#: ../Doc/library/socket.rst:706 +#: ../Doc/library/socket.rst:751 msgid "" "The *family*, *type* and *proto* arguments can be optionally specified in " "order to narrow the list of addresses returned. Passing zero as a value for " @@ -851,15 +1029,15 @@ msgid "" "domain name." msgstr "" -#: ../Doc/library/socket.rst:714 +#: ../Doc/library/socket.rst:759 msgid "The function returns a list of 5-tuples with the following structure:" -msgstr "" +msgstr "La función devuelve una lista de 5 tuplas con la siguiente estructura:" -#: ../Doc/library/socket.rst:716 +#: ../Doc/library/socket.rst:761 msgid "``(family, type, proto, canonname, sockaddr)``" msgstr "" -#: ../Doc/library/socket.rst:718 +#: ../Doc/library/socket.rst:763 msgid "" "In these tuples, *family*, *type*, *proto* are all integers and are meant to " "be passed to the :func:`.socket` function. *canonname* will be a string " @@ -867,35 +1045,39 @@ msgid "" "part of the *flags* argument; else *canonname* will be empty. *sockaddr* is " "a tuple describing a socket address, whose format depends on the returned " "*family* (a ``(address, port)`` 2-tuple for :const:`AF_INET`, a ``(address, " -"port, flow info, scope id)`` 4-tuple for :const:`AF_INET6`), and is meant to " +"port, flowinfo, scope_id)`` 4-tuple for :const:`AF_INET6`), and is meant to " "be passed to the :meth:`socket.connect` method." msgstr "" -#: ../Doc/library/socket.rst:729 +#: ../Doc/library/socket.rst:773 msgid "" "Raises an :ref:`auditing event ` ``socket.getaddrinfo`` with " "arguments ``host``, ``port``, ``family``, ``type``, ``protocol``." msgstr "" -#: ../Doc/library/socket.rst:730 +#: ../Doc/library/socket.rst:775 msgid "" "The following example fetches address information for a hypothetical TCP " "connection to ``example.org`` on port 80 (results may differ on your system " "if IPv6 isn't enabled)::" msgstr "" +"En el ejemplo siguiente se obtiene información de dirección para una " +"conexión TCP hipotética a ``example.org`` en el puerto 80 (los resultados " +"pueden diferir en el sistema si IPv6 no está habilitado)::" -#: ../Doc/library/socket.rst:740 +#: ../Doc/library/socket.rst:785 msgid "parameters can now be passed using keyword arguments." msgstr "" +"los parámetros ahora se pueden pasar mediante argumentos de palabra clave." -#: ../Doc/library/socket.rst:743 +#: ../Doc/library/socket.rst:788 #, python-format msgid "" "for IPv6 multicast addresses, string representing an address will not " -"contain ``%scope`` part." +"contain ``%scope_id`` part." msgstr "" -#: ../Doc/library/socket.rst:749 +#: ../Doc/library/socket.rst:794 msgid "" "Return a fully qualified domain name for *name*. If *name* is omitted or " "empty, it is interpreted as the local host. To find the fully qualified " @@ -905,7 +1087,7 @@ msgid "" "hostname as returned by :func:`gethostname` is returned." msgstr "" -#: ../Doc/library/socket.rst:759 +#: ../Doc/library/socket.rst:804 msgid "" "Translate a host name to IPv4 address format. The IPv4 address is returned " "as a string, such as ``'100.50.200.5'``. If the host name is an IPv4 " @@ -915,13 +1097,15 @@ msgid "" "stack support." msgstr "" -#: ../Doc/library/socket.rst:765 ../Doc/library/socket.rst:779 +#: ../Doc/library/socket.rst:810 ../Doc/library/socket.rst:824 msgid "" "Raises an :ref:`auditing event ` ``socket.gethostbyname`` with " "argument ``hostname``." msgstr "" +"Genera un evento :ref:`auditing ` ``socket.gethostbyname`` con el " +"argumento ``hostname``." -#: ../Doc/library/socket.rst:770 +#: ../Doc/library/socket.rst:815 msgid "" "Translate a host name to IPv4 address format, extended interface. Return a " "triple ``(hostname, aliaslist, ipaddrlist)`` where *hostname* is the primary " @@ -933,25 +1117,27 @@ msgid "" "IPv4/v6 dual stack support." msgstr "" -#: ../Doc/library/socket.rst:784 +#: ../Doc/library/socket.rst:829 msgid "" "Return a string containing the hostname of the machine where the Python " "interpreter is currently executing." msgstr "" +"Devuelve una cadena que contenga el nombre de host de la máquina donde se " +"está ejecutando actualmente el intérprete de Python." -#: ../Doc/library/socket.rst:788 +#: ../Doc/library/socket.rst:832 msgid "" "Raises an :ref:`auditing event ` ``socket.gethostname`` with no " "arguments." msgstr "" -#: ../Doc/library/socket.rst:789 +#: ../Doc/library/socket.rst:834 msgid "" "Note: :func:`gethostname` doesn't always return the fully qualified domain " "name; use :func:`getfqdn` for that." msgstr "" -#: ../Doc/library/socket.rst:795 +#: ../Doc/library/socket.rst:840 msgid "" "Return a triple ``(hostname, aliaslist, ipaddrlist)`` where *hostname* is " "the primary host name responding to the given *ip_address*, *aliaslist* is a " @@ -962,13 +1148,13 @@ msgid "" "`gethostbyaddr` supports both IPv4 and IPv6." msgstr "" -#: ../Doc/library/socket.rst:803 +#: ../Doc/library/socket.rst:848 msgid "" "Raises an :ref:`auditing event ` ``socket.gethostbyaddr`` with " "argument ``ip_address``." msgstr "" -#: ../Doc/library/socket.rst:808 +#: ../Doc/library/socket.rst:853 msgid "" "Translate a socket address *sockaddr* into a 2-tuple ``(host, port)``. " "Depending on the settings of *flags*, the result can contain a fully-" @@ -976,25 +1162,28 @@ msgid "" "Similarly, *port* can contain a string port name or a numeric port number." msgstr "" -#: ../Doc/library/socket.rst:813 +#: ../Doc/library/socket.rst:858 #, python-format msgid "" -"For IPv6 addresses, ``%scope`` is appended to the host part if *sockaddr* " -"contains meaningful *scopeid*. Usually this happens for multicast addresses." +"For IPv6 addresses, ``%scope_id`` is appended to the host part if *sockaddr* " +"contains meaningful *scope_id*. Usually this happens for multicast addresses." msgstr "" +"Para las direcciones IPv6, ``%scope`` se anexa a la parte del host si " +"*sockaddr* contiene *scopeid* significativo. Generalmente esto sucede para " +"las direcciones de multidifusión." -#: ../Doc/library/socket.rst:816 +#: ../Doc/library/socket.rst:861 msgid "" "For more information about *flags* you can consult :manpage:`getnameinfo(3)`." msgstr "" -#: ../Doc/library/socket.rst:818 +#: ../Doc/library/socket.rst:863 msgid "" "Raises an :ref:`auditing event ` ``socket.getnameinfo`` with " "argument ``sockaddr``." msgstr "" -#: ../Doc/library/socket.rst:822 +#: ../Doc/library/socket.rst:867 msgid "" "Translate an Internet protocol name (for example, ``'icmp'``) to a constant " "suitable for passing as the (optional) third argument to the :func:`.socket` " @@ -1002,48 +1191,66 @@ msgid "" "const:`SOCK_RAW`); for the normal socket modes, the correct protocol is " "chosen automatically if the protocol is omitted or zero." msgstr "" +"Traduzca un nombre de protocolo de Internet (por ejemplo, ``'icmp'``) a una " +"constante adecuada para pasar como el tercer argumento (opcional) a la " +"función :func:`.socket`. Por lo general, esto sólo es necesario para los " +"sockets abiertos en modo \"crudo\" (:const:`SOCK_RAW`); para los modos de " +"socket normales, el protocolo correcto se elige automáticamente si se omite " +"el protocolo o cero." -#: ../Doc/library/socket.rst:831 +#: ../Doc/library/socket.rst:876 msgid "" "Translate an Internet service name and protocol name to a port number for " "that service. The optional protocol name, if given, should be ``'tcp'`` or " "``'udp'``, otherwise any protocol will match." msgstr "" -#: ../Doc/library/socket.rst:835 +#: ../Doc/library/socket.rst:880 msgid "" "Raises an :ref:`auditing event ` ``socket.getservbyname`` with " "arguments ``servicename``, ``protocolname``." msgstr "" -#: ../Doc/library/socket.rst:840 +#: ../Doc/library/socket.rst:885 msgid "" "Translate an Internet port number and protocol name to a service name for " "that service. The optional protocol name, if given, should be ``'tcp'`` or " "``'udp'``, otherwise any protocol will match." msgstr "" +"Traduzca un número de puerto de Internet y un nombre de protocolo a un " +"nombre de servicio para ese servicio. El nombre del protocolo opcional, si " +"se da, debe ser ``'tcp'`` o ``'udp'``, de lo contrario cualquier protocolo " +"coincidirá." -#: ../Doc/library/socket.rst:844 +#: ../Doc/library/socket.rst:889 msgid "" "Raises an :ref:`auditing event ` ``socket.getservbyport`` with " "arguments ``port``, ``protocolname``." msgstr "" -#: ../Doc/library/socket.rst:849 +#: ../Doc/library/socket.rst:894 msgid "" "Convert 32-bit positive integers from network to host byte order. On " "machines where the host byte order is the same as network byte order, this " "is a no-op; otherwise, it performs a 4-byte swap operation." msgstr "" +"Convierta enteros positivos de 32 bits de red a orden de bytes de host. En " +"equipos donde el orden de bytes de host es el mismo que el orden de bytes de " +"red, se trata de un no-op; de lo contrario, realiza una operación de " +"intercambio de 4 bytes." -#: ../Doc/library/socket.rst:856 +#: ../Doc/library/socket.rst:901 msgid "" "Convert 16-bit positive integers from network to host byte order. On " "machines where the host byte order is the same as network byte order, this " "is a no-op; otherwise, it performs a 2-byte swap operation." msgstr "" +"Convierta enteros positivos de 16 bits de red a orden de bytes de host. En " +"equipos donde el orden de bytes de host es el mismo que el orden de bytes de " +"red, se trata de un no-op; de lo contrario, realiza una operación de " +"intercambio de 2 bytes." -#: ../Doc/library/socket.rst:860 ../Doc/library/socket.rst:880 +#: ../Doc/library/socket.rst:905 ../Doc/library/socket.rst:925 msgid "" "In case *x* does not fit in 16-bit unsigned integer, but does fit in a " "positive C int, it is silently truncated to 16-bit unsigned integer. This " @@ -1051,21 +1258,29 @@ msgid "" "future versions of Python." msgstr "" -#: ../Doc/library/socket.rst:869 +#: ../Doc/library/socket.rst:914 msgid "" "Convert 32-bit positive integers from host to network byte order. On " "machines where the host byte order is the same as network byte order, this " "is a no-op; otherwise, it performs a 4-byte swap operation." msgstr "" +"Convierta enteros positivos de 32 bits del host al orden de bytes de red. " +"En equipos donde el orden de bytes de host es el mismo que el orden de bytes " +"de red, se trata de un no-op; de lo contrario, realiza una operación de " +"intercambio de 4 bytes." -#: ../Doc/library/socket.rst:876 +#: ../Doc/library/socket.rst:921 msgid "" "Convert 16-bit positive integers from host to network byte order. On " "machines where the host byte order is the same as network byte order, this " "is a no-op; otherwise, it performs a 2-byte swap operation." msgstr "" +"Convierta enteros positivos de 16 bits del host al orden de bytes de red. " +"En equipos donde el orden de bytes de host es el mismo que el orden de bytes " +"de red, se trata de un no-op; de lo contrario, realiza una operación de " +"intercambio de 2 bytes." -#: ../Doc/library/socket.rst:889 +#: ../Doc/library/socket.rst:934 msgid "" "Convert an IPv4 address from dotted-quad string format (for example, " "'123.45.67.89') to 32-bit packed binary format, as a bytes object four " @@ -1075,26 +1290,26 @@ msgid "" "returns." msgstr "" -#: ../Doc/library/socket.rst:895 +#: ../Doc/library/socket.rst:940 msgid "" ":func:`inet_aton` also accepts strings with less than three dots; see the " "Unix manual page :manpage:`inet(3)` for details." msgstr "" -#: ../Doc/library/socket.rst:898 +#: ../Doc/library/socket.rst:943 msgid "" "If the IPv4 address string passed to this function is invalid, :exc:" "`OSError` will be raised. Note that exactly what is valid depends on the " "underlying C implementation of :c:func:`inet_aton`." msgstr "" -#: ../Doc/library/socket.rst:902 +#: ../Doc/library/socket.rst:947 msgid "" ":func:`inet_aton` does not support IPv6, and :func:`inet_pton` should be " "used instead for IPv4/v6 dual stack support." msgstr "" -#: ../Doc/library/socket.rst:908 +#: ../Doc/library/socket.rst:953 msgid "" "Convert a 32-bit packed IPv4 address (a :term:`bytes-like object` four bytes " "in length) to its standard dotted-quad string representation (for example, " @@ -1104,7 +1319,7 @@ msgid "" "an argument." msgstr "" -#: ../Doc/library/socket.rst:915 +#: ../Doc/library/socket.rst:960 msgid "" "If the byte sequence passed to this function is not exactly 4 bytes in " "length, :exc:`OSError` will be raised. :func:`inet_ntoa` does not support " @@ -1112,7 +1327,7 @@ msgid "" "support." msgstr "" -#: ../Doc/library/socket.rst:926 +#: ../Doc/library/socket.rst:971 msgid "" "Convert an IP address from its family-specific string format to a packed, " "binary format. :func:`inet_pton` is useful when a library or network " @@ -1120,7 +1335,7 @@ msgid "" "func:`inet_aton`) or :c:type:`struct in6_addr`." msgstr "" -#: ../Doc/library/socket.rst:931 +#: ../Doc/library/socket.rst:976 msgid "" "Supported values for *address_family* are currently :const:`AF_INET` and :" "const:`AF_INET6`. If the IP address string *ip_string* is invalid, :exc:" @@ -1129,16 +1344,16 @@ msgid "" "`inet_pton`." msgstr "" -#: ../Doc/library/socket.rst:938 ../Doc/library/socket.rst:958 +#: ../Doc/library/socket.rst:983 ../Doc/library/socket.rst:1003 msgid "" ":ref:`Availability `: Unix (maybe not all platforms), Windows." msgstr "" -#: ../Doc/library/socket.rst:939 ../Doc/library/socket.rst:959 +#: ../Doc/library/socket.rst:984 ../Doc/library/socket.rst:1004 msgid "Windows support added" -msgstr "" +msgstr "Se ha añadido compatibilidad con Windows" -#: ../Doc/library/socket.rst:945 +#: ../Doc/library/socket.rst:990 msgid "" "Convert a packed IP address (a :term:`bytes-like object` of some number of " "bytes) to its standard, family-specific string representation (for example, " @@ -1147,7 +1362,7 @@ msgid "" "in_addr` (similar to :func:`inet_ntoa`) or :c:type:`struct in6_addr`." msgstr "" -#: ../Doc/library/socket.rst:952 +#: ../Doc/library/socket.rst:997 msgid "" "Supported values for *address_family* are currently :const:`AF_INET` and :" "const:`AF_INET6`. If the bytes object *packed_ip* is not the correct length " @@ -1155,7 +1370,7 @@ msgid "" "`OSError` is raised for errors from the call to :func:`inet_ntop`." msgstr "" -#: ../Doc/library/socket.rst:974 +#: ../Doc/library/socket.rst:1019 msgid "" "Return the total length, without trailing padding, of an ancillary data item " "with associated data of the given *length*. This value can often be used as " @@ -1166,14 +1381,14 @@ msgid "" "the permissible range of values." msgstr "" -#: ../Doc/library/socket.rst:984 ../Doc/library/socket.rst:1005 -#: ../Doc/library/socket.rst:1405 ../Doc/library/socket.rst:1447 -#: ../Doc/library/socket.rst:1553 +#: ../Doc/library/socket.rst:1029 ../Doc/library/socket.rst:1050 +#: ../Doc/library/socket.rst:1469 ../Doc/library/socket.rst:1511 +#: ../Doc/library/socket.rst:1617 msgid "" ":ref:`Availability `: most Unix platforms, possibly others." msgstr "" -#: ../Doc/library/socket.rst:990 +#: ../Doc/library/socket.rst:1035 msgid "" "Return the buffer size needed for :meth:`~socket.recvmsg` to receive an " "ancillary data item with associated data of the given *length*, along with " @@ -1183,89 +1398,134 @@ msgid "" "values." msgstr "" -#: ../Doc/library/socket.rst:998 +#: ../Doc/library/socket.rst:1043 msgid "" "Note that some systems might support ancillary data without providing this " "function. Also note that setting the buffer size using the results of this " "function may not precisely limit the amount of ancillary data that can be " "received, since additional data may be able to fit into the padding area." msgstr "" +"Tenga en cuenta que algunos sistemas pueden admitir datos auxiliares sin " +"proporcionar esta función. Tenga en cuenta también que establecer el tamaño " +"del búfer utilizando los resultados de esta función puede no limitar con " +"precisión la cantidad de datos auxiliares que se pueden recibir, ya que los " +"datos adicionales pueden caber en el área de relleno." -#: ../Doc/library/socket.rst:1011 +#: ../Doc/library/socket.rst:1056 msgid "" "Return the default timeout in seconds (float) for new socket objects. A " "value of ``None`` indicates that new socket objects have no timeout. When " "the socket module is first imported, the default is ``None``." msgstr "" -#: ../Doc/library/socket.rst:1018 +#: ../Doc/library/socket.rst:1063 msgid "" "Set the default timeout in seconds (float) for new socket objects. When the " "socket module is first imported, the default is ``None``. See :meth:" "`~socket.settimeout` for possible values and their respective meanings." msgstr "" -#: ../Doc/library/socket.rst:1026 +#: ../Doc/library/socket.rst:1071 msgid "" "Set the machine's hostname to *name*. This will raise an :exc:`OSError` if " "you don't have enough rights." msgstr "" -#: ../Doc/library/socket.rst:1030 +#: ../Doc/library/socket.rst:1074 msgid "" "Raises an :ref:`auditing event ` ``socket.sethostname`` with " "argument ``name``." msgstr "" -#: ../Doc/library/socket.rst:1032 +#: ../Doc/library/socket.rst:1077 msgid ":ref:`Availability `: Unix." msgstr "" -#: ../Doc/library/socket.rst:1038 +#: ../Doc/library/socket.rst:1083 msgid "" "Return a list of network interface information (index int, name string) " "tuples. :exc:`OSError` if the system call fails." msgstr "" +"Devuelve una lista de tuplas de información de interfaz de red (índice int, " +"cadena de nombre). :exc:`OSError` si se produce un error en la llamada del " +"sistema." -#: ../Doc/library/socket.rst:1043 ../Doc/library/socket.rst:1057 -#: ../Doc/library/socket.rst:1071 +#: ../Doc/library/socket.rst:1088 ../Doc/library/socket.rst:1115 +#: ../Doc/library/socket.rst:1132 msgid ":ref:`Availability `: Unix, Windows." msgstr "" -#: ../Doc/library/socket.rst:1046 ../Doc/library/socket.rst:1060 -#: ../Doc/library/socket.rst:1074 +#: ../Doc/library/socket.rst:1091 ../Doc/library/socket.rst:1118 +#: ../Doc/library/socket.rst:1135 msgid "Windows support was added." +msgstr "Se ha agregado compatibilidad con Windows." + +#: ../Doc/library/socket.rst:1096 +msgid "" +"On Windows network interfaces have different names in different contexts " +"(all names are examples):" +msgstr "" + +#: ../Doc/library/socket.rst:1099 +msgid "UUID: ``{FB605B73-AAC2-49A6-9A2F-25416AEA0573}``" +msgstr "" + +#: ../Doc/library/socket.rst:1100 +msgid "name: ``ethernet_32770``" +msgstr "" + +#: ../Doc/library/socket.rst:1101 +msgid "friendly name: ``vEthernet (nat)``" +msgstr "" + +#: ../Doc/library/socket.rst:1102 +msgid "description: ``Hyper-V Virtual Ethernet Adapter``" +msgstr "" + +#: ../Doc/library/socket.rst:1104 +msgid "" +"This function returns names of the second form from the list, " +"``ethernet_32770`` in this example case." msgstr "" -#: ../Doc/library/socket.rst:1052 +#: ../Doc/library/socket.rst:1110 msgid "" "Return a network interface index number corresponding to an interface name. :" "exc:`OSError` if no interface with the given name exists." msgstr "" +"Devuelve un número de índice de interfaz de red correspondiente a un nombre " +"de interfaz. :exc:`OSError` si no existe ninguna interfaz con el nombre " +"especificado." + +#: ../Doc/library/socket.rst:1122 ../Doc/library/socket.rst:1139 +msgid "\"Interface name\" is a name as documented in :func:`if_nameindex`." +msgstr "" -#: ../Doc/library/socket.rst:1066 +#: ../Doc/library/socket.rst:1127 msgid "" "Return a network interface name corresponding to an interface index number. :" "exc:`OSError` if no interface with the given index exists." msgstr "" +"Devuelve un nombre de interfaz de red correspondiente a un número de índice " +"de interfaz. :exc:`OSError` si no existe ninguna interfaz con el índice dado." -#: ../Doc/library/socket.rst:1081 +#: ../Doc/library/socket.rst:1145 msgid "Socket Objects" -msgstr "" +msgstr "Objetos Socket" -#: ../Doc/library/socket.rst:1083 +#: ../Doc/library/socket.rst:1147 msgid "" "Socket objects have the following methods. Except for :meth:`~socket." "makefile`, these correspond to Unix system calls applicable to sockets." msgstr "" -#: ../Doc/library/socket.rst:1087 +#: ../Doc/library/socket.rst:1151 msgid "" "Support for the :term:`context manager` protocol was added. Exiting the " "context manager is equivalent to calling :meth:`~socket.close`." msgstr "" -#: ../Doc/library/socket.rst:1094 +#: ../Doc/library/socket.rst:1158 msgid "" "Accept a connection. The socket must be bound to an address and listening " "for connections. The return value is a pair ``(conn, address)`` where *conn* " @@ -1274,33 +1534,37 @@ msgid "" "connection." msgstr "" -#: ../Doc/library/socket.rst:1101 ../Doc/library/socket.rst:1188 +#: ../Doc/library/socket.rst:1165 ../Doc/library/socket.rst:1252 msgid "The socket is now non-inheritable." -msgstr "" +msgstr "El socket ahora no es heredable." -#: ../Doc/library/socket.rst:1104 ../Doc/library/socket.rst:1319 -#: ../Doc/library/socket.rst:1333 ../Doc/library/socket.rst:1408 -#: ../Doc/library/socket.rst:1479 ../Doc/library/socket.rst:1498 -#: ../Doc/library/socket.rst:1515 ../Doc/library/socket.rst:1558 +#: ../Doc/library/socket.rst:1168 ../Doc/library/socket.rst:1383 +#: ../Doc/library/socket.rst:1397 ../Doc/library/socket.rst:1472 +#: ../Doc/library/socket.rst:1543 ../Doc/library/socket.rst:1562 +#: ../Doc/library/socket.rst:1579 ../Doc/library/socket.rst:1622 msgid "" "If the system call is interrupted and the signal handler does not raise an " "exception, the method now retries the system call instead of raising an :exc:" "`InterruptedError` exception (see :pep:`475` for the rationale)." msgstr "" +"Si se interrumpe la llamada del sistema y el controlador de señal no genera " +"una excepción, el método ahora vuelve a intentar la llamada del sistema en " +"lugar de generar una excepción :exc:`InterruptedError` (consulte :p ep:`475` " +"para la lógica)." -#: ../Doc/library/socket.rst:1112 +#: ../Doc/library/socket.rst:1176 msgid "" "Bind the socket to *address*. The socket must not already be bound. (The " "format of *address* depends on the address family --- see above.)" msgstr "" -#: ../Doc/library/socket.rst:1115 +#: ../Doc/library/socket.rst:1179 msgid "" "Raises an :ref:`auditing event ` ``socket.bind`` with arguments " "``self``, ``address``." msgstr "" -#: ../Doc/library/socket.rst:1119 +#: ../Doc/library/socket.rst:1183 msgid "" "Mark the socket closed. The underlying system resource (e.g. a file " "descriptor) is also closed when all file objects from :meth:`makefile()` are " @@ -1309,34 +1573,44 @@ msgid "" "flushed)." msgstr "" -#: ../Doc/library/socket.rst:1125 +#: ../Doc/library/socket.rst:1189 msgid "" "Sockets are automatically closed when they are garbage-collected, but it is " "recommended to :meth:`close` them explicitly, or to use a :keyword:`with` " "statement around them." msgstr "" +"Los sockets se cierran automáticamente cuando se recogen basura, pero se " +"recomienda :meth:`cerrarlos` explícitamente, o usar una instrucción :keyword:" +"`with` alrededor de ellos." -#: ../Doc/library/socket.rst:1129 +#: ../Doc/library/socket.rst:1193 msgid "" -":exc:`OSError` is now raised if an error occurs when the underlying :c:func:" -"`close` call is made." +":exc:`OSError` is now raised if an error occurs when the underlying :c:" +"func:'close' call is made." msgstr "" +":exc:`OSError` ahora se produce si se produce un error cuando se realiza la " +"llamada subyacente :c:func:'close'." -#: ../Doc/library/socket.rst:1135 +#: ../Doc/library/socket.rst:1199 msgid "" ":meth:`close()` releases the resource associated with a connection but does " "not necessarily close the connection immediately. If you want to close the " "connection in a timely fashion, call :meth:`shutdown()` before :meth:" "`close()`." msgstr "" +":meth:`close()` libera el recurso asociado a una conexión, pero no " +"necesariamente cierra la conexión inmediatamente. Si desea cerrar la " +"conexión a tiempo, llame a :meth:`shutdown()` antes de :meth:`close()`." -#: ../Doc/library/socket.rst:1143 +#: ../Doc/library/socket.rst:1207 msgid "" "Connect to a remote socket at *address*. (The format of *address* depends on " "the address family --- see above.)" msgstr "" +"Conectar a un socket remoto en *address*. (El formato de *address* depende " +"de la familia de direcciones --- ver arriba.)" -#: ../Doc/library/socket.rst:1146 +#: ../Doc/library/socket.rst:1210 msgid "" "If the connection is interrupted by a signal, the method waits until the " "connection completes, or raise a :exc:`socket.timeout` on timeout, if the " @@ -1345,22 +1619,33 @@ msgid "" "`InterruptedError` exception if the connection is interrupted by a signal " "(or the exception raised by the signal handler)." msgstr "" +"Si una señal interrumpe la conexión, el método espera hasta que se complete " +"la conexión o genere un :exc:`socket.timeout` en el tiempo de espera, si el " +"controlador de señal no genera una excepción y el socket está bloqueando o " +"tiene un tiempo de espera. Para los sockets sin bloqueo, el método genera " +"una excepción :exc:`InterruptedError` si la conexión se interrumpe por una " +"señal (o la excepción provocada por el controlador de señal)." -#: ../Doc/library/socket.rst:1154 ../Doc/library/socket.rst:1171 +#: ../Doc/library/socket.rst:1217 ../Doc/library/socket.rst:1235 msgid "" "Raises an :ref:`auditing event ` ``socket.connect`` with arguments " "``self``, ``address``." msgstr "" -#: ../Doc/library/socket.rst:1155 +#: ../Doc/library/socket.rst:1219 msgid "" "The method now waits until the connection completes instead of raising an :" "exc:`InterruptedError` exception if the connection is interrupted by a " "signal, the signal handler doesn't raise an exception and the socket is " "blocking or has a timeout (see the :pep:`475` for the rationale)." msgstr "" +"El método ahora espera hasta que se completa la conexión en lugar de generar " +"una excepción :exc:`InterruptedError` si la conexión se interrumpe por una " +"señal, el controlador de señal no genera una excepción y el socket está " +"bloqueando o tiene un tiempo de espera (consulte el :p ep:`475` para la " +"razón de ser)." -#: ../Doc/library/socket.rst:1164 +#: ../Doc/library/socket.rst:1228 msgid "" "Like ``connect(address)``, but return an error indicator instead of raising " "an exception for errors returned by the C-level :c:func:`connect` call " @@ -1370,38 +1655,41 @@ msgid "" "asynchronous connects." msgstr "" -#: ../Doc/library/socket.rst:1175 +#: ../Doc/library/socket.rst:1239 msgid "" "Put the socket object into closed state without actually closing the " "underlying file descriptor. The file descriptor is returned, and can be " "reused for other purposes." msgstr "" +"Coloque el objeto de socket en estado cerrado sin cerrar realmente el " +"descriptor de archivo subyacente. Se devuelve el descriptor de archivo y se " +"puede reutilizar para otros fines." -#: ../Doc/library/socket.rst:1184 +#: ../Doc/library/socket.rst:1248 msgid "Duplicate the socket." -msgstr "" +msgstr "Duplica el socket." -#: ../Doc/library/socket.rst:1194 +#: ../Doc/library/socket.rst:1258 msgid "" "Return the socket's file descriptor (a small integer), or -1 on failure. " "This is useful with :func:`select.select`." msgstr "" -#: ../Doc/library/socket.rst:1197 +#: ../Doc/library/socket.rst:1261 msgid "" "Under Windows the small integer returned by this method cannot be used where " "a file descriptor can be used (such as :func:`os.fdopen`). Unix does not " "have this limitation." msgstr "" -#: ../Doc/library/socket.rst:1203 +#: ../Doc/library/socket.rst:1267 msgid "" "Get the :ref:`inheritable flag ` of the socket's file " "descriptor or socket's handle: ``True`` if the socket can be inherited in " "child processes, ``False`` if it cannot." msgstr "" -#: ../Doc/library/socket.rst:1212 +#: ../Doc/library/socket.rst:1276 msgid "" "Return the remote address to which the socket is connected. This is useful " "to find out the port number of a remote IPv4/v6 socket, for instance. (The " @@ -1409,14 +1697,14 @@ msgid "" "above.) On some systems this function is not supported." msgstr "" -#: ../Doc/library/socket.rst:1220 +#: ../Doc/library/socket.rst:1284 msgid "" "Return the socket's own address. This is useful to find out the port number " "of an IPv4/v6 socket, for instance. (The format of the address returned " "depends on the address family --- see above.)" msgstr "" -#: ../Doc/library/socket.rst:1227 +#: ../Doc/library/socket.rst:1291 msgid "" "Return the value of the given socket option (see the Unix man page :manpage:" "`getsockopt(2)`). The needed symbolic constants (:const:`SO_\\*` etc.) are " @@ -1427,17 +1715,28 @@ msgid "" "decode the contents of the buffer (see the optional built-in module :mod:" "`struct` for a way to decode C structures encoded as byte strings)." msgstr "" +"Devuelve el valor de la opción de socket dada (consulte la página de comando " +"man de Unix :manpage:`getsockopt(2)`). Las constantes simbólicas necesarias " +"(:const:`SO_\\*` etc.) se definen en este módulo. Si *buflen* está ausente, " +"se asume una opción de entero y la función devuelve su valor entero. Si " +"*buflen* está presente, especifica la longitud máxima del búfer utilizado " +"para recibir la opción y este búfer se devuelve como un objeto bytes. " +"Depende del autor de la llamada descodificar el contenido del búfer " +"(consulte el módulo integrado opcional :mod:`struct` para obtener una manera " +"de decodificar las estructuras C codificadas como cadenas de bytes)." -#: ../Doc/library/socket.rst:1239 +#: ../Doc/library/socket.rst:1303 msgid "" "Return ``True`` if socket is in blocking mode, ``False`` if in non-blocking." msgstr "" +"Devuelve ``True`` si el socket está en modo de bloqueo, ``False`` si está en " +"sin bloqueo." -#: ../Doc/library/socket.rst:1242 +#: ../Doc/library/socket.rst:1306 msgid "This is equivalent to checking ``socket.gettimeout() == 0``." msgstr "" -#: ../Doc/library/socket.rst:1249 +#: ../Doc/library/socket.rst:1313 msgid "" "Return the timeout in seconds (float) associated with socket operations, or " "``None`` if no timeout is set. This reflects the last call to :meth:" @@ -1446,32 +1745,32 @@ msgstr "" #: ../Doc/library/socket.rst msgid "platform" -msgstr "" +msgstr "plataforma" -#: ../Doc/library/socket.rst:1256 +#: ../Doc/library/socket.rst:1320 msgid "Windows" -msgstr "" +msgstr "Windows" -#: ../Doc/library/socket.rst:1258 +#: ../Doc/library/socket.rst:1322 msgid "" "The :meth:`ioctl` method is a limited interface to the WSAIoctl system " "interface. Please refer to the `Win32 documentation `_ for more information." msgstr "" -#: ../Doc/library/socket.rst:1263 +#: ../Doc/library/socket.rst:1327 msgid "" "On other platforms, the generic :func:`fcntl.fcntl` and :func:`fcntl.ioctl` " "functions may be used; they accept a socket object as their first argument." msgstr "" -#: ../Doc/library/socket.rst:1266 +#: ../Doc/library/socket.rst:1330 msgid "" "Currently only the following control codes are supported: ``SIO_RCVALL``, " "``SIO_KEEPALIVE_VALS``, and ``SIO_LOOPBACK_FAST_PATH``." msgstr "" -#: ../Doc/library/socket.rst:1274 +#: ../Doc/library/socket.rst:1338 msgid "" "Enable a server to accept connections. If *backlog* is specified, it must " "be at least 0 (if it is lower, it is set to 0); it specifies the number of " @@ -1479,11 +1778,11 @@ msgid "" "connections. If not specified, a default reasonable value is chosen." msgstr "" -#: ../Doc/library/socket.rst:1279 +#: ../Doc/library/socket.rst:1343 msgid "The *backlog* parameter is now optional." -msgstr "" +msgstr "El parámetro *backlog* ahora es opcional." -#: ../Doc/library/socket.rst:1287 +#: ../Doc/library/socket.rst:1351 msgid "" "Return a :term:`file object` associated with the socket. The exact returned " "type depends on the arguments given to :meth:`makefile`. These arguments " @@ -1492,28 +1791,37 @@ msgid "" "``'b'``." msgstr "" -#: ../Doc/library/socket.rst:1292 +#: ../Doc/library/socket.rst:1356 msgid "" "The socket must be in blocking mode; it can have a timeout, but the file " "object's internal buffer may end up in an inconsistent state if a timeout " "occurs." msgstr "" +"El socket debe estar en modo de bloqueo; puede tener un tiempo de espera, " +"pero el búfer interno del objeto de archivo puede terminar en un estado " +"incoherente si se produce un tiempo de espera." -#: ../Doc/library/socket.rst:1296 +#: ../Doc/library/socket.rst:1360 msgid "" "Closing the file object returned by :meth:`makefile` won't close the " "original socket unless all other file objects have been closed and :meth:" "`socket.close` has been called on the socket object." msgstr "" +"Cerrar el objeto de archivo devuelto por :meth:`makefile` no cerrará el " +"socket original a menos que se hayan cerrado todos los demás objetos de " +"archivo y :meth:`socket.close` se haya llamado al objeto socket." -#: ../Doc/library/socket.rst:1302 +#: ../Doc/library/socket.rst:1366 msgid "" "On Windows, the file-like object created by :meth:`makefile` cannot be used " "where a file object with a file descriptor is expected, such as the stream " "arguments of :meth:`subprocess.Popen`." msgstr "" +"En Windows, el objeto similar a un archivo creado por :meth:`makefile` no se " +"puede utilizar cuando se espera un objeto de archivo con un descriptor de " +"archivo, como los argumentos de secuencia de :meth:`subprocess.Popen`." -#: ../Doc/library/socket.rst:1309 +#: ../Doc/library/socket.rst:1373 msgid "" "Receive data from the socket. The return value is a bytes object " "representing the data received. The maximum amount of data to be received " @@ -1521,14 +1829,22 @@ msgid "" "`recv(2)` for the meaning of the optional argument *flags*; it defaults to " "zero." msgstr "" +"Recibir datos del socket. El valor devuelto es un objeto bytes que " +"representa los datos recibidos. *bufsize* especifica la cantidad máxima de " +"datos que se recibirán a la vez. Consulte la página del manual de Unix :" +"manpage:`recv(2)` para conocer el significado del argumento opcional " +"*flags*; por defecto es cero." -#: ../Doc/library/socket.rst:1316 +#: ../Doc/library/socket.rst:1380 msgid "" "For best match with hardware and network realities, the value of *bufsize* " "should be a relatively small power of 2, for example, 4096." msgstr "" +"Para una mejor coincidencia con las realidades de hardware y red, el valor " +"de *bufsize* debe ser una potencia relativamente pequeña de 2, por ejemplo, " +"4096." -#: ../Doc/library/socket.rst:1327 +#: ../Doc/library/socket.rst:1391 msgid "" "Receive data from the socket. The return value is a pair ``(bytes, " "address)`` where *bytes* is a bytes object representing the data received " @@ -1538,15 +1854,15 @@ msgid "" "address family --- see above.)" msgstr "" -#: ../Doc/library/socket.rst:1338 +#: ../Doc/library/socket.rst:1402 #, python-format msgid "" "For multicast IPv6 address, first item of *address* does not contain ``" -"%scope`` part anymore. In order to get full IPv6 address use :func:" +"%scope_id`` part anymore. In order to get full IPv6 address use :func:" "`getnameinfo`." msgstr "" -#: ../Doc/library/socket.rst:1345 +#: ../Doc/library/socket.rst:1409 msgid "" "Receive normal data (up to *bufsize* bytes) and ancillary data from the " "socket. The *ancbufsize* argument sets the size in bytes of the internal " @@ -1556,8 +1872,16 @@ msgid "" "items which do not fit into the buffer might be truncated or discarded. The " "*flags* argument defaults to 0 and has the same meaning as for :meth:`recv`." msgstr "" +"Reciba datos normales (hasta *bufsize* bytes) y datos auxiliares del " +"socket. El argumento *ancbufsize* establece el tamaño en bytes del búfer " +"interno utilizado para recibir los datos auxiliares; el valor predeterminado " +"es 0, lo que significa que no se recibirán datos auxiliares. Los tamaños de " +"búfer adecuados para los datos auxiliares se pueden calcular mediante :func:" +"`CMSG_SPACE` o :func:`CMSG_LEN`, y los elementos que no caben en el búfer " +"pueden truncarse o descartarse. El valor predeterminado del argumento " +"*flags* es 0 y tiene el mismo significado que para :meth:`recv`." -#: ../Doc/library/socket.rst:1355 +#: ../Doc/library/socket.rst:1419 msgid "" "The return value is a 4-tuple: ``(data, ancdata, msg_flags, address)``. The " "*data* item is a :class:`bytes` object holding the non-ancillary data " @@ -1572,7 +1896,7 @@ msgid "" "socket, if available; otherwise, its value is unspecified." msgstr "" -#: ../Doc/library/socket.rst:1369 +#: ../Doc/library/socket.rst:1433 msgid "" "On some systems, :meth:`sendmsg` and :meth:`recvmsg` can be used to pass " "file descriptors between processes over an :const:`AF_UNIX` socket. When " @@ -1585,7 +1909,7 @@ msgid "" "descriptors received via this mechanism." msgstr "" -#: ../Doc/library/socket.rst:1380 +#: ../Doc/library/socket.rst:1444 msgid "" "Some systems do not indicate the truncated length of ancillary data items " "which have been only partially received. If an item appears to extend " @@ -1593,8 +1917,13 @@ msgid "" "`RuntimeWarning`, and will return the part of it which is inside the buffer " "provided it has not been truncated before the start of its associated data." msgstr "" +"Algunos sistemas no indican la longitud truncada de los elementos de datos " +"auxiliares que solo se han recibido parcialmente. Si un elemento parece " +"extenderse más allá del final del búfer, :meth:`recvmsg` emitirá un :exc:" +"`RuntimeWarning`, y devolverá la parte de él que está dentro del búfer " +"siempre que no se haya truncado antes del inicio de sus datos asociados." -#: ../Doc/library/socket.rst:1387 +#: ../Doc/library/socket.rst:1451 msgid "" "On systems which support the :const:`SCM_RIGHTS` mechanism, the following " "function will receive up to *maxfds* file descriptors, returning the message " @@ -1603,7 +1932,7 @@ msgid "" "meth:`sendmsg`. ::" msgstr "" -#: ../Doc/library/socket.rst:1416 +#: ../Doc/library/socket.rst:1480 msgid "" "Receive normal data and ancillary data from the socket, behaving as :meth:" "`recvmsg` would, but scatter the non-ancillary data into a series of buffers " @@ -1615,8 +1944,18 @@ msgid "" "on the number of buffers that can be used. The *ancbufsize* and *flags* " "arguments have the same meaning as for :meth:`recvmsg`." msgstr "" +"Recibir datos normales y datos auxiliares desde el socket, comportándose " +"como :meth:`recvmsg` lo haría, pero dispersar los datos no auxiliares en una " +"serie de buffers en lugar de devolver un nuevo objeto bytes. El argumento " +"*buffers* debe ser un iterable de objetos que exportan buffers de escritura " +"(por ejemplo, :class:`bytearray` objects); estos se llenarán con fragmentos " +"sucesivos de los datos no auxiliares hasta que se hayan escrito todos o no " +"haya más buffers. El sistema operativo puede establecer un límite (:func:" +"`~os.sysconf` valor ``SC_IOV_MAX``) en el número de buffers que se pueden " +"utilizar. Los argumentos *ancbufsize* y *flags* tienen el mismo significado " +"que para :meth:`recvmsg`." -#: ../Doc/library/socket.rst:1427 +#: ../Doc/library/socket.rst:1491 msgid "" "The return value is a 4-tuple: ``(nbytes, ancdata, msg_flags, address)``, " "where *nbytes* is the total number of bytes of non-ancillary data written " @@ -1624,11 +1963,11 @@ msgid "" "for :meth:`recvmsg`." msgstr "" -#: ../Doc/library/socket.rst:1432 +#: ../Doc/library/socket.rst:1496 msgid "Example::" -msgstr "" +msgstr "Ejemplo::" -#: ../Doc/library/socket.rst:1453 +#: ../Doc/library/socket.rst:1517 msgid "" "Receive data from the socket, writing it into *buffer* instead of creating a " "new bytestring. The return value is a pair ``(nbytes, address)`` where " @@ -1637,8 +1976,15 @@ msgid "" "the meaning of the optional argument *flags*; it defaults to zero. (The " "format of *address* depends on the address family --- see above.)" msgstr "" +"Reciba datos del socket, escribiéndolo en *buffer* en lugar de crear una " +"nueva cadena de bytes. El valor devuelto es un par ``(nbytes, address)`` " +"donde *nbytes* es el número de bytes recibidos y *address* es la dirección " +"del socket que envía los datos. Consulte la página del manual de Unix :" +"manpage:`recv(2)` para conocer el significado del argumento opcional " +"*flags*; por defecto es cero. (El formato de *address* depende de la " +"familia de direcciones --- ver arriba.)" -#: ../Doc/library/socket.rst:1463 +#: ../Doc/library/socket.rst:1527 msgid "" "Receive up to *nbytes* bytes from the socket, storing the data into a buffer " "rather than creating a new bytestring. If *nbytes* is not specified (or 0), " @@ -1647,7 +1993,7 @@ msgid "" "of the optional argument *flags*; it defaults to zero." msgstr "" -#: ../Doc/library/socket.rst:1472 +#: ../Doc/library/socket.rst:1536 msgid "" "Send data to the socket. The socket must be connected to a remote socket. " "The optional *flags* argument has the same meaning as for :meth:`recv` " @@ -1656,8 +2002,15 @@ msgid "" "transmitted, the application needs to attempt delivery of the remaining " "data. For further information on this topic, consult the :ref:`socket-howto`." msgstr "" +"Enviar datos al socket. El socket debe estar conectado a un socket remoto. " +"El argumento opcional *flags* tiene el mismo significado que para :meth:" +"`recv` arriba. Devuelve el número de bytes enviados. Las aplicaciones son " +"responsables de comprobar que se han enviado todos los datos; si sólo se " +"transmitieron algunos de los datos, la aplicación debe intentar la entrega " +"de los datos restantes. Para obtener más información sobre este tema, " +"consulte :ref:`socket-howto`." -#: ../Doc/library/socket.rst:1487 +#: ../Doc/library/socket.rst:1551 msgid "" "Send data to the socket. The socket must be connected to a remote socket. " "The optional *flags* argument has the same meaning as for :meth:`recv` " @@ -1666,14 +2019,24 @@ msgid "" "returned on success. On error, an exception is raised, and there is no way " "to determine how much data, if any, was successfully sent." msgstr "" +"Enviar datos al socket. El socket debe estar conectado a un socket remoto. " +"El argumento opcional *flags* tiene el mismo significado que para :meth:" +"`recv` arriba. A diferencia de :meth:`send`, este método continúa enviando " +"datos desde *bytes* hasta que se han enviado todos los datos o se produce un " +"error. ``Ninguno`` se devuelve en caso de éxito. Por error, se genera una " +"excepción y no hay forma de determinar cuántos datos, si los hay, se " +"enviaron correctamente." -#: ../Doc/library/socket.rst:1494 +#: ../Doc/library/socket.rst:1558 msgid "" "The socket timeout is no more reset each time data is sent successfully. The " "socket timeout is now the maximum total duration to send all data." msgstr "" +"El tiempo de espera del socket no se restablece más cada vez que los datos " +"se envían correctamente. El tiempo de espera del socket es ahora la duración " +"total máxima para enviar todos los datos." -#: ../Doc/library/socket.rst:1507 +#: ../Doc/library/socket.rst:1571 msgid "" "Send data to the socket. The socket should not be connected to a remote " "socket, since the destination socket is specified by *address*. The " @@ -1681,14 +2044,19 @@ msgid "" "Return the number of bytes sent. (The format of *address* depends on the " "address family --- see above.)" msgstr "" +"Enviar datos al socket. El socket no debe estar conectado a un socket " +"remoto, ya que el socket de destino se especifica mediante *address*. El " +"argumento opcional *flags* tiene el mismo significado que para :meth:`recv` " +"arriba. Devolver el número de bytes enviados. (El formato de *address* " +"depende de la familia de direcciones --- ver arriba.)" -#: ../Doc/library/socket.rst:1514 +#: ../Doc/library/socket.rst:1577 msgid "" "Raises an :ref:`auditing event ` ``socket.sendto`` with arguments " "``self``, ``address``." msgstr "" -#: ../Doc/library/socket.rst:1523 +#: ../Doc/library/socket.rst:1587 msgid "" "Send normal and ancillary data to the socket, gathering the non-ancillary " "data from a series of buffers and concatenating it into a single message. " @@ -1707,28 +2075,74 @@ msgid "" "destination address for the message. The return value is the number of " "bytes of non-ancillary data sent." msgstr "" +"Enviar datos normales y auxiliares al socket, recopilar los datos no " +"auxiliares de una serie de buffers y concatenando en un único mensaje. El " +"argumento *buffers* especifica los datos no auxiliares como un iterable de :" +"term:`bytes-como objetos ` (por ejemplo: objetos :class:" +"`bytes`); el sistema operativo puede establecer un límite (:func:`os." +"sysconf` valor ``SC_IOV_MAX``) en el número de buffers que se pueden " +"utilizar. El argumento *ancdata* especifica los datos auxiliares (mensajes " +"de control) como un iterable de cero o más tuplas ``(cmsg_level, cmsg_type, " +"cmsg_data)``, donde *cmsg_level* y *cmsg_type* son enteros que especifican " +"el nivel de protocolo y el tipo específico del protocolo respectivamente, y " +"*cmsg_data* es un objeto similar a bytes que contiene los datos asociados. " +"Tenga en cuenta que algunos sistemas (en particular, sistemas sin :func:" +"`CMSG_SPACE`) pueden admitir el envío de solo un mensaje de control por " +"llamada. El valor predeterminado del argumento *flags* es 0 y tiene el " +"mismo significado que para :meth:`send`. Si se proporciona *address* y no " +"``None``, establece una dirección de destino para el mensaje. El valor " +"devuelto es el número de bytes de datos no auxiliares enviados." -#: ../Doc/library/socket.rst:1543 +#: ../Doc/library/socket.rst:1607 msgid "" "The following function sends the list of file descriptors *fds* over an :" "const:`AF_UNIX` socket, on systems which support the :const:`SCM_RIGHTS` " "mechanism. See also :meth:`recvmsg`. ::" msgstr "" -#: ../Doc/library/socket.rst:1555 +#: ../Doc/library/socket.rst:1618 msgid "" "Raises an :ref:`auditing event ` ``socket.sendmsg`` with arguments " "``self``, ``address``." msgstr "" -#: ../Doc/library/socket.rst:1565 +#: ../Doc/library/socket.rst:1629 msgid "" "Specialized version of :meth:`~socket.sendmsg` for :const:`AF_ALG` socket. " "Set mode, IV, AEAD associated data length and flags for :const:`AF_ALG` " "socket." msgstr "" -#: ../Doc/library/socket.rst:1574 +#: ../Doc/library/socket.rst:1638 +msgid "" +"Send the list of file descriptors *fds* over an :const:`AF_UNIX` socket. The " +"*fds* parameter is a sequence of file descriptors. Consult :meth:`sendmsg` " +"for the documentation of these parameters." +msgstr "" + +#: ../Doc/library/socket.rst:1643 +msgid "" +":ref:`Availability `: Unix supporting :meth:`~socket.sendmsg` " +"and :const:`SCM_RIGHTS` mechanism." +msgstr "" + +#: ../Doc/library/socket.rst:1648 +msgid "" +"Receive up to *maxfds* file descriptors. Return ``(msg, list(fds), flags, " +"addr)``. Consult :meth:`recvmsg` for the documentation of these parameters." +msgstr "" + +#: ../Doc/library/socket.rst:1652 +msgid "" +":ref:`Availability `: Unix supporting :meth:`~socket.recvmsg` " +"and :const:`SCM_RIGHTS` mechanism." +msgstr "" + +#: ../Doc/library/socket.rst:1657 +msgid "Any truncated integers at the end of the list of file descriptors." +msgstr "" + +#: ../Doc/library/socket.rst:1661 msgid "" "Send a file until EOF is reached by using high-performance :mod:`os." "sendfile` and return the total number of bytes which were sent. *file* must " @@ -1741,39 +2155,54 @@ msgid "" "be used to figure out the number of bytes which were sent. The socket must " "be of :const:`SOCK_STREAM` type. Non-blocking sockets are not supported." msgstr "" +"Enviar un archivo hasta que se alcance EOF mediante el uso de alto " +"rendimiento :mod:`os.sendfile` y devolver el número total de bytes que se " +"enviaron. *file* debe ser un objeto de archivo normal abierto en modo " +"binario. Si :mod:`os.sendfile` no está disponible (por ejemplo, Windows) o " +"*file* no es un archivo normal :meth:`send` se utilizará en su lugar. " +"*offset* indica desde dónde empezar a leer el archivo. Si se especifica, " +"*count* es el número total de bytes para transmitir en lugar de enviar el " +"archivo hasta que se alcance EOF. La posición del archivo se actualiza a la " +"vuelta o también en caso de error en cuyo caso :meth:`file.tell() ` se puede utilizar para averiguar el número de bytes que se enviaron. " +"El socket debe ser de tipo :const:`SOCK_STREAM` No se admiten sockets sin " +"bloqueo." -#: ../Doc/library/socket.rst:1590 +#: ../Doc/library/socket.rst:1677 msgid "" "Set the :ref:`inheritable flag ` of the socket's file " "descriptor or socket's handle." msgstr "" -#: ../Doc/library/socket.rst:1598 +#: ../Doc/library/socket.rst:1685 msgid "" "Set blocking or non-blocking mode of the socket: if *flag* is false, the " "socket is set to non-blocking, else to blocking mode." msgstr "" +"Establecer el modo de bloqueo o no bloqueo del socket: si *flag* es false, " +"el socket se establece en modo sin bloqueo, de lo contrario en modo de " +"bloqueo." -#: ../Doc/library/socket.rst:1601 +#: ../Doc/library/socket.rst:1688 msgid "" "This method is a shorthand for certain :meth:`~socket.settimeout` calls:" msgstr "" -#: ../Doc/library/socket.rst:1603 +#: ../Doc/library/socket.rst:1690 msgid "``sock.setblocking(True)`` is equivalent to ``sock.settimeout(None)``" msgstr "" -#: ../Doc/library/socket.rst:1605 +#: ../Doc/library/socket.rst:1692 msgid "``sock.setblocking(False)`` is equivalent to ``sock.settimeout(0.0)``" msgstr "" -#: ../Doc/library/socket.rst:1607 +#: ../Doc/library/socket.rst:1694 msgid "" "The method no longer applies :const:`SOCK_NONBLOCK` flag on :attr:`socket." "type`." msgstr "" -#: ../Doc/library/socket.rst:1614 +#: ../Doc/library/socket.rst:1701 msgid "" "Set a timeout on blocking socket operations. The *value* argument can be a " "nonnegative floating point number expressing seconds, or ``None``. If a non-" @@ -1783,19 +2212,21 @@ msgid "" "blocking mode. If ``None`` is given, the socket is put in blocking mode." msgstr "" -#: ../Doc/library/socket.rst:1621 +#: ../Doc/library/socket.rst:1708 msgid "" "For further information, please consult the :ref:`notes on socket timeouts " "`." msgstr "" +"Para obtener más información, consulte las notas :ref:`notas sobre los " +"tiempos de espera del socket `." -#: ../Doc/library/socket.rst:1623 +#: ../Doc/library/socket.rst:1710 msgid "" "The method no longer toggles :const:`SOCK_NONBLOCK` flag on :attr:`socket." "type`." msgstr "" -#: ../Doc/library/socket.rst:1634 +#: ../Doc/library/socket.rst:1723 msgid "" "Set the value of the given socket option (see the Unix manual page :manpage:" "`setsockopt(2)`). The needed symbolic constants are defined in the :mod:" @@ -1808,11 +2239,11 @@ msgid "" "C function with ``optval=NULL`` and ``optlen=optlen``." msgstr "" -#: ../Doc/library/socket.rst:1648 +#: ../Doc/library/socket.rst:1737 msgid "setsockopt(level, optname, None, optlen: int) form added." -msgstr "" +msgstr "setsockopt(level, optname, None, optlen: int) form added." -#: ../Doc/library/socket.rst:1654 +#: ../Doc/library/socket.rst:1743 msgid "" "Shut down one or both halves of the connection. If *how* is :const:" "`SHUT_RD`, further receives are disallowed. If *how* is :const:`SHUT_WR`, " @@ -1820,7 +2251,7 @@ msgid "" "and receives are disallowed." msgstr "" -#: ../Doc/library/socket.rst:1662 +#: ../Doc/library/socket.rst:1751 msgid "" "Duplicate a socket and prepare it for sharing with a target process. The " "target process must be provided with *process_id*. The resulting bytes " @@ -1831,63 +2262,75 @@ msgid "" "process." msgstr "" -#: ../Doc/library/socket.rst:1674 +#: ../Doc/library/socket.rst:1763 msgid "" "Note that there are no methods :meth:`read` or :meth:`write`; use :meth:" "`~socket.recv` and :meth:`~socket.send` without *flags* argument instead." msgstr "" +"Tenga en cuenta que no hay métodos :meth:`read` o :meth:`write`; use :meth:" +"`~socket.recv` y :meth:`~socket.send` sin el argumento *flags* en su lugar." -#: ../Doc/library/socket.rst:1677 +#: ../Doc/library/socket.rst:1766 msgid "" "Socket objects also have these (read-only) attributes that correspond to the " "values given to the :class:`~socket.socket` constructor." msgstr "" -#: ../Doc/library/socket.rst:1683 +#: ../Doc/library/socket.rst:1772 msgid "The socket family." -msgstr "" +msgstr "La familia Socket." -#: ../Doc/library/socket.rst:1688 +#: ../Doc/library/socket.rst:1777 msgid "The socket type." -msgstr "" +msgstr "El tipo de socket." -#: ../Doc/library/socket.rst:1693 +#: ../Doc/library/socket.rst:1782 msgid "The socket protocol." -msgstr "" +msgstr "The socket protocol." -#: ../Doc/library/socket.rst:1700 +#: ../Doc/library/socket.rst:1789 msgid "Notes on socket timeouts" -msgstr "" +msgstr "Notas sobre los tiempos de espera del socket" -#: ../Doc/library/socket.rst:1702 +#: ../Doc/library/socket.rst:1791 msgid "" "A socket object can be in one of three modes: blocking, non-blocking, or " "timeout. Sockets are by default always created in blocking mode, but this " "can be changed by calling :func:`setdefaulttimeout`." msgstr "" +"Un objeto de socket puede estar en uno de los tres modos: bloqueo, no " +"bloqueo o tiempo de espera. Los sockets se crean de forma predeterminada " +"siempre en modo de bloqueo, pero esto se puede cambiar llamando a :func:" +"`setdefaulttimeout`." -#: ../Doc/library/socket.rst:1706 +#: ../Doc/library/socket.rst:1795 msgid "" "In *blocking mode*, operations block until complete or the system returns an " "error (such as connection timed out)." msgstr "" +"En el modo *bloqueo*, las operaciones se bloquean hasta que se completan o " +"el sistema devuelve un error (como tiempo de espera de conexión agotado)." -#: ../Doc/library/socket.rst:1709 +#: ../Doc/library/socket.rst:1798 msgid "" "In *non-blocking mode*, operations fail (with an error that is unfortunately " "system-dependent) if they cannot be completed immediately: functions from " "the :mod:`select` can be used to know when and whether a socket is available " "for reading or writing." msgstr "" +"En el modo *sin bloqueo*, las operaciones fallan (con un error que, por " +"desgracia, depende del sistema) si no se pueden completar inmediatamente: " +"las funciones de :mod:`select` se pueden utilizar para saber cuándo y si un " +"socket está disponible para leer o escribir." -#: ../Doc/library/socket.rst:1714 +#: ../Doc/library/socket.rst:1803 msgid "" "In *timeout mode*, operations fail if they cannot be completed within the " "timeout specified for the socket (they raise a :exc:`timeout` exception) or " "if the system returns an error." msgstr "" -#: ../Doc/library/socket.rst:1719 +#: ../Doc/library/socket.rst:1808 msgid "" "At the operating system level, sockets in *timeout mode* are internally set " "in non-blocking mode. Also, the blocking and timeout modes are shared " @@ -1895,12 +2338,18 @@ msgid "" "endpoint. This implementation detail can have visible consequences if e.g. " "you decide to use the :meth:`~socket.fileno()` of a socket." msgstr "" +"En el nivel del sistema operativo, los sockets en el *timeout mode* se " +"establecen internamente en modo sin bloqueo. Además, los modos de bloqueo y " +"tiempo de espera se comparten entre descriptores de archivo y objetos de " +"socket que hacen referencia al mismo punto de conexión de red. Este detalle " +"de implementación puede tener consecuencias visibles si, por ejemplo, decide " +"utilizar el :meth:`~socket.fileno()` de un socket." -#: ../Doc/library/socket.rst:1726 +#: ../Doc/library/socket.rst:1815 msgid "Timeouts and the ``connect`` method" -msgstr "" +msgstr "Tiempos de espera y el método ``connect``" -#: ../Doc/library/socket.rst:1728 +#: ../Doc/library/socket.rst:1817 msgid "" "The :meth:`~socket.connect` operation is also subject to the timeout " "setting, and in general it is recommended to call :meth:`~socket.settimeout` " @@ -1909,25 +2358,32 @@ msgid "" "connection timeout error of its own regardless of any Python socket timeout " "setting." msgstr "" +"La operación :meth:`~socket.connect` también está sujeta a la configuración " +"de tiempo de espera, y en general se recomienda llamar a :meth:`~socket." +"settimeout` antes de llamar a :meth:`~socket.connect` o pasar un parámetro " +"de tiempo de espera a :meth:`create_connection`. Sin embargo, la pila de " +"red del sistema también puede devolver un error de tiempo de espera de " +"conexión propio independientemente de cualquier configuración de tiempo de " +"espera del socket de Python." -#: ../Doc/library/socket.rst:1736 +#: ../Doc/library/socket.rst:1825 msgid "Timeouts and the ``accept`` method" msgstr "" -#: ../Doc/library/socket.rst:1738 +#: ../Doc/library/socket.rst:1827 msgid "" "If :func:`getdefaulttimeout` is not :const:`None`, sockets returned by the :" "meth:`~socket.accept` method inherit that timeout. Otherwise, the behaviour " "depends on settings of the listening socket:" msgstr "" -#: ../Doc/library/socket.rst:1742 +#: ../Doc/library/socket.rst:1831 msgid "" "if the listening socket is in *blocking mode* or in *timeout mode*, the " "socket returned by :meth:`~socket.accept` is in *blocking mode*;" msgstr "" -#: ../Doc/library/socket.rst:1745 +#: ../Doc/library/socket.rst:1834 msgid "" "if the listening socket is in *non-blocking mode*, whether the socket " "returned by :meth:`~socket.accept` is in blocking or non-blocking mode is " @@ -1935,11 +2391,11 @@ msgid "" "it is recommended you manually override this setting." msgstr "" -#: ../Doc/library/socket.rst:1754 +#: ../Doc/library/socket.rst:1843 msgid "Example" -msgstr "" +msgstr "Ejemplo" -#: ../Doc/library/socket.rst:1756 +#: ../Doc/library/socket.rst:1845 msgid "" "Here are four minimal example programs using the TCP/IP protocol: a server " "that echoes all data that it receives back (servicing only one client), and " @@ -1952,11 +2408,11 @@ msgid "" "new socket returned by :meth:`~socket.accept`." msgstr "" -#: ../Doc/library/socket.rst:1766 +#: ../Doc/library/socket.rst:1855 msgid "The first two examples support IPv4 only. ::" -msgstr "" +msgstr "Los dos primeros ejemplos solo admiten IPv4. ::" -#: ../Doc/library/socket.rst:1797 +#: ../Doc/library/socket.rst:1886 msgid "" "The next two examples are identical to the above two, but support both IPv4 " "and IPv6. The server side will listen to the first address family available " @@ -1965,74 +2421,100 @@ msgid "" "will try to connect to the all addresses returned as a result of the name " "resolution, and sends traffic to the first one connected successfully. ::" msgstr "" +"Los dos ejemplos siguientes son idénticos a los dos anteriores, pero admiten " +"IPv4 e IPv6. El lado del servidor escuchará la primera familia de " +"direcciones disponible (debe escuchar ambas en su lugar). En la mayoría de " +"los sistemas listos para IPv6, IPv6 tendrá prioridad y es posible que el " +"servidor no acepte tráfico IPv4. El lado del cliente intentará conectarse a " +"todas las direcciones devueltas como resultado de la resolución de nombres y " +"enviará el tráfico al primero conectado correctamente. ::" -#: ../Doc/library/socket.rst:1869 +#: ../Doc/library/socket.rst:1958 msgid "" "The next example shows how to write a very simple network sniffer with raw " "sockets on Windows. The example requires administrator privileges to modify " "the interface::" msgstr "" +"El siguiente ejemplo muestra cómo escribir un rastreador de red muy simple " +"con sockets sin procesar en Windows. El ejemplo requiere privilegios de " +"administrador para modificar la interfaz:" -#: ../Doc/library/socket.rst:1894 +#: ../Doc/library/socket.rst:1983 msgid "" "The next example shows how to use the socket interface to communicate to a " "CAN network using the raw socket protocol. To use CAN with the broadcast " "manager protocol instead, open a socket with::" msgstr "" +"En el ejemplo siguiente se muestra cómo utilizar la interfaz de socket para " +"comunicarse con una red CAN mediante el protocolo de socket sin procesar. " +"Para utilizar CAN con el protocolo de gestor de difusión en su lugar, abra " +"un socket con:" -#: ../Doc/library/socket.rst:1900 +#: ../Doc/library/socket.rst:1989 msgid "" "After binding (:const:`CAN_RAW`) or connecting (:const:`CAN_BCM`) the " "socket, you can use the :meth:`socket.send`, and the :meth:`socket.recv` " "operations (and their counterparts) on the socket object as usual." msgstr "" +"Después de enlazar (:const:`CAN_RAW`) o conectar (:const:`CAN_BCM`) el " +"socket, puede usar las operaciones :meth:`socket.send` y :meth:`socket.recv` " +"(y sus contrapartes) en el objeto de socket como de costumbre." -#: ../Doc/library/socket.rst:1904 +#: ../Doc/library/socket.rst:1993 msgid "This last example might require special privileges::" -msgstr "" +msgstr "Este último ejemplo puede requerir privilegios especiales:" -#: ../Doc/library/socket.rst:1944 +#: ../Doc/library/socket.rst:2033 msgid "" "Running an example several times with too small delay between executions, " "could lead to this error::" msgstr "" +"Ejecutar un ejemplo varias veces con un retraso demasiado pequeño entre " +"ejecuciones, podría dar lugar a este error::" -#: ../Doc/library/socket.rst:1949 +#: ../Doc/library/socket.rst:2038 msgid "" "This is because the previous execution has left the socket in a " "``TIME_WAIT`` state, and can't be immediately reused." msgstr "" +"Esto se debe a que la ejecución anterior ha dejado el socket en un estado " +"``TIME_WAIT`` y no se puede reutilizar inmediatamente." -#: ../Doc/library/socket.rst:1952 +#: ../Doc/library/socket.rst:2041 msgid "" "There is a :mod:`socket` flag to set, in order to prevent this, :data:" "`socket.SO_REUSEADDR`::" msgstr "" -#: ../Doc/library/socket.rst:1959 +#: ../Doc/library/socket.rst:2048 msgid "" "the :data:`SO_REUSEADDR` flag tells the kernel to reuse a local socket in " "``TIME_WAIT`` state, without waiting for its natural timeout to expire." msgstr "" +"el indicador :data:`SO_REUSEADDR` indica al kernel que reutilice un socket " +"local en estado ``TIME_WAIT``, sin esperar a que expire su tiempo de espera " +"natural." -#: ../Doc/library/socket.rst:1965 +#: ../Doc/library/socket.rst:2054 msgid "" "For an introduction to socket programming (in C), see the following papers:" msgstr "" +"Para obtener una introducción a la programación de sockets (en C), consulte " +"los siguientes documentos:" -#: ../Doc/library/socket.rst:1967 +#: ../Doc/library/socket.rst:2056 msgid "" "*An Introductory 4.3BSD Interprocess Communication Tutorial*, by Stuart " "Sechrest" msgstr "" -#: ../Doc/library/socket.rst:1969 +#: ../Doc/library/socket.rst:2058 msgid "" "*An Advanced 4.3BSD Interprocess Communication Tutorial*, by Samuel J. " "Leffler et al," msgstr "" -#: ../Doc/library/socket.rst:1972 +#: ../Doc/library/socket.rst:2061 msgid "" "both in the UNIX Programmer's Manual, Supplementary Documents 1 (sections " "PS1:7 and PS1:8). The platform-specific reference material for the various " diff --git a/library/sqlite3.po b/library/sqlite3.po index 90a5af7cbb..9a7ac8520f 100644 --- a/library/sqlite3.po +++ b/library/sqlite3.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-10-29 22:31-0500\n" +"Last-Translator: German David Ramírez Figueroa \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: German David Ramírez Figueroa \n" -"Language: es\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/sqlite3.rst:2 msgid ":mod:`sqlite3` --- DB-API 2.0 interface for SQLite databases" @@ -134,22 +133,10 @@ msgid "This example uses the iterator form::" msgstr "Este ejemplo usa la forma con el iterador::" #: ../Doc/library/sqlite3.rst:104 -msgid "https://github.com/ghaering/pysqlite" -msgstr "https://github.com/ghaering/pysqlite" - -#: ../Doc/library/sqlite3.rst:103 -msgid "" -"The pysqlite web page -- sqlite3 is developed externally under the name " -"\"pysqlite\"." -msgstr "" -"La página web *pysqlite* -- sqlite3 se desarrolla externamente bajo el " -"nombre de \"pysqlite\"." - -#: ../Doc/library/sqlite3.rst:108 msgid "https://www.sqlite.org" msgstr "https://www.sqlite.org" -#: ../Doc/library/sqlite3.rst:107 +#: ../Doc/library/sqlite3.rst:103 msgid "" "The SQLite web page; the documentation describes the syntax and the " "available data types for the supported SQL dialect." @@ -157,27 +144,27 @@ msgstr "" "La página web SQLite; la documentación describe la sintaxis y los tipos de " "datos disponibles para el lenguaje SQL soportado." -#: ../Doc/library/sqlite3.rst:111 +#: ../Doc/library/sqlite3.rst:107 msgid "https://www.w3schools.com/sql/" msgstr "https://www.w3schools.com/sql/" -#: ../Doc/library/sqlite3.rst:111 +#: ../Doc/library/sqlite3.rst:107 msgid "Tutorial, reference and examples for learning SQL syntax." msgstr "Tutorial, referencia y ejemplos para aprender sintaxis SQL." -#: ../Doc/library/sqlite3.rst:113 +#: ../Doc/library/sqlite3.rst:109 msgid ":pep:`249` - Database API Specification 2.0" msgstr ":pep:`249` - Especificación de la API 2.0 de base de datos" -#: ../Doc/library/sqlite3.rst:114 +#: ../Doc/library/sqlite3.rst:110 msgid "PEP written by Marc-André Lemburg." msgstr "PEP escrito por Marc-André Lemburg." -#: ../Doc/library/sqlite3.rst:120 +#: ../Doc/library/sqlite3.rst:116 msgid "Module functions and constants" msgstr "Funciones y constantes del módulo" -#: ../Doc/library/sqlite3.rst:125 +#: ../Doc/library/sqlite3.rst:121 msgid "" "The version number of this module, as a string. This is not the version of " "the SQLite library." @@ -185,7 +172,7 @@ msgstr "" "El número de versión de este módulo, como una cadena de caracteres. Este no " "es la versión de la librería SQLite." -#: ../Doc/library/sqlite3.rst:131 +#: ../Doc/library/sqlite3.rst:127 msgid "" "The version number of this module, as a tuple of integers. This is not the " "version of the SQLite library." @@ -193,20 +180,20 @@ msgstr "" "El número de versión de este módulo, como una tupla de enteros. Este no es " "la versión de la librería SQLite." -#: ../Doc/library/sqlite3.rst:137 +#: ../Doc/library/sqlite3.rst:133 msgid "The version number of the run-time SQLite library, as a string." msgstr "" "El número de versión de la librería SQLite en tiempo de ejecución, como una " "cadena de caracteres." -#: ../Doc/library/sqlite3.rst:142 +#: ../Doc/library/sqlite3.rst:138 msgid "" "The version number of the run-time SQLite library, as a tuple of integers." msgstr "" "El número de versión de la librería SQLite en tiempo de ejecución, como una " "tupla de enteros." -#: ../Doc/library/sqlite3.rst:147 ../Doc/library/sqlite3.rst:160 +#: ../Doc/library/sqlite3.rst:143 ../Doc/library/sqlite3.rst:156 msgid "" "This constant is meant to be used with the *detect_types* parameter of the :" "func:`connect` function." @@ -214,7 +201,7 @@ msgstr "" "Esta constante se usa con el parámetro *detect_types* de la función :func:" "`connect`." -#: ../Doc/library/sqlite3.rst:150 +#: ../Doc/library/sqlite3.rst:146 msgid "" "Setting it makes the :mod:`sqlite3` module parse the declared type for each " "column it returns. It will parse out the first word of the declared type, " @@ -230,7 +217,7 @@ msgstr "" "esa columna, revisará el diccionario de conversiones y usará la función de " "conversión registrada para ese tipo." -#: ../Doc/library/sqlite3.rst:163 +#: ../Doc/library/sqlite3.rst:159 msgid "" "Setting this makes the SQLite interface parse the column name for each " "column it returns. It will look for a string formed [mytype] in there, and " @@ -253,7 +240,7 @@ msgstr "" "de la columna y eliminará el espacio anterior: el nombre de la columna " "sería: \"Expiration date\"." -#: ../Doc/library/sqlite3.rst:176 +#: ../Doc/library/sqlite3.rst:172 msgid "" "Opens a connection to the SQLite database file *database*. By default " "returns a :class:`Connection` object, unless a custom *factory* is given." @@ -262,7 +249,7 @@ msgstr "" "retorna un objeto :class:`Connection`, a menos que se indique un *factory* " "personalizado." -#: ../Doc/library/sqlite3.rst:179 +#: ../Doc/library/sqlite3.rst:175 msgid "" "*database* is a :term:`path-like object` giving the pathname (absolute or " "relative to the current working directory) of the database file to be " @@ -275,7 +262,7 @@ msgstr "" "base de datos a una base de datos que reside en memoria RAM en lugar que " "disco." -#: ../Doc/library/sqlite3.rst:184 +#: ../Doc/library/sqlite3.rst:180 msgid "" "When a database is accessed by multiple connections, and one of the " "processes modifies the database, the SQLite database is locked until that " @@ -289,7 +276,7 @@ msgstr "" "debe esperar la conexión para que el bloqueo desaparezca antes de lanzar una " "excepción. Por defecto el parámetro *timeout* es de 5.0 (cinco segundos)." -#: ../Doc/library/sqlite3.rst:190 +#: ../Doc/library/sqlite3.rst:186 msgid "" "For the *isolation_level* parameter, please see the :attr:`~Connection." "isolation_level` property of :class:`Connection` objects." @@ -297,7 +284,7 @@ msgstr "" "Para el parámetro *isolation_level*, por favor ver la propiedad :attr:" "`~Connection.isolation_level` del objeto :class:`Connection`." -#: ../Doc/library/sqlite3.rst:193 +#: ../Doc/library/sqlite3.rst:189 msgid "" "SQLite natively supports only the types TEXT, INTEGER, REAL, BLOB and NULL. " "If you want to use other types you must add support for them yourself. The " @@ -311,17 +298,16 @@ msgstr "" "registrados con la función a nivel del módulo :func:`register_converter` " "permite hacerlo fácilmente." -#: ../Doc/library/sqlite3.rst:198 +#: ../Doc/library/sqlite3.rst:194 msgid "" "*detect_types* defaults to 0 (i. e. off, no type detection), you can set it " "to any combination of :const:`PARSE_DECLTYPES` and :const:`PARSE_COLNAMES` " -"to turn type detection on." +"to turn type detection on. Due to SQLite behaviour, types can't be detected " +"for generated fields (for example ``max(data)``), even when *detect_types* " +"parameter is set. In such case, the returned type is :class:`str`." msgstr "" -"*detect_types* por defecto es 0 (por ejemplo *off*, no detección de tipo), " -"se puede configurar a cualquier combinación de :const:`PARSE_DECLTYPES` y :" -"const:`PARSE_COLNAMES` para encender la detección." -#: ../Doc/library/sqlite3.rst:202 +#: ../Doc/library/sqlite3.rst:200 msgid "" "By default, *check_same_thread* is :const:`True` and only the creating " "thread may use the connection. If set :const:`False`, the returned " @@ -335,7 +321,7 @@ msgstr "" "utilizan múltiples hilos con la misma conexión, las operaciones de escritura " "deberán ser serializadas por el usuario para evitar corrupción de datos." -#: ../Doc/library/sqlite3.rst:207 +#: ../Doc/library/sqlite3.rst:205 msgid "" "By default, the :mod:`sqlite3` module uses its :class:`Connection` class for " "the connect call. You can, however, subclass the :class:`Connection` class " @@ -347,12 +333,12 @@ msgstr "" "subclase de :class:`Connection` y hacer que :func:`connect` use su clase en " "lugar de proveer la suya en el parámetro *factory*." -#: ../Doc/library/sqlite3.rst:212 +#: ../Doc/library/sqlite3.rst:210 msgid "Consult the section :ref:`sqlite3-types` of this manual for details." msgstr "" "Consulte la sección :ref:`sqlite3-types` de este manual para más detalles." -#: ../Doc/library/sqlite3.rst:214 +#: ../Doc/library/sqlite3.rst:212 msgid "" "The :mod:`sqlite3` module internally uses a statement cache to avoid SQL " "parsing overhead. If you want to explicitly set the number of statements " @@ -365,7 +351,7 @@ msgstr "" "*cached_statements*. Por defecto están configurado para 100 sentencias en " "memoria caché." -#: ../Doc/library/sqlite3.rst:219 +#: ../Doc/library/sqlite3.rst:217 msgid "" "If *uri* is true, *database* is interpreted as a URI. This allows you to " "specify options. For example, to open a database in read-only mode you can " @@ -375,7 +361,7 @@ msgstr "" "permite especificar opciones. Por ejemplo, para abrir la base de datos en " "modo solo lectura puedes usar::" -#: ../Doc/library/sqlite3.rst:225 +#: ../Doc/library/sqlite3.rst:223 msgid "" "More information about this feature, including a list of recognized options, " "can be found in the `SQLite URI documentation `_." -#: ../Doc/library/sqlite3.rst:229 +#: ../Doc/library/sqlite3.rst:226 msgid "" "Raises an :ref:`auditing event ` ``sqlite3.connect`` with argument " "``database``." @@ -393,18 +379,18 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``sqlite3.connect`` con " "argumento ``database``." -#: ../Doc/library/sqlite3.rst:230 +#: ../Doc/library/sqlite3.rst:228 msgid "Added the *uri* parameter." msgstr "Agregado el parámetro *uri*." -#: ../Doc/library/sqlite3.rst:233 +#: ../Doc/library/sqlite3.rst:231 msgid "" "*database* can now also be a :term:`path-like object`, not only a string." msgstr "" "*database* ahora también puede ser un :term:`path-like object`, no solo una " "cadena de caracteres." -#: ../Doc/library/sqlite3.rst:239 +#: ../Doc/library/sqlite3.rst:237 msgid "" "Registers a callable to convert a bytestring from the database into a custom " "Python type. The callable will be invoked for all database values that are " @@ -421,7 +407,7 @@ msgstr "" "nombre del tipo en la consulta son comparados insensiblemente a mayúsculas y " "minúsculas." -#: ../Doc/library/sqlite3.rst:248 +#: ../Doc/library/sqlite3.rst:246 msgid "" "Registers a callable to convert the custom Python type *type* into one of " "SQLite's supported types. The callable *callable* accepts as single " @@ -433,7 +419,7 @@ msgstr "" "único parámetro de valor Python, y debe retornar un valor de los siguientes " "tipos: *int*, *float*, *str* or *bytes*." -#: ../Doc/library/sqlite3.rst:256 +#: ../Doc/library/sqlite3.rst:254 msgid "" "Returns :const:`True` if the string *sql* contains one or more complete SQL " "statements terminated by semicolons. It does not verify that the SQL is " @@ -445,14 +431,14 @@ msgstr "" "sea sintácticamente correcta, solo que no existan literales de cadenas no " "cerradas y que la sentencia termine por un punto y coma." -#: ../Doc/library/sqlite3.rst:261 +#: ../Doc/library/sqlite3.rst:259 msgid "" "This can be used to build a shell for SQLite, as in the following example:" msgstr "" "Esto puede ser usado para construir un *shell* para SQLite, como en el " "siguiente ejemplo:" -#: ../Doc/library/sqlite3.rst:269 +#: ../Doc/library/sqlite3.rst:267 msgid "" "By default you will not get any tracebacks in user-defined functions, " "aggregates, converters, authorizer callbacks etc. If you want to debug them, " @@ -466,16 +452,16 @@ msgstr "" "``True``. Después se obtendrán *tracebacks* de los *callbacks* en ``sys." "stderr``. Usar :const:`False` para deshabilitar la característica de nuevo." -#: ../Doc/library/sqlite3.rst:279 +#: ../Doc/library/sqlite3.rst:277 msgid "Connection Objects" msgstr "Objetos de conexión" -#: ../Doc/library/sqlite3.rst:283 +#: ../Doc/library/sqlite3.rst:281 msgid "A SQLite database connection has the following attributes and methods:" msgstr "" "Una conexión a base de datos SQLite tiene los siguientes atributos y métodos:" -#: ../Doc/library/sqlite3.rst:287 +#: ../Doc/library/sqlite3.rst:285 msgid "" "Get or set the current default isolation level. :const:`None` for autocommit " "mode or one of \"DEFERRED\", \"IMMEDIATE\" or \"EXCLUSIVE\". See section :" @@ -486,7 +472,7 @@ msgstr "" "sección :ref:`sqlite3-controlling-transactions` para una explicación " "detallada." -#: ../Doc/library/sqlite3.rst:293 +#: ../Doc/library/sqlite3.rst:291 msgid "" ":const:`True` if a transaction is active (there are uncommitted changes), :" "const:`False` otherwise. Read-only attribute." @@ -495,7 +481,7 @@ msgstr "" "*uncommitted*), :const:`False` en sentido contrario. Atributo de solo " "lectura." -#: ../Doc/library/sqlite3.rst:300 +#: ../Doc/library/sqlite3.rst:298 msgid "" "The cursor method accepts a single optional parameter *factory*. If " "supplied, this must be a callable returning an instance of :class:`Cursor` " @@ -505,7 +491,7 @@ msgstr "" "agregado, éste debe ser un invocable que retorna una instancia de :class:" "`Cursor` o sus subclases." -#: ../Doc/library/sqlite3.rst:306 +#: ../Doc/library/sqlite3.rst:304 msgid "" "This method commits the current transaction. If you don't call this method, " "anything you did since the last call to ``commit()`` is not visible from " @@ -518,7 +504,7 @@ msgstr "" "los datos que escribiste, por favor verifica que no olvidaste llamar este " "método." -#: ../Doc/library/sqlite3.rst:313 +#: ../Doc/library/sqlite3.rst:311 msgid "" "This method rolls back any changes to the database since the last call to :" "meth:`commit`." @@ -526,7 +512,7 @@ msgstr "" "Este método retrocede cualquier cambio en la base de datos desde la llamada " "del último :meth:`commit`." -#: ../Doc/library/sqlite3.rst:318 +#: ../Doc/library/sqlite3.rst:316 msgid "" "This closes the database connection. Note that this does not automatically " "call :meth:`commit`. If you just close your database connection without " @@ -536,7 +522,7 @@ msgstr "" "automáticamente :meth:`commit`. Si se cierra la conexión a la base de datos " "sin llamar primero :meth:`commit`, los cambios se perderán!" -#: ../Doc/library/sqlite3.rst:324 +#: ../Doc/library/sqlite3.rst:322 msgid "" "This is a nonstandard shortcut that creates a cursor object by calling the :" "meth:`~Connection.cursor` method, calls the cursor's :meth:`~Cursor.execute` " @@ -546,7 +532,7 @@ msgstr "" "meth:`~Connection.cursor`, llama su método :meth:`~Cursor.execute` con los " "*parameters* dados, y retorna el cursor." -#: ../Doc/library/sqlite3.rst:331 +#: ../Doc/library/sqlite3.rst:329 msgid "" "This is a nonstandard shortcut that creates a cursor object by calling the :" "meth:`~Connection.cursor` method, calls the cursor's :meth:`~Cursor." @@ -556,7 +542,7 @@ msgstr "" "meth:`~Connection.cursor`, llama su método :meth:`~Cursor.executemany` con " "los *parameters* dados, y retorna el cursor." -#: ../Doc/library/sqlite3.rst:338 +#: ../Doc/library/sqlite3.rst:336 msgid "" "This is a nonstandard shortcut that creates a cursor object by calling the :" "meth:`~Connection.cursor` method, calls the cursor's :meth:`~Cursor." @@ -566,7 +552,7 @@ msgstr "" "meth:`~Connection.cursor`, llama su método :meth:`~Cursor.executescript` con " "el *sql_script*, y retorna el cursor." -#: ../Doc/library/sqlite3.rst:345 +#: ../Doc/library/sqlite3.rst:343 msgid "" "Creates a user-defined function that you can later use from within SQL " "statements under the function name *name*. *num_params* is the number of " @@ -588,7 +574,7 @@ msgstr "" "adicionales. Esta marca es soportada por SQLite 3.8.3 o superior, será " "lanzado :exc:`NotSupportedError` si se usa con versiones antiguas." -#: ../Doc/library/sqlite3.rst:355 +#: ../Doc/library/sqlite3.rst:353 msgid "" "The function can return any of the types supported by SQLite: bytes, str, " "int, float and ``None``." @@ -596,20 +582,20 @@ msgstr "" "La función puede retornar cualquier tipo soportado por SQLite: bytes, str, " "int, float y ``None``." -#: ../Doc/library/sqlite3.rst:358 +#: ../Doc/library/sqlite3.rst:356 msgid "The *deterministic* parameter was added." msgstr "El parámetro *deterministic* fue agregado." -#: ../Doc/library/sqlite3.rst:361 ../Doc/library/sqlite3.rst:378 -#: ../Doc/library/sqlite3.rst:492 ../Doc/library/sqlite3.rst:649 +#: ../Doc/library/sqlite3.rst:359 ../Doc/library/sqlite3.rst:376 +#: ../Doc/library/sqlite3.rst:490 ../Doc/library/sqlite3.rst:647 msgid "Example:" msgstr "Ejemplo:" -#: ../Doc/library/sqlite3.rst:368 +#: ../Doc/library/sqlite3.rst:366 msgid "Creates a user-defined aggregate function." msgstr "Crea una función agregada definida por el usuario." -#: ../Doc/library/sqlite3.rst:370 +#: ../Doc/library/sqlite3.rst:368 msgid "" "The aggregate class must implement a ``step`` method, which accepts the " "number of parameters *num_params* (if *num_params* is -1, the function may " @@ -621,7 +607,7 @@ msgstr "" "tomar cualquier número de argumentos), y un método ``finalize`` el cual " "retornará el resultado final del agregado." -#: ../Doc/library/sqlite3.rst:375 +#: ../Doc/library/sqlite3.rst:373 msgid "" "The ``finalize`` method can return any of the types supported by SQLite: " "bytes, str, int, float and ``None``." @@ -629,7 +615,7 @@ msgstr "" "El método ``finalize`` puede retornar cualquiera de los tipos soportados por " "SQLite: bytes, str, int, float and ``None``." -#: ../Doc/library/sqlite3.rst:385 +#: ../Doc/library/sqlite3.rst:383 msgid "" "Creates a collation with the specified *name* and *callable*. The callable " "will be passed two string arguments. It should return -1 if the first is " @@ -644,7 +630,7 @@ msgstr "" "la ordenación (ORDER BY en SQL) por lo tanto sus comparaciones no afectan " "otras comparaciones SQL." -#: ../Doc/library/sqlite3.rst:391 +#: ../Doc/library/sqlite3.rst:389 msgid "" "Note that the callable will get its parameters as Python bytestrings, which " "will normally be encoded in UTF-8." @@ -652,21 +638,21 @@ msgstr "" "Note que el invocable obtiene sus parámetros como Python bytestrings, lo " "cual normalmente será codificado en UTF-8." -#: ../Doc/library/sqlite3.rst:394 +#: ../Doc/library/sqlite3.rst:392 msgid "" "The following example shows a custom collation that sorts \"the wrong way\":" msgstr "" "El siguiente ejemplo muestra una *collation* personalizada que ordena \"La " "forma incorrecta\":" -#: ../Doc/library/sqlite3.rst:398 +#: ../Doc/library/sqlite3.rst:396 msgid "" "To remove a collation, call ``create_collation`` with ``None`` as callable::" msgstr "" "Para remover una collation, llama ``create_collation`` con ``None`` como " "invocable::" -#: ../Doc/library/sqlite3.rst:405 +#: ../Doc/library/sqlite3.rst:403 msgid "" "You can call this method from a different thread to abort any queries that " "might be executing on the connection. The query will then abort and the " @@ -676,7 +662,7 @@ msgstr "" "consulta que pueda estar ejecutándose en la conexión. La consulta será " "abortada y quien realiza la llamada obtendrá una excepción." -#: ../Doc/library/sqlite3.rst:412 +#: ../Doc/library/sqlite3.rst:410 msgid "" "This routine registers a callback. The callback is invoked for each attempt " "to access a column of a table in the database. The callback should return :" @@ -692,7 +678,7 @@ msgstr "" "error y :const:`SQLITE_IGNORE` si la columna deberá ser tratada como un " "valor NULL. Estas constantes están disponibles en el módulo :mod:`sqlite3`." -#: ../Doc/library/sqlite3.rst:419 +#: ../Doc/library/sqlite3.rst:417 msgid "" "The first argument to the callback signifies what kind of operation is to be " "authorized. The second and third argument will be arguments or :const:`None` " @@ -710,7 +696,7 @@ msgstr "" "intentos de acceso o :const:`None` si este intento de acceso es directo " "desde el código SQL de entrada." -#: ../Doc/library/sqlite3.rst:426 +#: ../Doc/library/sqlite3.rst:424 msgid "" "Please consult the SQLite documentation about the possible values for the " "first argument and the meaning of the second and third argument depending on " @@ -722,7 +708,7 @@ msgstr "" "dependiendo del primero. Todas las constantes necesarias están disponibles " "en el módulo :mod:`sqlite3`." -#: ../Doc/library/sqlite3.rst:433 +#: ../Doc/library/sqlite3.rst:431 msgid "" "This routine registers a callback. The callback is invoked for every *n* " "instructions of the SQLite virtual machine. This is useful if you want to " @@ -734,7 +720,7 @@ msgstr "" "llamado a SQLite durante operaciones de larga duración, por ejemplo para " "actualizar una GUI." -#: ../Doc/library/sqlite3.rst:438 +#: ../Doc/library/sqlite3.rst:436 msgid "" "If you want to clear any previously installed progress handler, call the " "method with :const:`None` for *handler*." @@ -742,7 +728,7 @@ msgstr "" "Si se desea limpiar cualquier *progress handler* instalado previamente, " "llame el método con :const:`None` para *handler*." -#: ../Doc/library/sqlite3.rst:441 +#: ../Doc/library/sqlite3.rst:439 msgid "" "Returning a non-zero value from the handler function will terminate the " "currently executing query and cause it to raise an :exc:`OperationalError` " @@ -751,7 +737,7 @@ msgstr "" "Retornando un valor diferente a 0 de la función gestora terminará la actual " "consulta en ejecución y causará lanzar una excepción :exc:`OperationalError`." -#: ../Doc/library/sqlite3.rst:448 +#: ../Doc/library/sqlite3.rst:446 msgid "" "Registers *trace_callback* to be called for each SQL statement that is " "actually executed by the SQLite backend." @@ -759,7 +745,7 @@ msgstr "" "Registra *trace_callback* para ser llamado por cada sentencia SQL que " "realmente se ejecute por el *backend* de SQLite." -#: ../Doc/library/sqlite3.rst:451 +#: ../Doc/library/sqlite3.rst:449 msgid "" "The only argument passed to the callback is the statement (as string) that " "is being executed. The return value of the callback is ignored. Note that " @@ -774,14 +760,14 @@ msgstr "" "del módulo de Python y la ejecución de los disparadores definidos en la " "actual base de datos." -#: ../Doc/library/sqlite3.rst:457 +#: ../Doc/library/sqlite3.rst:455 msgid "" "Passing :const:`None` as *trace_callback* will disable the trace callback." msgstr "" "Pasando :const:`None` como *trace_callback* deshabilitara el *trace " "callback*." -#: ../Doc/library/sqlite3.rst:464 +#: ../Doc/library/sqlite3.rst:462 msgid "" "This routine allows/disallows the SQLite engine to load SQLite extensions " "from shared libraries. SQLite extensions can define new functions, " @@ -794,12 +780,12 @@ msgstr "" "virtuales. Una bien conocida extensión es *fulltext-search* distribuida con " "SQLite." -#: ../Doc/library/sqlite3.rst:469 ../Doc/library/sqlite3.rst:481 +#: ../Doc/library/sqlite3.rst:467 ../Doc/library/sqlite3.rst:479 msgid "Loadable extensions are disabled by default. See [#f1]_." msgstr "" "Las extensiones cargables están deshabilitadas por defecto. Ver [#f1]_." -#: ../Doc/library/sqlite3.rst:477 +#: ../Doc/library/sqlite3.rst:475 msgid "" "This routine loads a SQLite extension from a shared library. You have to " "enable extension loading with :meth:`enable_load_extension` before you can " @@ -809,7 +795,7 @@ msgstr "" "habilitar la carga de extensiones con :meth:`enable_load_extension` antes de " "usar esta rutina." -#: ../Doc/library/sqlite3.rst:487 +#: ../Doc/library/sqlite3.rst:485 msgid "" "You can change this attribute to a callable that accepts the cursor and the " "original row as a tuple and will return the real result row. This way, you " @@ -822,7 +808,7 @@ msgstr "" "tales como retornar un objeto que puede también acceder a las columnas por " "su nombre." -#: ../Doc/library/sqlite3.rst:496 +#: ../Doc/library/sqlite3.rst:494 msgid "" "If returning a tuple doesn't suffice and you want name-based access to " "columns, you should consider setting :attr:`row_factory` to the highly-" @@ -839,7 +825,7 @@ msgstr "" "basado en diccionario personalizado o incluso mejor que una solución basada " "en *db_row*." -#: ../Doc/library/sqlite3.rst:508 +#: ../Doc/library/sqlite3.rst:506 msgid "" "Using this attribute you can control what objects are returned for the " "``TEXT`` data type. By default, this attribute is set to :class:`str` and " @@ -852,7 +838,7 @@ msgstr "" "en cambio se quiere retornar *bytestrings*, se debe configurar a :class:" "`bytes`." -#: ../Doc/library/sqlite3.rst:513 +#: ../Doc/library/sqlite3.rst:511 msgid "" "You can also set it to any other callable that accepts a single bytestring " "parameter and returns the resulting object." @@ -860,11 +846,11 @@ msgstr "" "También se puede configurar a cualquier otro *callable* que acepte un único " "parámetro *bytestring* y retorne el objeto resultante." -#: ../Doc/library/sqlite3.rst:516 +#: ../Doc/library/sqlite3.rst:514 msgid "See the following example code for illustration:" msgstr "Ver el siguiente ejemplo de código para ilustración:" -#: ../Doc/library/sqlite3.rst:523 +#: ../Doc/library/sqlite3.rst:521 msgid "" "Returns the total number of database rows that have been modified, inserted, " "or deleted since the database connection was opened." @@ -873,7 +859,7 @@ msgstr "" "modificadas, insertadas o borradas desde que la conexión a la base de datos " "fue abierta." -#: ../Doc/library/sqlite3.rst:529 +#: ../Doc/library/sqlite3.rst:527 msgid "" "Returns an iterator to dump the database in an SQL text format. Useful when " "saving an in-memory database for later restoration. This function provides " @@ -885,11 +871,11 @@ msgstr "" "restauración. Esta función provee las mismas capacidades que el comando :kbd:" "`dump` en el *shell* :program:`sqlite3`." -#: ../Doc/library/sqlite3.rst:534 +#: ../Doc/library/sqlite3.rst:532 msgid "Example::" msgstr "Ejemplo::" -#: ../Doc/library/sqlite3.rst:548 +#: ../Doc/library/sqlite3.rst:546 msgid "" "This method makes a backup of a SQLite database even while it's being " "accessed by other clients, or concurrently by the same connection. The copy " @@ -901,7 +887,7 @@ msgstr "" "conexión. La copia será escrita dentro del argumento obligatorio *target*, " "que deberá ser otra instancia de :class:`Connection`." -#: ../Doc/library/sqlite3.rst:553 +#: ../Doc/library/sqlite3.rst:551 msgid "" "By default, or when *pages* is either ``0`` or a negative integer, the " "entire database is copied in a single step; otherwise the method performs a " @@ -911,7 +897,7 @@ msgstr "" "datos completa es copiada en un solo paso; de otra forma el método realiza " "un bucle copiando hasta el número de *pages* a la vez." -#: ../Doc/library/sqlite3.rst:557 +#: ../Doc/library/sqlite3.rst:555 msgid "" "If *progress* is specified, it must either be ``None`` or a callable object " "that will be executed at each iteration with three integer arguments, " @@ -924,7 +910,7 @@ msgstr "" "*remaining* numero de páginas presentes para ser copiadas y el número total " "*total* de páginas." -#: ../Doc/library/sqlite3.rst:562 +#: ../Doc/library/sqlite3.rst:560 msgid "" "The *name* argument specifies the database name that will be copied: it must " "be a string containing either ``\"main\"``, the default, to indicate the " @@ -938,7 +924,7 @@ msgstr "" "de datos temporal o el nombre especificado después de la palabra clave " "``AS`` en una sentencia ``ATTACH DATABASE`` para una base de datos adjunta." -#: ../Doc/library/sqlite3.rst:568 +#: ../Doc/library/sqlite3.rst:566 msgid "" "The *sleep* argument specifies the number of seconds to sleep by between " "successive attempts to backup remaining pages, can be specified either as an " @@ -948,29 +934,29 @@ msgstr "" "sucesivos intentos de respaldar páginas restantes, puede ser especificado " "como un entero o un valor de punto flotante." -#: ../Doc/library/sqlite3.rst:572 +#: ../Doc/library/sqlite3.rst:570 msgid "Example 1, copy an existing database into another::" msgstr "Ejemplo 1, copiar una base de datos existente en otra::" -#: ../Doc/library/sqlite3.rst:586 +#: ../Doc/library/sqlite3.rst:584 msgid "Example 2, copy an existing database into a transient copy::" msgstr "" "Ejemplo 2: copiar una base de datos existente en una copia transitoria::" -#: ../Doc/library/sqlite3.rst:594 +#: ../Doc/library/sqlite3.rst:592 msgid "Availability: SQLite 3.6.11 or higher" msgstr "Disponibilidad: SQLite 3.6.11 o superior" -#: ../Doc/library/sqlite3.rst:602 +#: ../Doc/library/sqlite3.rst:600 msgid "Cursor Objects" msgstr "Objetos Cursor" -#: ../Doc/library/sqlite3.rst:606 +#: ../Doc/library/sqlite3.rst:604 msgid "A :class:`Cursor` instance has the following attributes and methods." msgstr "" "Una instancia de :class:`Cursor` tiene los siguientes atributos y métodos." -#: ../Doc/library/sqlite3.rst:613 +#: ../Doc/library/sqlite3.rst:611 msgid "" "Executes an SQL statement. The SQL statement may be parameterized (i. e. " "placeholders instead of SQL literals). The :mod:`sqlite3` module supports " @@ -982,11 +968,11 @@ msgstr "" "soporta dos tipos de marcadores: signos de interrogación (estilo qmark) y " "marcadores nombrados (estilo nombrado)." -#: ../Doc/library/sqlite3.rst:618 +#: ../Doc/library/sqlite3.rst:616 msgid "Here's an example of both styles:" msgstr "Acá esta un ejemplo con los dos estilos:" -#: ../Doc/library/sqlite3.rst:622 +#: ../Doc/library/sqlite3.rst:620 msgid "" ":meth:`execute` will only execute a single SQL statement. If you try to " "execute more than one statement with it, it will raise a :exc:`.Warning`. " @@ -998,7 +984,7 @@ msgstr "" "`executescript` si se quiere ejecutar múltiples sentencias SQL con una " "llamada." -#: ../Doc/library/sqlite3.rst:630 +#: ../Doc/library/sqlite3.rst:628 msgid "" "Executes an SQL command against all parameter sequences or mappings found in " "the sequence *seq_of_parameters*. The :mod:`sqlite3` module also allows " @@ -1009,11 +995,11 @@ msgstr "" "también permite usar un :term:`iterator` produciendo parámetros en lugar de " "una secuencia." -#: ../Doc/library/sqlite3.rst:636 +#: ../Doc/library/sqlite3.rst:634 msgid "Here's a shorter example using a :term:`generator`:" msgstr "Acá un corto ejemplo usando un :term:`generator`:" -#: ../Doc/library/sqlite3.rst:643 +#: ../Doc/library/sqlite3.rst:641 msgid "" "This is a nonstandard convenience method for executing multiple SQL " "statements at once. It issues a ``COMMIT`` statement first, then executes " @@ -1023,11 +1009,11 @@ msgstr "" "SQL de una vez. Emite una sentencia ``COMMIT`` primero, luego ejecuta el " "script SQL obtenido como parámetro." -#: ../Doc/library/sqlite3.rst:647 +#: ../Doc/library/sqlite3.rst:645 msgid "*sql_script* can be an instance of :class:`str`." msgstr "*sql_script* puede ser una instancia de :class:`str`." -#: ../Doc/library/sqlite3.rst:656 +#: ../Doc/library/sqlite3.rst:654 msgid "" "Fetches the next row of a query result set, returning a single sequence, or :" "const:`None` when no more data is available." @@ -1035,7 +1021,7 @@ msgstr "" "Obtiene la siguiente fila de un conjunto resultado, retorna una única " "secuencia, o :const:`None` cuando no hay más datos disponibles." -#: ../Doc/library/sqlite3.rst:662 +#: ../Doc/library/sqlite3.rst:660 msgid "" "Fetches the next set of rows of a query result, returning a list. An empty " "list is returned when no more rows are available." @@ -1044,7 +1030,7 @@ msgstr "" "retornando una lista. Una lista vacía es retornada cuando no hay más filas " "disponibles." -#: ../Doc/library/sqlite3.rst:665 +#: ../Doc/library/sqlite3.rst:663 msgid "" "The number of rows to fetch per call is specified by the *size* parameter. " "If it is not given, the cursor's arraysize determines the number of rows to " @@ -1059,7 +1045,7 @@ msgstr "" "número especificado de filas no está disponible, entonces menos filas " "deberán ser retornadas." -#: ../Doc/library/sqlite3.rst:671 +#: ../Doc/library/sqlite3.rst:669 msgid "" "Note there are performance considerations involved with the *size* " "parameter. For optimal performance, it is usually best to use the arraysize " @@ -1071,7 +1057,7 @@ msgstr "" "*arraysize*. Si el parámetro *size* es usado, entonces es mejor retener el " "mismo valor de una llamada :meth:`fetchmany` a la siguiente." -#: ../Doc/library/sqlite3.rst:678 +#: ../Doc/library/sqlite3.rst:676 msgid "" "Fetches all (remaining) rows of a query result, returning a list. Note that " "the cursor's arraysize attribute can affect the performance of this " @@ -1081,11 +1067,11 @@ msgstr "" "que el atributo arraysize del cursor puede afectar el desempeño de esta " "operación. Una lista vacía será retornada cuando no hay filas disponibles." -#: ../Doc/library/sqlite3.rst:684 +#: ../Doc/library/sqlite3.rst:682 msgid "Close the cursor now (rather than whenever ``__del__`` is called)." msgstr "Cierra el cursor ahora (en lugar que cuando ``__del__`` es llamado)" -#: ../Doc/library/sqlite3.rst:686 +#: ../Doc/library/sqlite3.rst:684 msgid "" "The cursor will be unusable from this point forward; a :exc:" "`ProgrammingError` exception will be raised if any operation is attempted " @@ -1095,7 +1081,7 @@ msgstr "" "`ProgrammingError` será lanzada si se intenta cualquier operación con el " "cursor." -#: ../Doc/library/sqlite3.rst:691 +#: ../Doc/library/sqlite3.rst:689 msgid "" "Although the :class:`Cursor` class of the :mod:`sqlite3` module implements " "this attribute, the database engine's own support for the determination of " @@ -1105,7 +1091,7 @@ msgstr "" "este atributo, el propio soporte del motor de base de datos para la " "determinación de \"filas afectadas\"/\"filas seleccionadas\" es raro." -#: ../Doc/library/sqlite3.rst:695 +#: ../Doc/library/sqlite3.rst:693 msgid "" "For :meth:`executemany` statements, the number of modifications are summed " "up into :attr:`rowcount`." @@ -1113,7 +1099,7 @@ msgstr "" "Para sentencias :meth:`executemany`, el número de modificaciones se resumen " "en :attr:`rowcount`." -#: ../Doc/library/sqlite3.rst:698 +#: ../Doc/library/sqlite3.rst:696 msgid "" "As required by the Python DB API Spec, the :attr:`rowcount` attribute \"is " "-1 in case no ``executeXX()`` has been performed on the cursor or the " @@ -1128,7 +1114,7 @@ msgstr "" "determinar el número de filas que una consulta produce hasta que todas las " "filas sean obtenidas." -#: ../Doc/library/sqlite3.rst:704 +#: ../Doc/library/sqlite3.rst:702 msgid "" "With SQLite versions before 3.6.5, :attr:`rowcount` is set to 0 if you make " "a ``DELETE FROM table`` without any condition." @@ -1136,7 +1122,7 @@ msgstr "" "Con versiones de SQLite anteriores a 3.6.5, :attr:`rowcount` es configurado " "a 0 si se hace un ``DELETE FROM table`` sin ninguna condición." -#: ../Doc/library/sqlite3.rst:709 +#: ../Doc/library/sqlite3.rst:707 msgid "" "This read-only attribute provides the rowid of the last modified row. It is " "only set if you issued an ``INSERT`` or a ``REPLACE`` statement using the :" @@ -1150,7 +1136,7 @@ msgstr "" "``REPLACE`` o cuando :meth:`executemany` es llamado, :attr:`lastrowid` es " "configurado a :const:`None`." -#: ../Doc/library/sqlite3.rst:715 +#: ../Doc/library/sqlite3.rst:713 msgid "" "If the ``INSERT`` or ``REPLACE`` statement failed to insert the previous " "successful rowid is returned." @@ -1158,11 +1144,11 @@ msgstr "" "Si la sentencia ``INSERT`` o ``REPLACE`` no se pudo insertar, se retorna el " "anterior rowid exitoso." -#: ../Doc/library/sqlite3.rst:718 +#: ../Doc/library/sqlite3.rst:716 msgid "Added support for the ``REPLACE`` statement." msgstr "Se agregó soporte para sentencias ``REPLACE``." -#: ../Doc/library/sqlite3.rst:723 +#: ../Doc/library/sqlite3.rst:721 msgid "" "Read/write attribute that controls the number of rows returned by :meth:" "`fetchmany`. The default value is 1 which means a single row would be " @@ -1172,7 +1158,7 @@ msgstr "" "por :meth:`fetchmany`. El valor por defecto es 1, lo cual significa que una " "única fila será obtenida por llamada." -#: ../Doc/library/sqlite3.rst:728 +#: ../Doc/library/sqlite3.rst:726 msgid "" "This read-only attribute provides the column names of the last query. To " "remain compatible with the Python DB API, it returns a 7-tuple for each " @@ -1182,13 +1168,13 @@ msgstr "" "consulta. Para ser compatible con Python DB API, retorna una 7-tupla para " "cada columna en donde los últimos seis ítems de cada tupla son :const:`None`." -#: ../Doc/library/sqlite3.rst:732 +#: ../Doc/library/sqlite3.rst:730 msgid "It is set for ``SELECT`` statements without any matching rows as well." msgstr "" "También es configurado para sentencias ``SELECT`` sin ninguna fila " "coincidente." -#: ../Doc/library/sqlite3.rst:736 +#: ../Doc/library/sqlite3.rst:734 msgid "" "This read-only attribute provides the SQLite database :class:`Connection` " "used by the :class:`Cursor` object. A :class:`Cursor` object created by " @@ -1200,11 +1186,11 @@ msgstr "" "creado por la llamada de :meth:`con.cursor() ` tendrá un " "atributo :attr:`connection` que se refiere a *con*::" -#: ../Doc/library/sqlite3.rst:749 +#: ../Doc/library/sqlite3.rst:747 msgid "Row Objects" msgstr "Objetos Fila (*Row*)" -#: ../Doc/library/sqlite3.rst:753 +#: ../Doc/library/sqlite3.rst:751 msgid "" "A :class:`Row` instance serves as a highly optimized :attr:`~Connection." "row_factory` for :class:`Connection` objects. It tries to mimic a tuple in " @@ -1214,7 +1200,7 @@ msgstr "" "`~Connection.row_factory` para objetos :class:`Connection`. Esta trata de " "imitar una tupla en su mayoría de características." -#: ../Doc/library/sqlite3.rst:757 +#: ../Doc/library/sqlite3.rst:755 msgid "" "It supports mapping access by column name and index, iteration, " "representation, equality testing and :func:`len`." @@ -1222,7 +1208,7 @@ msgstr "" "Soporta acceso mapeado por nombre de columna e índice, iteración, " "representación, pruebas de igualdad y :func:`len`." -#: ../Doc/library/sqlite3.rst:760 +#: ../Doc/library/sqlite3.rst:758 msgid "" "If two :class:`Row` objects have exactly the same columns and their members " "are equal, they compare equal." @@ -1230,7 +1216,7 @@ msgstr "" "Si dos objetos :class:`Row` tienen exactamente las mismas columnas y sus " "miembros son iguales, entonces se comparan a igual." -#: ../Doc/library/sqlite3.rst:765 +#: ../Doc/library/sqlite3.rst:763 msgid "" "This method returns a list of column names. Immediately after a query, it is " "the first member of each tuple in :attr:`Cursor.description`." @@ -1239,27 +1225,27 @@ msgstr "" "después de una consulta, es el primer miembro de cada tupla en :attr:`Cursor." "description`." -#: ../Doc/library/sqlite3.rst:768 +#: ../Doc/library/sqlite3.rst:766 msgid "Added support of slicing." msgstr "Agrega soporte de segmentación." -#: ../Doc/library/sqlite3.rst:771 +#: ../Doc/library/sqlite3.rst:769 msgid "Let's assume we initialize a table as in the example given above::" msgstr "Vamos a asumir que se inicializa una tabla como en el ejemplo dado::" -#: ../Doc/library/sqlite3.rst:783 +#: ../Doc/library/sqlite3.rst:781 msgid "Now we plug :class:`Row` in::" msgstr "Ahora conectamos :class:`Row` en::" -#: ../Doc/library/sqlite3.rst:815 +#: ../Doc/library/sqlite3.rst:813 msgid "Exceptions" msgstr "Excepciones" -#: ../Doc/library/sqlite3.rst:819 +#: ../Doc/library/sqlite3.rst:817 msgid "A subclass of :exc:`Exception`." msgstr "Una subclase de :exc:`Exception`." -#: ../Doc/library/sqlite3.rst:823 +#: ../Doc/library/sqlite3.rst:821 msgid "" "The base class of the other exceptions in this module. It is a subclass of :" "exc:`Exception`." @@ -1267,12 +1253,12 @@ msgstr "" "La clase base de otras excepciones en este módulo. Es una subclase de :exc:" "`Exception`." -#: ../Doc/library/sqlite3.rst:828 +#: ../Doc/library/sqlite3.rst:826 msgid "Exception raised for errors that are related to the database." msgstr "" "Excepción lanzada para errores que están relacionados con la base de datos." -#: ../Doc/library/sqlite3.rst:832 +#: ../Doc/library/sqlite3.rst:830 msgid "" "Exception raised when the relational integrity of the database is affected, " "e.g. a foreign key check fails. It is a subclass of :exc:`DatabaseError`." @@ -1281,7 +1267,7 @@ msgstr "" "ejemplo la comprobación de una llave foránea falla. Es una subclase de :exc:" "`DatabaseError`." -#: ../Doc/library/sqlite3.rst:837 +#: ../Doc/library/sqlite3.rst:835 msgid "" "Exception raised for programming errors, e.g. table not found or already " "exists, syntax error in the SQL statement, wrong number of parameters " @@ -1291,7 +1277,7 @@ msgstr "" "existente, error de sintaxis en la sentencia SQL, número equivocado de " "parámetros especificados, etc. Es una subclase de :exc:`DatabaseError`." -#: ../Doc/library/sqlite3.rst:843 +#: ../Doc/library/sqlite3.rst:841 msgid "" "Exception raised for errors that are related to the database's operation and " "not necessarily under the control of the programmer, e.g. an unexpected " @@ -1304,7 +1290,7 @@ msgstr "" "encontrado, una transacción no pudo ser procesada, etc. Es una subclase de :" "exc:`DatabaseError`." -#: ../Doc/library/sqlite3.rst:850 +#: ../Doc/library/sqlite3.rst:848 msgid "" "Exception raised in case a method or database API was used which is not " "supported by the database, e.g. calling the :meth:`~Connection.rollback` " @@ -1316,15 +1302,15 @@ msgstr "" "`~Connection.rollback` en una conexión que no soporta la transacción o tiene " "deshabilitada las transacciones. Es una subclase de :exc:`DatabaseError`." -#: ../Doc/library/sqlite3.rst:859 +#: ../Doc/library/sqlite3.rst:857 msgid "SQLite and Python types" msgstr "SQLite y tipos de Python" -#: ../Doc/library/sqlite3.rst:863 +#: ../Doc/library/sqlite3.rst:861 msgid "Introduction" msgstr "Introducción" -#: ../Doc/library/sqlite3.rst:865 +#: ../Doc/library/sqlite3.rst:863 msgid "" "SQLite natively supports the following types: ``NULL``, ``INTEGER``, " "``REAL``, ``TEXT``, ``BLOB``." @@ -1332,71 +1318,71 @@ msgstr "" "SQLite soporta de forma nativa los siguientes tipos: ``NULL``, ``INTEGER``, " "``REAL``, ``TEXT``, ``BLOB``." -#: ../Doc/library/sqlite3.rst:868 +#: ../Doc/library/sqlite3.rst:866 msgid "" "The following Python types can thus be sent to SQLite without any problem:" msgstr "" "Los siguientes tipos de Python se pueden enviar a SQLite sin problema alguno:" -#: ../Doc/library/sqlite3.rst:871 ../Doc/library/sqlite3.rst:888 +#: ../Doc/library/sqlite3.rst:869 ../Doc/library/sqlite3.rst:886 msgid "Python type" msgstr "Tipo de Python" -#: ../Doc/library/sqlite3.rst:871 ../Doc/library/sqlite3.rst:888 +#: ../Doc/library/sqlite3.rst:869 ../Doc/library/sqlite3.rst:886 msgid "SQLite type" msgstr "Tipo de SQLite" -#: ../Doc/library/sqlite3.rst:873 ../Doc/library/sqlite3.rst:890 +#: ../Doc/library/sqlite3.rst:871 ../Doc/library/sqlite3.rst:888 msgid ":const:`None`" msgstr ":const:`None`" -#: ../Doc/library/sqlite3.rst:873 ../Doc/library/sqlite3.rst:890 +#: ../Doc/library/sqlite3.rst:871 ../Doc/library/sqlite3.rst:888 msgid "``NULL``" msgstr "``NULL``" -#: ../Doc/library/sqlite3.rst:875 ../Doc/library/sqlite3.rst:892 +#: ../Doc/library/sqlite3.rst:873 ../Doc/library/sqlite3.rst:890 msgid ":class:`int`" msgstr ":class:`int`" -#: ../Doc/library/sqlite3.rst:875 ../Doc/library/sqlite3.rst:892 +#: ../Doc/library/sqlite3.rst:873 ../Doc/library/sqlite3.rst:890 msgid "``INTEGER``" msgstr "``INTEGER``" -#: ../Doc/library/sqlite3.rst:877 ../Doc/library/sqlite3.rst:894 +#: ../Doc/library/sqlite3.rst:875 ../Doc/library/sqlite3.rst:892 msgid ":class:`float`" msgstr ":class:`float`" -#: ../Doc/library/sqlite3.rst:877 ../Doc/library/sqlite3.rst:894 +#: ../Doc/library/sqlite3.rst:875 ../Doc/library/sqlite3.rst:892 msgid "``REAL``" msgstr "``REAL``" -#: ../Doc/library/sqlite3.rst:879 +#: ../Doc/library/sqlite3.rst:877 msgid ":class:`str`" msgstr ":class:`str`" -#: ../Doc/library/sqlite3.rst:879 ../Doc/library/sqlite3.rst:896 +#: ../Doc/library/sqlite3.rst:877 ../Doc/library/sqlite3.rst:894 msgid "``TEXT``" msgstr "``TEXT``" -#: ../Doc/library/sqlite3.rst:881 ../Doc/library/sqlite3.rst:899 +#: ../Doc/library/sqlite3.rst:879 ../Doc/library/sqlite3.rst:897 msgid ":class:`bytes`" msgstr ":class:`bytes`" -#: ../Doc/library/sqlite3.rst:881 ../Doc/library/sqlite3.rst:899 +#: ../Doc/library/sqlite3.rst:879 ../Doc/library/sqlite3.rst:897 msgid "``BLOB``" msgstr "``BLOB``" -#: ../Doc/library/sqlite3.rst:885 +#: ../Doc/library/sqlite3.rst:883 msgid "This is how SQLite types are converted to Python types by default:" msgstr "" "De esta forma es como los tipos de SQLite son convertidos a tipos de Python " "por defecto:" -#: ../Doc/library/sqlite3.rst:896 +#: ../Doc/library/sqlite3.rst:894 msgid "depends on :attr:`~Connection.text_factory`, :class:`str` by default" msgstr "depende de :attr:`~Connection.text_factory`, :class:`str` por defecto" -#: ../Doc/library/sqlite3.rst:902 +#: ../Doc/library/sqlite3.rst:900 msgid "" "The type system of the :mod:`sqlite3` module is extensible in two ways: you " "can store additional Python types in a SQLite database via object " @@ -1408,13 +1394,13 @@ msgstr "" "vía adaptación de objetos, y se puede permitir que el módulo :mod:`sqlite3` " "convierta tipos SQLite a diferentes tipos de Python vía convertidores." -#: ../Doc/library/sqlite3.rst:909 +#: ../Doc/library/sqlite3.rst:907 msgid "Using adapters to store additional Python types in SQLite databases" msgstr "" "Usando adaptadores para almacenar tipos adicionales de Python en bases de " "datos SQLite" -#: ../Doc/library/sqlite3.rst:911 +#: ../Doc/library/sqlite3.rst:909 msgid "" "As described before, SQLite supports only a limited set of types natively. " "To use other Python types with SQLite, you must **adapt** them to one of the " @@ -1426,7 +1412,7 @@ msgstr "" "SQLite, se deben **adaptar** a uno de los tipos de datos soportados por el " "módulo sqlite3 para SQLite: uno de NoneType, int, float, str, bytes. " -#: ../Doc/library/sqlite3.rst:916 +#: ../Doc/library/sqlite3.rst:914 msgid "" "There are two ways to enable the :mod:`sqlite3` module to adapt a custom " "Python type to one of the supported ones." @@ -1434,11 +1420,11 @@ msgstr "" "Hay dos formas de habilitar el módulo :mod:`sqlite3` para adaptar un tipo " "personalizado de Python a alguno de los admitidos." -#: ../Doc/library/sqlite3.rst:921 +#: ../Doc/library/sqlite3.rst:919 msgid "Letting your object adapt itself" msgstr "Permitiéndole al objeto auto adaptarse" -#: ../Doc/library/sqlite3.rst:923 +#: ../Doc/library/sqlite3.rst:921 msgid "" "This is a good approach if you write the class yourself. Let's suppose you " "have a class like this::" @@ -1446,14 +1432,15 @@ msgstr "" "Este es un buen enfoque si uno mismo escribe la clase. Vamos a suponer que " "se tiene una clase como esta::" -#: ../Doc/library/sqlite3.rst:930 +#: ../Doc/library/sqlite3.rst:928 +#, fuzzy msgid "" "Now you want to store the point in a single SQLite column. First you'll " -"have to choose one of the supported types first to be used for representing " -"the point. Let's just use str and separate the coordinates using a " -"semicolon. Then you need to give your class a method ``__conform__(self, " -"protocol)`` which must return the converted value. The parameter *protocol* " -"will be :class:`PrepareProtocol`." +"have to choose one of the supported types to be used for representing the " +"point. Let's just use str and separate the coordinates using a semicolon. " +"Then you need to give your class a method ``__conform__(self, protocol)`` " +"which must return the converted value. The parameter *protocol* will be :" +"class:`PrepareProtocol`." msgstr "" "Ahora se quiere almacenar el punto en una columna SQLite. Primero se debe " "elegir un tipo de los soportados para representar el punto. Se va a usar " @@ -1462,11 +1449,11 @@ msgstr "" "cuál deberá retornar el valor convertido. El parámetro *protocol* será :" "class:`PrepareProtocol`." -#: ../Doc/library/sqlite3.rst:940 +#: ../Doc/library/sqlite3.rst:938 msgid "Registering an adapter callable" msgstr "Registrando un adaptador invocable" -#: ../Doc/library/sqlite3.rst:942 +#: ../Doc/library/sqlite3.rst:940 msgid "" "The other possibility is to create a function that converts the type to the " "string representation and register the function with :meth:" @@ -1476,7 +1463,7 @@ msgstr "" "representación de cadena de texto y registrar la función con :meth:" "`register_adapter`." -#: ../Doc/library/sqlite3.rst:947 +#: ../Doc/library/sqlite3.rst:945 msgid "" "The :mod:`sqlite3` module has two default adapters for Python's built-in :" "class:`datetime.date` and :class:`datetime.datetime` types. Now let's " @@ -1489,11 +1476,11 @@ msgstr "" "class:`datetime.datetime` no en representación ISO, sino como una marca de " "tiempo Unix." -#: ../Doc/library/sqlite3.rst:956 +#: ../Doc/library/sqlite3.rst:954 msgid "Converting SQLite values to custom Python types" msgstr "Convertir valores SQLite a tipos de Python personalizados" -#: ../Doc/library/sqlite3.rst:958 +#: ../Doc/library/sqlite3.rst:956 msgid "" "Writing an adapter lets you send custom Python types to SQLite. But to make " "it really useful we need to make the Python to SQLite to Python roundtrip " @@ -1503,11 +1490,11 @@ msgstr "" "SQLite. Pero para hacer esto realmente útil, tenemos que hace el flujo " "Python a SQLite a Python." -#: ../Doc/library/sqlite3.rst:961 +#: ../Doc/library/sqlite3.rst:959 msgid "Enter converters." msgstr "Ingresar convertidores." -#: ../Doc/library/sqlite3.rst:963 +#: ../Doc/library/sqlite3.rst:961 msgid "" "Let's go back to the :class:`Point` class. We stored the x and y coordinates " "separated via semicolons as strings in SQLite." @@ -1515,7 +1502,7 @@ msgstr "" "Regresemos a la clase :class:`Point`. Se almacena las coordenadas x e y de " "forma separada por punto y coma como una cadena de texto en SQLite." -#: ../Doc/library/sqlite3.rst:966 +#: ../Doc/library/sqlite3.rst:964 msgid "" "First, we'll define a converter function that accepts the string as a " "parameter and constructs a :class:`Point` object from it." @@ -1523,7 +1510,7 @@ msgstr "" "Primero, se define una función de conversión que acepta la cadena de texto " "como un parámetro y construye un objeto :class:`Point` de ahí." -#: ../Doc/library/sqlite3.rst:971 +#: ../Doc/library/sqlite3.rst:969 msgid "" "Converter functions **always** get called with a :class:`bytes` object, no " "matter under which data type you sent the value to SQLite." @@ -1531,7 +1518,7 @@ msgstr "" "Las funciones de conversión **siempre** son llamadas con un objeto :class:" "`bytes`, no importa bajo qué tipo de dato se envió el valor a SQLite." -#: ../Doc/library/sqlite3.rst:980 +#: ../Doc/library/sqlite3.rst:978 msgid "" "Now you need to make the :mod:`sqlite3` module know that what you select " "from the database is actually a point. There are two ways of doing this:" @@ -1540,15 +1527,15 @@ msgstr "" "seleccionaste de la base de datos es de hecho un punto. Hay dos formas de " "hacer esto:" -#: ../Doc/library/sqlite3.rst:983 +#: ../Doc/library/sqlite3.rst:981 msgid "Implicitly via the declared type" msgstr "Implícitamente vía el tipo declarado" -#: ../Doc/library/sqlite3.rst:985 +#: ../Doc/library/sqlite3.rst:983 msgid "Explicitly via the column name" msgstr "Explícitamente vía el nombre de la columna" -#: ../Doc/library/sqlite3.rst:987 +#: ../Doc/library/sqlite3.rst:985 msgid "" "Both ways are described in section :ref:`sqlite3-module-contents`, in the " "entries for the constants :const:`PARSE_DECLTYPES` and :const:" @@ -1558,15 +1545,15 @@ msgstr "" "en las entradas para las constantes :const:`PARSE_DECLTYPES` y :const:" "`PARSE_COLNAMES`." -#: ../Doc/library/sqlite3.rst:990 +#: ../Doc/library/sqlite3.rst:988 msgid "The following example illustrates both approaches." msgstr "El siguiente ejemplo ilustra ambos enfoques." -#: ../Doc/library/sqlite3.rst:996 +#: ../Doc/library/sqlite3.rst:994 msgid "Default adapters and converters" msgstr "Adaptadores y convertidores por defecto" -#: ../Doc/library/sqlite3.rst:998 +#: ../Doc/library/sqlite3.rst:996 msgid "" "There are default adapters for the date and datetime types in the datetime " "module. They will be sent as ISO dates/ISO timestamps to SQLite." @@ -1574,7 +1561,7 @@ msgstr "" "Hay adaptadores por defecto para los tipos date y datetime en el módulo " "datetime. Éstos serán enviados como fechas/marcas de tiempo ISO a SQLite." -#: ../Doc/library/sqlite3.rst:1001 +#: ../Doc/library/sqlite3.rst:999 msgid "" "The default converters are registered under the name \"date\" for :class:" "`datetime.date` and under the name \"timestamp\" for :class:`datetime." @@ -1584,7 +1571,7 @@ msgstr "" "para :class:`datetime.date` y bajo el mismo nombre para \"timestamp\" para :" "class:`datetime.datetime`." -#: ../Doc/library/sqlite3.rst:1005 +#: ../Doc/library/sqlite3.rst:1003 msgid "" "This way, you can use date/timestamps from Python without any additional " "fiddling in most cases. The format of the adapters is also compatible with " @@ -1594,11 +1581,11 @@ msgstr "" "adicional en la mayoría de los casos. El formato de los adaptadores también " "es compatible con las funciones experimentales de SQLite date/time." -#: ../Doc/library/sqlite3.rst:1009 +#: ../Doc/library/sqlite3.rst:1007 msgid "The following example demonstrates this." msgstr "El siguiente ejemplo demuestra esto." -#: ../Doc/library/sqlite3.rst:1013 +#: ../Doc/library/sqlite3.rst:1011 msgid "" "If a timestamp stored in SQLite has a fractional part longer than 6 numbers, " "its value will be truncated to microsecond precision by the timestamp " @@ -1608,11 +1595,11 @@ msgstr "" "números, este valor será truncado a precisión de microsegundos por el " "convertidor de *timestamp*." -#: ../Doc/library/sqlite3.rst:1021 +#: ../Doc/library/sqlite3.rst:1019 msgid "Controlling Transactions" msgstr "Controlando Transacciones" -#: ../Doc/library/sqlite3.rst:1023 +#: ../Doc/library/sqlite3.rst:1021 msgid "" "The underlying ``sqlite3`` library operates in ``autocommit`` mode by " "default, but the Python :mod:`sqlite3` module by default does not." @@ -1620,7 +1607,7 @@ msgstr "" "La librería subyacente ``sqlite3`` opera en modo ``autocommit`` por defecto, " "pero el módulo de Python :mod:`sqlite3` no." -#: ../Doc/library/sqlite3.rst:1026 +#: ../Doc/library/sqlite3.rst:1024 msgid "" "``autocommit`` mode means that statements that modify the database take " "effect immediately. A ``BEGIN`` or ``SAVEPOINT`` statement disables " @@ -1633,7 +1620,7 @@ msgstr "" "``ROLLBACK``, o un ``RELEASE`` que terminan la transacción más externa, " "habilitan de nuevo el modo ``autocommit``." -#: ../Doc/library/sqlite3.rst:1031 +#: ../Doc/library/sqlite3.rst:1029 msgid "" "The Python :mod:`sqlite3` module by default issues a ``BEGIN`` statement " "implicitly before a Data Modification Language (DML) statement (i.e. " @@ -1643,7 +1630,7 @@ msgstr "" "implícita antes de una sentencia tipo Lenguaje Manipulación de Datos (DML) " "(es decir ``INSERT``/``UPDATE``/``DELETE``/``REPLACE``)." -#: ../Doc/library/sqlite3.rst:1035 +#: ../Doc/library/sqlite3.rst:1033 msgid "" "You can control which kind of ``BEGIN`` statements :mod:`sqlite3` implicitly " "executes via the *isolation_level* parameter to the :func:`connect` call, or " @@ -1659,7 +1646,7 @@ msgstr "" "``BEGIN``, el cuál es equivalente a especificar ``DEFERRED``. Otros posibles " "valores son ``IMMEDIATE`` and ``EXCLUSIVE``." -#: ../Doc/library/sqlite3.rst:1042 +#: ../Doc/library/sqlite3.rst:1040 msgid "" "You can disable the :mod:`sqlite3` module's implicit transaction management " "by setting :attr:`isolation_level` to ``None``. This will leave the " @@ -1675,7 +1662,7 @@ msgstr "" "sentencias ``BEGIN``, ``ROLLBACK``, ``SAVEPOINT``, y ``RELEASE`` en el " "código." -#: ../Doc/library/sqlite3.rst:1048 +#: ../Doc/library/sqlite3.rst:1046 msgid "" ":mod:`sqlite3` used to implicitly commit an open transaction before DDL " "statements. This is no longer the case." @@ -1683,15 +1670,15 @@ msgstr "" ":mod:`sqlite3` solía realizar commit en transacciones implícitamente antes " "de sentencias DDL. Este ya no es el caso." -#: ../Doc/library/sqlite3.rst:1054 +#: ../Doc/library/sqlite3.rst:1052 msgid "Using :mod:`sqlite3` efficiently" msgstr "Usando :mod:`sqlite3` eficientemente" -#: ../Doc/library/sqlite3.rst:1058 +#: ../Doc/library/sqlite3.rst:1056 msgid "Using shortcut methods" msgstr "Usando métodos atajo" -#: ../Doc/library/sqlite3.rst:1060 +#: ../Doc/library/sqlite3.rst:1058 msgid "" "Using the nonstandard :meth:`execute`, :meth:`executemany` and :meth:" "`executescript` methods of the :class:`Connection` object, your code can be " @@ -1711,11 +1698,11 @@ msgstr "" "iterar directamente sobre él, solamente usando una única llamada al objeto :" "class:`Connection`." -#: ../Doc/library/sqlite3.rst:1072 +#: ../Doc/library/sqlite3.rst:1070 msgid "Accessing columns by name instead of by index" msgstr "Accediendo a las columnas por el nombre en lugar del índice" -#: ../Doc/library/sqlite3.rst:1074 +#: ../Doc/library/sqlite3.rst:1072 msgid "" "One useful feature of the :mod:`sqlite3` module is the built-in :class:" "`sqlite3.Row` class designed to be used as a row factory." @@ -1723,7 +1710,7 @@ msgstr "" "Una característica útil del módulo :mod:`sqlite3` es la clase incluida :" "class:`sqlite3.Row` diseñada para ser usada como una fábrica de filas." -#: ../Doc/library/sqlite3.rst:1077 +#: ../Doc/library/sqlite3.rst:1075 msgid "" "Rows wrapped with this class can be accessed both by index (like tuples) and " "case-insensitively by name:" @@ -1731,11 +1718,11 @@ msgstr "" "Filas envueltas con esta clase pueden ser accedidas tanto por índice (al " "igual que tuplas) como por nombre insensible a mayúsculas o minúsculas:" -#: ../Doc/library/sqlite3.rst:1084 +#: ../Doc/library/sqlite3.rst:1082 msgid "Using the connection as a context manager" msgstr "Usando la conexión como un administrador de contexto" -#: ../Doc/library/sqlite3.rst:1086 +#: ../Doc/library/sqlite3.rst:1084 msgid "" "Connection objects can be used as context managers that automatically commit " "or rollback transactions. In the event of an exception, the transaction is " @@ -1746,47 +1733,63 @@ msgstr "" "excepción, la transacción es retrocedida; de otra forma, la transacción es " "confirmada:" -#: ../Doc/library/sqlite3.rst:1095 -msgid "Common issues" -msgstr "Problemas comunes" - -#: ../Doc/library/sqlite3.rst:1098 -msgid "Multithreading" -msgstr "Multihilo" - -#: ../Doc/library/sqlite3.rst:1100 -msgid "" -"Older SQLite versions had issues with sharing connections between threads. " -"That's why the Python module disallows sharing connections and cursors " -"between threads. If you still try to do so, you will get an exception at " -"runtime." -msgstr "" -"Versiones antiguas de SQLite tienen problemas compartiendo conexiones entre " -"hilos. Es por ello que el módulo de Python no permite compartir conexiones y " -"cursores entre hilos. Si se quiere intentar esto, se obtendrá una excepción " -"en tiempo de ejecución." - -#: ../Doc/library/sqlite3.rst:1104 -msgid "" -"The only exception is calling the :meth:`~Connection.interrupt` method, " -"which only makes sense to call from a different thread." -msgstr "" -"La única excepción es llamando el método :meth:`~Connection.interrupt`, el " -"cual solamente tiene sentido llamarlo desde un hilo diferente." - -#: ../Doc/library/sqlite3.rst:1108 +#: ../Doc/library/sqlite3.rst:1093 msgid "Footnotes" msgstr "Notas al pie" -#: ../Doc/library/sqlite3.rst:1109 +#: ../Doc/library/sqlite3.rst:1094 +#, fuzzy msgid "" "The sqlite3 module is not built with loadable extension support by default, " "because some platforms (notably Mac OS X) have SQLite libraries which are " "compiled without this feature. To get loadable extension support, you must " -"pass --enable-loadable-sqlite-extensions to configure." +"pass ``--enable-loadable-sqlite-extensions`` to configure." msgstr "" "El módulo sqlite3 no está compilado con una extensión cargable por defecto, " "porqué algunas plataformas (notablemente Mac OS X) tienen bibliotecas SQLite " "compiladas sin esta característica. Para obtener soporte de extensión " "configurable, se debe pasar --enable-loadable-sqlite-extension para " "configurar." + +#~ msgid "https://github.com/ghaering/pysqlite" +#~ msgstr "https://github.com/ghaering/pysqlite" + +#~ msgid "" +#~ "The pysqlite web page -- sqlite3 is developed externally under the name " +#~ "\"pysqlite\"." +#~ msgstr "" +#~ "La página web *pysqlite* -- sqlite3 se desarrolla externamente bajo el " +#~ "nombre de \"pysqlite\"." + +#~ msgid "" +#~ "*detect_types* defaults to 0 (i. e. off, no type detection), you can set " +#~ "it to any combination of :const:`PARSE_DECLTYPES` and :const:" +#~ "`PARSE_COLNAMES` to turn type detection on." +#~ msgstr "" +#~ "*detect_types* por defecto es 0 (por ejemplo *off*, no detección de " +#~ "tipo), se puede configurar a cualquier combinación de :const:" +#~ "`PARSE_DECLTYPES` y :const:`PARSE_COLNAMES` para encender la detección." + +#~ msgid "Common issues" +#~ msgstr "Problemas comunes" + +#~ msgid "Multithreading" +#~ msgstr "Multihilo" + +#~ msgid "" +#~ "Older SQLite versions had issues with sharing connections between " +#~ "threads. That's why the Python module disallows sharing connections and " +#~ "cursors between threads. If you still try to do so, you will get an " +#~ "exception at runtime." +#~ msgstr "" +#~ "Versiones antiguas de SQLite tienen problemas compartiendo conexiones " +#~ "entre hilos. Es por ello que el módulo de Python no permite compartir " +#~ "conexiones y cursores entre hilos. Si se quiere intentar esto, se " +#~ "obtendrá una excepción en tiempo de ejecución." + +#~ msgid "" +#~ "The only exception is calling the :meth:`~Connection.interrupt` method, " +#~ "which only makes sense to call from a different thread." +#~ msgstr "" +#~ "La única excepción es llamando el método :meth:`~Connection.interrupt`, " +#~ "el cual solamente tiene sentido llamarlo desde un hilo diferente." diff --git a/library/ssl.po b/library/ssl.po index 941006e399..554c05107c 100644 --- a/library/ssl.po +++ b/library/ssl.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: python-doc-es\n" @@ -311,7 +311,7 @@ msgid "" "Read the Wikipedia article, `Cryptographically secure pseudorandom number " "generator (CSPRNG) `_, to get the " -"requirements of a cryptographically generator." +"requirements of a cryptographically strong generator." msgstr "" #: ../Doc/library/ssl.rst:302 @@ -686,7 +686,7 @@ msgid "" "Possible value for :attr:`SSLContext.verify_flags`. In this mode, only the " "peer cert is checked but none of the intermediate CA certificates. The mode " "requires a valid CRL that is signed by the peer cert's issuer (its direct " -"ancestor CA). If no proper CRL has has been loaded with :attr:`SSLContext." +"ancestor CA). If no proper CRL has been loaded with :attr:`SSLContext." "load_verify_locations`, validation will fail." msgstr "" @@ -2668,165 +2668,177 @@ msgid ":meth:`~SSLSocket.getpeercert`" msgstr "" #: ../Doc/library/ssl.rst:2489 -msgid ":meth:`~SSLSocket.selected_npn_protocol`" +msgid ":meth:`~SSLSocket.selected_alpn_protocol`" msgstr "" #: ../Doc/library/ssl.rst:2490 -msgid ":meth:`~SSLSocket.cipher`" +msgid ":meth:`~SSLSocket.selected_npn_protocol`" msgstr "" #: ../Doc/library/ssl.rst:2491 -msgid ":meth:`~SSLSocket.shared_ciphers`" +msgid ":meth:`~SSLSocket.cipher`" msgstr "" #: ../Doc/library/ssl.rst:2492 -msgid ":meth:`~SSLSocket.compression`" +msgid ":meth:`~SSLSocket.shared_ciphers`" msgstr "" #: ../Doc/library/ssl.rst:2493 -msgid ":meth:`~SSLSocket.pending`" +msgid ":meth:`~SSLSocket.compression`" msgstr "" #: ../Doc/library/ssl.rst:2494 -msgid ":meth:`~SSLSocket.do_handshake`" +msgid ":meth:`~SSLSocket.pending`" msgstr "" #: ../Doc/library/ssl.rst:2495 -msgid ":meth:`~SSLSocket.unwrap`" +msgid ":meth:`~SSLSocket.do_handshake`" msgstr "" #: ../Doc/library/ssl.rst:2496 -msgid ":meth:`~SSLSocket.get_channel_binding`" +msgid ":meth:`~SSLSocket.verify_client_post_handshake`" +msgstr "" + +#: ../Doc/library/ssl.rst:2497 +msgid ":meth:`~SSLSocket.unwrap`" msgstr "" #: ../Doc/library/ssl.rst:2498 +msgid ":meth:`~SSLSocket.get_channel_binding`" +msgstr "" + +#: ../Doc/library/ssl.rst:2499 +msgid ":meth:`~SSLSocket.version`" +msgstr "" + +#: ../Doc/library/ssl.rst:2501 msgid "" "When compared to :class:`SSLSocket`, this object lacks the following " "features:" msgstr "" -#: ../Doc/library/ssl.rst:2501 +#: ../Doc/library/ssl.rst:2504 msgid "" "Any form of network IO; ``recv()`` and ``send()`` read and write only to the " "underlying :class:`MemoryBIO` buffers." msgstr "" -#: ../Doc/library/ssl.rst:2504 +#: ../Doc/library/ssl.rst:2507 msgid "" "There is no *do_handshake_on_connect* machinery. You must always manually " "call :meth:`~SSLSocket.do_handshake` to start the handshake." msgstr "" -#: ../Doc/library/ssl.rst:2507 +#: ../Doc/library/ssl.rst:2510 msgid "" "There is no handling of *suppress_ragged_eofs*. All end-of-file conditions " "that are in violation of the protocol are reported via the :exc:" "`SSLEOFError` exception." msgstr "" -#: ../Doc/library/ssl.rst:2511 +#: ../Doc/library/ssl.rst:2514 msgid "" "The method :meth:`~SSLSocket.unwrap` call does not return anything, unlike " "for an SSL socket where it returns the underlying socket." msgstr "" -#: ../Doc/library/ssl.rst:2514 +#: ../Doc/library/ssl.rst:2517 msgid "" "The *server_name_callback* callback passed to :meth:`SSLContext." "set_servername_callback` will get an :class:`SSLObject` instance instead of " "a :class:`SSLSocket` instance as its first parameter." msgstr "" -#: ../Doc/library/ssl.rst:2518 +#: ../Doc/library/ssl.rst:2521 msgid "Some notes related to the use of :class:`SSLObject`:" msgstr "" -#: ../Doc/library/ssl.rst:2520 +#: ../Doc/library/ssl.rst:2523 msgid "" "All IO on an :class:`SSLObject` is :ref:`non-blocking `. " "This means that for example :meth:`~SSLSocket.read` will raise an :exc:" "`SSLWantReadError` if it needs more data than the incoming BIO has available." msgstr "" -#: ../Doc/library/ssl.rst:2525 +#: ../Doc/library/ssl.rst:2528 msgid "" "There is no module-level ``wrap_bio()`` call like there is for :meth:" "`~SSLContext.wrap_socket`. An :class:`SSLObject` is always created via an :" "class:`SSLContext`." msgstr "" -#: ../Doc/library/ssl.rst:2529 +#: ../Doc/library/ssl.rst:2532 msgid "" ":class:`SSLObject` instances must to created with :meth:`~SSLContext." "wrap_bio`. In earlier versions, it was possible to create instances " "directly. This was never documented or officially supported." msgstr "" -#: ../Doc/library/ssl.rst:2535 +#: ../Doc/library/ssl.rst:2538 msgid "" "An SSLObject communicates with the outside world using memory buffers. The " "class :class:`MemoryBIO` provides a memory buffer that can be used for this " "purpose. It wraps an OpenSSL memory BIO (Basic IO) object:" msgstr "" -#: ../Doc/library/ssl.rst:2541 +#: ../Doc/library/ssl.rst:2544 msgid "" "A memory buffer that can be used to pass data between Python and an SSL " "protocol instance." msgstr "" -#: ../Doc/library/ssl.rst:2546 +#: ../Doc/library/ssl.rst:2549 msgid "Return the number of bytes currently in the memory buffer." msgstr "" -#: ../Doc/library/ssl.rst:2550 +#: ../Doc/library/ssl.rst:2553 msgid "" "A boolean indicating whether the memory BIO is current at the end-of-file " "position." msgstr "" -#: ../Doc/library/ssl.rst:2555 +#: ../Doc/library/ssl.rst:2558 msgid "" "Read up to *n* bytes from the memory buffer. If *n* is not specified or " "negative, all bytes are returned." msgstr "" -#: ../Doc/library/ssl.rst:2560 +#: ../Doc/library/ssl.rst:2563 msgid "" "Write the bytes from *buf* to the memory BIO. The *buf* argument must be an " "object supporting the buffer protocol." msgstr "" -#: ../Doc/library/ssl.rst:2563 +#: ../Doc/library/ssl.rst:2566 msgid "" "The return value is the number of bytes written, which is always equal to " "the length of *buf*." msgstr "" -#: ../Doc/library/ssl.rst:2568 +#: ../Doc/library/ssl.rst:2571 msgid "" "Write an EOF marker to the memory BIO. After this method has been called, it " "is illegal to call :meth:`~MemoryBIO.write`. The attribute :attr:`eof` will " "become true after all data currently in the buffer has been read." msgstr "" -#: ../Doc/library/ssl.rst:2574 +#: ../Doc/library/ssl.rst:2577 msgid "SSL session" msgstr "" -#: ../Doc/library/ssl.rst:2580 +#: ../Doc/library/ssl.rst:2583 msgid "Session object used by :attr:`~SSLSocket.session`." msgstr "" -#: ../Doc/library/ssl.rst:2592 +#: ../Doc/library/ssl.rst:2595 msgid "Security considerations" msgstr "" -#: ../Doc/library/ssl.rst:2595 +#: ../Doc/library/ssl.rst:2598 msgid "Best defaults" msgstr "" -#: ../Doc/library/ssl.rst:2597 +#: ../Doc/library/ssl.rst:2600 msgid "" "For **client use**, if you don't have any special requirements for your " "security policy, it is highly recommended that you use the :func:" @@ -2836,19 +2848,19 @@ msgid "" "settings." msgstr "" -#: ../Doc/library/ssl.rst:2604 +#: ../Doc/library/ssl.rst:2607 msgid "" "For example, here is how you would use the :class:`smtplib.SMTP` class to " "create a trusted, secure connection to a SMTP server::" msgstr "" -#: ../Doc/library/ssl.rst:2613 +#: ../Doc/library/ssl.rst:2616 msgid "" "If a client certificate is needed for the connection, it can be added with :" "meth:`SSLContext.load_cert_chain`." msgstr "" -#: ../Doc/library/ssl.rst:2616 +#: ../Doc/library/ssl.rst:2619 msgid "" "By contrast, if you create the SSL context by calling the :class:" "`SSLContext` constructor yourself, it will not have certificate validation " @@ -2856,15 +2868,15 @@ msgid "" "paragraphs below to achieve a good security level." msgstr "" -#: ../Doc/library/ssl.rst:2622 +#: ../Doc/library/ssl.rst:2625 msgid "Manual settings" msgstr "" -#: ../Doc/library/ssl.rst:2625 +#: ../Doc/library/ssl.rst:2628 msgid "Verifying certificates" msgstr "" -#: ../Doc/library/ssl.rst:2627 +#: ../Doc/library/ssl.rst:2630 msgid "" "When calling the :class:`SSLContext` constructor directly, :const:" "`CERT_NONE` is the default. Since it does not authenticate the other peer, " @@ -2879,13 +2891,13 @@ msgid "" "automatically performed when :attr:`SSLContext.check_hostname` is enabled." msgstr "" -#: ../Doc/library/ssl.rst:2640 +#: ../Doc/library/ssl.rst:2643 msgid "" "Hostname matchings is now performed by OpenSSL. Python no longer uses :func:" "`match_hostname`." msgstr "" -#: ../Doc/library/ssl.rst:2644 +#: ../Doc/library/ssl.rst:2647 msgid "" "In server mode, if you want to authenticate your clients using the SSL layer " "(rather than using a higher-level authentication mechanism), you'll also " @@ -2893,11 +2905,11 @@ msgid "" "certificate." msgstr "" -#: ../Doc/library/ssl.rst:2650 +#: ../Doc/library/ssl.rst:2653 msgid "Protocol versions" msgstr "" -#: ../Doc/library/ssl.rst:2652 +#: ../Doc/library/ssl.rst:2655 msgid "" "SSL versions 2 and 3 are considered insecure and are therefore dangerous to " "use. If you want maximum compatibility between clients and servers, it is " @@ -2906,7 +2918,7 @@ msgid "" "by default." msgstr "" -#: ../Doc/library/ssl.rst:2665 +#: ../Doc/library/ssl.rst:2668 msgid "" "The SSL context created above will only allow TLSv1.2 and later (if " "supported by your system) connections to a server. :const:" @@ -2914,11 +2926,11 @@ msgid "" "default. You have to load certificates into the context." msgstr "" -#: ../Doc/library/ssl.rst:2672 +#: ../Doc/library/ssl.rst:2675 msgid "Cipher selection" msgstr "" -#: ../Doc/library/ssl.rst:2674 +#: ../Doc/library/ssl.rst:2677 msgid "" "If you have advanced security requirements, fine-tuning of the ciphers " "enabled when negotiating a SSL session is possible through the :meth:" @@ -2931,11 +2943,11 @@ msgid "" "ciphers`` command on your system." msgstr "" -#: ../Doc/library/ssl.rst:2685 +#: ../Doc/library/ssl.rst:2688 msgid "Multi-processing" msgstr "" -#: ../Doc/library/ssl.rst:2687 +#: ../Doc/library/ssl.rst:2690 msgid "" "If using this module as part of a multi-processed application (using, for " "example the :mod:`multiprocessing` or :mod:`concurrent.futures` modules), be " @@ -2946,18 +2958,18 @@ msgid "" "`~ssl.RAND_pseudo_bytes` is sufficient." msgstr "" -#: ../Doc/library/ssl.rst:2699 +#: ../Doc/library/ssl.rst:2702 msgid "TLS 1.3" msgstr "" -#: ../Doc/library/ssl.rst:2703 +#: ../Doc/library/ssl.rst:2706 msgid "" "Python has provisional and experimental support for TLS 1.3 with OpenSSL " "1.1.1. The new protocol behaves slightly differently than previous version " "of TLS/SSL. Some new TLS 1.3 features are not yet available." msgstr "" -#: ../Doc/library/ssl.rst:2707 +#: ../Doc/library/ssl.rst:2710 msgid "" "TLS 1.3 uses a disjunct set of cipher suites. All AES-GCM and ChaCha20 " "cipher suites are enabled by default. The method :meth:`SSLContext." @@ -2965,14 +2977,14 @@ msgid "" "`SSLContext.get_ciphers` returns them." msgstr "" -#: ../Doc/library/ssl.rst:2711 +#: ../Doc/library/ssl.rst:2714 msgid "" "Session tickets are no longer sent as part of the initial handshake and are " "handled differently. :attr:`SSLSocket.session` and :class:`SSLSession` are " "not compatible with TLS 1.3." msgstr "" -#: ../Doc/library/ssl.rst:2714 +#: ../Doc/library/ssl.rst:2717 msgid "" "Client-side certificates are also no longer verified during the initial " "handshake. A server can request a certificate at any time. Clients process " @@ -2980,127 +2992,127 @@ msgid "" "server." msgstr "" -#: ../Doc/library/ssl.rst:2718 +#: ../Doc/library/ssl.rst:2721 msgid "" "TLS 1.3 features like early data, deferred TLS client cert request, " "signature algorithm configuration, and rekeying are not supported yet." msgstr "" -#: ../Doc/library/ssl.rst:2725 +#: ../Doc/library/ssl.rst:2728 msgid "LibreSSL support" msgstr "" -#: ../Doc/library/ssl.rst:2727 +#: ../Doc/library/ssl.rst:2730 msgid "" "LibreSSL is a fork of OpenSSL 1.0.1. The ssl module has limited support for " "LibreSSL. Some features are not available when the ssl module is compiled " "with LibreSSL." msgstr "" -#: ../Doc/library/ssl.rst:2731 +#: ../Doc/library/ssl.rst:2734 msgid "" "LibreSSL >= 2.6.1 no longer supports NPN. The methods :meth:`SSLContext." "set_npn_protocols` and :meth:`SSLSocket.selected_npn_protocol` are not " "available." msgstr "" -#: ../Doc/library/ssl.rst:2734 +#: ../Doc/library/ssl.rst:2737 msgid "" ":meth:`SSLContext.set_default_verify_paths` ignores the env vars :envvar:" "`SSL_CERT_FILE` and :envvar:`SSL_CERT_PATH` although :func:" "`get_default_verify_paths` still reports them." msgstr "" -#: ../Doc/library/ssl.rst:2742 +#: ../Doc/library/ssl.rst:2745 msgid "Class :class:`socket.socket`" msgstr "" -#: ../Doc/library/ssl.rst:2742 +#: ../Doc/library/ssl.rst:2745 msgid "Documentation of underlying :mod:`socket` class" msgstr "" -#: ../Doc/library/ssl.rst:2745 +#: ../Doc/library/ssl.rst:2748 msgid "" "`SSL/TLS Strong Encryption: An Introduction `_" msgstr "" -#: ../Doc/library/ssl.rst:2745 +#: ../Doc/library/ssl.rst:2748 msgid "Intro from the Apache HTTP Server documentation" msgstr "" -#: ../Doc/library/ssl.rst:2748 +#: ../Doc/library/ssl.rst:2751 msgid "" ":rfc:`RFC 1422: Privacy Enhancement for Internet Electronic Mail: Part II: " "Certificate-Based Key Management <1422>`" msgstr "" -#: ../Doc/library/ssl.rst:2748 +#: ../Doc/library/ssl.rst:2751 msgid "Steve Kent" msgstr "" -#: ../Doc/library/ssl.rst:2751 +#: ../Doc/library/ssl.rst:2754 msgid ":rfc:`RFC 4086: Randomness Requirements for Security <4086>`" msgstr "" -#: ../Doc/library/ssl.rst:2751 +#: ../Doc/library/ssl.rst:2754 msgid "Donald E., Jeffrey I. Schiller" msgstr "" -#: ../Doc/library/ssl.rst:2754 +#: ../Doc/library/ssl.rst:2757 msgid "" ":rfc:`RFC 5280: Internet X.509 Public Key Infrastructure Certificate and " "Certificate Revocation List (CRL) Profile <5280>`" msgstr "" -#: ../Doc/library/ssl.rst:2754 +#: ../Doc/library/ssl.rst:2757 msgid "D. Cooper" msgstr "" -#: ../Doc/library/ssl.rst:2757 +#: ../Doc/library/ssl.rst:2760 msgid "" ":rfc:`RFC 5246: The Transport Layer Security (TLS) Protocol Version 1.2 " "<5246>`" msgstr "" -#: ../Doc/library/ssl.rst:2757 +#: ../Doc/library/ssl.rst:2760 msgid "T. Dierks et. al." msgstr "" -#: ../Doc/library/ssl.rst:2760 +#: ../Doc/library/ssl.rst:2763 msgid ":rfc:`RFC 6066: Transport Layer Security (TLS) Extensions <6066>`" msgstr "" -#: ../Doc/library/ssl.rst:2760 +#: ../Doc/library/ssl.rst:2763 msgid "D. Eastlake" msgstr "" -#: ../Doc/library/ssl.rst:2763 +#: ../Doc/library/ssl.rst:2766 msgid "" "`IANA TLS: Transport Layer Security (TLS) Parameters `_" msgstr "" -#: ../Doc/library/ssl.rst:2763 +#: ../Doc/library/ssl.rst:2766 msgid "IANA" msgstr "" -#: ../Doc/library/ssl.rst:2766 +#: ../Doc/library/ssl.rst:2769 msgid "" ":rfc:`RFC 7525: Recommendations for Secure Use of Transport Layer Security " "(TLS) and Datagram Transport Layer Security (DTLS) <7525>`" msgstr "" -#: ../Doc/library/ssl.rst:2766 +#: ../Doc/library/ssl.rst:2769 msgid "IETF" msgstr "" -#: ../Doc/library/ssl.rst:2768 +#: ../Doc/library/ssl.rst:2771 msgid "" "`Mozilla's Server Side TLS recommendations `_" msgstr "" -#: ../Doc/library/ssl.rst:2769 +#: ../Doc/library/ssl.rst:2772 msgid "Mozilla" msgstr "" diff --git a/library/statistics.po b/library/statistics.po index 10c1ac9122..74cbee585a 100644 --- a/library/statistics.po +++ b/library/statistics.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-10-20 20:40+0200\n" +"Last-Translator: Francisco Jesús Sevilla García \n" +"Language: es_ES\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Francisco Jesús Sevilla García \n" -"Language: es_ES\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/statistics.rst:2 msgid ":mod:`statistics` --- Mathematical statistics functions" @@ -1134,7 +1133,15 @@ msgstr "" "10 para obtener los deciles y en 100 para obtener los percentiles (lo que " "produce 99 límites que separan los datos en 100 grupos del mismo tamaño)." -#: ../Doc/library/statistics.rst:699 +#: ../Doc/library/statistics.rst:701 +msgid "" +"Compute the `Standard Score `_ describing *x* in terms of the number of standard " +"deviations above or below the mean of the normal distribution: ``(x - " +"mean) / stdev``." +msgstr "" + +#: ../Doc/library/statistics.rst:709 msgid "" "Instances of :class:`NormalDist` support addition, subtraction, " "multiplication and division by a constant. These operations are used for " @@ -1144,7 +1151,7 @@ msgstr "" "multiplicación y división por una constante. Estas operaciones se pueden " "utilizar para traducir o escalar, por ejemplo:" -#: ../Doc/library/statistics.rst:709 +#: ../Doc/library/statistics.rst:719 msgid "" "Dividing a constant by an instance of :class:`NormalDist` is not supported " "because the result wouldn't be normally distributed." @@ -1152,7 +1159,7 @@ msgstr "" "No se admite la división de una constante entre una instancia de :class:" "`NormalDist` debido a que el resultado no sería una distribución normal." -#: ../Doc/library/statistics.rst:712 +#: ../Doc/library/statistics.rst:722 msgid "" "Since normal distributions arise from additive effects of independent " "variables, it is possible to `add and subtract two independent normally " @@ -1166,17 +1173,17 @@ msgstr "" "Sum_of_normally_distributed_random_variables>`_ representadas por instancias " "de :class:`NormalDist`. Por ejemplo :" -#: ../Doc/library/statistics.rst:732 +#: ../Doc/library/statistics.rst:742 msgid ":class:`NormalDist` Examples and Recipes" msgstr "Ejemplos de uso de :class:`NormalDist`" -#: ../Doc/library/statistics.rst:734 +#: ../Doc/library/statistics.rst:744 msgid ":class:`NormalDist` readily solves classic probability problems." msgstr "" ":class:`NormalDist` permite resolver fácilmente problemas probabilísticos " "clásicos." -#: ../Doc/library/statistics.rst:736 +#: ../Doc/library/statistics.rst:746 msgid "" "For example, given `historical data for SAT exams `_ showing that scores are " @@ -1190,7 +1197,7 @@ msgstr "" "determinar el porcentaje de estudiantes con puntuaciones entre 1100 y 1200, " "redondeado al número entero más cercano:" -#: ../Doc/library/statistics.rst:749 +#: ../Doc/library/statistics.rst:759 msgid "" "Find the `quartiles `_ and `deciles " "`_ for the SAT scores:" @@ -1199,7 +1206,7 @@ msgstr "" "`deciles `_ de las " "puntuaciones del SAT:" -#: ../Doc/library/statistics.rst:759 +#: ../Doc/library/statistics.rst:769 msgid "" "To estimate the distribution for a model than isn't easy to solve " "analytically, :class:`NormalDist` can generate input samples for a `Monte " @@ -1210,7 +1217,7 @@ msgstr "" "entrada para una `simulación utilizando el método Montecarlo `_:" -#: ../Doc/library/statistics.rst:775 +#: ../Doc/library/statistics.rst:785 msgid "" "Normal distributions can be used to approximate `Binomial distributions " "`_ when the sample " @@ -1221,7 +1228,7 @@ msgstr "" "BinomialDistribution.html>`_ cuando el tamaño de la muestra es grande y la " "probabilidad de un ensayo exitoso es cercana al 50%." -#: ../Doc/library/statistics.rst:780 +#: ../Doc/library/statistics.rst:790 #, python-format msgid "" "For example, an open source conference has 750 attendees and two rooms with " @@ -1238,13 +1245,13 @@ msgstr "" "hayan cambiado, ¿cuál es la probabilidad de que la sala de Python permanezca " "por debajo de su capacidad máxima?" -#: ../Doc/library/statistics.rst:811 +#: ../Doc/library/statistics.rst:821 msgid "Normal distributions commonly arise in machine learning problems." msgstr "" "Las distribuciones normales a menudo están involucradas en el aprendizaje " "automático." -#: ../Doc/library/statistics.rst:813 +#: ../Doc/library/statistics.rst:823 msgid "" "Wikipedia has a `nice example of a Naive Bayesian Classifier `_. The " @@ -1257,7 +1264,7 @@ msgstr "" "físicas que siguen una distribución normal, como la altura, el peso y el " "tamaño del pie." -#: ../Doc/library/statistics.rst:818 +#: ../Doc/library/statistics.rst:828 msgid "" "We're given a training dataset with measurements for eight people. The " "measurements are assumed to be normally distributed, so we summarize the " @@ -1267,7 +1274,7 @@ msgstr "" "de ocho personas. Se supone que estas medidas siguen una distribución " "normal, por lo que podemos sintetizar los datos usando :class:`NormalDist`:" -#: ../Doc/library/statistics.rst:831 +#: ../Doc/library/statistics.rst:841 msgid "" "Next, we encounter a new person whose feature measurements are known but " "whose gender is unknown:" @@ -1275,7 +1282,7 @@ msgstr "" "A continuación, nos encontramos con un nuevo individuo del que conocemos las " "medidas de sus características pero no su género:" -#: ../Doc/library/statistics.rst:840 +#: ../Doc/library/statistics.rst:850 msgid "" "Starting with a 50% `prior probability `_ of being male or female, we compute the posterior as " @@ -1287,7 +1294,7 @@ msgstr "" "probabilidad a posteriori como el producto de la probabilidad a priori y la " "verosimilitud de las diferentes medidas dado el género:" -#: ../Doc/library/statistics.rst:855 +#: ../Doc/library/statistics.rst:865 msgid "" "The final prediction goes to the largest posterior. This is known as the " "`maximum a posteriori \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Language: es\n" -"X-Generator: Poedit 2.3.1\n" #: ../Doc/library/stdtypes.rst:8 msgid "Built-in Types" @@ -139,21 +139,21 @@ msgstr "" #: ../Doc/library/stdtypes.rst:85 ../Doc/library/stdtypes.rst:143 #: ../Doc/library/stdtypes.rst:274 ../Doc/library/stdtypes.rst:363 -#: ../Doc/library/stdtypes.rst:413 ../Doc/library/stdtypes.rst:863 -#: ../Doc/library/stdtypes.rst:1058 +#: ../Doc/library/stdtypes.rst:413 ../Doc/library/stdtypes.rst:861 +#: ../Doc/library/stdtypes.rst:1056 msgid "Operation" msgstr "Operación" #: ../Doc/library/stdtypes.rst:85 ../Doc/library/stdtypes.rst:274 #: ../Doc/library/stdtypes.rst:363 ../Doc/library/stdtypes.rst:413 -#: ../Doc/library/stdtypes.rst:863 ../Doc/library/stdtypes.rst:1058 +#: ../Doc/library/stdtypes.rst:861 ../Doc/library/stdtypes.rst:1056 msgid "Result" msgstr "Resultado" #: ../Doc/library/stdtypes.rst:85 ../Doc/library/stdtypes.rst:274 -#: ../Doc/library/stdtypes.rst:413 ../Doc/library/stdtypes.rst:863 -#: ../Doc/library/stdtypes.rst:1058 ../Doc/library/stdtypes.rst:2228 -#: ../Doc/library/stdtypes.rst:3383 +#: ../Doc/library/stdtypes.rst:413 ../Doc/library/stdtypes.rst:861 +#: ../Doc/library/stdtypes.rst:1056 ../Doc/library/stdtypes.rst:2286 +#: ../Doc/library/stdtypes.rst:3506 msgid "Notes" msgstr "Notas" @@ -166,9 +166,9 @@ msgid "if *x* is false, then *y*, else *x*" msgstr "si *x* es falso, entonces *y*, si no, *x*" #: ../Doc/library/stdtypes.rst:87 ../Doc/library/stdtypes.rst:284 -#: ../Doc/library/stdtypes.rst:865 ../Doc/library/stdtypes.rst:868 -#: ../Doc/library/stdtypes.rst:1069 ../Doc/library/stdtypes.rst:2234 -#: ../Doc/library/stdtypes.rst:3389 +#: ../Doc/library/stdtypes.rst:863 ../Doc/library/stdtypes.rst:866 +#: ../Doc/library/stdtypes.rst:1067 ../Doc/library/stdtypes.rst:2292 +#: ../Doc/library/stdtypes.rst:3512 msgid "\\(1)" msgstr "\\(1)" @@ -181,9 +181,9 @@ msgid "if *x* is false, then *x*, else *y*" msgstr "si *x* es falso, entonces *x*, si no, *y*" #: ../Doc/library/stdtypes.rst:90 ../Doc/library/stdtypes.rst:287 -#: ../Doc/library/stdtypes.rst:307 ../Doc/library/stdtypes.rst:1097 -#: ../Doc/library/stdtypes.rst:2238 ../Doc/library/stdtypes.rst:2240 -#: ../Doc/library/stdtypes.rst:3393 ../Doc/library/stdtypes.rst:3395 +#: ../Doc/library/stdtypes.rst:307 ../Doc/library/stdtypes.rst:1095 +#: ../Doc/library/stdtypes.rst:2296 ../Doc/library/stdtypes.rst:2298 +#: ../Doc/library/stdtypes.rst:3516 ../Doc/library/stdtypes.rst:3518 msgid "\\(2)" msgstr "\\(2)" @@ -195,19 +195,19 @@ msgstr "``not x``" msgid "if *x* is false, then ``True``, else ``False``" msgstr "si *x* es falso, entonces ``True``, si no, ``False``" -#: ../Doc/library/stdtypes.rst:93 ../Doc/library/stdtypes.rst:877 -#: ../Doc/library/stdtypes.rst:1100 ../Doc/library/stdtypes.rst:2242 -#: ../Doc/library/stdtypes.rst:2244 ../Doc/library/stdtypes.rst:2246 -#: ../Doc/library/stdtypes.rst:2248 ../Doc/library/stdtypes.rst:3397 -#: ../Doc/library/stdtypes.rst:3399 ../Doc/library/stdtypes.rst:3401 -#: ../Doc/library/stdtypes.rst:3403 +#: ../Doc/library/stdtypes.rst:93 ../Doc/library/stdtypes.rst:875 +#: ../Doc/library/stdtypes.rst:1098 ../Doc/library/stdtypes.rst:2300 +#: ../Doc/library/stdtypes.rst:2302 ../Doc/library/stdtypes.rst:2304 +#: ../Doc/library/stdtypes.rst:2306 ../Doc/library/stdtypes.rst:3520 +#: ../Doc/library/stdtypes.rst:3522 ../Doc/library/stdtypes.rst:3524 +#: ../Doc/library/stdtypes.rst:3526 msgid "\\(3)" msgstr "\\(3)" #: ../Doc/library/stdtypes.rst:102 ../Doc/library/stdtypes.rst:318 -#: ../Doc/library/stdtypes.rst:431 ../Doc/library/stdtypes.rst:904 -#: ../Doc/library/stdtypes.rst:1108 ../Doc/library/stdtypes.rst:2274 -#: ../Doc/library/stdtypes.rst:3433 +#: ../Doc/library/stdtypes.rst:431 ../Doc/library/stdtypes.rst:902 +#: ../Doc/library/stdtypes.rst:1106 ../Doc/library/stdtypes.rst:2332 +#: ../Doc/library/stdtypes.rst:3556 msgid "Notes:" msgstr "Notas:" @@ -259,9 +259,9 @@ msgstr "" msgid "This table summarizes the comparison operations:" msgstr "Esta tabla resumen las operaciones de comparación:" -#: ../Doc/library/stdtypes.rst:143 ../Doc/library/stdtypes.rst:2205 -#: ../Doc/library/stdtypes.rst:2228 ../Doc/library/stdtypes.rst:3360 -#: ../Doc/library/stdtypes.rst:3383 +#: ../Doc/library/stdtypes.rst:143 ../Doc/library/stdtypes.rst:2263 +#: ../Doc/library/stdtypes.rst:2286 ../Doc/library/stdtypes.rst:3483 +#: ../Doc/library/stdtypes.rst:3506 msgid "Meaning" msgstr "Significado" @@ -599,8 +599,8 @@ msgstr "" "un número complejo, con parte real *re* y parte imaginaria *im*. El valor de " "*im* por defecto vale cero." -#: ../Doc/library/stdtypes.rst:300 ../Doc/library/stdtypes.rst:1090 -#: ../Doc/library/stdtypes.rst:2236 ../Doc/library/stdtypes.rst:3420 +#: ../Doc/library/stdtypes.rst:300 ../Doc/library/stdtypes.rst:1088 +#: ../Doc/library/stdtypes.rst:2294 ../Doc/library/stdtypes.rst:3543 msgid "\\(6)" msgstr "\\(6)" @@ -637,10 +637,10 @@ msgid "*x* to the power *y*" msgstr "*x* elevado a *y*" #: ../Doc/library/stdtypes.rst:309 ../Doc/library/stdtypes.rst:311 -#: ../Doc/library/stdtypes.rst:1079 ../Doc/library/stdtypes.rst:1082 -#: ../Doc/library/stdtypes.rst:2261 ../Doc/library/stdtypes.rst:2264 -#: ../Doc/library/stdtypes.rst:2267 ../Doc/library/stdtypes.rst:3416 -#: ../Doc/library/stdtypes.rst:3423 +#: ../Doc/library/stdtypes.rst:1077 ../Doc/library/stdtypes.rst:1080 +#: ../Doc/library/stdtypes.rst:2319 ../Doc/library/stdtypes.rst:2322 +#: ../Doc/library/stdtypes.rst:2325 ../Doc/library/stdtypes.rst:3539 +#: ../Doc/library/stdtypes.rst:3546 msgid "\\(5)" msgstr "\\(5)" @@ -709,8 +709,9 @@ msgstr "" "con la propiedad ``Nd``)." #: ../Doc/library/stdtypes.rst:355 +#, fuzzy msgid "" -"See http://www.unicode.org/Public/12.1.0/ucd/extracted/DerivedNumericType." +"See https://www.unicode.org/Public/13.0.0/ucd/extracted/DerivedNumericType." "txt for a complete list of code points with the ``Nd`` property." msgstr "" "En http://www.unicode.org/Public/12.1.0/ucd/extracted/DerivedNumericType.txt " @@ -812,9 +813,9 @@ msgid "bitwise :dfn:`or` of *x* and *y*" msgstr "la operación :dfn:`or` entre *x* e *y*" #: ../Doc/library/stdtypes.rst:415 ../Doc/library/stdtypes.rst:418 -#: ../Doc/library/stdtypes.rst:421 ../Doc/library/stdtypes.rst:1103 -#: ../Doc/library/stdtypes.rst:2250 ../Doc/library/stdtypes.rst:2254 -#: ../Doc/library/stdtypes.rst:3405 ../Doc/library/stdtypes.rst:3409 +#: ../Doc/library/stdtypes.rst:421 ../Doc/library/stdtypes.rst:1101 +#: ../Doc/library/stdtypes.rst:2308 ../Doc/library/stdtypes.rst:2312 +#: ../Doc/library/stdtypes.rst:3528 ../Doc/library/stdtypes.rst:3532 msgid "\\(4)" msgstr "\\(4)" @@ -874,22 +875,22 @@ msgstr "" "exc:`ValeError`." #: ../Doc/library/stdtypes.rst:437 +#, fuzzy msgid "" -"A left shift by *n* bits is equivalent to multiplication by ``pow(2, n)`` " -"without overflow check." +"A left shift by *n* bits is equivalent to multiplication by ``pow(2, n)``." msgstr "" "Un desplazamiento de *n* bits a la izquierda es equivalente a multiplicar " "por ``pow(2, n)``, sin comprobación de desbordamiento." -#: ../Doc/library/stdtypes.rst:441 +#: ../Doc/library/stdtypes.rst:440 +#, fuzzy msgid "" -"A right shift by *n* bits is equivalent to division by ``pow(2, n)`` without " -"overflow check." +"A right shift by *n* bits is equivalent to floor division by ``pow(2, n)``." msgstr "" "Un desplazamiento de *n* bits a la derecha es equivalente a dividir por " "``pow(2, n)``, sin comprobación de desbordamiento." -#: ../Doc/library/stdtypes.rst:445 +#: ../Doc/library/stdtypes.rst:443 msgid "" "Performing these calculations with at least one extra sign extension bit in " "a finite two's complement representation (a working bit-width of ``1 + max(x." @@ -902,11 +903,11 @@ msgstr "" "para obtener el mismo resultado que si se hubiera realizado con un número " "infinito de bits de signo." -#: ../Doc/library/stdtypes.rst:452 +#: ../Doc/library/stdtypes.rst:450 msgid "Additional Methods on Integer Types" msgstr "Métodos adicionales de los enteros" -#: ../Doc/library/stdtypes.rst:454 +#: ../Doc/library/stdtypes.rst:452 msgid "" "The int type implements the :class:`numbers.Integral` :term:`abstract base " "class`. In addition, it provides a few more methods:" @@ -914,7 +915,7 @@ msgstr "" "El tipo int implementa la :term:`clase base abstracta` :class:`numbers." "Integral`. Además, proporciona los siguientes métodos:" -#: ../Doc/library/stdtypes.rst:459 +#: ../Doc/library/stdtypes.rst:457 msgid "" "Return the number of bits necessary to represent an integer in binary, " "excluding the sign and leading zeros::" @@ -922,7 +923,7 @@ msgstr "" "Retorna el número de bits necesarios para representar un número entero, " "excluyendo el bit de signo y los ceros a la izquierda::" -#: ../Doc/library/stdtypes.rst:468 +#: ../Doc/library/stdtypes.rst:466 msgid "" "More precisely, if ``x`` is nonzero, then ``x.bit_length()`` is the unique " "positive integer ``k`` such that ``2**(k-1) <= abs(x) < 2**k``. " @@ -937,15 +938,15 @@ msgstr "" "int(log(abs*x), 2))``. Si ``x`` es cero, entonces ``x.bit_length()`` retorna " "``0``." -#: ../Doc/library/stdtypes.rst:474 +#: ../Doc/library/stdtypes.rst:472 msgid "Equivalent to::" msgstr "Equivale a::" -#: ../Doc/library/stdtypes.rst:485 +#: ../Doc/library/stdtypes.rst:483 msgid "Return an array of bytes representing an integer." msgstr "Retorna un array de bytes que representan el número entero." -#: ../Doc/library/stdtypes.rst:497 +#: ../Doc/library/stdtypes.rst:495 msgid "" "The integer is represented using *length* bytes. An :exc:`OverflowError` is " "raised if the integer is not representable with the given number of bytes." @@ -954,7 +955,7 @@ msgstr "" "*length*. Se elevará la excepción :exc:`OverflowError` si no se puede " "representar el valor con ese número de bits." -#: ../Doc/library/stdtypes.rst:501 ../Doc/library/stdtypes.rst:533 +#: ../Doc/library/stdtypes.rst:499 ../Doc/library/stdtypes.rst:531 msgid "" "The *byteorder* argument determines the byte order used to represent the " "integer. If *byteorder* is ``\"big\"``, the most significant byte is at the " @@ -970,7 +971,7 @@ msgstr "" "el ordenamiento propio de la plataforma, podemos usar :data:`sys.byteorder` " "como valor del argumento." -#: ../Doc/library/stdtypes.rst:508 +#: ../Doc/library/stdtypes.rst:506 msgid "" "The *signed* argument determines whether two's complement is used to " "represent the integer. If *signed* is ``False`` and a negative integer is " @@ -982,11 +983,11 @@ msgstr "" "entero negativo, se elevará la excepción :exc:`OverflowError`. El valor por " "defecto para *signed* es ``False``." -#: ../Doc/library/stdtypes.rst:517 +#: ../Doc/library/stdtypes.rst:515 msgid "Return the integer represented by the given array of bytes." msgstr "Retorna el número entero representado por el vector de bytes." -#: ../Doc/library/stdtypes.rst:530 +#: ../Doc/library/stdtypes.rst:528 msgid "" "The argument *bytes* must either be a :term:`bytes-like object` or an " "iterable producing bytes." @@ -994,7 +995,7 @@ msgstr "" "El argumento *bytes* debe ser o bien un :term:`objeto tipo binario ` o un iterable que produzca bytes." -#: ../Doc/library/stdtypes.rst:540 +#: ../Doc/library/stdtypes.rst:538 msgid "" "The *signed* argument indicates whether two's complement is used to " "represent the integer." @@ -1002,7 +1003,7 @@ msgstr "" "El argumento *signed* determina si se representará el número entero usando " "complemento a dos." -#: ../Doc/library/stdtypes.rst:547 +#: ../Doc/library/stdtypes.rst:545 msgid "" "Return a pair of integers whose ratio is exactly equal to the original " "integer and with a positive denominator. The integer ratio of integers " @@ -1014,12 +1015,12 @@ msgstr "" "enteros, la proporción siempre es el número original y ``1`` en el " "denominador." -#: ../Doc/library/stdtypes.rst:555 +#: ../Doc/library/stdtypes.rst:553 msgid "Additional Methods on Float" msgstr "Métodos adicionales de Float" # Verificar que el glosario el termino aparezca como clase base abstracta -#: ../Doc/library/stdtypes.rst:557 +#: ../Doc/library/stdtypes.rst:555 msgid "" "The float type implements the :class:`numbers.Real` :term:`abstract base " "class`. float also has the following additional methods." @@ -1027,7 +1028,7 @@ msgstr "" "El tipo float implementa la clase :class:`numbers.Real` :term:`clase base " "abstracta`. Los números float tienen además los siguientes métodos." -#: ../Doc/library/stdtypes.rst:562 +#: ../Doc/library/stdtypes.rst:560 msgid "" "Return a pair of integers whose ratio is exactly equal to the original float " "and with a positive denominator. Raises :exc:`OverflowError` on infinities " @@ -1039,7 +1040,7 @@ msgstr "" "`OverflowError` y si se llama con *NaN* (*Not A Number*) eleva una excepción " "de tipo :exc:`ValueError`." -#: ../Doc/library/stdtypes.rst:569 +#: ../Doc/library/stdtypes.rst:567 msgid "" "Return ``True`` if the float instance is finite with integral value, and " "``False`` otherwise::" @@ -1047,7 +1048,7 @@ msgstr "" "Retorna ``True`` si el valor en coma flotante se puede representar sin " "perdida con un número entero, y ``False`` si no se puede::" -#: ../Doc/library/stdtypes.rst:577 +#: ../Doc/library/stdtypes.rst:575 msgid "" "Two methods support conversion to and from hexadecimal strings. Since " "Python's floats are stored internally as binary numbers, converting a float " @@ -1064,7 +1065,7 @@ msgstr "" "exacta los números en coma flotante. Esto puede ser útil, ya sea a la hora " "de depurar errores, o en procesos numéricos." -#: ../Doc/library/stdtypes.rst:588 +#: ../Doc/library/stdtypes.rst:586 msgid "" "Return a representation of a floating-point number as a hexadecimal string. " "For finite floating-point numbers, this representation will always include a " @@ -1074,7 +1075,7 @@ msgstr "" "texto en hexadecimal. Para números finitos, la representación siempre " "empieza con el prefijo ``0x``, y con una ``p`` justo antes del exponente." -#: ../Doc/library/stdtypes.rst:596 +#: ../Doc/library/stdtypes.rst:594 msgid "" "Class method to return the float represented by a hexadecimal string *s*. " "The string *s* may have leading and trailing whitespace." @@ -1083,7 +1084,7 @@ msgstr "" "cadena de caracteres en hexadecimal en *s*. La cadena *s* puede tener " "espacios en blanco al principio o al final." -#: ../Doc/library/stdtypes.rst:601 +#: ../Doc/library/stdtypes.rst:599 msgid "" "Note that :meth:`float.hex` is an instance method, while :meth:`float." "fromhex` is a class method." @@ -1091,11 +1092,11 @@ msgstr "" "Nótese que :meth:`float.hex` es un método de instancia, mientras que :meth:" "`float.fromhex` es un método de clase." -#: ../Doc/library/stdtypes.rst:604 +#: ../Doc/library/stdtypes.rst:602 msgid "A hexadecimal string takes the form::" msgstr "Una cadena de caracteres en hexadecimal sigue este formato::" -#: ../Doc/library/stdtypes.rst:608 +#: ../Doc/library/stdtypes.rst:606 msgid "" "where the optional ``sign`` may by either ``+`` or ``-``, ``integer`` and " "``fraction`` are strings of hexadecimal digits, and ``exponent`` is a " @@ -1121,7 +1122,7 @@ msgstr "" "%a``en C, o por el método Java, ``Double.toHexString``, son aceptadas por :" "meth:`float.fromhex`." -#: ../Doc/library/stdtypes.rst:621 +#: ../Doc/library/stdtypes.rst:619 msgid "" "Note that the exponent is written in decimal rather than hexadecimal, and " "that it gives the power of 2 by which to multiply the coefficient. For " @@ -1134,7 +1135,7 @@ msgstr "" "representa el número en coma flotante ``(3 + 10./16 + 7./16**2) * 2.0**10``, " "o ``3740.0``::" -#: ../Doc/library/stdtypes.rst:631 +#: ../Doc/library/stdtypes.rst:629 msgid "" "Applying the reverse conversion to ``3740.0`` gives a different hexadecimal " "string representing the same number::" @@ -1142,11 +1143,11 @@ msgstr "" "Si aplicamos la operación inversa a ``3740.0`` retorna una cadena de " "caracteres hexadecimal diferente que, aun así, representa el mismo número::" -#: ../Doc/library/stdtypes.rst:641 +#: ../Doc/library/stdtypes.rst:639 msgid "Hashing of numeric types" msgstr "Calculo del *hash* de tipos numéricos" -#: ../Doc/library/stdtypes.rst:643 +#: ../Doc/library/stdtypes.rst:641 msgid "" "For numbers ``x`` and ``y``, possibly of different types, it's a requirement " "that ``hash(x) == hash(y)`` whenever ``x == y`` (see the :meth:`__hash__` " @@ -1175,7 +1176,7 @@ msgstr "" "del número primo ``P``. El valor de ``P`` está disponible en Python como " "atributo de :data:`sys.hash_info` con el nombre de :attr:`modulus`." -#: ../Doc/library/stdtypes.rst:658 +#: ../Doc/library/stdtypes.rst:656 msgid "" "Currently, the prime used is ``P = 2**31 - 1`` on machines with 32-bit C " "longs and ``P = 2**61 - 1`` on machines with 64-bit C longs." @@ -1183,11 +1184,11 @@ msgstr "" "Actualmente, el número primo usado es ``P = 2**31 - 1`` para máquinas de 32 " "bits, y ``P = 2**61 - 1`` en máquinas de 64 bits." -#: ../Doc/library/stdtypes.rst:661 +#: ../Doc/library/stdtypes.rst:659 msgid "Here are the rules in detail:" msgstr "Aquí están las reglas en detalle:" -#: ../Doc/library/stdtypes.rst:663 +#: ../Doc/library/stdtypes.rst:661 msgid "" "If ``x = m / n`` is a nonnegative rational number and ``n`` is not divisible " "by ``P``, define ``hash(x)`` as ``m * invmod(n, P) % P``, where ``invmod(n, " @@ -1197,7 +1198,7 @@ msgstr "" "por ``P``, se define ``hash(x)`` como ``m * invmod(n, P) % P``, donde " "``invmod(n, P)`` retorna la inversa de ``n`` modulo ``P``." -#: ../Doc/library/stdtypes.rst:667 +#: ../Doc/library/stdtypes.rst:665 msgid "" "If ``x = m / n`` is a nonnegative rational number and ``n`` is divisible by " "``P`` (but ``m`` is not) then ``n`` has no inverse modulo ``P`` and the rule " @@ -1209,7 +1210,7 @@ msgstr "" "no se puede aplicar la regla anterior; en este caso, ``hash(x)``retorna el " "valor constante definido en ``sys.hash_info.inf``." -#: ../Doc/library/stdtypes.rst:672 +#: ../Doc/library/stdtypes.rst:670 msgid "" "If ``x = m / n`` is a negative rational number define ``hash(x)`` as ``-" "hash(-x)``. If the resulting hash is ``-1``, replace it with ``-2``." @@ -1217,7 +1218,7 @@ msgstr "" "Si ``x = m / n`` es un número racional negativo se define ``hash(x)`` como " "``-hash(x)``. Si el resultado fuera ``-1``, lo cambia por ``-2``." -#: ../Doc/library/stdtypes.rst:676 +#: ../Doc/library/stdtypes.rst:674 msgid "" "The particular values ``sys.hash_info.inf``, ``-sys.hash_info.inf`` and " "``sys.hash_info.nan`` are used as hash values for positive infinity, " @@ -1230,7 +1231,7 @@ msgstr "" "respectivamente. (Todos los valores *NaN* comparten el mismo valor de " "*hash*)." -#: ../Doc/library/stdtypes.rst:681 +#: ../Doc/library/stdtypes.rst:679 msgid "" "For a :class:`complex` number ``z``, the hash values of the real and " "imaginary parts are combined by computing ``hash(z.real) + sys.hash_info." @@ -1246,7 +1247,7 @@ msgstr "" "2**(sys.hash_info.width - 1))``. De nuevo, si el resultado fuera ``-1``, se " "reemplaza por ``-2``." -#: ../Doc/library/stdtypes.rst:689 +#: ../Doc/library/stdtypes.rst:687 msgid "" "To clarify the above rules, here's some example Python code, equivalent to " "the built-in hash, for computing the hash of a rational number, :class:" @@ -1256,11 +1257,11 @@ msgstr "" "Python, equivalente al cálculo realizado en la función *hash*, para calcular " "el *hash* de un número racional, de tipo :class:`float`, o :class:`complex`::" -#: ../Doc/library/stdtypes.rst:744 +#: ../Doc/library/stdtypes.rst:742 msgid "Iterator Types" msgstr "Tipos de iteradores" -#: ../Doc/library/stdtypes.rst:752 +#: ../Doc/library/stdtypes.rst:750 msgid "" "Python supports a concept of iteration over containers. This is implemented " "using two distinct methods; these are used to allow user-defined classes to " @@ -1272,7 +1273,7 @@ msgstr "" "definidas por el usuario para soportar iteración. Las secuencias, que se " "describirán con mayor detalle, siempre soportan la iteración." -#: ../Doc/library/stdtypes.rst:757 +#: ../Doc/library/stdtypes.rst:755 msgid "" "One method needs to be defined for container objects to provide iteration " "support:" @@ -1280,7 +1281,7 @@ msgstr "" "Para que un objeto contenedor soporte iteración, debe definir un método:" # Como traducimos slot? -#: ../Doc/library/stdtypes.rst:764 +#: ../Doc/library/stdtypes.rst:762 msgid "" "Return an iterator object. The object is required to support the iterator " "protocol described below. If a container supports different types of " @@ -1300,7 +1301,7 @@ msgstr "" "anchura). Este método se corresponde al *slot* :c:member:`~PyTypeObject." "tp_iter` de la estructura usada para los objetos Python en la API Python/C." -#: ../Doc/library/stdtypes.rst:773 +#: ../Doc/library/stdtypes.rst:771 msgid "" "The iterator objects themselves are required to support the following two " "methods, which together form the :dfn:`iterator protocol`:" @@ -1308,7 +1309,7 @@ msgstr "" "Los objetos iteradores en si necesitan definir los siguientes dos métodos, " "que forma juntos el :dfn:`protocolo iterador`:" -#: ../Doc/library/stdtypes.rst:779 +#: ../Doc/library/stdtypes.rst:777 msgid "" "Return the iterator object itself. This is required to allow both " "containers and iterators to be used with the :keyword:`for` and :keyword:" @@ -1321,7 +1322,7 @@ msgstr "" "member:`~PyTypeObject.tp_iter` de la estructura usada para los objetos " "Python en la API Python/C." -#: ../Doc/library/stdtypes.rst:787 +#: ../Doc/library/stdtypes.rst:785 msgid "" "Return the next item from the container. If there are no further items, " "raise the :exc:`StopIteration` exception. This method corresponds to the :c:" @@ -1333,7 +1334,7 @@ msgstr "" "*slot* :c:member:`~PyTypeObject.tp_iternext` de la estructura usada para los " "objetos Python en la API Python/C." -#: ../Doc/library/stdtypes.rst:792 +#: ../Doc/library/stdtypes.rst:790 msgid "" "Python defines several iterator objects to support iteration over general " "and specific sequence types, dictionaries, and other more specialized " @@ -1345,7 +1346,7 @@ msgstr "" "estructuras de datos especializadas. Los tipos específicos no son tan " "importantes como la implementación del protocolo iterador." -#: ../Doc/library/stdtypes.rst:797 +#: ../Doc/library/stdtypes.rst:795 msgid "" "Once an iterator's :meth:`~iterator.__next__` method raises :exc:" "`StopIteration`, it must continue to do so on subsequent calls. " @@ -1355,11 +1356,11 @@ msgstr "" "excepción :exc:`StopIteration`, debe continuar haciéndolo en subsiguientes " "llamadas al método. Si una implementación no cumple esto, se considera rota." -#: ../Doc/library/stdtypes.rst:805 +#: ../Doc/library/stdtypes.rst:803 msgid "Generator Types" msgstr "Tipos Generador" -#: ../Doc/library/stdtypes.rst:807 +#: ../Doc/library/stdtypes.rst:805 msgid "" "Python's :term:`generator`\\s provide a convenient way to implement the " "iterator protocol. If a container object's :meth:`__iter__` method is " @@ -1376,11 +1377,11 @@ msgstr "" "puede obtener más información acerca de los generadores en :ref:`la " "documentación de la expresión yield `." -#: ../Doc/library/stdtypes.rst:819 +#: ../Doc/library/stdtypes.rst:817 msgid "Sequence Types --- :class:`list`, :class:`tuple`, :class:`range`" msgstr "Tipos secuencia --- :class:`list`, :class:`tuple`, :class:`range`" -#: ../Doc/library/stdtypes.rst:821 +#: ../Doc/library/stdtypes.rst:819 msgid "" "There are three basic sequence types: lists, tuples, and range objects. " "Additional sequence types tailored for processing of :ref:`binary data " @@ -1392,11 +1393,11 @@ msgstr "" "`datos binarios ` y :ref:`cadenas de caracteres ` que se " "describirán en secciones específicas." -#: ../Doc/library/stdtypes.rst:830 +#: ../Doc/library/stdtypes.rst:828 msgid "Common Sequence Operations" msgstr "Operaciones comunes de las secuencias" -#: ../Doc/library/stdtypes.rst:834 +#: ../Doc/library/stdtypes.rst:832 msgid "" "The operations in the following table are supported by most sequence types, " "both mutable and immutable. The :class:`collections.abc.Sequence` ABC is " @@ -1408,7 +1409,7 @@ msgstr "" "`collections.abc.Sequence` se incluye para facilitar la implementación " "correcta de estas operaciones en nuestros propios tipos de secuencias." -#: ../Doc/library/stdtypes.rst:839 +#: ../Doc/library/stdtypes.rst:837 msgid "" "This table lists the sequence operations sorted in ascending priority. In " "the table, *s* and *t* are sequences of the same type, *n*, *i*, *j* and *k* " @@ -1420,7 +1421,7 @@ msgstr "" "son números enteros y *x* es un objeto arbitrario que cumple con cualquier " "restricción de tipo o valor impuesta por *s*." -#: ../Doc/library/stdtypes.rst:844 +#: ../Doc/library/stdtypes.rst:842 msgid "" "The ``in`` and ``not in`` operations have the same priorities as the " "comparison operations. The ``+`` (concatenation) and ``*`` (repetition) " @@ -1431,109 +1432,109 @@ msgstr "" "operadores de comparación. Las operaciones ``+`` (Concatenación) y ``*`` " "(Repetición) tienen la misma prioridad que sus equivalentes numéricos [3]_" -#: ../Doc/library/stdtypes.rst:865 +#: ../Doc/library/stdtypes.rst:863 msgid "``x in s``" msgstr "``x in s``" -#: ../Doc/library/stdtypes.rst:865 +#: ../Doc/library/stdtypes.rst:863 msgid "``True`` if an item of *s* is equal to *x*, else ``False``" msgstr "" "``True`` si un elemento de *s* es igual a *x*, ``False`` en caso contrario" -#: ../Doc/library/stdtypes.rst:868 +#: ../Doc/library/stdtypes.rst:866 msgid "``x not in s``" msgstr "``x not in s``" -#: ../Doc/library/stdtypes.rst:868 +#: ../Doc/library/stdtypes.rst:866 msgid "``False`` if an item of *s* is equal to *x*, else ``True``" msgstr "" "``False`` si un elemento de *s* es igual a *x*, ``True`` en caso contrario" -#: ../Doc/library/stdtypes.rst:871 +#: ../Doc/library/stdtypes.rst:869 msgid "``s + t``" msgstr "``s + t``" -#: ../Doc/library/stdtypes.rst:871 +#: ../Doc/library/stdtypes.rst:869 msgid "the concatenation of *s* and *t*" msgstr "la concatenación de *s* y *t*" -#: ../Doc/library/stdtypes.rst:871 +#: ../Doc/library/stdtypes.rst:869 msgid "(6)(7)" msgstr "(6)(7)" -#: ../Doc/library/stdtypes.rst:874 +#: ../Doc/library/stdtypes.rst:872 msgid "``s * n`` or ``n * s``" msgstr "``s * n`` o ``n * s``" -#: ../Doc/library/stdtypes.rst:874 +#: ../Doc/library/stdtypes.rst:872 msgid "equivalent to adding *s* to itself *n* times" msgstr "equivale a concatenar *s* consigo mismo *n* veces" -#: ../Doc/library/stdtypes.rst:874 +#: ../Doc/library/stdtypes.rst:872 msgid "(2)(7)" msgstr "(2)(7)" -#: ../Doc/library/stdtypes.rst:877 +#: ../Doc/library/stdtypes.rst:875 msgid "``s[i]``" msgstr "``s[i]``" -#: ../Doc/library/stdtypes.rst:877 +#: ../Doc/library/stdtypes.rst:875 msgid "*i*\\ th item of *s*, origin 0" msgstr "El elemento *i-esimo* de *s*, empezando a contar en 0" -#: ../Doc/library/stdtypes.rst:879 +#: ../Doc/library/stdtypes.rst:877 msgid "``s[i:j]``" msgstr "``s[i:j]``" -#: ../Doc/library/stdtypes.rst:879 +#: ../Doc/library/stdtypes.rst:877 msgid "slice of *s* from *i* to *j*" msgstr "la rebanada de *s* desde *i* hasta *j*" -#: ../Doc/library/stdtypes.rst:879 +#: ../Doc/library/stdtypes.rst:877 msgid "(3)(4)" msgstr "(3)(4)" -#: ../Doc/library/stdtypes.rst:881 +#: ../Doc/library/stdtypes.rst:879 msgid "``s[i:j:k]``" msgstr "``s[i:j:k]``" -#: ../Doc/library/stdtypes.rst:881 +#: ../Doc/library/stdtypes.rst:879 msgid "slice of *s* from *i* to *j* with step *k*" msgstr "la rebanada de *s* desde *i* hasta *j*, con paso *j*" -#: ../Doc/library/stdtypes.rst:881 +#: ../Doc/library/stdtypes.rst:879 msgid "(3)(5)" msgstr "(3)(5)" -#: ../Doc/library/stdtypes.rst:884 +#: ../Doc/library/stdtypes.rst:882 msgid "``len(s)``" msgstr "``len(s)``" -#: ../Doc/library/stdtypes.rst:884 +#: ../Doc/library/stdtypes.rst:882 msgid "length of *s*" msgstr "longitud de *s*" -#: ../Doc/library/stdtypes.rst:886 +#: ../Doc/library/stdtypes.rst:884 msgid "``min(s)``" msgstr "``min(s)``" -#: ../Doc/library/stdtypes.rst:886 +#: ../Doc/library/stdtypes.rst:884 msgid "smallest item of *s*" msgstr "el elemento más pequeño de *s*" -#: ../Doc/library/stdtypes.rst:888 +#: ../Doc/library/stdtypes.rst:886 msgid "``max(s)``" msgstr "``max(s)``" -#: ../Doc/library/stdtypes.rst:888 +#: ../Doc/library/stdtypes.rst:886 msgid "largest item of *s*" msgstr "el elemento más grande de *s*" -#: ../Doc/library/stdtypes.rst:890 +#: ../Doc/library/stdtypes.rst:888 msgid "``s.index(x[, i[, j]])``" msgstr "``s.index(x[, i[, j]])``" -#: ../Doc/library/stdtypes.rst:890 +#: ../Doc/library/stdtypes.rst:888 msgid "" "index of the first occurrence of *x* in *s* (at or after index *i* and " "before index *j*)" @@ -1541,19 +1542,19 @@ msgstr "" "índice de la primera ocurrencia de *x* en *s* (en la posición *i* o " "superior, y antes de *j*)" -#: ../Doc/library/stdtypes.rst:890 ../Doc/library/stdtypes.rst:3391 +#: ../Doc/library/stdtypes.rst:888 ../Doc/library/stdtypes.rst:3514 msgid "\\(8)" msgstr "\\(8)" -#: ../Doc/library/stdtypes.rst:894 +#: ../Doc/library/stdtypes.rst:892 msgid "``s.count(x)``" msgstr "``s.count(x)``" -#: ../Doc/library/stdtypes.rst:894 +#: ../Doc/library/stdtypes.rst:892 msgid "total number of occurrences of *x* in *s*" msgstr "número total de ocurrencias de *x* en *s*" -#: ../Doc/library/stdtypes.rst:898 +#: ../Doc/library/stdtypes.rst:896 msgid "" "Sequences of the same type also support comparisons. In particular, tuples " "and lists are compared lexicographically by comparing corresponding " @@ -1568,7 +1569,7 @@ msgstr "" "las dos secuencias deben ser del mismo tipo y de la misma longitud (Para más " "detalles, véase :ref:`comparisons` en la referencia del lenguaje)." -#: ../Doc/library/stdtypes.rst:907 +#: ../Doc/library/stdtypes.rst:905 msgid "" "While the ``in`` and ``not in`` operations are used only for simple " "containment testing in the general case, some specialised sequences (such " @@ -1580,7 +1581,7 @@ msgstr "" "especializadas (Como :class:`str`, :class:`bytes` y :class:`bytearray`) " "también se pueden usar para comprobar si está incluida una secuencia::" -#: ../Doc/library/stdtypes.rst:916 +#: ../Doc/library/stdtypes.rst:914 msgid "" "Values of *n* less than ``0`` are treated as ``0`` (which yields an empty " "sequence of the same type as *s*). Note that items in the sequence *s* are " @@ -1592,7 +1593,7 @@ msgstr "" "secuencia *s* no se copian, sino que se referencian múltiples veces. Esto a " "menudo confunde a programadores noveles de Python; considérese::" -#: ../Doc/library/stdtypes.rst:928 +#: ../Doc/library/stdtypes.rst:926 msgid "" "What has happened is that ``[[]]`` is a one-element list containing an empty " "list, so all three elements of ``[[]] * 3`` are references to this single " @@ -1605,7 +1606,7 @@ msgstr "" "``lists`` modifica la lista inicial. Para crear una lista de listas " "independientes entre si, se puede hacer::" -#: ../Doc/library/stdtypes.rst:940 +#: ../Doc/library/stdtypes.rst:938 msgid "" "Further explanation is available in the FAQ entry :ref:`faq-multidimensional-" "list`." @@ -1613,7 +1614,7 @@ msgstr "" "Se puede consultar una explicación más completa en esta entrada de la lista " "de preguntas más frecuentes :ref:`faq-multidimensional-list`." -#: ../Doc/library/stdtypes.rst:944 +#: ../Doc/library/stdtypes.rst:942 msgid "" "If *i* or *j* is negative, the index is relative to the end of sequence *s*: " "``len(s) + i`` or ``len(s) + j`` is substituted. But note that ``-0`` is " @@ -1623,7 +1624,7 @@ msgstr "" "*s*: Se realiza la sustitución ``len(s) + i`` o ``len(s) + j``. Nótese que " "``-0`` sigue siendo ``0``." -#: ../Doc/library/stdtypes.rst:949 +#: ../Doc/library/stdtypes.rst:947 msgid "" "The slice of *s* from *i* to *j* is defined as the sequence of items with " "index *k* such that ``i <= k < j``. If *i* or *j* is greater than " @@ -1637,7 +1638,7 @@ msgstr "" "Si *j* se omite o es ``None``, se usa ``len(s)``. Si *i* es mayor o igual a " "*j*, la rebanada estaría vacía." -#: ../Doc/library/stdtypes.rst:956 +#: ../Doc/library/stdtypes.rst:954 msgid "" "The slice of *s* from *i* to *j* with step *k* is defined as the sequence of " "items with index ``x = i + n*k`` such that ``0 <= n < (j-i)/k``. In other " @@ -1660,7 +1661,7 @@ msgstr "" "Nótese que *k* no puede valer ``0``. Si *k* vale ``None``, se considera como " "``1``." -#: ../Doc/library/stdtypes.rst:967 +#: ../Doc/library/stdtypes.rst:965 msgid "" "Concatenating immutable sequences always results in a new object. This " "means that building up a sequence by repeated concatenation will have a " @@ -1673,7 +1674,7 @@ msgstr "" "obtener un rendimiento lineal, se puede optar por una de las alternativas " "siguientes:" -#: ../Doc/library/stdtypes.rst:972 +#: ../Doc/library/stdtypes.rst:970 msgid "" "if concatenating :class:`str` objects, you can build a list and use :meth:" "`str.join` at the end or else write to an :class:`io.StringIO` instance and " @@ -1685,7 +1686,7 @@ msgstr "" "completo" # Duda sobre como traducir *in place* -#: ../Doc/library/stdtypes.rst:976 +#: ../Doc/library/stdtypes.rst:974 msgid "" "if concatenating :class:`bytes` objects, you can similarly use :meth:`bytes." "join` or :class:`io.BytesIO`, or you can do in-place concatenation with a :" @@ -1698,17 +1699,17 @@ msgstr "" "`bytearray`. Los objetos de tipo :class:`bytearray` son mutables y tienen un " "mecanismo interno de gestión muy eficiente" -#: ../Doc/library/stdtypes.rst:981 +#: ../Doc/library/stdtypes.rst:979 msgid "if concatenating :class:`tuple` objects, extend a :class:`list` instead" msgstr "" "en vez de concatenar tuplas (Instancias de :class:`tuple`), usar una lista (:" "class:`list`) y expandirla" -#: ../Doc/library/stdtypes.rst:983 +#: ../Doc/library/stdtypes.rst:981 msgid "for other types, investigate the relevant class documentation" msgstr "para otros tipos, investiga la documentación relevante de la clase" -#: ../Doc/library/stdtypes.rst:987 +#: ../Doc/library/stdtypes.rst:985 msgid "" "Some sequence types (such as :class:`range`) only support item sequences " "that follow specific patterns, and hence don't support sequence " @@ -1718,7 +1719,7 @@ msgstr "" "elementos que siguen un patrón específico, y por tanto no soportan la " "concatenación ni la repetición." -#: ../Doc/library/stdtypes.rst:992 +#: ../Doc/library/stdtypes.rst:990 msgid "" "``index`` raises :exc:`ValueError` when *x* is not found in *s*. Not all " "implementations support passing the additional arguments *i* and *j*. These " @@ -1735,11 +1736,11 @@ msgstr "" "índice retornado como valor relativo al inicio de la secuencia, en vez de al " "inicio de la rebanada." -#: ../Doc/library/stdtypes.rst:1003 +#: ../Doc/library/stdtypes.rst:1001 msgid "Immutable Sequence Types" msgstr "Tipos de secuencia inmutables" -#: ../Doc/library/stdtypes.rst:1010 +#: ../Doc/library/stdtypes.rst:1008 msgid "" "The only operation that immutable sequence types generally implement that is " "not also implemented by mutable sequence types is support for the :func:" @@ -1749,7 +1750,7 @@ msgstr "" "que no esta definida también en las secuencias mutables, es el soporte para " "el cálculo de la función predefinida :func:`hash`." -#: ../Doc/library/stdtypes.rst:1014 +#: ../Doc/library/stdtypes.rst:1012 msgid "" "This support allows immutable sequences, such as :class:`tuple` instances, " "to be used as :class:`dict` keys and stored in :class:`set` and :class:" @@ -1760,7 +1761,7 @@ msgstr "" "`dict`), así como ser almacenadas en conjuntos (:class:`set`) o conjuntos " "congelados (:class:`frozenset`)." -#: ../Doc/library/stdtypes.rst:1018 +#: ../Doc/library/stdtypes.rst:1016 msgid "" "Attempting to hash an immutable sequence that contains unhashable values " "will result in :exc:`TypeError`." @@ -1768,11 +1769,11 @@ msgstr "" "Intentar calcular el *hash* de una secuencia inmutable que contenga objetos " "mutables producirá una excepción de tipo :exc:`TypeError`." -#: ../Doc/library/stdtypes.rst:1025 +#: ../Doc/library/stdtypes.rst:1023 msgid "Mutable Sequence Types" msgstr "Tipos de secuencia mutables" -#: ../Doc/library/stdtypes.rst:1032 +#: ../Doc/library/stdtypes.rst:1030 msgid "" "The operations in the following table are defined on mutable sequence types. " "The :class:`collections.abc.MutableSequence` ABC is provided to make it " @@ -1783,7 +1784,7 @@ msgstr "" "se incluye para facilitar la implementación correcta de un tipo de secuencia " "propio." -#: ../Doc/library/stdtypes.rst:1036 +#: ../Doc/library/stdtypes.rst:1034 msgid "" "In the table *s* is an instance of a mutable sequence type, *t* is any " "iterable object and *x* is an arbitrary object that meets any type and value " @@ -1796,81 +1797,81 @@ msgstr "" "clase :class:`bytearray` solo acepta enteros que cumplan la condición ``0 <= " "x <= 255``)." -#: ../Doc/library/stdtypes.rst:1060 +#: ../Doc/library/stdtypes.rst:1058 msgid "``s[i] = x``" msgstr "``s[i] = x``" -#: ../Doc/library/stdtypes.rst:1060 +#: ../Doc/library/stdtypes.rst:1058 msgid "item *i* of *s* is replaced by *x*" msgstr "el elemento *i* de *s* es reemplazado por *x*" -#: ../Doc/library/stdtypes.rst:1063 +#: ../Doc/library/stdtypes.rst:1061 msgid "``s[i:j] = t``" msgstr "``s[i:j] = t``" -#: ../Doc/library/stdtypes.rst:1063 +#: ../Doc/library/stdtypes.rst:1061 msgid "" "slice of *s* from *i* to *j* is replaced by the contents of the iterable *t*" msgstr "" "la rebanada de valores de *s* que van de *i* a *j* es reemplazada por el " "contenido del iterador *t*" -#: ../Doc/library/stdtypes.rst:1067 +#: ../Doc/library/stdtypes.rst:1065 msgid "``del s[i:j]``" msgstr "``del s[i:j]``" -#: ../Doc/library/stdtypes.rst:1067 +#: ../Doc/library/stdtypes.rst:1065 msgid "same as ``s[i:j] = []``" msgstr "equivalente a ``s[i:j] = []``" -#: ../Doc/library/stdtypes.rst:1069 +#: ../Doc/library/stdtypes.rst:1067 msgid "``s[i:j:k] = t``" msgstr "``s[i:j:k] = t``" -#: ../Doc/library/stdtypes.rst:1069 +#: ../Doc/library/stdtypes.rst:1067 msgid "the elements of ``s[i:j:k]`` are replaced by those of *t*" msgstr "" "los elementos de ``s[i:j:k]`` son reemplazados por los elementos de *t*" -#: ../Doc/library/stdtypes.rst:1072 +#: ../Doc/library/stdtypes.rst:1070 msgid "``del s[i:j:k]``" msgstr "``del s[i:j:k]``" -#: ../Doc/library/stdtypes.rst:1072 +#: ../Doc/library/stdtypes.rst:1070 msgid "removes the elements of ``s[i:j:k]`` from the list" msgstr "borra los elementos de ``s[i:j:k]`` de la lista" -#: ../Doc/library/stdtypes.rst:1075 +#: ../Doc/library/stdtypes.rst:1073 msgid "``s.append(x)``" msgstr "``s.append(x)``" -#: ../Doc/library/stdtypes.rst:1075 +#: ../Doc/library/stdtypes.rst:1073 msgid "" "appends *x* to the end of the sequence (same as ``s[len(s):len(s)] = [x]``)" msgstr "" "añade *x* al final de la secuencia (Equivale a ``s[len(s):len(s)] = [x]``)" -#: ../Doc/library/stdtypes.rst:1079 +#: ../Doc/library/stdtypes.rst:1077 msgid "``s.clear()``" msgstr "``s.clear()``" -#: ../Doc/library/stdtypes.rst:1079 +#: ../Doc/library/stdtypes.rst:1077 msgid "removes all items from *s* (same as ``del s[:]``)" msgstr "elimina todos los elementos de *s* (Equivale a ``del s[:]``)" -#: ../Doc/library/stdtypes.rst:1082 +#: ../Doc/library/stdtypes.rst:1080 msgid "``s.copy()``" msgstr "``s.copy()``" -#: ../Doc/library/stdtypes.rst:1082 +#: ../Doc/library/stdtypes.rst:1080 msgid "creates a shallow copy of *s* (same as ``s[:]``)" msgstr "crea una copia superficial de *s* (Equivale a ``s[:]``)" -#: ../Doc/library/stdtypes.rst:1085 +#: ../Doc/library/stdtypes.rst:1083 msgid "``s.extend(t)`` or ``s += t``" msgstr "``s.extend(t)`` o ``s += t``" -#: ../Doc/library/stdtypes.rst:1085 +#: ../Doc/library/stdtypes.rst:1083 msgid "" "extends *s* with the contents of *t* (for the most part the same as " "``s[len(s):len(s)] = t``)" @@ -1878,59 +1879,59 @@ msgstr "" "extiende *s* con los contenidos de *t* (En la mayoría de los casos equivale " "a ``s[len(s):len(s)] = t``)" -#: ../Doc/library/stdtypes.rst:1090 +#: ../Doc/library/stdtypes.rst:1088 msgid "``s *= n``" msgstr "``s *= n``" -#: ../Doc/library/stdtypes.rst:1090 +#: ../Doc/library/stdtypes.rst:1088 msgid "updates *s* with its contents repeated *n* times" msgstr "actualiza *s* con su contenido repetido *n* veces" -#: ../Doc/library/stdtypes.rst:1093 +#: ../Doc/library/stdtypes.rst:1091 msgid "``s.insert(i, x)``" msgstr "``s.insert(i, x)``" -#: ../Doc/library/stdtypes.rst:1093 +#: ../Doc/library/stdtypes.rst:1091 msgid "" "inserts *x* into *s* at the index given by *i* (same as ``s[i:i] = [x]``)" msgstr "" "inserta *x* en *s* en la posición indicada por el índice *i* (Equivale a " "``s[i:i] = [x]``)" -#: ../Doc/library/stdtypes.rst:1097 +#: ../Doc/library/stdtypes.rst:1095 msgid "``s.pop([i])``" msgstr "``s.pop([i])``" -#: ../Doc/library/stdtypes.rst:1097 +#: ../Doc/library/stdtypes.rst:1095 msgid "retrieves the item at *i* and also removes it from *s*" msgstr "" "retorna el elemento en la posición indicada por *i*, y a la vez lo elimina " "de la secuencia *s*" -#: ../Doc/library/stdtypes.rst:1100 +#: ../Doc/library/stdtypes.rst:1098 msgid "``s.remove(x)``" msgstr "``s.remove(x)``" -#: ../Doc/library/stdtypes.rst:1100 +#: ../Doc/library/stdtypes.rst:1098 msgid "remove the first item from *s* where ``s[i]`` is equal to *x*" msgstr "elimina el primer elemento de *s* tal que ``s[i]`` sea igual a *x*" -#: ../Doc/library/stdtypes.rst:1103 +#: ../Doc/library/stdtypes.rst:1101 msgid "``s.reverse()``" msgstr "``s.reverse()``" # Duda sobre como traducir *in place* -#: ../Doc/library/stdtypes.rst:1103 +#: ../Doc/library/stdtypes.rst:1101 msgid "reverses the items of *s* in place" msgstr "invierte el orden de los elementos de *s*, a nivel interno" -#: ../Doc/library/stdtypes.rst:1111 +#: ../Doc/library/stdtypes.rst:1109 msgid "*t* must have the same length as the slice it is replacing." msgstr "" "La secuencia *t* debe tener la misma longitud que la rebanada a la que " "reemplaza." -#: ../Doc/library/stdtypes.rst:1114 +#: ../Doc/library/stdtypes.rst:1112 msgid "" "The optional argument *i* defaults to ``-1``, so that by default the last " "item is removed and returned." @@ -1939,14 +1940,14 @@ msgstr "" "no se especifica se retorna el último valor y este se elimina de la " "secuencia." -#: ../Doc/library/stdtypes.rst:1118 +#: ../Doc/library/stdtypes.rst:1116 msgid ":meth:`remove` raises :exc:`ValueError` when *x* is not found in *s*." msgstr "" "El método :meth:`remove` eleva la excepción :exc:`ValueError` cuando no se " "encuentra *x* en *s*." # side effect ' efecto secundario? -#: ../Doc/library/stdtypes.rst:1121 +#: ../Doc/library/stdtypes.rst:1119 msgid "" "The :meth:`reverse` method modifies the sequence in place for economy of " "space when reversing a large sequence. To remind users that it operates by " @@ -1957,7 +1958,7 @@ msgstr "" "usuario de que el método produce un efecto secundario, no se retorna la " "secuencia invertida." -#: ../Doc/library/stdtypes.rst:1126 +#: ../Doc/library/stdtypes.rst:1124 msgid "" ":meth:`clear` and :meth:`!copy` are included for consistency with the " "interfaces of mutable containers that don't support slicing operations (such " @@ -1971,11 +1972,11 @@ msgstr "" "la clase ABC :class:`collections.abc.MutableSequence`, pero la mayoría de " "las clases finales de tipo secuencia mutable lo incluyen." -#: ../Doc/library/stdtypes.rst:1132 +#: ../Doc/library/stdtypes.rst:1130 msgid ":meth:`clear` and :meth:`!copy` methods." msgstr "Los métodos :meth:`clear` y :meth:`!copy`." -#: ../Doc/library/stdtypes.rst:1136 +#: ../Doc/library/stdtypes.rst:1134 msgid "" "The value *n* is an integer, or an object implementing :meth:`~object." "__index__`. Zero and negative values of *n* clear the sequence. Items in " @@ -1988,11 +1989,11 @@ msgstr "" "referencian múltiples veces, tal y como se explicó para ``s * n`` en :ref:" "`typesseq-common`." -#: ../Doc/library/stdtypes.rst:1145 +#: ../Doc/library/stdtypes.rst:1143 msgid "Lists" msgstr "Listas" -#: ../Doc/library/stdtypes.rst:1149 +#: ../Doc/library/stdtypes.rst:1147 msgid "" "Lists are mutable sequences, typically used to store collections of " "homogeneous items (where the precise degree of similarity will vary by " @@ -2002,31 +2003,31 @@ msgstr "" "colecciones de elementos homogéneos (Donde el grado de similitud de los " "mismo depende de la aplicación)." -#: ../Doc/library/stdtypes.rst:1155 +#: ../Doc/library/stdtypes.rst:1153 msgid "Lists may be constructed in several ways:" msgstr "Las listas se pueden construir de diferentes formas:" -#: ../Doc/library/stdtypes.rst:1157 +#: ../Doc/library/stdtypes.rst:1155 msgid "Using a pair of square brackets to denote the empty list: ``[]``" msgstr "Usando un par de corchetes para definir una lista vacía: ``[]``" -#: ../Doc/library/stdtypes.rst:1158 +#: ../Doc/library/stdtypes.rst:1156 msgid "" "Using square brackets, separating items with commas: ``[a]``, ``[a, b, c]``" msgstr "" "Usando corchetes, separando los elementos incluidos con comas: ``[a]``, " "``[a, b, c]``" -#: ../Doc/library/stdtypes.rst:1159 +#: ../Doc/library/stdtypes.rst:1157 msgid "Using a list comprehension: ``[x for x in iterable]``" msgstr "" "Usando una lista intensiva o por comprensión: ``[x for x in iterable]``" -#: ../Doc/library/stdtypes.rst:1160 +#: ../Doc/library/stdtypes.rst:1158 msgid "Using the type constructor: ``list()`` or ``list(iterable)``" msgstr "Usando el constructor de tipo: ``list()`` o ``list(iterable)``" -#: ../Doc/library/stdtypes.rst:1162 +#: ../Doc/library/stdtypes.rst:1160 msgid "" "The constructor builds a list whose items are the same and in the same order " "as *iterable*'s items. *iterable* may be either a sequence, a container " @@ -2045,7 +2046,7 @@ msgstr "" "construye una nueva lista vacía, ``[]``." # Traduccion de built-ins -#: ../Doc/library/stdtypes.rst:1171 +#: ../Doc/library/stdtypes.rst:1169 msgid "" "Many other operations also produce lists, including the :func:`sorted` built-" "in." @@ -2053,7 +2054,7 @@ msgstr "" "Muchas otras operaciones también producen listas, incluyendo la función " "básica :func:`sorted`." -#: ../Doc/library/stdtypes.rst:1174 +#: ../Doc/library/stdtypes.rst:1172 msgid "" "Lists implement all of the :ref:`common ` and :ref:`mutable " "` sequence operations. Lists also provide the following " @@ -2063,7 +2064,7 @@ msgstr "" "common>` y :ref:`mutables ` propias de las secuencias. " "Además, las listas incorporan los siguientes métodos:" -#: ../Doc/library/stdtypes.rst:1180 +#: ../Doc/library/stdtypes.rst:1178 msgid "" "This method sorts the list in place, using only ``<`` comparisons between " "items. Exceptions are not suppressed - if any comparison operations fail, " @@ -2076,7 +2077,7 @@ msgstr "" "falla (Y la lista probablemente haya quedado modificada parcialmente)." # Ver como se ha traducido la referencia. -#: ../Doc/library/stdtypes.rst:1185 +#: ../Doc/library/stdtypes.rst:1183 msgid "" ":meth:`sort` accepts two arguments that can only be passed by keyword (:ref:" "`keyword-only arguments `):" @@ -2084,7 +2085,7 @@ msgstr "" "El método :meth:`sort` acepta dos parámetros, que solo pueden pasarse por " "nombre (:ref:`keyword-only arguments `):" -#: ../Doc/library/stdtypes.rst:1188 +#: ../Doc/library/stdtypes.rst:1186 msgid "" "*key* specifies a function of one argument that is used to extract a " "comparison key from each list element (for example, ``key=str.lower``). The " @@ -2100,7 +2101,7 @@ msgstr "" "que la lista se ordene comparando directamente los elementos, sin obtener " "valores clave." -#: ../Doc/library/stdtypes.rst:1195 +#: ../Doc/library/stdtypes.rst:1193 msgid "" "The :func:`functools.cmp_to_key` utility is available to convert a 2.x style " "*cmp* function to a *key* function." @@ -2108,7 +2109,7 @@ msgstr "" "La utilidad :func:`functools.cmp_to_key` se puede usar para convertir una " "función *cmp* del estilo de la versión 2.x a una función *key*." -#: ../Doc/library/stdtypes.rst:1198 +#: ../Doc/library/stdtypes.rst:1196 msgid "" "*reverse* is a boolean value. If set to ``True``, then the list elements " "are sorted as if each comparison were reversed." @@ -2117,7 +2118,7 @@ msgstr "" "entonces los elementos de la lista se ordenan como si las operaciones de " "comparación se hubiesen invertido." -#: ../Doc/library/stdtypes.rst:1201 +#: ../Doc/library/stdtypes.rst:1199 msgid "" "This method modifies the sequence in place for economy of space when sorting " "a large sequence. To remind users that it operates by side effect, it does " @@ -2129,7 +2130,7 @@ msgstr "" "de esta manera, no se retorna la secuencia ordenada (Puedes usar :func:" "`sorted` para obtener de forma explicita una nueva secuencia ordenada)." -#: ../Doc/library/stdtypes.rst:1206 +#: ../Doc/library/stdtypes.rst:1204 msgid "" "The :meth:`sort` method is guaranteed to be stable. A sort is stable if it " "guarantees not to change the relative order of elements that compare equal " @@ -2142,14 +2143,14 @@ msgstr "" "ordenaciones en múltiples fases (Por ejemplo, ordenar por departamento y " "después por salario)." -#: ../Doc/library/stdtypes.rst:1211 +#: ../Doc/library/stdtypes.rst:1209 msgid "" "For sorting examples and a brief sorting tutorial, see :ref:`sortinghowto`." msgstr "" "Para ver ejemplos de ordenación y un breve tutorial sobre el tema, véase :" "ref:`sortinghowto`." -#: ../Doc/library/stdtypes.rst:1215 +#: ../Doc/library/stdtypes.rst:1213 msgid "" "While a list is being sorted, the effect of attempting to mutate, or even " "inspect, the list is undefined. The C implementation of Python makes the " @@ -2162,11 +2163,11 @@ msgstr "" "una excepción del tipo :exc:`ValueError` si detecta un cambio en la lista " "durante el proceso de ordenación." -#: ../Doc/library/stdtypes.rst:1224 +#: ../Doc/library/stdtypes.rst:1222 msgid "Tuples" msgstr "Tuplas" -#: ../Doc/library/stdtypes.rst:1228 +#: ../Doc/library/stdtypes.rst:1226 msgid "" "Tuples are immutable sequences, typically used to store collections of " "heterogeneous data (such as the 2-tuples produced by the :func:`enumerate` " @@ -2181,32 +2182,32 @@ msgstr "" "heterogéneos (Como por ejemplo permitir el almacenamiento en un objeto de " "tipo :class:`set` o :class:`dict`)." -#: ../Doc/library/stdtypes.rst:1236 +#: ../Doc/library/stdtypes.rst:1234 msgid "Tuples may be constructed in a number of ways:" msgstr "Las tuplas se pueden construir de diferentes maneras:" -#: ../Doc/library/stdtypes.rst:1238 +#: ../Doc/library/stdtypes.rst:1236 msgid "Using a pair of parentheses to denote the empty tuple: ``()``" msgstr "" "Usando un par de símbolos de paréntesis, para indicar una tupla vacía: ``()``" -#: ../Doc/library/stdtypes.rst:1239 +#: ../Doc/library/stdtypes.rst:1237 msgid "Using a trailing comma for a singleton tuple: ``a,`` or ``(a,)``" msgstr "" "Usando una coma al final, para crear una tupla de un único elemento: ``a,`` " "o ``(a,)``" -#: ../Doc/library/stdtypes.rst:1240 +#: ../Doc/library/stdtypes.rst:1238 msgid "Separating items with commas: ``a, b, c`` or ``(a, b, c)``" msgstr "Separando los elementos por comas: ``a, b, c`` o ``(a, b, c)``" -#: ../Doc/library/stdtypes.rst:1241 +#: ../Doc/library/stdtypes.rst:1239 msgid "Using the :func:`tuple` built-in: ``tuple()`` or ``tuple(iterable)``" msgstr "" "Usando la función básica :func:`tuple` built-in: ``tuple()`` o " "``tuple(iterable)``" -#: ../Doc/library/stdtypes.rst:1243 +#: ../Doc/library/stdtypes.rst:1241 msgid "" "The constructor builds a tuple whose items are the same and in the same " "order as *iterable*'s items. *iterable* may be either a sequence, a " @@ -2224,7 +2225,7 @@ msgstr "" "3] )`` retorna ``(1, 2, 3)``. Si no se indica ningún parámetro, el " "constructor creará una nueva tupla vacía. ``()``." -#: ../Doc/library/stdtypes.rst:1251 +#: ../Doc/library/stdtypes.rst:1249 msgid "" "Note that it is actually the comma which makes a tuple, not the parentheses. " "The parentheses are optional, except in the empty tuple case, or when they " @@ -2239,7 +2240,7 @@ msgstr "" "pero ``f((a, b, c))`` es una llamada a una función con un único parámetro, " "en este caso una tupla de tres elementos." -#: ../Doc/library/stdtypes.rst:1257 +#: ../Doc/library/stdtypes.rst:1255 msgid "" "Tuples implement all of the :ref:`common ` sequence " "operations." @@ -2247,7 +2248,7 @@ msgstr "" "Las tuplas implementan todas las operaciones de secuencia :ref:`common " "`." -#: ../Doc/library/stdtypes.rst:1260 +#: ../Doc/library/stdtypes.rst:1258 msgid "" "For heterogeneous collections of data where access by name is clearer than " "access by index, :func:`collections.namedtuple` may be a more appropriate " @@ -2257,11 +2258,11 @@ msgstr "" "más claro que por índice, quizá crear una tupla con nombres (:func:" "`collections.namedtuple`) pueden ser más apropiado." -#: ../Doc/library/stdtypes.rst:1268 +#: ../Doc/library/stdtypes.rst:1266 msgid "Ranges" msgstr "Rangos" -#: ../Doc/library/stdtypes.rst:1272 +#: ../Doc/library/stdtypes.rst:1270 msgid "" "The :class:`range` type represents an immutable sequence of numbers and is " "commonly used for looping a specific number of times in :keyword:`for` loops." @@ -2270,7 +2271,7 @@ msgstr "" "números y se usan habitualmente para ejecutar un bucle :keyword:`for` un " "número determinado de veces." -#: ../Doc/library/stdtypes.rst:1279 +#: ../Doc/library/stdtypes.rst:1277 msgid "" "The arguments to the range constructor must be integers (either built-in :" "class:`int` or any object that implements the ``__index__`` special " @@ -2285,7 +2286,7 @@ msgstr "" "como ``0``. Si se intenta usar ``0`` como valor de ``step``, se eleva una " "excepción de tipo :exc:`ValueError`." -#: ../Doc/library/stdtypes.rst:1285 +#: ../Doc/library/stdtypes.rst:1283 msgid "" "For a positive *step*, the contents of a range ``r`` are determined by the " "formula ``r[i] = start + step*i`` where ``i >= 0`` and ``r[i] < stop``." @@ -2294,7 +2295,7 @@ msgstr "" "determinado por la fórmula ``r[i] = start + step*i`` donde ``i >= 0`` y " "``r[i] < stop``." -#: ../Doc/library/stdtypes.rst:1289 +#: ../Doc/library/stdtypes.rst:1287 msgid "" "For a negative *step*, the contents of the range are still determined by the " "formula ``r[i] = start + step*i``, but the constraints are ``i >= 0`` and " @@ -2304,7 +2305,7 @@ msgstr "" "determinado por la fórmula ``r[i] = start + step*i``, pero las restricciones " "ahora son ``i >= 0`` y ``r[i] > stop``." -#: ../Doc/library/stdtypes.rst:1293 +#: ../Doc/library/stdtypes.rst:1291 msgid "" "A range object will be empty if ``r[0]`` does not meet the value constraint. " "Ranges do support negative indices, but these are interpreted as indexing " @@ -2315,7 +2316,7 @@ msgstr "" "son interpretados como índices considerados desde el final de la secuencia " "determinada por los índices positivos." -#: ../Doc/library/stdtypes.rst:1298 +#: ../Doc/library/stdtypes.rst:1296 msgid "" "Ranges containing absolute values larger than :data:`sys.maxsize` are " "permitted but some features (such as :func:`len`) may raise :exc:" @@ -2325,11 +2326,11 @@ msgstr "" "permiten, pero algunas capacidades (como la función :func:`len`) pueden " "elevar una excepción de tipo :exc:`OverflowError`." -#: ../Doc/library/stdtypes.rst:1302 +#: ../Doc/library/stdtypes.rst:1300 msgid "Range examples::" msgstr "Ejemplos de rangos::" -#: ../Doc/library/stdtypes.rst:1319 +#: ../Doc/library/stdtypes.rst:1317 msgid "" "Ranges implement all of the :ref:`common ` sequence " "operations except concatenation and repetition (due to the fact that range " @@ -2342,23 +2343,23 @@ msgstr "" "que siguen un patrón estricto, y tanto la repetición como la concatenación " "pueden romperlo)." -#: ../Doc/library/stdtypes.rst:1326 +#: ../Doc/library/stdtypes.rst:1324 msgid "" "The value of the *start* parameter (or ``0`` if the parameter was not " "supplied)" msgstr "El valor del parámetro ``start`` (``0`` si no se utiliza el parámetro)" -#: ../Doc/library/stdtypes.rst:1331 +#: ../Doc/library/stdtypes.rst:1329 msgid "The value of the *stop* parameter" msgstr "El valor del parámetro ``stop``" -#: ../Doc/library/stdtypes.rst:1335 +#: ../Doc/library/stdtypes.rst:1333 msgid "" "The value of the *step* parameter (or ``1`` if the parameter was not " "supplied)" msgstr "El valor del parámetro ``step`` (``1`` si no se utiliza el parámetro)" -#: ../Doc/library/stdtypes.rst:1338 +#: ../Doc/library/stdtypes.rst:1336 msgid "" "The advantage of the :class:`range` type over a regular :class:`list` or :" "class:`tuple` is that a :class:`range` object will always take the same " @@ -2373,7 +2374,7 @@ msgstr "" "``stop`` y ``step``, y calcula los valores intermedios a medida que los va " "necesitando)." -#: ../Doc/library/stdtypes.rst:1344 +#: ../Doc/library/stdtypes.rst:1342 msgid "" "Range objects implement the :class:`collections.abc.Sequence` ABC, and " "provide features such as containment tests, element index lookup, slicing " @@ -2384,7 +2385,7 @@ msgstr "" "búsqueda de elementos por índice, operaciones de rebanadas y soporte de " "índices negativos (Véase :ref:`typesseq`):" -#: ../Doc/library/stdtypes.rst:1364 +#: ../Doc/library/stdtypes.rst:1362 msgid "" "Testing range objects for equality with ``==`` and ``!=`` compares them as " "sequences. That is, two range objects are considered equal if they " @@ -2401,7 +2402,7 @@ msgstr "" "`~range.step`, por ejemplo ``range(0) == range(2, 1, 3)`` y ``range(0, 3, 2) " "== range(0, 4, 2)``)." -#: ../Doc/library/stdtypes.rst:1371 +#: ../Doc/library/stdtypes.rst:1369 msgid "" "Implement the Sequence ABC. Support slicing and negative indices. Test :" "class:`int` objects for membership in constant time instead of iterating " @@ -2412,7 +2413,7 @@ msgstr "" "incluido en un rango se realiza en un tiempo constante, no se realiza una " "iteración a través de todos los elementos." -#: ../Doc/library/stdtypes.rst:1377 +#: ../Doc/library/stdtypes.rst:1375 msgid "" "Define '==' and '!=' to compare range objects based on the sequence of " "values they define (instead of comparing based on object identity)." @@ -2421,7 +2422,7 @@ msgstr "" "secuencia de valores que definen (En vez de compararse en base a la " "identidad)." -#: ../Doc/library/stdtypes.rst:1382 +#: ../Doc/library/stdtypes.rst:1380 msgid "" "The :attr:`~range.start`, :attr:`~range.stop` and :attr:`~range.step` " "attributes." @@ -2429,7 +2430,7 @@ msgstr "" "Los atributos :attr:`~range.start`, :attr:`~range.stop` y :attr:`~range." "step`." -#: ../Doc/library/stdtypes.rst:1388 +#: ../Doc/library/stdtypes.rst:1386 msgid "" "The `linspace recipe `_ shows " "how to implement a lazy version of range suitable for floating point " @@ -2439,12 +2440,12 @@ msgstr "" "muestra como implementar una versión *lazy* o perezosa de una función para " "``range`` que funciona con valores en coma flotante." -#: ../Doc/library/stdtypes.rst:1400 +#: ../Doc/library/stdtypes.rst:1398 msgid "Text Sequence Type --- :class:`str`" msgstr "Cadenas de caracteres --- :class:`str`" # Comprobar la definicion de cadenas -#: ../Doc/library/stdtypes.rst:1402 +#: ../Doc/library/stdtypes.rst:1400 msgid "" "Textual data in Python is handled with :class:`str` objects, or :dfn:" "`strings`. Strings are immutable :ref:`sequences ` of Unicode code " @@ -2456,15 +2457,15 @@ msgstr "" "inmutables de puntos de código Unicode. Las cadenas se pueden definir de " "diferentes maneras:" -#: ../Doc/library/stdtypes.rst:1407 +#: ../Doc/library/stdtypes.rst:1405 msgid "Single quotes: ``'allows embedded \"double\" quotes'``" msgstr "Comillas simples: ``'permite incluir comillas \"dobles\"'``" -#: ../Doc/library/stdtypes.rst:1408 +#: ../Doc/library/stdtypes.rst:1406 msgid "Double quotes: ``\"allows embedded 'single' quotes\"``." msgstr "Comillas dobles: ``\"permite incluir comillas 'simples'\"``." -#: ../Doc/library/stdtypes.rst:1409 +#: ../Doc/library/stdtypes.rst:1407 msgid "" "Triple quoted: ``'''Three single quotes'''``, ``\"\"\"Three double quotes" "\"\"\"``" @@ -2472,7 +2473,7 @@ msgstr "" "Triples comillas: ya sea con comillas simples ``'''Triples comillas " "simples'''`` o dobles ``\"\"\"Triples comillas dobles\"\"\"``" -#: ../Doc/library/stdtypes.rst:1411 +#: ../Doc/library/stdtypes.rst:1409 msgid "" "Triple quoted strings may span multiple lines - all associated whitespace " "will be included in the string literal." @@ -2481,7 +2482,7 @@ msgstr "" "Todos los espacios en blancos incluidos se incorporan a la cadena de forma " "literal." -#: ../Doc/library/stdtypes.rst:1414 +#: ../Doc/library/stdtypes.rst:1412 msgid "" "String literals that are part of a single expression and have only " "whitespace between them will be implicitly converted to a single string " @@ -2491,7 +2492,7 @@ msgstr "" "separados por espacios en blanco, se convertirán implícitamente a una única " "cadena. Esto es, ``(\"spam \" \"eggs\") == \"spam eggs\"``." -#: ../Doc/library/stdtypes.rst:1418 +#: ../Doc/library/stdtypes.rst:1416 msgid "" "See :ref:`strings` for more about the various forms of string literal, " "including supported escape sequences, and the ``r`` (\"raw\") prefix that " @@ -2502,7 +2503,7 @@ msgstr "" "prefijo ``r`` (\"*raw*\") que deshabilita el procesamiento de la mayoría de " "dichas secuencias de escape." -#: ../Doc/library/stdtypes.rst:1422 +#: ../Doc/library/stdtypes.rst:1420 msgid "" "Strings may also be created from other objects using the :class:`str` " "constructor." @@ -2510,7 +2511,7 @@ msgstr "" "Las cadenas de caracteres también se pueden crear usando el constructor :" "class:`str`." -#: ../Doc/library/stdtypes.rst:1425 +#: ../Doc/library/stdtypes.rst:1423 msgid "" "Since there is no separate \"character\" type, indexing a string produces " "strings of length 1. That is, for a non-empty string *s*, ``s[0] == s[0:1]``." @@ -2520,7 +2521,7 @@ msgstr "" "*s*, ``s[0] == s[0:1]``." # fragmentos suena raro -#: ../Doc/library/stdtypes.rst:1431 +#: ../Doc/library/stdtypes.rst:1429 msgid "" "There is also no mutable string type, but :meth:`str.join` or :class:`io." "StringIO` can be used to efficiently construct strings from multiple " @@ -2530,7 +2531,7 @@ msgstr "" "método :meth:`str.join` o la clase :class:`io.StringIO` pueden usarse para " "construir de forma eficiente una cadena de caracteres a partir de fragmentos." -#: ../Doc/library/stdtypes.rst:1435 +#: ../Doc/library/stdtypes.rst:1433 msgid "" "For backwards compatibility with the Python 2 series, the ``u`` prefix is " "once again permitted on string literals. It has no effect on the meaning of " @@ -2540,7 +2541,7 @@ msgstr "" "``u`` se permite en las cadenas de caracteres. No tiene ningún efecto en la " "interpretación del literal y no se puede combinar con el prefijo ``r``." -#: ../Doc/library/stdtypes.rst:1447 +#: ../Doc/library/stdtypes.rst:1445 msgid "" "Return a :ref:`string ` version of *object*. If *object* is not " "provided, returns the empty string. Otherwise, the behavior of ``str()`` " @@ -2551,7 +2552,7 @@ msgstr "" "se proporciona, el comportamiento de ``str()`` depende de los valores " "pasados en los parámetros *encoding* y *errors*, como veremos." -#: ../Doc/library/stdtypes.rst:1451 +#: ../Doc/library/stdtypes.rst:1449 msgid "" "If neither *encoding* nor *errors* is given, ``str(object)`` returns :meth:" "`object.__str__() `, which is the \"informal\" or nicely " @@ -2566,7 +2567,7 @@ msgstr "" "método :meth:`~object.__str__`, entonces :func:`str` usará como reemplazo el " "método :meth:`repr(object) `." -#: ../Doc/library/stdtypes.rst:1462 +#: ../Doc/library/stdtypes.rst:1460 msgid "" "If at least one of *encoding* or *errors* is given, *object* should be a :" "term:`bytes-like object` (e.g. :class:`bytes` or :class:`bytearray`). In " @@ -2588,7 +2589,7 @@ msgstr "" "información sobre los objetos *buffer*." # comand-line? -#: ../Doc/library/stdtypes.rst:1471 +#: ../Doc/library/stdtypes.rst:1469 msgid "" "Passing a :class:`bytes` object to :func:`str` without the *encoding* or " "*errors* arguments falls under the first case of returning the informal " @@ -2600,7 +2601,7 @@ msgstr "" "caso normal donde se retorna la representación informal (Véase también la :" "option:`-b` de las opciones de línea de órdenes de Python). Por ejemplo::" -#: ../Doc/library/stdtypes.rst:1479 +#: ../Doc/library/stdtypes.rst:1477 msgid "" "For more information on the ``str`` class and its methods, see :ref:" "`textseq` and the :ref:`string-methods` section below. To output formatted " @@ -2612,11 +2613,11 @@ msgstr "" "opciones de formateo de cadenas, lee las secciones :ref:`f-strings` y :ref:" "`formatstrings`. También puedes consultar la sección :ref:`stringservices`." -#: ../Doc/library/stdtypes.rst:1491 +#: ../Doc/library/stdtypes.rst:1489 msgid "String Methods" msgstr "Métodos de las cadenas de caracteres" -#: ../Doc/library/stdtypes.rst:1496 +#: ../Doc/library/stdtypes.rst:1494 msgid "" "Strings implement all of the :ref:`common ` sequence " "operations, along with the additional methods described below." @@ -2625,7 +2626,7 @@ msgstr "" "` de las secuencias, junto con los métodos descritos a " "continuación." -#: ../Doc/library/stdtypes.rst:1499 +#: ../Doc/library/stdtypes.rst:1497 msgid "" "Strings also support two styles of string formatting, one providing a large " "degree of flexibility and customization (see :meth:`str.format`, :ref:" @@ -2641,7 +2642,7 @@ msgstr "" "ligeramente más complicada de usar, pero es a menudo más rápida para los " "casos que puede manejar (:ref:`old-string-formatting`)." -#: ../Doc/library/stdtypes.rst:1506 +#: ../Doc/library/stdtypes.rst:1504 msgid "" "The :ref:`textservices` section of the standard library covers a number of " "other modules that provide various text related utilities (including regular " @@ -2651,7 +2652,7 @@ msgstr "" "módulos que proporcionan varias utilidades para trabajar con textos " "(Incluyendo las expresiones regulares en el módulo :mod:`re`)." -#: ../Doc/library/stdtypes.rst:1512 +#: ../Doc/library/stdtypes.rst:1510 msgid "" "Return a copy of the string with its first character capitalized and the " "rest lowercased." @@ -2660,7 +2661,7 @@ msgstr "" "resto en minúsculas." # no se si titular sera lo adecuado -#: ../Doc/library/stdtypes.rst:1515 +#: ../Doc/library/stdtypes.rst:1513 msgid "" "The first character is now put into titlecase rather than uppercase. This " "means that characters like digraphs will only have their first letter " @@ -2670,7 +2671,7 @@ msgstr "" "significa que caracteres como dígrafos solo tendrán la primera letra en " "mayúsculas, en ves de todo el carácter." -#: ../Doc/library/stdtypes.rst:1522 +#: ../Doc/library/stdtypes.rst:1520 msgid "" "Return a casefolded copy of the string. Casefolded strings may be used for " "caseless matching." @@ -2679,7 +2680,7 @@ msgstr "" "normalizados pueden usarse para realizar búsquedas textuales independientes " "de mayúsculas y minúsculas." -#: ../Doc/library/stdtypes.rst:1525 +#: ../Doc/library/stdtypes.rst:1523 msgid "" "Casefolding is similar to lowercasing but more aggressive because it is " "intended to remove all case distinctions in a string. For example, the " @@ -2693,7 +2694,7 @@ msgstr "" "Como ya está en minúsculas, el método :meth:`lower` no modifica ``'ß'``, " "pero el método :meth:`casefold` lo convertirá a ``\"ss\"``." -#: ../Doc/library/stdtypes.rst:1531 +#: ../Doc/library/stdtypes.rst:1529 msgid "" "The casefolding algorithm is described in section 3.13 of the Unicode " "Standard." @@ -2701,7 +2702,7 @@ msgstr "" "El algoritmo de normalización a minúsculas se describe en la sección 3.13 " "del estándar Unicode." -#: ../Doc/library/stdtypes.rst:1539 +#: ../Doc/library/stdtypes.rst:1537 msgid "" "Return centered in a string of length *width*. Padding is done using the " "specified *fillchar* (default is an ASCII space). The original string is " @@ -2713,7 +2714,7 @@ msgstr "" "la cadena original tiene una longitud ``len(s)`` igual o superior a *width*, " "se retorna el texto sin modificar." -#: ../Doc/library/stdtypes.rst:1547 +#: ../Doc/library/stdtypes.rst:1545 msgid "" "Return the number of non-overlapping occurrences of substring *sub* in the " "range [*start*, *end*]. Optional arguments *start* and *end* are " @@ -2723,7 +2724,7 @@ msgstr "" "[*start*, *end*]. Los parámetros opcionales *start* y *end* Se interpretan " "como en una expresión de rebanada." -#: ../Doc/library/stdtypes.rst:1554 +#: ../Doc/library/stdtypes.rst:1552 msgid "" "Return an encoded version of the string as a bytes object. Default encoding " "is ``'utf-8'``. *errors* may be given to set a different error handling " @@ -2745,11 +2746,22 @@ msgstr "" "lista de los posibles sistemas de codificación, véase la sección :ref:" "`standard-encodings`." -#: ../Doc/library/stdtypes.rst:1563 +#: ../Doc/library/stdtypes.rst:1561 +msgid "" +"By default, the *errors* argument is not checked for best performances, but " +"only used at the first encoding error. Enable the :ref:`Python Development " +"Mode `, or use a debug build to check *errors*." +msgstr "" + +#: ../Doc/library/stdtypes.rst:1565 msgid "Support for keyword arguments added." msgstr "Añade soporte para el uso de parámetros por nombre." -#: ../Doc/library/stdtypes.rst:1569 +#: ../Doc/library/stdtypes.rst:1568 ../Doc/library/stdtypes.rst:2703 +msgid "The *errors* is now checked in development mode and in debug mode." +msgstr "" + +#: ../Doc/library/stdtypes.rst:1574 msgid "" "Return ``True`` if the string ends with the specified *suffix*, otherwise " "return ``False``. *suffix* can also be a tuple of suffixes to look for. " @@ -2762,7 +2774,7 @@ msgstr "" "parámetro opcional *start*, la comprobación empieza en esa posición. Con el " "parámetro opcional *stop*, la comprobación termina en esa posición." -#: ../Doc/library/stdtypes.rst:1577 +#: ../Doc/library/stdtypes.rst:1582 msgid "" "Return a copy of the string where all tab characters are replaced by one or " "more spaces, depending on the current column and the given tab size. Tab " @@ -2791,7 +2803,7 @@ msgstr "" "sin cambios y hace que el contador de columna se incremente en 1, sin tener " "en cuenta como se representa gráficamente el carácter." -#: ../Doc/library/stdtypes.rst:1598 +#: ../Doc/library/stdtypes.rst:1603 msgid "" "Return the lowest index in the string where substring *sub* is found within " "the slice ``s[start:end]``. Optional arguments *start* and *end* are " @@ -2802,7 +2814,7 @@ msgstr "" "opcionales *start* y *end* se interpretan como si fueran 'indices de una " "rebanada. retorna ``-1`` si no se encuentra la cadena." -#: ../Doc/library/stdtypes.rst:1604 +#: ../Doc/library/stdtypes.rst:1609 msgid "" "The :meth:`~str.find` method should be used only if you need to know the " "position of *sub*. To check if *sub* is a substring or not, use the :" @@ -2812,7 +2824,7 @@ msgstr "" "posición de la cadena *sub*. Si solo se necesita comprobar si *sub* es una " "parte de *s*, es mejor usar el operador :keyword:`in`::" -#: ../Doc/library/stdtypes.rst:1614 +#: ../Doc/library/stdtypes.rst:1619 msgid "" "Perform a string formatting operation. The string on which this method is " "called can contain literal text or replacement fields delimited by braces " @@ -2829,7 +2841,7 @@ msgstr "" "copia de la cadena donde se han sustituido las marcas de reemplazo por los " "valores correspondientes pasados como parámetros." -#: ../Doc/library/stdtypes.rst:1624 +#: ../Doc/library/stdtypes.rst:1629 msgid "" "See :ref:`formatstrings` for a description of the various formatting options " "that can be specified in format strings." @@ -2837,7 +2849,7 @@ msgstr "" "Véase :ref:`formatstrings` para una descripción de las distintas opciones de " "formateo que se pueden usar." -#: ../Doc/library/stdtypes.rst:1628 +#: ../Doc/library/stdtypes.rst:1633 msgid "" "When formatting a number (:class:`int`, :class:`float`, :class:`complex`, :" "class:`decimal.Decimal` and subclasses) with the ``n`` type (ex: ``'{:n}'." @@ -2857,7 +2869,7 @@ msgstr "" "del definido en ``LC_CTYPE``. Estos cambios temporales pueden afectar a " "otros *threads*." -#: ../Doc/library/stdtypes.rst:1637 +#: ../Doc/library/stdtypes.rst:1642 msgid "" "When formatting a number with the ``n`` type, the function sets temporarily " "the ``LC_CTYPE`` locale to the ``LC_NUMERIC`` locale in some cases." @@ -2865,7 +2877,7 @@ msgstr "" "Cuando se formatea un número usando la ``n``, la función puede asignar de " "forma temporal la variable ``LC_CTYPE``." -#: ../Doc/library/stdtypes.rst:1645 +#: ../Doc/library/stdtypes.rst:1650 msgid "" "Similar to ``str.format(**mapping)``, except that ``mapping`` is used " "directly and not copied to a :class:`dict`. This is useful if for example " @@ -2875,7 +2887,7 @@ msgstr "" "directa y no se copia a una diccionario. Esto es útil si ``*mapping*`` es, " "por ejemplo, una instancia de una subclase de :class:`dict`:" -#: ../Doc/library/stdtypes.rst:1661 +#: ../Doc/library/stdtypes.rst:1666 msgid "" "Like :meth:`~str.find`, but raise :exc:`ValueError` when the substring is " "not found." @@ -2883,7 +2895,7 @@ msgstr "" "Como :meth:`~str.find`, pero eleva una excepción de tipo :exc:`ValueError` " "si no se encuentra la cadena a buscar." -#: ../Doc/library/stdtypes.rst:1667 +#: ../Doc/library/stdtypes.rst:1672 msgid "" "Return ``True`` if all characters in the string are alphanumeric and there " "is at least one character, ``False`` otherwise. A character ``c`` is " @@ -2896,7 +2908,7 @@ msgstr "" "funciones retorna ``True``: ``c.isalpha()``, ``c.isdecimal()``, ``c." "isdigit()`` o ``c.isnumeric()``." -#: ../Doc/library/stdtypes.rst:1675 +#: ../Doc/library/stdtypes.rst:1680 msgid "" "Return ``True`` if all characters in the string are alphabetic and there is " "at least one character, ``False`` otherwise. Alphabetic characters are " @@ -2912,7 +2924,7 @@ msgstr "" "\", \"*Lt*\", \"*Lu*\", \"*Ll*\" o \"*Lo*\". Nótese que esta definición de " "\"Alfabético\" es diferente de la que usa el estándar Unicode." -#: ../Doc/library/stdtypes.rst:1684 +#: ../Doc/library/stdtypes.rst:1689 msgid "" "Return ``True`` if the string is empty or all characters in the string are " "ASCII, ``False`` otherwise. ASCII characters have code points in the range U" @@ -2923,7 +2935,7 @@ msgstr "" "caracteres ASCII son aquellos cuyos puntos de código Unicode están en el " "rango U+0000-U+007F." -#: ../Doc/library/stdtypes.rst:1693 +#: ../Doc/library/stdtypes.rst:1698 msgid "" "Return ``True`` if all characters in the string are decimal characters and " "there is at least one character, ``False`` otherwise. Decimal characters are " @@ -2938,7 +2950,7 @@ msgstr "" "Formalmente, un carácter decimal es un carácter en la categoría general " "\"`Nd`\" de Unicode." -#: ../Doc/library/stdtypes.rst:1703 +#: ../Doc/library/stdtypes.rst:1708 msgid "" "Return ``True`` if all characters in the string are digits and there is at " "least one character, ``False`` otherwise. Digits include decimal characters " @@ -2955,7 +2967,7 @@ msgstr "" "números *Kharosthi*. Formalmente, un dígito es un carácter que tiene la " "propiedad ``*Numeric_Type*`` definida como ``*Digit*`` o ``*Decimal*``." -#: ../Doc/library/stdtypes.rst:1713 +#: ../Doc/library/stdtypes.rst:1718 msgid "" "Return ``True`` if the string is a valid identifier according to the " "language definition, section :ref:`identifiers`." @@ -2963,7 +2975,7 @@ msgstr "" "Retorna ``True`` si la cadena de caracteres es un identificar válido de " "acuerdo a la especificación del lenguaje, véase :ref:`identifiers`." -#: ../Doc/library/stdtypes.rst:1716 +#: ../Doc/library/stdtypes.rst:1721 msgid "" "Call :func:`keyword.iskeyword` to test whether string ``s`` is a reserved " "identifier, such as :keyword:`def` and :keyword:`class`." @@ -2972,11 +2984,11 @@ msgstr "" "cadena ``s`` es una palabra reservada, como :keyword:`def` o :keyword:" "`class`." -#: ../Doc/library/stdtypes.rst:1719 +#: ../Doc/library/stdtypes.rst:1724 msgid "Example: ::" msgstr "Ejemplo: ::" -#: ../Doc/library/stdtypes.rst:1732 +#: ../Doc/library/stdtypes.rst:1737 msgid "" "Return ``True`` if all cased characters [4]_ in the string are lowercase and " "there is at least one cased character, ``False`` otherwise." @@ -2985,7 +2997,7 @@ msgstr "" "mayúsculas y minúsculas [4]_ están en minúsculas y hay, al menos, un " "carácter de ese tipo. En caso contrario, retorna ``False``." -#: ../Doc/library/stdtypes.rst:1738 +#: ../Doc/library/stdtypes.rst:1743 msgid "" "Return ``True`` if all characters in the string are numeric characters, and " "there is at least one character, ``False`` otherwise. Numeric characters " @@ -3002,7 +3014,7 @@ msgstr "" "numéricos son aquellos que la propiedad ``Numeric_Type`` definida como " "``Digit``, ``Decimal`` o ``Numeric``." -#: ../Doc/library/stdtypes.rst:1748 +#: ../Doc/library/stdtypes.rst:1753 msgid "" "Return ``True`` if all characters in the string are printable or the string " "is empty, ``False`` otherwise. Nonprintable characters are those characters " @@ -3021,7 +3033,7 @@ msgstr "" "cuando se imprimen con la función :func:`repr`. No tiene relevancia en " "cadenas escritas a :data:`sys.stdout` o :data:`sys.stderr`)." -#: ../Doc/library/stdtypes.rst:1759 +#: ../Doc/library/stdtypes.rst:1764 msgid "" "Return ``True`` if there are only whitespace characters in the string and " "there is at least one character, ``False`` otherwise." @@ -3029,7 +3041,7 @@ msgstr "" "Retorna ``True`` si todos los caracteres de la cadena son espacios en blanco " "y hay, al menos, un carácter. En caso contrario, retorna ``False``." -#: ../Doc/library/stdtypes.rst:1762 +#: ../Doc/library/stdtypes.rst:1767 msgid "" "A character is *whitespace* if in the Unicode character database (see :mod:" "`unicodedata`), either its general category is ``Zs`` (\"Separator, space" @@ -3040,7 +3052,7 @@ msgstr "" "``Zs``(\"Espacio, separador\") o la clase bidireccional es ``WS``, ``B``, or " "``S``." -#: ../Doc/library/stdtypes.rst:1770 +#: ../Doc/library/stdtypes.rst:1775 msgid "" "Return ``True`` if the string is a titlecased string and there is at least " "one character, for example uppercase characters may only follow uncased " @@ -3054,7 +3066,7 @@ msgstr "" "tiene formas alternativas mayúsculas-minúsculas. En caso contrario, retorna " "``False``." -#: ../Doc/library/stdtypes.rst:1777 +#: ../Doc/library/stdtypes.rst:1782 msgid "" "Return ``True`` if all cased characters [4]_ in the string are uppercase and " "there is at least one cased character, ``False`` otherwise." @@ -3063,7 +3075,7 @@ msgstr "" "mayúsculas y minúsculas [4]_ están en mayúsculas y hay, al menos, un " "carácter de ese tipo. En caso contrario, retorna ``False``." -#: ../Doc/library/stdtypes.rst:1783 +#: ../Doc/library/stdtypes.rst:1798 msgid "" "Return a string which is the concatenation of the strings in *iterable*. A :" "exc:`TypeError` will be raised if there are any non-string values in " @@ -3076,7 +3088,7 @@ msgstr "" "tipo :class:`bytes`. Se usa como separador entre los elementos la cadena de " "caracteres pasada como parámetro." -#: ../Doc/library/stdtypes.rst:1791 +#: ../Doc/library/stdtypes.rst:1806 msgid "" "Return the string left justified in a string of length *width*. Padding is " "done using the specified *fillchar* (default is an ASCII space). The " @@ -3088,7 +3100,7 @@ msgstr "" "cadena original tiene una longitud ``len(s)`` igual o superior a *width*, se " "Retorna el texto sin modificar." -#: ../Doc/library/stdtypes.rst:1798 +#: ../Doc/library/stdtypes.rst:1813 msgid "" "Return a copy of the string with all the cased characters [4]_ converted to " "lowercase." @@ -3096,7 +3108,7 @@ msgstr "" "Retorna una copia de la cadena de caracteres con todas las letras en " "minúsculas [4]_." -#: ../Doc/library/stdtypes.rst:1801 +#: ../Doc/library/stdtypes.rst:1816 msgid "" "The lowercasing algorithm used is described in section 3.13 of the Unicode " "Standard." @@ -3104,7 +3116,7 @@ msgstr "" "El algoritmo usado para la conversión a minúsculas está descrito en la " "sección 3..13 del estándar Unicode." -#: ../Doc/library/stdtypes.rst:1807 +#: ../Doc/library/stdtypes.rst:1822 msgid "" "Return a copy of the string with leading characters removed. The *chars* " "argument is a string specifying the set of characters to be removed. If " @@ -3118,7 +3130,13 @@ msgstr "" "todos los espacios en blanco. No debe entenderse el valor de *chars* como un " "prefijo, sino que se elimina cualquier combinación de sus caracteres::" -#: ../Doc/library/stdtypes.rst:1820 +#: ../Doc/library/stdtypes.rst:1832 +msgid "" +"See :meth:`str.removeprefix` for a method that will remove a single prefix " +"string rather than all of a set of characters. For example::" +msgstr "" + +#: ../Doc/library/stdtypes.rst:1843 msgid "" "This static method returns a translation table usable for :meth:`str." "translate`." @@ -3126,7 +3144,7 @@ msgstr "" "Este método estático retorna una tabla de traducción apta para ser usada por " "el método :meth:`str.translate`." -#: ../Doc/library/stdtypes.rst:1822 +#: ../Doc/library/stdtypes.rst:1845 msgid "" "If there is only one argument, it must be a dictionary mapping Unicode " "ordinals (integers) or characters (strings of length 1) to Unicode ordinals, " @@ -3138,7 +3156,7 @@ msgstr "" "Unicode, cadenas (De cualquier longitud) o ``None``. Las claves se " "convertirán a ordinales." -#: ../Doc/library/stdtypes.rst:1827 +#: ../Doc/library/stdtypes.rst:1850 msgid "" "If there are two arguments, they must be strings of equal length, and in the " "resulting dictionary, each character in x will be mapped to the character at " @@ -3150,7 +3168,7 @@ msgstr "" "posición en *y*. Si se añade un tercer parámetro, debe ser una cadena de " "caracteres, todos los cuales se mapearán a ``None`` en la tabla resultante." -#: ../Doc/library/stdtypes.rst:1835 +#: ../Doc/library/stdtypes.rst:1858 msgid "" "Split the string at the first occurrence of *sep*, and return a 3-tuple " "containing the part before the separator, the separator itself, and the part " @@ -3163,7 +3181,20 @@ msgstr "" "Retorna una tupla de tres elementos, el primero la cadena original y los dos " "siguientes son cadenas vacías." -#: ../Doc/library/stdtypes.rst:1843 +#: ../Doc/library/stdtypes.rst:1866 +msgid "" +"If the string starts with the *prefix* string, return " +"``string[len(prefix):]``. Otherwise, return a copy of the original string::" +msgstr "" + +#: ../Doc/library/stdtypes.rst:1880 +msgid "" +"If the string ends with the *suffix* string and that *suffix* is not empty, " +"return ``string[:-len(suffix)]``. Otherwise, return a copy of the original " +"string::" +msgstr "" + +#: ../Doc/library/stdtypes.rst:1894 msgid "" "Return a copy of the string with all occurrences of substring *old* replaced " "by *new*. If the optional argument *count* is given, only the first *count* " @@ -3173,7 +3204,7 @@ msgstr "" "sustituidas por *new*. Si se utiliza el parámetro *count*, solo se cambian " "las primeras *count* ocurrencias." -#: ../Doc/library/stdtypes.rst:1850 +#: ../Doc/library/stdtypes.rst:1901 msgid "" "Return the highest index in the string where substring *sub* is found, such " "that *sub* is contained within ``s[start:end]``. Optional arguments *start* " @@ -3184,7 +3215,7 @@ msgstr "" "opcionales *start* y *end* se interpretan igual que en las operaciones de " "rebanado. retorna ``-1`` si no se encuentra *sub*." -#: ../Doc/library/stdtypes.rst:1857 +#: ../Doc/library/stdtypes.rst:1908 msgid "" "Like :meth:`rfind` but raises :exc:`ValueError` when the substring *sub* is " "not found." @@ -3192,7 +3223,7 @@ msgstr "" "Como el método :meth:`rfind`, pero eleva la excepción :exc:`ValueError` si " "no se encuentra la cadena *sub*." -#: ../Doc/library/stdtypes.rst:1863 +#: ../Doc/library/stdtypes.rst:1914 msgid "" "Return the string right justified in a string of length *width*. Padding is " "done using the specified *fillchar* (default is an ASCII space). The " @@ -3203,7 +3234,7 @@ msgstr "" "parámetro *fillchar* (Por defecto se usa el carácter espacio ASCII). Si " "*width* es menor o igual que ``len(s)``, se retorna el texto sin modificar." -#: ../Doc/library/stdtypes.rst:1870 +#: ../Doc/library/stdtypes.rst:1921 msgid "" "Split the string at the last occurrence of *sep*, and return a 3-tuple " "containing the part before the separator, the separator itself, and the part " @@ -3216,7 +3247,7 @@ msgstr "" "Retorna una tupla de tres elementos, los dos primeras posiciones con cadenas " "vacías y en la tercera la cadena original." -#: ../Doc/library/stdtypes.rst:1878 +#: ../Doc/library/stdtypes.rst:1929 msgid "" "Return a list of the words in the string, using *sep* as the delimiter " "string. If *maxsplit* is given, at most *maxsplit* splits are done, the " @@ -3233,7 +3264,7 @@ msgstr "" "derecha, el comportamiento de este método :meth:`rsplit` es equivalente al " "de :meth:`split`, que se describe con detalle más adelante." -#: ../Doc/library/stdtypes.rst:1887 +#: ../Doc/library/stdtypes.rst:1938 msgid "" "Return a copy of the string with trailing characters removed. The *chars* " "argument is a string specifying the set of characters to be removed. If " @@ -3247,7 +3278,13 @@ msgstr "" "todos los espacios en blanco. No debe entenderse el valor de *chars* como un " "prefijo, sino que se elimina cualquier combinación de sus caracteres::" -#: ../Doc/library/stdtypes.rst:1900 +#: ../Doc/library/stdtypes.rst:1948 +msgid "" +"See :meth:`str.removesuffix` for a method that will remove a single suffix " +"string rather than all of a set of characters. For example::" +msgstr "" + +#: ../Doc/library/stdtypes.rst:1958 msgid "" "Return a list of the words in the string, using *sep* as the delimiter " "string. If *maxsplit* is given, at most *maxsplit* splits are done (thus, " @@ -3262,7 +3299,7 @@ msgstr "" "especifica *maxsplit* o se pasa con valor ``-1``, entonces no hay límite al " "número de divisiones a realizar (Se harán todas las que se puedan)." -#: ../Doc/library/stdtypes.rst:1906 +#: ../Doc/library/stdtypes.rst:1964 msgid "" "If *sep* is given, consecutive delimiters are not grouped together and are " "deemed to delimit empty strings (for example, ``'1,,2'.split(',')`` returns " @@ -3277,20 +3314,20 @@ msgstr "" "split('<>')`` retorna ``['1', '2', '3']``). Dividir una cadena vacía con un " "separador determinado retornará ``['']``." -#: ../Doc/library/stdtypes.rst:1912 ../Doc/library/stdtypes.rst:1928 -#: ../Doc/library/stdtypes.rst:1980 ../Doc/library/stdtypes.rst:2048 -#: ../Doc/library/stdtypes.rst:2111 ../Doc/library/stdtypes.rst:2895 -#: ../Doc/library/stdtypes.rst:2911 ../Doc/library/stdtypes.rst:3002 -#: ../Doc/library/stdtypes.rst:3018 ../Doc/library/stdtypes.rst:3043 -#: ../Doc/library/stdtypes.rst:3057 ../Doc/library/stdtypes.rst:3085 -#: ../Doc/library/stdtypes.rst:3099 ../Doc/library/stdtypes.rst:3117 -#: ../Doc/library/stdtypes.rst:3144 ../Doc/library/stdtypes.rst:3167 -#: ../Doc/library/stdtypes.rst:3194 ../Doc/library/stdtypes.rst:3236 -#: ../Doc/library/stdtypes.rst:3260 +#: ../Doc/library/stdtypes.rst:1970 ../Doc/library/stdtypes.rst:1986 +#: ../Doc/library/stdtypes.rst:2038 ../Doc/library/stdtypes.rst:2106 +#: ../Doc/library/stdtypes.rst:2169 ../Doc/library/stdtypes.rst:3018 +#: ../Doc/library/stdtypes.rst:3034 ../Doc/library/stdtypes.rst:3125 +#: ../Doc/library/stdtypes.rst:3141 ../Doc/library/stdtypes.rst:3166 +#: ../Doc/library/stdtypes.rst:3180 ../Doc/library/stdtypes.rst:3208 +#: ../Doc/library/stdtypes.rst:3222 ../Doc/library/stdtypes.rst:3240 +#: ../Doc/library/stdtypes.rst:3267 ../Doc/library/stdtypes.rst:3290 +#: ../Doc/library/stdtypes.rst:3317 ../Doc/library/stdtypes.rst:3359 +#: ../Doc/library/stdtypes.rst:3383 msgid "For example::" msgstr "Por ejemplo::" -#: ../Doc/library/stdtypes.rst:1921 +#: ../Doc/library/stdtypes.rst:1979 msgid "" "If *sep* is not specified or is ``None``, a different splitting algorithm is " "applied: runs of consecutive whitespace are regarded as a single separator, " @@ -3307,7 +3344,7 @@ msgstr "" "una cadena vacía o una cadena que solo contenga espacios en blanco usando " "``None`` como separador siempre retornará una lista vacía ``[]``." -#: ../Doc/library/stdtypes.rst:1943 +#: ../Doc/library/stdtypes.rst:2001 msgid "" "Return a list of the lines in the string, breaking at line boundaries. Line " "breaks are not included in the resulting list unless *keepends* is given and " @@ -3318,7 +3355,7 @@ msgstr "" "especifique lo contrario pasando el valor ``True`` en al parámetro " "*keepends*." -#: ../Doc/library/stdtypes.rst:1947 +#: ../Doc/library/stdtypes.rst:2005 msgid "" "This method splits on the following line boundaries. In particular, the " "boundaries are a superset of :term:`universal newlines`." @@ -3327,107 +3364,107 @@ msgstr "" "concreto, estos son un superconjunto de los :term:`saltos de líneas " "universales`." -#: ../Doc/library/stdtypes.rst:1951 +#: ../Doc/library/stdtypes.rst:2009 msgid "Representation" msgstr "Representación" -#: ../Doc/library/stdtypes.rst:1951 +#: ../Doc/library/stdtypes.rst:2009 msgid "Description" msgstr "Descripción" -#: ../Doc/library/stdtypes.rst:1953 +#: ../Doc/library/stdtypes.rst:2011 msgid "``\\n``" msgstr "``\\n``" -#: ../Doc/library/stdtypes.rst:1953 +#: ../Doc/library/stdtypes.rst:2011 msgid "Line Feed" msgstr "Salto de línea" -#: ../Doc/library/stdtypes.rst:1955 +#: ../Doc/library/stdtypes.rst:2013 msgid "``\\r``" msgstr "``\\r``" -#: ../Doc/library/stdtypes.rst:1955 +#: ../Doc/library/stdtypes.rst:2013 msgid "Carriage Return" msgstr "Retorno de carro" -#: ../Doc/library/stdtypes.rst:1957 +#: ../Doc/library/stdtypes.rst:2015 msgid "``\\r\\n``" msgstr "``\\r\\n``" -#: ../Doc/library/stdtypes.rst:1957 +#: ../Doc/library/stdtypes.rst:2015 msgid "Carriage Return + Line Feed" msgstr "Retorno de carro + salto de línea" -#: ../Doc/library/stdtypes.rst:1959 +#: ../Doc/library/stdtypes.rst:2017 msgid "``\\v`` or ``\\x0b``" msgstr "``\\v`` o ``\\x0b``" -#: ../Doc/library/stdtypes.rst:1959 +#: ../Doc/library/stdtypes.rst:2017 msgid "Line Tabulation" msgstr "Tabulación de línea" -#: ../Doc/library/stdtypes.rst:1961 +#: ../Doc/library/stdtypes.rst:2019 msgid "``\\f`` or ``\\x0c``" msgstr "``\\f`` o ``\\x0c``" -#: ../Doc/library/stdtypes.rst:1961 +#: ../Doc/library/stdtypes.rst:2019 msgid "Form Feed" msgstr "Avance de página" -#: ../Doc/library/stdtypes.rst:1963 +#: ../Doc/library/stdtypes.rst:2021 msgid "``\\x1c``" msgstr "``\\x1c``" -#: ../Doc/library/stdtypes.rst:1963 +#: ../Doc/library/stdtypes.rst:2021 msgid "File Separator" msgstr "Separador de archivo" -#: ../Doc/library/stdtypes.rst:1965 +#: ../Doc/library/stdtypes.rst:2023 msgid "``\\x1d``" msgstr "``\\x1d``" -#: ../Doc/library/stdtypes.rst:1965 +#: ../Doc/library/stdtypes.rst:2023 msgid "Group Separator" msgstr "Separador de grupo" -#: ../Doc/library/stdtypes.rst:1967 +#: ../Doc/library/stdtypes.rst:2025 msgid "``\\x1e``" msgstr "``\\x1e``" -#: ../Doc/library/stdtypes.rst:1967 +#: ../Doc/library/stdtypes.rst:2025 msgid "Record Separator" msgstr "Separador de registro" -#: ../Doc/library/stdtypes.rst:1969 +#: ../Doc/library/stdtypes.rst:2027 msgid "``\\x85``" msgstr "``\\x85``" -#: ../Doc/library/stdtypes.rst:1969 +#: ../Doc/library/stdtypes.rst:2027 msgid "Next Line (C1 Control Code)" msgstr "Siguiente línea (Código de control *C1*)" -#: ../Doc/library/stdtypes.rst:1971 +#: ../Doc/library/stdtypes.rst:2029 msgid "``\\u2028``" msgstr "``\\u2028``" -#: ../Doc/library/stdtypes.rst:1971 +#: ../Doc/library/stdtypes.rst:2029 msgid "Line Separator" msgstr "Separador de línea" -#: ../Doc/library/stdtypes.rst:1973 +#: ../Doc/library/stdtypes.rst:2031 msgid "``\\u2029``" msgstr "``\\u2029``" -#: ../Doc/library/stdtypes.rst:1973 +#: ../Doc/library/stdtypes.rst:2031 msgid "Paragraph Separator" msgstr "Separador de párrafo" -#: ../Doc/library/stdtypes.rst:1978 +#: ../Doc/library/stdtypes.rst:2036 msgid "``\\v`` and ``\\f`` added to list of line boundaries." msgstr "Se añaden ``\\v`` y ``\\f`` a la lista de separadores." -#: ../Doc/library/stdtypes.rst:1987 +#: ../Doc/library/stdtypes.rst:2045 msgid "" "Unlike :meth:`~str.split` when a delimiter string *sep* is given, this " "method returns an empty list for the empty string, and a terminal line break " @@ -3437,11 +3474,11 @@ msgstr "" "*sep*, el método retorna una lista vacía para la cadena vacía, y un salto de " "línea al final del texto no produce una línea extra::" -#: ../Doc/library/stdtypes.rst:1996 +#: ../Doc/library/stdtypes.rst:2054 msgid "For comparison, ``split('\\n')`` gives::" msgstr "Por comparación, ``split('\\n')`` entrega::" -#: ../Doc/library/stdtypes.rst:2006 +#: ../Doc/library/stdtypes.rst:2064 msgid "" "Return ``True`` if string starts with the *prefix*, otherwise return " "``False``. *prefix* can also be a tuple of prefixes to look for. With " @@ -3453,7 +3490,7 @@ msgstr "" "prefijos por los que buscar. Con el parámetro opcional *start*, la " "comprobación empieza en esa posición de la cadena." -#: ../Doc/library/stdtypes.rst:2014 +#: ../Doc/library/stdtypes.rst:2072 msgid "" "Return a copy of the string with the leading and trailing characters " "removed. The *chars* argument is a string specifying the set of characters " @@ -3468,7 +3505,7 @@ msgstr "" "espacio en blanco. No debe entenderse el valor de *chars* como un prefijo, " "sino que se elimina cualquier combinación de sus caracteres::" -#: ../Doc/library/stdtypes.rst:2025 +#: ../Doc/library/stdtypes.rst:2083 msgid "" "The outermost leading and trailing *chars* argument values are stripped from " "the string. Characters are removed from the leading end until reaching a " @@ -3481,7 +3518,7 @@ msgstr "" "definido por *chars*. Se procede de manera similar para los caracteres al " "final. Por ejemplo::" -#: ../Doc/library/stdtypes.rst:2038 +#: ../Doc/library/stdtypes.rst:2096 msgid "" "Return a copy of the string with uppercase characters converted to lowercase " "and vice versa. Note that it is not necessarily true that ``s.swapcase()." @@ -3491,7 +3528,7 @@ msgstr "" "a minúsculas, y viceversa. Nótese que no es necesariamente cierto que ``s." "swapcase().swapcase() == s``." -#: ../Doc/library/stdtypes.rst:2045 +#: ../Doc/library/stdtypes.rst:2103 msgid "" "Return a titlecased version of the string where words start with an " "uppercase character and the remaining characters are lowercase." @@ -3499,7 +3536,7 @@ msgstr "" "Retorna una versión en forma de título de la cadena, con la primera letra de " "cada palabra en mayúsculas y el resto en minúsculas." -#: ../Doc/library/stdtypes.rst:2053 ../Doc/library/stdtypes.rst:3204 +#: ../Doc/library/stdtypes.rst:2111 ../Doc/library/stdtypes.rst:3327 msgid "" "The algorithm uses a simple language-independent definition of a word as " "groups of consecutive letters. The definition works in many contexts but it " @@ -3513,14 +3550,14 @@ msgstr "" "constituyen una separación entre palabras, que puede que no sea el efecto " "deseado::" -#: ../Doc/library/stdtypes.rst:2061 ../Doc/library/stdtypes.rst:3212 +#: ../Doc/library/stdtypes.rst:2119 ../Doc/library/stdtypes.rst:3335 msgid "" "A workaround for apostrophes can be constructed using regular expressions::" msgstr "" "Se puede solucionar parcialmente el problema de los apóstrofos usando " "expresiones regulares::" -#: ../Doc/library/stdtypes.rst:2075 +#: ../Doc/library/stdtypes.rst:2133 msgid "" "Return a copy of the string in which each character has been mapped through " "the given translation table. The table must be an object that implements " @@ -3543,7 +3580,7 @@ msgstr "" "o elevar una excepción de tipo :exc:`LookupError`, que hará que el carácter " "se copie igual en la cadena de salida." -#: ../Doc/library/stdtypes.rst:2084 +#: ../Doc/library/stdtypes.rst:2142 msgid "" "You can use :meth:`str.maketrans` to create a translation map from character-" "to-character mappings in different formats." @@ -3551,7 +3588,7 @@ msgstr "" "Se puede usar :meth:`str.maketrans` para crear un mapa de traducción " "carácter a carácter de diferentes formas." -#: ../Doc/library/stdtypes.rst:2087 +#: ../Doc/library/stdtypes.rst:2145 msgid "" "See also the :mod:`codecs` module for a more flexible approach to custom " "character mappings." @@ -3559,7 +3596,7 @@ msgstr "" "Véase también el módulo :mod:`codecs` para una aproximación más flexible al " "mapeo de caracteres." -#: ../Doc/library/stdtypes.rst:2093 +#: ../Doc/library/stdtypes.rst:2151 msgid "" "Return a copy of the string with all the cased characters [4]_ converted to " "uppercase. Note that ``s.upper().isupper()`` might be ``False`` if ``s`` " @@ -3574,7 +3611,7 @@ msgstr "" "resultantes no es \"*Lu*\" (Letra, mayúsculas), sino, por ejemplo, \"*Lt*" "\" (Letra, Título)." -#: ../Doc/library/stdtypes.rst:2099 +#: ../Doc/library/stdtypes.rst:2157 msgid "" "The uppercasing algorithm used is described in section 3.13 of the Unicode " "Standard." @@ -3582,7 +3619,7 @@ msgstr "" "El algoritmo de paso a mayúsculas es el descrito en la sección 3.13 del " "estándar Unicode." -#: ../Doc/library/stdtypes.rst:2105 +#: ../Doc/library/stdtypes.rst:2163 msgid "" "Return a copy of the string left filled with ASCII ``'0'`` digits to make a " "string of length *width*. A leading sign prefix (``'+'``/``'-'``) is handled " @@ -3595,11 +3632,11 @@ msgstr "" "relleno *después* del carácter de signo en vez de antes. Si *width* es menor " "o igual que ``len(s)``, se retorna la cadena original." -#: ../Doc/library/stdtypes.rst:2123 +#: ../Doc/library/stdtypes.rst:2181 msgid "``printf``-style String Formatting" msgstr "Formateo de cadenas al estilo ``*printf*``" -#: ../Doc/library/stdtypes.rst:2136 +#: ../Doc/library/stdtypes.rst:2194 msgid "" "The formatting operations described here exhibit a variety of quirks that " "lead to a number of common errors (such as failing to display tuples and " @@ -3618,7 +3655,7 @@ msgstr "" "sus propios compromisos entre facilidad de uso, flexibilidad y capacidad de " "extensión." -#: ../Doc/library/stdtypes.rst:2144 +#: ../Doc/library/stdtypes.rst:2202 msgid "" "String objects have one unique built-in operation: the ``%`` operator " "(modulo). This is also known as the string *formatting* or *interpolation* " @@ -3635,7 +3672,7 @@ msgstr "" "*valores*. El efecto es similar a usar la función del lenguaje C :c:func:" "`sprintf`." -#: ../Doc/library/stdtypes.rst:2150 +#: ../Doc/library/stdtypes.rst:2208 msgid "" "If *format* requires a single argument, *values* may be a single non-tuple " "object. [5]_ Otherwise, *values* must be a tuple with exactly the number of " @@ -3648,7 +3685,7 @@ msgstr "" "cadena de formato, o un único objeto de tipo mapa (Por ejemplo, un " "diccionario)." -#: ../Doc/library/stdtypes.rst:2160 ../Doc/library/stdtypes.rst:3315 +#: ../Doc/library/stdtypes.rst:2218 ../Doc/library/stdtypes.rst:3438 msgid "" "A conversion specifier contains two or more characters and has the following " "components, which must occur in this order:" @@ -3656,11 +3693,11 @@ msgstr "" "Un especificador de conversión consiste en dos o más caracteres y tiene los " "siguientes componentes, que deben aparecer en el siguiente orden:" -#: ../Doc/library/stdtypes.rst:2163 ../Doc/library/stdtypes.rst:3318 +#: ../Doc/library/stdtypes.rst:2221 ../Doc/library/stdtypes.rst:3441 msgid "The ``'%'`` character, which marks the start of the specifier." msgstr "El carácter ``'%'``, que identifica el inicio del marcador." -#: ../Doc/library/stdtypes.rst:2165 ../Doc/library/stdtypes.rst:3320 +#: ../Doc/library/stdtypes.rst:2223 ../Doc/library/stdtypes.rst:3443 msgid "" "Mapping key (optional), consisting of a parenthesised sequence of characters " "(for example, ``(somename)``)." @@ -3668,7 +3705,7 @@ msgstr "" "Una clave de mapeo (opcional), consistente en una secuencia de caracteres " "entre paréntesis, como por ejemplo, ``(somename)``." -#: ../Doc/library/stdtypes.rst:2168 ../Doc/library/stdtypes.rst:3323 +#: ../Doc/library/stdtypes.rst:2226 ../Doc/library/stdtypes.rst:3446 msgid "" "Conversion flags (optional), which affect the result of some conversion " "types." @@ -3676,7 +3713,7 @@ msgstr "" "Indicador de conversión (opcional), que afecta el resultado de ciertas " "conversiones de tipos." -#: ../Doc/library/stdtypes.rst:2171 ../Doc/library/stdtypes.rst:3326 +#: ../Doc/library/stdtypes.rst:2229 ../Doc/library/stdtypes.rst:3449 msgid "" "Minimum field width (optional). If specified as an ``'*'`` (asterisk), the " "actual width is read from the next element of the tuple in *values*, and the " @@ -3687,7 +3724,7 @@ msgstr "" "objeto a convertir viene después del ancho mínimo, con un indicador de " "precisión opcional." -#: ../Doc/library/stdtypes.rst:2175 ../Doc/library/stdtypes.rst:3330 +#: ../Doc/library/stdtypes.rst:2233 ../Doc/library/stdtypes.rst:3453 msgid "" "Precision (optional), given as a ``'.'`` (dot) followed by the precision. " "If specified as ``'*'`` (an asterisk), the actual precision is read from the " @@ -3699,15 +3736,15 @@ msgstr "" "del siguiente elemento de la tupla *valores*, y el valor a convertir viene " "después de la precisión." -#: ../Doc/library/stdtypes.rst:2180 ../Doc/library/stdtypes.rst:3335 +#: ../Doc/library/stdtypes.rst:2238 ../Doc/library/stdtypes.rst:3458 msgid "Length modifier (optional)." msgstr "Modificador de longitud (Opcional)." -#: ../Doc/library/stdtypes.rst:2182 ../Doc/library/stdtypes.rst:3337 +#: ../Doc/library/stdtypes.rst:2240 ../Doc/library/stdtypes.rst:3460 msgid "Conversion type." msgstr "Tipo de conversión." -#: ../Doc/library/stdtypes.rst:2184 +#: ../Doc/library/stdtypes.rst:2242 msgid "" "When the right argument is a dictionary (or other mapping type), then the " "formats in the string *must* include a parenthesised mapping key into that " @@ -3720,7 +3757,7 @@ msgstr "" "la clave se usa para seleccionar el valor a formatear desde el mapa. Por " "ejemplo::" -#: ../Doc/library/stdtypes.rst:2193 ../Doc/library/stdtypes.rst:3348 +#: ../Doc/library/stdtypes.rst:2251 ../Doc/library/stdtypes.rst:3471 msgid "" "In this case no ``*`` specifiers may occur in a format (since they require a " "sequential parameter list)." @@ -3728,40 +3765,40 @@ msgstr "" "En este caso, no se pueden usar el especificador ``*`` en la cadena de " "formato (Dado que requiere una lista secuencial de parámetros)." -#: ../Doc/library/stdtypes.rst:2196 ../Doc/library/stdtypes.rst:3351 +#: ../Doc/library/stdtypes.rst:2254 ../Doc/library/stdtypes.rst:3474 msgid "The conversion flag characters are:" msgstr "Los indicadores de conversión son:" -#: ../Doc/library/stdtypes.rst:2205 ../Doc/library/stdtypes.rst:3360 +#: ../Doc/library/stdtypes.rst:2263 ../Doc/library/stdtypes.rst:3483 msgid "Flag" msgstr "Flag" -#: ../Doc/library/stdtypes.rst:2207 ../Doc/library/stdtypes.rst:3362 +#: ../Doc/library/stdtypes.rst:2265 ../Doc/library/stdtypes.rst:3485 msgid "``'#'``" msgstr "``'#'``" -#: ../Doc/library/stdtypes.rst:2207 ../Doc/library/stdtypes.rst:3362 +#: ../Doc/library/stdtypes.rst:2265 ../Doc/library/stdtypes.rst:3485 msgid "" "The value conversion will use the \"alternate form\" (where defined below)." msgstr "" "El valor a convertir usara la \"forma alternativa\" (Que se definirá más " "adelante)" -#: ../Doc/library/stdtypes.rst:2210 ../Doc/library/stdtypes.rst:3365 +#: ../Doc/library/stdtypes.rst:2268 ../Doc/library/stdtypes.rst:3488 msgid "``'0'``" msgstr "``'0'``" -#: ../Doc/library/stdtypes.rst:2210 ../Doc/library/stdtypes.rst:3365 +#: ../Doc/library/stdtypes.rst:2268 ../Doc/library/stdtypes.rst:3488 msgid "The conversion will be zero padded for numeric values." msgstr "" "La conversión rellena con ceros por la izquierda para valores numéricos." -#: ../Doc/library/stdtypes.rst:2212 ../Doc/library/stdtypes.rst:3367 +#: ../Doc/library/stdtypes.rst:2270 ../Doc/library/stdtypes.rst:3490 msgid "``'-'``" msgstr "``'-'``" # Sobreescribe no me acaba de gustar -#: ../Doc/library/stdtypes.rst:2212 ../Doc/library/stdtypes.rst:3367 +#: ../Doc/library/stdtypes.rst:2270 ../Doc/library/stdtypes.rst:3490 msgid "" "The converted value is left adjusted (overrides the ``'0'`` conversion if " "both are given)." @@ -3769,11 +3806,11 @@ msgstr "" "El valor convertido se ajusta a la izquierda (Sobreescribe la conversión " "``'0'`` si se especifican los dos)" -#: ../Doc/library/stdtypes.rst:2215 ../Doc/library/stdtypes.rst:3370 +#: ../Doc/library/stdtypes.rst:2273 ../Doc/library/stdtypes.rst:3493 msgid "``' '``" msgstr "``' '``" -#: ../Doc/library/stdtypes.rst:2215 ../Doc/library/stdtypes.rst:3370 +#: ../Doc/library/stdtypes.rst:2273 ../Doc/library/stdtypes.rst:3493 msgid "" "(a space) A blank should be left before a positive number (or empty string) " "produced by a signed conversion." @@ -3781,11 +3818,11 @@ msgstr "" "(Un espacio) Se deba añadir un espacio en blanco antes de un número positivo " "(O una cadena vacía) si se usa una conversión con signo." -#: ../Doc/library/stdtypes.rst:2218 ../Doc/library/stdtypes.rst:3373 +#: ../Doc/library/stdtypes.rst:2276 ../Doc/library/stdtypes.rst:3496 msgid "``'+'``" msgstr "``'+'``" -#: ../Doc/library/stdtypes.rst:2218 ../Doc/library/stdtypes.rst:3373 +#: ../Doc/library/stdtypes.rst:2276 ../Doc/library/stdtypes.rst:3496 msgid "" "A sign character (``'+'`` or ``'-'``) will precede the conversion (overrides " "a \"space\" flag)." @@ -3793,7 +3830,7 @@ msgstr "" "Un carácter signo (``'+'`` o ``'-'``) precede a la conversión (Sobreescribe " "el indicador de \"espacio\")" -#: ../Doc/library/stdtypes.rst:2222 ../Doc/library/stdtypes.rst:3377 +#: ../Doc/library/stdtypes.rst:2280 ../Doc/library/stdtypes.rst:3500 #, python-format msgid "" "A length modifier (``h``, ``l``, or ``L``) may be present, but is ignored as " @@ -3803,93 +3840,93 @@ msgstr "" "se ignora y no es necesario para Python -- por lo que, por ejemplo, la " "salida de ``%ld`` es idéntica a ``%d``." -#: ../Doc/library/stdtypes.rst:2225 ../Doc/library/stdtypes.rst:3380 +#: ../Doc/library/stdtypes.rst:2283 ../Doc/library/stdtypes.rst:3503 msgid "The conversion types are:" msgstr "Los tipos de conversión son:" -#: ../Doc/library/stdtypes.rst:2228 ../Doc/library/stdtypes.rst:3383 +#: ../Doc/library/stdtypes.rst:2286 ../Doc/library/stdtypes.rst:3506 msgid "Conversion" msgstr "Conversión" -#: ../Doc/library/stdtypes.rst:2230 ../Doc/library/stdtypes.rst:3385 +#: ../Doc/library/stdtypes.rst:2288 ../Doc/library/stdtypes.rst:3508 msgid "``'d'``" msgstr "``'d'``" -#: ../Doc/library/stdtypes.rst:2230 ../Doc/library/stdtypes.rst:2232 -#: ../Doc/library/stdtypes.rst:3385 ../Doc/library/stdtypes.rst:3387 +#: ../Doc/library/stdtypes.rst:2288 ../Doc/library/stdtypes.rst:2290 +#: ../Doc/library/stdtypes.rst:3508 ../Doc/library/stdtypes.rst:3510 msgid "Signed integer decimal." msgstr "Entero decimal con signo." -#: ../Doc/library/stdtypes.rst:2232 ../Doc/library/stdtypes.rst:3387 +#: ../Doc/library/stdtypes.rst:2290 ../Doc/library/stdtypes.rst:3510 msgid "``'i'``" msgstr "``'i'``" -#: ../Doc/library/stdtypes.rst:2234 ../Doc/library/stdtypes.rst:3389 +#: ../Doc/library/stdtypes.rst:2292 ../Doc/library/stdtypes.rst:3512 msgid "``'o'``" msgstr "``'o'``" -#: ../Doc/library/stdtypes.rst:2234 ../Doc/library/stdtypes.rst:3389 +#: ../Doc/library/stdtypes.rst:2292 ../Doc/library/stdtypes.rst:3512 msgid "Signed octal value." msgstr "Valor octal con signo." -#: ../Doc/library/stdtypes.rst:2236 ../Doc/library/stdtypes.rst:3391 +#: ../Doc/library/stdtypes.rst:2294 ../Doc/library/stdtypes.rst:3514 msgid "``'u'``" msgstr "``'u'``" -#: ../Doc/library/stdtypes.rst:2236 ../Doc/library/stdtypes.rst:3391 +#: ../Doc/library/stdtypes.rst:2294 ../Doc/library/stdtypes.rst:3514 msgid "Obsolete type -- it is identical to ``'d'``." msgstr "Obsoleto -- es idéntico a ``'d'``." -#: ../Doc/library/stdtypes.rst:2238 ../Doc/library/stdtypes.rst:3393 +#: ../Doc/library/stdtypes.rst:2296 ../Doc/library/stdtypes.rst:3516 msgid "``'x'``" msgstr "``'x'``" -#: ../Doc/library/stdtypes.rst:2238 ../Doc/library/stdtypes.rst:3393 +#: ../Doc/library/stdtypes.rst:2296 ../Doc/library/stdtypes.rst:3516 msgid "Signed hexadecimal (lowercase)." msgstr "Hexadecimal con signo (En minúsculas)" -#: ../Doc/library/stdtypes.rst:2240 ../Doc/library/stdtypes.rst:3395 +#: ../Doc/library/stdtypes.rst:2298 ../Doc/library/stdtypes.rst:3518 msgid "``'X'``" msgstr "``'X'``" -#: ../Doc/library/stdtypes.rst:2240 ../Doc/library/stdtypes.rst:3395 +#: ../Doc/library/stdtypes.rst:2298 ../Doc/library/stdtypes.rst:3518 msgid "Signed hexadecimal (uppercase)." msgstr "Hexadecimal con signo (En mayúsculas)" -#: ../Doc/library/stdtypes.rst:2242 ../Doc/library/stdtypes.rst:3397 +#: ../Doc/library/stdtypes.rst:2300 ../Doc/library/stdtypes.rst:3520 msgid "``'e'``" msgstr "``'e'``" -#: ../Doc/library/stdtypes.rst:2242 ../Doc/library/stdtypes.rst:3397 +#: ../Doc/library/stdtypes.rst:2300 ../Doc/library/stdtypes.rst:3520 msgid "Floating point exponential format (lowercase)." msgstr "Formato en coma flotante exponencial (En minúsculas)." -#: ../Doc/library/stdtypes.rst:2244 ../Doc/library/stdtypes.rst:3399 +#: ../Doc/library/stdtypes.rst:2302 ../Doc/library/stdtypes.rst:3522 msgid "``'E'``" msgstr "``'E'``" -#: ../Doc/library/stdtypes.rst:2244 ../Doc/library/stdtypes.rst:3399 +#: ../Doc/library/stdtypes.rst:2302 ../Doc/library/stdtypes.rst:3522 msgid "Floating point exponential format (uppercase)." msgstr "Formato en coma flotante exponencial (En mayúsculas)." -#: ../Doc/library/stdtypes.rst:2246 ../Doc/library/stdtypes.rst:3401 +#: ../Doc/library/stdtypes.rst:2304 ../Doc/library/stdtypes.rst:3524 msgid "``'f'``" msgstr "``'f'``" -#: ../Doc/library/stdtypes.rst:2246 ../Doc/library/stdtypes.rst:2248 -#: ../Doc/library/stdtypes.rst:3401 ../Doc/library/stdtypes.rst:3403 +#: ../Doc/library/stdtypes.rst:2304 ../Doc/library/stdtypes.rst:2306 +#: ../Doc/library/stdtypes.rst:3524 ../Doc/library/stdtypes.rst:3526 msgid "Floating point decimal format." msgstr "Formato en coma flotante decimal." -#: ../Doc/library/stdtypes.rst:2248 ../Doc/library/stdtypes.rst:3403 +#: ../Doc/library/stdtypes.rst:2306 ../Doc/library/stdtypes.rst:3526 msgid "``'F'``" msgstr "``'F'``" -#: ../Doc/library/stdtypes.rst:2250 ../Doc/library/stdtypes.rst:3405 +#: ../Doc/library/stdtypes.rst:2308 ../Doc/library/stdtypes.rst:3528 msgid "``'g'``" msgstr "``'g'``" -#: ../Doc/library/stdtypes.rst:2250 ../Doc/library/stdtypes.rst:3405 +#: ../Doc/library/stdtypes.rst:2308 ../Doc/library/stdtypes.rst:3528 msgid "" "Floating point format. Uses lowercase exponential format if exponent is less " "than -4 or not less than precision, decimal format otherwise." @@ -3898,11 +3935,11 @@ msgstr "" "exponente es menor que -4 o no es menor que la precisión, en caso contrario " "usa el formato decimal." -#: ../Doc/library/stdtypes.rst:2254 ../Doc/library/stdtypes.rst:3409 +#: ../Doc/library/stdtypes.rst:2312 ../Doc/library/stdtypes.rst:3532 msgid "``'G'``" msgstr "``'G'``" -#: ../Doc/library/stdtypes.rst:2254 ../Doc/library/stdtypes.rst:3409 +#: ../Doc/library/stdtypes.rst:2312 ../Doc/library/stdtypes.rst:3532 msgid "" "Floating point format. Uses uppercase exponential format if exponent is less " "than -4 or not less than precision, decimal format otherwise." @@ -3911,57 +3948,57 @@ msgstr "" "exponente es menor que -4 o no es menor que la precisión, en caso contrario " "usa el formato decimal." -#: ../Doc/library/stdtypes.rst:2258 ../Doc/library/stdtypes.rst:3413 +#: ../Doc/library/stdtypes.rst:2316 ../Doc/library/stdtypes.rst:3536 msgid "``'c'``" msgstr "``'c'``" -#: ../Doc/library/stdtypes.rst:2258 +#: ../Doc/library/stdtypes.rst:2316 msgid "Single character (accepts integer or single character string)." msgstr "" "Un único carácter (Acepta números enteros o cadenas de caracteres de " "longitud 1)" -#: ../Doc/library/stdtypes.rst:2261 ../Doc/library/stdtypes.rst:3426 +#: ../Doc/library/stdtypes.rst:2319 ../Doc/library/stdtypes.rst:3549 msgid "``'r'``" msgstr "``'r'``" -#: ../Doc/library/stdtypes.rst:2261 +#: ../Doc/library/stdtypes.rst:2319 msgid "String (converts any Python object using :func:`repr`)." msgstr "" "Cadena de texto (Representará cualquier objeto usando la función :func:" "`repr`)." -#: ../Doc/library/stdtypes.rst:2264 ../Doc/library/stdtypes.rst:3420 +#: ../Doc/library/stdtypes.rst:2322 ../Doc/library/stdtypes.rst:3543 msgid "``'s'``" msgstr "``'s'``" -#: ../Doc/library/stdtypes.rst:2264 +#: ../Doc/library/stdtypes.rst:2322 msgid "String (converts any Python object using :func:`str`)." msgstr "" "Cadena de texto (Representará cualquier objeto usando la función :func:" "`str`)." -#: ../Doc/library/stdtypes.rst:2267 ../Doc/library/stdtypes.rst:3423 +#: ../Doc/library/stdtypes.rst:2325 ../Doc/library/stdtypes.rst:3546 msgid "``'a'``" msgstr "``'a'``" -#: ../Doc/library/stdtypes.rst:2267 +#: ../Doc/library/stdtypes.rst:2325 msgid "String (converts any Python object using :func:`ascii`)." msgstr "" "Cadena de texto (Representará cualquier objeto usando la función :func:" "`ascii`)." -#: ../Doc/library/stdtypes.rst:2270 ../Doc/library/stdtypes.rst:3429 +#: ../Doc/library/stdtypes.rst:2328 ../Doc/library/stdtypes.rst:3552 msgid "``'%'``" msgstr "``'%'``" -#: ../Doc/library/stdtypes.rst:2270 ../Doc/library/stdtypes.rst:3429 +#: ../Doc/library/stdtypes.rst:2328 ../Doc/library/stdtypes.rst:3552 msgid "No argument is converted, results in a ``'%'`` character in the result." msgstr "" "No se representa ningún argumento, obteniéndose en el resultado la cadena " "``'%'``." -#: ../Doc/library/stdtypes.rst:2277 ../Doc/library/stdtypes.rst:3436 +#: ../Doc/library/stdtypes.rst:2335 ../Doc/library/stdtypes.rst:3559 msgid "" "The alternate form causes a leading octal specifier (``'0o'``) to be " "inserted before the first digit." @@ -3969,7 +4006,7 @@ msgstr "" "La forma alternativa hace que se inserte antes del primer dígito un prefijo " "indicativo del formato octal (``'0o'``)" -#: ../Doc/library/stdtypes.rst:2281 ../Doc/library/stdtypes.rst:3440 +#: ../Doc/library/stdtypes.rst:2339 ../Doc/library/stdtypes.rst:3563 msgid "" "The alternate form causes a leading ``'0x'`` or ``'0X'`` (depending on " "whether the ``'x'`` or ``'X'`` format was used) to be inserted before the " @@ -3980,7 +4017,7 @@ msgstr "" "se use uno u otro depende de que indicador de formato se haya usado, ``'x'`` " "or ``'X'``)." -#: ../Doc/library/stdtypes.rst:2285 ../Doc/library/stdtypes.rst:3444 +#: ../Doc/library/stdtypes.rst:2343 ../Doc/library/stdtypes.rst:3567 msgid "" "The alternate form causes the result to always contain a decimal point, even " "if no digits follow it." @@ -3988,7 +4025,7 @@ msgstr "" "La forma alternativa hace que se incluya siempre el símbolo del punto o coma " "decimal, incluso si no hubiera dígitos después." -#: ../Doc/library/stdtypes.rst:2288 ../Doc/library/stdtypes.rst:3447 +#: ../Doc/library/stdtypes.rst:2346 ../Doc/library/stdtypes.rst:3570 msgid "" "The precision determines the number of digits after the decimal point and " "defaults to 6." @@ -3996,7 +4033,7 @@ msgstr "" "La precisión determina el número de dígitos que vienen después del punto " "decimal, y por defecto es 6." -#: ../Doc/library/stdtypes.rst:2292 ../Doc/library/stdtypes.rst:3451 +#: ../Doc/library/stdtypes.rst:2350 ../Doc/library/stdtypes.rst:3574 msgid "" "The alternate form causes the result to always contain a decimal point, and " "trailing zeroes are not removed as they would otherwise be." @@ -4005,7 +4042,7 @@ msgstr "" "decimal, y los ceros a su derecha no se eliminan, como seria el caso en la " "forma normal." -#: ../Doc/library/stdtypes.rst:2295 ../Doc/library/stdtypes.rst:3454 +#: ../Doc/library/stdtypes.rst:2353 ../Doc/library/stdtypes.rst:3577 msgid "" "The precision determines the number of significant digits before and after " "the decimal point and defaults to 6." @@ -4013,15 +4050,15 @@ msgstr "" "La precisión determina el número de dígitos significativos que vienen antes " "y después del punto decimal, y por defecto es 6." -#: ../Doc/library/stdtypes.rst:2299 ../Doc/library/stdtypes.rst:3458 +#: ../Doc/library/stdtypes.rst:2357 ../Doc/library/stdtypes.rst:3581 msgid "If precision is ``N``, the output is truncated to ``N`` characters." msgstr "Si la precisión es ``N``, la salida se trunca a ``N`` caracteres." -#: ../Doc/library/stdtypes.rst:2302 ../Doc/library/stdtypes.rst:3467 +#: ../Doc/library/stdtypes.rst:2360 ../Doc/library/stdtypes.rst:3590 msgid "See :pep:`237`." msgstr "Véase :pep:`237`." -#: ../Doc/library/stdtypes.rst:2304 +#: ../Doc/library/stdtypes.rst:2362 #, python-format msgid "" "Since Python strings have an explicit length, ``%s`` conversions do not " @@ -4030,7 +4067,7 @@ msgstr "" "Como en Python las cadenas de caracteres tiene una longitud explícita, la " "conversión de ``%s`` no requiere que la cadena termine con ``'\\0'``." -#: ../Doc/library/stdtypes.rst:2309 +#: ../Doc/library/stdtypes.rst:2367 #, python-format msgid "" "``%f`` conversions for numbers whose absolute value is over 1e50 are no " @@ -4039,7 +4076,7 @@ msgstr "" "Las conversiones ``%f`` para números con valores absolutos mayores que 1e50 " "ya no son reemplazadas por conversiones ``%g``." -#: ../Doc/library/stdtypes.rst:2320 +#: ../Doc/library/stdtypes.rst:2378 msgid "" "Binary Sequence Types --- :class:`bytes`, :class:`bytearray`, :class:" "`memoryview`" @@ -4047,7 +4084,7 @@ msgstr "" "Tipos de secuencias binarias --- :class:`bytes`, :class:`bytearray` y :class:" "`memoryview`" -#: ../Doc/library/stdtypes.rst:2328 +#: ../Doc/library/stdtypes.rst:2386 msgid "" "The core built-in types for manipulating binary data are :class:`bytes` and :" "class:`bytearray`. They are supported by :class:`memoryview` which uses the :" @@ -4060,7 +4097,7 @@ msgstr "" "acceder a la memoria de otros objetos binarios sin necesidad de hacer una " "copia." -#: ../Doc/library/stdtypes.rst:2333 +#: ../Doc/library/stdtypes.rst:2391 msgid "" "The :mod:`array` module supports efficient storage of basic data types like " "32-bit integers and IEEE754 double-precision floating values." @@ -4069,11 +4106,11 @@ msgstr "" "básicos como enteros de 32 bits o números en formato de doble precisión en " "coma flotante IEEE754." -#: ../Doc/library/stdtypes.rst:2339 +#: ../Doc/library/stdtypes.rst:2397 msgid "Bytes Objects" msgstr "Objetos de tipo Bytes" -#: ../Doc/library/stdtypes.rst:2343 +#: ../Doc/library/stdtypes.rst:2401 msgid "" "Bytes objects are immutable sequences of single bytes. Since many major " "binary protocols are based on the ASCII text encoding, bytes objects offer " @@ -4086,7 +4123,7 @@ msgstr "" "trabaja con datos compatibles ASCII y son, en varios aspectos, muy cercanos " "a los cadenas de texto." -#: ../Doc/library/stdtypes.rst:2350 +#: ../Doc/library/stdtypes.rst:2408 msgid "" "Firstly, the syntax for bytes literals is largely the same as that for " "string literals, except that a ``b`` prefix is added:" @@ -4095,24 +4132,24 @@ msgstr "" "prácticamente iguales que para las cadenas de texto, con la diferencia de " "que se añade el carácter ``b`` como prefijo:" -#: ../Doc/library/stdtypes.rst:2353 +#: ../Doc/library/stdtypes.rst:2411 msgid "Single quotes: ``b'still allows embedded \"double\" quotes'``" msgstr "" "Comillas sencillas: ``b'Se siguen aceptando comillas \"dobles\" embebidas'``" -#: ../Doc/library/stdtypes.rst:2354 +#: ../Doc/library/stdtypes.rst:2412 msgid "Double quotes: ``b\"still allows embedded 'single' quotes\"``." msgstr "" "Comillas dobles: ``b'Se siguen aceptando comillas 'simples' embebidas'``." -#: ../Doc/library/stdtypes.rst:2355 +#: ../Doc/library/stdtypes.rst:2413 msgid "" "Triple quoted: ``b'''3 single quotes'''``, ``b\"\"\"3 double quotes\"\"\"``" msgstr "" "Comillas triples: ``b'''3 comillas simples'''``, ``b\"\"\"3 comillas dobles" "\"\"\"``" -#: ../Doc/library/stdtypes.rst:2357 +#: ../Doc/library/stdtypes.rst:2415 msgid "" "Only ASCII characters are permitted in bytes literals (regardless of the " "declared source code encoding). Any binary values over 127 must be entered " @@ -4122,7 +4159,7 @@ msgstr "" "(Con independencia del tipo de codificación declarado). Cualquier valor por " "encima de 127 debe ser definido usando su secuencia de escape." -#: ../Doc/library/stdtypes.rst:2361 +#: ../Doc/library/stdtypes.rst:2419 msgid "" "As with string literals, bytes literals may also use a ``r`` prefix to " "disable processing of escape sequences. See :ref:`strings` for more about " @@ -4134,7 +4171,7 @@ msgstr "" "expresar *bytes* de forma literal, incluyendo el soporte de secuencias de " "escape." -#: ../Doc/library/stdtypes.rst:2365 +#: ../Doc/library/stdtypes.rst:2423 msgid "" "While bytes literals and representations are based on ASCII text, bytes " "objects actually behave like immutable sequences of integers, with each " @@ -4158,7 +4195,7 @@ msgstr "" "proceso de textos a datos binarios que no se compatibles con ASCII " "normalmente corromperán dichos datos." -#: ../Doc/library/stdtypes.rst:2375 +#: ../Doc/library/stdtypes.rst:2433 msgid "" "In addition to the literal forms, bytes objects can be created in a number " "of other ways:" @@ -4166,26 +4203,26 @@ msgstr "" "Además de con literales, se pueden crear objetos de tipo *byte* de las " "siguientes maneras:" -#: ../Doc/library/stdtypes.rst:2378 +#: ../Doc/library/stdtypes.rst:2436 msgid "A zero-filled bytes object of a specified length: ``bytes(10)``" msgstr "" "Un secuencia de una longitud especificada rellena con ceros: ``bytes(10)``" -#: ../Doc/library/stdtypes.rst:2379 +#: ../Doc/library/stdtypes.rst:2437 msgid "From an iterable of integers: ``bytes(range(20))``" msgstr "A partir de un iterable de números enteros: ``bytes(range(20))``" -#: ../Doc/library/stdtypes.rst:2380 +#: ../Doc/library/stdtypes.rst:2438 msgid "Copying existing binary data via the buffer protocol: ``bytes(obj)``" msgstr "" "Copiando datos binarios ya existentes mediante el protocolo *buffer*: " "``bytes(obj)``" -#: ../Doc/library/stdtypes.rst:2382 +#: ../Doc/library/stdtypes.rst:2440 msgid "Also see the :ref:`bytes ` built-in." msgstr "Véase además la función básica :ref:`bytes `." -#: ../Doc/library/stdtypes.rst:2384 +#: ../Doc/library/stdtypes.rst:2442 msgid "" "Since 2 hexadecimal digits correspond precisely to a single byte, " "hexadecimal numbers are a commonly used format for describing binary data. " @@ -4197,7 +4234,7 @@ msgstr "" "los objetos de tipo *byte* disponen de un método adicional para leer datos " "en ese formato:" -#: ../Doc/library/stdtypes.rst:2390 +#: ../Doc/library/stdtypes.rst:2448 msgid "" "This :class:`bytes` class method returns a bytes object, decoding the given " "string object. The string must contain two hexadecimal digits per byte, " @@ -4208,7 +4245,7 @@ msgstr "" "texto debe consistir en dos dígitos hexadecimales por cada byte, ignorándose " "los caracteres ASCII de espacio en blanco, si los hubiera." -#: ../Doc/library/stdtypes.rst:2397 +#: ../Doc/library/stdtypes.rst:2455 msgid "" ":meth:`bytes.fromhex` now skips all ASCII whitespace in the string, not just " "spaces." @@ -4216,7 +4253,7 @@ msgstr "" "El método :meth:`bytes.fromhex` ignora ahora todos los caracteres ASCII de " "espacio en blanco, no solo el carácter espacio." -#: ../Doc/library/stdtypes.rst:2401 +#: ../Doc/library/stdtypes.rst:2459 msgid "" "A reverse conversion function exists to transform a bytes object into its " "hexadecimal representation." @@ -4224,7 +4261,7 @@ msgstr "" "Existe una función que realiza la operación inversa, es decir, transforma un " "objeto binario en una representación textual usando hexadecimal." -#: ../Doc/library/stdtypes.rst:2406 ../Doc/library/stdtypes.rst:2500 +#: ../Doc/library/stdtypes.rst:2464 ../Doc/library/stdtypes.rst:2558 msgid "" "Return a string object containing two hexadecimal digits for each byte in " "the instance." @@ -4232,7 +4269,7 @@ msgstr "" "Retorna una cadena de texto que contiene dos dígitos hexadecimales por cada " "byte de la instancia." -#: ../Doc/library/stdtypes.rst:2412 +#: ../Doc/library/stdtypes.rst:2470 msgid "" "If you want to make the hex string easier to read, you can specify a single " "character separator *sep* parameter to include in the output. By default " @@ -4246,7 +4283,7 @@ msgstr "" "los espacios. Valores positivos calculan la posición del separador desde la " "derecha, los negativos lo hacen desde la izquierda." -#: ../Doc/library/stdtypes.rst:2428 +#: ../Doc/library/stdtypes.rst:2486 msgid "" ":meth:`bytes.hex` now supports optional *sep* and *bytes_per_sep* parameters " "to insert separators between bytes in the hex output." @@ -4255,7 +4292,7 @@ msgstr "" "*bytes_per_sep*, que permiten insertar separadores entre los bytes de la " "cadena de salida." -#: ../Doc/library/stdtypes.rst:2432 +#: ../Doc/library/stdtypes.rst:2490 msgid "" "Since bytes objects are sequences of integers (akin to a tuple), for a bytes " "object *b*, ``b[0]`` will be an integer, while ``b[0:1]`` will be a bytes " @@ -4269,7 +4306,7 @@ msgstr "" "longitud 1, ya sea accediendo por índice o mediante una operación de " "rebanada)." -#: ../Doc/library/stdtypes.rst:2437 +#: ../Doc/library/stdtypes.rst:2495 msgid "" "The representation of bytes objects uses the literal format (``b'...'``) " "since it is often more useful than e.g. ``bytes([46, 46, 46])``. You can " @@ -4280,7 +4317,7 @@ msgstr "" "46, 46])``. Siempre se puede convertir un objeto binario en una lista de " "enteros usando ``list(b)``." -#: ../Doc/library/stdtypes.rst:2442 +#: ../Doc/library/stdtypes.rst:2500 msgid "" "For Python 2.x users: In the Python 2.x series, a variety of implicit " "conversions between 8-bit strings (the closest thing 2.x offers to a built-" @@ -4302,11 +4339,11 @@ msgstr "" "explícitas, y objetos de tipo *bytes* y objetos de tipo cadena de caracteres " "siempre serán considerados diferentes." -#: ../Doc/library/stdtypes.rst:2455 +#: ../Doc/library/stdtypes.rst:2513 msgid "Bytearray Objects" msgstr "Objetos de tipo *Bytearray*" -#: ../Doc/library/stdtypes.rst:2459 +#: ../Doc/library/stdtypes.rst:2517 msgid "" ":class:`bytearray` objects are a mutable counterpart to :class:`bytes` " "objects." @@ -4314,7 +4351,7 @@ msgstr "" "Los objetos de tipo :class:`bytearray` son versiones mutables de los objetos " "de tipo :class:`bytes`." -#: ../Doc/library/stdtypes.rst:2464 +#: ../Doc/library/stdtypes.rst:2522 msgid "" "There is no dedicated literal syntax for bytearray objects, instead they are " "always created by calling the constructor:" @@ -4322,28 +4359,28 @@ msgstr "" "No existe una sintaxis específica para crear objetos de tipo *bytearray*, " "hay que crearlos siempre llamando a su constructor:" -#: ../Doc/library/stdtypes.rst:2467 +#: ../Doc/library/stdtypes.rst:2525 msgid "Creating an empty instance: ``bytearray()``" msgstr "Creando una secuencia vacía: ``bytearray()``" -#: ../Doc/library/stdtypes.rst:2468 +#: ../Doc/library/stdtypes.rst:2526 msgid "Creating a zero-filled instance with a given length: ``bytearray(10)``" msgstr "" "Creando una instancia de una longitud determinada, rellena con ceros: " "``bytearray(10)``" -#: ../Doc/library/stdtypes.rst:2469 +#: ../Doc/library/stdtypes.rst:2527 msgid "From an iterable of integers: ``bytearray(range(20))``" msgstr "A partir de un iterable de números enteros: ``bytearray(range(20))``" -#: ../Doc/library/stdtypes.rst:2470 +#: ../Doc/library/stdtypes.rst:2528 msgid "" "Copying existing binary data via the buffer protocol: ``bytearray(b'Hi!')``" msgstr "" "Copiando datos binarios ya existentes mediante el protocolo *buffer*: " "``bytearray(b'Hi!')``" -#: ../Doc/library/stdtypes.rst:2472 +#: ../Doc/library/stdtypes.rst:2530 msgid "" "As bytearray objects are mutable, they support the :ref:`mutable ` sequence operations in addition to the common bytes and bytearray " @@ -4353,11 +4390,11 @@ msgstr "" "aplicables a tipos :ref:`mutables `, además de las " "operaciones propias de los *bytearrays* descritas en :ref:`bytes-methods`." -#: ../Doc/library/stdtypes.rst:2476 +#: ../Doc/library/stdtypes.rst:2534 msgid "Also see the :ref:`bytearray ` built-in." msgstr "Véase también la función básica :ref:`bytearray `." -#: ../Doc/library/stdtypes.rst:2478 +#: ../Doc/library/stdtypes.rst:2536 msgid "" "Since 2 hexadecimal digits correspond precisely to a single byte, " "hexadecimal numbers are a commonly used format for describing binary data. " @@ -4369,7 +4406,7 @@ msgstr "" "los objetos de tipo *bytearray* disponen de un método de clase adicional " "para leer datos en ese formato:" -#: ../Doc/library/stdtypes.rst:2484 +#: ../Doc/library/stdtypes.rst:2542 msgid "" "This :class:`bytearray` class method returns bytearray object, decoding the " "given string object. The string must contain two hexadecimal digits per " @@ -4380,7 +4417,7 @@ msgstr "" "texto debe consistir en dos dígitos hexadecimales por cada byte, ignorándose " "los caracteres ASCII de espacio en blanco, si los hubiera." -#: ../Doc/library/stdtypes.rst:2491 +#: ../Doc/library/stdtypes.rst:2549 msgid "" ":meth:`bytearray.fromhex` now skips all ASCII whitespace in the string, not " "just spaces." @@ -4388,7 +4425,7 @@ msgstr "" "El método :meth:`bytearray.fromhex` ignora ahora todos los caracteres ASCII " "de espacio en blanco, no solo el carácter espacio." -#: ../Doc/library/stdtypes.rst:2495 +#: ../Doc/library/stdtypes.rst:2553 msgid "" "A reverse conversion function exists to transform a bytearray object into " "its hexadecimal representation." @@ -4396,7 +4433,7 @@ msgstr "" "Existe una función que realiza la operación inversa, es decir, transforma un " "objeto *bytearray* en una representación textual usando hexadecimal." -#: ../Doc/library/stdtypes.rst:2508 +#: ../Doc/library/stdtypes.rst:2566 msgid "" "Similar to :meth:`bytes.hex`, :meth:`bytearray.hex` now supports optional " "*sep* and *bytes_per_sep* parameters to insert separators between bytes in " @@ -4406,7 +4443,7 @@ msgstr "" "los parámetros opcionales *sep* y *bytes_per_sep* para insertar separadores " "entre los bytes en la cadena hexadecimal de salida." -#: ../Doc/library/stdtypes.rst:2513 +#: ../Doc/library/stdtypes.rst:2571 msgid "" "Since bytearray objects are sequences of integers (akin to a list), for a " "bytearray object *b*, ``b[0]`` will be an integer, while ``b[0:1]`` will be " @@ -4420,7 +4457,7 @@ msgstr "" "longitud 1, ya sea accediendo por índice o mediante una operación de " "rebanada)." -#: ../Doc/library/stdtypes.rst:2518 +#: ../Doc/library/stdtypes.rst:2576 msgid "" "The representation of bytearray objects uses the bytes literal format " "(``bytearray(b'...')``) since it is often more useful than e.g. " @@ -4432,11 +4469,11 @@ msgstr "" "``bytearray([46, 46, 46])``. Siempre se puede convertir un objeto " "*bytearray* en una lista de enteros usando ``list(b)``." -#: ../Doc/library/stdtypes.rst:2527 +#: ../Doc/library/stdtypes.rst:2585 msgid "Bytes and Bytearray Operations" msgstr "Operaciones de *bytes* y *bytearray*" -#: ../Doc/library/stdtypes.rst:2532 +#: ../Doc/library/stdtypes.rst:2590 msgid "" "Both bytes and bytearray objects support the :ref:`common ` " "sequence operations. They interoperate not just with operands of the same " @@ -4452,7 +4489,7 @@ msgstr "" "embargo, el tipo del valor resultante puede depender del orden de los " "operandos." -#: ../Doc/library/stdtypes.rst:2540 +#: ../Doc/library/stdtypes.rst:2598 msgid "" "The methods on bytes and bytearray objects don't accept strings as their " "arguments, just as the methods on strings don't accept bytes as their " @@ -4463,11 +4500,11 @@ msgstr "" "cadenas tampoco aceptan *bytes* como parámetros. Por ejemplo, debes " "escribir::" -#: ../Doc/library/stdtypes.rst:2547 +#: ../Doc/library/stdtypes.rst:2605 msgid "and::" msgstr "y::" -#: ../Doc/library/stdtypes.rst:2552 +#: ../Doc/library/stdtypes.rst:2610 msgid "" "Some bytes and bytearray operations assume the use of ASCII compatible " "binary formats, and hence should be avoided when working with arbitrary " @@ -4478,7 +4515,7 @@ msgstr "" "con datos binarios arbitrarios. Estas restricciones se explican a " "continuación." -#: ../Doc/library/stdtypes.rst:2557 +#: ../Doc/library/stdtypes.rst:2615 msgid "" "Using these ASCII based operations to manipulate binary data that is not " "stored in an ASCII based format may lead to data corruption." @@ -4487,7 +4524,7 @@ msgstr "" "se almacenan en un formato basado en ASCII pueden producir corrupción de " "datos." -#: ../Doc/library/stdtypes.rst:2560 +#: ../Doc/library/stdtypes.rst:2618 msgid "" "The following methods on bytes and bytearray objects can be used with " "arbitrary binary data." @@ -4495,7 +4532,7 @@ msgstr "" "Los siguientes métodos de *bytes* y *bytearrays* pueden ser usados con datos " "en formatos binarios arbitrarios." -#: ../Doc/library/stdtypes.rst:2566 +#: ../Doc/library/stdtypes.rst:2624 msgid "" "Return the number of non-overlapping occurrences of subsequence *sub* in the " "range [*start*, *end*]. Optional arguments *start* and *end* are " @@ -4505,9 +4542,9 @@ msgstr "" "rango [*start*, *end*]. Los parámetros opcionales *start* y *end* se " "interpretan como en las operaciones de rebanado." -#: ../Doc/library/stdtypes.rst:2570 ../Doc/library/stdtypes.rst:2617 -#: ../Doc/library/stdtypes.rst:2639 ../Doc/library/stdtypes.rst:2705 -#: ../Doc/library/stdtypes.rst:2718 +#: ../Doc/library/stdtypes.rst:2628 ../Doc/library/stdtypes.rst:2726 +#: ../Doc/library/stdtypes.rst:2748 ../Doc/library/stdtypes.rst:2814 +#: ../Doc/library/stdtypes.rst:2827 msgid "" "The subsequence to search for may be any :term:`bytes-like object` or an " "integer in the range 0 to 255." @@ -4515,14 +4552,60 @@ msgstr "" "La subsecuencia a buscar puede ser cualquier :term:`objeto tipo binario " "` o un número entero entre 0 y 255." -#: ../Doc/library/stdtypes.rst:2573 ../Doc/library/stdtypes.rst:2629 -#: ../Doc/library/stdtypes.rst:2642 ../Doc/library/stdtypes.rst:2708 -#: ../Doc/library/stdtypes.rst:2721 +#: ../Doc/library/stdtypes.rst:2631 ../Doc/library/stdtypes.rst:2738 +#: ../Doc/library/stdtypes.rst:2751 ../Doc/library/stdtypes.rst:2817 +#: ../Doc/library/stdtypes.rst:2830 msgid "Also accept an integer in the range 0 to 255 as the subsequence." msgstr "También acepta como subsecuencia un número entero entre 0 y 255." +#: ../Doc/library/stdtypes.rst:2638 +msgid "" +"If the binary data starts with the *prefix* string, return " +"``bytes[len(prefix):]``. Otherwise, return a copy of the original binary " +"data::" +msgstr "" + +#: ../Doc/library/stdtypes.rst:2647 +#, fuzzy +msgid "The *prefix* may be any :term:`bytes-like object`." +msgstr "" +"El prefijo (o prefijos) a buscar puede ser cualquier :term:`objeto tipo " +"binario `." + +# La traduccion de in place +#: ../Doc/library/stdtypes.rst:2651 ../Doc/library/stdtypes.rst:2673 +#: ../Doc/library/stdtypes.rst:2802 ../Doc/library/stdtypes.rst:2895 +#: ../Doc/library/stdtypes.rst:2909 ../Doc/library/stdtypes.rst:2940 +#: ../Doc/library/stdtypes.rst:2954 ../Doc/library/stdtypes.rst:2996 +#: ../Doc/library/stdtypes.rst:3066 ../Doc/library/stdtypes.rst:3084 +#: ../Doc/library/stdtypes.rst:3112 ../Doc/library/stdtypes.rst:3251 +#: ../Doc/library/stdtypes.rst:3306 ../Doc/library/stdtypes.rst:3349 +#: ../Doc/library/stdtypes.rst:3370 ../Doc/library/stdtypes.rst:3392 +#: ../Doc/library/stdtypes.rst:3594 +msgid "" +"The bytearray version of this method does *not* operate in place - it always " +"produces a new object, even if no changes were made." +msgstr "" +"La versión *bytearray* de este método *no* modifica los valores internamente " +"(no opera *in place*): siempre produce un nuevo objeto, aun si no se hubiera " +"realizado ningún cambio." + +#: ../Doc/library/stdtypes.rst:2660 +msgid "" +"If the binary data ends with the *suffix* string and that *suffix* is not " +"empty, return ``bytes[:-len(suffix)]``. Otherwise, return a copy of the " +"original binary data::" +msgstr "" + +#: ../Doc/library/stdtypes.rst:2669 +#, fuzzy +msgid "The *suffix* may be any :term:`bytes-like object`." +msgstr "" +"El sufijo (o sufijos) a buscar puede ser cualquier :term:`objeto tipo " +"binario `." + # Hay que ver si estas referencias se han traducido -#: ../Doc/library/stdtypes.rst:2580 +#: ../Doc/library/stdtypes.rst:2682 msgid "" "Return a string decoded from the given bytes. Default encoding is " "``'utf-8'``. *errors* may be given to set a different error handling " @@ -4542,7 +4625,14 @@ msgstr "" "sección :ref:`error-handlers`. Para un listado de todos los valores de " "codificación posibles, véase :ref:`standard-encodings`." -#: ../Doc/library/stdtypes.rst:2590 +#: ../Doc/library/stdtypes.rst:2690 +msgid "" +"By default, the *errors* argument is not checked for best performances, but " +"only used at the first decoding error. Enable the :ref:`Python Development " +"Mode `, or use a debug build to check *errors*." +msgstr "" + +#: ../Doc/library/stdtypes.rst:2696 msgid "" "Passing the *encoding* argument to :class:`str` allows decoding any :term:" "`bytes-like object` directly, without needing to make a temporary bytes or " @@ -4552,11 +4642,11 @@ msgstr "" "cualquier :term:`objeto tipo binario ` directamente, sin " "necesidad de crear una objeto temporal de tipo *bytes* o *bytearray*." -#: ../Doc/library/stdtypes.rst:2594 +#: ../Doc/library/stdtypes.rst:2700 msgid "Added support for keyword arguments." msgstr "Añadido soporte para poder usar parámetros por nombre." -#: ../Doc/library/stdtypes.rst:2601 +#: ../Doc/library/stdtypes.rst:2710 msgid "" "Return ``True`` if the binary data ends with the specified *suffix*, " "otherwise return ``False``. *suffix* can also be a tuple of suffixes to " @@ -4569,13 +4659,13 @@ msgstr "" "*start*, la comparación empieza a partir de esa posición. Si se especifica " "el parámetro opcional *end*, la comparación termina en esa posición." -#: ../Doc/library/stdtypes.rst:2606 +#: ../Doc/library/stdtypes.rst:2715 msgid "The suffix(es) to search for may be any :term:`bytes-like object`." msgstr "" "El sufijo (o sufijos) a buscar puede ser cualquier :term:`objeto tipo " "binario `." -#: ../Doc/library/stdtypes.rst:2612 +#: ../Doc/library/stdtypes.rst:2721 msgid "" "Return the lowest index in the data where the subsequence *sub* is found, " "such that *sub* is contained in the slice ``s[start:end]``. Optional " @@ -4588,7 +4678,7 @@ msgstr "" "como en las operaciones de rebanadas. retorna ``-1`` si no se puede " "encontrar *sub*." -#: ../Doc/library/stdtypes.rst:2622 +#: ../Doc/library/stdtypes.rst:2731 msgid "" "The :meth:`~bytes.find` method should be used only if you need to know the " "position of *sub*. To check if *sub* is a substring or not, use the :" @@ -4598,7 +4688,7 @@ msgstr "" "posición de *sub*. Si solo se necesita comprobar si *sub* es una parte de " "*s*, es mejor usar el operador :keyword:`in`::" -#: ../Doc/library/stdtypes.rst:2636 +#: ../Doc/library/stdtypes.rst:2745 msgid "" "Like :meth:`~bytes.find`, but raise :exc:`ValueError` when the subsequence " "is not found." @@ -4606,7 +4696,7 @@ msgstr "" "Como :meth:`~bytes.find`, pero eleva una excepción de tipo :exc:`ValueError` " "si no se encuentra la subsecuencia a buscar." -#: ../Doc/library/stdtypes.rst:2649 +#: ../Doc/library/stdtypes.rst:2758 msgid "" "Return a bytes or bytearray object which is the concatenation of the binary " "data sequences in *iterable*. A :exc:`TypeError` will be raised if there " @@ -4622,7 +4712,7 @@ msgstr "" "(objetos :class:`str`). El separador entre los distintos elementos es el " "contenido del objeto *bytes* o *bytearray* usando para invocar el método." -#: ../Doc/library/stdtypes.rst:2660 +#: ../Doc/library/stdtypes.rst:2769 msgid "" "This static method returns a translation table usable for :meth:`bytes." "translate` that will map each character in *from* into the character at the " @@ -4634,7 +4724,7 @@ msgstr "" "misma posición en *to*; tanto *from* como *to* debe ser :term:`objetos tipo " "binario ` y deben tener la misma longitud." -#: ../Doc/library/stdtypes.rst:2671 +#: ../Doc/library/stdtypes.rst:2780 msgid "" "Split the sequence at the first occurrence of *sep*, and return a 3-tuple " "containing the part before the separator, the separator itself or its " @@ -4649,13 +4739,13 @@ msgstr "" "primera posición ocupada por la secuencia original, y las dos posiciones " "siguientes rellenas con objetos *bytes* o *bytearray* vacíos." -#: ../Doc/library/stdtypes.rst:2678 ../Doc/library/stdtypes.rst:2735 +#: ../Doc/library/stdtypes.rst:2787 ../Doc/library/stdtypes.rst:2844 msgid "The separator to search for may be any :term:`bytes-like object`." msgstr "" "El separador a buscar puede ser cualquier :term:`objeto tipo binario `." -#: ../Doc/library/stdtypes.rst:2684 +#: ../Doc/library/stdtypes.rst:2793 msgid "" "Return a copy of the sequence with all occurrences of subsequence *old* " "replaced by *new*. If the optional argument *count* is given, only the " @@ -4665,7 +4755,7 @@ msgstr "" "sustituidas por *new*. Si se utiliza el parámetro *count*, solo se cambian " "las primeras *count* ocurrencias." -#: ../Doc/library/stdtypes.rst:2688 +#: ../Doc/library/stdtypes.rst:2797 msgid "" "The subsequence to search for and its replacement may be any :term:`bytes-" "like object`." @@ -4673,24 +4763,7 @@ msgstr "" "La subsecuencia a buscar y su reemplazo puede ser cualquier :term:`objeto " "tipo binario `." -# La traduccion de in place -#: ../Doc/library/stdtypes.rst:2693 ../Doc/library/stdtypes.rst:2786 -#: ../Doc/library/stdtypes.rst:2800 ../Doc/library/stdtypes.rst:2824 -#: ../Doc/library/stdtypes.rst:2838 ../Doc/library/stdtypes.rst:2873 -#: ../Doc/library/stdtypes.rst:2943 ../Doc/library/stdtypes.rst:2961 -#: ../Doc/library/stdtypes.rst:2989 ../Doc/library/stdtypes.rst:3128 -#: ../Doc/library/stdtypes.rst:3183 ../Doc/library/stdtypes.rst:3226 -#: ../Doc/library/stdtypes.rst:3247 ../Doc/library/stdtypes.rst:3269 -#: ../Doc/library/stdtypes.rst:3471 -msgid "" -"The bytearray version of this method does *not* operate in place - it always " -"produces a new object, even if no changes were made." -msgstr "" -"La versión *bytearray* de este método *no* modifica los valores internamente " -"(no opera *in place*): siempre produce un nuevo objeto, aun si no se hubiera " -"realizado ningún cambio." - -#: ../Doc/library/stdtypes.rst:2700 +#: ../Doc/library/stdtypes.rst:2809 msgid "" "Return the highest index in the sequence where the subsequence *sub* is " "found, such that *sub* is contained within ``s[start:end]``. Optional " @@ -4702,7 +4775,7 @@ msgstr "" "*start* y *end* se interpretan igual que en las operaciones de rebanado. " "Retorna ``-1`` si no se encuentra *sub*." -#: ../Doc/library/stdtypes.rst:2715 +#: ../Doc/library/stdtypes.rst:2824 msgid "" "Like :meth:`~bytes.rfind` but raises :exc:`ValueError` when the subsequence " "*sub* is not found." @@ -4710,7 +4783,7 @@ msgstr "" "Como el método :meth:`~bytes.rfind`, pero eleva la excepción :exc:" "`ValueError` si no se encuentra *sub*." -#: ../Doc/library/stdtypes.rst:2728 +#: ../Doc/library/stdtypes.rst:2837 msgid "" "Split the sequence at the last occurrence of *sep*, and return a 3-tuple " "containing the part before the separator, the separator itself or its " @@ -4725,7 +4798,7 @@ msgstr "" "primeras posiciones rellenas con objetos *bytes* o *bytearray* vacíos, y la " "tercera posición ocupada por la secuencia original." -#: ../Doc/library/stdtypes.rst:2741 +#: ../Doc/library/stdtypes.rst:2850 msgid "" "Return ``True`` if the binary data starts with the specified *prefix*, " "otherwise return ``False``. *prefix* can also be a tuple of prefixes to " @@ -4738,13 +4811,13 @@ msgstr "" "*start*, la comparación empieza a partir de esa posición. Si se especifica " "el parámetro opcional *end*, la comparación termina en esa posición." -#: ../Doc/library/stdtypes.rst:2746 +#: ../Doc/library/stdtypes.rst:2855 msgid "The prefix(es) to search for may be any :term:`bytes-like object`." msgstr "" "El prefijo (o prefijos) a buscar puede ser cualquier :term:`objeto tipo " "binario `." -#: ../Doc/library/stdtypes.rst:2752 +#: ../Doc/library/stdtypes.rst:2861 msgid "" "Return a copy of the bytes or bytearray object where all bytes occurring in " "the optional argument *delete* are removed, and the remaining bytes have " @@ -4757,14 +4830,14 @@ msgstr "" "indicada, que debe ser un objeto de tipo *bytes* con una longitud de 256 " "elementos." -#: ../Doc/library/stdtypes.rst:2757 +#: ../Doc/library/stdtypes.rst:2866 msgid "" "You can use the :func:`bytes.maketrans` method to create a translation table." msgstr "" "Puedes usar el método :func:`bytes.maketrans` para crear la tabla de " "traducción." -#: ../Doc/library/stdtypes.rst:2760 +#: ../Doc/library/stdtypes.rst:2869 msgid "" "Set the *table* argument to ``None`` for translations that only delete " "characters::" @@ -4772,11 +4845,11 @@ msgstr "" "Se puede ajustar el parámetro *table* a ``None`` para conseguir una " "traducción que solo borra caracteres::" -#: ../Doc/library/stdtypes.rst:2766 +#: ../Doc/library/stdtypes.rst:2875 msgid "*delete* is now supported as a keyword argument." msgstr "El parámetro *delete* se puede ahora especificar por nombre." -#: ../Doc/library/stdtypes.rst:2770 +#: ../Doc/library/stdtypes.rst:2879 msgid "" "The following methods on bytes and bytearray objects have default behaviours " "that assume the use of ASCII compatible binary formats, but can still be " @@ -4791,7 +4864,7 @@ msgstr "" "*bytearray* en esta sección nunca modifican los datos internamente, sino que " "siempre retornan objetos nuevos." -#: ../Doc/library/stdtypes.rst:2779 +#: ../Doc/library/stdtypes.rst:2888 msgid "" "Return a copy of the object centered in a sequence of length *width*. " "Padding is done using the specified *fillbyte* (default is an ASCII space). " @@ -4804,7 +4877,7 @@ msgstr "" "`bytes`, se retorna la secuencia original intacta si *width* es menor o " "igual que ``len(s)``." -#: ../Doc/library/stdtypes.rst:2793 +#: ../Doc/library/stdtypes.rst:2902 msgid "" "Return a copy of the object left justified in a sequence of length *width*. " "Padding is done using the specified *fillbyte* (default is an ASCII space). " @@ -4817,7 +4890,7 @@ msgstr "" "objetos de tipo :class:`bytes`, se retorna la secuencia original intacta si " "*width* es menor o igual que ``len(s)``." -#: ../Doc/library/stdtypes.rst:2807 +#: ../Doc/library/stdtypes.rst:2916 msgid "" "Return a copy of the sequence with specified leading bytes removed. The " "*chars* argument is a binary sequence specifying the set of byte values to " @@ -4834,16 +4907,14 @@ msgstr "" "caracteres de espacio ASCII. No debe entenderse el valor de *chars* como un " "prefijo, sino que se elimina cualquier combinación de sus caracteres::" -#: ../Doc/library/stdtypes.rst:2819 ../Doc/library/stdtypes.rst:2868 -#: ../Doc/library/stdtypes.rst:2938 +#: ../Doc/library/stdtypes.rst:2928 msgid "" "The binary sequence of byte values to remove may be any :term:`bytes-like " -"object`." +"object`. See :meth:`~bytes.removeprefix` for a method that will remove a " +"single prefix string rather than all of a set of characters. For example::" msgstr "" -"La secuencia binaria de bytes a eliminar deber ser un :term:`objeto tipo " -"binario `." -#: ../Doc/library/stdtypes.rst:2831 +#: ../Doc/library/stdtypes.rst:2947 msgid "" "Return a copy of the object right justified in a sequence of length *width*. " "Padding is done using the specified *fillbyte* (default is an ASCII space). " @@ -4856,7 +4927,7 @@ msgstr "" "objetos de tipo :class:`bytes`, se retorna la secuencia original intacta si " "*width* es menor o igual que ``len(s)``." -#: ../Doc/library/stdtypes.rst:2845 +#: ../Doc/library/stdtypes.rst:2961 msgid "" "Split the binary sequence into subsequences of the same type, using *sep* as " "the delimiter string. If *maxsplit* is given, at most *maxsplit* splits are " @@ -4874,7 +4945,7 @@ msgstr "" "meth:`rsplit` es equivalente al de :meth:`split`, que se describe con " "detalle más adelante." -#: ../Doc/library/stdtypes.rst:2856 +#: ../Doc/library/stdtypes.rst:2972 msgid "" "Return a copy of the sequence with specified trailing bytes removed. The " "*chars* argument is a binary sequence specifying the set of byte values to " @@ -4891,7 +4962,14 @@ msgstr "" "ASCII. No debe entenderse el valor de *chars* como un prefijo, sino que se " "elimina cualquier combinación de sus caracteres::" -#: ../Doc/library/stdtypes.rst:2880 +#: ../Doc/library/stdtypes.rst:2984 +msgid "" +"The binary sequence of byte values to remove may be any :term:`bytes-like " +"object`. See :meth:`~bytes.removesuffix` for a method that will remove a " +"single suffix string rather than all of a set of characters. For example::" +msgstr "" + +#: ../Doc/library/stdtypes.rst:3003 msgid "" "Split the binary sequence into subsequences of the same type, using *sep* as " "the delimiter string. If *maxsplit* is given and non-negative, at most " @@ -4905,7 +4983,7 @@ msgstr "" "en una secuencia de como mucho ``maxsplit+1`` elementos). Si no se " "especifica *sep* o se pasa ``'1``, no hay límite al número de divisiones." -#: ../Doc/library/stdtypes.rst:2886 +#: ../Doc/library/stdtypes.rst:3009 msgid "" "If *sep* is given, consecutive delimiters are not grouped together and are " "deemed to delimit empty subsequences (for example, ``b'1,,2'.split(b',')`` " @@ -4924,7 +5002,7 @@ msgstr "" "dependiendo del tipo de objeto dividido. El parámetro *sep* puede ser " "cualquier :term:`objeto tipo binario `." -#: ../Doc/library/stdtypes.rst:2904 +#: ../Doc/library/stdtypes.rst:3027 msgid "" "If *sep* is not specified or is ``None``, a different splitting algorithm is " "applied: runs of consecutive ASCII whitespace are regarded as a single " @@ -4941,7 +5019,7 @@ msgstr "" "una secuencia vacía o que solo contenga espacios en blanco usando ``None`` " "como separador siempre retornará una lista vacía ``[]``." -#: ../Doc/library/stdtypes.rst:2925 +#: ../Doc/library/stdtypes.rst:3048 msgid "" "Return a copy of the sequence with specified leading and trailing bytes " "removed. The *chars* argument is a binary sequence specifying the set of " @@ -4959,7 +5037,15 @@ msgstr "" "un prefijo o sufijo, sino que se elimina cualquier combinación de sus " "valores::" -#: ../Doc/library/stdtypes.rst:2947 +#: ../Doc/library/stdtypes.rst:3061 +msgid "" +"The binary sequence of byte values to remove may be any :term:`bytes-like " +"object`." +msgstr "" +"La secuencia binaria de bytes a eliminar deber ser un :term:`objeto tipo " +"binario `." + +#: ../Doc/library/stdtypes.rst:3070 msgid "" "The following methods on bytes and bytearray objects assume the use of ASCII " "compatible binary formats and should not be applied to arbitrary binary " @@ -4972,7 +5058,7 @@ msgstr "" "sección nunca modifican los datos internamente, sino que siempre retornan " "objetos nuevos." -#: ../Doc/library/stdtypes.rst:2955 +#: ../Doc/library/stdtypes.rst:3078 msgid "" "Return a copy of the sequence with each byte interpreted as an ASCII " "character, and the first byte capitalized and the rest lowercased. Non-ASCII " @@ -4982,7 +5068,7 @@ msgstr "" "carácter ASCII, y el primer byte en mayúsculas y el resto en minúsculas. Los " "valores que no sean ASCII no se ven modificados." -#: ../Doc/library/stdtypes.rst:2968 +#: ../Doc/library/stdtypes.rst:3091 msgid "" "Return a copy of the sequence where all ASCII tab characters are replaced by " "one or more ASCII spaces, depending on the current column and the given tab " @@ -5011,7 +5097,7 @@ msgstr "" "sin cambios y hace que el contador de columna se incremente en 1, sin tener " "en cuenta como se representa impreso el byte::" -#: ../Doc/library/stdtypes.rst:2996 +#: ../Doc/library/stdtypes.rst:3119 msgid "" "Return ``True`` if all bytes in the sequence are alphabetical ASCII " "characters or ASCII decimal digits and the sequence is not empty, ``False`` " @@ -5026,7 +5112,7 @@ msgstr "" "``b'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'``. Los caracteres " "decimales ASCII son los bytes incluidos en la secuencia ``b'0123456789'``." -#: ../Doc/library/stdtypes.rst:3013 +#: ../Doc/library/stdtypes.rst:3136 msgid "" "Return ``True`` if all bytes in the sequence are alphabetic ASCII characters " "and the sequence is not empty, ``False`` otherwise. Alphabetic ASCII " @@ -5038,7 +5124,7 @@ msgstr "" "Retorna ``False``. Los caracteres alfabéticos ASCII son los bytes incluidos " "en la secuencia ``b'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'``." -#: ../Doc/library/stdtypes.rst:3029 +#: ../Doc/library/stdtypes.rst:3152 msgid "" "Return ``True`` if the sequence is empty or all bytes in the sequence are " "ASCII, ``False`` otherwise. ASCII bytes are in the range 0-0x7F." @@ -5047,7 +5133,7 @@ msgstr "" "secuencia son caracteres ASCII. En cualquier otro caso retorna ``False``. " "Los caracteres ASCII son los bytes incluidos en el rango 0-0x7F." -#: ../Doc/library/stdtypes.rst:3039 +#: ../Doc/library/stdtypes.rst:3162 msgid "" "Return ``True`` if all bytes in the sequence are ASCII decimal digits and " "the sequence is not empty, ``False`` otherwise. ASCII decimal digits are " @@ -5058,7 +5144,7 @@ msgstr "" "``False``. Los caracteres decimales ASCII son los bytes incluidos en la " "secuencia ``b'0123456789'``." -#: ../Doc/library/stdtypes.rst:3054 +#: ../Doc/library/stdtypes.rst:3177 msgid "" "Return ``True`` if there is at least one lowercase ASCII character in the " "sequence and no uppercase ASCII characters, ``False`` otherwise." @@ -5067,9 +5153,9 @@ msgstr "" "ningún carácter ASCII en mayúsculas. En cualquier otro caso retorna " "``False``." -#: ../Doc/library/stdtypes.rst:3064 ../Doc/library/stdtypes.rst:3106 -#: ../Doc/library/stdtypes.rst:3122 ../Doc/library/stdtypes.rst:3172 -#: ../Doc/library/stdtypes.rst:3241 +#: ../Doc/library/stdtypes.rst:3187 ../Doc/library/stdtypes.rst:3229 +#: ../Doc/library/stdtypes.rst:3245 ../Doc/library/stdtypes.rst:3295 +#: ../Doc/library/stdtypes.rst:3364 msgid "" "Lowercase ASCII characters are those byte values in the sequence " "``b'abcdefghijklmnopqrstuvwxyz'``. Uppercase ASCII characters are those byte " @@ -5079,7 +5165,7 @@ msgstr "" "``b'abcdefghijklmnopqrstuvwxyz'``. los caracteres ASCII en mayúsculas son " "los bytes en la secuencia ``b'ABCDEFGHIJKLMNOPQRSTUVWXYZ'``." -#: ../Doc/library/stdtypes.rst:3072 +#: ../Doc/library/stdtypes.rst:3195 msgid "" "Return ``True`` if all bytes in the sequence are ASCII whitespace and the " "sequence is not empty, ``False`` otherwise. ASCII whitespace characters are " @@ -5092,7 +5178,7 @@ msgstr "" "incluidos en la secuencia ``b' \\t\\n\\r\\x0b\\f'`` (Espacio, tabulador, " "nueva línea, retorno de carro, tabulador vertical y avance de página)." -#: ../Doc/library/stdtypes.rst:3081 +#: ../Doc/library/stdtypes.rst:3204 msgid "" "Return ``True`` if the sequence is ASCII titlecase and the sequence is not " "empty, ``False`` otherwise. See :meth:`bytes.title` for more details on the " @@ -5103,7 +5189,7 @@ msgstr "" "método :meth:`bytes.title` para más detalles en la definición de \"En forma " "de título\"." -#: ../Doc/library/stdtypes.rst:3096 +#: ../Doc/library/stdtypes.rst:3219 msgid "" "Return ``True`` if there is at least one uppercase alphabetic ASCII " "character in the sequence and no lowercase ASCII characters, ``False`` " @@ -5113,7 +5199,7 @@ msgstr "" "ningún carácter ASCII en minúsculas. En cualquier otro caso retorna " "``False``." -#: ../Doc/library/stdtypes.rst:3114 +#: ../Doc/library/stdtypes.rst:3237 msgid "" "Return a copy of the sequence with all the uppercase ASCII characters " "converted to their corresponding lowercase counterpart." @@ -5121,7 +5207,7 @@ msgstr "" "Retorna una copia de la secuencia con todos los caracteres ASCII en " "mayúsculas sustituidos por su versión correspondiente en minúsculas." -#: ../Doc/library/stdtypes.rst:3139 +#: ../Doc/library/stdtypes.rst:3262 msgid "" "Return a list of the lines in the binary sequence, breaking at ASCII line " "boundaries. This method uses the :term:`universal newlines` approach to " @@ -5133,7 +5219,7 @@ msgstr "" "como separadores no se incluyen en la lista de resultados a no ser que se " "pase el parámetro *keepends* a ``True``." -#: ../Doc/library/stdtypes.rst:3151 +#: ../Doc/library/stdtypes.rst:3274 msgid "" "Unlike :meth:`~bytes.split` when a delimiter string *sep* is given, this " "method returns an empty list for the empty string, and a terminal line break " @@ -5144,7 +5230,7 @@ msgstr "" "vacía para la cadena vacía, y un carácter de salto de línea al final de la " "secuencia no resulta en una línea extra::" -#: ../Doc/library/stdtypes.rst:3164 +#: ../Doc/library/stdtypes.rst:3287 msgid "" "Return a copy of the sequence with all the lowercase ASCII characters " "converted to their corresponding uppercase counterpart and vice-versa." @@ -5153,7 +5239,7 @@ msgstr "" "minúsculas sustituidos por su versión correspondiente en mayúsculas, y " "viceversa." -#: ../Doc/library/stdtypes.rst:3176 +#: ../Doc/library/stdtypes.rst:3299 msgid "" "Unlike :func:`str.swapcase()`, it is always the case that ``bin.swapcase()." "swapcase() == bin`` for the binary versions. Case conversions are " @@ -5165,7 +5251,7 @@ msgstr "" "La conversión de mayúsculas a minúsculas son simétricas en ASCII, aunque " "esto no es el caso general para códigos de punto Unicode." -#: ../Doc/library/stdtypes.rst:3190 +#: ../Doc/library/stdtypes.rst:3313 msgid "" "Return a titlecased version of the binary sequence where words start with an " "uppercase ASCII character and the remaining characters are lowercase. " @@ -5174,7 +5260,7 @@ msgstr "" "Retorna una versión en forma de título de la secuencia binaria, con la " "primera letra de cada palabra en mayúsculas y el resto en minúsculas." -#: ../Doc/library/stdtypes.rst:3199 +#: ../Doc/library/stdtypes.rst:3322 msgid "" "Lowercase ASCII characters are those byte values in the sequence " "``b'abcdefghijklmnopqrstuvwxyz'``. Uppercase ASCII characters are those byte " @@ -5186,7 +5272,7 @@ msgstr "" "los bytes en la secuencia ``b'ABCDEFGHIJKLMNOPQRSTUVWXYZ'``. El resto de los " "caracteres no presentan diferencias entre mayúsculas y minúsculas." -#: ../Doc/library/stdtypes.rst:3233 +#: ../Doc/library/stdtypes.rst:3356 msgid "" "Return a copy of the sequence with all the lowercase ASCII characters " "converted to their corresponding uppercase counterpart." @@ -5194,7 +5280,7 @@ msgstr "" "Retorna una copia de la secuencia con todos los caracteres ASCII en " "minúsculas sustituidos por su versión correspondiente en mayúsculas." -#: ../Doc/library/stdtypes.rst:3254 +#: ../Doc/library/stdtypes.rst:3377 msgid "" "Return a copy of the sequence left filled with ASCII ``b'0'`` digits to make " "a sequence of length *width*. A leading sign prefix (``b'+'``/ ``b'-'``) is " @@ -5209,11 +5295,11 @@ msgstr "" "objetos :class:`bytes`, se retorna la secuencia original si *width* es menor " "o igual que ``len(s)``." -#: ../Doc/library/stdtypes.rst:3276 +#: ../Doc/library/stdtypes.rst:3399 msgid "``printf``-style Bytes Formatting" msgstr "Usando el formateo tipo ``printf`` con bytes" -#: ../Doc/library/stdtypes.rst:3293 +#: ../Doc/library/stdtypes.rst:3416 msgid "" "The formatting operations described here exhibit a variety of quirks that " "lead to a number of common errors (such as failing to display tuples and " @@ -5225,7 +5311,7 @@ msgstr "" "representar tuplas y diccionarios correctamente). Si el valor a representar " "es una tupla o un diccionario, hay que envolverlos en una tupla." -#: ../Doc/library/stdtypes.rst:3298 +#: ../Doc/library/stdtypes.rst:3421 msgid "" "Bytes objects (``bytes``/``bytearray``) have one unique built-in operation: " "the ``%`` operator (modulo). This is also known as the bytes *formatting* or " @@ -5242,7 +5328,7 @@ msgstr "" "elementos de *valores*. El efecto es similar a usar la función del lenguaje " "C :c:func:`sprintf`." -#: ../Doc/library/stdtypes.rst:3305 +#: ../Doc/library/stdtypes.rst:3428 msgid "" "If *format* requires a single argument, *values* may be a single non-tuple " "object. [5]_ Otherwise, *values* must be a tuple with exactly the number of " @@ -5254,7 +5340,7 @@ msgstr "" "con exactamente el mismo número de elementos que marcadores usados en el " "objeto binario, o un único objeto de tipo mapa (Por ejemplo, un diccionario)." -#: ../Doc/library/stdtypes.rst:3339 +#: ../Doc/library/stdtypes.rst:3462 msgid "" "When the right argument is a dictionary (or other mapping type), then the " "formats in the bytes object *must* include a parenthesised mapping key into " @@ -5267,15 +5353,15 @@ msgstr "" "valor de la clave se usa para seleccionar el valor a formatear desde el " "mapa. Por ejemplo::" -#: ../Doc/library/stdtypes.rst:3413 +#: ../Doc/library/stdtypes.rst:3536 msgid "Single byte (accepts integer or single byte objects)." msgstr "Byte único (Acepta números enteros o binarios de un único byte)" -#: ../Doc/library/stdtypes.rst:3416 +#: ../Doc/library/stdtypes.rst:3539 msgid "``'b'``" msgstr "``'b'``" -#: ../Doc/library/stdtypes.rst:3416 +#: ../Doc/library/stdtypes.rst:3539 msgid "" "Bytes (any object that follows the :ref:`buffer protocol ` or " "has :meth:`__bytes__`)." @@ -5283,7 +5369,7 @@ msgstr "" "Bytes (Cualquier objeto que siga el protocolo de :ref:`objetos de tipo " "binario ` o implemente el método :meth:`__bytes__`)." -#: ../Doc/library/stdtypes.rst:3420 +#: ../Doc/library/stdtypes.rst:3543 msgid "" "``'s'`` is an alias for ``'b'`` and should only be used for Python2/3 code " "bases." @@ -5291,7 +5377,7 @@ msgstr "" "``'s'`` es un alias de ``'b'`` y solo debe ser usado para bases de código " "Python2/3." -#: ../Doc/library/stdtypes.rst:3423 +#: ../Doc/library/stdtypes.rst:3546 msgid "" "Bytes (converts any Python object using ``repr(obj)." "encode('ascii','backslashreplace)``)." @@ -5299,7 +5385,7 @@ msgstr "" "Bytes (Convierte cualquier objeto Python usando ``repr(obj)." "encode('ascii','backslashreplace)``)." -#: ../Doc/library/stdtypes.rst:3426 +#: ../Doc/library/stdtypes.rst:3549 msgid "" "``'r'`` is an alias for ``'a'`` and should only be used for Python2/3 code " "bases." @@ -5307,29 +5393,30 @@ msgstr "" "``'r'`` es un alias de ``'a'`` y solo debe ser usado para bases de código " "Python2/3." -#: ../Doc/library/stdtypes.rst:3426 +#: ../Doc/library/stdtypes.rst:3549 msgid "\\(7)" msgstr "\\(7)" -#: ../Doc/library/stdtypes.rst:3461 +#: ../Doc/library/stdtypes.rst:3584 #, python-format msgid "``b'%s'`` is deprecated, but will not be removed during the 3.x series." msgstr "``b'%s'`` está obsoleto, pero no se retirará durante la serie 3.x." -#: ../Doc/library/stdtypes.rst:3464 +#: ../Doc/library/stdtypes.rst:3587 #, python-format msgid "``b'%r'`` is deprecated, but will not be removed during the 3.x series." msgstr "``b'%r'`` está obsoleto, pero no se retirará durante la serie 3.x." -#: ../Doc/library/stdtypes.rst:3476 +#: ../Doc/library/stdtypes.rst:3599 +#, python-format msgid ":pep:`461` - Adding % formatting to bytes and bytearray" msgstr ":pep:`461` - Añadir formateo usando % con bytes y *bytearray*" -#: ../Doc/library/stdtypes.rst:3483 +#: ../Doc/library/stdtypes.rst:3606 msgid "Memory Views" msgstr "Vistas de memoria" -#: ../Doc/library/stdtypes.rst:3485 +#: ../Doc/library/stdtypes.rst:3608 msgid "" ":class:`memoryview` objects allow Python code to access the internal data of " "an object that supports the :ref:`buffer protocol ` without " @@ -5339,7 +5426,7 @@ msgstr "" "los datos internos de objetos que soporten el :ref:`protocolo buffer " "` sin necesidad de hacer copias." -#: ../Doc/library/stdtypes.rst:3491 +#: ../Doc/library/stdtypes.rst:3614 msgid "" "Create a :class:`memoryview` that references *obj*. *obj* must support the " "buffer protocol. Built-in objects that support the buffer protocol include :" @@ -5349,7 +5436,7 @@ msgstr "" "soportar el protocolo buffer. Los tipos de datos básicos que soportan el " "protocolo buffer incluyen los :class:`bytes` y :class:`bytearray`." -#: ../Doc/library/stdtypes.rst:3495 +#: ../Doc/library/stdtypes.rst:3618 msgid "" "A :class:`memoryview` has the notion of an *element*, which is the atomic " "memory unit handled by the originating object *obj*. For many simple types " @@ -5362,7 +5449,7 @@ msgstr "" "es un único byte, pero otros tipos, como la clase :class:`array.array` " "pueden tener elementos más grandes." -#: ../Doc/library/stdtypes.rst:3501 +#: ../Doc/library/stdtypes.rst:3624 msgid "" "``len(view)`` is equal to the length of :class:`~memoryview.tolist`. If " "``view.ndim = 0``, the length is 1. If ``view.ndim = 1``, the length is " @@ -5378,7 +5465,7 @@ msgstr "" "anidada de la vista. El atributo :class:`~memoryview.itemsize` contiene el " "número de bytes que ocupa un único elemento." -#: ../Doc/library/stdtypes.rst:3508 +#: ../Doc/library/stdtypes.rst:3631 msgid "" "A :class:`memoryview` supports slicing and indexing to expose its data. One-" "dimensional slicing will result in a subview::" @@ -5387,7 +5474,7 @@ msgstr "" "acceso por índices a sus datos. Un rebanado unidimensional producirá una sub-" "vista::" -#: ../Doc/library/stdtypes.rst:3521 +#: ../Doc/library/stdtypes.rst:3644 msgid "" "If :class:`~memoryview.format` is one of the native format specifiers from " "the :mod:`struct` module, indexing with an integer or a tuple of integers is " @@ -5406,11 +5493,11 @@ msgstr "" "enteros, donde *ndim* es el número de dimensiones. Vistas *memoryviews* con " "cero dimensiones pueden ser indexados con una tupla vacía." -#: ../Doc/library/stdtypes.rst:3530 +#: ../Doc/library/stdtypes.rst:3653 msgid "Here is an example with a non-byte format::" msgstr "Aquí hay un ejemplo con un formato que no es un byte::" -#: ../Doc/library/stdtypes.rst:3542 +#: ../Doc/library/stdtypes.rst:3665 msgid "" "If the underlying object is writable, the memoryview supports one-" "dimensional slice assignment. Resizing is not allowed::" @@ -5419,7 +5506,7 @@ msgstr "" "soporta asignación unidimensional mediante rebanadas. Sin embargo, no se " "permite el cambio de tamaño::" -#: ../Doc/library/stdtypes.rst:3563 +#: ../Doc/library/stdtypes.rst:3686 msgid "" "One-dimensional memoryviews of hashable (read-only) types with formats 'B', " "'b' or 'c' are also hashable. The hash is defined as ``hash(m) == hash(m." @@ -5430,7 +5517,7 @@ msgstr "" "son también *hashables*. El *hash* se define como ``hash(m) == hash(m." "tobytes())``::" -#: ../Doc/library/stdtypes.rst:3575 +#: ../Doc/library/stdtypes.rst:3698 msgid "" "One-dimensional memoryviews can now be sliced. One-dimensional memoryviews " "with formats 'B', 'b' or 'c' are now hashable." @@ -5439,7 +5526,7 @@ msgstr "" "operaciones de rebanado. Los objetos *memoryviews* de una única dimensión " "con formatos ``'B'``, ``'b'`` o ``'c'`` son ahora *hashables*." -#: ../Doc/library/stdtypes.rst:3579 +#: ../Doc/library/stdtypes.rst:3702 msgid "" "memoryview is now registered automatically with :class:`collections.abc." "Sequence`" @@ -5447,17 +5534,17 @@ msgstr "" "los objetos *memoryview* son registrados automáticamente con la clase :class:" "`collections.abc.Sequence`" -#: ../Doc/library/stdtypes.rst:3583 +#: ../Doc/library/stdtypes.rst:3706 msgid "memoryviews can now be indexed with tuple of integers." msgstr "" "los objetos *memoryviews* se pueden ahora acceder usando como índices una " "tupla de números enteros." -#: ../Doc/library/stdtypes.rst:3586 +#: ../Doc/library/stdtypes.rst:3709 msgid ":class:`memoryview` has several methods:" msgstr "La clase :class:`memoryview` tiene varios métodos:" -#: ../Doc/library/stdtypes.rst:3590 +#: ../Doc/library/stdtypes.rst:3713 msgid "" "A memoryview and a :pep:`3118` exporter are equal if their shapes are " "equivalent and if all corresponding values are equal when the operands' " @@ -5468,7 +5555,7 @@ msgstr "" "formatos respectivos de los operandos son interpretados usando la sintaxis " "de :mod:`struct`." -#: ../Doc/library/stdtypes.rst:3594 +#: ../Doc/library/stdtypes.rst:3717 msgid "" "For the subset of :mod:`struct` format strings currently supported by :meth:" "`tolist`, ``v`` and ``w`` are equal if ``v.tolist() == w.tolist()``::" @@ -5476,7 +5563,7 @@ msgstr "" "Para el subconjunto de formatos de :mod:`struct` soportados actualmente por :" "meth:`tolist`, ``v`` y ``w`` son iguales si ``v.tolist() == w.tolist()``::" -#: ../Doc/library/stdtypes.rst:3613 +#: ../Doc/library/stdtypes.rst:3736 msgid "" "If either format string is not supported by the :mod:`struct` module, then " "the objects will always compare as unequal (even if the format strings and " @@ -5487,7 +5574,7 @@ msgstr "" "diferentes (Incluso si las cadenas de formato y el contenido del *buffer* " "son idénticos)::" -#: ../Doc/library/stdtypes.rst:3629 +#: ../Doc/library/stdtypes.rst:3752 msgid "" "Note that, as with floating point numbers, ``v is w`` does *not* imply ``v " "== w`` for memoryview objects." @@ -5495,7 +5582,7 @@ msgstr "" "Nótese que, al igual que con los números en coma flotante, ``v is w`` *no* " "implica que ``v == w`` para objetos del tipo *memoryview*." -#: ../Doc/library/stdtypes.rst:3632 +#: ../Doc/library/stdtypes.rst:3755 msgid "" "Previous versions compared the raw memory disregarding the item format and " "the logical array structure." @@ -5503,7 +5590,7 @@ msgstr "" "Versiones previas comparaban la memoria directamente, sin considerar ni el " "formato de los elementos ni la estructura lógica de *array*." -#: ../Doc/library/stdtypes.rst:3638 +#: ../Doc/library/stdtypes.rst:3761 msgid "" "Return the data in the buffer as a bytestring. This is equivalent to " "calling the :class:`bytes` constructor on the memoryview. ::" @@ -5511,7 +5598,7 @@ msgstr "" "Retorna los datos en el *buffer* en forma de cadena de bytes. Equivale a " "llamar al constructor de la clase :class:`bytes` en el objeto *memoryview*::" -#: ../Doc/library/stdtypes.rst:3647 +#: ../Doc/library/stdtypes.rst:3770 msgid "" "For non-contiguous arrays the result is equal to the flattened list " "representation with all elements converted to bytes. :meth:`tobytes` " @@ -5523,7 +5610,7 @@ msgstr "" "método :meth:`tobytes` soporta todos los formatos de texto, incluidos " "aquellos que no se encuentran en la sintaxis del módulo :mod:`struct`." -#: ../Doc/library/stdtypes.rst:3652 +#: ../Doc/library/stdtypes.rst:3775 msgid "" "*order* can be {'C', 'F', 'A'}. When *order* is 'C' or 'F', the data of the " "original array is converted to C or Fortran order. For contiguous views, 'A' " @@ -5538,7 +5625,7 @@ msgstr "" "vista no contiguas, los datos se convierten primero a C. Definir " "*order=None* es lo mismo que *order='C'*." -#: ../Doc/library/stdtypes.rst:3661 +#: ../Doc/library/stdtypes.rst:3784 msgid "" "Return a string object containing two hexadecimal digits for each byte in " "the buffer. ::" @@ -5546,7 +5633,7 @@ msgstr "" "Retorna una cadena de caracteres que contiene dos dígitos hexadecimales por " "cada byte en el *buffer*::" -#: ../Doc/library/stdtypes.rst:3670 +#: ../Doc/library/stdtypes.rst:3793 msgid "" "Similar to :meth:`bytes.hex`, :meth:`memoryview.hex` now supports optional " "*sep* and *bytes_per_sep* parameters to insert separators between bytes in " @@ -5556,11 +5643,11 @@ msgstr "" "los parámetros opcionales *sep* y *bytes_per_sep* para insertar separadores " "entre los bytes en la cadena hexadecimal de salida." -#: ../Doc/library/stdtypes.rst:3677 +#: ../Doc/library/stdtypes.rst:3800 msgid "Return the data in the buffer as a list of elements. ::" msgstr "Retorna los datos en el *buffer* como una lista de elementos. ::" -#: ../Doc/library/stdtypes.rst:3687 +#: ../Doc/library/stdtypes.rst:3810 msgid "" ":meth:`tolist` now supports all single character native formats in :mod:" "`struct` module syntax as well as multi-dimensional representations." @@ -5569,7 +5656,7 @@ msgstr "" "carácter definidos en el módulo :mod:`struct`, así como las representaciones " "de múltiples dimensiones." -#: ../Doc/library/stdtypes.rst:3694 +#: ../Doc/library/stdtypes.rst:3817 msgid "" "Return a readonly version of the memoryview object. The original memoryview " "object is unchanged. ::" @@ -5577,7 +5664,7 @@ msgstr "" "Retorna una versión de solo lectura del objeto *memoryview*. El objeto " "original permanece inalterado::" -#: ../Doc/library/stdtypes.rst:3713 +#: ../Doc/library/stdtypes.rst:3836 msgid "" "Release the underlying buffer exposed by the memoryview object. Many " "objects take special actions when a view is held on them (for example, a :" @@ -5592,7 +5679,7 @@ msgstr "" "restricciones (Así como para tratar con los recursos pendientes) lo más " "pronto posible." -#: ../Doc/library/stdtypes.rst:3719 +#: ../Doc/library/stdtypes.rst:3842 msgid "" "After this method has been called, any further operation on the view raises " "a :class:`ValueError` (except :meth:`release()` itself which can be called " @@ -5603,7 +5690,7 @@ msgstr "" "por el propio método :meth:`release()`, que puede ser llamado las veces que " "se quiera)::" -#: ../Doc/library/stdtypes.rst:3730 +#: ../Doc/library/stdtypes.rst:3853 msgid "" "The context management protocol can be used for a similar effect, using the " "``with`` statement::" @@ -5611,7 +5698,7 @@ msgstr "" "El protocolo de gestión de contexto puede ser usado para obtener un efecto " "similar, usando la sentencia ``with``::" -#: ../Doc/library/stdtypes.rst:3746 +#: ../Doc/library/stdtypes.rst:3869 msgid "" "Cast a memoryview to a new format or shape. *shape* defaults to " "``[byte_length//new_itemsize]``, which means that the result view will be " @@ -5625,7 +5712,7 @@ msgstr "" "de tipo *memoryview*, pero el buffer en sí no se copia. Las transformaciones " "pueden ser 1D -> C-:term:`contiguo` y C-contiguo -> 1D." -#: ../Doc/library/stdtypes.rst:3752 +#: ../Doc/library/stdtypes.rst:3875 msgid "" "The destination format is restricted to a single element native format in :" "mod:`struct` syntax. One of the formats must be a byte format ('B', 'b' or " @@ -5636,37 +5723,37 @@ msgstr "" "byte (``'B'``, ``'b'`` o ``'c'``). La longitud en bytes del resultado debe " "coincidir con la longitud original." -#: ../Doc/library/stdtypes.rst:3757 +#: ../Doc/library/stdtypes.rst:3880 msgid "Cast 1D/long to 1D/unsigned bytes::" msgstr "Transforma de ``1D/long`` a bytes ``1D/unsigned``::" -#: ../Doc/library/stdtypes.rst:3780 +#: ../Doc/library/stdtypes.rst:3903 msgid "Cast 1D/unsigned bytes to 1D/char::" msgstr "Transforma de ``1D/unsigned`` a bytes ``1D/char``::" -#: ../Doc/library/stdtypes.rst:3793 +#: ../Doc/library/stdtypes.rst:3916 msgid "Cast 1D/bytes to 3D/ints to 1D/signed char::" msgstr "Transforma de ``1D/bytes`` a ``3D/ints`` a caracteres ``1D/signed``::" -#: ../Doc/library/stdtypes.rst:3819 +#: ../Doc/library/stdtypes.rst:3942 msgid "Cast 1D/unsigned long to 2D/unsigned long::" msgstr "Transforma de *long* ``1D/unsigned`` a *long* ``2D/unsigned``::" -#: ../Doc/library/stdtypes.rst:3833 +#: ../Doc/library/stdtypes.rst:3956 msgid "The source format is no longer restricted when casting to a byte view." msgstr "" "El formato de origen ya no está restringido cuando se transforma a una vista " "de bytes." -#: ../Doc/library/stdtypes.rst:3836 +#: ../Doc/library/stdtypes.rst:3959 msgid "There are also several readonly attributes available:" msgstr "Hay disponibles varios atributos de solo lectura:" -#: ../Doc/library/stdtypes.rst:3840 +#: ../Doc/library/stdtypes.rst:3963 msgid "The underlying object of the memoryview::" msgstr "El objeto subyacente del *memoryview*::" -#: ../Doc/library/stdtypes.rst:3851 +#: ../Doc/library/stdtypes.rst:3974 msgid "" "``nbytes == product(shape) * itemsize == len(m.tobytes())``. This is the " "amount of space in bytes that the array would use in a contiguous " @@ -5676,15 +5763,15 @@ msgstr "" "espacio, medido en bytes, que usará el *array* en una representación " "continua. No tiene que ser necesariamente igual a ``len(m)``::" -#: ../Doc/library/stdtypes.rst:3870 +#: ../Doc/library/stdtypes.rst:3993 msgid "Multi-dimensional arrays::" msgstr "Matrices de múltiples dimensiones::" -#: ../Doc/library/stdtypes.rst:3887 +#: ../Doc/library/stdtypes.rst:4010 msgid "A bool indicating whether the memory is read only." msgstr "Un booleano que indica si la memoria es de solo lectura." -#: ../Doc/library/stdtypes.rst:3891 +#: ../Doc/library/stdtypes.rst:4014 msgid "" "A string containing the format (in :mod:`struct` module style) for each " "element in the view. A memoryview can be created from exporters with " @@ -5697,7 +5784,7 @@ msgstr "" "pero algunos métodos (Como, por ejemplo, :meth:`tolist`) están restringidos " "a usar formatos de elementos nativos sencillos." -#: ../Doc/library/stdtypes.rst:3896 +#: ../Doc/library/stdtypes.rst:4019 msgid "" "format ``'B'`` is now handled according to the struct module syntax. This " "means that ``memoryview(b'abc')[0] == b'abc'[0] == 97``." @@ -5706,11 +5793,11 @@ msgstr "" "módulo ``struct``. Esto significa que ``memoryview(b'abc')[0] == b'abc'[0] " "== 97``." -#: ../Doc/library/stdtypes.rst:3902 +#: ../Doc/library/stdtypes.rst:4025 msgid "The size in bytes of each element of the memoryview::" msgstr "El tamaño en bytes de cada elemento del objeto *memoryview*::" -#: ../Doc/library/stdtypes.rst:3915 +#: ../Doc/library/stdtypes.rst:4038 msgid "" "An integer indicating how many dimensions of a multi-dimensional array the " "memory represents." @@ -5718,7 +5805,7 @@ msgstr "" "Un número entero que indica cuantas dimensiones de una matriz multi-" "dimensional representa la memoria." -#: ../Doc/library/stdtypes.rst:3920 +#: ../Doc/library/stdtypes.rst:4043 msgid "" "A tuple of integers the length of :attr:`ndim` giving the shape of the " "memory as an N-dimensional array." @@ -5726,11 +5813,11 @@ msgstr "" "Una tupla de números enteros, de longitud :attr:`ndim`, que indica la forma " "de la memoria en una matriz de *N* dimensiones." -#: ../Doc/library/stdtypes.rst:3923 ../Doc/library/stdtypes.rst:3931 +#: ../Doc/library/stdtypes.rst:4046 ../Doc/library/stdtypes.rst:4054 msgid "An empty tuple instead of ``None`` when ndim = 0." msgstr "Una tupla vacía, en vez de ``None``, cuando ``ndom = 0``." -#: ../Doc/library/stdtypes.rst:3928 +#: ../Doc/library/stdtypes.rst:4051 msgid "" "A tuple of integers the length of :attr:`ndim` giving the size in bytes to " "access each element for each dimension of the array." @@ -5738,30 +5825,30 @@ msgstr "" "Una tupla de números enteros, de longitud :attr:`ndim`, que indica el tamaño " "en bytes para acceder a cada dimensión de la matriz." -#: ../Doc/library/stdtypes.rst:3936 +#: ../Doc/library/stdtypes.rst:4059 msgid "Used internally for PIL-style arrays. The value is informational only." msgstr "" "De uso interno para las matrices estilo *PIL*. El valor es solo informativo." -#: ../Doc/library/stdtypes.rst:3940 +#: ../Doc/library/stdtypes.rst:4063 msgid "A bool indicating whether the memory is C-:term:`contiguous`." msgstr "" "Un booleano que indica si la memoria es :term:`contiguous` al estilo *C*." -#: ../Doc/library/stdtypes.rst:3946 +#: ../Doc/library/stdtypes.rst:4069 msgid "A bool indicating whether the memory is Fortran :term:`contiguous`." msgstr "" "Un booleano que indica si la memoria es :term:`contiguous` al estilo Fortran." -#: ../Doc/library/stdtypes.rst:3952 +#: ../Doc/library/stdtypes.rst:4075 msgid "A bool indicating whether the memory is :term:`contiguous`." msgstr "Un booleano que indica si la memoria es :term:`contiguous`." -#: ../Doc/library/stdtypes.rst:3960 +#: ../Doc/library/stdtypes.rst:4083 msgid "Set Types --- :class:`set`, :class:`frozenset`" msgstr "Conjuntos --- :class:`set`, :class:`frozenset`" -#: ../Doc/library/stdtypes.rst:3964 +#: ../Doc/library/stdtypes.rst:4087 msgid "" "A :dfn:`set` object is an unordered collection of distinct :term:`hashable` " "objects. Common uses include membership testing, removing duplicates from a " @@ -5778,7 +5865,7 @@ msgstr "" "contenedores véanse las clases básicas :class:`dict`, :class:`list`, y :" "class:`tuple`, así como el módulo :mod:`collections`)." -#: ../Doc/library/stdtypes.rst:3971 +#: ../Doc/library/stdtypes.rst:4094 msgid "" "Like other collections, sets support ``x in set``, ``len(set)``, and ``for x " "in set``. Being an unordered collection, sets do not record element " @@ -5791,7 +5878,7 @@ msgstr "" "mismo, los conjuntos no soportan indexado, ni operaciones de rebanadas, ni " "otras capacidades propias de las secuencias." -#: ../Doc/library/stdtypes.rst:3976 +#: ../Doc/library/stdtypes.rst:4099 msgid "" "There are currently two built-in set types, :class:`set` and :class:" "`frozenset`. The :class:`set` type is mutable --- the contents can be " @@ -5811,7 +5898,7 @@ msgstr "" "contenidos no pueden ser modificados después de creados. Puede ser usado, " "por tanto, como claves de diccionario o como elemento de otro conjunto." -#: ../Doc/library/stdtypes.rst:3984 +#: ../Doc/library/stdtypes.rst:4107 msgid "" "Non-empty sets (not frozensets) can be created by placing a comma-separated " "list of elements within braces, for example: ``{'jack', 'sjoerd'}``, in " @@ -5822,11 +5909,11 @@ msgstr "" "``{'jack', 'sjoerd'}``, además de con el constructor de la clase :class:" "`set`." -#: ../Doc/library/stdtypes.rst:3988 +#: ../Doc/library/stdtypes.rst:4111 msgid "The constructors for both classes work the same:" msgstr "El constructor para ambas clases se usa de la misma forma:" -#: ../Doc/library/stdtypes.rst:3993 +#: ../Doc/library/stdtypes.rst:4116 msgid "" "Return a new set or frozenset object whose elements are taken from " "*iterable*. The elements of a set must be :term:`hashable`. To represent " @@ -5840,7 +5927,30 @@ msgstr "" "`frozenset`. Si no se especifica el parámetro *iterable*, se retorna un " "conjunto vacío." -#: ../Doc/library/stdtypes.rst:3999 +#: ../Doc/library/stdtypes.rst:4122 +#, fuzzy +msgid "Sets can be created by several means:" +msgstr "Las listas se pueden construir de diferentes formas:" + +#: ../Doc/library/stdtypes.rst:4124 +msgid "" +"Use a comma-separated list of elements within braces: ``{'jack', 'sjoerd'}``" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4125 +#, fuzzy +msgid "" +"Use a set comprehension: ``{c for c in 'abracadabra' if c not in 'abc'}``" +msgstr "" +"Usando una lista intensiva o por comprensión: ``[x for x in iterable]``" + +#: ../Doc/library/stdtypes.rst:4126 +msgid "" +"Use the type constructor: ``set()``, ``set('foobar')``, ``set(['a', 'b', " +"'foo'])``" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4128 msgid "" "Instances of :class:`set` and :class:`frozenset` provide the following " "operations:" @@ -5848,20 +5958,20 @@ msgstr "" "Las instancias de :class:`set` y :class:`frozenset` proporcionan las " "siguientes operaciones:" -#: ../Doc/library/stdtypes.rst:4004 +#: ../Doc/library/stdtypes.rst:4133 msgid "Return the number of elements in set *s* (cardinality of *s*)." msgstr "" "Retorna el número de elementos en el conjunto *s* (Cardinalidad de *s*)" -#: ../Doc/library/stdtypes.rst:4008 +#: ../Doc/library/stdtypes.rst:4137 msgid "Test *x* for membership in *s*." msgstr "Comprueba que el elemento *x* está incluido en *s*." -#: ../Doc/library/stdtypes.rst:4012 +#: ../Doc/library/stdtypes.rst:4141 msgid "Test *x* for non-membership in *s*." msgstr "Comprueba que el elemento *x* no está incluido en *s*." -#: ../Doc/library/stdtypes.rst:4016 +#: ../Doc/library/stdtypes.rst:4145 msgid "" "Return ``True`` if the set has no elements in common with *other*. Sets are " "disjoint if and only if their intersection is the empty set." @@ -5870,12 +5980,12 @@ msgstr "" "*other*. Dos conjuntos son disjuntos si y solo si su intersección es el " "conjunto vacío." -#: ../Doc/library/stdtypes.rst:4022 +#: ../Doc/library/stdtypes.rst:4151 msgid "Test whether every element in the set is in *other*." msgstr "" "Comprueba si cada elemento del conjunto también se encuentra en *other*." -#: ../Doc/library/stdtypes.rst:4026 +#: ../Doc/library/stdtypes.rst:4155 msgid "" "Test whether the set is a proper subset of *other*, that is, ``set <= other " "and set != other``." @@ -5883,11 +5993,11 @@ msgstr "" "Comprueba si el conjunto es un subconjunto propio de *other*, es decir, " "``set <= other and set != other``." -#: ../Doc/library/stdtypes.rst:4032 +#: ../Doc/library/stdtypes.rst:4161 msgid "Test whether every element in *other* is in the set." msgstr "Comprueba que cada elemento de *other* está incluido en el conjunto." -#: ../Doc/library/stdtypes.rst:4036 +#: ../Doc/library/stdtypes.rst:4165 msgid "" "Test whether the set is a proper superset of *other*, that is, ``set >= " "other and set != other``." @@ -5895,36 +6005,36 @@ msgstr "" "Comprueba si el conjunto es un superconjunto propio de *other*, es decir, " "``set >= other and set != other``." -#: ../Doc/library/stdtypes.rst:4042 +#: ../Doc/library/stdtypes.rst:4171 msgid "Return a new set with elements from the set and all others." msgstr "" "Retorna un conjunto nuevo que contiene todos los elementos del conjunto y de " "*others*." -#: ../Doc/library/stdtypes.rst:4047 +#: ../Doc/library/stdtypes.rst:4176 msgid "Return a new set with elements common to the set and all others." msgstr "" "Retorna un conjunto nuevo que contiene todos los elementos que están a la " "vez en conjunto y en *others*." -#: ../Doc/library/stdtypes.rst:4052 +#: ../Doc/library/stdtypes.rst:4181 msgid "Return a new set with elements in the set that are not in the others." msgstr "" "Retorna un conjunto nuevo que contiene todos los elementos del conjunto y " "que no están incluidos en *others*." -#: ../Doc/library/stdtypes.rst:4057 +#: ../Doc/library/stdtypes.rst:4186 msgid "" "Return a new set with elements in either the set or *other* but not both." msgstr "" "Retorna un conjunto nuevo que contiene elementos que están incluidos en el " "conjunto o en *others*, pero no en los dos a la vez." -#: ../Doc/library/stdtypes.rst:4061 +#: ../Doc/library/stdtypes.rst:4190 msgid "Return a shallow copy of the set." msgstr "Retorna una copia superficial del conjunto." -#: ../Doc/library/stdtypes.rst:4064 +#: ../Doc/library/stdtypes.rst:4193 msgid "" "Note, the non-operator versions of :meth:`union`, :meth:`intersection`, :" "meth:`difference`, and :meth:`symmetric_difference`, :meth:`issubset`, and :" @@ -5941,7 +6051,7 @@ msgstr "" "construcciones propensas a errores como ``set('abc') & 'cbs'``, favoreciendo " "el uso formas más legibles como ``set('abc').intersection('cbs')``." -#: ../Doc/library/stdtypes.rst:4071 +#: ../Doc/library/stdtypes.rst:4200 msgid "" "Both :class:`set` and :class:`frozenset` support set to set comparisons. Two " "sets are equal if and only if every element of each set is contained in the " @@ -5958,7 +6068,7 @@ msgstr "" "que otro si y solo si el primero en un superconjunto propio del segundo (Es " "un superconjunto, pero no son iguales)." -#: ../Doc/library/stdtypes.rst:4078 +#: ../Doc/library/stdtypes.rst:4207 msgid "" "Instances of :class:`set` are compared to instances of :class:`frozenset` " "based on their members. For example, ``set('abc') == frozenset('abc')`` " @@ -5969,7 +6079,7 @@ msgstr "" "frozenset('abc')`` retorna ``True`` y lo mismo hace ``set('abc') in " "set([frozenset('abc')])``." -#: ../Doc/library/stdtypes.rst:4082 +#: ../Doc/library/stdtypes.rst:4211 msgid "" "The subset and equality comparisons do not generalize to a total ordering " "function. For example, any two nonempty disjoint sets are not equal and are " @@ -5982,7 +6092,7 @@ msgstr "" "tampoco son subconjuntos uno del otro, así que todas estas operaciones " "retornan ``False``: ``ab``." -#: ../Doc/library/stdtypes.rst:4087 +#: ../Doc/library/stdtypes.rst:4216 msgid "" "Since sets only define partial ordering (subset relationships), the output " "of the :meth:`list.sort` method is undefined for lists of sets." @@ -5991,13 +6101,13 @@ msgstr "" "la salida del método :meth:`list.sort` no está definida para listas de " "conjuntos." -#: ../Doc/library/stdtypes.rst:4090 +#: ../Doc/library/stdtypes.rst:4219 msgid "Set elements, like dictionary keys, must be :term:`hashable`." msgstr "" "Los elementos de un conjunto, al igual que las claves de un diccionario, " "deben ser :term:`hashable`." -#: ../Doc/library/stdtypes.rst:4092 +#: ../Doc/library/stdtypes.rst:4221 msgid "" "Binary operations that mix :class:`set` instances with :class:`frozenset` " "return the type of the first operand. For example: ``frozenset('ab') | " @@ -6008,7 +6118,7 @@ msgstr "" "``frozenset('ab') | set('bc')`` retornará una instancia de :class:" "`frozenset`." -#: ../Doc/library/stdtypes.rst:4096 +#: ../Doc/library/stdtypes.rst:4225 msgid "" "The following table lists operations available for :class:`set` that do not " "apply to immutable instances of :class:`frozenset`:" @@ -6016,34 +6126,34 @@ msgstr "" "La siguiente tabla muestra las operaciones disponibles para la clase :class:" "`set` que no son aplicables a los conjuntos inmutables :class:`frozenset`:" -#: ../Doc/library/stdtypes.rst:4102 +#: ../Doc/library/stdtypes.rst:4231 msgid "Update the set, adding elements from all others." msgstr "" "Actualiza el conjunto, añadiendo los elementos que se encuentren en *others*." -#: ../Doc/library/stdtypes.rst:4107 +#: ../Doc/library/stdtypes.rst:4236 msgid "Update the set, keeping only elements found in it and all others." msgstr "" "Actualiza el conjunto, manteniendo solo los elementos que se encuentren en " "si mismo y en *others*." -#: ../Doc/library/stdtypes.rst:4112 +#: ../Doc/library/stdtypes.rst:4241 msgid "Update the set, removing elements found in others." msgstr "" "Actualiza el conjunto, eliminado los elementos que se encuentren en *others*." -#: ../Doc/library/stdtypes.rst:4117 +#: ../Doc/library/stdtypes.rst:4246 msgid "" "Update the set, keeping only elements found in either set, but not in both." msgstr "" "Actualiza el conjunto, manteniendo solo los elementos que se encuentren en " "el conjunto o en *others*, pero no en los dos a la vez." -#: ../Doc/library/stdtypes.rst:4121 +#: ../Doc/library/stdtypes.rst:4250 msgid "Add element *elem* to the set." msgstr "Añade al conjunto el elemento *elem*." -#: ../Doc/library/stdtypes.rst:4125 +#: ../Doc/library/stdtypes.rst:4254 msgid "" "Remove element *elem* from the set. Raises :exc:`KeyError` if *elem* is not " "contained in the set." @@ -6051,11 +6161,11 @@ msgstr "" "Elimina del conjunto el elemento *elem*. Eleva la excepción :exc:`KeyError` " "si *elem* no estaba incluido en el conjunto." -#: ../Doc/library/stdtypes.rst:4130 +#: ../Doc/library/stdtypes.rst:4259 msgid "Remove element *elem* from the set if it is present." msgstr "Elimina del conjunto el elemento *elem*, si estuviera incluido." -#: ../Doc/library/stdtypes.rst:4134 +#: ../Doc/library/stdtypes.rst:4263 msgid "" "Remove and return an arbitrary element from the set. Raises :exc:`KeyError` " "if the set is empty." @@ -6063,11 +6173,11 @@ msgstr "" "Elimina y retorna un elemento cualquiera del conjunto. Eleva la excepción :" "exc:`KeyError` si el conjunto estaba vacío." -#: ../Doc/library/stdtypes.rst:4139 +#: ../Doc/library/stdtypes.rst:4268 msgid "Remove all elements from the set." msgstr "Elimina todos los elementos del conjunto." -#: ../Doc/library/stdtypes.rst:4142 +#: ../Doc/library/stdtypes.rst:4271 msgid "" "Note, the non-operator versions of the :meth:`update`, :meth:" "`intersection_update`, :meth:`difference_update`, and :meth:" @@ -6078,7 +6188,7 @@ msgstr "" "`intersection_update`, :meth:`difference_update`, y :meth:" "`symmetric_difference_update` aceptan cualquier iterable como parámetro." -#: ../Doc/library/stdtypes.rst:4147 +#: ../Doc/library/stdtypes.rst:4276 msgid "" "Note, the *elem* argument to the :meth:`__contains__`, :meth:`remove`, and :" "meth:`discard` methods may be a set. To support searching for an equivalent " @@ -6088,11 +6198,11 @@ msgstr "" "`remove` y :meth:`discard` puede ser un conjunto. Para soportar la búsqueda " "por un *frozenset* equivalente se crea uno temporal a partir de *elem*." -#: ../Doc/library/stdtypes.rst:4155 +#: ../Doc/library/stdtypes.rst:4284 msgid "Mapping Types --- :class:`dict`" msgstr "Tipos Mapa --- :class:`dict`" -#: ../Doc/library/stdtypes.rst:4165 +#: ../Doc/library/stdtypes.rst:4294 msgid "" "A :term:`mapping` object maps :term:`hashable` values to arbitrary objects. " "Mappings are mutable objects. There is currently only one standard mapping " @@ -6106,7 +6216,7 @@ msgstr "" "(Para otros tipos contenedores, véanse las clases básicas :class:`list`, :" "class:`set`, y :class:`tuple`, así como el módulo :mod:`collections`)." -#: ../Doc/library/stdtypes.rst:4171 +#: ../Doc/library/stdtypes.rst:4300 msgid "" "A dictionary's keys are *almost* arbitrary values. Values that are not :" "term:`hashable`, that is, values containing lists, dictionaries or other " @@ -6128,7 +6238,7 @@ msgstr "" "flotante como aproximaciones, por lo que normalmente no es recomendable " "usarlos como claves)." -#: ../Doc/library/stdtypes.rst:4180 +#: ../Doc/library/stdtypes.rst:4309 msgid "" "Dictionaries can be created by placing a comma-separated list of ``key: " "value`` pairs within braces, for example: ``{'jack': 4098, 'sjoerd': 4127}`` " @@ -6139,7 +6249,7 @@ msgstr "" "4127}`` o ``{4098: 'jack', 4127: 'sjoerd'}``, o por el constructor :class:" "`dict`." -#: ../Doc/library/stdtypes.rst:4188 +#: ../Doc/library/stdtypes.rst:4317 msgid "" "Return a new dictionary initialized from an optional positional argument and " "a possibly empty set of keyword arguments." @@ -6147,7 +6257,35 @@ msgstr "" "Retorna un diccionario creado a partir de un parámetro opcional por " "posición, y por una serie de parámetros por nombre, también opcionales." -#: ../Doc/library/stdtypes.rst:4191 +#: ../Doc/library/stdtypes.rst:4320 +#, fuzzy +msgid "Dictionaries can be created by several means:" +msgstr "Las listas se pueden construir de diferentes formas:" + +#: ../Doc/library/stdtypes.rst:4322 +#, fuzzy +msgid "" +"Use a comma-separated list of ``key: value`` pairs within braces: ``{'jack': " +"4098, 'sjoerd': 4127}`` or ``{4098: 'jack', 4127: 'sjoerd'}``" +msgstr "" +"Los diccionarios se pueden crear colocando una lista separada por comas de " +"pares ``key: value`` entre llaves, por ejemplo: ``{'jack': 4098, 'sjoerd': " +"4127}`` o ``{4098: 'jack', 4127: 'sjoerd'}``, o por el constructor :class:" +"`dict`." + +#: ../Doc/library/stdtypes.rst:4324 +#, fuzzy +msgid "Use a dict comprehension: ``{}``, ``{x: x ** 2 for x in range(10)}``" +msgstr "" +"Usando una lista intensiva o por comprensión: ``[x for x in iterable]``" + +#: ../Doc/library/stdtypes.rst:4325 +msgid "" +"Use the type constructor: ``dict()``, ``dict([('foo', 100), ('bar', " +"200)])``, ``dict(foo=100, bar=200)``" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4328 msgid "" "If no positional argument is given, an empty dictionary is created. If a " "positional argument is given and it is a mapping object, a dictionary is " @@ -6167,7 +6305,7 @@ msgstr "" "a almacenar en el nuevo diccionario. Si una clave aparece más de una vez, el " "último valor será el que se almacene en el diccionario resultante." -#: ../Doc/library/stdtypes.rst:4201 +#: ../Doc/library/stdtypes.rst:4338 msgid "" "If keyword arguments are given, the keyword arguments and their values are " "added to the dictionary created from the positional argument. If a key " @@ -6179,7 +6317,7 @@ msgstr "" "posición. Si un valor de clave ya estaba presente, el valor pasado con el " "parámetro por nombre reemplazara el valor del parámetro por posición." -#: ../Doc/library/stdtypes.rst:4206 +#: ../Doc/library/stdtypes.rst:4343 msgid "" "To illustrate, the following examples all return a dictionary equal to " "``{\"one\": 1, \"two\": 2, \"three\": 3}``::" @@ -6187,7 +6325,7 @@ msgstr "" "A modo de ejemplo, los siguientes ejemplo retornan todos el mismo " "diccionario ``{\"one\": 1, \"two\": 2, \"three\": 3}``::" -#: ../Doc/library/stdtypes.rst:4217 +#: ../Doc/library/stdtypes.rst:4355 msgid "" "Providing keyword arguments as in the first example only works for keys that " "are valid Python identifiers. Otherwise, any valid keys can be used." @@ -6197,7 +6335,7 @@ msgstr "" "conteniendo identificadores de Python válidos. En los otros casos, se puede " "usar cualquier valor como clave." -#: ../Doc/library/stdtypes.rst:4221 +#: ../Doc/library/stdtypes.rst:4359 msgid "" "These are the operations that dictionaries support (and therefore, custom " "mapping types should support too):" @@ -6205,15 +6343,15 @@ msgstr "" "Estas son las operaciones soportados por los diccionarios (Y que, por tanto, " "deberían ser soportados por los tipos de mapa personalizados):" -#: ../Doc/library/stdtypes.rst:4226 +#: ../Doc/library/stdtypes.rst:4364 msgid "Return a list of all the keys used in the dictionary *d*." msgstr "Retorna una lista de todas las claves usadas en el diccionario *d*." -#: ../Doc/library/stdtypes.rst:4230 +#: ../Doc/library/stdtypes.rst:4368 msgid "Return the number of items in the dictionary *d*." msgstr "Retorna el número de elementos almacenados en el diccionario *d*." -#: ../Doc/library/stdtypes.rst:4234 +#: ../Doc/library/stdtypes.rst:4372 msgid "" "Return the item of *d* with key *key*. Raises a :exc:`KeyError` if *key* is " "not in the map." @@ -6222,7 +6360,7 @@ msgstr "" "excepción de tipo :exc:`KeyError` si la clave *key* no se encuentra en el " "diccionario *d*." -#: ../Doc/library/stdtypes.rst:4239 +#: ../Doc/library/stdtypes.rst:4377 msgid "" "If a subclass of dict defines a method :meth:`__missing__` and *key* is not " "present, the ``d[key]`` operation calls that method with the key *key* as " @@ -6241,7 +6379,7 @@ msgstr "" "exc:`KeyError`. Si se define :meth:`__missing__`, debe ser de forma " "obligatoria un método, no puede ser una variable de instancia::" -#: ../Doc/library/stdtypes.rst:4257 +#: ../Doc/library/stdtypes.rst:4395 msgid "" "The example above shows part of the implementation of :class:`collections." "Counter`. A different ``__missing__`` method is used by :class:`collections." @@ -6251,11 +6389,11 @@ msgstr "" "`collections.Counter`. Otro ejemplo de uso del método ``__missing__`` se " "puede encontrar en la clase :class:`collections.defaultdict`." -#: ../Doc/library/stdtypes.rst:4263 +#: ../Doc/library/stdtypes.rst:4401 msgid "Set ``d[key]`` to *value*." msgstr "Asigna el valor *value* a ``d[key]``." -#: ../Doc/library/stdtypes.rst:4267 +#: ../Doc/library/stdtypes.rst:4405 msgid "" "Remove ``d[key]`` from *d*. Raises a :exc:`KeyError` if *key* is not in the " "map." @@ -6263,17 +6401,17 @@ msgstr "" "Elimina ``d[key]`` de *d*. Eleva una excepción :exc:`KeyError` si *key* no " "está en el mapa." -#: ../Doc/library/stdtypes.rst:4272 +#: ../Doc/library/stdtypes.rst:4410 msgid "Return ``True`` if *d* has a key *key*, else ``False``." msgstr "" "Retorna ``True`` si *d* tiene una entrada en la clave *key*, ``False`` en " "caso contrario." -#: ../Doc/library/stdtypes.rst:4276 +#: ../Doc/library/stdtypes.rst:4414 msgid "Equivalent to ``not key in d``." msgstr "Equivale a ``not key in d``." -#: ../Doc/library/stdtypes.rst:4280 +#: ../Doc/library/stdtypes.rst:4418 msgid "" "Return an iterator over the keys of the dictionary. This is a shortcut for " "``iter(d.keys())``." @@ -6281,22 +6419,22 @@ msgstr "" "Retorna un *iterador* que recorre todas las claves de un diccionario. Es una " "forma abreviada de ``iter(d.keys())``." -#: ../Doc/library/stdtypes.rst:4285 +#: ../Doc/library/stdtypes.rst:4423 msgid "Remove all items from the dictionary." msgstr "Elimina todos los contenidos del diccionario." -#: ../Doc/library/stdtypes.rst:4289 +#: ../Doc/library/stdtypes.rst:4427 msgid "Return a shallow copy of the dictionary." msgstr "Retorna una copia superficial del diccionario." -#: ../Doc/library/stdtypes.rst:4293 +#: ../Doc/library/stdtypes.rst:4431 msgid "" "Create a new dictionary with keys from *iterable* and values set to *value*." msgstr "" "Crea un nuevo diccionario con las claves obtenidos a partir del *iterable* y " "con valor *value*." -#: ../Doc/library/stdtypes.rst:4295 +#: ../Doc/library/stdtypes.rst:4433 msgid "" ":meth:`fromkeys` is a class method that returns a new dictionary. *value* " "defaults to ``None``. All of the values refer to just a single instance, so " @@ -6311,7 +6449,7 @@ msgstr "" "valores diferentes, se puede usar mejor un :ref:`diccionario por comprensión " "`." -#: ../Doc/library/stdtypes.rst:4303 +#: ../Doc/library/stdtypes.rst:4441 msgid "" "Return the value for *key* if *key* is in the dictionary, else *default*. If " "*default* is not given, it defaults to ``None``, so that this method never " @@ -6322,7 +6460,7 @@ msgstr "" "defecto es ``None``, por lo que esta función nunca eleva la excepción :exc:" "`KeyError`." -#: ../Doc/library/stdtypes.rst:4309 +#: ../Doc/library/stdtypes.rst:4447 msgid "" "Return a new view of the dictionary's items (``(key, value)`` pairs). See " "the :ref:`documentation of view objects `." @@ -6330,7 +6468,7 @@ msgstr "" "Retorna una nueva vista de los contenidos del diccionario (Pares ``(key, " "value)``). Vea :ref:`documentación de los objetos vistas `." -#: ../Doc/library/stdtypes.rst:4314 +#: ../Doc/library/stdtypes.rst:4452 msgid "" "Return a new view of the dictionary's keys. See the :ref:`documentation of " "view objects `." @@ -6338,7 +6476,7 @@ msgstr "" "Retorna una nueva vista de las claves del diccionario. Véase la :ref:" "`documentación de las vistas `." -#: ../Doc/library/stdtypes.rst:4319 +#: ../Doc/library/stdtypes.rst:4457 msgid "" "If *key* is in the dictionary, remove it and return its value, else return " "*default*. If *default* is not given and *key* is not in the dictionary, a :" @@ -6349,7 +6487,7 @@ msgstr "" "*default* y la clave no se encuentra en el diccionario, se eleva la " "excepción :exc:`KeyError`." -#: ../Doc/library/stdtypes.rst:4325 +#: ../Doc/library/stdtypes.rst:4463 msgid "" "Remove and return a ``(key, value)`` pair from the dictionary. Pairs are " "returned in :abbr:`LIFO (last-in, first-out)` order." @@ -6358,7 +6496,7 @@ msgstr "" "se retornan en el orden :abbr:`LIFO (*last-in, first-out*: Último en entrar, " "primero en salir)`." -#: ../Doc/library/stdtypes.rst:4328 +#: ../Doc/library/stdtypes.rst:4466 msgid "" ":meth:`popitem` is useful to destructively iterate over a dictionary, as " "often used in set algorithms. If the dictionary is empty, calling :meth:" @@ -6369,7 +6507,7 @@ msgstr "" "diccionario está vacío, llamar a :meth:`popitem` eleva la excepción :exc:" "`KeyError`." -#: ../Doc/library/stdtypes.rst:4332 +#: ../Doc/library/stdtypes.rst:4470 msgid "" "LIFO order is now guaranteed. In prior versions, :meth:`popitem` would " "return an arbitrary key/value pair." @@ -6377,7 +6515,7 @@ msgstr "" "El orden *LIFO* ahora está garantizado. En versiones anteriores, el método :" "meth:`popitem` retorna una pareja clave/valor arbitraria." -#: ../Doc/library/stdtypes.rst:4338 +#: ../Doc/library/stdtypes.rst:4476 msgid "" "Return a reverse iterator over the keys of the dictionary. This is a " "shortcut for ``reversed(d.keys())``." @@ -6385,7 +6523,7 @@ msgstr "" "Retorna un *iterador* que recorre las claves en orden inverso. Es una forma " "abreviada de ``reversed(d.keys())``." -#: ../Doc/library/stdtypes.rst:4345 +#: ../Doc/library/stdtypes.rst:4483 msgid "" "If *key* is in the dictionary, return its value. If not, insert *key* with " "a value of *default* and return *default*. *default* defaults to ``None``." @@ -6394,7 +6532,7 @@ msgstr "" "no, inserta con la clave *key* el valor definido en *default* y retorna " "*default*. El valor por defecto de *default* es ``None``." -#: ../Doc/library/stdtypes.rst:4351 +#: ../Doc/library/stdtypes.rst:4489 msgid "" "Update the dictionary with the key/value pairs from *other*, overwriting " "existing keys. Return ``None``." @@ -6402,7 +6540,7 @@ msgstr "" "Actualiza el diccionario con las parejas clave/valor obtenidas de *other*, " "escribiendo encima de las claves existentes. retorna ``None``." -#: ../Doc/library/stdtypes.rst:4354 +#: ../Doc/library/stdtypes.rst:4492 msgid "" ":meth:`update` accepts either another dictionary object or an iterable of " "key/value pairs (as tuples or other iterables of length two). If keyword " @@ -6415,7 +6553,7 @@ msgstr "" "actualiza con esas combinaciones de clave y valor: ``d.update(red=1, " "blue=2)``." -#: ../Doc/library/stdtypes.rst:4361 +#: ../Doc/library/stdtypes.rst:4499 msgid "" "Return a new view of the dictionary's values. See the :ref:`documentation " "of view objects `." @@ -6423,7 +6561,7 @@ msgstr "" "Retorna una nueva vista de los valores del diccionario. Véase la :ref:" "`documentación sobre objetos vistas `." -#: ../Doc/library/stdtypes.rst:4364 +#: ../Doc/library/stdtypes.rst:4502 msgid "" "An equality comparison between one ``dict.values()`` view and another will " "always return ``False``. This also applies when comparing ``dict.values()`` " @@ -6433,7 +6571,21 @@ msgstr "" "retornará ``False``. Esto también pasa cuando se compara ``dict.values()`` " "consigo mismo::" -#: ../Doc/library/stdtypes.rst:4372 +#: ../Doc/library/stdtypes.rst:4512 +msgid "" +"Create a new dictionary with the merged keys and values of *d* and *other*, " +"which must both be dictionaries. The values of *other* take priority when " +"*d* and *other* share keys." +msgstr "" + +#: ../Doc/library/stdtypes.rst:4520 +msgid "" +"Update the dictionary *d* with keys and values from *other*, which may be " +"either a :term:`mapping` or an :term:`iterable` of key/value pairs. The " +"values of *other* take priority when *d* and *other* share keys." +msgstr "" + +#: ../Doc/library/stdtypes.rst:4526 msgid "" "Dictionaries compare equal if and only if they have the same ``(key, " "value)`` pairs (regardless of ordering). Order comparisons ('<', '<=', '>=', " @@ -6444,7 +6596,7 @@ msgstr "" "comparar usando los operadores '<', '<=', '>=', '>' elevan una excepción de " "tipo :exc:`TypeError`." -#: ../Doc/library/stdtypes.rst:4376 +#: ../Doc/library/stdtypes.rst:4530 msgid "" "Dictionaries preserve insertion order. Note that updating a key does not " "affect the order. Keys added after deletion are inserted at the end. ::" @@ -6453,7 +6605,7 @@ msgstr "" "una entrada no modifica ese orden. Las claves que vuelven a ser insertadas " "después de haber sido borradas se añaden al final.::" -#: ../Doc/library/stdtypes.rst:4394 +#: ../Doc/library/stdtypes.rst:4548 msgid "" "Dictionary order is guaranteed to be insertion order. This behavior was an " "implementation detail of CPython from 3.6." @@ -6462,17 +6614,17 @@ msgstr "" "comportamiento era un detalle de implementación en CPython desde la versión " "3.6." -#: ../Doc/library/stdtypes.rst:4398 +#: ../Doc/library/stdtypes.rst:4552 msgid "Dictionaries and dictionary views are reversible. ::" msgstr "" "Tanto los diccionarios como las vistas basadas en diccionarios son " "reversibles::" -#: ../Doc/library/stdtypes.rst:4410 +#: ../Doc/library/stdtypes.rst:4564 msgid "Dictionaries are now reversible." msgstr "Los diccionarios son ahora reversibles." -#: ../Doc/library/stdtypes.rst:4415 +#: ../Doc/library/stdtypes.rst:4569 msgid "" ":class:`types.MappingProxyType` can be used to create a read-only view of a :" "class:`dict`." @@ -6480,11 +6632,11 @@ msgstr "" "Se puede usar un objeto de tipo :class:`types.MappingProxyType` para crear " "una vista de solo lectura de un objeto :class:`dict`." -#: ../Doc/library/stdtypes.rst:4422 +#: ../Doc/library/stdtypes.rst:4576 msgid "Dictionary view objects" msgstr "Objetos tipos vista de diccionario" -#: ../Doc/library/stdtypes.rst:4424 +#: ../Doc/library/stdtypes.rst:4578 msgid "" "The objects returned by :meth:`dict.keys`, :meth:`dict.values` and :meth:" "`dict.items` are *view objects*. They provide a dynamic view on the " @@ -6496,7 +6648,7 @@ msgstr "" "proporcionan una vista dinámica del contenido del diccionario, lo que " "significa que si el diccionario cambia, las vistas reflejan estos cambios." -#: ../Doc/library/stdtypes.rst:4429 +#: ../Doc/library/stdtypes.rst:4583 msgid "" "Dictionary views can be iterated over to yield their respective data, and " "support membership tests:" @@ -6504,11 +6656,11 @@ msgstr "" "Las vistas de un diccionario pueden ser iteradas para retornar sus datos " "respectivos, y soportan operaciones de comprobación de pertenencia:" -#: ../Doc/library/stdtypes.rst:4434 +#: ../Doc/library/stdtypes.rst:4588 msgid "Return the number of entries in the dictionary." msgstr "Retorna el número de entradas en un diccionario." -#: ../Doc/library/stdtypes.rst:4438 +#: ../Doc/library/stdtypes.rst:4592 msgid "" "Return an iterator over the keys, values or items (represented as tuples of " "``(key, value)``) in the dictionary." @@ -6516,7 +6668,7 @@ msgstr "" "Retorna un *iterador* sobre las claves, valores o elementos (representados " "en forma de tuplas ``(key, value)``) de un diccionario." -#: ../Doc/library/stdtypes.rst:4441 +#: ../Doc/library/stdtypes.rst:4595 msgid "" "Keys and values are iterated over in insertion order. This allows the " "creation of ``(value, key)`` pairs using :func:`zip`: ``pairs = zip(d." @@ -6528,7 +6680,7 @@ msgstr "" "= zip(d.values(), d.keys())``. Otra forma de crear la misma lista es ``pairs " "= [(v, k) for (k, v) in d.items()]``." -#: ../Doc/library/stdtypes.rst:4446 +#: ../Doc/library/stdtypes.rst:4600 msgid "" "Iterating views while adding or deleting entries in the dictionary may raise " "a :exc:`RuntimeError` or fail to iterate over all entries." @@ -6537,11 +6689,11 @@ msgstr "" "elevar una excepción de tipo :exc:`RuntimeError`, o puede provocar que no se " "iteren sobre todas las entradas." -#: ../Doc/library/stdtypes.rst:4449 +#: ../Doc/library/stdtypes.rst:4603 msgid "Dictionary order is guaranteed to be insertion order." msgstr "Se garantiza que el orden de los diccionarios es el de inserción." -#: ../Doc/library/stdtypes.rst:4454 +#: ../Doc/library/stdtypes.rst:4608 msgid "" "Return ``True`` if *x* is in the underlying dictionary's keys, values or " "items (in the latter case, *x* should be a ``(key, value)`` tuple)." @@ -6550,7 +6702,7 @@ msgstr "" "elementos del diccionario. En el último caso, *x* debe ser una tupla ``(key, " "value)``." -#: ../Doc/library/stdtypes.rst:4459 +#: ../Doc/library/stdtypes.rst:4613 msgid "" "Return a reverse iterator over the keys, values or items of the dictionary. " "The view will be iterated in reverse order of the insertion." @@ -6558,11 +6710,11 @@ msgstr "" "Retorna un iterador inverso sobre las claves y valores del diccionario. El " "orden de la vista sera el inverso del orden de inserción." -#: ../Doc/library/stdtypes.rst:4462 +#: ../Doc/library/stdtypes.rst:4616 msgid "Dictionary views are now reversible." msgstr "Las vistas de un diccionario no son reversibles." -#: ../Doc/library/stdtypes.rst:4466 +#: ../Doc/library/stdtypes.rst:4620 msgid "" "Keys views are set-like since their entries are unique and hashable. If all " "values are hashable, so that ``(key, value)`` pairs are unique and hashable, " @@ -6581,15 +6733,15 @@ msgstr "" "abstracta :class:`collections.abc.Set`, como por ejemplo ``==``, ``<``, or " "``^``." -#: ../Doc/library/stdtypes.rst:4473 +#: ../Doc/library/stdtypes.rst:4627 msgid "An example of dictionary view usage::" msgstr "Un ejemplo de uso de una vista de diccionario::" -#: ../Doc/library/stdtypes.rst:4508 +#: ../Doc/library/stdtypes.rst:4662 msgid "Context Manager Types" msgstr "Tipos Gestores de Contexto" -#: ../Doc/library/stdtypes.rst:4515 +#: ../Doc/library/stdtypes.rst:4669 msgid "" "Python's :keyword:`with` statement supports the concept of a runtime context " "defined by a context manager. This is implemented using a pair of methods " @@ -6602,7 +6754,7 @@ msgstr "" "contextos definiendo dos métodos, uno a ejecutar ante de entrar del bloque " "de código y otro a ejecutar justo después de salir del mismo:" -#: ../Doc/library/stdtypes.rst:4523 +#: ../Doc/library/stdtypes.rst:4677 msgid "" "Enter the runtime context and return either this object or another object " "related to the runtime context. The value returned by this method is bound " @@ -6614,7 +6766,7 @@ msgstr "" "vincula al identificador que viene tras la palabra clave :keyword:`!as` " "usada en la sentencia :keyword:`with` que define el contexto." -#: ../Doc/library/stdtypes.rst:4528 +#: ../Doc/library/stdtypes.rst:4682 msgid "" "An example of a context manager that returns itself is a :term:`file " "object`. File objects return themselves from __enter__() to allow :func:" @@ -6625,7 +6777,7 @@ msgstr "" "mismo en la llamada a ``__enter__()``, lo que permite que :func:`open` sea " "usado como gestores de contexto en una sentencia :keyword:`with`." -#: ../Doc/library/stdtypes.rst:4532 +#: ../Doc/library/stdtypes.rst:4686 msgid "" "An example of a context manager that returns a related object is the one " "returned by :func:`decimal.localcontext`. These managers set the active " @@ -6641,7 +6793,7 @@ msgstr "" "decimal dentro del cuerpo del :keyword:`with` sin afectar al código fuera " "del mismo." -#: ../Doc/library/stdtypes.rst:4542 +#: ../Doc/library/stdtypes.rst:4696 msgid "" "Exit the runtime context and return a Boolean flag indicating if any " "exception that occurred should be suppressed. If an exception occurred while " @@ -6657,7 +6809,7 @@ msgstr "" "a la traza de ejecución. Si no se produce ninguna excepción, los tres " "parámetros valen ``None``." -#: ../Doc/library/stdtypes.rst:4547 +#: ../Doc/library/stdtypes.rst:4701 msgid "" "Returning a true value from this method will cause the :keyword:`with` " "statement to suppress the exception and continue execution with the " @@ -6675,7 +6827,7 @@ msgstr "" "método reemplaza a la excepción que se hubiera producido en el cuerpo del :" "keyword:`!with`." -#: ../Doc/library/stdtypes.rst:4554 +#: ../Doc/library/stdtypes.rst:4708 msgid "" "The exception passed in should never be reraised explicitly - instead, this " "method should return a false value to indicate that the method completed " @@ -6689,7 +6841,7 @@ msgstr "" "excepción. Esto permite a los gestores de contexto detectar fácilmente si el " "método :meth:`__exit__` ha podido terminar o no." -#: ../Doc/library/stdtypes.rst:4560 +#: ../Doc/library/stdtypes.rst:4714 msgid "" "Python defines several context managers to support easy thread " "synchronisation, prompt closure of files or other objects, and simpler " @@ -6704,7 +6856,7 @@ msgstr "" "implementación del protocolo de administración de contexto.Ver el módulo :" "mod:`contextlib` para algunos ejemplos." -#: ../Doc/library/stdtypes.rst:4566 +#: ../Doc/library/stdtypes.rst:4720 msgid "" "Python's :term:`generator`\\s and the :class:`contextlib.contextmanager` " "decorator provide a convenient way to implement these protocols. If a " @@ -6720,7 +6872,7 @@ msgstr "" "necesarios métodos :meth:`__enter__` y :meth:`__exit__`, en vez del " "*iterador* que se produciría si no se decora la función." -#: ../Doc/library/stdtypes.rst:4573 +#: ../Doc/library/stdtypes.rst:4727 msgid "" "Note that there is no specific slot for any of these methods in the type " "structure for Python objects in the Python/C API. Extension types wanting to " @@ -6734,11 +6886,305 @@ msgstr "" "de Python. Comparado con la complejidad de definir un contexto en tiempo de " "ejecución, lo complejidad de una búsqueda simple en un diccionario es mínima." -#: ../Doc/library/stdtypes.rst:4583 +#: ../Doc/library/stdtypes.rst:4737 +msgid "Generic Alias Type" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4743 +msgid "" +"``GenericAlias`` objects are created by subscripting a class (usually a " +"container), such as ``list[int]``. They are intended primarily for :term:" +"`type annotations `." +msgstr "" + +#: ../Doc/library/stdtypes.rst:4747 +msgid "" +"Usually, the :ref:`subscription ` of container objects calls " +"the method :meth:`__getitem__` of the object. However, the subscription of " +"some containers' classes may call the classmethod :meth:`__class_getitem__` " +"of the class instead. The classmethod :meth:`__class_getitem__` should " +"return a ``GenericAlias`` object." +msgstr "" + +#: ../Doc/library/stdtypes.rst:4754 +msgid "" +"If the :meth:`__getitem__` of the class' metaclass is present, it will take " +"precedence over the :meth:`__class_getitem__` defined in the class (see :pep:" +"`560` for more details)." +msgstr "" + +#: ../Doc/library/stdtypes.rst:4758 +msgid "" +"The ``GenericAlias`` object acts as a proxy for :term:`generic types " +"`, implementing *parameterized generics* - a specific instance " +"of a generic which provides the types for container elements." +msgstr "" + +#: ../Doc/library/stdtypes.rst:4762 +msgid "" +"The user-exposed type for the ``GenericAlias`` object can be accessed from :" +"class:`types.GenericAlias` and used for :func:`isinstance` checks. It can " +"also be used to create ``GenericAlias`` objects directly." +msgstr "" + +#: ../Doc/library/stdtypes.rst:4768 +msgid "" +"Creates a ``GenericAlias`` representing a type ``T`` containing elements of " +"types *X*, *Y*, and more depending on the ``T`` used. For example, a " +"function expecting a :class:`list` containing :class:`float` elements::" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4776 +msgid "" +"Another example for :term:`mapping` objects, using a :class:`dict`, which is " +"a generic type expecting two type parameters representing the key type and " +"the value type. In this example, the function expects a ``dict`` with keys " +"of type :class:`str` and values of type :class:`int`::" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4784 +msgid "" +"The builtin functions :func:`isinstance` and :func:`issubclass` do not " +"accept ``GenericAlias`` types for their second argument::" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4792 +msgid "" +"The Python runtime does not enforce :term:`type annotations `. " +"This extends to generic types and their type parameters. When creating an " +"object from a ``GenericAlias``, container elements are not checked against " +"their type. For example, the following code is discouraged, but will run " +"without errors::" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4802 +msgid "" +"Furthermore, parameterized generics erase type parameters during object " +"creation::" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4813 +msgid "" +"Calling :func:`repr` or :func:`str` on a generic shows the parameterized " +"type::" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4821 +msgid "" +"The :meth:`__getitem__` method of generics will raise an exception to " +"disallow mistakes like ``dict[str][str]``::" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4829 +msgid "" +"However, such expressions are valid when :ref:`type variables ` " +"are used. The index must have as many elements as there are type variable " +"items in the ``GenericAlias`` object's :attr:`__args__ `. ::" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4840 +msgid "Standard Generic Collections" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4842 +msgid "These standard library collections support parameterized generics." +msgstr "" + +#: ../Doc/library/stdtypes.rst:4844 +msgid ":class:`tuple`" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4845 +msgid ":class:`list`" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4846 +msgid ":class:`dict`" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4847 +msgid ":class:`set`" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4848 +msgid ":class:`frozenset`" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4849 +msgid ":class:`type`" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4850 +msgid ":class:`collections.deque`" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4851 +msgid ":class:`collections.defaultdict`" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4852 +msgid ":class:`collections.OrderedDict`" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4853 +msgid ":class:`collections.Counter`" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4854 +msgid ":class:`collections.ChainMap`" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4855 +msgid ":class:`collections.abc.Awaitable`" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4856 +msgid ":class:`collections.abc.Coroutine`" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4857 +msgid ":class:`collections.abc.AsyncIterable`" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4858 +msgid ":class:`collections.abc.AsyncIterator`" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4859 +msgid ":class:`collections.abc.AsyncGenerator`" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4860 +msgid ":class:`collections.abc.Iterable`" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4861 +msgid ":class:`collections.abc.Iterator`" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4862 +msgid ":class:`collections.abc.Generator`" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4863 +msgid ":class:`collections.abc.Reversible`" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4864 +msgid ":class:`collections.abc.Container`" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4865 +msgid ":class:`collections.abc.Collection`" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4866 +msgid ":class:`collections.abc.Callable`" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4867 +msgid ":class:`collections.abc.Set`" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4868 +msgid ":class:`collections.abc.MutableSet`" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4869 +msgid ":class:`collections.abc.Mapping`" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4870 +msgid ":class:`collections.abc.MutableMapping`" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4871 +msgid ":class:`collections.abc.Sequence`" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4872 +msgid ":class:`collections.abc.MutableSequence`" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4873 +msgid ":class:`collections.abc.ByteString`" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4874 +msgid ":class:`collections.abc.MappingView`" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4875 +msgid ":class:`collections.abc.KeysView`" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4876 +msgid ":class:`collections.abc.ItemsView`" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4877 +msgid ":class:`collections.abc.ValuesView`" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4878 +msgid ":class:`contextlib.AbstractContextManager`" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4879 +msgid ":class:`contextlib.AbstractAsyncContextManager`" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4880 +msgid ":ref:`re.Pattern `" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4881 +msgid ":ref:`re.Match `" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4885 +#, fuzzy +msgid "Special Attributes of Generic Alias" +msgstr "Atributos especiales" + +#: ../Doc/library/stdtypes.rst:4887 +msgid "All parameterized generics implement special read-only attributes." +msgstr "" + +#: ../Doc/library/stdtypes.rst:4891 +msgid "This attribute points at the non-parameterized generic class::" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4899 +msgid "" +"This attribute is a :class:`tuple` (possibly of length 1) of generic types " +"passed to the original :meth:`__class_getitem__` of the generic container::" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4909 +msgid "" +"This attribute is a lazily computed tuple (possibly empty) of unique type " +"variables found in ``__args__``::" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4921 +msgid ":pep:`585` -- \"Type Hinting Generics In Standard Collections\"" +msgstr "" + +#: ../Doc/library/stdtypes.rst:4922 +msgid ":meth:`__class_getitem__` -- Used to implement parameterized generics." +msgstr "" + +#: ../Doc/library/stdtypes.rst:4923 +msgid ":ref:`generics` -- Generics in the :mod:`typing` module." +msgstr "" + +#: ../Doc/library/stdtypes.rst:4931 msgid "Other Built-in Types" msgstr "Otros tipos predefinidos" -#: ../Doc/library/stdtypes.rst:4585 +#: ../Doc/library/stdtypes.rst:4933 msgid "" "The interpreter supports several other kinds of objects. Most of these " "support only one or two operations." @@ -6746,11 +7192,11 @@ msgstr "" "El intérprete soporta otros tipos de objetos variados. La mayoría de ellos " "solo implementan una o dos operaciones." -#: ../Doc/library/stdtypes.rst:4592 +#: ../Doc/library/stdtypes.rst:4940 msgid "Modules" msgstr "Módulos" -#: ../Doc/library/stdtypes.rst:4594 +#: ../Doc/library/stdtypes.rst:4942 msgid "" "The only special operation on a module is attribute access: ``m.name``, " "where *m* is a module and *name* accesses a name defined in *m*'s symbol " @@ -6769,7 +7215,7 @@ msgstr "" "llamado *foo*, sino una *definición* (externa) de un módulo *foo* en alguna " "parte)." -#: ../Doc/library/stdtypes.rst:4601 +#: ../Doc/library/stdtypes.rst:4949 msgid "" "A special attribute of every module is :attr:`~object.__dict__`. This is the " "dictionary containing the module's symbol table. Modifying this dictionary " @@ -6788,7 +7234,7 @@ msgstr "" "__dict__ = {}``). No se recomiendo manipular los contenidos del atributo :" "attr:`~object.__dict__` directamente." -#: ../Doc/library/stdtypes.rst:4609 +#: ../Doc/library/stdtypes.rst:4957 msgid "" "Modules built into the interpreter are written like this: ````. If loaded from a file, they are written as ````. Si se cargan desde un archivo, se escriben como " "````." -#: ../Doc/library/stdtypes.rst:4617 +#: ../Doc/library/stdtypes.rst:4965 msgid "Classes and Class Instances" msgstr "Clases e instancias de clase" -#: ../Doc/library/stdtypes.rst:4619 +#: ../Doc/library/stdtypes.rst:4967 msgid "See :ref:`objects` and :ref:`class` for these." msgstr "Véase :ref:`objects` y :ref:`class` para más información." -#: ../Doc/library/stdtypes.rst:4625 +#: ../Doc/library/stdtypes.rst:4973 msgid "Functions" msgstr "Funciones" -#: ../Doc/library/stdtypes.rst:4627 +#: ../Doc/library/stdtypes.rst:4975 msgid "" "Function objects are created by function definitions. The only operation on " "a function object is to call it: ``func(argument-list)``." @@ -6819,7 +7265,7 @@ msgstr "" "única operación posible con un objeto de tipo función en llamarla: " "``func(argument-list)``." -#: ../Doc/library/stdtypes.rst:4630 +#: ../Doc/library/stdtypes.rst:4978 msgid "" "There are really two flavors of function objects: built-in functions and " "user-defined functions. Both support the same operation (to call the " @@ -6831,15 +7277,15 @@ msgstr "" "llamadas), pero la implementación es diferente, de ahí que se consideren de " "distintos tipo." -#: ../Doc/library/stdtypes.rst:4634 +#: ../Doc/library/stdtypes.rst:4982 msgid "See :ref:`function` for more information." msgstr "Véase :ref:`function` para más información." -#: ../Doc/library/stdtypes.rst:4640 +#: ../Doc/library/stdtypes.rst:4988 msgid "Methods" msgstr "Métodos" -#: ../Doc/library/stdtypes.rst:4644 +#: ../Doc/library/stdtypes.rst:4992 msgid "" "Methods are functions that are called using the attribute notation. There " "are two flavors: built-in methods (such as :meth:`append` on lists) and " @@ -6851,7 +7297,7 @@ msgstr "" "en las listas) y métodos de instancia de clase. Los métodos básicos o " "predefinidos se describen junto con los tipos que los soportan." -#: ../Doc/library/stdtypes.rst:4649 +#: ../Doc/library/stdtypes.rst:4997 msgid "" "If you access a method (a function defined in a class namespace) through an " "instance, you get a special object: a :dfn:`bound method` (also called :dfn:" @@ -6870,7 +7316,7 @@ msgstr "" "especiales de solo lectura: ``m.__self__`` es el objeto sobre el que está " "operando el método, y ``m.__func__`` es la función que implementa el método." -#: ../Doc/library/stdtypes.rst:4658 +#: ../Doc/library/stdtypes.rst:5006 msgid "" "Like function objects, bound method objects support getting arbitrary " "attributes. However, since method attributes are actually stored on the " @@ -6887,15 +7333,15 @@ msgstr "" "una excepción de tipo :exc:`AttributeError`. Para poder definir un atributo " "a un método, este debe ser definido explícitamente en la función subyacente::" -#: ../Doc/library/stdtypes.rst:4678 ../Doc/library/stdtypes.rst:4706 +#: ../Doc/library/stdtypes.rst:5026 ../Doc/library/stdtypes.rst:5054 msgid "See :ref:`types` for more information." msgstr "Véase :ref:`types` para más información." -#: ../Doc/library/stdtypes.rst:4686 +#: ../Doc/library/stdtypes.rst:5034 msgid "Code Objects" msgstr "Objetos código" -#: ../Doc/library/stdtypes.rst:4692 +#: ../Doc/library/stdtypes.rst:5040 msgid "" "Code objects are used by the implementation to represent \"pseudo-compiled\" " "executable Python code such as a function body. They differ from function " @@ -6912,7 +7358,7 @@ msgstr "" "pueden extraer a partir de objetos de tipo función a través de su atributo :" "attr:`__code__`. Para más detalle véase el módulo :mod:`code`." -#: ../Doc/library/stdtypes.rst:4703 +#: ../Doc/library/stdtypes.rst:5051 msgid "" "A code object can be executed or evaluated by passing it (instead of a " "source string) to the :func:`exec` or :func:`eval` built-in functions." @@ -6921,11 +7367,11 @@ msgstr "" "parámetros a las funciones básicas :func:`exec` o :func:`eval` (Que también " "aceptan código Python en forma de cadena de texto)." -#: ../Doc/library/stdtypes.rst:4712 +#: ../Doc/library/stdtypes.rst:5060 msgid "Type Objects" msgstr "Objetos Tipo" -#: ../Doc/library/stdtypes.rst:4718 +#: ../Doc/library/stdtypes.rst:5066 msgid "" "Type objects represent the various object types. An object's type is " "accessed by the built-in function :func:`type`. There are no special " @@ -6938,15 +7384,15 @@ msgstr "" "especial. El módulo :mod:`types` define nombres para todos los tipos básicos " "definidos en la biblioteca estándar." -#: ../Doc/library/stdtypes.rst:4723 +#: ../Doc/library/stdtypes.rst:5071 msgid "Types are written like this: ````." msgstr "Los tipos se escriben de la siguiente forma: ````." -#: ../Doc/library/stdtypes.rst:4729 +#: ../Doc/library/stdtypes.rst:5077 msgid "The Null Object" msgstr "El objeto nulo (*Null*)" -#: ../Doc/library/stdtypes.rst:4731 +#: ../Doc/library/stdtypes.rst:5079 msgid "" "This object is returned by functions that don't explicitly return a value. " "It supports no special operations. There is exactly one null object, named " @@ -6958,15 +7404,15 @@ msgstr "" "predefinido o básico). La expresión ``type(None)()`` produce el mismo objeto " "``None``, esto se conoce como *Singleton*." -#: ../Doc/library/stdtypes.rst:4735 +#: ../Doc/library/stdtypes.rst:5083 msgid "It is written as ``None``." msgstr "Se escribe ``None``." -#: ../Doc/library/stdtypes.rst:4742 +#: ../Doc/library/stdtypes.rst:5090 msgid "The Ellipsis Object" msgstr "El objeto puntos suspensivos (*Ellipsis*)" -#: ../Doc/library/stdtypes.rst:4744 +#: ../Doc/library/stdtypes.rst:5092 msgid "" "This object is commonly used by slicing (see :ref:`slicings`). It supports " "no special operations. There is exactly one ellipsis object, named :const:" @@ -6979,15 +7425,15 @@ msgstr "" "predefinido o básico). La expresión ``type(Ellipsis)()`` produce el mismo " "objeto :const:`Ellipsis`, esto se conoce como *Singleton*." -#: ../Doc/library/stdtypes.rst:4749 +#: ../Doc/library/stdtypes.rst:5097 msgid "It is written as ``Ellipsis`` or ``...``." msgstr "Se puede escribir como ``Ellipsis`` o ``...``." -#: ../Doc/library/stdtypes.rst:4755 +#: ../Doc/library/stdtypes.rst:5103 msgid "The NotImplemented Object" msgstr "El objeto *NotImplemented*" -#: ../Doc/library/stdtypes.rst:4757 +#: ../Doc/library/stdtypes.rst:5105 msgid "" "This object is returned from comparisons and binary operations when they are " "asked to operate on types they don't support. See :ref:`comparisons` for " @@ -7000,15 +7446,15 @@ msgstr "" "``NotImplemented``. La expresión ``type(NotImplemented)()`` produce el mismo " "objeto, esto se conoce como *Singleton*." -#: ../Doc/library/stdtypes.rst:4762 +#: ../Doc/library/stdtypes.rst:5110 msgid "It is written as ``NotImplemented``." msgstr "Se escribe ``NotImplemented``." -#: ../Doc/library/stdtypes.rst:4768 +#: ../Doc/library/stdtypes.rst:5116 msgid "Boolean Values" msgstr "Valores booleanos" -#: ../Doc/library/stdtypes.rst:4770 +#: ../Doc/library/stdtypes.rst:5118 msgid "" "Boolean values are the two constant objects ``False`` and ``True``. They " "are used to represent truth values (although other values can also be " @@ -7027,15 +7473,15 @@ msgstr "" "cualquiera tipo a Booleanos, si dicho valor puede ser interpretado como " "valores verdaderos/falsos (Véase la sección :ref:`truth` anterior)." -#: ../Doc/library/stdtypes.rst:4783 +#: ../Doc/library/stdtypes.rst:5131 msgid "They are written as ``False`` and ``True``, respectively." msgstr "Se escriben ``False`` y ``True`` respectivamente." -#: ../Doc/library/stdtypes.rst:4789 +#: ../Doc/library/stdtypes.rst:5137 msgid "Internal Objects" msgstr "Objetos internos" -#: ../Doc/library/stdtypes.rst:4791 +#: ../Doc/library/stdtypes.rst:5139 msgid "" "See :ref:`types` for this information. It describes stack frame objects, " "traceback objects, and slice objects." @@ -7044,11 +7490,11 @@ msgstr "" "los objetos marco de pila, los objetos de traza de ejecución (*traceback*) y " "los objetos de tipo rebanada (*slice*)." -#: ../Doc/library/stdtypes.rst:4798 +#: ../Doc/library/stdtypes.rst:5146 msgid "Special Attributes" msgstr "Atributos especiales" -#: ../Doc/library/stdtypes.rst:4800 +#: ../Doc/library/stdtypes.rst:5148 msgid "" "The implementation adds a few special read-only attributes to several object " "types, where they are relevant. Some of these are not reported by the :func:" @@ -7058,7 +7504,7 @@ msgstr "" "tipos de objetos, cuando resulta relevante. Algunos de estos atributos son " "reportados por la función incorporada :func:`dir`." -#: ../Doc/library/stdtypes.rst:4807 +#: ../Doc/library/stdtypes.rst:5155 msgid "" "A dictionary or other mapping object used to store an object's (writable) " "attributes." @@ -7066,21 +7512,21 @@ msgstr "" "Un diccionario u otro tipo de mapa usado para almacenar los atributos de un " "objeto (Si son modificables)." -#: ../Doc/library/stdtypes.rst:4813 +#: ../Doc/library/stdtypes.rst:5161 msgid "The class to which a class instance belongs." msgstr "La clase a la que pertenece una instancia." -#: ../Doc/library/stdtypes.rst:4818 +#: ../Doc/library/stdtypes.rst:5166 msgid "The tuple of base classes of a class object." msgstr "La tupla de clases base de las que deriva una clase." -#: ../Doc/library/stdtypes.rst:4823 +#: ../Doc/library/stdtypes.rst:5171 msgid "" "The name of the class, function, method, descriptor, or generator instance." msgstr "" "El nombre de la clase, función, método, descriptor o instancia generadora." -#: ../Doc/library/stdtypes.rst:4829 +#: ../Doc/library/stdtypes.rst:5177 msgid "" "The :term:`qualified name` of the class, function, method, descriptor, or " "generator instance." @@ -7088,7 +7534,7 @@ msgstr "" "El nombre calificado (:term:`qualified name`) de la clase, función, método, " "descriptor o instancia generadora." -#: ../Doc/library/stdtypes.rst:4837 +#: ../Doc/library/stdtypes.rst:5185 msgid "" "This attribute is a tuple of classes that are considered when looking for " "base classes during method resolution." @@ -7096,7 +7542,7 @@ msgstr "" "Este atributo es una tupla de las clases que serán consideradas cuando se " "busque en las clases base para resolver un método." -#: ../Doc/library/stdtypes.rst:4843 +#: ../Doc/library/stdtypes.rst:5191 msgid "" "This method can be overridden by a metaclass to customize the method " "resolution order for its instances. It is called at class instantiation, " @@ -7107,20 +7553,22 @@ msgstr "" "creación de la clase, y el resultado se almacena en el atributo :attr:" "`~class.__mro__`." -#: ../Doc/library/stdtypes.rst:4850 +#: ../Doc/library/stdtypes.rst:5198 +#, fuzzy msgid "" "Each class keeps a list of weak references to its immediate subclasses. " -"This method returns a list of all those references still alive. Example::" +"This method returns a list of all those references still alive. The list is " +"in definition order. Example::" msgstr "" "Cada clase mantiene una lista de referencias débiles a sus subclase " "inmediatamente anteriores. Este método retorna una lista de todas las " "referencias que todavía estén vivas. Por ejemplo::" -#: ../Doc/library/stdtypes.rst:4859 +#: ../Doc/library/stdtypes.rst:5207 msgid "Footnotes" msgstr "Notas al pie" -#: ../Doc/library/stdtypes.rst:4860 +#: ../Doc/library/stdtypes.rst:5208 msgid "" "Additional information on these special methods may be found in the Python " "Reference Manual (:ref:`customization`)." @@ -7128,7 +7576,7 @@ msgstr "" "Se puede consultar información adicional sobre estos métodos especiales en " "el Manual de Referencia de Python (:ref:`customization`)." -#: ../Doc/library/stdtypes.rst:4863 +#: ../Doc/library/stdtypes.rst:5211 msgid "" "As a consequence, the list ``[1, 2]`` is considered equal to ``[1.0, 2.0]``, " "and similarly for tuples." @@ -7136,13 +7584,13 @@ msgstr "" "En consecuencia, la lista ``[1, 2]`` se considera igual que ``[1.0, 2.0]``, " "y de forma similar para las tuplas." -#: ../Doc/library/stdtypes.rst:4866 +#: ../Doc/library/stdtypes.rst:5214 msgid "They must have since the parser can't tell the type of the operands." msgstr "" "Deben haberlo hecho, ya que el analizador no puede decir el tipo de " "operandos." -#: ../Doc/library/stdtypes.rst:4868 +#: ../Doc/library/stdtypes.rst:5216 msgid "" "Cased characters are those with general category property being one of \"Lu" "\" (Letter, uppercase), \"Ll\" (Letter, lowercase), or \"Lt\" (Letter, " @@ -7152,7 +7600,7 @@ msgstr "" "categoría general corresponde con \"Lu\" (Letra, Mayúscula), \"Ll\" (Letra, " "minúscula) o \"Lt\" (Letra, *titlecase*)." -#: ../Doc/library/stdtypes.rst:4871 +#: ../Doc/library/stdtypes.rst:5219 msgid "" "To format only a tuple you should therefore provide a singleton tuple whose " "only element is the tuple to be formatted." diff --git a/library/string.po b/library/string.po index cbef8ae85d..dfdd166847 100644 --- a/library/string.po +++ b/library/string.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-07-28 10:58+0200\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.4\n" #: ../Doc/library/string.rst:2 msgid ":mod:`string` --- Common string operations" @@ -562,7 +561,7 @@ msgstr "Opción" #: ../Doc/library/string.rst:339 ../Doc/library/string.rst:370 #: ../Doc/library/string.rst:439 ../Doc/library/string.rst:450 -#: ../Doc/library/string.rst:482 +#: ../Doc/library/string.rst:483 msgid "Meaning" msgstr "Significado" @@ -670,17 +669,18 @@ msgstr "" "signo menos para números negativos." #: ../Doc/library/string.rst:385 +#, fuzzy msgid "" "The ``'#'`` option causes the \"alternate form\" to be used for the " "conversion. The alternate form is defined differently for different types. " -"This option is only valid for integer, float, complex and Decimal types. For " +"This option is only valid for integer, float and complex types. For " "integers, when binary, octal, or hexadecimal output is used, this option " "adds the prefix respective ``'0b'``, ``'0o'``, or ``'0x'`` to the output " -"value. For floats, complex and Decimal the alternate form causes the result " -"of the conversion to always contain a decimal-point character, even if no " -"digits follow it. Normally, a decimal-point character appears in the result " -"of these conversions only if a digit follows it. In addition, for ``'g'`` " -"and ``'G'`` conversions, trailing zeros are not removed from the result." +"value. For float and complex the alternate form causes the result of the " +"conversion to always contain a decimal-point character, even if no digits " +"follow it. Normally, a decimal-point character appears in the result of " +"these conversions only if a digit follows it. In addition, for ``'g'`` and " +"``'G'`` conversions, trailing zeros are not removed from the result." msgstr "" "La opción ``'#'`` hace que la \"forma alternativa\" se utilice para la " "conversión. La forma alternativa se define de forma diferente para " @@ -775,7 +775,7 @@ msgid "The available string presentation types are:" msgstr "Los tipos de presentación cadena disponibles son:" #: ../Doc/library/string.rst:439 ../Doc/library/string.rst:450 -#: ../Doc/library/string.rst:482 +#: ../Doc/library/string.rst:483 msgid "Type" msgstr "Tipo" @@ -790,7 +790,7 @@ msgstr "" "omitido." #: ../Doc/library/string.rst:444 ../Doc/library/string.rst:471 -#: ../Doc/library/string.rst:534 +#: ../Doc/library/string.rst:558 msgid "None" msgstr "None" @@ -862,7 +862,7 @@ msgstr "" "Formato hexadecimal. retorna el número en base 16, utilizando letras " "mayúsculas para los dígitos superiores a 9." -#: ../Doc/library/string.rst:467 ../Doc/library/string.rst:527 +#: ../Doc/library/string.rst:467 ../Doc/library/string.rst:551 msgid "``'n'``" msgstr "``'n'``" @@ -892,53 +892,63 @@ msgstr "" "formateado." #: ../Doc/library/string.rst:479 +#, fuzzy msgid "" -"The available presentation types for floating point and decimal values are:" +"The available presentation types for :class:`float` and :class:`~decimal." +"Decimal` values are:" msgstr "" "Los tipos de presentación disponibles para los valores decimales y de punto " "flotante son:" -#: ../Doc/library/string.rst:484 +#: ../Doc/library/string.rst:485 msgid "``'e'``" msgstr "``'e'``" -#: ../Doc/library/string.rst:484 +#: ../Doc/library/string.rst:485 msgid "" -"Exponent notation. Prints the number in scientific notation using the letter " -"'e' to indicate the exponent. The default precision is ``6``." +"Scientific notation. For a given precision ``p``, formats the number in " +"scientific notation with the letter 'e' separating the coefficient from the " +"exponent. The coefficient has one digit before and ``p`` digits after the " +"decimal point, for a total of ``p + 1`` significant digits. With no " +"precision given, uses a precision of ``6`` digits after the decimal point " +"for :class:`float`, and shows all coefficient digits for :class:`~decimal." +"Decimal`. If no digits follow the decimal point, the decimal point is also " +"removed unless the ``#`` option is used." msgstr "" -"Notación exponencial. Imprime el número en notación científica utilizando la " -"letra 'e' para indicar el exponente. La precisión predeterminada es ``6``." -#: ../Doc/library/string.rst:488 +#: ../Doc/library/string.rst:497 msgid "``'E'``" msgstr "``'E'``" -#: ../Doc/library/string.rst:488 +#: ../Doc/library/string.rst:497 +#, fuzzy msgid "" -"Exponent notation. Same as ``'e'`` except it uses an upper case 'E' as the " +"Scientific notation. Same as ``'e'`` except it uses an upper case 'E' as the " "separator character." msgstr "" "Notación exponencial. Igual que ``'e'`` excepto que utiliza una mayúscula " "'E' como carácter separador." -#: ../Doc/library/string.rst:491 +#: ../Doc/library/string.rst:500 msgid "``'f'``" msgstr "``'f'``" -#: ../Doc/library/string.rst:491 +#: ../Doc/library/string.rst:500 msgid "" -"Fixed-point notation. Displays the number as a fixed-point number. The " -"default precision is ``6``." +"Fixed-point notation. For a given precision ``p``, formats the number as a " +"decimal number with exactly ``p`` digits following the decimal point. With " +"no precision given, uses a precision of ``6`` digits after the decimal point " +"for :class:`float`, and uses a precision large enough to show all " +"coefficient digits for :class:`~decimal.Decimal`. If no digits follow the " +"decimal point, the decimal point is also removed unless the ``#`` option is " +"used." msgstr "" -"Notación de punto fijo. Muestra el número como un número de punto fijo. La " -"precisión predeterminada es ``6``." -#: ../Doc/library/string.rst:494 +#: ../Doc/library/string.rst:510 msgid "``'F'``" msgstr "``'F'``" -#: ../Doc/library/string.rst:494 +#: ../Doc/library/string.rst:510 msgid "" "Fixed-point notation. Same as ``'f'``, but converts ``nan`` to ``NAN`` and " "``inf`` to ``INF``." @@ -946,21 +956,23 @@ msgstr "" "Notación de punto fijo. Igual que ``'f'``, pero convierte (nulos) ``nan`` a " "``NAN`` e ``inf`` a ``INF``." -#: ../Doc/library/string.rst:497 +#: ../Doc/library/string.rst:513 msgid "``'g'``" msgstr "``'g'``" -#: ../Doc/library/string.rst:497 +#: ../Doc/library/string.rst:513 +#, fuzzy msgid "" "General format. For a given precision ``p >= 1``, this rounds the number to " "``p`` significant digits and then formats the result in either fixed-point " -"format or in scientific notation, depending on its magnitude." +"format or in scientific notation, depending on its magnitude. A precision of " +"``0`` is treated as equivalent to a precision of ``1``." msgstr "" "Formato general. Para una dada precisión ``p >= 1``, redondea el número a " "``p`` dígitos significativos y luego formatea el resultado como formato de " "punto fijo o en notación científica, dependiendo de su magnitud." -#: ../Doc/library/string.rst:502 +#: ../Doc/library/string.rst:520 msgid "" "The precise rules are as follows: suppose that the result formatted with " "presentation type ``'e'`` and precision ``p-1`` would have exponent " @@ -982,7 +994,17 @@ msgstr "" "eliminan del significado, y el punto decimal también se elimina si no hay " "dígitos restantes que lo sigan, a menos que se utilice la opción ``'#'``." -#: ../Doc/library/string.rst:515 +#: ../Doc/library/string.rst:533 +msgid "" +"With no precision given, uses a precision of ``6`` significant digits for :" +"class:`float`. For :class:`~decimal.Decimal`, the coefficient of the result " +"is formed from the coefficient digits of the value; scientific notation is " +"used for values smaller than ``1e-6`` in absolute value and values where the " +"place value of the least significant digit is larger than 1, and fixed-point " +"notation is used otherwise." +msgstr "" + +#: ../Doc/library/string.rst:542 msgid "" "Positive and negative infinity, positive and negative zero, and nans, are " "formatted as ``inf``, ``-inf``, ``0``, ``-0`` and ``nan`` respectively, " @@ -992,19 +1014,11 @@ msgstr "" "respectivamente formateados como ``inf``, ``-inf``, ``0``, ``-0`` y ``nan``, " "independientemente de la precisión." -#: ../Doc/library/string.rst:520 -msgid "" -"A precision of ``0`` is treated as equivalent to a precision of ``1``. The " -"default precision is ``6``." -msgstr "" -"Una precisión igual a ``0`` es tratada como equivalente a una precisión de " -"``1``. La precisión por defecto es ``6``." - -#: ../Doc/library/string.rst:523 +#: ../Doc/library/string.rst:547 msgid "``'G'``" msgstr "``'G'``" -#: ../Doc/library/string.rst:523 +#: ../Doc/library/string.rst:547 msgid "" "General format. Same as ``'g'`` except switches to ``'E'`` if the number " "gets too large. The representations of infinity and NaN are uppercased, too." @@ -1013,7 +1027,7 @@ msgstr "" "se vuelve muy grande. Las representaciones de infinito y NaN también se " "convierten a mayúsculas." -#: ../Doc/library/string.rst:527 +#: ../Doc/library/string.rst:551 msgid "" "Number. This is the same as ``'g'``, except that it uses the current locale " "setting to insert the appropriate number separator characters." @@ -1021,11 +1035,11 @@ msgstr "" "Número. Es lo mismo que ``'g'``, excepto que usa la configuración local para " "insertar los caracteres separadores de número apropiados." -#: ../Doc/library/string.rst:531 +#: ../Doc/library/string.rst:555 msgid "``'%'``" msgstr "``'%'``" -#: ../Doc/library/string.rst:531 +#: ../Doc/library/string.rst:555 msgid "" "Percentage. Multiplies the number by 100 and displays in fixed (``'f'``) " "format, followed by a percent sign." @@ -1033,24 +1047,32 @@ msgstr "" "Porcentaje. Multiplica el número por 100 y lo muestra en formato fijo " "(``'f'``) seguido del signo porcentaje." -#: ../Doc/library/string.rst:534 +#: ../Doc/library/string.rst:558 msgid "" -"Similar to ``'g'``, except that fixed-point notation, when used, has at " -"least one digit past the decimal point. The default precision is as high as " -"needed to represent the particular value. The overall effect is to match the " -"output of :func:`str` as altered by the other format modifiers." +"For :class:`float` this is the same as ``'g'``, except that when fixed-point " +"notation is used to format the result, it always includes at least one digit " +"past the decimal point. The precision used is as large as needed to " +"represent the given value faithfully." msgstr "" -"Similar a ``'g'``, excepto que la notación de punto fijo, si es que se " -"utiliza, tiene al menos un dígito más allá del punto decimal. La precisión " -"predeterminada es tan alta como sea necesario para representar el valor " -"determinado. El efecto general es hacer coincidir la salida de :func:`str` " -"tal como fue alterada por los otros modificadores de formato." -#: ../Doc/library/string.rst:546 +#: ../Doc/library/string.rst:564 +msgid "" +"For :class:`~decimal.Decimal`, this is the same as either ``'g'`` or ``'G'`` " +"depending on the value of ``context.capitals`` for the current decimal " +"context." +msgstr "" + +#: ../Doc/library/string.rst:568 +msgid "" +"The overall effect is to match the output of :func:`str` as altered by the " +"other format modifiers." +msgstr "" + +#: ../Doc/library/string.rst:576 msgid "Format examples" msgstr "Ejemplos de formateo" -#: ../Doc/library/string.rst:548 +#: ../Doc/library/string.rst:578 msgid "" "This section contains examples of the :meth:`str.format` syntax and " "comparison with the old ``%``-formatting." @@ -1058,7 +1080,7 @@ msgstr "" "Esta sección contiene ejemplos de la sintaxis :meth:`str.format` y " "comparaciones con el antiguo método de formateo usando ``%``." -#: ../Doc/library/string.rst:551 +#: ../Doc/library/string.rst:581 #, python-format msgid "" "In most of the cases the syntax is similar to the old ``%``-formatting, with " @@ -1069,7 +1091,7 @@ msgstr "" "con la adición de ``{}`` y con ``:`` utilizado en lugar de ``%``. Por " "ejemplo, ``'%03.2f'`` puede ser traducido como ``'{:03.2f}'``." -#: ../Doc/library/string.rst:555 +#: ../Doc/library/string.rst:585 msgid "" "The new format syntax also supports new and different options, shown in the " "following examples." @@ -1077,64 +1099,64 @@ msgstr "" "La nueva sintaxis de formato también soporta opciones diferentes y nuevas " "que se muestran en los ejemplos siguientes." -#: ../Doc/library/string.rst:558 +#: ../Doc/library/string.rst:588 msgid "Accessing arguments by position::" msgstr "Accediendo argumentos por posición::" -#: ../Doc/library/string.rst:571 +#: ../Doc/library/string.rst:601 msgid "Accessing arguments by name::" msgstr "Accediendo argumentos por nombre::" -#: ../Doc/library/string.rst:579 +#: ../Doc/library/string.rst:609 msgid "Accessing arguments' attributes::" msgstr "Accediendo los atributos de los argumentos::" -#: ../Doc/library/string.rst:594 +#: ../Doc/library/string.rst:624 msgid "Accessing arguments' items::" msgstr "Accediendo ítems de los argumentos::" -#: ../Doc/library/string.rst:600 +#: ../Doc/library/string.rst:630 #, python-format msgid "Replacing ``%s`` and ``%r``::" msgstr "Reemplazar ``%s`` y ``%r``::" -#: ../Doc/library/string.rst:605 +#: ../Doc/library/string.rst:635 msgid "Aligning the text and specifying a width::" msgstr "Alinear el texto y especificar el ancho::" -#: ../Doc/library/string.rst:616 +#: ../Doc/library/string.rst:646 #, python-format msgid "Replacing ``%+f``, ``%-f``, and ``% f`` and specifying a sign::" msgstr "Reemplazar ``%+f``, ``%-f``, y ``% f`` y especificar el signo::" -#: ../Doc/library/string.rst:625 +#: ../Doc/library/string.rst:655 #, python-format msgid "" "Replacing ``%x`` and ``%o`` and converting the value to different bases::" msgstr "" "Reemplazando ``%x`` y ``%o`` y convirtiendo el valor a diferentes bases::" -#: ../Doc/library/string.rst:634 +#: ../Doc/library/string.rst:664 msgid "Using the comma as a thousands separator::" msgstr "Usando la coma como separador de los miles::" -#: ../Doc/library/string.rst:639 +#: ../Doc/library/string.rst:669 msgid "Expressing a percentage::" msgstr "Expresar un porcentaje::" -#: ../Doc/library/string.rst:646 +#: ../Doc/library/string.rst:676 msgid "Using type-specific formatting::" msgstr "Uso del formateo específico de tipo::" -#: ../Doc/library/string.rst:653 +#: ../Doc/library/string.rst:683 msgid "Nesting arguments and more complex examples::" msgstr "Anidando argumentos y ejemplos más complejos::" -#: ../Doc/library/string.rst:687 +#: ../Doc/library/string.rst:717 msgid "Template strings" msgstr "Cadenas de plantillas" -#: ../Doc/library/string.rst:689 +#: ../Doc/library/string.rst:719 msgid "" "Template strings provide simpler string substitutions as described in :pep:" "`292`. A primary use case for template strings is for internationalization " @@ -1152,7 +1174,7 @@ msgstr "" "de plantilla para i18n, véase el paquete `flufl.i18n `_." -#: ../Doc/library/string.rst:699 +#: ../Doc/library/string.rst:729 msgid "" "Template strings support ``$``-based substitutions, using the following " "rules:" @@ -1160,11 +1182,11 @@ msgstr "" "Las cadenas de caracteres de plantilla admiten sustituciones basadas en ``" "$`` de acuerdo a las siguientes reglas:" -#: ../Doc/library/string.rst:701 +#: ../Doc/library/string.rst:731 msgid "``$$`` is an escape; it is replaced with a single ``$``." msgstr "``$$`` es un escape. Es reemplazado con un único ``$``." -#: ../Doc/library/string.rst:703 +#: ../Doc/library/string.rst:733 msgid "" "``$identifier`` names a substitution placeholder matching a mapping key of ``" "\"identifier\"``. By default, ``\"identifier\"`` is restricted to any case-" @@ -1180,7 +1202,7 @@ msgstr "" "primer carácter no identificador después del carácter ``$`` termina esta " "especificación de comodín." -#: ../Doc/library/string.rst:710 +#: ../Doc/library/string.rst:740 msgid "" "``${identifier}`` is equivalent to ``$identifier``. It is required when " "valid identifier characters follow the placeholder but are not part of the " @@ -1190,7 +1212,7 @@ msgstr "" "requerido cuando caracteres identificadores válidos siguen al comodín pero " "no son parte de él, por ejemplo ``\"${noun}ification\"``." -#: ../Doc/library/string.rst:714 +#: ../Doc/library/string.rst:744 msgid "" "Any other appearance of ``$`` in the string will result in a :exc:" "`ValueError` being raised." @@ -1198,7 +1220,7 @@ msgstr "" "Cualquier otra aparición de ``$`` en la cadena de caracteres resultará en " "una excepción :exc:`ValueError`." -#: ../Doc/library/string.rst:717 +#: ../Doc/library/string.rst:747 msgid "" "The :mod:`string` module provides a :class:`Template` class that implements " "these rules. The methods of :class:`Template` are:" @@ -1206,11 +1228,11 @@ msgstr "" "El módulo :mod:`string` provee una clase :class:`Template` que implementa " "esas reglas. Los métodos de :class:`Template` son:" -#: ../Doc/library/string.rst:723 +#: ../Doc/library/string.rst:753 msgid "The constructor takes a single argument which is the template string." msgstr "El constructor sólo lleva un argumento, la cadena plantilla." -#: ../Doc/library/string.rst:728 +#: ../Doc/library/string.rst:758 msgid "" "Performs the template substitution, returning a new string. *mapping* is " "any dictionary-like object with keys that match the placeholders in the " @@ -1226,7 +1248,7 @@ msgstr "" "son dados y hay elementos duplicados, los *placeholders* (comodines) de " "*kwds* tienen prioridad." -#: ../Doc/library/string.rst:737 +#: ../Doc/library/string.rst:767 msgid "" "Like :meth:`substitute`, except that if placeholders are missing from " "*mapping* and *kwds*, instead of raising a :exc:`KeyError` exception, the " @@ -1240,7 +1262,7 @@ msgstr "" "diferencia de :meth:`substitute`, cualquier otra aparición de ``$`` " "simplemente retornará ``$`` en lugar de generar :exc:`ValueError`." -#: ../Doc/library/string.rst:743 +#: ../Doc/library/string.rst:773 msgid "" "While other exceptions may still occur, this method is called \"safe\" " "because it always tries to return a usable string instead of raising an " @@ -1256,13 +1278,13 @@ msgstr "" "dado que ignorará plantillas defectuosas con delimitadores colgados, llaves " "sin cerrar, o comodines que no son identificadores válidos en Python." -#: ../Doc/library/string.rst:750 +#: ../Doc/library/string.rst:780 msgid ":class:`Template` instances also provide one public data attribute:" msgstr "" "Las instancias de :class:`Template` también proporcionan un atributo de " "datos públicos:" -#: ../Doc/library/string.rst:754 +#: ../Doc/library/string.rst:784 msgid "" "This is the object passed to the constructor's *template* argument. In " "general, you shouldn't change it, but read-only access is not enforced." @@ -1271,11 +1293,11 @@ msgstr "" "En general, no debería ser modificado, pero el acceso de sólo lectura (*read-" "only*) no es impuesto." -#: ../Doc/library/string.rst:757 +#: ../Doc/library/string.rst:787 msgid "Here is an example of how to use a Template::" msgstr "Aquí un ejemplo de cómo usar una plantilla (*Template*)::" -#: ../Doc/library/string.rst:775 +#: ../Doc/library/string.rst:805 msgid "" "Advanced usage: you can derive subclasses of :class:`Template` to customize " "the placeholder syntax, delimiter character, or the entire regular " @@ -1287,7 +1309,7 @@ msgstr "" "bien la expresión regular entera usada para procesar cadenas de plantillas. " "Para ello, es posible sobrescribir los siguientes atributos de clase:" -#: ../Doc/library/string.rst:780 +#: ../Doc/library/string.rst:810 msgid "" "*delimiter* -- This is the literal string describing a placeholder " "introducing delimiter. The default value is ``$``. Note that this should " @@ -1304,7 +1326,7 @@ msgstr "" "la clase (es decir, se debe establecer un delimitador diferente en el " "espacio de nombres de la subclase)." -#: ../Doc/library/string.rst:787 +#: ../Doc/library/string.rst:817 msgid "" "*idpattern* -- This is the regular expression describing the pattern for non-" "braced placeholders. The default value is the regular expression ``(?a:[_a-" @@ -1317,7 +1339,7 @@ msgstr "" "*braceidpattern* es ``None`` este patrón también se aplicará a los comodines " "entre llaves." -#: ../Doc/library/string.rst:794 +#: ../Doc/library/string.rst:824 msgid "" "Since default *flags* is ``re.IGNORECASE``, pattern ``[a-z]`` can match with " "some non-ASCII characters. That's why we use the local ``a`` flag here." @@ -1326,7 +1348,7 @@ msgstr "" "``[a-z]`` puede coincidir con algunos caracteres que no son ASCII. Por ello " "se utiliza aquí la bandera local ``a``." -#: ../Doc/library/string.rst:798 +#: ../Doc/library/string.rst:828 msgid "" "*braceidpattern* can be used to define separate patterns used inside and " "outside the braces." @@ -1334,7 +1356,7 @@ msgstr "" "*braceidpattern* puede ser usado para definir patrones separados, usados " "dentro y fuera de los corchetes." -#: ../Doc/library/string.rst:802 +#: ../Doc/library/string.rst:832 msgid "" "*braceidpattern* -- This is like *idpattern* but describes the pattern for " "braced placeholders. Defaults to ``None`` which means to fall back to " @@ -1348,7 +1370,7 @@ msgstr "" "fuera de las llaves). Si se proporciona, esto le permite definir diferentes " "patrones para comodines dentro y fuera de las llaves." -#: ../Doc/library/string.rst:810 +#: ../Doc/library/string.rst:840 msgid "" "*flags* -- The regular expression flags that will be applied when compiling " "the regular expression used for recognizing substitutions. The default " @@ -1362,7 +1384,7 @@ msgstr "" "se agregará a las banderas, por lo que *idpattern* (s) personalizado(s) " "debe(n) seguir las convenciones de expresiones regulares detalladas." -#: ../Doc/library/string.rst:818 +#: ../Doc/library/string.rst:848 msgid "" "Alternatively, you can provide the entire regular expression pattern by " "overriding the class attribute *pattern*. If you do this, the value must be " @@ -1377,7 +1399,7 @@ msgstr "" "indicadas anteriormente, junto con la regla de marcador de posición no " "válida:" -#: ../Doc/library/string.rst:824 +#: ../Doc/library/string.rst:854 msgid "" "*escaped* -- This group matches the escape sequence, e.g. ``$$``, in the " "default pattern." @@ -1385,7 +1407,7 @@ msgstr "" "*escaped* -- Este grupo coincide con la secuencia de escape en el patrón " "predeterminado, por ejemplo, ``$$``." -#: ../Doc/library/string.rst:827 +#: ../Doc/library/string.rst:857 msgid "" "*named* -- This group matches the unbraced placeholder name; it should not " "include the delimiter in capturing group." @@ -1393,7 +1415,7 @@ msgstr "" "*named* -- Este grupo coincide con el nombre comodín fuera de las llaves. No " "debe incluir el delimitador del grupo de captura." -#: ../Doc/library/string.rst:830 +#: ../Doc/library/string.rst:860 msgid "" "*braced* -- This group matches the brace enclosed placeholder name; it " "should not include either the delimiter or braces in the capturing group." @@ -1401,7 +1423,7 @@ msgstr "" "*braced* -- Este grupo coincide con el nombre del comodín adjunto; no debe " "incluir ni el delimitador ni las llaves en el grupo de captura." -#: ../Doc/library/string.rst:833 +#: ../Doc/library/string.rst:863 msgid "" "*invalid* -- This group matches any other delimiter pattern (usually a " "single delimiter), and it should appear last in the regular expression." @@ -1410,11 +1432,11 @@ msgstr "" "delimitación (usualmente un único carácter) y debe ser lo último en aparecer " "en la expresión regular." -#: ../Doc/library/string.rst:838 +#: ../Doc/library/string.rst:868 msgid "Helper functions" msgstr "Funciones de ayuda" -#: ../Doc/library/string.rst:842 +#: ../Doc/library/string.rst:872 msgid "" "Split the argument into words using :meth:`str.split`, capitalize each word " "using :meth:`str.capitalize`, and join the capitalized words using :meth:" @@ -1429,3 +1451,37 @@ msgstr "" "*sep* está ausente o es ``None``, los espacios en blanco se reemplazarán con " "un único espacio y los espacios en blanco iniciales y finales se eliminarán; " "caso contrario, *sep* se usa para separar y unir las palabras." + +#~ msgid "" +#~ "Exponent notation. Prints the number in scientific notation using the " +#~ "letter 'e' to indicate the exponent. The default precision is ``6``." +#~ msgstr "" +#~ "Notación exponencial. Imprime el número en notación científica utilizando " +#~ "la letra 'e' para indicar el exponente. La precisión predeterminada es " +#~ "``6``." + +#~ msgid "" +#~ "Fixed-point notation. Displays the number as a fixed-point number. The " +#~ "default precision is ``6``." +#~ msgstr "" +#~ "Notación de punto fijo. Muestra el número como un número de punto fijo. " +#~ "La precisión predeterminada es ``6``." + +#~ msgid "" +#~ "A precision of ``0`` is treated as equivalent to a precision of ``1``. " +#~ "The default precision is ``6``." +#~ msgstr "" +#~ "Una precisión igual a ``0`` es tratada como equivalente a una precisión " +#~ "de ``1``. La precisión por defecto es ``6``." + +#~ msgid "" +#~ "Similar to ``'g'``, except that fixed-point notation, when used, has at " +#~ "least one digit past the decimal point. The default precision is as high " +#~ "as needed to represent the particular value. The overall effect is to " +#~ "match the output of :func:`str` as altered by the other format modifiers." +#~ msgstr "" +#~ "Similar a ``'g'``, excepto que la notación de punto fijo, si es que se " +#~ "utiliza, tiene al menos un dígito más allá del punto decimal. La " +#~ "precisión predeterminada es tan alta como sea necesario para representar " +#~ "el valor determinado. El efecto general es hacer coincidir la salida de :" +#~ "func:`str` tal como fue alterada por los otros modificadores de formato." diff --git a/library/struct.po b/library/struct.po index 05b61bc1a6..1ae7e83c46 100644 --- a/library/struct.po +++ b/library/struct.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-11-01 22:56+0100\n" +"Last-Translator: \n" +"Language: es_ES\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es_ES\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/library/struct.rst:2 msgid ":mod:`struct` --- Interpret bytes as packed binary data" @@ -326,11 +325,9 @@ msgstr "" #: ../Doc/library/struct.rst:162 msgid "" -"The form ``'!'`` is available for those poor souls who claim they can't " -"remember whether network byte order is big-endian or little-endian." +"The form ``'!'`` represents the network byte order which is always big-" +"endian as defined in `IETF RFC 1700 `_." msgstr "" -"La forma ``'!'`` está disponible para aquellas pobres almas que afirman que " -"no pueden recordar si el orden de bytes de red es big-endian o little-endian." #: ../Doc/library/struct.rst:165 msgid "" @@ -686,7 +683,8 @@ msgstr "" "empaquetar." #: ../Doc/library/struct.rst:261 -msgid "Use of the :meth:`__index__` method for non-integers is new in 3.2." +#, fuzzy +msgid "Added use of the :meth:`__index__` method for non-integers." msgstr "" "El uso del método :meth:`__index__` para los no enteros es nuevo en 3.2." @@ -802,9 +800,10 @@ msgstr "" "entonces se lanza la excepción :exc:`struct.error`." #: ../Doc/library/struct.rst:314 +#, fuzzy msgid "" -"In 3.0, some of the integer formats wrapped out-of-range values and raised :" -"exc:`DeprecationWarning` instead of :exc:`struct.error`." +"Previously, some of the integer formats wrapped out-of-range values and " +"raised :exc:`DeprecationWarning` instead of :exc:`struct.error`." msgstr "" "En 3.0, algunos de los formatos enteros ajustaban los valores fuera de rango " "y lanza :exc:`DeprecationWarning` en lugar de :exc:`struct.error`." @@ -1004,3 +1003,11 @@ msgid "" msgstr "" "El tamaño calculado de la estructura (y, por lo tanto, del objeto bytes " "generado por el método :meth:`pack`) correspondiente a :attr:`format`." + +#~ msgid "" +#~ "The form ``'!'`` is available for those poor souls who claim they can't " +#~ "remember whether network byte order is big-endian or little-endian." +#~ msgstr "" +#~ "La forma ``'!'`` está disponible para aquellas pobres almas que afirman " +#~ "que no pueden recordar si el orden de bytes de red es big-endian o little-" +#~ "endian." diff --git a/library/subprocess.po b/library/subprocess.po index 1560a6b13f..ccf0ce27dd 100644 --- a/library/subprocess.po +++ b/library/subprocess.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-09-27 12:34+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" "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" "Generated-By: Babel 2.8.0\n" -"Language: es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/subprocess.rst:2 msgid ":mod:`subprocess` --- Subprocess management" @@ -219,7 +218,7 @@ msgstr "" "Estado de salida del proceso hijo. Típicamente, un estado de salida 0 indica " "que la ejecución tuvo éxito." -#: ../Doc/library/subprocess.rst:127 ../Doc/library/subprocess.rst:828 +#: ../Doc/library/subprocess.rst:127 ../Doc/library/subprocess.rst:865 msgid "" "A negative value ``-N`` indicates that the child was terminated by signal " "``N`` (POSIX only)." @@ -498,7 +497,7 @@ msgstr "" "de ``locale.getpreferredencoding()``. Ver la clase :class:`io." "TextIOWrapper` para obtener más información sobre este cambio." -#: ../Doc/library/subprocess.rst:323 ../Doc/library/subprocess.rst:423 +#: ../Doc/library/subprocess.rst:323 ../Doc/library/subprocess.rst:424 msgid "" "Read the `Security Considerations`_ section before using ``shell=True``." msgstr "" @@ -529,7 +528,7 @@ msgstr "" "desarrolladores sean capaces de gestionar los casos menos comunes que quedan " "sin cubrir por las funciones auxiliares." -#: ../Doc/library/subprocess.rst:345 +#: ../Doc/library/subprocess.rst:346 msgid "" "Execute a child program in a new process. On POSIX, the class uses :meth:" "`os.execvp`-like behavior to execute the child program. On Windows, the " @@ -541,7 +540,7 @@ msgstr "" "la función ``CreateProcess()`` de Windows. Los argumentos de :class:`Popen` " "son los siguientes." -#: ../Doc/library/subprocess.rst:350 +#: ../Doc/library/subprocess.rst:351 msgid "" "*args* should be a sequence of program arguments or else a single string or :" "term:`path-like object`. By default, the program to execute is the first " @@ -559,7 +558,7 @@ msgstr "" "*executable* para más información sobre el comportamiento por defecto. Salvo " "que se indique, se recomienda pasar los *args* como una secuencia." -#: ../Doc/library/subprocess.rst:358 +#: ../Doc/library/subprocess.rst:359 msgid "" "An example of passing some arguments to an external program as a sequence " "is::" @@ -567,7 +566,7 @@ msgstr "" "Un ejemplo del paso de argumentos a un programa externo mediante una " "secuencia::" -#: ../Doc/library/subprocess.rst:363 +#: ../Doc/library/subprocess.rst:364 msgid "" "On POSIX, if *args* is a string, the string is interpreted as the name or " "path of the program to execute. However, this can only be done if not " @@ -577,7 +576,7 @@ msgstr "" "programa que ejecutar. Sin embargo, esto solamente funciona si no hay que " "pasar argumentos al programa." -#: ../Doc/library/subprocess.rst:369 +#: ../Doc/library/subprocess.rst:370 msgid "" "It may not be obvious how to break a shell command into a sequence of " "arguments, especially in complex cases. :meth:`shlex.split` can illustrate " @@ -587,7 +586,7 @@ msgstr "" "secuencia de argumentos, especialmente en casos complejos. :meth:`shlex." "split` puede aclarar cómo determinar la descomposición en tokens de *args*::" -#: ../Doc/library/subprocess.rst:381 +#: ../Doc/library/subprocess.rst:382 msgid "" "Note in particular that options (such as *-input*) and arguments (such as " "*eggs.txt*) that are separated by whitespace in the shell go in separate " @@ -602,7 +601,7 @@ msgstr "" "(como los nombres de ficheros con espacios o la orden *echo* anteriormente " "mostrada) son elementos simples de la lista." -#: ../Doc/library/subprocess.rst:387 +#: ../Doc/library/subprocess.rst:388 msgid "" "On Windows, if *args* is a sequence, it will be converted to a string in a " "manner described in :ref:`converting-argument-sequence`. This is because " @@ -612,7 +611,7 @@ msgstr "" "descrito en :ref:`converting-argument-sequence`. Esto es así porque la " "función de bajo nivel ``CreateProcess()`` funciona sobre cadenas." -#: ../Doc/library/subprocess.rst:391 +#: ../Doc/library/subprocess.rst:392 msgid "" "*args* parameter accepts a :term:`path-like object` if *shell* is ``False`` " "and a sequence containing path-like objects on POSIX." @@ -620,7 +619,7 @@ msgstr "" "El parámetro *args* toma un :term:`objeto tipo ruta ` si " "*shell* es ``False`` y una secuencia de objetos tipo fichero en POSIX." -#: ../Doc/library/subprocess.rst:395 +#: ../Doc/library/subprocess.rst:396 msgid "" "*args* parameter accepts a :term:`path-like object` if *shell* is ``False`` " "and a sequence containing bytes and path-like objects on Windows." @@ -629,7 +628,7 @@ msgstr "" "*shell* es ``False`` y una secuencia de bytes y objetos tipo fichero en " "Windows." -#: ../Doc/library/subprocess.rst:400 +#: ../Doc/library/subprocess.rst:401 msgid "" "The *shell* argument (which defaults to ``False``) specifies whether to use " "the shell as the program to execute. If *shell* is ``True``, it is " @@ -639,7 +638,7 @@ msgstr "" "programa a ejecutar. Si *shell* es ``True``, se recomienda pasar *args* como " "cadena mejor que como secuencia." -#: ../Doc/library/subprocess.rst:404 +#: ../Doc/library/subprocess.rst:405 msgid "" "On POSIX with ``shell=True``, the shell defaults to :file:`/bin/sh`. If " "*args* is a string, the string specifies the command to execute through the " @@ -660,7 +659,7 @@ msgstr "" "tratado como argumentos adicionales a la propia shell. De este modo, :class:" "`Popen` hace el equivalente de::" -#: ../Doc/library/subprocess.rst:415 +#: ../Doc/library/subprocess.rst:416 msgid "" "On Windows with ``shell=True``, the :envvar:`COMSPEC` environment variable " "specifies the default shell. The only time you need to specify " @@ -675,7 +674,7 @@ msgstr "" "especificar ``shell=True`` para ejecutar un fichero por lotes o un " "ejecutable de consola." -#: ../Doc/library/subprocess.rst:425 +#: ../Doc/library/subprocess.rst:426 msgid "" "*bufsize* will be supplied as the corresponding argument to the :func:`open` " "function when creating the stdin/stdout/stderr pipe file objects:" @@ -684,7 +683,7 @@ msgstr "" "func:`open` cuando se creen los objetos fichero de los flujos stdin/stdout/" "stderr:" -#: ../Doc/library/subprocess.rst:429 +#: ../Doc/library/subprocess.rst:430 msgid "" ":const:`0` means unbuffered (read and write are one system call and can " "return short)" @@ -692,7 +691,7 @@ msgstr "" ":const:`0` significa sin búfer (*read* y *write* son una llamada al sistema " "y pueden retornar datos parciales)" -#: ../Doc/library/subprocess.rst:431 +#: ../Doc/library/subprocess.rst:432 msgid "" ":const:`1` means line buffered (only usable if ``universal_newlines=True`` i." "e., in a text mode)" @@ -700,13 +699,13 @@ msgstr "" ":const:`1` significa usar búfer de líneas (solamente se puede usar si " "``universal_newlines=True``, es decir, en modo texto)" -#: ../Doc/library/subprocess.rst:433 +#: ../Doc/library/subprocess.rst:434 msgid "any other positive value means use a buffer of approximately that size" msgstr "" "cualquier otro valor positivo indica que hay que usar un búfer de " "aproximadamente dicho tamaño" -#: ../Doc/library/subprocess.rst:435 +#: ../Doc/library/subprocess.rst:436 msgid "" "negative bufsize (the default) means the system default of io." "DEFAULT_BUFFER_SIZE will be used." @@ -714,7 +713,7 @@ msgstr "" "*bufsize* negativo (el valor por defecto) indica que se use el valor " "predeterminado del sistema, `io.DEFAULT_BUFFER_SIZE`." -#: ../Doc/library/subprocess.rst:438 +#: ../Doc/library/subprocess.rst:439 msgid "" "*bufsize* now defaults to -1 to enable buffering by default to match the " "behavior that most code expects. In versions prior to Python 3.2.4 and " @@ -729,7 +728,7 @@ msgstr "" "intencionado y no se correspondía con el comportamiento de Python 2 como la " "mayoría de códigos esperan." -#: ../Doc/library/subprocess.rst:445 +#: ../Doc/library/subprocess.rst:446 msgid "" "The *executable* argument specifies a replacement program to execute. It " "is very seldom needed. When ``shell=False``, *executable* replaces the " @@ -751,13 +750,13 @@ msgstr "" "``shell=True``, en POSIX el argumento *executable* especifica una shell de " "reemplazo de la predeterminada :file:`/bin/sh`." -#: ../Doc/library/subprocess.rst:455 +#: ../Doc/library/subprocess.rst:456 msgid "*executable* parameter accepts a :term:`path-like object` on POSIX." msgstr "" "El parámetro *executable* acepta un :term:`objeto tipo ruta ` en POSIX." -#: ../Doc/library/subprocess.rst:458 +#: ../Doc/library/subprocess.rst:459 msgid "" "*executable* parameter accepts a bytes and :term:`path-like object` on " "Windows." @@ -765,7 +764,7 @@ msgstr "" "El parámetro *executable* acepta bytes y un :term:`objeto tipo ruta ` en POSIX." -#: ../Doc/library/subprocess.rst:462 +#: ../Doc/library/subprocess.rst:463 msgid "" "*stdin*, *stdout* and *stderr* specify the executed program's standard " "input, standard output and standard error file handles, respectively. Valid " @@ -790,7 +789,7 @@ msgstr "" "de stderr de las aplicaciones se capturarán sobre el mismo gestor de fichero " "de stdout." -#: ../Doc/library/subprocess.rst:473 +#: ../Doc/library/subprocess.rst:474 msgid "" "If *preexec_fn* is set to a callable object, this object will be called in " "the child process just before the child is executed. (POSIX only)" @@ -799,7 +798,7 @@ msgstr "" "objeto en el proceso hijo justo antes de que se ejecute el hijo. (solamente " "POSIX)" -#: ../Doc/library/subprocess.rst:479 +#: ../Doc/library/subprocess.rst:480 msgid "" "The *preexec_fn* parameter is not safe to use in the presence of threads in " "your application. The child process could deadlock before exec is called. " @@ -811,7 +810,7 @@ msgstr "" "llamar a `exec`. ¡Si es imprescindible, que sea tan simple como sea " "posible! Se ha de minimizar el número de librerías a las que se llama." -#: ../Doc/library/subprocess.rst:487 +#: ../Doc/library/subprocess.rst:488 msgid "" "If you need to modify the environment for the child use the *env* parameter " "rather than doing it in a *preexec_fn*. The *start_new_session* parameter " @@ -823,7 +822,7 @@ msgstr "" "*start_new_session* puede tomar el lugar de un uso anteriormente común de " "*preexec_fn* para llamar a *os.setsid* en el proceso hijo." -#: ../Doc/library/subprocess.rst:494 +#: ../Doc/library/subprocess.rst:495 msgid "" "The *preexec_fn* parameter is no longer supported in subinterpreters. The " "use of the parameter in a subinterpreter raises :exc:`RuntimeError`. The new " @@ -835,7 +834,7 @@ msgstr "" "restricción puede afectar a aplicaciones desplegadas en *mod_wsgi*, *uWSGI* " "y otros entornos incrustados." -#: ../Doc/library/subprocess.rst:499 +#: ../Doc/library/subprocess.rst:500 msgid "" "If *close_fds* is true, all file descriptors except :const:`0`, :const:`1` " "and :const:`2` will be closed before the child process is executed. " @@ -847,7 +846,7 @@ msgstr "" "hijo. Por el contrario, cuando *close_fds* es falso, los descriptores de " "fichero obedecen su indicador de heredable según :ref:`fd_inheritance`." -#: ../Doc/library/subprocess.rst:504 +#: ../Doc/library/subprocess.rst:505 msgid "" "On Windows, if *close_fds* is true then no handles will be inherited by the " "child process unless explicitly passed in the ``handle_list`` element of :" @@ -858,7 +857,7 @@ msgstr "" "``handle_list`` de :attr:`STARTUPINFO.lpAttributeList`, o mediante " "redirección estándar." -#: ../Doc/library/subprocess.rst:508 +#: ../Doc/library/subprocess.rst:509 msgid "" "The default for *close_fds* was changed from :const:`False` to what is " "described above." @@ -866,7 +865,7 @@ msgstr "" "El valor predeterminado de *close_fds* se cambió de :const:`False` a lo " "antes descrito." -#: ../Doc/library/subprocess.rst:512 +#: ../Doc/library/subprocess.rst:513 msgid "" "On Windows the default for *close_fds* was changed from :const:`False` to :" "const:`True` when redirecting the standard handles. It's now possible to set " @@ -877,7 +876,7 @@ msgstr "" "establecer *close_fds* a :const:`True` cuando se redirigen los gestores " "estándar." -#: ../Doc/library/subprocess.rst:517 +#: ../Doc/library/subprocess.rst:518 msgid "" "*pass_fds* is an optional sequence of file descriptors to keep open between " "the parent and child. Providing any *pass_fds* forces *close_fds* to be :" @@ -887,11 +886,11 @@ msgstr "" "mantenerse abiertos entre el proceso padre e hijo. Si se proporciona un " "valor a *pass_fds* se fuerza *close_fds* a :const:`True`. (solamente POSIX)" -#: ../Doc/library/subprocess.rst:521 +#: ../Doc/library/subprocess.rst:522 msgid "The *pass_fds* parameter was added." msgstr "Se añadió el parámetro *pass_fds*." -#: ../Doc/library/subprocess.rst:524 +#: ../Doc/library/subprocess.rst:525 msgid "" "If *cwd* is not ``None``, the function changes the working directory to " "*cwd* before executing the child. *cwd* can be a string, bytes or :term:" @@ -905,23 +904,23 @@ msgstr "" "busca *executable* (o el primer elemento de *args*) relativo a *cwd* si la " "ruta del ejecutable es relativa." -#: ../Doc/library/subprocess.rst:530 +#: ../Doc/library/subprocess.rst:531 msgid "*cwd* parameter accepts a :term:`path-like object` on POSIX." msgstr "" "El parámetro *cwd* acepta un :term:`objeto tipo ruta ` en " "POSIX." -#: ../Doc/library/subprocess.rst:533 +#: ../Doc/library/subprocess.rst:534 msgid "*cwd* parameter accepts a :term:`path-like object` on Windows." msgstr "" "El parámetro *cwd* acepta un :term:`objeto tipo ruta ` en " "Windows." -#: ../Doc/library/subprocess.rst:536 +#: ../Doc/library/subprocess.rst:537 msgid "*cwd* parameter accepts a bytes object on Windows." msgstr "El parámetro *cwd* acepta un objeto bytes en Windows." -#: ../Doc/library/subprocess.rst:539 +#: ../Doc/library/subprocess.rst:540 msgid "" "If *restore_signals* is true (the default) all signals that Python has set " "to SIG_IGN are restored to SIG_DFL in the child process before the exec. " @@ -932,11 +931,11 @@ msgstr "" "hijo antes del *exec*. En la actualidad, esto incluye las señales SIGPIPE, " "SIGXFZ y SIGXFSZ (solamente POSIX)." -#: ../Doc/library/subprocess.rst:544 +#: ../Doc/library/subprocess.rst:545 msgid "*restore_signals* was added." msgstr "Se añadió *restore_signals*." -#: ../Doc/library/subprocess.rst:547 +#: ../Doc/library/subprocess.rst:548 msgid "" "If *start_new_session* is true the setsid() system call will be made in the " "child process prior to the execution of the subprocess. (POSIX only)" @@ -944,11 +943,53 @@ msgstr "" "Si *start_new_session* es verdadero la llamada al sistema *setsid* se hará " "en el proceso hijo antes de la ejecución del subproceso (solamente POSIX)." -#: ../Doc/library/subprocess.rst:550 +#: ../Doc/library/subprocess.rst:551 msgid "*start_new_session* was added." msgstr "Se añadió *start_new_session*." -#: ../Doc/library/subprocess.rst:553 +#: ../Doc/library/subprocess.rst:554 +msgid "" +"If *group* is not ``None``, the setregid() system call will be made in the " +"child process prior to the execution of the subprocess. If the provided " +"value is a string, it will be looked up via :func:`grp.getgrnam()` and the " +"value in ``gr_gid`` will be used. If the value is an integer, it will be " +"passed verbatim. (POSIX only)" +msgstr "" + +#: ../Doc/library/subprocess.rst:560 ../Doc/library/subprocess.rst:569 +#: ../Doc/library/subprocess.rst:578 ../Doc/library/subprocess.rst:584 +#, fuzzy +msgid ":ref:`Availability `: POSIX" +msgstr ":ref:`Disponibilidad `: POSIX y Windows." + +#: ../Doc/library/subprocess.rst:563 +msgid "" +"If *extra_groups* is not ``None``, the setgroups() system call will be made " +"in the child process prior to the execution of the subprocess. Strings " +"provided in *extra_groups* will be looked up via :func:`grp.getgrnam()` and " +"the values in ``gr_gid`` will be used. Integer values will be passed " +"verbatim. (POSIX only)" +msgstr "" + +#: ../Doc/library/subprocess.rst:572 +msgid "" +"If *user* is not ``None``, the setreuid() system call will be made in the " +"child process prior to the execution of the subprocess. If the provided " +"value is a string, it will be looked up via :func:`pwd.getpwnam()` and the " +"value in ``pw_uid`` will be used. If the value is an integer, it will be " +"passed verbatim. (POSIX only)" +msgstr "" + +#: ../Doc/library/subprocess.rst:581 +#, fuzzy +msgid "" +"If *umask* is not negative, the umask() system call will be made in the " +"child process prior to the execution of the subprocess." +msgstr "" +"Si *start_new_session* es verdadero la llamada al sistema *setsid* se hará " +"en el proceso hijo antes de la ejecución del subproceso (solamente POSIX)." + +#: ../Doc/library/subprocess.rst:587 msgid "" "If *env* is not ``None``, it must be a mapping that defines the environment " "variables for the new process; these are used instead of the default " @@ -958,7 +999,7 @@ msgstr "" "entorno del nuevo proceso; se utilizarán éstas en lugar del comportamiento " "por defecto de heredar el entorno del proceso en curso." -#: ../Doc/library/subprocess.rst:559 +#: ../Doc/library/subprocess.rst:593 msgid "" "If specified, *env* must provide any variables required for the program to " "execute. On Windows, in order to run a `side-by-side assembly`_ the " @@ -969,7 +1010,7 @@ msgstr "" "assembly`_ el *env* especificado **debe** incluir un :envvar:`SystemRoot` " "válido." -#: ../Doc/library/subprocess.rst:565 +#: ../Doc/library/subprocess.rst:599 msgid "" "If *encoding* or *errors* are specified, or *text* is true, the file objects " "*stdin*, *stdout* and *stderr* are opened in text mode with the specified " @@ -985,15 +1026,15 @@ msgstr "" "equivalente a *text* y se admite por compatibilidad hacia atrás. Por " "omisión, los ficheros se abren en modo binario." -#: ../Doc/library/subprocess.rst:571 +#: ../Doc/library/subprocess.rst:605 msgid "*encoding* and *errors* were added." msgstr "Se añadieron *encoding* y *errors*." -#: ../Doc/library/subprocess.rst:574 ../Doc/library/subprocess.rst:1156 +#: ../Doc/library/subprocess.rst:608 ../Doc/library/subprocess.rst:1198 msgid "*text* was added as a more readable alias for *universal_newlines*." msgstr "Se añadió *text* como alias más legible de *universal_newlines*." -#: ../Doc/library/subprocess.rst:577 +#: ../Doc/library/subprocess.rst:611 msgid "" "If given, *startupinfo* will be a :class:`STARTUPINFO` object, which is " "passed to the underlying ``CreateProcess`` function. *creationflags*, if " @@ -1003,55 +1044,55 @@ msgstr "" "pasa a la función de más bajo nivel ``CreateProcess``. *creationflags*, si " "está presente, puede ser uno o más de los siguientes indicadores:" -#: ../Doc/library/subprocess.rst:581 +#: ../Doc/library/subprocess.rst:615 msgid ":data:`CREATE_NEW_CONSOLE`" msgstr ":data:`CREATE_NEW_CONSOLE`" -#: ../Doc/library/subprocess.rst:582 +#: ../Doc/library/subprocess.rst:616 msgid ":data:`CREATE_NEW_PROCESS_GROUP`" msgstr ":data:`CREATE_NEW_PROCESS_GROUP`" -#: ../Doc/library/subprocess.rst:583 +#: ../Doc/library/subprocess.rst:617 msgid ":data:`ABOVE_NORMAL_PRIORITY_CLASS`" msgstr ":data:`ABOVE_NORMAL_PRIORITY_CLASS`" -#: ../Doc/library/subprocess.rst:584 +#: ../Doc/library/subprocess.rst:618 msgid ":data:`BELOW_NORMAL_PRIORITY_CLASS`" msgstr ":data:`BELOW_NORMAL_PRIORITY_CLASS`" -#: ../Doc/library/subprocess.rst:585 +#: ../Doc/library/subprocess.rst:619 msgid ":data:`HIGH_PRIORITY_CLASS`" msgstr ":data:`HIGH_PRIORITY_CLASS`" -#: ../Doc/library/subprocess.rst:586 +#: ../Doc/library/subprocess.rst:620 msgid ":data:`IDLE_PRIORITY_CLASS`" msgstr ":data:`IDLE_PRIORITY_CLASS`" -#: ../Doc/library/subprocess.rst:587 +#: ../Doc/library/subprocess.rst:621 msgid ":data:`NORMAL_PRIORITY_CLASS`" msgstr ":data:`NORMAL_PRIORITY_CLASS`" -#: ../Doc/library/subprocess.rst:588 +#: ../Doc/library/subprocess.rst:622 msgid ":data:`REALTIME_PRIORITY_CLASS`" msgstr ":data:`REALTIME_PRIORITY_CLASS`" -#: ../Doc/library/subprocess.rst:589 +#: ../Doc/library/subprocess.rst:623 msgid ":data:`CREATE_NO_WINDOW`" msgstr ":data:`CREATE_NO_WINDOW`" -#: ../Doc/library/subprocess.rst:590 +#: ../Doc/library/subprocess.rst:624 msgid ":data:`DETACHED_PROCESS`" msgstr ":data:`DETACHED_PROCESS`" -#: ../Doc/library/subprocess.rst:591 +#: ../Doc/library/subprocess.rst:625 msgid ":data:`CREATE_DEFAULT_ERROR_MODE`" msgstr ":data:`CREATE_DEFAULT_ERROR_MODE`" -#: ../Doc/library/subprocess.rst:592 +#: ../Doc/library/subprocess.rst:626 msgid ":data:`CREATE_BREAKAWAY_FROM_JOB`" msgstr ":data:`CREATE_BREAKAWAY_FROM_JOB`" -#: ../Doc/library/subprocess.rst:594 +#: ../Doc/library/subprocess.rst:628 msgid "" "Popen objects are supported as context managers via the :keyword:`with` " "statement: on exit, standard file descriptors are closed, and the process is " @@ -1061,6 +1102,7 @@ msgstr "" "sentencia :keyword:`with`: a la salida, los descriptores de flujo se cierran " "y se espera a que acabe el proceso. ::" +#: ../Doc/library/subprocess.rst:635 msgid "" "Raises an :ref:`auditing event ` ``subprocess.Popen`` with " "arguments ``executable``, ``args``, ``cwd``, ``env``." @@ -1068,7 +1110,7 @@ msgstr "" "Lanza un :ref:`evento de auditoría ` ``subprocess.Popen`` con " "argumentos ``executable``, ``args``, ``cwd``, ``env``." -#: ../Doc/library/subprocess.rst:603 +#: ../Doc/library/subprocess.rst:637 msgid "" "Popen and the other functions in this module that use it raise an :ref:" "`auditing event ` ``subprocess.Popen`` with arguments " @@ -1080,11 +1122,11 @@ msgstr "" "``executable``, ``args``, ``cwd`` y ``env``. El valor de ``args`` puede ser " "una cadena simple o un alista de cadenas, dependiendo de la plataforma." -#: ../Doc/library/subprocess.rst:608 +#: ../Doc/library/subprocess.rst:642 msgid "Added context manager support." msgstr "Se añadió la funcionalidad de gestor de contexto." -#: ../Doc/library/subprocess.rst:611 +#: ../Doc/library/subprocess.rst:645 msgid "" "Popen destructor now emits a :exc:`ResourceWarning` warning if the child " "process is still running." @@ -1092,7 +1134,7 @@ msgstr "" "El destructor de Popen ahora emite una advertencia :exc:`ResourceWarning` si " "el proceso hijo todavía se está ejecutando." -#: ../Doc/library/subprocess.rst:615 +#: ../Doc/library/subprocess.rst:649 msgid "" "Popen can use :func:`os.posix_spawn` in some cases for better performance. " "On Windows Subsystem for Linux and QEMU User Emulation, Popen constructor " @@ -1107,11 +1149,11 @@ msgstr "" "que un programa no esté, sino que el proceso hijo fracasará con un :attr:" "`~Popen.returncode` distinto de cero." -#: ../Doc/library/subprocess.rst:624 +#: ../Doc/library/subprocess.rst:658 msgid "Exceptions" msgstr "Excepciones" -#: ../Doc/library/subprocess.rst:626 +#: ../Doc/library/subprocess.rst:660 msgid "" "Exceptions raised in the child process, before the new program has started " "to execute, will be re-raised in the parent." @@ -1119,7 +1161,7 @@ msgstr "" "Las excepciones lanzadas en el proceso hijo, antes de que el nuevo programa " "haya empezado a ejecutarse, se relanzarán en el padre." -#: ../Doc/library/subprocess.rst:629 +#: ../Doc/library/subprocess.rst:663 msgid "" "The most common exception raised is :exc:`OSError`. This occurs, for " "example, when trying to execute a non-existent file. Applications should " @@ -1130,7 +1172,7 @@ msgstr "" "aplicaciones deben estar preparadas para gestionar las excepciones :exc:" "`OSError`." -#: ../Doc/library/subprocess.rst:633 +#: ../Doc/library/subprocess.rst:667 msgid "" "A :exc:`ValueError` will be raised if :class:`Popen` is called with invalid " "arguments." @@ -1138,7 +1180,7 @@ msgstr "" "Se lanzará un :exc:`ValueError` si se llama a :class:`Popen` con argumentos " "no válidos." -#: ../Doc/library/subprocess.rst:636 +#: ../Doc/library/subprocess.rst:670 msgid "" ":func:`check_call` and :func:`check_output` will raise :exc:" "`CalledProcessError` if the called process returns a non-zero return code." @@ -1147,7 +1189,7 @@ msgstr "" "`CalledProcessError` si el proceso invocado retorna un código de retorno " "distinto de cero." -#: ../Doc/library/subprocess.rst:640 +#: ../Doc/library/subprocess.rst:674 msgid "" "All of the functions and methods that accept a *timeout* parameter, such as :" "func:`call` and :meth:`Popen.communicate` will raise :exc:`TimeoutExpired` " @@ -1157,22 +1199,22 @@ msgstr "" "como :func:`call` y :meth:`Popen.communicate` lanzarán :exc:`TimeoutExpired` " "si se vence el plazo de ejecución antes de que finalice el proceso hijo." -#: ../Doc/library/subprocess.rst:644 +#: ../Doc/library/subprocess.rst:678 msgid "" "Exceptions defined in this module all inherit from :exc:`SubprocessError`." msgstr "" "Todas las excepciones definidas en este módulo heredan de :exc:" "`SubprocessError`." -#: ../Doc/library/subprocess.rst:646 +#: ../Doc/library/subprocess.rst:680 msgid "The :exc:`SubprocessError` base class was added." msgstr "Se añadió la clase base :exc:`SubprocessError`." -#: ../Doc/library/subprocess.rst:651 +#: ../Doc/library/subprocess.rst:685 msgid "Security Considerations" msgstr "Consideraciones sobre seguridad" -#: ../Doc/library/subprocess.rst:653 +#: ../Doc/library/subprocess.rst:687 msgid "" "Unlike some other popen functions, this implementation will never implicitly " "call a system shell. This means that all characters, including shell " @@ -1191,7 +1233,7 @@ msgstr "" "evitar vulnerabilidades de `inyección de código `_." -#: ../Doc/library/subprocess.rst:662 +#: ../Doc/library/subprocess.rst:696 msgid "" "When using ``shell=True``, the :func:`shlex.quote` function can be used to " "properly escape whitespace and shell metacharacters in strings that are " @@ -1201,16 +1243,16 @@ msgstr "" "para escapar correctamente el espaciado y los metacaracteres de la shell en " "las cadenas que se vayan a utilizar para construir órdenes de la shell." -#: ../Doc/library/subprocess.rst:668 +#: ../Doc/library/subprocess.rst:702 msgid "Popen Objects" msgstr "Objetos Popen" -#: ../Doc/library/subprocess.rst:670 +#: ../Doc/library/subprocess.rst:704 msgid "Instances of the :class:`Popen` class have the following methods:" msgstr "" "Las instancias de la clase :class:`Popen` cuentan con los siguientes métodos:" -#: ../Doc/library/subprocess.rst:675 +#: ../Doc/library/subprocess.rst:709 msgid "" "Check if child process has terminated. Set and return :attr:`~Popen." "returncode` attribute. Otherwise, returns ``None``." @@ -1218,7 +1260,7 @@ msgstr "" "Comprueba si el proceso hijo ha finalizado. Establece y retorna el atributo :" "attr:`~Popen.returncode`. De lo contrario, retorna ``None``." -#: ../Doc/library/subprocess.rst:681 +#: ../Doc/library/subprocess.rst:715 msgid "" "Wait for child process to terminate. Set and return :attr:`~Popen." "returncode` attribute." @@ -1226,7 +1268,7 @@ msgstr "" "Espera a que termine el proceso hijo. Establece y retorna el atributo :attr:" "`~Popen.returncode`." -#: ../Doc/library/subprocess.rst:684 +#: ../Doc/library/subprocess.rst:718 msgid "" "If the process does not terminate after *timeout* seconds, raise a :exc:" "`TimeoutExpired` exception. It is safe to catch this exception and retry " @@ -1235,7 +1277,7 @@ msgstr "" "Si el proceso no finaliza tras *timeout* segundos, lanza una excepción :exc:" "`TimeoutExpired`. Se puede capturar esta excepción para reintentar la espera." -#: ../Doc/library/subprocess.rst:690 +#: ../Doc/library/subprocess.rst:724 msgid "" "This will deadlock when using ``stdout=PIPE`` or ``stderr=PIPE`` and the " "child process generates enough output to a pipe such that it blocks waiting " @@ -1247,7 +1289,7 @@ msgstr "" "esperando que el búfer del pipe del SO acepte más datos. Se debe usar :meth:" "`Popen.communicate` cuando se usen pipes para evitar esto." -#: ../Doc/library/subprocess.rst:697 +#: ../Doc/library/subprocess.rst:731 msgid "" "The function is implemented using a busy loop (non-blocking call and short " "sleeps). Use the :mod:`asyncio` module for an asynchronous wait: see :class:" @@ -1257,19 +1299,21 @@ msgstr "" "y breves llamadas a `sleep`). Se debe usar el módulo :mod:`asyncio` para " "hacer una espera asíncrona: ver :class:`asyncio.create_subprocess_exec`." -#: ../Doc/library/subprocess.rst:701 ../Doc/library/subprocess.rst:741 -#: ../Doc/library/subprocess.rst:1075 ../Doc/library/subprocess.rst:1103 -#: ../Doc/library/subprocess.rst:1147 +#: ../Doc/library/subprocess.rst:735 ../Doc/library/subprocess.rst:776 +#: ../Doc/library/subprocess.rst:1113 ../Doc/library/subprocess.rst:1143 +#: ../Doc/library/subprocess.rst:1189 msgid "*timeout* was added." msgstr "Se añadió *timeout*." -#: ../Doc/library/subprocess.rst:706 +#: ../Doc/library/subprocess.rst:740 +#, fuzzy msgid "" "Interact with process: Send data to stdin. Read data from stdout and " -"stderr, until end-of-file is reached. Wait for process to terminate. The " -"optional *input* argument should be data to be sent to the child process, or " -"``None``, if no data should be sent to the child. If streams were opened in " -"text mode, *input* must be a string. Otherwise, it must be bytes." +"stderr, until end-of-file is reached. Wait for process to terminate and set " +"the :attr:`~Popen.returncode` attribute. The optional *input* argument " +"should be data to be sent to the child process, or ``None``, if no data " +"should be sent to the child. If streams were opened in text mode, *input* " +"must be a string. Otherwise, it must be bytes." msgstr "" "Interactuar con el proceso: Enviar datos a stdin. Leer datos de stdout y " "stderr, hasta encontrar un fin-de-fichero. Esperar a que termine el proceso. " @@ -1278,7 +1322,7 @@ msgstr "" "los flujos en modo texto, *input* ha de ser una cadena. En caso contrario, " "debe contener bytes." -#: ../Doc/library/subprocess.rst:712 +#: ../Doc/library/subprocess.rst:747 msgid "" ":meth:`communicate` returns a tuple ``(stdout_data, stderr_data)``. The data " "will be strings if streams were opened in text mode; otherwise, bytes." @@ -1287,7 +1331,7 @@ msgstr "" "datos serán cadenas si se abrieron los flujos en modo texto, en caso " "contrario serán bytes." -#: ../Doc/library/subprocess.rst:716 +#: ../Doc/library/subprocess.rst:751 msgid "" "Note that if you want to send data to the process's stdin, you need to " "create the Popen object with ``stdin=PIPE``. Similarly, to get anything " @@ -1299,7 +1343,7 @@ msgstr "" "diferente de ``None`` en la tupla del resultado, hay que suministrar " "``stdout=PIPE`` o ``stderr=PIPE`` también." -#: ../Doc/library/subprocess.rst:721 +#: ../Doc/library/subprocess.rst:756 msgid "" "If the process does not terminate after *timeout* seconds, a :exc:" "`TimeoutExpired` exception will be raised. Catching this exception and " @@ -1309,7 +1353,7 @@ msgstr "" "exc:`TimeoutExpired`. Si se captura dicha excepción y se reintenta la " "comunicación, no se perderán datos de salida." -#: ../Doc/library/subprocess.rst:725 +#: ../Doc/library/subprocess.rst:760 msgid "" "The child process is not killed if the timeout expires, so in order to " "cleanup properly a well-behaved application should kill the child process " @@ -1319,7 +1363,7 @@ msgstr "" "limpieza, una aplicación correcta debería matar el proceso y terminar la " "comunicación::" -#: ../Doc/library/subprocess.rst:738 +#: ../Doc/library/subprocess.rst:773 msgid "" "The data read is buffered in memory, so do not use this method if the data " "size is large or unlimited." @@ -1327,11 +1371,15 @@ msgstr "" "Los datos leídos pasan por un búfer en memoria, así que no se ha de usar " "este método para un tamaño de datos grande o ilimitado." -#: ../Doc/library/subprocess.rst:747 +#: ../Doc/library/subprocess.rst:782 msgid "Sends the signal *signal* to the child." msgstr "Envía la señal *signal* al proceso hijo." -#: ../Doc/library/subprocess.rst:751 +#: ../Doc/library/subprocess.rst:784 +msgid "Do nothing if the process completed." +msgstr "" + +#: ../Doc/library/subprocess.rst:788 msgid "" "On Windows, SIGTERM is an alias for :meth:`terminate`. CTRL_C_EVENT and " "CTRL_BREAK_EVENT can be sent to processes started with a *creationflags* " @@ -1341,9 +1389,10 @@ msgstr "" "CTRL_C_EVENT y CTRL_BREAK_EVENT a los procesos creados con un parámetro " "*creationflags* que incluya `CREATE_NEW_PROCESS_GROUP`." -#: ../Doc/library/subprocess.rst:758 +#: ../Doc/library/subprocess.rst:795 +#, fuzzy msgid "" -"Stop the child. On Posix OSs the method sends SIGTERM to the child. On " +"Stop the child. On POSIX OSs the method sends SIGTERM to the child. On " "Windows the Win32 API function :c:func:`TerminateProcess` is called to stop " "the child." msgstr "" @@ -1351,19 +1400,20 @@ msgstr "" "hijo. En Windows se llama a la función :c:func:`TerminateProcess` de la API " "de Win32 para detener el proceso hijo." -#: ../Doc/library/subprocess.rst:765 +#: ../Doc/library/subprocess.rst:802 +#, fuzzy msgid "" -"Kills the child. On Posix OSs the function sends SIGKILL to the child. On " +"Kills the child. On POSIX OSs the function sends SIGKILL to the child. On " "Windows :meth:`kill` is an alias for :meth:`terminate`." msgstr "" "Mata el proceso hijo. En SO POSIX la función envía SIGKILL al proceso hijo. " "En Windows :meth:`kill` es un alias de :meth:`terminate`." -#: ../Doc/library/subprocess.rst:769 +#: ../Doc/library/subprocess.rst:806 msgid "The following attributes are also available:" msgstr "También están disponibles los siguientes atributos:" -#: ../Doc/library/subprocess.rst:773 +#: ../Doc/library/subprocess.rst:810 msgid "" "The *args* argument as it was passed to :class:`Popen` -- a sequence of " "program arguments or else a single string." @@ -1371,7 +1421,7 @@ msgstr "" "El argumento *args* según se pasó a :class:`Popen`: o una secuencia de " "argumentos del programa o una cadena sencilla." -#: ../Doc/library/subprocess.rst:780 +#: ../Doc/library/subprocess.rst:817 msgid "" "If the *stdin* argument was :data:`PIPE`, this attribute is a writeable " "stream object as returned by :func:`open`. If the *encoding* or *errors* " @@ -1385,7 +1435,7 @@ msgstr "" "flujo es de texto, de lo contrario, es de bytes. Si el argumento *stdin* no " "fue :data:`PIPE`, este atributo es ``None``." -#: ../Doc/library/subprocess.rst:789 +#: ../Doc/library/subprocess.rst:826 msgid "" "If the *stdout* argument was :data:`PIPE`, this attribute is a readable " "stream object as returned by :func:`open`. Reading from the stream provides " @@ -1401,7 +1451,7 @@ msgstr "" "texto, de lo contrario, es de bytes. Si el argumento *stdout* no fue :data:" "`PIPE`, este atributo es ``None``." -#: ../Doc/library/subprocess.rst:799 +#: ../Doc/library/subprocess.rst:836 msgid "" "If the *stderr* argument was :data:`PIPE`, this attribute is a readable " "stream object as returned by :func:`open`. Reading from the stream provides " @@ -1417,7 +1467,7 @@ msgstr "" "texto, de lo contrario, es de bytes. Si el argumento *stderr* no fue :data:" "`PIPE`, este atributo es ``None``." -#: ../Doc/library/subprocess.rst:808 +#: ../Doc/library/subprocess.rst:845 msgid "" "Use :meth:`~Popen.communicate` rather than :attr:`.stdin.write `, :attr:`.stdout.read ` or :attr:`.stderr.read ` para evitar bloqueos por búfer de pipes del SO llenos que " "puedan bloquear el proceso hijo." -#: ../Doc/library/subprocess.rst:816 +#: ../Doc/library/subprocess.rst:853 msgid "The process ID of the child process." msgstr "El ID de proceso del hijo." -#: ../Doc/library/subprocess.rst:818 +#: ../Doc/library/subprocess.rst:855 msgid "" "Note that if you set the *shell* argument to ``True``, this is the process " "ID of the spawned shell." @@ -1441,7 +1491,7 @@ msgstr "" "Adviértase que si se establece el argumento *shell* a ``True``, éste es el " "ID de proceso del la shell generada." -#: ../Doc/library/subprocess.rst:824 +#: ../Doc/library/subprocess.rst:861 msgid "" "The child return code, set by :meth:`poll` and :meth:`wait` (and indirectly " "by :meth:`communicate`). A ``None`` value indicates that the process hasn't " @@ -1451,11 +1501,11 @@ msgstr "" "(e indirectamente por :meth:`communicate`). Un valor ``None`` indica que el " "proceso no ha terminado aún." -#: ../Doc/library/subprocess.rst:833 +#: ../Doc/library/subprocess.rst:870 msgid "Windows Popen Helpers" msgstr "Elementos auxiliares de Popen en Windows" -#: ../Doc/library/subprocess.rst:835 +#: ../Doc/library/subprocess.rst:872 msgid "" "The :class:`STARTUPINFO` class and following constants are only available on " "Windows." @@ -1463,7 +1513,7 @@ msgstr "" "La clase :class:`STARTUPINFO` y las siguientes constantes sólo están " "disponibles en Windows." -#: ../Doc/library/subprocess.rst:841 +#: ../Doc/library/subprocess.rst:878 msgid "" "Partial support of the Windows `STARTUPINFO `__ structure is used for :class:`Popen` " @@ -1475,11 +1525,11 @@ msgstr "" "creación de :class:`Popen`. Se pueden establecer los siguientes atributos " "pasándolos como argumentos sólo por clave." -#: ../Doc/library/subprocess.rst:846 +#: ../Doc/library/subprocess.rst:883 msgid "Keyword-only argument support was added." msgstr "Se añadió el soporte de argumentos sólo por clave." -#: ../Doc/library/subprocess.rst:851 +#: ../Doc/library/subprocess.rst:888 msgid "" "A bit field that determines whether certain :class:`STARTUPINFO` attributes " "are used when the process creates a window. ::" @@ -1487,7 +1537,7 @@ msgstr "" "Un campo bit que determina si se usan ciertos atributos de :class:" "`STARTUPINFO` cuando el proceso crea una ventana. ::" -#: ../Doc/library/subprocess.rst:859 +#: ../Doc/library/subprocess.rst:896 msgid "" "If :attr:`dwFlags` specifies :data:`STARTF_USESTDHANDLES`, this attribute is " "the standard input handle for the process. If :data:`STARTF_USESTDHANDLES` " @@ -1498,7 +1548,7 @@ msgstr "" "`STARTF_USESTDHANDLES`, el valor predeterminado de entrada estándar es el " "búfer de teclado." -#: ../Doc/library/subprocess.rst:866 +#: ../Doc/library/subprocess.rst:903 msgid "" "If :attr:`dwFlags` specifies :data:`STARTF_USESTDHANDLES`, this attribute is " "the standard output handle for the process. Otherwise, this attribute is " @@ -1509,7 +1559,7 @@ msgstr "" "omiso del atributo y el valor predeterminado de salida estándar es el búfer " "de ventana." -#: ../Doc/library/subprocess.rst:873 +#: ../Doc/library/subprocess.rst:910 msgid "" "If :attr:`dwFlags` specifies :data:`STARTF_USESTDHANDLES`, this attribute is " "the standard error handle for the process. Otherwise, this attribute is " @@ -1520,7 +1570,7 @@ msgstr "" "omiso del atributo y el valor predeterminado de error estándar es el búfer " "de ventana." -#: ../Doc/library/subprocess.rst:879 +#: ../Doc/library/subprocess.rst:916 msgid "" "If :attr:`dwFlags` specifies :data:`STARTF_USESHOWWINDOW`, this attribute " "can be any of the values that can be specified in the ``nCmdShow`` parameter " @@ -1534,7 +1584,7 @@ msgstr "" "library/ms633548(v=vs.85).aspx>`__, salvo ``SW_SHOWDEFAULT``. De otro modo, " "se hace caso omiso del atributo." -#: ../Doc/library/subprocess.rst:886 +#: ../Doc/library/subprocess.rst:923 msgid "" ":data:`SW_HIDE` is provided for this attribute. It is used when :class:" "`Popen` is called with ``shell=True``." @@ -1542,7 +1592,7 @@ msgstr "" "Se proporciona :data:`SW_HIDE` para este atributo. Se usa cuando se llama a :" "class:`Popen` con ``shell=True``." -#: ../Doc/library/subprocess.rst:891 +#: ../Doc/library/subprocess.rst:928 msgid "" "A dictionary of additional attributes for process creation as given in " "``STARTUPINFOEX``, see `UpdateProcThreadAttribute `__." -#: ../Doc/library/subprocess.rst:895 +#: ../Doc/library/subprocess.rst:932 msgid "Supported attributes:" msgstr "Atributos admitidos:" -#: ../Doc/library/subprocess.rst:913 +#: ../Doc/library/subprocess.rst:950 msgid "**handle_list**" msgstr "**handle_list**" -#: ../Doc/library/subprocess.rst:898 +#: ../Doc/library/subprocess.rst:935 msgid "" "Sequence of handles that will be inherited. *close_fds* must be true if non-" "empty." @@ -1568,7 +1618,7 @@ msgstr "" "Una secuencia de gestores que se heredará. *close_fds* debe ser verdadero si " "no viene vacío." -#: ../Doc/library/subprocess.rst:901 +#: ../Doc/library/subprocess.rst:938 msgid "" "The handles must be temporarily made inheritable by :func:`os." "set_handle_inheritable` when passed to the :class:`Popen` constructor, else :" @@ -1580,7 +1630,7 @@ msgstr "" "de lo contrario, se lanzará :class:`OSError` con el error de Windows " "``ERROR_INVALID_PARAMETER`` (87)." -#: ../Doc/library/subprocess.rst:908 +#: ../Doc/library/subprocess.rst:945 msgid "" "In a multithreaded process, use caution to avoid leaking handles that are " "marked inheritable when combining this feature with concurrent calls to " @@ -1594,15 +1644,15 @@ msgstr "" "`os.system`. Esto también rige para la redirección de gestores estándar, que " "crea temporalmente gestores heredables." -#: ../Doc/library/subprocess.rst:918 +#: ../Doc/library/subprocess.rst:955 msgid "Windows Constants" msgstr "Constantes de Windows" -#: ../Doc/library/subprocess.rst:920 +#: ../Doc/library/subprocess.rst:957 msgid "The :mod:`subprocess` module exposes the following constants." msgstr "El módulo :mod:`subprocess` expone las siguientes constantes." -#: ../Doc/library/subprocess.rst:924 +#: ../Doc/library/subprocess.rst:961 msgid "" "The standard input device. Initially, this is the console input buffer, " "``CONIN$``." @@ -1610,7 +1660,7 @@ msgstr "" "El dispositivo de entrada estándar. Inicialmente, es el búfer de entrada de " "la consola, ``CONIN$``." -#: ../Doc/library/subprocess.rst:929 +#: ../Doc/library/subprocess.rst:966 msgid "" "The standard output device. Initially, this is the active console screen " "buffer, ``CONOUT$``." @@ -1618,7 +1668,7 @@ msgstr "" "El dispositivo de salida estándar. Inicialmente, es el búfer de pantalla de " "la consola activa, ``CONOUT$``." -#: ../Doc/library/subprocess.rst:934 +#: ../Doc/library/subprocess.rst:971 msgid "" "The standard error device. Initially, this is the active console screen " "buffer, ``CONOUT$``." @@ -1626,11 +1676,11 @@ msgstr "" "El dispositivo de error estándar. Inicialmente, es el búfer de pantalla de " "la consola activa, ``CONOUT$``." -#: ../Doc/library/subprocess.rst:939 +#: ../Doc/library/subprocess.rst:976 msgid "Hides the window. Another window will be activated." msgstr "Oculta la ventana. Se activará otra ventana." -#: ../Doc/library/subprocess.rst:943 +#: ../Doc/library/subprocess.rst:980 msgid "" "Specifies that the :attr:`STARTUPINFO.hStdInput`, :attr:`STARTUPINFO." "hStdOutput`, and :attr:`STARTUPINFO.hStdError` attributes contain additional " @@ -1640,7 +1690,7 @@ msgstr "" "`STARTUPINFO.hStdOutput`, y :attr:`STARTUPINFO.hStdError` contienen " "información adicional." -#: ../Doc/library/subprocess.rst:949 +#: ../Doc/library/subprocess.rst:986 msgid "" "Specifies that the :attr:`STARTUPINFO.wShowWindow` attribute contains " "additional information." @@ -1648,7 +1698,7 @@ msgstr "" "Especifica que el atributo :attr:`STARTUPINFO.wShowWindow` contiene " "información adicional." -#: ../Doc/library/subprocess.rst:954 +#: ../Doc/library/subprocess.rst:991 msgid "" "The new process has a new console, instead of inheriting its parent's " "console (the default)." @@ -1656,7 +1706,7 @@ msgstr "" "El nuevo proceso obtiene una nueva consola, en lugar de heredar la consola " "del padre (que es el comportamiento predeterminado)." -#: ../Doc/library/subprocess.rst:959 +#: ../Doc/library/subprocess.rst:996 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "group will be created. This flag is necessary for using :func:`os.kill` on " @@ -1666,13 +1716,13 @@ msgstr "" "un nuevo grupo de procesos. Este indicador es necesario para usar :func:`os." "kill` sobre el subproceso." -#: ../Doc/library/subprocess.rst:963 +#: ../Doc/library/subprocess.rst:1000 msgid "This flag is ignored if :data:`CREATE_NEW_CONSOLE` is specified." msgstr "" "Este indicador no se tiene en cuenta si se especifica :data:" "`CREATE_NEW_CONSOLE`." -#: ../Doc/library/subprocess.rst:967 +#: ../Doc/library/subprocess.rst:1004 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "will have an above average priority." @@ -1680,7 +1730,7 @@ msgstr "" "Parámetro :class:`Popen` ``creationflags`` para especificar que el nuevo " "proceso tendrá una prioridad superior a la media." -#: ../Doc/library/subprocess.rst:974 +#: ../Doc/library/subprocess.rst:1011 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "will have a below average priority." @@ -1688,7 +1738,7 @@ msgstr "" "Parámetro :class:`Popen` ``creationflags`` para especificar que el nuevo " "proceso tendrá una prioridad inferior a la media." -#: ../Doc/library/subprocess.rst:981 +#: ../Doc/library/subprocess.rst:1018 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "will have a high priority." @@ -1696,7 +1746,7 @@ msgstr "" "Parámetro :class:`Popen` ``creationflags`` para especificar que el nuevo " "proceso tendrá una prioridad elevada." -#: ../Doc/library/subprocess.rst:988 +#: ../Doc/library/subprocess.rst:1025 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "will have an idle (lowest) priority." @@ -1704,7 +1754,7 @@ msgstr "" "Parámetro :class:`Popen` ``creationflags`` para especificar que el nuevo " "proceso tendrá una la mínima prioridad." -#: ../Doc/library/subprocess.rst:995 +#: ../Doc/library/subprocess.rst:1032 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "will have an normal priority. (default)" @@ -1712,7 +1762,7 @@ msgstr "" "Parámetro :class:`Popen` ``creationflags`` para especificar que el nuevo " "proceso tendrá una prioridad normal (éste es el valor predeterminado)." -#: ../Doc/library/subprocess.rst:1002 +#: ../Doc/library/subprocess.rst:1039 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "will have realtime priority. You should almost never use " @@ -1729,7 +1779,7 @@ msgstr "" "directamente con el hardware o que llevan a cabo tareas breves que no " "admitan interrupciones." -#: ../Doc/library/subprocess.rst:1013 +#: ../Doc/library/subprocess.rst:1050 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "will not create a window." @@ -1737,7 +1787,7 @@ msgstr "" "Parámetro :class:`Popen` ``creationflags`` para especificar que el nuevo " "proceso no creará una ventana." -#: ../Doc/library/subprocess.rst:1020 +#: ../Doc/library/subprocess.rst:1057 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "will not inherit its parent's console. This value cannot be used with " @@ -1747,7 +1797,7 @@ msgstr "" "proceso no heredará la consola del padre. Este valor es incompatible con " "CREATE_NEW_CONSOLE." -#: ../Doc/library/subprocess.rst:1028 +#: ../Doc/library/subprocess.rst:1065 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "does not inherit the error mode of the calling process. Instead, the new " @@ -1760,7 +1810,7 @@ msgstr "" "particularmente útil para aplicaciones de shell multihilo que se ejecutan " "con los errores 'duros' desactivados." -#: ../Doc/library/subprocess.rst:1038 +#: ../Doc/library/subprocess.rst:1075 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "is not associated with the job." @@ -1768,11 +1818,11 @@ msgstr "" "Parámetro :class:`Popen` ``creationflags`` para especificar que el nuevo " "proceso no está asociado a la tarea." -#: ../Doc/library/subprocess.rst:1046 +#: ../Doc/library/subprocess.rst:1083 msgid "Older high-level API" msgstr "Antigua API de alto nivel" -#: ../Doc/library/subprocess.rst:1048 +#: ../Doc/library/subprocess.rst:1085 msgid "" "Prior to Python 3.5, these three functions comprised the high level API to " "subprocess. You can now use :func:`run` in many cases, but lots of existing " @@ -1782,7 +1832,7 @@ msgstr "" "para subprocesos. Ahora se puede usar :func:`run` en muchos casos, pero hay " "mucho código escrito con estas funciones." -#: ../Doc/library/subprocess.rst:1054 +#: ../Doc/library/subprocess.rst:1092 msgid "" "Run the command described by *args*. Wait for command to complete, then " "return the :attr:`~Popen.returncode` attribute." @@ -1790,20 +1840,20 @@ msgstr "" "Ejecutar la orden descrita por *args*. Esperar que la orden se complete y " "retornar al atributo :attr:`~Popen.returncode`." -#: ../Doc/library/subprocess.rst:1057 ../Doc/library/subprocess.rst:1085 +#: ../Doc/library/subprocess.rst:1095 ../Doc/library/subprocess.rst:1125 msgid "" "Code needing to capture stdout or stderr should use :func:`run` instead::" msgstr "" "El código que requiera capturar stdout o stderr debería usar :func:`run` en " "su lugar::" -#: ../Doc/library/subprocess.rst:1061 ../Doc/library/subprocess.rst:1089 +#: ../Doc/library/subprocess.rst:1099 ../Doc/library/subprocess.rst:1129 msgid "To suppress stdout or stderr, supply a value of :data:`DEVNULL`." msgstr "" "Para suprimir stdout o stderr se ha de proporcionar un valor de :data:" "`DEVNULL`." -#: ../Doc/library/subprocess.rst:1063 ../Doc/library/subprocess.rst:1091 +#: ../Doc/library/subprocess.rst:1101 ../Doc/library/subprocess.rst:1131 msgid "" "The arguments shown above are merely some common ones. The full function " "signature is the same as that of the :class:`Popen` constructor - this " @@ -1815,7 +1865,7 @@ msgstr "" "todos los argumentos proporcionados (salvo *timeout*) directamente a esa " "interfaz." -#: ../Doc/library/subprocess.rst:1070 ../Doc/library/subprocess.rst:1098 +#: ../Doc/library/subprocess.rst:1108 ../Doc/library/subprocess.rst:1138 msgid "" "Do not use ``stdout=PIPE`` or ``stderr=PIPE`` with this function. The child " "process will block if it generates enough output to a pipe to fill up the OS " @@ -1825,7 +1875,7 @@ msgstr "" "se bloqueará si genera suficiente salida a un pipe como para saturar el " "búfer del pipe del sistema operativo mientras no se lee de los pipes." -#: ../Doc/library/subprocess.rst:1080 +#: ../Doc/library/subprocess.rst:1120 msgid "" "Run command with arguments. Wait for command to complete. If the return " "code was zero then return, otherwise raise :exc:`CalledProcessError`. The :" @@ -1837,11 +1887,11 @@ msgstr "" "lanzar :exc:`CalledProcessError`. El objeto :exc:`CalledProcessError` tendrá " "el código de retorno en el atributo :attr:`~CalledProcessError.returncode`." -#: ../Doc/library/subprocess.rst:1111 +#: ../Doc/library/subprocess.rst:1152 msgid "Run command with arguments and return its output." msgstr "Ejecuta orden con argumentos y retorna su salida." -#: ../Doc/library/subprocess.rst:1113 +#: ../Doc/library/subprocess.rst:1154 msgid "" "If the return code was non-zero it raises a :exc:`CalledProcessError`. The :" "exc:`CalledProcessError` object will have the return code in the :attr:" @@ -1853,24 +1903,26 @@ msgstr "" "de retorno en el atributo :attr:`~CalledProcessError.returncode` y los datos " "de salida en el atributo :attr:`~CalledProcessError.output`." -#: ../Doc/library/subprocess.rst:1118 +#: ../Doc/library/subprocess.rst:1159 msgid "This is equivalent to::" msgstr "Esto equivale a::" -#: ../Doc/library/subprocess.rst:1122 +#: ../Doc/library/subprocess.rst:1163 +#, fuzzy msgid "" "The arguments shown above are merely some common ones. The full function " "signature is largely the same as that of :func:`run` - most arguments are " -"passed directly through to that interface. However, explicitly passing " -"``input=None`` to inherit the parent's standard input file handle is not " -"supported." +"passed directly through to that interface. One API deviation from :func:" +"`run` behavior exists: passing ``input=None`` will behave the same as " +"``input=b''`` (or ``input=''``, depending on other arguments) rather than " +"using the parent's standard input file handle." msgstr "" "Se muestran algunos argumentos comunes. La signatura completa de la función " "es casi la misma que la de :func:`run`. La mayoría de los argumentos se pasa " "directamente a esa interfaz. No obstante, no es posible pasar ``input=None`` " "para heredar el flujo entrada estándar del padre." -#: ../Doc/library/subprocess.rst:1128 +#: ../Doc/library/subprocess.rst:1170 msgid "" "By default, this function will return the data as encoded bytes. The actual " "encoding of the output data may depend on the command being invoked, so the " @@ -1880,7 +1932,7 @@ msgstr "" "codificación real de los datos podría depender de la orden invocada, por lo " "que la descodificación a texto se deberá hacer al nivel de la aplicación." -#: ../Doc/library/subprocess.rst:1132 +#: ../Doc/library/subprocess.rst:1174 msgid "" "This behaviour may be overridden by setting *text*, *encoding*, *errors*, or " "*universal_newlines* to ``True`` as described in :ref:`frequently-used-" @@ -1890,7 +1942,7 @@ msgstr "" "*errors*, o *universal_newlines* a ``True``, como se describe en :ref:" "`frequently-used-arguments` y :func:`run`." -#: ../Doc/library/subprocess.rst:1136 +#: ../Doc/library/subprocess.rst:1178 msgid "" "To also capture standard error in the result, use ``stderr=subprocess." "STDOUT``::" @@ -1898,20 +1950,20 @@ msgstr "" "Para capturar también el error estándar del resultado se debe usar " "``stderr=subprocess.STDOUT``::" -#: ../Doc/library/subprocess.rst:1150 +#: ../Doc/library/subprocess.rst:1192 msgid "Support for the *input* keyword argument was added." msgstr "Se añadió soporte para el argumento por clave *input*." -#: ../Doc/library/subprocess.rst:1153 +#: ../Doc/library/subprocess.rst:1195 msgid "*encoding* and *errors* were added. See :func:`run` for details." msgstr "" "Se añadieron *encoding* y *errors*. Ver :func:`run` para más detalles." -#: ../Doc/library/subprocess.rst:1163 +#: ../Doc/library/subprocess.rst:1205 msgid "Replacing Older Functions with the :mod:`subprocess` Module" msgstr "Cómo reemplazar anteriores funciones con el módulo :mod:`subprocess`" -#: ../Doc/library/subprocess.rst:1165 +#: ../Doc/library/subprocess.rst:1207 msgid "" "In this section, \"a becomes b\" means that b can be used as a replacement " "for a." @@ -1919,7 +1971,7 @@ msgstr "" "En esta sección, \"a se convierte en b\" significa que b se puede usar en " "lugar de." -#: ../Doc/library/subprocess.rst:1169 +#: ../Doc/library/subprocess.rst:1211 msgid "" "All \"a\" functions in this section fail (more or less) silently if the " "executed program cannot be found; the \"b\" replacements raise :exc:" @@ -1929,7 +1981,7 @@ msgstr "" "si no se halla el programa ejecutado; las funciones de reemplazo \"b\" " "lanzan :exc:`OSError` en lugar de esto." -#: ../Doc/library/subprocess.rst:1173 +#: ../Doc/library/subprocess.rst:1215 msgid "" "In addition, the replacements using :func:`check_output` will fail with a :" "exc:`CalledProcessError` if the requested operation produces a non-zero " @@ -1941,7 +1993,7 @@ msgstr "" "código de retorno diferente de cero. La salida queda disponible en el " "atributo :attr:`~CalledProcessError.output` de la excepción lanzada." -#: ../Doc/library/subprocess.rst:1178 +#: ../Doc/library/subprocess.rst:1220 msgid "" "In the following examples, we assume that the relevant functions have " "already been imported from the :mod:`subprocess` module." @@ -1949,20 +2001,20 @@ msgstr "" "En los siguientes ejemplos, se asume que las funciones relevantes ya han " "sido importadas del módulo :mod:`subprocess`." -#: ../Doc/library/subprocess.rst:1183 +#: ../Doc/library/subprocess.rst:1225 msgid "Replacing :program:`/bin/sh` shell command substitution" msgstr "Cómo reemplazar la sustitución de órdenes de :program:`/bin/sh`" -#: ../Doc/library/subprocess.rst:1189 ../Doc/library/subprocess.rst:1200 -#: ../Doc/library/subprocess.rst:1217 +#: ../Doc/library/subprocess.rst:1231 ../Doc/library/subprocess.rst:1242 +#: ../Doc/library/subprocess.rst:1259 msgid "becomes::" msgstr "se convierte en::" -#: ../Doc/library/subprocess.rst:1194 +#: ../Doc/library/subprocess.rst:1236 msgid "Replacing shell pipeline" msgstr "Cómo remplazar los flujos de la shell" -#: ../Doc/library/subprocess.rst:1207 +#: ../Doc/library/subprocess.rst:1249 msgid "" "The ``p1.stdout.close()`` call after starting the p2 is important in order " "for p1 to receive a SIGPIPE if p2 exits before p1." @@ -1970,7 +2022,7 @@ msgstr "" "La llamada a ``p1.stdout.close()`` tras lanzar *p2* es importante para que " "*p1* reciba un SIGPIPE si *p2* retorna antes que *p1*." -#: ../Doc/library/subprocess.rst:1210 +#: ../Doc/library/subprocess.rst:1252 msgid "" "Alternatively, for trusted input, the shell's own pipeline support may still " "be used directly:" @@ -1978,55 +2030,55 @@ msgstr "" "Alternativamente, para entrada de confianza, se puede usar el propio soporte " "de pipeline de la shell directamente:" -#: ../Doc/library/subprocess.rst:1223 +#: ../Doc/library/subprocess.rst:1265 msgid "Replacing :func:`os.system`" msgstr "Cómo reemplazar :func:`os.system`" -#: ../Doc/library/subprocess.rst:1231 +#: ../Doc/library/subprocess.rst:1273 msgid "Notes:" msgstr "Notas:" -#: ../Doc/library/subprocess.rst:1233 +#: ../Doc/library/subprocess.rst:1275 msgid "Calling the program through the shell is usually not required." msgstr "No suele hacer falta llamar al programa a través de la shell." -#: ../Doc/library/subprocess.rst:1235 +#: ../Doc/library/subprocess.rst:1277 msgid "A more realistic example would look like this::" msgstr "Un ejemplo más creíble::" -#: ../Doc/library/subprocess.rst:1248 +#: ../Doc/library/subprocess.rst:1290 msgid "Replacing the :func:`os.spawn ` family" msgstr "Cómo reemplazar la familia :func:`os.spawn `" -#: ../Doc/library/subprocess.rst:1250 +#: ../Doc/library/subprocess.rst:1292 msgid "P_NOWAIT example::" msgstr "Ejemplo de P_NOWAIT::" -#: ../Doc/library/subprocess.rst:1256 +#: ../Doc/library/subprocess.rst:1298 msgid "P_WAIT example::" msgstr "Ejemplo de P_WAIT::" -#: ../Doc/library/subprocess.rst:1262 +#: ../Doc/library/subprocess.rst:1304 msgid "Vector example::" msgstr "Ejemplo de vector::" -#: ../Doc/library/subprocess.rst:1268 +#: ../Doc/library/subprocess.rst:1310 msgid "Environment example::" msgstr "Ejemplo de entorno::" -#: ../Doc/library/subprocess.rst:1277 +#: ../Doc/library/subprocess.rst:1319 msgid "Replacing :func:`os.popen`, :func:`os.popen2`, :func:`os.popen3`" msgstr "Cómo reemplazar :func:`os.popen`, :func:`os.popen2`, :func:`os.popen3`" -#: ../Doc/library/subprocess.rst:1307 +#: ../Doc/library/subprocess.rst:1349 msgid "Return code handling translates as follows::" msgstr "La gestión del código de retorno se traduce así::" -#: ../Doc/library/subprocess.rst:1323 +#: ../Doc/library/subprocess.rst:1365 msgid "Replacing functions from the :mod:`popen2` module" msgstr "Cómo reemplazar las funciones del módulo :mod:`popen2`" -#: ../Doc/library/subprocess.rst:1327 +#: ../Doc/library/subprocess.rst:1369 msgid "" "If the cmd argument to popen2 functions is a string, the command is executed " "through /bin/sh. If it is a list, the command is directly executed." @@ -2035,7 +2087,7 @@ msgstr "" "ejecuta a través de `/bin/sh`. Si es una lista, la orden se ejecuta " "directamente." -#: ../Doc/library/subprocess.rst:1346 +#: ../Doc/library/subprocess.rst:1388 msgid "" ":class:`popen2.Popen3` and :class:`popen2.Popen4` basically work as :class:" "`subprocess.Popen`, except that:" @@ -2043,19 +2095,19 @@ msgstr "" ":class:`popen2.Popen3` y :class:`popen2.Popen4` funcionan a grandes rasgos " "como :class:`subprocess.Popen`, salvo:" -#: ../Doc/library/subprocess.rst:1349 +#: ../Doc/library/subprocess.rst:1391 msgid ":class:`Popen` raises an exception if the execution fails." msgstr ":class:`Popen` lanza una excepción si falla la ejecución." -#: ../Doc/library/subprocess.rst:1351 +#: ../Doc/library/subprocess.rst:1393 msgid "The *capturestderr* argument is replaced with the *stderr* argument." msgstr "El argumento *capturestderr* se sustituye por el argumento *stderr*." -#: ../Doc/library/subprocess.rst:1353 +#: ../Doc/library/subprocess.rst:1395 msgid "``stdin=PIPE`` and ``stdout=PIPE`` must be specified." msgstr "Se ha de especificar ``stdin=PIPE`` y ``stdout=PIPE``." -#: ../Doc/library/subprocess.rst:1355 +#: ../Doc/library/subprocess.rst:1397 msgid "" "popen2 closes all file descriptors by default, but you have to specify " "``close_fds=True`` with :class:`Popen` to guarantee this behavior on all " @@ -2065,11 +2117,11 @@ msgstr "" "especificar ``close_fds=True`` con :class:`Popen` para garantizar este " "comportamiento en todas las plataformas o en versiones anteriores de Python." -#: ../Doc/library/subprocess.rst:1361 +#: ../Doc/library/subprocess.rst:1403 msgid "Legacy Shell Invocation Functions" msgstr "Funciones de llamada a la shell de retrocompatibilidad" -#: ../Doc/library/subprocess.rst:1363 +#: ../Doc/library/subprocess.rst:1405 msgid "" "This module also provides the following legacy functions from the 2.x " "``commands`` module. These operations implicitly invoke the system shell and " @@ -2082,11 +2134,11 @@ msgstr "" "garantías descritas anteriormente respecto a seguridad o consistencia en la " "gestión de excepciones." -#: ../Doc/library/subprocess.rst:1370 +#: ../Doc/library/subprocess.rst:1412 msgid "Return ``(exitcode, output)`` of executing *cmd* in a shell." msgstr "Retorna ``(exitcode, output)`` de ejecutar *cmd* en una shell." -#: ../Doc/library/subprocess.rst:1372 +#: ../Doc/library/subprocess.rst:1414 msgid "" "Execute the string *cmd* in a shell with :meth:`Popen.check_output` and " "return a 2-tuple ``(exitcode, output)``. The locale encoding is used; see " @@ -2097,7 +2149,7 @@ msgstr "" "localización activa; consultar las notas sobre :ref:`frequently-used-" "arguments` para más información." -#: ../Doc/library/subprocess.rst:1376 +#: ../Doc/library/subprocess.rst:1418 msgid "" "A trailing newline is stripped from the output. The exit code for the " "command can be interpreted as the return code of subprocess. Example::" @@ -2106,15 +2158,15 @@ msgstr "" "orden se puede interpretar como el código de retorno del subproceso. Por " "ejemplo::" -#: ../Doc/library/subprocess.rst:1390 ../Doc/library/subprocess.rst:1410 +#: ../Doc/library/subprocess.rst:1432 ../Doc/library/subprocess.rst:1452 msgid ":ref:`Availability `: POSIX & Windows." msgstr ":ref:`Disponibilidad `: POSIX y Windows." -#: ../Doc/library/subprocess.rst:1391 +#: ../Doc/library/subprocess.rst:1433 msgid "Windows support was added." msgstr "Se añadió soporte de Windows." -#: ../Doc/library/subprocess.rst:1394 +#: ../Doc/library/subprocess.rst:1436 msgid "" "The function now returns (exitcode, output) instead of (status, output) as " "it did in Python 3.3.3 and earlier. exitcode has the same value as :attr:" @@ -2124,11 +2176,11 @@ msgstr "" "output)`` como en Python 3.3.3 y anteriores. *exitcode* tiene el mismo " "valor que :attr:`~Popen.returncode`." -#: ../Doc/library/subprocess.rst:1401 +#: ../Doc/library/subprocess.rst:1443 msgid "Return output (stdout and stderr) of executing *cmd* in a shell." msgstr "Retorna la salida (stdout y stderr) de ejecutar *cmd* en una shell." -#: ../Doc/library/subprocess.rst:1403 +#: ../Doc/library/subprocess.rst:1445 msgid "" "Like :func:`getstatusoutput`, except the exit code is ignored and the return " "value is a string containing the command's output. Example::" @@ -2137,19 +2189,19 @@ msgstr "" "valor retornado es una cadena que contiene la salida del comando. Por " "ejemplo::" -#: ../Doc/library/subprocess.rst:1411 +#: ../Doc/library/subprocess.rst:1453 msgid "Windows support added" msgstr "Se añadió soporte de Windows" -#: ../Doc/library/subprocess.rst:1416 +#: ../Doc/library/subprocess.rst:1458 msgid "Notes" msgstr "Notas" -#: ../Doc/library/subprocess.rst:1421 +#: ../Doc/library/subprocess.rst:1463 msgid "Converting an argument sequence to a string on Windows" msgstr "Cómo convertir una secuencia de argumentos a una cadena en Windows" -#: ../Doc/library/subprocess.rst:1423 +#: ../Doc/library/subprocess.rst:1465 msgid "" "On Windows, an *args* sequence is converted to a string that can be parsed " "using the following rules (which correspond to the rules used by the MS C " @@ -2159,14 +2211,14 @@ msgstr "" "analizada con las siguientes reglas (correspondientes a las reglas que usa " "la biblioteca de ejecución de MS C):" -#: ../Doc/library/subprocess.rst:1427 +#: ../Doc/library/subprocess.rst:1469 msgid "" "Arguments are delimited by white space, which is either a space or a tab." msgstr "" "Los argumentos se separan por espacio en blanco, que debe ser un espacio o " "un tabulador." -#: ../Doc/library/subprocess.rst:1430 +#: ../Doc/library/subprocess.rst:1472 msgid "" "A string surrounded by double quotation marks is interpreted as a single " "argument, regardless of white space contained within. A quoted string can " @@ -2176,7 +2228,7 @@ msgstr "" "importar los espacios en blanco que contenga. Se puede incrustar una cadena " "entre comillas en un argumento." -#: ../Doc/library/subprocess.rst:1435 +#: ../Doc/library/subprocess.rst:1477 msgid "" "A double quotation mark preceded by a backslash is interpreted as a literal " "double quotation mark." @@ -2184,7 +2236,7 @@ msgstr "" "Una comilla doble precedida de una barra invertida se interpreta " "literalmente como una comilla doble." -#: ../Doc/library/subprocess.rst:1438 +#: ../Doc/library/subprocess.rst:1480 msgid "" "Backslashes are interpreted literally, unless they immediately precede a " "double quotation mark." @@ -2192,7 +2244,7 @@ msgstr "" "Las barras invertidas se interpretan literalmente, salvo que precedan a una " "comilla doble." -#: ../Doc/library/subprocess.rst:1441 +#: ../Doc/library/subprocess.rst:1483 msgid "" "If backslashes immediately precede a double quotation mark, every pair of " "backslashes is interpreted as a literal backslash. If the number of " @@ -2204,11 +2256,11 @@ msgstr "" "el número de barras invertidas es impar, la última barra invertida escapa la " "siguiente comilla doble según se describe en la regla 3." -#: ../Doc/library/subprocess.rst:1450 +#: ../Doc/library/subprocess.rst:1492 msgid ":mod:`shlex`" msgstr ":mod:`shlex`" -#: ../Doc/library/subprocess.rst:1451 +#: ../Doc/library/subprocess.rst:1493 msgid "Module which provides function to parse and escape command lines." msgstr "" "Módulo que proporciona una función para analizar y escapar líneas de órdenes." diff --git a/library/sunau.po b/library/sunau.po index 521e2f4a02..b0cd44d0f0 100644 --- a/library/sunau.po +++ b/library/sunau.po @@ -1,23 +1,25 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. # Maintained by the python-doc-es workteam. -# docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ -# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers +# docs-es@python.org / +# https://mail.python.org/mailman3/lists/docs-es.python.org/ +# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get +# the list of volunteers # msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-06 11:59-0400\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-10-04 18:40-0300\n" +"Last-Translator: Enrique Giménez \n" +"Language: es_AR\n" "Language-Team: python-docs-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\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" -"Last-Translator: Enrique Giménez \n" -"Language: es_AR\n" -"X-Generator: Poedit 2.4.1\n" +"Generated-By: Babel 2.8.0\n" #: ../Doc/library/sunau.rst:2 msgid ":mod:`sunau` --- Read and write Sun AU files" @@ -162,17 +164,11 @@ msgstr "" "Un *mode* de ``'r'`` retorna un objeto :class:`AU_read`, mientras un *mode* " "de ``'w'`` o ``'wb'`` retorna un objeto :class:`AU_write`." -#: ../Doc/library/sunau.rst:64 -msgid "A synonym for :func:`.open`, maintained for backwards compatibility." -msgstr "" -"Un sinónimo para :func:`.open`, mantenido para compatibilidad con versiones " -"anteriores." - -#: ../Doc/library/sunau.rst:69 +#: ../Doc/library/sunau.rst:62 msgid "The :mod:`sunau` module defines the following exception:" msgstr "El módulo :mod:`sunau` define la siguiente excepción:" -#: ../Doc/library/sunau.rst:73 +#: ../Doc/library/sunau.rst:66 msgid "" "An error raised when something is impossible because of Sun AU specs or " "implementation deficiency." @@ -180,11 +176,11 @@ msgstr "" "Un error generado cuando algo es imposible por especificaciones de Sun AU o " "deficiencia de implementación." -#: ../Doc/library/sunau.rst:77 +#: ../Doc/library/sunau.rst:70 msgid "The :mod:`sunau` module defines the following data items:" msgstr "El módulo :mod:`sunau` define los siguientes ítems de información:" -#: ../Doc/library/sunau.rst:81 +#: ../Doc/library/sunau.rst:74 msgid "" "An integer every valid Sun AU file begins with, stored in big-endian form. " "This is the string ``.snd`` interpreted as an integer." @@ -192,7 +188,7 @@ msgstr "" "Un entero por cada fichero Sun AU válido comienza con, almacenada en la " "forma *big-endian*. Esto es la cadena ``.snd`` interpretada como un entero." -#: ../Doc/library/sunau.rst:92 +#: ../Doc/library/sunau.rst:85 msgid "" "Values of the encoding field from the AU header which are supported by this " "module." @@ -200,7 +196,7 @@ msgstr "" "Valores del campo de codificación para el encabezado AU que son soportados " "por este módulo." -#: ../Doc/library/sunau.rst:103 +#: ../Doc/library/sunau.rst:96 msgid "" "Additional known values of the encoding field from the AU header, but which " "are not supported by this module." @@ -208,11 +204,11 @@ msgstr "" "Valores adicionales conocidos por el campo de codificación del encabezado " "AU, pero que no son soportados por este módulo." -#: ../Doc/library/sunau.rst:110 +#: ../Doc/library/sunau.rst:103 msgid "AU_read Objects" msgstr "Objetos AU_read" -#: ../Doc/library/sunau.rst:112 +#: ../Doc/library/sunau.rst:105 msgid "" "AU_read objects, as returned by :func:`.open` above, have the following " "methods:" @@ -220,7 +216,7 @@ msgstr "" "Objetos AU_read, como se retornan por :func:`.open` arriba, tienen los " "siguientes métodos:" -#: ../Doc/library/sunau.rst:117 +#: ../Doc/library/sunau.rst:110 msgid "" "Close the stream, and make the instance unusable. (This is called " "automatically on deletion.)" @@ -228,23 +224,23 @@ msgstr "" "Cierra el flujo, y hace que la instancia sea inutilizable. (Esto es llamado " "automáticamente en la eliminación.)" -#: ../Doc/library/sunau.rst:123 +#: ../Doc/library/sunau.rst:116 msgid "Returns number of audio channels (1 for mono, 2 for stereo)." msgstr "Retorna el número de canales de audio (1 para mono, 2 para estéreo)." -#: ../Doc/library/sunau.rst:128 +#: ../Doc/library/sunau.rst:121 msgid "Returns sample width in bytes." msgstr "Retorna el ancho de muestra en bytes." -#: ../Doc/library/sunau.rst:133 +#: ../Doc/library/sunau.rst:126 msgid "Returns sampling frequency." msgstr "Retorna la frecuencia de muestreo." -#: ../Doc/library/sunau.rst:138 +#: ../Doc/library/sunau.rst:131 msgid "Returns number of audio frames." msgstr "Retorna el número de cuadros por segundo de audio." -#: ../Doc/library/sunau.rst:143 +#: ../Doc/library/sunau.rst:136 msgid "" "Returns compression type. Supported compression types are ``'ULAW'``, " "``'ALAW'`` and ``'NONE'``." @@ -252,7 +248,7 @@ msgstr "" "Retorna el tipo de compresión. Los tipos de compresión soportados son " "``'ULAW'``, ``'ALAW'`` y ``'NONE'``." -#: ../Doc/library/sunau.rst:149 +#: ../Doc/library/sunau.rst:142 msgid "" "Human-readable version of :meth:`getcomptype`. The supported types have the " "respective names ``'CCITT G.711 u-law'``, ``'CCITT G.711 A-law'`` and ``'not " @@ -262,7 +258,7 @@ msgstr "" "tienen los nombres respectivos ``'CCITT G.711 u-law'``, ``'CCITT G.711 A-" "law'`` y ``'not compressed'``." -#: ../Doc/library/sunau.rst:156 +#: ../Doc/library/sunau.rst:149 msgid "" "Returns a :func:`~collections.namedtuple` ``(nchannels, sampwidth, " "framerate, nframes, comptype, compname)``, equivalent to output of the :meth:" @@ -272,7 +268,7 @@ msgstr "" "framerate, nframes, comptype, compname)``, equivalente a la salida de los " "métodos :meth:`get\\*`." -#: ../Doc/library/sunau.rst:163 +#: ../Doc/library/sunau.rst:156 msgid "" "Reads and returns at most *n* frames of audio, as a :class:`bytes` object. " "The data will be returned in linear format. If the original data is in u-" @@ -282,11 +278,11 @@ msgstr "" "`bytes`. La información será retornada en formato linear. Si la información " "original está en formato u-LAW, será convertida." -#: ../Doc/library/sunau.rst:170 +#: ../Doc/library/sunau.rst:163 msgid "Rewind the file pointer to the beginning of the audio stream." msgstr "Rebobina el puntero del fichero al comienzo del flujo de audio." -#: ../Doc/library/sunau.rst:172 +#: ../Doc/library/sunau.rst:165 msgid "" "The following two methods define a term \"position\" which is compatible " "between them, and is otherwise implementation dependent." @@ -294,7 +290,7 @@ msgstr "" "Los siguientes dos métodos definen un término \"position\" el cual es " "compatible entre ellos, y es de otra manera dependiente de la implementación." -#: ../Doc/library/sunau.rst:178 +#: ../Doc/library/sunau.rst:171 msgid "" "Set the file pointer to the specified position. Only values returned from :" "meth:`tell` should be used for *pos*." @@ -302,7 +298,7 @@ msgstr "" "Establece el puntero del fichero a la posición especificada. Sólo valores " "retornados desde :meth:`tell` deberían ser utilizados por *pos*." -#: ../Doc/library/sunau.rst:184 +#: ../Doc/library/sunau.rst:177 msgid "" "Return current file pointer position. Note that the returned value has " "nothing to do with the actual position in the file." @@ -310,7 +306,7 @@ msgstr "" "Retorna la posición actual del puntero de fichero. Note que el valor " "retornado no tiene nada que ver con la posición actual en el fichero." -#: ../Doc/library/sunau.rst:187 +#: ../Doc/library/sunau.rst:180 msgid "" "The following two functions are defined for compatibility with the :mod:" "`aifc`, and don't do anything interesting." @@ -318,19 +314,19 @@ msgstr "" "Las siguientes dos funciones están definidas por compatibilidad con el :mod:" "`aifc`, y no hace nada interesante." -#: ../Doc/library/sunau.rst:193 +#: ../Doc/library/sunau.rst:186 msgid "Returns ``None``." msgstr "Retorna ``None``." -#: ../Doc/library/sunau.rst:198 +#: ../Doc/library/sunau.rst:191 msgid "Raise an error." msgstr "Lanza un error." -#: ../Doc/library/sunau.rst:204 +#: ../Doc/library/sunau.rst:197 msgid "AU_write Objects" msgstr "Objetos AU_write" -#: ../Doc/library/sunau.rst:206 +#: ../Doc/library/sunau.rst:199 msgid "" "AU_write objects, as returned by :func:`.open` above, have the following " "methods:" @@ -338,23 +334,23 @@ msgstr "" "Objetos AU_write, como se retornan por :func:`.open` arriba, tienen los " "siguientes métodos:" -#: ../Doc/library/sunau.rst:211 +#: ../Doc/library/sunau.rst:204 msgid "Set the number of channels." msgstr "Establece el número de canales." -#: ../Doc/library/sunau.rst:216 +#: ../Doc/library/sunau.rst:209 msgid "Set the sample width (in bytes.)" msgstr "Establece el ancho de muestra (en bytes.)" -#: ../Doc/library/sunau.rst:218 +#: ../Doc/library/sunau.rst:211 msgid "Added support for 24-bit samples." msgstr "Agregado soporte para muestras de 24 bits." -#: ../Doc/library/sunau.rst:224 +#: ../Doc/library/sunau.rst:217 msgid "Set the frame rate." msgstr "Establece la velocidad de cuadros por segundo." -#: ../Doc/library/sunau.rst:229 +#: ../Doc/library/sunau.rst:222 msgid "" "Set the number of frames. This can be later changed, when and if more " "frames are written." @@ -362,7 +358,7 @@ msgstr "" "Establece el número de cuadros por segundo. Esto puede ser cambiado más " "adelante, cuando y si más cuadros por segundo son escritos." -#: ../Doc/library/sunau.rst:235 +#: ../Doc/library/sunau.rst:228 msgid "" "Set the compression type and description. Only ``'NONE'`` and ``'ULAW'`` are " "supported on output." @@ -370,7 +366,7 @@ msgstr "" "Establece el tipo de compresión y descripción. Sólo ``'NONE'`` y ``'ULAW'`` " "son soportados en salida." -#: ../Doc/library/sunau.rst:241 +#: ../Doc/library/sunau.rst:234 msgid "" "The *tuple* should be ``(nchannels, sampwidth, framerate, nframes, comptype, " "compname)``, with values valid for the :meth:`set\\*` methods. Set all " @@ -380,7 +376,7 @@ msgstr "" "comptype, compname)``, con valores válidos para los métodos :meth:`set\\*`. " "Establece todos los parámetros." -#: ../Doc/library/sunau.rst:248 +#: ../Doc/library/sunau.rst:241 msgid "" "Return current position in the file, with the same disclaimer for the :meth:" "`AU_read.tell` and :meth:`AU_read.setpos` methods." @@ -389,31 +385,36 @@ msgstr "" "responsabilidad para los métodos :meth:`AU_read.tell` y :meth:`AU_read." "setpos`." -#: ../Doc/library/sunau.rst:254 +#: ../Doc/library/sunau.rst:247 msgid "Write audio frames, without correcting *nframes*." msgstr "Escribe cuadros por segundo de audio, sin corregir *nframes*." -#: ../Doc/library/sunau.rst:256 ../Doc/library/sunau.rst:264 +#: ../Doc/library/sunau.rst:249 ../Doc/library/sunau.rst:257 msgid "Any :term:`bytes-like object` is now accepted." msgstr "Cualquier :term:`bytes-like object` es aceptado ahora." -#: ../Doc/library/sunau.rst:262 +#: ../Doc/library/sunau.rst:255 msgid "Write audio frames and make sure *nframes* is correct." msgstr "" "Escribe cuadros por segundo de audio y se asegura que *nframes* sea correcto." -#: ../Doc/library/sunau.rst:270 +#: ../Doc/library/sunau.rst:263 msgid "Make sure *nframes* is correct, and close the file." msgstr "Se asegura que *nframes* sea correcto, y cierra el fichero." -#: ../Doc/library/sunau.rst:272 +#: ../Doc/library/sunau.rst:265 msgid "This method is called upon deletion." msgstr "Este método es llamado después de la eliminación." -#: ../Doc/library/sunau.rst:274 +#: ../Doc/library/sunau.rst:267 msgid "" "Note that it is invalid to set any parameters after calling :meth:" "`writeframes` or :meth:`writeframesraw`." msgstr "" "Note que es inválido establecer cualquier parámetro después de llamar :meth:" "`writeframes` o :meth:`writeframesraw`." + +#~ msgid "A synonym for :func:`.open`, maintained for backwards compatibility." +#~ msgstr "" +#~ "Un sinónimo para :func:`.open`, mantenido para compatibilidad con " +#~ "versiones anteriores." diff --git a/library/symbol.po b/library/symbol.po index da14a6f9f3..c3fe325e12 100644 --- a/library/symbol.po +++ b/library/symbol.po @@ -1,21 +1,23 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. # Maintained by the python-doc-es workteam. -# docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ -# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers +# docs-es@python.org / +# https://mail.python.org/mailman3/lists/docs-es.python.org/ +# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get +# the list of volunteers # msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-06 11:59-0400\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-10-12 18:47-0500\n" +"Last-Translator: \n" "Language-Team: python-doc-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" -"Last-Translator: \n" -"X-Generator: Poedit 2.4.1\n" +"Generated-By: Babel 2.8.0\n" #: ../Doc/library/symbol.rst:2 msgid ":mod:`symbol` --- Constants used with Python parse trees" @@ -43,11 +45,17 @@ msgstr "" "valores numéricos específicos que corresponden a los nombres pueden variar " "entre versiones de Python." -#: ../Doc/library/symbol.rst:20 +#: ../Doc/library/symbol.rst:22 +msgid "" +"The symbol module is deprecated and will be removed in future versions of " +"Python." +msgstr "" + +#: ../Doc/library/symbol.rst:25 msgid "This module also provides one additional data object:" msgstr "Este módulo también proporciona un objecto de datos adicional:" -#: ../Doc/library/symbol.rst:25 +#: ../Doc/library/symbol.rst:30 msgid "" "Dictionary mapping the numeric values of the constants defined in this " "module back to name strings, allowing more human-readable representation of " diff --git a/library/symtable.po b/library/symtable.po index 2c6a8c9e36..34b754577e 100644 --- a/library/symtable.po +++ b/library/symtable.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-10-07 18:38-0400\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.3.1\n" #: ../Doc/library/symtable.rst:2 msgid ":mod:`symtable` --- Access to the compiler's symbol tables" @@ -108,28 +107,24 @@ msgstr "" "Estos pueden ser obtenidos con :meth:`get_children`." #: ../Doc/library/symtable.rst:72 -msgid "Return ``True`` if the block uses ``exec``." -msgstr "Retorna ``True`` si el bloque usa ``exec``." - -#: ../Doc/library/symtable.rst:76 msgid "Return a list of names of symbols in this table." msgstr "Retorna una lista con los nombres de los símbolos en esta tabla." -#: ../Doc/library/symtable.rst:80 +#: ../Doc/library/symtable.rst:76 msgid "Lookup *name* in the table and return a :class:`Symbol` instance." msgstr "Busca *name* en la tabla y retorna una instancia de :class:`Symbol`." -#: ../Doc/library/symtable.rst:84 +#: ../Doc/library/symtable.rst:80 msgid "Return a list of :class:`Symbol` instances for names in the table." msgstr "" "Retorna una lista de instancias de :class:`Symbol` de los nombres en la " "tabla." -#: ../Doc/library/symtable.rst:88 +#: ../Doc/library/symtable.rst:84 msgid "Return a list of the nested symbol tables." msgstr "Retorna una lista de las tablas de símbolos anidadas." -#: ../Doc/library/symtable.rst:93 +#: ../Doc/library/symtable.rst:89 msgid "" "A namespace for a function or method. This class inherits :class:" "`SymbolTable`." @@ -137,45 +132,45 @@ msgstr "" "Un espacio de nombres para una función o método. Esta clase hereda de :class:" "`SymbolTable`." -#: ../Doc/library/symtable.rst:98 +#: ../Doc/library/symtable.rst:94 msgid "Return a tuple containing names of parameters to this function." msgstr "" "Retorna una tupla conteniendo los nombres de los parámetros de esta función." -#: ../Doc/library/symtable.rst:102 +#: ../Doc/library/symtable.rst:98 msgid "Return a tuple containing names of locals in this function." msgstr "" "Retorna una tupla conteniendo los nombres de los locales en esta función." -#: ../Doc/library/symtable.rst:106 +#: ../Doc/library/symtable.rst:102 msgid "Return a tuple containing names of globals in this function." msgstr "" "Retorna una tupla conteniendo los nombres de los globales en esta función." -#: ../Doc/library/symtable.rst:110 +#: ../Doc/library/symtable.rst:106 msgid "Return a tuple containing names of nonlocals in this function." msgstr "" "Retorna una tupla conteniendo los nombres de los no locales en esta función." -#: ../Doc/library/symtable.rst:114 +#: ../Doc/library/symtable.rst:110 msgid "Return a tuple containing names of free variables in this function." msgstr "" "Retorna una tupla conteniendo los nombres de las variables libres en esta " "función." -#: ../Doc/library/symtable.rst:119 +#: ../Doc/library/symtable.rst:115 msgid "A namespace of a class. This class inherits :class:`SymbolTable`." msgstr "" "Un espacio de nombres de una clase. Esta clase hereda de :class:" "`SymbolTable`." -#: ../Doc/library/symtable.rst:123 +#: ../Doc/library/symtable.rst:119 msgid "Return a tuple containing the names of methods declared in the class." msgstr "" "Retorna una tupla conteniendo los nombres de los métodos declarados en la " "clase." -#: ../Doc/library/symtable.rst:128 +#: ../Doc/library/symtable.rst:124 msgid "" "An entry in a :class:`SymbolTable` corresponding to an identifier in the " "source. The constructor is not public." @@ -183,60 +178,65 @@ msgstr "" "Una entrada en una :class:`SymbolTable` correspondiente a un identificador " "en el código. El constructor no es público." -#: ../Doc/library/symtable.rst:133 +#: ../Doc/library/symtable.rst:129 msgid "Return the symbol's name." msgstr "Retorna el nombre del símbolo." -#: ../Doc/library/symtable.rst:137 +#: ../Doc/library/symtable.rst:133 msgid "Return ``True`` if the symbol is used in its block." msgstr "Retorna ``True`` si el símbolo es usado en su bloque." -#: ../Doc/library/symtable.rst:141 +#: ../Doc/library/symtable.rst:137 msgid "Return ``True`` if the symbol is created from an import statement." msgstr "" "Retorna ``True`` si el símbolo es creado desde una instrucción *import*." -#: ../Doc/library/symtable.rst:145 +#: ../Doc/library/symtable.rst:141 msgid "Return ``True`` if the symbol is a parameter." msgstr "Retorna ``True`` si el símbolo es un parámetro." -#: ../Doc/library/symtable.rst:149 +#: ../Doc/library/symtable.rst:145 msgid "Return ``True`` if the symbol is global." msgstr "Retorna ``True`` si el símbolo es global." -#: ../Doc/library/symtable.rst:153 +#: ../Doc/library/symtable.rst:149 msgid "Return ``True`` if the symbol is nonlocal." msgstr "Retorna ``True`` si el símbolo es no local." -#: ../Doc/library/symtable.rst:157 +#: ../Doc/library/symtable.rst:153 msgid "" "Return ``True`` if the symbol is declared global with a global statement." msgstr "" "Retorna ``True`` si el símbolo es declarado global con una instrucción " "*global*." -#: ../Doc/library/symtable.rst:161 +#: ../Doc/library/symtable.rst:157 msgid "Return ``True`` if the symbol is local to its block." msgstr "Retorna ``True`` si el símbolo es local a su bloque." -#: ../Doc/library/symtable.rst:165 +#: ../Doc/library/symtable.rst:161 +#, fuzzy +msgid "Return ``True`` if the symbol is annotated." +msgstr "Retorna ``True`` si el símbolo es no local." + +#: ../Doc/library/symtable.rst:167 msgid "" "Return ``True`` if the symbol is referenced in its block, but not assigned " "to." msgstr "" "Retorna ``True`` si el símbolo es referenciado en su bloque pero no asignado." -#: ../Doc/library/symtable.rst:170 +#: ../Doc/library/symtable.rst:172 msgid "Return ``True`` if the symbol is assigned to in its block." msgstr "Retorna ``True`` si el símbolo es asignado en su bloque." -#: ../Doc/library/symtable.rst:174 +#: ../Doc/library/symtable.rst:176 msgid "Return ``True`` if name binding introduces new namespace." msgstr "" "Retorna ``True`` si la vinculación de nombres introduce un nuevo espacio de " "nombres." -#: ../Doc/library/symtable.rst:176 +#: ../Doc/library/symtable.rst:178 msgid "" "If the name is used as the target of a function or class statement, this " "will be true." @@ -244,11 +244,11 @@ msgstr "" "Si el nombre es usado como objetivo de una instrucción *function* o *class* " "retornará verdadero." -#: ../Doc/library/symtable.rst:179 +#: ../Doc/library/symtable.rst:181 msgid "For example::" msgstr "Por ejemplo::" -#: ../Doc/library/symtable.rst:185 +#: ../Doc/library/symtable.rst:187 msgid "" "Note that a single name can be bound to multiple objects. If the result is " "``True``, the name may also be bound to other objects, like an int or list, " @@ -259,14 +259,17 @@ msgstr "" "objetos, como un entero o una lista, esto no introduce un nuevo espacio de " "nombres." -#: ../Doc/library/symtable.rst:191 +#: ../Doc/library/symtable.rst:193 msgid "Return a list of namespaces bound to this name." msgstr "Retorna una lista de espacios de nombres vinculados a este nombre." -#: ../Doc/library/symtable.rst:195 +#: ../Doc/library/symtable.rst:197 msgid "" "Return the namespace bound to this name. If more than one namespace is " "bound, :exc:`ValueError` is raised." msgstr "" "Retorna el espacio de nombres vinculado a este nombre. Si más de un espacio " "de nombres esta vinculado se lanza un :exc:`ValueError`." + +#~ msgid "Return ``True`` if the block uses ``exec``." +#~ msgstr "Retorna ``True`` si el bloque usa ``exec``." diff --git a/library/sys.po b/library/sys.po index 57ace16807..9a973d56c5 100644 --- a/library/sys.po +++ b/library/sys.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-09-17 03:18+0200\n" -"Last-Translator: Cristián Maureira-Fredes \n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/sys.rst:2 msgid ":mod:`sys` --- System-specific parameters and functions" @@ -62,11 +61,14 @@ msgstr "" "el intérprete actual." #: ../Doc/library/sys.rst:31 +#, fuzzy msgid "" "When an auditing event is raised through the :func:`sys.audit` function, " "each hook will be called in the order it was added with the event name and " "the tuple of arguments. Native hooks added by :c:func:`PySys_AddAuditHook` " -"are called first, followed by hooks added in the current interpreter." +"are called first, followed by hooks added in the current interpreter. Hooks " +"can then log the event, raise an exception to abort the operation, or " +"terminate the process entirely." msgstr "" "Cuando se genera un evento de auditoría a través de la función :func:`sys." "audit`, cada gancho será llamado en el orden en que se agregó con el nombre " @@ -74,28 +76,16 @@ msgstr "" "func:`PySys_AddAuditHook` se llaman primero, seguidos de los ganchos " "agregados en el intérprete actual." +#: ../Doc/library/sys.rst:47 +#, fuzzy msgid "" -"Raises an :ref:`auditing event ` ``sys.addaudithook`` with no " -"arguments." -msgstr "" -"Lanza un :ref:`auditing event ` ``sys.addaudithook`` sin " -"argumentos." - -#: ../Doc/library/sys.rst:38 -msgid "" -"Raise an auditing event ``sys.addaudithook`` with no arguments. If any " -"existing hooks raise an exception derived from :class:`RuntimeError`, the " -"new hook will not be added and the exception suppressed. As a result, " -"callers cannot assume that their hook has been added unless they control all " -"existing hooks." +"See the :ref:`audit events table ` for all events raised by " +"CPython, and :pep:`578` for the original design discussion." msgstr "" -"Lanza un evento de auditoría ``sys.addaudithook`` sin argumentos. Si algún " -"gancho existente genera una excepción derivada de :class:`RuntimeError`, el " -"nuevo gancho no se agregará y la excepción se suprimirá. Como resultado, las " -"personas que llaman no pueden asumir que su enlace se ha agregado a menos " -"que controlen todos los enlaces existentes." +"Consulte la :ref:`tabla de eventos de auditoría ` para todos " +"los eventos lanzados por CPython." -#: ../Doc/library/sys.rst:48 +#: ../Doc/library/sys.rst:54 msgid "" "Exceptions derived from :class:`Exception` but not :class:`RuntimeError` are " "no longer suppressed." @@ -103,7 +93,7 @@ msgstr "" "Las excepciones derivadas de :class:`Exception` pero no :class:" "`RuntimeError` ya no se suprimen." -#: ../Doc/library/sys.rst:53 +#: ../Doc/library/sys.rst:59 msgid "" "When tracing is enabled (see :func:`settrace`), Python hooks are only traced " "if the callable has a ``__cantrace__`` member that is set to a true value. " @@ -114,7 +104,7 @@ msgstr "" "que se establece en un valor verdadero. De lo contrario, las funciones de " "seguimiento omitirán el enlace." -#: ../Doc/library/sys.rst:60 +#: ../Doc/library/sys.rst:66 msgid "" "The list of command line arguments passed to a Python script. ``argv[0]`` is " "the script name (it is operating system dependent whether this is a full " @@ -131,7 +121,7 @@ msgstr "" "de secuencia de comandos al intérprete de Python, ``argv[0]`` es la cadena " "de caracteres vacía." -#: ../Doc/library/sys.rst:66 +#: ../Doc/library/sys.rst:72 msgid "" "To loop over the standard input, or the list of files given on the command " "line, see the :mod:`fileinput` module." @@ -139,7 +129,7 @@ msgstr "" "Para recorrer la entrada estándar, o la lista de archivos dada en la línea " "de comando, vea el módulo :mod:`fileinput`." -#: ../Doc/library/sys.rst:70 +#: ../Doc/library/sys.rst:76 msgid "" "On Unix, command line arguments are passed by bytes from OS. Python decodes " "them with filesystem encoding and \"surrogateescape\" error handler. When " @@ -152,29 +142,32 @@ msgstr "" "bytes originales, puede obtenerlos mediante ``[os.fsencode (arg) for arg in " "sys.argv]``." -#: ../Doc/library/sys.rst:82 +#: ../Doc/library/sys.rst:88 +msgid "" +"Raise an auditing event and trigger any active auditing hooks. *event* is a " +"string identifying the event, and *args* may contain optional arguments with " +"more information about the event. The number and types of arguments for a " +"given event are considered a public and stable API and should not be " +"modified between releases." +msgstr "" + +#: ../Doc/library/sys.rst:94 msgid "" -"Raise an auditing event with any active hooks. The event name is a string " -"identifying the event and its associated schema, which is the number and " -"types of arguments. The schema for a given event is considered public and " -"stable API and should not be modified between releases." +"For example, one auditing event is named ``os.chdir``. This event has one " +"argument called *path* that will contain the requested new working directory." msgstr "" -"Lanza un evento de auditoría con cualquier gancho activo. El nombre del " -"evento es una cadena que identifica el evento y su esquema asociado, que es " -"el número y los tipos de argumentos. El esquema de un evento determinado se " -"considera una API pública y estable y no debe modificarse entre versiones." -#: ../Doc/library/sys.rst:87 +#: ../Doc/library/sys.rst:98 msgid "" -"This function will raise the first exception raised by any hook. In general, " -"these errors should not be handled and should terminate the process as " -"quickly as possible." +":func:`sys.audit` will call the existing auditing hooks, passing the event " +"name and arguments, and will re-raise the first exception from any hook. In " +"general, if an exception is raised, it should not be handled and the process " +"should be terminated as quickly as possible. This allows hook " +"implementations to decide how to respond to particular events: they can " +"merely log the event or abort the operation by raising an exception." msgstr "" -"Esta función lanzará la primera excepción generada por cualquier gancho. En " -"general, estos errores no deben manejarse y deben terminar el proceso lo más " -"rápido posible." -#: ../Doc/library/sys.rst:91 +#: ../Doc/library/sys.rst:106 msgid "" "Hooks are added using the :func:`sys.addaudithook` or :c:func:" "`PySys_AddAuditHook` functions." @@ -182,7 +175,7 @@ msgstr "" "Los ganchos se agregan usando las funciones :func:`sys.addaudithook` o :c:" "func:`PySys_AddAuditHook`." -#: ../Doc/library/sys.rst:94 +#: ../Doc/library/sys.rst:109 msgid "" "The native equivalent of this function is :c:func:`PySys_Audit`. Using the " "native function is preferred when possible." @@ -190,7 +183,7 @@ msgstr "" "El equivalente nativo de esta función es :c:func:`PySys_Audit`. Se prefiere " "usar la función nativa cuando sea posible." -#: ../Doc/library/sys.rst:97 +#: ../Doc/library/sys.rst:112 msgid "" "See the :ref:`audit events table ` for all events raised by " "CPython." @@ -198,7 +191,7 @@ msgstr "" "Consulte la :ref:`tabla de eventos de auditoría ` para todos " "los eventos lanzados por CPython." -#: ../Doc/library/sys.rst:105 +#: ../Doc/library/sys.rst:120 msgid "" "Set during Python startup, before ``site.py`` is run, to the same value as :" "data:`exec_prefix`. If not running in a :ref:`virtual environment `, " @@ -236,7 +229,7 @@ msgstr "" "apuntando a la instalación base de Python (aquella desde la que se creó el " "entorno virtual)." -#: ../Doc/library/sys.rst:132 +#: ../Doc/library/sys.rst:147 msgid "" "An indicator of the native byte order. This will have the value ``'big'`` " "on big-endian (most-significant byte first) platforms, and ``'little'`` on " @@ -247,7 +240,7 @@ msgstr "" "``'little'`` en las plataformas little-endian (el byte menos significativo " "primero)." -#: ../Doc/library/sys.rst:139 +#: ../Doc/library/sys.rst:154 msgid "" "A tuple of strings giving the names of all modules that are compiled into " "this Python interpreter. (This information is not available in any other " @@ -258,7 +251,7 @@ msgstr "" "está disponible de ninguna otra manera --- ``modules.keys()`` solo enumera " "los módulos importados.)" -#: ../Doc/library/sys.rst:146 +#: ../Doc/library/sys.rst:161 msgid "" "Call ``func(*args)``, while tracing is enabled. The tracing state is saved, " "and restored afterwards. This is intended to be called from a debugger from " @@ -269,13 +262,13 @@ msgstr "" "ser llamado desde un depurador desde un punto de control, para depurar " "recursivamente algún otro código." -#: ../Doc/library/sys.rst:153 +#: ../Doc/library/sys.rst:168 msgid "A string containing the copyright pertaining to the Python interpreter." msgstr "" "Una cadena de caracteres que contiene los derechos de autor pertenecientes " "al intérprete de Python." -#: ../Doc/library/sys.rst:158 +#: ../Doc/library/sys.rst:173 msgid "" "Clear the internal type cache. The type cache is used to speed up attribute " "and method lookups. Use the function *only* to drop unnecessary references " @@ -286,12 +279,12 @@ msgstr "" "eliminar referencias innecesarias durante la depuración de fugas de " "referencia." -#: ../Doc/library/sys.rst:162 ../Doc/library/sys.rst:178 +#: ../Doc/library/sys.rst:177 ../Doc/library/sys.rst:193 msgid "" "This function should be used for internal and specialized purposes only." msgstr "Esta función debe usarse solo para fines internos y especializados." -#: ../Doc/library/sys.rst:167 +#: ../Doc/library/sys.rst:182 msgid "" "Return a dictionary mapping each thread's identifier to the topmost stack " "frame currently active in that thread at the time the function is called. " @@ -303,7 +296,7 @@ msgstr "" "que se llama a la función. Tenga en cuenta que las funciones en el módulo :" "mod:`traceback` pueden construir la pila de llamadas dado tal marco." -#: ../Doc/library/sys.rst:172 +#: ../Doc/library/sys.rst:187 msgid "" "This is most useful for debugging deadlock: this function does not require " "the deadlocked threads' cooperation, and such threads' call stacks are " @@ -318,7 +311,7 @@ msgstr "" "actividad actual de ese subproceso en el momento en que el código de llamada " "examina el marco." -#: ../Doc/library/sys.rst:180 +#: ../Doc/library/sys.rst:195 msgid "" "Raises an :ref:`auditing event ` ``sys._current_frames`` with no " "arguments." @@ -326,7 +319,7 @@ msgstr "" "Lanza un :ref:`auditing event ` ``sys._current_frames`` sin " "argumentos." -#: ../Doc/library/sys.rst:185 +#: ../Doc/library/sys.rst:200 msgid "" "This hook function is called by built-in :func:`breakpoint`. By default, it " "drops you into the :mod:`pdb` debugger, but it can be set to any other " @@ -337,7 +330,7 @@ msgstr "" "configurar en cualquier otra función para que pueda elegir qué depurador se " "utiliza." -#: ../Doc/library/sys.rst:189 +#: ../Doc/library/sys.rst:204 msgid "" "The signature of this function is dependent on what it calls. For example, " "the default binding (e.g. ``pdb.set_trace()``) expects no arguments, but you " @@ -353,7 +346,7 @@ msgstr "" "y ``**kws`` directamente. Lo que sea que retorne ``breakpointhooks()`` se " "retorna desde ``breakpoint()``." -#: ../Doc/library/sys.rst:196 +#: ../Doc/library/sys.rst:211 msgid "" "The default implementation first consults the environment variable :envvar:" "`PYTHONBREAKPOINT`. If that is set to ``\"0\"`` then this function returns " @@ -378,7 +371,7 @@ msgstr "" "``**kws``, y lo que sea que ``function()`` retorna, ``sys.breakpointhook()`` " "retorna a la función :func:`breakpoint`." -#: ../Doc/library/sys.rst:208 +#: ../Doc/library/sys.rst:223 msgid "" "Note that if anything goes wrong while importing the callable named by :" "envvar:`PYTHONBREAKPOINT`, a :exc:`RuntimeWarning` is reported and the " @@ -388,7 +381,7 @@ msgstr "" "envvar:`PYTHONBREAKPOINT`, se informa un :exc:`RuntimeWarning` y se ignora " "el punto de interrupción (*breakpoint*)." -#: ../Doc/library/sys.rst:212 +#: ../Doc/library/sys.rst:227 msgid "" "Also note that if ``sys.breakpointhook()`` is overridden programmatically, :" "envvar:`PYTHONBREAKPOINT` is *not* consulted." @@ -396,7 +389,7 @@ msgstr "" "También tenga en cuenta que si ``sys.breakpointhook()`` se anula mediante " "programación, :envvar:`PYTHONBREAKPOINT` *no* se consulta." -#: ../Doc/library/sys.rst:219 +#: ../Doc/library/sys.rst:234 msgid "" "Print low-level information to stderr about the state of CPython's memory " "allocator." @@ -404,7 +397,7 @@ msgstr "" "Imprime información de bajo nivel para stderr sobre el estado del asignador " "de memoria de CPython." -#: ../Doc/library/sys.rst:222 +#: ../Doc/library/sys.rst:237 msgid "" "If Python is configured --with-pydebug, it also performs some expensive " "internal consistency checks." @@ -412,7 +405,7 @@ msgstr "" "Si Python está configurado --with-pydebug, también realiza algunas " "comprobaciones de consistencia internas costosas." -#: ../Doc/library/sys.rst:229 +#: ../Doc/library/sys.rst:244 msgid "" "This function is specific to CPython. The exact output format is not " "defined here, and may change." @@ -420,16 +413,16 @@ msgstr "" "Esta función es específica de CPython. El formato exacto de salida no se " "define aquí y puede cambiar." -#: ../Doc/library/sys.rst:235 +#: ../Doc/library/sys.rst:250 msgid "Integer specifying the handle of the Python DLL." msgstr "Número entero que especifica el identificador de la DLL de Python." -#: ../Doc/library/sys.rst:237 ../Doc/library/sys.rst:772 -#: ../Doc/library/sys.rst:1428 ../Doc/library/sys.rst:1634 +#: ../Doc/library/sys.rst:252 ../Doc/library/sys.rst:786 +#: ../Doc/library/sys.rst:1449 ../Doc/library/sys.rst:1661 msgid ":ref:`Availability `: Windows." msgstr ":ref:`Disponibilidad `: Windows." -#: ../Doc/library/sys.rst:242 +#: ../Doc/library/sys.rst:257 msgid "" "If *value* is not ``None``, this function prints ``repr(value)`` to ``sys." "stdout``, and saves *value* in ``builtins._``. If ``repr(value)`` is not " @@ -443,7 +436,7 @@ msgstr "" "stdout.errors`` (que probablemente sea ``'strict'``), codifíquelo para ``sys." "stdout.encoding`` con el controlador de errores ``'backslashreplace'``." -#: ../Doc/library/sys.rst:248 +#: ../Doc/library/sys.rst:263 msgid "" "``sys.displayhook`` is called on the result of evaluating an :term:" "`expression` entered in an interactive Python session. The display of these " @@ -455,17 +448,17 @@ msgstr "" "de estos valores se puede personalizar asignando otra función de un " "argumento a ``sys.displayhook``." -#: ../Doc/library/sys.rst:252 +#: ../Doc/library/sys.rst:267 msgid "Pseudo-code::" msgstr "Pseudo-código::" -#: ../Doc/library/sys.rst:272 +#: ../Doc/library/sys.rst:287 msgid "Use ``'backslashreplace'`` error handler on :exc:`UnicodeEncodeError`." msgstr "" "Usa el manejador de error ``'backslashreplace'`` en :exc:" "`UnicodeEncodeError`." -#: ../Doc/library/sys.rst:278 +#: ../Doc/library/sys.rst:293 msgid "" "If this is true, Python won't try to write ``.pyc`` files on the import of " "source modules. This value is initially set to ``True`` or ``False`` " @@ -480,7 +473,7 @@ msgstr "" "configurarlo usted mismo para controlar el código de bytes generación de " "archivos." -#: ../Doc/library/sys.rst:287 +#: ../Doc/library/sys.rst:302 msgid "" "If this is set (not ``None``), Python will write bytecode-cache ``.pyc`` " "files to (and read them from) a parallel directory tree rooted at this " @@ -500,14 +493,14 @@ msgstr "" "ejecutarlo con el mismo prefijo de pycache (si lo hay) que usará en tiempo " "de ejecución." -#: ../Doc/library/sys.rst:295 +#: ../Doc/library/sys.rst:310 msgid "" "A relative path is interpreted relative to the current working directory." msgstr "" "Una ruta relativa se interpreta en relación con el directorio de directorio " "actual." -#: ../Doc/library/sys.rst:297 +#: ../Doc/library/sys.rst:312 msgid "" "This value is initially set based on the value of the :option:`-X` " "``pycache_prefix=PATH`` command-line option or the :envvar:" @@ -519,13 +512,13 @@ msgstr "" "entorno :envvar:`PYTHONPYCACHEPREFIX` (la línea de comandos tiene " "prioridad). Si no se establece ninguno, es ``None``." -#: ../Doc/library/sys.rst:307 +#: ../Doc/library/sys.rst:322 msgid "" "This function prints out a given traceback and exception to ``sys.stderr``." msgstr "" "Esta función imprime un rastreo y una excepción dados a ``sys.stderr``." -#: ../Doc/library/sys.rst:309 +#: ../Doc/library/sys.rst:324 msgid "" "When an exception is raised and uncaught, the interpreter calls ``sys." "excepthook`` with three arguments, the exception class, exception instance, " @@ -543,6 +536,7 @@ msgstr "" "excepciones de nivel superior se puede personalizar asignando otra función " "de tres argumentos a ``sys.excepthook``." +#: ../Doc/library/sys.rst:331 msgid "" "Raises an :ref:`auditing event ` ``sys.excepthook`` with arguments " "``hook``, ``type``, ``value``, ``traceback``." @@ -550,7 +544,7 @@ msgstr "" "Lanza un :ref:`auditing event ` ``sys.excepthook`` con argumentos " "``hook``, ``type``, ``value``, ``traceback``." -#: ../Doc/library/sys.rst:318 +#: ../Doc/library/sys.rst:333 msgid "" "Raise an auditing event ``sys.excepthook`` with arguments ``hook``, " "``type``, ``value``, ``traceback`` when an uncaught exception occurs. If no " @@ -567,7 +561,7 @@ msgstr "" "informará que la excepción del gancho de auditoría no se puede evaluar y se " "llamará a ``sys.excepthook``." -#: ../Doc/library/sys.rst:327 +#: ../Doc/library/sys.rst:342 msgid "" "The :func:`sys.unraisablehook` function handles unraisable exceptions and " "the :func:`threading.excepthook` function handles exception raised by :func:" @@ -577,7 +571,7 @@ msgstr "" "pueden evaluar y la función :func:`threading.excepthook` maneja la excepción " "lanzada por :func:`threading.Thread.run`." -#: ../Doc/library/sys.rst:337 +#: ../Doc/library/sys.rst:352 msgid "" "These objects contain the original values of ``breakpointhook``, " "``displayhook``, ``excepthook``, and ``unraisablehook`` at the start of the " @@ -591,15 +585,15 @@ msgstr "" "``unraisablehook`` se puedan restaurar en caso de que sean reemplazados por " "objetos rotos o alternativos." -#: ../Doc/library/sys.rst:343 +#: ../Doc/library/sys.rst:358 msgid "__breakpointhook__" msgstr "__breakpointhook__" -#: ../Doc/library/sys.rst:346 +#: ../Doc/library/sys.rst:361 msgid "__unraisablehook__" msgstr "__unraisablehook__" -#: ../Doc/library/sys.rst:351 +#: ../Doc/library/sys.rst:366 msgid "" "This function returns a tuple of three values that give information about " "the exception that is currently being handled. The information returned is " @@ -620,7 +614,7 @@ msgstr "" "cláusula except\". Para cualquier marco de pila, solo se puede acceder a la " "información sobre la excepción que se maneja actualmente." -#: ../Doc/library/sys.rst:362 +#: ../Doc/library/sys.rst:377 msgid "" "If no exception is being handled anywhere on the stack, a tuple containing " "three ``None`` values is returned. Otherwise, the values returned are " @@ -639,7 +633,7 @@ msgstr "" "` que encapsula la pila de llamadas en el punto donde " "ocurrió originalmente la excepción." -#: ../Doc/library/sys.rst:373 +#: ../Doc/library/sys.rst:388 msgid "" "A string giving the site-specific directory prefix where the platform-" "dependent Python files are installed; by default, this is also ``'/usr/" @@ -661,7 +655,7 @@ msgstr "" "en :file:`{exec_prefix}/lib/python{XY}/lib-dynload`, donde *XY* es el número " "de versión de Python, por ejemplo,``3.2``." -#: ../Doc/library/sys.rst:384 +#: ../Doc/library/sys.rst:399 msgid "" "If a :ref:`virtual environment ` is in effect, this value will be " "changed in ``site.py`` to point to the virtual environment. The value for " @@ -673,7 +667,7 @@ msgstr "" "instalación de Python seguirá estando disponible a través de :data:" "`base_exec_prefix`." -#: ../Doc/library/sys.rst:392 +#: ../Doc/library/sys.rst:407 msgid "" "A string giving the absolute path of the executable binary for the Python " "interpreter, on systems where this makes sense. If Python is unable to " @@ -685,7 +679,7 @@ msgstr "" "sentido. Si Python no puede recuperar la ruta real a su ejecutable, :data:" "`sys.executable` será una cadena de caracteres vacía o ``None``." -#: ../Doc/library/sys.rst:400 +#: ../Doc/library/sys.rst:415 msgid "" "Exit from Python. This is implemented by raising the :exc:`SystemExit` " "exception, so cleanup actions specified by finally clauses of :keyword:`try` " @@ -697,7 +691,7 @@ msgstr "" "finalmente de las declaraciones :keyword:`try` son respetadas y es posible " "interceptar el intento de salida en un nivel externo." -#: ../Doc/library/sys.rst:405 +#: ../Doc/library/sys.rst:420 msgid "" "The optional argument *arg* can be an integer giving the exit status " "(defaulting to zero), or another type of object. If it is an integer, zero " @@ -726,7 +720,7 @@ msgstr "" "código de salida de 1. En particular, ``sys.exit(\"algún mensaje de error" "\")`` es una forma rápida de salir de un programa cuando ocurre un error." -#: ../Doc/library/sys.rst:418 +#: ../Doc/library/sys.rst:433 msgid "" "Since :func:`exit` ultimately \"only\" raises an exception, it will only " "exit the process when called from the main thread, and the exception is not " @@ -736,7 +730,7 @@ msgstr "" "del proceso cuando sea llamado desde el hilo principal, y la excepción no es " "interceptada." -#: ../Doc/library/sys.rst:422 +#: ../Doc/library/sys.rst:437 msgid "" "If an error occurs in the cleanup after the Python interpreter has caught :" "exc:`SystemExit` (such as an error flushing buffered data in the standard " @@ -747,7 +741,7 @@ msgstr "" "almacenados en el búfer en los flujos estándar), el estado de salida cambia " "a 120." -#: ../Doc/library/sys.rst:430 +#: ../Doc/library/sys.rst:445 msgid "" "The :term:`named tuple` *flags* exposes the status of command line flags. " "The attributes are read only." @@ -755,157 +749,160 @@ msgstr "" "El :term:`named tuple` *flags* expone el estado de los indicadores de la " "línea de comando. Los atributos son de solo lectura." -#: ../Doc/library/sys.rst:434 ../Doc/library/sys.rst:482 -#: ../Doc/library/sys.rst:817 +#: ../Doc/library/sys.rst:449 ../Doc/library/sys.rst:498 +#: ../Doc/library/sys.rst:831 msgid "attribute" msgstr "atributo" -#: ../Doc/library/sys.rst:434 +#: ../Doc/library/sys.rst:449 msgid "flag" msgstr "flag" -#: ../Doc/library/sys.rst:436 +#: ../Doc/library/sys.rst:451 msgid ":const:`debug`" msgstr ":const:`debug`" -#: ../Doc/library/sys.rst:436 +#: ../Doc/library/sys.rst:451 msgid ":option:`-d`" msgstr ":option:`-d`" -#: ../Doc/library/sys.rst:437 +#: ../Doc/library/sys.rst:452 msgid ":const:`inspect`" msgstr ":const:`inspect`" -#: ../Doc/library/sys.rst:437 ../Doc/library/sys.rst:438 +#: ../Doc/library/sys.rst:452 ../Doc/library/sys.rst:453 msgid ":option:`-i`" msgstr ":option:`-i`" -#: ../Doc/library/sys.rst:438 +#: ../Doc/library/sys.rst:453 msgid ":const:`interactive`" msgstr ":const:`interactive`" -#: ../Doc/library/sys.rst:439 +#: ../Doc/library/sys.rst:454 msgid ":const:`isolated`" msgstr ":const:`isolated`" -#: ../Doc/library/sys.rst:439 +#: ../Doc/library/sys.rst:454 msgid ":option:`-I`" msgstr ":option:`-I`" -#: ../Doc/library/sys.rst:440 +#: ../Doc/library/sys.rst:455 msgid ":const:`optimize`" msgstr ":const:`optimize`" -#: ../Doc/library/sys.rst:440 +#: ../Doc/library/sys.rst:455 msgid ":option:`-O` or :option:`-OO`" msgstr ":option:`-O` o :option:`-OO`" -#: ../Doc/library/sys.rst:441 +#: ../Doc/library/sys.rst:456 msgid ":const:`dont_write_bytecode`" msgstr ":const:`dont_write_bytecode`" -#: ../Doc/library/sys.rst:441 +#: ../Doc/library/sys.rst:456 msgid ":option:`-B`" msgstr ":option:`-B`" -#: ../Doc/library/sys.rst:442 +#: ../Doc/library/sys.rst:457 msgid ":const:`no_user_site`" msgstr ":const:`no_user_site`" -#: ../Doc/library/sys.rst:442 +#: ../Doc/library/sys.rst:457 msgid ":option:`-s`" msgstr ":option:`-s`" -#: ../Doc/library/sys.rst:443 +#: ../Doc/library/sys.rst:458 msgid ":const:`no_site`" msgstr ":const:`no_site`" -#: ../Doc/library/sys.rst:443 +#: ../Doc/library/sys.rst:458 msgid ":option:`-S`" msgstr ":option:`-S`" -#: ../Doc/library/sys.rst:444 +#: ../Doc/library/sys.rst:459 msgid ":const:`ignore_environment`" msgstr ":const:`ignore_environment`" -#: ../Doc/library/sys.rst:444 +#: ../Doc/library/sys.rst:459 msgid ":option:`-E`" msgstr ":option:`-E`" -#: ../Doc/library/sys.rst:445 +#: ../Doc/library/sys.rst:460 msgid ":const:`verbose`" msgstr ":const:`verbose`" -#: ../Doc/library/sys.rst:445 +#: ../Doc/library/sys.rst:460 msgid ":option:`-v`" msgstr ":option:`-v`" -#: ../Doc/library/sys.rst:446 +#: ../Doc/library/sys.rst:461 msgid ":const:`bytes_warning`" msgstr ":const:`bytes_warning`" -#: ../Doc/library/sys.rst:446 +#: ../Doc/library/sys.rst:461 msgid ":option:`-b`" msgstr ":option:`-b`" -#: ../Doc/library/sys.rst:447 +#: ../Doc/library/sys.rst:462 msgid ":const:`quiet`" msgstr ":const:`quiet`" -#: ../Doc/library/sys.rst:447 +#: ../Doc/library/sys.rst:462 msgid ":option:`-q`" msgstr ":option:`-q`" -#: ../Doc/library/sys.rst:448 +#: ../Doc/library/sys.rst:463 msgid ":const:`hash_randomization`" msgstr ":const:`hash_randomization`" -#: ../Doc/library/sys.rst:448 +#: ../Doc/library/sys.rst:463 msgid ":option:`-R`" msgstr ":option:`-R`" -#: ../Doc/library/sys.rst:449 +#: ../Doc/library/sys.rst:464 msgid ":const:`dev_mode`" msgstr ":const:`dev_mode`" -#: ../Doc/library/sys.rst:449 -msgid ":option:`-X` ``dev``" -msgstr ":option:`-X` ``dev``" +#: ../Doc/library/sys.rst:464 +msgid ":option:`-X dev <-X>` (:ref:`Python Development Mode `)" +msgstr "" -#: ../Doc/library/sys.rst:450 +#: ../Doc/library/sys.rst:465 msgid ":const:`utf8_mode`" msgstr ":const:`utf8_mode`" -#: ../Doc/library/sys.rst:450 -msgid ":option:`-X` ``utf8``" +#: ../Doc/library/sys.rst:465 +#, fuzzy +msgid ":option:`-X utf8 <-X>`" msgstr ":option:`-X` ``utf8``" -#: ../Doc/library/sys.rst:453 +#: ../Doc/library/sys.rst:468 msgid "Added ``quiet`` attribute for the new :option:`-q` flag." msgstr "Agregado el atributo ``quiet`` para el nuevo flag :option:`-q`." -#: ../Doc/library/sys.rst:456 +#: ../Doc/library/sys.rst:471 msgid "The ``hash_randomization`` attribute." msgstr "El atributo ``hash_randomization``." -#: ../Doc/library/sys.rst:459 +#: ../Doc/library/sys.rst:474 msgid "Removed obsolete ``division_warning`` attribute." msgstr "Eliminado el atributo obsoleto ``division_warning``." -#: ../Doc/library/sys.rst:462 +#: ../Doc/library/sys.rst:477 msgid "Added ``isolated`` attribute for :option:`-I` ``isolated`` flag." msgstr "" "Agregado el atributo ``isolated`` para el flag :option:`-I` ``isolated``." -#: ../Doc/library/sys.rst:465 +#: ../Doc/library/sys.rst:480 +#, fuzzy msgid "" -"Added ``dev_mode`` attribute for the new :option:`-X` ``dev`` flag and " -"``utf8_mode`` attribute for the new :option:`-X` ``utf8`` flag." +"Added the ``dev_mode`` attribute for the new :ref:`Python Development Mode " +"` and the ``utf8_mode`` attribute for the new :option:`-X` " +"``utf8`` flag." msgstr "" "Se agregó el atributo ``dev_mode`` para el nuevo flag :option:`-X` ``dev`` y " "el atributo ``utf8_mode`` para la nueva :option:`-X` ``utf8``." -#: ../Doc/library/sys.rst:472 +#: ../Doc/library/sys.rst:488 msgid "" "A :term:`named tuple` holding information about the float type. It contains " "low level information about the precision and internal representation. The " @@ -922,23 +919,23 @@ msgstr "" "IEC* C de 1999 [C99]_, 'Características de los tipos flotantes', para " "obtener más detalles." -#: ../Doc/library/sys.rst:482 +#: ../Doc/library/sys.rst:498 msgid "float.h macro" msgstr "macro float.h" -#: ../Doc/library/sys.rst:482 ../Doc/library/sys.rst:817 +#: ../Doc/library/sys.rst:498 ../Doc/library/sys.rst:831 msgid "explanation" msgstr "explicación" -#: ../Doc/library/sys.rst:484 +#: ../Doc/library/sys.rst:500 msgid ":const:`epsilon`" msgstr ":const:`epsilon`" -#: ../Doc/library/sys.rst:484 +#: ../Doc/library/sys.rst:500 msgid "DBL_EPSILON" msgstr "DBL_EPSILON" -#: ../Doc/library/sys.rst:484 +#: ../Doc/library/sys.rst:500 msgid "" "difference between 1.0 and the least value greater than 1.0 that is " "representable as a float" @@ -946,15 +943,19 @@ msgstr "" "diferencia entre 1.0 y el menor valor mayor que 1.0 que es representable " "como flotante" -#: ../Doc/library/sys.rst:487 +#: ../Doc/library/sys.rst:503 +msgid "See also :func:`math.ulp`." +msgstr "" + +#: ../Doc/library/sys.rst:505 msgid ":const:`dig`" msgstr ":const:`dig`" -#: ../Doc/library/sys.rst:487 +#: ../Doc/library/sys.rst:505 msgid "DBL_DIG" msgstr "DBL_DIG" -#: ../Doc/library/sys.rst:487 +#: ../Doc/library/sys.rst:505 msgid "" "maximum number of decimal digits that can be faithfully represented in a " "float; see below" @@ -962,15 +963,15 @@ msgstr "" "número máximo de dígitos decimales que se pueden representar fielmente en un " "flotante; véase a continuación" -#: ../Doc/library/sys.rst:490 +#: ../Doc/library/sys.rst:508 msgid ":const:`mant_dig`" msgstr ":const:`mant_dig`" -#: ../Doc/library/sys.rst:490 +#: ../Doc/library/sys.rst:508 msgid "DBL_MANT_DIG" msgstr "DBL_MANT_DIG" -#: ../Doc/library/sys.rst:490 +#: ../Doc/library/sys.rst:508 msgid "" "float precision: the number of base-``radix`` digits in the significand of a " "float" @@ -978,27 +979,27 @@ msgstr "" "precisión de flotantes: el número de dígitos base-``radix`` en el " "significando de un flotante" -#: ../Doc/library/sys.rst:493 +#: ../Doc/library/sys.rst:511 msgid ":const:`max`" msgstr ":const:`max`" -#: ../Doc/library/sys.rst:493 +#: ../Doc/library/sys.rst:511 msgid "DBL_MAX" msgstr "DBL_MAX" -#: ../Doc/library/sys.rst:493 +#: ../Doc/library/sys.rst:511 msgid "maximum representable positive finite float" msgstr "máximo punto flotante positivo representable" -#: ../Doc/library/sys.rst:495 +#: ../Doc/library/sys.rst:513 msgid ":const:`max_exp`" msgstr ":const:`max_exp`" -#: ../Doc/library/sys.rst:495 +#: ../Doc/library/sys.rst:513 msgid "DBL_MAX_EXP" msgstr "DBL_MAX_EXP" -#: ../Doc/library/sys.rst:495 +#: ../Doc/library/sys.rst:513 msgid "" "maximum integer *e* such that ``radix**(e-1)`` is a representable finite " "float" @@ -1006,15 +1007,15 @@ msgstr "" "entero máximo *e* tal que ``radix**(e-1)`` es un flotante finito " "representable" -#: ../Doc/library/sys.rst:498 +#: ../Doc/library/sys.rst:516 msgid ":const:`max_10_exp`" msgstr ":const:`max_10_exp`" -#: ../Doc/library/sys.rst:498 +#: ../Doc/library/sys.rst:516 msgid "DBL_MAX_10_EXP" msgstr "DBL_MAX_10_EXP" -#: ../Doc/library/sys.rst:498 +#: ../Doc/library/sys.rst:516 msgid "" "maximum integer *e* such that ``10**e`` is in the range of representable " "finite floats" @@ -1022,63 +1023,69 @@ msgstr "" "entero máximo *e* tal que ``10**e`` está en el rango de flotantes finitos " "representables" -#: ../Doc/library/sys.rst:501 +#: ../Doc/library/sys.rst:519 msgid ":const:`min`" msgstr ":const:`min`" -#: ../Doc/library/sys.rst:501 +#: ../Doc/library/sys.rst:519 msgid "DBL_MIN" msgstr "DBL_MIN" -#: ../Doc/library/sys.rst:501 +#: ../Doc/library/sys.rst:519 msgid "minimum representable positive *normalized* float" msgstr "flotante *normalizado* mínimo representable positivo" -#: ../Doc/library/sys.rst:503 +#: ../Doc/library/sys.rst:521 +msgid "" +"Use :func:`math.ulp(0.0) ` to get the smallest positive " +"*denormalized* representable float." +msgstr "" + +#: ../Doc/library/sys.rst:525 msgid ":const:`min_exp`" msgstr ":const:`min_exp`" -#: ../Doc/library/sys.rst:503 +#: ../Doc/library/sys.rst:525 msgid "DBL_MIN_EXP" msgstr "DBL_MIN_EXP" -#: ../Doc/library/sys.rst:503 +#: ../Doc/library/sys.rst:525 msgid "minimum integer *e* such that ``radix**(e-1)`` is a normalized float" msgstr "entero mínimo *e* tal que ``radix**(e-1)`` es un flotante normalizado" -#: ../Doc/library/sys.rst:506 +#: ../Doc/library/sys.rst:528 msgid ":const:`min_10_exp`" msgstr ":const:`min_10_exp`" -#: ../Doc/library/sys.rst:506 +#: ../Doc/library/sys.rst:528 msgid "DBL_MIN_10_EXP" msgstr "DBL_MIN_10_EXP" -#: ../Doc/library/sys.rst:506 +#: ../Doc/library/sys.rst:528 msgid "minimum integer *e* such that ``10**e`` is a normalized float" msgstr "entero mínimo *e* tal que ``10**e`` es un valor flotante normalizado" -#: ../Doc/library/sys.rst:509 +#: ../Doc/library/sys.rst:531 msgid ":const:`radix`" msgstr ":const:`radix`" -#: ../Doc/library/sys.rst:509 +#: ../Doc/library/sys.rst:531 msgid "FLT_RADIX" msgstr "FLT_RADIX" -#: ../Doc/library/sys.rst:509 +#: ../Doc/library/sys.rst:531 msgid "radix of exponent representation" msgstr "base de representación de exponente" -#: ../Doc/library/sys.rst:511 +#: ../Doc/library/sys.rst:533 msgid ":const:`rounds`" msgstr ":const:`rounds`" -#: ../Doc/library/sys.rst:511 +#: ../Doc/library/sys.rst:533 msgid "FLT_ROUNDS" msgstr "FLT_ROUNDS" -#: ../Doc/library/sys.rst:511 +#: ../Doc/library/sys.rst:533 msgid "" "integer constant representing the rounding mode used for arithmetic " "operations. This reflects the value of the system FLT_ROUNDS macro at " @@ -1091,7 +1098,7 @@ msgstr "" "5.2.4.2.2 del estándar C99 para obtener una explicación de los posibles " "valores y sus significados." -#: ../Doc/library/sys.rst:519 +#: ../Doc/library/sys.rst:541 msgid "" "The attribute :attr:`sys.float_info.dig` needs further explanation. If " "``s`` is any string representing a decimal number with at most :attr:`sys." @@ -1104,7 +1111,7 @@ msgstr "" "flotante y viceversa recuperará una cadena que representa el mismo decimal " "valor::" -#: ../Doc/library/sys.rst:532 +#: ../Doc/library/sys.rst:554 msgid "" "But for strings with more than :attr:`sys.float_info.dig` significant " "digits, this isn't always true::" @@ -1112,7 +1119,7 @@ msgstr "" "Pero para cadenas con más de :attr:`sys.float_info.dig` dígitos " "significativos, esto no siempre es cierto:" -#: ../Doc/library/sys.rst:541 +#: ../Doc/library/sys.rst:563 msgid "" "A string indicating how the :func:`repr` function behaves for floats. If " "the string has value ``'short'`` then for a finite float ``x``, ``repr(x)`` " @@ -1129,7 +1136,7 @@ msgstr "" "``float_repr_style`` tiene el valor ``'legacy'`` y ``repr(x)`` se comporta " "de la misma manera que en las versiones de Python anteriores a la 3.1." -#: ../Doc/library/sys.rst:554 +#: ../Doc/library/sys.rst:576 msgid "" "Return the number of memory blocks currently allocated by the interpreter, " "regardless of their size. This function is mainly useful for tracking and " @@ -1145,7 +1152,7 @@ msgstr "" "puede que tenga que llamar a :func:`_clear_type_cache()` y :func:`gc." "collect()` para obtener resultados más predecibles." -#: ../Doc/library/sys.rst:561 +#: ../Doc/library/sys.rst:583 msgid "" "If a Python build or implementation cannot reasonably compute this " "information, :func:`getallocatedblocks()` is allowed to return 0 instead." @@ -1154,28 +1161,17 @@ msgstr "" "razonablemente esta información, :func:`getallocatedblocks()` puede retornar " "0 en su lugar." -#: ../Doc/library/sys.rst:569 +#: ../Doc/library/sys.rst:591 msgid "Return the build time API version of Android as an integer." msgstr "" "Retorna la versión de la API de tiempo de compilación de Android como un " "número entero." -#: ../Doc/library/sys.rst:572 +#: ../Doc/library/sys.rst:594 msgid ":ref:`Availability `: Android." msgstr ":ref:`Disponibilidad `: Android." -#: ../Doc/library/sys.rst:578 -msgid "" -"Return the interpreter's \"check interval\"; see :func:`setcheckinterval`." -msgstr "" -"Retorna el \"intervalo de verificación\" del intérprete; ver :func:" -"`setcheckinterval`." - -#: ../Doc/library/sys.rst:580 -msgid "Use :func:`getswitchinterval` instead." -msgstr "Use :func:`getswitchinterval` en su lugar." - -#: ../Doc/library/sys.rst:586 +#: ../Doc/library/sys.rst:600 msgid "" "Return the name of the current default string encoding used by the Unicode " "implementation." @@ -1183,7 +1179,7 @@ msgstr "" "Retorna el nombre de la codificación de cadena predeterminada actual " "utilizada por la implementación de Unicode." -#: ../Doc/library/sys.rst:592 +#: ../Doc/library/sys.rst:606 msgid "" "Return the current value of the flags that are used for :c:func:`dlopen` " "calls. Symbolic names for the flag values can be found in the :mod:`os` " @@ -1194,11 +1190,11 @@ msgstr "" "encontrar en el módulo :mod:`os` (constantes ``RTLD_xxx``, por ejemplo :data:" "`os.RTLD_LAZY`)." -#: ../Doc/library/sys.rst:597 ../Doc/library/sys.rst:1201 +#: ../Doc/library/sys.rst:611 ../Doc/library/sys.rst:1222 msgid ":ref:`Availability `: Unix." msgstr ":ref:`Disponibilidad `: Unix." -#: ../Doc/library/sys.rst:602 +#: ../Doc/library/sys.rst:616 msgid "" "Return the name of the encoding used to convert between Unicode filenames " "and bytes filenames. For best compatibility, str should be used for " @@ -1214,11 +1210,11 @@ msgstr "" "admitir str o bytes y se deben convertir internamente a la representación " "preferida del sistema." -#: ../Doc/library/sys.rst:609 +#: ../Doc/library/sys.rst:623 msgid "This encoding is always ASCII-compatible." msgstr "Esta codificación es siempre compatible con ASCII." -#: ../Doc/library/sys.rst:611 ../Doc/library/sys.rst:644 +#: ../Doc/library/sys.rst:625 ../Doc/library/sys.rst:658 msgid "" ":func:`os.fsencode` and :func:`os.fsdecode` should be used to ensure that " "the correct encoding and errors mode are used." @@ -1226,20 +1222,20 @@ msgstr "" ":func:`os.fsencode` y :func:`os.fsdecode` deben usarse para garantizar que " "se utilizan la codificación correcta y el modo de errores." -#: ../Doc/library/sys.rst:614 +#: ../Doc/library/sys.rst:628 msgid "In the UTF-8 mode, the encoding is ``utf-8`` on any platform." msgstr "" "En el modo UTF-8, la codificación es ``utf-8`` en cualquier plataforma." -#: ../Doc/library/sys.rst:616 +#: ../Doc/library/sys.rst:630 msgid "On macOS, the encoding is ``'utf-8'``." msgstr "En macOS, la codificación es ``'utf-8'``." -#: ../Doc/library/sys.rst:618 +#: ../Doc/library/sys.rst:632 msgid "On Unix, the encoding is the locale encoding." msgstr "En Unix, la codificación es la codificación local." -#: ../Doc/library/sys.rst:620 +#: ../Doc/library/sys.rst:634 msgid "" "On Windows, the encoding may be ``'utf-8'`` or ``'mbcs'``, depending on user " "configuration." @@ -1247,20 +1243,20 @@ msgstr "" "En Windows, la codificación puede ser ``'utf-8'`` o ``'mbcs'``, según la " "configuración del usuario." -#: ../Doc/library/sys.rst:623 +#: ../Doc/library/sys.rst:637 msgid "On Android, the encoding is ``'utf-8'``." msgstr "En Android, la codificación es ``'utf-8'``." -#: ../Doc/library/sys.rst:625 +#: ../Doc/library/sys.rst:639 msgid "On VxWorks, the encoding is ``'utf-8'``." msgstr "En VxWorks, la codificación es ``'utf-8'``." -#: ../Doc/library/sys.rst:627 +#: ../Doc/library/sys.rst:641 msgid ":func:`getfilesystemencoding` result cannot be ``None`` anymore." msgstr "" "el resultado de :func:`getfilesystemencoding` ya no puede ser ``None``." -#: ../Doc/library/sys.rst:630 +#: ../Doc/library/sys.rst:644 msgid "" "Windows is no longer guaranteed to return ``'mbcs'``. See :pep:`529` and :" "func:`_enablelegacywindowsfsencoding` for more information." @@ -1268,11 +1264,11 @@ msgstr "" "Ya no se garantiza que Windows retorne ``'mbcs'``. Consulte :pep:`529` y :" "func:`_enablelegacywindowsfsencoding` para obtener más información." -#: ../Doc/library/sys.rst:634 +#: ../Doc/library/sys.rst:648 msgid "Return 'utf-8' in the UTF-8 mode." msgstr "Retorna 'utf-8' en el modo UTF-8." -#: ../Doc/library/sys.rst:640 +#: ../Doc/library/sys.rst:654 msgid "" "Return the name of the error mode used to convert between Unicode filenames " "and bytes filenames. The encoding name is returned from :func:" @@ -1282,7 +1278,7 @@ msgstr "" "de archivo Unicode y nombres de archivo en bytes. El nombre de la " "codificación se retorna desde :func:`getfilesystemencoding`." -#: ../Doc/library/sys.rst:651 +#: ../Doc/library/sys.rst:665 msgid "" "Return the reference count of the *object*. The count returned is generally " "one higher than you might expect, because it includes the (temporary) " @@ -1292,7 +1288,7 @@ msgstr "" "generalmente uno más alto de lo que cabría esperar, porque incluye la " "referencia (temporal) como argumento para :func:`getrefcount`." -#: ../Doc/library/sys.rst:658 +#: ../Doc/library/sys.rst:672 msgid "" "Return the current value of the recursion limit, the maximum depth of the " "Python interpreter stack. This limit prevents infinite recursion from " @@ -1304,7 +1300,7 @@ msgstr "" "infinita cause un desbordamiento de la pila C y bloquee Python. Se puede " "configurar mediante :func:`setrecursionlimit`." -#: ../Doc/library/sys.rst:666 +#: ../Doc/library/sys.rst:680 msgid "" "Return the size of an object in bytes. The object can be any type of object. " "All built-in objects will return correct results, but this does not have to " @@ -1315,7 +1311,7 @@ msgstr "" "pero esto no tiene por qué ser cierto para las extensiones de terceros, ya " "que es una implementación específica." -#: ../Doc/library/sys.rst:671 +#: ../Doc/library/sys.rst:685 msgid "" "Only the memory consumption directly attributed to the object is accounted " "for, not the memory consumption of objects it refers to." @@ -1323,7 +1319,7 @@ msgstr "" "Solo se tiene en cuenta el consumo de memoria atribuido directamente al " "objeto, no el consumo de memoria de los objetos a los que se refiere." -#: ../Doc/library/sys.rst:674 +#: ../Doc/library/sys.rst:688 msgid "" "If given, *default* will be returned if the object does not provide means to " "retrieve the size. Otherwise a :exc:`TypeError` will be raised." @@ -1332,7 +1328,7 @@ msgstr "" "los medios para recuperar el tamaño. De lo contrario, se generará un :exc:" "`TypeError`." -#: ../Doc/library/sys.rst:677 +#: ../Doc/library/sys.rst:691 msgid "" ":func:`getsizeof` calls the object's ``__sizeof__`` method and adds an " "additional garbage collector overhead if the object is managed by the " @@ -1342,7 +1338,7 @@ msgstr "" "sobrecarga adicional del recolector de basura si el objeto es administrado " "por el recolector de basura." -#: ../Doc/library/sys.rst:681 +#: ../Doc/library/sys.rst:695 msgid "" "See `recursive sizeof recipe `_ " "for an example of using :func:`getsizeof` recursively to find the size of " @@ -1352,7 +1348,7 @@ msgstr "" "recipes/577504>`_ para ver un ejemplo del uso de :func:`getsizeof` de forma " "recursiva para encontrar el tamaño de los contenedores y todo su contenido." -#: ../Doc/library/sys.rst:687 +#: ../Doc/library/sys.rst:701 msgid "" "Return the interpreter's \"thread switch interval\"; see :func:" "`setswitchinterval`." @@ -1360,7 +1356,7 @@ msgstr "" "Retorna el \"intervalo de cambio de hilo\" del intérprete; ver :func:" "`setswitchinterval`." -#: ../Doc/library/sys.rst:695 +#: ../Doc/library/sys.rst:709 msgid "" "Return a frame object from the call stack. If optional integer *depth* is " "given, return the frame object that many calls below the top of the stack. " @@ -1374,14 +1370,14 @@ msgstr "" "de llamadas, se lanza :exc:`ValueError`. El valor predeterminado de *depth* " "es cero, lo que retorna el marco en la parte superior de la pila de llamadas." -#: ../Doc/library/sys.rst:701 +#: ../Doc/library/sys.rst:714 msgid "" "Raises an :ref:`auditing event ` ``sys._getframe`` with no " "arguments." msgstr "" "Lanza un :ref:`auditing event ` ``sys._getframe`` sin argumentos." -#: ../Doc/library/sys.rst:704 +#: ../Doc/library/sys.rst:718 msgid "" "This function should be used for internal and specialized purposes only. It " "is not guaranteed to exist in all implementations of Python." @@ -1390,18 +1386,18 @@ msgstr "" "especializados. No se garantiza que exista en todas las implementaciones de " "Python." -#: ../Doc/library/sys.rst:714 +#: ../Doc/library/sys.rst:728 msgid "Get the profiler function as set by :func:`setprofile`." msgstr "" "Obtiene la función de generador de perfiles establecida por :func:" "`setprofile`." -#: ../Doc/library/sys.rst:723 +#: ../Doc/library/sys.rst:737 msgid "Get the trace function as set by :func:`settrace`." msgstr "" "Obtiene la función de seguimiento (*trace*) establecida por :func:`settrace`." -#: ../Doc/library/sys.rst:727 +#: ../Doc/library/sys.rst:741 msgid "" "The :func:`gettrace` function is intended only for implementing debuggers, " "profilers, coverage tools and the like. Its behavior is part of the " @@ -1414,7 +1410,7 @@ msgstr "" "del lenguaje y, por lo tanto, es posible que no esté disponible en todas las " "implementaciones de Python." -#: ../Doc/library/sys.rst:735 +#: ../Doc/library/sys.rst:749 msgid "" "Return a named tuple describing the Windows version currently running. The " "named elements are *major*, *minor*, *build*, *platform*, *service_pack*, " @@ -1436,47 +1432,47 @@ msgstr "" "compatibilidad con versiones anteriores, solo los primeros 5 elementos se " "pueden recuperar mediante la indexación." -#: ../Doc/library/sys.rst:746 +#: ../Doc/library/sys.rst:760 msgid "*platform* will be :const:`2 (VER_PLATFORM_WIN32_NT)`." msgstr "*platform* será :const:`2 (VER_PLATFORM_WIN32_NT)`." -#: ../Doc/library/sys.rst:748 +#: ../Doc/library/sys.rst:762 msgid "*product_type* may be one of the following values:" msgstr "*product_type* puede ser uno de los siguientes valores:" -#: ../Doc/library/sys.rst:751 +#: ../Doc/library/sys.rst:765 msgid "Constant" msgstr "Constante" -#: ../Doc/library/sys.rst:751 +#: ../Doc/library/sys.rst:765 msgid "Meaning" msgstr "Significado" -#: ../Doc/library/sys.rst:753 +#: ../Doc/library/sys.rst:767 msgid ":const:`1 (VER_NT_WORKSTATION)`" msgstr ":const:`1 (VER_NT_WORKSTATION)`" -#: ../Doc/library/sys.rst:753 +#: ../Doc/library/sys.rst:767 msgid "The system is a workstation." msgstr "El sistema es una estación de trabajo." -#: ../Doc/library/sys.rst:755 +#: ../Doc/library/sys.rst:769 msgid ":const:`2 (VER_NT_DOMAIN_CONTROLLER)`" msgstr ":const:`2 (VER_NT_DOMAIN_CONTROLLER)`" -#: ../Doc/library/sys.rst:755 +#: ../Doc/library/sys.rst:769 msgid "The system is a domain controller." msgstr "El sistema es un controlador de dominio." -#: ../Doc/library/sys.rst:758 +#: ../Doc/library/sys.rst:772 msgid ":const:`3 (VER_NT_SERVER)`" msgstr ":const:`3 (VER_NT_SERVER)`" -#: ../Doc/library/sys.rst:758 +#: ../Doc/library/sys.rst:772 msgid "The system is a server, but not a domain controller." msgstr "El sistema es un servidor, pero no un controlador de dominio." -#: ../Doc/library/sys.rst:762 +#: ../Doc/library/sys.rst:776 msgid "" "This function wraps the Win32 :c:func:`GetVersionEx` function; see the " "Microsoft documentation on :c:func:`OSVERSIONINFOEX` for more information " @@ -1486,7 +1482,7 @@ msgstr "" "documentación de Microsoft en :c:func:`OSVERSIONINFOEX` para obtener más " "información sobre estos campos." -#: ../Doc/library/sys.rst:766 +#: ../Doc/library/sys.rst:780 msgid "" "*platform_version* returns the accurate major version, minor version and " "build number of the current operating system, rather than the version that " @@ -1498,7 +1494,7 @@ msgstr "" "versión que se está emulando para el proceso. Está diseñado para usarse en " "el registro en lugar de para la detección de características." -#: ../Doc/library/sys.rst:773 +#: ../Doc/library/sys.rst:787 msgid "" "Changed to a named tuple and added *service_pack_minor*, " "*service_pack_major*, *suite_mask*, and *product_type*." @@ -1506,11 +1502,11 @@ msgstr "" "Cambiada a una tupla con nombre y agregado *service_pack_minor*, " "*service_pack_major*, *suite_mask*, y *product_type*." -#: ../Doc/library/sys.rst:777 +#: ../Doc/library/sys.rst:791 msgid "Added *platform_version*" msgstr "Agregado *platform_version*" -#: ../Doc/library/sys.rst:783 +#: ../Doc/library/sys.rst:797 msgid "" "Returns an *asyncgen_hooks* object, which is similar to a :class:" "`~collections.namedtuple` of the form `(firstiter, finalizer)`, where " @@ -1526,11 +1522,11 @@ msgstr "" "programar la finalización de un generador asíncrono mediante un bucle de " "eventos." -#: ../Doc/library/sys.rst:790 +#: ../Doc/library/sys.rst:804 msgid "See :pep:`525` for more details." msgstr "Ver :pep:`525` para más detalles." -#: ../Doc/library/sys.rst:794 ../Doc/library/sys.rst:1395 +#: ../Doc/library/sys.rst:808 ../Doc/library/sys.rst:1416 msgid "" "This function has been added on a provisional basis (see :pep:`411` for " "details.)" @@ -1538,7 +1534,7 @@ msgstr "" "Esta función se ha añadido de forma provisional (consulte :pep:`411` para " "obtener más detalles)." -#: ../Doc/library/sys.rst:800 +#: ../Doc/library/sys.rst:814 msgid "" "Get the current coroutine origin tracking depth, as set by :func:" "`set_coroutine_origin_tracking_depth`." @@ -1546,7 +1542,7 @@ msgstr "" "Obtiene la profundidad de seguimiento del origen de la co-rutina actual, " "según lo establecido por :func:`set_coroutine_origin_tracking_depth`." -#: ../Doc/library/sys.rst:806 ../Doc/library/sys.rst:1416 +#: ../Doc/library/sys.rst:820 ../Doc/library/sys.rst:1437 msgid "" "This function has been added on a provisional basis (see :pep:`411` for " "details.) Use it only for debugging purposes." @@ -1554,7 +1550,7 @@ msgstr "" "Esta función se ha añadido de forma provisional (consulte :pep:`411` para " "obtener más detalles). Úsela sólo para fines de depuración." -#: ../Doc/library/sys.rst:812 +#: ../Doc/library/sys.rst:826 msgid "" "A :term:`named tuple` giving parameters of the numeric hash implementation. " "For more details about hashing of numeric types, see :ref:`numeric-hash`." @@ -1563,75 +1559,75 @@ msgstr "" "numérico. Para obtener más detalles sobre el hash de tipos numéricos, " "consulte :ref:`numeric-hash`." -#: ../Doc/library/sys.rst:819 +#: ../Doc/library/sys.rst:833 msgid ":const:`width`" msgstr ":const:`width`" -#: ../Doc/library/sys.rst:819 +#: ../Doc/library/sys.rst:833 msgid "width in bits used for hash values" msgstr "ancho en bits usado para valores hash" -#: ../Doc/library/sys.rst:821 +#: ../Doc/library/sys.rst:835 msgid ":const:`modulus`" msgstr ":const:`modulus`" -#: ../Doc/library/sys.rst:821 +#: ../Doc/library/sys.rst:835 msgid "prime modulus P used for numeric hash scheme" msgstr "primer módulo P utilizado para el esquema de hash numérico" -#: ../Doc/library/sys.rst:823 +#: ../Doc/library/sys.rst:837 msgid ":const:`inf`" msgstr ":const:`inf`" -#: ../Doc/library/sys.rst:823 +#: ../Doc/library/sys.rst:837 msgid "hash value returned for a positive infinity" msgstr "valor hash retornado para un infinito positivo" -#: ../Doc/library/sys.rst:825 +#: ../Doc/library/sys.rst:839 msgid ":const:`nan`" msgstr ":const:`nan`" -#: ../Doc/library/sys.rst:825 +#: ../Doc/library/sys.rst:839 msgid "hash value returned for a nan" msgstr "valor hash retornado para un nan" -#: ../Doc/library/sys.rst:827 +#: ../Doc/library/sys.rst:841 msgid ":const:`imag`" msgstr ":const:`imag`" -#: ../Doc/library/sys.rst:827 +#: ../Doc/library/sys.rst:841 msgid "multiplier used for the imaginary part of a complex number" msgstr "multiplicador utilizado para la parte imaginaria de un número complejo" -#: ../Doc/library/sys.rst:830 +#: ../Doc/library/sys.rst:844 msgid ":const:`algorithm`" msgstr ":const:`algorithm`" -#: ../Doc/library/sys.rst:830 +#: ../Doc/library/sys.rst:844 msgid "name of the algorithm for hashing of str, bytes, and memoryview" msgstr "nombre del algoritmo para el hash de str, bytes y memoryview" -#: ../Doc/library/sys.rst:833 +#: ../Doc/library/sys.rst:847 msgid ":const:`hash_bits`" msgstr ":const:`hash_bits`" -#: ../Doc/library/sys.rst:833 +#: ../Doc/library/sys.rst:847 msgid "internal output size of the hash algorithm" msgstr "tamaño de salida interno del algoritmo hash" -#: ../Doc/library/sys.rst:835 +#: ../Doc/library/sys.rst:849 msgid ":const:`seed_bits`" msgstr ":const:`seed_bits`" -#: ../Doc/library/sys.rst:835 +#: ../Doc/library/sys.rst:849 msgid "size of the seed key of the hash algorithm" msgstr "tamaño de la clave semilla del algoritmo hash" -#: ../Doc/library/sys.rst:841 +#: ../Doc/library/sys.rst:855 msgid "Added *algorithm*, *hash_bits* and *seed_bits*" msgstr "Agregado *algoritmo*, *hash_bits* y *seed_bits*" -#: ../Doc/library/sys.rst:847 +#: ../Doc/library/sys.rst:861 msgid "" "The version number encoded as a single integer. This is guaranteed to " "increase with each version, including proper support for non-production " @@ -1643,7 +1639,7 @@ msgstr "" "no son de producción. Por ejemplo, para probar que el intérprete de Python " "es al menos la versión 1.5.2, use::" -#: ../Doc/library/sys.rst:858 +#: ../Doc/library/sys.rst:872 msgid "" "This is called ``hexversion`` since it only really looks meaningful when " "viewed as the result of passing it to the built-in :func:`hex` function. " @@ -1655,12 +1651,12 @@ msgstr "" "`hex`. El :term:`named tuple` :data:`sys.version_info` puede usarse para una " "codificación más amigable para los humanos de la misma información." -#: ../Doc/library/sys.rst:863 +#: ../Doc/library/sys.rst:877 msgid "More details of ``hexversion`` can be found at :ref:`apiabiversion`." msgstr "" "Se pueden encontrar más detalles de ``hexversion`` en :ref:`apiabiversion`." -#: ../Doc/library/sys.rst:868 +#: ../Doc/library/sys.rst:882 msgid "" "An object containing information about the implementation of the currently " "running Python interpreter. The following attributes are required to exist " @@ -1670,7 +1666,7 @@ msgstr "" "Python en ejecución. Los siguientes atributos deben existir en todas las " "implementaciones de Python." -#: ../Doc/library/sys.rst:872 +#: ../Doc/library/sys.rst:886 msgid "" "*name* is the implementation's identifier, e.g. ``'cpython'``. The actual " "string is defined by the Python implementation, but it is guaranteed to be " @@ -1680,7 +1676,7 @@ msgstr "" "La cadena de caracteres real está definida por la implementación de Python, " "pero se garantiza que estará en minúsculas." -#: ../Doc/library/sys.rst:876 +#: ../Doc/library/sys.rst:890 msgid "" "*version* is a named tuple, in the same format as :data:`sys.version_info`. " "It represents the version of the Python *implementation*. This has a " @@ -1701,7 +1697,7 @@ msgstr "" "'final', 0)``. Para CPython tienen el mismo valor, ya que es la " "implementación de referencia." -#: ../Doc/library/sys.rst:886 +#: ../Doc/library/sys.rst:900 msgid "" "*hexversion* is the implementation version in hexadecimal format, like :data:" "`sys.hexversion`." @@ -1709,7 +1705,7 @@ msgstr "" "*hexversion* es la versión de implementación en formato hexadecimal, como :" "data:`sys.hexversion`." -#: ../Doc/library/sys.rst:889 +#: ../Doc/library/sys.rst:903 msgid "" "*cache_tag* is the tag used by the import machinery in the filenames of " "cached modules. By convention, it would be a composite of the " @@ -1724,7 +1720,7 @@ msgstr "" "otro valor si corresponde. Si ``cache_tag`` está configurado como ``None``, " "indica que el almacenamiento en caché del módulo debe estar deshabilitado." -#: ../Doc/library/sys.rst:896 +#: ../Doc/library/sys.rst:910 msgid "" ":data:`sys.implementation` may contain additional attributes specific to the " "Python implementation. These non-standard attributes must start with an " @@ -1741,7 +1737,7 @@ msgstr "" "cambiar entre las versiones del lenguaje Python). Consulte :pep:`421` para " "obtener más información." -#: ../Doc/library/sys.rst:907 +#: ../Doc/library/sys.rst:921 msgid "" "The addition of new required attributes must go through the normal PEP " "process. See :pep:`421` for more information." @@ -1749,7 +1745,7 @@ msgstr "" "La adición de nuevos atributos obligatorios debe pasar por el proceso normal " "de PEP. Consulte :pep:`421` para obtener más información." -#: ../Doc/library/sys.rst:912 +#: ../Doc/library/sys.rst:926 msgid "" "A :term:`named tuple` that holds information about Python's internal " "representation of integers. The attributes are read only." @@ -1757,19 +1753,19 @@ msgstr "" "Un :term:`named tuple` que contiene información sobre la representación " "interna de Python de los enteros. Los atributos son de solo lectura." -#: ../Doc/library/sys.rst:918 ../Doc/library/sys.rst:1519 +#: ../Doc/library/sys.rst:932 ../Doc/library/sys.rst:1546 msgid "Attribute" msgstr "Atributo" -#: ../Doc/library/sys.rst:918 ../Doc/library/sys.rst:1519 +#: ../Doc/library/sys.rst:932 ../Doc/library/sys.rst:1546 msgid "Explanation" msgstr "Explicación" -#: ../Doc/library/sys.rst:920 +#: ../Doc/library/sys.rst:934 msgid ":const:`bits_per_digit`" msgstr ":const:`bits_per_digit`" -#: ../Doc/library/sys.rst:920 +#: ../Doc/library/sys.rst:934 msgid "" "number of bits held in each digit. Python integers are stored internally in " "base ``2**int_info.bits_per_digit``" @@ -1777,15 +1773,15 @@ msgstr "" "número de bits retenidos en cada dígito. Los enteros de Python se almacenan " "internamente en la base ``2**int_info.bits_per_digit``" -#: ../Doc/library/sys.rst:924 +#: ../Doc/library/sys.rst:938 msgid ":const:`sizeof_digit`" msgstr ":const:`sizeof_digit`" -#: ../Doc/library/sys.rst:924 +#: ../Doc/library/sys.rst:938 msgid "size in bytes of the C type used to represent a digit" msgstr "tamaño en bytes del tipo C utilizado para representar un dígito" -#: ../Doc/library/sys.rst:933 +#: ../Doc/library/sys.rst:947 msgid "" "When this attribute exists, its value is automatically called (with no " "arguments) when the interpreter is launched in :ref:`interactive mode `." +#: ../Doc/library/sys.rst:953 msgid "" "Raises an :ref:`auditing event ` ``cpython.run_interactivehook`` " "with argument ``hook``." @@ -1806,7 +1803,7 @@ msgstr "" "Lanza un :ref:`auditing event ` ``cpython.run_interactivehook`` " "con el argumento ``hook``." -#: ../Doc/library/sys.rst:941 +#: ../Doc/library/sys.rst:955 msgid "" "Raises an :ref:`auditing event ` ``cpython.run_interactivehook`` " "with the hook object as the argument when the hook is called on startup." @@ -1815,7 +1812,7 @@ msgstr "" "con el objeto gancho (*hook*) como argumento cuando se llama al gancho en el " "inicio." -#: ../Doc/library/sys.rst:950 +#: ../Doc/library/sys.rst:964 msgid "" "Enter *string* in the table of \"interned\" strings and return the interned " "string -- which is *string* itself or a copy. Interning strings is useful to " @@ -1837,7 +1834,7 @@ msgstr "" "diccionarios utilizados para contener los atributos de módulo, clase o " "instancia tienen claves internas." -#: ../Doc/library/sys.rst:958 +#: ../Doc/library/sys.rst:972 msgid "" "Interned strings are not immortal; you must keep a reference to the return " "value of :func:`intern` around to benefit from it." @@ -1845,7 +1842,7 @@ msgstr "" "Las cadenas de caracteres internas no son inmortales; debe mantener una " "referencia al valor de retorno de :func:`intern` para beneficiarse de él." -#: ../Doc/library/sys.rst:964 +#: ../Doc/library/sys.rst:978 msgid "" "Return :const:`True` if the Python interpreter is :term:`shutting down " "`, :const:`False` otherwise." @@ -1853,7 +1850,7 @@ msgstr "" "Retorna :const:`True` si el intérprete de Python es :term:`shutting down " "`, :const:`False` en caso contrario." -#: ../Doc/library/sys.rst:974 +#: ../Doc/library/sys.rst:988 msgid "" "These three variables are not always defined; they are set when an exception " "is not handled and the interpreter prints an error message and a stack " @@ -1871,7 +1868,7 @@ msgstr "" "típico es ``import pdb; pdb.pm()`` para ingresar al depurador post-mortem; " "consulte módulo :mod:`pdb` para obtener más información)." -#: ../Doc/library/sys.rst:982 +#: ../Doc/library/sys.rst:996 msgid "" "The meaning of the variables is the same as that of the return values from :" "func:`exc_info` above." @@ -1879,7 +1876,7 @@ msgstr "" "El significado de las variables es el mismo que el de los valores retornados " "de :func:`exc_info` arriba." -#: ../Doc/library/sys.rst:988 +#: ../Doc/library/sys.rst:1002 msgid "" "An integer giving the maximum value a variable of type :c:type:`Py_ssize_t` " "can take. It's usually ``2**31 - 1`` on a 32-bit platform and ``2**63 - 1`` " @@ -1889,7 +1886,7 @@ msgstr "" "type:`Py_ssize_t`. Suele ser ``2**31 - 1`` en una plataforma de 32 bits y " "``2** 63 - 1`` en una plataforma de 64 bits." -#: ../Doc/library/sys.rst:995 +#: ../Doc/library/sys.rst:1009 msgid "" "An integer giving the value of the largest Unicode code point, i.e. " "``1114111`` (``0x10FFFF`` in hexadecimal)." @@ -1897,7 +1894,7 @@ msgstr "" "Un número entero que da el valor del punto de código Unicode más grande, es " "decir, ``1114111`` (``0x10FFFF`` en hexadecimal)." -#: ../Doc/library/sys.rst:998 +#: ../Doc/library/sys.rst:1012 msgid "" "Before :pep:`393`, ``sys.maxunicode`` used to be either ``0xFFFF`` or " "``0x10FFFF``, depending on the configuration option that specified whether " @@ -1907,7 +1904,7 @@ msgstr "" "dependiendo de la opción de configuración que especificaba si los caracteres " "Unicode se almacenaban como UCS-2 o UCS-4." -#: ../Doc/library/sys.rst:1006 +#: ../Doc/library/sys.rst:1020 msgid "" "A list of :term:`meta path finder` objects that have their :meth:`~importlib." "abc.MetaPathFinder.find_spec` methods called to see if one of the objects " @@ -1927,11 +1924,11 @@ msgstr "" "attr:`__path__` se pasa como segundo argumento. El método retorna :term:" "`module spec`, o ``None`` si no se puede encontrar el módulo." -#: ../Doc/library/sys.rst:1018 +#: ../Doc/library/sys.rst:1032 msgid ":class:`importlib.abc.MetaPathFinder`" msgstr ":class:`importlib.abc.MetaPathFinder`" -#: ../Doc/library/sys.rst:1018 +#: ../Doc/library/sys.rst:1032 msgid "" "The abstract base class defining the interface of finder objects on :data:" "`meta_path`." @@ -1939,11 +1936,11 @@ msgstr "" "La clase base abstracta que define la interfaz de los objetos del buscador " "en :data:`meta_path`." -#: ../Doc/library/sys.rst:1022 +#: ../Doc/library/sys.rst:1036 msgid ":class:`importlib.machinery.ModuleSpec`" msgstr ":class:`importlib.machinery.ModuleSpec`" -#: ../Doc/library/sys.rst:1021 +#: ../Doc/library/sys.rst:1035 msgid "" "The concrete class which :meth:`~importlib.abc.MetaPathFinder.find_spec` " "should return instances of." @@ -1951,7 +1948,7 @@ msgstr "" "La clase concreta que :meth:`~importlib.abc.MetaPathFinder.find_spec` " "debería retornar instancias de." -#: ../Doc/library/sys.rst:1027 +#: ../Doc/library/sys.rst:1041 msgid "" ":term:`Module specs ` were introduced in Python 3.4, by :pep:" "`451`. Earlier versions of Python looked for a method called :meth:" @@ -1965,7 +1962,7 @@ msgstr "" "llama como una alternativa si una entrada :data:`meta_path` no tiene un " "método :meth:`~importlib.abc.MetaPathFinder.find_spec`." -#: ../Doc/library/sys.rst:1035 +#: ../Doc/library/sys.rst:1049 msgid "" "This is a dictionary that maps module names to modules which have already " "been loaded. This can be manipulated to force reloading of modules and " @@ -1979,7 +1976,7 @@ msgstr "" "necesariamente funcionará como se esperaba y eliminar elementos esenciales " "del diccionario puede hacer que Python falle." -#: ../Doc/library/sys.rst:1045 +#: ../Doc/library/sys.rst:1059 msgid "" "A list of strings that specifies the search path for modules. Initialized " "from the environment variable :envvar:`PYTHONPATH`, plus an installation-" @@ -1989,7 +1986,7 @@ msgstr "" "módulos. Inicializado desde la variable de entorno :envvar:`PYTHONPATH`, más " "un valor predeterminado que depende de la instalación." -#: ../Doc/library/sys.rst:1049 +#: ../Doc/library/sys.rst:1063 msgid "" "As initialized upon program startup, the first item of this list, " "``path[0]``, is the directory containing the script that was used to invoke " @@ -2010,7 +2007,7 @@ msgstr "" "del script se inserta *antes* de las entradas insertadas como resultado de :" "envvar:`PYTHONPATH`." -#: ../Doc/library/sys.rst:1057 +#: ../Doc/library/sys.rst:1071 msgid "" "A program is free to modify this list for its own purposes. Only strings " "and bytes should be added to :data:`sys.path`; all other data types are " @@ -2020,7 +2017,7 @@ msgstr "" "deben agregar cadenas de caracteres y bytes a :data:`sys.path`; todos los " "demás tipos de datos se ignoran durante la importación." -#: ../Doc/library/sys.rst:1063 +#: ../Doc/library/sys.rst:1077 msgid "" "Module :mod:`site` This describes how to use .pth files to extend :data:`sys." "path`." @@ -2028,7 +2025,7 @@ msgstr "" "Módulo :mod:`site` Esto describe cómo usar archivos .pth para extender :data:" "`sys.path`." -#: ../Doc/library/sys.rst:1069 +#: ../Doc/library/sys.rst:1083 msgid "" "A list of callables that take a path argument to try to create a :term:" "`finder` for the path. If a finder can be created, it is to be returned by " @@ -2038,11 +2035,11 @@ msgstr "" "un :term:`finder` para la ruta. Si se puede crear un buscador, el invocable " "debe retornar; de lo contrario, lanza :exc:`ImportError`." -#: ../Doc/library/sys.rst:1073 ../Doc/library/sys.rst:1084 +#: ../Doc/library/sys.rst:1087 ../Doc/library/sys.rst:1098 msgid "Originally specified in :pep:`302`." msgstr "Especificado originalmente en :pep:`302`." -#: ../Doc/library/sys.rst:1078 +#: ../Doc/library/sys.rst:1092 msgid "" "A dictionary acting as a cache for :term:`finder` objects. The keys are " "paths that have been passed to :data:`sys.path_hooks` and the values are the " @@ -2055,7 +2052,7 @@ msgstr "" "válida pero no se encuentra ningún buscador en :data:`sys.path_hooks`, " "entonces se almacena ``None``." -#: ../Doc/library/sys.rst:1086 +#: ../Doc/library/sys.rst:1100 msgid "" "``None`` is stored instead of :class:`imp.NullImporter` when no finder is " "found." @@ -2063,7 +2060,7 @@ msgstr "" "``None`` se almacena en lugar de :class:`imp.NullImporter` cuando no se " "encuentra ningún buscador." -#: ../Doc/library/sys.rst:1093 +#: ../Doc/library/sys.rst:1107 msgid "" "This string contains a platform identifier that can be used to append " "platform-specific components to :data:`sys.path`, for instance." @@ -2072,7 +2069,7 @@ msgstr "" "puede usar para agregar componentes específicos de la plataforma a :data:" "`sys.path`, por ejemplo." -#: ../Doc/library/sys.rst:1096 +#: ../Doc/library/sys.rst:1110 msgid "" "For Unix systems, except on Linux and AIX, this is the lowercased OS name as " "returned by ``uname -s`` with the first part of the version as returned by " @@ -2087,59 +2084,59 @@ msgstr "" "menos que desee probar una versión específica del sistema, se recomienda " "utilizar el siguiente idioma:" -#: ../Doc/library/sys.rst:1109 +#: ../Doc/library/sys.rst:1123 msgid "For other systems, the values are:" msgstr "Para otros sistemas, los valores son:" -#: ../Doc/library/sys.rst:1112 +#: ../Doc/library/sys.rst:1126 msgid "System" msgstr "Sistema" -#: ../Doc/library/sys.rst:1112 +#: ../Doc/library/sys.rst:1126 msgid "``platform`` value" msgstr "valor ``platform``" -#: ../Doc/library/sys.rst:1114 +#: ../Doc/library/sys.rst:1128 msgid "AIX" msgstr "AIX" -#: ../Doc/library/sys.rst:1114 +#: ../Doc/library/sys.rst:1128 msgid "``'aix'``" msgstr "``'aix'``" -#: ../Doc/library/sys.rst:1115 +#: ../Doc/library/sys.rst:1129 msgid "Linux" msgstr "Linux" -#: ../Doc/library/sys.rst:1115 +#: ../Doc/library/sys.rst:1129 msgid "``'linux'``" msgstr "``'linux'``" -#: ../Doc/library/sys.rst:1116 +#: ../Doc/library/sys.rst:1130 msgid "Windows" msgstr "Windows" -#: ../Doc/library/sys.rst:1116 +#: ../Doc/library/sys.rst:1130 msgid "``'win32'``" msgstr "``'win32'``" -#: ../Doc/library/sys.rst:1117 +#: ../Doc/library/sys.rst:1131 msgid "Windows/Cygwin" msgstr "Windows/Cygwin" -#: ../Doc/library/sys.rst:1117 +#: ../Doc/library/sys.rst:1131 msgid "``'cygwin'``" msgstr "``'cygwin'``" -#: ../Doc/library/sys.rst:1118 +#: ../Doc/library/sys.rst:1132 msgid "macOS" msgstr "macOS" -#: ../Doc/library/sys.rst:1118 +#: ../Doc/library/sys.rst:1132 msgid "``'darwin'``" msgstr "``'darwin'``" -#: ../Doc/library/sys.rst:1121 +#: ../Doc/library/sys.rst:1135 msgid "" "On Linux, :attr:`sys.platform` doesn't contain the major version anymore. It " "is always ``'linux'``, instead of ``'linux2'`` or ``'linux3'``. Since older " @@ -2151,7 +2148,7 @@ msgstr "" "versiones anteriores de Python incluyen el número de versión, se recomienda " "utilizar siempre el idioma ``startswith`` presentado anteriormente." -#: ../Doc/library/sys.rst:1127 +#: ../Doc/library/sys.rst:1141 msgid "" "On AIX, :attr:`sys.platform` doesn't contain the major version anymore. It " "is always ``'aix'``, instead of ``'aix5'`` or ``'aix7'``. Since older " @@ -2163,7 +2160,7 @@ msgstr "" "anteriores de Python incluyen el número de versión, se recomienda utilizar " "siempre el idioma ``startswith`` presentado anteriormente." -#: ../Doc/library/sys.rst:1135 +#: ../Doc/library/sys.rst:1149 msgid "" ":attr:`os.name` has a coarser granularity. :func:`os.uname` gives system-" "dependent version information." @@ -2171,7 +2168,7 @@ msgstr "" ":attr:`os.name` tiene una granularidad más gruesa. :func:`os.uname` " "proporciona información de versión dependiente del sistema." -#: ../Doc/library/sys.rst:1138 +#: ../Doc/library/sys.rst:1152 msgid "" "The :mod:`platform` module provides detailed checks for the system's " "identity." @@ -2179,7 +2176,45 @@ msgstr "" "El módulo :mod:`platform` proporciona comprobaciones detalladas de la " "identidad del sistema." -#: ../Doc/library/sys.rst:1144 +#: ../Doc/library/sys.rst:1158 +msgid "" +"Name of the platform-specific library directory. It is used to build the " +"path of standard library and the paths of installed extension modules." +msgstr "" + +#: ../Doc/library/sys.rst:1161 +msgid "" +"It is equal to ``\"lib\"`` on most platforms. On Fedora and SuSE, it is " +"equal to ``\"lib64\"`` on 64-bit platforms which gives the following ``sys." +"path`` paths (where ``X.Y`` is the Python ``major.minor`` version):" +msgstr "" + +#: ../Doc/library/sys.rst:1165 +msgid "" +"``/usr/lib64/pythonX.Y/``: Standard library (like ``os.py`` of the :mod:`os` " +"module)" +msgstr "" + +#: ../Doc/library/sys.rst:1167 +msgid "" +"``/usr/lib64/pythonX.Y/lib-dynload/``: C extension modules of the standard " +"library (like the :mod:`errno` module, the exact filename is platform " +"specific)" +msgstr "" + +#: ../Doc/library/sys.rst:1170 +msgid "" +"``/usr/lib/pythonX.Y/site-packages/`` (always use ``lib``, not :data:`sys." +"platlibdir`): Third-party modules" +msgstr "" + +#: ../Doc/library/sys.rst:1172 +msgid "" +"``/usr/lib64/pythonX.Y/site-packages/``: C extension modules of third-party " +"packages" +msgstr "" + +#: ../Doc/library/sys.rst:1180 msgid "" "A string giving the site-specific directory prefix where the platform " "independent Python files are installed; by default, this is the string ``'/" @@ -2201,7 +2236,7 @@ msgstr "" "almacenan en :file:`{prefix}/include/python{XY}`, donde *XY* es el número de " "versión de Python, por ejemplo, ``3.2``." -#: ../Doc/library/sys.rst:1153 +#: ../Doc/library/sys.rst:1189 msgid "" "If a :ref:`virtual environment ` is in effect, this value will be " "changed in ``site.py`` to point to the virtual environment. The value for " @@ -2212,7 +2247,7 @@ msgstr "" "instalación de Python seguirá estando disponible a través de :data:" "`base_prefix`." -#: ../Doc/library/sys.rst:1168 +#: ../Doc/library/sys.rst:1204 msgid "" "Strings specifying the primary and secondary prompt of the interpreter. " "These are only defined if the interpreter is in interactive mode. Their " @@ -2229,36 +2264,7 @@ msgstr "" "para leer un nuevo comando interactivo; esto se puede utilizar para " "implementar un mensaje dinámico." -#: ../Doc/library/sys.rst:1178 -msgid "" -"Set the interpreter's \"check interval\". This integer value determines how " -"often the interpreter checks for periodic things such as thread switches and " -"signal handlers. The default is ``100``, meaning the check is performed " -"every 100 Python virtual instructions. Setting it to a larger value may " -"increase performance for programs using threads. Setting it to a value " -"``<=`` 0 checks every virtual instruction, maximizing responsiveness as well " -"as overhead." -msgstr "" -"Configure el \"intervalo de verificación\" del intérprete. Este valor entero " -"determina la frecuencia con la que el intérprete comprueba cosas periódicas " -"como cambios de hilo y manejadores de señales. El valor predeterminado es " -"``100``, lo que significa que la verificación se realiza cada 100 " -"instrucciones virtuales de Python. Establecerlo en un valor mayor puede " -"aumentar el rendimiento de los programas que utilizan subprocesos. " -"Establecerlo en un valor ``<=`` 0 verifica cada instrucción virtual, " -"maximizando la capacidad de respuesta y la sobrecarga." - -#: ../Doc/library/sys.rst:1185 -msgid "" -"This function doesn't have an effect anymore, as the internal logic for " -"thread switching and asynchronous tasks has been rewritten. Use :func:" -"`setswitchinterval` instead." -msgstr "" -"Esta función ya no tiene ningún efecto, ya que se ha reescrito la lógica " -"interna para el cambio de hilo y las tareas asincrónicas. Utilice :func:" -"`setswitchinterval` en su lugar." - -#: ../Doc/library/sys.rst:1193 +#: ../Doc/library/sys.rst:1214 msgid "" "Set the flags used by the interpreter for :c:func:`dlopen` calls, such as " "when the interpreter loads extension modules. Among other things, this will " @@ -2277,7 +2283,7 @@ msgstr "" "pueden encontrar en el módulo :mod:`os` (constantes ``RTLD_xxx``, por " "ejemplo :data:`os.RTLD_LAZY`)." -#: ../Doc/library/sys.rst:1209 +#: ../Doc/library/sys.rst:1230 msgid "" "Set the system's profile function, which allows you to implement a Python " "source code profiler in Python. See chapter :ref:`profile` for more " @@ -2305,7 +2311,7 @@ msgstr "" "retorno no se usa, por lo que simplemente puede retornar ``None``. Un error " "en la función del perfil provocará su desarmado." -#: ../Doc/library/sys.rst:1220 +#: ../Doc/library/sys.rst:1241 msgid "" "Profile functions should have three arguments: *frame*, *event*, and *arg*. " "*frame* is the current stack frame. *event* is a string: ``'call'``, " @@ -2317,22 +2323,22 @@ msgstr "" "caracteres: ``'call'``, ``'return'``, ``'c_call'``, ``'c_return'``, o " "``'c_exception'``. *arg* depende del tipo de evento." -#: ../Doc/library/sys.rst:1226 +#: ../Doc/library/sys.rst:1246 msgid "" "Raises an :ref:`auditing event ` ``sys.setprofile`` with no " "arguments." msgstr "" "Lanza un :ref:`auditing event ` ``sys.setprofile`` sin argumentos." -#: ../Doc/library/sys.rst:1227 ../Doc/library/sys.rst:1308 +#: ../Doc/library/sys.rst:1248 ../Doc/library/sys.rst:1329 msgid "The events have the following meaning:" msgstr "Los eventos tienen el siguiente significado:" -#: ../Doc/library/sys.rst:1231 ../Doc/library/sys.rst:1313 +#: ../Doc/library/sys.rst:1252 ../Doc/library/sys.rst:1334 msgid "``'call'``" msgstr "``'call'``" -#: ../Doc/library/sys.rst:1230 +#: ../Doc/library/sys.rst:1251 msgid "" "A function is called (or some other code block entered). The profile " "function is called; *arg* is ``None``." @@ -2340,11 +2346,11 @@ msgstr "" "Se llama a una función (o se ingresa algún otro bloque de código). Se llama " "a la función de perfil; *arg* es ``None``." -#: ../Doc/library/sys.rst:1236 ../Doc/library/sys.rst:1328 +#: ../Doc/library/sys.rst:1257 ../Doc/library/sys.rst:1349 msgid "``'return'``" msgstr "``'return'``" -#: ../Doc/library/sys.rst:1234 +#: ../Doc/library/sys.rst:1255 msgid "" "A function (or other code block) is about to return. The profile function " "is called; *arg* is the value that will be returned, or ``None`` if the " @@ -2354,11 +2360,11 @@ msgstr "" "la función de perfil; *arg* es el valor que se retornará, o ``None`` si el " "evento es causado por una excepción." -#: ../Doc/library/sys.rst:1240 +#: ../Doc/library/sys.rst:1261 msgid "``'c_call'``" msgstr "``'c_call'``" -#: ../Doc/library/sys.rst:1239 +#: ../Doc/library/sys.rst:1260 msgid "" "A C function is about to be called. This may be an extension function or a " "built-in. *arg* is the C function object." @@ -2366,24 +2372,24 @@ msgstr "" "Una función C está a punto de ser llamada. Esta puede ser una función de " "extensión o una incorporada. *arg* es el objeto de función de C." -#: ../Doc/library/sys.rst:1243 +#: ../Doc/library/sys.rst:1264 msgid "``'c_return'``" msgstr "``'c_return'``" -#: ../Doc/library/sys.rst:1243 +#: ../Doc/library/sys.rst:1264 msgid "A C function has returned. *arg* is the C function object." msgstr "Ha vuelto una función C. *arg* es el objeto de función de C." -#: ../Doc/library/sys.rst:1245 +#: ../Doc/library/sys.rst:1266 msgid "``'c_exception'``" msgstr "``'c_exception'``" -#: ../Doc/library/sys.rst:1246 +#: ../Doc/library/sys.rst:1267 msgid "A C function has raised an exception. *arg* is the C function object." msgstr "" "Una función C ha generado una excepción. *arg* es el objeto de función de C." -#: ../Doc/library/sys.rst:1250 +#: ../Doc/library/sys.rst:1271 msgid "" "Set the maximum depth of the Python interpreter stack to *limit*. This " "limit prevents infinite recursion from causing an overflow of the C stack " @@ -2393,7 +2399,7 @@ msgstr "" "*limit*. Este límite evita que la recursividad infinita cause un " "desbordamiento de la pila C y bloquee Python." -#: ../Doc/library/sys.rst:1254 +#: ../Doc/library/sys.rst:1275 msgid "" "The highest possible limit is platform-dependent. A user may need to set " "the limit higher when they have a program that requires deep recursion and a " @@ -2406,7 +2412,7 @@ msgstr "" "alto. Esto debe hacerse con cuidado, ya que un límite demasiado alto puede " "provocar un accidente." -#: ../Doc/library/sys.rst:1259 +#: ../Doc/library/sys.rst:1280 msgid "" "If the new limit is too low at the current recursion depth, a :exc:" "`RecursionError` exception is raised." @@ -2414,7 +2420,7 @@ msgstr "" "Si el nuevo límite es demasiado bajo en la profundidad de recursividad " "actual, se genera una excepción :exc:`RecursionError`." -#: ../Doc/library/sys.rst:1262 +#: ../Doc/library/sys.rst:1283 msgid "" "A :exc:`RecursionError` exception is now raised if the new limit is too low " "at the current recursion depth." @@ -2422,7 +2428,7 @@ msgstr "" "A la excepción :exc:`RecursionError` ahora se lanza si el nuevo límite es " "demasiado bajo en la profundidad de recursión actual." -#: ../Doc/library/sys.rst:1269 +#: ../Doc/library/sys.rst:1290 msgid "" "Set the interpreter's thread switch interval (in seconds). This floating-" "point value determines the ideal duration of the \"timeslices\" allocated to " @@ -2440,7 +2446,7 @@ msgstr "" "Además, qué hilo se programa al final del intervalo es decisión del sistema " "operativo. El intérprete no tiene su propio programador." -#: ../Doc/library/sys.rst:1286 +#: ../Doc/library/sys.rst:1307 msgid "" "Set the system's trace function, which allows you to implement a Python " "source code debugger in Python. The function is thread-specific; for a " @@ -2454,7 +2460,7 @@ msgstr "" "una función de seguimiento usando :func:`settrace` para cada subproceso que " "se depura o use :func:`threading.settrace`." -#: ../Doc/library/sys.rst:1291 +#: ../Doc/library/sys.rst:1312 msgid "" "Trace functions should have three arguments: *frame*, *event*, and *arg*. " "*frame* is the current stack frame. *event* is a string: ``'call'``, " @@ -2466,7 +2472,7 @@ msgstr "" "caracteres: ``'call'``, ``'line'``, ``'return'``, ``'exception'`` or " "``'opcode'``. *arg* depende del tipo de evento." -#: ../Doc/library/sys.rst:1296 +#: ../Doc/library/sys.rst:1317 msgid "" "The trace function is invoked (with *event* set to ``'call'``) whenever a " "new local scope is entered; it should return a reference to a local trace " @@ -2478,7 +2484,7 @@ msgstr "" "función de rastreo local que se usará para el nuevo alcance, o ``None`` si " "no se debe rastrear el alcance." -#: ../Doc/library/sys.rst:1301 +#: ../Doc/library/sys.rst:1322 msgid "" "The local trace function should return a reference to itself (or to another " "function for further tracing in that scope), or ``None`` to turn off tracing " @@ -2488,7 +2494,7 @@ msgstr "" "otra función para realizar un seguimiento adicional en ese ámbito), o " "``None`` para desactivar el seguimiento en ese ámbito." -#: ../Doc/library/sys.rst:1305 +#: ../Doc/library/sys.rst:1326 msgid "" "If there is any error occurred in the trace function, it will be unset, just " "like ``settrace(None)`` is called." @@ -2496,7 +2502,7 @@ msgstr "" "Si se produce algún error en la función de seguimiento, se desarmará, al " "igual que se llama a ``settrace(None)``." -#: ../Doc/library/sys.rst:1311 +#: ../Doc/library/sys.rst:1332 msgid "" "A function is called (or some other code block entered). The global trace " "function is called; *arg* is ``None``; the return value specifies the local " @@ -2506,11 +2512,11 @@ msgstr "" "a la función de rastreo global; *arg* es ``None``; el valor de retorno " "especifica la función de rastreo local." -#: ../Doc/library/sys.rst:1322 +#: ../Doc/library/sys.rst:1343 msgid "``'line'``" msgstr "``'line'``" -#: ../Doc/library/sys.rst:1316 +#: ../Doc/library/sys.rst:1337 msgid "" "The interpreter is about to execute a new line of code or re-execute the " "condition of a loop. The local trace function is called; *arg* is ``None``; " @@ -2527,7 +2533,7 @@ msgstr "" "deshabilitar para un marco estableciendo :attr:`f_trace_lines` to :const:" "`False` en ese marco." -#: ../Doc/library/sys.rst:1325 +#: ../Doc/library/sys.rst:1346 msgid "" "A function (or other code block) is about to return. The local trace " "function is called; *arg* is the value that will be returned, or ``None`` if " @@ -2539,11 +2545,11 @@ msgstr "" "si el evento es causado por una excepción. Se ignora el valor de retorno de " "la función de seguimiento." -#: ../Doc/library/sys.rst:1333 +#: ../Doc/library/sys.rst:1354 msgid "``'exception'``" msgstr "``'exception'``" -#: ../Doc/library/sys.rst:1331 +#: ../Doc/library/sys.rst:1352 msgid "" "An exception has occurred. The local trace function is called; *arg* is a " "tuple ``(exception, value, traceback)``; the return value specifies the new " @@ -2553,11 +2559,11 @@ msgstr "" "una tupla ``(exception, value, traceback)``; el valor de retorno especifica " "la nueva función de rastreo local." -#: ../Doc/library/sys.rst:1341 +#: ../Doc/library/sys.rst:1362 msgid "``'opcode'``" msgstr "``'opcode'``" -#: ../Doc/library/sys.rst:1336 +#: ../Doc/library/sys.rst:1357 msgid "" "The interpreter is about to execute a new opcode (see :mod:`dis` for opcode " "details). The local trace function is called; *arg* is ``None``; the return " @@ -2572,7 +2578,7 @@ msgstr "" "de forma predeterminada: deben solicitarse explícitamente configurando :attr:" "`f_trace_opcodes` en :const:`True` en el marco." -#: ../Doc/library/sys.rst:1343 +#: ../Doc/library/sys.rst:1364 msgid "" "Note that as an exception is propagated down the chain of callers, an " "``'exception'`` event is generated at each level." @@ -2580,7 +2586,7 @@ msgstr "" "Tenga en cuenta que como una excepción se propaga a lo largo de la cadena de " "llamadas de funciones, se lanza un evento de ``'excepción'`` en cada nivel." -#: ../Doc/library/sys.rst:1346 +#: ../Doc/library/sys.rst:1367 msgid "" "For more fine-grained usage, it's possible to set a trace function by " "assigning ``frame.f_trace = tracefunc`` explicitly, rather than relying on " @@ -2605,20 +2611,20 @@ msgstr "" "sobrecarga baja que simplemente retorna ``None`` para deshabilitarse " "inmediatamente en cada cuadro)." -#: ../Doc/library/sys.rst:1357 +#: ../Doc/library/sys.rst:1378 msgid "For more information on code and frame objects, refer to :ref:`types`." msgstr "" "Para obtener más información sobre los objetos de código y marco, consulte :" "ref:`types`." -#: ../Doc/library/sys.rst:1360 +#: ../Doc/library/sys.rst:1380 msgid "" "Raises an :ref:`auditing event ` ``sys.settrace`` with no " "arguments." msgstr "" "Lanza un :ref:`auditing event ` ``sys.settrace`` sin argumentos." -#: ../Doc/library/sys.rst:1363 +#: ../Doc/library/sys.rst:1384 msgid "" "The :func:`settrace` function is intended only for implementing debuggers, " "profilers, coverage tools and the like. Its behavior is part of the " @@ -2631,7 +2637,7 @@ msgstr "" "parte de la definición del lenguaje y, por lo tanto, es posible que no esté " "disponible en todas las implementaciones de Python." -#: ../Doc/library/sys.rst:1370 +#: ../Doc/library/sys.rst:1391 msgid "" "``'opcode'`` event type added; :attr:`f_trace_lines` and :attr:" "`f_trace_opcodes` attributes added to frames" @@ -2639,7 +2645,7 @@ msgstr "" "Se agregó el tipo de evento ``'opcode'``; atributos :attr:`f_trace_lines` y :" "attr:`f_trace_opcodes` agregados a los marcos (*frames*)" -#: ../Doc/library/sys.rst:1375 +#: ../Doc/library/sys.rst:1396 msgid "" "Accepts two optional keyword arguments which are callables that accept an :" "term:`asynchronous generator iterator` as an argument. The *firstiter* " @@ -2653,7 +2659,7 @@ msgstr "" "por primera vez. Se llamará al *finalizer* cuando un generador asincrónico " "esté a punto de ser recolectado como basura." -#: ../Doc/library/sys.rst:1382 +#: ../Doc/library/sys.rst:1402 msgid "" "Raises an :ref:`auditing event ` ``sys." "set_asyncgen_hooks_firstiter`` with no arguments." @@ -2661,7 +2667,7 @@ msgstr "" "Lanza un :ref:`auditing event ` ``sys." "set_asyncgen_hooks_firstiter`` sin argumentos." -#: ../Doc/library/sys.rst:1384 +#: ../Doc/library/sys.rst:1404 msgid "" "Raises an :ref:`auditing event ` ``sys." "set_asyncgen_hooks_finalizer`` with no arguments." @@ -2669,7 +2675,7 @@ msgstr "" "Lanza un :ref:`auditing event ` ``sys." "set_asyncgen_hooks_finalizer`` sin argumentos." -#: ../Doc/library/sys.rst:1385 +#: ../Doc/library/sys.rst:1406 msgid "" "Two auditing events are raised because the underlying API consists of two " "calls, each of which must raise its own event." @@ -2677,7 +2683,7 @@ msgstr "" "Se lanzan dos eventos de auditoría porque la API subyacente consta de dos " "llamadas, cada una de las cuales debe generar su propio evento." -#: ../Doc/library/sys.rst:1388 +#: ../Doc/library/sys.rst:1409 msgid "" "See :pep:`525` for more details, and for a reference example of a " "*finalizer* method see the implementation of ``asyncio.Loop." @@ -2687,7 +2693,7 @@ msgstr "" "método *finalizer* ver la implementación de ``asyncio.Loop." "shutdown_asyncgens`` en :source:`Lib/asyncio/base_events.py`" -#: ../Doc/library/sys.rst:1400 +#: ../Doc/library/sys.rst:1421 msgid "" "Allows enabling or disabling coroutine origin tracking. When enabled, the " "``cr_origin`` attribute on coroutine objects will contain a tuple of " @@ -2702,7 +2708,7 @@ msgstr "" "corrutina, con la llamada más reciente primero. Cuando esté deshabilitado, " "``cr_origin`` será None." -#: ../Doc/library/sys.rst:1407 +#: ../Doc/library/sys.rst:1428 msgid "" "To enable, pass a *depth* value greater than zero; this sets the number of " "frames whose information will be captured. To disable, pass set *depth* to " @@ -2712,11 +2718,11 @@ msgstr "" "número de fotogramas cuya información será capturada. Para deshabilitar, " "pase set *depth* a cero." -#: ../Doc/library/sys.rst:1411 +#: ../Doc/library/sys.rst:1432 msgid "This setting is thread-specific." msgstr "Esta configuración es específica de cada hilo." -#: ../Doc/library/sys.rst:1421 +#: ../Doc/library/sys.rst:1442 msgid "" "Changes the default filesystem encoding and errors mode to 'mbcs' and " "'replace' respectively, for consistency with versions of Python prior to 3.6." @@ -2725,7 +2731,7 @@ msgstr "" "errores a 'mbcs' y 'replace' respectivamente, para mantener la coherencia " "con las versiones de Python anteriores a la 3.6." -#: ../Doc/library/sys.rst:1424 +#: ../Doc/library/sys.rst:1445 msgid "" "This is equivalent to defining the :envvar:`PYTHONLEGACYWINDOWSFSENCODING` " "environment variable before launching Python." @@ -2733,11 +2739,11 @@ msgstr "" "Esto es equivalente a definir la variable de entorno :envvar:" "`PYTHONLEGACYWINDOWSFSENCODING` antes de iniciar Python." -#: ../Doc/library/sys.rst:1429 +#: ../Doc/library/sys.rst:1450 msgid "See :pep:`529` for more details." msgstr "Consulte :pep:`529` para obtener más detalles." -#: ../Doc/library/sys.rst:1436 +#: ../Doc/library/sys.rst:1457 msgid "" ":term:`File objects ` used by the interpreter for standard " "input, output and errors:" @@ -2745,7 +2751,7 @@ msgstr "" ":term:`Objetos de archivo ` utilizado por el intérprete para " "entradas, salidas y errores estándar:" -#: ../Doc/library/sys.rst:1439 +#: ../Doc/library/sys.rst:1460 msgid "" "``stdin`` is used for all interactive input (including calls to :func:" "`input`);" @@ -2753,7 +2759,7 @@ msgstr "" "``stdin`` se usa para todas las entradas interactivas (incluidas las " "llamadas a :func:`input`);" -#: ../Doc/library/sys.rst:1441 +#: ../Doc/library/sys.rst:1462 msgid "" "``stdout`` is used for the output of :func:`print` and :term:`expression` " "statements and for the prompts of :func:`input`;" @@ -2761,13 +2767,13 @@ msgstr "" "``stdout`` se usa para la salida de :func:`print` y :term:`expression` y " "para las solicitudes de :func:`input`;" -#: ../Doc/library/sys.rst:1443 +#: ../Doc/library/sys.rst:1464 msgid "The interpreter's own prompts and its error messages go to ``stderr``." msgstr "" "Las propias indicaciones del intérprete y sus mensajes de error van a " "``stderr``." -#: ../Doc/library/sys.rst:1445 +#: ../Doc/library/sys.rst:1466 msgid "" "These streams are regular :term:`text files ` like those returned " "by the :func:`open` function. Their parameters are chosen as follows:" @@ -2776,7 +2782,7 @@ msgstr "" "retornados por la función :func:`open`. Sus parámetros se eligen de la " "siguiente manera:" -#: ../Doc/library/sys.rst:1449 +#: ../Doc/library/sys.rst:1470 msgid "" "The character encoding is platform-dependent. Non-Windows platforms use the " "locale encoding (see :meth:`locale.getpreferredencoding()`)." @@ -2785,7 +2791,7 @@ msgstr "" "no son de Windows utilizan la codificación local (consulte :meth:`locale." "getpreferredencoding()`)." -#: ../Doc/library/sys.rst:1453 +#: ../Doc/library/sys.rst:1474 msgid "" "On Windows, UTF-8 is used for the console device. Non-character devices " "such as disk files and pipes use the system locale encoding (i.e. the ANSI " @@ -2805,7 +2811,7 @@ msgstr "" "codificación de la configuración regional del sistema si el proceso no se " "adjunta inicialmente a una consola." -#: ../Doc/library/sys.rst:1462 +#: ../Doc/library/sys.rst:1483 msgid "" "The special behaviour of the console can be overridden by setting the " "environment variable PYTHONLEGACYWINDOWSSTDIO before starting Python. In " @@ -2816,7 +2822,7 @@ msgstr "" "caso, las páginas de códigos de la consola se utilizan como para cualquier " "otro dispositivo de caracteres." -#: ../Doc/library/sys.rst:1467 +#: ../Doc/library/sys.rst:1488 msgid "" "Under all platforms, you can override the character encoding by setting the :" "envvar:`PYTHONIOENCODING` environment variable before starting Python or by " @@ -2831,18 +2837,21 @@ msgstr "" "consola de Windows, esto solo se aplica cuando :envvar:" "`PYTHONLEGACYWINDOWSSTDIO` también está configurado." -#: ../Doc/library/sys.rst:1474 +#: ../Doc/library/sys.rst:1495 +msgid "" +"When interactive, the ``stdout`` stream is line-buffered. Otherwise, it is " +"block-buffered like regular text files. The ``stderr`` stream is line-" +"buffered in both cases. You can make both streams unbuffered by passing " +"the :option:`-u` command-line option or setting the :envvar:" +"`PYTHONUNBUFFERED` environment variable." +msgstr "" + +#: ../Doc/library/sys.rst:1501 msgid "" -"When interactive, ``stdout`` and ``stderr`` streams are line-buffered. " -"Otherwise, they are block-buffered like regular text files. You can " -"override this value with the :option:`-u` command-line option." +"Non-interactive ``stderr`` is now line-buffered instead of fully buffered." msgstr "" -"Cuando son interactivas, las secuencias ``stdout`` y ``stderr`` tienen búfer " -"de línea. De lo contrario, se almacenan en búfer en bloques como archivos de " -"texto normales. Puede anular este valor con la opción de línea de comandos :" -"option:`-u`." -#: ../Doc/library/sys.rst:1480 +#: ../Doc/library/sys.rst:1507 msgid "" "To write or read binary data from/to the standard streams, use the " "underlying binary :data:`~io.TextIOBase.buffer` object. For example, to " @@ -2852,7 +2861,7 @@ msgstr "" "objeto binario subyacente :data:`~io.TextIOBase.buffer`. Por ejemplo, para " "escribir bytes en :data:`stdout`, use ``sys.stdout.buffer.write(b'abc')``." -#: ../Doc/library/sys.rst:1484 +#: ../Doc/library/sys.rst:1511 msgid "" "However, if you are writing a library (and do not control in which context " "its code will be executed), be aware that the standard streams may be " @@ -2864,7 +2873,7 @@ msgstr "" "estándar pueden reemplazarse con objetos similares a archivos como :class:" "`io.StringIO` que no admiten el atributo :attr:`~io.BufferedIOBase.buffer`." -#: ../Doc/library/sys.rst:1494 +#: ../Doc/library/sys.rst:1521 msgid "" "These objects contain the original values of ``stdin``, ``stderr`` and " "``stdout`` at the start of the program. They are used during finalization, " @@ -2876,7 +2885,7 @@ msgstr "" "podrían ser útiles para imprimir en el flujo estándar real sin importar si " "el objeto ``sys.std*`` ha sido redirigido." -#: ../Doc/library/sys.rst:1499 +#: ../Doc/library/sys.rst:1526 msgid "" "It can also be used to restore the actual files to known working file " "objects in case they have been overwritten with a broken object. However, " @@ -2889,7 +2898,7 @@ msgstr "" "explícitamente la secuencia anterior antes de reemplazarla y restaurar el " "objeto guardado." -#: ../Doc/library/sys.rst:1505 +#: ../Doc/library/sys.rst:1532 msgid "" "Under some conditions ``stdin``, ``stdout`` and ``stderr`` as well as the " "original values ``__stdin__``, ``__stdout__`` and ``__stderr__`` can be " @@ -2902,59 +2911,59 @@ msgstr "" "conectadas a una consola y las aplicaciones Python que comienzan con :" "program:`pythonw`." -#: ../Doc/library/sys.rst:1513 +#: ../Doc/library/sys.rst:1540 msgid "" "A :term:`named tuple` holding information about the thread implementation." msgstr "" "Un :term:`named tuple` que contiene información sobre la implementación del " "hilo." -#: ../Doc/library/sys.rst:1521 +#: ../Doc/library/sys.rst:1548 msgid ":const:`name`" msgstr ":const:`name`" -#: ../Doc/library/sys.rst:1521 +#: ../Doc/library/sys.rst:1548 msgid "Name of the thread implementation:" msgstr "Nombre de la implementación de hilos (*thread implementation*):" -#: ../Doc/library/sys.rst:1523 +#: ../Doc/library/sys.rst:1550 msgid "``'nt'``: Windows threads" msgstr "``'nt'``: hilos de Windows" -#: ../Doc/library/sys.rst:1524 +#: ../Doc/library/sys.rst:1551 msgid "``'pthread'``: POSIX threads" msgstr "``'pthread'``: hilos de POSIX" -#: ../Doc/library/sys.rst:1525 +#: ../Doc/library/sys.rst:1552 msgid "``'solaris'``: Solaris threads" msgstr "``'solaris'``: hilos de Solaris" -#: ../Doc/library/sys.rst:1527 +#: ../Doc/library/sys.rst:1554 msgid ":const:`lock`" msgstr ":const:`lock`" -#: ../Doc/library/sys.rst:1527 +#: ../Doc/library/sys.rst:1554 msgid "Name of the lock implementation:" msgstr "Nombre de la implementación de bloqueo (*lock implementation*):" -#: ../Doc/library/sys.rst:1529 +#: ../Doc/library/sys.rst:1556 msgid "``'semaphore'``: a lock uses a semaphore" msgstr "``'semaphore'``: un bloqueo que utiliza un semáforo" -#: ../Doc/library/sys.rst:1530 +#: ../Doc/library/sys.rst:1557 msgid "``'mutex+cond'``: a lock uses a mutex and a condition variable" msgstr "" "``'mutex+cond'``: un bloqueo que utiliza un mutex y una variable de condición" -#: ../Doc/library/sys.rst:1532 +#: ../Doc/library/sys.rst:1559 msgid "``None`` if this information is unknown" msgstr "``None`` si esta información es desconocida" -#: ../Doc/library/sys.rst:1534 +#: ../Doc/library/sys.rst:1561 msgid ":const:`version`" msgstr ":const:`version`" -#: ../Doc/library/sys.rst:1534 +#: ../Doc/library/sys.rst:1561 msgid "" "Name and version of the thread library. It is a string, or ``None`` if this " "information is unknown." @@ -2962,7 +2971,7 @@ msgstr "" "Nombre y versión de la biblioteca de subprocesos. Es una cadena de " "caracteres, o ``None`` si se desconoce esta información." -#: ../Doc/library/sys.rst:1543 +#: ../Doc/library/sys.rst:1570 msgid "" "When this variable is set to an integer value, it determines the maximum " "number of levels of traceback information printed when an unhandled " @@ -2976,11 +2985,11 @@ msgstr "" "establece en ``0`` o menos, toda la información de rastreo se suprime y solo " "se imprimen el tipo y el valor de excepción." -#: ../Doc/library/sys.rst:1551 +#: ../Doc/library/sys.rst:1578 msgid "Handle an unraisable exception." msgstr "Maneja una excepción que no se puede lanzar." -#: ../Doc/library/sys.rst:1553 +#: ../Doc/library/sys.rst:1580 msgid "" "Called when an exception has occurred but there is no way for Python to " "handle it. For example, when a destructor raises an exception or during " @@ -2990,32 +2999,32 @@ msgstr "" "Python la maneje. Por ejemplo, cuando un destructor lanza una excepción o " "durante la recolección de basura (:func:`gc.collect`)." -#: ../Doc/library/sys.rst:1557 +#: ../Doc/library/sys.rst:1584 msgid "The *unraisable* argument has the following attributes:" msgstr "" "El argumento *unraisable* (no lanzable) tiene los siguientes atributos:" -#: ../Doc/library/sys.rst:1559 +#: ../Doc/library/sys.rst:1586 msgid "*exc_type*: Exception type." msgstr "*exc_type*: Tipo de excepción." -#: ../Doc/library/sys.rst:1560 +#: ../Doc/library/sys.rst:1587 msgid "*exc_value*: Exception value, can be ``None``." msgstr "*exc_value*: Valor de excepción, puede ser ``None``." -#: ../Doc/library/sys.rst:1561 +#: ../Doc/library/sys.rst:1588 msgid "*exc_traceback*: Exception traceback, can be ``None``." msgstr "*exc_traceback*: Rastreo de excepción, puede ser ``None``." -#: ../Doc/library/sys.rst:1562 +#: ../Doc/library/sys.rst:1589 msgid "*err_msg*: Error message, can be ``None``." msgstr "*err_msg*: Mensaje de error, puede ser ``None``." -#: ../Doc/library/sys.rst:1563 +#: ../Doc/library/sys.rst:1590 msgid "*object*: Object causing the exception, can be ``None``." msgstr "*objeto*: Objeto que causa la excepción, puede ser ``None``." -#: ../Doc/library/sys.rst:1565 +#: ../Doc/library/sys.rst:1592 msgid "" "The default hook formats *err_msg* and *object* as: ``f'{err_msg}: {object!" "r}'``; use \"Exception ignored in\" error message if *err_msg* is ``None``." @@ -3024,7 +3033,7 @@ msgstr "" "``f'{err_msg}:{object!R}'``; use el mensaje de error \"Excepción ignorada en" "\" si *err_msg* es ``None``." -#: ../Doc/library/sys.rst:1569 +#: ../Doc/library/sys.rst:1596 msgid "" ":func:`sys.unraisablehook` can be overridden to control how unraisable " "exceptions are handled." @@ -3032,7 +3041,7 @@ msgstr "" ":func:`sys.unraisablehook` se puede anular para controlar cómo se manejan " "las excepciones que no se pueden evaluar." -#: ../Doc/library/sys.rst:1572 +#: ../Doc/library/sys.rst:1599 msgid "" "Storing *exc_value* using a custom hook can create a reference cycle. It " "should be cleared explicitly to break the reference cycle when the exception " @@ -3042,7 +3051,7 @@ msgstr "" "referencia. Debe borrarse explícitamente para romper el ciclo de referencia " "cuando la excepción ya no sea necesaria." -#: ../Doc/library/sys.rst:1576 +#: ../Doc/library/sys.rst:1603 msgid "" "Storing *object* using a custom hook can resurrect it if it is set to an " "object which is being finalized. Avoid storing *object* after the custom " @@ -3053,11 +3062,20 @@ msgstr "" "después de que se complete el gancho personalizado para evitar resucitar " "objetos." -#: ../Doc/library/sys.rst:1580 +#: ../Doc/library/sys.rst:1607 msgid "See also :func:`excepthook` which handles uncaught exceptions." msgstr "Véase también :func:`excepthook` que maneja excepciones no capturadas." -#: ../Doc/library/sys.rst:1584 +#: ../Doc/library/sys.rst:1609 +#, fuzzy +msgid "" +"Raises an :ref:`auditing event ` ``sys.unraisablehook`` with " +"arguments ``hook``, ``unraisable``." +msgstr "" +"Lanza un :ref:`auditing event ` ``cpython.run_interactivehook`` " +"con el argumento ``hook``." + +#: ../Doc/library/sys.rst:1611 msgid "" "Raise an auditing event ``sys.unraisablehook`` with arguments ``hook``, " "``unraisable`` when an exception that cannot be handled occurs. The " @@ -3069,7 +3087,7 @@ msgstr "" "objeto ``no lanzable`` es el mismo que se pasará al gancho. Si no se ha " "colocado ningún gancho, ``hook`` puede ser ``None``." -#: ../Doc/library/sys.rst:1593 +#: ../Doc/library/sys.rst:1620 msgid "" "A string containing the version number of the Python interpreter plus " "additional information on the build number and compiler used. This string " @@ -3084,7 +3102,7 @@ msgstr "" "data:`version_info` y las funciones proporcionadas por el módulo :mod:" "`platform`." -#: ../Doc/library/sys.rst:1602 +#: ../Doc/library/sys.rst:1629 msgid "" "The C API version for this interpreter. Programmers may find this useful " "when debugging version conflicts between Python and extension modules." @@ -3093,7 +3111,7 @@ msgstr "" "esto útil al depurar conflictos de versiones entre Python y módulos de " "extensión." -#: ../Doc/library/sys.rst:1608 +#: ../Doc/library/sys.rst:1635 msgid "" "A tuple containing the five components of the version number: *major*, " "*minor*, *micro*, *releaselevel*, and *serial*. All values except " @@ -3112,11 +3130,11 @@ msgstr "" "version_info[0]`` es equivalente a ``sys.version_info.major`` y así " "sucesivamente." -#: ../Doc/library/sys.rst:1616 +#: ../Doc/library/sys.rst:1643 msgid "Added named component attributes." msgstr "Se agregaron atributos de componentes con nombre." -#: ../Doc/library/sys.rst:1621 +#: ../Doc/library/sys.rst:1648 msgid "" "This is an implementation detail of the warnings framework; do not modify " "this value. Refer to the :mod:`warnings` module for more information on the " @@ -3126,7 +3144,7 @@ msgstr "" "este valor. Consulte el módulo :mod:`warnings` para obtener más información " "sobre el marco de advertencias." -#: ../Doc/library/sys.rst:1628 +#: ../Doc/library/sys.rst:1655 msgid "" "The version number used to form registry keys on Windows platforms. This is " "stored as string resource 1000 in the Python DLL. The value is normally the " @@ -3141,7 +3159,7 @@ msgstr "" "modificación de este valor no tiene ningún efecto sobre las claves de " "registro que utiliza Python." -#: ../Doc/library/sys.rst:1639 +#: ../Doc/library/sys.rst:1666 msgid "" "A dictionary of the various implementation-specific flags passed through " "the :option:`-X` command-line option. Option names are either mapped to " @@ -3152,7 +3170,7 @@ msgstr "" "opciones se asignan a sus valores, si se dan explícitamente, o a :const:" "`True`. Ejemplo:" -#: ../Doc/library/sys.rst:1655 +#: ../Doc/library/sys.rst:1682 msgid "" "This is a CPython-specific way of accessing options passed through :option:`-" "X`. Other implementations may export them through other means, or not at " @@ -3162,11 +3180,11 @@ msgstr "" "pasan a través de :option:`-X`. Otras implementaciones pueden exportarlos a " "través de otros medios, o no exportarlos." -#: ../Doc/library/sys.rst:1663 +#: ../Doc/library/sys.rst:1690 msgid "Citations" msgstr "Citas" -#: ../Doc/library/sys.rst:1664 +#: ../Doc/library/sys.rst:1691 msgid "" "ISO/IEC 9899:1999. \"Programming languages -- C.\" A public draft of this " "standard is available at http://www.open-std.org/jtc1/sc22/wg14/www/docs/" @@ -3175,3 +3193,73 @@ msgstr "" "*ISO/IEC 9899:1999. \"Programming languages -- C.\" A public draft of this " "standard is available at http://www.open-std.org/jtc1/sc22/wg14/www/docs/" "n1256.pdf*\\ ." + +#~ msgid "" +#~ "Raise an auditing event with any active hooks. The event name is a string " +#~ "identifying the event and its associated schema, which is the number and " +#~ "types of arguments. The schema for a given event is considered public and " +#~ "stable API and should not be modified between releases." +#~ msgstr "" +#~ "Lanza un evento de auditoría con cualquier gancho activo. El nombre del " +#~ "evento es una cadena que identifica el evento y su esquema asociado, que " +#~ "es el número y los tipos de argumentos. El esquema de un evento " +#~ "determinado se considera una API pública y estable y no debe modificarse " +#~ "entre versiones." + +#~ msgid "" +#~ "This function will raise the first exception raised by any hook. In " +#~ "general, these errors should not be handled and should terminate the " +#~ "process as quickly as possible." +#~ msgstr "" +#~ "Esta función lanzará la primera excepción generada por cualquier gancho. " +#~ "En general, estos errores no deben manejarse y deben terminar el proceso " +#~ "lo más rápido posible." + +#~ msgid ":option:`-X` ``dev``" +#~ msgstr ":option:`-X` ``dev``" + +#~ msgid "" +#~ "Return the interpreter's \"check interval\"; see :func:`setcheckinterval`." +#~ msgstr "" +#~ "Retorna el \"intervalo de verificación\" del intérprete; ver :func:" +#~ "`setcheckinterval`." + +#~ msgid "Use :func:`getswitchinterval` instead." +#~ msgstr "Use :func:`getswitchinterval` en su lugar." + +#~ msgid "" +#~ "Set the interpreter's \"check interval\". This integer value determines " +#~ "how often the interpreter checks for periodic things such as thread " +#~ "switches and signal handlers. The default is ``100``, meaning the check " +#~ "is performed every 100 Python virtual instructions. Setting it to a " +#~ "larger value may increase performance for programs using threads. " +#~ "Setting it to a value ``<=`` 0 checks every virtual instruction, " +#~ "maximizing responsiveness as well as overhead." +#~ msgstr "" +#~ "Configure el \"intervalo de verificación\" del intérprete. Este valor " +#~ "entero determina la frecuencia con la que el intérprete comprueba cosas " +#~ "periódicas como cambios de hilo y manejadores de señales. El valor " +#~ "predeterminado es ``100``, lo que significa que la verificación se " +#~ "realiza cada 100 instrucciones virtuales de Python. Establecerlo en un " +#~ "valor mayor puede aumentar el rendimiento de los programas que utilizan " +#~ "subprocesos. Establecerlo en un valor ``<=`` 0 verifica cada instrucción " +#~ "virtual, maximizando la capacidad de respuesta y la sobrecarga." + +#~ msgid "" +#~ "This function doesn't have an effect anymore, as the internal logic for " +#~ "thread switching and asynchronous tasks has been rewritten. Use :func:" +#~ "`setswitchinterval` instead." +#~ msgstr "" +#~ "Esta función ya no tiene ningún efecto, ya que se ha reescrito la lógica " +#~ "interna para el cambio de hilo y las tareas asincrónicas. Utilice :func:" +#~ "`setswitchinterval` en su lugar." + +#~ msgid "" +#~ "When interactive, ``stdout`` and ``stderr`` streams are line-buffered. " +#~ "Otherwise, they are block-buffered like regular text files. You can " +#~ "override this value with the :option:`-u` command-line option." +#~ msgstr "" +#~ "Cuando son interactivas, las secuencias ``stdout`` y ``stderr`` tienen " +#~ "búfer de línea. De lo contrario, se almacenan en búfer en bloques como " +#~ "archivos de texto normales. Puede anular este valor con la opción de " +#~ "línea de comandos :option:`-u`." diff --git a/library/sysconfig.po b/library/sysconfig.po index 30ecbb817d..b38c7a05aa 100644 --- a/library/sysconfig.po +++ b/library/sysconfig.po @@ -1,22 +1,25 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. # Maintained by the python-doc-es workteam. -# docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ -# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers +# docs-es@python.org / +# https://mail.python.org/mailman3/lists/docs-es.python.org/ +# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get +# the list of volunteers # msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-06 11:59-0400\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-10-16 10:16-0500\n" +"Last-Translator: Gustavo Huarcaya \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Last-Translator: Gustavo Huarcaya \n" -"Language: es\n" -"X-Generator: Poedit 1.8.12\n" +"Generated-By: Babel 2.8.0\n" #: ../Doc/library/sysconfig.rst:2 msgid "" @@ -134,8 +137,9 @@ msgid "Python currently supports seven schemes:" msgstr "Python actualmente admite siete esquemas:" #: ../Doc/library/sysconfig.rst:77 +#, fuzzy msgid "" -"*posix_prefix*: scheme for Posix platforms like Linux or Mac OS X. This is " +"*posix_prefix*: scheme for POSIX platforms like Linux or Mac OS X. This is " "the default scheme used when Python or a component is installed." msgstr "" "*posix_prefix*: esquema para plataformas POSIX como Linux o Mac OS X. Este " @@ -143,8 +147,9 @@ msgstr "" "componente." #: ../Doc/library/sysconfig.rst:79 +#, fuzzy msgid "" -"*posix_home*: scheme for Posix platforms used when a *home* option is used " +"*posix_home*: scheme for POSIX platforms used when a *home* option is used " "upon installation. This scheme is used when a component is installed " "through Distutils with a specific home prefix." msgstr "" @@ -153,8 +158,9 @@ msgstr "" "componente a través de *Disutils* con un prefijo de inicio específico." #: ../Doc/library/sysconfig.rst:82 +#, fuzzy msgid "" -"*posix_user*: scheme for Posix platforms used when a component is installed " +"*posix_user*: scheme for POSIX platforms used when a component is installed " "through Distutils and the *user* option is used. This scheme defines paths " "located under the user home directory." msgstr "" @@ -351,6 +357,7 @@ msgid "Other functions" msgstr "Otras funciones" #: ../Doc/library/sysconfig.rst:166 +#, python-format msgid "" "Return the ``MAJOR.MINOR`` Python version number as a string. Similar to " "``'%d.%d' % sys.version_info[:2]``." diff --git a/library/tarfile.po b/library/tarfile.po index fc3cd8bd03..5e4d9f7648 100644 --- a/library/tarfile.po +++ b/library/tarfile.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-08-15 21:50-0600\n" +"Last-Translator: Alfonso Reyes \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Alfonso Reyes \n" -"Language: es\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/tarfile.rst:2 msgid ":mod:`tarfile` --- Read and write tar archive files" @@ -382,16 +381,16 @@ msgstr "``'w|xz'``" msgid "Open an lzma compressed *stream* for writing." msgstr "Abre un *stream* lzma comprimido para escritura." -#: ../Doc/library/tarfile.rst:146 ../Doc/library/tarfile.rst:329 +#: ../Doc/library/tarfile.rst:146 ../Doc/library/tarfile.rst:333 msgid "The ``'x'`` (exclusive creation) mode was added." msgstr "El modo ``'x'`` (creación exclusiva) fue añadido." -#: ../Doc/library/tarfile.rst:149 ../Doc/library/tarfile.rst:332 -#: ../Doc/library/tarfile.rst:500 +#: ../Doc/library/tarfile.rst:149 ../Doc/library/tarfile.rst:336 +#: ../Doc/library/tarfile.rst:505 msgid "The *name* parameter accepts a :term:`path-like object`." msgstr "El parámetro *name* acepta un objeto :term:`path-like object`." -#: ../Doc/library/tarfile.rst:155 +#: ../Doc/library/tarfile.rst:156 msgid "" "Class for reading and writing tar archives. Do not use this class directly: " "use :func:`tarfile.open` instead. See :ref:`tarfile-objects`." @@ -400,23 +399,29 @@ msgstr "" "directamente; usa :func:`tarfile.open` en su lugar. Consulta :ref:`tarfile-" "objects`." -#: ../Doc/library/tarfile.rst:161 +#: ../Doc/library/tarfile.rst:162 +#, fuzzy msgid "" "Return :const:`True` if *name* is a tar archive file, that the :mod:" -"`tarfile` module can read." +"`tarfile` module can read. *name* may be a :class:`str`, file, or file-like " +"object." msgstr "" "Retorna :const:`True` si *name* es un archivo tar, que el módulo :mod:" "`tarfile` puede leer." #: ../Doc/library/tarfile.rst:165 +msgid "Support for file and file-like objects." +msgstr "" + +#: ../Doc/library/tarfile.rst:169 msgid "The :mod:`tarfile` module defines the following exceptions:" msgstr "El módulo :mod:`tarfile` define las siguientes excepciones:" -#: ../Doc/library/tarfile.rst:170 +#: ../Doc/library/tarfile.rst:174 msgid "Base class for all :mod:`tarfile` exceptions." msgstr "Clase base para todas las excepciones del módulo :mod:`tarfile`." -#: ../Doc/library/tarfile.rst:175 +#: ../Doc/library/tarfile.rst:179 msgid "" "Is raised when a tar archive is opened, that either cannot be handled by " "the :mod:`tarfile` module or is somehow invalid." @@ -424,7 +429,7 @@ msgstr "" "Se lanza cuando un archivo tar se abre, que no puede ser manejado por el " "módulo :mod:`tarfile` o de alguna manera no es válido." -#: ../Doc/library/tarfile.rst:181 +#: ../Doc/library/tarfile.rst:185 msgid "" "Is raised when a compression method is not supported or when the data cannot " "be decoded properly." @@ -432,7 +437,7 @@ msgstr "" "Se lanza cuando un método de compresión no tiene soporte o cuando la " "información no puede ser decodificada de manera apropiada." -#: ../Doc/library/tarfile.rst:187 +#: ../Doc/library/tarfile.rst:191 msgid "" "Is raised for the limitations that are typical for stream-like :class:" "`TarFile` objects." @@ -440,7 +445,7 @@ msgstr "" "Se lanza para limitaciones que son comunes para objetos *stream-like* :class:" "`TarFile`." -#: ../Doc/library/tarfile.rst:193 +#: ../Doc/library/tarfile.rst:197 msgid "" "Is raised for *non-fatal* errors when using :meth:`TarFile.extract`, but " "only if :attr:`TarFile.errorlevel`\\ ``== 2``." @@ -448,16 +453,16 @@ msgstr "" "Se lanza para errores no fatales cuando se utiliza :meth:`TarFile.extract`, " "pero solo si :attr:`TarFile.errorlevel`\\ ``== 2``." -#: ../Doc/library/tarfile.rst:199 +#: ../Doc/library/tarfile.rst:203 msgid "Is raised by :meth:`TarInfo.frombuf` if the buffer it gets is invalid." msgstr "" "Se lanza por :meth:`TarInfo.frombuf` si el buffer que obtiene es invalido." -#: ../Doc/library/tarfile.rst:202 +#: ../Doc/library/tarfile.rst:206 msgid "The following constants are available at the module level:" msgstr "Las siguientes constantes están disponibles a nivel de módulo:" -#: ../Doc/library/tarfile.rst:206 +#: ../Doc/library/tarfile.rst:210 msgid "" "The default character encoding: ``'utf-8'`` on Windows, the value returned " "by :func:`sys.getfilesystemencoding` otherwise." @@ -465,7 +470,7 @@ msgstr "" "La codificación para caracteres predeterminada: ``'utf-8'`` en Windows, de " "otra manera, el valor retornado por :func:`sys.getfilesystemencoding`." -#: ../Doc/library/tarfile.rst:210 +#: ../Doc/library/tarfile.rst:214 msgid "" "Each of the following constants defines a tar archive format that the :mod:" "`tarfile` module is able to create. See section :ref:`tar-formats` for " @@ -475,19 +480,19 @@ msgstr "" "el módulo :mod:`tarfile` puede crear. Ve la sección: :ref:`tar-formats` para " "más detalles." -#: ../Doc/library/tarfile.rst:217 +#: ../Doc/library/tarfile.rst:221 msgid "POSIX.1-1988 (ustar) format." msgstr "Formato POSIX.1-1988 (ustar)." -#: ../Doc/library/tarfile.rst:222 +#: ../Doc/library/tarfile.rst:226 msgid "GNU tar format." msgstr "Formato GNU tar." -#: ../Doc/library/tarfile.rst:227 +#: ../Doc/library/tarfile.rst:231 msgid "POSIX.1-2001 (pax) format." msgstr "Formato POSIX.1-2001 (pax)." -#: ../Doc/library/tarfile.rst:232 +#: ../Doc/library/tarfile.rst:236 msgid "" "The default format for creating archives. This is currently :const:" "`PAX_FORMAT`." @@ -495,7 +500,7 @@ msgstr "" "El formato predeterminado para crear archivos. Es actualmente :const:" "`PAX_FORMAT`." -#: ../Doc/library/tarfile.rst:234 +#: ../Doc/library/tarfile.rst:238 msgid "" "The default format for new archives was changed to :const:`PAX_FORMAT` from :" "const:`GNU_FORMAT`." @@ -503,19 +508,19 @@ msgstr "" "El formato predeterminado para nuevos archivos fue cambiado de :const:" "`GNU_FORMAT` a :const:`PAX_FORMAT`" -#: ../Doc/library/tarfile.rst:242 +#: ../Doc/library/tarfile.rst:246 msgid "Module :mod:`zipfile`" msgstr "Módulo :mod:`zipfile`" -#: ../Doc/library/tarfile.rst:242 +#: ../Doc/library/tarfile.rst:246 msgid "Documentation of the :mod:`zipfile` standard module." msgstr "Documentación del módulo estándar :mod:`zipfile`." -#: ../Doc/library/tarfile.rst:246 +#: ../Doc/library/tarfile.rst:250 msgid ":ref:`archiving-operations`" msgstr ":ref:`archiving-operations`" -#: ../Doc/library/tarfile.rst:245 +#: ../Doc/library/tarfile.rst:249 msgid "" "Documentation of the higher-level archiving facilities provided by the " "standard :mod:`shutil` module." @@ -523,7 +528,7 @@ msgstr "" "Documentación para las facilidades de archivos de más alto nivel " "proporcionadas por el módulo estándar :mod:`shutil`." -#: ../Doc/library/tarfile.rst:248 +#: ../Doc/library/tarfile.rst:252 msgid "" "`GNU tar manual, Basic Tar Format `_" @@ -531,16 +536,16 @@ msgstr "" "`Manual GNU tar, formato básico tar `_" -#: ../Doc/library/tarfile.rst:249 +#: ../Doc/library/tarfile.rst:253 msgid "Documentation for tar archive files, including GNU tar extensions." msgstr "" "Documentación para archivos de tipo tar, incluyendo extensiones GNU tar." -#: ../Doc/library/tarfile.rst:255 +#: ../Doc/library/tarfile.rst:259 msgid "TarFile Objects" msgstr "Objetos *TarFile*" -#: ../Doc/library/tarfile.rst:257 +#: ../Doc/library/tarfile.rst:261 msgid "" "The :class:`TarFile` object provides an interface to a tar archive. A tar " "archive is a sequence of blocks. An archive member (a stored file) is made " @@ -555,7 +560,7 @@ msgstr "" "Cada archivo miembro está representado por un objeto :class:`TarInfo`, " "consulta :ref:`tarinfo-objects` para más detalles." -#: ../Doc/library/tarfile.rst:263 +#: ../Doc/library/tarfile.rst:267 msgid "" "A :class:`TarFile` object can be used as a context manager in a :keyword:" "`with` statement. It will automatically be closed when the block is " @@ -570,11 +575,11 @@ msgstr "" "interno será cerrado. Consulta la sección :ref:`tar-examples` para un caso " "de uso." -#: ../Doc/library/tarfile.rst:269 +#: ../Doc/library/tarfile.rst:273 msgid "Added support for the context management protocol." msgstr "Añadido soporte para el protocolo de administración de contexto." -#: ../Doc/library/tarfile.rst:274 +#: ../Doc/library/tarfile.rst:278 msgid "" "All following arguments are optional and can be accessed as instance " "attributes as well." @@ -582,7 +587,7 @@ msgstr "" "Los siguientes argumentos son opcionales y también se pueden acceder como " "atributos de instancia." -#: ../Doc/library/tarfile.rst:277 +#: ../Doc/library/tarfile.rst:281 msgid "" "*name* is the pathname of the archive. *name* may be a :term:`path-like " "object`. It can be omitted if *fileobj* is given. In this case, the file " @@ -592,7 +597,7 @@ msgstr "" "`path-like object`. Puede ser omitido si *fileobj* se proporciona. En este " "caso, el atributo :attr:`name` del objeto de archivo se usa si existe." -#: ../Doc/library/tarfile.rst:281 +#: ../Doc/library/tarfile.rst:285 msgid "" "*mode* is either ``'r'`` to read from an existing archive, ``'a'`` to append " "data to an existing file, ``'w'`` to create a new file overwriting an " @@ -604,7 +609,7 @@ msgstr "" "sobrescribiendo uno existente, o ``'x'`` para crear un nuevo archivo " "únicamente si este no existe." -#: ../Doc/library/tarfile.rst:285 +#: ../Doc/library/tarfile.rst:289 msgid "" "If *fileobj* is given, it is used for reading or writing data. If it can be " "determined, *mode* is overridden by *fileobj*'s mode. *fileobj* will be used " @@ -614,11 +619,11 @@ msgstr "" "Si puede ser determinado, *mode* puede ser anulado por el modo de *fileobj*. " "*fileobj* será usado desde la posición 0." -#: ../Doc/library/tarfile.rst:291 +#: ../Doc/library/tarfile.rst:295 msgid "*fileobj* is not closed, when :class:`TarFile` is closed." msgstr "*fileobj* no se cierra cuando :class:`TarFile` se cierra." -#: ../Doc/library/tarfile.rst:293 +#: ../Doc/library/tarfile.rst:297 msgid "" "*format* controls the archive format for writing. It must be one of the " "constants :const:`USTAR_FORMAT`, :const:`GNU_FORMAT` or :const:`PAX_FORMAT` " @@ -631,7 +636,7 @@ msgstr "" "detectará automáticamente, incluso si hay diferentes formatos en un solo " "archivo." -#: ../Doc/library/tarfile.rst:298 +#: ../Doc/library/tarfile.rst:302 msgid "" "The *tarinfo* argument can be used to replace the default :class:`TarInfo` " "class with a different one." @@ -639,7 +644,7 @@ msgstr "" "El argumento *tarinfo* puede ser utilizado para reemplazar la clase " "predeterminada :class:`TarInfo` con una diferente." -#: ../Doc/library/tarfile.rst:301 +#: ../Doc/library/tarfile.rst:305 msgid "" "If *dereference* is :const:`False`, add symbolic and hard links to the " "archive. If it is :const:`True`, add the content of the target files to the " @@ -650,7 +655,7 @@ msgstr "" "de archivos objetivo al archivo. Esto no tiene ningún efecto en los sistemas " "que no admiten enlaces simbólicos." -#: ../Doc/library/tarfile.rst:305 +#: ../Doc/library/tarfile.rst:309 msgid "" "If *ignore_zeros* is :const:`False`, treat an empty block as the end of the " "archive. If it is :const:`True`, skip empty (and invalid) blocks and try to " @@ -662,7 +667,7 @@ msgstr "" "no válidos) e intenta obtener tantos miembros como sea posible. Esto solo es " "útil para leer archivos concatenados o dañados." -#: ../Doc/library/tarfile.rst:309 +#: ../Doc/library/tarfile.rst:313 msgid "" "*debug* can be set from ``0`` (no debug messages) up to ``3`` (all debug " "messages). The messages are written to ``sys.stderr``." @@ -671,7 +676,7 @@ msgstr "" "depuración) hasta ``3`` (todos los mensajes de depuración). Los mensajes son " "escritos en ``sys.stderr``." -#: ../Doc/library/tarfile.rst:312 +#: ../Doc/library/tarfile.rst:316 msgid "" "If *errorlevel* is ``0``, all errors are ignored when using :meth:`TarFile." "extract`. Nevertheless, they appear as error messages in the debug output, " @@ -686,7 +691,7 @@ msgstr "" "`OSError`. Si *errorlevel* es ``2``, todos los errores *non-fatal* son " "levantados como excepciones :exc:`TarError`." -#: ../Doc/library/tarfile.rst:318 +#: ../Doc/library/tarfile.rst:322 msgid "" "The *encoding* and *errors* arguments define the character encoding to be " "used for reading or writing the archive and how conversion errors are going " @@ -699,7 +704,7 @@ msgstr "" "para la mayoría de los usuarios. Mira la sección :ref:`tar-unicode` para más " "información a detalle." -#: ../Doc/library/tarfile.rst:323 +#: ../Doc/library/tarfile.rst:327 msgid "" "The *pax_headers* argument is an optional dictionary of strings which will " "be added as a pax global header if *format* is :const:`PAX_FORMAT`." @@ -708,13 +713,13 @@ msgstr "" "serán añadidas como un encabezado pax global si el valor de *format* es :" "const:`PAX_FORMAT`." -#: ../Doc/library/tarfile.rst:326 ../Doc/library/tarfile.rst:553 +#: ../Doc/library/tarfile.rst:330 ../Doc/library/tarfile.rst:558 msgid "Use ``'surrogateescape'`` as the default for the *errors* argument." msgstr "" "Utiliza ``'surrogateescape'`` como valor predeterminado del argumento " "*errors*." -#: ../Doc/library/tarfile.rst:338 +#: ../Doc/library/tarfile.rst:342 msgid "" "Alternative constructor. The :func:`tarfile.open` function is actually a " "shortcut to this classmethod." @@ -722,7 +727,7 @@ msgstr "" "Constructor alternativo. La función :func:`tarfile.open` es un acceso " "directo a este método de la clase" -#: ../Doc/library/tarfile.rst:344 +#: ../Doc/library/tarfile.rst:348 msgid "" "Return a :class:`TarInfo` object for member *name*. If *name* can not be " "found in the archive, :exc:`KeyError` is raised." @@ -731,7 +736,7 @@ msgstr "" "puede ser encontrado, entonces una excepción de tipo :exc:`KeyError` será " "lanzada." -#: ../Doc/library/tarfile.rst:349 +#: ../Doc/library/tarfile.rst:353 msgid "" "If a member occurs more than once in the archive, its last occurrence is " "assumed to be the most up-to-date version." @@ -739,7 +744,7 @@ msgstr "" "Si un miembro aparece más de una vez en el archivo, se asume que su última " "aparición es la versión más actualizada." -#: ../Doc/library/tarfile.rst:355 +#: ../Doc/library/tarfile.rst:359 msgid "" "Return the members of the archive as a list of :class:`TarInfo` objects. The " "list has the same order as the members in the archive." @@ -747,7 +752,7 @@ msgstr "" "Retorna los miembros del archivo como una lista de objetos :class:`TarInfo`. " "La lista tiene el mismo orden que los miembros del archivo." -#: ../Doc/library/tarfile.rst:361 +#: ../Doc/library/tarfile.rst:365 msgid "" "Return the members as a list of their names. It has the same order as the " "list returned by :meth:`getmembers`." @@ -755,7 +760,7 @@ msgstr "" "Retorna los miembros como una lista de sus nombres. Tiene el mismo orden que " "la lista retornada por :meth:`getmembers`." -#: ../Doc/library/tarfile.rst:367 +#: ../Doc/library/tarfile.rst:371 msgid "" "Print a table of contents to ``sys.stdout``. If *verbose* is :const:`False`, " "only the names of the members are printed. If it is :const:`True`, output " @@ -768,11 +773,11 @@ msgstr "" "parámetro *members* es proporcionado, debe ser un subconjunto de la lista " "retornada por :meth:`getmembers`." -#: ../Doc/library/tarfile.rst:372 +#: ../Doc/library/tarfile.rst:376 msgid "Added the *members* parameter." msgstr "Se agregó el parámetro *members*." -#: ../Doc/library/tarfile.rst:378 +#: ../Doc/library/tarfile.rst:382 msgid "" "Return the next member of the archive as a :class:`TarInfo` object, when :" "class:`TarFile` is opened for reading. Return :const:`None` if there is no " @@ -782,7 +787,7 @@ msgstr "" "cuando :class:`TarFile` se abre para lectura. Retorna :const:`None` si no " "hay más miembros disponibles." -#: ../Doc/library/tarfile.rst:385 +#: ../Doc/library/tarfile.rst:389 msgid "" "Extract all members from the archive to the current working directory or " "directory *path*. If optional *members* is given, it must be a subset of the " @@ -803,7 +808,7 @@ msgstr "" "creado en el. Y si los permisos de un directorio no permiten escritura, " "extraer archivos en el no será posible." -#: ../Doc/library/tarfile.rst:393 ../Doc/library/tarfile.rst:419 +#: ../Doc/library/tarfile.rst:397 ../Doc/library/tarfile.rst:423 msgid "" "If *numeric_owner* is :const:`True`, the uid and gid numbers from the " "tarfile are used to set the owner/group for the extracted files. Otherwise, " @@ -814,7 +819,7 @@ msgstr "" "extraídos. De lo contrario, se utilizan los valores nombrados del archivo " "tar." -#: ../Doc/library/tarfile.rst:399 +#: ../Doc/library/tarfile.rst:403 msgid "" "Never extract archives from untrusted sources without prior inspection. It " "is possible that files are created outside of *path*, e.g. members that have " @@ -826,15 +831,15 @@ msgstr "" "tienen nombres de archivo absolutos que comienzan con ``\"/\"`` o nombres de " "archivo con dos puntos ``\"..\"``." -#: ../Doc/library/tarfile.rst:404 ../Doc/library/tarfile.rst:435 +#: ../Doc/library/tarfile.rst:408 ../Doc/library/tarfile.rst:439 msgid "Added the *numeric_owner* parameter." msgstr "Se agregó el parámetro *numeric_owner*." -#: ../Doc/library/tarfile.rst:407 ../Doc/library/tarfile.rst:438 +#: ../Doc/library/tarfile.rst:411 ../Doc/library/tarfile.rst:442 msgid "The *path* parameter accepts a :term:`path-like object`." msgstr "El parámetro *path* acepta a :term:`path-like object`." -#: ../Doc/library/tarfile.rst:413 +#: ../Doc/library/tarfile.rst:417 msgid "" "Extract a member from the archive to the current working directory, using " "its full name. Its file information is extracted as accurately as possible. " @@ -850,7 +855,7 @@ msgstr "" "archivo (dueño, fecha de modificación, modo) son establecidos a no ser que " "*set_attrs* sea falso." -#: ../Doc/library/tarfile.rst:425 +#: ../Doc/library/tarfile.rst:429 msgid "" "The :meth:`extract` method does not take care of several extraction issues. " "In most cases you should consider using the :meth:`extractall` method." @@ -859,31 +864,28 @@ msgstr "" "mayoría de los casos deberías considerar utilizar el método :meth:" "`extractall`." -#: ../Doc/library/tarfile.rst:430 +#: ../Doc/library/tarfile.rst:434 msgid "See the warning for :meth:`extractall`." msgstr "Consulta la advertencia para :meth:`extractall`." -#: ../Doc/library/tarfile.rst:432 +#: ../Doc/library/tarfile.rst:436 msgid "Added the *set_attrs* parameter." msgstr "Se agregó el parámetro *set_attrs*." -#: ../Doc/library/tarfile.rst:444 +#: ../Doc/library/tarfile.rst:448 msgid "" "Extract a member from the archive as a file object. *member* may be a " "filename or a :class:`TarInfo` object. If *member* is a regular file or a " -"link, an :class:`io.BufferedReader` object is returned. Otherwise, :const:" -"`None` is returned." +"link, an :class:`io.BufferedReader` object is returned. For all other " +"existing members, :const:`None` is returned. If *member* does not appear in " +"the archive, :exc:`KeyError` is raised." msgstr "" -"Extract a member from the archive as a file object. *member* may be a " -"filename or a :class:`TarInfo` object. If *member* is a regular file or a " -"link, an :class:`io.BufferedReader` object is returned. Otherwise, :const:" -"`None` is returned." -#: ../Doc/library/tarfile.rst:449 +#: ../Doc/library/tarfile.rst:454 msgid "Return an :class:`io.BufferedReader` object." msgstr "Retorna un objeto :class:`io.BufferedReader`." -#: ../Doc/library/tarfile.rst:455 +#: ../Doc/library/tarfile.rst:460 msgid "" "Add the file *name* to the archive. *name* may be any type of file " "(directory, fifo, symbolic link, etc.). If given, *arcname* specifies an " @@ -906,15 +908,15 @@ msgstr "" "`None`, el objeto :class:`TarInfo` será excluido del archivo. Consulta :ref:" "`tar-examples` para ver un ejemplo." -#: ../Doc/library/tarfile.rst:466 +#: ../Doc/library/tarfile.rst:471 msgid "Added the *filter* parameter." msgstr "Se agregó el parámetro *filter*." -#: ../Doc/library/tarfile.rst:469 +#: ../Doc/library/tarfile.rst:474 msgid "Recursion adds entries in sorted order." msgstr "La recursividad agrega entradas en orden ordenado." -#: ../Doc/library/tarfile.rst:475 +#: ../Doc/library/tarfile.rst:480 msgid "" "Add the :class:`TarInfo` object *tarinfo* to the archive. If *fileobj* is " "given, it should be a :term:`binary file`, and ``tarinfo.size`` bytes are " @@ -926,7 +928,7 @@ msgstr "" "size`` se leen y se agregan al archivo. Puedes crear objetos :class:" "`TarInfo` directamente o usando :meth:`gettarinfo`." -#: ../Doc/library/tarfile.rst:483 +#: ../Doc/library/tarfile.rst:488 msgid "" "Create a :class:`TarInfo` object from the result of :func:`os.stat` or " "equivalent on an existing file. The file is either named by *name*, or " @@ -945,7 +947,7 @@ msgstr "" "attr:`~io.FileIO.name`, o el argumento *name*. El nombre puede ser una " "cadena de texto." -#: ../Doc/library/tarfile.rst:492 +#: ../Doc/library/tarfile.rst:497 msgid "" "You can modify some of the :class:`TarInfo`’s attributes before you add it " "using :meth:`addfile`. If the file object is not an ordinary file object " @@ -962,7 +964,7 @@ msgstr "" "El atributo :attr:`~TarInfo.name` también puede ser modificado, en cuyo caso " "*arcname* podría ser una cadena ficticia." -#: ../Doc/library/tarfile.rst:506 +#: ../Doc/library/tarfile.rst:511 msgid "" "Close the :class:`TarFile`. In write mode, two finishing zero blocks are " "appended to the archive." @@ -970,16 +972,16 @@ msgstr "" "Cierra :class:`TarFile`. En el modo de escritura, se añaden dos bloques de " "cero de finalización al archivo." -#: ../Doc/library/tarfile.rst:512 +#: ../Doc/library/tarfile.rst:517 msgid "A dictionary containing key-value pairs of pax global headers." msgstr "" "Un diccionario que contiene pares de *pax global headers* en key-value." -#: ../Doc/library/tarfile.rst:519 +#: ../Doc/library/tarfile.rst:524 msgid "TarInfo Objects" msgstr "Objetos TarInfo" -#: ../Doc/library/tarfile.rst:521 +#: ../Doc/library/tarfile.rst:526 msgid "" "A :class:`TarInfo` object represents one member in a :class:`TarFile`. Aside " "from storing all required attributes of a file (like file type, size, time, " @@ -992,7 +994,7 @@ msgstr "" "útiles para determinar su tipo. No contiene los datos del archivo por si " "mismo." -#: ../Doc/library/tarfile.rst:526 +#: ../Doc/library/tarfile.rst:531 msgid "" ":class:`TarInfo` objects are returned by :class:`TarFile`'s methods :meth:" "`getmember`, :meth:`getmembers` and :meth:`gettarinfo`." @@ -1000,19 +1002,19 @@ msgstr "" "Los objetos :class:`TarInfo` son retornados por métodos :class:`TarFile`' :" "meth:`getmember`, :meth:`getmembers` y :meth:`gettarinfo`." -#: ../Doc/library/tarfile.rst:532 +#: ../Doc/library/tarfile.rst:537 msgid "Create a :class:`TarInfo` object." msgstr "Crea un objeto :class:`TarInfo`." -#: ../Doc/library/tarfile.rst:537 +#: ../Doc/library/tarfile.rst:542 msgid "Create and return a :class:`TarInfo` object from string buffer *buf*." msgstr "Crea y retorna un objeto :class:`TarInfo`." -#: ../Doc/library/tarfile.rst:539 +#: ../Doc/library/tarfile.rst:544 msgid "Raises :exc:`HeaderError` if the buffer is invalid." msgstr "Lanza una excepción :exc:`HeaderError` si el buffer es invalido." -#: ../Doc/library/tarfile.rst:544 +#: ../Doc/library/tarfile.rst:549 msgid "" "Read the next member from the :class:`TarFile` object *tarfile* and return " "it as a :class:`TarInfo` object." @@ -1020,7 +1022,7 @@ msgstr "" "Lee el siguiente miembro del objeto de la clase :class:`TarFile` *tarfile* y " "lo retorna como un objeto :class:`TarInfo`." -#: ../Doc/library/tarfile.rst:550 +#: ../Doc/library/tarfile.rst:555 msgid "" "Create a string buffer from a :class:`TarInfo` object. For information on " "the arguments see the constructor of the :class:`TarFile` class." @@ -1029,27 +1031,27 @@ msgstr "" "información sobre los argumentos consulta el constructor de la clase :class:" "`TarFile`." -#: ../Doc/library/tarfile.rst:557 +#: ../Doc/library/tarfile.rst:562 msgid "A ``TarInfo`` object has the following public data attributes:" msgstr "Un objeto ``TarInfo`` tiene los siguientes atributos de dato públicos:" -#: ../Doc/library/tarfile.rst:562 +#: ../Doc/library/tarfile.rst:567 msgid "Name of the archive member." msgstr "Nombre del archivo miembro." -#: ../Doc/library/tarfile.rst:567 +#: ../Doc/library/tarfile.rst:572 msgid "Size in bytes." msgstr "Tamaño en bytes." -#: ../Doc/library/tarfile.rst:572 +#: ../Doc/library/tarfile.rst:577 msgid "Time of last modification." msgstr "Hora de la última modificación." -#: ../Doc/library/tarfile.rst:577 +#: ../Doc/library/tarfile.rst:582 msgid "Permission bits." msgstr "Bits de permiso." -#: ../Doc/library/tarfile.rst:582 +#: ../Doc/library/tarfile.rst:587 msgid "" "File type. *type* is usually one of these constants: :const:`REGTYPE`, :" "const:`AREGTYPE`, :const:`LNKTYPE`, :const:`SYMTYPE`, :const:`DIRTYPE`, :" @@ -1064,7 +1066,7 @@ msgstr "" "objeto :class:`TarInfo` de forma más conveniente, utiliza los métodos " "``is*()`` de abajo." -#: ../Doc/library/tarfile.rst:591 +#: ../Doc/library/tarfile.rst:596 msgid "" "Name of the target file name, which is only present in :class:`TarInfo` " "objects of type :const:`LNKTYPE` and :const:`SYMTYPE`." @@ -1072,80 +1074,80 @@ msgstr "" "Nombre del archivo objetivo, el cual solo está presente en los objetos :" "class:`TarInfo` de tipo :const:`LNKTYPE` y del tipo :const:`SYMTYPE`." -#: ../Doc/library/tarfile.rst:597 +#: ../Doc/library/tarfile.rst:602 msgid "User ID of the user who originally stored this member." msgstr "ID de usuario que originalmente almacenó este miembro." -#: ../Doc/library/tarfile.rst:602 +#: ../Doc/library/tarfile.rst:607 msgid "Group ID of the user who originally stored this member." msgstr "ID de grupo del usuario que originalmente almacenó este miembro." -#: ../Doc/library/tarfile.rst:607 +#: ../Doc/library/tarfile.rst:612 msgid "User name." msgstr "Nombre de usuario." -#: ../Doc/library/tarfile.rst:612 +#: ../Doc/library/tarfile.rst:617 msgid "Group name." msgstr "Nombre del grupo." -#: ../Doc/library/tarfile.rst:617 +#: ../Doc/library/tarfile.rst:622 msgid "" "A dictionary containing key-value pairs of an associated pax extended header." msgstr "" "Un diccionario que contiene pares *key-value* de un encabezado *pax " "extended*." -#: ../Doc/library/tarfile.rst:620 +#: ../Doc/library/tarfile.rst:625 msgid "A :class:`TarInfo` object also provides some convenient query methods:" msgstr "" "Un objeto :class:`TarInfo` también provee de algunos métodos de consulta " "convenientes:" -#: ../Doc/library/tarfile.rst:625 +#: ../Doc/library/tarfile.rst:630 msgid "Return :const:`True` if the :class:`Tarinfo` object is a regular file." msgstr "" "Retorna :const:`True` si el objeto :class:`Tarinfo` es un archivo regular." -#: ../Doc/library/tarfile.rst:630 +#: ../Doc/library/tarfile.rst:635 msgid "Same as :meth:`isfile`." msgstr "Igual que :meth:`isfile`." -#: ../Doc/library/tarfile.rst:635 +#: ../Doc/library/tarfile.rst:640 msgid "Return :const:`True` if it is a directory." msgstr "Retorna :const:`True` si es un directorio." -#: ../Doc/library/tarfile.rst:640 +#: ../Doc/library/tarfile.rst:645 msgid "Return :const:`True` if it is a symbolic link." msgstr "Retorna :const:`True` si es un enlace simbólico." -#: ../Doc/library/tarfile.rst:645 +#: ../Doc/library/tarfile.rst:650 msgid "Return :const:`True` if it is a hard link." msgstr "Retorna :const:`True` si es un enlace duro." -#: ../Doc/library/tarfile.rst:650 +#: ../Doc/library/tarfile.rst:655 msgid "Return :const:`True` if it is a character device." msgstr "Retorna :const:`True` si es un dispositivo de caracter." -#: ../Doc/library/tarfile.rst:655 +#: ../Doc/library/tarfile.rst:660 msgid "Return :const:`True` if it is a block device." msgstr "Retorna :const:`True` si es un dispositivo de bloque." -#: ../Doc/library/tarfile.rst:660 +#: ../Doc/library/tarfile.rst:665 msgid "Return :const:`True` if it is a FIFO." msgstr "Retorna :const:`True` si es un FIFO." -#: ../Doc/library/tarfile.rst:665 +#: ../Doc/library/tarfile.rst:670 msgid "" "Return :const:`True` if it is one of character device, block device or FIFO." msgstr "" "Retorna :const:`True` si es uno de los caracteres de dispositivo, " "dispositivo de bloque o FIFO." -#: ../Doc/library/tarfile.rst:672 +#: ../Doc/library/tarfile.rst:677 msgid "Command-Line Interface" msgstr "Interfaz de línea de comandos" -#: ../Doc/library/tarfile.rst:676 +#: ../Doc/library/tarfile.rst:681 msgid "" "The :mod:`tarfile` module provides a simple command-line interface to " "interact with tar archives." @@ -1153,7 +1155,7 @@ msgstr "" "El módulo :mod:`tarfile` provee una interfaz de línea de comandos sencilla " "para interactuar con archivos tar." -#: ../Doc/library/tarfile.rst:679 +#: ../Doc/library/tarfile.rst:684 msgid "" "If you want to create a new tar archive, specify its name after the :option:" "`-c` option and then list the filename(s) that should be included:" @@ -1162,11 +1164,11 @@ msgstr "" "opción :option:`-c` y después lista el nombre de archivo(s) que deberían ser " "incluidos:" -#: ../Doc/library/tarfile.rst:686 +#: ../Doc/library/tarfile.rst:691 msgid "Passing a directory is also acceptable:" msgstr "Proporcionar un directorio también es aceptable:" -#: ../Doc/library/tarfile.rst:692 +#: ../Doc/library/tarfile.rst:697 msgid "" "If you want to extract a tar archive into the current directory, use the :" "option:`-e` option:" @@ -1174,7 +1176,7 @@ msgstr "" "Si deseas extraer un archivo tar en el directorio actual, utiliza la opción :" "option:`-e`:" -#: ../Doc/library/tarfile.rst:699 +#: ../Doc/library/tarfile.rst:704 msgid "" "You can also extract a tar archive into a different directory by passing the " "directory's name:" @@ -1182,48 +1184,48 @@ msgstr "" "También puedes extraer un archivo tar en un directorio diferente pasando el " "nombre del directorio como parámetro:" -#: ../Doc/library/tarfile.rst:706 +#: ../Doc/library/tarfile.rst:711 msgid "For a list of the files in a tar archive, use the :option:`-l` option:" msgstr "" "Para obtener una lista de archivos dentro de un archivo tar, utiliza la " "opción :option:`-l`:" -#: ../Doc/library/tarfile.rst:714 +#: ../Doc/library/tarfile.rst:719 msgid "Command-line options" msgstr "Opciones de línea de comandos" -#: ../Doc/library/tarfile.rst:719 +#: ../Doc/library/tarfile.rst:724 msgid "List files in a tarfile." msgstr "Listar archivos en un tar." -#: ../Doc/library/tarfile.rst:724 +#: ../Doc/library/tarfile.rst:729 msgid "Create tarfile from source files." msgstr "Crear archivo tar desde archivos fuente." -#: ../Doc/library/tarfile.rst:729 +#: ../Doc/library/tarfile.rst:734 msgid "" "Extract tarfile into the current directory if *output_dir* is not specified." msgstr "" "Extrae el archivo tar en el directorio actual si *output_dir* no es " "especificado." -#: ../Doc/library/tarfile.rst:734 +#: ../Doc/library/tarfile.rst:739 msgid "Test whether the tarfile is valid or not." msgstr "Probar si el archivo tar es valido o no." -#: ../Doc/library/tarfile.rst:738 +#: ../Doc/library/tarfile.rst:743 msgid "Verbose output." msgstr "Output *verbose*." -#: ../Doc/library/tarfile.rst:743 +#: ../Doc/library/tarfile.rst:748 msgid "Examples" msgstr "Ejemplos" -#: ../Doc/library/tarfile.rst:745 +#: ../Doc/library/tarfile.rst:750 msgid "How to extract an entire tar archive to the current working directory::" msgstr "Cómo extraer un archivo tar entero al directorio de trabajo actual::" -#: ../Doc/library/tarfile.rst:752 +#: ../Doc/library/tarfile.rst:757 msgid "" "How to extract a subset of a tar archive with :meth:`TarFile.extractall` " "using a generator function instead of a list::" @@ -1231,17 +1233,17 @@ msgstr "" "Cómo extraer un subconjunto de un archivo tar con :meth:`TarFile.extractall` " "utilizando una función generadora en lugar de una lista::" -#: ../Doc/library/tarfile.rst:767 +#: ../Doc/library/tarfile.rst:772 msgid "How to create an uncompressed tar archive from a list of filenames::" msgstr "" "Cómo crear un archivo tar sin comprimir desde una lista de nombres de " "archivo::" -#: ../Doc/library/tarfile.rst:775 +#: ../Doc/library/tarfile.rst:780 msgid "The same example using the :keyword:`with` statement::" msgstr "El mismo ejemplo utilizando la declaración :keyword:`with`::" -#: ../Doc/library/tarfile.rst:782 +#: ../Doc/library/tarfile.rst:787 msgid "" "How to read a gzip compressed tar archive and display some member " "information::" @@ -1249,7 +1251,7 @@ msgstr "" "Cómo leer un archivo tar comprimido con gzip y desplegar un poco de " "información del miembro::" -#: ../Doc/library/tarfile.rst:796 +#: ../Doc/library/tarfile.rst:801 msgid "" "How to create an archive and reset the user information using the *filter* " "parameter in :meth:`TarFile.add`::" @@ -1257,18 +1259,18 @@ msgstr "" "Cómo crear un archivo y reiniciar la información del usuario usando el " "parámetro *filter* en :meth:`TarFile.add`::" -#: ../Doc/library/tarfile.rst:812 +#: ../Doc/library/tarfile.rst:817 msgid "Supported tar formats" msgstr "Formatos tar con soporte" -#: ../Doc/library/tarfile.rst:814 +#: ../Doc/library/tarfile.rst:819 msgid "" "There are three tar formats that can be created with the :mod:`tarfile` " "module:" msgstr "" "Hay tres formatos tar que puede ser creados con el módulo :mod:`tarfile`:" -#: ../Doc/library/tarfile.rst:816 +#: ../Doc/library/tarfile.rst:821 msgid "" "The POSIX.1-1988 ustar format (:const:`USTAR_FORMAT`). It supports filenames " "up to a length of at best 256 characters and linknames up to 100 characters. " @@ -1280,7 +1282,7 @@ msgstr "" "hasta 100 caracteres. El tamaño máximo de archivo es de 8 GiB. Este es un " "formato viejo y limitado pero con amplio soporte." -#: ../Doc/library/tarfile.rst:821 +#: ../Doc/library/tarfile.rst:826 msgid "" "The GNU tar format (:const:`GNU_FORMAT`). It supports long filenames and " "linknames, files bigger than 8 GiB and sparse files. It is the de facto " @@ -1293,7 +1295,7 @@ msgstr "" "admite de forma completa las extensiones de GNU tar para nombres largos, el " "soporte para archivos dispersos es de solo lectura." -#: ../Doc/library/tarfile.rst:826 +#: ../Doc/library/tarfile.rst:831 msgid "" "The POSIX.1-2001 pax format (:const:`PAX_FORMAT`). It is the most flexible " "format with virtually no limits. It supports long filenames and linknames, " @@ -1313,7 +1315,7 @@ msgstr "" "estuvieran en el formato *ustar* compatible universalmente. Es el formato " "predeterminado actual para archivos nuevos." -#: ../Doc/library/tarfile.rst:834 +#: ../Doc/library/tarfile.rst:839 msgid "" "It extends the existing *ustar* format with extra headers for information " "that cannot be stored otherwise. There are two flavours of pax headers: " @@ -1328,14 +1330,14 @@ msgstr "" "entero y afectan todos los siguientes archivos. Todos los datos en un " "encabezado pax son codificados en *UTF-8* por razones de portabilidad." -#: ../Doc/library/tarfile.rst:840 +#: ../Doc/library/tarfile.rst:845 msgid "" "There are some more variants of the tar format which can be read, but not " "created:" msgstr "" "Existen más variantes del formato tar que puede ser leídas, pero no creadas:" -#: ../Doc/library/tarfile.rst:843 +#: ../Doc/library/tarfile.rst:848 msgid "" "The ancient V7 format. This is the first tar format from Unix Seventh " "Edition, storing only regular files and directories. Names must not be " @@ -1350,7 +1352,7 @@ msgstr "" "encabezado mal calculadas en el caso de campos con caracteres que no son " "ASCII." -#: ../Doc/library/tarfile.rst:848 +#: ../Doc/library/tarfile.rst:853 msgid "" "The SunOS tar extended format. This format is a variant of the POSIX.1-2001 " "pax format, but is not compatible." @@ -1358,11 +1360,11 @@ msgstr "" "El formato extendido tar de SunOS. Este formato es una variante del formato " "POSIX.1-2001 pax, pero no es compatible." -#: ../Doc/library/tarfile.rst:854 +#: ../Doc/library/tarfile.rst:859 msgid "Unicode issues" msgstr "Problemas Unicode" -#: ../Doc/library/tarfile.rst:856 +#: ../Doc/library/tarfile.rst:861 msgid "" "The tar format was originally conceived to make backups on tape drives with " "the main focus on preserving file system information. Nowadays tar archives " @@ -1391,7 +1393,7 @@ msgstr "" "este problema. Almacena los metadatos no ASCII usando una codificación de " "caracteres universal *UTF-8*." -#: ../Doc/library/tarfile.rst:868 +#: ../Doc/library/tarfile.rst:873 msgid "" "The details of character conversion in :mod:`tarfile` are controlled by the " "*encoding* and *errors* keyword arguments of the :class:`TarFile` class." @@ -1400,7 +1402,7 @@ msgstr "" "controlados por los argumentos de palabra clave *encoding* y *errors* de la " "clase :class:`TarFile`." -#: ../Doc/library/tarfile.rst:871 +#: ../Doc/library/tarfile.rst:876 msgid "" "*encoding* defines the character encoding to use for the metadata in the " "archive. The default value is :func:`sys.getfilesystemencoding` or " @@ -1415,7 +1417,7 @@ msgstr "" "codificarse. Si el *encoding* no se configura correctamente, esta conversión " "puede fallar." -#: ../Doc/library/tarfile.rst:877 +#: ../Doc/library/tarfile.rst:882 msgid "" "The *errors* argument defines how characters are treated that cannot be " "converted. Possible values are listed in section :ref:`error-handlers`. The " @@ -1428,7 +1430,7 @@ msgstr "" "``'surrogateescape'`` el cual Python también utiliza para sus llamadas al " "sistema de archivos. Consulta :ref:`os-filenames`." -#: ../Doc/library/tarfile.rst:882 +#: ../Doc/library/tarfile.rst:887 msgid "" "For :const:`PAX_FORMAT` archives (the default), *encoding* is generally not " "needed because all the metadata is stored using *UTF-8*. *encoding* is only " diff --git a/library/tempfile.po b/library/tempfile.po index 06c0cd8d3d..d2888e4197 100644 --- a/library/tempfile.po +++ b/library/tempfile.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-25 18:58-0600\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.3.1\n" #: ../Doc/library/tempfile.rst:2 msgid ":mod:`tempfile` --- Generate temporary files and directories" @@ -141,8 +140,8 @@ 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)." -#: ../Doc/library/tempfile.rst:66 ../Doc/library/tempfile.rst:91 -#: ../Doc/library/tempfile.rst:187 +#: ../Doc/library/tempfile.rst:65 ../Doc/library/tempfile.rst:90 +#: ../Doc/library/tempfile.rst:185 msgid "" "Raises an :ref:`auditing event ` ``tempfile.mkstemp`` with " "argument ``fullpath``." @@ -262,7 +261,7 @@ msgstr "" "El directorio se puede limpiar explícitamente llamando al método :func:" "`cleanup`." -#: ../Doc/library/tempfile.rst:138 ../Doc/library/tempfile.rst:213 +#: ../Doc/library/tempfile.rst:137 ../Doc/library/tempfile.rst:211 msgid "" "Raises an :ref:`auditing event ` ``tempfile.mkdtemp`` with " "argument ``fullpath``." @@ -354,14 +353,11 @@ msgstr "" #: ../Doc/library/tempfile.rst:178 msgid "" -"If *text* is specified, it indicates whether to open the file in binary mode " -"(the default) or text mode. On some platforms, this makes no difference." +"If *text* is specified and true, the file is opened in text mode. Otherwise, " +"(the default) the file is opened in binary mode." msgstr "" -"Si *text* es especificado, indica si se debe abrir el archivo en modo " -"binario (predeterminado) o en modo texto. En algunas plataformas, esto no " -"hace ninguna diferencia." -#: ../Doc/library/tempfile.rst:182 +#: ../Doc/library/tempfile.rst:181 msgid "" ":func:`mkstemp` returns a tuple containing an OS-level handle to an open " "file (as would be returned by :func:`os.open`) and the absolute pathname of " @@ -371,7 +367,7 @@ msgstr "" "sistema operativo a un archivo abierto (como sería retornado por :func:`os." "open`) y la ruta absoluta de ese archivo, en ese orden." -#: ../Doc/library/tempfile.rst:188 ../Doc/library/tempfile.rst:214 +#: ../Doc/library/tempfile.rst:187 ../Doc/library/tempfile.rst:213 msgid "" "*suffix*, *prefix*, and *dir* may now be supplied in bytes in order to " "obtain a bytes return value. Prior to this, only str was allowed. *suffix* " @@ -383,11 +379,11 @@ msgstr "" "*suffix* y *prefix* ahora aceptan y por defecto ``None`` para hacer que se " "use un valor predeterminado apropiado." -#: ../Doc/library/tempfile.rst:194 ../Doc/library/tempfile.rst:220 +#: ../Doc/library/tempfile.rst:193 ../Doc/library/tempfile.rst:219 msgid "The *dir* parameter now accepts a :term:`path-like object`." msgstr "El parámetro *dir* ahora acepta un :term:`path-like object`." -#: ../Doc/library/tempfile.rst:200 +#: ../Doc/library/tempfile.rst:199 msgid "" "Creates a temporary directory in the most secure manner possible. There are " "no race conditions in the directory's creation. The directory is readable, " @@ -397,7 +393,7 @@ msgstr "" "condiciones de carrera en la creación del directorio. El directorio se " "puede leer, escribir y buscar solo por el ID del usuario creador." -#: ../Doc/library/tempfile.rst:204 +#: ../Doc/library/tempfile.rst:203 msgid "" "The user of :func:`mkdtemp` is responsible for deleting the temporary " "directory and its contents when done with it." @@ -405,7 +401,7 @@ msgstr "" "El usuario de :func:`mkdtemp` es responsable de eliminar el directorio " "temporal y su contenido cuando haya terminado con él." -#: ../Doc/library/tempfile.rst:207 +#: ../Doc/library/tempfile.rst:206 msgid "" "The *prefix*, *suffix*, and *dir* arguments are the same as for :func:" "`mkstemp`." @@ -413,11 +409,11 @@ msgstr "" "Los argumentos *prefix*, *suffix*, y *dir* son los mismos que para :func:" "`mkstemp`." -#: ../Doc/library/tempfile.rst:210 +#: ../Doc/library/tempfile.rst:209 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:226 +#: ../Doc/library/tempfile.rst:225 msgid "" "Return the name of the directory used for temporary files. This defines the " "default value for the *dir* argument to all functions in this module." @@ -426,7 +422,7 @@ msgstr "" "define el valor predeterminado para el argumento *dir* para todas las " "funciones en este módulo." -#: ../Doc/library/tempfile.rst:230 +#: ../Doc/library/tempfile.rst:229 msgid "" "Python searches a standard list of directories to find one which the calling " "user can create files in. The list is:" @@ -434,23 +430,23 @@ msgstr "" "Python busca en una lista estándar de directorios para encontrar uno dentro " "del cual el usuario pueda crear archivos. La lista es:" -#: ../Doc/library/tempfile.rst:233 +#: ../Doc/library/tempfile.rst:232 msgid "The directory named by the :envvar:`TMPDIR` environment variable." msgstr "El directorio nombrado por la variable de entorno :envvar:`TMPDIR`." -#: ../Doc/library/tempfile.rst:235 +#: ../Doc/library/tempfile.rst:234 msgid "The directory named by the :envvar:`TEMP` environment variable." msgstr "El directorio nombrado por la variable de entorno :envvar:`TEMP`." -#: ../Doc/library/tempfile.rst:237 +#: ../Doc/library/tempfile.rst:236 msgid "The directory named by the :envvar:`TMP` environment variable." msgstr "El directorio nombrado por la variable de entorno :envvar:`TMP`." -#: ../Doc/library/tempfile.rst:239 +#: ../Doc/library/tempfile.rst:238 msgid "A platform-specific location:" msgstr "Una ubicación especifica de la plataforma:" -#: ../Doc/library/tempfile.rst:241 +#: ../Doc/library/tempfile.rst:240 msgid "" "On Windows, the directories :file:`C:\\\\TEMP`, :file:`C:\\\\TMP`, :file:`\\" "\\TEMP`, and :file:`\\\\TMP`, in that order." @@ -458,7 +454,7 @@ msgstr "" "En Windows, los directorios :file:`C:\\\\TEMP`, :file:`C:\\\\TMP`, :file:`\\" "\\TEMP`, y :file:`\\\\TMP`, en ese orden." -#: ../Doc/library/tempfile.rst:244 +#: ../Doc/library/tempfile.rst:243 msgid "" "On all other platforms, the directories :file:`/tmp`, :file:`/var/tmp`, and :" "file:`/usr/tmp`, in that order." @@ -466,11 +462,11 @@ msgstr "" "En todas las otras plataformas, los directorios :file:`/tmp`, :file:`/var/" "tmp`, y :file:`/usr/tmp`, en ese orden." -#: ../Doc/library/tempfile.rst:247 +#: ../Doc/library/tempfile.rst:246 msgid "As a last resort, the current working directory." msgstr "Y como última alternativa, el directorio de trabajo actual." -#: ../Doc/library/tempfile.rst:249 +#: ../Doc/library/tempfile.rst:248 msgid "" "The result of this search is cached, see the description of :data:`tempdir` " "below." @@ -478,11 +474,11 @@ msgstr "" "El resultado de la búsqueda es cacheada, vea la descripción de :data:" "`tempdir` abajo." -#: ../Doc/library/tempfile.rst:254 +#: ../Doc/library/tempfile.rst:253 msgid "Same as :func:`gettempdir` but the return value is in bytes." msgstr "Igual a :func:`gettempdir` pero el valor retornado es en bytes." -#: ../Doc/library/tempfile.rst:260 +#: ../Doc/library/tempfile.rst:259 msgid "" "Return the filename prefix used to create temporary files. This does not " "contain the directory component." @@ -490,11 +486,11 @@ msgstr "" "Retorna el prefijo del nombre de archivo utilizado para crear archivos " "temporales. Este no contiene el componente de directorio." -#: ../Doc/library/tempfile.rst:265 +#: ../Doc/library/tempfile.rst:264 msgid "Same as :func:`gettempprefix` but the return value is in bytes." msgstr "Igual que :func:`gettempprefix` pero el valor retornado es en bytes." -#: ../Doc/library/tempfile.rst:269 +#: ../Doc/library/tempfile.rst:268 msgid "" "The module uses a global variable to store the name of the directory used " "for temporary files returned by :func:`gettempdir`. It can be set directly " @@ -509,7 +505,7 @@ msgstr "" "toman un argumento *dir* que puede usarse para especificar el directorio y " "este es el enfoque recomendado." -#: ../Doc/library/tempfile.rst:277 +#: ../Doc/library/tempfile.rst:276 msgid "" "When set to a value other than ``None``, this variable defines the default " "value for the *dir* argument to the functions defined in this module." @@ -518,7 +514,7 @@ msgstr "" "el valor predeterminado para el argumento *dir* para las funciones definidas " "en este módulo." -#: ../Doc/library/tempfile.rst:281 +#: ../Doc/library/tempfile.rst:280 msgid "" "If ``tempdir`` is ``None`` (the default) at any call to any of the above " "functions except :func:`gettempprefix` it is initialized following the " @@ -528,19 +524,19 @@ msgstr "" "de las funciones anteriores excepto :func:`gettempprefix` se inicializa " "siguiendo el algoritmo descrito en :func:`gettempdir`." -#: ../Doc/library/tempfile.rst:288 +#: ../Doc/library/tempfile.rst:287 msgid "Examples" msgstr "Ejemplos" -#: ../Doc/library/tempfile.rst:290 +#: ../Doc/library/tempfile.rst:289 msgid "Here are some examples of typical usage of the :mod:`tempfile` module::" msgstr "Estos son algunos ejemplos del uso típico del módulo :mod:`tempfile`::" -#: ../Doc/library/tempfile.rst:321 +#: ../Doc/library/tempfile.rst:320 msgid "Deprecated functions and variables" msgstr "Funciones y variables deprecadas" -#: ../Doc/library/tempfile.rst:323 +#: ../Doc/library/tempfile.rst:322 msgid "" "A historical way to create temporary files was to first generate a file name " "with the :func:`mktemp` function and then create a file using this name. " @@ -559,11 +555,11 @@ msgstr "" "de inmediato. Este enfoque es utilizado por :func:`mkstemp` y las otras " "funciones descritas anteriormente." -#: ../Doc/library/tempfile.rst:334 +#: ../Doc/library/tempfile.rst:333 msgid "Use :func:`mkstemp` instead." msgstr "Utilice :func:`mkstemp` en su lugar." -#: ../Doc/library/tempfile.rst:337 +#: ../Doc/library/tempfile.rst:336 msgid "" "Return an absolute pathname of a file that did not exist at the time the " "call is made. The *prefix*, *suffix*, and *dir* arguments are similar to " @@ -575,7 +571,7 @@ msgstr "" "*dir* son similares a los de :func:`mkstemp`, excepto los nombres de archivo " "de bytes, ``suffix=None`` y ``prefix=None`` no son soportados." -#: ../Doc/library/tempfile.rst:344 +#: ../Doc/library/tempfile.rst:343 msgid "" "Use of this function may introduce a security hole in your program. By the " "time you get around to doing anything with the file name it returns, someone " @@ -588,3 +584,12 @@ msgstr "" "retorna, alguien más pudo haberse adelantado. El uso de :func:`mktemp` se " "puede reemplazar fácilmente con :func:`NamedTemporaryFile`, pasándole el " "parámetro ``delete=False``::" + +#~ msgid "" +#~ "If *text* is specified, it indicates whether to open the file in binary " +#~ "mode (the default) or text mode. On some platforms, this makes no " +#~ "difference." +#~ msgstr "" +#~ "Si *text* es especificado, indica si se debe abrir el archivo en modo " +#~ "binario (predeterminado) o en modo texto. En algunas plataformas, esto no " +#~ "hace ninguna diferencia." diff --git a/library/test.po b/library/test.po index 26fba4c81c..ed68c59375 100644 --- a/library/test.po +++ b/library/test.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-07-26 12:19+0200\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.3.1\n" #: ../Doc/library/test.rst:2 msgid ":mod:`test` --- Regression tests package for Python" @@ -436,22 +435,111 @@ msgstr "" "`FS_NONASCII`." #: ../Doc/library/test.rst:292 -msgid "Set to ``True`` if IPV6 is enabled on this host, ``False`` otherwise." +msgid "" +"Timeout in seconds for tests using a network server listening on the network " +"local loopback interface like ``127.0.0.1``." +msgstr "" + +#: ../Doc/library/test.rst:295 +msgid "" +"The timeout is long enough to prevent test failure: it takes into account " +"that the client and the server can run in different threads or even " +"different processes." msgstr "" -"Establecido ``True`` si *IPV6* está habilitado en este host, de lo contrario " -"``False``." -#: ../Doc/library/test.rst:297 +#: ../Doc/library/test.rst:299 +msgid "" +"The timeout should be long enough for :meth:`~socket.socket.connect`, :meth:" +"`~socket.socket.recv` and :meth:`~socket.socket.send` methods of :class:" +"`socket.socket`." +msgstr "" + +#: ../Doc/library/test.rst:303 +msgid "Its default value is 5 seconds." +msgstr "" + +#: ../Doc/library/test.rst:305 +msgid "See also :data:`INTERNET_TIMEOUT`." +msgstr "" + +#: ../Doc/library/test.rst:310 +msgid "Timeout in seconds for network requests going to the Internet." +msgstr "" + +#: ../Doc/library/test.rst:312 +msgid "" +"The timeout is short enough to prevent a test to wait for too long if the " +"Internet request is blocked for whatever reason." +msgstr "" + +#: ../Doc/library/test.rst:315 +msgid "" +"Usually, a timeout using :data:`INTERNET_TIMEOUT` should not mark a test as " +"failed, but skip the test instead: see :func:`~test.support.socket_helper." +"transient_internet`." +msgstr "" + +#: ../Doc/library/test.rst:319 +msgid "Its default value is 1 minute." +msgstr "" + +#: ../Doc/library/test.rst:321 +msgid "See also :data:`LOOPBACK_TIMEOUT`." +msgstr "" + +#: ../Doc/library/test.rst:326 +msgid "" +"Timeout in seconds to mark a test as failed if the test takes \"too long\"." +msgstr "" + +#: ../Doc/library/test.rst:328 +msgid "" +"The timeout value depends on the regrtest ``--timeout`` command line option." +msgstr "" + +#: ../Doc/library/test.rst:330 +msgid "" +"If a test using :data:`SHORT_TIMEOUT` starts to fail randomly on slow " +"buildbots, use :data:`LONG_TIMEOUT` instead." +msgstr "" + +#: ../Doc/library/test.rst:333 +msgid "Its default value is 30 seconds." +msgstr "" + +#: ../Doc/library/test.rst:338 +msgid "Timeout in seconds to detect when a test hangs." +msgstr "" + +#: ../Doc/library/test.rst:340 +msgid "" +"It is long enough to reduce the risk of test failure on the slowest Python " +"buildbots. It should not be used to mark a test as failed if the test takes " +"\"too long\". The timeout value depends on the regrtest ``--timeout`` " +"command line option." +msgstr "" + +#: ../Doc/library/test.rst:345 +msgid "Its default value is 5 minutes." +msgstr "" + +#: ../Doc/library/test.rst:347 +msgid "" +"See also :data:`LOOPBACK_TIMEOUT`, :data:`INTERNET_TIMEOUT` and :data:" +"`SHORT_TIMEOUT`." +msgstr "" + +#: ../Doc/library/test.rst:353 msgid "Set to :func:`os.getcwd`." msgstr "Establecido :func:`os.getcwd`." -#: ../Doc/library/test.rst:302 +#: ../Doc/library/test.rst:358 msgid "Set when tests can be skipped when they are not useful for PGO." msgstr "" "Establecido cuando se pueden omitir las pruebas cuando no son útiles para " "*PGO*." -#: ../Doc/library/test.rst:307 +#: ../Doc/library/test.rst:363 msgid "" "A constant that is likely larger than the underlying OS pipe buffer size, to " "make writes blocking." @@ -460,7 +548,7 @@ msgstr "" "tubería (*pipe*) del sistema operativo subyacente, para bloquear las " "escrituras." -#: ../Doc/library/test.rst:313 +#: ../Doc/library/test.rst:369 msgid "" "A constant that is likely larger than the underlying OS socket buffer size, " "to make writes blocking." @@ -468,26 +556,26 @@ msgstr "" "Una constante que probablemente sea más grande que el tamaño del búfer del " "socket del sistema operativo subyacente para bloquear las escrituras." -#: ../Doc/library/test.rst:319 +#: ../Doc/library/test.rst:375 msgid "Set to the top level directory that contains :mod:`test.support`." msgstr "" "Establecido en el directorio de nivel superior que contiene :mod:`test." "support`." -#: ../Doc/library/test.rst:324 +#: ../Doc/library/test.rst:380 msgid "Set to the top level directory for the test package." msgstr "" "Establecido en el directorio de nivel superior para el paquete de prueba." -#: ../Doc/library/test.rst:329 +#: ../Doc/library/test.rst:385 msgid "Set to the ``data`` directory within the test package." msgstr "Establecido en el directorio ``data`` dentro del paquete de prueba." -#: ../Doc/library/test.rst:334 +#: ../Doc/library/test.rst:390 msgid "Set to :data:`sys.maxsize` for big memory tests." msgstr "Establecido :data:`sys.maxsize` para pruebas de gran memoria." -#: ../Doc/library/test.rst:339 +#: ../Doc/library/test.rst:395 msgid "" "Set by :func:`set_memlimit` as the memory limit for big memory tests. " "Limited by :data:`MAX_Py_ssize_t`." @@ -495,7 +583,7 @@ msgstr "" "Establecido por :func:`set_memlimit` como límite de memoria para pruebas de " "memoria grande. Limitado por :data:`MAX_Py_ssize_t`." -#: ../Doc/library/test.rst:345 +#: ../Doc/library/test.rst:401 msgid "" "Set by :func:`set_memlimit` as the memory limit for big memory tests. Not " "limited by :data:`MAX_Py_ssize_t`." @@ -503,7 +591,7 @@ msgstr "" "Establecido por :func:`set_memlimit` como límite de memoria para pruebas de " "memoria grande. No limitado por :data:`MAX_Py_ssize_t`." -#: ../Doc/library/test.rst:351 +#: ../Doc/library/test.rst:407 msgid "" "Return ``True`` if running on CPython, not on Windows, and configuration not " "set with ``WITH_DOC_STRINGS``." @@ -511,21 +599,30 @@ msgstr "" "Retorna ``True`` si se ejecuta en CPython, no en Windows, y la configuración " "no está configurada con ``WITH_DOC_STRINGS``." -#: ../Doc/library/test.rst:357 +#: ../Doc/library/test.rst:413 msgid "Check for presence of docstrings." msgstr "Verifica la presencia de cadenas de documentos (*docstrings*)." -#: ../Doc/library/test.rst:362 +#: ../Doc/library/test.rst:418 msgid "Define the URL of a dedicated HTTP server for the network tests." msgstr "Define la URL de un servidor HTTP dedicado para las pruebas de red." -#: ../Doc/library/test.rst:367 +#: ../Doc/library/test.rst:423 msgid "Object that is equal to anything. Used to test mixed type comparison." msgstr "" "Objeto que es igual a cualquier cosa. Se utiliza para probar la comparación " "de tipos mixtos." -#: ../Doc/library/test.rst:372 +#: ../Doc/library/test.rst:428 +#, fuzzy +msgid "" +"Object that is not equal to anything (even to :data:`ALWAYS_EQ`). Used to " +"test mixed type comparison." +msgstr "" +"Objeto que es igual a cualquier cosa. Se utiliza para probar la comparación " +"de tipos mixtos." + +#: ../Doc/library/test.rst:434 msgid "" "Object that is greater than anything (except itself). Used to test mixed " "type comparison." @@ -533,7 +630,7 @@ msgstr "" "Objeto que es mayor que cualquier cosa (excepto a sí mismo). Se utiliza para " "probar la comparación de tipos mixtos." -#: ../Doc/library/test.rst:378 +#: ../Doc/library/test.rst:440 msgid "" "Object that is less than anything (except itself). Used to test mixed type " "comparison." @@ -541,11 +638,11 @@ msgstr "" "Objeto que es menor que cualquier cosa (excepto él mismo). Se utiliza para " "probar la comparación de tipos mixtos." -#: ../Doc/library/test.rst:382 +#: ../Doc/library/test.rst:444 msgid "The :mod:`test.support` module defines the following functions:" msgstr "El módulo :mod:`test.support` define las siguientes funciones:" -#: ../Doc/library/test.rst:386 +#: ../Doc/library/test.rst:448 msgid "" "Remove the module named *module_name* from ``sys.modules`` and delete any " "byte-compiled files of the module." @@ -553,11 +650,11 @@ msgstr "" "Elimina el módulo llamado *module_name* de ``sys.modules`` y elimina los " "archivos compilados por bytes del módulo." -#: ../Doc/library/test.rst:392 +#: ../Doc/library/test.rst:454 msgid "Delete *name* from ``sys.modules``." msgstr "Elimina *name* de ``sys.modules``." -#: ../Doc/library/test.rst:397 +#: ../Doc/library/test.rst:459 msgid "" "Call :func:`os.unlink` on *filename*. On Windows platforms, this is wrapped " "with a wait loop that checks for the existence fo the file." @@ -565,7 +662,7 @@ msgstr "" "Llama a :func:`os.unlink` en *filename*. En plataformas Windows, esto está " "envuelto con un ciclo de espera que verifica la existencia del archivo." -#: ../Doc/library/test.rst:403 +#: ../Doc/library/test.rst:465 msgid "" "Call :func:`os.rmdir` on *filename*. On Windows platforms, this is wrapped " "with a wait loop that checks for the existence of the file." @@ -573,7 +670,7 @@ msgstr "" "Llama a :func:`os.rmdir` en *filename*. En las plataformas Windows, esto " "está envuelto con un ciclo de espera que verifica la existencia del archivo." -#: ../Doc/library/test.rst:409 +#: ../Doc/library/test.rst:471 msgid "" "Call :func:`shutil.rmtree` on *path* or call :func:`os.lstat` and :func:`os." "rmdir` to remove a path and its contents. On Windows platforms, this is " @@ -584,7 +681,7 @@ msgstr "" "esto está envuelto con un ciclo de espera que verifica la existencia de los " "archivos." -#: ../Doc/library/test.rst:416 +#: ../Doc/library/test.rst:478 msgid "" "Move a :pep:`3147`/:pep:`488` pyc file to its legacy pyc location and return " "the file system path to the legacy pyc file. The *source* value is the file " @@ -597,7 +694,7 @@ msgstr "" "necesario que exista, sin embargo, debe existir el archivo PEP 3147/488 " "*pyc*." -#: ../Doc/library/test.rst:424 +#: ../Doc/library/test.rst:486 msgid "" "Return ``True`` if *resource* is enabled and available. The list of " "available resources is only set when :mod:`test.regrtest` is executing the " @@ -607,15 +704,15 @@ msgstr "" "recursos disponibles solo se establece cuando :mod:`test.regrtest` está " "ejecutando las pruebas." -#: ../Doc/library/test.rst:431 +#: ../Doc/library/test.rst:493 msgid "Return ``True`` if Python was not built with ``-O0`` or ``-Og``." msgstr "Retorna ``True`` si Python no fue construido con ``-O0`` o ``-Og``." -#: ../Doc/library/test.rst:436 +#: ../Doc/library/test.rst:498 msgid "Return :data:`_testcapi.WITH_PYMALLOC`." msgstr "Retorna :data:`_testcapi.WITH_PYMALLOC`." -#: ../Doc/library/test.rst:441 +#: ../Doc/library/test.rst:503 msgid "" "Raise :exc:`ResourceDenied` if *resource* is not available. *msg* is the " "argument to :exc:`ResourceDenied` if it is raised. Always returns ``True`` " @@ -627,18 +724,18 @@ msgstr "" "si es invocado por una función cuyo ``__name__`` es ``'__main__'``. Se usa " "cuando se ejecutan pruebas por :mod:`test.regrtest`." -#: ../Doc/library/test.rst:449 +#: ../Doc/library/test.rst:511 msgid "" "Raise :exc:`unittest.SkipTest` on TLS certification validation failures." msgstr "" "Lanza :exc:`unittest.SkipTest` en fallos de validación de certificación " "*TLS*." -#: ../Doc/library/test.rst:454 +#: ../Doc/library/test.rst:516 msgid "Return a repr of *dict* with keys sorted." msgstr "Retorna una representación del *diccionario* con las claves ordenadas." -#: ../Doc/library/test.rst:459 +#: ../Doc/library/test.rst:521 msgid "" "Return the path to the file named *filename*. If no match is found " "*filename* is returned. This does not equal a failure since it could be the " @@ -648,7 +745,7 @@ msgstr "" "coincidencia, se retorna *filename*. Esto no equivale a un fallo, ya que " "podría ser la ruta al archivo." -#: ../Doc/library/test.rst:463 +#: ../Doc/library/test.rst:525 msgid "" "Setting *subdir* indicates a relative path to use to find the file rather " "than looking directly in the path directories." @@ -656,27 +753,27 @@ msgstr "" "La configuración *subdir* indica una ruta relativa a utilizar para encontrar " "el archivo en lugar de buscar directamente en los directorios de ruta." -#: ../Doc/library/test.rst:469 +#: ../Doc/library/test.rst:531 msgid "" "Create an empty file with *filename*. If it already exists, truncate it." msgstr "Crea un archivo vacío con *filename*. Si ya existe, truncarlo." -#: ../Doc/library/test.rst:474 +#: ../Doc/library/test.rst:536 msgid "Count the number of open file descriptors." msgstr "Cuenta el número de descriptores de archivo abiertos." -#: ../Doc/library/test.rst:479 +#: ../Doc/library/test.rst:541 msgid "Match *test* to patterns set in :func:`set_match_tests`." msgstr "" "Hace coincidir *test* con los patrones establecidos en :func:" "`set_match_tests`." -#: ../Doc/library/test.rst:484 +#: ../Doc/library/test.rst:546 msgid "Define match test with regular expression *patterns*." msgstr "" "Define una prueba de coincidencia con una expresión regular *patterns*." -#: ../Doc/library/test.rst:489 +#: ../Doc/library/test.rst:551 msgid "" "Execute :class:`unittest.TestCase` subclasses passed to the function. The " "function scans the classes for methods starting with the prefix ``test_`` " @@ -686,7 +783,7 @@ msgstr "" "función escanea las clases en busca de métodos que comiencen con el prefijo " "``test_`` y ejecuta las pruebas individualmente." -#: ../Doc/library/test.rst:493 +#: ../Doc/library/test.rst:555 msgid "" "It is also legal to pass strings as parameters; these should be keys in " "``sys.modules``. Each associated module will be scanned by ``unittest." @@ -698,11 +795,11 @@ msgstr "" "por ``unittest.TestLoader.loadTestsFromModule()``. Esto generalmente se ve " "en la siguiente función :func:`test_main`::" -#: ../Doc/library/test.rst:501 +#: ../Doc/library/test.rst:563 msgid "This will run all tests defined in the named module." msgstr "Esto ejecutará todas las pruebas definidas en el módulo nombrado." -#: ../Doc/library/test.rst:506 +#: ../Doc/library/test.rst:568 msgid "" "Run :func:`doctest.testmod` on the given *module*. Return ``(failure_count, " "test_count)``." @@ -710,7 +807,7 @@ msgstr "" "Ejecuta :func:`doctest.testmod` en *module* dado. Retorna ``(failure_count, " "test_count)``." -#: ../Doc/library/test.rst:509 +#: ../Doc/library/test.rst:571 msgid "" "If *verbosity* is ``None``, :func:`doctest.testmod` is run with verbosity " "set to :data:`verbose`. Otherwise, it is run with verbosity set to " @@ -722,7 +819,7 @@ msgstr "" "verbosidad establecida en ``None``. *optionflags* se pasa como " "``optionflags`` to :func:`doctest.testmod`." -#: ../Doc/library/test.rst:517 +#: ../Doc/library/test.rst:579 msgid "" "Set the :func:`sys.setswitchinterval` to the given *interval*. Defines a " "minimum interval for Android systems to prevent the system from hanging." @@ -731,7 +828,7 @@ msgstr "" "intervalo mínimo para los sistemas Android para evitar que el sistema se " "cuelgue." -#: ../Doc/library/test.rst:523 +#: ../Doc/library/test.rst:585 msgid "" "Use this check to guard CPython's implementation-specific tests or to run " "them only on the implementations guarded by the arguments::" @@ -740,7 +837,7 @@ msgstr "" "implementación de CPython o para ejecutarlas solo en las implementaciones " "protegidas por los argumentos::" -#: ../Doc/library/test.rst:533 +#: ../Doc/library/test.rst:595 msgid "" "A convenience wrapper for :func:`warnings.catch_warnings()` that makes it " "easier to test that a warning was correctly raised. It is approximately " @@ -755,7 +852,7 @@ msgstr "" "en ``always`` y con la opción de validar automáticamente los resultados que " "se registran." -#: ../Doc/library/test.rst:539 +#: ../Doc/library/test.rst:601 msgid "" "``check_warnings`` accepts 2-tuples of the form ``(\"message regexp\", " "WarningCategory)`` as positional arguments. If one or more *filters* are " @@ -776,16 +873,16 @@ msgstr "" "especificados, la prueba falla. Para deshabilitar la primera de estas " "comprobaciones, configure *quiet* en ``True``." -#: ../Doc/library/test.rst:548 +#: ../Doc/library/test.rst:610 msgid "If no arguments are specified, it defaults to::" msgstr "Si no se especifican argumentos, el valor predeterminado es::" -#: ../Doc/library/test.rst:552 +#: ../Doc/library/test.rst:614 msgid "In this case all warnings are caught and no errors are raised." msgstr "" "En este caso, se capturan todas las advertencias y no se lanzaran errores." -#: ../Doc/library/test.rst:554 +#: ../Doc/library/test.rst:616 msgid "" "On entry to the context manager, a :class:`WarningRecorder` instance is " "returned. The underlying warnings list from :func:`~warnings.catch_warnings` " @@ -806,7 +903,7 @@ msgstr "" "atributos que de otro modo se esperarían en un objeto que representa una " "advertencia retornará ``None``." -#: ../Doc/library/test.rst:563 +#: ../Doc/library/test.rst:625 msgid "" "The recorder object also has a :meth:`reset` method, which clears the " "warnings list." @@ -814,11 +911,11 @@ msgstr "" "El objeto grabador (*recorder object*) también tiene un método :meth:" "`reset`, que borra la lista de advertencias." -#: ../Doc/library/test.rst:566 +#: ../Doc/library/test.rst:628 msgid "The context manager is designed to be used like this::" msgstr "El administrador de contexto está diseñado para usarse así:" -#: ../Doc/library/test.rst:573 +#: ../Doc/library/test.rst:635 msgid "" "In this case if either warning was not raised, or some other warning was " "raised, :func:`check_warnings` would raise an error." @@ -826,7 +923,7 @@ msgstr "" "En este caso, si no se generó ninguna advertencia, o si surgió alguna otra " "advertencia, :func:`check_warnings` lanzaría un error." -#: ../Doc/library/test.rst:576 +#: ../Doc/library/test.rst:638 msgid "" "When a test needs to look more deeply into the warnings, rather than just " "checking whether or not they occurred, code like this can be used::" @@ -835,7 +932,7 @@ msgstr "" "lugar de simplemente verificar si ocurrieron o no, se puede usar un código " "como este::" -#: ../Doc/library/test.rst:590 +#: ../Doc/library/test.rst:652 msgid "" "Here all warnings will be caught, and the test code tests the captured " "warnings directly." @@ -843,11 +940,11 @@ msgstr "" "Aquí se capturarán todas las advertencias, y el código de prueba prueba las " "advertencias capturadas directamente." -#: ../Doc/library/test.rst:593 +#: ../Doc/library/test.rst:655 msgid "New optional arguments *filters* and *quiet*." msgstr "Nuevos argumentos opcionales *filters* y *quiet*." -#: ../Doc/library/test.rst:599 +#: ../Doc/library/test.rst:661 msgid "" "Context manager to check that no :exc:`ResourceWarning` was raised. You " "must remove the object which may emit :exc:`ResourceWarning` before the end " @@ -857,7 +954,7 @@ msgstr "" "`ResourceWarning` . Debe eliminar el objeto que puede emitir :exc:" "`ResourceWarning` antes del final del administrador de contexto." -#: ../Doc/library/test.rst:606 +#: ../Doc/library/test.rst:668 msgid "" "Set the values for :data:`max_memuse` and :data:`real_max_memuse` for big " "memory tests." @@ -865,7 +962,7 @@ msgstr "" "Establece los valores para :data:`max_memuse` y :data:`real_max_memuse` para " "pruebas de memoria grande." -#: ../Doc/library/test.rst:612 +#: ../Doc/library/test.rst:674 msgid "" "Store the value from *stdout*. It is meant to hold the stdout at the time " "the regrtest began." @@ -873,7 +970,7 @@ msgstr "" "Almacene el valor de *stdout*. Está destinado a mantener el *stdout* en el " "momento en que comenzó el regrtest." -#: ../Doc/library/test.rst:618 +#: ../Doc/library/test.rst:680 msgid "" "Return the original stdout set by :func:`record_original_stdout` or ``sys." "stdout`` if it's not set." @@ -881,17 +978,7 @@ msgstr "" "Retorna el *stdout* original establecido por :func:`record_original_stdout` " "o ``sys.stdout`` si no está configurado." -#: ../Doc/library/test.rst:624 -msgid "" -"Strip the *stderr* of a Python process from potential debug output emitted " -"by the interpreter. This will typically be run on the result of :meth:" -"`subprocess.Popen.communicate`." -msgstr "" -"Elimine el *stderr* de un proceso de Python de la salida de depuración " -"potencial emitida por el intérprete. Esto normalmente se ejecutará en el " -"resultado de :meth:`subprocess.Popen.communicate`." - -#: ../Doc/library/test.rst:631 +#: ../Doc/library/test.rst:686 msgid "" "Return a list of command line arguments reproducing the current settings in " "``sys.flags`` and ``sys.warnoptions``." @@ -899,7 +986,7 @@ msgstr "" "Retorna una lista de argumentos de línea de comandos que reproducen la " "configuración actual en ``sys.flags`` y ``sys.warnoptions``." -#: ../Doc/library/test.rst:637 +#: ../Doc/library/test.rst:692 msgid "" "Return a list of command line arguments reproducing the current optimization " "settings in ``sys.flags``." @@ -907,7 +994,7 @@ msgstr "" "Retorna una lista de argumentos de línea de comandos que reproducen la " "configuración de optimización actual en ``sys.flags``." -#: ../Doc/library/test.rst:645 +#: ../Doc/library/test.rst:700 msgid "" "A context managers that temporarily replaces the named stream with :class:" "`io.StringIO` object." @@ -915,15 +1002,15 @@ msgstr "" "Un administrador de contexto que reemplaza temporalmente la secuencia " "nombrada con un objeto :class:`io.StringIO`." -#: ../Doc/library/test.rst:648 +#: ../Doc/library/test.rst:703 msgid "Example use with output streams::" msgstr "Ejemplo de uso con flujos de salida::" -#: ../Doc/library/test.rst:656 +#: ../Doc/library/test.rst:711 msgid "Example use with input stream::" msgstr "Ejemplo de uso con flujo de entrada::" -#: ../Doc/library/test.rst:668 +#: ../Doc/library/test.rst:723 msgid "" "A context manager that creates a temporary directory at *path* and yields " "the directory." @@ -931,7 +1018,7 @@ msgstr "" "Un administrador de contexto que crea un directorio temporal en *path* y " "produce el directorio." -#: ../Doc/library/test.rst:671 +#: ../Doc/library/test.rst:726 msgid "" "If *path* is ``None``, the temporary directory is created using :func:" "`tempfile.mkdtemp`. If *quiet* is ``False``, the context manager raises an " @@ -943,7 +1030,7 @@ msgstr "" "excepción en caso de error. De lo contrario, si se especifica *path* y no se " "puede crear, solo se emite una advertencia." -#: ../Doc/library/test.rst:679 +#: ../Doc/library/test.rst:734 msgid "" "A context manager that temporarily changes the current working directory to " "*path* and yields the directory." @@ -951,7 +1038,7 @@ msgstr "" "Un administrador de contexto que cambia temporalmente el directorio de " "trabajo actual a *path* y produce el directorio." -#: ../Doc/library/test.rst:682 +#: ../Doc/library/test.rst:737 msgid "" "If *quiet* is ``False``, the context manager raises an exception on error. " "Otherwise, it issues only a warning and keeps the current working directory " @@ -961,7 +1048,7 @@ msgstr "" "caso de error. De lo contrario, solo emite una advertencia y mantiene el " "directorio de trabajo actual igual." -#: ../Doc/library/test.rst:689 +#: ../Doc/library/test.rst:744 msgid "" "A context manager that temporarily creates a new directory and changes the " "current working directory (CWD)." @@ -969,7 +1056,7 @@ msgstr "" "Un administrador de contexto que crea temporalmente un nuevo directorio y " "cambia el directorio de trabajo actual (*CWD*)." -#: ../Doc/library/test.rst:692 +#: ../Doc/library/test.rst:747 msgid "" "The context manager creates a temporary directory in the current directory " "with name *name* before temporarily changing the current working directory. " @@ -981,7 +1068,7 @@ msgstr "" "trabajo actual. Si *name* es ``None`` , el directorio temporal se crea " "usando :func:`tempfile.mkdtemp`." -#: ../Doc/library/test.rst:697 +#: ../Doc/library/test.rst:752 msgid "" "If *quiet* is ``False`` and it is not possible to create or change the CWD, " "an error is raised. Otherwise, only a warning is raised and the original " @@ -991,26 +1078,18 @@ msgstr "" "un error. De lo contrario, solo se lanza una advertencia y se utiliza el " "*CWD* original." -#: ../Doc/library/test.rst:704 +#: ../Doc/library/test.rst:759 msgid "A context manager that temporarily sets the process umask." msgstr "" "Un administrador de contexto que establece temporalmente el proceso *umask*." -#: ../Doc/library/test.rst:709 -msgid "" -"A context manager that raises :exc:`ResourceDenied` when various issues with " -"the internet connection manifest themselves as exceptions." -msgstr "" -"Un administrador de contexto que plantea :exc:`ResourceDenied` cuando varios " -"problemas con la conexión a Internet se manifiestan como excepciones." - -#: ../Doc/library/test.rst:715 +#: ../Doc/library/test.rst:764 msgid "A context manager that replaces ``sys.stderr`` with ``sys.__stderr__``." msgstr "" "Un administrador de contexto que remplaza ``sys.stderr`` con ``sys." "__stderr__``." -#: ../Doc/library/test.rst:720 +#: ../Doc/library/test.rst:769 msgid "" "Force as many objects as possible to be collected. This is needed because " "timely deallocation is not guaranteed by the garbage collector. This means " @@ -1023,7 +1102,7 @@ msgstr "" "tarde de lo esperado y las referencias débiles pueden permanecer vivas por " "más tiempo de lo esperado." -#: ../Doc/library/test.rst:728 +#: ../Doc/library/test.rst:777 msgid "" "A context manager that disables the garbage collector upon entry and " "reenables it upon exit." @@ -1031,17 +1110,17 @@ msgstr "" "Un administrador de contexto que deshabilita el recolector de basura al " "entrar y lo vuelve a habilitar al salir." -#: ../Doc/library/test.rst:734 +#: ../Doc/library/test.rst:783 msgid "Context manager to swap out an attribute with a new object." msgstr "" "Administrador de contexto para intercambiar un atributo con un nuevo objeto." -#: ../Doc/library/test.rst:736 ../Doc/library/test.rst:754 -#: ../Doc/library/test.rst:1117 ../Doc/library/test.rst:1147 +#: ../Doc/library/test.rst:785 ../Doc/library/test.rst:803 +#: ../Doc/library/test.rst:1159 ../Doc/library/test.rst:1189 msgid "Usage::" msgstr "Uso::" -#: ../Doc/library/test.rst:741 +#: ../Doc/library/test.rst:790 msgid "" "This will set ``obj.attr`` to 5 for the duration of the ``with`` block, " "restoring the old value at the end of the block. If ``attr`` doesn't exist " @@ -1051,7 +1130,7 @@ msgstr "" "restaurando el valor anterior al final del bloque. Si ``attr`` no existe en " "``obj``, se creará y luego se eliminará al final del bloque." -#: ../Doc/library/test.rst:746 ../Doc/library/test.rst:764 +#: ../Doc/library/test.rst:795 ../Doc/library/test.rst:813 msgid "" "The old value (or ``None`` if it doesn't exist) will be assigned to the " "target of the \"as\" clause, if there is one." @@ -1059,12 +1138,12 @@ msgstr "" "El valor anterior (o ``None`` si no existe) se asignará al objetivo de la " "cláusula \"como\", si existe." -#: ../Doc/library/test.rst:752 +#: ../Doc/library/test.rst:801 msgid "Context manager to swap out an item with a new object." msgstr "" "Administrador de contexto para intercambiar un elemento con un nuevo objeto." -#: ../Doc/library/test.rst:759 +#: ../Doc/library/test.rst:808 msgid "" "This will set ``obj[\"item\"]`` to 5 for the duration of the ``with`` block, " "restoring the old value at the end of the block. If ``item`` doesn't exist " @@ -1074,7 +1153,33 @@ msgstr "" "``with``, restaurando el valor anterior al final del bloque. Si ``item`` no " "existe en ``obj``, se creará y luego se eliminará al final del bloque." -#: ../Doc/library/test.rst:770 +#: ../Doc/library/test.rst:819 +msgid "" +"Print a warning into :data:`sys.__stderr__`. Format the message as: ``f" +"\"Warning -- {msg}\"``. If *msg* is made of multiple lines, add ``\"Warning " +"-- \"`` prefix to each line." +msgstr "" + +#: ../Doc/library/test.rst:828 +msgid "" +"Wait until process *pid* completes and check that the process exit code is " +"*exitcode*." +msgstr "" + +#: ../Doc/library/test.rst:831 +msgid "" +"Raise an :exc:`AssertionError` if the process exit code is not equal to " +"*exitcode*." +msgstr "" + +#: ../Doc/library/test.rst:834 +msgid "" +"If the process runs longer than *timeout* seconds (:data:`SHORT_TIMEOUT` by " +"default), kill the process and raise an :exc:`AssertionError`. The timeout " +"feature is not available on Windows." +msgstr "" + +#: ../Doc/library/test.rst:843 msgid "" "Context manager to wait until all threads created in the ``with`` statement " "exit." @@ -1082,7 +1187,7 @@ msgstr "" "El administrador de contexto debe esperar hasta que salgan todos los hilos " "creados en la declaración ``with``." -#: ../Doc/library/test.rst:776 +#: ../Doc/library/test.rst:849 msgid "" "Context manager to start *threads*. It attempts to join the threads upon " "exit." @@ -1090,7 +1195,7 @@ msgstr "" "Administrador de contexto para iniciar *threads*. Intenta unir los hilos al " "salir." -#: ../Doc/library/test.rst:782 +#: ../Doc/library/test.rst:855 msgid "" "Return :func:`struct.calcsize` for ``nP{fmt}0n`` or, if ``gettotalrefcount`` " "exists, ``2PnP{fmt}0P``." @@ -1098,7 +1203,7 @@ msgstr "" "Retorna :func:`struct.calcsize` para ``nP{fmt}0n`` o, si " "``gettotalrefcount`` existe, ``2PnP{fmt}0P``." -#: ../Doc/library/test.rst:788 +#: ../Doc/library/test.rst:861 msgid "" "Return :func:`struct.calcsize` for ``nPn{fmt}0n`` or, if " "``gettotalrefcount`` exists, ``2PnPn{fmt}0P``." @@ -1106,7 +1211,7 @@ msgstr "" "Retorna :func:`struct.calcsize` para ``nPn{fmt}0n`` o, si " "``gettotalrefcount`` existe, ``2PnPn{fmt}0P``." -#: ../Doc/library/test.rst:794 +#: ../Doc/library/test.rst:867 msgid "" "For testcase *test*, assert that the ``sys.getsizeof`` for *o* plus the GC " "header size equals *size*." @@ -1114,37 +1219,29 @@ msgstr "" "Para el caso de prueba (*testcase*), se aserciona que el ``sys.getsizeof`` " "para *o* más el tamaño del encabezado *GC* es igual a *size*." -#: ../Doc/library/test.rst:800 +#: ../Doc/library/test.rst:873 msgid "Return ``True`` if the OS supports symbolic links, ``False`` otherwise." msgstr "" "Retorna ``True`` si el sistema operativo admite links simbólicos, de lo " "contrario ``False``." -#: ../Doc/library/test.rst:806 +#: ../Doc/library/test.rst:879 msgid "Return ``True`` if the OS supports xattr, ``False`` otherwise." msgstr "" "Retorna ``True`` si el sistema operativo admite *xattr*, de lo contrario " "``False``." -#: ../Doc/library/test.rst:812 +#: ../Doc/library/test.rst:885 msgid "A decorator for running tests that require support for symbolic links." msgstr "" "Un decorador para ejecutar pruebas que requieren soporte para enlaces " "simbólicos." -#: ../Doc/library/test.rst:817 +#: ../Doc/library/test.rst:890 msgid "A decorator for running tests that require support for xattr." msgstr "Un decorador para ejecutar pruebas que requieren soporte para *xattr*." -#: ../Doc/library/test.rst:822 -msgid "" -"A decorator for running tests that require a functional bind() for Unix " -"sockets." -msgstr "" -"Un decorador para ejecutar pruebas que requieren un enlace *bind()* para " -"*sockets Unix*." - -#: ../Doc/library/test.rst:828 +#: ../Doc/library/test.rst:895 msgid "" "A decorator to conditionally mark tests with :func:`unittest." "expectedFailure`. Any use of this decorator should have an associated " @@ -1154,7 +1251,7 @@ msgstr "" "expectedFailure`. Cualquier uso de este decorador debe tener un comentario " "asociado que identifique el problema relevante del rastreador." -#: ../Doc/library/test.rst:835 +#: ../Doc/library/test.rst:902 msgid "" "A decorator for running a function in a different locale, correctly " "resetting it after it has finished. *catstr* is the locale category as a " @@ -1167,7 +1264,7 @@ msgstr "" "ejemplo, ``\"LC_ALL\"``). Las *locales* aprobadas se probarán " "secuencialmente y se utilizará la primera configuración regional válida." -#: ../Doc/library/test.rst:843 +#: ../Doc/library/test.rst:910 msgid "" "A decorator for running a function in a specific timezone, correctly " "resetting it after it has finished." @@ -1175,7 +1272,7 @@ msgstr "" "Un decorador para ejecutar una función en una zona horaria específica, " "restableciéndola correctamente una vez que haya finalizado." -#: ../Doc/library/test.rst:849 +#: ../Doc/library/test.rst:916 msgid "" "Decorator for the minimum version when running test on FreeBSD. If the " "FreeBSD version is less than the minimum, raise :exc:`unittest.SkipTest`." @@ -1184,7 +1281,7 @@ msgstr "" "la versión de FreeBSD es inferior al mínimo, aumente :exc:`unittest." "SkipTest`." -#: ../Doc/library/test.rst:855 +#: ../Doc/library/test.rst:922 msgid "" "Decorator for the minimum version when running test on Linux. If the Linux " "version is less than the minimum, raise :exc:`unittest.SkipTest`." @@ -1192,7 +1289,7 @@ msgstr "" "Decorador para la versión mínima cuando se ejecuta la prueba en Linux. Si la " "versión de Linux es inferior al mínimo, aumente :exc:`unittest.SkipTest`." -#: ../Doc/library/test.rst:861 +#: ../Doc/library/test.rst:928 msgid "" "Decorator for the minimum version when running test on Mac OS X. If the MAC " "OS X version is less than the minimum, raise :exc:`unittest.SkipTest`." @@ -1200,39 +1297,39 @@ msgstr "" "Decorador para la versión mínima cuando se ejecuta la prueba en Mac OS X. Si " "la versión MAC OS X es menor que la mínima, genere :exc:`unittest.SkipTest`." -#: ../Doc/library/test.rst:867 +#: ../Doc/library/test.rst:934 msgid "Decorator for skipping tests on non-IEEE 754 platforms." msgstr "Decorador para omitir pruebas en plataformas que no son *IEEE 754*." -#: ../Doc/library/test.rst:872 +#: ../Doc/library/test.rst:939 msgid "Decorator for skipping tests if :mod:`zlib` doesn't exist." msgstr "Decorador para omitir pruebas si :mod:`zlib` no existe." -#: ../Doc/library/test.rst:877 +#: ../Doc/library/test.rst:944 msgid "Decorator for skipping tests if :mod:`gzip` doesn't exist." msgstr "Decorador para omitir pruebas si :mod:`gzip` no existe." -#: ../Doc/library/test.rst:882 +#: ../Doc/library/test.rst:949 msgid "Decorator for skipping tests if :mod:`bz2` doesn't exist." msgstr "Decorador para omitir pruebas si :mod:`bz2` no existe." -#: ../Doc/library/test.rst:887 +#: ../Doc/library/test.rst:954 msgid "Decorator for skipping tests if :mod:`lzma` doesn't exist." msgstr "Decorador para omitir pruebas si :mod:`lzma` no existe." -#: ../Doc/library/test.rst:892 +#: ../Doc/library/test.rst:959 msgid "Decorator for skipping tests if *resource* is not available." msgstr "Decorador para omitir pruebas si *resource* no está disponible." -#: ../Doc/library/test.rst:897 +#: ../Doc/library/test.rst:964 msgid "Decorator for only running the test if :data:`HAVE_DOCSTRINGS`." msgstr "Decorador para ejecutar solo la prueba si :data:`HAVE_DOCSTRINGS`." -#: ../Doc/library/test.rst:902 +#: ../Doc/library/test.rst:969 msgid "Decorator for tests only applicable to CPython." msgstr "Decorador para pruebas solo aplicable a CPython." -#: ../Doc/library/test.rst:907 +#: ../Doc/library/test.rst:974 msgid "" "Decorator for invoking :func:`check_impl_detail` on *guards*. If that " "returns ``False``, then uses *msg* as the reason for skipping the test." @@ -1240,13 +1337,13 @@ msgstr "" "Decorador para invocar :func:`check_impl_detail` en *guards*. Si eso retorna " "``False``, entonces usa *msg* como la razón para omitir la prueba." -#: ../Doc/library/test.rst:913 +#: ../Doc/library/test.rst:980 msgid "Decorator to temporarily turn off tracing for the duration of the test." msgstr "" "Decorador para desactivar temporalmente el seguimiento durante la duración " "de la prueba." -#: ../Doc/library/test.rst:918 +#: ../Doc/library/test.rst:985 msgid "" "Decorator for tests which involve reference counting. The decorator does " "not run the test if it is not run by CPython. Any trace function is unset " @@ -1258,17 +1355,17 @@ msgstr "" "se establece durante la duración de la prueba para evitar conteos de " "referencia(*refcounts*) inesperados causados ​​por la función de rastreo." -#: ../Doc/library/test.rst:926 +#: ../Doc/library/test.rst:993 msgid "Decorator to ensure the threads are cleaned up even if the test fails." msgstr "" "Decorador para garantizar que los hilos se limpien incluso si la prueba " "falla." -#: ../Doc/library/test.rst:931 +#: ../Doc/library/test.rst:998 msgid "Decorator for bigmem tests." msgstr "Decorador para pruebas *bigmem*." -#: ../Doc/library/test.rst:933 +#: ../Doc/library/test.rst:1000 msgid "" "*size* is a requested size for the test (in arbitrary, test-interpreted " "units.) *memuse* is the number of bytes per unit for the test, or a good " @@ -1281,7 +1378,7 @@ msgstr "" "necesita dos búfers de byte, de 4 *GiB* cada uno, podría decorarse con " "``@bigmemtest(size=_4G, memuse=2)``." -#: ../Doc/library/test.rst:938 +#: ../Doc/library/test.rst:1005 msgid "" "The *size* argument is normally passed to the decorated test method as an " "extra argument. If *dry_run* is ``True``, the value passed to the test " @@ -1294,7 +1391,7 @@ msgstr "" "significa que la prueba no admite ejecuciones ficticias cuando no se " "especifica ``-M``." -#: ../Doc/library/test.rst:946 +#: ../Doc/library/test.rst:1013 msgid "" "Decorator for tests that fill the address space. *f* is the function to " "wrap." @@ -1302,7 +1399,7 @@ msgstr "" "Decorador para pruebas que llenan el espacio de direcciones. *f* es la " "función para envolver." -#: ../Doc/library/test.rst:952 +#: ../Doc/library/test.rst:1019 msgid "" "Create an invalid file descriptor by opening and closing a temporary file, " "and returning its descriptor." @@ -1310,7 +1407,7 @@ msgstr "" "Se crea un descriptor de archivo no válido abriendo y cerrando un archivo " "temporal y retornando su descriptor." -#: ../Doc/library/test.rst:958 +#: ../Doc/library/test.rst:1025 msgid "" "Test for syntax errors in *statement* by attempting to compile *statement*. " "*testcase* is the :mod:`unittest` instance for the test. *errtext* is the " @@ -1326,7 +1423,7 @@ msgstr "" "es ``None``, se compara con la línea de la excepción. Si *offset* no es " "``None``, se compara con el desplazamiento de la excepción." -#: ../Doc/library/test.rst:968 +#: ../Doc/library/test.rst:1035 msgid "" "Test for syntax warning in *statement* by attempting to compile *statement*. " "Test also that the :exc:`SyntaxWarning` is emitted only once, and that it " @@ -1346,11 +1443,11 @@ msgstr "" "``None``, se compara con la línea de advertencia y excepción. Si *offset* no " "es ``None``, se compara con el desplazamiento de la excepción." -#: ../Doc/library/test.rst:982 +#: ../Doc/library/test.rst:1049 msgid "Open *url*. If open fails, raises :exc:`TestFailed`." msgstr "Abre *url*. Si la apertura falla, se lanza :exc:`TestFailed`." -#: ../Doc/library/test.rst:987 +#: ../Doc/library/test.rst:1054 msgid "" "This function imports and returns the named module. Unlike a normal import, " "this function raises :exc:`unittest.SkipTest` if the module cannot be " @@ -1360,7 +1457,7 @@ msgstr "" "importación normal, esta función lanza :exc:`unittest.SkipTest` si el módulo " "no se puede importar." -#: ../Doc/library/test.rst:991 +#: ../Doc/library/test.rst:1058 msgid "" "Module and package deprecation messages are suppressed during this import if " "*deprecated* is ``True``. If a module is required on a platform but " @@ -1373,7 +1470,7 @@ msgstr "" "iterable de prefijos de plataforma que se compararán con :data:`sys." "platform`." -#: ../Doc/library/test.rst:1001 +#: ../Doc/library/test.rst:1068 msgid "" "This function imports and returns a fresh copy of the named Python module by " "removing the named module from ``sys.modules`` before doing the import. Note " @@ -1385,7 +1482,7 @@ msgstr "" "importación. Tenga en cuenta que a diferencia de :func:`reload`, el módulo " "original no se ve afectado por esta operación." -#: ../Doc/library/test.rst:1006 +#: ../Doc/library/test.rst:1073 msgid "" "*fresh* is an iterable of additional module names that are also removed from " "the ``sys.modules`` cache before doing the import." @@ -1393,7 +1490,7 @@ msgstr "" "*fresh* es un iterable de nombres de módulos adicionales que también se " "eliminan del caché ``sys.modules`` antes de realizar la importación." -#: ../Doc/library/test.rst:1009 +#: ../Doc/library/test.rst:1076 msgid "" "*blocked* is an iterable of module names that are replaced with ``None`` in " "the module cache during the import to ensure that attempts to import them " @@ -1403,7 +1500,7 @@ msgstr "" "``None`` en la memoria caché del módulo durante la importación para " "garantizar que los intentos de importarlos generen :exc:`ImportError`." -#: ../Doc/library/test.rst:1013 +#: ../Doc/library/test.rst:1080 msgid "" "The named module and any modules named in the *fresh* and *blocked* " "parameters are saved before starting the import and then reinserted into " @@ -1413,7 +1510,7 @@ msgstr "" "*bloqueado* se guardan antes de comenzar la importación y luego se vuelven a " "insertar en ``sys.modules`` cuando se completa la importación fresca." -#: ../Doc/library/test.rst:1017 +#: ../Doc/library/test.rst:1084 msgid "" "Module and package deprecation messages are suppressed during this import if " "*deprecated* is ``True``." @@ -1421,7 +1518,7 @@ msgstr "" "Los mensajes de deprecación de módulos y paquetes se suprimen durante esta " "importación si *deprecated* es ``True``." -#: ../Doc/library/test.rst:1020 +#: ../Doc/library/test.rst:1087 msgid "" "This function will raise :exc:`ImportError` if the named module cannot be " "imported." @@ -1429,15 +1526,15 @@ msgstr "" "Esta función lanzará :exc:`ImportError` si el módulo nombrado no puede " "importarse." -#: ../Doc/library/test.rst:1023 ../Doc/library/test.rst:1264 +#: ../Doc/library/test.rst:1090 ../Doc/library/test.rst:1283 msgid "Example use::" msgstr "Ejemplo de uso::" -#: ../Doc/library/test.rst:1037 +#: ../Doc/library/test.rst:1104 msgid "Return a copy of :data:`sys.modules`." msgstr "Retorna una copia de :data:`sys.modules`." -#: ../Doc/library/test.rst:1042 +#: ../Doc/library/test.rst:1109 msgid "" "Remove modules except for *oldmodules* and ``encodings`` in order to " "preserve internal cache." @@ -1445,11 +1542,11 @@ msgstr "" "Elimina los módulos a excepción de *oldmodules* y ``encodings`` para " "preservar la memoria caché interna." -#: ../Doc/library/test.rst:1048 +#: ../Doc/library/test.rst:1115 msgid "Return current thread count and copy of dangling threads." msgstr "Retorna el recuento del hilo actual y copia de subprocesos colgantes." -#: ../Doc/library/test.rst:1053 +#: ../Doc/library/test.rst:1120 msgid "" "Cleanup up threads not specified in *original_values*. Designed to emit a " "warning if a test leaves running threads in the background." @@ -1458,7 +1555,7 @@ msgstr "" "emitir una advertencia si una prueba deja hilos en ejecución en segundo " "plano." -#: ../Doc/library/test.rst:1059 +#: ../Doc/library/test.rst:1126 msgid "" "Join a *thread* within *timeout*. Raise an :exc:`AssertionError` if thread " "is still alive after *timeout* seconds." @@ -1466,7 +1563,7 @@ msgstr "" "Se une un *thread* dentro de *timeout*. Lanza un :exc:`AssertionError` si el " "hilo sigue vivo después de unos segundos de *timeout*." -#: ../Doc/library/test.rst:1065 +#: ../Doc/library/test.rst:1132 msgid "" "Use this at the end of ``test_main`` whenever sub-processes are started. " "This will help ensure that no extra children (zombies) stick around to hog " @@ -1477,7 +1574,7 @@ msgstr "" "(zombies) se quede para acumular recursos y crear problemas al buscar " "refleaks." -#: ../Doc/library/test.rst:1072 +#: ../Doc/library/test.rst:1139 msgid "" "Get an attribute, raising :exc:`unittest.SkipTest` if :exc:`AttributeError` " "is raised." @@ -1485,50 +1582,7 @@ msgstr "" "Obtiene un atributo, lanzando :exc:`unittest.SkipTest` si :exc:" "`AttributeError` está activado." -#: ../Doc/library/test.rst:1078 -msgid "" -"Bind the socket to a free port and return the port number. Relies on " -"ephemeral ports in order to ensure we are using an unbound port. This is " -"important as many tests may be running simultaneously, especially in a " -"buildbot environment. This method raises an exception if the ``sock." -"family`` is :const:`~socket.AF_INET` and ``sock.type`` is :const:`~socket." -"SOCK_STREAM`, and the socket has :const:`~socket.SO_REUSEADDR` or :const:" -"`~socket.SO_REUSEPORT` set on it. Tests should never set these socket " -"options for TCP/IP sockets. The only case for setting these options is " -"testing multicasting via multiple UDP sockets." -msgstr "" -"Se enlaza el *socket* a un puerto libre y retorna el número de puerto. Se " -"basa en puertos efímeros para garantizar que estemos utilizando un puerto " -"independiente. Esto es importante ya que muchas pruebas pueden ejecutarse " -"simultáneamente, especialmente en un entorno *buildbot*. Este método lanza " -"una excepción si ``sock.family`` es :const:`~ socket.AF_INET` y ``sock." -"type`` es :const:`~ socket.SOCK_STREAM`, y el *socket* tiene :const:`~socket." -"SO_REUSEADDR` o :const:`~socket.SO_REUSEPORT` establecido en él. Las pruebas " -"nunca deben configurar estas opciones de *socket* para los *sockets TCP/IP*. " -"El único caso para configurar estas opciones es probar la multidifusión " -"(*multicasting*) a través de múltiples *sockets UDP*." - -#: ../Doc/library/test.rst:1089 -msgid "" -"Additionally, if the :const:`~socket.SO_EXCLUSIVEADDRUSE` socket option is " -"available (i.e. on Windows), it will be set on the socket. This will " -"prevent anyone else from binding to our host/port for the duration of the " -"test." -msgstr "" -"Además, si la opción de *socket* :const:`~ socket.SO_EXCLUSIVEADDRUSE` está " -"disponible (es decir, en Windows), se establecerá en el *socket*. Esto " -"evitará que otras personas se vinculen a nuestro host/puerto mientras dure " -"la prueba." - -#: ../Doc/library/test.rst:1097 -msgid "" -"Bind a unix socket, raising :exc:`unittest.SkipTest` if :exc:" -"`PermissionError` is raised." -msgstr "" -"Enlace un *socket* Unix, lanzando :exc:`unittest.SkipTest` si :exc:" -"`PermissionError` es lanzado." - -#: ../Doc/library/test.rst:1103 +#: ../Doc/library/test.rst:1145 msgid "" "Context manager catching :class:`threading.Thread` exception using :func:" "`threading.excepthook`." @@ -1536,36 +1590,36 @@ msgstr "" "El administrador de contexto captura :class:`threading.Thread` excepción " "usando :func:`threading.excepthook`." -#: ../Doc/library/test.rst:1106 +#: ../Doc/library/test.rst:1148 msgid "Attributes set when an exception is catched:" msgstr "Atributos establecidos cuando se detecta una excepción:" -#: ../Doc/library/test.rst:1108 +#: ../Doc/library/test.rst:1150 msgid "``exc_type``" msgstr "``exc_type``" -#: ../Doc/library/test.rst:1109 +#: ../Doc/library/test.rst:1151 msgid "``exc_value``" msgstr "``exc_value``" -#: ../Doc/library/test.rst:1110 +#: ../Doc/library/test.rst:1152 msgid "``exc_traceback``" msgstr "``exc_traceback``" -#: ../Doc/library/test.rst:1111 +#: ../Doc/library/test.rst:1153 msgid "``thread``" msgstr "``thread``" -#: ../Doc/library/test.rst:1113 +#: ../Doc/library/test.rst:1155 msgid "See :func:`threading.excepthook` documentation." msgstr "Consulte la documentación para :func:`threading.excepthook`." -#: ../Doc/library/test.rst:1115 +#: ../Doc/library/test.rst:1157 msgid "These attributes are deleted at the context manager exit." msgstr "" "Estos atributos se eliminan en la salida del administrador de contexto." -#: ../Doc/library/test.rst:1136 +#: ../Doc/library/test.rst:1178 msgid "" "Context manager catching unraisable exception using :func:`sys." "unraisablehook`." @@ -1573,7 +1627,7 @@ msgstr "" "El administrador de contexto detectando excepciones imposibles de evaluar " "usando :func:`sys.unraisablehook`." -#: ../Doc/library/test.rst:1139 +#: ../Doc/library/test.rst:1181 msgid "" "Storing the exception value (``cm.unraisable.exc_value``) creates a " "reference cycle. The reference cycle is broken explicitly when the context " @@ -1583,7 +1637,7 @@ msgstr "" "un ciclo de referencia. El ciclo de referencia se interrumpe explícitamente " "cuando sale el administrador de contexto." -#: ../Doc/library/test.rst:1143 +#: ../Doc/library/test.rst:1185 msgid "" "Storing the object (``cm.unraisable.object``) can resurrect it if it is set " "to an object which is being finalized. Exiting the context manager clears " @@ -1593,48 +1647,7 @@ msgstr "" "se establece en un objeto que se está finalizando. Salir del administrador " "de contexto borra el objeto almacenado." -#: ../Doc/library/test.rst:1164 -msgid "" -"Returns an unused port that should be suitable for binding. This is " -"achieved by creating a temporary socket with the same family and type as the " -"``sock`` parameter (default is :const:`~socket.AF_INET`, :const:`~socket." -"SOCK_STREAM`), and binding it to the specified host address (defaults to " -"``0.0.0.0``) with the port set to 0, eliciting an unused ephemeral port from " -"the OS. The temporary socket is then closed and deleted, and the ephemeral " -"port is returned." -msgstr "" -"Retorna un puerto no utilizado que debería ser adecuado para el enlace. Esto " -"se logra creando un *socket* temporal con la misma familia y tipo que el " -"parámetro ``sock`` (el valor predeterminado es :const:`~socket.AF_INET`, :" -"const:`~socket.SOCK_STREAM`) y vinculándolo a la dirección de host " -"especificada (por defecto es ``0.0.0.0``) con el puerto establecido en 0, " -"provocando un puerto efímero no utilizado del sistema operativo. El *socket* " -"temporal se cierra y se elimina, y se retorna el puerto efímero." - -#: ../Doc/library/test.rst:1173 -msgid "" -"Either this method or :func:`bind_port` should be used for any tests where a " -"server socket needs to be bound to a particular port for the duration of the " -"test. Which one to use depends on whether the calling code is creating a " -"Python socket, or if an unused port needs to be provided in a constructor or " -"passed to an external program (i.e. the ``-accept`` argument to openssl's " -"s_server mode). Always prefer :func:`bind_port` over :func:" -"`find_unused_port` where possible. Using a hard coded port is discouraged " -"since it can make multiple instances of the test impossible to run " -"simultaneously, which is a problem for buildbots." -msgstr "" -"Este método o :func:`bind_port` debe usarse para cualquier prueba en la que " -"un *socket* del servidor deba estar vinculado a un puerto en particular " -"durante la duración de la prueba. Cuál usar depende de si el código de " -"llamada está creando un *socket* Python, o si un puerto no utilizado debe " -"proporcionarse en un constructor o pasar a un programa externo (es decir, el " -"argumento ``-accept`` al modo *s_server de openssl*). Siempre es preferible :" -"func:`bind_port` sobre :func:`find_unused_port` donde sea posible. Se " -"desaconseja el uso de un puerto codificado ya que puede hacer que varias " -"instancias de la prueba sean imposibles de ejecutar simultáneamente, lo cual " -"es un problema para los *buildbots*." - -#: ../Doc/library/test.rst:1187 +#: ../Doc/library/test.rst:1206 msgid "" "Generic implementation of the :mod:`unittest` ``load_tests`` protocol for " "use in test packages. *pkg_dir* is the root directory of the package; " @@ -1648,13 +1661,13 @@ msgstr "" "``load_tests``. En casos simples, el paquete de prueba ``__init __. Py`` " "puede ser el siguiente::" -#: ../Doc/library/test.rst:1202 +#: ../Doc/library/test.rst:1221 msgid "Return ``True`` if the file system for *directory* is case-insensitive." msgstr "" "Retorna ``True`` si el sistema de archivos para *directory* no distingue " "entre mayúsculas y minúsculas." -#: ../Doc/library/test.rst:1207 +#: ../Doc/library/test.rst:1226 msgid "" "Returns the set of attributes, functions or methods of *ref_api* not found " "on *other_api*, except for a defined list of items to be ignored in this " @@ -1664,7 +1677,7 @@ msgstr "" "encuentra en *other_api *, excepto por una lista definida de elementos que " "se ignorarán en esta comprobación especificada en *ignore*." -#: ../Doc/library/test.rst:1211 +#: ../Doc/library/test.rst:1230 msgid "" "By default this skips private attributes beginning with '_' but includes all " "magic methods, i.e. those starting and ending in '__'." @@ -1673,7 +1686,7 @@ msgstr "" "pero incluye todos los métodos mágicos, es decir, los que comienzan y " "terminan en '__'." -#: ../Doc/library/test.rst:1219 +#: ../Doc/library/test.rst:1238 msgid "" "Override *object_to_patch.attr_name* with *new_value*. Also add cleanup " "procedure to *test_instance* to restore *object_to_patch* for *attr_name*. " @@ -1684,7 +1697,7 @@ msgstr "" "para *attr_name*. *Attr_name* debe ser un atributo válido para " "*object_to_patch*." -#: ../Doc/library/test.rst:1227 +#: ../Doc/library/test.rst:1246 msgid "" "Run *code* in subinterpreter. Raise :exc:`unittest.SkipTest` if :mod:" "`tracemalloc` is enabled." @@ -1692,11 +1705,11 @@ msgstr "" "Ejecuta *code* en el subinterpretador. Lanza :exc:`unittest.SkipTest` si :" "mod:`tracemalloc` está habilitado." -#: ../Doc/library/test.rst:1233 +#: ../Doc/library/test.rst:1252 msgid "Assert that *iter* is deallocated after iterating." msgstr "Aserciona que *iter* se desasigna después de iterar." -#: ../Doc/library/test.rst:1238 +#: ../Doc/library/test.rst:1257 msgid "" "Check for the existence of the compiler executables whose names are listed " "in *cmd_names* or all the compiler executables when *cmd_names* is empty and " @@ -1707,14 +1720,14 @@ msgstr "" "*cmd_names* está vacío y retorna el primer ejecutable faltante o ``None`` " "cuando no se encuentra ninguno." -#: ../Doc/library/test.rst:1246 +#: ../Doc/library/test.rst:1265 msgid "" "Assert that the ``__all__`` variable of *module* contains all public names." msgstr "" "Aserciona que la variable ``_all__`` de *module* contiene todos los nombres " "públicos." -#: ../Doc/library/test.rst:1248 +#: ../Doc/library/test.rst:1267 msgid "" "The module's public names (its API) are detected automatically based on " "whether they match the public name convention and were defined in *module*." @@ -1723,7 +1736,7 @@ msgstr "" "función de si coinciden con la convención de nombres públicos y se " "definieron en *module*." -#: ../Doc/library/test.rst:1252 +#: ../Doc/library/test.rst:1271 msgid "" "The *name_of_module* argument can specify (as a string or tuple thereof) " "what module(s) an API could be defined in order to be detected as a public " @@ -1736,7 +1749,7 @@ msgstr "" "pública desde otros módulos, posiblemente un *backend de C* (como ``csv`` y " "su ``_csv``)." -#: ../Doc/library/test.rst:1257 +#: ../Doc/library/test.rst:1276 msgid "" "The *extra* argument can be a set of names that wouldn't otherwise be " "automatically detected as \"public\", like objects without a proper " @@ -1748,7 +1761,7 @@ msgstr "" "sin un atributo adecuado ``__module__``. Si se proporciona, se agregará a " "los detectados automáticamente." -#: ../Doc/library/test.rst:1261 +#: ../Doc/library/test.rst:1280 msgid "" "The *blacklist* argument can be a set of names that must not be treated as " "part of the public API even though their names indicate otherwise." @@ -1757,11 +1770,11 @@ msgstr "" "tratarse como parte de la API pública aunque sus nombres indiquen lo " "contrario." -#: ../Doc/library/test.rst:1286 +#: ../Doc/library/test.rst:1305 msgid "The :mod:`test.support` module defines the following classes:" msgstr "El módulo :mod:`test.support` define las siguientes clases:" -#: ../Doc/library/test.rst:1290 +#: ../Doc/library/test.rst:1309 msgid "" "Instances are a context manager that raises :exc:`ResourceDenied` if the " "specified exception type is raised. Any keyword arguments are treated as " @@ -1776,7 +1789,7 @@ msgstr "" "si todos los pares coinciden correctamente con los atributos de la excepción " "se lanza :exc:`ResourceDenied`." -#: ../Doc/library/test.rst:1299 +#: ../Doc/library/test.rst:1318 msgid "" "Class used to temporarily set or unset environment variables. Instances can " "be used as a context manager and have a complete dictionary interface for " @@ -1791,11 +1804,11 @@ msgstr "" "todos los cambios en las variables de entorno realizados a través de esta " "instancia se revertirán." -#: ../Doc/library/test.rst:1305 +#: ../Doc/library/test.rst:1324 msgid "Added dictionary interface." msgstr "Añadido una interfaz de diccionario." -#: ../Doc/library/test.rst:1310 +#: ../Doc/library/test.rst:1329 msgid "" "Temporarily set the environment variable ``envvar`` to the value of " "``value``." @@ -1803,11 +1816,11 @@ msgstr "" "Se establece temporalmente la variable de entorno ``envvar`` en el valor de " "``value``." -#: ../Doc/library/test.rst:1316 +#: ../Doc/library/test.rst:1335 msgid "Temporarily unset the environment variable ``envvar``." msgstr "Deshabilita temporalmente la variable de entorno ``envvar``." -#: ../Doc/library/test.rst:1321 +#: ../Doc/library/test.rst:1340 msgid "" "A context manager used to try to prevent crash dialog popups on tests that " "are expected to crash a subprocess." @@ -1815,7 +1828,7 @@ msgstr "" "Un administrador de contexto suele intentar evitar ventanas emergentes de " "diálogo de bloqueo en las pruebas que se espera que bloqueen un subproceso." -#: ../Doc/library/test.rst:1324 +#: ../Doc/library/test.rst:1343 msgid "" "On Windows, it disables Windows Error Reporting dialogs using `SetErrorMode " "`_." @@ -1824,7 +1837,7 @@ msgstr "" "Windows usando `SetErrorMode `_." -#: ../Doc/library/test.rst:1327 +#: ../Doc/library/test.rst:1346 msgid "" "On UNIX, :func:`resource.setrlimit` is used to set :attr:`resource." "RLIMIT_CORE`'s soft limit to 0 to prevent coredump file creation." @@ -1833,13 +1846,13 @@ msgstr "" "RLIMIT_CORE` del límite flexible a 0 para evitar la creación de archivos " "*coredump*." -#: ../Doc/library/test.rst:1331 +#: ../Doc/library/test.rst:1350 msgid "On both platforms, the old value is restored by :meth:`__exit__`." msgstr "" "En ambas plataformas, el valor anterior se restaura mediante :meth:" "`__exit__`." -#: ../Doc/library/test.rst:1336 +#: ../Doc/library/test.rst:1355 msgid "" "A context manager to force import to return a new module reference. This is " "useful for testing module-level behaviors, such as the emission of a " @@ -1850,13 +1863,13 @@ msgstr "" "de módulo, como la emisión de una Advertencia de desaprobación en la " "importación. Ejemplo de uso::" -#: ../Doc/library/test.rst:1346 +#: ../Doc/library/test.rst:1365 msgid "A context manager to temporarily add directories to sys.path." msgstr "" "Un administrador de contexto para agregar temporalmente directorios a *sys." "path*." -#: ../Doc/library/test.rst:1348 +#: ../Doc/library/test.rst:1367 msgid "" "This makes a copy of :data:`sys.path`, appends any directories given as " "positional arguments, then reverts :data:`sys.path` to the copied settings " @@ -1866,7 +1879,7 @@ msgstr "" "como argumento posicional, luego revierte :data:`sys.path` a la " "configuración copiada cuando finaliza el contexto." -#: ../Doc/library/test.rst:1352 +#: ../Doc/library/test.rst:1371 msgid "" "Note that *all* :data:`sys.path` modifications in the body of the context " "manager, including replacement of the object, will be reverted at the end of " @@ -1876,7 +1889,7 @@ msgstr "" "cuerpo del administrador de contexto, incluida la sustitución del objeto, se " "revertirán al final del bloque." -#: ../Doc/library/test.rst:1359 +#: ../Doc/library/test.rst:1378 msgid "" "Class to save and restore signal handlers registered by the Python signal " "handler." @@ -1884,18 +1897,18 @@ msgstr "" "Clase para guardar y restaurar manejadores (*handlers*) de señal registrados " "por el manejador de señal Python." -#: ../Doc/library/test.rst:1367 +#: ../Doc/library/test.rst:1386 msgid "Try to match a single dict with the supplied arguments." msgstr "" "Intenta hacer coincidir una sola sentencia con los argumentos proporcionados." -#: ../Doc/library/test.rst:1372 +#: ../Doc/library/test.rst:1391 msgid "Try to match a single stored value (*dv*) with a supplied value (*v*)." msgstr "" "Intenta hacer coincidir un único valor almacenado (*dv*) con un valor " "proporcionado (*v*)." -#: ../Doc/library/test.rst:1377 +#: ../Doc/library/test.rst:1396 msgid "" "Class used to record warnings for unit tests. See documentation of :func:" "`check_warnings` above for more details." @@ -1904,15 +1917,11 @@ msgstr "" "Consulte la documentación de :func:`check_warnings` arriba para obtener más " "detalles." -#: ../Doc/library/test.rst:1385 +#: ../Doc/library/test.rst:1404 msgid "Run *test* and return the result." msgstr "Retorna *test* y retorna el resultado.." -#: ../Doc/library/test.rst:1390 -msgid "Class for logging support." -msgstr "Clase para soporte de *logging*." - -#: ../Doc/library/test.rst:1395 +#: ../Doc/library/test.rst:1409 msgid "" "Simple :term:`path-like object`. It implements the :meth:`__fspath__` " "method which just returns the *path* argument. If *path* is an exception, " @@ -1922,7 +1931,133 @@ msgstr "" "que simplemente retorna el argumento *path*. Si *path* es una excepción, se " "lanzará en :meth:`! __ fspath__`." -#: ../Doc/library/test.rst:1401 +#: ../Doc/library/test.rst:1415 +#, fuzzy +msgid ":mod:`test.support.socket_helper` --- Utilities for socket tests" +msgstr "" +":mod:`test.support.script_helper` ---Utilidades para las pruebas de " +"ejecución de Python" + +#: ../Doc/library/test.rst:1421 +#, fuzzy +msgid "" +"The :mod:`test.support.socket_helper` module provides support for socket " +"tests." +msgstr "" +"El módulo :mod:`test.support.script_helper` proporciona soporte para las " +"pruebas de ejecución de script de Python." + +#: ../Doc/library/test.rst:1428 +#, fuzzy +msgid "Set to ``True`` if IPv6 is enabled on this host, ``False`` otherwise." +msgstr "" +"Establecido ``True`` si *IPV6* está habilitado en este host, de lo contrario " +"``False``." + +#: ../Doc/library/test.rst:1433 +msgid "" +"Returns an unused port that should be suitable for binding. This is " +"achieved by creating a temporary socket with the same family and type as the " +"``sock`` parameter (default is :const:`~socket.AF_INET`, :const:`~socket." +"SOCK_STREAM`), and binding it to the specified host address (defaults to " +"``0.0.0.0``) with the port set to 0, eliciting an unused ephemeral port from " +"the OS. The temporary socket is then closed and deleted, and the ephemeral " +"port is returned." +msgstr "" +"Retorna un puerto no utilizado que debería ser adecuado para el enlace. Esto " +"se logra creando un *socket* temporal con la misma familia y tipo que el " +"parámetro ``sock`` (el valor predeterminado es :const:`~socket.AF_INET`, :" +"const:`~socket.SOCK_STREAM`) y vinculándolo a la dirección de host " +"especificada (por defecto es ``0.0.0.0``) con el puerto establecido en 0, " +"provocando un puerto efímero no utilizado del sistema operativo. El *socket* " +"temporal se cierra y se elimina, y se retorna el puerto efímero." + +#: ../Doc/library/test.rst:1442 +msgid "" +"Either this method or :func:`bind_port` should be used for any tests where a " +"server socket needs to be bound to a particular port for the duration of the " +"test. Which one to use depends on whether the calling code is creating a " +"Python socket, or if an unused port needs to be provided in a constructor or " +"passed to an external program (i.e. the ``-accept`` argument to openssl's " +"s_server mode). Always prefer :func:`bind_port` over :func:" +"`find_unused_port` where possible. Using a hard coded port is discouraged " +"since it can make multiple instances of the test impossible to run " +"simultaneously, which is a problem for buildbots." +msgstr "" +"Este método o :func:`bind_port` debe usarse para cualquier prueba en la que " +"un *socket* del servidor deba estar vinculado a un puerto en particular " +"durante la duración de la prueba. Cuál usar depende de si el código de " +"llamada está creando un *socket* Python, o si un puerto no utilizado debe " +"proporcionarse en un constructor o pasar a un programa externo (es decir, el " +"argumento ``-accept`` al modo *s_server de openssl*). Siempre es preferible :" +"func:`bind_port` sobre :func:`find_unused_port` donde sea posible. Se " +"desaconseja el uso de un puerto codificado ya que puede hacer que varias " +"instancias de la prueba sean imposibles de ejecutar simultáneamente, lo cual " +"es un problema para los *buildbots*." + +#: ../Doc/library/test.rst:1456 +msgid "" +"Bind the socket to a free port and return the port number. Relies on " +"ephemeral ports in order to ensure we are using an unbound port. This is " +"important as many tests may be running simultaneously, especially in a " +"buildbot environment. This method raises an exception if the ``sock." +"family`` is :const:`~socket.AF_INET` and ``sock.type`` is :const:`~socket." +"SOCK_STREAM`, and the socket has :const:`~socket.SO_REUSEADDR` or :const:" +"`~socket.SO_REUSEPORT` set on it. Tests should never set these socket " +"options for TCP/IP sockets. The only case for setting these options is " +"testing multicasting via multiple UDP sockets." +msgstr "" +"Se enlaza el *socket* a un puerto libre y retorna el número de puerto. Se " +"basa en puertos efímeros para garantizar que estemos utilizando un puerto " +"independiente. Esto es importante ya que muchas pruebas pueden ejecutarse " +"simultáneamente, especialmente en un entorno *buildbot*. Este método lanza " +"una excepción si ``sock.family`` es :const:`~ socket.AF_INET` y ``sock." +"type`` es :const:`~ socket.SOCK_STREAM`, y el *socket* tiene :const:`~socket." +"SO_REUSEADDR` o :const:`~socket.SO_REUSEPORT` establecido en él. Las pruebas " +"nunca deben configurar estas opciones de *socket* para los *sockets TCP/IP*. " +"El único caso para configurar estas opciones es probar la multidifusión " +"(*multicasting*) a través de múltiples *sockets UDP*." + +#: ../Doc/library/test.rst:1467 +msgid "" +"Additionally, if the :const:`~socket.SO_EXCLUSIVEADDRUSE` socket option is " +"available (i.e. on Windows), it will be set on the socket. This will " +"prevent anyone else from binding to our host/port for the duration of the " +"test." +msgstr "" +"Además, si la opción de *socket* :const:`~ socket.SO_EXCLUSIVEADDRUSE` está " +"disponible (es decir, en Windows), se establecerá en el *socket*. Esto " +"evitará que otras personas se vinculen a nuestro host/puerto mientras dure " +"la prueba." + +#: ../Doc/library/test.rst:1475 +msgid "" +"Bind a unix socket, raising :exc:`unittest.SkipTest` if :exc:" +"`PermissionError` is raised." +msgstr "" +"Enlace un *socket* Unix, lanzando :exc:`unittest.SkipTest` si :exc:" +"`PermissionError` es lanzado." + +#: ../Doc/library/test.rst:1481 +#, fuzzy +msgid "" +"A decorator for running tests that require a functional ``bind()`` for Unix " +"sockets." +msgstr "" +"Un decorador para ejecutar pruebas que requieren un enlace *bind()* para " +"*sockets Unix*." + +#: ../Doc/library/test.rst:1487 +#, fuzzy +msgid "" +"A context manager that raises :exc:`~test.support.ResourceDenied` when " +"various issues with the internet connection manifest themselves as " +"exceptions." +msgstr "" +"Un administrador de contexto que plantea :exc:`ResourceDenied` cuando varios " +"problemas con la conexión a Internet se manifiestan como excepciones." + +#: ../Doc/library/test.rst:1493 msgid "" ":mod:`test.support.script_helper` --- Utilities for the Python execution " "tests" @@ -1930,7 +2065,7 @@ msgstr "" ":mod:`test.support.script_helper` ---Utilidades para las pruebas de " "ejecución de Python" -#: ../Doc/library/test.rst:1407 +#: ../Doc/library/test.rst:1499 msgid "" "The :mod:`test.support.script_helper` module provides support for Python's " "script execution tests." @@ -1938,7 +2073,7 @@ msgstr "" "El módulo :mod:`test.support.script_helper` proporciona soporte para las " "pruebas de ejecución de script de Python." -#: ../Doc/library/test.rst:1412 +#: ../Doc/library/test.rst:1504 msgid "" "Return ``True`` if ``sys.executable interpreter`` requires environment " "variables in order to be able to run at all." @@ -1946,7 +2081,7 @@ msgstr "" "Retorna `True`` si el ``sys.executable interpreter`` requiere variables de " "entorno para poder ejecutarse." -#: ../Doc/library/test.rst:1415 +#: ../Doc/library/test.rst:1507 msgid "" "This is designed to be used with ``@unittest.skipIf()`` to annotate tests " "that need to use an ``assert_python*()`` function to launch an isolated mode " @@ -1957,7 +2092,7 @@ msgstr "" "modo aislado (``-I``) o sin entorno proceso de subinterpretador de modo (``-" "E``)." -#: ../Doc/library/test.rst:1419 +#: ../Doc/library/test.rst:1511 msgid "" "A normal build & test does not run into this situation but it can happen " "when trying to run the standard library test suite from an interpreter that " @@ -1968,7 +2103,7 @@ msgstr "" "biblioteca estándar desde un intérprete que no tiene un directorio principal " "obvio con la lógica de búsqueda de directorio principal actual de Python." -#: ../Doc/library/test.rst:1423 +#: ../Doc/library/test.rst:1515 msgid "" "Setting :envvar:`PYTHONHOME` is one way to get most of the testsuite to run " "in that situation. :envvar:`PYTHONPATH` or :envvar:`PYTHONUSERSITE` are " @@ -1980,7 +2115,7 @@ msgstr "" "`PYTHONUSERSITE` son otras variables de entorno comunes que pueden afectar " "si el intérprete puede o no comenzar." -#: ../Doc/library/test.rst:1431 +#: ../Doc/library/test.rst:1523 msgid "" "Set up the environment based on *env_vars* for running the interpreter in a " "subprocess. The values can include ``__isolated``, ``__cleanenv``, " @@ -1990,7 +2125,12 @@ msgstr "" "subproceso. Los valores pueden incluir ``__isolated``, ``__cleanenv``, " "``__cwd`` y ``TERM``." -#: ../Doc/library/test.rst:1438 +#: ../Doc/library/test.rst:1527 ../Doc/library/test.rst:1543 +#: ../Doc/library/test.rst:1555 +msgid "The function no longer strips whitespaces from *stderr*." +msgstr "" + +#: ../Doc/library/test.rst:1533 msgid "" "Assert that running the interpreter with *args* and optional environment " "variables *env_vars* succeeds (``rc == 0``) and return a ``(return code, " @@ -2000,7 +2140,7 @@ msgstr "" "opcionales *env_vars* tiene éxito (``rc == 0``) y retorna una tupla " "``(código de retorno, stdout, stderr)``." -#: ../Doc/library/test.rst:1442 +#: ../Doc/library/test.rst:1537 msgid "" "If the ``__cleanenv`` keyword is set, *env_vars* is used as a fresh " "environment." @@ -2008,7 +2148,7 @@ msgstr "" "Si se establece la palabra clave ``__cleanenv``, *env_vars* se usa como un " "entorno nuevo." -#: ../Doc/library/test.rst:1445 +#: ../Doc/library/test.rst:1540 msgid "" "Python is started in isolated mode (command line option ``-I``), except if " "the ``__isolated`` keyword is set to ``False``." @@ -2016,7 +2156,7 @@ msgstr "" "Python se inicia en modo aislado (opción de línea de comando ``-I``), " "excepto si la palabra clave ``__isolated`` se establece en ``False``." -#: ../Doc/library/test.rst:1451 +#: ../Doc/library/test.rst:1549 msgid "" "Assert that running the interpreter with *args* and optional environment " "variables *env_vars* fails (``rc != 0``) and return a ``(return code, " @@ -2026,15 +2166,15 @@ msgstr "" "opcionales *env_vars* falla (``rc! = 0``) y retorna una tupla ``(return " "code, stdout, stderr)``." -#: ../Doc/library/test.rst:1455 +#: ../Doc/library/test.rst:1553 msgid "See :func:`assert_python_ok` for more options." msgstr "Consulte :func:`assert_python_ok` para más opciones." -#: ../Doc/library/test.rst:1460 +#: ../Doc/library/test.rst:1561 msgid "Run a Python subprocess with the given arguments." msgstr "Ejecuta un subproceso de Python con los argumentos dados." -#: ../Doc/library/test.rst:1462 +#: ../Doc/library/test.rst:1563 msgid "" "*kw* is extra keyword args to pass to :func:`subprocess.Popen`. Returns a :" "class:`subprocess.Popen` object." @@ -2042,7 +2182,7 @@ msgstr "" "*kw* es un argumento adicional de palabras clave para pasar a :func:" "`subprocess.Popen`. Retorna un objeto a :class:`subprocess.Popen`." -#: ../Doc/library/test.rst:1468 +#: ../Doc/library/test.rst:1569 msgid "" "Run the given :class:`subprocess.Popen` process until completion and return " "stdout." @@ -2050,7 +2190,7 @@ msgstr "" "Ejecuta el proceso dado :class:`subprocess.Popen` hasta que finalice y " "retorne *stdout*." -#: ../Doc/library/test.rst:1474 +#: ../Doc/library/test.rst:1575 msgid "" "Create script containing *source* in path *script_dir* and " "*script_basename*. If *omit_suffix* is ``False``, append ``.py`` to the " @@ -2060,7 +2200,7 @@ msgstr "" "*script_basename*. Si *omit_suffix* es ``False``, agregue ``.py`` al nombre. " "Retorna la ruta completa del script." -#: ../Doc/library/test.rst:1481 +#: ../Doc/library/test.rst:1582 msgid "" "Create zip file at *zip_dir* and *zip_basename* with extension ``zip`` which " "contains the files in *script_name*. *name_in_zip* is the archive name. " @@ -2071,7 +2211,7 @@ msgstr "" "archivo. Retorna una tupla que contiene ``(ruta completa, ruta completa del " "nombre del archivo)``." -#: ../Doc/library/test.rst:1488 +#: ../Doc/library/test.rst:1589 msgid "" "Create a directory named *pkg_dir* containing an ``__init__`` file with " "*init_source* as its contents." @@ -2079,7 +2219,7 @@ msgstr "" "Crea un directorio llamado *pkg_dir* que contiene un archivo ``__init__`` " "con *init_source* como su contenido." -#: ../Doc/library/test.rst:1495 +#: ../Doc/library/test.rst:1596 msgid "" "Create a zip package directory with a path of *zip_dir* and *zip_basename* " "containing an empty ``__init__`` file and a file *script_basename* " @@ -2092,3 +2232,52 @@ msgstr "" "que contiene el *source*. Si *compilado* es ``True``, ambos archivos fuente " "se compilarán y se agregarán al paquete zip. Retorna una tupla de la ruta " "zip completa y el nombre de archivo para el archivo zip." + +#: ../Doc/library/test.rst:1604 +msgid "" +":mod:`test.support.bytecode_helper` --- Support tools for testing correct " +"bytecode generation" +msgstr "" + +#: ../Doc/library/test.rst:1609 +#, fuzzy +msgid "" +"The :mod:`test.support.bytecode_helper` module provides support for testing " +"and inspecting bytecode generation." +msgstr "" +"El módulo :mod:`test.support.script_helper` proporciona soporte para las " +"pruebas de ejecución de script de Python." + +#: ../Doc/library/test.rst:1614 +#, fuzzy +msgid "The module defines the following class:" +msgstr "Este módulo define las siguientes excepciones:" + +#: ../Doc/library/test.rst:1618 +msgid "This class has custom assertion methods for inspecting bytecode." +msgstr "" + +#: ../Doc/library/test.rst:1622 +msgid "Return the disassembly of *co* as string." +msgstr "" + +#: ../Doc/library/test.rst:1627 +msgid "" +"Return instr if *opname* is found, otherwise throws :exc:`AssertionError`." +msgstr "" + +#: ../Doc/library/test.rst:1632 +msgid "Throws :exc:`AssertionError` if *opname* is found." +msgstr "" + +#~ msgid "" +#~ "Strip the *stderr* of a Python process from potential debug output " +#~ "emitted by the interpreter. This will typically be run on the result of :" +#~ "meth:`subprocess.Popen.communicate`." +#~ msgstr "" +#~ "Elimine el *stderr* de un proceso de Python de la salida de depuración " +#~ "potencial emitida por el intérprete. Esto normalmente se ejecutará en el " +#~ "resultado de :meth:`subprocess.Popen.communicate`." + +#~ msgid "Class for logging support." +#~ msgstr "Clase para soporte de *logging*." diff --git a/library/threading.po b/library/threading.po index 47c6d90947..f68f9a12c4 100644 --- a/library/threading.po +++ b/library/threading.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-07-03 21:06-0400\n" +"Last-Translator: \n" +"Language: es_419\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es_419\n" -"X-Generator: Poedit 2.3.1\n" #: ../Doc/library/threading.rst:2 msgid ":mod:`threading` --- Thread-based parallelism" @@ -52,11 +51,31 @@ msgstr "" "usados para algunos de los métodos y funciones de la versión Python 2.x " "todavía son soportados por este módulo." -#: ../Doc/library/threading.rst:24 +#: ../Doc/library/threading.rst:26 +#, fuzzy +msgid "" +"In CPython, due to the :term:`Global Interpreter Lock `, only one thread can execute Python code at once (even though certain " +"performance-oriented libraries might overcome this limitation). If you want " +"your application to make better use of the computational resources of multi-" +"core machines, you are advised to use :mod:`multiprocessing` or :class:" +"`concurrent.futures.ProcessPoolExecutor`. However, threading is still an " +"appropriate model if you want to run multiple I/O-bound tasks simultaneously." +msgstr "" +"En CPython, debido al :term:`Global Interpreter Lock` (bloqueo global del " +"intérprete), un solo hilo puede ejecutar código de Python a la vez (a pesar " +"de que algunas librerías orientadas al desempeño pueden superar esta " +"limitación). Si se desea que una aplicación haga mejor uso de los recursos " +"computacionales de máquinas multi-núcleo, se recomienda usar :mod:" +"`multiprocessing` o :class:`concurrent.futures.ProcessPoolExecutor`. De " +"todas maneras, trabajar con hilos todavía es un modelo apropiado si se " +"quiere correr múltiples tareas limitadas por E/S simultáneamente." + +#: ../Doc/library/threading.rst:37 msgid "This module defines the following functions:" msgstr "Este módulo define las siguientes funciones:" -#: ../Doc/library/threading.rst:29 +#: ../Doc/library/threading.rst:42 msgid "" "Return the number of :class:`Thread` objects currently alive. The returned " "count is equal to the length of the list returned by :func:`.enumerate`." @@ -64,7 +83,7 @@ msgstr "" "Retorna el número de objetos :class:`Thread` actualmente con vida. La cuenta " "retornada es igual al largo de la lista retornada por :func:`.enumerate`." -#: ../Doc/library/threading.rst:35 +#: ../Doc/library/threading.rst:48 msgid "" "Return the current :class:`Thread` object, corresponding to the caller's " "thread of control. If the caller's thread of control was not created " @@ -76,31 +95,31 @@ msgstr "" "del módulo :mod:`threading`, se retorna un objeto hilo *dummy* con " "funcionalidad limitada." -#: ../Doc/library/threading.rst:43 +#: ../Doc/library/threading.rst:56 msgid "Handle uncaught exception raised by :func:`Thread.run`." msgstr "Gestiona una excepción lanzada por :func:`Thread.run`." -#: ../Doc/library/threading.rst:45 +#: ../Doc/library/threading.rst:58 msgid "The *args* argument has the following attributes:" msgstr "El argumento *args* posee los siguientes atributos:" -#: ../Doc/library/threading.rst:47 +#: ../Doc/library/threading.rst:60 msgid "*exc_type*: Exception type." msgstr "*exc_type*: Tipo de la excepción." -#: ../Doc/library/threading.rst:48 +#: ../Doc/library/threading.rst:61 msgid "*exc_value*: Exception value, can be ``None``." msgstr "*exc_value*: Valor de la excepción, puede ser ``None``." -#: ../Doc/library/threading.rst:49 +#: ../Doc/library/threading.rst:62 msgid "*exc_traceback*: Exception traceback, can be ``None``." msgstr "*exc_traceback*: Rastreo de la excepción, puede ser ``None``." -#: ../Doc/library/threading.rst:50 +#: ../Doc/library/threading.rst:63 msgid "*thread*: Thread which raised the exception, can be ``None``." msgstr "*thread*: El hilo que ha lanzado la excepción, puede ser ``None``." -#: ../Doc/library/threading.rst:52 +#: ../Doc/library/threading.rst:65 msgid "" "If *exc_type* is :exc:`SystemExit`, the exception is silently ignored. " "Otherwise, the exception is printed out on :data:`sys.stderr`." @@ -108,7 +127,7 @@ msgstr "" "Si *exc_type* es :exc:`SystemExit`, la excepción es silenciosamente " "ignorada. De otro modo, la excepción se imprime en :data:`sys.stderr`." -#: ../Doc/library/threading.rst:55 +#: ../Doc/library/threading.rst:68 msgid "" "If this function raises an exception, :func:`sys.excepthook` is called to " "handle it." @@ -116,7 +135,7 @@ msgstr "" "Si esta función lanza una excepción, se llama a :func:`sys.excepthook` para " "manejarla." -#: ../Doc/library/threading.rst:58 +#: ../Doc/library/threading.rst:71 msgid "" ":func:`threading.excepthook` can be overridden to control how uncaught " "exceptions raised by :func:`Thread.run` are handled." @@ -124,7 +143,7 @@ msgstr "" ":func:`threading.excepthook` se puede sobrescribir para controlar cómo se " "gestionan las excepciones levantadas por :func:`Thread.run`." -#: ../Doc/library/threading.rst:61 +#: ../Doc/library/threading.rst:74 msgid "" "Storing *exc_value* using a custom hook can create a reference cycle. It " "should be cleared explicitly to break the reference cycle when the exception " @@ -134,7 +153,7 @@ msgstr "" "referencias. Debe ser aclarado explícitamente que se rompa el ciclo de " "referencias cuando la excepción ya no se necesite." -#: ../Doc/library/threading.rst:65 +#: ../Doc/library/threading.rst:78 msgid "" "Storing *thread* using a custom hook can resurrect it if it is set to an " "object which is being finalized. Avoid storing *thread* after the custom " @@ -145,11 +164,11 @@ msgstr "" "almacenado después de que el *hook* personalizado se complete para evitar " "resucitar objetos." -#: ../Doc/library/threading.rst:70 +#: ../Doc/library/threading.rst:83 msgid ":func:`sys.excepthook` handles uncaught exceptions." msgstr ":func:`sys.excepthook` gestiona excepciones no capturadas." -#: ../Doc/library/threading.rst:77 +#: ../Doc/library/threading.rst:90 msgid "" "Return the 'thread identifier' of the current thread. This is a nonzero " "integer. Its value has no direct meaning; it is intended as a magic cookie " @@ -163,7 +182,7 @@ msgstr "" "con datos específicos del hilo. Los identificadores de hilo pueden ser " "reciclados cuando se abandona un hilo y se crea otro hilo." -#: ../Doc/library/threading.rst:88 +#: ../Doc/library/threading.rst:101 msgid "" "Return the native integral Thread ID of the current thread assigned by the " "kernel. This is a non-negative integer. Its value may be used to uniquely " @@ -176,7 +195,7 @@ msgstr "" "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:94 +#: ../Doc/library/threading.rst:107 msgid "" ":ref:`Availability `: Windows, FreeBSD, Linux, macOS, OpenBSD, " "NetBSD, AIX." @@ -184,7 +203,7 @@ msgstr "" ":ref:`Disponibilidad `: Windows, FreeBSD, Linux, macOS, " "OpenBSD, NetBSD, AIX." -#: ../Doc/library/threading.rst:100 +#: ../Doc/library/threading.rst:113 msgid "" "Return a list of all :class:`Thread` objects currently alive. The list " "includes daemonic threads, dummy thread objects created by :func:" @@ -196,7 +215,7 @@ msgstr "" "func:`current_thread`, y el hilo principal. Excluye hilos terminados e hilos " "que todavía no hayan sido iniciados." -#: ../Doc/library/threading.rst:108 +#: ../Doc/library/threading.rst:121 msgid "" "Return the main :class:`Thread` object. In normal conditions, the main " "thread is the thread from which the Python interpreter was started." @@ -205,7 +224,7 @@ msgstr "" "hilo principal es el hilo desde el que fue inicializado el intérprete de " "Python." -#: ../Doc/library/threading.rst:119 +#: ../Doc/library/threading.rst:132 msgid "" "Set a trace function for all threads started from the :mod:`threading` " "module. The *func* will be passed to :func:`sys.settrace` for each thread, " @@ -215,7 +234,7 @@ msgstr "" "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." -#: ../Doc/library/threading.rst:128 +#: ../Doc/library/threading.rst:141 msgid "" "Set a profile function for all threads started from the :mod:`threading` " "module. The *func* will be passed to :func:`sys.setprofile` for each " @@ -225,7 +244,7 @@ msgstr "" "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`." -#: ../Doc/library/threading.rst:135 +#: ../Doc/library/threading.rst:148 msgid "" "Return the thread stack size used when creating new threads. The optional " "*size* argument specifies the stack size to be used for subsequently created " @@ -260,17 +279,17 @@ msgstr "" "múltiplos de 4096 para el tamaño de pila en ausencia de información más " "específica)" -#: ../Doc/library/threading.rst:150 +#: ../Doc/library/threading.rst:163 msgid "" ":ref:`Availability `: Windows, systems with POSIX threads." msgstr "" ":ref:`Disponibilidad `: Windows, sistemas con hilos POSIX." -#: ../Doc/library/threading.rst:153 +#: ../Doc/library/threading.rst:166 msgid "This module also defines the following constant:" msgstr "Este módulo también define la siguiente constante:" -#: ../Doc/library/threading.rst:157 +#: ../Doc/library/threading.rst:170 msgid "" "The maximum value allowed for the *timeout* parameter of blocking functions " "(:meth:`Lock.acquire`, :meth:`RLock.acquire`, :meth:`Condition.wait`, etc.). " @@ -282,7 +301,7 @@ msgstr "" "wait`, etc.). La especificación de un tiempo de espera mayor a este valor " "lanzará un :exc:`OverflowError`." -#: ../Doc/library/threading.rst:165 +#: ../Doc/library/threading.rst:178 msgid "" "This module defines a number of classes, which are detailed in the sections " "below." @@ -290,7 +309,7 @@ msgstr "" "Este módulo define un número de clases, las cuales son detalladas en las " "siguientes secciones." -#: ../Doc/library/threading.rst:168 +#: ../Doc/library/threading.rst:181 msgid "" "The design of this module is loosely based on Java's threading model. " "However, where Java makes locks and condition variables basic behavior of " @@ -310,15 +329,15 @@ msgstr "" "la clase *Thread* de Java, cuando son implementados, son mapeados a " "funciones a nivel de módulo." -#: ../Doc/library/threading.rst:176 +#: ../Doc/library/threading.rst:189 msgid "All of the methods described below are executed atomically." msgstr "Todos los métodos descritos abajo son ejecutados de manera atómica." -#: ../Doc/library/threading.rst:180 +#: ../Doc/library/threading.rst:193 msgid "Thread-Local Data" msgstr "Datos locales del hilo" -#: ../Doc/library/threading.rst:182 +#: ../Doc/library/threading.rst:195 msgid "" "Thread-local data is data whose values are thread specific. To manage " "thread-local data, just create an instance of :class:`local` (or a subclass) " @@ -329,15 +348,15 @@ msgstr "" "instancia de :class:`local` (o una subclase) y almacenar los atributos en " "ella::" -#: ../Doc/library/threading.rst:189 +#: ../Doc/library/threading.rst:202 msgid "The instance's values will be different for separate threads." msgstr "Los valores de instancia serán diferentes para hilos distintos." -#: ../Doc/library/threading.rst:194 +#: ../Doc/library/threading.rst:207 msgid "A class that represents thread-local data." msgstr "Una clase que representa datos locales de hilo." -#: ../Doc/library/threading.rst:196 +#: ../Doc/library/threading.rst:209 msgid "" "For more details and extensive examples, see the documentation string of " "the :mod:`_threading_local` module." @@ -345,11 +364,11 @@ msgstr "" "Para más detalles y ejemplos extensivos, véase la documentación del módulo :" "mod:`_threading_local`." -#: ../Doc/library/threading.rst:203 +#: ../Doc/library/threading.rst:216 msgid "Thread Objects" msgstr "Objetos tipo hilo" -#: ../Doc/library/threading.rst:205 +#: ../Doc/library/threading.rst:218 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 " @@ -366,7 +385,7 @@ msgstr "" "sobrescribir los métodos :meth:`~Thread.__init__` y :meth:`~Thread.run` de " "esta clase." -#: ../Doc/library/threading.rst:212 +#: ../Doc/library/threading.rst:225 msgid "" "Once a thread object is created, its activity must be started by calling the " "thread's :meth:`~Thread.start` method. This invokes the :meth:`~Thread.run` " @@ -376,7 +395,7 @@ msgstr "" "llamando al método :meth:`~Thread.start` del hilo. Ésto invoca el método :" "meth:`~Thread.run` en un hilo de control separado." -#: ../Doc/library/threading.rst:216 +#: ../Doc/library/threading.rst:229 msgid "" "Once the thread's activity is started, the thread is considered 'alive'. It " "stops being alive when its :meth:`~Thread.run` method terminates -- either " @@ -388,7 +407,7 @@ msgstr "" "ya sea normalmente, o por lanzar una excepción no manejada. El método :meth:" "`~Thread.is_alive` verifica si acaso el hilo está vivo." -#: ../Doc/library/threading.rst:221 +#: ../Doc/library/threading.rst:234 msgid "" "Other threads can call a thread's :meth:`~Thread.join` method. This blocks " "the calling thread until the thread whose :meth:`~Thread.join` method is " @@ -398,7 +417,7 @@ msgstr "" "bloquea el hilo llamador hasta que el hilo cuyo método :meth:`~Thread.join` " "ha sido llamado termine." -#: ../Doc/library/threading.rst:225 +#: ../Doc/library/threading.rst:238 msgid "" "A thread has a name. The name can be passed to the constructor, and read or " "changed through the :attr:`~Thread.name` attribute." @@ -406,7 +425,7 @@ msgstr "" "Un hilo tiene un nombre. El nombre puede ser pasado al constructor y leído o " "cambiado a través del atributo :attr:`~Thread.name`." -#: ../Doc/library/threading.rst:228 +#: ../Doc/library/threading.rst:241 msgid "" "If the :meth:`~Thread.run` method raises an exception, :func:`threading." "excepthook` is called to handle it. By default, :func:`threading.excepthook` " @@ -416,7 +435,7 @@ msgstr "" "`threading.excepthook` para gestionarla. Por defecto, :func:`threading." "excepthook` ignora silenciosamente a :exc:`SystemExit`." -#: ../Doc/library/threading.rst:232 +#: ../Doc/library/threading.rst:245 msgid "" "A thread can be flagged as a \"daemon thread\". The significance of this " "flag is that the entire Python program exits when only daemon threads are " @@ -430,7 +449,7 @@ msgstr "" "marca puede ser establecida a través de la propiedad :attr:`~Thread.daemon` " "o del argumento *daemon* en el constructor." -#: ../Doc/library/threading.rst:239 +#: ../Doc/library/threading.rst:252 msgid "" "Daemon threads are abruptly stopped at shutdown. Their resources (such as " "open files, database transactions, etc.) may not be released properly. If " @@ -443,7 +462,7 @@ msgstr "" "detengan con gracia, háganse no-demoníacos y úsese un mecanismo de " "señalización adecuado tal como un :class:`Event`." -#: ../Doc/library/threading.rst:244 +#: ../Doc/library/threading.rst:257 msgid "" "There is a \"main thread\" object; this corresponds to the initial thread of " "control in the Python program. It is not a daemon thread." @@ -451,7 +470,7 @@ msgstr "" "Existe un objeto \"hilo principal\"; éste corresponde al hilo de control " "inicial del programa de Python. No es un hilo demonio." -#: ../Doc/library/threading.rst:247 +#: ../Doc/library/threading.rst:260 msgid "" "There is the possibility that \"dummy thread objects\" are created. These " "are thread objects corresponding to \"alien threads\", which are threads of " @@ -468,7 +487,7 @@ msgstr "" "el método :meth:`~Thread.join`. Nunca son eliminados, ya que es imposible " "detectar la terminación de hilos extranjeros." -#: ../Doc/library/threading.rst:258 +#: ../Doc/library/threading.rst:271 msgid "" "This constructor should always be called with keyword arguments. Arguments " "are:" @@ -476,7 +495,7 @@ msgstr "" "Este constructor siempre debe ser llamado con argumentos de palabra clave. " "Los argumentos son:" -#: ../Doc/library/threading.rst:261 +#: ../Doc/library/threading.rst:274 msgid "" "*group* should be ``None``; reserved for future extension when a :class:" "`ThreadGroup` class is implemented." @@ -484,7 +503,7 @@ msgstr "" "*group* debe ser `None`; reservado para una futura extensión cuando se " "implemente una clase :class:`ThreadGroup`." -#: ../Doc/library/threading.rst:264 +#: ../Doc/library/threading.rst:277 msgid "" "*target* is the callable object to be invoked by the :meth:`run` method. " "Defaults to ``None``, meaning nothing is called." @@ -492,7 +511,7 @@ msgstr "" "*target* es el objeto invocable a ser invocado por el método :meth:`run`. " "Por defecto es ``None``, lo que significa que nada es llamado." -#: ../Doc/library/threading.rst:267 +#: ../Doc/library/threading.rst:280 msgid "" "*name* is the thread name. By default, a unique name is constructed of the " "form \"Thread-*N*\" where *N* is a small decimal number." @@ -500,14 +519,14 @@ msgstr "" "*name* es el nombre del hilo. Por defecto, se construye un nombre único con " "la forma \"*Thread*-*N*\" donde *N* es un número decimal pequeño." -#: ../Doc/library/threading.rst:270 +#: ../Doc/library/threading.rst:283 msgid "" "*args* is the argument tuple for the target invocation. Defaults to ``()``." msgstr "" "*args* es la tupla de argumento para la invocación objetivo. Por defecto es " "``()``." -#: ../Doc/library/threading.rst:272 +#: ../Doc/library/threading.rst:285 msgid "" "*kwargs* is a dictionary of keyword arguments for the target invocation. " "Defaults to ``{}``." @@ -515,7 +534,7 @@ msgstr "" "*kwargs* es un diccionario de argumentos de palabra clave para la invocación " "objetivo. Por defecto es ``{}``." -#: ../Doc/library/threading.rst:275 +#: ../Doc/library/threading.rst:288 msgid "" "If not ``None``, *daemon* explicitly sets whether the thread is daemonic. If " "``None`` (the default), the daemonic property is inherited from the current " @@ -525,7 +544,7 @@ msgstr "" "demoníaco. Si es ``None`` (el valor por defecto), la propiedad demoníaca es " "heredada del hilo actual." -#: ../Doc/library/threading.rst:279 +#: ../Doc/library/threading.rst:292 msgid "" "If the subclass overrides the constructor, it must make sure to invoke the " "base class constructor (``Thread.__init__()``) before doing anything else to " @@ -535,15 +554,15 @@ msgstr "" "constructor de la clase base (``Thread.__init__()``) antes de hacer " "cualquier otra cosa al hilo." -#: ../Doc/library/threading.rst:283 +#: ../Doc/library/threading.rst:296 msgid "Added the *daemon* argument." msgstr "Se agregó el argumento *daemon*." -#: ../Doc/library/threading.rst:288 +#: ../Doc/library/threading.rst:301 msgid "Start the thread's activity." msgstr "Inicia la actividad del hilo." -#: ../Doc/library/threading.rst:290 +#: ../Doc/library/threading.rst:303 msgid "" "It must be called at most once per thread object. It arranges for the " "object's :meth:`~Thread.run` method to be invoked in a separate thread of " @@ -553,7 +572,7 @@ msgstr "" "método :meth:`~Thread.run` del objeto sea invocado en un hilo de control " "separado." -#: ../Doc/library/threading.rst:294 +#: ../Doc/library/threading.rst:307 msgid "" "This method will raise a :exc:`RuntimeError` if called more than once on the " "same thread object." @@ -561,11 +580,11 @@ msgstr "" "Este método lanzará un :exc:`RuntimeError` si se llama más de una vez en el " "mismo objeto hilo." -#: ../Doc/library/threading.rst:299 +#: ../Doc/library/threading.rst:312 msgid "Method representing the thread's activity." msgstr "Método que representa la actividad del hilo." -#: ../Doc/library/threading.rst:301 +#: ../Doc/library/threading.rst:314 msgid "" "You may override this method in a subclass. The standard :meth:`run` method " "invokes the callable object passed to the object's constructor as the " @@ -577,7 +596,7 @@ msgstr "" "argumento *target*, si lo hay, con argumentos posicionales y de palabra " "clave tomados de los argumentos *args* y *kwargs*, respectivamente." -#: ../Doc/library/threading.rst:308 +#: ../Doc/library/threading.rst:321 msgid "" "Wait until the thread terminates. This blocks the calling thread until the " "thread whose :meth:`~Thread.join` method is called terminates -- either " @@ -589,7 +608,7 @@ msgstr "" "normalmente o a través de una excepción no gestionada -- o hasta que el " "tiempo de espera opcional caduque." -#: ../Doc/library/threading.rst:313 +#: ../Doc/library/threading.rst:326 msgid "" "When the *timeout* argument is present and not ``None``, it should be a " "floating point number specifying a timeout for the operation in seconds (or " @@ -605,7 +624,7 @@ msgstr "" "de :meth:`~Thread.join` para decidir si acaso caducó el tiempo de espera -- " "si el hilo todavía está vivo, la llamada a :meth:`~Thread.join` caducó." -#: ../Doc/library/threading.rst:320 +#: ../Doc/library/threading.rst:333 msgid "" "When the *timeout* argument is not present or ``None``, the operation will " "block until the thread terminates." @@ -613,11 +632,11 @@ msgstr "" "Cuando el argumento *timeout* no se presenta o es ``None``, la operación " "bloqueará hasta que el hilo termine." -#: ../Doc/library/threading.rst:323 +#: ../Doc/library/threading.rst:336 msgid "A thread can be :meth:`~Thread.join`\\ ed many times." msgstr "A un hilo se le puede aplicar :meth:`~Thread.join` muchas veces." -#: ../Doc/library/threading.rst:325 +#: ../Doc/library/threading.rst:338 msgid "" ":meth:`~Thread.join` raises a :exc:`RuntimeError` if an attempt is made to " "join the current thread as that would cause a deadlock. It is also an error " @@ -629,7 +648,7 @@ msgstr "" "meth:`~Thread.join` a un hilo antes de que haya sido iniciado y los intentos " "de hacerlo lanzaran la misma excepción." -#: ../Doc/library/threading.rst:332 +#: ../Doc/library/threading.rst:345 msgid "" "A string used for identification purposes only. It has no semantics. " "Multiple threads may be given the same name. The initial name is set by the " @@ -639,7 +658,7 @@ msgstr "" "Se puede dar el mismo nombre a múltiples hilos. El nombre inicial es " "establecido por el constructor." -#: ../Doc/library/threading.rst:339 +#: ../Doc/library/threading.rst:352 msgid "" "Old getter/setter API for :attr:`~Thread.name`; use it directly as a " "property instead." @@ -647,7 +666,7 @@ msgstr "" "Antigua API *getter/setter* para :attr:`~Thread.name`; úsese en cambio " "directamente como una propiedad." -#: ../Doc/library/threading.rst:344 +#: ../Doc/library/threading.rst:357 msgid "" "The 'thread identifier' of this thread or ``None`` if the thread has not " "been started. This is a nonzero integer. See the :func:`get_ident` " @@ -661,7 +680,7 @@ msgstr "" "otro hilo es creado. El identificador está disponible incuso después de que " "el hilo ha abandonado." -#: ../Doc/library/threading.rst:352 +#: ../Doc/library/threading.rst:365 msgid "" "The native integral thread ID of this thread. This is a non-negative " "integer, or ``None`` if the thread has not been started. See the :func:" @@ -678,7 +697,7 @@ msgstr "" "que el hilo termina, luego de lo cual el valor puede ser reciclado por el " "SO)." -#: ../Doc/library/threading.rst:362 +#: ../Doc/library/threading.rst:375 msgid "" "Similar to Process IDs, Thread IDs are only valid (guaranteed unique system-" "wide) from the time the thread is created until the thread has been " @@ -688,18 +707,18 @@ msgstr "" "como únicas a través de todo el sistema) desde el momento en que se crea el " "hilo hasta que el hilo es finalizado." -#: ../Doc/library/threading.rst:367 +#: ../Doc/library/threading.rst:380 msgid "" ":ref:`Availability `: Requires :func:`get_native_id` function." msgstr "" ":ref:`Disponibilidad `: Requiere la función :func:" "`get_native_id`." -#: ../Doc/library/threading.rst:372 +#: ../Doc/library/threading.rst:385 msgid "Return whether the thread is alive." msgstr "Retornar si acaso el hilo está vivo." -#: ../Doc/library/threading.rst:374 +#: ../Doc/library/threading.rst:387 msgid "" "This method returns ``True`` just before the :meth:`~Thread.run` method " "starts until just after the :meth:`~Thread.run` method terminates. The " @@ -710,7 +729,7 @@ msgstr "" "termine. La función :func:`.enumerate` del módulo retorna una lista de todos " "los hilos vivos." -#: ../Doc/library/threading.rst:380 +#: ../Doc/library/threading.rst:393 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 called, " @@ -726,14 +745,14 @@ msgstr "" "tanto todos los hilos creados en el hilo principal tienen por defecto un " "valor :attr:`~Thread.daemon` = ``False``." -#: ../Doc/library/threading.rst:387 +#: ../Doc/library/threading.rst:400 msgid "" "The entire Python program exits when no alive non-daemon threads are left." msgstr "" "El programa de Python en su totalidad finaliza cuando no queda ningún hilo " "no-demonio vivo." -#: ../Doc/library/threading.rst:392 +#: ../Doc/library/threading.rst:405 msgid "" "Old getter/setter API for :attr:`~Thread.daemon`; use it directly as a " "property instead." @@ -741,30 +760,11 @@ msgstr "" "Antigua API *getter/setter* para :attr:`~Thread.daemon`; úsese en cambio " "directamente como una propiedad." -#: ../Doc/library/threading.rst:398 -msgid "" -"In CPython, due to the :term:`Global Interpreter Lock`, only one thread can " -"execute Python code at once (even though certain performance-oriented " -"libraries might overcome this limitation). If you want your application to " -"make better use of the computational resources of multi-core machines, you " -"are advised to use :mod:`multiprocessing` or :class:`concurrent.futures." -"ProcessPoolExecutor`. However, threading is still an appropriate model if " -"you want to run multiple I/O-bound tasks simultaneously." -msgstr "" -"En CPython, debido al :term:`Global Interpreter Lock` (bloqueo global del " -"intérprete), un solo hilo puede ejecutar código de Python a la vez (a pesar " -"de que algunas librerías orientadas al desempeño pueden superar esta " -"limitación). Si se desea que una aplicación haga mejor uso de los recursos " -"computacionales de máquinas multi-núcleo, se recomienda usar :mod:" -"`multiprocessing` o :class:`concurrent.futures.ProcessPoolExecutor`. De " -"todas maneras, trabajar con hilos todavía es un modelo apropiado si se " -"quiere correr múltiples tareas limitadas por E/S simultáneamente." - -#: ../Doc/library/threading.rst:411 +#: ../Doc/library/threading.rst:412 msgid "Lock Objects" msgstr "Objetos tipo *lock*" -#: ../Doc/library/threading.rst:413 +#: ../Doc/library/threading.rst:414 msgid "" "A primitive lock is a synchronization primitive that is not owned by a " "particular thread when locked. In Python, it is currently the lowest level " @@ -776,7 +776,7 @@ msgstr "" "sincronización de más bajo nivel actualmente disponible, implementado " "directamente por el módulo de extensión :mod:`_thread`." -#: ../Doc/library/threading.rst:418 +#: ../Doc/library/threading.rst:419 msgid "" "A primitive lock is in one of two states, \"locked\" or \"unlocked\". It is " "created in the unlocked state. It has two basic methods, :meth:`~Lock." @@ -801,13 +801,13 @@ msgstr "" "inmediatamente. Si se realiza un intento de liberar un *lock* abierto, se " "lanzará un :exc:`RuntimeError`." -#: ../Doc/library/threading.rst:429 +#: ../Doc/library/threading.rst:430 msgid "Locks also support the :ref:`context management protocol `." msgstr "" "Los *locks* también soportan el :ref:`protocolo de gestión de contexto `." -#: ../Doc/library/threading.rst:431 +#: ../Doc/library/threading.rst:432 msgid "" "When more than one thread is blocked in :meth:`~Lock.acquire` waiting for " "the state to turn to unlocked, only one thread proceeds when a :meth:`~Lock." @@ -819,11 +819,11 @@ msgstr "" "`~Lock.release` restablezca el estado a abierto; cuál de los hilos en espera " "procederá no está definido, y puede variar a través de las implementaciones." -#: ../Doc/library/threading.rst:436 +#: ../Doc/library/threading.rst:437 msgid "All methods are executed atomically." msgstr "Todos los métodos se ejecutan de manera atómica." -#: ../Doc/library/threading.rst:441 +#: ../Doc/library/threading.rst:442 msgid "" "The class implementing primitive lock objects. Once a thread has acquired a " "lock, subsequent attempts to acquire it block, until it is released; any " @@ -833,7 +833,7 @@ msgstr "" "hilo ha adquirido un *lock*, intentos subsecuentes por adquirirlo " "bloquearán, hasta que sea liberado; cualquier hilo puede liberarlo." -#: ../Doc/library/threading.rst:445 +#: ../Doc/library/threading.rst:446 msgid "" "Note that ``Lock`` is actually a factory function which returns an instance " "of the most efficient version of the concrete Lock class that is supported " @@ -843,11 +843,11 @@ msgstr "" "la versión más eficiente de la clase *Lock* concreta soportada por la " "plataforma." -#: ../Doc/library/threading.rst:452 ../Doc/library/threading.rst:532 +#: ../Doc/library/threading.rst:453 ../Doc/library/threading.rst:533 msgid "Acquire a lock, blocking or non-blocking." msgstr "Adquirir un *lock*, bloqueante o no bloqueante." -#: ../Doc/library/threading.rst:454 +#: ../Doc/library/threading.rst:455 msgid "" "When invoked with the *blocking* argument set to ``True`` (the default), " "block until the lock is unlocked, then set it to locked and return ``True``." @@ -856,7 +856,7 @@ msgstr "" "valor por defecto), bloquea hasta que el *lock* se abra, luego lo establece " "como cerrado y retorna ``True``." -#: ../Doc/library/threading.rst:457 +#: ../Doc/library/threading.rst:458 msgid "" "When invoked with the *blocking* argument set to ``False``, do not block. If " "a call with *blocking* set to ``True`` would block, return ``False`` " @@ -866,7 +866,7 @@ msgstr "" "Si una llamada con *blocking* establecido como ``True`` bloqueara, retorna " "``Falso`` inmediatamente; de otro modo, cierra el *lock* y retorna ``True``." -#: ../Doc/library/threading.rst:461 +#: ../Doc/library/threading.rst:462 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 " @@ -880,7 +880,7 @@ msgstr "" "*timeout* de \"-1\" especifica una espera ilimitada. No está admitido " "especificar un *timeout* cuando *blocking* es falso." -#: ../Doc/library/threading.rst:467 +#: ../Doc/library/threading.rst:468 msgid "" "The return value is ``True`` if the lock is acquired successfully, ``False`` " "if not (for example if the *timeout* expired)." @@ -888,12 +888,12 @@ msgstr "" "El valor de retorno es ``True`` si el *lock* es adquirido con éxito, " "``Falso`` si no (por ejemplo si *timeout* expiró)." -#: ../Doc/library/threading.rst:470 ../Doc/library/threading.rst:554 -#: ../Doc/library/threading.rst:799 +#: ../Doc/library/threading.rst:471 ../Doc/library/threading.rst:555 +#: ../Doc/library/threading.rst:800 msgid "The *timeout* parameter is new." msgstr "El parámetro *timeout* es nuevo." -#: ../Doc/library/threading.rst:473 +#: ../Doc/library/threading.rst:474 msgid "" "Lock acquisition can now be interrupted by signals on POSIX if the " "underlying threading implementation supports it." @@ -901,7 +901,7 @@ msgstr "" "La adquisición de un *lock* ahora puede ser interrumpida por señales en " "POSIX si la implementación de hilado subyacente lo soporta." -#: ../Doc/library/threading.rst:480 +#: ../Doc/library/threading.rst:481 msgid "" "Release a lock. This can be called from any thread, not only the thread " "which has acquired the lock." @@ -909,7 +909,7 @@ msgstr "" "Libera un *lock*. Puede ser llamado desde cualquier hilo, no solo el hilo " "que ha adquirido el *lock*." -#: ../Doc/library/threading.rst:483 +#: ../Doc/library/threading.rst:484 msgid "" "When the lock is locked, reset it to unlocked, and return. If any other " "threads are blocked waiting for the lock to become unlocked, allow exactly " @@ -919,24 +919,24 @@ msgstr "" "cualquier otro hilo está bloqueado esperando que el *lock* se abra, permite " "que exactamente uno de ellos proceda." -#: ../Doc/library/threading.rst:487 +#: ../Doc/library/threading.rst:488 msgid "When invoked on an unlocked lock, a :exc:`RuntimeError` is raised." msgstr "" "Cuando se invoca en un *lock* abierto, se lanza un :exc:`RuntimeError`." -#: ../Doc/library/threading.rst:489 ../Doc/library/threading.rst:570 +#: ../Doc/library/threading.rst:490 ../Doc/library/threading.rst:571 msgid "There is no return value." msgstr "No hay valor de retorno." -#: ../Doc/library/threading.rst:493 +#: ../Doc/library/threading.rst:494 msgid "Return true if the lock is acquired." msgstr "Retorna *true* si el *lock* ha sido adquirido." -#: ../Doc/library/threading.rst:500 +#: ../Doc/library/threading.rst:501 msgid "RLock Objects" msgstr "Objetos *Rlock*" -#: ../Doc/library/threading.rst:502 +#: ../Doc/library/threading.rst:503 msgid "" "A reentrant lock is a synchronization primitive that may be acquired " "multiple times by the same thread. Internally, it uses the concepts of " @@ -951,7 +951,7 @@ msgstr "" "cerrado, algún hilo es dueño del *lock*; si está en estado abierto, ningún " "hilo es dueño." -#: ../Doc/library/threading.rst:508 +#: ../Doc/library/threading.rst:509 msgid "" "To lock the lock, a thread calls its :meth:`~RLock.acquire` method; this " "returns once the thread owns the lock. To unlock the lock, a thread calls " @@ -969,7 +969,7 @@ msgstr "" "restablece el *lock* a abierto y permite que otro hilo bloqueado en :meth:" "`~Lock.acquire` proceda." -#: ../Doc/library/threading.rst:515 +#: ../Doc/library/threading.rst:516 msgid "" "Reentrant locks also support the :ref:`context management protocol `." @@ -977,7 +977,7 @@ msgstr "" "Los *locks* reentrantes también soportan el :ref:`protocolo de manejo de " "contextos `." -#: ../Doc/library/threading.rst:520 +#: ../Doc/library/threading.rst:521 msgid "" "This class implements reentrant lock objects. A reentrant lock must be " "released by the thread that acquired it. Once a thread has acquired a " @@ -989,7 +989,7 @@ msgstr "" "adquirido un *lock* reentrante, el mismo hilo puede adquirirlo otra vez sin " "bloquearse; el hilo debe liberarlo una vez por vez que lo adquiere." -#: ../Doc/library/threading.rst:525 +#: ../Doc/library/threading.rst:526 msgid "" "Note that ``RLock`` is actually a factory function which returns an instance " "of the most efficient version of the concrete RLock class that is supported " @@ -999,7 +999,7 @@ msgstr "" "instancia de la versión más eficiente de la clase RLock concreta que sea " "soportada por la plataforma." -#: ../Doc/library/threading.rst:534 +#: ../Doc/library/threading.rst:535 msgid "" "When invoked without arguments: if this thread already owns the lock, " "increment the recursion level by one, and return immediately. Otherwise, if " @@ -1017,7 +1017,7 @@ msgstr "" "bloqueado esperando que sea abra el *lock*, solo uno a la vez podrá " "apoderarse del *lock*. No hay valor de retorno en este caso." -#: ../Doc/library/threading.rst:542 +#: ../Doc/library/threading.rst:543 msgid "" "When invoked with the *blocking* argument set to true, do the same thing as " "when called without arguments, and return ``True``." @@ -1025,7 +1025,7 @@ msgstr "" "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:545 +#: ../Doc/library/threading.rst:546 msgid "" "When invoked with the *blocking* argument set to false, do not block. If a " "call without an argument would block, return ``False`` immediately; " @@ -1036,7 +1036,7 @@ msgstr "" "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:549 +#: ../Doc/library/threading.rst:550 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 " @@ -1049,7 +1049,7 @@ msgstr "" "el *lock* ha sido adquirido, falso si el tiempo de espera *timeout* ha " "caducado." -#: ../Doc/library/threading.rst:560 +#: ../Doc/library/threading.rst:561 msgid "" "Release a lock, decrementing the recursion level. If after the decrement it " "is zero, reset the lock to unlocked (not owned by any thread), and if any " @@ -1064,7 +1064,7 @@ msgstr "" "disminución el nivel de recursividad todavía no es cero, el *lock* permanece " "cerrado y perteneciente al hilo llamador." -#: ../Doc/library/threading.rst:566 +#: ../Doc/library/threading.rst:567 msgid "" "Only call this method when the calling thread owns the lock. A :exc:" "`RuntimeError` is raised if this method is called when the lock is unlocked." @@ -1073,11 +1073,11 @@ msgstr "" "lanza un :exc:`RuntimeError` si se llama este método cuando el *lock* esta " "abierto." -#: ../Doc/library/threading.rst:576 +#: ../Doc/library/threading.rst:577 msgid "Condition Objects" msgstr "Objetos condicionales" -#: ../Doc/library/threading.rst:578 +#: ../Doc/library/threading.rst:579 msgid "" "A condition variable is always associated with some kind of lock; this can " "be passed in or one will be created by default. Passing one in is useful " @@ -1089,7 +1089,7 @@ msgstr "" "varias variables de condición deben compartir el mismo *lock*. El *lock* es " "parte del objeto condicional: no es necesario rastrearlo por separado." -#: ../Doc/library/threading.rst:583 +#: ../Doc/library/threading.rst:584 msgid "" "A condition variable obeys the :ref:`context management protocol `: using the ``with`` statement acquires the associated lock for the " @@ -1103,7 +1103,7 @@ msgstr "" "acquire` y :meth:`~Condition.release` también llaman los métodos " "correspondientes del *lock* asociado." -#: ../Doc/library/threading.rst:589 +#: ../Doc/library/threading.rst:590 msgid "" "Other methods must be called with the associated lock held. The :meth:" "`~Condition.wait` method releases the lock, and then blocks until another " @@ -1118,7 +1118,7 @@ msgstr "" "adquiere el *lock* y retorna. También es posible especificar un tiempo de " "espera." -#: ../Doc/library/threading.rst:595 +#: ../Doc/library/threading.rst:596 msgid "" "The :meth:`~Condition.notify` method wakes up one of the threads waiting for " "the condition variable, if any are waiting. The :meth:`~Condition." @@ -1129,7 +1129,7 @@ msgstr "" "`~Condition.notify_all` despierta a todos los hilos que estén esperando a la " "condición variable." -#: ../Doc/library/threading.rst:599 +#: ../Doc/library/threading.rst:600 msgid "" "Note: the :meth:`~Condition.notify` and :meth:`~Condition.notify_all` " "methods don't release the lock; this means that the thread or threads " @@ -1144,7 +1144,7 @@ msgstr "" "`~Condition.notify` o :meth:`~Condition.notify_all` renuncie finalmente a la " "propiedad del *lock*." -#: ../Doc/library/threading.rst:605 +#: ../Doc/library/threading.rst:606 msgid "" "The typical programming style using condition variables uses the lock to " "synchronize access to some shared state; threads that are interested in a " @@ -1165,7 +1165,7 @@ msgstr "" "espera. Por ejemplo, el siguiente código es una situación genérica de " "productor-consumidor con capacidad de búfer ilimitada::" -#: ../Doc/library/threading.rst:625 +#: ../Doc/library/threading.rst:626 msgid "" "The ``while`` loop checking for the application's condition is necessary " "because :meth:`~Condition.wait` can return after an arbitrary long time, and " @@ -1182,7 +1182,7 @@ msgstr "" "para automatizar la revisión de condiciones, y facilita la computación de " "tiempos de espera::" -#: ../Doc/library/threading.rst:637 +#: ../Doc/library/threading.rst:638 msgid "" "To choose between :meth:`~Condition.notify` and :meth:`~Condition." "notify_all`, consider whether one state change can be interesting for only " @@ -1195,7 +1195,7 @@ msgstr "" "hilos en espera. Por ejemplo en una típica situación productor-consumidor, " "agregar un elemento al búfer sólo necesita despertar un hilo consumidor." -#: ../Doc/library/threading.rst:645 +#: ../Doc/library/threading.rst:646 msgid "" "This class implements condition variable objects. A condition variable " "allows one or more threads to wait until they are notified by another thread." @@ -1203,7 +1203,7 @@ msgstr "" "Esta clase implementa objetos de condición variable. Una condición variable " "permite que uno o más hilos esperen hasta que sean notificados por otro hilo." -#: ../Doc/library/threading.rst:648 +#: ../Doc/library/threading.rst:649 msgid "" "If the *lock* argument is given and not ``None``, it must be a :class:`Lock` " "or :class:`RLock` object, and it is used as the underlying lock. Otherwise, " @@ -1214,13 +1214,13 @@ msgstr "" "otro modo, se crea un nuevo objeto :class:`RLock` y se utiliza como el " "*lock* subyacente." -#: ../Doc/library/threading.rst:652 ../Doc/library/threading.rst:774 -#: ../Doc/library/threading.rst:817 ../Doc/library/threading.rst:869 -#: ../Doc/library/threading.rst:938 +#: ../Doc/library/threading.rst:653 ../Doc/library/threading.rst:775 +#: ../Doc/library/threading.rst:821 ../Doc/library/threading.rst:873 +#: ../Doc/library/threading.rst:942 msgid "changed from a factory function to a class." msgstr "cambiado de función de fábrica a una clase." -#: ../Doc/library/threading.rst:657 +#: ../Doc/library/threading.rst:658 msgid "" "Acquire the underlying lock. This method calls the corresponding method on " "the underlying lock; the return value is whatever that method returns." @@ -1229,7 +1229,7 @@ msgstr "" "sobre el *lock* subyacente; el valor de retorno es lo que retorne aquel " "método." -#: ../Doc/library/threading.rst:662 +#: ../Doc/library/threading.rst:663 msgid "" "Release the underlying lock. This method calls the corresponding method on " "the underlying lock; there is no return value." @@ -1237,7 +1237,7 @@ msgstr "" "Libera el *lock* subyacente. Este método llama al método correspondiente en " "el *lock* subyacente; no tiene valor de retorno." -#: ../Doc/library/threading.rst:667 +#: ../Doc/library/threading.rst:668 msgid "" "Wait until notified or until a timeout occurs. If the calling thread has not " "acquired the lock when this method is called, a :exc:`RuntimeError` is " @@ -1247,7 +1247,7 @@ msgstr "" "hilo invocador no ha adquirido el *lock* cuando este método es llamado, se " "lanza un :exc:`RuntimeError`." -#: ../Doc/library/threading.rst:671 +#: ../Doc/library/threading.rst:672 msgid "" "This method releases the underlying lock, and then blocks until it is " "awakened by a :meth:`notify` or :meth:`notify_all` call for the same " @@ -1260,7 +1260,7 @@ msgstr "" "opcional se cumpla. Una vez que ha sido despertado o el tiempo de espera ha " "pasado, re-adquiere el *lock* y retorna." -#: ../Doc/library/threading.rst:676 +#: ../Doc/library/threading.rst:677 msgid "" "When the *timeout* argument is present and not ``None``, it should be a " "floating point number specifying a timeout for the operation in seconds (or " @@ -1270,7 +1270,7 @@ msgstr "" "número de punto flotante que especifique un tiempo de espera para la " "operación en segundos (o fracciones de segundo)." -#: ../Doc/library/threading.rst:680 +#: ../Doc/library/threading.rst:681 msgid "" "When the underlying lock is an :class:`RLock`, it is not released using its :" "meth:`release` method, since this may not actually unlock the lock when it " @@ -1287,7 +1287,7 @@ msgstr "" "interfaz interna se usa luego para restablecer el nivel de recursividad " "cuando el *lock* es readquirido." -#: ../Doc/library/threading.rst:688 +#: ../Doc/library/threading.rst:689 msgid "" "The return value is ``True`` unless a given *timeout* expired, in which case " "it is ``False``." @@ -1295,11 +1295,11 @@ msgstr "" "El valor de retorno es ``True`` a menos que un *timeout* dado haya expirado, " "en cuyo caso será ``False``." -#: ../Doc/library/threading.rst:691 ../Doc/library/threading.rst:903 +#: ../Doc/library/threading.rst:692 ../Doc/library/threading.rst:907 msgid "Previously, the method always returned ``None``." msgstr "Previamente, el método siempre retornaba ``None``." -#: ../Doc/library/threading.rst:696 +#: ../Doc/library/threading.rst:697 msgid "" "Wait until a condition evaluates to true. *predicate* should be a callable " "which result will be interpreted as a boolean value. A *timeout* may be " @@ -1309,7 +1309,7 @@ msgstr "" "invocable cuyo resultado se interpretará como un valor booleano. Se puede " "proveer un *timeout* que especifique el máximo tiempo de espera." -#: ../Doc/library/threading.rst:700 +#: ../Doc/library/threading.rst:701 msgid "" "This utility method may call :meth:`wait` repeatedly until the predicate is " "satisfied, or until a timeout occurs. The return value is the last return " @@ -1321,7 +1321,7 @@ msgstr "" "retorno es el último valor de retorno del predicado y se evaluará a " "``False`` si el método ha caducado." -#: ../Doc/library/threading.rst:705 +#: ../Doc/library/threading.rst:706 msgid "" "Ignoring the timeout feature, calling this method is roughly equivalent to " "writing::" @@ -1329,7 +1329,7 @@ msgstr "" "Al ignorar la propiedad *feature*, llamar a este método equivale vagamente a " "escribir::" -#: ../Doc/library/threading.rst:711 +#: ../Doc/library/threading.rst:712 msgid "" "Therefore, the same rules apply as with :meth:`wait`: The lock must be held " "when called and is re-acquired on return. The predicate is evaluated with " @@ -1339,7 +1339,7 @@ msgstr "" "conservado cuando se llame y es re-adquirido al momento del retorno. El " "predicado se evalúa con el *lock* conservado." -#: ../Doc/library/threading.rst:719 +#: ../Doc/library/threading.rst:720 msgid "" "By default, wake up one thread waiting on this condition, if any. If the " "calling thread has not acquired the lock when this method is called, a :exc:" @@ -1349,7 +1349,7 @@ msgstr "" "lo existe. Si el hilo llamador no ha adquirido el *lock* cuando se llama " "este método, se lanza un :exc:`RuntimeError`." -#: ../Doc/library/threading.rst:723 +#: ../Doc/library/threading.rst:724 msgid "" "This method wakes up at most *n* of the threads waiting for the condition " "variable; it is a no-op if no threads are waiting." @@ -1357,7 +1357,7 @@ msgstr "" "Este método despierta como máximo *n* de los hilos que estén esperando por " "la condición variable; no es una opción si no hay hilos esperando." -#: ../Doc/library/threading.rst:726 +#: ../Doc/library/threading.rst:727 msgid "" "The current implementation wakes up exactly *n* threads, if at least *n* " "threads are waiting. However, it's not safe to rely on this behavior. A " @@ -1369,7 +1369,7 @@ msgstr "" "comportamiento. A futuro, una implementación optimizada podría " "ocasionalmente despertar a más de *n* hilos." -#: ../Doc/library/threading.rst:731 +#: ../Doc/library/threading.rst:732 msgid "" "Note: an awakened thread does not actually return from its :meth:`wait` call " "until it can reacquire the lock. Since :meth:`notify` does not release the " @@ -1379,7 +1379,7 @@ msgstr "" "meth:`wait` hasta que pueda readquirir el *lock*. Ya que :meth:`notify` no " "libera el *lock*, su llamador debiera hacerlo." -#: ../Doc/library/threading.rst:737 +#: ../Doc/library/threading.rst:738 msgid "" "Wake up all threads waiting on this condition. This method acts like :meth:" "`notify`, but wakes up all waiting threads instead of one. If the calling " @@ -1391,11 +1391,11 @@ msgstr "" "de a uno. Si el hilo llamador no ha adquirido el *lock* cuando se llama a " "este método, se lanza un :exc:`RuntimeError`." -#: ../Doc/library/threading.rst:746 +#: ../Doc/library/threading.rst:747 msgid "Semaphore Objects" msgstr "Objetos semáforo" -#: ../Doc/library/threading.rst:748 +#: ../Doc/library/threading.rst:749 msgid "" "This is one of the oldest synchronization primitives in the history of " "computer science, invented by the early Dutch computer scientist Edsger W. " @@ -1407,7 +1407,7 @@ msgstr "" "la computación holandés Edsger W. Dijkstra (él utilizó los nombres ``P()`` y " "``V()`` en lugar de :meth:`~Semaphore.acquire` y :meth:`~Semaphore.release`)" -#: ../Doc/library/threading.rst:753 +#: ../Doc/library/threading.rst:754 msgid "" "A semaphore manages an internal counter which is decremented by each :meth:" "`~Semaphore.acquire` call and incremented by each :meth:`~Semaphore.release` " @@ -1421,14 +1421,14 @@ msgstr "" "`~Semaphore.acquire` lo encuentra en cero, bloquea, esperando hasta que otro " "hilo llame :meth:`~Semaphore.release`." -#: ../Doc/library/threading.rst:759 +#: ../Doc/library/threading.rst:760 msgid "" "Semaphores also support the :ref:`context management protocol `." msgstr "" "Los semáforos también tienen soporte para el :ref:`protocolo de gestión de " "contexto `." -#: ../Doc/library/threading.rst:764 +#: ../Doc/library/threading.rst:765 msgid "" "This class implements semaphore objects. A semaphore manages an atomic " "counter representing the number of :meth:`release` calls minus the number " @@ -1442,7 +1442,7 @@ msgstr "" "`acquire` bloquea si es necesario, hasta que pueda retornar sin volver el " "contador negativo. Si no es provisto, el valor por defecto de *value* será 1." -#: ../Doc/library/threading.rst:770 +#: ../Doc/library/threading.rst:771 msgid "" "The optional argument gives the initial *value* for the internal counter; it " "defaults to ``1``. If the *value* given is less than 0, :exc:`ValueError` is " @@ -1451,15 +1451,15 @@ msgstr "" "El argumento opcional da el *value* inicial al contador interno; por defecto " "es ``1``. Si el *value* provisto es menor a 0; se lanza un :exc:`ValueError`." -#: ../Doc/library/threading.rst:779 +#: ../Doc/library/threading.rst:780 msgid "Acquire a semaphore." msgstr "Adquirir un semáforo." -#: ../Doc/library/threading.rst:781 +#: ../Doc/library/threading.rst:782 msgid "When invoked without arguments:" msgstr "Cuando se invoca sin argumentos:" -#: ../Doc/library/threading.rst:783 +#: ../Doc/library/threading.rst:784 msgid "" "If the internal counter is larger than zero on entry, decrement it by one " "and return ``True`` immediately." @@ -1467,7 +1467,7 @@ msgstr "" "Si el contador interno es mayor a cero de entrada, lo disminuye en uno y " "retorna ``True`` inmediatamente." -#: ../Doc/library/threading.rst:785 +#: ../Doc/library/threading.rst:786 msgid "" "If the internal counter is zero on entry, block until awoken by a call to :" "meth:`~Semaphore.release`. Once awoken (and the counter is greater than 0), " @@ -1481,7 +1481,7 @@ msgstr "" "exactamente un hilo por cada llamada a :meth:`~Semaphore.release`. No " "debiese confiarse en el orden en que los hilos sean despertados." -#: ../Doc/library/threading.rst:791 +#: ../Doc/library/threading.rst:792 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 " @@ -1491,7 +1491,7 @@ msgstr "" "sin un argumento bloquease, retorna ``Falso`` inmediatamente; de otro modo, " "hace lo mismo que cuando se llama sin argumentos, y retorna ``True``." -#: ../Doc/library/threading.rst:795 +#: ../Doc/library/threading.rst:796 msgid "" "When invoked with a *timeout* other than ``None``, it will block for at most " "*timeout* seconds. If acquire does not complete successfully in that " @@ -1502,17 +1502,22 @@ msgstr "" "exitosamente en ese intervalo, retorna ``False``. De otro modo retorna " "``True``." -#: ../Doc/library/threading.rst:804 +#: ../Doc/library/threading.rst:805 +#, fuzzy msgid "" -"Release a semaphore, incrementing the internal counter by one. When it was " -"zero on entry and another thread is waiting for it to become larger than " -"zero again, wake up that thread." +"Release a semaphore, incrementing the internal counter by *n*. When it was " +"zero on entry and other threads are waiting for it to become larger than " +"zero again, wake up *n* of those threads." msgstr "" "Libera un semáforo, incrementando el contador interno en uno. Cuando éste " "haya sido cero de entrada y otro hilo esté esperando que sea nuevamente " "mayor a cero, despierta a ese hilo." -#: ../Doc/library/threading.rst:811 +#: ../Doc/library/threading.rst:809 +msgid "Added the *n* parameter to release multiple waiting threads at once." +msgstr "" + +#: ../Doc/library/threading.rst:815 msgid "" "Class implementing bounded semaphore objects. A bounded semaphore checks to " "make sure its current value doesn't exceed its initial value. If it does, :" @@ -1527,11 +1532,11 @@ msgstr "" "semáforo demasiadas veces es signo de un *bug*. Si no se provee, el valor " "por defecto de *value* será 1." -#: ../Doc/library/threading.rst:824 +#: ../Doc/library/threading.rst:828 msgid ":class:`Semaphore` Example" msgstr "Ejemplo de :class:`Semaphore`" -#: ../Doc/library/threading.rst:826 +#: ../Doc/library/threading.rst:830 msgid "" "Semaphores are often used to guard resources with limited capacity, for " "example, a database server. In any situation where the size of the resource " @@ -1544,7 +1549,7 @@ msgstr "" "de generar cualquier hilo de trabajo, tu hilo principal debe inicializar el " "semáforo::" -#: ../Doc/library/threading.rst:835 +#: ../Doc/library/threading.rst:839 msgid "" "Once spawned, worker threads call the semaphore's acquire and release " "methods when they need to connect to the server::" @@ -1552,7 +1557,7 @@ msgstr "" "Una vez que han sido generados, los hilos de trabajo llaman a los métodos " "*acquire* y *release* cuando necesitan conectarse al servidor::" -#: ../Doc/library/threading.rst:845 +#: ../Doc/library/threading.rst:849 msgid "" "The use of a bounded semaphore reduces the chance that a programming error " "which causes the semaphore to be released more than it's acquired will go " @@ -1562,11 +1567,11 @@ msgstr "" "inadvertido un error de programación que cause que el semáforo sea liberado " "más veces de las que sea adquirido." -#: ../Doc/library/threading.rst:852 +#: ../Doc/library/threading.rst:856 msgid "Event Objects" msgstr "Objetos de eventos" -#: ../Doc/library/threading.rst:854 +#: ../Doc/library/threading.rst:858 msgid "" "This is one of the simplest mechanisms for communication between threads: " "one thread signals an event and other threads wait for it." @@ -1574,7 +1579,7 @@ msgstr "" "Éste es uno de los mecanismos más simples de comunicación entre hilos: un " "hilo señala un evento y otro hilo lo espera." -#: ../Doc/library/threading.rst:857 +#: ../Doc/library/threading.rst:861 msgid "" "An event object manages an internal flag that can be set to true with the :" "meth:`~Event.set` method and reset to false with the :meth:`~Event.clear` " @@ -1585,7 +1590,7 @@ msgstr "" "mediante el método :meth:`~Meth.clear`. El método :meth:`~Meth.wait` bloquea " "hasta que la marca sea *true*." -#: ../Doc/library/threading.rst:864 +#: ../Doc/library/threading.rst:868 msgid "" "Class implementing event objects. An event manages a flag that can be set " "to true with the :meth:`~Event.set` method and reset to false with the :meth:" @@ -1598,11 +1603,11 @@ msgstr "" "bloquea hasta que el indicador sea verdadero. El indicador es inicialmente " "falso." -#: ../Doc/library/threading.rst:874 +#: ../Doc/library/threading.rst:878 msgid "Return ``True`` if and only if the internal flag is true." msgstr "Retorna ``True`` exclusivamente si el indicador interno es verdadero." -#: ../Doc/library/threading.rst:878 +#: ../Doc/library/threading.rst:882 msgid "" "Set the internal flag to true. All threads waiting for it to become true are " "awakened. Threads that call :meth:`wait` once the flag is true will not " @@ -1612,7 +1617,7 @@ msgstr "" "esperando que se vuelva verdadero serán despertados. Los hilos que llaman a :" "meth:`wait` una vez que el indicador marca verdadero no bloquearán." -#: ../Doc/library/threading.rst:884 +#: ../Doc/library/threading.rst:888 msgid "" "Reset the internal flag to false. Subsequently, threads calling :meth:`wait` " "will block until :meth:`.set` is called to set the internal flag to true " @@ -1622,7 +1627,7 @@ msgstr "" "meth:`wait` bloquearán hasta que se llame a :meth:`set` para establecer el " "indicador interno a verdadero nuevamente." -#: ../Doc/library/threading.rst:890 +#: ../Doc/library/threading.rst:894 msgid "" "Block until the internal flag is true. If the internal flag is true on " "entry, return immediately. Otherwise, block until another thread calls :" @@ -1633,7 +1638,7 @@ msgstr "" "bloquea hasta que otro hilo llame a :meth:`.set` para establecer el " "indicador a verdadero, o hasta que el tiempo de espera opcional caduque." -#: ../Doc/library/threading.rst:894 +#: ../Doc/library/threading.rst:898 msgid "" "When the timeout argument is present and not ``None``, it should be a " "floating point number specifying a timeout for the operation in seconds (or " @@ -1643,7 +1648,7 @@ msgstr "" "de ``None``, debe ser un número de punto flotante que especifique un tiempo " "de espera para la operación en segundos (o fracciones en su defecto)." -#: ../Doc/library/threading.rst:898 +#: ../Doc/library/threading.rst:902 msgid "" "This method returns ``True`` if and only if the internal flag has been set " "to true, either before the wait call or after the wait starts, so it will " @@ -1655,11 +1660,11 @@ msgstr "" "que la espera inicie, por lo que siempre retorna ``True`` excepto si se " "provee un tiempo de espera máximo y la operación caduca." -#: ../Doc/library/threading.rst:910 +#: ../Doc/library/threading.rst:914 msgid "Timer Objects" msgstr "Objetos temporizadores" -#: ../Doc/library/threading.rst:912 +#: ../Doc/library/threading.rst:916 msgid "" "This class represents an action that should be run only after a certain " "amount of time has passed --- a timer. :class:`Timer` is a subclass of :" @@ -1671,7 +1676,7 @@ msgstr "" "una subclase de :class:`Thread` y en tanto tal también funciona como un " "ejemplo de creación de hilos personalizados." -#: ../Doc/library/threading.rst:916 +#: ../Doc/library/threading.rst:920 msgid "" "Timers are started, as with threads, by calling their :meth:`~Timer.start` " "method. The timer can be stopped (before its action has begun) by calling " @@ -1685,11 +1690,11 @@ msgstr "" "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:922 +#: ../Doc/library/threading.rst:926 msgid "For example::" msgstr "Por ejemplo:" -#: ../Doc/library/threading.rst:933 +#: ../Doc/library/threading.rst:937 msgid "" "Create a timer that will run *function* with arguments *args* and keyword " "arguments *kwargs*, after *interval* seconds have passed. If *args* is " @@ -1702,7 +1707,7 @@ msgstr "" "defecto) se utilizará una lista vacía. Si *kwargs* es ``None`` (por defecto) " "se utilizará un *dict* vacío." -#: ../Doc/library/threading.rst:943 +#: ../Doc/library/threading.rst:947 msgid "" "Stop the timer, and cancel the execution of the timer's action. This will " "only work if the timer is still in its waiting stage." @@ -1711,11 +1716,11 @@ msgstr "" "temporizador. Esto sólo funcionará si el temporizador está en etapa de " "espera." -#: ../Doc/library/threading.rst:948 +#: ../Doc/library/threading.rst:952 msgid "Barrier Objects" msgstr "Objetos de barrera" -#: ../Doc/library/threading.rst:952 +#: ../Doc/library/threading.rst:956 msgid "" "This class provides a simple synchronization primitive for use by a fixed " "number of threads that need to wait for each other. Each of the threads " @@ -1729,14 +1734,14 @@ msgstr "" "bloqueará hasta que todos los hilos hayan hecho sus respectivas llamadas a :" "meth:`~Barrier.wait`. En este punto, los hilos son liberados simultáneamente." -#: ../Doc/library/threading.rst:958 +#: ../Doc/library/threading.rst:962 msgid "" "The barrier can be reused any number of times for the same number of threads." msgstr "" "La barrera puede ser reutilizada cualquier número de veces para el mismo " "número de hilos." -#: ../Doc/library/threading.rst:960 +#: ../Doc/library/threading.rst:964 msgid "" "As an example, here is a simple way to synchronize a client and server " "thread::" @@ -1744,7 +1749,7 @@ msgstr "" "Como ejemplo, aquí hay una manera simple de sincronizar un hilo cliente con " "uno servidor::" -#: ../Doc/library/threading.rst:980 +#: ../Doc/library/threading.rst:984 msgid "" "Create a barrier object for *parties* number of threads. An *action*, when " "provided, is a callable to be called by one of the threads when they are " @@ -1756,7 +1761,7 @@ msgstr "" "sean liberados. *timeout* es el valor de tiempo de espera máximo por defecto " "si no se especifica uno en el método :meth:`wait`." -#: ../Doc/library/threading.rst:987 +#: ../Doc/library/threading.rst:991 msgid "" "Pass the barrier. When all the threads party to the barrier have called " "this function, they are all released simultaneously. If a *timeout* is " @@ -1768,7 +1773,7 @@ msgstr "" "valor *timeout*, se utilizará con preferencia sobre cualquiera que haya sido " "suministrado al constructor de la clase." -#: ../Doc/library/threading.rst:992 +#: ../Doc/library/threading.rst:996 msgid "" "The return value is an integer in the range 0 to *parties* -- 1, different " "for each thread. This can be used to select a thread to do some special " @@ -1778,7 +1783,7 @@ msgstr "" "diferente para cada hilo. Puede ser utilizado para seleccionar a un hilo " "para que haga alguna limpieza especial, por ejemplo::" -#: ../Doc/library/threading.rst:1001 +#: ../Doc/library/threading.rst:1005 msgid "" "If an *action* was provided to the constructor, one of the threads will have " "called it prior to being released. Should this call raise an error, the " @@ -1788,11 +1793,11 @@ msgstr "" "antes de ser liberado. Si acaso esta llamada lanzara un error, la barrera " "entra en estado *broken* (roto)." -#: ../Doc/library/threading.rst:1005 +#: ../Doc/library/threading.rst:1009 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*." -#: ../Doc/library/threading.rst:1007 +#: ../Doc/library/threading.rst:1011 msgid "" "This method may raise a :class:`BrokenBarrierError` exception if the barrier " "is broken or reset while a thread is waiting." @@ -1800,7 +1805,7 @@ msgstr "" "Este método podría lanzar una excepción :class:`BrokenBarrierError` si la " "barrera está rota o si se reinicia mientras el hilo está esperando." -#: ../Doc/library/threading.rst:1012 +#: ../Doc/library/threading.rst:1016 msgid "" "Return the barrier to the default, empty state. Any threads waiting on it " "will receive the :class:`BrokenBarrierError` exception." @@ -1808,7 +1813,7 @@ msgstr "" "Retorna la barrera al estado por defecto, vacío. Cualquier hilo que esté a " "su espera recibirá la excepción :class:`BrokenBarrierError`." -#: ../Doc/library/threading.rst:1015 +#: ../Doc/library/threading.rst:1019 msgid "" "Note that using this function may require some external synchronization if " "there are other threads whose state is unknown. If a barrier is broken it " @@ -1818,7 +1823,7 @@ msgstr "" "externa si existen otros hilos cuyos estados sean desconocidos. Si una " "barrera se rompe puede ser mejor abandonarla y crear una nueva." -#: ../Doc/library/threading.rst:1021 +#: ../Doc/library/threading.rst:1025 msgid "" "Put the barrier into a broken state. This causes any active or future calls " "to :meth:`wait` to fail with the :class:`BrokenBarrierError`. Use this for " @@ -1830,7 +1835,7 @@ msgstr "" "por ejemplo si uno de los hilos necesita abortar, para evitar que la " "aplicación quede en punto muerto." -#: ../Doc/library/threading.rst:1026 +#: ../Doc/library/threading.rst:1030 msgid "" "It may be preferable to simply create the barrier with a sensible *timeout* " "value to automatically guard against one of the threads going awry." @@ -1838,20 +1843,20 @@ msgstr "" "Puede ser preferible simplemente crear la barrera con un valor *timeout* " "sensato para cuidarse automáticamente de que uno de los hilos falle." -#: ../Doc/library/threading.rst:1032 +#: ../Doc/library/threading.rst:1036 msgid "The number of threads required to pass the barrier." msgstr "El número de hilos requeridos para pasar la barrera." -#: ../Doc/library/threading.rst:1036 +#: ../Doc/library/threading.rst:1040 msgid "The number of threads currently waiting in the barrier." msgstr "El número de hilos actualmente esperando en la barrera." -#: ../Doc/library/threading.rst:1040 +#: ../Doc/library/threading.rst:1044 msgid "A boolean that is ``True`` if the barrier is in the broken state." msgstr "" "Un valor booleano que será ``True`` si la barrera está en el estado roto." -#: ../Doc/library/threading.rst:1045 +#: ../Doc/library/threading.rst:1049 msgid "" "This exception, a subclass of :exc:`RuntimeError`, is raised when the :class:" "`Barrier` object is reset or broken." @@ -1859,13 +1864,13 @@ msgstr "" "Esta excepción, una subclase de :exc:`RuntimeError`, se lanza cuando el " "objeto :class:`Barrier` se restablece o se rompe." -#: ../Doc/library/threading.rst:1052 +#: ../Doc/library/threading.rst:1056 msgid "" "Using locks, conditions, and semaphores in the :keyword:`!with` statement" msgstr "" "Uso de *locks*, condiciones y semáforos en la declaración :keyword:`!with`" -#: ../Doc/library/threading.rst:1054 +#: ../Doc/library/threading.rst:1058 msgid "" "All of the objects provided by this module that have :meth:`acquire` and :" "meth:`release` methods can be used as context managers for a :keyword:`with` " @@ -1879,11 +1884,11 @@ msgstr "" "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::" -#: ../Doc/library/threading.rst:1063 +#: ../Doc/library/threading.rst:1067 msgid "is equivalent to::" msgstr "sea equivalente a::" -#: ../Doc/library/threading.rst:1071 +#: ../Doc/library/threading.rst:1075 msgid "" "Currently, :class:`Lock`, :class:`RLock`, :class:`Condition`, :class:" "`Semaphore`, and :class:`BoundedSemaphore` objects may be used as :keyword:" diff --git a/library/time.po b/library/time.po index 253d9f5448..edc1e25245 100644 --- a/library/time.po +++ b/library/time.po @@ -10,16 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-10-09 20:15+0200\n" +"Last-Translator: Álvaro Mondéjar \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Last-Translator: Álvaro Mondéjar \n" -"Language: es\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/time.rst:2 msgid ":mod:`time` --- Time access and conversions" @@ -311,7 +311,7 @@ msgstr "" #: ../Doc/library/time.rst:179 ../Doc/library/time.rst:189 #: ../Doc/library/time.rst:198 ../Doc/library/time.rst:629 #: ../Doc/library/time.rst:746 ../Doc/library/time.rst:765 -#: ../Doc/library/time.rst:783 ../Doc/library/time.rst:819 +#: ../Doc/library/time.rst:793 ../Doc/library/time.rst:828 msgid ":ref:`Availability `: Unix." msgstr ":ref:`Disponibilidad `: Unix." @@ -478,11 +478,12 @@ msgstr "" "plataforma." #: ../Doc/library/time.rst:271 +#, fuzzy msgid "" "Return the value (in fractional seconds) of a monotonic clock, i.e. a clock " "that cannot go backwards. The clock is not affected by system clock " "updates. The reference point of the returned value is undefined, so that " -"only the difference between the results of consecutive calls is valid." +"only the difference between the results of two calls is valid." msgstr "" "Retorna el valor (en segundos fraccionarios) de un reloj monotónico, es " "decir, un reloj que no puede retroceder. El reloj no se ve afectado por las " @@ -500,12 +501,13 @@ msgstr "" "Similar a :func:`monotonic`, pero el tiempo de retorno es en nanosegundos." #: ../Doc/library/time.rst:292 +#, fuzzy msgid "" "Return the value (in fractional seconds) of a performance counter, i.e. a " "clock with the highest available resolution to measure a short duration. It " "does include time elapsed during sleep and is system-wide. The reference " "point of the returned value is undefined, so that only the difference " -"between the results of consecutive calls is valid." +"between the results of two calls is valid." msgstr "" "Retorna el valor (en fracciones de segundo) de un contador de rendimiento, " "es decir, un reloj con la resolución más alta disponible para medir una " @@ -520,12 +522,13 @@ msgstr "" "Similar a :func:`perf_counter`, pero el tiempo de retorno es en nanosegundos." #: ../Doc/library/time.rst:314 +#, fuzzy msgid "" "Return the value (in fractional seconds) of the sum of the system and user " "CPU time of the current process. It does not include time elapsed during " "sleep. It is process-wide by definition. The reference point of the " "returned value is undefined, so that only the difference between the results " -"of consecutive calls is valid." +"of two calls is valid." msgstr "" "Retorna el valor (en fracciones de segundo) de la suma del sistema y el " "tiempo de CPU del usuario del proceso actual. No incluye el tiempo " @@ -1184,12 +1187,13 @@ msgstr "" "atributos." #: ../Doc/library/time.rst:592 +#, fuzzy msgid "" "Return the value (in fractional seconds) of the sum of the system and user " "CPU time of the current thread. It does not include time elapsed during " "sleep. It is thread-specific by definition. The reference point of the " "returned value is undefined, so that only the difference between the results " -"of consecutive calls in the same thread is valid." +"of two calls in the same thread is valid." msgstr "" "Retorna el valor (en fracciones de segundo) de la suma del sistema y el " "tiempo de CPU del usuario del subproceso actual. No incluye el tiempo " @@ -1458,11 +1462,28 @@ msgid "" msgstr "" ":ref:`Disponibilidad `: FreeBSD, NetBSD 7 o posterior, OpenBSD." -#: ../Doc/library/time.rst:780 +#: ../Doc/library/time.rst:779 +msgid "" +"`International Atomic Time `_" +msgstr "" + +#: ../Doc/library/time.rst:781 +msgid "" +"The system must have a current leap second table in order for this to give " +"the correct answer. PTP or NTP software can maintain a leap second table." +msgstr "" + +#: ../Doc/library/time.rst:785 +#, fuzzy +msgid ":ref:`Availability `: Linux." +msgstr ":ref:`Disponibilidad `: Unix." + +#: ../Doc/library/time.rst:790 msgid "Thread-specific CPU-time clock." msgstr "Reloj de tiempo de CPU específico de subproceso." -#: ../Doc/library/time.rst:789 +#: ../Doc/library/time.rst:799 msgid "" "Time whose absolute value is the time the system has been running and not " "suspended, providing accurate uptime measurement, both absolute and interval." @@ -1471,12 +1492,12 @@ msgstr "" "y no suspendido, proporcionando una medición precisa del tiempo de " "actividad, tanto absoluta como de intervalo." -#: ../Doc/library/time.rst:794 +#: ../Doc/library/time.rst:804 msgid ":ref:`Availability `: FreeBSD, OpenBSD 5.5 or later." msgstr "" ":ref:`Disponibilidad `: FreeBSD, OpenBSD 5.5 o posterior." -#: ../Doc/library/time.rst:800 +#: ../Doc/library/time.rst:810 msgid "" "Clock that increments monotonically, tracking the time since an arbitrary " "point, unaffected by frequency or time adjustments and not incremented while " @@ -1486,11 +1507,11 @@ msgstr "" "arbitrario, no afectado por los ajustes de frecuencia o tiempo y no " "incrementado mientras el sistema está dormido." -#: ../Doc/library/time.rst:805 +#: ../Doc/library/time.rst:815 msgid ":ref:`Availability `: macOS 10.12 and newer." msgstr ":ref:`Disponibilidad `: macOS 10.12 y posterior." -#: ../Doc/library/time.rst:809 +#: ../Doc/library/time.rst:818 msgid "" "The following constant is the only parameter that can be sent to :func:" "`clock_settime`." @@ -1498,7 +1519,7 @@ msgstr "" "La siguiente constante es el único parámetro que se puede enviar a :func:" "`clock_settime`." -#: ../Doc/library/time.rst:815 +#: ../Doc/library/time.rst:824 msgid "" "System-wide real-time clock. Setting this clock requires appropriate " "privileges." @@ -1506,11 +1527,11 @@ msgstr "" "Reloj en tiempo real de todo el sistema. Configurar este reloj requiere los " "privilegios apropiados." -#: ../Doc/library/time.rst:826 +#: ../Doc/library/time.rst:835 msgid "Timezone Constants" msgstr "Constantes de zona horaria" -#: ../Doc/library/time.rst:830 +#: ../Doc/library/time.rst:839 msgid "" "The offset of the local DST timezone, in seconds west of UTC, if one is " "defined. This is negative if the local DST timezone is east of UTC (as in " @@ -1523,11 +1544,11 @@ msgstr "" "incluido el Reino Unido). Solo use esto si la ``daylight`` no es cero. Vea " "la nota abajo." -#: ../Doc/library/time.rst:836 +#: ../Doc/library/time.rst:845 msgid "Nonzero if a DST timezone is defined. See note below." msgstr "No es cero si se define una zona horaria DST. Vea la nota abajo." -#: ../Doc/library/time.rst:840 +#: ../Doc/library/time.rst:849 msgid "" "The offset of the local (non-DST) timezone, in seconds west of UTC (negative " "in most of Western Europe, positive in the US, zero in the UK). See note " @@ -1537,7 +1558,7 @@ msgstr "" "UTC (negativo en la mayoría de Europa occidental, positivo en los EE. UU., " "Cero en el Reino Unido). Vea la nota abajo." -#: ../Doc/library/time.rst:845 +#: ../Doc/library/time.rst:854 msgid "" "A tuple of two strings: the first is the name of the local non-DST timezone, " "the second is the name of the local DST timezone. If no DST timezone is " @@ -1548,7 +1569,7 @@ msgstr "" "define la zona horaria DST, la segunda cadena no debe usarse. Vea la nota " "abajo." -#: ../Doc/library/time.rst:851 +#: ../Doc/library/time.rst:860 msgid "" "For the above Timezone constants (:data:`altzone`, :data:`daylight`, :data:" "`timezone`, and :data:`tzname`), the value is determined by the timezone " @@ -1564,19 +1585,19 @@ msgstr "" "Se recomienda utilizar :attr:`tm_gmtoff` y :attr:`tm_zone` resulta de :func:" "`localtime` para obtener información sobre la zona horaria." -#: ../Doc/library/time.rst:861 +#: ../Doc/library/time.rst:870 msgid "Module :mod:`datetime`" msgstr "Modulo :mod:`datetime`" -#: ../Doc/library/time.rst:861 +#: ../Doc/library/time.rst:870 msgid "More object-oriented interface to dates and times." msgstr "Más interfaz orientada a objetos para fechas y horas." -#: ../Doc/library/time.rst:865 +#: ../Doc/library/time.rst:874 msgid "Module :mod:`locale`" msgstr "Modulo :mod:`locale`" -#: ../Doc/library/time.rst:864 +#: ../Doc/library/time.rst:873 msgid "" "Internationalization services. The locale setting affects the " "interpretation of many format specifiers in :func:`strftime` and :func:" @@ -1586,11 +1607,11 @@ msgstr "" "interpretación de muchos especificadores de formato en :func:`strftime` y :" "func:`strptime`." -#: ../Doc/library/time.rst:868 +#: ../Doc/library/time.rst:877 msgid "Module :mod:`calendar`" msgstr "Modulo :mod:`calendar`" -#: ../Doc/library/time.rst:868 +#: ../Doc/library/time.rst:877 msgid "" "General calendar-related functions. :func:`~calendar.timegm` is the " "inverse of :func:`gmtime` from this module." @@ -1598,11 +1619,11 @@ msgstr "" "Funciones generales relacionadas con el calendario. :func:`~calendar.timegm` " "es el inverso de :func:`gmtime` de este módulo." -#: ../Doc/library/time.rst:872 +#: ../Doc/library/time.rst:881 msgid "Footnotes" msgstr "Notas al pie" -#: ../Doc/library/time.rst:873 +#: ../Doc/library/time.rst:882 msgid "" "The use of ``%Z`` is now deprecated, but the ``%z`` escape that expands to " "the preferred hour/minute offset is not supported by all ANSI C libraries. " diff --git a/library/tkinter.colorchooser.po b/library/tkinter.colorchooser.po new file mode 100644 index 0000000000..034647c84d --- /dev/null +++ b/library/tkinter.colorchooser.po @@ -0,0 +1,50 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2021, Python Software Foundation +# This file is distributed under the same license as the Python en Español +# package. +# FIRST AUTHOR , 2021. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python en Español 3.9\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.8.0\n" + +#: ../Doc/library/tkinter.colorchooser.rst:2 +msgid ":mod:`tkinter.colorchooser` --- Color choosing dialog" +msgstr "" + +#: ../Doc/library/tkinter.colorchooser.rst:8 +msgid "**Source code:** :source:`Lib/tkinter/colorchooser.py`" +msgstr "" + +#: ../Doc/library/tkinter.colorchooser.rst:12 +msgid "" +"The :mod:`tkinter.colorchooser` module provides the :class:`Chooser` class " +"as an interface to the native color picker dialog. ``Chooser`` implements a " +"modal color choosing dialog window. The ``Chooser`` class inherits from the :" +"class:`~tkinter.commondialog.Dialog` class." +msgstr "" + +#: ../Doc/library/tkinter.colorchooser.rst:21 +msgid "" +"Create a color choosing dialog. A call to this method will show the window, " +"wait for the user to make a selection, and return the selected color (or " +"``None``) to the caller." +msgstr "" + +#: ../Doc/library/tkinter.colorchooser.rst:28 +msgid "Module :mod:`tkinter.commondialog`" +msgstr "" + +#: ../Doc/library/tkinter.colorchooser.rst:29 +msgid "Tkinter standard dialog module" +msgstr "" diff --git a/library/tkinter.dnd.po b/library/tkinter.dnd.po new file mode 100644 index 0000000000..27ce10fd35 --- /dev/null +++ b/library/tkinter.dnd.po @@ -0,0 +1,113 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2021, Python Software Foundation +# This file is distributed under the same license as the Python en Español +# package. +# FIRST AUTHOR , 2021. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python en Español 3.9\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.8.0\n" + +#: ../Doc/library/tkinter.dnd.rst:2 +msgid ":mod:`tkinter.dnd` --- Drag and drop support" +msgstr "" + +#: ../Doc/library/tkinter.dnd.rst:8 +msgid "**Source code:** :source:`Lib/tkinter/dnd.py`" +msgstr "" + +#: ../Doc/library/tkinter.dnd.rst:12 +msgid "" +"This is experimental and due to be deprecated when it is replaced with the " +"Tk DND." +msgstr "" + +#: ../Doc/library/tkinter.dnd.rst:15 +msgid "" +"The :mod:`tkinter.dnd` module provides drag-and-drop support for objects " +"within a single application, within the same window or between windows. To " +"enable an object to be dragged, you must create an event binding for it that " +"starts the drag-and-drop process. Typically, you bind a ButtonPress event to " +"a callback function that you write (see :ref:`Bindings-and-Events`). The " +"function should call :func:`dnd_start`, where 'source' is the object to be " +"dragged, and 'event' is the event that invoked the call (the argument to " +"your callback function)." +msgstr "" + +#: ../Doc/library/tkinter.dnd.rst:23 +msgid "Selection of a target object occurs as follows:" +msgstr "" + +#: ../Doc/library/tkinter.dnd.rst:25 +msgid "Top-down search of area under mouse for target widget" +msgstr "" + +#: ../Doc/library/tkinter.dnd.rst:27 +msgid "Target widget should have a callable *dnd_accept* attribute" +msgstr "" + +#: ../Doc/library/tkinter.dnd.rst:28 +msgid "" +"If *dnd_accept* is not present or returns None, search moves to parent widget" +msgstr "" + +#: ../Doc/library/tkinter.dnd.rst:29 +msgid "If no target widget is found, then the target object is None" +msgstr "" + +#: ../Doc/library/tkinter.dnd.rst:31 +msgid "Call to *.dnd_leave(source, event)*" +msgstr "" + +#: ../Doc/library/tkinter.dnd.rst:32 +msgid "Call to *.dnd_enter(source, event)*" +msgstr "" + +#: ../Doc/library/tkinter.dnd.rst:33 +msgid "Call to *.dnd_commit(source, event)* to notify of drop" +msgstr "" + +#: ../Doc/library/tkinter.dnd.rst:34 +msgid "" +"Call to *.dnd_end(target, event)* to signal end of drag-and-drop" +msgstr "" + +#: ../Doc/library/tkinter.dnd.rst:39 +msgid "" +"The *DndHandler* class handles drag-and-drop events tracking Motion and " +"ButtonRelease events on the root of the event widget." +msgstr "" + +#: ../Doc/library/tkinter.dnd.rst:44 +msgid "Cancel the drag-and-drop process." +msgstr "" + +#: ../Doc/library/tkinter.dnd.rst:48 +msgid "Execute end of drag-and-drop functions." +msgstr "" + +#: ../Doc/library/tkinter.dnd.rst:52 +msgid "Inspect area below mouse for target objects while drag is performed." +msgstr "" + +#: ../Doc/library/tkinter.dnd.rst:56 +msgid "Signal end of drag when the release pattern is triggered." +msgstr "" + +#: ../Doc/library/tkinter.dnd.rst:60 +msgid "Factory function for drag-and-drop process." +msgstr "" + +#: ../Doc/library/tkinter.dnd.rst:64 +msgid ":ref:`Bindings-and-Events`" +msgstr "" diff --git a/library/tkinter.font.po b/library/tkinter.font.po new file mode 100644 index 0000000000..86fef0d8ce --- /dev/null +++ b/library/tkinter.font.po @@ -0,0 +1,165 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2021, Python Software Foundation +# This file is distributed under the same license as the Python en Español +# package. +# FIRST AUTHOR , 2021. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python en Español 3.9\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.8.0\n" + +#: ../Doc/library/tkinter.font.rst:2 +msgid ":mod:`tkinter.font` --- Tkinter font wrapper" +msgstr "" + +#: ../Doc/library/tkinter.font.rst:8 +msgid "**Source code:** :source:`Lib/tkinter/font.py`" +msgstr "" + +#: ../Doc/library/tkinter.font.rst:12 +msgid "" +"The :mod:`tkinter.font` module provides the :class:`Font` class for creating " +"and using named fonts." +msgstr "" + +#: ../Doc/library/tkinter.font.rst:15 +msgid "The different font weights and slants are:" +msgstr "" + +#: ../Doc/library/tkinter.font.rst:24 +msgid "" +"The :class:`Font` class represents a named font. *Font* instances are given " +"unique names and can be specified by their family, size, and style " +"configuration. Named fonts are Tk's method of creating and identifying fonts " +"as a single object, rather than specifying a font by its attributes with " +"each occurrence." +msgstr "" + +#: ../Doc/library/tkinter.font.rst:30 +msgid "arguments:" +msgstr "" + +#: ../Doc/library/tkinter.font.rst +msgid "*font* - font specifier tuple (family, size, options)" +msgstr "" + +#: ../Doc/library/tkinter.font.rst +msgid "*name* - unique font name" +msgstr "" + +#: ../Doc/library/tkinter.font.rst +msgid "*exists* - self points to existing named font if true" +msgstr "" + +#: ../Doc/library/tkinter.font.rst:36 +msgid "additional keyword options (ignored if *font* is specified):" +msgstr "" + +#: ../Doc/library/tkinter.font.rst +msgid "*family* - font family i.e. Courier, Times" +msgstr "" + +#: ../Doc/library/tkinter.font.rst +msgid "*size* - font size" +msgstr "" + +#: ../Doc/library/tkinter.font.rst +msgid "If *size* is positive it is interpreted as size in points." +msgstr "" + +#: ../Doc/library/tkinter.font.rst +msgid "If *size* is a negative number its absolute value is treated" +msgstr "" + +#: ../Doc/library/tkinter.font.rst +msgid "as size in pixels." +msgstr "" + +#: ../Doc/library/tkinter.font.rst +msgid "*weight* - font emphasis (NORMAL, BOLD)" +msgstr "" + +#: ../Doc/library/tkinter.font.rst +msgid "*slant* - ROMAN, ITALIC" +msgstr "" + +#: ../Doc/library/tkinter.font.rst +msgid "*underline* - font underlining (0 - none, 1 - underline)" +msgstr "" + +#: ../Doc/library/tkinter.font.rst +msgid "*overstrike* - font strikeout (0 - none, 1 - strikeout)" +msgstr "" + +#: ../Doc/library/tkinter.font.rst:50 +msgid "Return the attributes of the font." +msgstr "" + +#: ../Doc/library/tkinter.font.rst:54 +msgid "Retrieve an attribute of the font." +msgstr "" + +#: ../Doc/library/tkinter.font.rst:58 +msgid "Modify attributes of the font." +msgstr "" + +#: ../Doc/library/tkinter.font.rst:62 +msgid "Return new instance of the current font." +msgstr "" + +#: ../Doc/library/tkinter.font.rst:66 +msgid "" +"Return amount of space the text would occupy on the specified display when " +"formatted in the current font. If no display is specified then the main " +"application window is assumed." +msgstr "" + +#: ../Doc/library/tkinter.font.rst:72 +msgid "Return font-specific data. Options include:" +msgstr "" + +#: ../Doc/library/tkinter.font.rst:76 +msgid "*ascent* - distance between baseline and highest point that a" +msgstr "" + +#: ../Doc/library/tkinter.font.rst:76 ../Doc/library/tkinter.font.rst:79 +msgid "character of the font can occupy" +msgstr "" + +#: ../Doc/library/tkinter.font.rst:79 +msgid "*descent* - distance between baseline and lowest point that a" +msgstr "" + +#: ../Doc/library/tkinter.font.rst:82 +msgid "*linespace* - minimum vertical separation necessary between any two" +msgstr "" + +#: ../Doc/library/tkinter.font.rst:82 +msgid "characters of the font that ensures no vertical overlap between lines." +msgstr "" + +#: ../Doc/library/tkinter.font.rst:84 +msgid "*fixed* - 1 if font is fixed-width else 0" +msgstr "" + +#: ../Doc/library/tkinter.font.rst:88 +msgid "Return the different font families." +msgstr "" + +#: ../Doc/library/tkinter.font.rst:92 +msgid "Return the names of defined fonts." +msgstr "" + +#: ../Doc/library/tkinter.font.rst:96 +msgid "Return a :class:`Font` representation of a tk named font." +msgstr "" diff --git a/library/tkinter.messagebox.po b/library/tkinter.messagebox.po new file mode 100644 index 0000000000..1ff1f12cf8 --- /dev/null +++ b/library/tkinter.messagebox.po @@ -0,0 +1,52 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2021, Python Software Foundation +# This file is distributed under the same license as the Python en Español +# package. +# FIRST AUTHOR , 2021. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python en Español 3.9\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.8.0\n" + +#: ../Doc/library/tkinter.messagebox.rst:2 +msgid ":mod:`tkinter.messagebox` --- Tkinter message prompts" +msgstr "" + +#: ../Doc/library/tkinter.messagebox.rst:8 +msgid "**Source code:** :source:`Lib/tkinter/messagebox.py`" +msgstr "" + +#: ../Doc/library/tkinter.messagebox.rst:12 +msgid "" +"The :mod:`tkinter.messagebox` module provides a template base class as well " +"as a variety of convenience methods for commonly used configurations. The " +"message boxes are modal and will return a subset of (True, False, OK, None, " +"Yes, No) based on the user's selection. Common message box styles and " +"layouts include but are not limited to:" +msgstr "" + +#: ../Doc/library/tkinter.messagebox.rst:22 +msgid "Create a default information message box." +msgstr "" + +#: ../Doc/library/tkinter.messagebox.rst:24 +msgid "**Information message box**" +msgstr "" + +#: ../Doc/library/tkinter.messagebox.rst:28 +msgid "**Warning message boxes**" +msgstr "" + +#: ../Doc/library/tkinter.messagebox.rst:33 +msgid "**Question message boxes**" +msgstr "" diff --git a/library/tkinter.po b/library/tkinter.po index bfe238e06c..7027d29e7c 100644 --- a/library/tkinter.po +++ b/library/tkinter.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-09-27 12:32+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" "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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/tkinter.rst:2 msgid ":mod:`tkinter` --- Python interface to Tcl/Tk" @@ -86,13 +85,8 @@ msgstr "" #: ../Doc/library/tkinter.rst:35 msgid "" -"`Tkinter 8.5 reference: a GUI for Python `_" +"`Tkinter 8.5 reference: a GUI for Python `_" msgstr "" -"`Referencia de Tkinter 8.5: una GUI para Python `_" #: ../Doc/library/tkinter.rst:35 msgid "On-line reference material." @@ -107,7 +101,8 @@ msgstr "`Documentos de Tkinter de effbot `_" msgid "Online reference for tkinter supported by effbot.org." msgstr "Referencia en línea para Tkinter producida por effbot.org." -# Mantuve los nombres de libros en inglés. Miré rápido y parece que no hay versiones en español. +# Mantuve los nombres de libros en inglés. Miré rápido y parece que no hay +# versiones en español. #: ../Doc/library/tkinter.rst:41 #, fuzzy msgid "`Programming Python `_" @@ -249,7 +244,8 @@ msgstr "" "nivel superior de Tk que generalmente es la ventana principal de una " "aplicación. Cada instancia tiene su propio intérprete Tcl asociado." -# Encontré muchas referencias en la web del tipo "ventana toplevel". No sé si es muy formal que digamos... ¿lo dejamos en cursiva? +# Encontré muchas referencias en la web del tipo "ventana toplevel". No sé si +# es muy formal que digamos... ¿lo dejamos en cursiva? #: ../Doc/library/tkinter.rst:101 #, fuzzy msgid "" @@ -275,57 +271,57 @@ msgid "Other modules that provide Tk support include:" msgstr "Otros módulos que proporcionan soporte Tk incluyen:" #: ../Doc/library/tkinter.rst:113 -msgid ":mod:`tkinter.scrolledtext`" -msgstr ":mod:`tkinter.scrolledtext`" - -#: ../Doc/library/tkinter.rst:113 -msgid "Text widget with a vertical scroll bar built in." -msgstr "Widget de texto con una barra de desplazamiento vertical integrada." - -#: ../Doc/library/tkinter.rst:116 msgid ":mod:`tkinter.colorchooser`" msgstr ":mod:`tkinter.colorchooser`" -#: ../Doc/library/tkinter.rst:116 +#: ../Doc/library/tkinter.rst:113 msgid "Dialog to let the user choose a color." msgstr "Cuadro de diálogo que permite al usuario elegir un color." -#: ../Doc/library/tkinter.rst:119 +#: ../Doc/library/tkinter.rst:116 msgid ":mod:`tkinter.commondialog`" msgstr ":mod:`tkinter.commondialog`" -#: ../Doc/library/tkinter.rst:119 +#: ../Doc/library/tkinter.rst:116 msgid "Base class for the dialogs defined in the other modules listed here." msgstr "" "Clase base para cuadros de diálogo definidos en los otros módulos listados " "aquí." -#: ../Doc/library/tkinter.rst:122 +#: ../Doc/library/tkinter.rst:119 msgid ":mod:`tkinter.filedialog`" msgstr ":mod:`tkinter.filedialog`" -#: ../Doc/library/tkinter.rst:122 +#: ../Doc/library/tkinter.rst:119 msgid "Common dialogs to allow the user to specify a file to open or save." msgstr "" "Cuadros de diálogo por defecto que permiten al usuario especificar un " "archivo para abrir o guardar." -#: ../Doc/library/tkinter.rst:125 +#: ../Doc/library/tkinter.rst:122 msgid ":mod:`tkinter.font`" msgstr ":mod:`tkinter.font`" -#: ../Doc/library/tkinter.rst:125 +#: ../Doc/library/tkinter.rst:122 msgid "Utilities to help work with fonts." msgstr "Utilidades para ayudar a trabajar con fuentes." -#: ../Doc/library/tkinter.rst:128 +#: ../Doc/library/tkinter.rst:125 msgid ":mod:`tkinter.messagebox`" msgstr ":mod:`tkinter.messagebox`" -#: ../Doc/library/tkinter.rst:128 +#: ../Doc/library/tkinter.rst:125 msgid "Access to standard Tk dialog boxes." msgstr "Acceso a cuadros de diálogo estándar de Tk." +#: ../Doc/library/tkinter.rst:128 +msgid ":mod:`tkinter.scrolledtext`" +msgstr ":mod:`tkinter.scrolledtext`" + +#: ../Doc/library/tkinter.rst:128 +msgid "Text widget with a vertical scroll bar built in." +msgstr "Widget de texto con una barra de desplazamiento vertical integrada." + #: ../Doc/library/tkinter.rst:131 msgid ":mod:`tkinter.simpledialog`" msgstr ":mod:`tkinter.simpledialog`" @@ -608,8 +604,8 @@ msgstr "" "parámetros están precedidas por un '-', como los parámetros en una shell de " "Unix, y los valores se ponen entre comillas si son más de una palabra." -#: ../Doc/library/tkinter.rst:281 ../Doc/library/tkinter.rst:543 -#: ../Doc/library/tkinter.rst:717 +#: ../Doc/library/tkinter.rst:281 ../Doc/library/tkinter.rst:542 +#: ../Doc/library/tkinter.rst:721 msgid "For example::" msgstr "Por ejemplo::" @@ -677,7 +673,8 @@ msgstr "" "durante la creación. En Tkinter, los constructores se especifican " "explícitamente. ::" -# Creo que hay que refrasear todo. No se termina de entender en pocas oraciones +# Creo que hay que refrasear todo. No se termina de entender en pocas +# oraciones #: ../Doc/library/tkinter.rst:322 #, fuzzy msgid "" @@ -998,12 +995,12 @@ msgstr "El empaquetador" #, fuzzy msgid "" "The packer is one of Tk's geometry-management mechanisms. Geometry " -"managers are used to specify the relative positioning of the positioning of " -"widgets within their container - their mutual *master*. In contrast to the " -"more cumbersome *placer* (which is used less commonly, and we do not cover " -"here), the packer takes qualitative relationship specification - *above*, " -"*to the left of*, *filling*, etc - and works everything out to determine the " -"exact placement coordinates for you." +"managers are used to specify the relative positioning of widgets within " +"their container - their mutual *master*. In contrast to the more cumbersome " +"*placer* (which is used less commonly, and we do not cover here), the packer " +"takes qualitative relationship specification - *above*, *to the left of*, " +"*filling*, etc - and works everything out to determine the exact placement " +"coordinates for you." msgstr "" "El empaquetador es uno de los mecanismos de diseño de pantalla de Tk. Los " "administradores de diseño de pantalla se utilizan para especificar el " @@ -1013,7 +1010,7 @@ msgstr "" "relación cualitativa -*above*, *to the left of*, *filling*, etc.- y calcula " "todo para determinar las coordenadas de ubicación exacta para usted." -#: ../Doc/library/tkinter.rst:474 +#: ../Doc/library/tkinter.rst:473 msgid "" "The size of any *master* widget is determined by the size of the \"slave " "widgets\" inside. The packer is used to control where slave widgets appear " @@ -1029,7 +1026,7 @@ msgstr "" "ese marco en otro. Además, una vez empaquetado, la disposición se ajusta " "dinámicamente de acuerdo con los cambios de configuración posteriores." -#: ../Doc/library/tkinter.rst:481 +#: ../Doc/library/tkinter.rst:480 msgid "" "Note that widgets do not appear until they have had their geometry specified " "with a geometry manager. It's a common early mistake to leave out the " @@ -1044,7 +1041,7 @@ msgstr "" "gráfico solo aparece después que, por ejemplo, se le haya aplicado el " "método :meth:`pack` del empaquetador." -#: ../Doc/library/tkinter.rst:487 +#: ../Doc/library/tkinter.rst:486 msgid "" "The pack() method can be called with keyword-option/value pairs that control " "where the widget is to appear within its container, and how it is to behave " @@ -1055,11 +1052,11 @@ msgstr "" "comportará cuando se cambie el tamaño de la ventana principal de la " "aplicación. Aquí hay unos ejemplos::" -#: ../Doc/library/tkinter.rst:497 +#: ../Doc/library/tkinter.rst:496 msgid "Packer Options" msgstr "Opciones del empaquetador" -#: ../Doc/library/tkinter.rst:499 +#: ../Doc/library/tkinter.rst:498 msgid "" "For more extensive information on the packer and the options that it can " "take, see the man pages and page 183 of John Ousterhout's book." @@ -1067,67 +1064,67 @@ msgstr "" "Para obtener más información sobre el empaquetador y las opciones que puede " "tomar, consulte el manual y la página 183 del libro de John Ousterhout." -#: ../Doc/library/tkinter.rst:503 ../Doc/library/tkinter.rst:619 +#: ../Doc/library/tkinter.rst:502 ../Doc/library/tkinter.rst:622 msgid "anchor" msgstr "*anchor*" -#: ../Doc/library/tkinter.rst:503 +#: ../Doc/library/tkinter.rst:502 msgid "" "Anchor type. Denotes where the packer is to place each slave in its parcel." msgstr "" "Tipo de anclaje. Indica dónde debe colocar el empaquetador a cada esclavo en " "su espacio." -#: ../Doc/library/tkinter.rst:506 +#: ../Doc/library/tkinter.rst:505 msgid "expand" msgstr "*expand*" -#: ../Doc/library/tkinter.rst:506 +#: ../Doc/library/tkinter.rst:505 msgid "Boolean, ``0`` or ``1``." msgstr "Un valor booleano, ``0`` o ``1``." -#: ../Doc/library/tkinter.rst:509 +#: ../Doc/library/tkinter.rst:508 msgid "fill" msgstr "*fill*" -#: ../Doc/library/tkinter.rst:509 +#: ../Doc/library/tkinter.rst:508 msgid "Legal values: ``'x'``, ``'y'``, ``'both'``, ``'none'``." msgstr "Los valores legales son: ``'x'``, ``'y'``, ``'both'``, ``'none'``." -#: ../Doc/library/tkinter.rst:512 +#: ../Doc/library/tkinter.rst:511 msgid "ipadx and ipady" msgstr "*ipadx* y *ipady*" -#: ../Doc/library/tkinter.rst:512 +#: ../Doc/library/tkinter.rst:511 msgid "" "A distance - designating internal padding on each side of the slave widget." msgstr "" "Una distancia que designa el relleno interno a cada lado del widget esclavo." -#: ../Doc/library/tkinter.rst:515 +#: ../Doc/library/tkinter.rst:514 msgid "padx and pady" msgstr "*padx* y *pady*" -#: ../Doc/library/tkinter.rst:515 +#: ../Doc/library/tkinter.rst:514 msgid "" "A distance - designating external padding on each side of the slave widget." msgstr "" "Una distancia que designa el relleno externo a cada lado del widget esclavo." -#: ../Doc/library/tkinter.rst:519 +#: ../Doc/library/tkinter.rst:518 msgid "side" msgstr "*side*" -#: ../Doc/library/tkinter.rst:518 +#: ../Doc/library/tkinter.rst:517 msgid "Legal values are: ``'left'``, ``'right'``, ``'top'``, ``'bottom'``." msgstr "" "Los valores legales son: ``'left'``, ``'right'``, ``'top'``, ``'bottom'``." -#: ../Doc/library/tkinter.rst:522 +#: ../Doc/library/tkinter.rst:521 msgid "Coupling Widget Variables" msgstr "Asociación de variables de widget" -#: ../Doc/library/tkinter.rst:524 +#: ../Doc/library/tkinter.rst:523 msgid "" "The current-value setting of some widgets (like text entry widgets) can be " "connected directly to application variables by using special options. These " @@ -1143,7 +1140,7 @@ msgstr "" "funciona en ambos sentidos: si la variable cambia por algún motivo, el " "widget al que está conectado se actualizará para reflejar el nuevo valor." -#: ../Doc/library/tkinter.rst:530 +#: ../Doc/library/tkinter.rst:529 msgid "" "Unfortunately, in the current implementation of :mod:`tkinter` it is not " "possible to hand over an arbitrary Python variable to a widget through a " @@ -1157,7 +1154,7 @@ msgstr "" "para las cuales esto funciona son variables que son subclases de la clase " "Variable, definida en :mod:`tkinter`." -#: ../Doc/library/tkinter.rst:536 +#: ../Doc/library/tkinter.rst:535 msgid "" "There are many useful subclasses of Variable already defined: :class:" "`StringVar`, :class:`IntVar`, :class:`DoubleVar`, and :class:`BooleanVar`. " @@ -1173,11 +1170,11 @@ msgstr "" "el widget siempre rastreará el valor de la variable, sin ser necesaria " "ninguna otra intervención." -#: ../Doc/library/tkinter.rst:572 +#: ../Doc/library/tkinter.rst:575 msgid "The Window Manager" msgstr "El gestor de ventanas" -#: ../Doc/library/tkinter.rst:576 +#: ../Doc/library/tkinter.rst:579 msgid "" "In Tk, there is a utility command, ``wm``, for interacting with the window " "manager. Options to the ``wm`` command allow you to control things like " @@ -1193,7 +1190,7 @@ msgstr "" "widgets de *Toplevel* son subclases de :class:`Wm`, por lo que se puede " "llamar directamente a los métodos de :class:`Wm`." -#: ../Doc/library/tkinter.rst:583 +#: ../Doc/library/tkinter.rst:586 msgid "" "To get at the toplevel window that contains a given widget, you can often " "just refer to the widget's master. Of course if the widget has been packed " @@ -1212,15 +1209,15 @@ msgstr "" "que esta función es parte de la implementación y no de una interfaz a la " "funcionalidad Tk." -#: ../Doc/library/tkinter.rst:590 +#: ../Doc/library/tkinter.rst:593 msgid "Here are some examples of typical usage::" msgstr "Aquí hay algunos ejemplos típicos::" -#: ../Doc/library/tkinter.rst:613 +#: ../Doc/library/tkinter.rst:616 msgid "Tk Option Data Types" msgstr "Tipos de datos de opciones Tk" -#: ../Doc/library/tkinter.rst:618 +#: ../Doc/library/tkinter.rst:621 msgid "" "Legal values are points of the compass: ``\"n\"``, ``\"ne\"``, ``\"e\"``, ``" "\"se\"``, ``\"s\"``, ``\"sw\"``, ``\"w\"``, ``\"nw\"``, and also ``\"center" @@ -1230,12 +1227,12 @@ msgstr "" "\"e\"``, ``\"se\"``, ``\"s\"``, ``\"sw\"``, ``\"w\"``, ``\"nw\"``, y también " "``\"center\"``." -#: ../Doc/library/tkinter.rst:625 +#: ../Doc/library/tkinter.rst:628 msgid "bitmap" msgstr "bitmap" # "X" ? Más adelante refiere a Xorg -#: ../Doc/library/tkinter.rst:622 +#: ../Doc/library/tkinter.rst:625 #, fuzzy msgid "" "There are eight built-in, named bitmaps: ``'error'``, ``'gray25'``, " @@ -1249,29 +1246,30 @@ msgstr "" "indique la ruta completa del archivo, precedida por una ``@``, como en ``\"@/" "usr/contrib/bitmap/gumby.bit\"``." -#: ../Doc/library/tkinter.rst:628 +#: ../Doc/library/tkinter.rst:631 msgid "boolean" msgstr "boolean" -#: ../Doc/library/tkinter.rst:628 +#: ../Doc/library/tkinter.rst:631 msgid "You can pass integers 0 or 1 or the strings ``\"yes\"`` or ``\"no\"``." msgstr "Se puede pasar enteros 0 o 1 o las cadenas ``\"yes\"`` or ``\"no\"``." -#: ../Doc/library/tkinter.rst:635 +#: ../Doc/library/tkinter.rst:638 msgid "callback" msgstr "callback" -#: ../Doc/library/tkinter.rst:631 +#: ../Doc/library/tkinter.rst:634 msgid "This is any Python function that takes no arguments. For example::" msgstr "" "Esto es cualquier función de Python que no toma argumentos. Por ejemplo::" -#: ../Doc/library/tkinter.rst:641 +#: ../Doc/library/tkinter.rst:644 msgid "color" msgstr "color" -# "X colors" en la traducción francesa directamente ponen "noms de couleurs Xorg dans le fichier rgb.txt" -#: ../Doc/library/tkinter.rst:638 +# "X colors" en la traducción francesa directamente ponen "noms de couleurs +# Xorg dans le fichier rgb.txt" +#: ../Doc/library/tkinter.rst:641 #, fuzzy msgid "" "Colors can be given as the names of X colors in the rgb.txt file, or as " @@ -1287,11 +1285,11 @@ msgstr "" "B aquí representan cualquier dígito hexadecimal legal. Consulte la página " "160 del libro de Ousterhout para más detalles." -#: ../Doc/library/tkinter.rst:647 +#: ../Doc/library/tkinter.rst:650 msgid "cursor" msgstr "cursor" -#: ../Doc/library/tkinter.rst:644 +#: ../Doc/library/tkinter.rst:647 msgid "" "The standard X cursor names from :file:`cursorfont.h` can be used, without " "the ``XC_`` prefix. For example to get a hand cursor (:const:`XC_hand2`), " @@ -1304,12 +1302,12 @@ msgstr "" "propio mapa de bits y archivo de máscara. Ver página 179 del libro de " "Ousterhout." -#: ../Doc/library/tkinter.rst:654 +#: ../Doc/library/tkinter.rst:657 msgid "distance" msgstr "distance" # "puntos de impresora"?? -#: ../Doc/library/tkinter.rst:650 +#: ../Doc/library/tkinter.rst:653 #, fuzzy msgid "" "Screen distances can be specified in either pixels or absolute distances. " @@ -1324,11 +1322,11 @@ msgstr "" "centímetros, ``i`` para pulgadas, ``m`` para milímetros, ``p`` para puntos " "de impresora. Por ejemplo, 3.5 pulgadas se expresa como ``\"3.5i\"``." -#: ../Doc/library/tkinter.rst:659 +#: ../Doc/library/tkinter.rst:662 msgid "font" msgstr "font" -#: ../Doc/library/tkinter.rst:657 +#: ../Doc/library/tkinter.rst:660 msgid "" "Tk uses a list font name format, such as ``{courier 10 bold}``. Font sizes " "with positive numbers are measured in points; sizes with negative numbers " @@ -1338,11 +1336,11 @@ msgstr "" "bold}``. Los tamaños de fuente expresados en números positivos se miden en " "puntos, mientras que los tamaños con números negativos se miden en píxeles." -#: ../Doc/library/tkinter.rst:664 +#: ../Doc/library/tkinter.rst:667 msgid "geometry" msgstr "geometry" -#: ../Doc/library/tkinter.rst:662 +#: ../Doc/library/tkinter.rst:665 msgid "" "This is a string of the form ``widthxheight``, where width and height are " "measured in pixels for most widgets (in characters for widgets displaying " @@ -1353,11 +1351,11 @@ msgstr "" "para widgets que muestran texto). Por ejemplo: ``fred[\"geometry\"] = " "\"200x100\"``." -#: ../Doc/library/tkinter.rst:668 +#: ../Doc/library/tkinter.rst:671 msgid "justify" msgstr "justify" -#: ../Doc/library/tkinter.rst:667 +#: ../Doc/library/tkinter.rst:670 msgid "" "Legal values are the strings: ``\"left\"``, ``\"center\"``, ``\"right\"``, " "and ``\"fill\"``." @@ -1365,11 +1363,11 @@ msgstr "" "Los valores legales son las cadenas de caracteres: ``\"left\"``, ``\"center" "\"``, ``\"right\"``, y ``\"fill\"``." -#: ../Doc/library/tkinter.rst:673 +#: ../Doc/library/tkinter.rst:676 msgid "region" msgstr "region" -#: ../Doc/library/tkinter.rst:671 +#: ../Doc/library/tkinter.rst:674 msgid "" "This is a string with four space-delimited elements, each of which is a " "legal distance (see above). For example: ``\"2 3 4 5\"`` and ``\"3i 2i 4.5i " @@ -1380,11 +1378,11 @@ msgstr "" "4 5\"`` , ``\"3i 2i 4.5i 2i\"`` y ``\"3c 2c 4c 10.43c\"`` son todas regiones " "legales." -#: ../Doc/library/tkinter.rst:677 +#: ../Doc/library/tkinter.rst:680 msgid "relief" msgstr "relief" -#: ../Doc/library/tkinter.rst:676 +#: ../Doc/library/tkinter.rst:679 msgid "" "Determines what the border style of a widget will be. Legal values are: ``" "\"raised\"``, ``\"sunken\"``, ``\"flat\"``, ``\"groove\"``, and ``\"ridge" @@ -1394,11 +1392,11 @@ msgstr "" "son: ``\"raised\"``, ``\"sunken\"``, ``\"flat\"``, ``\"groove\"``, y ``" "\"ridge\"``." -#: ../Doc/library/tkinter.rst:681 +#: ../Doc/library/tkinter.rst:684 msgid "scrollcommand" msgstr "scrollcommand" -#: ../Doc/library/tkinter.rst:680 +#: ../Doc/library/tkinter.rst:683 msgid "" "This is almost always the :meth:`!set` method of some scrollbar widget, but " "can be any widget method that takes a single argument." @@ -1407,21 +1405,23 @@ msgstr "" "desplazamiento, pero puede ser cualquier método de un widget que tome un " "solo argumento." -#: ../Doc/library/tkinter.rst:685 -msgid "wrap:" +#: ../Doc/library/tkinter.rst:687 +#, fuzzy +msgid "wrap" msgstr "wrap:" -#: ../Doc/library/tkinter.rst:684 +#: ../Doc/library/tkinter.rst:687 msgid "Must be one of: ``\"none\"``, ``\"char\"``, or ``\"word\"``." msgstr "Debe ser uno de estos: ``\"none\"``, ``\"char\"``, o ``\"word\"``." -# bindings me generó muchas dudas. Acá hay algunos comentarios y parece no haber una término generalmente aceptado: +# bindings me generó muchas dudas. Acá hay algunos comentarios y parece no +# haber una término generalmente aceptado: # https://spanish.stackexchange.com/questions/15534/binding-en-castellano -#: ../Doc/library/tkinter.rst:688 +#: ../Doc/library/tkinter.rst:692 msgid "Bindings and Events" msgstr "Enlaces y eventos" -#: ../Doc/library/tkinter.rst:694 +#: ../Doc/library/tkinter.rst:698 msgid "" "The bind method from the widget command allows you to watch for certain " "events and to have a callback function trigger when that event type occurs. " @@ -1431,15 +1431,15 @@ msgstr "" "ciertos eventos y hacer que la función de devolución de llamada se active " "cuando se produce ese tipo de evento. La forma del método de enlace es::" -#: ../Doc/library/tkinter.rst:700 +#: ../Doc/library/tkinter.rst:704 msgid "where:" msgstr "donde:" -#: ../Doc/library/tkinter.rst:704 +#: ../Doc/library/tkinter.rst:708 msgid "sequence" msgstr "sequence" -#: ../Doc/library/tkinter.rst:703 +#: ../Doc/library/tkinter.rst:707 msgid "" "is a string that denotes the target kind of event. (See the bind man page " "and page 201 of John Ousterhout's book for details)." @@ -1448,12 +1448,13 @@ msgstr "" "información, consulte la página del manual de Bind y la página 201 del libro " "de John Ousterhout." -#: ../Doc/library/tkinter.rst:709 +#: ../Doc/library/tkinter.rst:713 msgid "func" msgstr "func" -# entiendo que está hablando siempre del mismo argumento. No me queda claro por qué la mayúscula en "An Event"... -#: ../Doc/library/tkinter.rst:707 +# entiendo que está hablando siempre del mismo argumento. No me queda claro +# por qué la mayúscula en "An Event"... +#: ../Doc/library/tkinter.rst:711 #, fuzzy msgid "" "is a Python function, taking one argument, to be invoked when the event " @@ -1464,11 +1465,11 @@ msgstr "" "evento. La instancia del evento se pasa como el argumento mencionado. (Las " "funciones implementadas de esta manera a menudo se llaman *callbacks*)." -#: ../Doc/library/tkinter.rst:715 +#: ../Doc/library/tkinter.rst:719 msgid "add" msgstr "add" -#: ../Doc/library/tkinter.rst:712 +#: ../Doc/library/tkinter.rst:716 msgid "" "is optional, either ``''`` or ``'+'``. Passing an empty string denotes that " "this binding is to replace any other bindings that this event is associated " @@ -1481,7 +1482,7 @@ msgstr "" "a este tipo de evento." # lo mismo: X --> Xorg? -#: ../Doc/library/tkinter.rst:724 +#: ../Doc/library/tkinter.rst:728 #, fuzzy msgid "" "Notice how the widget field of the event is being accessed in the " @@ -1496,152 +1497,152 @@ msgstr "" "y cómo se denotan en Tk. Esto puede ser útil cuando se hace referencia a las " "páginas del manual de Tk." -#: ../Doc/library/tkinter.rst:730 +#: ../Doc/library/tkinter.rst:734 msgid "Tk" msgstr "Tk" -#: ../Doc/library/tkinter.rst:730 +#: ../Doc/library/tkinter.rst:734 msgid "Tkinter Event Field" msgstr "Campo evento de Tkinter" -#: ../Doc/library/tkinter.rst:732 +#: ../Doc/library/tkinter.rst:736 #, python-format msgid "%f" msgstr "%f" -#: ../Doc/library/tkinter.rst:732 +#: ../Doc/library/tkinter.rst:736 msgid "focus" msgstr "focus" -#: ../Doc/library/tkinter.rst:732 +#: ../Doc/library/tkinter.rst:736 msgid "%A" msgstr "%A" -#: ../Doc/library/tkinter.rst:732 +#: ../Doc/library/tkinter.rst:736 msgid "char" msgstr "char" -#: ../Doc/library/tkinter.rst:734 +#: ../Doc/library/tkinter.rst:738 msgid "%h" msgstr "%h" -#: ../Doc/library/tkinter.rst:734 +#: ../Doc/library/tkinter.rst:738 msgid "height" msgstr "height" -#: ../Doc/library/tkinter.rst:734 +#: ../Doc/library/tkinter.rst:738 #, python-format msgid "%E" msgstr "%E" -#: ../Doc/library/tkinter.rst:734 +#: ../Doc/library/tkinter.rst:738 msgid "send_event" msgstr "send_event" -#: ../Doc/library/tkinter.rst:736 +#: ../Doc/library/tkinter.rst:740 msgid "%k" msgstr "%k" -#: ../Doc/library/tkinter.rst:736 +#: ../Doc/library/tkinter.rst:740 msgid "keycode" msgstr "keycode" -#: ../Doc/library/tkinter.rst:736 +#: ../Doc/library/tkinter.rst:740 msgid "%K" msgstr "%K" -#: ../Doc/library/tkinter.rst:736 +#: ../Doc/library/tkinter.rst:740 msgid "keysym" msgstr "keysym" -#: ../Doc/library/tkinter.rst:738 +#: ../Doc/library/tkinter.rst:742 #, python-format msgid "%s" msgstr "%s" -#: ../Doc/library/tkinter.rst:738 +#: ../Doc/library/tkinter.rst:742 msgid "state" msgstr "state" -#: ../Doc/library/tkinter.rst:738 +#: ../Doc/library/tkinter.rst:742 msgid "%N" msgstr "%N" -#: ../Doc/library/tkinter.rst:738 +#: ../Doc/library/tkinter.rst:742 msgid "keysym_num" msgstr "keysym_num" -#: ../Doc/library/tkinter.rst:740 +#: ../Doc/library/tkinter.rst:744 msgid "%t" msgstr "%t" -#: ../Doc/library/tkinter.rst:740 +#: ../Doc/library/tkinter.rst:744 msgid "time" msgstr "time" -#: ../Doc/library/tkinter.rst:740 +#: ../Doc/library/tkinter.rst:744 msgid "%T" msgstr "%T" -#: ../Doc/library/tkinter.rst:740 +#: ../Doc/library/tkinter.rst:744 msgid "type" msgstr "type" -#: ../Doc/library/tkinter.rst:742 +#: ../Doc/library/tkinter.rst:746 msgid "%w" msgstr "%w" -#: ../Doc/library/tkinter.rst:742 +#: ../Doc/library/tkinter.rst:746 msgid "width" msgstr "width" -#: ../Doc/library/tkinter.rst:742 +#: ../Doc/library/tkinter.rst:746 msgid "%W" msgstr "%W" -#: ../Doc/library/tkinter.rst:742 +#: ../Doc/library/tkinter.rst:746 msgid "widget" msgstr "widget" -#: ../Doc/library/tkinter.rst:744 +#: ../Doc/library/tkinter.rst:748 #, python-format msgid "%x" msgstr "%x" -#: ../Doc/library/tkinter.rst:744 +#: ../Doc/library/tkinter.rst:748 msgid "x" msgstr "x" -#: ../Doc/library/tkinter.rst:744 +#: ../Doc/library/tkinter.rst:748 #, python-format msgid "%X" msgstr "%X" -#: ../Doc/library/tkinter.rst:744 +#: ../Doc/library/tkinter.rst:748 msgid "x_root" msgstr "x_root" -#: ../Doc/library/tkinter.rst:746 +#: ../Doc/library/tkinter.rst:750 msgid "%y" msgstr "%y" -#: ../Doc/library/tkinter.rst:746 +#: ../Doc/library/tkinter.rst:750 msgid "y" msgstr "y" -#: ../Doc/library/tkinter.rst:746 +#: ../Doc/library/tkinter.rst:750 msgid "%Y" msgstr "%Y" -#: ../Doc/library/tkinter.rst:746 +#: ../Doc/library/tkinter.rst:750 msgid "y_root" msgstr "y_root" -#: ../Doc/library/tkinter.rst:751 +#: ../Doc/library/tkinter.rst:755 msgid "The index Parameter" msgstr "El parámetro índice" -#: ../Doc/library/tkinter.rst:753 +#: ../Doc/library/tkinter.rst:757 msgid "" "A number of widgets require \"index\" parameters to be passed. These are " "used to point at a specific place in a Text widget, or to particular " @@ -1652,11 +1653,11 @@ msgstr "" "específicos en el widget de entrada, o elementos particulares en el widget " "de menú." -#: ../Doc/library/tkinter.rst:760 +#: ../Doc/library/tkinter.rst:764 msgid "Entry widget indexes (index, view index, etc.)" msgstr "Índice de widget de entrada (índice, índice de vista, etc.)" -#: ../Doc/library/tkinter.rst:758 +#: ../Doc/library/tkinter.rst:762 msgid "" "Entry widgets have options that refer to character positions in the text " "being displayed. You can use these :mod:`tkinter` functions to access these " @@ -1666,11 +1667,11 @@ msgstr "" "caracteres del texto que se muestra. Puede acceder a estos puntos especiales " "en un widget de texto utilizando la siguiente función de :mod:`tkinter`:" -#: ../Doc/library/tkinter.rst:764 +#: ../Doc/library/tkinter.rst:768 msgid "Text widget indexes" msgstr "Índice de widget de texto" -#: ../Doc/library/tkinter.rst:763 +#: ../Doc/library/tkinter.rst:767 msgid "" "The index notation for Text widgets is very rich and is best described in " "the Tk man pages." @@ -1678,11 +1679,11 @@ msgstr "" "La notación de índice del widget de texto es muy rica y se detalla mejor en " "las páginas del manual de Tk." -#: ../Doc/library/tkinter.rst:789 +#: ../Doc/library/tkinter.rst:793 msgid "Menu indexes (menu.invoke(), menu.entryconfig(), etc.)" msgstr "Índices de menú (*menu.invoke()*, *menu.entryconfig()*, etc.)" -#: ../Doc/library/tkinter.rst:767 +#: ../Doc/library/tkinter.rst:771 msgid "" "Some options and methods for menus manipulate specific menu entries. Anytime " "a menu index is needed for an option or a parameter, you may pass in:" @@ -1691,7 +1692,7 @@ msgstr "" "específicas. Cada vez que se necesita un índice de menú para una opción o un " "parámetro, se puede pasar:" -#: ../Doc/library/tkinter.rst:770 +#: ../Doc/library/tkinter.rst:774 msgid "" "an integer which refers to the numeric position of the entry in the widget, " "counted from the top, starting with 0;" @@ -1699,7 +1700,7 @@ msgstr "" "un número entero que se refiere a la posición numérica de la entrada en el " "widget, contada desde arriba, comenzando con 0;" -#: ../Doc/library/tkinter.rst:773 +#: ../Doc/library/tkinter.rst:777 msgid "" "the string ``\"active\"``, which refers to the menu position that is " "currently under the cursor;" @@ -1707,13 +1708,13 @@ msgstr "" "la cadena ``\"active\"``, que se refiere a la posición del menú que está " "actualmente debajo del cursor;" -#: ../Doc/library/tkinter.rst:776 +#: ../Doc/library/tkinter.rst:780 msgid "the string ``\"last\"`` which refers to the last menu item;" msgstr "" "la cadena de caracteres ``\"last\"`` que se refiere al último elemento del " "menú;" -#: ../Doc/library/tkinter.rst:778 +#: ../Doc/library/tkinter.rst:782 msgid "" "An integer preceded by ``@``, as in ``@6``, where the integer is interpreted " "as a y pixel coordinate in the menu's coordinate system;" @@ -1722,7 +1723,7 @@ msgstr "" "interpretado como una coordenada *y* de píxeles en el sistema de coordenadas " "del menú;" -#: ../Doc/library/tkinter.rst:781 +#: ../Doc/library/tkinter.rst:785 msgid "" "the string ``\"none\"``, which indicates no menu entry at all, most often " "used with menu.activate() to deactivate all entries, and finally," @@ -1731,7 +1732,7 @@ msgstr "" "usado frecuentemente con *menu.activate()* para desactivar todas las " "entradas; y, finalmente," -#: ../Doc/library/tkinter.rst:784 +#: ../Doc/library/tkinter.rst:788 msgid "" "a text string that is pattern matched against the label of the menu entry, " "as scanned from the top of the menu to the bottom. Note that this index " @@ -1746,11 +1747,11 @@ msgstr "" "del menú etiquetados ``last``, ``active``, o ``none`` pueden interpretarse " "de hecho como los literales anteriores." -#: ../Doc/library/tkinter.rst:792 +#: ../Doc/library/tkinter.rst:796 msgid "Images" msgstr "Imágenes" -#: ../Doc/library/tkinter.rst:794 +#: ../Doc/library/tkinter.rst:798 msgid "" "Images of different formats can be created through the corresponding " "subclass of :class:`tkinter.Image`:" @@ -1758,11 +1759,11 @@ msgstr "" "Se pueden crear imágenes de diferentes formatos a través de la " "correspondiente subclase de :class:`tkinter.Image`:" -#: ../Doc/library/tkinter.rst:797 +#: ../Doc/library/tkinter.rst:801 msgid ":class:`BitmapImage` for images in XBM format." msgstr ":class:`BitmapImage` para imágenes en formato XBM." -#: ../Doc/library/tkinter.rst:799 +#: ../Doc/library/tkinter.rst:803 msgid "" ":class:`PhotoImage` for images in PGM, PPM, GIF and PNG formats. The latter " "is supported starting with Tk 8.6." @@ -1770,7 +1771,7 @@ msgstr "" ":class:`PhotoImage` para imágenes en formatos PGM, PPM, GIF y PNG. Este " "último es compatible a partir de Tk 8.6." -#: ../Doc/library/tkinter.rst:802 +#: ../Doc/library/tkinter.rst:806 msgid "" "Either type of image is created through either the ``file`` or the ``data`` " "option (other options are available as well)." @@ -1778,7 +1779,7 @@ msgstr "" "Cualquier tipo de imagen se crea a través de la opción ``file`` o ``data`` " "(también hay otras opciones disponibles)." -#: ../Doc/library/tkinter.rst:805 +#: ../Doc/library/tkinter.rst:809 msgid "" "The image object can then be used wherever an ``image`` option is supported " "by some widget (e.g. labels, buttons, menus). In these cases, Tk will not " @@ -1792,7 +1793,7 @@ msgstr "" "de Python al objeto de imagen, los datos de la imagen también se eliminan, y " "Tk mostrará un cuadro vacío donde se utilizó la imagen." -#: ../Doc/library/tkinter.rst:813 +#: ../Doc/library/tkinter.rst:817 msgid "" "The `Pillow `_ package adds support for formats " "such as BMP, JPEG, TIFF, and WebP, among others." @@ -1800,11 +1801,11 @@ msgstr "" "El paquete `Pillow `_ añade soporte para los " "formatos del tipo BMP, JPEG, TIFF, y WebP, entre otros." -#: ../Doc/library/tkinter.rst:819 +#: ../Doc/library/tkinter.rst:823 msgid "File Handlers" msgstr "Gestor de archivos" -#: ../Doc/library/tkinter.rst:821 +#: ../Doc/library/tkinter.rst:825 #, fuzzy msgid "" "Tk allows you to register and unregister a callback function which will be " @@ -1816,11 +1817,11 @@ msgstr "" "cuando sea posible la E/S. Solo se puede registrar un controlador por " "descriptor de archivo. Código de ejemplo:" -#: ../Doc/library/tkinter.rst:832 +#: ../Doc/library/tkinter.rst:836 msgid "This feature is not available on Windows." msgstr "Esta función no está disponible en Windows." -#: ../Doc/library/tkinter.rst:834 +#: ../Doc/library/tkinter.rst:838 msgid "" "Since you don't know how many bytes are available for reading, you may not " "want to use the :class:`~io.BufferedIOBase` or :class:`~io.TextIOBase` :meth:" @@ -1838,7 +1839,7 @@ msgstr "" "otros archivos, use lectura sin formato o ``os.read(file.fileno(), " "maxbytecount)``." -#: ../Doc/library/tkinter.rst:845 +#: ../Doc/library/tkinter.rst:849 msgid "" "Registers the file handler callback function *func*. The *file* argument may " "either be an object with a :meth:`~io.IOBase.fileno` method (such as a file " @@ -1852,10 +1853,19 @@ msgstr "" "*mask* es una combinación ORed de cualquiera de las tres constantes que " "siguen. La retrollamada se llama de la siguiente manera::" -#: ../Doc/library/tkinter.rst:856 +#: ../Doc/library/tkinter.rst:860 msgid "Unregisters a file handler." msgstr "Anula el registro de un gestor de archivos." -#: ../Doc/library/tkinter.rst:863 +#: ../Doc/library/tkinter.rst:867 msgid "Constants used in the *mask* arguments." msgstr "Constantes utilizadas en los argumentos *mask*." + +#~ msgid "" +#~ "`Tkinter 8.5 reference: a GUI for Python `_" +#~ msgstr "" +#~ "`Referencia de Tkinter 8.5: una GUI para Python `_" diff --git a/library/tkinter.scrolledtext.po b/library/tkinter.scrolledtext.po index 2a294eff82..ff56695c8f 100644 --- a/library/tkinter.scrolledtext.po +++ b/library/tkinter.scrolledtext.po @@ -1,23 +1,25 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. # Maintained by the python-doc-es workteam. -# docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ -# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers +# docs-es@python.org / +# https://mail.python.org/mailman3/lists/docs-es.python.org/ +# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get +# the list of volunteers # msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-06 11:59-0400\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-10-26 10:44-0600\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.4.1\n" +"Generated-By: Babel 2.8.0\n" #: ../Doc/library/tkinter.scrolledtext.rst:2 msgid ":mod:`tkinter.scrolledtext` --- Scrolled Text Widget" @@ -28,12 +30,12 @@ msgid "**Source code:** :source:`Lib/tkinter/scrolledtext.py`" msgstr "**Código fuente:** :source:`Lib/tkinter/scrolledtext.py`" #: ../Doc/library/tkinter.scrolledtext.rst:14 +#, fuzzy msgid "" "The :mod:`tkinter.scrolledtext` module provides a class of the same name " "which implements a basic text widget which has a vertical scroll bar " "configured to do the \"right thing.\" Using the :class:`ScrolledText` class " -"is a lot easier than setting up a text widget and scroll bar directly. The " -"constructor is the same as that of the :class:`tkinter.Text` class." +"is a lot easier than setting up a text widget and scroll bar directly." msgstr "" "El módulo :mod:`tkinter.scrolledtext` proporciona una clase del mismo nombre " "la cual implementa un widget de texto básico que tiene una barra de " @@ -42,7 +44,7 @@ msgstr "" "barra de desplazamiento directamente. El constructor es el mismo que el de " "la clase :class:`tkinter.Text`." -#: ../Doc/library/tkinter.scrolledtext.rst:20 +#: ../Doc/library/tkinter.scrolledtext.rst:19 msgid "" "The text widget and scrollbar are packed together in a :class:`Frame`, and " "the methods of the :class:`Grid` and :class:`Pack` geometry managers are " @@ -56,7 +58,7 @@ msgstr "" "que el widget :class:`ScrolledText` sea usado directamente para lograr el " "funcionamiento más normal del administrador de geometría." -#: ../Doc/library/tkinter.scrolledtext.rst:25 +#: ../Doc/library/tkinter.scrolledtext.rst:24 msgid "" "Should more specific control be necessary, the following attributes are " "available:" @@ -64,11 +66,11 @@ msgstr "" "Si fuera necesario un control más específico, los siguientes atributos están " "disponibles:" -#: ../Doc/library/tkinter.scrolledtext.rst:31 +#: ../Doc/library/tkinter.scrolledtext.rst:32 msgid "The frame which surrounds the text and scroll bar widgets." msgstr "" "El marco que rodea el texto y los widgets de la barra de desplazamiento." -#: ../Doc/library/tkinter.scrolledtext.rst:36 +#: ../Doc/library/tkinter.scrolledtext.rst:37 msgid "The scroll bar widget." msgstr "El widget de la barra de desplazamiento." diff --git a/library/token.po b/library/token.po index 6d5bb1fed7..301d965d3e 100644 --- a/library/token.po +++ b/library/token.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:39+0100\n" "PO-Revision-Date: 2020-10-05 17:28+0200\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/token.rst:2 msgid ":mod:`token` --- Constants used with Python parse trees" @@ -80,194 +79,6 @@ msgstr "Retorna ``True`` si *x* es el marcador indicando el final del input." msgid "The token constants are:" msgstr "Las constantes de token son:" -#: ../Doc/library/token-list.inc:18 -msgid "Token value for ``\"(\"``." -msgstr "Valor token para ``\"(\"``." - -#: ../Doc/library/token-list.inc:22 -msgid "Token value for ``\")\"``." -msgstr "Valor token para ``\")\"``." - -#: ../Doc/library/token-list.inc:26 -msgid "Token value for ``\"[\"``." -msgstr "Valor token para ``\"[\"``." - -#: ../Doc/library/token-list.inc:30 -msgid "Token value for ``\"]\"``." -msgstr "Valor token para ``\"]\"``." - -#: ../Doc/library/token-list.inc:34 -msgid "Token value for ``\":\"``." -msgstr "Valor token para ``\":\"``." - -#: ../Doc/library/token-list.inc:38 -msgid "Token value for ``\",\"``." -msgstr "Valor token para ``\",\"``." - -#: ../Doc/library/token-list.inc:42 -msgid "Token value for ``\";\"``." -msgstr "Valor token para ``\";\"``." - -#: ../Doc/library/token-list.inc:46 -msgid "Token value for ``\"+\"``." -msgstr "Valor token para ``\"+\"``." - -#: ../Doc/library/token-list.inc:50 -msgid "Token value for ``\"-\"``." -msgstr "Valor token para ``\"-\"``." - -#: ../Doc/library/token-list.inc:54 -msgid "Token value for ``\"*\"``." -msgstr "Valor token para ``\"*\"``." - -#: ../Doc/library/token-list.inc:58 -msgid "Token value for ``\"/\"``." -msgstr "Valor token para ``\"/\"``." - -#: ../Doc/library/token-list.inc:62 -msgid "Token value for ``\"|\"``." -msgstr "Valor token para ``\"|\"``." - -#: ../Doc/library/token-list.inc:66 -msgid "Token value for ``\"&\"``." -msgstr "Valor token para ``\"&\"``." - -#: ../Doc/library/token-list.inc:70 -msgid "Token value for ``\"<\"``." -msgstr "Valor token para ``\"<\"``." - -#: ../Doc/library/token-list.inc:74 -msgid "Token value for ``\">\"``." -msgstr "Valor token para ``\">\"``." - -#: ../Doc/library/token-list.inc:78 -msgid "Token value for ``\"=\"``." -msgstr "Valor token para ``\"=\"``." - -#: ../Doc/library/token-list.inc:82 -msgid "Token value for ``\".\"``." -msgstr "Valor token para ``\".\"``." - -#: ../Doc/library/token-list.inc:86 -msgid "Token value for ``\"%\"``." -msgstr "Valor token para ``\"%\"``." - -#: ../Doc/library/token-list.inc:90 -msgid "Token value for ``\"{\"``." -msgstr "Valor token para ``\"{\"``." - -#: ../Doc/library/token-list.inc:94 -msgid "Token value for ``\"}\"``." -msgstr "Valor token para ``\"}\"``." - -#: ../Doc/library/token-list.inc:98 -msgid "Token value for ``\"==\"``." -msgstr "Valor token para ``\"==\"``." - -#: ../Doc/library/token-list.inc:102 -msgid "Token value for ``\"!=\"``." -msgstr "Valor token para ``\"!=\"``." - -#: ../Doc/library/token-list.inc:106 -msgid "Token value for ``\"<=\"``." -msgstr "Valor token para ``\"<=\"``." - -#: ../Doc/library/token-list.inc:110 -msgid "Token value for ``\">=\"``." -msgstr "Valor token para ``\">=\"``." - -#: ../Doc/library/token-list.inc:114 -msgid "Token value for ``\"~\"``." -msgstr "Valor token para ``\"~\"``." - -#: ../Doc/library/token-list.inc:118 -msgid "Token value for ``\"^\"``." -msgstr "Valor token para ``\"^\"``." - -#: ../Doc/library/token-list.inc:122 -msgid "Token value for ``\"<<\"``." -msgstr "Valor token para ``\"<<\"``." - -#: ../Doc/library/token-list.inc:126 -msgid "Token value for ``\">>\"``." -msgstr "Valor token para ``\">>\"``." - -#: ../Doc/library/token-list.inc:130 -msgid "Token value for ``\"**\"``." -msgstr "Valor token para ``\"**\"``." - -#: ../Doc/library/token-list.inc:134 -msgid "Token value for ``\"+=\"``." -msgstr "Valor token para ``\"+=\"``." - -#: ../Doc/library/token-list.inc:138 -msgid "Token value for ``\"-=\"``." -msgstr "Valor token para ``\"-=\"``." - -#: ../Doc/library/token-list.inc:142 -msgid "Token value for ``\"*=\"``." -msgstr "Valor token para ``\"*=\"``." - -#: ../Doc/library/token-list.inc:146 -msgid "Token value for ``\"/=\"``." -msgstr "Valor token para ``\"/=\"``." - -#: ../Doc/library/token-list.inc:150 -msgid "Token value for ``\"%=\"``." -msgstr "Valor token para ``\"%=\"``." - -#: ../Doc/library/token-list.inc:154 -msgid "Token value for ``\"&=\"``." -msgstr "Valor token para ``\"&=\"``." - -#: ../Doc/library/token-list.inc:158 -msgid "Token value for ``\"|=\"``." -msgstr "Valor token para ``\"|=\"``." - -#: ../Doc/library/token-list.inc:162 -msgid "Token value for ``\"^=\"``." -msgstr "Valor token para ``\"^=\"``." - -#: ../Doc/library/token-list.inc:166 -msgid "Token value for ``\"<<=\"``." -msgstr "Valor token para ``\"<<=\"``." - -#: ../Doc/library/token-list.inc:170 -msgid "Token value for ``\">>=\"``." -msgstr "Valor token para ``\">>=\"``." - -#: ../Doc/library/token-list.inc:174 -msgid "Token value for ``\"**=\"``." -msgstr "Valor token para ``\"**=\"``." - -#: ../Doc/library/token-list.inc:178 -msgid "Token value for ``\"//\"``." -msgstr "Valor token para ``\"//\"``." - -#: ../Doc/library/token-list.inc:182 -msgid "Token value for ``\"//=\"``." -msgstr "Valor token para ``\"//=\"``." - -#: ../Doc/library/token-list.inc:186 -msgid "Token value for ``\"@\"``." -msgstr "Valor token para ``\"@\"``." - -#: ../Doc/library/token-list.inc:190 -msgid "Token value for ``\"@=\"``." -msgstr "Valor token para ``\"@=\"``." - -#: ../Doc/library/token-list.inc:194 -msgid "Token value for ``\"->\"``." -msgstr "Valor token para ``\"->\"``." - -#: ../Doc/library/token-list.inc:198 -msgid "Token value for ``\"...\"``." -msgstr "Valor token para ``\"...\"``." - -#: ../Doc/library/token-list.inc:202 -msgid "Token value for ``\":=\"``." -msgstr "Valor token para ``\":=\"``." - #: ../Doc/library/token.rst:49 msgid "" "The following token type values aren't used by the C tokenizer but are " @@ -302,7 +113,7 @@ msgstr "" "de origen en texto. El primer token retornado por :func:`tokenize.tokenize` " "siempre será un token ``ENCODING``." -#: ../Doc/library/token.rst:74 +#: ../Doc/library/token.rst:75 msgid "" "Token value indicating that a type comment was recognized. Such tokens are " "only produced when :func:`ast.parse()` is invoked with " @@ -312,15 +123,15 @@ msgstr "" "solo son producidos cuando :func:`ast.parse()` es invocado con " "``type_comments=True``." -#: ../Doc/library/token.rst:79 +#: ../Doc/library/token.rst:80 msgid "Added :data:`AWAIT` and :data:`ASYNC` tokens." msgstr "Agregados los tokens :data:`AWAIT` y :data:`ASYNC`." -#: ../Doc/library/token.rst:82 +#: ../Doc/library/token.rst:83 msgid "Added :data:`COMMENT`, :data:`NL` and :data:`ENCODING` tokens." msgstr "Agregados los tokens :data:`COMMENT`, :data:`NL` y :data:`ENCODING`." -#: ../Doc/library/token.rst:85 +#: ../Doc/library/token.rst:86 msgid "" "Removed :data:`AWAIT` and :data:`ASYNC` tokens. \"async\" and \"await\" are " "now tokenized as :data:`NAME` tokens." @@ -328,7 +139,7 @@ msgstr "" "Removidos los tokens :data:`AWAIT` y :data:`ASYNC`. \"async\" y \"await\" " "son ahora tokenizados como :data:`NAME` tokens." -#: ../Doc/library/token.rst:89 +#: ../Doc/library/token.rst:90 msgid "" "Added :data:`TYPE_COMMENT`, :data:`TYPE_IGNORE`, :data:`COLONEQUAL`. Added :" "data:`AWAIT` and :data:`ASYNC` tokens back (they're needed to support " @@ -340,3 +151,144 @@ msgstr "" "necesarios para dar soporte en la sintaxis de versiones más antiguas de " "Python para :func:`ast.parse` con ``feature_version`` establecido a 6 o " "menor)." + +#~ msgid "Token value for ``\"(\"``." +#~ msgstr "Valor token para ``\"(\"``." + +#~ msgid "Token value for ``\")\"``." +#~ msgstr "Valor token para ``\")\"``." + +#~ msgid "Token value for ``\"[\"``." +#~ msgstr "Valor token para ``\"[\"``." + +#~ msgid "Token value for ``\"]\"``." +#~ msgstr "Valor token para ``\"]\"``." + +#~ msgid "Token value for ``\":\"``." +#~ msgstr "Valor token para ``\":\"``." + +#~ msgid "Token value for ``\",\"``." +#~ msgstr "Valor token para ``\",\"``." + +#~ msgid "Token value for ``\";\"``." +#~ msgstr "Valor token para ``\";\"``." + +#~ msgid "Token value for ``\"+\"``." +#~ msgstr "Valor token para ``\"+\"``." + +#~ msgid "Token value for ``\"-\"``." +#~ msgstr "Valor token para ``\"-\"``." + +#~ msgid "Token value for ``\"*\"``." +#~ msgstr "Valor token para ``\"*\"``." + +#~ msgid "Token value for ``\"/\"``." +#~ msgstr "Valor token para ``\"/\"``." + +#~ msgid "Token value for ``\"|\"``." +#~ msgstr "Valor token para ``\"|\"``." + +#~ msgid "Token value for ``\"&\"``." +#~ msgstr "Valor token para ``\"&\"``." + +#~ msgid "Token value for ``\"<\"``." +#~ msgstr "Valor token para ``\"<\"``." + +#~ msgid "Token value for ``\">\"``." +#~ msgstr "Valor token para ``\">\"``." + +#~ msgid "Token value for ``\"=\"``." +#~ msgstr "Valor token para ``\"=\"``." + +#~ msgid "Token value for ``\".\"``." +#~ msgstr "Valor token para ``\".\"``." + +#~ msgid "Token value for ``\"%\"``." +#~ msgstr "Valor token para ``\"%\"``." + +#~ msgid "Token value for ``\"{\"``." +#~ msgstr "Valor token para ``\"{\"``." + +#~ msgid "Token value for ``\"}\"``." +#~ msgstr "Valor token para ``\"}\"``." + +#~ msgid "Token value for ``\"==\"``." +#~ msgstr "Valor token para ``\"==\"``." + +#~ msgid "Token value for ``\"!=\"``." +#~ msgstr "Valor token para ``\"!=\"``." + +#~ msgid "Token value for ``\"<=\"``." +#~ msgstr "Valor token para ``\"<=\"``." + +#~ msgid "Token value for ``\">=\"``." +#~ msgstr "Valor token para ``\">=\"``." + +#~ msgid "Token value for ``\"~\"``." +#~ msgstr "Valor token para ``\"~\"``." + +#~ msgid "Token value for ``\"^\"``." +#~ msgstr "Valor token para ``\"^\"``." + +#~ msgid "Token value for ``\"<<\"``." +#~ msgstr "Valor token para ``\"<<\"``." + +#~ msgid "Token value for ``\">>\"``." +#~ msgstr "Valor token para ``\">>\"``." + +#~ msgid "Token value for ``\"**\"``." +#~ msgstr "Valor token para ``\"**\"``." + +#~ msgid "Token value for ``\"+=\"``." +#~ msgstr "Valor token para ``\"+=\"``." + +#~ msgid "Token value for ``\"-=\"``." +#~ msgstr "Valor token para ``\"-=\"``." + +#~ msgid "Token value for ``\"*=\"``." +#~ msgstr "Valor token para ``\"*=\"``." + +#~ msgid "Token value for ``\"/=\"``." +#~ msgstr "Valor token para ``\"/=\"``." + +#~ msgid "Token value for ``\"%=\"``." +#~ msgstr "Valor token para ``\"%=\"``." + +#~ msgid "Token value for ``\"&=\"``." +#~ msgstr "Valor token para ``\"&=\"``." + +#~ msgid "Token value for ``\"|=\"``." +#~ msgstr "Valor token para ``\"|=\"``." + +#~ msgid "Token value for ``\"^=\"``." +#~ msgstr "Valor token para ``\"^=\"``." + +#~ msgid "Token value for ``\"<<=\"``." +#~ msgstr "Valor token para ``\"<<=\"``." + +#~ msgid "Token value for ``\">>=\"``." +#~ msgstr "Valor token para ``\">>=\"``." + +#~ msgid "Token value for ``\"**=\"``." +#~ msgstr "Valor token para ``\"**=\"``." + +#~ msgid "Token value for ``\"//\"``." +#~ msgstr "Valor token para ``\"//\"``." + +#~ msgid "Token value for ``\"//=\"``." +#~ msgstr "Valor token para ``\"//=\"``." + +#~ msgid "Token value for ``\"@\"``." +#~ msgstr "Valor token para ``\"@\"``." + +#~ msgid "Token value for ``\"@=\"``." +#~ msgstr "Valor token para ``\"@=\"``." + +#~ msgid "Token value for ``\"->\"``." +#~ msgstr "Valor token para ``\"->\"``." + +#~ msgid "Token value for ``\"...\"``." +#~ msgstr "Valor token para ``\"...\"``." + +#~ msgid "Token value for ``\":=\"``." +#~ msgstr "Valor token para ``\":=\"``." diff --git a/library/tracemalloc.po b/library/tracemalloc.po index 6d7d199b9c..45963c39fd 100644 --- a/library/tracemalloc.po +++ b/library/tracemalloc.po @@ -1,23 +1,26 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. # Maintained by the python-doc-es workteam. -# docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ -# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers +# docs-es@python.org / +# https://mail.python.org/mailman3/lists/docs-es.python.org/ +# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get +# the list of volunteers # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-06 11:59-0400\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-10-03 21:38-0300\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Last-Translator: \n" -"X-Generator: Poedit 2.4.1\n" -"Language: es\n" +"Generated-By: Babel 2.8.0\n" #: ../Doc/library/tracemalloc.rst:2 msgid ":mod:`tracemalloc` --- Trace memory allocations" @@ -94,7 +97,7 @@ msgstr "Mostrar los 10 principales" msgid "Display the 10 files allocating the most memory::" msgstr "Mostrar los 10 archivos asignando la mayor cantidad de memoria::" -#: ../Doc/library/tracemalloc.rst:55 ../Doc/library/tracemalloc.rst:227 +#: ../Doc/library/tracemalloc.rst:55 ../Doc/library/tracemalloc.rst:225 msgid "Example of output of the Python test suite::" msgstr "Ejemplo de la salida del conjunto de pruebas de Python:" @@ -108,7 +111,7 @@ msgstr "" "constantes) desde los módulos y que el modulo :mod:`collections` asigno " "``24KiB`` para crear tipos :class:`~collections.namedtuple`." -#: ../Doc/library/tracemalloc.rst:73 ../Doc/library/tracemalloc.rst:252 +#: ../Doc/library/tracemalloc.rst:73 ../Doc/library/tracemalloc.rst:250 msgid "See :meth:`Snapshot.statistics` for more options." msgstr "Mira :meth:`Snapshot.statistics` para más opciones." @@ -195,23 +198,52 @@ msgstr "" "con una salida ``bonita``, ignorando los archivos```` y ````:" -#: ../Doc/library/tracemalloc.rst:256 +#: ../Doc/library/tracemalloc.rst:253 +msgid "Record the current and peak size of all traced memory blocks" +msgstr "" + +#: ../Doc/library/tracemalloc.rst:255 +msgid "" +"The following code computes two sums like ``0 + 1 + 2 + ...`` inefficiently, " +"by creating a list of those numbers. This list consumes a lot of memory " +"temporarily. We can use :func:`get_traced_memory` and :func:`reset_peak` to " +"observe the small memory usage after the sum is computed as well as the peak " +"memory usage during the computations::" +msgstr "" + +#: ../Doc/library/tracemalloc.rst:280 ../Doc/library/tracemalloc.rst:759 +msgid "Output::" +msgstr "Salida::" + +#: ../Doc/library/tracemalloc.rst:285 +msgid "" +"Using :func:`reset_peak` ensured we could accurately record the peak during " +"the computation of ``small_sum``, even though it is much smaller than the " +"overall peak size of memory blocks since the :func:`start` call. Without the " +"call to :func:`reset_peak`, ``second_peak`` would still be the peak from the " +"computation ``large_sum`` (that is, equal to ``first_peak``). In this case, " +"both peaks are much higher than the final memory usage, and which suggests " +"we could optimise (by removing the unnecessary call to :class:`list`, and " +"writing ``sum(range(...))``)." +msgstr "" + +#: ../Doc/library/tracemalloc.rst:295 msgid "API" msgstr "API" -#: ../Doc/library/tracemalloc.rst:259 +#: ../Doc/library/tracemalloc.rst:298 msgid "Functions" msgstr "Funciones" -#: ../Doc/library/tracemalloc.rst:263 +#: ../Doc/library/tracemalloc.rst:302 msgid "Clear traces of memory blocks allocated by Python." msgstr "Limpia los rastros de los bloques de memoria asignados por Python." -#: ../Doc/library/tracemalloc.rst:265 +#: ../Doc/library/tracemalloc.rst:304 msgid "See also :func:`stop`." msgstr "Mira también la función :func:`stop`." -#: ../Doc/library/tracemalloc.rst:270 +#: ../Doc/library/tracemalloc.rst:309 msgid "" "Get the traceback where the Python object *obj* was allocated. Return a :" "class:`Traceback` instance, or ``None`` if the :mod:`tracemalloc` module is " @@ -222,17 +254,17 @@ msgstr "" "esta rastreando ninguna asignación de memoria o no rastreó la asignación del " "objeto." -#: ../Doc/library/tracemalloc.rst:275 +#: ../Doc/library/tracemalloc.rst:314 msgid "See also :func:`gc.get_referrers` and :func:`sys.getsizeof` functions." msgstr "" "Mira también las funciones :func:`gc.get_referrers` y :func:`sys.getsizeof`." -#: ../Doc/library/tracemalloc.rst:280 +#: ../Doc/library/tracemalloc.rst:319 msgid "Get the maximum number of frames stored in the traceback of a trace." msgstr "" "Obtén el número máximo de cuadros guardados en el seguimiento de un rastro." -#: ../Doc/library/tracemalloc.rst:282 +#: ../Doc/library/tracemalloc.rst:321 msgid "" "The :mod:`tracemalloc` module must be tracing memory allocations to get the " "limit, otherwise an exception is raised." @@ -240,11 +272,11 @@ msgstr "" "El módulo :mod:`tracemalloc` debe rastrear las asignaciones de memoria para " "obtener el límite, de otra manera se inicia una excepción." -#: ../Doc/library/tracemalloc.rst:285 +#: ../Doc/library/tracemalloc.rst:324 msgid "The limit is set by the :func:`start` function." msgstr "El limite es establecido por la función :func:`start`." -#: ../Doc/library/tracemalloc.rst:290 +#: ../Doc/library/tracemalloc.rst:329 msgid "" "Get the current size and peak size of memory blocks traced by the :mod:" "`tracemalloc` module as a tuple: ``(current: int, peak: int)``." @@ -253,7 +285,39 @@ msgstr "" "por el módulo :mod:`tracemalloc` como una tupla: ``(current: int, peak: " "int)``." -#: ../Doc/library/tracemalloc.rst:296 +#: ../Doc/library/tracemalloc.rst:335 +#, fuzzy +msgid "" +"Set the peak size of memory blocks traced by the :mod:`tracemalloc` module " +"to the current size." +msgstr "" +"Obtén el tamaño actual y tamaño pico de los bloques de memorias rastreados " +"por el módulo :mod:`tracemalloc` como una tupla: ``(current: int, peak: " +"int)``." + +#: ../Doc/library/tracemalloc.rst:338 +#, fuzzy +msgid "" +"Do nothing if the :mod:`tracemalloc` module is not tracing memory " +"allocations." +msgstr "" +"Si el módulo :mod:`tracemalloc` esta rastreando asignaciones de memoria de " +"Python retorna ``True`` sino retorna ``False``." + +#: ../Doc/library/tracemalloc.rst:341 +msgid "" +"This function only modifies the recorded peak size, and does not modify or " +"clear any traces, unlike :func:`clear_traces`. Snapshots taken with :func:" +"`take_snapshot` before a call to :func:`reset_peak` can be meaningfully " +"compared to snapshots taken after the call." +msgstr "" + +#: ../Doc/library/tracemalloc.rst:346 +#, fuzzy +msgid "See also :func:`get_traced_memory`." +msgstr "Mira también la función :func:`stop`." + +#: ../Doc/library/tracemalloc.rst:353 msgid "" "Get the memory usage in bytes of the :mod:`tracemalloc` module used to store " "traces of memory blocks. Return an :class:`int`." @@ -261,7 +325,7 @@ msgstr "" "Obtén el uso de la memoria en bytes desde el modulo :mod:`tracemalloc` usado " "para guardar rastreos de bloques de memoria. Retorna una clase :class:`int`." -#: ../Doc/library/tracemalloc.rst:303 +#: ../Doc/library/tracemalloc.rst:360 msgid "" "``True`` if the :mod:`tracemalloc` module is tracing Python memory " "allocations, ``False`` otherwise." @@ -269,11 +333,11 @@ msgstr "" "Si el módulo :mod:`tracemalloc` esta rastreando asignaciones de memoria de " "Python retorna ``True`` sino retorna ``False``." -#: ../Doc/library/tracemalloc.rst:306 +#: ../Doc/library/tracemalloc.rst:363 msgid "See also :func:`start` and :func:`stop` functions." msgstr "También mira las funciones :func:`start` y :func:`stop`." -#: ../Doc/library/tracemalloc.rst:311 +#: ../Doc/library/tracemalloc.rst:368 msgid "" "Start tracing Python memory allocations: install hooks on Python memory " "allocators. Collected tracebacks of traces will be limited to *nframe* " @@ -286,7 +350,13 @@ msgstr "" "solo guarda el cuadro mas reciente: el limite es ``1``. *nframe* debe ser " "mayor o igual a `1`." -#: ../Doc/library/tracemalloc.rst:316 +#: ../Doc/library/tracemalloc.rst:373 +msgid "" +"You can still read the original number of total frames that composed the " +"traceback by looking at the :attr:`Traceback.total_nframe` attribute." +msgstr "" + +#: ../Doc/library/tracemalloc.rst:376 msgid "" "Storing more than ``1`` frame is only useful to compute statistics grouped " "by ``'traceback'`` or to compute cumulative statistics: see the :meth:" @@ -296,7 +366,7 @@ msgstr "" "agrupadas por seguimiento o para calcular estadísticas acumulativa: mira las " "funciones :meth:`Snapshot.compare_to` y :meth:`Snapshot.statistics`." -#: ../Doc/library/tracemalloc.rst:320 +#: ../Doc/library/tracemalloc.rst:380 msgid "" "Storing more frames increases the memory and CPU overhead of the :mod:" "`tracemalloc` module. Use the :func:`get_tracemalloc_memory` function to " @@ -306,7 +376,7 @@ msgstr "" "modulo :mod:`tracemalloc`. Usa la función :func:`get_tracemalloc_memory` " "para medir cuanta memoria se usa por el módulo :mod:`tracemalloc`." -#: ../Doc/library/tracemalloc.rst:324 +#: ../Doc/library/tracemalloc.rst:384 msgid "" "The :envvar:`PYTHONTRACEMALLOC` environment variable " "(``PYTHONTRACEMALLOC=NFRAME``) and the :option:`-X` ``tracemalloc=NFRAME`` " @@ -316,7 +386,7 @@ msgstr "" "(``PYTHONTRACEMALLOC=NFRAME``) y la opción de comando de linea :option:`-X` " "``tracemalloc=NFRAME`` se puede usar para empezar a rastrear desde el inicio." -#: ../Doc/library/tracemalloc.rst:328 +#: ../Doc/library/tracemalloc.rst:388 msgid "" "See also :func:`stop`, :func:`is_tracing` and :func:`get_traceback_limit` " "functions." @@ -324,9 +394,10 @@ msgstr "" "También mira las funciones :func:`stop`, :func:`is_tracing` y :func:" "`get_traceback_limit`." -#: ../Doc/library/tracemalloc.rst:334 +#: ../Doc/library/tracemalloc.rst:394 +#, fuzzy msgid "" -"Stop tracing Python memory allocations: uninstall *hooks* on Python memory " +"Stop tracing Python memory allocations: uninstall hooks on Python memory " "allocators. Also clears all previously collected traces of memory blocks " "allocated by Python." msgstr "" @@ -334,7 +405,7 @@ msgstr "" "*hooks*. También limpia todos los rastros de memoria recolectados por los " "bloques de memoria asignados por Python." -#: ../Doc/library/tracemalloc.rst:338 +#: ../Doc/library/tracemalloc.rst:398 msgid "" "Call :func:`take_snapshot` function to take a snapshot of traces before " "clearing them." @@ -342,7 +413,7 @@ msgstr "" "Llama a la función :func:`take_snapshot` para tomar una captura instantánea " "de los rastreos, antes de limpiarlos." -#: ../Doc/library/tracemalloc.rst:341 +#: ../Doc/library/tracemalloc.rst:401 msgid "" "See also :func:`start`, :func:`is_tracing` and :func:`clear_traces` " "functions." @@ -350,7 +421,7 @@ msgstr "" "También mira las funciones :func:`start`, :func:`is_tracing` y :func:" "`clear_traces`." -#: ../Doc/library/tracemalloc.rst:347 +#: ../Doc/library/tracemalloc.rst:407 msgid "" "Take a snapshot of traces of memory blocks allocated by Python. Return a " "new :class:`Snapshot` instance." @@ -358,7 +429,7 @@ msgstr "" "Toma una captura instantánea de los bloques de memoria asignados por " "Python. Retorna una nueva instancia de la clase :class:`Snapshot`." -#: ../Doc/library/tracemalloc.rst:350 +#: ../Doc/library/tracemalloc.rst:410 msgid "" "The snapshot does not include memory blocks allocated before the :mod:" "`tracemalloc` module started to trace memory allocations." @@ -367,7 +438,7 @@ msgstr "" "que el módulo :mod:`tracemalloc` haya empezado a rastrear asignaciones de " "memoria." -#: ../Doc/library/tracemalloc.rst:353 +#: ../Doc/library/tracemalloc.rst:413 msgid "" "Tracebacks of traces are limited to :func:`get_traceback_limit` frames. Use " "the *nframe* parameter of the :func:`start` function to store more frames." @@ -376,7 +447,7 @@ msgstr "" "`get_traceback_limit`. Usa el parámetro *nframe* de la función :func:`start` " "para guardar mas cuadros." -#: ../Doc/library/tracemalloc.rst:356 +#: ../Doc/library/tracemalloc.rst:416 msgid "" "The :mod:`tracemalloc` module must be tracing memory allocations to take a " "snapshot, see the :func:`start` function." @@ -384,21 +455,21 @@ msgstr "" "El módulo :mod:`tracemalloc` debe empezar a rastrear las asignaciones de " "memoria para tomar una captura instantánea. Mira la función :func:`start`." -#: ../Doc/library/tracemalloc.rst:359 +#: ../Doc/library/tracemalloc.rst:419 msgid "See also the :func:`get_object_traceback` function." msgstr "También mira la función :func:`get_object_traceback`." -#: ../Doc/library/tracemalloc.rst:363 +#: ../Doc/library/tracemalloc.rst:423 msgid "DomainFilter" msgstr "Filtro de dominio" -#: ../Doc/library/tracemalloc.rst:367 +#: ../Doc/library/tracemalloc.rst:427 msgid "Filter traces of memory blocks by their address space (domain)." msgstr "" "Filtra los rastros de los bloques de memoria por su espacio de dirección " "(dominio)" -#: ../Doc/library/tracemalloc.rst:373 +#: ../Doc/library/tracemalloc.rst:433 msgid "" "If *inclusive* is ``True`` (include), match memory blocks allocated in the " "address space :attr:`domain`." @@ -406,7 +477,7 @@ msgstr "" "Si *inclusive* es ``True`` (incluye), relaciona los bloques de memoria " "asignados en el espacio de dirección :attr:`domain`." -#: ../Doc/library/tracemalloc.rst:376 +#: ../Doc/library/tracemalloc.rst:436 msgid "" "If *inclusive* is ``False`` (exclude), match memory blocks not allocated in " "the address space :attr:`domain`." @@ -414,21 +485,21 @@ msgstr "" "Si *inclusive* es ``False`` (excluye), relaciona los bloques de memoria no " "asignados en el espacio de dirección :attr:`domain`." -#: ../Doc/library/tracemalloc.rst:381 ../Doc/library/tracemalloc.rst:633 +#: ../Doc/library/tracemalloc.rst:441 ../Doc/library/tracemalloc.rst:693 msgid "Address space of a memory block (``int``). Read-only property." msgstr "" "Espacio de dirección de un bloque de memoria (``int``). Propiedad solo-" "lectura." -#: ../Doc/library/tracemalloc.rst:385 +#: ../Doc/library/tracemalloc.rst:445 msgid "Filter" msgstr "Filtro" -#: ../Doc/library/tracemalloc.rst:389 +#: ../Doc/library/tracemalloc.rst:449 msgid "Filter on traces of memory blocks." msgstr "Filtra los rastros de los bloques de memoria." -#: ../Doc/library/tracemalloc.rst:391 +#: ../Doc/library/tracemalloc.rst:451 msgid "" "See the :func:`fnmatch.fnmatch` function for the syntax of " "*filename_pattern*. The ``'.pyc'`` file extension is replaced with ``'.py'``." @@ -436,11 +507,11 @@ msgstr "" "También mira la función :func:`fnmatch.fnmatch` para la sintaxis de " "*filename_pattern*. La extensión ``'.pyc'`` es remplazada por ``'.py'``." -#: ../Doc/library/tracemalloc.rst:395 +#: ../Doc/library/tracemalloc.rst:455 msgid "Examples:" msgstr "Ejemplos:" -#: ../Doc/library/tracemalloc.rst:397 +#: ../Doc/library/tracemalloc.rst:457 msgid "" "``Filter(True, subprocess.__file__)`` only includes traces of the :mod:" "`subprocess` module" @@ -448,7 +519,7 @@ msgstr "" "``Filter(True, subprocess.__file__)`` solo incluye los rastros de el módulo :" "mod:`subprocess`" -#: ../Doc/library/tracemalloc.rst:399 +#: ../Doc/library/tracemalloc.rst:459 msgid "" "``Filter(False, tracemalloc.__file__)`` excludes traces of the :mod:" "`tracemalloc` module" @@ -456,23 +527,23 @@ msgstr "" "``Filter(False, tracemalloc.__file__)`` excluye los rastros de memoria del " "módulo :mod:`tracemalloc`" -#: ../Doc/library/tracemalloc.rst:401 +#: ../Doc/library/tracemalloc.rst:461 msgid "``Filter(False, \"\")`` excludes empty tracebacks" msgstr "``Filter(False, \"\")`` excluye los seguimientos vacíos" -#: ../Doc/library/tracemalloc.rst:404 +#: ../Doc/library/tracemalloc.rst:464 msgid "The ``'.pyo'`` file extension is no longer replaced with ``'.py'``." msgstr "La extensión ``'.pyo'`` ya no se remplaza con ``'.py'``." -#: ../Doc/library/tracemalloc.rst:407 ../Doc/library/tracemalloc.rst:628 +#: ../Doc/library/tracemalloc.rst:467 ../Doc/library/tracemalloc.rst:688 msgid "Added the :attr:`domain` attribute." msgstr "Agregado el atributo :attr:`domain` ." -#: ../Doc/library/tracemalloc.rst:413 +#: ../Doc/library/tracemalloc.rst:473 msgid "Address space of a memory block (``int`` or ``None``)." msgstr "El espacio de dirección de un bloque de memoria (``int`` o ``None``)." -#: ../Doc/library/tracemalloc.rst:415 ../Doc/library/tracemalloc.rst:635 +#: ../Doc/library/tracemalloc.rst:475 ../Doc/library/tracemalloc.rst:695 msgid "" "tracemalloc uses the domain ``0`` to trace memory allocations made by " "Python. C extensions can use other domains to trace other resources." @@ -481,7 +552,7 @@ msgstr "" "hechas por Python. Las extensiones C pueden usar otros dominios para " "rastrear otros recursos." -#: ../Doc/library/tracemalloc.rst:420 +#: ../Doc/library/tracemalloc.rst:480 msgid "" "If *inclusive* is ``True`` (include), only match memory blocks allocated in " "a file with a name matching :attr:`filename_pattern` at line number :attr:" @@ -491,7 +562,7 @@ msgstr "" "asignados en un archivo con el nombre coincidiendo con el atributo :attr:" "`filename_pattern` en el número de línea del atributo :attr:`lineno`." -#: ../Doc/library/tracemalloc.rst:424 +#: ../Doc/library/tracemalloc.rst:484 msgid "" "If *inclusive* is ``False`` (exclude), ignore memory blocks allocated in a " "file with a name matching :attr:`filename_pattern` at line number :attr:" @@ -501,7 +572,7 @@ msgstr "" "asignados en un archivo con el nombre coincidiendo con el atributo :attr:" "`filename_pattern` en el número de línea del atributo :attr:`lineno`." -#: ../Doc/library/tracemalloc.rst:430 +#: ../Doc/library/tracemalloc.rst:490 msgid "" "Line number (``int``) of the filter. If *lineno* is ``None``, the filter " "matches any line number." @@ -509,12 +580,12 @@ msgstr "" "El número de linea (``int``) del filtro. Si *lineno* es ``None``, el filtro " "se relaciona con cualquier número de linea." -#: ../Doc/library/tracemalloc.rst:435 +#: ../Doc/library/tracemalloc.rst:495 msgid "Filename pattern of the filter (``str``). Read-only property." msgstr "" "El patrón del nombre de archivo del filtro (``str``). Propiedad solo-lectura." -#: ../Doc/library/tracemalloc.rst:439 +#: ../Doc/library/tracemalloc.rst:499 msgid "" "If *all_frames* is ``True``, all frames of the traceback are checked. If " "*all_frames* is ``False``, only the most recent frame is checked." @@ -523,7 +594,7 @@ msgstr "" "chequeados. Si *all_frames* es ``False``, solo el cuadro mas reciente es " "chequeado." -#: ../Doc/library/tracemalloc.rst:442 +#: ../Doc/library/tracemalloc.rst:502 msgid "" "This attribute has no effect if the traceback limit is ``1``. See the :func:" "`get_traceback_limit` function and :attr:`Snapshot.traceback_limit` " @@ -533,44 +604,44 @@ msgstr "" "función :func:`get_traceback_limit` y el atributo :attr:`Snapshot." "traceback_limit`." -#: ../Doc/library/tracemalloc.rst:448 +#: ../Doc/library/tracemalloc.rst:508 msgid "Frame" msgstr "Cuadro" -#: ../Doc/library/tracemalloc.rst:452 +#: ../Doc/library/tracemalloc.rst:512 msgid "Frame of a traceback." msgstr "Cuadro de un rastreo." -#: ../Doc/library/tracemalloc.rst:454 +#: ../Doc/library/tracemalloc.rst:514 msgid "The :class:`Traceback` class is a sequence of :class:`Frame` instances." msgstr "" "La clase :class:`Traceback` es una secuencia de las instancias de la clase :" "class:`Frame`." -#: ../Doc/library/tracemalloc.rst:458 +#: ../Doc/library/tracemalloc.rst:518 msgid "Filename (``str``)." msgstr "Nombre de archivo (``str``)." -#: ../Doc/library/tracemalloc.rst:462 +#: ../Doc/library/tracemalloc.rst:522 msgid "Line number (``int``)." msgstr "Número de línea (``int``)." -#: ../Doc/library/tracemalloc.rst:466 +#: ../Doc/library/tracemalloc.rst:526 msgid "Snapshot" msgstr "Captura instantánea" -#: ../Doc/library/tracemalloc.rst:470 +#: ../Doc/library/tracemalloc.rst:530 msgid "Snapshot of traces of memory blocks allocated by Python." msgstr "" "Captura instantánea de los rastros de los bloques de memoria asignados por " "Python." -#: ../Doc/library/tracemalloc.rst:472 +#: ../Doc/library/tracemalloc.rst:532 msgid "The :func:`take_snapshot` function creates a snapshot instance." msgstr "" "La función :func:`take_snapshot` crea una instancia de captura instantánea." -#: ../Doc/library/tracemalloc.rst:476 +#: ../Doc/library/tracemalloc.rst:536 msgid "" "Compute the differences with an old snapshot. Get statistics as a sorted " "list of :class:`StatisticDiff` instances grouped by *key_type*." @@ -579,7 +650,7 @@ msgstr "" "estadísticas en una lista ordenada de instancias de la clase :class:" "`StatisticDiff` agrupadas por *key_type*." -#: ../Doc/library/tracemalloc.rst:479 +#: ../Doc/library/tracemalloc.rst:539 msgid "" "See the :meth:`Snapshot.statistics` method for *key_type* and *cumulative* " "parameters." @@ -587,7 +658,7 @@ msgstr "" "Mira el método :meth:`Snapshot.statistics` para los parámetros *key_type* y " "*cumulative*." -#: ../Doc/library/tracemalloc.rst:482 +#: ../Doc/library/tracemalloc.rst:542 msgid "" "The result is sorted from the biggest to the smallest by: absolute value of :" "attr:`StatisticDiff.size_diff`, :attr:`StatisticDiff.size`, absolute value " @@ -599,15 +670,15 @@ msgstr "" "size`, el valor absoluto de :meth:`StatisticDiff.count_diff`, :meth:" "`Statistic.count` y después por el atributo :meth:`StatisticDiff.traceback`." -#: ../Doc/library/tracemalloc.rst:490 +#: ../Doc/library/tracemalloc.rst:550 msgid "Write the snapshot into a file." msgstr "Escribe la captura instantánea en un archivo." -#: ../Doc/library/tracemalloc.rst:492 +#: ../Doc/library/tracemalloc.rst:552 msgid "Use :meth:`load` to reload the snapshot." msgstr "Usa el método :meth:`load` para recargar la captura instantánea." -#: ../Doc/library/tracemalloc.rst:497 +#: ../Doc/library/tracemalloc.rst:557 msgid "" "Create a new :class:`Snapshot` instance with a filtered :attr:`traces` " "sequence, *filters* is a list of :class:`DomainFilter` and :class:`Filter` " @@ -619,7 +690,7 @@ msgstr "" "`DomainFilter` y :class:`Filter`. Si *filters* es una lista vacia, retorna " "una nueva instancia de clase :class:`Snapshot` con una copia de los rastreos." -#: ../Doc/library/tracemalloc.rst:502 +#: ../Doc/library/tracemalloc.rst:562 msgid "" "All inclusive filters are applied at once, a trace is ignored if no " "inclusive filters match it. A trace is ignored if at least one exclusive " @@ -629,21 +700,21 @@ msgstr "" "incluidos coinciden. Si al menos un filtro exclusivo coincide, se ignora un " "rastro." -#: ../Doc/library/tracemalloc.rst:506 +#: ../Doc/library/tracemalloc.rst:566 msgid ":class:`DomainFilter` instances are now also accepted in *filters*." msgstr "" "Las instancias de clase :class:`DomainFilter` ahora también son aceptadas en " "*filters*." -#: ../Doc/library/tracemalloc.rst:512 +#: ../Doc/library/tracemalloc.rst:572 msgid "Load a snapshot from a file." msgstr "Carga la captura instantánea desde un archivo." -#: ../Doc/library/tracemalloc.rst:514 +#: ../Doc/library/tracemalloc.rst:574 msgid "See also :meth:`dump`." msgstr "También mira el método :meth:`dump`." -#: ../Doc/library/tracemalloc.rst:519 +#: ../Doc/library/tracemalloc.rst:579 msgid "" "Get statistics as a sorted list of :class:`Statistic` instances grouped by " "*key_type*:" @@ -651,39 +722,39 @@ msgstr "" "Obtiene estadísticas como una lista ordenada, de instancias de :class:" "`Statistic` agrupadas por *key_type*:" -#: ../Doc/library/tracemalloc.rst:523 +#: ../Doc/library/tracemalloc.rst:583 msgid "key_type" msgstr "key_type" -#: ../Doc/library/tracemalloc.rst:523 +#: ../Doc/library/tracemalloc.rst:583 msgid "description" msgstr "descripción" -#: ../Doc/library/tracemalloc.rst:525 +#: ../Doc/library/tracemalloc.rst:585 msgid "``'filename'``" msgstr "``'filename'``" -#: ../Doc/library/tracemalloc.rst:525 +#: ../Doc/library/tracemalloc.rst:585 msgid "filename" msgstr "nombre del archivo" -#: ../Doc/library/tracemalloc.rst:526 +#: ../Doc/library/tracemalloc.rst:586 msgid "``'lineno'``" msgstr "``'lineno'``" -#: ../Doc/library/tracemalloc.rst:526 +#: ../Doc/library/tracemalloc.rst:586 msgid "filename and line number" msgstr "nombre del archivo y número de línea" -#: ../Doc/library/tracemalloc.rst:527 +#: ../Doc/library/tracemalloc.rst:587 msgid "``'traceback'``" msgstr "``'traceback'``" -#: ../Doc/library/tracemalloc.rst:527 +#: ../Doc/library/tracemalloc.rst:587 msgid "traceback" msgstr "seguimiento" -#: ../Doc/library/tracemalloc.rst:530 +#: ../Doc/library/tracemalloc.rst:590 msgid "" "If *cumulative* is ``True``, cumulate size and count of memory blocks of all " "frames of the traceback of a trace, not only the most recent frame. The " @@ -695,7 +766,7 @@ msgstr "" "mas reciente. El modo acumulativo solo puede ser usado cuando *key_type* se " "iguala a ``'filename'`` y ``'lineno'``." -#: ../Doc/library/tracemalloc.rst:535 +#: ../Doc/library/tracemalloc.rst:595 msgid "" "The result is sorted from the biggest to the smallest by: :attr:`Statistic." "size`, :attr:`Statistic.count` and then by :attr:`Statistic.traceback`." @@ -704,7 +775,7 @@ msgstr "" "atributo :attr:`Statistic.size`, :attr:`Statistic.count` y después por :attr:" "`Statistic.traceback`." -#: ../Doc/library/tracemalloc.rst:542 +#: ../Doc/library/tracemalloc.rst:602 msgid "" "Maximum number of frames stored in the traceback of :attr:`traces`: result " "of the :func:`get_traceback_limit` when the snapshot was taken." @@ -713,7 +784,7 @@ msgstr "" "`traces`: resulta de la función :attr:`get_traceback_limit` cuando la " "captura instantánea fue tomada." -#: ../Doc/library/tracemalloc.rst:547 +#: ../Doc/library/tracemalloc.rst:607 msgid "" "Traces of all memory blocks allocated by Python: sequence of :class:`Trace` " "instances." @@ -721,7 +792,7 @@ msgstr "" "Rastros de todos los bloques de memoria asignados por Python: secuencia de " "instancias de :class:`Trace`." -#: ../Doc/library/tracemalloc.rst:550 +#: ../Doc/library/tracemalloc.rst:610 msgid "" "The sequence has an undefined order. Use the :meth:`Snapshot.statistics` " "method to get a sorted list of statistics." @@ -729,45 +800,45 @@ msgstr "" "La secuencia tiene un orden que no esta definido. Usa el método :meth:" "`Snapshot.statistics` para obtener una lista ordenada de estadísticas." -#: ../Doc/library/tracemalloc.rst:555 +#: ../Doc/library/tracemalloc.rst:615 msgid "Statistic" msgstr "Estadística" -#: ../Doc/library/tracemalloc.rst:559 +#: ../Doc/library/tracemalloc.rst:619 msgid "Statistic on memory allocations." msgstr "Estadística de las asignaciones de memoria." -#: ../Doc/library/tracemalloc.rst:561 +#: ../Doc/library/tracemalloc.rst:621 msgid "" ":func:`Snapshot.statistics` returns a list of :class:`Statistic` instances." msgstr "" ":func:`Snapshot.statistics` retorna una lista de instancias de la clase :" "class:`Statistic`." -#: ../Doc/library/tracemalloc.rst:563 +#: ../Doc/library/tracemalloc.rst:623 msgid "See also the :class:`StatisticDiff` class." msgstr "También mira la clase :class:`StatisticDiff`." -#: ../Doc/library/tracemalloc.rst:567 +#: ../Doc/library/tracemalloc.rst:627 msgid "Number of memory blocks (``int``)." msgstr "Número de bloques de memoria (``int``)." -#: ../Doc/library/tracemalloc.rst:571 +#: ../Doc/library/tracemalloc.rst:631 msgid "Total size of memory blocks in bytes (``int``)." msgstr "El tamaño total de los bloques de memoria en bytes (``int``)." -#: ../Doc/library/tracemalloc.rst:575 ../Doc/library/tracemalloc.rst:644 +#: ../Doc/library/tracemalloc.rst:635 ../Doc/library/tracemalloc.rst:704 msgid "" "Traceback where the memory block was allocated, :class:`Traceback` instance." msgstr "" "Rastrea donde un bloque de memoria fue asignado, la instancia de la clase :" "class:`Traceback`." -#: ../Doc/library/tracemalloc.rst:580 +#: ../Doc/library/tracemalloc.rst:640 msgid "StatisticDiff" msgstr "StatisticDiff" -#: ../Doc/library/tracemalloc.rst:584 +#: ../Doc/library/tracemalloc.rst:644 msgid "" "Statistic difference on memory allocations between an old and a new :class:" "`Snapshot` instance." @@ -775,7 +846,7 @@ msgstr "" "La diferencia de estadística en las asignaciones de memoria entre una vieja " "y una nueva instancia de clase :class:`Snapshot`." -#: ../Doc/library/tracemalloc.rst:587 +#: ../Doc/library/tracemalloc.rst:647 msgid "" ":func:`Snapshot.compare_to` returns a list of :class:`StatisticDiff` " "instances. See also the :class:`Statistic` class." @@ -783,7 +854,7 @@ msgstr "" ":func:`Snapshot.compare_to` retorna una lista de instancias de la clase :" "class:`StatisticDiff`. Mira también la clase :class:`Statistic`." -#: ../Doc/library/tracemalloc.rst:592 +#: ../Doc/library/tracemalloc.rst:652 msgid "" "Number of memory blocks in the new snapshot (``int``): ``0`` if the memory " "blocks have been released in the new snapshot." @@ -792,7 +863,7 @@ msgstr "" "``0`` si los bloques de memoria han sido liberados en la nueva captura " "instantánea." -#: ../Doc/library/tracemalloc.rst:597 +#: ../Doc/library/tracemalloc.rst:657 msgid "" "Difference of number of memory blocks between the old and the new snapshots " "(``int``): ``0`` if the memory blocks have been allocated in the new " @@ -802,7 +873,7 @@ msgstr "" "viejas y nuevas (``int``): ``0`` si el bloque de memoria ha sido asignado en " "la nueva captura instantánea." -#: ../Doc/library/tracemalloc.rst:603 +#: ../Doc/library/tracemalloc.rst:663 msgid "" "Total size of memory blocks in bytes in the new snapshot (``int``): ``0`` if " "the memory blocks have been released in the new snapshot." @@ -811,7 +882,7 @@ msgstr "" "instantánea (``int``): ``0`` si el bloque de memoria ha sido liberado en la " "nueva captura instantánea." -#: ../Doc/library/tracemalloc.rst:608 +#: ../Doc/library/tracemalloc.rst:668 msgid "" "Difference of total size of memory blocks in bytes between the old and the " "new snapshots (``int``): ``0`` if the memory blocks have been allocated in " @@ -821,7 +892,7 @@ msgstr "" "capturas instantáneas viejas y nuevas (``int``): ``0`` si el bloque de " "memoria ha sido asignado en la nueva captura instantánea." -#: ../Doc/library/tracemalloc.rst:614 +#: ../Doc/library/tracemalloc.rst:674 msgid "" "Traceback where the memory blocks were allocated, :class:`Traceback` " "instance." @@ -829,15 +900,15 @@ msgstr "" "Rastrea donde los bloques de memoria han sido asignados, instancia de la " "clase :class:`Traceback`." -#: ../Doc/library/tracemalloc.rst:619 +#: ../Doc/library/tracemalloc.rst:679 msgid "Trace" msgstr "Rastro" -#: ../Doc/library/tracemalloc.rst:623 +#: ../Doc/library/tracemalloc.rst:683 msgid "Trace of a memory block." msgstr "Rastro de un bloque de memoria." -#: ../Doc/library/tracemalloc.rst:625 +#: ../Doc/library/tracemalloc.rst:685 msgid "" "The :attr:`Snapshot.traces` attribute is a sequence of :class:`Trace` " "instances." @@ -845,15 +916,15 @@ msgstr "" "El atributo :attr:`Snapshot.traces` es una secuencia de las instancias de la " "clase :class:`Trace`." -#: ../Doc/library/tracemalloc.rst:640 +#: ../Doc/library/tracemalloc.rst:700 msgid "Size of the memory block in bytes (``int``)." msgstr "Tamaño de un bloque de memoria en bytes (``int``)." -#: ../Doc/library/tracemalloc.rst:649 +#: ../Doc/library/tracemalloc.rst:709 msgid "Traceback" msgstr "Seguimiento" -#: ../Doc/library/tracemalloc.rst:653 +#: ../Doc/library/tracemalloc.rst:713 msgid "" "Sequence of :class:`Frame` instances sorted from the oldest frame to the " "most recent frame." @@ -861,7 +932,7 @@ msgstr "" "La secuencia de las instancias de la clase :class:`Frame` organizadas desde " "el cuadro mas antiguo al más reciente." -#: ../Doc/library/tracemalloc.rst:656 +#: ../Doc/library/tracemalloc.rst:716 msgid "" "A traceback contains at least ``1`` frame. If the ``tracemalloc`` module " "failed to get a frame, the filename ``\"\"`` at line number ``0`` " @@ -871,16 +942,16 @@ msgstr "" "``tracemalloc`` falla al traer un cuadro, se usa el nombre del archivo ``" "\"\"`` en el número de linea ``0``." -#: ../Doc/library/tracemalloc.rst:660 +#: ../Doc/library/tracemalloc.rst:720 msgid "" "When a snapshot is taken, tracebacks of traces are limited to :func:" -"`get_traceback_limit` frames. See the :func:`take_snapshot` function." +"`get_traceback_limit` frames. See the :func:`take_snapshot` function. The " +"original number of frames of the traceback is stored in the :attr:`Traceback." +"total_nframe` attribute. That allows to know if a traceback has been " +"truncated by the traceback limit." msgstr "" -"Cuando se toma una captura instantánea, los seguimientos de los rastros son " -"limitados a :func:`get_traceback_limit` cuadros. Mira la función :func:" -"`take_snapshot`." -#: ../Doc/library/tracemalloc.rst:663 +#: ../Doc/library/tracemalloc.rst:726 msgid "" "The :attr:`Trace.traceback` attribute is an instance of :class:`Traceback` " "instance." @@ -888,7 +959,7 @@ msgstr "" "El atributo :attr:`Trace.traceback` es una instancia de la clase :class:" "`Traceback`." -#: ../Doc/library/tracemalloc.rst:666 +#: ../Doc/library/tracemalloc.rst:729 msgid "" "Frames are now sorted from the oldest to the most recent, instead of most " "recent to oldest." @@ -896,7 +967,17 @@ msgstr "" "Los cuadros están organizados desde el mas antiguo hasta el más reciente, en " "vez de el más reciente al más antiguo." -#: ../Doc/library/tracemalloc.rst:671 +#: ../Doc/library/tracemalloc.rst:734 +msgid "" +"Total number of frames that composed the traceback before truncation. This " +"attribute can be set to ``None`` if the information is not available." +msgstr "" + +#: ../Doc/library/tracemalloc.rst:738 +msgid "The :attr:`Traceback.total_nframe` attribute was added." +msgstr "" + +#: ../Doc/library/tracemalloc.rst:743 msgid "" "Format the traceback as a list of lines with newlines. Use the :mod:" "`linecache` module to retrieve lines from the source code. If *limit* is " @@ -912,7 +993,7 @@ msgstr "" "*most_recent_first* es ``True``, el orden de los cuadros formateados es " "invertido, retornando primero el cuadro más reciente en vez del último." -#: ../Doc/library/tracemalloc.rst:678 +#: ../Doc/library/tracemalloc.rst:750 msgid "" "Similar to the :func:`traceback.format_tb` function, except that :meth:`." "format` does not include newlines." @@ -920,10 +1001,14 @@ msgstr "" "Similar a la función :func:`traceback.format_tb`, excepto por el método :" "meth:`.format` que no incluye nuevas líneas." -#: ../Doc/library/tracemalloc.rst:681 +#: ../Doc/library/tracemalloc.rst:753 msgid "Example::" msgstr "Ejemplo::" -#: ../Doc/library/tracemalloc.rst:687 -msgid "Output::" -msgstr "Salida::" +#~ msgid "" +#~ "When a snapshot is taken, tracebacks of traces are limited to :func:" +#~ "`get_traceback_limit` frames. See the :func:`take_snapshot` function." +#~ msgstr "" +#~ "Cuando se toma una captura instantánea, los seguimientos de los rastros " +#~ "son limitados a :func:`get_traceback_limit` cuadros. Mira la función :" +#~ "func:`take_snapshot`." diff --git a/library/turtle.po b/library/turtle.po index a1010c8849..882d3b5d63 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2021-03-03 21:47-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" "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" "Generated-By: Babel 2.8.0\n" -"X-Generator: Poedit 2.4.2\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Language: es_AR\n" #: ../Doc/library/turtle.rst:3 msgid ":mod:`turtle` --- Turtle graphics" @@ -260,7 +259,7 @@ msgstr ":func:`setheading` | :func:`seth`" msgid ":func:`home`" msgstr ":func:`home`" -#: ../Doc/library/turtle.rst ../Doc/library/turtle.rst:2456 +#: ../Doc/library/turtle.rst ../Doc/library/turtle.rst:2459 msgid ":func:`circle`" msgstr ":func:`circle`" @@ -268,7 +267,7 @@ msgstr ":func:`circle`" msgid ":func:`dot`" msgstr ":func:`dot`" -#: ../Doc/library/turtle.rst ../Doc/library/turtle.rst:2434 +#: ../Doc/library/turtle.rst ../Doc/library/turtle.rst:2437 msgid ":func:`stamp`" msgstr ":func:`stamp`" @@ -404,11 +403,11 @@ msgstr ":func:`clear`" msgid ":func:`write`" msgstr ":func:`write`" -#: ../Doc/library/turtle.rst:172 ../Doc/library/turtle.rst:1115 +#: ../Doc/library/turtle.rst:172 ../Doc/library/turtle.rst:1117 msgid "Turtle state" msgstr "Estado de la Tortuga" -#: ../Doc/library/turtle.rst:161 ../Doc/library/turtle.rst:1118 +#: ../Doc/library/turtle.rst:161 ../Doc/library/turtle.rst:1120 msgid "Visibility" msgstr "Visibilidad" @@ -424,7 +423,7 @@ msgstr ":func:`hideturtle` | :func:`ht`" msgid ":func:`isvisible`" msgstr ":func:`isvisible`" -#: ../Doc/library/turtle.rst:172 ../Doc/library/turtle.rst:1157 +#: ../Doc/library/turtle.rst:172 ../Doc/library/turtle.rst:1159 msgid "Appearance" msgstr "Apariencia" @@ -464,11 +463,11 @@ msgstr ":func:`shapetransform`" msgid ":func:`get_shapepoly`" msgstr ":func:`get_shapepoly`" -#: ../Doc/library/turtle.rst:177 ../Doc/library/turtle.rst:1362 +#: ../Doc/library/turtle.rst:177 ../Doc/library/turtle.rst:1364 msgid "Using events" msgstr "Usando eventos" -#: ../Doc/library/turtle.rst ../Doc/library/turtle.rst:2428 +#: ../Doc/library/turtle.rst ../Doc/library/turtle.rst:2431 msgid ":func:`onclick`" msgstr ":func:`onclick`" @@ -476,11 +475,11 @@ msgstr ":func:`onclick`" msgid ":func:`onrelease`" msgstr ":func:`onrelease`" -#: ../Doc/library/turtle.rst ../Doc/library/turtle.rst:2411 +#: ../Doc/library/turtle.rst ../Doc/library/turtle.rst:2414 msgid ":func:`ondrag`" msgstr ":func:`ondrag`" -#: ../Doc/library/turtle.rst:188 ../Doc/library/turtle.rst:1435 +#: ../Doc/library/turtle.rst:188 ../Doc/library/turtle.rst:1438 msgid "Special Turtle methods" msgstr "Métodos especiales de *Turtle*" @@ -496,7 +495,7 @@ msgstr ":func:`end_poly`" msgid ":func:`get_poly`" msgstr ":func:`get_poly`" -#: ../Doc/library/turtle.rst ../Doc/library/turtle.rst:2447 +#: ../Doc/library/turtle.rst ../Doc/library/turtle.rst:2450 msgid ":func:`clone`" msgstr ":func:`clone`" @@ -520,7 +519,7 @@ msgstr ":func:`undobufferentries`" msgid "Methods of TurtleScreen/Screen" msgstr "Métodos de TurtleScreen/Screen" -#: ../Doc/library/turtle.rst:199 ../Doc/library/turtle.rst:1589 +#: ../Doc/library/turtle.rst:199 ../Doc/library/turtle.rst:1592 msgid "Window control" msgstr "Control de ventana" @@ -548,7 +547,7 @@ msgstr ":func:`screensize`" msgid ":func:`setworldcoordinates`" msgstr ":func:`setworldcoordinates`" -#: ../Doc/library/turtle.rst:204 ../Doc/library/turtle.rst:1706 +#: ../Doc/library/turtle.rst:204 ../Doc/library/turtle.rst:1709 msgid "Animation control" msgstr "Control de animación" @@ -564,7 +563,7 @@ msgstr ":func:`tracer`" msgid ":func:`update`" msgstr ":func:`update`" -#: ../Doc/library/turtle.rst:212 ../Doc/library/turtle.rst:1759 +#: ../Doc/library/turtle.rst:212 ../Doc/library/turtle.rst:1762 msgid "Using screen events" msgstr "Usando eventos de pantalla" @@ -592,7 +591,7 @@ msgstr ":func:`ontimer`" msgid ":func:`mainloop` | :func:`done`" msgstr ":func:`mainloop` | :func:`done`" -#: ../Doc/library/turtle.rst:222 ../Doc/library/turtle.rst:1904 +#: ../Doc/library/turtle.rst:222 ../Doc/library/turtle.rst:1907 msgid "Settings and special methods" msgstr "Configuración y métodos especiales" @@ -628,7 +627,7 @@ msgstr ":func:`window_height`" msgid ":func:`window_width`" msgstr ":func:`window_width`" -#: ../Doc/library/turtle.rst:226 ../Doc/library/turtle.rst:1868 +#: ../Doc/library/turtle.rst:226 ../Doc/library/turtle.rst:1871 msgid "Input methods" msgstr "Métodos de entrada" @@ -691,8 +690,8 @@ msgstr "" "en la que la tortuga apunta." #: ../Doc/library/turtle.rst:269 ../Doc/library/turtle.rst:473 -#: ../Doc/library/turtle.rst:748 ../Doc/library/turtle.rst:1256 -#: ../Doc/library/turtle.rst:1275 +#: ../Doc/library/turtle.rst:748 ../Doc/library/turtle.rst:1258 +#: ../Doc/library/turtle.rst:1277 msgid "a number" msgstr "un número" @@ -985,11 +984,12 @@ msgid "a number if *x* is a number, else ``None``" msgstr "un número si *x* es un número, si no ``None``" #: ../Doc/library/turtle.rst:663 +#, fuzzy msgid "" "Return the angle between the line from turtle position to position specified " "by (x,y), the vector or the other turtle. This depends on the turtle's " "start orientation which depends on the mode - \"standard\"/\"world\" or " -"\"logo\")." +"\"logo\"." msgstr "" "Devuelve el ángulo entre la línea en la posición de la tortuga a la posición " "especificada en (x, y), el vector o la otra tortuga. Esto depende de la " @@ -1186,7 +1186,7 @@ msgstr "" "*b*. Cada valor *r*, *g*, y *b* debe ser un valor entero en el rango 0.." "colormode, donde colormode es 1.0 o 255 (ver :func:`colormode`)." -#: ../Doc/library/turtle.rst:917 +#: ../Doc/library/turtle.rst:914 msgid "``pencolor(r, g, b)``" msgstr "``pencolor(r, g, b)``" @@ -1251,7 +1251,7 @@ msgstr "" "*b*. Cada uno de los valores *r*, *g*, y *b* debe estar en el rango 0.." "colormode, donde *colormode* es 1.0 o 255 (ver :func:`colormode`)." -#: ../Doc/library/turtle.rst:966 +#: ../Doc/library/turtle.rst:963 msgid "``fillcolor(r, g, b)``" msgstr "``fillcolor(r, g, b)``" @@ -1310,7 +1310,7 @@ msgstr "" "Entradas como en :func:`pencolor`, establece al valor dado tanto, " "*fillcolor* como *pencolor*." -#: ../Doc/library/turtle.rst:1005 +#: ../Doc/library/turtle.rst:1002 msgid "" "``color(colorstring1, colorstring2)``, ``color((r1,g1,b1), (r2,g2,b2))``" msgstr "" @@ -1363,7 +1363,7 @@ msgstr "" "la flecha de la tortuga de arriba, puede ser toda amarilla o tener algunas " "regiones blancas." -#: ../Doc/library/turtle.rst:1073 +#: ../Doc/library/turtle.rst:1074 msgid "" "Delete the turtle's drawings from the screen, re-center the turtle and set " "variables to the default values." @@ -1371,7 +1371,7 @@ msgstr "" "Borra el dibujo de la tortuga de la pantalla, centra la tortuga y establece " "las variables a los valores por defecto." -#: ../Doc/library/turtle.rst:1094 +#: ../Doc/library/turtle.rst:1096 msgid "" "Delete the turtle's drawings from the screen. Do not move turtle. State " "and position of the turtle as well as drawings of other turtles are not " @@ -1381,28 +1381,29 @@ msgstr "" "y posición de la tortuga así como los todos los dibujos de las otras " "tortugas no son afectados." -#: ../Doc/library/turtle.rst:1100 +#: ../Doc/library/turtle.rst:1102 msgid "object to be written to the TurtleScreen" msgstr "objeto que se escribirá en *TurtleScreen*" -#: ../Doc/library/turtle.rst:1101 +#: ../Doc/library/turtle.rst:1103 msgid "True/False" msgstr "True/False" -#: ../Doc/library/turtle.rst:1102 +#: ../Doc/library/turtle.rst:1104 msgid "one of the strings \"left\", \"center\" or right\"" msgstr "una de las frases \"*left*\", \"*center*\" o \"*right*\"" -#: ../Doc/library/turtle.rst:1103 +#: ../Doc/library/turtle.rst:1105 msgid "a triple (fontname, fontsize, fonttype)" msgstr "un trio (nombre de fuente, tamaño de fuente, tipo de fuente)" -#: ../Doc/library/turtle.rst:1105 +#: ../Doc/library/turtle.rst:1107 +#, fuzzy msgid "" "Write text - the string representation of *arg* - at the current turtle " -"position according to *align* (\"left\", \"center\" or right\") and with the " -"given font. If *move* is true, the pen is moved to the bottom-right corner " -"of the text. By default, *move* is ``False``." +"position according to *align* (\"left\", \"center\" or \"right\") and with " +"the given font. If *move* is true, the pen is moved to the bottom-right " +"corner of the text. By default, *move* is ``False``." msgstr "" "Escribe un texto la representación de la cadena de caracteres de *arg* en " "la posición actual de la tortuga de acuerdo a el alineamiento *align* " @@ -1410,7 +1411,7 @@ msgstr "" "Si *move* es verdadero, el lápiz se mueve a la esquina inferior derecha del " "texto. Por defecto, *move* es ``False``." -#: ../Doc/library/turtle.rst:1123 +#: ../Doc/library/turtle.rst:1125 msgid "" "Make the turtle invisible. It's a good idea to do this while you're in the " "middle of doing some complex drawing, because hiding the turtle speeds up " @@ -1420,19 +1421,19 @@ msgstr "" "haciendo dibujos complejos, ya que esconder a la tortuga acelera dibujo de " "manera observable." -#: ../Doc/library/turtle.rst:1136 +#: ../Doc/library/turtle.rst:1138 msgid "Make the turtle visible." msgstr "Hace visible la tortuga." -#: ../Doc/library/turtle.rst:1146 +#: ../Doc/library/turtle.rst:1148 msgid "Return ``True`` if the Turtle is shown, ``False`` if it's hidden." msgstr "Devuelve ``True`` si la tortuga se muestra, ``False`` si está oculta." -#: ../Doc/library/turtle.rst:1161 +#: ../Doc/library/turtle.rst:1163 msgid "a string which is a valid shapename" msgstr "una cadena de caracteres que es un nombre de forma válido" -#: ../Doc/library/turtle.rst:1163 +#: ../Doc/library/turtle.rst:1165 msgid "" "Set turtle shape to shape with given *name* or, if name is not given, return " "name of current shape. Shape with *name* must exist in the TurtleScreen's " @@ -1448,11 +1449,11 @@ msgstr "" "como trabajar con estas formas ver los métodos de Screen :func:" "`register_shape`." -#: ../Doc/library/turtle.rst:1181 +#: ../Doc/library/turtle.rst:1183 msgid "one of the strings \"auto\", \"user\", \"noresize\"" msgstr "una de las cadenas \"*auto*\", \"*user*\", \"*noresize*\"" -#: ../Doc/library/turtle.rst:1183 +#: ../Doc/library/turtle.rst:1185 msgid "" "Set resizemode to one of the values: \"auto\", \"user\", \"noresize\". If " "*rmode* is not given, return current resizemode. Different resizemodes have " @@ -1462,7 +1463,7 @@ msgstr "" "\"*noresize*\". Si *mode* no se aporta, devuelve el actual *resizemode*. " "Distintos *resizemode* tienen los siguientes efectos:" -#: ../Doc/library/turtle.rst:1187 +#: ../Doc/library/turtle.rst:1189 msgid "" "\"auto\": adapts the appearance of the turtle corresponding to the value of " "pensize." @@ -1470,7 +1471,7 @@ msgstr "" "\"*auto*\": adapta la apariencia de la tortuga al correspondiente valor del " "lápiz." -#: ../Doc/library/turtle.rst:1188 +#: ../Doc/library/turtle.rst:1190 msgid "" "\"user\": adapts the appearance of the turtle according to the values of " "stretchfactor and outlinewidth (outline), which are set by :func:`shapesize`." @@ -1479,23 +1480,25 @@ msgstr "" "*sretchfactor* y *outlinewidth* (contorno), que se establece con la función :" "func:`shapesize`." -#: ../Doc/library/turtle.rst:1191 +#: ../Doc/library/turtle.rst:1193 msgid "\"noresize\": no adaption of the turtle's appearance takes place." msgstr "\"*noresize*\": no se adapta la apariencia de la tortuga." -#: ../Doc/library/turtle.rst:1193 +#: ../Doc/library/turtle.rst:1195 +#, fuzzy msgid "" -"resizemode(\"user\") is called by :func:`shapesize` when used with arguments." +"``resizemode(\"user\")`` is called by :func:`shapesize` when used with " +"arguments." msgstr "" "*resizemode(\"user\")* es llamado por la función :func:`shapesize` cuando se " "usa con argumentos." -#: ../Doc/library/turtle.rst:1208 ../Doc/library/turtle.rst:1209 -#: ../Doc/library/turtle.rst:1210 +#: ../Doc/library/turtle.rst:1210 ../Doc/library/turtle.rst:1211 +#: ../Doc/library/turtle.rst:1212 msgid "positive number" msgstr "número positivo" -#: ../Doc/library/turtle.rst:1212 +#: ../Doc/library/turtle.rst:1214 msgid "" "Return or set the pen's attributes x/y-stretchfactors and/or outline. Set " "resizemode to \"user\". If and only if resizemode is set to \"user\", the " @@ -1512,13 +1515,15 @@ msgstr "" "estiramiento en dirección a su orientación, *outline* determina el grosor de " "contorno de la forma." -#: ../Doc/library/turtle.rst:1235 ../Doc/library/turtle.rst:1887 -#: ../Doc/library/turtle.rst:1888 ../Doc/library/turtle.rst:1889 +#: ../Doc/library/turtle.rst:1237 ../Doc/library/turtle.rst:1890 +#: ../Doc/library/turtle.rst:1891 ../Doc/library/turtle.rst:1892 msgid "number (optional)" msgstr "número (opcional)" -# shearfacto se refiere a una inclinación y estiramiento, gira y estira la figura por un factor. No se si hay alguna palabra mejor que inclinar o estirar. -#: ../Doc/library/turtle.rst:1237 +# shearfacto se refiere a una inclinación y estiramiento, gira y estira la +# figura por un factor. No se si hay alguna palabra mejor que inclinar o +# estirar. +#: ../Doc/library/turtle.rst:1239 msgid "" "Set or return the current shearfactor. Shear the turtleshape according to " "the given shearfactor shear, which is the tangent of the shear angle. Do " @@ -1533,7 +1538,7 @@ msgstr "" "por ejemplo la tangente del ángulo de inclinación, por el cual se cortan la " "líneas paralelas al rumbo de la tortuga." -#: ../Doc/library/turtle.rst:1258 +#: ../Doc/library/turtle.rst:1260 msgid "" "Rotate the turtleshape by *angle* from its current tilt-angle, but do *not* " "change the turtle's heading (direction of movement)." @@ -1541,7 +1546,7 @@ msgstr "" "Rota la forma de la tortuga en *ángulo* desde su ángulo de inclinación " "actual, pero no cambia el rumbo de la tortuga (dirección del movimiento)." -#: ../Doc/library/turtle.rst:1277 +#: ../Doc/library/turtle.rst:1279 msgid "" "Rotate the turtleshape to point in the direction specified by *angle*, " "regardless of its current tilt-angle. *Do not* change the turtle's heading " @@ -1551,13 +1556,13 @@ msgstr "" "*ángulo*, independientemente de su ángulo de dirección actual. No cambia el " "rumbo de la tortuga (dirección de movimiento)." -#: ../Doc/library/turtle.rst:1297 ../Doc/library/turtle.rst:1320 -#: ../Doc/library/turtle.rst:1321 ../Doc/library/turtle.rst:1322 -#: ../Doc/library/turtle.rst:1323 +#: ../Doc/library/turtle.rst:1299 ../Doc/library/turtle.rst:1322 +#: ../Doc/library/turtle.rst:1323 ../Doc/library/turtle.rst:1324 +#: ../Doc/library/turtle.rst:1325 msgid "a number (optional)" msgstr "un número (opcional)" -#: ../Doc/library/turtle.rst:1299 +#: ../Doc/library/turtle.rst:1301 msgid "" "Set or return the current tilt-angle. If angle is given, rotate the " "turtleshape to point in the direction specified by angle, regardless of its " @@ -1574,18 +1579,19 @@ msgstr "" "entre la orientación de la forma de la tortuga y el rumbo de la tortuga (su " "dirección de movimiento)." -#: ../Doc/library/turtle.rst:1325 +#: ../Doc/library/turtle.rst:1327 msgid "Set or return the current transformation matrix of the turtle shape." msgstr "" "Establece o devuelve la matriz de transformación actual de la forma de la " "tortuga." -#: ../Doc/library/turtle.rst:1327 +#: ../Doc/library/turtle.rst:1329 +#, fuzzy msgid "" "If none of the matrix elements are given, return the transformation matrix " "as a tuple of 4 elements. Otherwise set the given elements and transform the " "turtleshape according to the matrix consisting of first row t11, t12 and " -"second row t21, 22. The determinant t11 * t22 - t12 * t21 must not be zero, " +"second row t21, t22. The determinant t11 * t22 - t12 * t21 must not be zero, " "otherwise an error is raised. Modify stretchfactor, shearfactor and " "tiltangle according to the given matrix." msgstr "" @@ -1597,7 +1603,7 @@ msgstr "" "lo contrario se genera un error. Modificar el factor de estiramiento, factor " "de corte y el ángulo de inclinación de acuerdo con la matriz dada." -#: ../Doc/library/turtle.rst:1349 +#: ../Doc/library/turtle.rst:1351 msgid "" "Return the current shape polygon as tuple of coordinate pairs. This can be " "used to define a new shape or components of a compound shape." @@ -1606,8 +1612,8 @@ msgstr "" "Esto puede ser usado para definir una nueva forma o componentes de una forma " "compuesta." -#: ../Doc/library/turtle.rst:1366 ../Doc/library/turtle.rst:1388 -#: ../Doc/library/turtle.rst:1413 ../Doc/library/turtle.rst:1811 +#: ../Doc/library/turtle.rst:1369 ../Doc/library/turtle.rst:1391 +#: ../Doc/library/turtle.rst:1416 ../Doc/library/turtle.rst:1814 msgid "" "a function with two arguments which will be called with the coordinates of " "the clicked point on the canvas" @@ -1615,15 +1621,15 @@ msgstr "" "una función con dos argumentos que se invocará con las coordenadas del punto " "en el que se hizo clic en el lienzo" -#: ../Doc/library/turtle.rst:1368 ../Doc/library/turtle.rst:1390 -#: ../Doc/library/turtle.rst:1415 ../Doc/library/turtle.rst:1813 +#: ../Doc/library/turtle.rst:1371 ../Doc/library/turtle.rst:1393 +#: ../Doc/library/turtle.rst:1418 ../Doc/library/turtle.rst:1816 msgid "number of the mouse-button, defaults to 1 (left mouse button)" msgstr "" "número del botón del mouse, el valor predeterminado es 1 (botón izquierdo " "del mouse)" -#: ../Doc/library/turtle.rst:1369 ../Doc/library/turtle.rst:1391 -#: ../Doc/library/turtle.rst:1416 ../Doc/library/turtle.rst:1814 +#: ../Doc/library/turtle.rst:1372 ../Doc/library/turtle.rst:1394 +#: ../Doc/library/turtle.rst:1419 ../Doc/library/turtle.rst:1817 msgid "" "``True`` or ``False`` -- if ``True``, a new binding will be added, otherwise " "it will replace a former binding" @@ -1631,7 +1637,7 @@ msgstr "" "``True`` o ``False`` -- si es ``True``, se agrega un nuevo enlace, de lo " "contrario reemplazará el enlace anterior" -#: ../Doc/library/turtle.rst:1372 +#: ../Doc/library/turtle.rst:1375 msgid "" "Bind *fun* to mouse-click events on this turtle. If *fun* is ``None``, " "existing bindings are removed. Example for the anonymous turtle, i.e. the " @@ -1641,7 +1647,7 @@ msgstr "" "*accion* es ``None``, las acciones asociadas son borradas. Ejemplo para la " "tortuga anónima, en la forma procedimental:" -#: ../Doc/library/turtle.rst:1394 +#: ../Doc/library/turtle.rst:1397 msgid "" "Bind *fun* to mouse-button-release events on this turtle. If *fun* is " "``None``, existing bindings are removed." @@ -1649,7 +1655,7 @@ msgstr "" "Enlaza *acciones divertidas* a eventos del tipo soltar botón del mouse en la " "tortuga. SI la *acción* es ``None``, las acciones asociadas son borradas." -#: ../Doc/library/turtle.rst:1419 +#: ../Doc/library/turtle.rst:1422 msgid "" "Bind *fun* to mouse-move events on this turtle. If *fun* is ``None``, " "existing bindings are removed." @@ -1657,7 +1663,7 @@ msgstr "" "Enlaza *acciones divertidas* a eventos en los movimientos del mouse. Si la " "*acción* es ``None``, las acciones asociadas son borradas." -#: ../Doc/library/turtle.rst:1422 +#: ../Doc/library/turtle.rst:1425 msgid "" "Remark: Every sequence of mouse-move-events on a turtle is preceded by a " "mouse-click event on that turtle." @@ -1665,7 +1671,7 @@ msgstr "" "Observación: cada secuencia de los eventos de movimiento del mouse en una " "tortuga es precedida por un evento de click del mouse en esa tortuga." -#: ../Doc/library/turtle.rst:1430 +#: ../Doc/library/turtle.rst:1433 msgid "" "Subsequently, clicking and dragging the Turtle will move it across the " "screen thereby producing handdrawings (if pen is down)." @@ -1673,7 +1679,7 @@ msgstr "" "Subsecuentemente, clickear y arrastrar la Tortuga la moverá a través de la " "pantalla produciendo dibujos a mano alzada (si el lápiz está abajo)." -#: ../Doc/library/turtle.rst:1439 +#: ../Doc/library/turtle.rst:1442 msgid "" "Start recording the vertices of a polygon. Current turtle position is first " "vertex of polygon." @@ -1681,7 +1687,7 @@ msgstr "" "Comienza a grabar los vértices de un polígono. La posición actual de la " "tortuga es el primer vértice del polígono." -#: ../Doc/library/turtle.rst:1445 +#: ../Doc/library/turtle.rst:1448 msgid "" "Stop recording the vertices of a polygon. Current turtle position is last " "vertex of polygon. This will be connected with the first vertex." @@ -1689,11 +1695,11 @@ msgstr "" "Deja de grabar los vértices de un polígono. La posición actual de la tortuga " "es el último vértice del polígono. Esto se conectará con el primer vértice." -#: ../Doc/library/turtle.rst:1451 +#: ../Doc/library/turtle.rst:1454 msgid "Return the last recorded polygon." msgstr "Devuelve el último polígono grabado." -#: ../Doc/library/turtle.rst:1470 +#: ../Doc/library/turtle.rst:1473 msgid "" "Create and return a clone of the turtle with same position, heading and " "turtle properties." @@ -1701,7 +1707,7 @@ msgstr "" "Crea y devuelve un clon de la tortuga con la misma posición, dirección y " "propiedades de la tortuga." -#: ../Doc/library/turtle.rst:1483 +#: ../Doc/library/turtle.rst:1486 msgid "" "Return the Turtle object itself. Only reasonable use: as a function to " "return the \"anonymous turtle\":" @@ -1711,7 +1717,7 @@ msgstr "" # Return the TurtleScreen object the turtle is drawing on. # no se si "sobre el cual" es la traducción adecuada. -#: ../Doc/library/turtle.rst:1497 +#: ../Doc/library/turtle.rst:1500 msgid "" "Return the :class:`TurtleScreen` object the turtle is drawing on. " "TurtleScreen methods can then be called for that object." @@ -1720,13 +1726,14 @@ msgstr "" "dibujando. Los métodos *TurtleScreen* luego pueden ser llamados para ese " "objeto." -#: ../Doc/library/turtle.rst:1511 +#: ../Doc/library/turtle.rst:1514 msgid "an integer or ``None``" msgstr "un entero o ``None``" -#: ../Doc/library/turtle.rst:1513 +#: ../Doc/library/turtle.rst:1516 +#, fuzzy msgid "" -"Set or disable undobuffer. If *size* is an integer an empty undobuffer of " +"Set or disable undobuffer. If *size* is an integer, an empty undobuffer of " "given size is installed. *size* gives the maximum number of turtle actions " "that can be undone by the :func:`undo` method/function. If *size* is " "``None``, the undobuffer is disabled." @@ -1737,15 +1744,15 @@ msgstr "" "método :func:`undo`. Si *size* es ``None``, se deshabilita el buffer para " "deshacer acciones." -#: ../Doc/library/turtle.rst:1526 +#: ../Doc/library/turtle.rst:1529 msgid "Return number of entries in the undobuffer." msgstr "Devuelve el número de entradas en el buffer para deshacer acciones." -#: ../Doc/library/turtle.rst:1539 +#: ../Doc/library/turtle.rst:1542 msgid "Compound shapes" msgstr "Formas compuestas" -#: ../Doc/library/turtle.rst:1541 +#: ../Doc/library/turtle.rst:1544 msgid "" "To use compound turtle shapes, which consist of several polygons of " "different color, you must use the helper class :class:`Shape` explicitly as " @@ -1755,11 +1762,11 @@ msgstr "" "de diferentes colores, deberá usar la clase de ayuda :class:`Shape` " "explícitamente como se describe debajo:" -#: ../Doc/library/turtle.rst:1545 +#: ../Doc/library/turtle.rst:1548 msgid "Create an empty Shape object of type \"compound\"." msgstr "Crear una objeto de forma vacía del tipo *compound*." -#: ../Doc/library/turtle.rst:1546 +#: ../Doc/library/turtle.rst:1549 msgid "" "Add as many components to this object as desired, using the :meth:" "`addcomponent` method." @@ -1767,15 +1774,15 @@ msgstr "" "Agregar todos los componentes deseados a este objeto, usando el método :meth:" "`addcomponent`." -#: ../Doc/library/turtle.rst:1549 +#: ../Doc/library/turtle.rst:1552 msgid "For example:" msgstr "Por ejemplo:" -#: ../Doc/library/turtle.rst:1560 +#: ../Doc/library/turtle.rst:1563 msgid "Now add the Shape to the Screen's shapelist and use it:" msgstr "Ahora agregar la forma a la lista de formas de la pantalla y úsela:" -#: ../Doc/library/turtle.rst:1571 +#: ../Doc/library/turtle.rst:1574 msgid "" "The :class:`Shape` class is used internally by the :func:`register_shape` " "method in different ways. The application programmer has to deal with the " @@ -1786,11 +1793,11 @@ msgstr "" "clase *Shape* ¡solo cuando use formas compuestas como las que se mostraron " "arriba!" -#: ../Doc/library/turtle.rst:1577 +#: ../Doc/library/turtle.rst:1580 msgid "Methods of TurtleScreen/Screen and corresponding functions" msgstr "Métodos de *TurtleScreen/Screen* y sus correspondientes funciones" -#: ../Doc/library/turtle.rst:1579 +#: ../Doc/library/turtle.rst:1582 msgid "" "Most of the examples in this section refer to a TurtleScreen instance called " "``screen``." @@ -1798,7 +1805,7 @@ msgstr "" "La mayoría de los ejemplos en esta sección se refieren a la instancia de " "*TurtleScreen* llamada ``screen``." -#: ../Doc/library/turtle.rst:1593 +#: ../Doc/library/turtle.rst:1596 msgid "" "a color string or three numbers in the range 0..colormode or a 3-tuple of " "such numbers" @@ -1806,15 +1813,15 @@ msgstr "" "una cadena de color o tres números en el rango 0..*colormode* o una tupla de " "3 de esos números" -#: ../Doc/library/turtle.rst:1597 +#: ../Doc/library/turtle.rst:1600 msgid "Set or return background color of the TurtleScreen." msgstr "Establece o devuelve el color de fondo de *TurtleScreen*." -#: ../Doc/library/turtle.rst:1612 +#: ../Doc/library/turtle.rst:1615 msgid "a string, name of a gif-file or ``\"nopic\"``, or ``None``" msgstr "una cadena, nombre o archivo gif o ``\"nopic\"``, o ``None``" -#: ../Doc/library/turtle.rst:1614 +#: ../Doc/library/turtle.rst:1617 msgid "" "Set background image or return name of current backgroundimage. If " "*picname* is a filename, set the corresponding image as background. If " @@ -1827,7 +1834,7 @@ msgstr "" "de fondo, si hay alguna presente. Si *picname* es ``None``, devuelve el " "nombre de archivo de la imagen de fondo actual. ::" -#: ../Doc/library/turtle.rst:1629 +#: ../Doc/library/turtle.rst:1632 msgid "" "Delete all drawings and all turtles from the TurtleScreen. Reset the now " "empty TurtleScreen to its initial state: white background, no background " @@ -1837,7 +1844,7 @@ msgstr "" "Reinicia la ahora vacía pantalla de la tortuga a su estado inicial: fondo " "blanco, sin imagen de fondo, sin enlaces a eventos o seguimientos." -#: ../Doc/library/turtle.rst:1634 +#: ../Doc/library/turtle.rst:1637 msgid "" "This TurtleScreen method is available as a global function only under the " "name ``clearscreen``. The global function ``clear`` is a different one " @@ -1847,11 +1854,11 @@ msgstr "" "bajo el nombre `clearscreen``. La función global ``clear`` es otra, derivada " "del método de *Turtle* ``clear``." -#: ../Doc/library/turtle.rst:1642 +#: ../Doc/library/turtle.rst:1645 msgid "Reset all Turtles on the Screen to their initial state." msgstr "Reinicia todas las tortugas de la pantalla a su estado inicial." -#: ../Doc/library/turtle.rst:1645 +#: ../Doc/library/turtle.rst:1648 msgid "" "This TurtleScreen method is available as a global function only under the " "name ``resetscreen``. The global function ``reset`` is another one derived " @@ -1861,19 +1868,19 @@ msgstr "" "el nombre ``resetscreen``. La función global ``reset`` es otra, derivada del " "método *Turtle* ``reset``." -#: ../Doc/library/turtle.rst:1652 +#: ../Doc/library/turtle.rst:1655 msgid "positive integer, new width of canvas in pixels" msgstr "entero positivo, nueva anchura del lienzo en pixeles" -#: ../Doc/library/turtle.rst:1653 +#: ../Doc/library/turtle.rst:1656 msgid "positive integer, new height of canvas in pixels" msgstr "entero positivo, nueva altura del lienzo en pixeles" -#: ../Doc/library/turtle.rst:1654 +#: ../Doc/library/turtle.rst:1657 msgid "colorstring or color-tuple, new background color" msgstr "*colorstrng* o tupla de color, muevo color de fondo" -#: ../Doc/library/turtle.rst:1656 +#: ../Doc/library/turtle.rst:1659 msgid "" "If no arguments are given, return current (canvaswidth, canvasheight). Else " "resize the canvas the turtles are drawing on. Do not alter the drawing " @@ -1887,27 +1894,27 @@ msgstr "" "desplazamiento. Con este método, se pueden hacer visibles aquellas partes de " "un dibujo que antes estaban fuera del lienzo." -#: ../Doc/library/turtle.rst:1668 +#: ../Doc/library/turtle.rst:1671 msgid "e.g. to search for an erroneously escaped turtle ;-)" msgstr "ej. buscar una tortuga que se escapó por error ;-)" -#: ../Doc/library/turtle.rst:1673 +#: ../Doc/library/turtle.rst:1676 msgid "a number, x-coordinate of lower left corner of canvas" msgstr "un número, coordenada x de la esquina inferior izquierda del lienzo" -#: ../Doc/library/turtle.rst:1674 +#: ../Doc/library/turtle.rst:1677 msgid "a number, y-coordinate of lower left corner of canvas" msgstr "un número, coordenada y de la esquina inferior izquierda del lienzo" -#: ../Doc/library/turtle.rst:1675 +#: ../Doc/library/turtle.rst:1678 msgid "a number, x-coordinate of upper right corner of canvas" msgstr "un número, coordenada x de la esquina superior derecha del lienzo" -#: ../Doc/library/turtle.rst:1676 +#: ../Doc/library/turtle.rst:1679 msgid "a number, y-coordinate of upper right corner of canvas" msgstr "un número, coordenada z de la esquina superior derecha del lienzo" -#: ../Doc/library/turtle.rst:1678 +#: ../Doc/library/turtle.rst:1681 msgid "" "Set up user-defined coordinate system and switch to mode \"world\" if " "necessary. This performs a ``screen.reset()``. If mode \"world\" is " @@ -1917,7 +1924,7 @@ msgstr "" "es necesario. Esto realiza un ``screen.reset()``. Si el modo *world* ya está " "activo, todos los dibujos se re dibujan de acuerdo a las nuevas coordenadas." -#: ../Doc/library/turtle.rst:1682 +#: ../Doc/library/turtle.rst:1685 msgid "" "**ATTENTION**: in user-defined coordinate systems angles may appear " "distorted." @@ -1925,11 +1932,11 @@ msgstr "" "**ATENCIÓN**: en los sistemas de coordenadas definidos por el usuario, los " "ángulos pueden aparecer distorsionados." -#: ../Doc/library/turtle.rst:1710 +#: ../Doc/library/turtle.rst:1713 msgid "positive integer" msgstr "entero positivo" -#: ../Doc/library/turtle.rst:1712 +#: ../Doc/library/turtle.rst:1715 msgid "" "Set or return the drawing *delay* in milliseconds. (This is approximately " "the time interval between two consecutive canvas updates.) The longer the " @@ -1940,16 +1947,16 @@ msgstr "" "consecutivas del lienzo). Mientras más largo sea el retraso, más lenta la " "animación." -#: ../Doc/library/turtle.rst:1716 +#: ../Doc/library/turtle.rst:1719 msgid "Optional argument:" msgstr "Argumento opcional:" -#: ../Doc/library/turtle.rst:1730 ../Doc/library/turtle.rst:1731 +#: ../Doc/library/turtle.rst:1733 ../Doc/library/turtle.rst:1734 msgid "nonnegative integer" msgstr "entero no negativo" # n-th lo enconté como enésima, pero no se si se entiende la frase -#: ../Doc/library/turtle.rst:1733 +#: ../Doc/library/turtle.rst:1736 msgid "" "Turn turtle animation on/off and set delay for update drawings. If *n* is " "given, only each n-th regular screen update is really performed. (Can be " @@ -1964,17 +1971,17 @@ msgstr "" "el valor de *n* guardado actualmente. El segundo argumento establece el " "valor de retraso (ver :func:`delay`)." -#: ../Doc/library/turtle.rst:1753 +#: ../Doc/library/turtle.rst:1756 msgid "Perform a TurtleScreen update. To be used when tracer is turned off." msgstr "" "Realiza una actualización de la pantalla de la tortuga. Para ser usada " "cuando *tracer* está deshabilitada." -#: ../Doc/library/turtle.rst:1755 +#: ../Doc/library/turtle.rst:1758 msgid "See also the RawTurtle/Turtle method :func:`speed`." msgstr "Ver también el método *RawTurtle/Turtle* :func:`speed`." -#: ../Doc/library/turtle.rst:1763 +#: ../Doc/library/turtle.rst:1766 msgid "" "Set focus on TurtleScreen (in order to collect key-events). Dummy arguments " "are provided in order to be able to pass :func:`listen` to the onclick " @@ -1984,17 +1991,17 @@ msgstr "" "teclado). Los argumentos *dummy* se proveen en orden de ser capaces de " "pasar :func:`listen` a los métodos *onclick*." -#: ../Doc/library/turtle.rst:1770 ../Doc/library/turtle.rst:1790 +#: ../Doc/library/turtle.rst:1773 ../Doc/library/turtle.rst:1793 msgid "a function with no arguments or ``None``" msgstr "una función sin argumentos o ``None``" -#: ../Doc/library/turtle.rst:1771 ../Doc/library/turtle.rst:1791 +#: ../Doc/library/turtle.rst:1774 ../Doc/library/turtle.rst:1794 msgid "a string: key (e.g. \"a\") or key-symbol (e.g. \"space\")" msgstr "" "una cadena de caracteres: tecla (por ejemplo, \"a\") o una acción del " "teclado (por ejemplo, \"space\")" -#: ../Doc/library/turtle.rst:1773 +#: ../Doc/library/turtle.rst:1776 msgid "" "Bind *fun* to key-release event of key. If *fun* is ``None``, event " "bindings are removed. Remark: in order to be able to register key-events, " @@ -2005,7 +2012,7 @@ msgstr "" "eventos de teclado, *TurtleScreen* tiene que tener el foco. (ver el método :" "func:`listen`.)" -#: ../Doc/library/turtle.rst:1793 +#: ../Doc/library/turtle.rst:1796 msgid "" "Bind *fun* to key-press event of key if key is given, or to any key-press-" "event if no key is given. Remark: in order to be able to register key-" @@ -2016,7 +2023,7 @@ msgstr "" "de teclado, *TurtleScreen* tiene que tener el foco. (ver el método :func:" "`listen`.)" -#: ../Doc/library/turtle.rst:1817 +#: ../Doc/library/turtle.rst:1820 msgid "" "Bind *fun* to mouse-click events on this screen. If *fun* is ``None``, " "existing bindings are removed." @@ -2024,15 +2031,16 @@ msgstr "" "Vincula *fun* a eventos de click del mouse en esta pantalla. Si *fun* es " "``None``, los vínculos existentes son removidos." -#: ../Doc/library/turtle.rst:1820 +#: ../Doc/library/turtle.rst:1823 +#, fuzzy msgid "" "Example for a TurtleScreen instance named ``screen`` and a Turtle instance " -"named turtle:" +"named ``turtle``:" msgstr "" "Ejemplo de una instancia *TurtleScreen* llamada ``screen`` y una instancia " "*Turtle* llamada turtle:" -#: ../Doc/library/turtle.rst:1831 +#: ../Doc/library/turtle.rst:1834 msgid "" "This TurtleScreen method is available as a global function only under the " "name ``onscreenclick``. The global function ``onclick`` is another one " @@ -2042,19 +2050,19 @@ msgstr "" "el nombre `onscreenclick``. La función global ``onclick`` es otra derivada " "del método Turtle ``onclick``." -#: ../Doc/library/turtle.rst:1838 +#: ../Doc/library/turtle.rst:1841 msgid "a function with no arguments" msgstr "una función sin argumentos" -#: ../Doc/library/turtle.rst:1839 +#: ../Doc/library/turtle.rst:1842 msgid "a number >= 0" msgstr "un número >= 0" -#: ../Doc/library/turtle.rst:1841 +#: ../Doc/library/turtle.rst:1844 msgid "Install a timer that calls *fun* after *t* milliseconds." msgstr "Instala un temporizador que llama a *fun* cada *t* milisegundos." -#: ../Doc/library/turtle.rst:1859 +#: ../Doc/library/turtle.rst:1862 msgid "" "Starts event loop - calling Tkinter's mainloop function. Must be the last " "statement in a turtle graphics program. Must *not* be used if a script is " @@ -2066,12 +2074,12 @@ msgstr "" "*No* debe ser usado si algún script es corrido dentro del IDLE en modo -n " "(Sin subproceso) - para uso interactivo de gráficos turtle.::" -#: ../Doc/library/turtle.rst:1872 ../Doc/library/turtle.rst:1873 -#: ../Doc/library/turtle.rst:1885 ../Doc/library/turtle.rst:1886 +#: ../Doc/library/turtle.rst:1875 ../Doc/library/turtle.rst:1876 +#: ../Doc/library/turtle.rst:1888 ../Doc/library/turtle.rst:1889 msgid "string" msgstr "cadena de caracteres" -#: ../Doc/library/turtle.rst:1875 +#: ../Doc/library/turtle.rst:1878 msgid "" "Pop up a dialog window for input of a string. Parameter title is the title " "of the dialog window, prompt is a text mostly describing what information to " @@ -2083,7 +2091,7 @@ msgstr "" "texto que usualmente describe que información se debe ingresar. Devuelve la " "cadena ingresada. Si el diálogo es cancelado, devuelve `None``. ::" -#: ../Doc/library/turtle.rst:1891 +#: ../Doc/library/turtle.rst:1894 msgid "" "Pop up a dialog window for input of a number. title is the title of the " "dialog window, prompt is a text mostly describing what numerical information " @@ -2102,11 +2110,11 @@ msgstr "" "para su corrección. Devuelve el número ingresado. Si el diálogo es " "cancelado, devuelve ``None``.::" -#: ../Doc/library/turtle.rst:1908 +#: ../Doc/library/turtle.rst:1911 msgid "one of the strings \"standard\", \"logo\" or \"world\"" msgstr "una de las cadenas *\"standard\"*, *\"logo*\" o *\"world*\"" -#: ../Doc/library/turtle.rst:1910 +#: ../Doc/library/turtle.rst:1913 msgid "" "Set turtle mode (\"standard\", \"logo\" or \"world\") and perform reset. If " "mode is not given, current mode is returned." @@ -2114,7 +2122,7 @@ msgstr "" "Establece el mode de la tortuga (*\"standard\"*, *\"logo\"* o *\"world\"*) " "y realiza un reinicio. Si no se da \"*mode*\", retorna el modo actual." -#: ../Doc/library/turtle.rst:1913 +#: ../Doc/library/turtle.rst:1916 msgid "" "Mode \"standard\" is compatible with old :mod:`turtle`. Mode \"logo\" is " "compatible with most Logo turtle graphics. Mode \"world\" uses user-defined " @@ -2127,47 +2135,47 @@ msgstr "" "**Atención**: en este modo los ángulos aparecen distorsionados si la " "relación de unidad ``x/y`` no es igual a 1." -#: ../Doc/library/turtle.rst:1919 +#: ../Doc/library/turtle.rst:1922 msgid "Mode" msgstr "Modo" -#: ../Doc/library/turtle.rst:1919 +#: ../Doc/library/turtle.rst:1922 msgid "Initial turtle heading" msgstr "Rumbo inicial de la tortuga" -#: ../Doc/library/turtle.rst:1919 +#: ../Doc/library/turtle.rst:1922 msgid "positive angles" msgstr "ángulos positivos" -#: ../Doc/library/turtle.rst:1921 +#: ../Doc/library/turtle.rst:1924 msgid "\"standard\"" msgstr "*\"standard\"*" -#: ../Doc/library/turtle.rst:1921 +#: ../Doc/library/turtle.rst:1924 msgid "to the right (east)" msgstr "hacia la derecha (este)" -#: ../Doc/library/turtle.rst:1921 +#: ../Doc/library/turtle.rst:1924 msgid "counterclockwise" msgstr "sentido antihorario" -#: ../Doc/library/turtle.rst:1922 +#: ../Doc/library/turtle.rst:1925 msgid "\"logo\"" msgstr "*\"logo\"*" -#: ../Doc/library/turtle.rst:1922 +#: ../Doc/library/turtle.rst:1925 msgid "upward (north)" msgstr "hacia arriba (norte)" -#: ../Doc/library/turtle.rst:1922 +#: ../Doc/library/turtle.rst:1925 msgid "clockwise" msgstr "sentido horario" -#: ../Doc/library/turtle.rst:1935 +#: ../Doc/library/turtle.rst:1938 msgid "one of the values 1.0 or 255" msgstr "uno de los valores 1.0 o 255" -#: ../Doc/library/turtle.rst:1937 +#: ../Doc/library/turtle.rst:1940 msgid "" "Return the colormode or set it to 1.0 or 255. Subsequently *r*, *g*, *b* " "values of color triples have to be in the range 0..\\ *cmode*." @@ -2176,7 +2184,7 @@ msgstr "" "valores triples de color *r*, *g*, *b* tienen que estar en el rango 0..\\ " "*cmode*." -#: ../Doc/library/turtle.rst:1958 +#: ../Doc/library/turtle.rst:1961 msgid "" "Return the Canvas of this TurtleScreen. Useful for insiders who know what " "to do with a Tkinter Canvas." @@ -2184,17 +2192,17 @@ msgstr "" "Devuelve el lienzo de este *TurtleScreen*. Útil para conocedores que saben " "que hace con un *TKinter* *Canvas*." -#: ../Doc/library/turtle.rst:1971 +#: ../Doc/library/turtle.rst:1974 msgid "Return a list of names of all currently available turtle shapes." msgstr "" "Devuelve la lista de nombres de todas las formas de la tortuga actualmente " "disponibles." -#: ../Doc/library/turtle.rst:1983 +#: ../Doc/library/turtle.rst:1986 msgid "There are three different ways to call this function:" msgstr "Hay tres formas distintas de llamar a esta función:" -#: ../Doc/library/turtle.rst:1985 +#: ../Doc/library/turtle.rst:1988 msgid "" "*name* is the name of a gif-file and *shape* is ``None``: Install the " "corresponding image shape. ::" @@ -2202,7 +2210,7 @@ msgstr "" "*name* es el nombre de un archivo gif y *shape* es ``None``: instala la " "imagen correspondiente. ::" -#: ../Doc/library/turtle.rst:1991 +#: ../Doc/library/turtle.rst:1994 msgid "" "Image shapes *do not* rotate when turning the turtle, so they do not display " "the heading of the turtle!" @@ -2210,7 +2218,7 @@ msgstr "" "Las imágenes de tipo *shapes* no rotan cuando la tortuga gira, así que ellas " "¡no muestran el rumbo de la tortuga!" -#: ../Doc/library/turtle.rst:1994 +#: ../Doc/library/turtle.rst:1997 msgid "" "*name* is an arbitrary string and *shape* is a tuple of pairs of " "coordinates: Install the corresponding polygon shape." @@ -2218,7 +2226,7 @@ msgstr "" "*name* es una cadena de caracteres arbitraria y *shape* es una tupla de " "pares de coordenadas: Instala la forma poligonal correspondiente." -#: ../Doc/library/turtle.rst:2002 +#: ../Doc/library/turtle.rst:2005 msgid "" "*name* is an arbitrary string and shape is a (compound) :class:`Shape` " "object: Install the corresponding compound shape." @@ -2226,7 +2234,7 @@ msgstr "" "*name* es una cadena de caracteres arbitraria y *shape* es un objeto :class:" "`Shape` (compuesto): Instala la correspondiente forma compuesta." -#: ../Doc/library/turtle.rst:2005 +#: ../Doc/library/turtle.rst:2008 msgid "" "Add a turtle shape to TurtleScreen's shapelist. Only thusly registered " "shapes can be used by issuing the command ``shape(shapename)``." @@ -2235,31 +2243,32 @@ msgstr "" "las formas registradas de esta manera pueden ser usadas invocando el comando " "``shape(shapename)``." -#: ../Doc/library/turtle.rst:2011 +#: ../Doc/library/turtle.rst:2014 msgid "Return the list of turtles on the screen." msgstr "Devuelve la lista de tortugas en la pantalla." -#: ../Doc/library/turtle.rst:2022 +#: ../Doc/library/turtle.rst:2025 msgid "Return the height of the turtle window. ::" msgstr "Devuelve la altura de la ventana de la tortuga. ::" -#: ../Doc/library/turtle.rst:2030 +#: ../Doc/library/turtle.rst:2033 msgid "Return the width of the turtle window. ::" msgstr "Devuelve el ancho de la ventana de la tortuga. ::" -#: ../Doc/library/turtle.rst:2039 +#: ../Doc/library/turtle.rst:2042 msgid "Methods specific to Screen, not inherited from TurtleScreen" msgstr "Métodos específicos de *Screen*, no heredados de *TurtleScreen*" -#: ../Doc/library/turtle.rst:2043 +#: ../Doc/library/turtle.rst:2046 msgid "Shut the turtlegraphics window." msgstr "Apaga la ventana gráfica de la tortuga." -#: ../Doc/library/turtle.rst:2048 -msgid "Bind bye() method to mouse clicks on the Screen." +#: ../Doc/library/turtle.rst:2051 +#, fuzzy +msgid "Bind ``bye()`` method to mouse clicks on the Screen." msgstr "Ata el método *bye()* al click del ratón sobre la pantalla." -#: ../Doc/library/turtle.rst:2051 +#: ../Doc/library/turtle.rst:2054 msgid "" "If the value \"using_IDLE\" in the configuration dictionary is ``False`` " "(default value), also enter mainloop. Remark: If IDLE with the ``-n`` " @@ -2273,7 +2282,7 @@ msgstr "" "establecerse a ``True`` en :file:`turtle.cfg`. En este caso el propio " "*mainloop* de la *IDLE* está activa también para script cliente." -#: ../Doc/library/turtle.rst:2060 +#: ../Doc/library/turtle.rst:2063 msgid "" "Set the size and position of the main window. Default values of arguments " "are stored in the configuration dictionary and can be changed via a :file:" @@ -2283,7 +2292,7 @@ msgstr "" "defecto de los argumentos son guardados en el diccionario de configuración y " "puede ser cambiado a través del archivo :file:`turtle.cfg`." -#: ../Doc/library/turtle.rst:2064 +#: ../Doc/library/turtle.rst:2067 #, python-format msgid "" "if an integer, a size in pixels, if a float, a fraction of the screen; " @@ -2292,7 +2301,7 @@ msgstr "" "si es un entero, el tamaño en pixeles, si es un número flotante, una " "fracción de la pantalla; el valor por defecto es 50% de la pantalla" -#: ../Doc/library/turtle.rst:2066 +#: ../Doc/library/turtle.rst:2069 #, python-format msgid "" "if an integer, the height in pixels, if a float, a fraction of the screen; " @@ -2301,7 +2310,7 @@ msgstr "" "si es un entero, la altura en pixeles, si es un número flotante, una " "fracción de la pantalla; el valor por defecto es 75% de la pantalla" -#: ../Doc/library/turtle.rst:2068 +#: ../Doc/library/turtle.rst:2071 msgid "" "if positive, starting position in pixels from the left edge of the screen, " "if negative from the right edge, if ``None``, center window horizontally" @@ -2310,7 +2319,7 @@ msgstr "" "pantalla, si es negativo desde la esquina derecha de la pantalla, si es " "``None``, centra la ventana horizontalmente" -#: ../Doc/library/turtle.rst:2071 +#: ../Doc/library/turtle.rst:2074 msgid "" "if positive, starting position in pixels from the top edge of the screen, if " "negative from the bottom edge, if ``None``, center window vertically" @@ -2319,21 +2328,21 @@ msgstr "" "pantalla, si es negativo desde la parte inferior de la pantalla, si es " "``None``, centra la ventana verticalmente" -#: ../Doc/library/turtle.rst:2086 +#: ../Doc/library/turtle.rst:2089 msgid "a string that is shown in the titlebar of the turtle graphics window" msgstr "" "una cadena de caracteres que se muestra en la barra de título de la ventana " "gráfica de la tortuga" -#: ../Doc/library/turtle.rst:2089 +#: ../Doc/library/turtle.rst:2092 msgid "Set title of turtle window to *titlestring*." msgstr "Establece el título de la ventana de la tortuga a *titlestring*." -#: ../Doc/library/turtle.rst:2098 +#: ../Doc/library/turtle.rst:2101 msgid "Public classes" msgstr "Clases públicas" -#: ../Doc/library/turtle.rst:2104 +#: ../Doc/library/turtle.rst:2107 msgid "" "a :class:`tkinter.Canvas`, a :class:`ScrolledCanvas` or a :class:" "`TurtleScreen`" @@ -2341,7 +2350,7 @@ msgstr "" "una clase :class:`tkinter.Canvas`, una :class:`ScrolledCanvas` o una clase :" "class:`TurtleScreen`" -#: ../Doc/library/turtle.rst:2107 +#: ../Doc/library/turtle.rst:2110 msgid "" "Create a turtle. The turtle has all methods described above as \"methods of " "Turtle/RawTurtle\"." @@ -2349,7 +2358,7 @@ msgstr "" "Crea una tortuga. La tortuga tiene todos los métodos descriptos " "anteriormente como \"métodos de *\"Turtle/RawTurtle\"*." -#: ../Doc/library/turtle.rst:2113 +#: ../Doc/library/turtle.rst:2116 msgid "" "Subclass of RawTurtle, has the same interface but draws on a default :class:" "`Screen` object created automatically when needed for the first time." @@ -2358,11 +2367,11 @@ msgstr "" "objeto por defecto :class:`Screen` creado automáticamente cuando es " "necesario por primera vez." -#: ../Doc/library/turtle.rst:2119 +#: ../Doc/library/turtle.rst:2122 msgid "a :class:`tkinter.Canvas`" msgstr "un :class:`tkinter.Canvas`" -#: ../Doc/library/turtle.rst:2121 +#: ../Doc/library/turtle.rst:2124 msgid "" "Provides screen oriented methods like :func:`setbg` etc. that are described " "above." @@ -2370,14 +2379,14 @@ msgstr "" "Provee métodos orientados a la pantalla como :func:`setbg` etc. descriptos " "anteriormente." -#: ../Doc/library/turtle.rst:2126 +#: ../Doc/library/turtle.rst:2129 msgid "" "Subclass of TurtleScreen, with :ref:`four methods added `." msgstr "" "Subclase de *TurtleScreen*, con :ref:`cuatro métodos agregados " "`." -#: ../Doc/library/turtle.rst:2131 +#: ../Doc/library/turtle.rst:2134 msgid "" "some Tkinter widget to contain the ScrolledCanvas, i.e. a Tkinter-canvas " "with scrollbars added" @@ -2385,7 +2394,7 @@ msgstr "" "algunos *widgets* *TKinter* para contener el *ScrollCanvas*, por ejemplo un " "lienzo *Tkinter* con barras de desplazamiento agregadas" -#: ../Doc/library/turtle.rst:2134 +#: ../Doc/library/turtle.rst:2137 msgid "" "Used by class Screen, which thus automatically provides a ScrolledCanvas as " "playground for the turtles." @@ -2393,12 +2402,12 @@ msgstr "" "Usado por la clase *Screen*, que proporciona automáticamente un " "*ScrolledCanvas* como espacio de trabajo para las tortugas." -#: ../Doc/library/turtle.rst:2139 +#: ../Doc/library/turtle.rst:2142 msgid "one of the strings \"polygon\", \"image\", \"compound\"" msgstr "" "una de las cadenas de caracteres *\"polygon\"*, *\"image\"*, *\"compound\"*" -#: ../Doc/library/turtle.rst:2141 +#: ../Doc/library/turtle.rst:2144 msgid "" "Data structure modeling shapes. The pair ``(type_, data)`` must follow this " "specification:" @@ -2406,36 +2415,36 @@ msgstr "" "Estructura de datos que modela las formas. El par `(type_, data)`` debe " "seguir estas especificaciones:" -#: ../Doc/library/turtle.rst:2146 +#: ../Doc/library/turtle.rst:2149 msgid "*type_*" msgstr "*type_*" -#: ../Doc/library/turtle.rst:2146 +#: ../Doc/library/turtle.rst:2149 msgid "*data*" msgstr "*data*" -#: ../Doc/library/turtle.rst:2148 +#: ../Doc/library/turtle.rst:2151 msgid "\"polygon\"" msgstr "*\"polygon\"*" -#: ../Doc/library/turtle.rst:2148 +#: ../Doc/library/turtle.rst:2151 msgid "a polygon-tuple, i.e. a tuple of pairs of coordinates" msgstr "" "una tupla para el polígono, por ejemplo: una tupla de par de coordenadas" -#: ../Doc/library/turtle.rst:2149 +#: ../Doc/library/turtle.rst:2152 msgid "\"image\"" msgstr "*\"image\"*" -#: ../Doc/library/turtle.rst:2149 +#: ../Doc/library/turtle.rst:2152 msgid "an image (in this form only used internally!)" msgstr "una imagen (en esta forma solo se usa ¡internamente!)" -#: ../Doc/library/turtle.rst:2150 +#: ../Doc/library/turtle.rst:2153 msgid "\"compound\"" msgstr "*\"compound\"*" -#: ../Doc/library/turtle.rst:2150 +#: ../Doc/library/turtle.rst:2153 msgid "" "``None`` (a compound shape has to be constructed using the :meth:" "`addcomponent` method)" @@ -2443,27 +2452,27 @@ msgstr "" "``None`` (una forma compuesta tiene que ser construida usando el método :" "meth:`addcomponent`)" -#: ../Doc/library/turtle.rst:2156 +#: ../Doc/library/turtle.rst:2159 msgid "a polygon, i.e. a tuple of pairs of numbers" msgstr "un polígono, por ejemplo una tupla de pares de números" -#: ../Doc/library/turtle.rst:2157 +#: ../Doc/library/turtle.rst:2160 msgid "a color the *poly* will be filled with" msgstr "un color con el que el polígono será llenado" -#: ../Doc/library/turtle.rst:2158 +#: ../Doc/library/turtle.rst:2161 msgid "a color for the poly's outline (if given)" msgstr "un color con el que se delineará el polígono (se de ingresa)" -#: ../Doc/library/turtle.rst:2160 +#: ../Doc/library/turtle.rst:2163 msgid "Example:" msgstr "Ejemplo:" -#: ../Doc/library/turtle.rst:2170 +#: ../Doc/library/turtle.rst:2173 msgid "See :ref:`compoundshapes`." msgstr "Ver :ref:`compoundshapes`." -#: ../Doc/library/turtle.rst:2175 +#: ../Doc/library/turtle.rst:2178 msgid "" "A two-dimensional vector class, used as a helper class for implementing " "turtle graphics. May be useful for turtle graphics programs too. Derived " @@ -2474,43 +2483,43 @@ msgstr "" "gráficos de tortugas también. Derivado de la tupla, ¡por lo que un vector es " "una tupla!" -#: ../Doc/library/turtle.rst:2179 +#: ../Doc/library/turtle.rst:2182 msgid "Provides (for *a*, *b* vectors, *k* number):" msgstr "Proporciona (para *a*, *b* vectores, *k* números)" -#: ../Doc/library/turtle.rst:2181 +#: ../Doc/library/turtle.rst:2184 msgid "``a + b`` vector addition" msgstr "``a + b`` suma de vectores" -#: ../Doc/library/turtle.rst:2182 +#: ../Doc/library/turtle.rst:2185 msgid "``a - b`` vector subtraction" msgstr "``a - b`` resta de vectores" -#: ../Doc/library/turtle.rst:2183 +#: ../Doc/library/turtle.rst:2186 msgid "``a * b`` inner product" msgstr "``a * b`` producto interno" -#: ../Doc/library/turtle.rst:2184 +#: ../Doc/library/turtle.rst:2187 msgid "``k * a`` and ``a * k`` multiplication with scalar" msgstr "``k * a`` y ``a * k`` multiplicación con escalar" -#: ../Doc/library/turtle.rst:2185 +#: ../Doc/library/turtle.rst:2188 msgid "``abs(a)`` absolute value of a" msgstr "``abs(a)`` valor absoluto de a" -#: ../Doc/library/turtle.rst:2186 +#: ../Doc/library/turtle.rst:2189 msgid "``a.rotate(angle)`` rotation" msgstr "``a.rotate(angle)`` rotación" -#: ../Doc/library/turtle.rst:2190 +#: ../Doc/library/turtle.rst:2193 msgid "Help and configuration" msgstr "Ayuda y configuración" -#: ../Doc/library/turtle.rst:2193 +#: ../Doc/library/turtle.rst:2196 msgid "How to use help" msgstr "Cómo usar la ayuda" -#: ../Doc/library/turtle.rst:2195 +#: ../Doc/library/turtle.rst:2198 msgid "" "The public methods of the Screen and Turtle classes are documented " "extensively via docstrings. So these can be used as online-help via the " @@ -2521,7 +2530,7 @@ msgstr "" "pueden usar como ayuda en línea a través de las instalaciones de ayuda de " "Python:" -#: ../Doc/library/turtle.rst:2199 +#: ../Doc/library/turtle.rst:2202 msgid "" "When using IDLE, tooltips show the signatures and first lines of the " "docstrings of typed in function-/method calls." @@ -2530,11 +2539,11 @@ msgstr "" "las primeras líneas de las cadenas de documentos de las llamadas de función/" "método escritas." -#: ../Doc/library/turtle.rst:2202 +#: ../Doc/library/turtle.rst:2205 msgid "Calling :func:`help` on methods or functions displays the docstrings::" msgstr "Llamar a :func:`help` en métodos o funciones muestra los docstrings::" -#: ../Doc/library/turtle.rst:2233 +#: ../Doc/library/turtle.rst:2236 msgid "" "The docstrings of the functions which are derived from methods have a " "modified form::" @@ -2542,7 +2551,7 @@ msgstr "" "Los docstrings de las funciones que se derivan de los métodos tienen una " "forma modificada::" -#: ../Doc/library/turtle.rst:2267 +#: ../Doc/library/turtle.rst:2270 msgid "" "These modified docstrings are created automatically together with the " "function definitions that are derived from the methods at import time." @@ -2551,11 +2560,11 @@ msgstr "" "definiciones de función que se derivan de los métodos en el momento de la " "importación." -#: ../Doc/library/turtle.rst:2272 +#: ../Doc/library/turtle.rst:2275 msgid "Translation of docstrings into different languages" msgstr "Traducción de cadenas de documentos a diferentes idiomas" -#: ../Doc/library/turtle.rst:2274 +#: ../Doc/library/turtle.rst:2277 msgid "" "There is a utility to create a dictionary the keys of which are the method " "names and the values of which are the docstrings of the public methods of " @@ -2565,11 +2574,11 @@ msgstr "" "de los métodos y cuyos valores son los docstrings de los métodos públicos de " "las clases Screen y Turtle." -#: ../Doc/library/turtle.rst:2280 +#: ../Doc/library/turtle.rst:2283 msgid "a string, used as filename" msgstr "una cadena de caracteres, utilizada como nombre de archivo" -#: ../Doc/library/turtle.rst:2282 +#: ../Doc/library/turtle.rst:2285 msgid "" "Create and write docstring-dictionary to a Python script with the given " "filename. This function has to be called explicitly (it is not used by the " @@ -2584,7 +2593,7 @@ msgstr "" "destinado a servir como plantilla para la traducción de las cadenas de " "documentos a diferentes idiomas." -#: ../Doc/library/turtle.rst:2288 +#: ../Doc/library/turtle.rst:2291 msgid "" "If you (or your students) want to use :mod:`turtle` with online help in your " "native language, you have to translate the docstrings and save the resulting " @@ -2594,7 +2603,7 @@ msgstr "" "en su idioma nativo, debe traducir los docstrings y guardar el archivo " "resultante como, por ejemplo, :file:`turtle_docstringdict_german.py`." -#: ../Doc/library/turtle.rst:2292 +#: ../Doc/library/turtle.rst:2295 msgid "" "If you have an appropriate entry in your :file:`turtle.cfg` file this " "dictionary will be read in at import time and will replace the original " @@ -2604,7 +2613,7 @@ msgstr "" "diccionario se leerá en el momento de la importación y reemplazará los " "docstrings originales en inglés." -#: ../Doc/library/turtle.rst:2295 +#: ../Doc/library/turtle.rst:2298 msgid "" "At the time of this writing there are docstring dictionaries in German and " "in Italian. (Requests please to glingl@aon.at.)" @@ -2612,11 +2621,11 @@ msgstr "" "En el momento de escribir este artículo, existen diccionarios de docstrings " "en alemán e italiano. (Solicitudes por favor a glingl@aon.at.)" -#: ../Doc/library/turtle.rst:2301 +#: ../Doc/library/turtle.rst:2304 msgid "How to configure Screen and Turtles" msgstr "Cómo configurar Screen and Turtles" -#: ../Doc/library/turtle.rst:2303 +#: ../Doc/library/turtle.rst:2306 msgid "" "The built-in default configuration mimics the appearance and behaviour of " "the old turtle module in order to retain best possible compatibility with it." @@ -2625,7 +2634,7 @@ msgstr "" "comportamiento del antiguo módulo de tortuga para mantener la mejor " "compatibilidad posible con él." -#: ../Doc/library/turtle.rst:2306 +#: ../Doc/library/turtle.rst:2309 msgid "" "If you want to use a different configuration which better reflects the " "features of this module or which better fits to your needs, e.g. for use in " @@ -2639,16 +2648,16 @@ msgstr "" "``turtle.cfg`` que se leerá en el momento de la importación y modificará la " "configuración de acuerdo con su configuración." -#: ../Doc/library/turtle.rst:2311 +#: ../Doc/library/turtle.rst:2314 msgid "" "The built in configuration would correspond to the following turtle.cfg::" msgstr "La configuración incorporada correspondería al siguiente turtle.cfg::" -#: ../Doc/library/turtle.rst:2334 +#: ../Doc/library/turtle.rst:2337 msgid "Short explanation of selected entries:" msgstr "Breve explicación de las entradas seleccionadas:" -#: ../Doc/library/turtle.rst:2336 +#: ../Doc/library/turtle.rst:2339 msgid "" "The first four lines correspond to the arguments of the :meth:`Screen.setup` " "method." @@ -2656,7 +2665,7 @@ msgstr "" "Las primeras cuatro líneas corresponden a los argumentos del método :meth:" "`Screen.setup`." -#: ../Doc/library/turtle.rst:2338 +#: ../Doc/library/turtle.rst:2341 msgid "" "Line 5 and 6 correspond to the arguments of the method :meth:`Screen." "screensize`." @@ -2664,7 +2673,7 @@ msgstr "" "Las líneas 5 y 6 corresponden a los argumentos del método :meth:`Screen." "screensize`." -#: ../Doc/library/turtle.rst:2340 +#: ../Doc/library/turtle.rst:2343 msgid "" "*shape* can be any of the built-in shapes, e.g: arrow, turtle, etc. For " "more info try ``help(shape)``." @@ -2672,7 +2681,7 @@ msgstr "" "*shape* puede ser cualquiera de las formas integradas, por ejemplo: arrow, " "turtle, etc. Para obtener más información, pruebe con ``help(shape)``." -#: ../Doc/library/turtle.rst:2342 +#: ../Doc/library/turtle.rst:2345 msgid "" "If you want to use no fillcolor (i.e. make the turtle transparent), you have " "to write ``fillcolor = \"\"`` (but all nonempty strings must not have quotes " @@ -2682,14 +2691,14 @@ msgstr "" "transparente), debe escribir ``fillcolor = \"\"`` (pero todas las cadenas no " "vacías no deben tener comillas en el archivo cfg)." -#: ../Doc/library/turtle.rst:2345 +#: ../Doc/library/turtle.rst:2348 msgid "" "If you want to reflect the turtle its state, you have to use ``resizemode = " "auto``." msgstr "" "Si desea reflejar el estado de la tortuga, debe usar ``resizemode = auto``." -#: ../Doc/library/turtle.rst:2347 +#: ../Doc/library/turtle.rst:2350 msgid "" "If you set e.g. ``language = italian`` the docstringdict :file:" "`turtle_docstringdict_italian.py` will be loaded at import time (if present " @@ -2700,7 +2709,7 @@ msgstr "" "(si está presente en la ruta de importación, por ejemplo, en el mismo " "directorio que :mod:`turtle`." -#: ../Doc/library/turtle.rst:2350 +#: ../Doc/library/turtle.rst:2353 msgid "" "The entries *exampleturtle* and *examplescreen* define the names of these " "objects as they occur in the docstrings. The transformation of method-" @@ -2712,7 +2721,7 @@ msgstr "" "transformación de método-docstrings en función-docstrings eliminará estos " "nombres de las docstrings." -#: ../Doc/library/turtle.rst:2354 +#: ../Doc/library/turtle.rst:2357 msgid "" "*using_IDLE*: Set this to ``True`` if you regularly work with IDLE and its -" "n switch (\"no subprocess\"). This will prevent :func:`exitonclick` to " @@ -2722,7 +2731,7 @@ msgstr "" "su interruptor -n (\"sin subproceso\"). Esto evitará que :func:`exitonclick` " "ingrese al bucle principal." -#: ../Doc/library/turtle.rst:2358 +#: ../Doc/library/turtle.rst:2361 msgid "" "There can be a :file:`turtle.cfg` file in the directory where :mod:`turtle` " "is stored and an additional one in the current working directory. The " @@ -2732,7 +2741,7 @@ msgstr "" "almacena :mod:`turtle` y uno adicional en el directorio de trabajo actual. " "Este último anulará la configuración del primero." -#: ../Doc/library/turtle.rst:2362 +#: ../Doc/library/turtle.rst:2365 msgid "" "The :file:`Lib/turtledemo` directory contains a :file:`turtle.cfg` file. " "You can study it as an example and see its effects when running the demos " @@ -2742,11 +2751,11 @@ msgstr "" "Puede estudiarlo como un ejemplo y ver sus efectos al ejecutar las " "demostraciones (preferiblemente no desde el visor de demostraciones)." -#: ../Doc/library/turtle.rst:2368 +#: ../Doc/library/turtle.rst:2371 msgid ":mod:`turtledemo` --- Demo scripts" msgstr ":mod:`turtledemo` --- Scripts de demostración" -#: ../Doc/library/turtle.rst:2373 +#: ../Doc/library/turtle.rst:2376 msgid "" "The :mod:`turtledemo` package includes a set of demo scripts. These scripts " "can be run and viewed using the supplied demo viewer as follows::" @@ -2755,18 +2764,18 @@ msgstr "" "Estos scripts se pueden ejecutar y visualizar utilizando el visor de " "demostración suministrado de la siguiente manera::" -#: ../Doc/library/turtle.rst:2378 +#: ../Doc/library/turtle.rst:2381 msgid "" "Alternatively, you can run the demo scripts individually. For example, ::" msgstr "" "Alternativamente, puede ejecutar los scripts de demostración " "individualmente. Por ejemplo, ::" -#: ../Doc/library/turtle.rst:2382 +#: ../Doc/library/turtle.rst:2385 msgid "The :mod:`turtledemo` package directory contains:" msgstr "El directorio del paquete :mod:`turtledemo` contiene:" -#: ../Doc/library/turtle.rst:2384 +#: ../Doc/library/turtle.rst:2387 msgid "" "A demo viewer :file:`__main__.py` which can be used to view the sourcecode " "of the scripts and run them at the same time." @@ -2774,7 +2783,7 @@ msgstr "" "Un visor de demostración :file:`__main__.py` que se puede utilizar para ver " "el código fuente de los scripts y ejecutarlos al mismo tiempo." -#: ../Doc/library/turtle.rst:2386 +#: ../Doc/library/turtle.rst:2389 msgid "" "Multiple scripts demonstrating different features of the :mod:`turtle` " "module. Examples can be accessed via the Examples menu. They can also be " @@ -2784,7 +2793,7 @@ msgstr "" "`turtle`. Se puede acceder a los ejemplos a través del menú de ejemplos. " "También se pueden ejecutar de forma independiente." -#: ../Doc/library/turtle.rst:2389 +#: ../Doc/library/turtle.rst:2392 msgid "" "A :file:`turtle.cfg` file which serves as an example of how to write and use " "such files." @@ -2792,39 +2801,39 @@ msgstr "" "Un archivo :file:`turtle.cfg` que sirve como ejemplo de cómo escribir y usar " "dichos archivos." -#: ../Doc/library/turtle.rst:2392 +#: ../Doc/library/turtle.rst:2395 msgid "The demo scripts are:" msgstr "Los scripts de demostración son:" -#: ../Doc/library/turtle.rst:2397 +#: ../Doc/library/turtle.rst:2400 msgid "Name" msgstr "Nombre" -#: ../Doc/library/turtle.rst:2397 +#: ../Doc/library/turtle.rst:2400 msgid "Description" msgstr "Descripción" -#: ../Doc/library/turtle.rst:2397 +#: ../Doc/library/turtle.rst:2400 msgid "Features" msgstr "Características" -#: ../Doc/library/turtle.rst:2399 +#: ../Doc/library/turtle.rst:2402 msgid "bytedesign" msgstr "bytedesign" -#: ../Doc/library/turtle.rst:2399 +#: ../Doc/library/turtle.rst:2402 msgid "complex classical turtle graphics pattern" msgstr "patrón de gráficos de tortuga clásica compleja" -#: ../Doc/library/turtle.rst:2399 +#: ../Doc/library/turtle.rst:2402 msgid ":func:`tracer`, delay, :func:`update`" msgstr ":func:`tracer`, retrasar (*delay*), :func:`update`" -#: ../Doc/library/turtle.rst:2402 +#: ../Doc/library/turtle.rst:2405 msgid "chaos" msgstr "caos" -#: ../Doc/library/turtle.rst:2402 +#: ../Doc/library/turtle.rst:2405 msgid "" "graphs Verhulst dynamics, shows that computer's computations can generate " "results sometimes against the common sense expectations" @@ -2832,207 +2841,207 @@ msgstr "" "gráficos dinámicos de Verhulst, muestra que los cálculos de la computadora " "pueden generar resultados a veces contra las expectativas del sentido común" -#: ../Doc/library/turtle.rst:2402 +#: ../Doc/library/turtle.rst:2405 msgid "world coordinates" msgstr "coordenadas mundiales" -#: ../Doc/library/turtle.rst:2408 +#: ../Doc/library/turtle.rst:2411 msgid "clock" msgstr "reloj" -#: ../Doc/library/turtle.rst:2408 +#: ../Doc/library/turtle.rst:2411 msgid "analog clock showing time of your computer" msgstr "reloj analógico que muestra la hora de su computadora" -#: ../Doc/library/turtle.rst:2408 +#: ../Doc/library/turtle.rst:2411 msgid "turtles as clock's hands, ontimer" msgstr "tortugas como manecillas de reloj, temporizador" -#: ../Doc/library/turtle.rst:2411 +#: ../Doc/library/turtle.rst:2414 msgid "colormixer" msgstr "colormixer" -#: ../Doc/library/turtle.rst:2411 +#: ../Doc/library/turtle.rst:2414 msgid "experiment with r, g, b" msgstr "experimento con r, g, b" -#: ../Doc/library/turtle.rst:2413 +#: ../Doc/library/turtle.rst:2416 msgid "forest" msgstr "bosque" -#: ../Doc/library/turtle.rst:2413 +#: ../Doc/library/turtle.rst:2416 msgid "3 breadth-first trees" msgstr "3 árboles de ancho primero" -#: ../Doc/library/turtle.rst:2413 +#: ../Doc/library/turtle.rst:2416 msgid "randomization" msgstr "aleatorización" -#: ../Doc/library/turtle.rst:2415 +#: ../Doc/library/turtle.rst:2418 msgid "fractalcurves" msgstr "fractalcurves" -#: ../Doc/library/turtle.rst:2415 +#: ../Doc/library/turtle.rst:2418 msgid "Hilbert & Koch curves" msgstr "Curvas Hilbert & Koch" -#: ../Doc/library/turtle.rst:2415 +#: ../Doc/library/turtle.rst:2418 msgid "recursion" msgstr "recursión" -#: ../Doc/library/turtle.rst:2417 +#: ../Doc/library/turtle.rst:2420 msgid "lindenmayer" msgstr "lindenmayer" -#: ../Doc/library/turtle.rst:2417 +#: ../Doc/library/turtle.rst:2420 msgid "ethnomathematics (indian kolams)" msgstr "etnomatemáticas (kolams indios)" -#: ../Doc/library/turtle.rst:2417 +#: ../Doc/library/turtle.rst:2420 msgid "L-System" msgstr "Sistema-L" -#: ../Doc/library/turtle.rst:2420 +#: ../Doc/library/turtle.rst:2423 msgid "minimal_hanoi" msgstr "minimal_hanoi" -#: ../Doc/library/turtle.rst:2420 +#: ../Doc/library/turtle.rst:2423 msgid "Towers of Hanoi" msgstr "Torres de Hanoi" -#: ../Doc/library/turtle.rst:2420 +#: ../Doc/library/turtle.rst:2423 msgid "Rectangular Turtles as Hanoi discs (shape, shapesize)" msgstr "Tortugas rectangulares como discos de Hanoi (shape, tamaño de forma)" -#: ../Doc/library/turtle.rst:2424 +#: ../Doc/library/turtle.rst:2427 msgid "nim" msgstr "nim" -#: ../Doc/library/turtle.rst:2424 +#: ../Doc/library/turtle.rst:2427 msgid "" "play the classical nim game with three heaps of sticks against the computer." msgstr "" "juega el clásico juego de nim con tres montones de palos contra la " "computadora." -#: ../Doc/library/turtle.rst:2424 +#: ../Doc/library/turtle.rst:2427 msgid "turtles as nimsticks, event driven (mouse, keyboard)" msgstr "tortugas como nimsticks, impulsado por eventos (mouse, teclado)" -#: ../Doc/library/turtle.rst:2428 +#: ../Doc/library/turtle.rst:2431 msgid "paint" msgstr "pintar" -#: ../Doc/library/turtle.rst:2428 +#: ../Doc/library/turtle.rst:2431 msgid "super minimalistic drawing program" msgstr "programa de dibujo super minimalista" -#: ../Doc/library/turtle.rst:2431 +#: ../Doc/library/turtle.rst:2434 msgid "peace" msgstr "paz" -#: ../Doc/library/turtle.rst:2431 +#: ../Doc/library/turtle.rst:2434 msgid "elementary" msgstr "elemental" -#: ../Doc/library/turtle.rst:2431 +#: ../Doc/library/turtle.rst:2434 msgid "turtle: appearance and animation" msgstr "turtle: apariencia y animación" -#: ../Doc/library/turtle.rst:2434 +#: ../Doc/library/turtle.rst:2437 msgid "penrose" msgstr "penrose" -#: ../Doc/library/turtle.rst:2434 +#: ../Doc/library/turtle.rst:2437 msgid "aperiodic tiling with kites and darts" msgstr "embaldosado aperiódico con cometas y dardos" -#: ../Doc/library/turtle.rst:2437 +#: ../Doc/library/turtle.rst:2440 msgid "planet_and_moon" msgstr "planet_and_moon" -#: ../Doc/library/turtle.rst:2437 +#: ../Doc/library/turtle.rst:2440 msgid "simulation of gravitational system" msgstr "simulación de sistema gravitacional" -#: ../Doc/library/turtle.rst:2437 +#: ../Doc/library/turtle.rst:2440 msgid "compound shapes, :class:`Vec2D`" msgstr "formas compuestas, :class:`Vec2D`" -#: ../Doc/library/turtle.rst:2440 +#: ../Doc/library/turtle.rst:2443 msgid "round_dance" msgstr "round_dance" -#: ../Doc/library/turtle.rst:2440 +#: ../Doc/library/turtle.rst:2443 msgid "dancing turtles rotating pairwise in opposite direction" msgstr "tortugas bailarinas que giran por parejas en dirección opuesta" -#: ../Doc/library/turtle.rst:2440 +#: ../Doc/library/turtle.rst:2443 msgid "compound shapes, clone shapesize, tilt, get_shapepoly, update" msgstr "formas compuestas, clonar tamaño de forma, tilt, get_shapepoly, update" -#: ../Doc/library/turtle.rst:2444 +#: ../Doc/library/turtle.rst:2447 msgid "sorting_animate" msgstr "sorting_animate" -#: ../Doc/library/turtle.rst:2444 +#: ../Doc/library/turtle.rst:2447 msgid "visual demonstration of different sorting methods" msgstr "demostración visual de diferentes métodos de ordenamiento" -#: ../Doc/library/turtle.rst:2444 +#: ../Doc/library/turtle.rst:2447 msgid "simple alignment, randomization" msgstr "alineación simple, aleatorización" -#: ../Doc/library/turtle.rst:2447 +#: ../Doc/library/turtle.rst:2450 msgid "tree" msgstr "árbol" -#: ../Doc/library/turtle.rst:2447 +#: ../Doc/library/turtle.rst:2450 msgid "a (graphical) breadth first tree (using generators)" msgstr "un primer árbol de amplitud (gráfico, usando generadores)" -#: ../Doc/library/turtle.rst:2450 +#: ../Doc/library/turtle.rst:2453 msgid "two_canvases" msgstr "two_canvases" -#: ../Doc/library/turtle.rst:2450 +#: ../Doc/library/turtle.rst:2453 msgid "simple design" msgstr "diseño simple" -#: ../Doc/library/turtle.rst:2450 +#: ../Doc/library/turtle.rst:2453 msgid "turtles on two canvases" msgstr "tortugas en dos lienzos (*two_canvases*)" -#: ../Doc/library/turtle.rst:2453 +#: ../Doc/library/turtle.rst:2456 msgid "wikipedia" msgstr "wikipedia" -#: ../Doc/library/turtle.rst:2453 +#: ../Doc/library/turtle.rst:2456 msgid "a pattern from the wikipedia article on turtle graphics" msgstr "" "un patrón del artículo de wikipedia sobre gráficos de tortuga (*turtle*)" -#: ../Doc/library/turtle.rst:2453 +#: ../Doc/library/turtle.rst:2456 msgid ":func:`clone`, :func:`undo`" msgstr ":func:`clone`, :func:`undo`" -#: ../Doc/library/turtle.rst:2456 +#: ../Doc/library/turtle.rst:2459 msgid "yinyang" msgstr "yinyang" -#: ../Doc/library/turtle.rst:2456 +#: ../Doc/library/turtle.rst:2459 msgid "another elementary example" msgstr "otro ejemplo elemental" -#: ../Doc/library/turtle.rst:2459 +#: ../Doc/library/turtle.rst:2462 msgid "Have fun!" msgstr "¡Diviértete!" -#: ../Doc/library/turtle.rst:2463 +#: ../Doc/library/turtle.rst:2466 msgid "Changes since Python 2.6" msgstr "Cambios desde Python 2.6" -#: ../Doc/library/turtle.rst:2465 +#: ../Doc/library/turtle.rst:2468 msgid "" "The methods :meth:`Turtle.tracer`, :meth:`Turtle.window_width` and :meth:" "`Turtle.window_height` have been eliminated. Methods with these names and " @@ -3048,7 +3057,7 @@ msgstr "" "2.6 estos métodos eran simplemente duplicaciones de los métodos " "correspondientes :class:`TurtleScreen`/:class:`Screen`)." -#: ../Doc/library/turtle.rst:2473 +#: ../Doc/library/turtle.rst:2476 msgid "" "The method :meth:`Turtle.fill` has been eliminated. The behaviour of :meth:" "`begin_fill` and :meth:`end_fill` have changed slightly: now every filling-" @@ -3058,7 +3067,7 @@ msgstr "" "`begin_fill` y :meth:`end_fill` ha cambiado ligeramente: ahora cada proceso " "de llenado debe completarse con una llamada ``end_fill()``." -#: ../Doc/library/turtle.rst:2478 +#: ../Doc/library/turtle.rst:2481 msgid "" "A method :meth:`Turtle.filling` has been added. It returns a boolean value: " "``True`` if a filling process is under way, ``False`` otherwise. This " @@ -3069,11 +3078,11 @@ msgstr "" "Este comportamiento corresponde a una llamada ``fill()`` sin argumentos en " "Python 2.6." -#: ../Doc/library/turtle.rst:2484 +#: ../Doc/library/turtle.rst:2487 msgid "Changes since Python 3.0" msgstr "Cambios desde Python 3.0" -#: ../Doc/library/turtle.rst:2486 +#: ../Doc/library/turtle.rst:2489 msgid "" "The methods :meth:`Turtle.shearfactor`, :meth:`Turtle.shapetransform` and :" "meth:`Turtle.get_shapepoly` have been added. Thus the full range of regular " @@ -3088,7 +3097,7 @@ msgstr "" "funcionalidad: ahora se puede usar para obtener o establecer el tiltangle. :" "meth:`Turtle.settiltangle` ha quedado obsoleto." -#: ../Doc/library/turtle.rst:2493 +#: ../Doc/library/turtle.rst:2496 msgid "" "The method :meth:`Screen.onkeypress` has been added as a complement to :meth:" "`Screen.onkey` which in fact binds actions to the keyrelease event. " @@ -3098,7 +3107,7 @@ msgstr "" "`Screen.onkey` que, de hecho, une las acciones al evento keyrelease. En " "consecuencia, este último tiene un alias: :meth:`Screen.onkeyrelease`." -#: ../Doc/library/turtle.rst:2497 +#: ../Doc/library/turtle.rst:2500 msgid "" "The method :meth:`Screen.mainloop` has been added. So when working only " "with Screen and Turtle objects one must not additionally import :func:" @@ -3108,7 +3117,7 @@ msgstr "" "solo con objetos Screen y Turtle, ya no se debe importar adicionalmente :" "func:`mainloop`." -#: ../Doc/library/turtle.rst:2501 +#: ../Doc/library/turtle.rst:2504 msgid "" "Two input methods has been added :meth:`Screen.textinput` and :meth:`Screen." "numinput`. These popup input dialogs and return strings and numbers " @@ -3118,7 +3127,7 @@ msgstr "" "`Screen.numinput`. Estos cuadros de diálogo de entrada emergentes y retornan " "cadenas y números respectivamente." -#: ../Doc/library/turtle.rst:2505 +#: ../Doc/library/turtle.rst:2508 msgid "" "Two example scripts :file:`tdemo_nim.py` and :file:`tdemo_round_dance.py` " "have been added to the :file:`Lib/turtledemo` directory." diff --git a/library/types.po b/library/types.po index c217925b84..927499bc4c 100644 --- a/library/types.po +++ b/library/types.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-07-28 22:07-0500\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.4\n" #: ../Doc/library/types.rst:2 msgid ":mod:`types` --- Dynamic type creation and names for built-in types" @@ -217,7 +216,19 @@ msgstr "" "El tipo de funciones definidas por el usuario y funciones creadas por " "expresiones :keyword:`lambda`." -#: ../Doc/library/types.rst:115 +#: ../Doc/library/types.rst:112 +msgid "" +"Raises an :ref:`auditing event ` ``function.__new__`` with " +"argument ``code``." +msgstr "" + +#: ../Doc/library/types.rst:114 +msgid "" +"The audit event only occurs for direct instantiation of function objects, " +"and is not raised for normal compilation." +msgstr "" + +#: ../Doc/library/types.rst:120 msgid "" "The type of :term:`generator`-iterator objects, created by generator " "functions." @@ -225,7 +236,7 @@ msgstr "" "El tipo de iterador :term:`generator` de objetos, creados por funciones " "generadoras." -#: ../Doc/library/types.rst:121 +#: ../Doc/library/types.rst:126 msgid "" "The type of :term:`coroutine` objects, created by :keyword:`async def` " "functions." @@ -233,7 +244,7 @@ msgstr "" "El tipo de objetos :term:`coroutine`, creados por funciones :keyword:`async " "def`." -#: ../Doc/library/types.rst:129 +#: ../Doc/library/types.rst:134 msgid "" "The type of :term:`asynchronous generator`-iterator objects, created by " "asynchronous generator functions." @@ -241,11 +252,11 @@ msgstr "" "El tipo de iterador :term:`asynchronous generator` de objetos, creados por " "funciones generadoras asíncronas." -#: ../Doc/library/types.rst:139 +#: ../Doc/library/types.rst:144 msgid "The type for code objects such as returned by :func:`compile`." msgstr "El tipo de objetos de código cómo los retornados por :func:`compile`." -#: ../Doc/library/types.rst:142 +#: ../Doc/library/types.rst:146 msgid "" "Raises an :ref:`auditing event ` ``code.__new__`` with arguments " "``code``, ``filename``, ``name``, ``argcount``, ``posonlyargcount``, " @@ -256,22 +267,24 @@ msgstr "" "``posonlyargcount``, ``kwonlyargcount``, ``nlocals``, ``stacksize``, " "``flags``." -#: ../Doc/library/types.rst:143 +#: ../Doc/library/types.rst:148 +#, fuzzy msgid "" "Note that the audited arguments may not match the names or positions " -"required by the initializer." +"required by the initializer. The audit event only occurs for direct " +"instantiation of code objects, and is not raised for normal compilation." msgstr "" "Tenga en cuenta que los argumentos auditados pueden no coincidir con los " "nombres o posiciones requeridos por el inicializador." -#: ../Doc/library/types.rst:148 +#: ../Doc/library/types.rst:154 msgid "" "Return a copy of the code object with new values for the specified fields." msgstr "" "Retorna una copia del objeto de código con nuevos valores para los campos " "especificados." -#: ../Doc/library/types.rst:154 +#: ../Doc/library/types.rst:160 msgid "" "The type for cell objects: such objects are used as containers for a " "function's free variables." @@ -279,11 +292,11 @@ msgstr "" "El tipo de objetos de celda: estos objetos se utilizan como contenedores " "para las variables libres de una función." -#: ../Doc/library/types.rst:162 +#: ../Doc/library/types.rst:168 msgid "The type of methods of user-defined class instances." msgstr "El tipo de métodos de instancias de clase definidas por el usuario." -#: ../Doc/library/types.rst:168 +#: ../Doc/library/types.rst:174 msgid "" "The type of built-in functions like :func:`len` or :func:`sys.exit`, and " "methods of built-in classes. (Here, the term \"built-in\" means \"written " @@ -293,7 +306,7 @@ msgstr "" "métodos de clases integradas. (Aquí, el término \"incorporado\" significa " "\"escrito en C\".)" -#: ../Doc/library/types.rst:175 +#: ../Doc/library/types.rst:181 msgid "" "The type of methods of some built-in data types and base classes such as :" "meth:`object.__init__` or :meth:`object.__lt__`." @@ -301,7 +314,7 @@ msgstr "" "El tipo de métodos de algunos tipos de datos integrados y clases base como :" "meth:`object.__init__` o :meth:`object.__lt__`." -#: ../Doc/library/types.rst:183 +#: ../Doc/library/types.rst:189 msgid "" "The type of *bound* methods of some built-in data types and base classes. " "For example it is the type of :code:`object().__str__`." @@ -309,14 +322,14 @@ msgstr "" "El tipo de métodos *bound* de algunos tipos de datos integrados y clases " "base. Por ejemplo, es el tipo de :code:`object().__str__`." -#: ../Doc/library/types.rst:191 +#: ../Doc/library/types.rst:197 msgid "" "The type of methods of some built-in data types such as :meth:`str.join`." msgstr "" "El tipo de métodos de algunos tipos de datos integrados como :meth:`str." "join`." -#: ../Doc/library/types.rst:198 +#: ../Doc/library/types.rst:204 msgid "" "The type of *unbound* class methods of some built-in data types such as " "``dict.__dict__['fromkeys']``." @@ -324,7 +337,7 @@ msgstr "" "El tipo de métodos de clase *unbound* de algunos tipos de datos integrados " "como ``dict.__dict__['fromkeys']``." -#: ../Doc/library/types.rst:206 +#: ../Doc/library/types.rst:212 msgid "" "The type of :term:`modules `. Constructor takes the name of the " "module to be created and optionally its :term:`docstring`." @@ -332,7 +345,7 @@ msgstr "" "El tipo de :term:`módulos `. El constructor toma el nombre del " "módulo que se va a crear y de forma opcional su :term:`docstring`." -#: ../Doc/library/types.rst:210 +#: ../Doc/library/types.rst:216 msgid "" "Use :func:`importlib.util.module_from_spec` to create a new module if you " "wish to set the various import-controlled attributes." @@ -340,25 +353,25 @@ msgstr "" "Utilice :func:`importlib.util.module_from_spec` para crear un nuevo módulo " "si desea establecer los diversos atributos controlados por importación." -#: ../Doc/library/types.rst:215 +#: ../Doc/library/types.rst:221 msgid "The :term:`docstring` of the module. Defaults to ``None``." msgstr "El :term:`docstring` del módulo. El valor predeterminado es ``None``." -#: ../Doc/library/types.rst:219 +#: ../Doc/library/types.rst:225 msgid "The :term:`loader` which loaded the module. Defaults to ``None``." msgstr "" "El :term:`loader` que cargó el módulo. El valor predeterminado es ``None``." -#: ../Doc/library/types.rst:221 ../Doc/library/types.rst:235 +#: ../Doc/library/types.rst:227 ../Doc/library/types.rst:241 msgid "Defaults to ``None``. Previously the attribute was optional." msgstr "" "El valor predeterminado es ``None``. Anteriormente el atributo era opcional." -#: ../Doc/library/types.rst:226 +#: ../Doc/library/types.rst:232 msgid "The name of the module." msgstr "El nombre del módulo." -#: ../Doc/library/types.rst:230 +#: ../Doc/library/types.rst:236 msgid "" "Which :term:`package` a module belongs to. If the module is top-level (i.e. " "not a part of any specific package) then the attribute should be set to " @@ -371,13 +384,30 @@ msgstr "" "del paquete (el cual puede ser :attr:`__name__` si el módulo es un paquete). " "El valor predeterminado es ``None``." -#: ../Doc/library/types.rst:241 +#: ../Doc/library/types.rst:247 +msgid "" +"The type of :ref:`parameterized generics ` such as " +"``list[int]``." +msgstr "" + +#: ../Doc/library/types.rst:250 +msgid "" +"``t_origin`` should be a non-parameterized generic class, such as ``list``, " +"``tuple`` or ``dict``. ``t_args`` should be a :class:`tuple` (possibly of " +"length 1) of types which parameterize ``t_origin``::" +msgstr "" + +#: ../Doc/library/types.rst:263 +msgid "This type can now be subclassed." +msgstr "" + +#: ../Doc/library/types.rst:269 msgid "The type of traceback objects such as found in ``sys.exc_info()[2]``." msgstr "" "El tipo de objetos *traceback* tal como los encontrados en ``sys.exc_info()" "[2]``." -#: ../Doc/library/types.rst:243 +#: ../Doc/library/types.rst:271 msgid "" "See :ref:`the language reference ` for details of the " "available attributes and operations, and guidance on creating tracebacks " @@ -387,7 +417,7 @@ msgstr "" "detalles de los atributos y operaciones disponibles, y orientación sobre " "cómo crear *tracebacks* dinámicamente." -#: ../Doc/library/types.rst:250 +#: ../Doc/library/types.rst:278 msgid "" "The type of frame objects such as found in ``tb.tb_frame`` if ``tb`` is a " "traceback object." @@ -395,7 +425,7 @@ msgstr "" "El tipo de objetos de marco como se encuentra en ``tb.tb_frame`` si ``tb`` " "es un objeto *traceback*." -#: ../Doc/library/types.rst:253 +#: ../Doc/library/types.rst:281 msgid "" "See :ref:`the language reference ` for details of the " "available attributes and operations." @@ -403,7 +433,7 @@ msgstr "" "Consulte :ref:`la referencia de lenguaje ` para obtener más " "información sobre los atributos y operaciones disponibles." -#: ../Doc/library/types.rst:259 +#: ../Doc/library/types.rst:287 msgid "" "The type of objects defined in extension modules with ``PyGetSetDef``, such " "as ``FrameType.f_locals`` or ``array.array.typecode``. This type is used as " @@ -416,7 +446,7 @@ msgstr "" "propósito que el tipo :class:`property`, pero para las clases definidas en " "los módulos de extensión." -#: ../Doc/library/types.rst:267 +#: ../Doc/library/types.rst:295 msgid "" "The type of objects defined in extension modules with ``PyMemberDef``, such " "as ``datetime.timedelta.days``. This type is used as descriptor for simple " @@ -430,7 +460,7 @@ msgstr "" "tiene el mismo propósito que el tipo :class:`property`, pero para las clases " "definidas en los módulos de extensión." -#: ../Doc/library/types.rst:274 +#: ../Doc/library/types.rst:302 msgid "" "In other implementations of Python, this type may be identical to " "``GetSetDescriptorType``." @@ -438,7 +468,7 @@ msgstr "" "En otras implementaciones de Python, este tipo puede ser idéntico a " "``GetSetDescriptorType``." -#: ../Doc/library/types.rst:279 +#: ../Doc/library/types.rst:307 msgid "" "Read-only proxy of a mapping. It provides a dynamic view on the mapping's " "entries, which means that when the mapping changes, the view reflects these " @@ -448,14 +478,20 @@ msgstr "" "entradas de la asignación, lo que significa que cuando cambia la asignación, " "la vista refleja estos cambios." -#: ../Doc/library/types.rst:287 +#: ../Doc/library/types.rst:315 +msgid "" +"Updated to support the new union (``|``) operator from :pep:`584`, which " +"simply delegates to the underlying mapping." +msgstr "" + +#: ../Doc/library/types.rst:320 msgid "" "Return ``True`` if the underlying mapping has a key *key*, else ``False``." msgstr "" "Retorna ``True`` si la asignación subyacente tiene una clave *key*, de lo " "contrario ``False``." -#: ../Doc/library/types.rst:292 +#: ../Doc/library/types.rst:325 msgid "" "Return the item of the underlying mapping with key *key*. Raises a :exc:" "`KeyError` if *key* is not in the underlying mapping." @@ -463,7 +499,7 @@ msgstr "" "Retorna el elemento de la asignación subyacente con la clave *key*. Lanza " "un :exc:`KeyError` si *key* no está en la asignación subyacente." -#: ../Doc/library/types.rst:297 +#: ../Doc/library/types.rst:330 msgid "" "Return an iterator over the keys of the underlying mapping. This is a " "shortcut for ``iter(proxy.keys())``." @@ -471,15 +507,15 @@ msgstr "" "Retorna un iterador sobre las claves de la asignación subyacente. Este es " "un método abreviado para ``iter(proxy.keys())``." -#: ../Doc/library/types.rst:302 +#: ../Doc/library/types.rst:335 msgid "Return the number of items in the underlying mapping." msgstr "Retorna el número de elementos de la asignación subyacente." -#: ../Doc/library/types.rst:306 +#: ../Doc/library/types.rst:339 msgid "Return a shallow copy of the underlying mapping." msgstr "Retorna una copia superficial de la asignación subyacente." -#: ../Doc/library/types.rst:310 +#: ../Doc/library/types.rst:343 msgid "" "Return the value for *key* if *key* is in the underlying mapping, else " "*default*. If *default* is not given, it defaults to ``None``, so that this " @@ -490,26 +526,31 @@ msgstr "" "predeterminado es ``None``, por lo que este método nunca lanza un :exc:" "`KeyError`." -#: ../Doc/library/types.rst:316 +#: ../Doc/library/types.rst:349 msgid "" "Return a new view of the underlying mapping's items (``(key, value)`` pairs)." msgstr "" "Retorna una nueva vista de los elementos de la asignación subyacente (en " "pares ``(key, value)``)." -#: ../Doc/library/types.rst:321 +#: ../Doc/library/types.rst:354 msgid "Return a new view of the underlying mapping's keys." msgstr "Retorna una nueva vista de las claves de la asignación subyacente." -#: ../Doc/library/types.rst:325 +#: ../Doc/library/types.rst:358 msgid "Return a new view of the underlying mapping's values." msgstr "Retorna una nueva vista de los valores de la asignación subyacente." -#: ../Doc/library/types.rst:329 +#: ../Doc/library/types.rst:362 +#, fuzzy +msgid "Return a reverse iterator over the keys of the underlying mapping." +msgstr "Retorna una copia superficial de la asignación subyacente." + +#: ../Doc/library/types.rst:368 msgid "Additional Utility Classes and Functions" msgstr "Clases y funciones de utilidad adicionales" -#: ../Doc/library/types.rst:333 +#: ../Doc/library/types.rst:372 msgid "" "A simple :class:`object` subclass that provides attribute access to its " "namespace, as well as a meaningful repr." @@ -517,7 +558,7 @@ msgstr "" "Una subclase simple :class:`object` que proporciona acceso de atributo a su " "espacio de nombre, así como una representación significativa." -#: ../Doc/library/types.rst:336 +#: ../Doc/library/types.rst:375 msgid "" "Unlike :class:`object`, with ``SimpleNamespace`` you can add and remove " "attributes. If a ``SimpleNamespace`` object is initialized with keyword " @@ -528,11 +569,11 @@ msgstr "" "argumentos de palabra clave, estos se agregan directamente al espacio de " "nombres subyacente." -#: ../Doc/library/types.rst:340 +#: ../Doc/library/types.rst:379 msgid "The type is roughly equivalent to the following code::" msgstr "El tipo es aproximadamente equivalente al código siguiente::" -#: ../Doc/library/types.rst:354 +#: ../Doc/library/types.rst:394 msgid "" "``SimpleNamespace`` may be useful as a replacement for ``class NS: pass``. " "However, for a structured record type use :func:`~collections.namedtuple` " @@ -542,11 +583,17 @@ msgstr "" "Sin embargo, para un tipo de registro estructurado, utilice :func:" "`~collections.namedtuple` en su lugar." -#: ../Doc/library/types.rst:363 +#: ../Doc/library/types.rst:400 +msgid "" +"Attribute order in the repr changed from alphabetical to insertion (like " +"``dict``)." +msgstr "" + +#: ../Doc/library/types.rst:406 msgid "Route attribute access on a class to __getattr__." msgstr "Acceso de atributo de ruta en una clase para __getattr__." -#: ../Doc/library/types.rst:365 +#: ../Doc/library/types.rst:408 msgid "" "This is a descriptor, used to define attributes that act differently when " "accessed through an instance and through a class. Instance access remains " @@ -559,20 +606,22 @@ msgstr "" "un atributo a través de una clase se enrutará al método __getattr__ de la " "clase; esto se hace lanzando AttributeError." -#: ../Doc/library/types.rst:370 +#: ../Doc/library/types.rst:413 +#, fuzzy msgid "" "This allows one to have properties active on an instance, and have virtual " -"attributes on the class with the same name (see Enum for an example)." +"attributes on the class with the same name (see :class:`enum.Enum` for an " +"example)." msgstr "" "Esto permite tener propiedades activas en una instancia y tener atributos " "virtuales en la clase con el mismo nombre (consulte Enum para obtener un " "ejemplo)." -#: ../Doc/library/types.rst:377 +#: ../Doc/library/types.rst:420 msgid "Coroutine Utility Functions" msgstr "Funciones de utilidad de corutina" -#: ../Doc/library/types.rst:381 +#: ../Doc/library/types.rst:424 msgid "" "This function transforms a :term:`generator` function into a :term:" "`coroutine function` which returns a generator-based coroutine. The " @@ -586,11 +635,11 @@ msgstr "" "también se considera un objeto :term:`coroutine` y es :term:`awaitable`. " "Sin embargo, no puede necesariamente implementar el método :meth:`__await__`." -#: ../Doc/library/types.rst:388 +#: ../Doc/library/types.rst:431 msgid "If *gen_func* is a generator function, it will be modified in-place." msgstr "Si *gen_func* es una función generadora, se modificará en el lugar." -#: ../Doc/library/types.rst:390 +#: ../Doc/library/types.rst:433 msgid "" "If *gen_func* is not a generator function, it will be wrapped. If it returns " "an instance of :class:`collections.abc.Generator`, the instance will be " diff --git a/library/typing.po b/library/typing.po index cfd3afc2b0..a84fbdcb91 100644 --- a/library/typing.po +++ b/library/typing.po @@ -10,26 +10,26 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-06-15 10:28+0200\n" +"Last-Translator: Héctor Canto \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Last-Translator: Héctor Canto \n" -"Language: es\n" -"X-Generator: Poedit 2.0.6\n" -#: ../Doc/library/typing.rst:2 +#: ../Doc/library/typing.rst:3 msgid ":mod:`typing` --- Support for type hints" msgstr ":mod:`typing` --- Soporte para *type hints*" -#: ../Doc/library/typing.rst:9 +#: ../Doc/library/typing.rst:10 msgid "**Source code:** :source:`Lib/typing.py`" msgstr "**Source code:** :source:`Lib/typing.py`" -#: ../Doc/library/typing.rst:13 +#: ../Doc/library/typing.rst:14 msgid "" "The Python runtime does not enforce function and variable type annotations. " "They can be used by third party tools such as type checkers, IDEs, linters, " @@ -39,7 +39,7 @@ msgstr "" "funciones y variables. Pueden ser utilizadas por herramientas de terceros " "como validadores de tipado, IDEs, linters, etc." -#: ../Doc/library/typing.rst:19 +#: ../Doc/library/typing.rst:20 msgid "" "This module provides runtime support for type hints as specified by :pep:" "`484`, :pep:`526`, :pep:`544`, :pep:`586`, :pep:`589`, and :pep:`591`. The " @@ -56,14 +56,14 @@ msgstr "" "especificación completa véase :pep:`484`. Para una introducción " "simplificada a *type hints* véase :pep:`483`." -#: ../Doc/library/typing.rst:27 +#: ../Doc/library/typing.rst:28 msgid "" "The function below takes and returns a string and is annotated as follows::" msgstr "" "La siguiente función toma y retorna una cadena de texto, que se anota de la " "siguiente manera::" -#: ../Doc/library/typing.rst:32 +#: ../Doc/library/typing.rst:33 msgid "" "In the function ``greeting``, the argument ``name`` is expected to be of " "type :class:`str` and the return type :class:`str`. Subtypes are accepted as " @@ -73,14 +73,15 @@ msgstr "" "tipo :class:`str` y que el tipo retornado sea :class:`str`. Los subtipos " "también son aceptados como argumento válido." -#: ../Doc/library/typing.rst:37 +#: ../Doc/library/typing.rst:38 msgid "Type aliases" msgstr "Alias de tipo" -#: ../Doc/library/typing.rst:39 +#: ../Doc/library/typing.rst:40 +#, fuzzy msgid "" "A type alias is defined by assigning the type to the alias. In this example, " -"``Vector`` and ``List[float]`` will be treated as interchangeable synonyms::" +"``Vector`` and ``list[float]`` will be treated as interchangeable synonyms::" 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::" @@ -213,7 +214,9 @@ msgstr "" 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" +# 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" #: ../Doc/library/typing.rst:154 msgid "" "Frameworks expecting callback functions of specific signatures might be type " @@ -260,16 +263,16 @@ msgstr "" "Los genéricos se pueden parametrizar usando una nueva factoría disponible en " "*typing* llamada :class:`TypeVar`." -#: ../Doc/library/typing.rst:202 +#: ../Doc/library/typing.rst:203 msgid "User-defined generic types" msgstr "Tipos genéricos definidos por el usuario" -#: ../Doc/library/typing.rst:204 +#: ../Doc/library/typing.rst:205 msgid "A user-defined class can be defined as a generic class." msgstr "" "Una clase definida por el usuario puede ser definida como una clase genérica." -#: ../Doc/library/typing.rst:230 +#: ../Doc/library/typing.rst:231 msgid "" "``Generic[T]`` as a base class defines that the class ``LoggedVar`` takes a " "single type parameter ``T`` . This also makes ``T`` valid as a type within " @@ -280,7 +283,7 @@ msgstr "" "dentro del cuerpo de la clase." # revisar en su contexto -#: ../Doc/library/typing.rst:234 +#: ../Doc/library/typing.rst:235 msgid "" "The :class:`Generic` base class defines :meth:`__class_getitem__` so that " "``LoggedVar[t]`` is valid as a type::" @@ -289,7 +292,7 @@ msgstr "" "``LoggedVar[t]`` sea válido como tipo::" # revisar constrained y que es una type variable en su contexto -#: ../Doc/library/typing.rst:243 +#: ../Doc/library/typing.rst:244 msgid "" "A generic type can have any number of type variables, and type variables may " "be constrained::" @@ -298,7 +301,7 @@ msgstr "" "pueden limitarse a tipos concretos::" # revisar la relacion argumento-variable-clase -#: ../Doc/library/typing.rst:255 +#: ../Doc/library/typing.rst:256 msgid "" "Each type variable argument to :class:`Generic` must be distinct. This is " "thus invalid::" @@ -306,22 +309,22 @@ msgstr "" "Cada argumento de variable de tipo en una clase :class:`Generic` debe ser " "distinto. Así, no será válido::" -#: ../Doc/library/typing.rst:266 +#: ../Doc/library/typing.rst:267 msgid "You can use multiple inheritance with :class:`Generic`::" msgstr "Se puede utilizar herencia múltiple con :class:`Generic`::" -#: ../Doc/library/typing.rst:275 +#: ../Doc/library/typing.rst:277 msgid "" "When inheriting from generic classes, some type variables could be fixed::" msgstr "" "Cuando se hereda de clases genéricas, se pueden fijar algunas variables de " "tipo::" -#: ../Doc/library/typing.rst:284 +#: ../Doc/library/typing.rst:287 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:286 +#: ../Doc/library/typing.rst:289 msgid "" "Using a generic class without specifying type parameters assumes :data:`Any` " "for each position. In the following example, ``MyIterable`` is not generic " @@ -331,17 +334,17 @@ msgstr "" "`Any` para todas las posiciones. En el siguiente ejemplo, ``MyIterable`` no " "es genérico pero hereda implícitamente de ``Iterable[Any]``::" -#: ../Doc/library/typing.rst:294 +#: ../Doc/library/typing.rst:297 msgid "User defined generic type aliases are also supported. Examples::" msgstr "" "Son posibles los alias de tipos genéricos definidos por el usuario. " "Ejemplos::" -#: ../Doc/library/typing.rst:310 +#: ../Doc/library/typing.rst:314 msgid ":class:`Generic` no longer has a custom metaclass." msgstr ":class:`Generic` ya no posee una metaclase personalizable." -#: ../Doc/library/typing.rst:313 +#: ../Doc/library/typing.rst:317 msgid "" "A user-defined generic class can have ABCs as base classes without a " "metaclass conflict. Generic metaclasses are not supported. The outcome of " @@ -354,11 +357,11 @@ msgstr "" "mayoría de los tipos en el módulo *typing* pueden tener un hash y ser " "comparables por igualdad (*equality*)." -#: ../Doc/library/typing.rst:320 +#: ../Doc/library/typing.rst:324 msgid "The :data:`Any` type" msgstr "El tipo :data:`Any`" -#: ../Doc/library/typing.rst:322 +#: ../Doc/library/typing.rst:326 msgid "" "A special kind of type is :data:`Any`. A static type checker will treat " "every type as being compatible with :data:`Any` and :data:`Any` as being " @@ -368,15 +371,16 @@ msgstr "" "tratará cualquier tipo como compatible con :data:`Any`, y :data:`Any` como " "compatible con todos los tipos." -#: ../Doc/library/typing.rst:326 +#: ../Doc/library/typing.rst:330 +#, fuzzy msgid "" "This means that it is possible to perform any operation or method call on a " -"value of type on :data:`Any` and assign it to any variable::" +"value of type :data:`Any` and assign it to any variable::" msgstr "" "Esto significa que es posible realizar cualquier operación o llamada a un " "método en un valor de tipo :data:`Any` y asignarlo a cualquier variable::" -#: ../Doc/library/typing.rst:344 +#: ../Doc/library/typing.rst:348 msgid "" "Notice that no typechecking is performed when assigning a value of type :" "data:`Any` to a more precise type. For example, the static type checker did " @@ -390,7 +394,7 @@ msgstr "" "se declaró ``s`` como de tipo :class:`str` y recibió un valor :class:`int` " "en tiempo de ejecución." -#: ../Doc/library/typing.rst:350 +#: ../Doc/library/typing.rst:354 msgid "" "Furthermore, all functions without a return type or parameter types will " "implicitly default to using :data:`Any`::" @@ -398,7 +402,7 @@ msgstr "" "Además, todas las funciones sin un tipo de retorno o tipos en los parámetros " "serán asignadas implícitamente a :data:`Any` por defecto::" -#: ../Doc/library/typing.rst:363 +#: ../Doc/library/typing.rst:367 msgid "" "This behavior allows :data:`Any` to be used as an *escape hatch* when you " "need to mix dynamically and statically typed code." @@ -406,7 +410,7 @@ msgstr "" "Este comportamiento permite que :data:`Any` sea usado como una *vía de " "escape* cuando es necesario mezclar código tipado estática y dinámicamente." -#: ../Doc/library/typing.rst:366 +#: ../Doc/library/typing.rst:370 msgid "" "Contrast the behavior of :data:`Any` with the behavior of :class:`object`. " "Similar to :data:`Any`, every type is a subtype of :class:`object`. However, " @@ -418,7 +422,7 @@ msgstr "" "Sin embargo, en oposición a :data:`Any`, lo contrario no es cierto: :class:" "`object` *no* es un subtipo de ningún otro tipo." -#: ../Doc/library/typing.rst:371 +#: ../Doc/library/typing.rst:375 msgid "" "That means when the type of a value is :class:`object`, a type checker will " "reject almost all operations on it, and assigning it to a variable (or using " @@ -430,7 +434,7 @@ msgstr "" "asignarlo a una variable (o usarlo como valor de retorno) de un tipo más " "preciso será un error de tipo. Por ejemplo::" -#: ../Doc/library/typing.rst:393 +#: ../Doc/library/typing.rst:397 msgid "" "Use :class:`object` to indicate that a value could be any type in a typesafe " "manner. Use :data:`Any` to indicate that a value is dynamically typed." @@ -439,11 +443,11 @@ msgstr "" "de manera segura. Úsese :data:`Any` para indicar que un valor es de tipado " "dinámico." -#: ../Doc/library/typing.rst:398 +#: ../Doc/library/typing.rst:402 msgid "Nominal vs structural subtyping" msgstr "Subtipado nominal vs estructural" -#: ../Doc/library/typing.rst:400 +#: ../Doc/library/typing.rst:404 msgid "" "Initially :pep:`484` defined Python static type system as using *nominal " "subtyping*. This means that a class ``A`` is allowed where a class ``B`` is " @@ -454,13 +458,14 @@ msgstr "" "se espere una clase ``B`` si y solo si ``A`` es una subclase de ``B``." # Frase ultracompleja, necesitar una revisión fuerte -#: ../Doc/library/typing.rst:404 +#: ../Doc/library/typing.rst:408 +#, fuzzy msgid "" "This requirement previously also applied to abstract base classes, such as :" -"class:`Iterable`. The problem with this approach is that a class had to be " -"explicitly marked to support them, which is unpythonic and unlike what one " -"would normally do in idiomatic dynamically typed Python code. For example, " -"this conforms to the :pep:`484`::" +"class:`~collections.abc.Iterable`. The problem with this approach is that a " +"class had to be explicitly marked to support them, which is unpythonic and " +"unlike what one would normally do in idiomatic dynamically typed Python " +"code. For example, this conforms to :pep:`484`::" msgstr "" "Este requisito también se aplicaba anteriormente a clases base abstractas " "(ABC), tales como :class:`Iterable`. El problema con esta estrategia es que " @@ -469,7 +474,7 @@ msgstr "" "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:417 +#: ../Doc/library/typing.rst:421 msgid "" ":pep:`544` allows to solve this problem by allowing users to write the above " "code without explicit base classes in the class definition, allowing " @@ -483,7 +488,7 @@ msgstr "" "``Bucket`` es un subtipo tanto de ``Sized`` como de ``Iterable[int]``. Esto " "se conoce como tipado *estructural* (o *duck-typing* estático)::" -#: ../Doc/library/typing.rst:433 +#: ../Doc/library/typing.rst:437 msgid "" "Moreover, by subclassing a special class :class:`Protocol`, a user can " "define new custom protocols to fully enjoy structural subtyping (see " @@ -493,123 +498,234 @@ msgstr "" "usuario puede definir nuevos protocolos personalizados y beneficiarse del " "tipado estructural (véanse los ejemplos de abajo)." -#: ../Doc/library/typing.rst:439 -msgid "Classes, functions, and decorators" -msgstr "Clases, funciones y decoradores" +#: ../Doc/library/typing.rst:442 +msgid "Module contents" +msgstr "" -#: ../Doc/library/typing.rst:441 -msgid "The module defines the following classes, functions and decorators:" +#: ../Doc/library/typing.rst:444 +#, fuzzy +msgid "The module defines the following classes, functions and decorators." msgstr "El módulo define las siguientes clases, funciones y decoradores:" -#: ../Doc/library/typing.rst:445 -msgid "Type variable." -msgstr "Variable de tipo." +#: ../Doc/library/typing.rst:448 +msgid "" +"This module defines several types that are subclasses of pre-existing " +"standard library classes which also extend :class:`Generic` to support type " +"variables inside ``[]``. These types became redundant in Python 3.9 when the " +"corresponding pre-existing classes were enhanced to support ``[]``." +msgstr "" -#: ../Doc/library/typing.rst:447 ../Doc/library/typing.rst:915 -msgid "Usage::" -msgstr "Uso::" +#: ../Doc/library/typing.rst:454 +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 "" -# parece que falta un link en Generic -#: ../Doc/library/typing.rst:452 +#: ../Doc/library/typing.rst:459 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 definitions. See class Generic for more information on generic " -"types. Generic functions work as follows::" +"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 "" -"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 la clase *Generic* para " -"más información sobre tipos genéricos. Las funciones genéricas funcionan " -"como sigue::" #: ../Doc/library/typing.rst:465 -msgid "" -"The latter example's signature is essentially the overloading of ``(str, " -"str) -> str`` and ``(bytes, bytes) -> bytes``. Also note that if the " -"arguments are instances of some subclass of :class:`str`, the return type is " -"still plain :class:`str`." +msgid "Special typing primitives" msgstr "" -"La signatura de los ejemplos anteriores es esencialmente la superposición de " -"``(str, str) -> str`` y ``(bytes, bytes) -> bytes``. Nótese también que " -"aunque los argumentos sean instancias de alguna subclase de :class:`str`, el " -"tipo retornado aún será una simple :class:`str`." + +#: ../Doc/library/typing.rst:468 +#, fuzzy +msgid "Special types" +msgstr "Tipo Optional." #: ../Doc/library/typing.rst:470 +msgid "These can be used as types in annotations and do not support ``[]``." +msgstr "" + +#: ../Doc/library/typing.rst:474 +msgid "Special type indicating an unconstrained type." +msgstr "Tipo especial que indica un tipo sin restricciones." + +#: ../Doc/library/typing.rst:476 +msgid "Every type is compatible with :data:`Any`." +msgstr "Todos los tipos son compatibles con :data:`Any`." + +#: ../Doc/library/typing.rst:477 +msgid ":data:`Any` is compatible with every type." +msgstr ":data:`Any` es compatible con todos los tipos." + +# 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:481 +msgid "Special type indicating that a function never returns. For example::" +msgstr "" +"Tipo especial que indica que una función nunca retorna un valor. Por " +"ejemplo::" + +#: ../Doc/library/typing.rst:493 +msgid "Special forms" +msgstr "" + +#: ../Doc/library/typing.rst:495 msgid "" -"At runtime, ``isinstance(x, T)`` will raise :exc:`TypeError`. In general, :" -"func:`isinstance` and :func:`issubclass` should not be used with types." +"These can be used as types in annotations using ``[]``, each having a unique " +"syntax." 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." -#: ../Doc/library/typing.rst:473 +#: ../Doc/library/typing.rst:499 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. Alternatively, a type " -"variable may specify an upper bound using ``bound=``. This means that " -"an actual type substituted (explicitly or implicitly) for the type variable " -"must be a subclass of the boundary type, see :pep:`484`." +"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 "" -"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. Opcionalmente, una variable de tipo puede especificar un límite " -"superior usando ``bound=``. Esto significa que el tipo (explícitamente " -"o implícitamente) tiene que ser una subclase del tipo limite, véase :pep:" -"`484`." +"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[()]``." -#: ../Doc/library/typing.rst:483 -msgid "Abstract base class for generic types." -msgstr "Clase base abstracta para tipos genéricos." +#: ../Doc/library/typing.rst:503 +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." -#: ../Doc/library/typing.rst:485 +#: ../Doc/library/typing.rst:507 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::" +"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 "" -"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::" +"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`." -#: ../Doc/library/typing.rst:494 -msgid "This class can then be used as follows::" -msgstr "Entonces, esta clase se puede usar como sigue::" +#: ../Doc/library/typing.rst:511 +msgid "" +":class:`builtins.tuple ` now supports ``[]``. See :pep:`585` and :ref:" +"`types-genericalias`." +msgstr "" -#: ../Doc/library/typing.rst:507 +#: ../Doc/library/typing.rst:517 +msgid "Union type; ``Union[X, Y]`` means either X or Y." +msgstr "Tipo unión; ``Union[X, Y]`` significa que o bien X o bien Y." + +#: ../Doc/library/typing.rst:519 +msgid "To define a union, use e.g. ``Union[int, str]``. Details:" +msgstr "" +"Para definir una unión, úsese p. ej. ``Union[int, str]``. Más detalles:" + +#: ../Doc/library/typing.rst:521 +msgid "The arguments must be types and there must be at least one." +msgstr "Los argumentos deben ser tipos y haber al menos uno." + +#: ../Doc/library/typing.rst:523 +msgid "Unions of unions are flattened, e.g.::" +msgstr "Las uniones de uniones se simplifican (se aplanan), p. ej.::" + +#: ../Doc/library/typing.rst:527 +msgid "Unions of a single argument vanish, e.g.::" +msgstr "Las uniones con un solo argumento se eliminan, p. ej.::" + +#: ../Doc/library/typing.rst:531 +msgid "Redundant arguments are skipped, e.g.::" +msgstr "Argumentos repetidos se omiten, p. ej.::" + +#: ../Doc/library/typing.rst:535 +msgid "When comparing unions, the argument order is ignored, e.g.::" +msgstr "" +"Cuando se comparan uniones, el orden de los argumentos se ignoran, p. ej.::" + +#: ../Doc/library/typing.rst:539 +msgid "You cannot subclass or instantiate a union." +msgstr "No se puede derivar (*subclass*) o instanciar una unión." + +#: ../Doc/library/typing.rst:541 +msgid "You cannot write ``Union[X][Y]``." +msgstr "No es posible escribir ``Union[X][Y]``." + +#: ../Doc/library/typing.rst:543 +msgid "You can use ``Optional[X]`` as a shorthand for ``Union[X, None]``." +msgstr "" +"Se puede usar ``Optional[X]`` como una versión corta de ``Union[X, None]``." + +#: ../Doc/library/typing.rst:545 +msgid "Don't remove explicit subclasses from unions at runtime." +msgstr "No elimina subclases explícitas de una unión en tiempo de ejecución." + +#: ../Doc/library/typing.rst:550 +msgid "Optional type." +msgstr "Tipo Optional." + +#: ../Doc/library/typing.rst:552 +msgid "``Optional[X]`` is equivalent to ``Union[X, None]``." +msgstr "``Optional[X]`` es equivalente a ``Union[X, None]``." + +#: ../Doc/library/typing.rst:554 msgid "" -"Base class for protocol classes. Protocol classes are defined like this::" +"Note that this is not the same concept as an optional argument, which is one " +"that has a default. An optional argument with a default does not require " +"the ``Optional`` qualifier on its type annotation just because it is " +"optional. For example::" msgstr "" -"Clase base para clases protocolo. Las clases protocolo se definen así::" +"Nótese que no es lo mismo que un argumento opcional, que es aquel que tiene " +"un valor por defecto. Un argumento opcional con un valor por defecto no " +"necesita el indicador ``Optional`` en su anotación de tipo simplemente por " +"que sea opcional. Por ejemplo::" -#: ../Doc/library/typing.rst:513 +#: ../Doc/library/typing.rst:562 msgid "" -"Such classes are primarily used with static type checkers that recognize " -"structural subtyping (static duck-typing), for example::" +"On the other hand, if an explicit value of ``None`` is allowed, the use of " +"``Optional`` is appropriate, whether the argument is optional or not. For " +"example::" msgstr "" -"Tales clases son usadas principalmente con validadores estáticos de tipos " -"que detectan subtipado estructural (*duck-typing* estático), por ejemplo::" +"Por otro lado, si se permite un valor ``None``, es apropiado el uso de " +"``Optional``, independientemente de que sea opcional o no. Por ejemplo::" + +#: ../Doc/library/typing.rst:571 +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." -#: ../Doc/library/typing.rst:525 +#: ../Doc/library/typing.rst:573 msgid "" -"See :pep:`544` for details. Protocol classes decorated with :func:" -"`runtime_checkable` (described later) act as simple-minded runtime protocols " -"that check only the presence of given attributes, ignoring their type " -"signatures." +"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 or an ellipsis; the return type must be a single type." msgstr "" -"Véase :pep:`544` para más detalles. Las clases protocolo decoradas con :func:" -"`runtime_checkable` (que se explica más adelante) se comportan como " -"protocolos simplistas en tiempo de ejecución que solo comprueban la " -"presencia de atributos dados, ignorando su firma de tipo." +"La sintaxis de subscripción (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." -#: ../Doc/library/typing.rst:530 -msgid "Protocol classes can be generic, for example::" -msgstr "Las clases protocolo pueden ser genéricas, por ejemplo::" +#: ../Doc/library/typing.rst:578 +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`." + +#: ../Doc/library/typing.rst:586 +msgid "" +":class:`collections.abc.Callable` now supports ``[]``. See :pep:`585` and :" +"ref:`types-genericalias`." +msgstr "" -#: ../Doc/library/typing.rst:540 +#: ../Doc/library/typing.rst:592 msgid "" "A variable annotated with ``C`` may accept a value of type ``C``. In " "contrast, a variable annotated with ``Type[C]`` may accept values that are " @@ -621,11 +737,11 @@ msgstr "" "clases en sí mismas -- específicamente, aceptará el *objecto clase* de " "``C``. Por ejemplo.::" -#: ../Doc/library/typing.rst:549 +#: ../Doc/library/typing.rst:601 msgid "Note that ``Type[C]`` is covariant::" msgstr "Nótese que ``Type[C]`` es covariante::" -#: ../Doc/library/typing.rst:561 +#: ../Doc/library/typing.rst:613 msgid "" "The fact that ``Type[C]`` is covariant implies that all subclasses of ``C`` " "should implement the same constructor signature and class method signatures " @@ -642,7 +758,7 @@ msgstr "" "que el validador de tipos debe gestionar este caso particular podría cambiar " "en futuras revisiones de :pep:`484`." -#: ../Doc/library/typing.rst:569 +#: ../Doc/library/typing.rst:621 msgid "" "The only legal parameters for :class:`Type` are classes, :data:`Any`, :ref:" "`type variables `, and unions of any of these types. For example::" @@ -651,7 +767,7 @@ msgstr "" "`type variables `, y uniones de cualquiera de los tipos " "anteriores. Por ejemplo::" -#: ../Doc/library/typing.rst:575 +#: ../Doc/library/typing.rst:627 msgid "" "``Type[Any]`` is equivalent to ``Type`` which in turn is equivalent to " "``type``, which is the root of Python's metaclass hierarchy." @@ -659,123 +775,538 @@ 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." -#: ../Doc/library/typing.rst:582 -msgid "A generic version of :class:`collections.abc.Iterable`." -msgstr "Una versión genérica de :class:`collections.abc.Iterable`." - -#: ../Doc/library/typing.rst:586 -msgid "A generic version of :class:`collections.abc.Iterator`." -msgstr "Una versión genérica de :class:`collections.abc.Iterator`." - -#: ../Doc/library/typing.rst:590 -msgid "A generic version of :class:`collections.abc.Reversible`." -msgstr "Una versión genérica de :class:`collections.abc.Reversible`." - -#: ../Doc/library/typing.rst:594 -msgid "An ABC with one abstract method ``__int__``." -msgstr "Una ABC con un método abstracto ``__int__``." - -#: ../Doc/library/typing.rst:598 -msgid "An ABC with one abstract method ``__float__``." -msgstr "Una ABC con un método abstracto ``__float__``." - -#: ../Doc/library/typing.rst:602 -msgid "An ABC with one abstract method ``__complex__``." -msgstr "Una ABC con un método abstracto ``__complex__``." - -#: ../Doc/library/typing.rst:606 -msgid "An ABC with one abstract method ``__bytes__``." -msgstr "Una ABC con un método abstracto ``__bytes__``." - -#: ../Doc/library/typing.rst:610 -msgid "An ABC with one abstract method ``__index__``." -msgstr "Una ABC con un método abstracto ``__index__``." - -#: ../Doc/library/typing.rst:616 +#: ../Doc/library/typing.rst:632 msgid "" -"An ABC with one abstract method ``__abs__`` that is covariant in its return " -"type." +":class:`builtins.type ` now supports ``[]``. See :pep:`585` and :ref:" +"`types-genericalias`." msgstr "" -"Una ABC con un método abstracto ``__abs__`` que es covariante en su tipo " -"retornado." -#: ../Doc/library/typing.rst:621 +#: ../Doc/library/typing.rst:638 msgid "" -"An ABC with one abstract method ``__round__`` that is covariant in its " -"return type." +"A type that can be used to indicate to type checkers that the corresponding " +"variable or function parameter has a value equivalent to the provided " +"literal (or one of several literals). For example::" msgstr "" -"Una ABC con un método abstracto ``__round__`` que es covariantes en su tipo " -"retornado." - -#: ../Doc/library/typing.rst:626 -msgid "A generic version of :class:`collections.abc.Container`." -msgstr "Una versión genérica de :class:`collections.abc.Container`." +"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::" -#: ../Doc/library/typing.rst:630 -msgid "An alias to :class:`collections.abc.Hashable`" -msgstr "Un alias de :class:`collections.abc.Hashable`" +#: ../Doc/library/typing.rst:652 +msgid "" +"``Literal[...]`` cannot be subclassed. At runtime, an arbitrary value is " +"allowed as type argument to ``Literal[...]``, but type checkers may impose " +"restrictions. See :pep:`586` for more details about literal types." +msgstr "" +"``Literal[...]`` no puede ser derivado. En tiempo de ejecución, se permite " +"un valor arbitrario como argumento de tipo de ``Literal[...]``, pero los " +"validadores de tipos pueden imponer sus restricciones. Véase :pep:`585` para " +"más detalles sobre tipos literales." -#: ../Doc/library/typing.rst:634 -msgid "An alias to :class:`collections.abc.Sized`" -msgstr "Un alias de :class:`collections.abc.Sized`" +#: ../Doc/library/typing.rst:658 +msgid "" +"``Literal`` now de-duplicates parameters. Equality comparison of " +"``Literal`` objects are no longer order dependent. ``Literal`` objects will " +"now raise a :exc:`TypeError` exception during equality comparisons if one of " +"their parameters are not :term:`immutable`." +msgstr "" -#: ../Doc/library/typing.rst:638 -msgid "A generic version of :class:`collections.abc.Collection`" -msgstr "Una versión genérica de :class:`collections.abc.Collection`" +#: ../Doc/library/typing.rst:666 +msgid "Special type construct to mark class variables." +msgstr "Construcción especial para tipado para marcar variables de clase." -#: ../Doc/library/typing.rst:644 -msgid "A generic version of :class:`collections.abc.Set`." -msgstr "Una versión genérica de :class:`collections.abc.Set`." +# Puede haber una entrada mejor para "As introduced" +#: ../Doc/library/typing.rst:668 +msgid "" +"As introduced in :pep:`526`, a variable annotation wrapped in ClassVar " +"indicates that a given attribute is intended to be used as a class variable " +"and should not be set on instances of that class. Usage::" +msgstr "" +"Tal y como introduce :pep:`526`, una anotación de variable rodeada por " +"ClassVar indica que la intención de un atributo dado es ser usado como " +"variable de clase y que no debería ser modificado en las instancias de esa " +"misma clase. Uso::" -#: ../Doc/library/typing.rst:648 -msgid "A generic version of :class:`collections.abc.MutableSet`." -msgstr "Una versión genérica de :class:`collections.abc.MutableSet`." +# subscribed se substituye por niveles de subindice +#: ../Doc/library/typing.rst:676 +msgid ":data:`ClassVar` accepts only types and cannot be further subscribed." +msgstr "" +":data:`ClassVar` solo acepta tipos y no admite más niveles de subíndices." + +#: ../Doc/library/typing.rst:678 +msgid "" +":data:`ClassVar` is not a class itself, and should not be used with :func:" +"`isinstance` or :func:`issubclass`. :data:`ClassVar` does not change Python " +"runtime behavior, but it can be used by third-party type checkers. For " +"example, a type checker might flag the following code as an error::" +msgstr "" +":data:`ClassVar` no es un clase en sí misma, y no debe ser usado con :func:" +"`isinstance` o :func:`issubclass`. :data:`ClassVar` no modifica el " +"comportamiento de Python en tiempo de ejecución pero puede ser utilizado por " +"validadores de terceros. Por ejemplo, un validador de tipos puede marcar el " +"siguiente código como erróneo::" + +#: ../Doc/library/typing.rst:692 +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::" + +#: ../Doc/library/typing.rst:704 ../Doc/library/typing.rst:1616 +msgid "" +"There is no runtime checking of these properties. See :pep:`591` for more " +"details." +msgstr "" +"No hay comprobación en tiempo de ejecución para estas propiedades. Véase :" +"pep:`591` para más detalles." + +#: ../Doc/library/typing.rst:711 +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`` (e.g., via " +"mypy or Pyre, which can safely ignore ``x``) together with runtime access to " +"``x`` within a specific application." +msgstr "" + +#: ../Doc/library/typing.rst:725 +msgid "" +"Ultimately, the responsibility of how to interpret the annotations (if at " +"all) is the responsibility of the tool or library encountering the " +"``Annotated`` type. A tool or library encountering an ``Annotated`` type can " +"scan through the annotations to determine if they are of interest (e.g., " +"using ``isinstance()``)." +msgstr "" + +#: ../Doc/library/typing.rst:731 +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 "" + +#: ../Doc/library/typing.rst:735 +msgid "" +"It's up to the tool consuming the annotations to decide whether the client " +"is allowed to have several annotations on one type and how to merge those " +"annotations." +msgstr "" + +#: ../Doc/library/typing.rst:739 +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 "" + +#: ../Doc/library/typing.rst:748 +msgid "" +"Passing ``include_extras=True`` to :func:`get_type_hints` lets one access " +"the extra annotations at runtime." +msgstr "" + +#: ../Doc/library/typing.rst:751 +msgid "The details of the syntax:" +msgstr "" + +#: ../Doc/library/typing.rst:753 +msgid "The first argument to ``Annotated`` must be a valid type" +msgstr "" + +#: ../Doc/library/typing.rst:755 +msgid "" +"Multiple type annotations are supported (``Annotated`` supports variadic " +"arguments)::" +msgstr "" + +#: ../Doc/library/typing.rst:760 +msgid "" +"``Annotated`` must be called with at least two arguments " +"( ``Annotated[int]`` is not valid)" +msgstr "" + +#: ../Doc/library/typing.rst:763 +msgid "" +"The order of the annotations is preserved and matters for equality checks::" +msgstr "" + +#: ../Doc/library/typing.rst:770 +msgid "" +"Nested ``Annotated`` types are flattened, with metadata ordered starting " +"with the innermost annotation::" +msgstr "" + +#: ../Doc/library/typing.rst:777 +msgid "Duplicated annotations are not removed::" +msgstr "" + +#: ../Doc/library/typing.rst:783 +msgid "``Annotated`` can be used with nested and generic aliases::" +msgstr "" + +#: ../Doc/library/typing.rst:794 +#, fuzzy +msgid "Building generic types" +msgstr "Tipos genéricos definidos por el usuario" + +#: ../Doc/library/typing.rst:796 +msgid "" +"These are not used in annotations. They are building blocks for creating " +"generic types." +msgstr "" + +#: ../Doc/library/typing.rst:800 +msgid "Abstract base class for generic types." +msgstr "Clase base abstracta para tipos genéricos." + +#: ../Doc/library/typing.rst:802 +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::" + +#: ../Doc/library/typing.rst:811 +msgid "This class can then be used as follows::" +msgstr "Entonces, esta clase se puede usar como sigue::" + +#: ../Doc/library/typing.rst:824 +msgid "Type variable." +msgstr "Variable de tipo." + +#: ../Doc/library/typing.rst:826 ../Doc/library/typing.rst:942 +msgid "Usage::" +msgstr "Uso::" + +# parece que falta un link en Generic +#: ../Doc/library/typing.rst:831 +#, 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 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 la clase *Generic* para " +"más información sobre tipos genéricos. Las funciones genéricas funcionan " +"como sigue::" + +#: ../Doc/library/typing.rst:844 +msgid "" +"The latter example's signature is essentially the overloading of ``(str, " +"str) -> str`` and ``(bytes, bytes) -> bytes``. Also note that if the " +"arguments are instances of some subclass of :class:`str`, the return type is " +"still plain :class:`str`." +msgstr "" +"La signatura de los ejemplos anteriores es esencialmente la superposición de " +"``(str, str) -> str`` y ``(bytes, bytes) -> bytes``. Nótese también que " +"aunque los argumentos sean instancias de alguna subclase de :class:`str`, el " +"tipo retornado aún será una simple :class:`str`." + +#: ../Doc/library/typing.rst:849 +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." + +#: ../Doc/library/typing.rst:852 +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. Alternatively, a type " +"variable may specify an upper bound using ``bound=``. This means that " +"an actual type substituted (explicitly or implicitly) for the type variable " +"must be a subclass of the boundary type, see :pep:`484`." +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. Opcionalmente, una variable de tipo puede especificar un límite " +"superior usando ``bound=``. Esto significa que el tipo (explícitamente " +"o implícitamente) tiene que ser una subclase del tipo limite, véase :pep:" +"`484`." + +#: ../Doc/library/typing.rst:862 +msgid "" +"``AnyStr`` is a type variable defined as ``AnyStr = TypeVar('AnyStr', str, " +"bytes)``." +msgstr "" +"``AnyStr`` es una variable de tipo definida como ``AnyStr = " +"TypeVar('AnyStr', str, bytes)``." + +#: ../Doc/library/typing.rst:865 +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::" + +#: ../Doc/library/typing.rst:877 +msgid "" +"Base class for protocol classes. Protocol classes are defined like this::" +msgstr "" +"Clase base para clases protocolo. Las clases protocolo se definen así::" + +#: ../Doc/library/typing.rst:883 +msgid "" +"Such classes are primarily used with static type checkers that recognize " +"structural subtyping (static duck-typing), for example::" +msgstr "" +"Tales clases son usadas principalmente con validadores estáticos de tipos " +"que detectan subtipado estructural (*duck-typing* estático), por ejemplo::" + +#: ../Doc/library/typing.rst:895 +msgid "" +"See :pep:`544` for details. Protocol classes decorated with :func:" +"`runtime_checkable` (described later) act as simple-minded runtime protocols " +"that check only the presence of given attributes, ignoring their type " +"signatures." +msgstr "" +"Véase :pep:`544` para más detalles. Las clases protocolo decoradas con :func:" +"`runtime_checkable` (que se explica más adelante) se comportan como " +"protocolos simplistas en tiempo de ejecución que solo comprueban la " +"presencia de atributos dados, ignorando su firma de tipo." + +#: ../Doc/library/typing.rst:900 +msgid "Protocol classes can be generic, for example::" +msgstr "Las clases protocolo pueden ser genéricas, por ejemplo::" + +#: ../Doc/library/typing.rst:910 +msgid "Mark a protocol class as a runtime protocol." +msgstr "" +"Marca una clase protocolo como aplicable en tiempo de ejecución (lo " +"convierte en un *runtime protocol*)." + +#: ../Doc/library/typing.rst:912 +#, fuzzy +msgid "" +"Such a protocol can be used with :func:`isinstance` and :func:`issubclass`. " +"This raises :exc:`TypeError` when applied to a non-protocol class. This " +"allows a simple-minded structural check, very similar to \"one trick ponies" +"\" in :mod:`collections.abc` such as :class:`~collections.abc.Iterable`. " +"For example::" +msgstr "" +"Tal protocolo se puede usar con :func:`isinstance` y :func:`issubclass`. " +"Esto lanzará una excepción :exc:`TypeError` cuando se aplique a una clase " +"que no es un *protocolo*. Esto permite una comprobación estructural simple, " +"muy semejante a \"one trick ponies\" en :mod:`collections.abc` como es :" +"class:`Iterable`. Por ejemplo::" + +#: ../Doc/library/typing.rst:925 +msgid "" +":func:`runtime_checkable` will check only the presence of the required " +"methods, not their type signatures! For example, :class:`builtins.complex " +"` implements :func:`__float__`, therefore it passes an :func:" +"`issubclass` check against :class:`SupportsFloat`. However, the ``complex." +"__float__`` method exists only to raise a :class:`TypeError` with a more " +"informative message." +msgstr "" + +#: ../Doc/library/typing.rst:934 +msgid "Other special directives" +msgstr "" + +#: ../Doc/library/typing.rst:936 +msgid "" +"These are not used in annotations. They are building blocks for declaring " +"types." +msgstr "" + +#: ../Doc/library/typing.rst:940 +msgid "Typed version of :func:`collections.namedtuple`." +msgstr "Versión para anotación de tipos de :func:`collections.namedtuple`." + +#: ../Doc/library/typing.rst:948 +msgid "This is equivalent to::" +msgstr "Esto es equivalente a:" + +#: ../Doc/library/typing.rst:952 +msgid "" +"To give a field a default value, you can assign to it in the class body::" +msgstr "" +"Para proporcionar a un campo un valor por defecto se puede asignar en el " +"cuerpo de la clase::" + +#: ../Doc/library/typing.rst:961 +msgid "" +"Fields with a default value must come after any fields without a default." +msgstr "" +"Los campos con un valor por defecto deben ir después de los campos sin valor " +"por defecto." + +#: ../Doc/library/typing.rst:963 +msgid "" +"The resulting class has an extra attribute ``__annotations__`` giving a dict " +"that maps the field names to the field types. (The field names are in the " +"``_fields`` attribute and the default values are in the ``_field_defaults`` " +"attribute both of which are part of the namedtuple API.)" +msgstr "" +"La clase resultante tiene un atributo extra ``__annotations__`` que " +"proporciona un diccionario que mapea el nombre de los campos con su tipo. " +"(Lo nombres de los campo están en el atributo ``_fields`` y sus valores por " +"defecto en el atributo ``_field_defaults``, ambos parte de la API de " +"namedtuple.)" + +#: ../Doc/library/typing.rst:969 +msgid "``NamedTuple`` subclasses can also have docstrings and methods::" +msgstr "" +"Las subclases de ``NamedTuple`` también pueden tener *docstrings* y métodos::" + +#: ../Doc/library/typing.rst:979 +msgid "Backward-compatible usage::" +msgstr "Uso retrocompatible::" + +#: ../Doc/library/typing.rst:983 +msgid "Added support for :pep:`526` variable annotation syntax." +msgstr "" +"Soporte añadido para la sintaxis de anotación de variables propuesto en :pep:" +"`526`." + +#: ../Doc/library/typing.rst:986 +msgid "Added support for default values, methods, and docstrings." +msgstr "Soporte añadido para valores por defecto, métodos y *docstrings*." + +#: ../Doc/library/typing.rst:989 +msgid "" +"The ``_field_types`` and ``__annotations__`` attributes are now regular " +"dictionaries instead of instances of ``OrderedDict``." +msgstr "" +"Los atributos ``_field_types`` y ``__annotations__`` son simples " +"diccionarios en vez de instancias de ``OrderedDict``." + +#: ../Doc/library/typing.rst:993 +#, fuzzy +msgid "" +"Removed the ``_field_types`` attribute in favor of the more standard " +"``__annotations__`` attribute which has the same information." +msgstr "" +"Convierte en obsoleto el atributo ``_field_types`` en favor del atributo más " +"estándar ``__annotations__``, que tiene la misma información." + +# Aquí se ha preferido distinguible antes que distinto ya que UserId no es un +# tipo disting a int, es un int, pero es difirenciable por el validador. +#: ../Doc/library/typing.rst:999 +#, fuzzy +msgid "" +"A helper function to indicate a distinct type to a typechecker, see :ref:" +"`distinct`. At runtime it returns a function that returns its argument. " +"Usage::" +msgstr "" +"Un función auxiliar para indicar un tipo distinguible a los validadores de " +"tipos, véase :ref:`distinct`. En tiempo de ejecución, retorna una función " +"que retorna su argumento. Uso::" + +#: ../Doc/library/typing.rst:1010 +msgid "" +"Special construct to add type hints to a dictionary. At runtime it is a " +"plain :class:`dict`." +msgstr "" + +# sinonimo para imposicion/imponer +#: ../Doc/library/typing.rst:1013 +#, fuzzy +msgid "" +"``TypedDict`` declares a dictionary type that expects all of its instances " +"to have a certain set of keys, where each key is associated with a value of " +"a consistent type. This expectation is not checked at runtime but is only " +"enforced by type checkers. Usage::" +msgstr "" +"``TypedDict`` crea un tipo de diccionario que espera que todas sus " +"instancias tenga un cierto conjunto de claves, donde cada clave está " +"asociada con un valor de un tipo determinado. Esta exigencia no se comprueba " +"en tiempo de ejecución y solo es impuesta por validadores de tipo. Uso::" + +#: ../Doc/library/typing.rst:1029 +msgid "" +"The type info for introspection can be accessed via ``Point2D." +"__annotations__`` and ``Point2D.__total__``. To allow using this feature " +"with older versions of Python that do not support :pep:`526`, ``TypedDict`` " +"supports two additional equivalent syntactic forms::" +msgstr "" +"Se puede acceder a la información de tipo para introspección vía ``Point2D." +"__annotations__`` y ``Point2D.__total__``. Para poder utilizar esta " +"características con versiones antiguas de Python que no soporten :pep:`526`, " +"``TypedDict`` proporciona adicionalmente dos formatos sintácticos " +"equivalentes::" -#: ../Doc/library/typing.rst:652 +#: ../Doc/library/typing.rst:1037 msgid "" -"A generic version of :class:`collections.abc.Mapping`. This type can be used " -"as follows::" +"By default, all keys must be present in a TypedDict. It is possible to " +"override this by specifying totality. Usage::" msgstr "" -"Una versión genérica de :class:`collections.abc.Mapping`. Este tipo se puede " -"usar de la siguiente manera::" +"Por defecto, todas las claves deben estar presentes en un TypedDict. Es " +"posible anularlo especificando el parámetro *total*. De esta manera::" -#: ../Doc/library/typing.rst:660 -msgid "A generic version of :class:`collections.abc.MutableMapping`." -msgstr "Una versión genérica de :class:`collections.abc.MutableMapping`." +#: ../Doc/library/typing.rst:1045 +msgid "" +"This means that a point2D TypedDict can have any of the keys omitted. A type " +"checker is only expected to support a literal False or True as the value of " +"the total argument. True is the default, and makes all items defined in the " +"class body be required." +msgstr "" +"Esto significa que un TypedDict point2D puede omitir cualquiera de sus " +"claves. Un validador de tipos solo se esperará un valor literal *False* o " +"*True* como valor del argumento *total*. *True* es el valor por defecto, y " +"hace que todos los elementos definidos en el cuerpo de la clases sean " +"obligatorios." -#: ../Doc/library/typing.rst:664 -msgid "A generic version of :class:`collections.abc.Sequence`." -msgstr "Una versión genérica de :class:`collections.abc.Sequence`." +#: ../Doc/library/typing.rst:1050 +msgid "" +"See :pep:`589` for more examples and detailed rules of using ``TypedDict``." +msgstr "" +"Véase :pep:`589` para más ejemplos y reglas detalladas del uso de " +"``TypedDict``." -#: ../Doc/library/typing.rst:668 -msgid "A generic version of :class:`collections.abc.MutableSequence`." -msgstr "Una versión genérica de :class:`collections.abc.MutableSequence`." +#: ../Doc/library/typing.rst:1055 +msgid "Generic concrete collections" +msgstr "" -#: ../Doc/library/typing.rst:672 -msgid "A generic version of :class:`collections.abc.ByteString`." -msgstr "Una versión genérica de :class:`collections.abc.ByteString`." +#: ../Doc/library/typing.rst:1058 +msgid "Corresponding to built-in types" +msgstr "" -#: ../Doc/library/typing.rst:674 +#: ../Doc/library/typing.rst:1062 msgid "" -"This type represents the types :class:`bytes`, :class:`bytearray`, and :" -"class:`memoryview`." +"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 "" -"Este tipo representa a los tipos :class:`bytes`, :class:`bytearray`, y :" -"class:`memoryview`." +"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`." + +#: ../Doc/library/typing.rst:1066 +msgid "This type can be used as follows::" +msgstr "Este tipo se puede usar de la siguiente manera::" -#: ../Doc/library/typing.rst:677 +#: ../Doc/library/typing.rst:1071 msgid "" -"As a shorthand for this type, :class:`bytes` can be used to annotate " -"arguments of any of the types mentioned above." +":class:`builtins.dict ` now supports ``[]``. See :pep:`585` and :ref:" +"`types-genericalias`." msgstr "" -"Como abreviación para este tipo, :class:`bytes` se puede usar para anotar " -"argumentos de cualquiera de los tipos mencionados arriba." - -#: ../Doc/library/typing.rst:682 -msgid "A generic version of :class:`collections.deque`." -msgstr "Una versión genérica de :class:`collections.deque`." -#: ../Doc/library/typing.rst:689 +#: ../Doc/library/typing.rst:1077 msgid "" "Generic version of :class:`list`. Useful for annotating return types. To " "annotate arguments it is preferred to use an abstract collection type such " @@ -785,11 +1316,17 @@ msgstr "" "anotar argumentos es preferible usar un tipo abstracto de colección como :" "class:`Sequence` o :class:`Iterable`." -#: ../Doc/library/typing.rst:694 +#: ../Doc/library/typing.rst:1082 msgid "This type may be used as follows::" msgstr "Este tipo se puede usar del siguiente modo::" -#: ../Doc/library/typing.rst:706 +#: ../Doc/library/typing.rst:1092 +msgid "" +":class:`builtins.list ` now supports ``[]``. See :pep:`585` and :ref:" +"`types-genericalias`." +msgstr "" + +#: ../Doc/library/typing.rst:1098 msgid "" "A generic version of :class:`builtins.set `. Useful for annotating " "return types. To annotate arguments it is preferred to use an abstract " @@ -799,88 +1336,318 @@ msgstr "" "de retornos. Para anotar argumentos es preferible usar un tipo abstracto de " "colección como :class:`AbstractSet`." -#: ../Doc/library/typing.rst:712 +#: ../Doc/library/typing.rst:1102 +msgid "" +":class:`builtins.set ` now supports ``[]``. See :pep:`585` and :ref:" +"`types-genericalias`." +msgstr "" + +#: ../Doc/library/typing.rst:1108 msgid "A generic version of :class:`builtins.frozenset `." msgstr "Una versión genérica de :class:`builtins.frozenset `." -#: ../Doc/library/typing.rst:716 -msgid "A generic version of :class:`collections.abc.MappingView`." -msgstr "Una versión genérica de :class:`collections.abc.MappingView`." +#: ../Doc/library/typing.rst:1110 +msgid "" +":class:`builtins.frozenset ` now supports ``[]``. See :pep:`585` " +"and :ref:`types-genericalias`." +msgstr "" -#: ../Doc/library/typing.rst:720 -msgid "A generic version of :class:`collections.abc.KeysView`." -msgstr "Una versión genérica de :class:`collections.abc.KeysView`." +#: ../Doc/library/typing.rst:1114 +msgid ":data:`Tuple` is a special form." +msgstr "" + +#: ../Doc/library/typing.rst:1117 +msgid "Corresponding to types in :mod:`collections`" +msgstr "" + +#: ../Doc/library/typing.rst:1121 +msgid "A generic version of :class:`collections.defaultdict`." +msgstr "Una versión genérica de :class:`collections.defaultdict`." + +#: ../Doc/library/typing.rst:1125 +msgid "" +":class:`collections.defaultdict` now supports ``[]``. See :pep:`585` and :" +"ref:`types-genericalias`." +msgstr "" + +#: ../Doc/library/typing.rst:1131 +msgid "A generic version of :class:`collections.OrderedDict`." +msgstr "Una versión genérica de :class:`collections.OrderedDict`." + +#: ../Doc/library/typing.rst:1135 +msgid "" +":class:`collections.OrderedDict` now supports ``[]``. See :pep:`585` and :" +"ref:`types-genericalias`." +msgstr "" + +#: ../Doc/library/typing.rst:1141 +msgid "A generic version of :class:`collections.ChainMap`." +msgstr "Una versión genérica de :class:`collections.ChainMap`." + +#: ../Doc/library/typing.rst:1146 +msgid "" +":class:`collections.ChainMap` now supports ``[]``. See :pep:`585` and :ref:" +"`types-genericalias`." +msgstr "" + +#: ../Doc/library/typing.rst:1152 +msgid "A generic version of :class:`collections.Counter`." +msgstr "Una versión genérica de :class:`collections.Counter`." + +#: ../Doc/library/typing.rst:1157 +msgid "" +":class:`collections.Counter` now supports ``[]``. See :pep:`585` and :ref:" +"`types-genericalias`." +msgstr "" + +#: ../Doc/library/typing.rst:1163 +msgid "A generic version of :class:`collections.deque`." +msgstr "Una versión genérica de :class:`collections.deque`." + +#: ../Doc/library/typing.rst:1168 +msgid "" +":class:`collections.deque` now supports ``[]``. See :pep:`585` and :ref:" +"`types-genericalias`." +msgstr "" + +#: ../Doc/library/typing.rst:1173 +msgid "Other concrete types" +msgstr "" + +#: ../Doc/library/typing.rst:1179 +#, fuzzy +msgid "" +"Generic type ``IO[AnyStr]`` and its subclasses ``TextIO(IO[str])`` and " +"``BinaryIO(IO[bytes])`` represent the types of I/O streams such as returned " +"by :func:`open`. These types are also in the ``typing.io`` namespace." +msgstr "" +"El tipo genérico ``IO[AnyStr]`` y sus subclases ``TextIO(IO[str])`` y " +"``BinaryIO(IO[bytes])`` representan tipos de flujo de entrada/salida (*I/O " +"streams*) como los usados por la función :func:`open`." + +#: ../Doc/library/typing.rst:1187 +#, fuzzy +msgid "" +"These type aliases correspond to the return types from :func:`re.compile` " +"and :func:`re.match`. These types (and the corresponding functions) are " +"generic in ``AnyStr`` and can be made specific by writing ``Pattern[str]``, " +"``Pattern[bytes]``, ``Match[str]``, or ``Match[bytes]``. These types are " +"also in the ``typing.re`` namespace." +msgstr "" +"Estos aliases de tipo se corresponden con los tipos de retorno de :func:`re." +"compile` y :func:`re.match`. Estos tipos (y sus correspondientes funciones) " +"son genéricos en ``AnyStr`` y se puede especificar escribiendo " +"``Pattern[str]``, ``Pattern[bytes]``, ``Match[str]``, o ``Match[bytes]``." + +#: ../Doc/library/typing.rst:1194 +msgid "" +"Classes ``Pattern`` and ``Match`` from :mod:`re` now support ``[]``. See :" +"pep:`585` and :ref:`types-genericalias`." +msgstr "" + +#: ../Doc/library/typing.rst:1200 +msgid "" +"``Text`` is an alias for ``str``. It 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``." + +#: ../Doc/library/typing.rst:1204 +msgid "" +"Use ``Text`` to indicate that a value must contain a unicode string in a " +"manner that is compatible with both Python 2 and Python 3::" +msgstr "" +"Úsese ``Text`` para indicar que un valor debe contener una cadena de texto " +"Unicode de manera que sea compatible con Python 2 y Python 3::" + +#: ../Doc/library/typing.rst:1213 +#, fuzzy +msgid "Abstract Base Classes" +msgstr "Clase base abstracta para tipos genéricos." + +#: ../Doc/library/typing.rst:1216 +msgid "Corresponding to collections in :mod:`collections.abc`" +msgstr "" + +#: ../Doc/library/typing.rst:1220 +msgid "A generic version of :class:`collections.abc.Set`." +msgstr "Una versión genérica de :class:`collections.abc.Set`." + +#: ../Doc/library/typing.rst:1222 +msgid "" +":class:`collections.abc.Set` now supports ``[]``. See :pep:`585` and :ref:" +"`types-genericalias`." +msgstr "" + +#: ../Doc/library/typing.rst:1228 +msgid "A generic version of :class:`collections.abc.ByteString`." +msgstr "Una versión genérica de :class:`collections.abc.ByteString`." + +#: ../Doc/library/typing.rst:1230 +#, fuzzy +msgid "" +"This type represents the types :class:`bytes`, :class:`bytearray`, and :" +"class:`memoryview` of byte sequences." +msgstr "" +"Este tipo representa a los tipos :class:`bytes`, :class:`bytearray`, y :" +"class:`memoryview`." + +#: ../Doc/library/typing.rst:1233 +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." + +#: ../Doc/library/typing.rst:1236 +msgid "" +":class:`collections.abc.ByteString` now supports ``[]``. See :pep:`585` and :" +"ref:`types-genericalias`." +msgstr "" + +#: ../Doc/library/typing.rst:1242 +msgid "A generic version of :class:`collections.abc.Collection`" +msgstr "Una versión genérica de :class:`collections.abc.Collection`" + +#: ../Doc/library/typing.rst:1246 +msgid "" +":class:`collections.abc.Collection` now supports ``[]``. See :pep:`585` and :" +"ref:`types-genericalias`." +msgstr "" + +#: ../Doc/library/typing.rst:1252 +msgid "A generic version of :class:`collections.abc.Container`." +msgstr "Una versión genérica de :class:`collections.abc.Container`." + +#: ../Doc/library/typing.rst:1254 +msgid "" +":class:`collections.abc.Container` now supports ``[]``. See :pep:`585` and :" +"ref:`types-genericalias`." +msgstr "" -#: ../Doc/library/typing.rst:724 +#: ../Doc/library/typing.rst:1260 msgid "A generic version of :class:`collections.abc.ItemsView`." msgstr "Una versión genérica de :class:`collections.abc.ItemsView`." -#: ../Doc/library/typing.rst:728 -msgid "A generic version of :class:`collections.abc.ValuesView`." -msgstr "Una versión genérica de :class:`collections.abc.ValuesView`." +#: ../Doc/library/typing.rst:1262 +msgid "" +":class:`collections.abc.ItemsView` now supports ``[]``. See :pep:`585` and :" +"ref:`types-genericalias`." +msgstr "" -#: ../Doc/library/typing.rst:732 -msgid "A generic version of :class:`collections.abc.Awaitable`." -msgstr "Una versión genérica de :class:`collections.abc.Awaitable`." +#: ../Doc/library/typing.rst:1268 +msgid "A generic version of :class:`collections.abc.KeysView`." +msgstr "Una versión genérica de :class:`collections.abc.KeysView`." -#: ../Doc/library/typing.rst:738 +#: ../Doc/library/typing.rst:1270 msgid "" -"A generic version of :class:`collections.abc.Coroutine`. The variance and " -"order of type variables correspond to those of :class:`Generator`, for " -"example::" +":class:`collections.abc.KeysView` now supports ``[]``. See :pep:`585` and :" +"ref:`types-genericalias`." 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::" -#: ../Doc/library/typing.rst:753 -msgid "A generic version of :class:`collections.abc.AsyncIterable`." -msgstr "Una versión genérica de :class:`collections.abc.AsyncIterable`." +#: ../Doc/library/typing.rst:1276 +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::" -#: ../Doc/library/typing.rst:759 -msgid "A generic version of :class:`collections.abc.AsyncIterator`." -msgstr "Una versión genérica de :class:`collections.abc.AsyncIterator`." +#: ../Doc/library/typing.rst:1282 +msgid "" +":class:`collections.abc.Mapping` now supports ``[]``. See :pep:`585` and :" +"ref:`types-genericalias`." +msgstr "" -#: ../Doc/library/typing.rst:765 -msgid "A generic version of :class:`contextlib.AbstractContextManager`." -msgstr "Una versión genérica de :class:`contextlib.AbstractContextManager`." +#: ../Doc/library/typing.rst:1288 +msgid "A generic version of :class:`collections.abc.MappingView`." +msgstr "Una versión genérica de :class:`collections.abc.MappingView`." -#: ../Doc/library/typing.rst:772 -msgid "A generic version of :class:`contextlib.AbstractAsyncContextManager`." +#: ../Doc/library/typing.rst:1290 +msgid "" +":class:`collections.abc.MappingView` now supports ``[]``. See :pep:`585` " +"and :ref:`types-genericalias`." +msgstr "" + +#: ../Doc/library/typing.rst:1296 +msgid "A generic version of :class:`collections.abc.MutableMapping`." +msgstr "Una versión genérica de :class:`collections.abc.MutableMapping`." + +#: ../Doc/library/typing.rst:1298 +msgid "" +":class:`collections.abc.MutableMapping` now supports ``[]``. See :pep:`585` " +"and :ref:`types-genericalias`." +msgstr "" + +#: ../Doc/library/typing.rst:1304 +msgid "A generic version of :class:`collections.abc.MutableSequence`." +msgstr "Una versión genérica de :class:`collections.abc.MutableSequence`." + +#: ../Doc/library/typing.rst:1306 +msgid "" +":class:`collections.abc.MutableSequence` now supports ``[]``. See :pep:`585` " +"and :ref:`types-genericalias`." +msgstr "" + +#: ../Doc/library/typing.rst:1312 +msgid "A generic version of :class:`collections.abc.MutableSet`." +msgstr "Una versión genérica de :class:`collections.abc.MutableSet`." + +#: ../Doc/library/typing.rst:1314 +msgid "" +":class:`collections.abc.MutableSet` now supports ``[]``. See :pep:`585` and :" +"ref:`types-genericalias`." +msgstr "" + +#: ../Doc/library/typing.rst:1320 +msgid "A generic version of :class:`collections.abc.Sequence`." +msgstr "Una versión genérica de :class:`collections.abc.Sequence`." + +#: ../Doc/library/typing.rst:1322 +msgid "" +":class:`collections.abc.Sequence` now supports ``[]``. See :pep:`585` and :" +"ref:`types-genericalias`." msgstr "" -"Una versión genérica de :class:`contextlib.AbstractAsyncContextManager`." -#: ../Doc/library/typing.rst:779 +#: ../Doc/library/typing.rst:1328 +msgid "A generic version of :class:`collections.abc.ValuesView`." +msgstr "Una versión genérica de :class:`collections.abc.ValuesView`." + +#: ../Doc/library/typing.rst:1330 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`." +":class:`collections.abc.ValuesView` now supports ``[]``. See :pep:`585` and :" +"ref:`types-genericalias`." 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`." -#: ../Doc/library/typing.rst:783 -msgid "This type can be used as follows::" -msgstr "Este tipo se puede usar de la siguiente manera::" +#: ../Doc/library/typing.rst:1335 +msgid "Corresponding to other types in :mod:`collections.abc`" +msgstr "" -#: ../Doc/library/typing.rst:790 -msgid "A generic version of :class:`collections.defaultdict`." -msgstr "Una versión genérica de :class:`collections.defaultdict`." +#: ../Doc/library/typing.rst:1339 +msgid "A generic version of :class:`collections.abc.Iterable`." +msgstr "Una versión genérica de :class:`collections.abc.Iterable`." -#: ../Doc/library/typing.rst:796 -msgid "A generic version of :class:`collections.OrderedDict`." -msgstr "Una versión genérica de :class:`collections.OrderedDict`." +#: ../Doc/library/typing.rst:1341 +msgid "" +":class:`collections.abc.Iterable` now supports ``[]``. See :pep:`585` and :" +"ref:`types-genericalias`." +msgstr "" -#: ../Doc/library/typing.rst:802 -msgid "A generic version of :class:`collections.Counter`." -msgstr "Una versión genérica de :class:`collections.Counter`." +#: ../Doc/library/typing.rst:1347 +msgid "A generic version of :class:`collections.abc.Iterator`." +msgstr "Una versión genérica de :class:`collections.abc.Iterator`." -#: ../Doc/library/typing.rst:809 -msgid "A generic version of :class:`collections.ChainMap`." -msgstr "Una versión genérica de :class:`collections.ChainMap`." +#: ../Doc/library/typing.rst:1349 +msgid "" +":class:`collections.abc.Iterator` now supports ``[]``. See :pep:`585` and :" +"ref:`types-genericalias`." +msgstr "" -#: ../Doc/library/typing.rst:816 +#: ../Doc/library/typing.rst:1355 msgid "" "A generator can be annotated by the generic type ``Generator[YieldType, " "SendType, ReturnType]``. For example::" @@ -888,7 +1655,7 @@ msgstr "" "Un generador puede ser anotado con el tipo genérico ``Generator[YieldType, " "SendType, ReturnType]``. Por ejemplo::" -#: ../Doc/library/typing.rst:825 +#: ../Doc/library/typing.rst:1364 msgid "" "Note that unlike many other generics in the typing module, the ``SendType`` " "of :class:`Generator` behaves contravariantly, not covariantly or " @@ -898,7 +1665,7 @@ msgstr "" "``SendType`` de :class:`Generator` se comporta como contravariante, no " "covariante ni invariante." -#: ../Doc/library/typing.rst:829 +#: ../Doc/library/typing.rst:1368 msgid "" "If your generator will only yield values, set the ``SendType`` and " "``ReturnType`` to ``None``::" @@ -906,7 +1673,7 @@ msgstr "" "Si tu generador solo retornará valores con *yield*, establece ``SendType`` y " "``ReturnType`` como ``None``::" -#: ../Doc/library/typing.rst:837 +#: ../Doc/library/typing.rst:1376 msgid "" "Alternatively, annotate your generator as having a return type of either " "``Iterable[YieldType]`` or ``Iterator[YieldType]``::" @@ -914,7 +1681,51 @@ msgstr "" "Opcionalmente, anota tu generador con un tipo de retorno de " "``Iterable[YieldType]`` o ``Iterator[YieldType]``::" -#: ../Doc/library/typing.rst:847 +#: ../Doc/library/typing.rst:1384 +msgid "" +":class:`collections.abc.Generator` now supports ``[]``. See :pep:`585` and :" +"ref:`types-genericalias`." +msgstr "" + +#: ../Doc/library/typing.rst:1390 +msgid "An alias to :class:`collections.abc.Hashable`" +msgstr "Un alias de :class:`collections.abc.Hashable`" + +#: ../Doc/library/typing.rst:1394 +msgid "A generic version of :class:`collections.abc.Reversible`." +msgstr "Una versión genérica de :class:`collections.abc.Reversible`." + +#: ../Doc/library/typing.rst:1396 +msgid "" +":class:`collections.abc.Reversible` now supports ``[]``. See :pep:`585` and :" +"ref:`types-genericalias`." +msgstr "" + +#: ../Doc/library/typing.rst:1402 +msgid "An alias to :class:`collections.abc.Sized`" +msgstr "Un alias de :class:`collections.abc.Sized`" + +#: ../Doc/library/typing.rst:1405 +msgid "Asynchronous programming" +msgstr "" + +#: ../Doc/library/typing.rst:1409 +msgid "" +"A generic version of :class:`collections.abc.Coroutine`. 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::" + +#: ../Doc/library/typing.rst:1422 +msgid "" +":class:`collections.abc.Coroutine` now supports ``[]``. See :pep:`585` and :" +"ref:`types-genericalias`." +msgstr "" + +#: ../Doc/library/typing.rst:1428 msgid "" "An async generator can be annotated by the generic type " "``AsyncGenerator[YieldType, SendType]``. For example::" @@ -922,7 +1733,7 @@ msgstr "" "Un generador asíncrono se puede anotar con el tipo genérico " "``AsyncGenerator[YieldType, SendType]``. Por ejemplo::" -#: ../Doc/library/typing.rst:856 +#: ../Doc/library/typing.rst:1437 msgid "" "Unlike normal generators, async generators cannot return a value, so there " "is no ``ReturnType`` type parameter. As with :class:`Generator`, the " @@ -933,14 +1744,14 @@ msgstr "" "tipo``ReturnType``. Igual que :class:`Generator`, ``SendType`` se comporta " "como contravariante." -#: ../Doc/library/typing.rst:860 +#: ../Doc/library/typing.rst:1441 msgid "" "If your generator will only yield values, set the ``SendType`` to ``None``::" msgstr "" "Si tu generador solo retornará valores con *yield*, establece el " "``SendType`` como ``None``::" -#: ../Doc/library/typing.rst:868 +#: ../Doc/library/typing.rst:1449 msgid "" "Alternatively, annotate your generator as having a return type of either " "``AsyncIterable[YieldType]`` or ``AsyncIterator[YieldType]``::" @@ -948,208 +1759,122 @@ msgstr "" "Opcionalmente, anota el generador con un tipo de retorno " "``AsyncIterable[YieldType]`` o ``AsyncIterator[YieldType]``::" -#: ../Doc/library/typing.rst:880 -msgid "" -"``Text`` is an alias for ``str``. It 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``." - -#: ../Doc/library/typing.rst:884 +#: ../Doc/library/typing.rst:1459 msgid "" -"Use ``Text`` to indicate that a value must contain a unicode string in a " -"manner that is compatible with both Python 2 and Python 3::" +":class:`collections.abc.AsyncGenerator` now supports ``[]``. See :pep:`585` " +"and :ref:`types-genericalias`." msgstr "" -"Úsese ``Text`` para indicar que un valor debe contener una cadena de texto " -"Unicode de manera que sea compatible con Python 2 y Python 3::" -#: ../Doc/library/typing.rst:896 -msgid "" -"Generic type ``IO[AnyStr]`` and its subclasses ``TextIO(IO[str])`` and " -"``BinaryIO(IO[bytes])`` represent the types of I/O streams such as returned " -"by :func:`open`." -msgstr "" -"El tipo genérico ``IO[AnyStr]`` y sus subclases ``TextIO(IO[str])`` y " -"``BinaryIO(IO[bytes])`` representan tipos de flujo de entrada/salida (*I/O " -"streams*) como los usados por la función :func:`open`." +#: ../Doc/library/typing.rst:1465 +msgid "A generic version of :class:`collections.abc.AsyncIterable`." +msgstr "Una versión genérica de :class:`collections.abc.AsyncIterable`." -#: ../Doc/library/typing.rst:904 +#: ../Doc/library/typing.rst:1469 msgid "" -"These type aliases correspond to the return types from :func:`re.compile` " -"and :func:`re.match`. These types (and the corresponding functions) are " -"generic in ``AnyStr`` and can be made specific by writing ``Pattern[str]``, " -"``Pattern[bytes]``, ``Match[str]``, or ``Match[bytes]``." +":class:`collections.abc.AsyncIterable` now supports ``[]``. See :pep:`585` " +"and :ref:`types-genericalias`." msgstr "" -"Estos aliases de tipo se corresponden con los tipos de retorno de :func:`re." -"compile` y :func:`re.match`. Estos tipos (y sus correspondientes funciones) " -"son genéricos en ``AnyStr`` y se puede especificar escribiendo " -"``Pattern[str]``, ``Pattern[bytes]``, ``Match[str]``, o ``Match[bytes]``." - -#: ../Doc/library/typing.rst:913 -msgid "Typed version of :func:`collections.namedtuple`." -msgstr "Versión para anotación de tipos de :func:`collections.namedtuple`." -#: ../Doc/library/typing.rst:921 -msgid "This is equivalent to::" -msgstr "Esto es equivalente a:" +#: ../Doc/library/typing.rst:1475 +msgid "A generic version of :class:`collections.abc.AsyncIterator`." +msgstr "Una versión genérica de :class:`collections.abc.AsyncIterator`." -#: ../Doc/library/typing.rst:925 +#: ../Doc/library/typing.rst:1479 msgid "" -"To give a field a default value, you can assign to it in the class body::" +":class:`collections.abc.AsyncIterator` now supports ``[]``. See :pep:`585` " +"and :ref:`types-genericalias`." msgstr "" -"Para proporcionar a un campo un valor por defecto se puede asignar en el " -"cuerpo de la clase::" -#: ../Doc/library/typing.rst:934 -msgid "" -"Fields with a default value must come after any fields without a default." -msgstr "" -"Los campos con un valor por defecto deben ir después de los campos sin valor " -"por defecto." +#: ../Doc/library/typing.rst:1485 +msgid "A generic version of :class:`collections.abc.Awaitable`." +msgstr "Una versión genérica de :class:`collections.abc.Awaitable`." -#: ../Doc/library/typing.rst:936 +#: ../Doc/library/typing.rst:1489 msgid "" -"The resulting class has an extra attribute ``__annotations__`` giving a dict " -"that maps the field names to the field types. (The field names are in the " -"``_fields`` attribute and the default values are in the ``_field_defaults`` " -"attribute both of which are part of the namedtuple API.)" -msgstr "" -"La clase resultante tiene un atributo extra ``__annotations__`` que " -"proporciona un diccionario que mapea el nombre de los campos con su tipo. " -"(Lo nombres de los campo están en el atributo ``_fields`` y sus valores por " -"defecto en el atributo ``_field_defaults``, ambos parte de la API de " -"namedtuple.)" - -#: ../Doc/library/typing.rst:942 -msgid "``NamedTuple`` subclasses can also have docstrings and methods::" +":class:`collections.abc.Awaitable` now supports ``[]``. See :pep:`585` and :" +"ref:`types-genericalias`." msgstr "" -"Las subclases de ``NamedTuple`` también pueden tener *docstrings* y métodos::" - -#: ../Doc/library/typing.rst:952 -msgid "Backward-compatible usage::" -msgstr "Uso retrocompatible::" -#: ../Doc/library/typing.rst:956 -msgid "Added support for :pep:`526` variable annotation syntax." +#: ../Doc/library/typing.rst:1495 +msgid "Context manager types" msgstr "" -"Soporte añadido para la sintaxis de anotación de variables propuesto en :pep:" -"`526`." -#: ../Doc/library/typing.rst:959 -msgid "Added support for default values, methods, and docstrings." -msgstr "Soporte añadido para valores por defecto, métodos y *docstrings*." +#: ../Doc/library/typing.rst:1499 +msgid "A generic version of :class:`contextlib.AbstractContextManager`." +msgstr "Una versión genérica de :class:`contextlib.AbstractContextManager`." -#: ../Doc/library/typing.rst:965 +#: ../Doc/library/typing.rst:1504 msgid "" -"Deprecated the ``_field_types`` attribute in favor of the more standard " -"``__annotations__`` attribute which has the same information." +":class:`contextlib.AbstractContextManager` now supports ``[]``. See :pep:" +"`585` and :ref:`types-genericalias`." msgstr "" -"Convierte en obsoleto el atributo ``_field_types`` en favor del atributo más " -"estándar ``__annotations__``, que tiene la misma información." -#: ../Doc/library/typing.rst:966 -msgid "" -"The ``_field_types`` and ``__annotations__`` attributes are now regular " -"dictionaries instead of instances of ``OrderedDict``." +#: ../Doc/library/typing.rst:1510 +msgid "A generic version of :class:`contextlib.AbstractAsyncContextManager`." msgstr "" -"Los atributos ``_field_types`` y ``__annotations__`` son simples " -"diccionarios en vez de instancias de ``OrderedDict``." +"Una versión genérica de :class:`contextlib.AbstractAsyncContextManager`." -#: ../Doc/library/typing.rst:972 +#: ../Doc/library/typing.rst:1515 msgid "" -"A simple typed namespace. At runtime it is equivalent to a plain :class:" -"`dict`." +":class:`contextlib.AbstractAsyncContextManager` now supports ``[]``. See :" +"pep:`585` and :ref:`types-genericalias`." msgstr "" -"Un espacio de nombres con un tipado simple. En tiempo de ejecución es " -"equivalente a un simple :class:`dict`." -# sinonimo para imposicion/imponer -#: ../Doc/library/typing.rst:975 -msgid "" -"``TypedDict`` creates a dictionary type that expects all of its instances to " -"have a certain set of keys, where each key is associated with a value of a " -"consistent type. This expectation is not checked at runtime but is only " -"enforced by type checkers. Usage::" +#: ../Doc/library/typing.rst:1520 +msgid "Protocols" msgstr "" -"``TypedDict`` crea un tipo de diccionario que espera que todas sus " -"instancias tenga un cierto conjunto de claves, donde cada clave está " -"asociada con un valor de un tipo determinado. Esta exigencia no se comprueba " -"en tiempo de ejecución y solo es impuesta por validadores de tipo. Uso::" -#: ../Doc/library/typing.rst:991 -msgid "" -"The type info for introspection can be accessed via ``Point2D." -"__annotations__`` and ``Point2D.__total__``. To allow using this feature " -"with older versions of Python that do not support :pep:`526`, ``TypedDict`` " -"supports two additional equivalent syntactic forms::" +#: ../Doc/library/typing.rst:1522 +msgid "These protocols are decorated with :func:`runtime_checkable`." msgstr "" -"Se puede acceder a la información de tipo para introspección vía ``Point2D." -"__annotations__`` y ``Point2D.__total__``. Para poder utilizar esta " -"características con versiones antiguas de Python que no soporten :pep:`526`, " -"``TypedDict`` proporciona adicionalmente dos formatos sintácticos " -"equivalentes::" -#: ../Doc/library/typing.rst:999 +#: ../Doc/library/typing.rst:1526 msgid "" -"By default, all keys must be present in a TypedDict. It is possible to " -"override this by specifying totality. Usage::" +"An ABC with one abstract method ``__abs__`` that is covariant in its return " +"type." msgstr "" -"Por defecto, todas las claves deben estar presentes en un TypedDict. Es " -"posible anularlo especificando el parámetro *total*. De esta manera::" +"Una ABC con un método abstracto ``__abs__`` que es covariante en su tipo " +"retornado." -#: ../Doc/library/typing.rst:1007 -msgid "" -"This means that a point2D TypedDict can have any of the keys omitted. A type " -"checker is only expected to support a literal False or True as the value of " -"the total argument. True is the default, and makes all items defined in the " -"class body be required." -msgstr "" -"Esto significa que un TypedDict point2D puede omitir cualquiera de sus " -"claves. Un validador de tipos solo se esperará un valor literal *False* o " -"*True* como valor del argumento *total*. *True* es el valor por defecto, y " -"hace que todos los elementos definidos en el cuerpo de la clases sean " -"obligatorios." +#: ../Doc/library/typing.rst:1531 +msgid "An ABC with one abstract method ``__bytes__``." +msgstr "Una ABC con un método abstracto ``__bytes__``." -#: ../Doc/library/typing.rst:1012 -msgid "" -"See :pep:`589` for more examples and detailed rules of using ``TypedDict``." -msgstr "" -"Véase :pep:`589` para más ejemplos y reglas detalladas del uso de " -"``TypedDict``." +#: ../Doc/library/typing.rst:1535 +msgid "An ABC with one abstract method ``__complex__``." +msgstr "Una ABC con un método abstracto ``__complex__``." -#: ../Doc/library/typing.rst:1018 -msgid "" -"A class used for internal typing representation of string forward " -"references. For example, ``List[\"SomeClass\"]`` is implicitly transformed " -"into ``List[ForwardRef(\"SomeClass\")]``. This class should not be " -"instantiated by a user, but may be used by introspection tools." -msgstr "" -"Una clase usada para la representación de tipado interno de referencias " -"directas en forma de cadenas de texto. Por ejemplo, ``List[\"SomeClass\"]`` " -"es transformado implícitamente en ``List[ForwardRef(\"SomeClass\")]``. Esta " -"clase no debe ser instanciada por el usuario, pero puede ser usada por " -"herramientas de introspección." +#: ../Doc/library/typing.rst:1539 +msgid "An ABC with one abstract method ``__float__``." +msgstr "Una ABC con un método abstracto ``__float__``." + +#: ../Doc/library/typing.rst:1543 +msgid "An ABC with one abstract method ``__index__``." +msgstr "Una ABC con un método abstracto ``__index__``." -# Aquí se ha preferido distinguible antes que distinto ya que UserId no es un tipo disting a int, es un int, pero es difirenciable por el validador. -#: ../Doc/library/typing.rst:1025 +#: ../Doc/library/typing.rst:1549 +msgid "An ABC with one abstract method ``__int__``." +msgstr "Una ABC con un método abstracto ``__int__``." + +#: ../Doc/library/typing.rst:1553 msgid "" -"A helper function to indicate a distinct types to a typechecker, see :ref:" -"`distinct`. At runtime it returns a function that returns its argument. " -"Usage::" +"An ABC with one abstract method ``__round__`` that is covariant in its " +"return type." msgstr "" -"Un función auxiliar para indicar un tipo distinguible a los validadores de " -"tipos, véase :ref:`distinct`. En tiempo de ejecución, retorna una función " -"que retorna su argumento. Uso::" +"Una ABC con un método abstracto ``__round__`` que es covariantes en su tipo " +"retornado." -#: ../Doc/library/typing.rst:1036 +#: ../Doc/library/typing.rst:1557 +#, fuzzy +msgid "Functions and decorators" +msgstr "Clases, funciones y decoradores" + +#: ../Doc/library/typing.rst:1561 msgid "Cast a value to a type." msgstr "Convertir un valor a su tipo." # el "esto" del final queda muy colgado -#: ../Doc/library/typing.rst:1038 +#: ../Doc/library/typing.rst:1563 msgid "" "This returns the value unchanged. To the type checker this signals that the " "return value has the designated type, but at runtime we intentionally don't " @@ -1159,51 +1884,7 @@ msgstr "" "que el valor de retorno tiene el tipo señalado pero, de manera intencionada, " "no se comprobará en tiempo de ejecución (para maximizar la velocidad)." -#: ../Doc/library/typing.rst:1045 -msgid "" -"Return a dictionary containing type hints for a function, method, module or " -"class object." -msgstr "" -"Retorna un diccionario que contiene indicaciones de tipo para una función, " -"método, módulo o objeto clase." - -#: ../Doc/library/typing.rst:1048 -msgid "" -"This is often the same as ``obj.__annotations__``. In addition, forward " -"references encoded as string literals are handled by evaluating them in " -"``globals`` and ``locals`` namespaces. If necessary, ``Optional[t]`` is " -"added for function and method annotations if a default value equal to " -"``None`` is set. For a class ``C``, return a dictionary constructed by " -"merging all the ``__annotations__`` along ``C.__mro__`` in reverse order." -msgstr "" -"Habitualmente, esto es lo mismo que ``obj.__annotations__``. Además, las " -"referencias indicadas como cadenas de texto se gestionan evaluándolas en los " -"espacios de nombres``globals`` y ``locals``. Si es necesario, se " -"añade``Optional[t]`` para anotar una función o método, si se establece " -"``None`` como valor por defecto. Para una clase ``C``, se retorna un " -"diccionario construido por la combinación de ``__annotations__`` y ``C." -"__mro`` en orden inverso." - -# special forms se refiere a tipado exclusivo de typing (no el nativo como str o int): Union, Optional ... -#: ../Doc/library/typing.rst:1059 -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." - -#: ../Doc/library/typing.rst:1061 -msgid "" -"For a typing object of the form ``X[Y, Z, ...]`` these functions return " -"``X`` and ``(Y, Z, ...)``. If ``X`` is a generic alias for a builtin or :mod:" -"`collections` class, it gets normalized to the original class. For " -"unsupported objects return ``None`` and ``()`` correspondingly. Examples::" -msgstr "" -"Para un objeto de tipado de la forma ``X[Y,Z, ...]``, estas funciones " -"retornan ``X`` y ``(Y, Z, ...)``. Si ``X`` es un alias genérico para una " -"clase *built-in* o una clase de :mod:`collections`, se normaliza a su clase " -"original. Los objetos no soportados retornan ``None`` y ``()``. Ejemplos::" - -#: ../Doc/library/typing.rst:1077 +#: ../Doc/library/typing.rst:1570 msgid "" "The ``@overload`` decorator allows describing functions and methods that " "support multiple different combinations of argument types. A series of " @@ -1229,13 +1910,13 @@ msgstr "" "`NotImplementedError`. Un ejemplo de sobrecarga que proporciona un tipo más " "preciso se puede expresar con una unión o una variable de tipo::" -#: ../Doc/library/typing.rst:1101 +#: ../Doc/library/typing.rst:1594 msgid "See :pep:`484` for details and comparison with other typing semantics." msgstr "" "Véase :pep:`484` para más detalle, y compárese con otras semánticas de " "tipado." -#: ../Doc/library/typing.rst:1105 +#: ../Doc/library/typing.rst:1598 msgid "" "A decorator to indicate to type checkers that the decorated method cannot be " "overridden, and the decorated class cannot be subclassed. For example::" @@ -1244,22 +1925,16 @@ msgstr "" "se puede sobreescribir, o que la clase decorada no se puede derivar " "(*subclassed*). Por ejemplo::" -#: ../Doc/library/typing.rst:1123 ../Doc/library/typing.rst:1350 -msgid "" -"There is no runtime checking of these properties. See :pep:`591` for more " -"details." -msgstr "" -"No hay comprobación en tiempo de ejecución para estas propiedades. Véase :" -"pep:`591` para más detalles." - -# se extrae del contexto que el decorador elimina la comprobacion de tipo en el validador, por lo tanto solo anota/comenta (annotation), no indica/sugiere tipo (type hint) -#: ../Doc/library/typing.rst:1130 +# se extrae del contexto que el decorador elimina la comprobacion de tipo en +# el validador, por lo tanto solo anota/comenta (annotation), no +# indica/sugiere tipo (type hint) +#: ../Doc/library/typing.rst:1623 msgid "Decorator to indicate that annotations are not type hints." msgstr "" "Un decorador para indicar que la anotaciones no deben ser comprobadas como " "indicadores de tipo." -#: ../Doc/library/typing.rst:1132 +#: ../Doc/library/typing.rst:1625 msgid "" "This works as class or function :term:`decorator`. With a class, it applies " "recursively to all methods defined in that class (but not to methods defined " @@ -1270,17 +1945,17 @@ msgstr "" "clase (pero no a lo métodos definidos en sus superclases y subclases)." # ver en contexto -#: ../Doc/library/typing.rst:1136 +#: ../Doc/library/typing.rst:1629 msgid "This mutates the function(s) in place." msgstr "Esto modifica la función o funciones *in situ*." -#: ../Doc/library/typing.rst:1140 +#: ../Doc/library/typing.rst:1633 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)." -#: ../Doc/library/typing.rst:1142 +#: ../Doc/library/typing.rst:1635 msgid "" "This wraps the decorator with something that wraps the decorated function " "in :func:`no_type_check`." @@ -1288,13 +1963,13 @@ msgstr "" "Esto hace que el decorador decorado añada el efecto de :func:`no_type_check` " "a la función decorada." -#: ../Doc/library/typing.rst:1147 +#: ../Doc/library/typing.rst:1640 msgid "Decorator to mark a class or function to be unavailable at runtime." msgstr "" "Un decorador que marca una clase o función como no disponible en tiempo de " "ejecución." -#: ../Doc/library/typing.rst:1149 +#: ../Doc/library/typing.rst:1642 msgid "" "This decorator is itself not available at runtime. It is mainly intended to " "mark classes that are defined in type stub files if an implementation " @@ -1304,7 +1979,7 @@ msgstr "" "principalmente para marcar clases que se definen en archivos *stub* para " "cuando una implementación retorna una instancia de una clase privada::" -#: ../Doc/library/typing.rst:1160 +#: ../Doc/library/typing.rst:1653 msgid "" "Note that returning instances of private classes is not recommended. It is " "usually preferable to make such classes public." @@ -1312,275 +1987,89 @@ msgstr "" "Nótese que no se recomienda retornar instancias de clases privadas. " "Normalmente es preferible convertirlas en clases públicas." -#: ../Doc/library/typing.rst:1165 -msgid "Mark a protocol class as a runtime protocol." -msgstr "" -"Marca una clase protocolo como aplicable en tiempo de ejecución (lo " -"convierte en un *runtime protocol*)." - -#: ../Doc/library/typing.rst:1167 -msgid "" -"Such a protocol can be used with :func:`isinstance` and :func:`issubclass`. " -"This raises :exc:`TypeError` when applied to a non-protocol class. This " -"allows a simple-minded structural check, very similar to \"one trick ponies" -"\" in :mod:`collections.abc` such as :class:`Iterable`. For example::" -msgstr "" -"Tal protocolo se puede usar con :func:`isinstance` y :func:`issubclass`. " -"Esto lanzará una excepción :exc:`TypeError` cuando se aplique a una clase " -"que no es un *protocolo*. Esto permite una comprobación estructural simple, " -"muy semejante a \"one trick ponies\" en :mod:`collections.abc` como es :" -"class:`Iterable`. Por ejemplo::" - -#: ../Doc/library/typing.rst:1178 -msgid "" -"**Warning:** this will check only the presence of the required methods, not " -"their type signatures!" -msgstr "" -"**Atención:** esto solo comprobará la presencia de los métodos requeridos, " -"no su interfaz." - -#: ../Doc/library/typing.rst:1185 -msgid "Special type indicating an unconstrained type." -msgstr "Tipo especial que indica un tipo sin restricciones." - -#: ../Doc/library/typing.rst:1187 -msgid "Every type is compatible with :data:`Any`." -msgstr "Todos los tipos son compatibles con :data:`Any`." - -#: ../Doc/library/typing.rst:1188 -msgid ":data:`Any` is compatible with every type." -msgstr ":data:`Any` es compatible con todos los tipos." - -# 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:1192 -msgid "Special type indicating that a function never returns. For example::" -msgstr "" -"Tipo especial que indica que una función nunca retorna un valor. Por " -"ejemplo::" - -#: ../Doc/library/typing.rst:1205 -msgid "Union type; ``Union[X, Y]`` means either X or Y." -msgstr "Tipo unión; ``Union[X, Y]`` significa que o bien X o bien Y." - -#: ../Doc/library/typing.rst:1207 -msgid "To define a union, use e.g. ``Union[int, str]``. Details:" -msgstr "" -"Para definir una unión, úsese p. ej. ``Union[int, str]``. Más detalles:" - -#: ../Doc/library/typing.rst:1209 -msgid "The arguments must be types and there must be at least one." -msgstr "Los argumentos deben ser tipos y haber al menos uno." - -#: ../Doc/library/typing.rst:1211 -msgid "Unions of unions are flattened, e.g.::" -msgstr "Las uniones de uniones se simplifican (se aplanan), p. ej.::" - -#: ../Doc/library/typing.rst:1215 -msgid "Unions of a single argument vanish, e.g.::" -msgstr "Las uniones con un solo argumento se eliminan, p. ej.::" - -#: ../Doc/library/typing.rst:1219 -msgid "Redundant arguments are skipped, e.g.::" -msgstr "Argumentos repetidos se omiten, p. ej.::" - -#: ../Doc/library/typing.rst:1223 -msgid "When comparing unions, the argument order is ignored, e.g.::" -msgstr "" -"Cuando se comparan uniones, el orden de los argumentos se ignoran, p. ej.::" - -#: ../Doc/library/typing.rst:1227 -msgid "You cannot subclass or instantiate a union." -msgstr "No se puede derivar (*subclass*) o instanciar una unión." - -#: ../Doc/library/typing.rst:1229 -msgid "You cannot write ``Union[X][Y]``." -msgstr "No es posible escribir ``Union[X][Y]``." - -#: ../Doc/library/typing.rst:1231 -msgid "You can use ``Optional[X]`` as a shorthand for ``Union[X, None]``." -msgstr "" -"Se puede usar ``Optional[X]`` como una versión corta de ``Union[X, None]``." - -#: ../Doc/library/typing.rst:1233 -msgid "Don't remove explicit subclasses from unions at runtime." -msgstr "No elimina subclases explícitas de una unión en tiempo de ejecución." - -#: ../Doc/library/typing.rst:1238 -msgid "Optional type." -msgstr "Tipo Optional." - -#: ../Doc/library/typing.rst:1240 -msgid "``Optional[X]`` is equivalent to ``Union[X, None]``." -msgstr "``Optional[X]`` es equivalente a ``Union[X, None]``." - -#: ../Doc/library/typing.rst:1242 -msgid "" -"Note that this is not the same concept as an optional argument, which is one " -"that has a default. An optional argument with a default does not require " -"the ``Optional`` qualifier on its type annotation just because it is " -"optional. For example::" -msgstr "" -"Nótese que no es lo mismo que un argumento opcional, que es aquel que tiene " -"un valor por defecto. Un argumento opcional con un valor por defecto no " -"necesita el indicador ``Optional`` en su anotación de tipo simplemente por " -"que sea opcional. Por ejemplo::" - -#: ../Doc/library/typing.rst:1250 -msgid "" -"On the other hand, if an explicit value of ``None`` is allowed, the use of " -"``Optional`` is appropriate, whether the argument is optional or not. For " -"example::" -msgstr "" -"Por otro lado, si se permite un valor ``None``, es apropiado el uso de " -"``Optional``, independientemente de que sea opcional o no. Por ejemplo::" - -#: ../Doc/library/typing.rst:1259 -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[()]``." - -#: ../Doc/library/typing.rst:1263 -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." - -#: ../Doc/library/typing.rst:1267 -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`." - -#: ../Doc/library/typing.rst:1273 -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." - -#: ../Doc/library/typing.rst:1275 -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 or an ellipsis; the return type must be a single type." -msgstr "" -"La sintaxis de subscripción (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." - -#: ../Doc/library/typing.rst:1280 -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`." +#: ../Doc/library/typing.rst:1657 +msgid "Introspection helpers" 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`." -#: ../Doc/library/typing.rst:1290 +#: ../Doc/library/typing.rst:1661 msgid "" -"A type that can be used to indicate to type checkers that the corresponding " -"variable or function parameter has a value equivalent to the provided " -"literal (or one of several literals). For example::" +"Return a dictionary containing type hints for a function, method, module or " +"class object." 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::" +"Retorna un diccionario que contiene indicaciones de tipo para una función, " +"método, módulo o objeto clase." -#: ../Doc/library/typing.rst:1304 +#: ../Doc/library/typing.rst:1664 msgid "" -"``Literal[...]`` cannot be subclassed. At runtime, an arbitrary value is " -"allowed as type argument to ``Literal[...]``, but type checkers may impose " -"restrictions. See :pep:`586` for more details about literal types." +"This is often the same as ``obj.__annotations__``. In addition, forward " +"references encoded as string literals are handled by evaluating them in " +"``globals`` and ``locals`` namespaces. If necessary, ``Optional[t]`` is " +"added for function and method annotations if a default value equal to " +"``None`` is set. For a class ``C``, return a dictionary constructed by " +"merging all the ``__annotations__`` along ``C.__mro__`` in reverse order." msgstr "" -"``Literal[...]`` no puede ser derivado. En tiempo de ejecución, se permite " -"un valor arbitrario como argumento de tipo de ``Literal[...]``, pero los " -"validadores de tipos pueden imponer sus restricciones. Véase :pep:`585` para " -"más detalles sobre tipos literales." - -#: ../Doc/library/typing.rst:1312 -msgid "Special type construct to mark class variables." -msgstr "Construcción especial para tipado para marcar variables de clase." +"Habitualmente, esto es lo mismo que ``obj.__annotations__``. Además, las " +"referencias indicadas como cadenas de texto se gestionan evaluándolas en los " +"espacios de nombres``globals`` y ``locals``. Si es necesario, se " +"añade``Optional[t]`` para anotar una función o método, si se establece " +"``None`` como valor por defecto. Para una clase ``C``, se retorna un " +"diccionario construido por la combinación de ``__annotations__`` y ``C." +"__mro`` en orden inverso." -# Puede haber una entrada mejor para "As introduced" -#: ../Doc/library/typing.rst:1314 +#: ../Doc/library/typing.rst:1672 msgid "" -"As introduced in :pep:`526`, a variable annotation wrapped in ClassVar " -"indicates that a given attribute is intended to be used as a class variable " -"and should not be set on instances of that class. Usage::" +"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 "" -"Tal y como introduce :pep:`526`, una anotación de variable rodeada por " -"ClassVar indica que la intención de un atributo dado es ser usado como " -"variable de clase y que no debería ser modificado en las instancias de esa " -"misma clase. Uso::" -# subscribed se substituye por niveles de subindice -#: ../Doc/library/typing.rst:1322 -msgid ":data:`ClassVar` accepts only types and cannot be further subscribed." +#: ../Doc/library/typing.rst:1685 +msgid "Added ``include_extras`` parameter as part of :pep:`593`." msgstr "" -":data:`ClassVar` solo acepta tipos y no admite más niveles de subíndices." -#: ../Doc/library/typing.rst:1324 -msgid "" -":data:`ClassVar` is not a class itself, and should not be used with :func:" -"`isinstance` or :func:`issubclass`. :data:`ClassVar` does not change Python " -"runtime behavior, but it can be used by third-party type checkers. For " -"example, a type checker might flag the following code as an error::" +# special forms se refiere a tipado exclusivo de typing (no el nativo como str +# o int): Union, Optional ... +#: ../Doc/library/typing.rst:1691 +msgid "Provide basic introspection for generic types and special typing forms." msgstr "" -":data:`ClassVar` no es un clase en sí misma, y no debe ser usado con :func:" -"`isinstance` o :func:`issubclass`. :data:`ClassVar` no modifica el " -"comportamiento de Python en tiempo de ejecución pero puede ser utilizado por " -"validadores de terceros. Por ejemplo, un validador de tipos puede marcar el " -"siguiente código como erróneo::" +"Provee introspección básica para tipos genéricos y construcciones especiales " +"de tipado." -#: ../Doc/library/typing.rst:1338 +#: ../Doc/library/typing.rst:1693 +#, fuzzy msgid "" -"A special typing construct to indicate to type checkers that a name cannot " -"be re-assigned or overridden in a subclass. For example::" +"For a typing object of the form ``X[Y, Z, ...]`` these functions return " +"``X`` and ``(Y, Z, ...)``. If ``X`` is a generic alias for a builtin or :mod:" +"`collections` class, it gets normalized to the original class. If ``X`` is " +"a :class:`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. For unsupported objects " +"return ``None`` and ``()`` correspondingly. Examples::" 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::" +"Para un objeto de tipado de la forma ``X[Y,Z, ...]``, estas funciones " +"retornan ``X`` y ``(Y, Z, ...)``. Si ``X`` es un alias genérico para una " +"clase *built-in* o una clase de :mod:`collections`, se normaliza a su clase " +"original. Los objetos no soportados retornan ``None`` y ``()``. Ejemplos::" -#: ../Doc/library/typing.rst:1357 +#: ../Doc/library/typing.rst:1712 +#, fuzzy msgid "" -"``AnyStr`` is a type variable defined as ``AnyStr = TypeVar('AnyStr', str, " -"bytes)``." +"A class used for internal typing representation of string forward " +"references. For example, ``list[\"SomeClass\"]`` is implicitly transformed " +"into ``list[ForwardRef(\"SomeClass\")]``. This class should not be " +"instantiated by a user, but may be used by introspection tools." msgstr "" -"``AnyStr`` es una variable de tipo definida como ``AnyStr = " -"TypeVar('AnyStr', str, bytes)``." +"Una clase usada para la representación de tipado interno de referencias " +"directas en forma de cadenas de texto. Por ejemplo, ``List[\"SomeClass\"]`` " +"es transformado implícitamente en ``List[ForwardRef(\"SomeClass\")]``. Esta " +"clase no debe ser instanciada por el usuario, pero puede ser usada por " +"herramientas de introspección." -#: ../Doc/library/typing.rst:1360 -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::" +#: ../Doc/library/typing.rst:1720 +msgid "Constant" 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::" -#: ../Doc/library/typing.rst:1372 +#: ../Doc/library/typing.rst:1724 msgid "" "A special constant that is assumed to be ``True`` by 3rd party static type " "checkers. It is ``False`` at runtime. Usage::" @@ -1589,15 +2078,38 @@ msgstr "" "estáticos de tipos de terceros. Es falsa (``False``) en tiempo de ejecución. " "Uso::" -#: ../Doc/library/typing.rst:1381 +#: ../Doc/library/typing.rst:1733 +#, fuzzy msgid "" -"Note that the first type annotation must be enclosed in quotes, making it a " -"\"forward reference\", to hide the ``expensive_mod`` reference from the " -"interpreter runtime. Type annotations for local variables are not " -"evaluated, so the second annotation does not need to be enclosed in quotes." +"The first type annotation must be enclosed in quotes, making it a \"forward " +"reference\", to hide the ``expensive_mod`` reference from the interpreter " +"runtime. Type annotations for local variables are not evaluated, so the " +"second annotation does not need to be enclosed in quotes." msgstr "" "Nótese que la primera anotación de tipo debe estar rodeada por comillas, " "convirtiéndola en una \"referencia directa\", para ocultar al intérprete la " "referencia ``expensive_mod`` en tiempo de ejecución. Las anotaciones de tipo " "para variables locales no se evalúan, así que la segunda anotación no " "necesita comillas." + +#: ../Doc/library/typing.rst:1740 +msgid "" +"If ``from __future__ import annotations`` is used in Python 3.7 or later, " +"annotations are not evaluated at function definition time. Instead, they are " +"stored as strings in ``__annotations__``, This makes it unnecessary to use " +"quotes around the annotation. (see :pep:`563`)." +msgstr "" + +#~ msgid "" +#~ "A simple typed namespace. At runtime it is equivalent to a plain :class:" +#~ "`dict`." +#~ msgstr "" +#~ "Un espacio de nombres con un tipado simple. En tiempo de ejecución es " +#~ "equivalente a un simple :class:`dict`." + +#~ msgid "" +#~ "**Warning:** this will check only the presence of the required methods, " +#~ "not their type signatures!" +#~ msgstr "" +#~ "**Atención:** esto solo comprobará la presencia de los métodos " +#~ "requeridos, no su interfaz." diff --git a/library/unicodedata.po b/library/unicodedata.po index 01dcd0b094..b9bcc78bc8 100644 --- a/library/unicodedata.po +++ b/library/unicodedata.po @@ -10,28 +10,28 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-10-10 10:14+0200\n" +"Last-Translator: Francisco Jesús Sevilla García \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Francisco Jesús Sevilla García \n" -"Language: es\n" -"X-Generator: Poedit 2.4.1\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 " -"in this database is compiled from the `UCD version 12.1.0 `_." +"in this database is compiled from the `UCD version 13.0.0 `_." 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 " @@ -264,9 +264,11 @@ msgid "Footnotes" msgstr "Notas al pie" #: ../Doc/library/unicodedata.rst:178 -msgid "http://www.unicode.org/Public/12.1.0/ucd/NameAliases.txt" +#, fuzzy +msgid "https://www.unicode.org/Public/13.0.0/ucd/NameAliases.txt" msgstr "http://www.unicode.org/Public/12.1.0/ucd/NameAliases.txt" #: ../Doc/library/unicodedata.rst:180 -msgid "http://www.unicode.org/Public/12.1.0/ucd/NamedSequences.txt" +#, fuzzy +msgid "https://www.unicode.org/Public/13.0.0/ucd/NamedSequences.txt" msgstr "http://www.unicode.org/Public/12.1.0/ucd/NamedSequences.txt" diff --git a/library/unittest.mock.po b/library/unittest.mock.po index 522abced7a..96b11a1a8f 100644 --- a/library/unittest.mock.po +++ b/library/unittest.mock.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-10-03 23:50+0200\n" +"Last-Translator: Francisco Jesús Sevilla García \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Francisco Jesús Sevilla García \n" -"Language: es\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/unittest.mock.rst:3 msgid ":mod:`unittest.mock` --- mock object library" @@ -70,10 +69,11 @@ msgstr "" "class:`MagicMock` y :func:`patch`." #: ../Doc/library/unittest.mock.rst:33 +#, fuzzy msgid "" -"Mock is very easy to use and is designed for use with :mod:`unittest`. Mock " -"is based on the 'action -> assertion' pattern instead of 'record -> replay' " -"used by many mocking frameworks." +"Mock is designed for use with :mod:`unittest` and is based on the 'action -> " +"assertion' pattern instead of 'record -> replay' used by many mocking " +"frameworks." msgstr "" "Mock es muy fácil de usar y está diseñado para ser utilizado junto a :mod:" "`unittest`. Mock se basa en el patrón 'acción -> aserción' en lugar de usar " @@ -759,7 +759,11 @@ msgstr "" "aserciones más complejas. Consultar :ref:`objetos call como tuplas ` para más información." -#: ../Doc/library/unittest.mock.rst:653 +#: ../Doc/library/unittest.mock.rst:650 +msgid "Added ``args`` and ``kwargs`` properties." +msgstr "" + +#: ../Doc/library/unittest.mock.rst:656 msgid "" "This is a list of all the calls made to the mock object in sequence (so the " "length of the list is the number of times it has been called). Before any " @@ -774,7 +778,7 @@ msgstr "" "convenientemente las listas de llamadas a comparar con :attr:" "`call_args_list`." -#: ../Doc/library/unittest.mock.rst:669 +#: ../Doc/library/unittest.mock.rst:672 msgid "" "Members of :attr:`call_args_list` are :data:`call` objects. These can be " "unpacked as tuples to get at the individual arguments. See :ref:`calls as " @@ -785,7 +789,7 @@ msgstr "" "individuales. Consultar :ref:`objetos call como tuplas ` " "para más información." -#: ../Doc/library/unittest.mock.rst:676 +#: ../Doc/library/unittest.mock.rst:679 msgid "" "As well as tracking calls to themselves, mocks also track calls to methods " "and attributes, and *their* methods and attributes:" @@ -794,7 +798,7 @@ msgstr "" "objetos simulados también realizan un seguimiento a *sus* métodos y " "atributos, así como de las llamadas hechas a los mismos:" -#: ../Doc/library/unittest.mock.rst:687 +#: ../Doc/library/unittest.mock.rst:690 msgid "" "Members of :attr:`method_calls` are :data:`call` objects. These can be " "unpacked as tuples to get at the individual arguments. See :ref:`calls as " @@ -805,7 +809,7 @@ msgstr "" "Consultar :ref:`objetos call como tuplas ` para más " "información." -#: ../Doc/library/unittest.mock.rst:694 +#: ../Doc/library/unittest.mock.rst:697 msgid "" ":attr:`mock_calls` records *all* calls to the mock object, its methods, " "magic methods *and* return value mocks." @@ -813,7 +817,7 @@ msgstr "" ":attr:`mock_calls` registra *todas* las llamadas al objeto simulado, sus " "métodos, métodos mágicos *y* objetos simulados del valor de retorno." -#: ../Doc/library/unittest.mock.rst:712 +#: ../Doc/library/unittest.mock.rst:715 msgid "" "Members of :attr:`mock_calls` are :data:`call` objects. These can be " "unpacked as tuples to get at the individual arguments. See :ref:`calls as " @@ -824,7 +828,7 @@ msgstr "" "Consultar :ref:`objetos call como tuplas ` para más " "información." -#: ../Doc/library/unittest.mock.rst:718 +#: ../Doc/library/unittest.mock.rst:721 msgid "" "The way :attr:`mock_calls` are recorded means that where nested calls are " "made, the parameters of ancestor calls are not recorded and so will always " @@ -834,7 +838,7 @@ msgstr "" "se realizan llamadas anidadas, los parámetros de las llamadas previas no se " "registran, por lo que siempre resultan iguales al comparar:" -#: ../Doc/library/unittest.mock.rst:732 +#: ../Doc/library/unittest.mock.rst:735 msgid "" "Normally the :attr:`__class__` attribute of an object will return its type. " "For a mock object with a :attr:`spec`, ``__class__`` returns the spec class " @@ -847,7 +851,7 @@ msgstr "" "test de :func:`isinstance` para el objeto que están reemplazando / " "enmascarando:" -#: ../Doc/library/unittest.mock.rst:741 +#: ../Doc/library/unittest.mock.rst:744 msgid "" ":attr:`__class__` is assignable to, this allows a mock to pass an :func:" "`isinstance` check without forcing you to use a spec:" @@ -856,7 +860,7 @@ msgstr "" "pasar una verificación de :func:`isinstance` sin verse forzado a utilizar " "una especificación:" -#: ../Doc/library/unittest.mock.rst:751 +#: ../Doc/library/unittest.mock.rst:754 msgid "" "A non-callable version of :class:`Mock`. The constructor parameters have the " "same meaning of :class:`Mock`, with the exception of *return_value* and " @@ -867,7 +871,7 @@ msgstr "" "*return_value* y *side_effect* que no tienen sentido en un objeto simulado " "no invocable." -#: ../Doc/library/unittest.mock.rst:755 +#: ../Doc/library/unittest.mock.rst:758 msgid "" "Mock objects that use a class or an instance as a :attr:`spec` or :attr:" "`spec_set` are able to pass :func:`isinstance` tests:" @@ -875,7 +879,7 @@ msgstr "" "Los objetos simulados que usan una clase o una instancia como :attr:`spec` " "o :attr:`spec_set` son capaces de pasar los test de :func:`isinstance`:" -#: ../Doc/library/unittest.mock.rst:765 +#: ../Doc/library/unittest.mock.rst:768 msgid "" "The :class:`Mock` classes have support for mocking magic methods. See :ref:" "`magic methods ` for the full details." @@ -884,7 +888,7 @@ msgstr "" "Consultar la sección dedicada a los :ref:`métodos mágicos ` " "para ver los detalles." -#: ../Doc/library/unittest.mock.rst:768 +#: ../Doc/library/unittest.mock.rst:771 msgid "" "The mock classes and the :func:`patch` decorators all take arbitrary keyword " "arguments for configuration. For the :func:`patch` decorators the keywords " @@ -897,7 +901,7 @@ msgstr "" "constructor del objeto simulado creado. Estos argumentos se usan para " "configurar los atributos del propio objeto simulado:" -#: ../Doc/library/unittest.mock.rst:779 +#: ../Doc/library/unittest.mock.rst:782 msgid "" "The return value and side effect of child mocks can be set in the same way, " "using dotted notation. As you can't use dotted names directly in a call you " @@ -909,7 +913,7 @@ msgstr "" "puede utilizar notación de punto directamente en una llamada, se tiene que " "crear un diccionario y desempaquetarlo usando ``**``:" -#: ../Doc/library/unittest.mock.rst:794 +#: ../Doc/library/unittest.mock.rst:797 msgid "" "A callable mock which was created with a *spec* (or a *spec_set*) will " "introspect the specification object's signature when matching calls to the " @@ -922,7 +926,7 @@ msgstr "" "sus argumentos con los argumentos de la llamada real, independientemente de " "si se pasaron por posición o por nombre:" -#: ../Doc/library/unittest.mock.rst:807 +#: ../Doc/library/unittest.mock.rst:810 msgid "" "This applies to :meth:`~Mock.assert_called_with`, :meth:`~Mock." "assert_called_once_with`, :meth:`~Mock.assert_has_calls` and :meth:`~Mock." @@ -934,13 +938,13 @@ msgstr "" "assert_any_call`. Cuando se hace uso de :ref:`auto-speccing`, también se " "aplicará a las llamadas a los métodos del objeto simulado." -#: ../Doc/library/unittest.mock.rst:812 +#: ../Doc/library/unittest.mock.rst:815 msgid "Added signature introspection on specced and autospecced mock objects." msgstr "" "Se añadió introspección de firma en objetos simulados especificados y " "autoespecificados." -#: ../Doc/library/unittest.mock.rst:818 +#: ../Doc/library/unittest.mock.rst:821 msgid "" "A mock intended to be used as a property, or other descriptor, on a class. :" "class:`PropertyMock` provides :meth:`__get__` and :meth:`__set__` methods so " @@ -951,7 +955,7 @@ msgstr "" "métodos :meth:`__get__` y :meth:`__set__`, por lo que puedes especificar un " "valor de retorno para cuando su valor es requerido." -#: ../Doc/library/unittest.mock.rst:822 +#: ../Doc/library/unittest.mock.rst:825 msgid "" "Fetching a :class:`PropertyMock` instance from an object calls the mock, " "with no args. Setting it calls the mock with the value being set. ::" @@ -960,7 +964,7 @@ msgstr "" "una llamada al objeto simulado, sin argumentos. Establecer su valor también " "llama al objeto simulado, con el valor a establecer como argumento." -#: ../Doc/library/unittest.mock.rst:843 +#: ../Doc/library/unittest.mock.rst:846 msgid "" "Because of the way mock attributes are stored you can't directly attach a :" "class:`PropertyMock` to a mock object. Instead you can attach it to the mock " @@ -970,17 +974,18 @@ msgstr "" "conectar directamente un :class:`PropertyMock` a un objeto simulado. En su " "lugar se puede conectar al tipo (type) del objeto simulado:" -#: ../Doc/library/unittest.mock.rst:857 +#: ../Doc/library/unittest.mock.rst:860 +#, fuzzy msgid "" -"An asynchronous version of :class:`Mock`. The :class:`AsyncMock` object will " -"behave so the object is recognized as an async function, and the result of a " -"call is an awaitable." +"An asynchronous version of :class:`MagicMock`. The :class:`AsyncMock` object " +"will behave so the object is recognized as an async function, and the result " +"of a call is an awaitable." msgstr "" "Una versión asíncrona de :class:`Mock`. El objeto :class:`AsyncMock` se " "comportará de tal modo que el objeto es reconocido como una función " "asíncrona y el resultado de su llamada es un objeto aguardable (awaitable)." -#: ../Doc/library/unittest.mock.rst:867 +#: ../Doc/library/unittest.mock.rst:870 msgid "" "The result of ``mock()`` is an async function which will have the outcome of " "``side_effect`` or ``return_value`` after it has been awaited:" @@ -989,7 +994,7 @@ msgstr "" "resultado de ``side_effect`` o de ``return_value`` después de haber sido " "aguardada:" -#: ../Doc/library/unittest.mock.rst:870 +#: ../Doc/library/unittest.mock.rst:873 msgid "" "if ``side_effect`` is a function, the async function will return the result " "of that function," @@ -997,7 +1002,7 @@ msgstr "" "si ``side_effect`` es una función, la función asíncrona retornará el " "resultado de esa función," -#: ../Doc/library/unittest.mock.rst:872 +#: ../Doc/library/unittest.mock.rst:875 msgid "" "if ``side_effect`` is an exception, the async function will raise the " "exception," @@ -1005,7 +1010,7 @@ msgstr "" "si ``side_effect`` es una excepción, la función asíncrona lanzará la " "excepción," -#: ../Doc/library/unittest.mock.rst:874 +#: ../Doc/library/unittest.mock.rst:877 msgid "" "if ``side_effect`` is an iterable, the async function will return the next " "value of the iterable, however, if the sequence of result is exhausted, " @@ -1015,7 +1020,7 @@ msgstr "" "siguiente valor del iterable, sin embargo, si se agota la secuencia de " "resultados, se lanza una excepción ``StopAsyncIteration`` inmediatamente," -#: ../Doc/library/unittest.mock.rst:877 +#: ../Doc/library/unittest.mock.rst:880 msgid "" "if ``side_effect`` is not defined, the async function will return the value " "defined by ``return_value``, hence, by default, the async function returns a " @@ -1025,7 +1030,7 @@ msgstr "" "definido por ``return_value``, por lo tanto, la función asíncrona retorna un " "nuevo objeto :class:`AsyncMock` por defecto." -#: ../Doc/library/unittest.mock.rst:882 +#: ../Doc/library/unittest.mock.rst:885 msgid "" "Setting the *spec* of a :class:`Mock` or :class:`MagicMock` to an async " "function will result in a coroutine object being returned after calling." @@ -1034,7 +1039,7 @@ msgstr "" "`MagicMock` en una función asíncrona resultará en que un objeto corrutina " "será retornado después de la llamada al objeto." -#: ../Doc/library/unittest.mock.rst:894 +#: ../Doc/library/unittest.mock.rst:897 msgid "" "Setting the *spec* of a :class:`Mock`, :class:`MagicMock`, or :class:" "`AsyncMock` to a class with asynchronous and synchronous functions will " @@ -1051,7 +1056,7 @@ msgstr "" "`Mock` (si el objeto simulado padre es :class:`Mock`) . Todas las funciones " "asíncronas serán :class:`AsyncMock`." -#: ../Doc/library/unittest.mock.rst:922 +#: ../Doc/library/unittest.mock.rst:925 msgid "" "Assert that the mock was awaited at least once. Note that this is separate " "from the object having been called, the ``await`` keyword must be used:" @@ -1060,16 +1065,16 @@ msgstr "" "que, independientemente del objeto que ha sido invocado, la palabra clave " "``await`` debe ser utilizada:" -#: ../Doc/library/unittest.mock.rst:941 +#: ../Doc/library/unittest.mock.rst:944 msgid "Assert that the mock was awaited exactly once." msgstr "Aserta si el objeto simulado fue aguardado exactamente una vez." -#: ../Doc/library/unittest.mock.rst:957 +#: ../Doc/library/unittest.mock.rst:960 msgid "Assert that the last await was with the specified arguments." msgstr "" "Aserta si el último aguardo (await) fue con los argumentos especificados." -#: ../Doc/library/unittest.mock.rst:974 +#: ../Doc/library/unittest.mock.rst:977 msgid "" "Assert that the mock was awaited exactly once and with the specified " "arguments." @@ -1077,13 +1082,13 @@ msgstr "" "Aserta si que el objeto simulado se ha aguardado exactamente una vez y con " "los argumentos especificados." -#: ../Doc/library/unittest.mock.rst:991 +#: ../Doc/library/unittest.mock.rst:994 msgid "Assert the mock has ever been awaited with the specified arguments." msgstr "" "Aserta si el objeto simulado nunca se ha aguardado con los argumentos " "especificados." -#: ../Doc/library/unittest.mock.rst:1007 +#: ../Doc/library/unittest.mock.rst:1010 msgid "" "Assert the mock has been awaited with the specified calls. The :attr:" "`await_args_list` list is checked for the awaits." @@ -1092,7 +1097,7 @@ msgstr "" "especificadas. Para comprobar los aguardos (awaits) se utiliza la lista :" "attr:`await_args_list`." -#: ../Doc/library/unittest.mock.rst:1010 +#: ../Doc/library/unittest.mock.rst:1013 msgid "" "If *any_order* is false then the awaits must be sequential. There can be " "extra calls before or after the specified awaits." @@ -1101,7 +1106,7 @@ msgstr "" "puede haber llamadas adicionales antes o después de los aguardos " "especificados." -#: ../Doc/library/unittest.mock.rst:1014 +#: ../Doc/library/unittest.mock.rst:1017 msgid "" "If *any_order* is true then the awaits can be in any order, but they must " "all appear in :attr:`await_args_list`." @@ -1109,11 +1114,11 @@ msgstr "" "Si *any_order* es verdadero, entonces los aguardos (awaits) pueden estar en " "cualquier orden, pero deben aparecer todos en :attr:`await_args_list`." -#: ../Doc/library/unittest.mock.rst:1034 +#: ../Doc/library/unittest.mock.rst:1037 msgid "Assert that the mock was never awaited." msgstr "Aserta si el objeto simulado nunca ha sido aguardado." -#: ../Doc/library/unittest.mock.rst:1041 +#: ../Doc/library/unittest.mock.rst:1044 msgid "" "See :func:`Mock.reset_mock`. Also sets :attr:`await_count` to 0, :attr:" "`await_args` to None, and clears the :attr:`await_args_list`." @@ -1121,13 +1126,13 @@ msgstr "" "Consultar :func:`Mock.reset_mock`. Además, también establece :attr:" "`await_count` a 0, :attr:`await_args` a None y borra :attr:`await_args_list`." -#: ../Doc/library/unittest.mock.rst:1046 +#: ../Doc/library/unittest.mock.rst:1049 msgid "" "An integer keeping track of how many times the mock object has been awaited." msgstr "" "Un registro entero de cuántas veces se ha aguardado el objeto simulado." -#: ../Doc/library/unittest.mock.rst:1061 +#: ../Doc/library/unittest.mock.rst:1064 msgid "" "This is either ``None`` (if the mock hasn’t been awaited), or the arguments " "that the mock was last awaited with. Functions the same as :attr:`Mock." @@ -1137,7 +1142,7 @@ msgstr "" "argumentos con los que fue aguardado la última vez. Su funcionamiento es " "idéntico al de :attr:`Mock.call_args`." -#: ../Doc/library/unittest.mock.rst:1079 +#: ../Doc/library/unittest.mock.rst:1082 msgid "" "This is a list of all the awaits made to the mock object in sequence (so the " "length of the list is the number of times it has been awaited). Before any " @@ -1148,11 +1153,11 @@ msgstr "" "veces que se ha aguardado el objeto). Si no se han realizado aguardos " "previos, es una lista vacía." -#: ../Doc/library/unittest.mock.rst:1098 +#: ../Doc/library/unittest.mock.rst:1101 msgid "Calling" msgstr "Llamar a los objetos simulados" -#: ../Doc/library/unittest.mock.rst:1100 +#: ../Doc/library/unittest.mock.rst:1103 msgid "" "Mock objects are callable. The call will return the value set as the :attr:" "`~Mock.return_value` attribute. The default return value is a new Mock " @@ -1167,7 +1172,7 @@ msgstr "" "Mock). Una vez creado, se almacena y el mismo objeto es retornado cada vez " "que se solicita." -#: ../Doc/library/unittest.mock.rst:1106 +#: ../Doc/library/unittest.mock.rst:1109 msgid "" "Calls made to the object will be recorded in the attributes like :attr:" "`~Mock.call_args` and :attr:`~Mock.call_args_list`." @@ -1175,7 +1180,7 @@ msgstr "" "Las llamadas realizadas al objeto serán registradas en los atributos :attr:" "`~Mock.call_args` y :attr:`~Mock.call_args_list`." -#: ../Doc/library/unittest.mock.rst:1109 +#: ../Doc/library/unittest.mock.rst:1112 msgid "" "If :attr:`~Mock.side_effect` is set then it will be called after the call " "has been recorded, so if :attr:`side_effect` raises an exception the call is " @@ -1185,7 +1190,7 @@ msgstr "" "llamada haya sido registrada, por lo que la llamada se registra aunque :attr:" "`side_effect` lance una excepción." -#: ../Doc/library/unittest.mock.rst:1113 +#: ../Doc/library/unittest.mock.rst:1116 msgid "" "The simplest way to make a mock raise an exception when called is to make :" "attr:`~Mock.side_effect` an exception class or instance:" @@ -1194,7 +1199,7 @@ msgstr "" "cuando sea invocado es establecer su atributo :attr:`~Mock.side_effect` como " "una clase o instancia de excepción:" -#: ../Doc/library/unittest.mock.rst:1131 +#: ../Doc/library/unittest.mock.rst:1134 msgid "" "If :attr:`side_effect` is a function then whatever that function returns is " "what calls to the mock return. The :attr:`side_effect` function is called " @@ -1207,7 +1212,7 @@ msgstr "" "simulado ha sido invocado. Esto te permite variar el valor de retorno de la " "llamada dinámicamente, en función de la entrada:" -#: ../Doc/library/unittest.mock.rst:1147 +#: ../Doc/library/unittest.mock.rst:1150 msgid "" "If you want the mock to still return the default return value (a new mock), " "or any set return value, then there are two ways of doing this. Either " @@ -1219,7 +1224,7 @@ msgstr "" "existen dos maneras de proceder. Se puede retornar tanto el atributo :attr:" "`mock.return_value` como :data:`DEFAULT` desde :attr:`side_effect`:" -#: ../Doc/library/unittest.mock.rst:1166 +#: ../Doc/library/unittest.mock.rst:1169 msgid "" "To remove a :attr:`side_effect`, and return to the default behaviour, set " "the :attr:`side_effect` to ``None``:" @@ -1227,7 +1232,7 @@ msgstr "" "Para eliminar un :attr:`side_effect`, volviendo al comportamiento " "predeterminado, establece el atributo :attr:`side_effect` en ``None``:" -#: ../Doc/library/unittest.mock.rst:1180 +#: ../Doc/library/unittest.mock.rst:1183 msgid "" "The :attr:`side_effect` can also be any iterable object. Repeated calls to " "the mock will return values from the iterable (until the iterable is " @@ -1238,7 +1243,7 @@ msgstr "" "valores del iterable (hasta que el iterable se agote, momento en el que se " "lanza una excepción :exc:`StopIteration`):" -#: ../Doc/library/unittest.mock.rst:1196 +#: ../Doc/library/unittest.mock.rst:1199 msgid "" "If any members of the iterable are exceptions they will be raised instead of " "returned::" @@ -1246,11 +1251,11 @@ msgstr "" "Si cualquier miembro del iterable es una excepción, se lanzará en lugar de " "retornarse:" -#: ../Doc/library/unittest.mock.rst:1214 +#: ../Doc/library/unittest.mock.rst:1217 msgid "Deleting Attributes" msgstr "Eliminar atributos" -#: ../Doc/library/unittest.mock.rst:1216 +#: ../Doc/library/unittest.mock.rst:1219 msgid "" "Mock objects create attributes on demand. This allows them to pretend to be " "objects of any type." @@ -1258,7 +1263,7 @@ msgstr "" "Los objetos simulados crean atributos en demanda. Esto les permite hacerse " "pasar por objetos de cualquier tipo." -#: ../Doc/library/unittest.mock.rst:1219 +#: ../Doc/library/unittest.mock.rst:1222 msgid "" "You may want a mock object to return ``False`` to a :func:`hasattr` call, or " "raise an :exc:`AttributeError` when an attribute is fetched. You can do this " @@ -1271,7 +1276,7 @@ msgstr "" "adecuado al atributo :attr:`spec` del objeto simulado, pero no siempre es " "conveniente." -#: ../Doc/library/unittest.mock.rst:1223 +#: ../Doc/library/unittest.mock.rst:1226 msgid "" "You \"block\" attributes by deleting them. Once deleted, accessing an " "attribute will raise an :exc:`AttributeError`." @@ -1279,11 +1284,11 @@ msgstr "" "Puedes \"bloquear\" atributos eliminándolos. Una vez eliminado, el acceso a " "un atributo lanzará una excepción :exc:`AttributeError`." -#: ../Doc/library/unittest.mock.rst:1240 +#: ../Doc/library/unittest.mock.rst:1243 msgid "Mock names and the name attribute" msgstr "Los nombres de los objetos simulados y el atributo *name*" -#: ../Doc/library/unittest.mock.rst:1242 +#: ../Doc/library/unittest.mock.rst:1245 msgid "" "Since \"name\" is an argument to the :class:`Mock` constructor, if you want " "your mock object to have a \"name\" attribute you can't just pass it in at " @@ -1295,7 +1300,7 @@ msgstr "" "puedes simplemente pasarlo al constructor en tiempo de creación. Hay dos " "alternativas. Una opción es usar el método :meth:`~Mock.configure_mock`:" -#: ../Doc/library/unittest.mock.rst:1252 +#: ../Doc/library/unittest.mock.rst:1255 msgid "" "A simpler option is to simply set the \"name\" attribute after mock " "creation::" @@ -1303,11 +1308,11 @@ msgstr "" "Una opción más sencilla es simplemente establecer el atributo \"name\" " "después de la creación del objeto simulado:" -#: ../Doc/library/unittest.mock.rst:1259 +#: ../Doc/library/unittest.mock.rst:1262 msgid "Attaching Mocks as Attributes" msgstr "Adjuntar objetos simulados como atributos" -#: ../Doc/library/unittest.mock.rst:1261 +#: ../Doc/library/unittest.mock.rst:1264 msgid "" "When you attach a mock as an attribute of another mock (or as the return " "value) it becomes a \"child\" of that mock. Calls to the child are recorded " @@ -1326,7 +1331,7 @@ msgstr "" "las llamadas a los hijos, permitiéndote hacer aserciones sobre el orden de " "las llamadas entre objetos simulados:" -#: ../Doc/library/unittest.mock.rst:1279 +#: ../Doc/library/unittest.mock.rst:1282 msgid "" "The exception to this is if the mock has a name. This allows you to prevent " "the \"parenting\" if for some reason you don't want it to happen." @@ -1335,7 +1340,7 @@ msgstr "" "permite evitar el comportamiento de \"parentesco\" explicado previamente, si " "por alguna razón no deseas que suceda." -#: ../Doc/library/unittest.mock.rst:1290 +#: ../Doc/library/unittest.mock.rst:1293 msgid "" "Mocks created for you by :func:`patch` are automatically given names. To " "attach mocks that have names to a parent you use the :meth:`~Mock." @@ -1345,7 +1350,7 @@ msgstr "" "también reciben nombres automáticamente. Para adjuntar un objeto simulado " "con nombre a un padre debes utilizar el método :meth:`~Mock.attach_mock`:" -#: ../Doc/library/unittest.mock.rst:1308 +#: ../Doc/library/unittest.mock.rst:1311 msgid "" "The only exceptions are magic methods and attributes (those that have " "leading and trailing double underscores). Mock doesn't create these but " @@ -1362,11 +1367,11 @@ msgstr "" "método mágico. Si necesitas soporte para métodos mágicos, consulta :ref:" "`métodos mágicos `." -#: ../Doc/library/unittest.mock.rst:1317 +#: ../Doc/library/unittest.mock.rst:1320 msgid "The patchers" msgstr "Parcheadores" -#: ../Doc/library/unittest.mock.rst:1319 +#: ../Doc/library/unittest.mock.rst:1322 msgid "" "The patch decorators are used for patching objects only within the scope of " "the function they decorate. They automatically handle the unpatching for " @@ -1379,20 +1384,21 @@ msgstr "" "funciones también se pueden utilizar con declaraciones o como decoradores de " "clase." -#: ../Doc/library/unittest.mock.rst:1326 +#: ../Doc/library/unittest.mock.rst:1329 msgid "patch" msgstr "patch" -#: ../Doc/library/unittest.mock.rst:1330 +#: ../Doc/library/unittest.mock.rst:1333 +#, fuzzy msgid "" -":func:`patch` is straightforward to use. The key is to do the patching in " -"the right namespace. See the section `where to patch`_." +"The key is to do the patching in the right namespace. See the section `where " +"to patch`_." msgstr "" "La función :func:`patch` es sencilla de usar. La clave es realizar la " "aplicación de parches en el espacio de nombres correcto. Consulta la sección " "`where to patch`_ para más detalles." -#: ../Doc/library/unittest.mock.rst:1335 +#: ../Doc/library/unittest.mock.rst:1337 msgid "" ":func:`patch` acts as a function decorator, class decorator or a context " "manager. Inside the body of the function or with statement, the *target* is " @@ -1405,7 +1411,7 @@ msgstr "" "la función / declaración with termina su ejecución el parche se deshace " "automáticamente." -#: ../Doc/library/unittest.mock.rst:1340 +#: ../Doc/library/unittest.mock.rst:1342 msgid "" "If *new* is omitted, then the target is replaced with an :class:`AsyncMock` " "if the patched object is an async function or a :class:`MagicMock` " @@ -1422,7 +1428,7 @@ msgstr "" "un gestor de contexto, el objeto simulado creado es retornado por el gestor " "de contexto." -#: ../Doc/library/unittest.mock.rst:1348 +#: ../Doc/library/unittest.mock.rst:1350 msgid "" "*target* should be a string in the form ``'package.module.ClassName'``. The " "*target* is imported and the specified object replaced with the *new* " @@ -1437,7 +1443,7 @@ msgstr "" "presente que *target* es importado cuando se ejecuta la función decorada, no " "en tiempo de decoración." -#: ../Doc/library/unittest.mock.rst:1354 +#: ../Doc/library/unittest.mock.rst:1356 msgid "" "The *spec* and *spec_set* keyword arguments are passed to the :class:" "`MagicMock` if patch is creating one for you." @@ -1445,7 +1451,7 @@ msgstr "" "Los argumentos *spec* y *spec_set* se pasan a :class:`MagicMock` si patch " "está creando automáticamente uno para ti." -#: ../Doc/library/unittest.mock.rst:1357 +#: ../Doc/library/unittest.mock.rst:1359 msgid "" "In addition you can pass ``spec=True`` or ``spec_set=True``, which causes " "patch to pass in the object being mocked as the spec/spec_set object." @@ -1453,7 +1459,7 @@ msgstr "" "Además, puedes pasar ``spec=True`` o ``spec_set=True``, lo que causa que " "patch pase el objeto que está siendo simulado como el objeto spec/spec_set." -#: ../Doc/library/unittest.mock.rst:1360 +#: ../Doc/library/unittest.mock.rst:1362 msgid "" "*new_callable* allows you to specify a different class, or callable object, " "that will be called to create the *new* object. By default :class:" @@ -1464,7 +1470,7 @@ msgstr "" "utiliza :class:`AsyncMock` para las funciones asíncronas y :class:" "`MagicMock` para el resto." -#: ../Doc/library/unittest.mock.rst:1364 +#: ../Doc/library/unittest.mock.rst:1366 msgid "" "A more powerful form of *spec* is *autospec*. If you set ``autospec=True`` " "then the mock will be created with a spec from the object being replaced. " @@ -1486,7 +1492,7 @@ msgstr "" "especificación que la clase. Consultar la función :func:`create_autospec` y :" "ref:`auto-speccing` para más detalles." -#: ../Doc/library/unittest.mock.rst:1374 +#: ../Doc/library/unittest.mock.rst:1376 msgid "" "Instead of ``autospec=True`` you can pass ``autospec=some_object`` to use an " "arbitrary object as the spec instead of the one being replaced." @@ -1495,7 +1501,7 @@ msgstr "" "utilizar un objeto arbitrario como especificación en lugar del objeto " "reemplazado." -#: ../Doc/library/unittest.mock.rst:1377 +#: ../Doc/library/unittest.mock.rst:1379 msgid "" "By default :func:`patch` will fail to replace attributes that don't exist. " "If you pass in ``create=True``, and the attribute doesn't exist, patch will " @@ -1513,7 +1519,7 @@ msgstr "" "defecto, ya que puede ser peligroso. ¡Al activarlo se pueden implementar " "pruebas que validen APIs que en realidad no existen!" -#: ../Doc/library/unittest.mock.rst:1387 +#: ../Doc/library/unittest.mock.rst:1389 msgid "" "If you are patching builtins in a module then you don't need to pass " "``create=True``, it will be added by default." @@ -1522,7 +1528,7 @@ msgstr "" "necesario pasar ``create=True``, ya que en este caso se agrega de forma " "predeterminada." -#: ../Doc/library/unittest.mock.rst:1391 +#: ../Doc/library/unittest.mock.rst:1393 msgid "" "Patch can be used as a :class:`TestCase` class decorator. It works by " "decorating each test method in the class. This reduces the boilerplate code " @@ -1541,7 +1547,7 @@ msgstr "" "busca las pruebas. Se puede especificar un prefijo alternativo estableciendo " "un nuevo valor para el atributo ``patch.TEST_PREFIX``." -#: ../Doc/library/unittest.mock.rst:1398 +#: ../Doc/library/unittest.mock.rst:1400 msgid "" "Patch can be used as a context manager, with the with statement. Here the " "patching applies to the indented block after the with statement. If you use " @@ -1554,15 +1560,17 @@ msgstr "" "enlazado al nombre especificado después de \"as\"; muy útil si :func:`patch` " "está creando un objeto simulado automáticamente." -#: ../Doc/library/unittest.mock.rst:1403 +#: ../Doc/library/unittest.mock.rst:1405 +#, fuzzy msgid "" -":func:`patch` takes arbitrary keyword arguments. These will be passed to " -"the :class:`Mock` (or *new_callable*) on construction." +":func:`patch` takes arbitrary keyword arguments. These will be passed to :" +"class:`AsyncMock` if the patched object is asynchronous, to :class:" +"`MagicMock` otherwise or to *new_callable* if specified." msgstr "" ":func:`patch` toma argumentos por palabra clave arbitrarios. Estos serán " "pasados ​​a :class:`Mock` (o a *new_callable*) durante la construcción." -#: ../Doc/library/unittest.mock.rst:1406 +#: ../Doc/library/unittest.mock.rst:1409 msgid "" "``patch.dict(...)``, ``patch.multiple(...)`` and ``patch.object(...)`` are " "available for alternate use-cases." @@ -1570,7 +1578,7 @@ msgstr "" "``patch.dict(...)``, ``patch.multiple(...)`` y ``patch.object(...)`` están " "disponibles para casos de uso alternativos." -#: ../Doc/library/unittest.mock.rst:1409 +#: ../Doc/library/unittest.mock.rst:1412 msgid "" ":func:`patch` as function decorator, creating the mock for you and passing " "it into the decorated function::" @@ -1578,7 +1586,7 @@ msgstr "" ":func:`patch` como decorador de función, crea el objeto simulado por ti y lo " "pasa a la función decorada:" -#: ../Doc/library/unittest.mock.rst:1419 +#: ../Doc/library/unittest.mock.rst:1422 msgid "" "Patching a class replaces the class with a :class:`MagicMock` *instance*. If " "the class is instantiated in the code under test then it will be the :attr:" @@ -1588,7 +1596,7 @@ msgstr "" "`MagicMock`. Si la clase se instancia en el código bajo prueba, el atributo :" "attr:`~Mock.return_value` del objeto simulado será el utilizado." -#: ../Doc/library/unittest.mock.rst:1423 +#: ../Doc/library/unittest.mock.rst:1426 msgid "" "If the class is instantiated multiple times you could use :attr:`~Mock." "side_effect` to return a new mock each time. Alternatively you can set the " @@ -1599,7 +1607,7 @@ msgstr "" "cada vez. O también puedes establecer *return_value* para que sea lo que tu " "quieras." -#: ../Doc/library/unittest.mock.rst:1427 +#: ../Doc/library/unittest.mock.rst:1430 msgid "" "To configure return values on methods of *instances* on the patched class " "you must do this on the :attr:`return_value`. For example::" @@ -1607,7 +1615,7 @@ msgstr "" "Para configurar valores de retorno de métodos en *instancias* de la clase " "parcheada debes hacer uso del atributo :attr:`return_value`. Por ejemplo:" -#: ../Doc/library/unittest.mock.rst:1441 +#: ../Doc/library/unittest.mock.rst:1444 msgid "" "If you use *spec* or *spec_set* and :func:`patch` is replacing a *class*, " "then the return value of the created mock will have the same spec. ::" @@ -1616,7 +1624,7 @@ msgstr "" "*clase*, el valor de retorno del objeto simulado creado tendrá las mismas " "especificaciones:" -#: ../Doc/library/unittest.mock.rst:1451 +#: ../Doc/library/unittest.mock.rst:1454 msgid "" "The *new_callable* argument is useful where you want to use an alternative " "class to the default :class:`MagicMock` for the created mock. For example, " @@ -1627,7 +1635,7 @@ msgstr "" "ejemplo, si quieres que se use una clase :class:`NonCallableMock` por " "defecto:" -#: ../Doc/library/unittest.mock.rst:1464 +#: ../Doc/library/unittest.mock.rst:1467 msgid "" "Another use case might be to replace an object with an :class:`io.StringIO` " "instance::" @@ -1635,7 +1643,7 @@ msgstr "" "Otro caso de uso podría ser la sustitución de un objeto por una instancia " "de :class:`io.StringIO`:" -#: ../Doc/library/unittest.mock.rst:1477 +#: ../Doc/library/unittest.mock.rst:1480 msgid "" "When :func:`patch` is creating a mock for you, it is common that the first " "thing you need to do is to configure the mock. Some of that configuration " @@ -1648,7 +1656,7 @@ msgstr "" "palabra clave arbitraria que pases a la llamada será utilizada para " "establecer los atributos del objeto simulado creado:" -#: ../Doc/library/unittest.mock.rst:1489 +#: ../Doc/library/unittest.mock.rst:1492 msgid "" "As well as attributes on the created mock attributes, like the :attr:`~Mock." "return_value` and :attr:`~Mock.side_effect`, of child mocks can also be " @@ -1664,7 +1672,7 @@ msgstr "" "la función patch, pero un diccionario con ellos como claves si que puede ser " "expandido en una llama a :func:`patch` usando ``**``:" -#: ../Doc/library/unittest.mock.rst:1505 +#: ../Doc/library/unittest.mock.rst:1508 msgid "" "By default, attempting to patch a function in a module (or a method or an " "attribute in a class) that does not exist will fail with :exc:" @@ -1674,7 +1682,7 @@ msgstr "" "atributo en una clase) que no existe fallará lanzando una excepción :exc:" "`AttributeError`:" -#: ../Doc/library/unittest.mock.rst:1517 +#: ../Doc/library/unittest.mock.rst:1520 msgid "" "but adding ``create=True`` in the call to :func:`patch` will make the " "previous example work as expected::" @@ -1682,7 +1690,7 @@ msgstr "" "pero añadir ``create=True`` en la llamada a :func:`patch` hará que el " "ejemplo previo funcione como se esperaba:" -#: ../Doc/library/unittest.mock.rst:1528 +#: ../Doc/library/unittest.mock.rst:1531 msgid "" ":func:`patch` now returns an :class:`AsyncMock` if the target is an async " "function." @@ -1690,11 +1698,11 @@ msgstr "" ":func:`patch` ahora retorna una instancia de :class:`AsyncMock` si el " "objetivo es una función asíncrona." -#: ../Doc/library/unittest.mock.rst:1532 +#: ../Doc/library/unittest.mock.rst:1535 msgid "patch.object" msgstr "patch.object" -#: ../Doc/library/unittest.mock.rst:1536 +#: ../Doc/library/unittest.mock.rst:1539 msgid "" "patch the named member (*attribute*) on an object (*target*) with a mock " "object." @@ -1702,7 +1710,7 @@ msgstr "" "parchea el miembro *attribute* invocado de un objeto *target* con un objeto " "simulado." -#: ../Doc/library/unittest.mock.rst:1539 +#: ../Doc/library/unittest.mock.rst:1542 msgid "" ":func:`patch.object` can be used as a decorator, class decorator or a " "context manager. Arguments *new*, *spec*, *create*, *spec_set*, *autospec* " @@ -1717,7 +1725,7 @@ msgstr "" "argumentos por palabras clave arbitrarios para la configuración del objeto " "simulado que crea." -#: ../Doc/library/unittest.mock.rst:1545 +#: ../Doc/library/unittest.mock.rst:1548 msgid "" "When used as a class decorator :func:`patch.object` honours ``patch." "TEST_PREFIX`` for choosing which methods to wrap." @@ -1725,7 +1733,7 @@ msgstr "" "Cuando se utiliza como un decorador de clase :func:`patch.object` se rige " "por ``patch.TEST_PREFIX`` a la hora de elegir los métodos a envolver." -#: ../Doc/library/unittest.mock.rst:1548 +#: ../Doc/library/unittest.mock.rst:1551 msgid "" "You can either call :func:`patch.object` with three arguments or two " "arguments. The three argument form takes the object to be patched, the " @@ -1735,7 +1743,7 @@ msgstr "" "argumentos. La forma de tres argumento toma el objeto a parchear, el nombre " "del atributo y el objeto con el que reemplazar el atributo." -#: ../Doc/library/unittest.mock.rst:1552 +#: ../Doc/library/unittest.mock.rst:1555 msgid "" "When calling with the two argument form you omit the replacement object, and " "a mock is created for you and passed in as an extra argument to the " @@ -1745,7 +1753,7 @@ msgstr "" "sustitución, por lo tanto se crea un objeto simulado automáticamente y se " "pasa como argumento adicional a la función decorada:" -#: ../Doc/library/unittest.mock.rst:1563 +#: ../Doc/library/unittest.mock.rst:1566 msgid "" "*spec*, *create* and the other arguments to :func:`patch.object` have the " "same meaning as they do for :func:`patch`." @@ -1753,11 +1761,11 @@ msgstr "" "*spec*, *create* y el resto de argumentos de :func:`patch.object` tienen el " "mismo significado que en la función :func:`patch`." -#: ../Doc/library/unittest.mock.rst:1568 +#: ../Doc/library/unittest.mock.rst:1571 msgid "patch.dict" msgstr "patch.dict" -#: ../Doc/library/unittest.mock.rst:1572 +#: ../Doc/library/unittest.mock.rst:1575 msgid "" "Patch a dictionary, or dictionary like object, and restore the dictionary to " "its original state after the test." @@ -1765,7 +1773,7 @@ msgstr "" "Parchea un diccionario o un objeto similar a un diccionario y posteriormente " "lo restaura a su estado original una vez terminada la prueba." -#: ../Doc/library/unittest.mock.rst:1575 +#: ../Doc/library/unittest.mock.rst:1578 msgid "" "*in_dict* can be a dictionary or a mapping like container. If it is a " "mapping then it must at least support getting, setting and deleting items " @@ -1776,7 +1784,7 @@ msgstr "" "establecimiento, la obtención y la eliminación de elementos, además de " "permitir la iteración sobre las claves." -#: ../Doc/library/unittest.mock.rst:1579 +#: ../Doc/library/unittest.mock.rst:1582 msgid "" "*in_dict* can also be a string specifying the name of the dictionary, which " "will then be fetched by importing it." @@ -1785,7 +1793,7 @@ msgstr "" "diccionario a parchear, el nombre es usado para obtener el diccionario " "mediante importación." -#: ../Doc/library/unittest.mock.rst:1582 +#: ../Doc/library/unittest.mock.rst:1585 msgid "" "*values* can be a dictionary of values to set in the dictionary. *values* " "can also be an iterable of ``(key, value)`` pairs." @@ -1794,7 +1802,7 @@ msgstr "" "diccionario. *values* también puede ser un iterable de parejas ``(clave, " "valor)``." -#: ../Doc/library/unittest.mock.rst:1585 +#: ../Doc/library/unittest.mock.rst:1588 msgid "" "If *clear* is true then the dictionary will be cleared before the new values " "are set." @@ -1802,7 +1810,7 @@ msgstr "" "Si *clear* es verdadero, el contenido del diccionario se borrará antes de " "establecer los nuevos valores." -#: ../Doc/library/unittest.mock.rst:1588 +#: ../Doc/library/unittest.mock.rst:1591 msgid "" ":func:`patch.dict` can also be called with arbitrary keyword arguments to " "set values in the dictionary." @@ -1810,7 +1818,7 @@ msgstr "" "La función :func:`patch.dict` también puede ser invocada con argumentos por " "palabra clave arbitrarios para establecer los valores en el diccionario." -#: ../Doc/library/unittest.mock.rst:1593 +#: ../Doc/library/unittest.mock.rst:1596 msgid "" ":func:`patch.dict` now returns the patched dictionary when used as a context " "manager." @@ -1818,7 +1826,7 @@ msgstr "" "La función :func:`patch.dict` ahora retorna el diccionario parcheado cuando " "se utiliza como gestor de contexto." -#: ../Doc/library/unittest.mock.rst:1596 +#: ../Doc/library/unittest.mock.rst:1599 msgid "" ":func:`patch.dict` can be used as a context manager, decorator or class " "decorator:" @@ -1826,7 +1834,7 @@ msgstr "" ":func:`patch.dict` se puede utilizar como gestor de contexto, decorador o " "decorador de clase:" -#: ../Doc/library/unittest.mock.rst:1606 +#: ../Doc/library/unittest.mock.rst:1609 msgid "" "When used as a class decorator :func:`patch.dict` honours ``patch." "TEST_PREFIX`` (default to ``'test'``) for choosing which methods to wrap:" @@ -1835,7 +1843,7 @@ msgstr "" "``patch.TEST_PREFIX`` (por defecto ``'test'``) a la hora de elegir qué " "métodos envolver:" -#: ../Doc/library/unittest.mock.rst:1617 +#: ../Doc/library/unittest.mock.rst:1620 msgid "" "If you want to use a different prefix for your test, you can inform the " "patchers of the different prefix by setting ``patch.TEST_PREFIX``. For more " @@ -1846,7 +1854,7 @@ msgstr "" "Para más detalles sobre cómo cambiar el valor del atributo consultar :ref:" "`test-prefix`." -#: ../Doc/library/unittest.mock.rst:1621 +#: ../Doc/library/unittest.mock.rst:1624 msgid "" ":func:`patch.dict` can be used to add members to a dictionary, or simply let " "a test change a dictionary, and ensure the dictionary is restored when the " @@ -1856,7 +1864,7 @@ msgstr "" "o simplemente para dejar que una prueba modifique un diccionario y " "asegurarte de que el diccionario será restablecido cuando finalice la misma." -#: ../Doc/library/unittest.mock.rst:1642 +#: ../Doc/library/unittest.mock.rst:1645 msgid "" "Keywords can be used in the :func:`patch.dict` call to set values in the " "dictionary:" @@ -1864,7 +1872,7 @@ msgstr "" "Se pueden utilizar argumentos por palabra clave en la llamada a :func:`patch." "dict` para establecer valores en el diccionario:" -#: ../Doc/library/unittest.mock.rst:1652 +#: ../Doc/library/unittest.mock.rst:1655 msgid "" ":func:`patch.dict` can be used with dictionary like objects that aren't " "actually dictionaries. At the very minimum they must support item getting, " @@ -1879,11 +1887,11 @@ msgstr "" "mágicos :meth:`__getitem__`, :meth:`__setitem__`, :meth:`__delitem__` e :" "meth:`__iter__` o :meth:`__contains__`." -#: ../Doc/library/unittest.mock.rst:1681 +#: ../Doc/library/unittest.mock.rst:1684 msgid "patch.multiple" msgstr "patch.multiple" -#: ../Doc/library/unittest.mock.rst:1685 +#: ../Doc/library/unittest.mock.rst:1688 msgid "" "Perform multiple patches in a single call. It takes the object to be patched " "(either as an object or a string to fetch the object by importing) and " @@ -1894,7 +1902,7 @@ msgstr "" "del mismo para obtener el objeto mediante importación) y los argumentos por " "palabras clave para los parches:" -#: ../Doc/library/unittest.mock.rst:1692 +#: ../Doc/library/unittest.mock.rst:1695 msgid "" "Use :data:`DEFAULT` as the value if you want :func:`patch.multiple` to " "create mocks for you. In this case the created mocks are passed into a " @@ -1907,7 +1915,7 @@ msgstr "" "clave y se retorna un diccionario cuando :func:`patch.multiple` se utiliza " "como gestor de contexto." -#: ../Doc/library/unittest.mock.rst:1697 +#: ../Doc/library/unittest.mock.rst:1700 msgid "" ":func:`patch.multiple` can be used as a decorator, class decorator or a " "context manager. The arguments *spec*, *spec_set*, *create*, *autospec* and " @@ -1920,7 +1928,7 @@ msgstr "" "significado que en la función :func:`patch`. Estos argumentos se aplicarán a " "*todos* los parches realizados por :func:`patch.multiple`." -#: ../Doc/library/unittest.mock.rst:1702 +#: ../Doc/library/unittest.mock.rst:1705 msgid "" "When used as a class decorator :func:`patch.multiple` honours ``patch." "TEST_PREFIX`` for choosing which methods to wrap." @@ -1928,7 +1936,7 @@ msgstr "" "Cuando se utiliza como decorador de clase, :func:`patch.multiple` se rige " "por ``patch.TEST_PREFIX`` a la hora de elegir qué métodos envolver." -#: ../Doc/library/unittest.mock.rst:1705 +#: ../Doc/library/unittest.mock.rst:1708 msgid "" "If you want :func:`patch.multiple` to create mocks for you, then you can " "use :data:`DEFAULT` as the value. If you use :func:`patch.multiple` as a " @@ -1940,7 +1948,7 @@ msgstr "" "multiple` como decorador, entonces los objetos simulados creados se pasan a " "la función decorada por palabra clave:" -#: ../Doc/library/unittest.mock.rst:1719 +#: ../Doc/library/unittest.mock.rst:1722 msgid "" ":func:`patch.multiple` can be nested with other ``patch`` decorators, but " "put arguments passed by keyword *after* any of the standard arguments " @@ -1950,7 +1958,7 @@ msgstr "" "pero los argumentos pasados ​​por palabra clave se deben agregar *después* de " "cualquier argumento estándar creado por :func:`patch`:" -#: ../Doc/library/unittest.mock.rst:1731 +#: ../Doc/library/unittest.mock.rst:1734 msgid "" "If :func:`patch.multiple` is used as a context manager, the value returned " "by the context manager is a dictionary where created mocks are keyed by " @@ -1960,11 +1968,11 @@ msgstr "" "retornado por el mismo es un diccionario en el que los objetos simulados " "creados son almacenados, usando sus nombres como claves:" -#: ../Doc/library/unittest.mock.rst:1745 +#: ../Doc/library/unittest.mock.rst:1748 msgid "patch methods: start and stop" msgstr "Métodos start y stop de patch" -#: ../Doc/library/unittest.mock.rst:1747 +#: ../Doc/library/unittest.mock.rst:1750 msgid "" "All the patchers have :meth:`start` and :meth:`stop` methods. These make it " "simpler to do patching in ``setUp`` methods or where you want to do multiple " @@ -1974,7 +1982,7 @@ msgstr "" "facilita parchear en los métodos ``setUp`` o cuando deseas hacer múltiples " "parches sin usar decoradores anidados o declaraciones with." -#: ../Doc/library/unittest.mock.rst:1751 +#: ../Doc/library/unittest.mock.rst:1754 msgid "" "To use them call :func:`patch`, :func:`patch.object` or :func:`patch.dict` " "as normal and keep a reference to the returned ``patcher`` object. You can " @@ -1986,7 +1994,7 @@ msgstr "" "``patcher`` retornado. A continuación, puedes llamar al método :meth:`start` " "para aplicar el parche y a :meth:`stop` para deshacerlo." -#: ../Doc/library/unittest.mock.rst:1755 +#: ../Doc/library/unittest.mock.rst:1758 msgid "" "If you are using :func:`patch` to create a mock for you then it will be " "returned by the call to ``patcher.start``. ::" @@ -1994,7 +2002,7 @@ msgstr "" "Si estás utilizando :func:`patch` para crear un objeto simulado " "automáticamente, este será retornado por la llamada a ``patcher.start``:" -#: ../Doc/library/unittest.mock.rst:1769 +#: ../Doc/library/unittest.mock.rst:1772 msgid "" "A typical use case for this might be for doing multiple patches in the " "``setUp`` method of a :class:`TestCase`::" @@ -2002,7 +2010,7 @@ msgstr "" "Un uso típico de esto podría ser realizar múltiples parches en el método " "``setUp`` de un :class:`TestCase`:" -#: ../Doc/library/unittest.mock.rst:1791 +#: ../Doc/library/unittest.mock.rst:1794 msgid "" "If you use this technique you must ensure that the patching is \"undone\" by " "calling ``stop``. This can be fiddlier than you might think, because if an " @@ -2015,7 +2023,7 @@ msgstr "" "``tearDown`` a continuación. :meth:`unittest.TestCase.addCleanup` hace que " "esto sea más fácil:" -#: ../Doc/library/unittest.mock.rst:1806 +#: ../Doc/library/unittest.mock.rst:1809 msgid "" "As an added bonus you no longer need to keep a reference to the ``patcher`` " "object." @@ -2023,7 +2031,7 @@ msgstr "" "Como beneficio adicional, ya no es necesario mantener una referencia al " "objeto ``patcher``." -#: ../Doc/library/unittest.mock.rst:1809 +#: ../Doc/library/unittest.mock.rst:1812 msgid "" "It is also possible to stop all patches which have been started by using :" "func:`patch.stopall`." @@ -2031,17 +2039,17 @@ msgstr "" "También es posible detener todos los parches que han sido iniciados usando :" "func:`patch.stopall`." -#: ../Doc/library/unittest.mock.rst:1814 +#: ../Doc/library/unittest.mock.rst:1817 msgid "Stop all active patches. Only stops patches started with ``start``." msgstr "" "Detiene todos los parches activos. Sólo se detienen parches iniciados con " "``start``." -#: ../Doc/library/unittest.mock.rst:1820 +#: ../Doc/library/unittest.mock.rst:1823 msgid "patch builtins" msgstr "Parchear objetos incorporados (builtins)" -#: ../Doc/library/unittest.mock.rst:1821 +#: ../Doc/library/unittest.mock.rst:1824 msgid "" "You can patch any builtins within a module. The following example patches " "builtin :func:`ord`::" @@ -2049,11 +2057,11 @@ msgstr "" "Puedes parchear cualquier objeto incorporado dentro de un módulo. El " "siguiente ejemplo parchea la función incorporada :func:`ord`:" -#: ../Doc/library/unittest.mock.rst:1836 +#: ../Doc/library/unittest.mock.rst:1839 msgid "TEST_PREFIX" msgstr "TEST_PREFIX" -#: ../Doc/library/unittest.mock.rst:1838 +#: ../Doc/library/unittest.mock.rst:1841 msgid "" "All of the patchers can be used as class decorators. When used in this way " "they wrap every test method on the class. The patchers recognise methods " @@ -2066,7 +2074,7 @@ msgstr "" "métodos a probar. Esta es la misma forma que la clase :class:`unittest." "TestLoader` usa para encontrar métodos de prueba por defecto." -#: ../Doc/library/unittest.mock.rst:1843 +#: ../Doc/library/unittest.mock.rst:1846 msgid "" "It is possible that you want to use a different prefix for your tests. You " "can inform the patchers of the different prefix by setting ``patch." @@ -2076,22 +2084,22 @@ msgstr "" "pruebas. Puedes informar a los parcheadores del cambio de prefijo " "estableciendo el atributo ``patch.TEST_PREFIX``:" -#: ../Doc/library/unittest.mock.rst:1866 +#: ../Doc/library/unittest.mock.rst:1869 msgid "Nesting Patch Decorators" msgstr "Anidando decoradores patch" -#: ../Doc/library/unittest.mock.rst:1868 +#: ../Doc/library/unittest.mock.rst:1871 msgid "" "If you want to perform multiple patches then you can simply stack up the " "decorators." msgstr "" "Si deseas aplicar múltiples parches, solo tienes que apilar los decoradores." -#: ../Doc/library/unittest.mock.rst:1871 +#: ../Doc/library/unittest.mock.rst:1874 msgid "You can stack up multiple patch decorators using this pattern:" msgstr "Puede apilar múltiples decoradores patch usando el siguiente patrón:" -#: ../Doc/library/unittest.mock.rst:1887 +#: ../Doc/library/unittest.mock.rst:1890 msgid "" "Note that the decorators are applied from the bottom upwards. This is the " "standard way that Python applies decorators. The order of the created mocks " @@ -2102,11 +2110,11 @@ msgstr "" "los objetos simulados generados se pasan a la función de prueba coincide con " "este orden." -#: ../Doc/library/unittest.mock.rst:1895 +#: ../Doc/library/unittest.mock.rst:1898 msgid "Where to patch" msgstr "Dónde parchear" -#: ../Doc/library/unittest.mock.rst:1897 +#: ../Doc/library/unittest.mock.rst:1900 msgid "" ":func:`patch` works by (temporarily) changing the object that a *name* " "points to with another one. There can be many names pointing to any " @@ -2119,7 +2127,7 @@ msgstr "" "parchear el nombre utilizado para el objeto por el sistema concreto bajo " "prueba." -#: ../Doc/library/unittest.mock.rst:1902 +#: ../Doc/library/unittest.mock.rst:1905 msgid "" "The basic principle is that you patch where an object is *looked up*, which " "is not necessarily the same place as where it is defined. A couple of " @@ -2129,14 +2137,14 @@ msgstr "" "necesariamente el mismo lugar donde está definido. Un par de ejemplos " "ayudarán a aclarar esto." -#: ../Doc/library/unittest.mock.rst:1906 +#: ../Doc/library/unittest.mock.rst:1909 msgid "" "Imagine we have a project that we want to test with the following structure::" msgstr "" "Imaginemos que tenemos un proyecto, que queremos probar, con la siguiente " "estructura:" -#: ../Doc/library/unittest.mock.rst:1915 +#: ../Doc/library/unittest.mock.rst:1918 msgid "" "Now we want to test ``some_function`` but we want to mock out ``SomeClass`` " "using :func:`patch`. The problem is that when we import module b, which we " @@ -2153,7 +2161,7 @@ msgstr "" "a la ``SomeClass`` *real*, por lo que parece que nuestro parcheo no tuvo " "ningún efecto." -#: ../Doc/library/unittest.mock.rst:1922 +#: ../Doc/library/unittest.mock.rst:1925 msgid "" "The key is to patch out ``SomeClass`` where it is used (or where it is " "looked up). In this case ``some_function`` will actually look up " @@ -2164,7 +2172,7 @@ msgstr "" "este caso ``some_function`` realmente va a buscar ``SomeClass`` en el módulo " "b, donde lo hemos importado. La aplicación de parches debe ser similar a:" -#: ../Doc/library/unittest.mock.rst:1928 +#: ../Doc/library/unittest.mock.rst:1931 msgid "" "However, consider the alternative scenario where instead of ``from a import " "SomeClass`` module b does ``import a`` and ``some_function`` uses ``a." @@ -2178,11 +2186,11 @@ msgstr "" "comunes. En este caso, la clase que queremos parchear está siendo buscada en " "el módulo, por lo que tenemos que parchear ``a.SomeClass``:" -#: ../Doc/library/unittest.mock.rst:1937 +#: ../Doc/library/unittest.mock.rst:1940 msgid "Patching Descriptors and Proxy Objects" msgstr "Parcheando descriptores y objetos proxy" -#: ../Doc/library/unittest.mock.rst:1939 +#: ../Doc/library/unittest.mock.rst:1942 msgid "" "Both patch_ and patch.object_ correctly patch and restore descriptors: class " "methods, static methods and properties. You should patch these on the " @@ -2198,15 +2206,15 @@ msgstr "" "object `_)." -#: ../Doc/library/unittest.mock.rst:1947 +#: ../Doc/library/unittest.mock.rst:1950 msgid "MagicMock and magic method support" msgstr "MagicMock y el soporte de métodos mágicos" -#: ../Doc/library/unittest.mock.rst:1952 +#: ../Doc/library/unittest.mock.rst:1955 msgid "Mocking Magic Methods" msgstr "Simular métodos mágicos" -#: ../Doc/library/unittest.mock.rst:1954 +#: ../Doc/library/unittest.mock.rst:1957 msgid "" ":class:`Mock` supports mocking the Python protocol methods, also known as " "\"magic methods\". This allows mock objects to replace containers or other " @@ -2217,7 +2225,7 @@ msgstr "" "simulados reemplazar contenedores u otros objetos que implementan protocolos " "de Python." -#: ../Doc/library/unittest.mock.rst:1958 +#: ../Doc/library/unittest.mock.rst:1961 msgid "" "Because magic methods are looked up differently from normal methods [#]_, " "this support has been specially implemented. This means that only specific " @@ -2230,7 +2238,7 @@ msgstr "" "de métodos soportados incluye *casi* todos los existentes. Si hay alguno que " "falta y que consideras necesario, por favor háznoslo saber." -#: ../Doc/library/unittest.mock.rst:1963 +#: ../Doc/library/unittest.mock.rst:1966 msgid "" "You mock magic methods by setting the method you are interested in to a " "function or a mock instance. If you are using a function then it *must* take " @@ -2240,7 +2248,7 @@ msgstr "" "una función o en una instancia simulada. Si utilizas una función, *debe* " "aceptar ``self`` como primer argumento [#]_." -#: ../Doc/library/unittest.mock.rst:1986 +#: ../Doc/library/unittest.mock.rst:1989 msgid "" "One use case for this is for mocking objects used as context managers in a :" "keyword:`with` statement:" @@ -2248,7 +2256,7 @@ msgstr "" "Un caso de uso para esto es simular objetos usados ​​como gestores de contexto " "en una declaración :keyword:`with`:" -#: ../Doc/library/unittest.mock.rst:1998 +#: ../Doc/library/unittest.mock.rst:2001 msgid "" "Calls to magic methods do not appear in :attr:`~Mock.method_calls`, but they " "are recorded in :attr:`~Mock.mock_calls`." @@ -2256,7 +2264,7 @@ msgstr "" "Las llamadas a métodos mágicos no aparecen registradas en :attr:`~Mock." "method_calls`, aunque si se registran en :attr:`~Mock.mock_calls`." -#: ../Doc/library/unittest.mock.rst:2003 +#: ../Doc/library/unittest.mock.rst:2006 msgid "" "If you use the *spec* keyword argument to create a mock then attempting to " "set a magic method that isn't in the spec will raise an :exc:" @@ -2266,23 +2274,23 @@ msgstr "" "simulado, intentar después establecer un método mágico que no está en la " "especificación lanzará una excepción :exc:`AttributeError`." -#: ../Doc/library/unittest.mock.rst:2006 +#: ../Doc/library/unittest.mock.rst:2009 msgid "The full list of supported magic methods is:" msgstr "La lista completa de los métodos mágicos soportados es la siguiente:" -#: ../Doc/library/unittest.mock.rst:2008 +#: ../Doc/library/unittest.mock.rst:2011 msgid "``__hash__``, ``__sizeof__``, ``__repr__`` and ``__str__``" msgstr "``__hash__``, ``__sizeof__``, ``__repr__`` y ``__str__``" -#: ../Doc/library/unittest.mock.rst:2009 +#: ../Doc/library/unittest.mock.rst:2012 msgid "``__dir__``, ``__format__`` and ``__subclasses__``" msgstr "``__dir__``, ``__format__`` y ``__subclasses__``" -#: ../Doc/library/unittest.mock.rst:2010 +#: ../Doc/library/unittest.mock.rst:2013 msgid "``__round__``, ``__floor__``, ``__trunc__`` and ``__ceil__``" msgstr "``__round__``, ``__floor__``, ``__trunc__`` y ``__ceil__``" -#: ../Doc/library/unittest.mock.rst:2011 +#: ../Doc/library/unittest.mock.rst:2014 msgid "" "Comparisons: ``__lt__``, ``__gt__``, ``__le__``, ``__ge__``, ``__eq__`` and " "``__ne__``" @@ -2290,7 +2298,7 @@ msgstr "" "Comparaciones: ``__lt__``, ``__gt__``, ``__le__``, ``__ge__``, ``__eq__`` y " "``__ne__``" -#: ../Doc/library/unittest.mock.rst:2013 +#: ../Doc/library/unittest.mock.rst:2016 msgid "" "Container methods: ``__getitem__``, ``__setitem__``, ``__delitem__``, " "``__contains__``, ``__len__``, ``__iter__``, ``__reversed__`` and " @@ -2300,7 +2308,7 @@ msgstr "" "``__contains__``, ``__len__``, ``__iter__``, ``__reversed__`` y " "``__missing__``" -#: ../Doc/library/unittest.mock.rst:2016 +#: ../Doc/library/unittest.mock.rst:2019 msgid "" "Context manager: ``__enter__``, ``__exit__``, ``__aenter__`` and " "``__aexit__``" @@ -2308,11 +2316,11 @@ msgstr "" "Administrador de contexto: ``__enter__``, ``__exit__``, ``__aenter__`` y " "``__aexit__``" -#: ../Doc/library/unittest.mock.rst:2017 +#: ../Doc/library/unittest.mock.rst:2020 msgid "Unary numeric methods: ``__neg__``, ``__pos__`` and ``__invert__``" msgstr "Métodos numéricos unarios: ``__neg__``, ``__pos__`` y ``__invert__``" -#: ../Doc/library/unittest.mock.rst:2018 +#: ../Doc/library/unittest.mock.rst:2021 msgid "" "The numeric methods (including right hand and in-place variants): " "``__add__``, ``__sub__``, ``__mul__``, ``__matmul__``, ``__div__``, " @@ -2326,7 +2334,7 @@ msgstr "" "``__lshift__``, ``__rshift__``, ``__and__``, ``__xor__``, ``__or__``, y " "``__pow__``" -#: ../Doc/library/unittest.mock.rst:2022 +#: ../Doc/library/unittest.mock.rst:2025 msgid "" "Numeric conversion methods: ``__complex__``, ``__int__``, ``__float__`` and " "``__index__``" @@ -2334,11 +2342,11 @@ msgstr "" "Métodos de conversión numérica: ``__complex__``, ``__int__``, ``__float__`` " "y ``__index__``" -#: ../Doc/library/unittest.mock.rst:2024 +#: ../Doc/library/unittest.mock.rst:2027 msgid "Descriptor methods: ``__get__``, ``__set__`` and ``__delete__``" msgstr "Métodos de descriptores: ``__get__``, ``__set__`` y ``__delete__``" -#: ../Doc/library/unittest.mock.rst:2025 +#: ../Doc/library/unittest.mock.rst:2028 msgid "" "Pickling: ``__reduce__``, ``__reduce_ex__``, ``__getinitargs__``, " "``__getnewargs__``, ``__getstate__`` and ``__setstate__``" @@ -2346,19 +2354,19 @@ msgstr "" "Pickling: ``__reduce__``, ``__reduce_ex__``, ``__getinitargs__``, " "``__getnewargs__``, ``__getstate__`` y ``__setstate__``" -#: ../Doc/library/unittest.mock.rst:2027 +#: ../Doc/library/unittest.mock.rst:2030 msgid "File system path representation: ``__fspath__``" msgstr "Representación de rutas del sistema de archivos: ``__fspath__``" -#: ../Doc/library/unittest.mock.rst:2028 +#: ../Doc/library/unittest.mock.rst:2031 msgid "Asynchronous iteration methods: ``__aiter__`` and ``__anext__``" msgstr "Métodos de iteración asíncronos: ``__aiter__`` y ``__anext__``" -#: ../Doc/library/unittest.mock.rst:2030 +#: ../Doc/library/unittest.mock.rst:2033 msgid "Added support for :func:`os.PathLike.__fspath__`." msgstr "Se añadió soporte para :func:`os.PathLike.__fspath__`." -#: ../Doc/library/unittest.mock.rst:2033 +#: ../Doc/library/unittest.mock.rst:2036 msgid "" "Added support for ``__aenter__``, ``__aexit__``, ``__aiter__`` and " "``__anext__``." @@ -2366,7 +2374,7 @@ msgstr "" "Se añadió soporte para ``__aenter__``, ``__aexit__``, ``__aiter__`` y " "``__anext__``." -#: ../Doc/library/unittest.mock.rst:2037 +#: ../Doc/library/unittest.mock.rst:2040 msgid "" "The following methods exist but are *not* supported as they are either in " "use by mock, can't be set dynamically, or can cause problems:" @@ -2375,21 +2383,21 @@ msgstr "" "usados por el propio objeto simulado, porque no se pueden establecer " "dinámicamente o porque pueden causar problemas:" -#: ../Doc/library/unittest.mock.rst:2040 +#: ../Doc/library/unittest.mock.rst:2043 msgid "``__getattr__``, ``__setattr__``, ``__init__`` and ``__new__``" msgstr "``__getattr__``, ``__setattr__``, ``__init__`` y ``__new__``" -#: ../Doc/library/unittest.mock.rst:2041 +#: ../Doc/library/unittest.mock.rst:2044 msgid "" "``__prepare__``, ``__instancecheck__``, ``__subclasscheck__``, ``__del__``" msgstr "" "``__prepare__``, ``__instancecheck__``, ``__subclasscheck__`` y ``__del__``" -#: ../Doc/library/unittest.mock.rst:2046 +#: ../Doc/library/unittest.mock.rst:2049 msgid "Magic Mock" msgstr "Magic Mock" -#: ../Doc/library/unittest.mock.rst:2048 +#: ../Doc/library/unittest.mock.rst:2051 msgid "" "There are two ``MagicMock`` variants: :class:`MagicMock` and :class:" "`NonCallableMagicMock`." @@ -2397,7 +2405,7 @@ msgstr "" "Hay dos variantes de ``MagicMock``: :class:`MagicMock` y :class:" "`NonCallableMagicMock`." -#: ../Doc/library/unittest.mock.rst:2053 +#: ../Doc/library/unittest.mock.rst:2056 msgid "" "``MagicMock`` is a subclass of :class:`Mock` with default implementations of " "most of the magic methods. You can use ``MagicMock`` without having to " @@ -2408,13 +2416,13 @@ msgstr "" "para crear objetos simulados sin tener que establecer los métodos mágicos " "por ti mismo." -#: ../Doc/library/unittest.mock.rst:2057 +#: ../Doc/library/unittest.mock.rst:2060 msgid "The constructor parameters have the same meaning as for :class:`Mock`." msgstr "" "Los parámetros del constructor tienen el mismo significado que en :class:" "`Mock`." -#: ../Doc/library/unittest.mock.rst:2059 +#: ../Doc/library/unittest.mock.rst:2062 msgid "" "If you use the *spec* or *spec_set* arguments then *only* magic methods that " "exist in the spec will be created." @@ -2422,11 +2430,11 @@ msgstr "" "Si utilizas los argumentos *spec* o *spec_set* entonces *solo* los métodos " "mágicos que existan en la especificación serán creados." -#: ../Doc/library/unittest.mock.rst:2065 +#: ../Doc/library/unittest.mock.rst:2068 msgid "A non-callable version of :class:`MagicMock`." msgstr "Una versión no invocable de :class:`MagicMock`." -#: ../Doc/library/unittest.mock.rst:2067 +#: ../Doc/library/unittest.mock.rst:2070 msgid "" "The constructor parameters have the same meaning as for :class:`MagicMock`, " "with the exception of *return_value* and *side_effect* which have no meaning " @@ -2436,7 +2444,7 @@ msgstr "" "`MagicMock`, con la excepción de *return_value* y *side_effect* que no " "tienen significado en un objeto simulado no invocable." -#: ../Doc/library/unittest.mock.rst:2071 +#: ../Doc/library/unittest.mock.rst:2074 msgid "" "The magic methods are setup with :class:`MagicMock` objects, so you can " "configure them and use them in the usual way:" @@ -2444,7 +2452,7 @@ msgstr "" "Los métodos mágicos están implementados mediante objetos :class:`MagicMock`, " "por lo que puedes configurarlos y utilizarlos de la forma habitual:" -#: ../Doc/library/unittest.mock.rst:2081 +#: ../Doc/library/unittest.mock.rst:2084 msgid "" "By default many of the protocol methods are required to return objects of a " "specific type. These methods are preconfigured with a default return value, " @@ -2459,83 +2467,83 @@ msgstr "" "En todo caso, puedes *establecer* el valor de retorno de forma manual si " "deseas cambiar el valor predeterminado." -#: ../Doc/library/unittest.mock.rst:2087 +#: ../Doc/library/unittest.mock.rst:2090 msgid "Methods and their defaults:" msgstr "Métodos y sus valores por defecto:" -#: ../Doc/library/unittest.mock.rst:2089 +#: ../Doc/library/unittest.mock.rst:2092 msgid "``__lt__``: ``NotImplemented``" msgstr "``__lt__``: ``NotImplemented``" -#: ../Doc/library/unittest.mock.rst:2090 +#: ../Doc/library/unittest.mock.rst:2093 msgid "``__gt__``: ``NotImplemented``" msgstr "``__gt__``: ``NotImplemented``" -#: ../Doc/library/unittest.mock.rst:2091 +#: ../Doc/library/unittest.mock.rst:2094 msgid "``__le__``: ``NotImplemented``" msgstr "``__le__``: ``NotImplemented``" -#: ../Doc/library/unittest.mock.rst:2092 +#: ../Doc/library/unittest.mock.rst:2095 msgid "``__ge__``: ``NotImplemented``" msgstr "``__ge__``: ``NotImplemented``" -#: ../Doc/library/unittest.mock.rst:2093 +#: ../Doc/library/unittest.mock.rst:2096 msgid "``__int__``: ``1``" msgstr "``__int__``: ``1``" -#: ../Doc/library/unittest.mock.rst:2094 +#: ../Doc/library/unittest.mock.rst:2097 msgid "``__contains__``: ``False``" msgstr "``__contains__``: ``False``" -#: ../Doc/library/unittest.mock.rst:2095 +#: ../Doc/library/unittest.mock.rst:2098 msgid "``__len__``: ``0``" msgstr "``__len__``: ``0``" -#: ../Doc/library/unittest.mock.rst:2096 +#: ../Doc/library/unittest.mock.rst:2099 msgid "``__iter__``: ``iter([])``" msgstr "``__iter__``: ``iter([])``" -#: ../Doc/library/unittest.mock.rst:2097 +#: ../Doc/library/unittest.mock.rst:2100 msgid "``__exit__``: ``False``" msgstr "``__exit__``: ``False``" -#: ../Doc/library/unittest.mock.rst:2098 +#: ../Doc/library/unittest.mock.rst:2101 msgid "``__aexit__``: ``False``" msgstr "``__aexit__``: ``False``" -#: ../Doc/library/unittest.mock.rst:2099 +#: ../Doc/library/unittest.mock.rst:2102 msgid "``__complex__``: ``1j``" msgstr "``__complex__``: ``1j``" -#: ../Doc/library/unittest.mock.rst:2100 +#: ../Doc/library/unittest.mock.rst:2103 msgid "``__float__``: ``1.0``" msgstr "``__float__``: ``1.0``" -#: ../Doc/library/unittest.mock.rst:2101 +#: ../Doc/library/unittest.mock.rst:2104 msgid "``__bool__``: ``True``" msgstr "``__bool__``: ``True``" -#: ../Doc/library/unittest.mock.rst:2102 +#: ../Doc/library/unittest.mock.rst:2105 msgid "``__index__``: ``1``" msgstr "``__index__``: ``1``" -#: ../Doc/library/unittest.mock.rst:2103 +#: ../Doc/library/unittest.mock.rst:2106 msgid "``__hash__``: default hash for the mock" msgstr "``__hash__``: hash predeterminado del objeto simulado" -#: ../Doc/library/unittest.mock.rst:2104 +#: ../Doc/library/unittest.mock.rst:2107 msgid "``__str__``: default str for the mock" msgstr "``__str__``: str predeterminado del objeto simulado" -#: ../Doc/library/unittest.mock.rst:2105 +#: ../Doc/library/unittest.mock.rst:2108 msgid "``__sizeof__``: default sizeof for the mock" msgstr "``__sizeof__``: sizeof predeterminado del objeto simulado" -#: ../Doc/library/unittest.mock.rst:2107 +#: ../Doc/library/unittest.mock.rst:2110 msgid "For example:" msgstr "Por ejemplo:" -#: ../Doc/library/unittest.mock.rst:2119 +#: ../Doc/library/unittest.mock.rst:2122 msgid "" "The two equality methods, :meth:`__eq__` and :meth:`__ne__`, are special. " "They do the default equality comparison on identity, using the :attr:`~Mock." @@ -2547,7 +2555,7 @@ msgstr "" "identidad, utilizando el atributo :attr:`~Mock.side_effect`, a menos que " "cambies su valor de retorno para que retorne alguna otra cosa:" -#: ../Doc/library/unittest.mock.rst:2133 +#: ../Doc/library/unittest.mock.rst:2136 msgid "" "The return value of :meth:`MagicMock.__iter__` can be any iterable object " "and isn't required to be an iterator:" @@ -2555,7 +2563,7 @@ msgstr "" "El valor de retorno de :meth:`MagicMock.__iter__` puede ser cualquier objeto " "iterable, no se requiere que sea un iterador:" -#: ../Doc/library/unittest.mock.rst:2143 +#: ../Doc/library/unittest.mock.rst:2146 msgid "" "If the return value *is* an iterator, then iterating over it once will " "consume it and subsequent iterations will result in an empty list:" @@ -2563,7 +2571,7 @@ msgstr "" "Si el valor de retorno *es* un iterador, iterar sobre él una vez que se " "consume, y cualquier iteración posterior, resultará en una lista vacía:" -#: ../Doc/library/unittest.mock.rst:2152 +#: ../Doc/library/unittest.mock.rst:2155 msgid "" "``MagicMock`` has all of the supported magic methods configured except for " "some of the obscure and obsolete ones. You can still set these up if you " @@ -2573,7 +2581,7 @@ msgstr "" "excepción de algunos de los más oscuros y obsoletos. De todas formas, puedes " "configurar estos también si lo deseas." -#: ../Doc/library/unittest.mock.rst:2155 +#: ../Doc/library/unittest.mock.rst:2158 msgid "" "Magic methods that are supported but not setup by default in ``MagicMock`` " "are:" @@ -2581,27 +2589,27 @@ msgstr "" "Los métodos mágicos que son compatibles, pero que no están configurados por " "defecto en ``MagicMock`` son:" -#: ../Doc/library/unittest.mock.rst:2157 +#: ../Doc/library/unittest.mock.rst:2160 msgid "``__subclasses__``" msgstr "``__subclasses__``" -#: ../Doc/library/unittest.mock.rst:2158 +#: ../Doc/library/unittest.mock.rst:2161 msgid "``__dir__``" msgstr "``__dir__``" -#: ../Doc/library/unittest.mock.rst:2159 +#: ../Doc/library/unittest.mock.rst:2162 msgid "``__format__``" msgstr "``__format__``" -#: ../Doc/library/unittest.mock.rst:2160 +#: ../Doc/library/unittest.mock.rst:2163 msgid "``__get__``, ``__set__`` and ``__delete__``" msgstr "``__get__``, ``__set__`` y ``__delete__``" -#: ../Doc/library/unittest.mock.rst:2161 +#: ../Doc/library/unittest.mock.rst:2164 msgid "``__reversed__`` and ``__missing__``" msgstr "``__reversed__`` y ``__missing__``" -#: ../Doc/library/unittest.mock.rst:2162 +#: ../Doc/library/unittest.mock.rst:2165 msgid "" "``__reduce__``, ``__reduce_ex__``, ``__getinitargs__``, ``__getnewargs__``, " "``__getstate__`` and ``__setstate__``" @@ -2609,11 +2617,11 @@ msgstr "" "``__reduce__``, ``__reduce_ex__``, ``__getinitargs__``, ``__getnewargs__``, " "``__getstate__`` y ``__setstate__``" -#: ../Doc/library/unittest.mock.rst:2164 +#: ../Doc/library/unittest.mock.rst:2167 msgid "``__getformat__`` and ``__setformat__``" msgstr "``__getformat__`` y ``__setformat__``" -#: ../Doc/library/unittest.mock.rst:2168 +#: ../Doc/library/unittest.mock.rst:2171 msgid "" "Magic methods *should* be looked up on the class rather than the instance. " "Different versions of Python are inconsistent about applying this rule. The " @@ -2624,7 +2632,7 @@ msgstr "" "aplicación de esta regla. Los métodos de protocolo soportados deben trabajar " "con todas las versiones de Python." -#: ../Doc/library/unittest.mock.rst:2172 +#: ../Doc/library/unittest.mock.rst:2175 msgid "" "The function is basically hooked up to the class, but each ``Mock`` instance " "is kept isolated from the others." @@ -2632,15 +2640,15 @@ msgstr "" "La función está básicamente conectada a la clase, pero cada instancia " "``Mock`` se mantiene aislada de las demás." -#: ../Doc/library/unittest.mock.rst:2177 +#: ../Doc/library/unittest.mock.rst:2180 msgid "Helpers" msgstr "Ayudantes" -#: ../Doc/library/unittest.mock.rst:2180 +#: ../Doc/library/unittest.mock.rst:2183 msgid "sentinel" msgstr "sentinel" -#: ../Doc/library/unittest.mock.rst:2184 +#: ../Doc/library/unittest.mock.rst:2187 msgid "" "The ``sentinel`` object provides a convenient way of providing unique " "objects for your tests." @@ -2648,7 +2656,7 @@ msgstr "" "El objeto ``sentinel`` proporciona una manera conveniente de proporcionar " "objetos únicos para tus pruebas." -#: ../Doc/library/unittest.mock.rst:2187 +#: ../Doc/library/unittest.mock.rst:2190 msgid "" "Attributes are created on demand when you access them by name. Accessing the " "same attribute will always return the same object. The objects returned have " @@ -2659,7 +2667,7 @@ msgstr "" "el mismo objeto. Los objetos retornados tienen una reproducción (repr) " "apropiada para que los mensajes de error de la prueba sean legibles." -#: ../Doc/library/unittest.mock.rst:2191 +#: ../Doc/library/unittest.mock.rst:2194 msgid "" "The ``sentinel`` attributes now preserve their identity when they are :mod:" "`copied ` or :mod:`pickled `." @@ -2667,7 +2675,7 @@ msgstr "" "Los atributos ``sentinel`` ahora preservan su identidad cuando son :mod:" "`copiados ` o :mod:`serializados con pickle `." -#: ../Doc/library/unittest.mock.rst:2195 +#: ../Doc/library/unittest.mock.rst:2198 msgid "" "Sometimes when testing you need to test that a specific object is passed as " "an argument to another method, or returned. It can be common to create named " @@ -2680,7 +2688,7 @@ msgstr "" "`sentinel` proporciona una manera conveniente de crear y probar la identidad " "de este tipo de objetos." -#: ../Doc/library/unittest.mock.rst:2200 +#: ../Doc/library/unittest.mock.rst:2203 msgid "" "In this example we monkey patch ``method`` to return ``sentinel." "some_object``:" @@ -2688,11 +2696,11 @@ msgstr "" "En el siguiente ejemplo, parcheamos ``method`` para retornar ``sentinel." "some_object``:" -#: ../Doc/library/unittest.mock.rst:2212 +#: ../Doc/library/unittest.mock.rst:2215 msgid "DEFAULT" msgstr "DEFAULT" -#: ../Doc/library/unittest.mock.rst:2217 +#: ../Doc/library/unittest.mock.rst:2220 msgid "" "The :data:`DEFAULT` object is a pre-created sentinel (actually ``sentinel." "DEFAULT``). It can be used by :attr:`~Mock.side_effect` functions to " @@ -2702,11 +2710,11 @@ msgstr "" "DEFAULT``). Puede ser usado por las funciones :attr:`~Mock.side_effect` para " "indicar que el valor de retorno normal debe ser utilizado." -#: ../Doc/library/unittest.mock.rst:2223 +#: ../Doc/library/unittest.mock.rst:2226 msgid "call" msgstr "call" -#: ../Doc/library/unittest.mock.rst:2227 +#: ../Doc/library/unittest.mock.rst:2230 msgid "" ":func:`call` is a helper object for making simpler assertions, for comparing " "with :attr:`~Mock.call_args`, :attr:`~Mock.call_args_list`, :attr:`~Mock." @@ -2718,7 +2726,7 @@ msgstr "" "call_args_list`, :attr:`~Mock.mock_calls` y :attr:`~Mock.method_calls`. :" "func:`call` y también se puede utilizar con :meth:`~Mock.assert_has_calls`." -#: ../Doc/library/unittest.mock.rst:2240 +#: ../Doc/library/unittest.mock.rst:2243 msgid "" "For a call object that represents multiple calls, :meth:`call_list` returns " "a list of all the intermediate calls as well as the final call." @@ -2727,7 +2735,7 @@ msgstr "" "`call_list` retorna una lista con todas las llamadas intermedias, así como " "la llamada final." -#: ../Doc/library/unittest.mock.rst:2244 +#: ../Doc/library/unittest.mock.rst:2247 msgid "" "``call_list`` is particularly useful for making assertions on \"chained calls" "\". A chained call is multiple calls on a single line of code. This results " @@ -2740,7 +2748,7 @@ msgstr "" "mock_calls` de un objeto simulado. Construir manualmente la secuencia de " "llamadas puede ser tedioso." -#: ../Doc/library/unittest.mock.rst:2249 +#: ../Doc/library/unittest.mock.rst:2252 msgid "" ":meth:`~call.call_list` can construct the sequence of calls from the same " "chained call:" @@ -2748,7 +2756,7 @@ msgstr "" ":meth:`~call.call_list` puede construir la secuencia de llamadas desde la " "misma llamada encadenada:" -#: ../Doc/library/unittest.mock.rst:2266 +#: ../Doc/library/unittest.mock.rst:2269 msgid "" "A ``call`` object is either a tuple of (positional args, keyword args) or " "(name, positional args, keyword args) depending on how it was constructed. " @@ -2766,7 +2774,7 @@ msgstr "" "mock_calls` si pueden ser de utilidad para para acceder a los argumentos " "individuales que contienen." -#: ../Doc/library/unittest.mock.rst:2273 +#: ../Doc/library/unittest.mock.rst:2276 msgid "" "The ``call`` objects in :attr:`Mock.call_args` and :attr:`Mock." "call_args_list` are two-tuples of (positional args, keyword args) whereas " @@ -2780,7 +2788,7 @@ msgstr "" "junto con los que construyas por ti mismo, constan de tres tuplas (nombre, " "argumentos posicionales, argumentos por palabra clave)." -#: ../Doc/library/unittest.mock.rst:2278 +#: ../Doc/library/unittest.mock.rst:2281 msgid "" "You can use their \"tupleness\" to pull out the individual arguments for " "more complex introspection and assertions. The positional arguments are a " @@ -2792,11 +2800,11 @@ msgstr "" "aserciones más complejas. Los argumentos posicionales son una tupla (vacía " "si no hay ninguno) y los argumentos por palabra clave son un diccionario:" -#: ../Doc/library/unittest.mock.rst:2311 +#: ../Doc/library/unittest.mock.rst:2314 msgid "create_autospec" msgstr "create_autospec" -#: ../Doc/library/unittest.mock.rst:2315 +#: ../Doc/library/unittest.mock.rst:2318 msgid "" "Create a mock object using another object as a spec. Attributes on the mock " "will use the corresponding attribute on the *spec* object as their spec." @@ -2805,7 +2813,7 @@ msgstr "" "especificación. Los atributos del objeto simulado utilizarán el atributo " "correspondiente del objeto *spec* como su especificación." -#: ../Doc/library/unittest.mock.rst:2319 +#: ../Doc/library/unittest.mock.rst:2322 msgid "" "Functions or methods being mocked will have their arguments checked to " "ensure that they are called with the correct signature." @@ -2813,7 +2821,7 @@ msgstr "" "Los argumentos de las funciones o métodos simulados se validarán para " "asegurarse de que son invocados con la firma correcta." -#: ../Doc/library/unittest.mock.rst:2322 +#: ../Doc/library/unittest.mock.rst:2325 msgid "" "If *spec_set* is ``True`` then attempting to set attributes that don't exist " "on the spec object will raise an :exc:`AttributeError`." @@ -2821,7 +2829,7 @@ msgstr "" "Si *spec_set* es ``True``, tratar de establecer atributos que no existen en " "el objeto especificado lanzará una excepción :exc:`AttributeError`." -#: ../Doc/library/unittest.mock.rst:2325 +#: ../Doc/library/unittest.mock.rst:2328 msgid "" "If a class is used as a spec then the return value of the mock (the instance " "of the class) will have the same spec. You can use a class as the spec for " @@ -2834,7 +2842,7 @@ msgstr "" "``instance=True``. El objeto simulado retornado sólo será invocable si las " "instancias del objeto simulado son también invocables." -#: ../Doc/library/unittest.mock.rst:2330 +#: ../Doc/library/unittest.mock.rst:2333 msgid "" ":func:`create_autospec` also takes arbitrary keyword arguments that are " "passed to the constructor of the created mock." @@ -2842,7 +2850,7 @@ msgstr "" ":func:`create_autospec` también acepta argumentos por palabra clave " "arbitrarios, que son pasados al constructor del objeto simulado creado." -#: ../Doc/library/unittest.mock.rst:2333 +#: ../Doc/library/unittest.mock.rst:2336 msgid "" "See :ref:`auto-speccing` for examples of how to use auto-speccing with :func:" "`create_autospec` and the *autospec* argument to :func:`patch`." @@ -2851,7 +2859,7 @@ msgstr "" "autoespecificación mediante :func:`create_autospec` y el argumento " "*autospec* de :func:`patch`." -#: ../Doc/library/unittest.mock.rst:2339 +#: ../Doc/library/unittest.mock.rst:2342 msgid "" ":func:`create_autospec` now returns an :class:`AsyncMock` if the target is " "an async function." @@ -2859,11 +2867,11 @@ msgstr "" ":func:`create_autospec` ahora retorna un objeto :class:`AsyncMock` si el " "objetivo a simular es una función asíncrona." -#: ../Doc/library/unittest.mock.rst:2344 +#: ../Doc/library/unittest.mock.rst:2347 msgid "ANY" msgstr "ANY" -#: ../Doc/library/unittest.mock.rst:2348 +#: ../Doc/library/unittest.mock.rst:2351 msgid "" "Sometimes you may need to make assertions about *some* of the arguments in a " "call to mock, but either not care about some of the arguments or want to " @@ -2875,7 +2883,7 @@ msgstr "" "resto, o puede que quieras hacer uso de ellos de forma individual fuera de :" "attr:`~Mock.call_args` y hacer aserciones más complejas con ellos." -#: ../Doc/library/unittest.mock.rst:2353 +#: ../Doc/library/unittest.mock.rst:2356 msgid "" "To ignore certain arguments you can pass in objects that compare equal to " "*everything*. Calls to :meth:`~Mock.assert_called_with` and :meth:`~Mock." @@ -2886,7 +2894,7 @@ msgstr "" "assert_called_with` y :meth:`~Mock.assert_called_once_with` tendrán éxito " "sin importar lo que se haya pasado realmente." -#: ../Doc/library/unittest.mock.rst:2362 +#: ../Doc/library/unittest.mock.rst:2365 msgid "" ":data:`ANY` can also be used in comparisons with call lists like :attr:" "`~Mock.mock_calls`:" @@ -2894,11 +2902,11 @@ msgstr "" ":data:`ANY` también se puede utilizar en las comparaciones con las listas de " "llamadas, como :attr:`~Mock.mock_calls`:" -#: ../Doc/library/unittest.mock.rst:2375 +#: ../Doc/library/unittest.mock.rst:2378 msgid "FILTER_DIR" msgstr "FILTER_DIR" -#: ../Doc/library/unittest.mock.rst:2379 +#: ../Doc/library/unittest.mock.rst:2382 msgid "" ":data:`FILTER_DIR` is a module level variable that controls the way mock " "objects respond to :func:`dir` (only for Python 2.6 or more recent). The " @@ -2914,7 +2922,7 @@ msgstr "" "desactivarlo con fines de diagnóstico, simplemente establece ``mock." "FILTER_DIR = False``." -#: ../Doc/library/unittest.mock.rst:2385 +#: ../Doc/library/unittest.mock.rst:2388 msgid "" "With filtering on, ``dir(some_mock)`` shows only useful attributes and will " "include any dynamically created attributes that wouldn't normally be shown. " @@ -2928,7 +2936,7 @@ msgstr "" "*autospec*) se muestran todos los atributos del objeto original, incluso si " "no se ha accedido a ellos todavía:" -#: ../Doc/library/unittest.mock.rst:2412 +#: ../Doc/library/unittest.mock.rst:2415 msgid "" "Many of the not-very-useful (private to :class:`Mock` rather than the thing " "being mocked) underscore and double underscore prefixed attributes have been " @@ -2943,7 +2951,7 @@ msgstr "" "desactivarlo estableciendo el modificador a nivel de módulo :data:" "`FILTER_DIR`:" -#: ../Doc/library/unittest.mock.rst:2433 +#: ../Doc/library/unittest.mock.rst:2436 msgid "" "Alternatively you can just use ``vars(my_mock)`` (instance members) and " "``dir(type(my_mock))`` (type members) to bypass the filtering irrespective " @@ -2953,11 +2961,11 @@ msgstr "" "``dir(type(my_mock))`` (miembros de tipo) para omitir el filtrado con " "independencia del valor de :data:`mock.FILTER_DIR`." -#: ../Doc/library/unittest.mock.rst:2439 +#: ../Doc/library/unittest.mock.rst:2442 msgid "mock_open" msgstr "mock_open" -#: ../Doc/library/unittest.mock.rst:2443 +#: ../Doc/library/unittest.mock.rst:2446 msgid "" "A helper function to create a mock to replace the use of :func:`open`. It " "works for :func:`open` called directly or used as a context manager." @@ -2967,7 +2975,7 @@ msgstr "" "directas a :func:`open` y para aquellos casos en los que es utilizada como " "gestor de contexto." -#: ../Doc/library/unittest.mock.rst:2446 +#: ../Doc/library/unittest.mock.rst:2449 msgid "" "The *mock* argument is the mock object to configure. If ``None`` (the " "default) then a :class:`MagicMock` will be created for you, with the API " @@ -2977,7 +2985,7 @@ msgstr "" "defecto) un objeto :class:`MagicMock` se creará para ti, con la API limitada " "a métodos o atributos disponibles en los gestores de fichero estándares." -#: ../Doc/library/unittest.mock.rst:2450 +#: ../Doc/library/unittest.mock.rst:2453 msgid "" "*read_data* is a string for the :meth:`~io.IOBase.read`, :meth:`~io.IOBase." "readline`, and :meth:`~io.IOBase.readlines` methods of the file handle to " @@ -3001,7 +3009,7 @@ msgstr "" "pypi.org>`_ puede ofrecer un sistema de archivos realista para usar en las " "pruebas." -#: ../Doc/library/unittest.mock.rst:2460 +#: ../Doc/library/unittest.mock.rst:2463 msgid "" "Added :meth:`~io.IOBase.readline` and :meth:`~io.IOBase.readlines` support. " "The mock of :meth:`~io.IOBase.read` changed to consume *read_data* rather " @@ -3011,11 +3019,11 @@ msgstr "" "readlines`. El objeto simulado de :meth:`~io.IOBase.read` ahora consume " "datos de *read_data*, en lugar de retornarlo en cada llamada." -#: ../Doc/library/unittest.mock.rst:2465 +#: ../Doc/library/unittest.mock.rst:2468 msgid "*read_data* is now reset on each call to the *mock*." msgstr "*read_data* ahora es restablecido en cada llamada al *mock*." -#: ../Doc/library/unittest.mock.rst:2468 +#: ../Doc/library/unittest.mock.rst:2471 msgid "" "Added :meth:`__iter__` to implementation so that iteration (such as in for " "loops) correctly consumes *read_data*." @@ -3023,7 +3031,7 @@ msgstr "" "Se añadió el método :meth:`__iter__` a la implementación, de manera que la " "iteración (como ocurre en los bucles) consume apropiadamente *read_data*." -#: ../Doc/library/unittest.mock.rst:2472 +#: ../Doc/library/unittest.mock.rst:2475 msgid "" "Using :func:`open` as a context manager is a great way to ensure your file " "handles are closed properly and is becoming common::" @@ -3032,7 +3040,7 @@ msgstr "" "de que los gestores de archivos se cierren correctamente al terminar y se " "está convirtiendo en una práctica común:" -#: ../Doc/library/unittest.mock.rst:2478 +#: ../Doc/library/unittest.mock.rst:2481 msgid "" "The issue is that even if you mock out the call to :func:`open` it is the " "*returned object* that is used as a context manager (and has :meth:" @@ -3042,7 +3050,7 @@ msgstr "" "*objeto retornado* el que se utiliza como gestor de contexto (lo que " "conlleva que sus métodos :meth:`__enter__` y :meth:`__exit__` son invocados)." -#: ../Doc/library/unittest.mock.rst:2482 +#: ../Doc/library/unittest.mock.rst:2485 msgid "" "Mocking context managers with a :class:`MagicMock` is common enough and " "fiddly enough that a helper function is useful. ::" @@ -3050,15 +3058,15 @@ msgstr "" "Simular gestores de contexto con un :class:`MagicMock` es lo suficientemente " "común y complicado como para que una función auxiliar sea útil:" -#: ../Doc/library/unittest.mock.rst:2499 +#: ../Doc/library/unittest.mock.rst:2502 msgid "And for reading files::" msgstr "Y para la lectura de archivos:" -#: ../Doc/library/unittest.mock.rst:2512 +#: ../Doc/library/unittest.mock.rst:2515 msgid "Autospeccing" msgstr "Autoespecificación" -#: ../Doc/library/unittest.mock.rst:2514 +#: ../Doc/library/unittest.mock.rst:2517 msgid "" "Autospeccing is based on the existing :attr:`spec` feature of mock. It " "limits the api of mocks to the api of an original object (the spec), but it " @@ -3075,13 +3083,13 @@ msgstr "" "métodos simuladas tienen la misma firma de llamada que la original y lanzan " "una excepción :exc:`TypeError` si se les llama incorrectamente." -#: ../Doc/library/unittest.mock.rst:2521 +#: ../Doc/library/unittest.mock.rst:2524 msgid "Before I explain how auto-speccing works, here's why it is needed." msgstr "" "Antes de explicar cómo funciona la autoespecificación, he aquí por qué se " "necesita." -#: ../Doc/library/unittest.mock.rst:2523 +#: ../Doc/library/unittest.mock.rst:2526 msgid "" ":class:`Mock` is a very powerful and flexible object, but it suffers from " "two flaws when used to mock out objects from a system under test. One of " @@ -3093,7 +3101,7 @@ msgstr "" "Uno de estos defectos es específico de la API de :class:`Mock` y el otro es " "un problema más genérico referente al uso de objetos simulados." -#: ../Doc/library/unittest.mock.rst:2528 +#: ../Doc/library/unittest.mock.rst:2531 msgid "" "First the problem specific to :class:`Mock`. :class:`Mock` has two assert " "methods that are extremely handy: :meth:`~Mock.assert_called_with` and :meth:" @@ -3103,7 +3111,7 @@ msgstr "" "dos métodos de aserción que son extremadamente útiles: :meth:`~Mock." "assert_called_with` y :meth:`~Mock.assert_called_once_with`." -#: ../Doc/library/unittest.mock.rst:2541 +#: ../Doc/library/unittest.mock.rst:2544 msgid "" "Because mocks auto-create attributes on demand, and allow you to call them " "with arbitrary arguments, if you misspell one of these assert methods then " @@ -3114,13 +3122,13 @@ msgstr "" "escribes mal uno de estos métodos de aserción, la utilidad de esa aserción " "desaparece:" -#: ../Doc/library/unittest.mock.rst:2551 +#: ../Doc/library/unittest.mock.rst:2554 msgid "Your tests can pass silently and incorrectly because of the typo." msgstr "" "Tus pruebas pueden pasar silenciosamente y de forma incorrecta debido al " "error tipográfico." -#: ../Doc/library/unittest.mock.rst:2553 +#: ../Doc/library/unittest.mock.rst:2556 msgid "" "The second issue is more general to mocking. If you refactor some of your " "code, rename members and so on, any tests for code that is still using the " @@ -3134,7 +3142,7 @@ msgstr "" "significa que tus pruebas pueden validarlo todo sin problemas, a pesar de " "que el código esté roto." -#: ../Doc/library/unittest.mock.rst:2558 +#: ../Doc/library/unittest.mock.rst:2561 msgid "" "Note that this is another reason why you need integration tests as well as " "unit tests. Testing everything in isolation is all fine and dandy, but if " @@ -3147,7 +3155,7 @@ msgstr "" "unidades, todavía hay mucho espacio para errores que las pruebas deberían " "haber detectado." -#: ../Doc/library/unittest.mock.rst:2563 +#: ../Doc/library/unittest.mock.rst:2566 msgid "" ":mod:`mock` already provides a feature to help with this, called speccing. " "If you use a class or instance as the :attr:`spec` for a mock then you can " @@ -3158,7 +3166,7 @@ msgstr "" "`spec` de un objeto simulado, entonces solo puedes acceder a los atributos " "del mismo que existe en la clase real:" -#: ../Doc/library/unittest.mock.rst:2574 +#: ../Doc/library/unittest.mock.rst:2577 msgid "" "The spec only applies to the mock itself, so we still have the same issue " "with any methods on the mock:" @@ -3166,7 +3174,7 @@ msgstr "" "La especificación sólo se aplica al propio objeto simulado, por lo que aún " "tenemos el mismo problema con cualquiera de los métodos del mismo:" -#: ../Doc/library/unittest.mock.rst:2583 +#: ../Doc/library/unittest.mock.rst:2586 msgid "" "Auto-speccing solves this problem. You can either pass ``autospec=True`` to :" "func:`patch` / :func:`patch.object` or use the :func:`create_autospec` " @@ -3188,11 +3196,11 @@ msgstr "" "importan módulos que, a su vez, importan otros módulos) sin un gran impacto " "en el rendimiento." -#: ../Doc/library/unittest.mock.rst:2592 +#: ../Doc/library/unittest.mock.rst:2595 msgid "Here's an example of it in use::" msgstr "He aquí un ejemplo de ello en acción:" -#: ../Doc/library/unittest.mock.rst:2602 +#: ../Doc/library/unittest.mock.rst:2605 msgid "" "You can see that :class:`request.Request` has a spec. :class:`request." "Request` takes two arguments in the constructor (one of which is *self*). " @@ -3203,7 +3211,7 @@ msgstr "" "es *self*). Esto es lo que sucede si tratamos de llamarlo de forma " "incorrecta:" -#: ../Doc/library/unittest.mock.rst:2611 +#: ../Doc/library/unittest.mock.rst:2614 msgid "" "The spec also applies to instantiated classes (i.e. the return value of " "specced mocks)::" @@ -3211,7 +3219,7 @@ msgstr "" "La especificación también se aplica a las clases instanciadas (es decir, el " "valor de retorno de los objetos simulados especificados):" -#: ../Doc/library/unittest.mock.rst:2618 +#: ../Doc/library/unittest.mock.rst:2621 msgid "" ":class:`Request` objects are not callable, so the return value of " "instantiating our mocked out :class:`request.Request` is a non-callable " @@ -3224,7 +3232,7 @@ msgstr "" "cualquier error tipográfico en nuestras aserciones generará el error " "correcto:" -#: ../Doc/library/unittest.mock.rst:2630 +#: ../Doc/library/unittest.mock.rst:2633 msgid "" "In many cases you will just be able to add ``autospec=True`` to your " "existing :func:`patch` calls and then be protected against bugs due to typos " @@ -3234,7 +3242,7 @@ msgstr "" "func:`patch` existentes y así estar protegido contra errores tipográficos y " "cambios de la API." -#: ../Doc/library/unittest.mock.rst:2634 +#: ../Doc/library/unittest.mock.rst:2637 msgid "" "As well as using *autospec* through :func:`patch` there is a :func:" "`create_autospec` for creating autospecced mocks directly:" @@ -3243,7 +3251,7 @@ msgstr "" "función :func:`create_autospec` para crear directamente objetos simulados " "autoespecificados:" -#: ../Doc/library/unittest.mock.rst:2642 +#: ../Doc/library/unittest.mock.rst:2645 msgid "" "This isn't without caveats and limitations however, which is why it is not " "the default behaviour. In order to know what attributes are available on the " @@ -3265,7 +3273,7 @@ msgstr "" "autoespecificación. De todas formas, es siempre mucho mejor diseñar tus " "objetos de modo que la introspección sea segura [#]_." -#: ../Doc/library/unittest.mock.rst:2651 +#: ../Doc/library/unittest.mock.rst:2654 msgid "" "A more serious problem is that it is common for instance attributes to be " "created in the :meth:`__init__` method and not to exist on the class at all. " @@ -3277,7 +3285,7 @@ msgstr "" "*autospec* no puede tener conocimiento de ningún atributo creado " "dinámicamente, por lo que restringe la API a atributos visibles:" -#: ../Doc/library/unittest.mock.rst:2668 +#: ../Doc/library/unittest.mock.rst:2671 msgid "" "There are a few different ways of resolving this problem. The easiest, but " "not necessarily the least annoying, way is to simply set the required " @@ -3291,7 +3299,7 @@ msgstr "" "de que *autospec* no te permita buscar atributos que no existen en la " "especificación no impide que los establezcas manualmente después:" -#: ../Doc/library/unittest.mock.rst:2679 +#: ../Doc/library/unittest.mock.rst:2682 msgid "" "There is a more aggressive version of both *spec* and *autospec* that *does* " "prevent you setting non-existent attributes. This is useful if you want to " @@ -3303,7 +3311,7 @@ msgstr "" "solo *establece* atributos válidos, pero obviamente evitando este escenario " "en particular:" -#: ../Doc/library/unittest.mock.rst:2692 +#: ../Doc/library/unittest.mock.rst:2695 msgid "" "Probably the best way of solving the problem is to add class attributes as " "default values for instance members initialised in :meth:`__init__`. Note " @@ -3318,7 +3326,7 @@ msgstr "" "a través de atributos de clase (que , por supuesto, son compartidos entre " "instancias) también es más rápido." -#: ../Doc/library/unittest.mock.rst:2702 +#: ../Doc/library/unittest.mock.rst:2705 msgid "" "This brings up another issue. It is relatively common to provide a default " "value of ``None`` for members that will later be an object of a different " @@ -3338,7 +3346,7 @@ msgstr "" "configurados con ``None`` como valor. Estos serán simplemente objetos " "simulados ordinarios (MagicMocks en realidad):" -#: ../Doc/library/unittest.mock.rst:2717 +#: ../Doc/library/unittest.mock.rst:2720 msgid "" "If modifying your production classes to add defaults isn't to your liking " "then there are more options. One of these is simply to use an instance as " @@ -3357,7 +3365,7 @@ msgstr "" "Afortunadamente :func:`patch` admite esto, simplemente tienes que pasar el " "objeto alternativo mediante el argumento *autospec*:" -#: ../Doc/library/unittest.mock.rst:2738 +#: ../Doc/library/unittest.mock.rst:2741 msgid "" "This only applies to classes or already instantiated objects. Calling a " "mocked class to create a mock instance *does not* create a real instance. It " @@ -3368,11 +3376,11 @@ msgstr "" "real. Solo se llevan a cabo las búsqueda de atributos (mediante llamadas a :" "func:`dir`)." -#: ../Doc/library/unittest.mock.rst:2743 +#: ../Doc/library/unittest.mock.rst:2746 msgid "Sealing mocks" msgstr "Sellar objetos simulados" -#: ../Doc/library/unittest.mock.rst:2752 +#: ../Doc/library/unittest.mock.rst:2755 msgid "" "Seal will disable the automatic creation of mocks when accessing an " "attribute of the mock being sealed or any of its attributes that are already " @@ -3382,7 +3390,7 @@ msgstr "" "atributo del objeto simulado que está siendo sellado, o a cualquiera de sus " "atributos que ya sean objetos simulados de forma recursiva." -#: ../Doc/library/unittest.mock.rst:2755 +#: ../Doc/library/unittest.mock.rst:2758 msgid "" "If a mock instance with a name or a spec is assigned to an attribute it " "won't be considered in the sealing chain. This allows one to prevent seal " diff --git a/library/unittest.po b/library/unittest.po index 6c77647970..c9f3c58a29 100644 --- a/library/unittest.po +++ b/library/unittest.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: python-doc-es\n" @@ -155,7 +155,8 @@ msgid "" "intended largely for ease of use for those new to unit testing. For " "production environments it is recommended that tests be driven by a " "continuous integration system such as `Buildbot `_, " -"`Jenkins `_ or `Hudson `_." +"`Jenkins `_ or `Travis-CI `_, or " +"`AppVeyor `_." msgstr "" #: ../Doc/library/unittest.rst:82 @@ -441,14 +442,17 @@ msgid "" msgstr "" #: ../Doc/library/unittest.rst:332 -msgid "Test discovery supports :term:`namespace packages `." +msgid "" +"Test discovery supports :term:`namespace packages ` for " +"start directory. Note that you need to the top level directory too. (e.g. " +"``python -m unittest discover -s root/namespace -t root``)." msgstr "" -#: ../Doc/library/unittest.rst:339 +#: ../Doc/library/unittest.rst:341 msgid "Organizing test code" msgstr "" -#: ../Doc/library/unittest.rst:341 +#: ../Doc/library/unittest.rst:343 msgid "" "The basic building blocks of unit testing are :dfn:`test cases` --- single " "scenarios that must be set up and checked for correctness. In :mod:" @@ -457,21 +461,21 @@ msgid "" "`TestCase` or use :class:`FunctionTestCase`." msgstr "" -#: ../Doc/library/unittest.rst:347 +#: ../Doc/library/unittest.rst:349 msgid "" "The testing code of a :class:`TestCase` instance should be entirely self " "contained, such that it can be run either in isolation or in arbitrary " "combination with any number of other test cases." msgstr "" -#: ../Doc/library/unittest.rst:351 +#: ../Doc/library/unittest.rst:353 msgid "" "The simplest :class:`TestCase` subclass will simply implement a test method " "(i.e. a method whose name starts with ``test``) in order to perform specific " "testing code::" msgstr "" -#: ../Doc/library/unittest.rst:362 +#: ../Doc/library/unittest.rst:364 msgid "" "Note that in order to test something, we use one of the :meth:`assert\\*` " "methods provided by the :class:`TestCase` base class. If the test fails, an " @@ -480,7 +484,7 @@ msgid "" "be treated as :dfn:`errors`." msgstr "" -#: ../Doc/library/unittest.rst:368 +#: ../Doc/library/unittest.rst:370 msgid "" "Tests can be numerous, and their set-up can be repetitive. Luckily, we can " "factor out set-up code by implementing a method called :meth:`~TestCase." @@ -488,32 +492,32 @@ msgid "" "test we run::" msgstr "" -#: ../Doc/library/unittest.rst:389 +#: ../Doc/library/unittest.rst:391 msgid "" "The order in which the various tests will be run is determined by sorting " "the test method names with respect to the built-in ordering for strings." msgstr "" -#: ../Doc/library/unittest.rst:393 +#: ../Doc/library/unittest.rst:395 msgid "" "If the :meth:`~TestCase.setUp` method raises an exception while the test is " "running, the framework will consider the test to have suffered an error, and " "the test method will not be executed." msgstr "" -#: ../Doc/library/unittest.rst:397 +#: ../Doc/library/unittest.rst:399 msgid "" "Similarly, we can provide a :meth:`~TestCase.tearDown` method that tidies up " "after the test method has been run::" msgstr "" -#: ../Doc/library/unittest.rst:409 +#: ../Doc/library/unittest.rst:411 msgid "" "If :meth:`~TestCase.setUp` succeeded, :meth:`~TestCase.tearDown` will be run " "whether the test method succeeded or not." msgstr "" -#: ../Doc/library/unittest.rst:412 +#: ../Doc/library/unittest.rst:414 msgid "" "Such a working environment for the testing code is called a :dfn:`test " "fixture`. A new TestCase instance is created as a unique test fixture used " @@ -522,7 +526,7 @@ msgid "" "test." msgstr "" -#: ../Doc/library/unittest.rst:418 +#: ../Doc/library/unittest.rst:420 msgid "" "It is recommended that you use TestCase implementations to group tests " "together according to the features they test. :mod:`unittest` provides a " @@ -532,13 +536,13 @@ msgid "" "execute them." msgstr "" -#: ../Doc/library/unittest.rst:425 +#: ../Doc/library/unittest.rst:427 msgid "" "However, should you want to customize the building of your test suite, you " "can do it yourself::" msgstr "" -#: ../Doc/library/unittest.rst:438 +#: ../Doc/library/unittest.rst:440 msgid "" "You can place the definitions of test cases and test suites in the same " "modules as the code they are to test (such as :file:`widget.py`), but there " @@ -546,69 +550,69 @@ msgid "" "as :file:`test_widget.py`:" msgstr "" -#: ../Doc/library/unittest.rst:443 +#: ../Doc/library/unittest.rst:445 msgid "The test module can be run standalone from the command line." msgstr "" -#: ../Doc/library/unittest.rst:445 +#: ../Doc/library/unittest.rst:447 msgid "The test code can more easily be separated from shipped code." msgstr "" -#: ../Doc/library/unittest.rst:447 +#: ../Doc/library/unittest.rst:449 msgid "" "There is less temptation to change test code to fit the code it tests " "without a good reason." msgstr "" -#: ../Doc/library/unittest.rst:450 +#: ../Doc/library/unittest.rst:452 msgid "" "Test code should be modified much less frequently than the code it tests." msgstr "" -#: ../Doc/library/unittest.rst:452 +#: ../Doc/library/unittest.rst:454 msgid "Tested code can be refactored more easily." msgstr "" -#: ../Doc/library/unittest.rst:454 +#: ../Doc/library/unittest.rst:456 msgid "" "Tests for modules written in C must be in separate modules anyway, so why " "not be consistent?" msgstr "" -#: ../Doc/library/unittest.rst:457 +#: ../Doc/library/unittest.rst:459 msgid "" "If the testing strategy changes, there is no need to change the source code." msgstr "" -#: ../Doc/library/unittest.rst:463 +#: ../Doc/library/unittest.rst:465 msgid "Re-using old test code" msgstr "" -#: ../Doc/library/unittest.rst:465 +#: ../Doc/library/unittest.rst:467 msgid "" "Some users will find that they have existing test code that they would like " "to run from :mod:`unittest`, without converting every old test function to " "a :class:`TestCase` subclass." msgstr "" -#: ../Doc/library/unittest.rst:469 +#: ../Doc/library/unittest.rst:471 msgid "" "For this reason, :mod:`unittest` provides a :class:`FunctionTestCase` class. " "This subclass of :class:`TestCase` can be used to wrap an existing test " "function. Set-up and tear-down functions can also be provided." msgstr "" -#: ../Doc/library/unittest.rst:473 +#: ../Doc/library/unittest.rst:475 msgid "Given the following test function::" msgstr "" -#: ../Doc/library/unittest.rst:480 +#: ../Doc/library/unittest.rst:482 msgid "" "one can create an equivalent test case instance as follows, with optional " "set-up and tear-down methods::" msgstr "" -#: ../Doc/library/unittest.rst:489 +#: ../Doc/library/unittest.rst:491 msgid "" "Even though :class:`FunctionTestCase` can be used to quickly convert an " "existing test base over to a :mod:`unittest`\\ -based system, this approach " @@ -616,7 +620,7 @@ msgid "" "subclasses will make future test refactorings infinitely easier." msgstr "" -#: ../Doc/library/unittest.rst:494 +#: ../Doc/library/unittest.rst:496 msgid "" "In some cases, the existing tests may have been written using the :mod:" "`doctest` module. If so, :mod:`doctest` provides a :class:`DocTestSuite` " @@ -624,11 +628,11 @@ msgid "" "from the existing :mod:`doctest`\\ -based tests." msgstr "" -#: ../Doc/library/unittest.rst:503 +#: ../Doc/library/unittest.rst:505 msgid "Skipping tests and expected failures" msgstr "" -#: ../Doc/library/unittest.rst:507 +#: ../Doc/library/unittest.rst:509 msgid "" "Unittest supports skipping individual test methods and even whole classes of " "tests. In addition, it supports marking a test as an \"expected failure,\" " @@ -636,7 +640,7 @@ msgid "" "on a :class:`TestResult`." msgstr "" -#: ../Doc/library/unittest.rst:512 +#: ../Doc/library/unittest.rst:514 msgid "" "Skipping a test is simply a matter of using the :func:`skip` :term:" "`decorator` or one of its conditional variants, calling :meth:`TestCase." @@ -644,72 +648,73 @@ msgid "" "`SkipTest` directly." msgstr "" -#: ../Doc/library/unittest.rst:516 +#: ../Doc/library/unittest.rst:518 msgid "Basic skipping looks like this::" msgstr "" -#: ../Doc/library/unittest.rst:541 +#: ../Doc/library/unittest.rst:543 msgid "This is the output of running the example above in verbose mode::" msgstr "" -#: ../Doc/library/unittest.rst:553 +#: ../Doc/library/unittest.rst:555 msgid "Classes can be skipped just like methods::" msgstr "" -#: ../Doc/library/unittest.rst:560 +#: ../Doc/library/unittest.rst:562 msgid "" ":meth:`TestCase.setUp` can also skip the test. This is useful when a " "resource that needs to be set up is not available." msgstr "" -#: ../Doc/library/unittest.rst:563 +#: ../Doc/library/unittest.rst:565 msgid "Expected failures use the :func:`expectedFailure` decorator. ::" msgstr "" -#: ../Doc/library/unittest.rst:570 +#: ../Doc/library/unittest.rst:572 msgid "" "It's easy to roll your own skipping decorators by making a decorator that " "calls :func:`skip` on the test when it wants it to be skipped. This " "decorator skips the test unless the passed object has a certain attribute::" msgstr "" -#: ../Doc/library/unittest.rst:579 +#: ../Doc/library/unittest.rst:581 msgid "" "The following decorators and exception implement test skipping and expected " "failures:" msgstr "" -#: ../Doc/library/unittest.rst:583 +#: ../Doc/library/unittest.rst:585 msgid "" "Unconditionally skip the decorated test. *reason* should describe why the " "test is being skipped." msgstr "" -#: ../Doc/library/unittest.rst:588 +#: ../Doc/library/unittest.rst:590 msgid "Skip the decorated test if *condition* is true." msgstr "" -#: ../Doc/library/unittest.rst:592 +#: ../Doc/library/unittest.rst:594 msgid "Skip the decorated test unless *condition* is true." msgstr "" -#: ../Doc/library/unittest.rst:596 +#: ../Doc/library/unittest.rst:598 msgid "" -"Mark the test as an expected failure. If the test fails it will be " -"considered a success. If the test passes, it will be considered a failure." +"Mark the test as an expected failure or error. If the test fails or errors " +"it will be considered a success. If the test passes, it will be considered " +"a failure." msgstr "" -#: ../Doc/library/unittest.rst:601 +#: ../Doc/library/unittest.rst:604 msgid "This exception is raised to skip a test." msgstr "" -#: ../Doc/library/unittest.rst:603 +#: ../Doc/library/unittest.rst:606 msgid "" "Usually you can use :meth:`TestCase.skipTest` or one of the skipping " "decorators instead of raising this directly." msgstr "" -#: ../Doc/library/unittest.rst:606 +#: ../Doc/library/unittest.rst:609 msgid "" "Skipped tests will not have :meth:`~TestCase.setUp` or :meth:`~TestCase." "tearDown` run around them. Skipped classes will not have :meth:`~TestCase." @@ -717,45 +722,45 @@ msgid "" "have :func:`setUpModule` or :func:`tearDownModule` run." msgstr "" -#: ../Doc/library/unittest.rst:614 +#: ../Doc/library/unittest.rst:617 msgid "Distinguishing test iterations using subtests" msgstr "" -#: ../Doc/library/unittest.rst:618 +#: ../Doc/library/unittest.rst:621 msgid "" "When there are very small differences among your tests, for instance some " "parameters, unittest allows you to distinguish them inside the body of a " "test method using the :meth:`~TestCase.subTest` context manager." msgstr "" -#: ../Doc/library/unittest.rst:622 +#: ../Doc/library/unittest.rst:625 msgid "For example, the following test::" msgstr "" -#: ../Doc/library/unittest.rst:634 +#: ../Doc/library/unittest.rst:637 msgid "will produce the following output::" msgstr "" -#: ../Doc/library/unittest.rst:660 +#: ../Doc/library/unittest.rst:663 msgid "" "Without using a subtest, execution would stop after the first failure, and " "the error would be less easy to diagnose because the value of ``i`` wouldn't " "be displayed::" msgstr "" -#: ../Doc/library/unittest.rst:676 +#: ../Doc/library/unittest.rst:679 msgid "Classes and functions" msgstr "" -#: ../Doc/library/unittest.rst:678 +#: ../Doc/library/unittest.rst:681 msgid "This section describes in depth the API of :mod:`unittest`." msgstr "" -#: ../Doc/library/unittest.rst:684 +#: ../Doc/library/unittest.rst:687 msgid "Test cases" msgstr "" -#: ../Doc/library/unittest.rst:688 +#: ../Doc/library/unittest.rst:691 msgid "" "Instances of the :class:`TestCase` class represent the logical test units in " "the :mod:`unittest` universe. This class is intended to be used as a base " @@ -765,21 +770,21 @@ msgid "" "report various kinds of failure." msgstr "" -#: ../Doc/library/unittest.rst:695 +#: ../Doc/library/unittest.rst:698 msgid "" "Each instance of :class:`TestCase` will run a single base method: the method " "named *methodName*. In most uses of :class:`TestCase`, you will neither " "change the *methodName* nor reimplement the default ``runTest()`` method." msgstr "" -#: ../Doc/library/unittest.rst:700 +#: ../Doc/library/unittest.rst:703 msgid "" ":class:`TestCase` can be instantiated successfully without providing a " "*methodName*. This makes it easier to experiment with :class:`TestCase` from " "the interactive interpreter." msgstr "" -#: ../Doc/library/unittest.rst:705 +#: ../Doc/library/unittest.rst:708 msgid "" ":class:`TestCase` instances provide three groups of methods: one group used " "to run the test, another used by the test implementation to check conditions " @@ -787,11 +792,11 @@ msgid "" "test itself to be gathered." msgstr "" -#: ../Doc/library/unittest.rst:710 +#: ../Doc/library/unittest.rst:713 msgid "Methods in the first group (running the test) are:" msgstr "" -#: ../Doc/library/unittest.rst:714 +#: ../Doc/library/unittest.rst:717 msgid "" "Method called to prepare the test fixture. This is called immediately " "before calling the test method; other than :exc:`AssertionError` or :exc:" @@ -799,7 +804,7 @@ msgid "" "rather than a test failure. The default implementation does nothing." msgstr "" -#: ../Doc/library/unittest.rst:722 +#: ../Doc/library/unittest.rst:725 msgid "" "Method called immediately after the test method has been called and the " "result recorded. This is called even if the test method raised an " @@ -812,25 +817,25 @@ msgid "" "The default implementation does nothing." msgstr "" -#: ../Doc/library/unittest.rst:735 +#: ../Doc/library/unittest.rst:738 msgid "" "A class method called before tests in an individual class are run. " "``setUpClass`` is called with the class as the only argument and must be " "decorated as a :func:`classmethod`::" msgstr "" -#: ../Doc/library/unittest.rst:743 ../Doc/library/unittest.rst:758 +#: ../Doc/library/unittest.rst:746 ../Doc/library/unittest.rst:761 msgid "See `Class and Module Fixtures`_ for more details." msgstr "" -#: ../Doc/library/unittest.rst:750 +#: ../Doc/library/unittest.rst:753 msgid "" "A class method called after tests in an individual class have run. " "``tearDownClass`` is called with the class as the only argument and must be " "decorated as a :meth:`classmethod`::" msgstr "" -#: ../Doc/library/unittest.rst:765 +#: ../Doc/library/unittest.rst:768 msgid "" "Run the test, collecting the result into the :class:`TestResult` object " "passed as *result*. If *result* is omitted or ``None``, a temporary result " @@ -838,184 +843,184 @@ msgid "" "used. The result object is returned to :meth:`run`'s caller." msgstr "" -#: ../Doc/library/unittest.rst:771 +#: ../Doc/library/unittest.rst:774 msgid "" "The same effect may be had by simply calling the :class:`TestCase` instance." msgstr "" -#: ../Doc/library/unittest.rst:774 +#: ../Doc/library/unittest.rst:777 msgid "" "Previous versions of ``run`` did not return the result. Neither did calling " "an instance." msgstr "" -#: ../Doc/library/unittest.rst:780 +#: ../Doc/library/unittest.rst:783 msgid "" "Calling this during a test method or :meth:`setUp` skips the current test. " "See :ref:`unittest-skipping` for more information." msgstr "" -#: ../Doc/library/unittest.rst:788 +#: ../Doc/library/unittest.rst:791 msgid "" "Return a context manager which executes the enclosed code block as a " "subtest. *msg* and *params* are optional, arbitrary values which are " "displayed whenever a subtest fails, allowing you to identify them clearly." msgstr "" -#: ../Doc/library/unittest.rst:793 +#: ../Doc/library/unittest.rst:796 msgid "" "A test case can contain any number of subtest declarations, and they can be " "arbitrarily nested." msgstr "" -#: ../Doc/library/unittest.rst:796 +#: ../Doc/library/unittest.rst:799 msgid "See :ref:`subtests` for more information." msgstr "" -#: ../Doc/library/unittest.rst:803 +#: ../Doc/library/unittest.rst:806 msgid "" "Run the test without collecting the result. This allows exceptions raised " "by the test to be propagated to the caller, and can be used to support " "running tests under a debugger." msgstr "" -#: ../Doc/library/unittest.rst:809 +#: ../Doc/library/unittest.rst:812 msgid "" "The :class:`TestCase` class provides several assert methods to check for and " "report failures. The following table lists the most commonly used methods " "(see the tables below for more assert methods):" msgstr "" -#: ../Doc/library/unittest.rst:814 ../Doc/library/unittest.rst:936 -#: ../Doc/library/unittest.rst:1128 ../Doc/library/unittest.rst:1255 +#: ../Doc/library/unittest.rst:817 ../Doc/library/unittest.rst:938 +#: ../Doc/library/unittest.rst:1131 ../Doc/library/unittest.rst:1258 msgid "Method" msgstr "" -#: ../Doc/library/unittest.rst:814 ../Doc/library/unittest.rst:936 -#: ../Doc/library/unittest.rst:1128 +#: ../Doc/library/unittest.rst:817 ../Doc/library/unittest.rst:938 +#: ../Doc/library/unittest.rst:1131 msgid "Checks that" msgstr "" -#: ../Doc/library/unittest.rst:814 ../Doc/library/unittest.rst:936 -#: ../Doc/library/unittest.rst:1128 ../Doc/library/unittest.rst:1255 +#: ../Doc/library/unittest.rst:817 ../Doc/library/unittest.rst:938 +#: ../Doc/library/unittest.rst:1131 ../Doc/library/unittest.rst:1258 msgid "New in" msgstr "" -#: ../Doc/library/unittest.rst:816 +#: ../Doc/library/unittest.rst:819 msgid ":meth:`assertEqual(a, b) `" msgstr "" -#: ../Doc/library/unittest.rst:816 +#: ../Doc/library/unittest.rst:819 msgid "``a == b``" msgstr "" -#: ../Doc/library/unittest.rst:819 +#: ../Doc/library/unittest.rst:822 msgid ":meth:`assertNotEqual(a, b) `" msgstr "" -#: ../Doc/library/unittest.rst:819 +#: ../Doc/library/unittest.rst:822 msgid "``a != b``" msgstr "" -#: ../Doc/library/unittest.rst:822 +#: ../Doc/library/unittest.rst:825 msgid ":meth:`assertTrue(x) `" msgstr "" -#: ../Doc/library/unittest.rst:822 +#: ../Doc/library/unittest.rst:825 msgid "``bool(x) is True``" msgstr "" -#: ../Doc/library/unittest.rst:825 +#: ../Doc/library/unittest.rst:828 msgid ":meth:`assertFalse(x) `" msgstr "" -#: ../Doc/library/unittest.rst:825 +#: ../Doc/library/unittest.rst:828 msgid "``bool(x) is False``" msgstr "" -#: ../Doc/library/unittest.rst:828 +#: ../Doc/library/unittest.rst:831 msgid ":meth:`assertIs(a, b) `" msgstr "" -#: ../Doc/library/unittest.rst:828 +#: ../Doc/library/unittest.rst:831 msgid "``a is b``" msgstr "" -#: ../Doc/library/unittest.rst:828 ../Doc/library/unittest.rst:831 -#: ../Doc/library/unittest.rst:834 ../Doc/library/unittest.rst:837 -#: ../Doc/library/unittest.rst:840 ../Doc/library/unittest.rst:843 -#: ../Doc/library/unittest.rst:941 ../Doc/library/unittest.rst:1136 -#: ../Doc/library/unittest.rst:1139 ../Doc/library/unittest.rst:1142 -#: ../Doc/library/unittest.rst:1145 ../Doc/library/unittest.rst:1148 -#: ../Doc/library/unittest.rst:1257 ../Doc/library/unittest.rst:1260 -#: ../Doc/library/unittest.rst:1263 ../Doc/library/unittest.rst:1266 -#: ../Doc/library/unittest.rst:1269 ../Doc/library/unittest.rst:1272 +#: ../Doc/library/unittest.rst:831 ../Doc/library/unittest.rst:834 +#: ../Doc/library/unittest.rst:837 ../Doc/library/unittest.rst:840 +#: ../Doc/library/unittest.rst:843 ../Doc/library/unittest.rst:846 +#: ../Doc/library/unittest.rst:943 ../Doc/library/unittest.rst:1139 +#: ../Doc/library/unittest.rst:1142 ../Doc/library/unittest.rst:1145 +#: ../Doc/library/unittest.rst:1148 ../Doc/library/unittest.rst:1151 +#: ../Doc/library/unittest.rst:1260 ../Doc/library/unittest.rst:1263 +#: ../Doc/library/unittest.rst:1266 ../Doc/library/unittest.rst:1269 +#: ../Doc/library/unittest.rst:1272 ../Doc/library/unittest.rst:1275 msgid "3.1" msgstr "" -#: ../Doc/library/unittest.rst:831 +#: ../Doc/library/unittest.rst:834 msgid ":meth:`assertIsNot(a, b) `" msgstr "" -#: ../Doc/library/unittest.rst:831 +#: ../Doc/library/unittest.rst:834 msgid "``a is not b``" msgstr "" -#: ../Doc/library/unittest.rst:834 +#: ../Doc/library/unittest.rst:837 msgid ":meth:`assertIsNone(x) `" msgstr "" -#: ../Doc/library/unittest.rst:834 +#: ../Doc/library/unittest.rst:837 msgid "``x is None``" msgstr "" -#: ../Doc/library/unittest.rst:837 +#: ../Doc/library/unittest.rst:840 msgid ":meth:`assertIsNotNone(x) `" msgstr "" -#: ../Doc/library/unittest.rst:837 +#: ../Doc/library/unittest.rst:840 msgid "``x is not None``" msgstr "" -#: ../Doc/library/unittest.rst:840 +#: ../Doc/library/unittest.rst:843 msgid ":meth:`assertIn(a, b) `" msgstr "" -#: ../Doc/library/unittest.rst:840 +#: ../Doc/library/unittest.rst:843 msgid "``a in b``" msgstr "" -#: ../Doc/library/unittest.rst:843 +#: ../Doc/library/unittest.rst:846 msgid ":meth:`assertNotIn(a, b) `" msgstr "" -#: ../Doc/library/unittest.rst:843 +#: ../Doc/library/unittest.rst:846 msgid "``a not in b``" msgstr "" -#: ../Doc/library/unittest.rst:846 +#: ../Doc/library/unittest.rst:849 msgid ":meth:`assertIsInstance(a, b) `" msgstr "" -#: ../Doc/library/unittest.rst:846 +#: ../Doc/library/unittest.rst:849 msgid "``isinstance(a, b)``" msgstr "" -#: ../Doc/library/unittest.rst:846 ../Doc/library/unittest.rst:849 -#: ../Doc/library/unittest.rst:944 ../Doc/library/unittest.rst:947 -#: ../Doc/library/unittest.rst:1151 ../Doc/library/unittest.rst:1154 +#: ../Doc/library/unittest.rst:849 ../Doc/library/unittest.rst:852 +#: ../Doc/library/unittest.rst:946 ../Doc/library/unittest.rst:949 +#: ../Doc/library/unittest.rst:1154 ../Doc/library/unittest.rst:1157 msgid "3.2" msgstr "" -#: ../Doc/library/unittest.rst:849 +#: ../Doc/library/unittest.rst:852 msgid ":meth:`assertNotIsInstance(a, b) `" msgstr "" -#: ../Doc/library/unittest.rst:849 +#: ../Doc/library/unittest.rst:852 msgid "``not isinstance(a, b)``" msgstr "" -#: ../Doc/library/unittest.rst:853 +#: ../Doc/library/unittest.rst:856 msgid "" "All the assert methods accept a *msg* argument that, if specified, is used " "as the error message on failure (see also :data:`longMessage`). Note that " @@ -1024,13 +1029,13 @@ msgid "" "they are used as a context manager." msgstr "" -#: ../Doc/library/unittest.rst:861 +#: ../Doc/library/unittest.rst:864 msgid "" "Test that *first* and *second* are equal. If the values do not compare " "equal, the test will fail." msgstr "" -#: ../Doc/library/unittest.rst:864 +#: ../Doc/library/unittest.rst:867 msgid "" "In addition, if *first* and *second* are the exact same type and one of " "list, tuple, dict, set, frozenset or str or any type that a subclass " @@ -1040,27 +1045,27 @@ msgid "" "methods>`)." msgstr "" -#: ../Doc/library/unittest.rst:871 +#: ../Doc/library/unittest.rst:874 msgid "Added the automatic calling of type-specific equality function." msgstr "" -#: ../Doc/library/unittest.rst:874 +#: ../Doc/library/unittest.rst:877 msgid "" ":meth:`assertMultiLineEqual` added as the default type equality function for " "comparing strings." msgstr "" -#: ../Doc/library/unittest.rst:881 +#: ../Doc/library/unittest.rst:884 msgid "" "Test that *first* and *second* are not equal. If the values do compare " "equal, the test will fail." msgstr "" -#: ../Doc/library/unittest.rst:887 +#: ../Doc/library/unittest.rst:890 msgid "Test that *expr* is true (or false)." msgstr "" -#: ../Doc/library/unittest.rst:889 +#: ../Doc/library/unittest.rst:892 msgid "" "Note that this is equivalent to ``bool(expr) is True`` and not to ``expr is " "True`` (use ``assertIs(expr, True)`` for the latter). This method should " @@ -1069,82 +1074,80 @@ msgid "" "provide a better error message in case of failure." msgstr "" -#: ../Doc/library/unittest.rst:899 -msgid "" -"Test that *first* and *second* evaluate (or don't evaluate) to the same " -"object." +#: ../Doc/library/unittest.rst:902 +msgid "Test that *first* and *second* are (or are not) the same object." msgstr "" -#: ../Doc/library/unittest.rst:908 +#: ../Doc/library/unittest.rst:910 msgid "Test that *expr* is (or is not) ``None``." msgstr "" -#: ../Doc/library/unittest.rst:916 +#: ../Doc/library/unittest.rst:918 msgid "Test that *member* is (or is not) in *container*." msgstr "" -#: ../Doc/library/unittest.rst:924 +#: ../Doc/library/unittest.rst:926 msgid "" "Test that *obj* is (or is not) an instance of *cls* (which can be a class or " "a tuple of classes, as supported by :func:`isinstance`). To check for the " "exact type, use :func:`assertIs(type(obj), cls) `." msgstr "" -#: ../Doc/library/unittest.rst:932 +#: ../Doc/library/unittest.rst:934 msgid "" "It is also possible to check the production of exceptions, warnings, and log " "messages using the following methods:" msgstr "" -#: ../Doc/library/unittest.rst:938 +#: ../Doc/library/unittest.rst:940 msgid ":meth:`assertRaises(exc, fun, *args, **kwds) `" msgstr "" -#: ../Doc/library/unittest.rst:938 +#: ../Doc/library/unittest.rst:940 msgid "``fun(*args, **kwds)`` raises *exc*" msgstr "" -#: ../Doc/library/unittest.rst:941 +#: ../Doc/library/unittest.rst:943 msgid "" ":meth:`assertRaisesRegex(exc, r, fun, *args, **kwds) `" msgstr "" -#: ../Doc/library/unittest.rst:941 +#: ../Doc/library/unittest.rst:943 msgid "``fun(*args, **kwds)`` raises *exc* and the message matches regex *r*" msgstr "" -#: ../Doc/library/unittest.rst:944 +#: ../Doc/library/unittest.rst:946 msgid ":meth:`assertWarns(warn, fun, *args, **kwds) `" msgstr "" -#: ../Doc/library/unittest.rst:944 +#: ../Doc/library/unittest.rst:946 msgid "``fun(*args, **kwds)`` raises *warn*" msgstr "" -#: ../Doc/library/unittest.rst:947 +#: ../Doc/library/unittest.rst:949 msgid "" ":meth:`assertWarnsRegex(warn, r, fun, *args, **kwds) `" msgstr "" -#: ../Doc/library/unittest.rst:947 +#: ../Doc/library/unittest.rst:949 msgid "``fun(*args, **kwds)`` raises *warn* and the message matches regex *r*" msgstr "" -#: ../Doc/library/unittest.rst:950 +#: ../Doc/library/unittest.rst:952 msgid ":meth:`assertLogs(logger, level) `" msgstr "" -#: ../Doc/library/unittest.rst:950 +#: ../Doc/library/unittest.rst:952 msgid "The ``with`` block logs on *logger* with minimum *level*" msgstr "" -#: ../Doc/library/unittest.rst:950 +#: ../Doc/library/unittest.rst:952 msgid "3.4" msgstr "" -#: ../Doc/library/unittest.rst:957 +#: ../Doc/library/unittest.rst:959 msgid "" "Test that an exception is raised when *callable* is called with any " "positional or keyword arguments that are also passed to :meth:" @@ -1154,40 +1157,40 @@ msgid "" "be passed as *exception*." msgstr "" -#: ../Doc/library/unittest.rst:964 +#: ../Doc/library/unittest.rst:966 msgid "" "If only the *exception* and possibly the *msg* arguments are given, return a " "context manager so that the code under test can be written inline rather " "than as a function::" msgstr "" -#: ../Doc/library/unittest.rst:971 +#: ../Doc/library/unittest.rst:973 msgid "" "When used as a context manager, :meth:`assertRaises` accepts the additional " "keyword argument *msg*." msgstr "" -#: ../Doc/library/unittest.rst:974 +#: ../Doc/library/unittest.rst:976 msgid "" "The context manager will store the caught exception object in its :attr:" "`exception` attribute. This can be useful if the intention is to perform " "additional checks on the exception raised::" msgstr "" -#: ../Doc/library/unittest.rst:984 +#: ../Doc/library/unittest.rst:986 msgid "Added the ability to use :meth:`assertRaises` as a context manager." msgstr "" -#: ../Doc/library/unittest.rst:987 +#: ../Doc/library/unittest.rst:989 msgid "Added the :attr:`exception` attribute." msgstr "" -#: ../Doc/library/unittest.rst:990 ../Doc/library/unittest.rst:1016 -#: ../Doc/library/unittest.rst:1057 ../Doc/library/unittest.rst:1080 +#: ../Doc/library/unittest.rst:992 ../Doc/library/unittest.rst:1018 +#: ../Doc/library/unittest.rst:1059 ../Doc/library/unittest.rst:1082 msgid "Added the *msg* keyword argument when used as a context manager." msgstr "" -#: ../Doc/library/unittest.rst:997 +#: ../Doc/library/unittest.rst:999 msgid "" "Like :meth:`assertRaises` but also tests that *regex* matches on the string " "representation of the raised exception. *regex* may be a regular expression " @@ -1195,19 +1198,19 @@ msgid "" "`re.search`. Examples::" msgstr "" -#: ../Doc/library/unittest.rst:1005 ../Doc/library/unittest.rst:1073 +#: ../Doc/library/unittest.rst:1007 ../Doc/library/unittest.rst:1075 msgid "or::" msgstr "" -#: ../Doc/library/unittest.rst:1010 +#: ../Doc/library/unittest.rst:1012 msgid "Added under the name ``assertRaisesRegexp``." msgstr "" -#: ../Doc/library/unittest.rst:1013 +#: ../Doc/library/unittest.rst:1015 msgid "Renamed to :meth:`assertRaisesRegex`." msgstr "" -#: ../Doc/library/unittest.rst:1023 +#: ../Doc/library/unittest.rst:1025 msgid "" "Test that a warning is triggered when *callable* is called with any " "positional or keyword arguments that are also passed to :meth:" @@ -1216,20 +1219,20 @@ msgid "" "tuple containing the warning classes may be passed as *warnings*." msgstr "" -#: ../Doc/library/unittest.rst:1030 +#: ../Doc/library/unittest.rst:1032 msgid "" "If only the *warning* and possibly the *msg* arguments are given, return a " "context manager so that the code under test can be written inline rather " "than as a function::" msgstr "" -#: ../Doc/library/unittest.rst:1037 +#: ../Doc/library/unittest.rst:1039 msgid "" "When used as a context manager, :meth:`assertWarns` accepts the additional " "keyword argument *msg*." msgstr "" -#: ../Doc/library/unittest.rst:1040 +#: ../Doc/library/unittest.rst:1042 msgid "" "The context manager will store the caught warning object in its :attr:" "`warning` attribute, and the source line which triggered the warnings in " @@ -1237,13 +1240,13 @@ msgid "" "the intention is to perform additional checks on the warning caught::" msgstr "" -#: ../Doc/library/unittest.rst:1052 +#: ../Doc/library/unittest.rst:1054 msgid "" "This method works regardless of the warning filters in place when it is " "called." msgstr "" -#: ../Doc/library/unittest.rst:1064 +#: ../Doc/library/unittest.rst:1066 msgid "" "Like :meth:`assertWarns` but also tests that *regex* matches on the message " "of the triggered warning. *regex* may be a regular expression object or a " @@ -1251,133 +1254,134 @@ msgid "" "search`. Example::" msgstr "" -#: ../Doc/library/unittest.rst:1085 +#: ../Doc/library/unittest.rst:1087 msgid "" "A context manager to test that at least one message is logged on the " "*logger* or one of its children, with at least the given *level*." msgstr "" -#: ../Doc/library/unittest.rst:1089 +#: ../Doc/library/unittest.rst:1091 msgid "" "If given, *logger* should be a :class:`logging.Logger` object or a :class:" "`str` giving the name of a logger. The default is the root logger, which " -"will catch all messages." +"will catch all messages that were not blocked by a non-propagating " +"descendent logger." msgstr "" -#: ../Doc/library/unittest.rst:1093 +#: ../Doc/library/unittest.rst:1096 msgid "" "If given, *level* should be either a numeric logging level or its string " "equivalent (for example either ``\"ERROR\"`` or :attr:`logging.ERROR`). The " "default is :attr:`logging.INFO`." msgstr "" -#: ../Doc/library/unittest.rst:1097 +#: ../Doc/library/unittest.rst:1100 msgid "" "The test passes if at least one message emitted inside the ``with`` block " "matches the *logger* and *level* conditions, otherwise it fails." msgstr "" -#: ../Doc/library/unittest.rst:1100 +#: ../Doc/library/unittest.rst:1103 msgid "" "The object returned by the context manager is a recording helper which keeps " "tracks of the matching log messages. It has two attributes:" msgstr "" -#: ../Doc/library/unittest.rst:1106 +#: ../Doc/library/unittest.rst:1109 msgid "" "A list of :class:`logging.LogRecord` objects of the matching log messages." msgstr "" -#: ../Doc/library/unittest.rst:1111 +#: ../Doc/library/unittest.rst:1114 msgid "" "A list of :class:`str` objects with the formatted output of matching " "messages." msgstr "" -#: ../Doc/library/unittest.rst:1114 +#: ../Doc/library/unittest.rst:1117 msgid "Example::" msgstr "" -#: ../Doc/library/unittest.rst:1125 +#: ../Doc/library/unittest.rst:1128 msgid "" "There are also other methods used to perform more specific checks, such as:" msgstr "" -#: ../Doc/library/unittest.rst:1130 +#: ../Doc/library/unittest.rst:1133 msgid ":meth:`assertAlmostEqual(a, b) `" msgstr "" -#: ../Doc/library/unittest.rst:1130 +#: ../Doc/library/unittest.rst:1133 msgid "``round(a-b, 7) == 0``" msgstr "" -#: ../Doc/library/unittest.rst:1133 +#: ../Doc/library/unittest.rst:1136 msgid ":meth:`assertNotAlmostEqual(a, b) `" msgstr "" -#: ../Doc/library/unittest.rst:1133 +#: ../Doc/library/unittest.rst:1136 msgid "``round(a-b, 7) != 0``" msgstr "" -#: ../Doc/library/unittest.rst:1136 +#: ../Doc/library/unittest.rst:1139 msgid ":meth:`assertGreater(a, b) `" msgstr "" -#: ../Doc/library/unittest.rst:1136 +#: ../Doc/library/unittest.rst:1139 msgid "``a > b``" msgstr "" -#: ../Doc/library/unittest.rst:1139 +#: ../Doc/library/unittest.rst:1142 msgid ":meth:`assertGreaterEqual(a, b) `" msgstr "" -#: ../Doc/library/unittest.rst:1139 +#: ../Doc/library/unittest.rst:1142 msgid "``a >= b``" msgstr "" -#: ../Doc/library/unittest.rst:1142 +#: ../Doc/library/unittest.rst:1145 msgid ":meth:`assertLess(a, b) `" msgstr "" -#: ../Doc/library/unittest.rst:1142 +#: ../Doc/library/unittest.rst:1145 msgid "``a < b``" msgstr "" -#: ../Doc/library/unittest.rst:1145 +#: ../Doc/library/unittest.rst:1148 msgid ":meth:`assertLessEqual(a, b) `" msgstr "" -#: ../Doc/library/unittest.rst:1145 +#: ../Doc/library/unittest.rst:1148 msgid "``a <= b``" msgstr "" -#: ../Doc/library/unittest.rst:1148 +#: ../Doc/library/unittest.rst:1151 msgid ":meth:`assertRegex(s, r) `" msgstr "" -#: ../Doc/library/unittest.rst:1148 +#: ../Doc/library/unittest.rst:1151 msgid "``r.search(s)``" msgstr "" -#: ../Doc/library/unittest.rst:1151 +#: ../Doc/library/unittest.rst:1154 msgid ":meth:`assertNotRegex(s, r) `" msgstr "" -#: ../Doc/library/unittest.rst:1151 +#: ../Doc/library/unittest.rst:1154 msgid "``not r.search(s)``" msgstr "" -#: ../Doc/library/unittest.rst:1154 +#: ../Doc/library/unittest.rst:1157 msgid ":meth:`assertCountEqual(a, b) `" msgstr "" -#: ../Doc/library/unittest.rst:1154 +#: ../Doc/library/unittest.rst:1157 msgid "" "*a* and *b* have the same elements in the same number, regardless of their " "order." msgstr "" -#: ../Doc/library/unittest.rst:1163 +#: ../Doc/library/unittest.rst:1166 msgid "" "Test that *first* and *second* are approximately (or not approximately) " "equal by computing the difference, rounding to the given number of decimal " @@ -1386,30 +1390,30 @@ msgid "" "`round` function) and not *significant digits*." msgstr "" -#: ../Doc/library/unittest.rst:1169 +#: ../Doc/library/unittest.rst:1172 msgid "" "If *delta* is supplied instead of *places* then the difference between " "*first* and *second* must be less or equal to (or greater than) *delta*." msgstr "" -#: ../Doc/library/unittest.rst:1172 +#: ../Doc/library/unittest.rst:1175 msgid "Supplying both *delta* and *places* raises a :exc:`TypeError`." msgstr "" -#: ../Doc/library/unittest.rst:1174 +#: ../Doc/library/unittest.rst:1177 msgid "" ":meth:`assertAlmostEqual` automatically considers almost equal objects that " "compare equal. :meth:`assertNotAlmostEqual` automatically fails if the " "objects compare equal. Added the *delta* keyword argument." msgstr "" -#: ../Doc/library/unittest.rst:1185 +#: ../Doc/library/unittest.rst:1188 msgid "" "Test that *first* is respectively >, >=, < or <= than *second* depending on " "the method name. If not, the test will fail::" msgstr "" -#: ../Doc/library/unittest.rst:1197 +#: ../Doc/library/unittest.rst:1200 msgid "" "Test that a *regex* search matches (or does not match) *text*. In case of " "failure, the error message will include the pattern and the *text* (or the " @@ -1418,34 +1422,34 @@ msgid "" "suitable for use by :func:`re.search`." msgstr "" -#: ../Doc/library/unittest.rst:1203 +#: ../Doc/library/unittest.rst:1206 msgid "Added under the name ``assertRegexpMatches``." msgstr "" -#: ../Doc/library/unittest.rst:1205 +#: ../Doc/library/unittest.rst:1208 msgid "" "The method ``assertRegexpMatches()`` has been renamed to :meth:`." "assertRegex`." msgstr "" -#: ../Doc/library/unittest.rst:1208 +#: ../Doc/library/unittest.rst:1211 msgid ":meth:`.assertNotRegex`." msgstr "" -#: ../Doc/library/unittest.rst:1210 +#: ../Doc/library/unittest.rst:1213 msgid "" "The name ``assertNotRegexpMatches`` is a deprecated alias for :meth:`." "assertNotRegex`." msgstr "" -#: ../Doc/library/unittest.rst:1217 +#: ../Doc/library/unittest.rst:1220 msgid "" "Test that sequence *first* contains the same elements as *second*, " "regardless of their order. When they don't, an error message listing the " "differences between the sequences will be generated." msgstr "" -#: ../Doc/library/unittest.rst:1221 +#: ../Doc/library/unittest.rst:1224 msgid "" "Duplicate elements are *not* ignored when comparing *first* and *second*. It " "verifies whether each element has the same count in both sequences. " @@ -1453,7 +1457,7 @@ msgid "" "but works with sequences of unhashable objects as well." msgstr "" -#: ../Doc/library/unittest.rst:1232 +#: ../Doc/library/unittest.rst:1235 msgid "" "The :meth:`assertEqual` method dispatches the equality check for objects of " "the same type to different type-specific methods. These methods are already " @@ -1461,7 +1465,7 @@ msgid "" "register new methods using :meth:`addTypeEqualityFunc`:" msgstr "" -#: ../Doc/library/unittest.rst:1239 +#: ../Doc/library/unittest.rst:1242 msgid "" "Registers a type-specific method called by :meth:`assertEqual` to check if " "two objects of exactly the same *typeobj* (not subclasses) compare equal. " @@ -1472,66 +1476,66 @@ msgid "" "explaining the inequalities in details in the error message." msgstr "" -#: ../Doc/library/unittest.rst:1250 +#: ../Doc/library/unittest.rst:1253 msgid "" "The list of type-specific methods automatically used by :meth:`~TestCase." "assertEqual` are summarized in the following table. Note that it's usually " "not necessary to invoke these methods directly." msgstr "" -#: ../Doc/library/unittest.rst:1255 +#: ../Doc/library/unittest.rst:1258 msgid "Used to compare" msgstr "" -#: ../Doc/library/unittest.rst:1257 +#: ../Doc/library/unittest.rst:1260 msgid ":meth:`assertMultiLineEqual(a, b) `" msgstr "" -#: ../Doc/library/unittest.rst:1257 +#: ../Doc/library/unittest.rst:1260 msgid "strings" msgstr "" -#: ../Doc/library/unittest.rst:1260 +#: ../Doc/library/unittest.rst:1263 msgid ":meth:`assertSequenceEqual(a, b) `" msgstr "" -#: ../Doc/library/unittest.rst:1260 +#: ../Doc/library/unittest.rst:1263 msgid "sequences" msgstr "" -#: ../Doc/library/unittest.rst:1263 +#: ../Doc/library/unittest.rst:1266 msgid ":meth:`assertListEqual(a, b) `" msgstr "" -#: ../Doc/library/unittest.rst:1263 +#: ../Doc/library/unittest.rst:1266 msgid "lists" msgstr "" -#: ../Doc/library/unittest.rst:1266 +#: ../Doc/library/unittest.rst:1269 msgid ":meth:`assertTupleEqual(a, b) `" msgstr "" -#: ../Doc/library/unittest.rst:1266 +#: ../Doc/library/unittest.rst:1269 msgid "tuples" msgstr "" -#: ../Doc/library/unittest.rst:1269 +#: ../Doc/library/unittest.rst:1272 msgid ":meth:`assertSetEqual(a, b) `" msgstr "" -#: ../Doc/library/unittest.rst:1269 +#: ../Doc/library/unittest.rst:1272 msgid "sets or frozensets" msgstr "" -#: ../Doc/library/unittest.rst:1272 +#: ../Doc/library/unittest.rst:1275 msgid ":meth:`assertDictEqual(a, b) `" msgstr "" -#: ../Doc/library/unittest.rst:1272 +#: ../Doc/library/unittest.rst:1275 msgid "dicts" msgstr "" -#: ../Doc/library/unittest.rst:1280 +#: ../Doc/library/unittest.rst:1283 msgid "" "Test that the multiline string *first* is equal to the string *second*. When " "not equal a diff of the two strings highlighting the differences will be " @@ -1539,7 +1543,7 @@ msgid "" "strings with :meth:`assertEqual`." msgstr "" -#: ../Doc/library/unittest.rst:1290 +#: ../Doc/library/unittest.rst:1293 msgid "" "Tests that two sequences are equal. If a *seq_type* is supplied, both " "*first* and *second* must be instances of *seq_type* or a failure will be " @@ -1547,13 +1551,13 @@ msgid "" "shows the difference between the two." msgstr "" -#: ../Doc/library/unittest.rst:1295 +#: ../Doc/library/unittest.rst:1298 msgid "" "This method is not called directly by :meth:`assertEqual`, but it's used to " "implement :meth:`assertListEqual` and :meth:`assertTupleEqual`." msgstr "" -#: ../Doc/library/unittest.rst:1305 +#: ../Doc/library/unittest.rst:1308 msgid "" "Tests that two lists or tuples are equal. If not, an error message is " "constructed that shows only the differences between the two. An error is " @@ -1561,38 +1565,38 @@ msgid "" "are used by default when comparing lists or tuples with :meth:`assertEqual`." msgstr "" -#: ../Doc/library/unittest.rst:1316 +#: ../Doc/library/unittest.rst:1319 msgid "" "Tests that two sets are equal. If not, an error message is constructed that " "lists the differences between the sets. This method is used by default when " "comparing sets or frozensets with :meth:`assertEqual`." msgstr "" -#: ../Doc/library/unittest.rst:1320 +#: ../Doc/library/unittest.rst:1323 msgid "" "Fails if either of *first* or *second* does not have a :meth:`set." "difference` method." msgstr "" -#: ../Doc/library/unittest.rst:1328 +#: ../Doc/library/unittest.rst:1331 msgid "" "Test that two dictionaries are equal. If not, an error message is " "constructed that shows the differences in the dictionaries. This method will " "be used by default to compare dictionaries in calls to :meth:`assertEqual`." msgstr "" -#: ../Doc/library/unittest.rst:1339 +#: ../Doc/library/unittest.rst:1342 msgid "" "Finally the :class:`TestCase` provides the following methods and attributes:" msgstr "" -#: ../Doc/library/unittest.rst:1344 +#: ../Doc/library/unittest.rst:1347 msgid "" "Signals a test failure unconditionally, with *msg* or ``None`` for the error " "message." msgstr "" -#: ../Doc/library/unittest.rst:1350 +#: ../Doc/library/unittest.rst:1353 msgid "" "This class attribute gives the exception raised by the test method. If a " "test framework needs to use a specialized exception, possibly to carry " @@ -1601,7 +1605,7 @@ msgid "" "`AssertionError`." msgstr "" -#: ../Doc/library/unittest.rst:1359 +#: ../Doc/library/unittest.rst:1362 msgid "" "This class attribute determines what happens when a custom failure message " "is passed as the msg argument to an assertXYY call that fails. ``True`` is " @@ -1610,18 +1614,18 @@ msgid "" "replaces the standard message." msgstr "" -#: ../Doc/library/unittest.rst:1365 +#: ../Doc/library/unittest.rst:1368 msgid "" "The class setting can be overridden in individual test methods by assigning " "an instance attribute, self.longMessage, to ``True`` or ``False`` before " "calling the assert methods." msgstr "" -#: ../Doc/library/unittest.rst:1369 +#: ../Doc/library/unittest.rst:1372 msgid "The class setting gets reset before each test call." msgstr "" -#: ../Doc/library/unittest.rst:1376 +#: ../Doc/library/unittest.rst:1379 msgid "" "This attribute controls the maximum length of diffs output by assert methods " "that report diffs on failure. It defaults to 80*8 characters. Assert methods " @@ -1630,52 +1634,52 @@ msgid "" "`assertDictEqual` and :meth:`assertMultiLineEqual`." msgstr "" -#: ../Doc/library/unittest.rst:1383 +#: ../Doc/library/unittest.rst:1386 msgid "" "Setting ``maxDiff`` to ``None`` means that there is no maximum length of " "diffs." msgstr "" -#: ../Doc/library/unittest.rst:1389 +#: ../Doc/library/unittest.rst:1392 msgid "" "Testing frameworks can use the following methods to collect information on " "the test:" msgstr "" -#: ../Doc/library/unittest.rst:1395 +#: ../Doc/library/unittest.rst:1398 msgid "" "Return the number of tests represented by this test object. For :class:" "`TestCase` instances, this will always be ``1``." msgstr "" -#: ../Doc/library/unittest.rst:1401 +#: ../Doc/library/unittest.rst:1404 msgid "" "Return an instance of the test result class that should be used for this " "test case class (if no other result instance is provided to the :meth:`run` " "method)." msgstr "" -#: ../Doc/library/unittest.rst:1405 +#: ../Doc/library/unittest.rst:1408 msgid "" "For :class:`TestCase` instances, this will always be an instance of :class:" "`TestResult`; subclasses of :class:`TestCase` should override this as " "necessary." msgstr "" -#: ../Doc/library/unittest.rst:1412 +#: ../Doc/library/unittest.rst:1415 msgid "" "Return a string identifying the specific test case. This is usually the " "full name of the test method, including the module and class name." msgstr "" -#: ../Doc/library/unittest.rst:1418 +#: ../Doc/library/unittest.rst:1421 msgid "" "Returns a description of the test, or ``None`` if no description has been " "provided. The default implementation of this method returns the first line " "of the test method's docstring, if available, or ``None``." msgstr "" -#: ../Doc/library/unittest.rst:1423 +#: ../Doc/library/unittest.rst:1426 msgid "" "In 3.1 this was changed to add the test name to the short description even " "in the presence of a docstring. This caused compatibility issues with " @@ -1683,7 +1687,7 @@ msgid "" "`TextTestResult` in Python 3.2." msgstr "" -#: ../Doc/library/unittest.rst:1432 +#: ../Doc/library/unittest.rst:1435 msgid "" "Add a function to be called after :meth:`tearDown` to cleanup resources used " "during the test. Functions will be called in reverse order to the order they " @@ -1692,32 +1696,32 @@ msgid "" "added." msgstr "" -#: ../Doc/library/unittest.rst:1438 +#: ../Doc/library/unittest.rst:1441 msgid "" "If :meth:`setUp` fails, meaning that :meth:`tearDown` is not called, then " "any cleanup functions added will still be called." msgstr "" -#: ../Doc/library/unittest.rst:1446 +#: ../Doc/library/unittest.rst:1449 msgid "" "This method is called unconditionally after :meth:`tearDown`, or after :meth:" "`setUp` if :meth:`setUp` raises an exception." msgstr "" -#: ../Doc/library/unittest.rst:1449 +#: ../Doc/library/unittest.rst:1452 msgid "" "It is responsible for calling all the cleanup functions added by :meth:" "`addCleanup`. If you need cleanup functions to be called *prior* to :meth:" "`tearDown` then you can call :meth:`doCleanups` yourself." msgstr "" -#: ../Doc/library/unittest.rst:1454 +#: ../Doc/library/unittest.rst:1457 msgid "" ":meth:`doCleanups` pops methods off the stack of cleanup functions one at a " "time, so it can be called at any time." msgstr "" -#: ../Doc/library/unittest.rst:1461 +#: ../Doc/library/unittest.rst:1464 msgid "" "Add a function to be called after :meth:`tearDownClass` to cleanup resources " "used during the test class. Functions will be called in reverse order to the " @@ -1726,38 +1730,38 @@ msgid "" "when they are added." msgstr "" -#: ../Doc/library/unittest.rst:1467 +#: ../Doc/library/unittest.rst:1470 msgid "" "If :meth:`setUpClass` fails, meaning that :meth:`tearDownClass` is not " "called, then any cleanup functions added will still be called." msgstr "" -#: ../Doc/library/unittest.rst:1475 +#: ../Doc/library/unittest.rst:1478 msgid "" "This method is called unconditionally after :meth:`tearDownClass`, or after :" "meth:`setUpClass` if :meth:`setUpClass` raises an exception." msgstr "" -#: ../Doc/library/unittest.rst:1478 +#: ../Doc/library/unittest.rst:1481 msgid "" "It is responsible for calling all the cleanup functions added by :meth:" -"`addCleanupClass`. If you need cleanup functions to be called *prior* to :" -"meth:`tearDownClass` then you can call :meth:`doCleanupsClass` yourself." +"`addClassCleanup`. If you need cleanup functions to be called *prior* to :" +"meth:`tearDownClass` then you can call :meth:`doClassCleanups` yourself." msgstr "" -#: ../Doc/library/unittest.rst:1483 +#: ../Doc/library/unittest.rst:1486 msgid "" -":meth:`doCleanupsClass` pops methods off the stack of cleanup functions one " +":meth:`doClassCleanups` pops methods off the stack of cleanup functions one " "at a time, so it can be called at any time." msgstr "" -#: ../Doc/library/unittest.rst:1491 +#: ../Doc/library/unittest.rst:1494 msgid "" "This class provides an API similar to :class:`TestCase` and also accepts " "coroutines as test functions." msgstr "" -#: ../Doc/library/unittest.rst:1498 +#: ../Doc/library/unittest.rst:1501 msgid "" "Method called to prepare the test fixture. This is called after :meth:" "`setUp`. This is called immediately before calling the test method; other " @@ -1766,7 +1770,7 @@ msgid "" "implementation does nothing." msgstr "" -#: ../Doc/library/unittest.rst:1506 +#: ../Doc/library/unittest.rst:1509 msgid "" "Method called immediately after the test method has been called and the " "result recorded. This is called before :meth:`tearDown`. This is called " @@ -1779,11 +1783,11 @@ msgid "" "the outcome of the test method. The default implementation does nothing." msgstr "" -#: ../Doc/library/unittest.rst:1518 +#: ../Doc/library/unittest.rst:1521 msgid "This method accepts a coroutine that can be used as a cleanup function." msgstr "" -#: ../Doc/library/unittest.rst:1522 +#: ../Doc/library/unittest.rst:1525 msgid "" "Sets up a new event loop to run the test, collecting the result into the :" "class:`TestResult` object passed as *result*. If *result* is omitted or " @@ -1793,17 +1797,17 @@ msgid "" "cancelled." msgstr "" -#: ../Doc/library/unittest.rst:1530 +#: ../Doc/library/unittest.rst:1533 msgid "An example illustrating the order::" msgstr "" -#: ../Doc/library/unittest.rst:1566 +#: ../Doc/library/unittest.rst:1569 msgid "" "After running the test, ``events`` would contain ``[\"setUp\", \"asyncSetUp" "\", \"test_response\", \"asyncTearDown\", \"tearDown\", \"cleanup\"]``." msgstr "" -#: ../Doc/library/unittest.rst:1571 +#: ../Doc/library/unittest.rst:1574 msgid "" "This class implements the portion of the :class:`TestCase` interface which " "allows the test runner to drive the test, but does not provide the methods " @@ -1812,150 +1816,150 @@ msgid "" "`unittest`-based test framework." msgstr "" -#: ../Doc/library/unittest.rst:1581 +#: ../Doc/library/unittest.rst:1584 msgid "Deprecated aliases" msgstr "" -#: ../Doc/library/unittest.rst:1583 +#: ../Doc/library/unittest.rst:1586 msgid "" "For historical reasons, some of the :class:`TestCase` methods had one or " "more aliases that are now deprecated. The following table lists the correct " "names along with their deprecated aliases:" msgstr "" -#: ../Doc/library/unittest.rst:1588 +#: ../Doc/library/unittest.rst:1591 msgid "Method Name" msgstr "" -#: ../Doc/library/unittest.rst:1588 +#: ../Doc/library/unittest.rst:1591 msgid "Deprecated alias" msgstr "" -#: ../Doc/library/unittest.rst:1590 +#: ../Doc/library/unittest.rst:1593 msgid ":meth:`.assertEqual`" msgstr "" -#: ../Doc/library/unittest.rst:1590 +#: ../Doc/library/unittest.rst:1593 msgid "failUnlessEqual" msgstr "" -#: ../Doc/library/unittest.rst:1590 +#: ../Doc/library/unittest.rst:1593 msgid "assertEquals" msgstr "" -#: ../Doc/library/unittest.rst:1591 +#: ../Doc/library/unittest.rst:1594 msgid ":meth:`.assertNotEqual`" msgstr "" -#: ../Doc/library/unittest.rst:1591 +#: ../Doc/library/unittest.rst:1594 msgid "failIfEqual" msgstr "" -#: ../Doc/library/unittest.rst:1591 +#: ../Doc/library/unittest.rst:1594 msgid "assertNotEquals" msgstr "" -#: ../Doc/library/unittest.rst:1592 +#: ../Doc/library/unittest.rst:1595 msgid ":meth:`.assertTrue`" msgstr "" -#: ../Doc/library/unittest.rst:1592 +#: ../Doc/library/unittest.rst:1595 msgid "failUnless" msgstr "" -#: ../Doc/library/unittest.rst:1592 +#: ../Doc/library/unittest.rst:1595 msgid "assert\\_" msgstr "" -#: ../Doc/library/unittest.rst:1593 +#: ../Doc/library/unittest.rst:1596 msgid ":meth:`.assertFalse`" msgstr "" -#: ../Doc/library/unittest.rst:1593 +#: ../Doc/library/unittest.rst:1596 msgid "failIf" msgstr "" -#: ../Doc/library/unittest.rst:1594 +#: ../Doc/library/unittest.rst:1597 msgid ":meth:`.assertRaises`" msgstr "" -#: ../Doc/library/unittest.rst:1594 +#: ../Doc/library/unittest.rst:1597 msgid "failUnlessRaises" msgstr "" -#: ../Doc/library/unittest.rst:1595 +#: ../Doc/library/unittest.rst:1598 msgid ":meth:`.assertAlmostEqual`" msgstr "" -#: ../Doc/library/unittest.rst:1595 +#: ../Doc/library/unittest.rst:1598 msgid "failUnlessAlmostEqual" msgstr "" -#: ../Doc/library/unittest.rst:1595 +#: ../Doc/library/unittest.rst:1598 msgid "assertAlmostEquals" msgstr "" -#: ../Doc/library/unittest.rst:1596 +#: ../Doc/library/unittest.rst:1599 msgid ":meth:`.assertNotAlmostEqual`" msgstr "" -#: ../Doc/library/unittest.rst:1596 +#: ../Doc/library/unittest.rst:1599 msgid "failIfAlmostEqual" msgstr "" -#: ../Doc/library/unittest.rst:1596 +#: ../Doc/library/unittest.rst:1599 msgid "assertNotAlmostEquals" msgstr "" -#: ../Doc/library/unittest.rst:1597 +#: ../Doc/library/unittest.rst:1600 msgid ":meth:`.assertRegex`" msgstr "" -#: ../Doc/library/unittest.rst:1597 +#: ../Doc/library/unittest.rst:1600 msgid "assertRegexpMatches" msgstr "" -#: ../Doc/library/unittest.rst:1598 +#: ../Doc/library/unittest.rst:1601 msgid ":meth:`.assertNotRegex`" msgstr "" -#: ../Doc/library/unittest.rst:1598 +#: ../Doc/library/unittest.rst:1601 msgid "assertNotRegexpMatches" msgstr "" -#: ../Doc/library/unittest.rst:1599 +#: ../Doc/library/unittest.rst:1602 msgid ":meth:`.assertRaisesRegex`" msgstr "" -#: ../Doc/library/unittest.rst:1599 +#: ../Doc/library/unittest.rst:1602 msgid "assertRaisesRegexp" msgstr "" -#: ../Doc/library/unittest.rst:1602 +#: ../Doc/library/unittest.rst:1605 msgid "The fail* aliases listed in the second column have been deprecated." msgstr "" -#: ../Doc/library/unittest.rst:1604 +#: ../Doc/library/unittest.rst:1607 msgid "The assert* aliases listed in the third column have been deprecated." msgstr "" -#: ../Doc/library/unittest.rst:1606 +#: ../Doc/library/unittest.rst:1609 msgid "" "``assertRegexpMatches`` and ``assertRaisesRegexp`` have been renamed to :" "meth:`.assertRegex` and :meth:`.assertRaisesRegex`." msgstr "" -#: ../Doc/library/unittest.rst:1609 +#: ../Doc/library/unittest.rst:1612 msgid "" "The ``assertNotRegexpMatches`` name is deprecated in favor of :meth:`." "assertNotRegex`." msgstr "" -#: ../Doc/library/unittest.rst:1615 +#: ../Doc/library/unittest.rst:1618 msgid "Grouping tests" msgstr "" -#: ../Doc/library/unittest.rst:1619 +#: ../Doc/library/unittest.rst:1622 msgid "" "This class represents an aggregation of individual test cases and test " "suites. The class presents the interface needed by the test runner to allow " @@ -1963,14 +1967,14 @@ msgid "" "is the same as iterating over the suite, running each test individually." msgstr "" -#: ../Doc/library/unittest.rst:1624 +#: ../Doc/library/unittest.rst:1627 msgid "" "If *tests* is given, it must be an iterable of individual test cases or " "other test suites that will be used to build the suite initially. Additional " "methods are provided to add test cases and suites to the collection later on." msgstr "" -#: ../Doc/library/unittest.rst:1628 +#: ../Doc/library/unittest.rst:1631 msgid "" ":class:`TestSuite` objects behave much like :class:`TestCase` objects, " "except they do not actually implement a test. Instead, they are used to " @@ -1979,47 +1983,47 @@ msgid "" "instances:" msgstr "" -#: ../Doc/library/unittest.rst:1636 +#: ../Doc/library/unittest.rst:1639 msgid "Add a :class:`TestCase` or :class:`TestSuite` to the suite." msgstr "" -#: ../Doc/library/unittest.rst:1641 +#: ../Doc/library/unittest.rst:1644 msgid "" "Add all the tests from an iterable of :class:`TestCase` and :class:" "`TestSuite` instances to this test suite." msgstr "" -#: ../Doc/library/unittest.rst:1644 +#: ../Doc/library/unittest.rst:1647 msgid "" "This is equivalent to iterating over *tests*, calling :meth:`addTest` for " "each element." msgstr "" -#: ../Doc/library/unittest.rst:1647 +#: ../Doc/library/unittest.rst:1650 msgid ":class:`TestSuite` shares the following methods with :class:`TestCase`:" msgstr "" -#: ../Doc/library/unittest.rst:1652 +#: ../Doc/library/unittest.rst:1655 msgid "" "Run the tests associated with this suite, collecting the result into the " "test result object passed as *result*. Note that unlike :meth:`TestCase." "run`, :meth:`TestSuite.run` requires the result object to be passed in." msgstr "" -#: ../Doc/library/unittest.rst:1660 +#: ../Doc/library/unittest.rst:1663 msgid "" "Run the tests associated with this suite without collecting the result. This " "allows exceptions raised by the test to be propagated to the caller and can " "be used to support running tests under a debugger." msgstr "" -#: ../Doc/library/unittest.rst:1667 +#: ../Doc/library/unittest.rst:1670 msgid "" "Return the number of tests represented by this test object, including all " "individual tests and sub-suites." msgstr "" -#: ../Doc/library/unittest.rst:1673 +#: ../Doc/library/unittest.rst:1676 msgid "" "Tests grouped by a :class:`TestSuite` are always accessed by iteration. " "Subclasses can lazily provide tests by overriding :meth:`__iter__`. Note " @@ -2031,31 +2035,31 @@ msgid "" "overrides :meth:`TestSuite._removeTestAtIndex` to preserve test references." msgstr "" -#: ../Doc/library/unittest.rst:1683 +#: ../Doc/library/unittest.rst:1686 msgid "" "In earlier versions the :class:`TestSuite` accessed tests directly rather " "than through iteration, so overriding :meth:`__iter__` wasn't sufficient for " "providing tests." msgstr "" -#: ../Doc/library/unittest.rst:1688 +#: ../Doc/library/unittest.rst:1691 msgid "" "In earlier versions the :class:`TestSuite` held references to each :class:" "`TestCase` after :meth:`TestSuite.run`. Subclasses can restore that behavior " "by overriding :meth:`TestSuite._removeTestAtIndex`." msgstr "" -#: ../Doc/library/unittest.rst:1693 +#: ../Doc/library/unittest.rst:1696 msgid "" "In the typical usage of a :class:`TestSuite` object, the :meth:`run` method " "is invoked by a :class:`TestRunner` rather than by the end-user test harness." msgstr "" -#: ../Doc/library/unittest.rst:1698 +#: ../Doc/library/unittest.rst:1701 msgid "Loading and running tests" msgstr "" -#: ../Doc/library/unittest.rst:1702 +#: ../Doc/library/unittest.rst:1705 msgid "" "The :class:`TestLoader` class is used to create test suites from classes and " "modules. Normally, there is no need to create an instance of this class; " @@ -2064,11 +2068,11 @@ msgid "" "customization of some configurable properties." msgstr "" -#: ../Doc/library/unittest.rst:1708 +#: ../Doc/library/unittest.rst:1711 msgid ":class:`TestLoader` objects have the following attributes:" msgstr "" -#: ../Doc/library/unittest.rst:1713 +#: ../Doc/library/unittest.rst:1716 msgid "" "A list of the non-fatal errors encountered while loading tests. Not reset by " "the loader at any point. Fatal errors are signalled by the relevant a method " @@ -2076,17 +2080,17 @@ msgid "" "synthetic test that will raise the original error when run." msgstr "" -#: ../Doc/library/unittest.rst:1722 +#: ../Doc/library/unittest.rst:1725 msgid ":class:`TestLoader` objects have the following methods:" msgstr "" -#: ../Doc/library/unittest.rst:1727 +#: ../Doc/library/unittest.rst:1730 msgid "" "Return a suite of all test cases contained in the :class:`TestCase`\\ -" "derived :class:`testCaseClass`." msgstr "" -#: ../Doc/library/unittest.rst:1730 +#: ../Doc/library/unittest.rst:1733 msgid "" "A test case instance is created for each method named by :meth:" "`getTestCaseNames`. By default these are the method names beginning with " @@ -2095,14 +2099,14 @@ msgid "" "method instead." msgstr "" -#: ../Doc/library/unittest.rst:1739 +#: ../Doc/library/unittest.rst:1742 msgid "" "Return a suite of all test cases contained in the given module. This method " "searches *module* for classes derived from :class:`TestCase` and creates an " "instance of the class for each test method defined for the class." msgstr "" -#: ../Doc/library/unittest.rst:1746 +#: ../Doc/library/unittest.rst:1749 msgid "" "While using a hierarchy of :class:`TestCase`\\ -derived classes can be " "convenient in sharing fixtures and helper functions, defining test methods " @@ -2111,7 +2115,7 @@ msgid "" "fixtures are different and defined in subclasses." msgstr "" -#: ../Doc/library/unittest.rst:1752 +#: ../Doc/library/unittest.rst:1755 msgid "" "If a module provides a ``load_tests`` function it will be called to load the " "tests. This allows modules to customize test loading. This is the " @@ -2119,11 +2123,11 @@ msgid "" "argument to ``load_tests``." msgstr "" -#: ../Doc/library/unittest.rst:1757 +#: ../Doc/library/unittest.rst:1760 msgid "Support for ``load_tests`` added." msgstr "" -#: ../Doc/library/unittest.rst:1760 +#: ../Doc/library/unittest.rst:1763 msgid "" "The undocumented and unofficial *use_load_tests* default argument is " "deprecated and ignored, although it is still accepted for backward " @@ -2131,11 +2135,11 @@ msgid "" "*pattern* which is passed to ``load_tests`` as the third argument." msgstr "" -#: ../Doc/library/unittest.rst:1769 +#: ../Doc/library/unittest.rst:1772 msgid "Return a suite of all test cases given a string specifier." msgstr "" -#: ../Doc/library/unittest.rst:1771 +#: ../Doc/library/unittest.rst:1774 msgid "" "The specifier *name* is a \"dotted name\" that may resolve either to a " "module, a test case class, a test method within a test case class, a :class:" @@ -2146,7 +2150,7 @@ msgid "" "object\"." msgstr "" -#: ../Doc/library/unittest.rst:1779 +#: ../Doc/library/unittest.rst:1782 msgid "" "For example, if you have a module :mod:`SampleTests` containing a :class:" "`TestCase`\\ -derived class :class:`SampleTestCase` with three test methods " @@ -2159,31 +2163,31 @@ msgid "" "a side-effect." msgstr "" -#: ../Doc/library/unittest.rst:1789 +#: ../Doc/library/unittest.rst:1792 msgid "The method optionally resolves *name* relative to the given *module*." msgstr "" -#: ../Doc/library/unittest.rst:1791 +#: ../Doc/library/unittest.rst:1794 msgid "" "If an :exc:`ImportError` or :exc:`AttributeError` occurs while traversing " "*name* then a synthetic test that raises that error when run will be " "returned. These errors are included in the errors accumulated by self.errors." msgstr "" -#: ../Doc/library/unittest.rst:1800 +#: ../Doc/library/unittest.rst:1803 msgid "" "Similar to :meth:`loadTestsFromName`, but takes a sequence of names rather " "than a single name. The return value is a test suite which supports all the " "tests defined for each name." msgstr "" -#: ../Doc/library/unittest.rst:1807 +#: ../Doc/library/unittest.rst:1810 msgid "" "Return a sorted sequence of method names found within *testCaseClass*; this " "should be a subclass of :class:`TestCase`." msgstr "" -#: ../Doc/library/unittest.rst:1813 +#: ../Doc/library/unittest.rst:1816 msgid "" "Find all the test modules by recursing into subdirectories from the " "specified start directory, and return a TestSuite object containing them. " @@ -2192,14 +2196,14 @@ msgid "" "Python identifiers) will be loaded." msgstr "" -#: ../Doc/library/unittest.rst:1819 +#: ../Doc/library/unittest.rst:1822 msgid "" "All test modules must be importable from the top level of the project. If " "the start directory is not the top level directory then the top level " "directory must be specified separately." msgstr "" -#: ../Doc/library/unittest.rst:1823 +#: ../Doc/library/unittest.rst:1826 msgid "" "If importing a module fails, for example due to a syntax error, then this " "will be recorded as a single error and discovery will continue. If the " @@ -2207,7 +2211,7 @@ msgid "" "as a skip instead of an error." msgstr "" -#: ../Doc/library/unittest.rst:1828 +#: ../Doc/library/unittest.rst:1831 msgid "" "If a package (a directory containing a file named :file:`__init__.py`) is " "found, the package will be checked for a ``load_tests`` function. If this " @@ -2217,13 +2221,13 @@ msgid "" "itself calls ``loader.discover``." msgstr "" -#: ../Doc/library/unittest.rst:1836 +#: ../Doc/library/unittest.rst:1839 msgid "" "If ``load_tests`` exists then discovery does *not* recurse into the package, " "``load_tests`` is responsible for loading all tests in the package." msgstr "" -#: ../Doc/library/unittest.rst:1840 +#: ../Doc/library/unittest.rst:1843 msgid "" "The pattern is deliberately not stored as a loader attribute so that " "packages can continue discovery themselves. *top_level_dir* is stored so " @@ -2231,68 +2235,75 @@ msgid "" "discover()``." msgstr "" -#: ../Doc/library/unittest.rst:1845 +#: ../Doc/library/unittest.rst:1848 msgid "*start_dir* can be a dotted module name as well as a directory." msgstr "" -#: ../Doc/library/unittest.rst:1849 +#: ../Doc/library/unittest.rst:1852 msgid "" -"Modules that raise :exc:`SkipTest` on import are recorded as skips, not " -"errors. Discovery works for :term:`namespace packages `. " -"Paths are sorted before being imported so that execution order is the same " -"even if the underlying file system's ordering is not dependent on file " -"name." +"Modules that raise :exc:`SkipTest` on import are recorded as skips, not " +"errors." msgstr "" -#: ../Doc/library/unittest.rst:1857 +#: ../Doc/library/unittest.rst:1856 +msgid "*start_dir* can be a :term:`namespace packages `." +msgstr "" + +#: ../Doc/library/unittest.rst:1859 +msgid "" +"Paths are sorted before being imported so that execution order is the same " +"even if the underlying file system's ordering is not dependent on file name." +msgstr "" + +#: ../Doc/library/unittest.rst:1864 msgid "" "Found packages are now checked for ``load_tests`` regardless of whether " "their path matches *pattern*, because it is impossible for a package name to " "match the default pattern." msgstr "" -#: ../Doc/library/unittest.rst:1863 +#: ../Doc/library/unittest.rst:1870 msgid "" "The following attributes of a :class:`TestLoader` can be configured either " "by subclassing or assignment on an instance:" msgstr "" -#: ../Doc/library/unittest.rst:1869 +#: ../Doc/library/unittest.rst:1876 msgid "" "String giving the prefix of method names which will be interpreted as test " "methods. The default value is ``'test'``." msgstr "" -#: ../Doc/library/unittest.rst:1872 +#: ../Doc/library/unittest.rst:1879 msgid "" "This affects :meth:`getTestCaseNames` and all the :meth:`loadTestsFrom\\*` " "methods." msgstr "" -#: ../Doc/library/unittest.rst:1878 +#: ../Doc/library/unittest.rst:1885 msgid "" "Function to be used to compare method names when sorting them in :meth:" "`getTestCaseNames` and all the :meth:`loadTestsFrom\\*` methods." msgstr "" -#: ../Doc/library/unittest.rst:1884 +#: ../Doc/library/unittest.rst:1891 msgid "" "Callable object that constructs a test suite from a list of tests. No " "methods on the resulting object are needed. The default value is the :class:" "`TestSuite` class." msgstr "" -#: ../Doc/library/unittest.rst:1888 ../Doc/library/unittest.rst:1901 +#: ../Doc/library/unittest.rst:1895 ../Doc/library/unittest.rst:1908 msgid "This affects all the :meth:`loadTestsFrom\\*` methods." msgstr "" -#: ../Doc/library/unittest.rst:1892 +#: ../Doc/library/unittest.rst:1899 msgid "" "List of Unix shell-style wildcard test name patterns that test methods have " "to match to be included in test suites (see ``-v`` option)." msgstr "" -#: ../Doc/library/unittest.rst:1895 +#: ../Doc/library/unittest.rst:1902 msgid "" "If this attribute is not ``None`` (the default), all test methods to be " "included in test suites must match one of the patterns in this list. Note " @@ -2301,13 +2312,13 @@ msgid "" "have to be converted using ``*`` wildcards." msgstr "" -#: ../Doc/library/unittest.rst:1908 +#: ../Doc/library/unittest.rst:1915 msgid "" "This class is used to compile information about which tests have succeeded " "and which have failed." msgstr "" -#: ../Doc/library/unittest.rst:1911 +#: ../Doc/library/unittest.rst:1918 msgid "" "A :class:`TestResult` object stores the results of a set of tests. The :" "class:`TestCase` and :class:`TestSuite` classes ensure that results are " @@ -2315,7 +2326,7 @@ msgid "" "outcome of tests." msgstr "" -#: ../Doc/library/unittest.rst:1916 +#: ../Doc/library/unittest.rst:1923 msgid "" "Testing frameworks built on top of :mod:`unittest` may want access to the :" "class:`TestResult` object generated by running a set of tests for reporting " @@ -2323,55 +2334,55 @@ msgid "" "`TestRunner.run` method for this purpose." msgstr "" -#: ../Doc/library/unittest.rst:1921 +#: ../Doc/library/unittest.rst:1928 msgid "" ":class:`TestResult` instances have the following attributes that will be of " "interest when inspecting the results of running a set of tests:" msgstr "" -#: ../Doc/library/unittest.rst:1927 +#: ../Doc/library/unittest.rst:1934 msgid "" "A list containing 2-tuples of :class:`TestCase` instances and strings " "holding formatted tracebacks. Each tuple represents a test which raised an " "unexpected exception." msgstr "" -#: ../Doc/library/unittest.rst:1933 +#: ../Doc/library/unittest.rst:1940 msgid "" "A list containing 2-tuples of :class:`TestCase` instances and strings " "holding formatted tracebacks. Each tuple represents a test where a failure " "was explicitly signalled using the :meth:`TestCase.assert\\*` methods." msgstr "" -#: ../Doc/library/unittest.rst:1939 +#: ../Doc/library/unittest.rst:1946 msgid "" "A list containing 2-tuples of :class:`TestCase` instances and strings " "holding the reason for skipping the test." msgstr "" -#: ../Doc/library/unittest.rst:1946 +#: ../Doc/library/unittest.rst:1953 msgid "" "A list containing 2-tuples of :class:`TestCase` instances and strings " -"holding formatted tracebacks. Each tuple represents an expected failure of " -"the test case." +"holding formatted tracebacks. Each tuple represents an expected failure or " +"error of the test case." msgstr "" -#: ../Doc/library/unittest.rst:1952 +#: ../Doc/library/unittest.rst:1959 msgid "" "A list containing :class:`TestCase` instances that were marked as expected " "failures, but succeeded." msgstr "" -#: ../Doc/library/unittest.rst:1957 +#: ../Doc/library/unittest.rst:1964 msgid "" "Set to ``True`` when the execution of tests should stop by :meth:`stop`." msgstr "" -#: ../Doc/library/unittest.rst:1961 +#: ../Doc/library/unittest.rst:1968 msgid "The total number of tests run so far." msgstr "" -#: ../Doc/library/unittest.rst:1965 +#: ../Doc/library/unittest.rst:1972 msgid "" "If set to true, ``sys.stdout`` and ``sys.stderr`` will be buffered in " "between :meth:`startTest` and :meth:`stopTest` being called. Collected " @@ -2380,29 +2391,29 @@ msgid "" "error message." msgstr "" -#: ../Doc/library/unittest.rst:1974 +#: ../Doc/library/unittest.rst:1981 msgid "" "If set to true :meth:`stop` will be called on the first failure or error, " "halting the test run." msgstr "" -#: ../Doc/library/unittest.rst:1981 +#: ../Doc/library/unittest.rst:1988 msgid "If set to true then local variables will be shown in tracebacks." msgstr "" -#: ../Doc/library/unittest.rst:1987 +#: ../Doc/library/unittest.rst:1994 msgid "" "Return ``True`` if all tests run so far have passed, otherwise returns " "``False``." msgstr "" -#: ../Doc/library/unittest.rst:1990 +#: ../Doc/library/unittest.rst:1997 msgid "" "Returns ``False`` if there were any :attr:`unexpectedSuccesses` from tests " "marked with the :func:`expectedFailure` decorator." msgstr "" -#: ../Doc/library/unittest.rst:1996 +#: ../Doc/library/unittest.rst:2003 msgid "" "This method can be called to signal that the set of tests being run should " "be aborted by setting the :attr:`shouldStop` attribute to ``True``. :class:" @@ -2410,7 +2421,7 @@ msgid "" "additional tests." msgstr "" -#: ../Doc/library/unittest.rst:2001 +#: ../Doc/library/unittest.rst:2008 msgid "" "For example, this feature is used by the :class:`TextTestRunner` class to " "stop the test framework when the user signals an interrupt from the " @@ -2418,7 +2429,7 @@ msgid "" "implementations can use this in a similar manner." msgstr "" -#: ../Doc/library/unittest.rst:2006 +#: ../Doc/library/unittest.rst:2013 msgid "" "The following methods of the :class:`TestResult` class are used to maintain " "the internal data structures, and may be extended in subclasses to support " @@ -2426,136 +2437,136 @@ msgid "" "tools which support interactive reporting while tests are being run." msgstr "" -#: ../Doc/library/unittest.rst:2014 +#: ../Doc/library/unittest.rst:2021 msgid "Called when the test case *test* is about to be run." msgstr "" -#: ../Doc/library/unittest.rst:2018 +#: ../Doc/library/unittest.rst:2025 msgid "" "Called after the test case *test* has been executed, regardless of the " "outcome." msgstr "" -#: ../Doc/library/unittest.rst:2023 +#: ../Doc/library/unittest.rst:2030 msgid "Called once before any tests are executed." msgstr "" -#: ../Doc/library/unittest.rst:2030 +#: ../Doc/library/unittest.rst:2037 msgid "Called once after all tests are executed." msgstr "" -#: ../Doc/library/unittest.rst:2037 +#: ../Doc/library/unittest.rst:2044 msgid "" "Called when the test case *test* raises an unexpected exception. *err* is a " "tuple of the form returned by :func:`sys.exc_info`: ``(type, value, " "traceback)``." msgstr "" -#: ../Doc/library/unittest.rst:2041 +#: ../Doc/library/unittest.rst:2048 msgid "" "The default implementation appends a tuple ``(test, formatted_err)`` to the " "instance's :attr:`errors` attribute, where *formatted_err* is a formatted " "traceback derived from *err*." msgstr "" -#: ../Doc/library/unittest.rst:2048 +#: ../Doc/library/unittest.rst:2055 msgid "" "Called when the test case *test* signals a failure. *err* is a tuple of the " "form returned by :func:`sys.exc_info`: ``(type, value, traceback)``." msgstr "" -#: ../Doc/library/unittest.rst:2051 +#: ../Doc/library/unittest.rst:2058 msgid "" "The default implementation appends a tuple ``(test, formatted_err)`` to the " "instance's :attr:`failures` attribute, where *formatted_err* is a formatted " "traceback derived from *err*." msgstr "" -#: ../Doc/library/unittest.rst:2058 +#: ../Doc/library/unittest.rst:2065 msgid "Called when the test case *test* succeeds." msgstr "" -#: ../Doc/library/unittest.rst:2060 +#: ../Doc/library/unittest.rst:2067 msgid "The default implementation does nothing." msgstr "" -#: ../Doc/library/unittest.rst:2065 +#: ../Doc/library/unittest.rst:2072 msgid "" "Called when the test case *test* is skipped. *reason* is the reason the " "test gave for skipping." msgstr "" -#: ../Doc/library/unittest.rst:2068 +#: ../Doc/library/unittest.rst:2075 msgid "" "The default implementation appends a tuple ``(test, reason)`` to the " "instance's :attr:`skipped` attribute." msgstr "" -#: ../Doc/library/unittest.rst:2074 +#: ../Doc/library/unittest.rst:2081 msgid "" -"Called when the test case *test* fails, but was marked with the :func:" -"`expectedFailure` decorator." +"Called when the test case *test* fails or errors, but was marked with the :" +"func:`expectedFailure` decorator." msgstr "" -#: ../Doc/library/unittest.rst:2077 +#: ../Doc/library/unittest.rst:2084 msgid "" "The default implementation appends a tuple ``(test, formatted_err)`` to the " "instance's :attr:`expectedFailures` attribute, where *formatted_err* is a " "formatted traceback derived from *err*." msgstr "" -#: ../Doc/library/unittest.rst:2084 +#: ../Doc/library/unittest.rst:2091 msgid "" "Called when the test case *test* was marked with the :func:`expectedFailure` " "decorator, but succeeded." msgstr "" -#: ../Doc/library/unittest.rst:2087 +#: ../Doc/library/unittest.rst:2094 msgid "" "The default implementation appends the test to the instance's :attr:" "`unexpectedSuccesses` attribute." msgstr "" -#: ../Doc/library/unittest.rst:2093 +#: ../Doc/library/unittest.rst:2100 msgid "" "Called when a subtest finishes. *test* is the test case corresponding to " "the test method. *subtest* is a custom :class:`TestCase` instance " "describing the subtest." msgstr "" -#: ../Doc/library/unittest.rst:2097 +#: ../Doc/library/unittest.rst:2104 msgid "" "If *outcome* is :const:`None`, the subtest succeeded. Otherwise, it failed " "with an exception where *outcome* is a tuple of the form returned by :func:" "`sys.exc_info`: ``(type, value, traceback)``." msgstr "" -#: ../Doc/library/unittest.rst:2101 +#: ../Doc/library/unittest.rst:2108 msgid "" "The default implementation does nothing when the outcome is a success, and " "records subtest failures as normal failures." msgstr "" -#: ../Doc/library/unittest.rst:2109 +#: ../Doc/library/unittest.rst:2116 msgid "" "A concrete implementation of :class:`TestResult` used by the :class:" "`TextTestRunner`." msgstr "" -#: ../Doc/library/unittest.rst:2112 +#: ../Doc/library/unittest.rst:2119 msgid "" "This class was previously named ``_TextTestResult``. The old name still " "exists as an alias but is deprecated." msgstr "" -#: ../Doc/library/unittest.rst:2119 +#: ../Doc/library/unittest.rst:2126 msgid "" "Instance of the :class:`TestLoader` class intended to be shared. If no " "customization of the :class:`TestLoader` is needed, this instance can be " "used instead of repeatedly creating new instances." msgstr "" -#: ../Doc/library/unittest.rst:2127 +#: ../Doc/library/unittest.rst:2134 msgid "" "A basic test runner implementation that outputs results to a stream. If " "*stream* is ``None``, the default, :data:`sys.stderr` is used as the output " @@ -2566,7 +2577,7 @@ msgid "" "unittest." msgstr "" -#: ../Doc/library/unittest.rst:2134 +#: ../Doc/library/unittest.rst:2141 msgid "" "By default this runner shows :exc:`DeprecationWarning`, :exc:" "`PendingDeprecationWarning`, :exc:`ResourceWarning` and :exc:`ImportWarning` " @@ -2579,28 +2590,28 @@ msgid "" "warnings>`) and leaving *warnings* to ``None``." msgstr "" -#: ../Doc/library/unittest.rst:2145 +#: ../Doc/library/unittest.rst:2152 msgid "Added the ``warnings`` argument." msgstr "" -#: ../Doc/library/unittest.rst:2148 +#: ../Doc/library/unittest.rst:2155 msgid "" "The default stream is set to :data:`sys.stderr` at instantiation time rather " "than import time." msgstr "" -#: ../Doc/library/unittest.rst:2152 +#: ../Doc/library/unittest.rst:2159 msgid "Added the tb_locals parameter." msgstr "" -#: ../Doc/library/unittest.rst:2157 +#: ../Doc/library/unittest.rst:2164 msgid "" "This method returns the instance of ``TestResult`` used by :meth:`run`. It " "is not intended to be called directly, but can be overridden in subclasses " "to provide a custom ``TestResult``." msgstr "" -#: ../Doc/library/unittest.rst:2161 +#: ../Doc/library/unittest.rst:2168 msgid "" "``_makeResult()`` instantiates the class or callable passed in the " "``TextTestRunner`` constructor as the ``resultclass`` argument. It defaults " @@ -2608,7 +2619,7 @@ msgid "" "class is instantiated with the following arguments::" msgstr "" -#: ../Doc/library/unittest.rst:2170 +#: ../Doc/library/unittest.rst:2177 msgid "" "This method is the main public interface to the ``TextTestRunner``. This " "method takes a :class:`TestSuite` or :class:`TestCase` instance. A :class:" @@ -2616,7 +2627,7 @@ msgid "" "run and the results printed to stdout." msgstr "" -#: ../Doc/library/unittest.rst:2181 +#: ../Doc/library/unittest.rst:2188 msgid "" "A command-line program that loads a set of tests from *module* and runs " "them; this is primarily for making test modules conveniently executable. The " @@ -2624,13 +2635,13 @@ msgid "" "of a test script::" msgstr "" -#: ../Doc/library/unittest.rst:2189 +#: ../Doc/library/unittest.rst:2196 msgid "" "You can run tests with more detailed information by passing in the verbosity " "argument::" msgstr "" -#: ../Doc/library/unittest.rst:2195 +#: ../Doc/library/unittest.rst:2202 msgid "" "The *defaultTest* argument is either the name of a single test or an " "iterable of test names to run if no test names are specified via *argv*. If " @@ -2638,40 +2649,40 @@ msgid "" "tests found in *module* are run." msgstr "" -#: ../Doc/library/unittest.rst:2200 +#: ../Doc/library/unittest.rst:2207 msgid "" "The *argv* argument can be a list of options passed to the program, with the " "first element being the program name. If not specified or ``None``, the " "values of :data:`sys.argv` are used." msgstr "" -#: ../Doc/library/unittest.rst:2204 +#: ../Doc/library/unittest.rst:2211 msgid "" "The *testRunner* argument can either be a test runner class or an already " "created instance of it. By default ``main`` calls :func:`sys.exit` with an " "exit code indicating success or failure of the tests run." msgstr "" -#: ../Doc/library/unittest.rst:2208 +#: ../Doc/library/unittest.rst:2215 msgid "" "The *testLoader* argument has to be a :class:`TestLoader` instance, and " "defaults to :data:`defaultTestLoader`." msgstr "" -#: ../Doc/library/unittest.rst:2211 +#: ../Doc/library/unittest.rst:2218 msgid "" "``main`` supports being used from the interactive interpreter by passing in " "the argument ``exit=False``. This displays the result on standard output " "without calling :func:`sys.exit`::" msgstr "" -#: ../Doc/library/unittest.rst:2218 +#: ../Doc/library/unittest.rst:2225 msgid "" "The *failfast*, *catchbreak* and *buffer* parameters have the same effect as " "the same-name `command-line options`_." msgstr "" -#: ../Doc/library/unittest.rst:2221 +#: ../Doc/library/unittest.rst:2228 msgid "" "The *warnings* argument specifies the :ref:`warning filter ` " "that should be used while running the tests. If it's not specified, it will " @@ -2680,56 +2691,56 @@ msgid "" "to ``'default'``." msgstr "" -#: ../Doc/library/unittest.rst:2227 +#: ../Doc/library/unittest.rst:2234 msgid "" "Calling ``main`` actually returns an instance of the ``TestProgram`` class. " "This stores the result of the tests run as the ``result`` attribute." msgstr "" -#: ../Doc/library/unittest.rst:2230 +#: ../Doc/library/unittest.rst:2237 msgid "The *exit* parameter was added." msgstr "" -#: ../Doc/library/unittest.rst:2233 +#: ../Doc/library/unittest.rst:2240 msgid "" "The *verbosity*, *failfast*, *catchbreak*, *buffer* and *warnings* " "parameters were added." msgstr "" -#: ../Doc/library/unittest.rst:2237 +#: ../Doc/library/unittest.rst:2244 msgid "" "The *defaultTest* parameter was changed to also accept an iterable of test " "names." msgstr "" -#: ../Doc/library/unittest.rst:2243 +#: ../Doc/library/unittest.rst:2250 msgid "load_tests Protocol" msgstr "" -#: ../Doc/library/unittest.rst:2247 +#: ../Doc/library/unittest.rst:2254 msgid "" "Modules or packages can customize how tests are loaded from them during " "normal test runs or test discovery by implementing a function called " "``load_tests``." msgstr "" -#: ../Doc/library/unittest.rst:2250 +#: ../Doc/library/unittest.rst:2257 msgid "" "If a test module defines ``load_tests`` it will be called by :meth:" "`TestLoader.loadTestsFromModule` with the following arguments::" msgstr "" -#: ../Doc/library/unittest.rst:2255 +#: ../Doc/library/unittest.rst:2262 msgid "" "where *pattern* is passed straight through from ``loadTestsFromModule``. It " "defaults to ``None``." msgstr "" -#: ../Doc/library/unittest.rst:2258 +#: ../Doc/library/unittest.rst:2265 msgid "It should return a :class:`TestSuite`." msgstr "" -#: ../Doc/library/unittest.rst:2260 +#: ../Doc/library/unittest.rst:2267 msgid "" "*loader* is the instance of :class:`TestLoader` doing the loading. " "*standard_tests* are the tests that would be loaded by default from the " @@ -2738,13 +2749,13 @@ msgid "" "packages as part of test discovery." msgstr "" -#: ../Doc/library/unittest.rst:2266 +#: ../Doc/library/unittest.rst:2273 msgid "" "A typical ``load_tests`` function that loads tests from a specific set of :" "class:`TestCase` classes may look like::" msgstr "" -#: ../Doc/library/unittest.rst:2278 +#: ../Doc/library/unittest.rst:2285 msgid "" "If discovery is started in a directory containing a package, either from the " "command line or by calling :meth:`TestLoader.discover`, then the package :" @@ -2754,31 +2765,31 @@ msgid "" "left up to ``load_tests`` which is called with the following arguments::" msgstr "" -#: ../Doc/library/unittest.rst:2287 +#: ../Doc/library/unittest.rst:2294 msgid "" "This should return a :class:`TestSuite` representing all the tests from the " "package. (``standard_tests`` will only contain tests collected from :file:" "`__init__.py`.)" msgstr "" -#: ../Doc/library/unittest.rst:2291 +#: ../Doc/library/unittest.rst:2298 msgid "" "Because the pattern is passed into ``load_tests`` the package is free to " "continue (and potentially modify) test discovery. A 'do nothing' " "``load_tests`` function for a test package would look like::" msgstr "" -#: ../Doc/library/unittest.rst:2302 +#: ../Doc/library/unittest.rst:2309 msgid "" "Discovery no longer checks package names for matching *pattern* due to the " "impossibility of package names matching the default pattern." msgstr "" -#: ../Doc/library/unittest.rst:2309 +#: ../Doc/library/unittest.rst:2316 msgid "Class and Module Fixtures" msgstr "" -#: ../Doc/library/unittest.rst:2311 +#: ../Doc/library/unittest.rst:2318 msgid "" "Class and module level fixtures are implemented in :class:`TestSuite`. When " "the test suite encounters a test from a new class then :meth:`tearDownClass` " @@ -2786,27 +2797,27 @@ msgid "" "`setUpClass` from the new class." msgstr "" -#: ../Doc/library/unittest.rst:2316 +#: ../Doc/library/unittest.rst:2323 msgid "" "Similarly if a test is from a different module from the previous test then " "``tearDownModule`` from the previous module is run, followed by " "``setUpModule`` from the new module." msgstr "" -#: ../Doc/library/unittest.rst:2320 +#: ../Doc/library/unittest.rst:2327 msgid "" "After all the tests have run the final ``tearDownClass`` and " "``tearDownModule`` are run." msgstr "" -#: ../Doc/library/unittest.rst:2323 +#: ../Doc/library/unittest.rst:2330 msgid "" "Note that shared fixtures do not play well with [potential] features like " "test parallelization and they break test isolation. They should be used with " "care." msgstr "" -#: ../Doc/library/unittest.rst:2326 +#: ../Doc/library/unittest.rst:2333 msgid "" "The default ordering of tests created by the unittest test loaders is to " "group all tests from the same modules and classes together. This will lead " @@ -2816,14 +2827,14 @@ msgid "" "functions may be called multiple times in a single test run." msgstr "" -#: ../Doc/library/unittest.rst:2333 +#: ../Doc/library/unittest.rst:2340 msgid "" "Shared fixtures are not intended to work with suites with non-standard " "ordering. A ``BaseTestSuite`` still exists for frameworks that don't want to " "support shared fixtures." msgstr "" -#: ../Doc/library/unittest.rst:2337 +#: ../Doc/library/unittest.rst:2344 msgid "" "If there are any exceptions raised during one of the shared fixture " "functions the test is reported as an error. Because there is no " @@ -2833,22 +2844,22 @@ msgid "" "matter, but if you are a framework author it may be relevant." msgstr "" -#: ../Doc/library/unittest.rst:2346 +#: ../Doc/library/unittest.rst:2353 msgid "setUpClass and tearDownClass" msgstr "" -#: ../Doc/library/unittest.rst:2348 +#: ../Doc/library/unittest.rst:2355 msgid "These must be implemented as class methods::" msgstr "" -#: ../Doc/library/unittest.rst:2361 +#: ../Doc/library/unittest.rst:2368 msgid "" "If you want the ``setUpClass`` and ``tearDownClass`` on base classes called " "then you must call up to them yourself. The implementations in :class:" "`TestCase` are empty." msgstr "" -#: ../Doc/library/unittest.rst:2365 +#: ../Doc/library/unittest.rst:2372 msgid "" "If an exception is raised during a ``setUpClass`` then the tests in the " "class are not run and the ``tearDownClass`` is not run. Skipped classes will " @@ -2857,15 +2868,15 @@ msgid "" "instead of as an error." msgstr "" -#: ../Doc/library/unittest.rst:2373 +#: ../Doc/library/unittest.rst:2380 msgid "setUpModule and tearDownModule" msgstr "" -#: ../Doc/library/unittest.rst:2375 +#: ../Doc/library/unittest.rst:2382 msgid "These should be implemented as functions::" msgstr "" -#: ../Doc/library/unittest.rst:2383 +#: ../Doc/library/unittest.rst:2390 msgid "" "If an exception is raised in a ``setUpModule`` then none of the tests in the " "module will be run and the ``tearDownModule`` will not be run. If the " @@ -2873,13 +2884,13 @@ msgid "" "having been skipped instead of as an error." msgstr "" -#: ../Doc/library/unittest.rst:2388 +#: ../Doc/library/unittest.rst:2395 msgid "" "To add cleanup code that must be run even in the case of an exception, use " "``addModuleCleanup``:" msgstr "" -#: ../Doc/library/unittest.rst:2394 +#: ../Doc/library/unittest.rst:2401 msgid "" "Add a function to be called after :func:`tearDownModule` to cleanup " "resources used during the test class. Functions will be called in reverse " @@ -2888,36 +2899,36 @@ msgid "" "`addModuleCleanup` when they are added." msgstr "" -#: ../Doc/library/unittest.rst:2400 +#: ../Doc/library/unittest.rst:2407 msgid "" "If :meth:`setUpModule` fails, meaning that :func:`tearDownModule` is not " "called, then any cleanup functions added will still be called." msgstr "" -#: ../Doc/library/unittest.rst:2408 +#: ../Doc/library/unittest.rst:2415 msgid "" "This function is called unconditionally after :func:`tearDownModule`, or " "after :func:`setUpModule` if :func:`setUpModule` raises an exception." msgstr "" -#: ../Doc/library/unittest.rst:2411 +#: ../Doc/library/unittest.rst:2418 msgid "" "It is responsible for calling all the cleanup functions added by :func:" "`addCleanupModule`. If you need cleanup functions to be called *prior* to :" "func:`tearDownModule` then you can call :func:`doModuleCleanups` yourself." msgstr "" -#: ../Doc/library/unittest.rst:2416 +#: ../Doc/library/unittest.rst:2423 msgid "" ":func:`doModuleCleanups` pops methods off the stack of cleanup functions one " "at a time, so it can be called at any time." msgstr "" -#: ../Doc/library/unittest.rst:2422 +#: ../Doc/library/unittest.rst:2429 msgid "Signal Handling" msgstr "" -#: ../Doc/library/unittest.rst:2426 +#: ../Doc/library/unittest.rst:2433 msgid "" "The :option:`-c/--catch ` command-line option to unittest, " "along with the ``catchbreak`` parameter to :func:`unittest.main()`, provide " @@ -2927,7 +2938,7 @@ msgid "" "A second control-c will raise a :exc:`KeyboardInterrupt` in the usual way." msgstr "" -#: ../Doc/library/unittest.rst:2433 +#: ../Doc/library/unittest.rst:2440 msgid "" "The control-c handling signal handler attempts to remain compatible with " "code or tests that install their own :const:`signal.SIGINT` handler. If the " @@ -2939,41 +2950,41 @@ msgid "" "disabled the :func:`removeHandler` decorator can be used." msgstr "" -#: ../Doc/library/unittest.rst:2442 +#: ../Doc/library/unittest.rst:2449 msgid "" "There are a few utility functions for framework authors to enable control-c " "handling functionality within test frameworks." msgstr "" -#: ../Doc/library/unittest.rst:2447 +#: ../Doc/library/unittest.rst:2454 msgid "" "Install the control-c handler. When a :const:`signal.SIGINT` is received " "(usually in response to the user pressing control-c) all registered results " "have :meth:`~TestResult.stop` called." msgstr "" -#: ../Doc/library/unittest.rst:2454 +#: ../Doc/library/unittest.rst:2461 msgid "" "Register a :class:`TestResult` object for control-c handling. Registering a " "result stores a weak reference to it, so it doesn't prevent the result from " "being garbage collected." msgstr "" -#: ../Doc/library/unittest.rst:2458 +#: ../Doc/library/unittest.rst:2465 msgid "" "Registering a :class:`TestResult` object has no side-effects if control-c " "handling is not enabled, so test frameworks can unconditionally register all " "results they create independently of whether or not handling is enabled." msgstr "" -#: ../Doc/library/unittest.rst:2465 +#: ../Doc/library/unittest.rst:2472 msgid "" "Remove a registered result. Once a result has been removed then :meth:" "`~TestResult.stop` will no longer be called on that result object in " "response to a control-c." msgstr "" -#: ../Doc/library/unittest.rst:2472 +#: ../Doc/library/unittest.rst:2479 msgid "" "When called without arguments this function removes the control-c handler if " "it has been installed. This function can also be used as a test decorator to " diff --git a/library/urllib.parse.po b/library/urllib.parse.po index 2c4685d7c7..9a479caf2c 100644 --- a/library/urllib.parse.po +++ b/library/urllib.parse.po @@ -10,16 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-10-12 14:02-0600\n" "Last-Translator: Marcos Moreno \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Language: es\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/urllib.parse.rst:2 msgid ":mod:`urllib.parse` --- Parse URLs into components" @@ -84,15 +84,15 @@ msgstr "" "en una cadena de dirección URL." #: ../Doc/library/urllib.parse.rst:42 -#, python-format +#, fuzzy, python-format msgid "" "Parse a URL into six components, returning a 6-item :term:`named tuple`. " "This corresponds to the general structure of a URL: ``scheme://netloc/path;" "parameters?query#fragment``. Each tuple item is a string, possibly empty. " -"The components are not broken up in smaller parts (for example, the network " -"location is a single string), and % escapes are not expanded. The delimiters " -"as shown above are not part of the result, except for a leading slash in the " -"*path* component, which is retained if present. For example:" +"The components are not broken up into smaller parts (for example, the " +"network location is a single string), and % escapes are not expanded. The " +"delimiters as shown above are not part of the result, except for a leading " +"slash in the *path* component, which is retained if present. For example:" msgstr "" "Analice una dirección URL en seis componentes y retorne una tupla de 6 " "elementos :term:`named tuple`. Esto corresponde a la estructura general de " @@ -148,74 +148,74 @@ msgstr "" "El valor retornado es un :term:`named tuple`, lo que significa que se puede " "tener acceso a sus elementos por índice o como atributos con nombre, que son:" -#: ../Doc/library/urllib.parse.rst:96 ../Doc/library/urllib.parse.rst:261 -#: ../Doc/library/urllib.parse.rst:358 +#: ../Doc/library/urllib.parse.rst:96 ../Doc/library/urllib.parse.rst:280 +#: ../Doc/library/urllib.parse.rst:377 msgid "Attribute" msgstr "Atributo" -#: ../Doc/library/urllib.parse.rst:96 ../Doc/library/urllib.parse.rst:261 -#: ../Doc/library/urllib.parse.rst:358 +#: ../Doc/library/urllib.parse.rst:96 ../Doc/library/urllib.parse.rst:280 +#: ../Doc/library/urllib.parse.rst:377 msgid "Index" msgstr "Índice" -#: ../Doc/library/urllib.parse.rst:96 ../Doc/library/urllib.parse.rst:261 -#: ../Doc/library/urllib.parse.rst:358 +#: ../Doc/library/urllib.parse.rst:96 ../Doc/library/urllib.parse.rst:280 +#: ../Doc/library/urllib.parse.rst:377 msgid "Value" msgstr "Valor" -#: ../Doc/library/urllib.parse.rst:96 ../Doc/library/urllib.parse.rst:261 -#: ../Doc/library/urllib.parse.rst:358 +#: ../Doc/library/urllib.parse.rst:96 ../Doc/library/urllib.parse.rst:280 +#: ../Doc/library/urllib.parse.rst:377 msgid "Value if not present" msgstr "Valor si no está presente" -#: ../Doc/library/urllib.parse.rst:98 ../Doc/library/urllib.parse.rst:263 +#: ../Doc/library/urllib.parse.rst:98 ../Doc/library/urllib.parse.rst:282 msgid ":attr:`scheme`" msgstr ":attr:`scheme`" -#: ../Doc/library/urllib.parse.rst:98 ../Doc/library/urllib.parse.rst:263 -#: ../Doc/library/urllib.parse.rst:360 +#: ../Doc/library/urllib.parse.rst:98 ../Doc/library/urllib.parse.rst:282 +#: ../Doc/library/urllib.parse.rst:379 msgid "0" msgstr "0" -#: ../Doc/library/urllib.parse.rst:98 ../Doc/library/urllib.parse.rst:263 +#: ../Doc/library/urllib.parse.rst:98 ../Doc/library/urllib.parse.rst:282 msgid "URL scheme specifier" msgstr "Especificador de esquema de URL" -#: ../Doc/library/urllib.parse.rst:98 ../Doc/library/urllib.parse.rst:263 +#: ../Doc/library/urllib.parse.rst:98 ../Doc/library/urllib.parse.rst:282 msgid "*scheme* parameter" msgstr "parámetro *scheme*" -#: ../Doc/library/urllib.parse.rst:100 ../Doc/library/urllib.parse.rst:265 +#: ../Doc/library/urllib.parse.rst:100 ../Doc/library/urllib.parse.rst:284 msgid ":attr:`netloc`" msgstr ":attr:`netloc`" -#: ../Doc/library/urllib.parse.rst:100 ../Doc/library/urllib.parse.rst:265 -#: ../Doc/library/urllib.parse.rst:362 +#: ../Doc/library/urllib.parse.rst:100 ../Doc/library/urllib.parse.rst:284 +#: ../Doc/library/urllib.parse.rst:381 msgid "1" msgstr "1" -#: ../Doc/library/urllib.parse.rst:100 ../Doc/library/urllib.parse.rst:265 +#: ../Doc/library/urllib.parse.rst:100 ../Doc/library/urllib.parse.rst:284 msgid "Network location part" msgstr "Parte de ubicación de red" #: ../Doc/library/urllib.parse.rst:100 ../Doc/library/urllib.parse.rst:102 #: ../Doc/library/urllib.parse.rst:104 ../Doc/library/urllib.parse.rst:107 -#: ../Doc/library/urllib.parse.rst:109 ../Doc/library/urllib.parse.rst:265 -#: ../Doc/library/urllib.parse.rst:267 ../Doc/library/urllib.parse.rst:269 -#: ../Doc/library/urllib.parse.rst:271 ../Doc/library/urllib.parse.rst:360 -#: ../Doc/library/urllib.parse.rst:362 +#: ../Doc/library/urllib.parse.rst:109 ../Doc/library/urllib.parse.rst:284 +#: ../Doc/library/urllib.parse.rst:286 ../Doc/library/urllib.parse.rst:288 +#: ../Doc/library/urllib.parse.rst:290 ../Doc/library/urllib.parse.rst:379 +#: ../Doc/library/urllib.parse.rst:381 msgid "empty string" msgstr "cadena vacía" -#: ../Doc/library/urllib.parse.rst:102 ../Doc/library/urllib.parse.rst:267 +#: ../Doc/library/urllib.parse.rst:102 ../Doc/library/urllib.parse.rst:286 msgid ":attr:`path`" msgstr ":attr:`path`" -#: ../Doc/library/urllib.parse.rst:102 ../Doc/library/urllib.parse.rst:267 +#: ../Doc/library/urllib.parse.rst:102 ../Doc/library/urllib.parse.rst:286 msgid "2" msgstr "2" -#: ../Doc/library/urllib.parse.rst:102 ../Doc/library/urllib.parse.rst:267 +#: ../Doc/library/urllib.parse.rst:102 ../Doc/library/urllib.parse.rst:286 msgid "Hierarchical path" msgstr "Hierarchical path" @@ -223,7 +223,7 @@ msgstr "Hierarchical path" msgid ":attr:`params`" msgstr ":attr:`params`" -#: ../Doc/library/urllib.parse.rst:104 ../Doc/library/urllib.parse.rst:269 +#: ../Doc/library/urllib.parse.rst:104 ../Doc/library/urllib.parse.rst:288 msgid "3" msgstr "3" @@ -231,20 +231,20 @@ msgstr "3" msgid "Parameters for last path element" msgstr "Parámetros para el último elemento de ruta de acceso" -#: ../Doc/library/urllib.parse.rst:107 ../Doc/library/urllib.parse.rst:269 +#: ../Doc/library/urllib.parse.rst:107 ../Doc/library/urllib.parse.rst:288 msgid ":attr:`query`" msgstr ":attr:`query`" -#: ../Doc/library/urllib.parse.rst:107 ../Doc/library/urllib.parse.rst:271 +#: ../Doc/library/urllib.parse.rst:107 ../Doc/library/urllib.parse.rst:290 msgid "4" msgstr "4" -#: ../Doc/library/urllib.parse.rst:107 ../Doc/library/urllib.parse.rst:269 +#: ../Doc/library/urllib.parse.rst:107 ../Doc/library/urllib.parse.rst:288 msgid "Query component" msgstr "Componente de consulta" -#: ../Doc/library/urllib.parse.rst:109 ../Doc/library/urllib.parse.rst:271 -#: ../Doc/library/urllib.parse.rst:362 +#: ../Doc/library/urllib.parse.rst:109 ../Doc/library/urllib.parse.rst:290 +#: ../Doc/library/urllib.parse.rst:381 msgid ":attr:`fragment`" msgstr ":attr:`fragment`" @@ -252,51 +252,51 @@ msgstr ":attr:`fragment`" msgid "5" msgstr "5" -#: ../Doc/library/urllib.parse.rst:109 ../Doc/library/urllib.parse.rst:271 -#: ../Doc/library/urllib.parse.rst:362 +#: ../Doc/library/urllib.parse.rst:109 ../Doc/library/urllib.parse.rst:290 +#: ../Doc/library/urllib.parse.rst:381 msgid "Fragment identifier" msgstr "Identificador de fragmento" -#: ../Doc/library/urllib.parse.rst:111 ../Doc/library/urllib.parse.rst:273 +#: ../Doc/library/urllib.parse.rst:111 ../Doc/library/urllib.parse.rst:292 msgid ":attr:`username`" msgstr ":attr:`username`" -#: ../Doc/library/urllib.parse.rst:111 ../Doc/library/urllib.parse.rst:273 +#: ../Doc/library/urllib.parse.rst:111 ../Doc/library/urllib.parse.rst:292 msgid "User name" msgstr "Nombre de usuario" #: ../Doc/library/urllib.parse.rst:111 ../Doc/library/urllib.parse.rst:113 #: ../Doc/library/urllib.parse.rst:115 ../Doc/library/urllib.parse.rst:117 -#: ../Doc/library/urllib.parse.rst:273 ../Doc/library/urllib.parse.rst:275 -#: ../Doc/library/urllib.parse.rst:277 ../Doc/library/urllib.parse.rst:279 +#: ../Doc/library/urllib.parse.rst:292 ../Doc/library/urllib.parse.rst:294 +#: ../Doc/library/urllib.parse.rst:296 ../Doc/library/urllib.parse.rst:298 msgid ":const:`None`" msgstr ":const:`None`" -#: ../Doc/library/urllib.parse.rst:113 ../Doc/library/urllib.parse.rst:275 +#: ../Doc/library/urllib.parse.rst:113 ../Doc/library/urllib.parse.rst:294 msgid ":attr:`password`" msgstr ":attr:`password`" -#: ../Doc/library/urllib.parse.rst:113 ../Doc/library/urllib.parse.rst:275 +#: ../Doc/library/urllib.parse.rst:113 ../Doc/library/urllib.parse.rst:294 msgid "Password" msgstr "Contraseña" -#: ../Doc/library/urllib.parse.rst:115 ../Doc/library/urllib.parse.rst:277 +#: ../Doc/library/urllib.parse.rst:115 ../Doc/library/urllib.parse.rst:296 msgid ":attr:`hostname`" msgstr ":attr:`hostname`" -#: ../Doc/library/urllib.parse.rst:115 ../Doc/library/urllib.parse.rst:277 +#: ../Doc/library/urllib.parse.rst:115 ../Doc/library/urllib.parse.rst:296 msgid "Host name (lower case)" msgstr "Nombre de host (minúsculas)" -#: ../Doc/library/urllib.parse.rst:117 ../Doc/library/urllib.parse.rst:279 +#: ../Doc/library/urllib.parse.rst:117 ../Doc/library/urllib.parse.rst:298 msgid ":attr:`port`" msgstr ":attr:`port`" -#: ../Doc/library/urllib.parse.rst:117 ../Doc/library/urllib.parse.rst:279 +#: ../Doc/library/urllib.parse.rst:117 ../Doc/library/urllib.parse.rst:298 msgid "Port number as integer, if present" msgstr "Número de puerto como entero, si está presente" -#: ../Doc/library/urllib.parse.rst:121 ../Doc/library/urllib.parse.rst:283 +#: ../Doc/library/urllib.parse.rst:121 ../Doc/library/urllib.parse.rst:302 msgid "" "Reading the :attr:`port` attribute will raise a :exc:`ValueError` if an " "invalid port is specified in the URL. See section :ref:`urlparse-result-" @@ -307,7 +307,7 @@ msgstr "" "ref:`urlparse-result-object` para obtener más información sobre el objeto de " "resultado." -#: ../Doc/library/urllib.parse.rst:125 ../Doc/library/urllib.parse.rst:287 +#: ../Doc/library/urllib.parse.rst:125 ../Doc/library/urllib.parse.rst:306 msgid "" "Unmatched square brackets in the :attr:`netloc` attribute will raise a :exc:" "`ValueError`." @@ -315,7 +315,7 @@ msgstr "" "Los corchetes no coincidentes en el atributo :attr:`netloc` generarán un :" "exc:`ValueError`." -#: ../Doc/library/urllib.parse.rst:128 ../Doc/library/urllib.parse.rst:290 +#: ../Doc/library/urllib.parse.rst:128 ../Doc/library/urllib.parse.rst:309 msgid "" "Characters in the :attr:`netloc` attribute that decompose under NFKC " "normalization (as used by the IDNA encoding) into any of ``/``, ``?``, " @@ -354,7 +354,7 @@ msgstr "" "*allow_fragment* sea false), de acuerdo con :rfc:`3986`. Anteriormente, " "existía una lista blanca de esquemas que admiten fragmentos." -#: ../Doc/library/urllib.parse.rst:159 ../Doc/library/urllib.parse.rst:295 +#: ../Doc/library/urllib.parse.rst:159 ../Doc/library/urllib.parse.rst:314 msgid "" "Out-of-range port numbers now raise :exc:`ValueError`, instead of returning :" "const:`None`." @@ -362,7 +362,7 @@ msgstr "" "Los números de puerto fuera de rango ahora generan :exc:`ValueError`, en " "lugar de retornar :const:`None`." -#: ../Doc/library/urllib.parse.rst:163 ../Doc/library/urllib.parse.rst:299 +#: ../Doc/library/urllib.parse.rst:163 ../Doc/library/urllib.parse.rst:318 msgid "" "Characters that affect netloc parsing under NFKC normalization will now " "raise :exc:`ValueError`." @@ -383,7 +383,7 @@ msgstr "" "variable de consulta únicos y los valores son listas de valores para cada " "nombre." -#: ../Doc/library/urllib.parse.rst:175 ../Doc/library/urllib.parse.rst:210 +#: ../Doc/library/urllib.parse.rst:175 ../Doc/library/urllib.parse.rst:220 msgid "" "The optional argument *keep_blank_values* is a flag indicating whether blank " "values in percent-encoded queries should be treated as blank strings. A true " @@ -398,7 +398,7 @@ msgstr "" "indica que los valores en blanco deben omitirse y tratarse como si no se " "hubieran incluido." -#: ../Doc/library/urllib.parse.rst:181 ../Doc/library/urllib.parse.rst:216 +#: ../Doc/library/urllib.parse.rst:181 ../Doc/library/urllib.parse.rst:226 msgid "" "The optional argument *strict_parsing* is a flag indicating what to do with " "parsing errors. If false (the default), errors are silently ignored. If " @@ -409,7 +409,7 @@ msgstr "" "omiten silenciosamente. Si es true, los errores generan una excepción :exc:" "`ValueError`." -#: ../Doc/library/urllib.parse.rst:185 ../Doc/library/urllib.parse.rst:220 +#: ../Doc/library/urllib.parse.rst:185 ../Doc/library/urllib.parse.rst:230 msgid "" "The optional *encoding* and *errors* parameters specify how to decode " "percent-encoded sequences into Unicode characters, as accepted by the :meth:" @@ -419,7 +419,7 @@ msgstr "" "descodificar secuencias codificadas porcentualmente en caracteres Unicode, " "tal como lo acepta el método :meth:`bytes.decode`." -#: ../Doc/library/urllib.parse.rst:189 ../Doc/library/urllib.parse.rst:224 +#: ../Doc/library/urllib.parse.rst:189 ../Doc/library/urllib.parse.rst:234 msgid "" "The optional argument *max_num_fields* is the maximum number of fields to " "read. If set, then throws a :exc:`ValueError` if there are more than " @@ -429,7 +429,13 @@ msgstr "" "van a leer. Si se establece, se produce un :exc:`ValueError` si hay más de " "*max_num_fields* campos leídos." -#: ../Doc/library/urllib.parse.rst:193 +#: ../Doc/library/urllib.parse.rst:193 ../Doc/library/urllib.parse.rst:238 +msgid "" +"The optional argument *separator* is the symbol to use for separating the " +"query arguments. It defaults to ``&``." +msgstr "" + +#: ../Doc/library/urllib.parse.rst:196 msgid "" "Use the :func:`urllib.parse.urlencode` function (with the ``doseq`` " "parameter set to ``True``) to convert such dictionaries into query strings." @@ -438,15 +444,23 @@ msgstr "" "``doseq`` establecido en ``True``) para convertir dichos diccionarios en " "cadenas de consulta." -#: ../Doc/library/urllib.parse.rst:197 ../Doc/library/urllib.parse.rst:231 +#: ../Doc/library/urllib.parse.rst:201 ../Doc/library/urllib.parse.rst:243 msgid "Add *encoding* and *errors* parameters." msgstr "Agregue los parámetros *encoding* y *errors*." -#: ../Doc/library/urllib.parse.rst:200 ../Doc/library/urllib.parse.rst:234 +#: ../Doc/library/urllib.parse.rst:204 ../Doc/library/urllib.parse.rst:246 msgid "Added *max_num_fields* parameter." msgstr "Añadido parámetro *max_num_fields*." -#: ../Doc/library/urllib.parse.rst:206 +#: ../Doc/library/urllib.parse.rst:207 ../Doc/library/urllib.parse.rst:249 +msgid "" +"Added *separator* parameter with the default value of ``&``. Python versions " +"earlier than Python 3.9.2 allowed using both ``;`` and ``&`` as query " +"parameter separator. This has been changed to allow only a single separator " +"key, with ``&`` as the default separator." +msgstr "" + +#: ../Doc/library/urllib.parse.rst:216 msgid "" "Parse a query string given as a string argument (data of type :mimetype:" "`application/x-www-form-urlencoded`). Data are returned as a list of name, " @@ -456,7 +470,7 @@ msgstr "" "(datos de tipo :mimetype:`application/x-www-form-urlencoded`). Los datos se " "retornan como una lista de pares de nombre y valor." -#: ../Doc/library/urllib.parse.rst:228 +#: ../Doc/library/urllib.parse.rst:240 msgid "" "Use the :func:`urllib.parse.urlencode` function to convert such lists of " "pairs into query strings." @@ -464,7 +478,7 @@ msgstr "" "Utilice la función :func:`urllib.parse.urlencode` para convertir dichas " "listas de pares en cadenas de consulta." -#: ../Doc/library/urllib.parse.rst:239 +#: ../Doc/library/urllib.parse.rst:258 msgid "" "Construct a URL from a tuple as returned by ``urlparse()``. The *parts* " "argument can be any six-item iterable. This may result in a slightly " @@ -479,7 +493,7 @@ msgstr "" "ejemplo, un ``?`` con una consulta vacía; la RFC indica que son " "equivalentes)." -#: ../Doc/library/urllib.parse.rst:248 +#: ../Doc/library/urllib.parse.rst:267 msgid "" "This is similar to :func:`urlparse`, but does not split the params from the " "URL. This should generally be used instead of :func:`urlparse` if the more " @@ -496,7 +510,7 @@ msgstr "" "segmentos y parámetros de ruta. Esta función retorna un 5-item :term:`named " "tuple`::" -#: ../Doc/library/urllib.parse.rst:257 ../Doc/library/urllib.parse.rst:354 +#: ../Doc/library/urllib.parse.rst:276 ../Doc/library/urllib.parse.rst:373 msgid "" "The return value is a :term:`named tuple`, its items can be accessed by " "index or as named attributes:" @@ -504,7 +518,7 @@ msgstr "" "El valor retornado es un :term:`named tuple`, se puede acceder a sus " "elementos por índice o como atributos con nombre:" -#: ../Doc/library/urllib.parse.rst:306 +#: ../Doc/library/urllib.parse.rst:325 msgid "" "Combine the elements of a tuple as returned by :func:`urlsplit` into a " "complete URL as a string. The *parts* argument can be any five-item " @@ -519,7 +533,7 @@ msgstr "" "originalmente tenía delimitadores innecesarios (por ejemplo, un ? con una " "consulta vacía; la RFC indica que son equivalentes)." -#: ../Doc/library/urllib.parse.rst:315 +#: ../Doc/library/urllib.parse.rst:334 msgid "" "Construct a full (\"absolute\") URL by combining a \"base URL\" (*base*) " "with another URL (*url*). Informally, this uses components of the base URL, " @@ -532,7 +546,7 @@ msgstr "" "ubicación de red y (parte de) la ruta de acceso, para proporcionar los " "componentes que faltan en la dirección URL relativa. Por ejemplo:" -#: ../Doc/library/urllib.parse.rst:324 +#: ../Doc/library/urllib.parse.rst:343 msgid "" "The *allow_fragments* argument has the same meaning and default as for :func:" "`urlparse`." @@ -540,17 +554,18 @@ msgstr "" "El argumento *allow_fragments* tiene el mismo significado y el valor " "predeterminado que para :func:`urlparse`." -#: ../Doc/library/urllib.parse.rst:329 +#: ../Doc/library/urllib.parse.rst:348 +#, fuzzy msgid "" -"If *url* is an absolute URL (that is, starting with ``//`` or ``scheme://" -"``), the *url*'s host name and/or scheme will be present in the result. For " +"If *url* is an absolute URL (that is, it starts with ``//`` or ``scheme://" +"``), the *url*'s hostname and/or scheme will be present in the result. For " "example:" msgstr "" "Si *url* es una URL absoluta (es decir, a partir de ``//`` o ``scheme://``), " "el nombre de host y/o esquema de *url* estará presente en el resultado. Por " "ejemplo:" -#: ../Doc/library/urllib.parse.rst:338 +#: ../Doc/library/urllib.parse.rst:357 msgid "" "If you do not want that behavior, preprocess the *url* with :func:`urlsplit` " "and :func:`urlunsplit`, removing possible *scheme* and *netloc* parts." @@ -559,13 +574,14 @@ msgstr "" "`urlsplit` y :func:`urlunsplit`, eliminando posibles partes *esquema* y " "*netloc*." -#: ../Doc/library/urllib.parse.rst:344 -msgid "Behaviour updated to match the semantics defined in :rfc:`3986`." +#: ../Doc/library/urllib.parse.rst:363 +#, fuzzy +msgid "Behavior updated to match the semantics defined in :rfc:`3986`." msgstr "" "Comportamiento actualizado para que coincida con la semántica definida en :" "rfc:`3986`." -#: ../Doc/library/urllib.parse.rst:349 +#: ../Doc/library/urllib.parse.rst:368 msgid "" "If *url* contains a fragment identifier, return a modified version of *url* " "with no fragment identifier, and the fragment identifier as a separate " @@ -577,15 +593,15 @@ msgstr "" "fragmento como una cadena independiente. Si no hay ningún identificador de " "fragmento en *url*, retorne *url* sin modificar y una cadena vacía." -#: ../Doc/library/urllib.parse.rst:360 +#: ../Doc/library/urllib.parse.rst:379 msgid ":attr:`url`" msgstr ":attr:`url`" -#: ../Doc/library/urllib.parse.rst:360 +#: ../Doc/library/urllib.parse.rst:379 msgid "URL with no fragment" msgstr "URL sin fragmento" -#: ../Doc/library/urllib.parse.rst:365 +#: ../Doc/library/urllib.parse.rst:384 msgid "" "See section :ref:`urlparse-result-object` for more information on the result " "object." @@ -593,16 +609,24 @@ msgstr "" "Consulte la sección :ref:`urlparse-result-object` para obtener más " "información sobre el objeto de resultado." -#: ../Doc/library/urllib.parse.rst:368 +#: ../Doc/library/urllib.parse.rst:387 msgid "Result is a structured object rather than a simple 2-tuple." msgstr "" "El resultado es un objeto estructurado en lugar de una simple tupla de 2." -#: ../Doc/library/urllib.parse.rst:374 +#: ../Doc/library/urllib.parse.rst:392 +msgid "" +"Extract the url from a wrapped URL (that is, a string formatted as ````, ````, ``URL:scheme://host/path`` " +"or ``scheme://host/path``). If *url* is not a wrapped URL, it is returned " +"without changes." +msgstr "" + +#: ../Doc/library/urllib.parse.rst:400 msgid "Parsing ASCII Encoded Bytes" msgstr "Análisis de bytes codificados ASCII" -#: ../Doc/library/urllib.parse.rst:376 +#: ../Doc/library/urllib.parse.rst:402 msgid "" "The URL parsing functions were originally designed to operate on character " "strings only. In practice, it is useful to be able to manipulate properly " @@ -617,7 +641,7 @@ msgstr "" "funcionan en los objetos :class:`bytes` y :class:`bytearray`, además de los " "objetos :class:`str`." -#: ../Doc/library/urllib.parse.rst:382 +#: ../Doc/library/urllib.parse.rst:408 msgid "" "If :class:`str` data is passed in, the result will also contain only :class:" "`str` data. If :class:`bytes` or :class:`bytearray` data is passed in, the " @@ -627,7 +651,7 @@ msgstr "" "datos :class:`str`. Si se pasan datos :class:`bytes` o :class:`bytearray`, " "el resultado contendrá solo los datos :class:`bytes`." -#: ../Doc/library/urllib.parse.rst:386 +#: ../Doc/library/urllib.parse.rst:412 msgid "" "Attempting to mix :class:`str` data with :class:`bytes` or :class:" "`bytearray` in a single function call will result in a :exc:`TypeError` " @@ -639,7 +663,7 @@ msgstr "" "`TypeError`, mientras que al intentar pasar valores de bytes no ASCII se " "desencadenará :exc:`UnicodeDecodeError`." -#: ../Doc/library/urllib.parse.rst:391 +#: ../Doc/library/urllib.parse.rst:417 msgid "" "To support easier conversion of result objects between :class:`str` and :" "class:`bytes`, all return values from URL parsing functions provide either " @@ -662,7 +686,7 @@ msgstr "" "contiene datos :class:`bytes` (para los métodos :meth:`encode`) o :class:" "`str` (para :meth:`decode` métodos)." -#: ../Doc/library/urllib.parse.rst:402 +#: ../Doc/library/urllib.parse.rst:428 msgid "" "Applications that need to operate on potentially improperly quoted URLs that " "may contain non-ASCII data will need to do their own decoding from bytes to " @@ -673,7 +697,7 @@ msgstr "" "realizar su propia descodificación de bytes a caracteres antes de invocar " "los métodos de análisis de URL." -#: ../Doc/library/urllib.parse.rst:406 +#: ../Doc/library/urllib.parse.rst:432 msgid "" "The behaviour described in this section applies only to the URL parsing " "functions. The URL quoting functions use their own rules when producing or " @@ -685,17 +709,17 @@ msgstr "" "reglas al producir o consumir secuencias de bytes como se detalla en la " "documentación de las funciones de citación de URL individuales." -#: ../Doc/library/urllib.parse.rst:411 +#: ../Doc/library/urllib.parse.rst:437 msgid "URL parsing functions now accept ASCII encoded byte sequences" msgstr "" "Las funciones de análisis de URL ahora aceptan secuencias de bytes " "codificadas en ASCII" -#: ../Doc/library/urllib.parse.rst:418 +#: ../Doc/library/urllib.parse.rst:444 msgid "Structured Parse Results" msgstr "Resultados del análisis estructurado" -#: ../Doc/library/urllib.parse.rst:420 +#: ../Doc/library/urllib.parse.rst:446 msgid "" "The result objects from the :func:`urlparse`, :func:`urlsplit` and :func:" "`urldefrag` functions are subclasses of the :class:`tuple` type. These " @@ -709,7 +733,7 @@ msgstr "" "soporte de codificación y decodificación descrito en la sección anterior, " "así como un método adicional:" -#: ../Doc/library/urllib.parse.rst:428 +#: ../Doc/library/urllib.parse.rst:454 msgid "" "Return the re-combined version of the original URL as a string. This may " "differ from the original URL in that the scheme may be normalized to lower " @@ -722,7 +746,7 @@ msgstr "" "En concreto, se quitarán los parámetros vacíos, las consultas y los " "identificadores de fragmento." -#: ../Doc/library/urllib.parse.rst:433 +#: ../Doc/library/urllib.parse.rst:459 msgid "" "For :func:`urldefrag` results, only empty fragment identifiers will be " "removed. For :func:`urlsplit` and :func:`urlparse` results, all noted " @@ -733,7 +757,7 @@ msgstr "" "func:`urlparse`, todos los cambios observados se realizarán en la URL " "retornada por este método." -#: ../Doc/library/urllib.parse.rst:437 +#: ../Doc/library/urllib.parse.rst:463 msgid "" "The result of this method remains unchanged if passed back through the " "original parsing function:" @@ -741,7 +765,7 @@ msgstr "" "El resultado de este método permanece inalterado si se pasa de nuevo a " "través de la función de análisis original:" -#: ../Doc/library/urllib.parse.rst:450 +#: ../Doc/library/urllib.parse.rst:476 msgid "" "The following classes provide the implementations of the structured parse " "results when operating on :class:`str` objects:" @@ -749,7 +773,7 @@ msgstr "" "Las clases siguientes proporcionan las implementaciones de los resultados " "del análisis estructurado cuando se opera en objetos :class:`str`:" -#: ../Doc/library/urllib.parse.rst:455 +#: ../Doc/library/urllib.parse.rst:481 msgid "" "Concrete class for :func:`urldefrag` results containing :class:`str` data. " "The :meth:`encode` method returns a :class:`DefragResultBytes` instance." @@ -758,7 +782,7 @@ msgstr "" "class:`str`. El método :meth:`encode` retorna una instancia :class:" "`DefragResultBytes`." -#: ../Doc/library/urllib.parse.rst:463 +#: ../Doc/library/urllib.parse.rst:489 msgid "" "Concrete class for :func:`urlparse` results containing :class:`str` data. " "The :meth:`encode` method returns a :class:`ParseResultBytes` instance." @@ -767,7 +791,7 @@ msgstr "" "`str` data. El método :meth:`encode` retorna una instancia :class:" "`ParseResultBytes`." -#: ../Doc/library/urllib.parse.rst:469 +#: ../Doc/library/urllib.parse.rst:495 msgid "" "Concrete class for :func:`urlsplit` results containing :class:`str` data. " "The :meth:`encode` method returns a :class:`SplitResultBytes` instance." @@ -776,7 +800,7 @@ msgstr "" "`str` data. El método :meth:`encode` retorna una instancia :class:" "`SplitResultBytes`." -#: ../Doc/library/urllib.parse.rst:474 +#: ../Doc/library/urllib.parse.rst:500 msgid "" "The following classes provide the implementations of the parse results when " "operating on :class:`bytes` or :class:`bytearray` objects:" @@ -784,7 +808,7 @@ msgstr "" "Las clases siguientes proporcionan las implementaciones de los resultados " "del análisis cuando se opera en objetos :class:`bytes` o :class:`bytearray`:" -#: ../Doc/library/urllib.parse.rst:479 +#: ../Doc/library/urllib.parse.rst:505 msgid "" "Concrete class for :func:`urldefrag` results containing :class:`bytes` data. " "The :meth:`decode` method returns a :class:`DefragResult` instance." @@ -793,7 +817,7 @@ msgstr "" "class:`bytes`. El método :meth:`decode` retorna una instancia :class:" "`DefragResult`." -#: ../Doc/library/urllib.parse.rst:487 +#: ../Doc/library/urllib.parse.rst:513 msgid "" "Concrete class for :func:`urlparse` results containing :class:`bytes` data. " "The :meth:`decode` method returns a :class:`ParseResult` instance." @@ -802,7 +826,7 @@ msgstr "" "class:`bytes`. El método :meth:`decode` retorna una instancia :class:" "`ParseResult`." -#: ../Doc/library/urllib.parse.rst:495 +#: ../Doc/library/urllib.parse.rst:521 msgid "" "Concrete class for :func:`urlsplit` results containing :class:`bytes` data. " "The :meth:`decode` method returns a :class:`SplitResult` instance." @@ -811,11 +835,11 @@ msgstr "" "class:`bytes`. El método :meth:`decode` retorna una instancia :class:" "`SplitResult`." -#: ../Doc/library/urllib.parse.rst:503 +#: ../Doc/library/urllib.parse.rst:529 msgid "URL Quoting" msgstr "Cita de URL" -#: ../Doc/library/urllib.parse.rst:505 +#: ../Doc/library/urllib.parse.rst:531 msgid "" "The URL quoting functions focus on taking program data and making it safe " "for use as URL components by quoting special characters and appropriately " @@ -830,11 +854,12 @@ msgstr "" "partir del contenido de un componente de dirección URL si esa tarea aún no " "está cubierta por las funciones de análisis de URL anteriores." -#: ../Doc/library/urllib.parse.rst:513 +#: ../Doc/library/urllib.parse.rst:539 +#, fuzzy, python-format msgid "" "Replace special characters in *string* using the ``%xx`` escape. Letters, " "digits, and the characters ``'_.-~'`` are never quoted. By default, this " -"function is intended for quoting the path section of URL. The optional " +"function is intended for quoting the path section of a URL. The optional " "*safe* parameter specifies additional ASCII characters that should not be " "quoted --- its default value is ``'/'``." msgstr "" @@ -845,19 +870,22 @@ msgstr "" "caracteres ASCII adicionales que no se deben citar --- su valor " "predeterminado es ``'/'``." -#: ../Doc/library/urllib.parse.rst:519 ../Doc/library/urllib.parse.rst:589 -msgid "*string* may be either a :class:`str` or a :class:`bytes`." +#: ../Doc/library/urllib.parse.rst:545 ../Doc/library/urllib.parse.rst:591 +#: ../Doc/library/urllib.parse.rst:620 +#, fuzzy +msgid "*string* may be either a :class:`str` or a :class:`bytes` object." msgstr "*string* puede ser :class:`str` o :class:`bytes`." -#: ../Doc/library/urllib.parse.rst:521 +#: ../Doc/library/urllib.parse.rst:547 +#, fuzzy msgid "" "Moved from :rfc:`2396` to :rfc:`3986` for quoting URL strings. \"~\" is now " -"included in the set of reserved characters." +"included in the set of unreserved characters." msgstr "" "Se ha movido de :rfc:`2396` a :rfc:`3986` para citar cadenas URL. Ahora se " "incluye el valor de \"\" en el conjunto de caracteres reservados." -#: ../Doc/library/urllib.parse.rst:525 +#: ../Doc/library/urllib.parse.rst:551 msgid "" "The optional *encoding* and *errors* parameters specify how to deal with non-" "ASCII characters, as accepted by the :meth:`str.encode` method. *encoding* " @@ -874,7 +902,7 @@ msgstr "" "se deben proporcionar si *string* es :class:`bytes` o se genera :class:" "`TypeError`." -#: ../Doc/library/urllib.parse.rst:533 +#: ../Doc/library/urllib.parse.rst:559 msgid "" "Note that ``quote(string, safe, encoding, errors)`` is equivalent to " "``quote_from_bytes(string.encode(encoding, errors), safe)``." @@ -882,28 +910,24 @@ msgstr "" "Tenga en cuenta que ``quote(string, safe, encoding, errors)`` es equivalente " "a ``quote_from_bytes(string.encode(encoding, errors), safe)``." -#: ../Doc/library/urllib.parse.rst:536 +#: ../Doc/library/urllib.parse.rst:562 msgid "Example: ``quote('/El Niño/')`` yields ``'/El%20Ni%C3%B1o/'``." msgstr "Ejemplo: ``quote('/El Niño/')`` produce ``'/El%20Ni%C3%B1o/'``." -#: ../Doc/library/urllib.parse.rst:541 +#: ../Doc/library/urllib.parse.rst:567 msgid "" -"Like :func:`quote`, but also replace spaces by plus signs, as required for " +"Like :func:`quote`, but also replace spaces with plus signs, as required for " "quoting HTML form values when building up a query string to go into a URL. " "Plus signs in the original string are escaped unless they are included in " "*safe*. It also does not have *safe* default to ``'/'``." msgstr "" -"Como :func:`quote`, pero también reemplace los espacios por signos más, " -"según sea necesario para citar valores de formulario HTML al crear una " -"cadena de consulta para ir a una dirección URL. Además, los signos de la " -"cadena original se escapan a menos que se incluyan en *safe*. Tampoco tiene " -"*safe* predeterminado para ``'/'``." -#: ../Doc/library/urllib.parse.rst:546 +#: ../Doc/library/urllib.parse.rst:572 +#, python-format msgid "Example: ``quote_plus('/El Niño/')`` yields ``'%2FEl+Ni%C3%B1o%2F'``." msgstr "Ejemplo: ``quote_plus('/El Niño/')`` produce ``'%2FEl+Ni%C3%B1o%2F'``." -#: ../Doc/library/urllib.parse.rst:551 +#: ../Doc/library/urllib.parse.rst:577 msgid "" "Like :func:`quote`, but accepts a :class:`bytes` object rather than a :class:" "`str`, and does not perform string-to-bytes encoding." @@ -911,27 +935,24 @@ msgstr "" "Como :func:`quote`, pero acepta un objeto :class:`bytes` en lugar de un :" "class:`str`, y no realiza la codificación de cadena a bytes." -#: ../Doc/library/urllib.parse.rst:554 +#: ../Doc/library/urllib.parse.rst:580 +#, python-format 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:560 +#: ../Doc/library/urllib.parse.rst:586 +#, fuzzy, python-format msgid "" -"Replace ``%xx`` escapes by their single-character equivalent. The optional " +"Replace ``%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 "" -"Reemplace los escapes ``%xx`` por su equivalente de un solo carácter. Los " -"parámetros opcionales *encoding* y *errors* especifican cómo descodificar " -"secuencias codificadas porcentualmente en caracteres Unicode, tal como lo " -"acepta el método :meth:`bytes.decode`." - -#: ../Doc/library/urllib.parse.rst:565 ../Doc/library/urllib.parse.rst:579 -msgid "*string* must be a :class:`str`." -msgstr "*string* debe ser :class:`str`." +"Los parámetros opcionales *encoding* y *errors* especifican cómo " +"descodificar secuencias codificadas porcentualmente en caracteres Unicode, " +"tal como lo acepta el método :meth:`bytes.decode`." -#: ../Doc/library/urllib.parse.rst:567 +#: ../Doc/library/urllib.parse.rst:593 msgid "" "*encoding* defaults to ``'utf-8'``. *errors* defaults to ``'replace'``, " "meaning invalid sequences are replaced by a placeholder character." @@ -940,31 +961,43 @@ msgstr "" "``'replace``', lo que significa que las secuencias no válidas se reemplazan " "por un carácter de marcador de posición." -#: ../Doc/library/urllib.parse.rst:571 +#: ../Doc/library/urllib.parse.rst:597 msgid "Example: ``unquote('/El%20Ni%C3%B1o/')`` yields ``'/El Niño/'``." msgstr "Ejemplo: ``unquote('/El%20Ni%C3%B1o/')`` produce ``'/El Niño/'``." -#: ../Doc/library/urllib.parse.rst:576 +#: ../Doc/library/urllib.parse.rst:599 +#, fuzzy +msgid "" +"*string* parameter supports bytes and str objects (previously only str)." +msgstr "El parámetro Query admite bytes y objetos de cadena." + +#: ../Doc/library/urllib.parse.rst:607 +#, fuzzy msgid "" -"Like :func:`unquote`, but also replace plus signs by spaces, as required for " -"unquoting HTML form values." +"Like :func:`unquote`, but also replace plus signs with spaces, as required " +"for unquoting HTML form values." msgstr "" "Como :func:`unquote`, pero también reemplace los signos más por espacios, " "según sea necesario para los valores de formulario HTML sin comillas." -#: ../Doc/library/urllib.parse.rst:581 +#: ../Doc/library/urllib.parse.rst:610 +msgid "*string* must be a :class:`str`." +msgstr "*string* debe ser :class:`str`." + +#: ../Doc/library/urllib.parse.rst:612 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:586 +#: ../Doc/library/urllib.parse.rst:617 +#, fuzzy, python-format msgid "" -"Replace ``%xx`` escapes by their single-octet equivalent, and return a :" +"Replace ``%xx`` escapes with their single-octet equivalent, and return a :" "class:`bytes` object." msgstr "" "Reemplace los escapes ``%xx`` por su equivalente de un solo octeto y retorne " "un objeto :class:`bytes`." -#: ../Doc/library/urllib.parse.rst:591 +#: ../Doc/library/urllib.parse.rst:622 msgid "" "If it is a :class:`str`, unescaped non-ASCII characters in *string* are " "encoded into UTF-8 bytes." @@ -972,11 +1005,12 @@ msgstr "" "Si es un :class:`str`, los caracteres no ASCII sin escapar en *string* se " "codifican en bytes UTF-8." -#: ../Doc/library/urllib.parse.rst:594 +#: ../Doc/library/urllib.parse.rst:625 +#, python-format msgid "Example: ``unquote_to_bytes('a%26%EF')`` yields ``b'a&\\xef'``." msgstr "Ejemplo: ``unquote_to_bytes('a%26%EF')`` produce ``b'a&\\xef'``." -#: ../Doc/library/urllib.parse.rst:600 +#: ../Doc/library/urllib.parse.rst:631 msgid "" "Convert a mapping object or a sequence of two-element tuples, which may " "contain :class:`str` or :class:`bytes` objects, to a percent-encoded ASCII " @@ -991,7 +1025,8 @@ msgstr "" "`URLlib.request.urlopen`, entonces debe codificarse en bytes, de lo " "contrario resultaría en un :exc:`TypeError`." -#: ../Doc/library/urllib.parse.rst:607 +#: ../Doc/library/urllib.parse.rst:638 +#, python-format msgid "" "The resulting string is a series of ``key=value`` pairs separated by ``'&'`` " "characters, where both *key* and *value* are quoted using the *quote_via* " @@ -1014,12 +1049,13 @@ msgstr "" "caracteres '/'. Para obtener el máximo control de lo que se cita, utilice " "``quote`` y especifique un valor para *safe*." -#: ../Doc/library/urllib.parse.rst:617 +#: ../Doc/library/urllib.parse.rst:648 +#, fuzzy msgid "" "When a sequence of two-element tuples is used as the *query* argument, the " "first element of each tuple is a key and the second is a value. The value " "element in itself can be a sequence and in that case, if the optional " -"parameter *doseq* is evaluates to ``True``, individual ``key=value`` pairs " +"parameter *doseq* evaluates to ``True``, individual ``key=value`` pairs " "separated by ``'&'`` are generated for each element of the value sequence " "for the key. The order of parameters in the encoded string will match the " "order of parameter tuples in the sequence." @@ -1033,7 +1069,7 @@ msgstr "" "cadena codificada coincidirá con el orden de las tuplas de parámetros de la " "secuencia." -#: ../Doc/library/urllib.parse.rst:625 +#: ../Doc/library/urllib.parse.rst:656 msgid "" "The *safe*, *encoding*, and *errors* parameters are passed down to " "*quote_via* (the *encoding* and *errors* parameters are only passed when a " @@ -1043,7 +1079,7 @@ msgstr "" "parámetros *encoding* y *errors* solo se pasan cuando un elemento de " "consulta es :class:`str`)." -#: ../Doc/library/urllib.parse.rst:629 +#: ../Doc/library/urllib.parse.rst:660 msgid "" "To reverse this encoding process, :func:`parse_qs` and :func:`parse_qsl` are " "provided in this module to parse query strings into Python data structures." @@ -1052,28 +1088,31 @@ msgstr "" "func:`parse_qs` y :func:`parse_qsl` para analizar cadenas de consulta en " "estructuras de datos de Python." -#: ../Doc/library/urllib.parse.rst:632 +#: ../Doc/library/urllib.parse.rst:663 +#, fuzzy msgid "" -"Refer to :ref:`urllib examples ` to find out how urlencode " -"method can be used for generating query string for a URL or data for POST." +"Refer to :ref:`urllib examples ` to find out how the :func:" +"`urllib.parse.urlencode` method can be used for generating the query string " +"of a URL or data for a POST request." msgstr "" "Consulte :ref:`urllib examples ` para averiguar cómo se " "puede utilizar el método urlencode para generar una cadena de consulta para " "una dirección URL o datos para POST." -#: ../Doc/library/urllib.parse.rst:635 -msgid "Query parameter supports bytes and string objects." +#: ../Doc/library/urllib.parse.rst:667 +#, fuzzy +msgid "*query* supports bytes and string objects." msgstr "El parámetro Query admite bytes y objetos de cadena." -#: ../Doc/library/urllib.parse.rst:638 +#: ../Doc/library/urllib.parse.rst:670 msgid "*quote_via* parameter." msgstr "*quote_via*." -#: ../Doc/library/urllib.parse.rst:648 +#: ../Doc/library/urllib.parse.rst:680 msgid ":rfc:`3986` - Uniform Resource Identifiers" msgstr ":rfc:`3986` - Identificadores uniformes de recursos" -#: ../Doc/library/urllib.parse.rst:645 +#: ../Doc/library/urllib.parse.rst:677 msgid "" "This is the current standard (STD66). Any changes to urllib.parse module " "should conform to this. Certain deviations could be observed, which are " @@ -1086,21 +1125,21 @@ msgstr "" "para ciertos requisitos de análisis de facto como se observa comúnmente en " "los principales navegadores." -#: ../Doc/library/urllib.parse.rst:651 +#: ../Doc/library/urllib.parse.rst:683 msgid ":rfc:`2732` - Format for Literal IPv6 Addresses in URL's." msgstr ":rfc:`2732` - Formato de direcciones IPv6 literales en URL." -#: ../Doc/library/urllib.parse.rst:651 +#: ../Doc/library/urllib.parse.rst:683 msgid "This specifies the parsing requirements of IPv6 URLs." msgstr "" "Esto especifica los requisitos de análisis de las direcciones URL IPv6." -#: ../Doc/library/urllib.parse.rst:655 +#: ../Doc/library/urllib.parse.rst:687 msgid ":rfc:`2396` - Uniform Resource Identifiers (URI): Generic Syntax" msgstr "" ":rfc:`2396` - Identificadores uniformes de recursos (URI): Sintaxis genérica" -#: ../Doc/library/urllib.parse.rst:654 +#: ../Doc/library/urllib.parse.rst:686 msgid "" "Document describing the generic syntactic requirements for both Uniform " "Resource Names (URNs) and Uniform Resource Locators (URLs)." @@ -1108,19 +1147,19 @@ msgstr "" "Documento que describe los requisitos sintácticos genéricos para los nombres " "de recursos uniformes (URL) y los localizadores uniformes de recursos (URL)." -#: ../Doc/library/urllib.parse.rst:658 +#: ../Doc/library/urllib.parse.rst:690 msgid ":rfc:`2368` - The mailto URL scheme." msgstr ":rfc:`2368` - El esquema mailto URL." -#: ../Doc/library/urllib.parse.rst:658 +#: ../Doc/library/urllib.parse.rst:690 msgid "Parsing requirements for mailto URL schemes." msgstr "Análisis de requisitos para esquemas de URL de correo a correo." -#: ../Doc/library/urllib.parse.rst:663 +#: ../Doc/library/urllib.parse.rst:695 msgid ":rfc:`1808` - Relative Uniform Resource Locators" msgstr ":rfc:`1808` - Localizadores uniformes de recursos relativos" -#: ../Doc/library/urllib.parse.rst:661 +#: ../Doc/library/urllib.parse.rst:693 msgid "" "This Request For Comments includes the rules for joining an absolute and a " "relative URL, including a fair number of \"Abnormal Examples\" which govern " @@ -1130,12 +1169,35 @@ msgstr "" "absoluta y relativa, incluyendo un buen número de \"Ejemplos anormales\" que " "rigen el tratamiento de los casos fronterizos." -#: ../Doc/library/urllib.parse.rst:665 +#: ../Doc/library/urllib.parse.rst:697 msgid ":rfc:`1738` - Uniform Resource Locators (URL)" msgstr ":rfc:`1738` - Localizadores uniformes de recursos (URL)" -#: ../Doc/library/urllib.parse.rst:666 +#: ../Doc/library/urllib.parse.rst:698 msgid "This specifies the formal syntax and semantics of absolute URLs." msgstr "" "Esto especifica la sintaxis formal y la semántica de las direcciones URL " "absolutas." + +#~ msgid "" +#~ "Like :func:`quote`, but also replace spaces by plus signs, as required " +#~ "for quoting HTML form values when building up a query string to go into a " +#~ "URL. Plus signs in the original string are escaped unless they are " +#~ "included in *safe*. It also does not have *safe* default to ``'/'``." +#~ msgstr "" +#~ "Como :func:`quote`, pero también reemplace los espacios por signos más, " +#~ "según sea necesario para citar valores de formulario HTML al crear una " +#~ "cadena de consulta para ir a una dirección URL. Además, los signos de la " +#~ "cadena original se escapan a menos que se incluyan en *safe*. Tampoco " +#~ "tiene *safe* predeterminado para ``'/'``." + +#~ msgid "" +#~ "Replace ``%xx`` escapes by 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 "" +#~ "Reemplace los escapes ``%xx`` por su equivalente de un solo carácter. Los " +#~ "parámetros opcionales *encoding* y *errors* especifican cómo descodificar " +#~ "secuencias codificadas porcentualmente en caracteres Unicode, tal como lo " +#~ "acepta el método :meth:`bytes.decode`." diff --git a/library/urllib.request.po b/library/urllib.request.po index 7cbef06750..e14de8612e 100644 --- a/library/urllib.request.po +++ b/library/urllib.request.po @@ -11,16 +11,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2021-01-02 15:40+0100\n" "Last-Translator: Álvaro Mondéjar Rubio \n" -"Language-Team: python-doc-es\n" "Language: es\n" +"Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"X-Generator: Poedit 2.4.2\n" #: ../Doc/library/urllib.request.rst:2 msgid ":mod:`urllib.request` --- Extensible library for opening URLs" @@ -122,40 +122,11 @@ msgstr "Se ignora el parámetro *cadefault*." #: ../Doc/library/urllib.request.rst:57 msgid "" "This function always returns an object which can work as a :term:`context " -"manager` and has methods such as" -msgstr "" -"Esta función siempre retorna un objeto que puede funcionar como un :term:" -"`context manager` y tiene métodos como" - -#: ../Doc/library/urllib.request.rst:60 -msgid "" -":meth:`~urllib.response.addinfourl.geturl` --- return the URL of the " -"resource retrieved, commonly used to determine if a redirect was followed" -msgstr "" -":meth:`~urllib.response.addinfourl.geturl` --- retorna la URL del recurso " -"obtenido, comúnmente usado para determinar si se ha seguido una redirección" - -#: ../Doc/library/urllib.request.rst:63 -msgid "" -":meth:`~urllib.response.addinfourl.info` --- return the meta-information of " -"the page, such as headers, in the form of an :func:`email." -"message_from_string` instance (see `Quick Reference to HTTP Headers `_)" -msgstr "" -":meth:`~urllib.response.addinfourl.info` --- retorna la meta información de " -"la página, como los encabezados, en la forma de una instancia :func:`email." -"message_from_string` (vea `Quick Reference to HTTP Headers `_)" - -#: ../Doc/library/urllib.request.rst:67 -msgid "" -":meth:`~urllib.response.addinfourl.getcode` -- return the HTTP status code " -"of the response." +"manager` and has the properties *url*, *headers*, and *status*. See :class:" +"`urllib.response.addinfourl` for more detail on these properties." msgstr "" -":meth:`~urllib.response.addinfourl.getcode` -- retorna el código de estado " -"HTTP de la respuesta." -#: ../Doc/library/urllib.request.rst:69 +#: ../Doc/library/urllib.request.rst:61 msgid "" "For HTTP and HTTPS URLs, this function returns a :class:`http.client." "HTTPResponse` object slightly modified. In addition to the three new methods " @@ -172,7 +143,7 @@ msgstr "" "como se especifica en la documentación para :class:`~http.client." "HTTPResponse`." -#: ../Doc/library/urllib.request.rst:77 +#: ../Doc/library/urllib.request.rst:69 msgid "" "For FTP, file, and data URLs and requests explicitly handled by legacy :" "class:`URLopener` and :class:`FancyURLopener` classes, this function returns " @@ -183,11 +154,11 @@ msgstr "" "`FancyURLopener`, esta función retorna un objeto :class:`urllib.response." "addinfourl`." -#: ../Doc/library/urllib.request.rst:81 +#: ../Doc/library/urllib.request.rst:73 msgid "Raises :exc:`~urllib.error.URLError` on protocol errors." msgstr "Genera :exc:`~urllib.error.URLError` en errores de protocolo." -#: ../Doc/library/urllib.request.rst:83 +#: ../Doc/library/urllib.request.rst:75 msgid "" "Note that ``None`` may be returned if no handler handles the request (though " "the default installed global :class:`OpenerDirector` uses :class:" @@ -198,7 +169,7 @@ msgstr "" "manera predeterminada usa :class:`UnknownHandler` para asegurar que esto " "nunca suceda)." -#: ../Doc/library/urllib.request.rst:87 +#: ../Doc/library/urllib.request.rst:79 msgid "" "In addition, if proxy settings are detected (for example, when a ``*_proxy`` " "environment variable like :envvar:`http_proxy` is set), :class:" @@ -210,7 +181,7 @@ msgstr "" "`http_proxy`), :class:`ProxyHandler` está instalada de forma predeterminada " "y se asegura que las peticiones son gestionadas a través del proxy." -#: ../Doc/library/urllib.request.rst:92 +#: ../Doc/library/urllib.request.rst:84 msgid "" "The legacy ``urllib.urlopen`` function from Python 2.6 and earlier has been " "discontinued; :func:`urllib.request.urlopen` corresponds to the old " @@ -224,6 +195,7 @@ msgstr "" "parámetro diccionario a ``urllib.urlopen``, puede ser obtenida usando " "objetos :class:`ProxyHandler`." +#: ../Doc/library/urllib.request.rst:90 msgid "" "Raises an :ref:`auditing event ` ``urllib.Request`` with arguments " "``fullurl``, ``data``, ``headers``, ``method``." @@ -231,7 +203,7 @@ msgstr "" "Genera un :ref:`evento de auditoría ` ``urllib.Request`` con los " "argumentos ``fullurl``, ``data``, ``headers``, ``method``." -#: ../Doc/library/urllib.request.rst:100 +#: ../Doc/library/urllib.request.rst:92 msgid "" "The default opener raises an :ref:`auditing event ` ``urllib." "Request`` with arguments ``fullurl``, ``data``, ``headers``, ``method`` " @@ -241,11 +213,11 @@ msgstr "" "``urllib.Request`` con los argumentos ``fullurl``, ``data``, ``headers``, " "``method`` tomados del objeto de la petición." -#: ../Doc/library/urllib.request.rst:104 +#: ../Doc/library/urllib.request.rst:96 msgid "*cafile* and *capath* were added." msgstr "*cafile* y *capath* fueron añadidos." -#: ../Doc/library/urllib.request.rst:107 +#: ../Doc/library/urllib.request.rst:99 msgid "" "HTTPS virtual hosts are now supported if possible (that is, if :data:`ssl." "HAS_SNI` is true)." @@ -253,19 +225,19 @@ msgstr "" "Los hosts virtuales HTTPS ahora están soportados si es posible (esto es, si :" "data:`ssl.HAS_SNI` es verdadero)." -#: ../Doc/library/urllib.request.rst:111 +#: ../Doc/library/urllib.request.rst:103 msgid "*data* can be an iterable object." msgstr "*data* puede ser un objeto iterable." -#: ../Doc/library/urllib.request.rst:114 +#: ../Doc/library/urllib.request.rst:106 msgid "*cadefault* was added." msgstr "*cadefault* fue añadido." -#: ../Doc/library/urllib.request.rst:117 +#: ../Doc/library/urllib.request.rst:109 msgid "*context* was added." msgstr "*context* fue añadido." -#: ../Doc/library/urllib.request.rst:122 +#: ../Doc/library/urllib.request.rst:114 msgid "" "*cafile*, *capath* and *cadefault* are deprecated in favor of *context*. " "Please use :meth:`ssl.SSLContext.load_cert_chain` instead, or let :func:`ssl." @@ -276,7 +248,7 @@ msgstr "" "`ssl.create_default_context` seleccionar el certificado de confianza CA del " "sistema por ti." -#: ../Doc/library/urllib.request.rst:130 +#: ../Doc/library/urllib.request.rst:122 msgid "" "Install an :class:`OpenerDirector` instance as the default global opener. " "Installing an opener is only necessary if you want urlopen to use that " @@ -291,7 +263,7 @@ msgstr "" "class:`OpenerDirector` real y cualquier clase con la interfaz apropiada " "funcionará." -#: ../Doc/library/urllib.request.rst:140 +#: ../Doc/library/urllib.request.rst:132 msgid "" "Return an :class:`OpenerDirector` instance, which chains the handlers in the " "order given. *handler*\\s can be either instances of :class:`BaseHandler`, " @@ -315,7 +287,7 @@ msgstr "" "`HTTPRedirectHandler`, :class:`FTPHandler`, :class:`FileHandler`, :class:" "`HTTPErrorProcessor`." -#: ../Doc/library/urllib.request.rst:150 +#: ../Doc/library/urllib.request.rst:142 msgid "" "If the Python installation has SSL support (i.e., if the :mod:`ssl` module " "can be imported), :class:`HTTPSHandler` will also be added." @@ -323,7 +295,7 @@ msgstr "" "Si la instalación de Python tiene soporte SSL (ej. si se puede importar el " "módulo :mod:`ssl`), también será añadida :class:`HTTPSHandler`." -#: ../Doc/library/urllib.request.rst:153 +#: ../Doc/library/urllib.request.rst:145 msgid "" "A :class:`BaseHandler` subclass may also change its :attr:`handler_order` " "attribute to modify its position in the handlers list." @@ -331,7 +303,7 @@ msgstr "" "Una subclase de :class:`BaseHandler` puede cambiar también su atributo :attr:" "`handler_order` para modificar su posición en la lista de manejadores." -#: ../Doc/library/urllib.request.rst:159 +#: ../Doc/library/urllib.request.rst:151 msgid "" "Convert the pathname *path* from the local syntax for a path to the form " "used in the path component of a URL. This does not produce a complete URL. " @@ -343,7 +315,7 @@ msgstr "" "completa. El valor retornado ya estará entrecomillado usando la función :" "func:`~urllib.parse.quote`." -#: ../Doc/library/urllib.request.rst:166 +#: ../Doc/library/urllib.request.rst:158 msgid "" "Convert the path component *path* from a percent-encoded URL to the local " "syntax for a path. This does not accept a complete URL. This function " @@ -353,7 +325,7 @@ msgstr "" "a la sintaxis local para una ruta. No acepta una URL completa. Esta función " "usa :func:`~urllib.parse.unquote` para decodificar *path*." -#: ../Doc/library/urllib.request.rst:172 +#: ../Doc/library/urllib.request.rst:164 msgid "" "This helper function returns a dictionary of scheme to proxy server URL " "mappings. It scans the environment for variables named ``_proxy``, " @@ -372,7 +344,7 @@ msgstr "" "Sistema para Windows. Si existen variables de entorno tanto en mayúsculas " "como en minúsculas (y no concuerdan), las minúsculas son preferidas." -#: ../Doc/library/urllib.request.rst:182 +#: ../Doc/library/urllib.request.rst:174 msgid "" "If the environment variable ``REQUEST_METHOD`` is set, which usually " "indicates your script is running in a CGI environment, the environment " @@ -390,19 +362,19 @@ msgstr "" "CGI, usa ``ProxyHandler`` explícitamente o asegúrate de que el nombre de la " "variable está en minúsculas (o al menos el sufijo ``_proxy``)." -#: ../Doc/library/urllib.request.rst:191 +#: ../Doc/library/urllib.request.rst:183 msgid "The following classes are provided:" msgstr "Se proveen las siguientes clases:" -#: ../Doc/library/urllib.request.rst:195 +#: ../Doc/library/urllib.request.rst:187 msgid "This class is an abstraction of a URL request." msgstr "Esta clase es un abstracción de una petición URL." -#: ../Doc/library/urllib.request.rst:197 +#: ../Doc/library/urllib.request.rst:189 msgid "*url* should be a string containing a valid URL." msgstr "*url* debe ser una cadena de caracteres conteniendo una URL válida." -#: ../Doc/library/urllib.request.rst:199 +#: ../Doc/library/urllib.request.rst:191 msgid "" "*data* must be an object specifying additional data to send to the server, " "or ``None`` if no such data is needed. Currently HTTP requests are the only " @@ -425,7 +397,7 @@ msgstr "" "en :rfc:`7230`, Sección 3.3.1 será usado para enviar archivos y otros " "iterables." -#: ../Doc/library/urllib.request.rst:209 +#: ../Doc/library/urllib.request.rst:201 msgid "" "For an HTTP POST request method, *data* should be a buffer in the standard :" "mimetype:`application/x-www-form-urlencoded` format. The :func:`urllib." @@ -439,7 +411,7 @@ msgstr "" "valores y retorna una cadena de caracteres ASCII en este formato. Debe ser " "codificada a bytes antes de ser usada como el parámetro *data*." -#: ../Doc/library/urllib.request.rst:215 +#: ../Doc/library/urllib.request.rst:207 msgid "" "*headers* should be a dictionary, and will be treated as if :meth:" "`add_header` was called with each key and value as arguments. This is often " @@ -460,7 +432,7 @@ msgstr "" "Firefox/2.0.0.11\"``, mientras el agente de usuario predeterminado de :mod:" "`urllib` es ``\"Python-urllib/2.6\"`` (en Python 2.6)." -#: ../Doc/library/urllib.request.rst:225 +#: ../Doc/library/urllib.request.rst:217 msgid "" "An appropriate ``Content-Type`` header should be included if the *data* " "argument is present. If this header has not been provided and *data* is not " @@ -472,7 +444,7 @@ msgstr "" "None, será añadido ``Content-Type: application/x-www-form-urlencoded`` de " "forma predeterminada." -#: ../Doc/library/urllib.request.rst:230 +#: ../Doc/library/urllib.request.rst:222 msgid "" "The next two arguments are only of interest for correct handling of third-" "party HTTP cookies:" @@ -480,7 +452,7 @@ msgstr "" "Los siguientes dos argumentos sólo tienen interés para la gestión correcta " "de cookies HTTP de terceros:" -#: ../Doc/library/urllib.request.rst:233 +#: ../Doc/library/urllib.request.rst:225 msgid "" "*origin_req_host* should be the request-host of the origin transaction, as " "defined by :rfc:`2965`. It defaults to ``http.cookiejar." @@ -496,7 +468,7 @@ msgstr "" "petición es para una imagen en un documento HTML, debe ser el host de la " "petición para la página que contiene la imagen." -#: ../Doc/library/urllib.request.rst:241 +#: ../Doc/library/urllib.request.rst:233 msgid "" "*unverifiable* should indicate whether the request is unverifiable, as " "defined by :rfc:`2965`. It defaults to ``False``. An unverifiable request " @@ -510,7 +482,7 @@ msgstr "" "es por una imagen en un documento HTML y el usuario no tuvo opción de " "aprobar la obtención automática de la imagen, este debe ser verdadero." -#: ../Doc/library/urllib.request.rst:248 +#: ../Doc/library/urllib.request.rst:240 msgid "" "*method* should be a string that indicates the HTTP request method that will " "be used (e.g. ``'HEAD'``). If provided, its value is stored in the :attr:" @@ -526,7 +498,7 @@ msgstr "" "subclases pueden indicar un método predeterminado diferente estableciendo el " "atributo :attr:`~Request.method` es la clase misma." -#: ../Doc/library/urllib.request.rst:256 +#: ../Doc/library/urllib.request.rst:248 msgid "" "The request will not work as expected if the data object is unable to " "deliver its content more than once (e.g. a file or an iterable that can " @@ -542,17 +514,17 @@ msgstr "" "directamente después de los encabezados. No hay soporte para una expectativa " "de funcionamiento 100% continuo en la biblioteca." -#: ../Doc/library/urllib.request.rst:263 +#: ../Doc/library/urllib.request.rst:255 msgid ":attr:`Request.method` argument is added to the Request class." msgstr "El argumento :attr:`Request.method` es añadido a la clase Request." -#: ../Doc/library/urllib.request.rst:266 +#: ../Doc/library/urllib.request.rst:258 msgid "Default :attr:`Request.method` may be indicated at the class level." msgstr "" "El atributo predeterminado :attr:`Request.method` puede ser indicado a nivel " "de clase." -#: ../Doc/library/urllib.request.rst:269 +#: ../Doc/library/urllib.request.rst:261 msgid "" "Do not raise an error if the ``Content-Length`` has not been provided and " "*data* is neither ``None`` nor a bytes object. Fall back to use chunked " @@ -562,7 +534,7 @@ msgstr "" "no es ``None`` ni un objeto de bytes. En su lugar recurre a la codificación " "de transferencia fragmentada." -#: ../Doc/library/urllib.request.rst:276 +#: ../Doc/library/urllib.request.rst:268 msgid "" "The :class:`OpenerDirector` class opens URLs via :class:`BaseHandler`\\ s " "chained together. It manages the chaining of handlers, and recovery from " @@ -572,7 +544,7 @@ msgstr "" "de :class:`BaseHandler`. Este maneja el encadenamiento de manejadores y la " "recuperación de errores." -#: ../Doc/library/urllib.request.rst:282 +#: ../Doc/library/urllib.request.rst:274 msgid "" "This is the base class for all registered handlers --- and handles only the " "simple mechanics of registration." @@ -580,7 +552,7 @@ msgstr "" "Esta es la clase base para todos los manejadores registrados --- y manejan " "sólo las mecánicas simples del registro." -#: ../Doc/library/urllib.request.rst:288 +#: ../Doc/library/urllib.request.rst:280 msgid "" "A class which defines a default handler for HTTP error responses; all " "responses are turned into :exc:`~urllib.error.HTTPError` exceptions." @@ -589,15 +561,15 @@ msgstr "" "respuesta HTTP; todas las respuestas son convertidas en excepciones :exc:" "`~urllib.error.HTTPError`." -#: ../Doc/library/urllib.request.rst:294 +#: ../Doc/library/urllib.request.rst:286 msgid "A class to handle redirections." msgstr "Una clase para manejar redirecciones." -#: ../Doc/library/urllib.request.rst:299 +#: ../Doc/library/urllib.request.rst:291 msgid "A class to handle HTTP Cookies." msgstr "Una clase para manejar Cookies HTTP." -#: ../Doc/library/urllib.request.rst:304 +#: ../Doc/library/urllib.request.rst:296 msgid "" "Cause requests to go through a proxy. If *proxies* is given, it must be a " "dictionary mapping protocol names to URLs of proxies. The default is to read " @@ -616,12 +588,12 @@ msgstr "" "Mac OS X se obtiene la información de proxy desde el Framework de " "Configuración del Sistema de OS X." -#: ../Doc/library/urllib.request.rst:312 +#: ../Doc/library/urllib.request.rst:304 msgid "To disable autodetected proxy pass an empty dictionary." msgstr "" "Para deshabilitar la detección automática de proxy pasa un diccionario vacío." -#: ../Doc/library/urllib.request.rst:314 +#: ../Doc/library/urllib.request.rst:306 msgid "" "The :envvar:`no_proxy` environment variable can be used to specify hosts " "which shouldn't be reached via proxy; if set, it should be a comma-separated " @@ -634,7 +606,7 @@ msgstr "" "port`` añadidos opcionalmente, por ejemplo ``cern.ch,ncsa.uiuc.edu,some." "host:8080``." -#: ../Doc/library/urllib.request.rst:321 +#: ../Doc/library/urllib.request.rst:313 msgid "" "``HTTP_PROXY`` will be ignored if a variable ``REQUEST_METHOD`` is set; see " "the documentation on :func:`~urllib.request.getproxies`." @@ -643,12 +615,12 @@ msgstr "" "``REQUEST_METHOD``; vea la documentación de :func:`~urllib.request." "getproxies`." -#: ../Doc/library/urllib.request.rst:327 +#: ../Doc/library/urllib.request.rst:319 msgid "Keep a database of ``(realm, uri) -> (user, password)`` mappings." msgstr "" "Mantiene una base de datos de mapeos ``(realm, uri) -> (user, password)``." -#: ../Doc/library/urllib.request.rst:332 +#: ../Doc/library/urllib.request.rst:324 msgid "" "Keep a database of ``(realm, uri) -> (user, password)`` mappings. A realm " "of ``None`` is considered a catch-all realm, which is searched if no other " @@ -658,7 +630,7 @@ msgstr "" "Un reino de ``None`` se considera un reino caza todo, el cual es buscado si " "ningún otro reino encaja." -#: ../Doc/library/urllib.request.rst:339 +#: ../Doc/library/urllib.request.rst:331 msgid "" "A variant of :class:`HTTPPasswordMgrWithDefaultRealm` that also has a " "database of ``uri -> is_authenticated`` mappings. Can be used by a " @@ -671,7 +643,7 @@ msgstr "" "autenticación inmediatamente en lugar de esperar primero a una respuesta " "``401``." -#: ../Doc/library/urllib.request.rst:349 +#: ../Doc/library/urllib.request.rst:341 msgid "" "This is a mixin class that helps with HTTP authentication, both to the " "remote host and to a proxy. *password_mgr*, if given, should be something " @@ -701,11 +673,11 @@ msgstr "" "peticiones subsecuentes a la URI o cualquiera de las super URIs incluirán " "automáticamente los credenciales de autenticación." -#: ../Doc/library/urllib.request.rst:366 +#: ../Doc/library/urllib.request.rst:358 msgid "Added ``is_authenticated`` support." msgstr "Añadido soporte ``is_authenticated``." -#: ../Doc/library/urllib.request.rst:372 +#: ../Doc/library/urllib.request.rst:364 msgid "" "Handle authentication with the remote host. *password_mgr*, if given, should " "be something that is compatible with :class:`HTTPPasswordMgr`; refer to " @@ -719,7 +691,7 @@ msgstr "" "debe ser soportada. HTTPBasicAuthHandler generará un :exc:`ValueError` " "cuando se presente con un esquema de Autenticación incorrecto." -#: ../Doc/library/urllib.request.rst:381 ../Doc/library/urllib.request.rst:415 +#: ../Doc/library/urllib.request.rst:373 ../Doc/library/urllib.request.rst:407 msgid "" "Handle authentication with the proxy. *password_mgr*, if given, should be " "something that is compatible with :class:`HTTPPasswordMgr`; refer to " @@ -730,7 +702,7 @@ msgstr "" "ser compatible con :class:`HTTPPasswordMgr`; refiera a la sección :ref:`http-" "password-mgr` para información sobre la interfaz que debe ser soportada." -#: ../Doc/library/urllib.request.rst:389 +#: ../Doc/library/urllib.request.rst:381 msgid "" "This is a mixin class that helps with HTTP authentication, both to the " "remote host and to a proxy. *password_mgr*, if given, should be something " @@ -742,7 +714,7 @@ msgstr "" "con :class:`HTTPPasswordMgr`; refiera a la sección :ref:`http-password-mgr` " "para información sobre la interfaz que debe ser soportada." -#: ../Doc/library/urllib.request.rst:398 +#: ../Doc/library/urllib.request.rst:390 msgid "" "Handle authentication with the remote host. *password_mgr*, if given, should " "be something that is compatible with :class:`HTTPPasswordMgr`; refer to " @@ -765,15 +737,15 @@ msgstr "" "Handler generará un :exc:`ValueError` cuando sea presentado con un esquema " "de autenticación diferente a Digest o Básico." -#: ../Doc/library/urllib.request.rst:408 +#: ../Doc/library/urllib.request.rst:400 msgid "Raise :exc:`ValueError` on unsupported Authentication Scheme." msgstr "Genera :exc:`ValueError` en Esquema de Autenticación no soportado." -#: ../Doc/library/urllib.request.rst:423 +#: ../Doc/library/urllib.request.rst:415 msgid "A class to handle opening of HTTP URLs." msgstr "Una clase para gestionar apertura de URLs HTTP." -#: ../Doc/library/urllib.request.rst:428 +#: ../Doc/library/urllib.request.rst:420 msgid "" "A class to handle opening of HTTPS URLs. *context* and *check_hostname* " "have the same meaning as in :class:`http.client.HTTPSConnection`." @@ -782,42 +754,42 @@ msgstr "" "*check_hostname* tienen el mismo significado que en :class:`http.client." "HTTPSConnection`." -#: ../Doc/library/urllib.request.rst:431 +#: ../Doc/library/urllib.request.rst:423 msgid "*context* and *check_hostname* were added." msgstr "*context* y *check_hostname* fueron añadidos." -#: ../Doc/library/urllib.request.rst:437 +#: ../Doc/library/urllib.request.rst:429 msgid "Open local files." msgstr "Abre archivos locales." -#: ../Doc/library/urllib.request.rst:441 +#: ../Doc/library/urllib.request.rst:433 msgid "Open data URLs." msgstr "Abre URLs de datos." -#: ../Doc/library/urllib.request.rst:447 +#: ../Doc/library/urllib.request.rst:439 msgid "Open FTP URLs." msgstr "Abre URLs FTP." -#: ../Doc/library/urllib.request.rst:452 +#: ../Doc/library/urllib.request.rst:444 msgid "" "Open FTP URLs, keeping a cache of open FTP connections to minimize delays." msgstr "" "Abre URLs FTP, manteniendo una caché de conexiones FTP abiertas para " "minimizar retrasos." -#: ../Doc/library/urllib.request.rst:457 +#: ../Doc/library/urllib.request.rst:449 msgid "A catch-all class to handle unknown URLs." msgstr "Una clase caza todo para gestionar URLs desconocidas." -#: ../Doc/library/urllib.request.rst:462 ../Doc/library/urllib.request.rst:1157 +#: ../Doc/library/urllib.request.rst:454 ../Doc/library/urllib.request.rst:1149 msgid "Process HTTP error responses." msgstr "Procesa errores de respuestas HTTP." -#: ../Doc/library/urllib.request.rst:468 +#: ../Doc/library/urllib.request.rst:460 msgid "Request Objects" msgstr "Objetos Request" -#: ../Doc/library/urllib.request.rst:470 +#: ../Doc/library/urllib.request.rst:462 msgid "" "The following methods describe :class:`Request`'s public interface, and so " "all may be overridden in subclasses. It also defines several public " @@ -828,11 +800,11 @@ msgstr "" "públicos que pueden ser usado por clientes para inspeccionar la respuesta " "analizada." -#: ../Doc/library/urllib.request.rst:477 +#: ../Doc/library/urllib.request.rst:469 msgid "The original URL passed to the constructor." msgstr "La URL original pasada al constructor." -#: ../Doc/library/urllib.request.rst:481 +#: ../Doc/library/urllib.request.rst:473 msgid "" "Request.full_url is a property with setter, getter and a deleter. Getting :" "attr:`~Request.full_url` returns the original request URL with the fragment, " @@ -842,11 +814,11 @@ msgstr "" "attr:`~Request.full_url` retorna la petición URL original con el fragmento, " "si este estaba presente." -#: ../Doc/library/urllib.request.rst:487 +#: ../Doc/library/urllib.request.rst:479 msgid "The URI scheme." msgstr "El esquema de URI." -#: ../Doc/library/urllib.request.rst:491 +#: ../Doc/library/urllib.request.rst:483 msgid "" "The URI authority, typically a host, but may also contain a port separated " "by a colon." @@ -854,11 +826,11 @@ msgstr "" "La autoridad de URI, típicamente un host, pero también puede contener un " "puerto separado por un caracter de doble punto." -#: ../Doc/library/urllib.request.rst:496 +#: ../Doc/library/urllib.request.rst:488 msgid "The original host for the request, without port." msgstr "El host original de la petición, sin puerto." -#: ../Doc/library/urllib.request.rst:500 +#: ../Doc/library/urllib.request.rst:492 msgid "" "The URI path. If the :class:`Request` uses a proxy, then selector will be " "the full URL that is passed to the proxy." @@ -866,12 +838,12 @@ msgstr "" "La ruta de URI. Si :class:`Request` usa un proxy, entonces selector será la " "URL completa que se pasa al proxy." -#: ../Doc/library/urllib.request.rst:505 +#: ../Doc/library/urllib.request.rst:497 msgid "The entity body for the request, or ``None`` if not specified." msgstr "" "El cuerpo de la entidad para la solicitud o ``None`` si no es especificado." -#: ../Doc/library/urllib.request.rst:507 +#: ../Doc/library/urllib.request.rst:499 msgid "" "Changing value of :attr:`Request.data` now deletes \"Content-Length\" header " "if it was previously set or calculated." @@ -879,7 +851,7 @@ msgstr "" "Cambiar el valor de :attr:`Request.data` elimina ahora el encabezado " "\"Content-Length\" si fue establecido o calculado previamente." -#: ../Doc/library/urllib.request.rst:513 +#: ../Doc/library/urllib.request.rst:505 msgid "" "boolean, indicates whether the request is unverifiable as defined by :rfc:" "`2965`." @@ -887,7 +859,7 @@ msgstr "" "booleano, indica si la petición no es verificable como se define por :rfc:" "`2965`." -#: ../Doc/library/urllib.request.rst:518 +#: ../Doc/library/urllib.request.rst:510 msgid "" "The HTTP request method to use. By default its value is :const:`None`, " "which means that :meth:`~Request.get_method` will do its normal computation " @@ -905,7 +877,7 @@ msgstr "" "class:`Request` o pasando un valor al constructor de :class:`Request` por " "medio del argumento *method*." -#: ../Doc/library/urllib.request.rst:528 +#: ../Doc/library/urllib.request.rst:520 msgid "" "A default value can now be set in subclasses; previously it could only be " "set via the constructor argument." @@ -913,7 +885,7 @@ msgstr "" "Un valor predeterminado puede ser establecido ahora en subclases; " "previamente sólo podía ser definido mediante el argumento del constructor." -#: ../Doc/library/urllib.request.rst:535 +#: ../Doc/library/urllib.request.rst:527 msgid "" "Return a string indicating the HTTP request method. If :attr:`Request." "method` is not ``None``, return its value, otherwise return ``'GET'`` if :" @@ -925,11 +897,11 @@ msgstr "" "si :attr:`Request.data` es ``None`` o ``'POST'`` si no lo es. Esto sólo es " "significativo para peticiones HTTP." -#: ../Doc/library/urllib.request.rst:540 +#: ../Doc/library/urllib.request.rst:532 msgid "get_method now looks at the value of :attr:`Request.method`." msgstr "get_method ahora mira el valor de :attr:`Request.method`." -#: ../Doc/library/urllib.request.rst:546 +#: ../Doc/library/urllib.request.rst:538 msgid "" "Add another header to the request. Headers are currently ignored by all " "handlers except HTTP handlers, where they are added to the list of headers " @@ -949,11 +921,11 @@ msgstr "" "tienen una manera (específica de encabezado) de ganar la misma funcionalidad " "usando sólo un encabezado." -#: ../Doc/library/urllib.request.rst:557 +#: ../Doc/library/urllib.request.rst:549 msgid "Add a header that will not be added to a redirected request." msgstr "Añade un encabezado que no será añadido a una petición redireccionada." -#: ../Doc/library/urllib.request.rst:562 +#: ../Doc/library/urllib.request.rst:554 msgid "" "Return whether the instance has the named header (checks both regular and " "unredirected)." @@ -961,7 +933,7 @@ msgstr "" "Retorna si la instancia tiene el encabezado nombrado (comprueba tanto " "regular como no redirigido)." -#: ../Doc/library/urllib.request.rst:568 +#: ../Doc/library/urllib.request.rst:560 msgid "" "Remove named header from the request instance (both from regular and " "unredirected headers)." @@ -969,15 +941,15 @@ msgstr "" "Elimina el encabezado nombrado de la instancia de la petición (desde " "encabezados regulares y no redireccionados)." -#: ../Doc/library/urllib.request.rst:576 +#: ../Doc/library/urllib.request.rst:568 msgid "Return the URL given in the constructor." msgstr "Retorna la URL dada en el constructor." -#: ../Doc/library/urllib.request.rst:580 +#: ../Doc/library/urllib.request.rst:572 msgid "Returns :attr:`Request.full_url`" msgstr "Retorna :attr:`Request.full_url`" -#: ../Doc/library/urllib.request.rst:585 +#: ../Doc/library/urllib.request.rst:577 msgid "" "Prepare the request by connecting to a proxy server. The *host* and *type* " "will replace those of the instance, and the instance's selector will be the " @@ -987,20 +959,20 @@ msgstr "" "reemplazarán aquellos de la instancia y el selector de la instancia será la " "URL original dada en el constructor." -#: ../Doc/library/urllib.request.rst:592 +#: ../Doc/library/urllib.request.rst:584 msgid "" "Return the value of the given header. If the header is not present, return " "the default value." msgstr "Retorna el valor del encabezado dado." -#: ../Doc/library/urllib.request.rst:598 +#: ../Doc/library/urllib.request.rst:590 msgid "" "Return a list of tuples (header_name, header_value) of the Request headers." msgstr "" "Retorna una lista de tuplas (header_name, header_value) de los encabezados " "de la Petición." -#: ../Doc/library/urllib.request.rst:600 +#: ../Doc/library/urllib.request.rst:592 msgid "" "The request methods add_data, has_data, get_data, get_type, get_host, " "get_selector, get_origin_req_host and is_unverifiable that were deprecated " @@ -1010,16 +982,16 @@ msgstr "" "get_selector, get_origin_req_host y is_unverifiable que quedaron obsoletos " "desde 3.3 han sido eliminados." -#: ../Doc/library/urllib.request.rst:609 +#: ../Doc/library/urllib.request.rst:601 msgid "OpenerDirector Objects" msgstr "Objetos OpenerDirector" -#: ../Doc/library/urllib.request.rst:611 +#: ../Doc/library/urllib.request.rst:603 msgid ":class:`OpenerDirector` instances have the following methods:" msgstr "" "Las instancias de :class:`OpenerDirector` tienen los siguientes métodos:" -#: ../Doc/library/urllib.request.rst:616 +#: ../Doc/library/urllib.request.rst:608 msgid "" "*handler* should be an instance of :class:`BaseHandler`. The following " "methods are searched, and added to the possible chains (note that HTTP " @@ -1037,7 +1009,7 @@ msgstr "" "manejador de respuesta. También *type* debe ser remplazado con el código " "HTTP actual, por ejemplo :meth:`http_error_404` manejaría errores HTTP 404." -#: ../Doc/library/urllib.request.rst:624 +#: ../Doc/library/urllib.request.rst:616 msgid "" ":meth:`_open` --- signal that the handler knows how to open " "*protocol* URLs." @@ -1045,11 +1017,11 @@ msgstr "" ":meth:`_open` --- señala que el manejador sabe como abrir URLs " "*protocol*." -#: ../Doc/library/urllib.request.rst:627 +#: ../Doc/library/urllib.request.rst:619 msgid "See |protocol_open|_ for more information." msgstr "Vea |protocol_open|_ para más información." -#: ../Doc/library/urllib.request.rst:629 +#: ../Doc/library/urllib.request.rst:621 msgid "" ":meth:`http_error_\\` --- signal that the handler knows how to " "handle HTTP errors with HTTP error code *type*." @@ -1057,11 +1029,11 @@ msgstr "" ":meth:`http_error_\\` --- señala que el manejador sabe como manejar " "errores HTTP con el código de error *type*." -#: ../Doc/library/urllib.request.rst:632 +#: ../Doc/library/urllib.request.rst:624 msgid "See |http_error_nnn|_ for more information." msgstr "Vea |http_error_nnn|_ para más información." -#: ../Doc/library/urllib.request.rst:634 +#: ../Doc/library/urllib.request.rst:626 msgid "" ":meth:`_error` --- signal that the handler knows how to handle " "errors from (non-\\ ``http``) *protocol*." @@ -1069,7 +1041,7 @@ msgstr "" ":meth:`_error` --- señala que el manejador sabe como manejar " "errores de (no ``http``) *protocol*." -#: ../Doc/library/urllib.request.rst:637 +#: ../Doc/library/urllib.request.rst:629 msgid "" ":meth:`_request` --- signal that the handler knows how to pre-" "process *protocol* requests." @@ -1077,11 +1049,11 @@ msgstr "" ":meth:`_request` --- señala que el manejador sabe como preprocesar " "peticiones *protocol*." -#: ../Doc/library/urllib.request.rst:640 +#: ../Doc/library/urllib.request.rst:632 msgid "See |protocol_request|_ for more information." msgstr "Vea |protocol_request|_ para más información." -#: ../Doc/library/urllib.request.rst:642 +#: ../Doc/library/urllib.request.rst:634 msgid "" ":meth:`_response` --- signal that the handler knows how to post-" "process *protocol* responses." @@ -1089,11 +1061,11 @@ msgstr "" ":meth:`_response` --- señala que el manejador sabe como " "postprocesar respuestas *protocol*." -#: ../Doc/library/urllib.request.rst:645 +#: ../Doc/library/urllib.request.rst:637 msgid "See |protocol_response|_ for more information." msgstr "Vea |protocol_response|_ para más información." -#: ../Doc/library/urllib.request.rst:654 +#: ../Doc/library/urllib.request.rst:646 msgid "" "Open the given *url* (which can be a request object or a string), optionally " "passing the given *data*. Arguments, return values and exceptions raised are " @@ -1114,7 +1086,7 @@ msgstr "" "expiración global será usado). La característica de tiempo de expiración " "actualmente funciona sólo para conexiones HTTP, HTTPS y FTP." -#: ../Doc/library/urllib.request.rst:666 +#: ../Doc/library/urllib.request.rst:658 msgid "" "Handle an error of the given protocol. This will call the registered error " "handlers for the given protocol with the given arguments (which are protocol " @@ -1129,18 +1101,18 @@ msgstr "" "específico; refiera a los métodos :meth:`http_error_\\` de las " "clases del manejador." -#: ../Doc/library/urllib.request.rst:672 +#: ../Doc/library/urllib.request.rst:664 msgid "" "Return values and exceptions raised are the same as those of :func:`urlopen`." msgstr "" "Retorna si los valores y excepciones generadas son las mismas que aquellas " "de :func:`urlopen`." -#: ../Doc/library/urllib.request.rst:674 +#: ../Doc/library/urllib.request.rst:666 msgid "OpenerDirector objects open URLs in three stages:" msgstr "Los objetos OpenerDirector abren URLs en tres etapas:" -#: ../Doc/library/urllib.request.rst:676 +#: ../Doc/library/urllib.request.rst:668 msgid "" "The order in which these methods are called within each stage is determined " "by sorting the handler instances." @@ -1148,7 +1120,7 @@ msgstr "" "El orden en el cual esos métodos son invocados dentro de cada etapa es " "determinado ordenando las instancias manejadoras." -#: ../Doc/library/urllib.request.rst:679 +#: ../Doc/library/urllib.request.rst:671 msgid "" "Every handler with a method named like :meth:`_request` has that " "method called to pre-process the request." @@ -1156,7 +1128,7 @@ msgstr "" "Cada manejador con un método nombrado como :meth:`_request` tiene " "ese método invocador para preprocesar la petición." -#: ../Doc/library/urllib.request.rst:682 +#: ../Doc/library/urllib.request.rst:674 msgid "" "Handlers with a method named like :meth:`_open` are called to " "handle the request. This stage ends when a handler either returns a non-\\ :" @@ -1169,7 +1141,7 @@ msgstr "" "(generalmente :exc:`~urllib.error.URLError`). Se permite que las excepciones " "propaguen." -#: ../Doc/library/urllib.request.rst:687 +#: ../Doc/library/urllib.request.rst:679 msgid "" "In fact, the above algorithm is first tried for methods named :meth:" "`default_open`. If all such methods return :const:`None`, the algorithm is " @@ -1183,7 +1155,7 @@ msgstr "" "todos esos métodos retornan :const:`None`, el algoritmo se repite para " "métodos nombrados como :meth:`unknown_open`." -#: ../Doc/library/urllib.request.rst:693 +#: ../Doc/library/urllib.request.rst:685 msgid "" "Note that the implementation of these methods may involve calls of the " "parent :class:`OpenerDirector` instance's :meth:`~OpenerDirector.open` and :" @@ -1193,7 +1165,7 @@ msgstr "" "invocaciones de los métodos :meth:`~OpenerDirector.open` y :meth:" "`~OpenerDirector.error` de la instancia :class:`OpenerDirector` padre." -#: ../Doc/library/urllib.request.rst:697 +#: ../Doc/library/urllib.request.rst:689 msgid "" "Every handler with a method named like :meth:`_response` has that " "method called to post-process the response." @@ -1201,11 +1173,11 @@ msgstr "" "Cada manejador con un método nombrado como :meth:`_response` tiene " "ese método invocado para postprocesar la respuesta." -#: ../Doc/library/urllib.request.rst:704 +#: ../Doc/library/urllib.request.rst:696 msgid "BaseHandler Objects" msgstr "Objetos BaseHandler" -#: ../Doc/library/urllib.request.rst:706 +#: ../Doc/library/urllib.request.rst:698 msgid "" ":class:`BaseHandler` objects provide a couple of methods that are directly " "useful, and others that are meant to be used by derived classes. These are " @@ -1215,15 +1187,15 @@ msgstr "" "útiles directamente y otros que están destinados a ser utilizados por clases " "derivadas. Estos están pensados para uso directo:" -#: ../Doc/library/urllib.request.rst:713 +#: ../Doc/library/urllib.request.rst:705 msgid "Add a director as parent." msgstr "Añade un director como padre." -#: ../Doc/library/urllib.request.rst:718 +#: ../Doc/library/urllib.request.rst:710 msgid "Remove any parents." msgstr "Elimina cualquier padre." -#: ../Doc/library/urllib.request.rst:720 +#: ../Doc/library/urllib.request.rst:712 msgid "" "The following attribute and methods should only be used by classes derived " "from :class:`BaseHandler`." @@ -1231,7 +1203,7 @@ msgstr "" "El siguiente atributo y los siguientes métodos sólo deben ser usados por " "clases derivadas de :class:`BaseHandler`." -#: ../Doc/library/urllib.request.rst:725 +#: ../Doc/library/urllib.request.rst:717 msgid "" "The convention has been adopted that subclasses defining :meth:" "`_request` or :meth:`_response` methods are named :class:" @@ -1241,7 +1213,7 @@ msgstr "" "meth:`_request` o :meth:`_response` son nombradas :class:" "`\\*Processor`; todas las otras son nombradas :class:`\\*Handler`." -#: ../Doc/library/urllib.request.rst:732 +#: ../Doc/library/urllib.request.rst:724 msgid "" "A valid :class:`OpenerDirector`, which can be used to open using a different " "protocol, or handle errors." @@ -1249,7 +1221,7 @@ msgstr "" "Un :class:`OpenerDirector` válido, el cual puede ser utilizado para abrir " "usando un protocolo diferente, o para manejar errores." -#: ../Doc/library/urllib.request.rst:738 +#: ../Doc/library/urllib.request.rst:730 msgid "" "This method is *not* defined in :class:`BaseHandler`, but subclasses should " "define it if they want to catch all URLs." @@ -1257,7 +1229,7 @@ msgstr "" "Este método no es definido en :class:`BaseHandler`, pero las subclases deben " "definirlo si quieren cazar todas las URLs." -#: ../Doc/library/urllib.request.rst:741 +#: ../Doc/library/urllib.request.rst:733 msgid "" "This method, if implemented, will be called by the parent :class:" "`OpenerDirector`. It should return a file-like object as described in the " @@ -1273,13 +1245,13 @@ msgstr "" "excepcional ocurra (por ejemplo, :exc:`MemoryError` no debe ser mapeado a :" "exc:`URLError`)." -#: ../Doc/library/urllib.request.rst:748 +#: ../Doc/library/urllib.request.rst:740 msgid "This method will be called before any protocol-specific open method." msgstr "" "Este método será invocado antes de cualquier método de apertura específico " "de protocolo." -#: ../Doc/library/urllib.request.rst:755 +#: ../Doc/library/urllib.request.rst:747 msgid "" "This method is *not* defined in :class:`BaseHandler`, but subclasses should " "define it if they want to handle URLs with the given protocol." @@ -1287,7 +1259,7 @@ msgstr "" "Este método no está definido en :class:`BaseHandler`, pero las subclases " "deben definirlo si quieren manejar URLs con el protocolo dado." -#: ../Doc/library/urllib.request.rst:758 +#: ../Doc/library/urllib.request.rst:750 msgid "" "This method, if defined, will be called by the parent :class:" "`OpenerDirector`. Return values should be the same as for :meth:" @@ -1297,7 +1269,7 @@ msgstr "" "padre. Los valores retornados deben ser los mismos que para :meth:" "`default_open`." -#: ../Doc/library/urllib.request.rst:764 +#: ../Doc/library/urllib.request.rst:756 msgid "" "This method is *not* defined in :class:`BaseHandler`, but subclasses should " "define it if they want to catch all URLs with no specific registered handler " @@ -1307,7 +1279,7 @@ msgstr "" "deben definirlo si quieren cazar todas las URLs sin manejador registrado " "para abrirlo." -#: ../Doc/library/urllib.request.rst:768 +#: ../Doc/library/urllib.request.rst:760 msgid "" "This method, if implemented, will be called by the :attr:`parent` :class:" "`OpenerDirector`. Return values should be the same as for :meth:" @@ -1317,7 +1289,7 @@ msgstr "" "class:`OpenerDirector`. Los valores retornados deben ser los mismos que " "para :meth:`default_open`." -#: ../Doc/library/urllib.request.rst:775 +#: ../Doc/library/urllib.request.rst:767 msgid "" "This method is *not* defined in :class:`BaseHandler`, but subclasses should " "override it if they intend to provide a catch-all for otherwise unhandled " @@ -1331,7 +1303,7 @@ msgstr "" "automáticamente por el :class:`OpenerDirector` obteniendo el error y no debe " "ser invocado normalmente en otras circunstancias." -#: ../Doc/library/urllib.request.rst:780 +#: ../Doc/library/urllib.request.rst:772 msgid "" "*req* will be a :class:`Request` object, *fp* will be a file-like object " "with the HTTP error body, *code* will be the three-digit code of the error, " @@ -1343,7 +1315,7 @@ msgstr "" "*msg* será la explicación visible para el usuario del código y *hdrs* será " "un objeto de mapeo con los encabezados del error." -#: ../Doc/library/urllib.request.rst:785 +#: ../Doc/library/urllib.request.rst:777 msgid "" "Return values and exceptions raised should be the same as those of :func:" "`urlopen`." @@ -1351,7 +1323,7 @@ msgstr "" "Los valores de retorno y las excepciones generadas deben ser los mismos que " "aquellos de :func:`urlopen`." -#: ../Doc/library/urllib.request.rst:792 +#: ../Doc/library/urllib.request.rst:784 msgid "" "*nnn* should be a three-digit HTTP error code. This method is also not " "defined in :class:`BaseHandler`, but will be called, if it exists, on an " @@ -1361,13 +1333,13 @@ msgstr "" "está definido en :class:`BaseHandler`, pero será invocado, si existe, en una " "instancia de una subclase, cuando ocurra un error HTTP con código *nnn*." -#: ../Doc/library/urllib.request.rst:796 +#: ../Doc/library/urllib.request.rst:788 msgid "Subclasses should override this method to handle specific HTTP errors." msgstr "" "Las subclases deben sobrescribir este método para manejar errores HTTP " "específicos." -#: ../Doc/library/urllib.request.rst:798 +#: ../Doc/library/urllib.request.rst:790 msgid "" "Arguments, return values and exceptions raised should be the same as for :" "meth:`http_error_default`." @@ -1375,7 +1347,7 @@ msgstr "" "Los argumentos, valores de retorno y las excepciones generadas deben ser las " "mismas que para :meth:`http_error_default`." -#: ../Doc/library/urllib.request.rst:806 +#: ../Doc/library/urllib.request.rst:798 msgid "" "This method is *not* defined in :class:`BaseHandler`, but subclasses should " "define it if they want to pre-process requests of the given protocol." @@ -1383,7 +1355,7 @@ msgstr "" "Este método *no* está definido en :class:`BaseHandler`, pero las subclases " "deben definirlo si pretenden preprocesar peticiones del protocolo dado." -#: ../Doc/library/urllib.request.rst:809 +#: ../Doc/library/urllib.request.rst:801 msgid "" "This method, if defined, will be called by the parent :class:" "`OpenerDirector`. *req* will be a :class:`Request` object. The return value " @@ -1393,7 +1365,7 @@ msgstr "" "padre. *req* será un objeto :class:`Request`. El valor retornado debe ser un " "objeto :class:`Request`." -#: ../Doc/library/urllib.request.rst:818 +#: ../Doc/library/urllib.request.rst:810 msgid "" "This method is *not* defined in :class:`BaseHandler`, but subclasses should " "define it if they want to post-process responses of the given protocol." @@ -1401,7 +1373,7 @@ msgstr "" "Este método *no* está definido en :class:`BaseHandler`, pero las subclases " "deben definirlo si quieren postprocesar respuestas del protocolo dado." -#: ../Doc/library/urllib.request.rst:821 +#: ../Doc/library/urllib.request.rst:813 msgid "" "This method, if defined, will be called by the parent :class:" "`OpenerDirector`. *req* will be a :class:`Request` object. *response* will " @@ -1415,11 +1387,11 @@ msgstr "" "valor retornado debe implementar la misma interfaz que el valor retornado " "de :func:`urlopen`." -#: ../Doc/library/urllib.request.rst:831 +#: ../Doc/library/urllib.request.rst:823 msgid "HTTPRedirectHandler Objects" msgstr "Objetos HTTPRedirectHandler" -#: ../Doc/library/urllib.request.rst:835 +#: ../Doc/library/urllib.request.rst:827 msgid "" "Some HTTP redirections require action from this module's client code. If " "this is the case, :exc:`~urllib.error.HTTPError` is raised. See :rfc:`2616` " @@ -1430,7 +1402,7 @@ msgstr "" "rfc:`2616` para más detalles de los significados precisos de los diferentes " "códigos de redirección." -#: ../Doc/library/urllib.request.rst:839 +#: ../Doc/library/urllib.request.rst:831 msgid "" "An :class:`HTTPError` exception raised as a security consideration if the " "HTTPRedirectHandler is presented with a redirected URL which is not an HTTP, " @@ -1440,7 +1412,7 @@ msgstr "" "el HTTPRedirectHandler se presenta con una URL redirigida la cual no es una " "URL HTTP, HTTPS o FTP." -#: ../Doc/library/urllib.request.rst:846 +#: ../Doc/library/urllib.request.rst:838 msgid "" "Return a :class:`Request` or ``None`` in response to a redirect. This is " "called by the default implementations of the :meth:`http_error_30\\*` " @@ -1459,7 +1431,7 @@ msgstr "" "intentar manejar esta URL, o retorna ``None`` si no tú pero otro manejador " "puede." -#: ../Doc/library/urllib.request.rst:856 +#: ../Doc/library/urllib.request.rst:848 msgid "" "The default implementation of this method does not strictly follow :rfc:" "`2616`, which says that 301 and 302 responses to ``POST`` requests must not " @@ -1474,7 +1446,7 @@ msgstr "" "respuestas, cambiando el POST a un ``GET`` y la implementación " "predeterminada reproduce este comportamiento." -#: ../Doc/library/urllib.request.rst:865 +#: ../Doc/library/urllib.request.rst:857 msgid "" "Redirect to the ``Location:`` or ``URI:`` URL. This method is called by the " "parent :class:`OpenerDirector` when getting an HTTP 'moved permanently' " @@ -1484,20 +1456,20 @@ msgstr "" "el :class:`OpenerDirector` padre al obtener una respuesta HTTP 'moved " "permanently'." -#: ../Doc/library/urllib.request.rst:871 +#: ../Doc/library/urllib.request.rst:863 msgid "" "The same as :meth:`http_error_301`, but called for the 'found' response." msgstr "" "Lo mismo que :meth:`http_error_301`, pero invocado para la respuesta 'found'." -#: ../Doc/library/urllib.request.rst:876 +#: ../Doc/library/urllib.request.rst:868 msgid "" "The same as :meth:`http_error_301`, but called for the 'see other' response." msgstr "" "Lo mismo que :meth:`http_error_301`, pero invocado para la respuesta 'see " "other'." -#: ../Doc/library/urllib.request.rst:881 +#: ../Doc/library/urllib.request.rst:873 msgid "" "The same as :meth:`http_error_301`, but called for the 'temporary redirect' " "response." @@ -1505,25 +1477,25 @@ msgstr "" "Lo mismo que :meth:`http_error_301`, pero invocado para la respuesta " "'temporary redirect'." -#: ../Doc/library/urllib.request.rst:888 +#: ../Doc/library/urllib.request.rst:880 msgid "HTTPCookieProcessor Objects" msgstr "Objetos HTTPCookieProcessor" -#: ../Doc/library/urllib.request.rst:890 +#: ../Doc/library/urllib.request.rst:882 msgid ":class:`HTTPCookieProcessor` instances have one attribute:" msgstr "Las instancias :class:`HTTPCookieProcessor` tienen un atributo:" -#: ../Doc/library/urllib.request.rst:894 +#: ../Doc/library/urllib.request.rst:886 msgid "The :class:`http.cookiejar.CookieJar` in which cookies are stored." msgstr "" "El :class:`http.cookiejar.CookieJar` en el cual las cookies están " "almacenadas." -#: ../Doc/library/urllib.request.rst:900 +#: ../Doc/library/urllib.request.rst:892 msgid "ProxyHandler Objects" msgstr "Objetos ProxyHandler" -#: ../Doc/library/urllib.request.rst:906 +#: ../Doc/library/urllib.request.rst:898 msgid "" "The :class:`ProxyHandler` will have a method :meth:`_open` for " "every *protocol* which has a proxy in the *proxies* dictionary given in the " @@ -1537,11 +1509,11 @@ msgstr "" "invocando ``request.set_proxy()``, e invoca el siguiente manejador en la " "cadena que ejecuta actualmente el protocolo." -#: ../Doc/library/urllib.request.rst:916 +#: ../Doc/library/urllib.request.rst:908 msgid "HTTPPasswordMgr Objects" msgstr "Objetos HTTPPasswordMgr" -#: ../Doc/library/urllib.request.rst:918 +#: ../Doc/library/urllib.request.rst:910 msgid "" "These methods are available on :class:`HTTPPasswordMgr` and :class:" "`HTTPPasswordMgrWithDefaultRealm` objects." @@ -1549,7 +1521,7 @@ msgstr "" "Estos métodos están disponibles en los objetos :class:`HTTPPasswordMgr` y :" "class:`HTTPPasswordMgrWithDefaultRealm`." -#: ../Doc/library/urllib.request.rst:924 +#: ../Doc/library/urllib.request.rst:916 msgid "" "*uri* can be either a single URI, or a sequence of URIs. *realm*, *user* and " "*passwd* must be strings. This causes ``(user, passwd)`` to be used as " @@ -1561,7 +1533,7 @@ msgstr "" "como tokens de autenticación cuando la autenticación para *realm* y para una " "super URI de ninguna de las URIs dadas es provista." -#: ../Doc/library/urllib.request.rst:932 +#: ../Doc/library/urllib.request.rst:924 msgid "" "Get user/password for given realm and URI, if any. This method will return " "``(None, None)`` if there is no matching user/password." @@ -1570,7 +1542,7 @@ msgstr "" "dado. Este método retornará ``(None, None)`` si no hay usuario/contraseña " "concordante." -#: ../Doc/library/urllib.request.rst:935 +#: ../Doc/library/urllib.request.rst:927 msgid "" "For :class:`HTTPPasswordMgrWithDefaultRealm` objects, the realm ``None`` " "will be searched if the given *realm* has no matching user/password." @@ -1578,11 +1550,11 @@ msgstr "" "Para objetos :class:`HTTPPasswordMgrWithDefaultRealm`, el reino ``None`` " "será buscado si el *realm* dado no tiene usuario/contraseña concordante." -#: ../Doc/library/urllib.request.rst:942 +#: ../Doc/library/urllib.request.rst:934 msgid "HTTPPasswordMgrWithPriorAuth Objects" msgstr "Objetos HTTPPasswordMgrWithPriorAuth" -#: ../Doc/library/urllib.request.rst:944 +#: ../Doc/library/urllib.request.rst:936 msgid "" "This password manager extends :class:`HTTPPasswordMgrWithDefaultRealm` to " "support tracking URIs for which authentication credentials should always be " @@ -1592,7 +1564,7 @@ msgstr "" "`HTTPPasswordMgrWithDefaultRealm` para soportar el seguimiento de URIs para " "las cuales deben ser enviadas siempre credenciales de autenticación." -#: ../Doc/library/urllib.request.rst:951 +#: ../Doc/library/urllib.request.rst:943 msgid "" "*realm*, *uri*, *user*, *passwd* are as for :meth:`HTTPPasswordMgr." "add_password`. *is_authenticated* sets the initial value of the " @@ -1604,28 +1576,28 @@ msgstr "" "``is_authenticated`` para la URI o lista de URIs dadas. Si se especifica " "*is_authenticated* como ``True``, *realm* se ignora." -#: ../Doc/library/urllib.request.rst:959 +#: ../Doc/library/urllib.request.rst:951 msgid "Same as for :class:`HTTPPasswordMgrWithDefaultRealm` objects" msgstr "Lo mismo que para objetos :class:`HTTPPasswordMgrWithDefaultRealm`" -#: ../Doc/library/urllib.request.rst:965 +#: ../Doc/library/urllib.request.rst:957 msgid "" "Update the ``is_authenticated`` flag for the given *uri* or list of URIs." msgstr "" "Actualiza el indicador ``is_authenticated`` para la *uri* o lista de URIs " "dadas." -#: ../Doc/library/urllib.request.rst:971 +#: ../Doc/library/urllib.request.rst:963 msgid "" "Returns the current state of the ``is_authenticated`` flag for the given URI." msgstr "" "Retorna el estado actual del indicador ``is_authenticated`` para la URI dada." -#: ../Doc/library/urllib.request.rst:978 +#: ../Doc/library/urllib.request.rst:970 msgid "AbstractBasicAuthHandler Objects" msgstr "Objetos AbstractBasicAuthHandler" -#: ../Doc/library/urllib.request.rst:983 +#: ../Doc/library/urllib.request.rst:975 msgid "" "Handle an authentication request by getting a user/password pair, and re-" "trying the request. *authreq* should be the name of the header where the " @@ -1639,7 +1611,7 @@ msgstr "" "la URL y ruta para la cual autenticar, *req* debe ser el objeto :class:" "`Request` (fallido) y *headers* deben ser los encabezados de error." -#: ../Doc/library/urllib.request.rst:989 +#: ../Doc/library/urllib.request.rst:981 msgid "" "*host* is either an authority (e.g. ``\"python.org\"``) or a URL containing " "an authority component (e.g. ``\"http://python.org/\"``). In either case, " @@ -1652,28 +1624,27 @@ msgstr "" "org\"`` y ``\"python.org:80\"`` están bien, ``\"joe:password@python.org\"`` " "no)." -#: ../Doc/library/urllib.request.rst:998 +#: ../Doc/library/urllib.request.rst:990 msgid "HTTPBasicAuthHandler Objects" msgstr "Objetos HTTPBasicAuthHandler" -#: ../Doc/library/urllib.request.rst:1003 -#: ../Doc/library/urllib.request.rst:1014 -#: ../Doc/library/urllib.request.rst:1039 -#: ../Doc/library/urllib.request.rst:1050 +#: ../Doc/library/urllib.request.rst:995 ../Doc/library/urllib.request.rst:1006 +#: ../Doc/library/urllib.request.rst:1031 +#: ../Doc/library/urllib.request.rst:1042 msgid "Retry the request with authentication information, if available." msgstr "" "Reintenta la petición con la información de autenticación, si está " "disponible." -#: ../Doc/library/urllib.request.rst:1009 +#: ../Doc/library/urllib.request.rst:1001 msgid "ProxyBasicAuthHandler Objects" msgstr "Objetos ProxyBasicAuthHandler" -#: ../Doc/library/urllib.request.rst:1020 +#: ../Doc/library/urllib.request.rst:1012 msgid "AbstractDigestAuthHandler Objects" msgstr "Objetos AbstractDigestAuthHandler" -#: ../Doc/library/urllib.request.rst:1025 +#: ../Doc/library/urllib.request.rst:1017 msgid "" "*authreq* should be the name of the header where the information about the " "realm is included in the request, *host* should be the host to authenticate " @@ -1685,19 +1656,19 @@ msgstr "" "autenticar, *req* debe ser el objeto :class:`Request` (fallido) y *headers* " "deben ser los encabezados de error." -#: ../Doc/library/urllib.request.rst:1034 +#: ../Doc/library/urllib.request.rst:1026 msgid "HTTPDigestAuthHandler Objects" msgstr "Objetos HTTPDigestAuthHandler" -#: ../Doc/library/urllib.request.rst:1045 +#: ../Doc/library/urllib.request.rst:1037 msgid "ProxyDigestAuthHandler Objects" msgstr "Objetos ProxyDigestAuthHandler" -#: ../Doc/library/urllib.request.rst:1056 +#: ../Doc/library/urllib.request.rst:1048 msgid "HTTPHandler Objects" msgstr "Objetos HTTPHandler" -#: ../Doc/library/urllib.request.rst:1061 +#: ../Doc/library/urllib.request.rst:1053 msgid "" "Send an HTTP request, which can be either GET or POST, depending on ``req." "has_data()``." @@ -1705,11 +1676,11 @@ msgstr "" "Envía una petición HTTP, que puede ser GET o POST, dependiendo de ``req." "has_data()``." -#: ../Doc/library/urllib.request.rst:1068 +#: ../Doc/library/urllib.request.rst:1060 msgid "HTTPSHandler Objects" msgstr "Objetos HTTPSHandler" -#: ../Doc/library/urllib.request.rst:1073 +#: ../Doc/library/urllib.request.rst:1065 msgid "" "Send an HTTPS request, which can be either GET or POST, depending on ``req." "has_data()``." @@ -1717,11 +1688,11 @@ msgstr "" "Envía una petición HTTPS, que puede ser GET o POST, dependiendo de ``req." "has_data()``." -#: ../Doc/library/urllib.request.rst:1080 +#: ../Doc/library/urllib.request.rst:1072 msgid "FileHandler Objects" msgstr "Objetos FileHandler" -#: ../Doc/library/urllib.request.rst:1085 +#: ../Doc/library/urllib.request.rst:1077 msgid "" "Open the file locally, if there is no host name, or the host name is " "``'localhost'``." @@ -1729,7 +1700,7 @@ msgstr "" "Abre el archivo localmente, si no hay nombre de host, o el nombre de host es " "``'localhost'``." -#: ../Doc/library/urllib.request.rst:1088 +#: ../Doc/library/urllib.request.rst:1080 msgid "" "This method is applicable only for local hostnames. When a remote hostname " "is given, an :exc:`~urllib.error.URLError` is raised." @@ -1738,11 +1709,11 @@ msgstr "" "de host remoto es dado, se genera una excepción :exc:`~urllib.error." "URLError`." -#: ../Doc/library/urllib.request.rst:1096 +#: ../Doc/library/urllib.request.rst:1088 msgid "DataHandler Objects" msgstr "Objetos DataHandler" -#: ../Doc/library/urllib.request.rst:1100 +#: ../Doc/library/urllib.request.rst:1092 msgid "" "Read a data URL. This kind of URL contains the content encoded in the URL " "itself. The data URL syntax is specified in :rfc:`2397`. This implementation " @@ -1759,11 +1730,11 @@ msgstr "" "relleno al final de una URL codificada como base64, esta implementación " "generará un :exc:`ValueError` en este caso." -#: ../Doc/library/urllib.request.rst:1111 +#: ../Doc/library/urllib.request.rst:1103 msgid "FTPHandler Objects" msgstr "Objetos FTPHandler" -#: ../Doc/library/urllib.request.rst:1116 +#: ../Doc/library/urllib.request.rst:1108 msgid "" "Open the FTP file indicated by *req*. The login is always done with empty " "username and password." @@ -1771,11 +1742,11 @@ msgstr "" "Abre el archivo FTP indicado por *req*. El inicio de sesión siempre se " "realiza con un usuario y contraseña vacíos." -#: ../Doc/library/urllib.request.rst:1123 +#: ../Doc/library/urllib.request.rst:1115 msgid "CacheFTPHandler Objects" msgstr "Objetos CacheFTPHandler" -#: ../Doc/library/urllib.request.rst:1125 +#: ../Doc/library/urllib.request.rst:1117 msgid "" ":class:`CacheFTPHandler` objects are :class:`FTPHandler` objects with the " "following additional methods:" @@ -1783,33 +1754,33 @@ msgstr "" "Los objetos :class:`CacheFTPHandler` son objetos :class:`FTPHandler` con los " "siguientes métodos adicionales:" -#: ../Doc/library/urllib.request.rst:1131 +#: ../Doc/library/urllib.request.rst:1123 msgid "Set timeout of connections to *t* seconds." msgstr "Establece el tiempo de expiración de conexiones a *t* segundos." -#: ../Doc/library/urllib.request.rst:1136 +#: ../Doc/library/urllib.request.rst:1128 msgid "Set maximum number of cached connections to *m*." msgstr "Establece el número máximo de conexiones cacheadas a *m*." -#: ../Doc/library/urllib.request.rst:1142 +#: ../Doc/library/urllib.request.rst:1134 msgid "UnknownHandler Objects" msgstr "Objetos UnknownHandler" -#: ../Doc/library/urllib.request.rst:1147 +#: ../Doc/library/urllib.request.rst:1139 msgid "Raise a :exc:`~urllib.error.URLError` exception." msgstr "Genera una excepción :exc:`~urllib.error.URLError`." -#: ../Doc/library/urllib.request.rst:1153 +#: ../Doc/library/urllib.request.rst:1145 msgid "HTTPErrorProcessor Objects" msgstr "Objetos HTTPErrorProcessor" -#: ../Doc/library/urllib.request.rst:1159 +#: ../Doc/library/urllib.request.rst:1151 msgid "For 200 error codes, the response object is returned immediately." msgstr "" "Para códigos de error que no están en el rango de los 200, el objeto de " "respuesta es retornado inmediatamente." -#: ../Doc/library/urllib.request.rst:1161 +#: ../Doc/library/urllib.request.rst:1153 msgid "" "For non-200 error codes, this simply passes the job on to the :meth:" "`http_error_\\` handler methods, via :meth:`OpenerDirector.error`. " @@ -1822,19 +1793,19 @@ msgstr "" "`HTTPDefaultErrorHandler` generará un :exc:`~urllib.error.HTTPError` si " "ningún otro manejador maneja el error." -#: ../Doc/library/urllib.request.rst:1169 +#: ../Doc/library/urllib.request.rst:1161 msgid "Process HTTPS error responses." msgstr "Procesa los errores HTTPS de las respuestas." -#: ../Doc/library/urllib.request.rst:1171 +#: ../Doc/library/urllib.request.rst:1163 msgid "The behavior is same as :meth:`http_response`." msgstr "Este comportamiento es el mismo que :meth:`http_response`." -#: ../Doc/library/urllib.request.rst:1177 +#: ../Doc/library/urllib.request.rst:1169 msgid "Examples" msgstr "Ejemplos" -#: ../Doc/library/urllib.request.rst:1179 +#: ../Doc/library/urllib.request.rst:1171 msgid "" "In addition to the examples below, more examples are given in :ref:`urllib-" "howto`." @@ -1842,7 +1813,7 @@ msgstr "" "Adicionalmente a los ejemplos siguientes, se dan más ejemplos en :ref:" "`urllib-howto`." -#: ../Doc/library/urllib.request.rst:1182 +#: ../Doc/library/urllib.request.rst:1174 msgid "" "This example gets the python.org main page and displays the first 300 bytes " "of it. ::" @@ -1850,7 +1821,7 @@ msgstr "" "Este ejemplo obtiene la página principal python.org y despliega los primeros " "300 bytes de ella. ::" -#: ../Doc/library/urllib.request.rst:1195 +#: ../Doc/library/urllib.request.rst:1187 msgid "" "Note that urlopen returns a bytes object. This is because there is no way " "for urlopen to automatically determine the encoding of the byte stream it " @@ -1864,7 +1835,7 @@ msgstr "" "decodificará el objeto de bytes retornado a cadena de caracteres una vez que " "determine o adivine la codificación apropiada." -#: ../Doc/library/urllib.request.rst:1201 +#: ../Doc/library/urllib.request.rst:1193 msgid "" "The following W3C document, https://www.w3.org/International/O-charset\\ , " "lists the various ways in which an (X)HTML or an XML document could have " @@ -1874,7 +1845,7 @@ msgstr "" "lista las diferentes formas en la cual un documento (X)HTML o XML podría " "haber especificado su información de codificación." -#: ../Doc/library/urllib.request.rst:1205 +#: ../Doc/library/urllib.request.rst:1197 msgid "" "As the python.org website uses *utf-8* encoding as specified in its meta " "tag, we will use the same for decoding the bytes object. ::" @@ -1883,7 +1854,7 @@ msgstr "" "especifica en su etiqueta meta, usaremos la misma para decodificar el objeto " "de bytes. ::" -#: ../Doc/library/urllib.request.rst:1214 +#: ../Doc/library/urllib.request.rst:1206 msgid "" "It is also possible to achieve the same result without using the :term:" "`context manager` approach. ::" @@ -1891,7 +1862,7 @@ msgstr "" "Es posible conseguir el mismo resultado sin usar la aproximación :term:" "`context manager`. ::" -#: ../Doc/library/urllib.request.rst:1223 +#: ../Doc/library/urllib.request.rst:1215 msgid "" "In the following example, we are sending a data-stream to the stdin of a CGI " "and reading the data it returns to us. Note that this example will only work " @@ -1901,21 +1872,21 @@ msgstr "" "estándar de un CGI y leyendo los datos que nos retorna. Tenga en cuenta que " "este ejemplo sólo funcionará cuando la instalación de Python soporte SSL. ::" -#: ../Doc/library/urllib.request.rst:1235 +#: ../Doc/library/urllib.request.rst:1227 msgid "The code for the sample CGI used in the above example is::" msgstr "El código para el CGI de muestra usado en el ejemplo anterior es::" -#: ../Doc/library/urllib.request.rst:1242 +#: ../Doc/library/urllib.request.rst:1234 msgid "Here is an example of doing a ``PUT`` request using :class:`Request`::" msgstr "" "Aquí hay un ejemplo de realizar una petición ``PUT`` usando :class:" "`Request`::" -#: ../Doc/library/urllib.request.rst:1252 +#: ../Doc/library/urllib.request.rst:1244 msgid "Use of Basic HTTP Authentication::" msgstr "Uso de Autenticación HTTP Básica::" -#: ../Doc/library/urllib.request.rst:1266 +#: ../Doc/library/urllib.request.rst:1258 msgid "" ":func:`build_opener` provides many handlers by default, including a :class:" "`ProxyHandler`. By default, :class:`ProxyHandler` uses the environment " @@ -1929,7 +1900,7 @@ msgstr "" "el esquema URL involucrado. Por ejemplo, se lee la variable de entorno :" "envvar:`http_proxy` para obtener la URL del proxy HTTP." -#: ../Doc/library/urllib.request.rst:1272 +#: ../Doc/library/urllib.request.rst:1264 msgid "" "This example replaces the default :class:`ProxyHandler` with one that uses " "programmatically-supplied proxy URLs, and adds proxy authorization support " @@ -1939,15 +1910,15 @@ msgstr "" "usa URLs de proxy suministradas mediante programación y añade soporte de " "autorización de proxy con :class:`ProxyBasicAuthHandler`. ::" -#: ../Doc/library/urllib.request.rst:1284 +#: ../Doc/library/urllib.request.rst:1276 msgid "Adding HTTP headers:" msgstr "Añadiendo encabezados HTTP:" -#: ../Doc/library/urllib.request.rst:1286 +#: ../Doc/library/urllib.request.rst:1278 msgid "Use the *headers* argument to the :class:`Request` constructor, or::" msgstr "Usa el argumento *headers* en el constructor de :class:`Request`, o::" -#: ../Doc/library/urllib.request.rst:1295 +#: ../Doc/library/urllib.request.rst:1287 msgid "" ":class:`OpenerDirector` automatically adds a :mailheader:`User-Agent` header " "to every :class:`Request`. To change this::" @@ -1955,7 +1926,7 @@ msgstr "" ":class:`OpenerDirector` añade automáticamente un encabezado :mailheader:" "`User-Agent` a cada :class:`Request`. Para cambiar esto::" -#: ../Doc/library/urllib.request.rst:1303 +#: ../Doc/library/urllib.request.rst:1295 msgid "" "Also, remember that a few standard headers (:mailheader:`Content-Length`, :" "mailheader:`Content-Type` and :mailheader:`Host`) are added when the :class:" @@ -1966,7 +1937,7 @@ msgstr "" "cuando se pasa :class:`Request` a :func:`urlopen` (o :meth:`OpenerDirector." "open`)." -#: ../Doc/library/urllib.request.rst:1310 +#: ../Doc/library/urllib.request.rst:1302 msgid "" "Here is an example session that uses the ``GET`` method to retrieve a URL " "containing parameters::" @@ -1974,7 +1945,7 @@ msgstr "" "Aquí hay un ejemplo de sesión que usa el método ``GET`` para obtener una URL " "que contiene los parámetros::" -#: ../Doc/library/urllib.request.rst:1321 +#: ../Doc/library/urllib.request.rst:1313 msgid "" "The following example uses the ``POST`` method instead. Note that params " "output from urlencode is encoded to bytes before it is sent to urlopen as " @@ -1984,7 +1955,7 @@ msgstr "" "salida de parámetros desde urlencode es codificada a bytes antes de ser " "enviados a urlopen como datos::" -#: ../Doc/library/urllib.request.rst:1332 +#: ../Doc/library/urllib.request.rst:1324 msgid "" "The following example uses an explicitly specified HTTP proxy, overriding " "environment settings::" @@ -1992,7 +1963,7 @@ msgstr "" "El siguiente ejemplo usa un proxy HTTP especificado, sobrescribiendo las " "configuraciones de entorno::" -#: ../Doc/library/urllib.request.rst:1342 +#: ../Doc/library/urllib.request.rst:1334 msgid "" "The following example uses no proxies at all, overriding environment " "settings::" @@ -2000,11 +1971,11 @@ msgstr "" "El siguiente ejemplo no usa proxies, sobrescribiendo las variables de " "entorno::" -#: ../Doc/library/urllib.request.rst:1352 +#: ../Doc/library/urllib.request.rst:1344 msgid "Legacy interface" msgstr "Interfaz heredada" -#: ../Doc/library/urllib.request.rst:1354 +#: ../Doc/library/urllib.request.rst:1346 msgid "" "The following functions and classes are ported from the Python 2 module " "``urllib`` (as opposed to ``urllib2``). They might become deprecated at " @@ -2014,7 +1985,7 @@ msgstr "" "de Python 2 (en oposición a ``urllib2``). Ellas pueden estar obsoletas en " "algún punto del futuro." -#: ../Doc/library/urllib.request.rst:1360 +#: ../Doc/library/urllib.request.rst:1352 msgid "" "Copy a network object denoted by a URL to a local file. If the URL points to " "a local file, the object will not be copied unless filename is supplied. " @@ -2031,7 +2002,7 @@ msgstr "" "retornado por :func:`urlopen` (para un objeto remoto). Las excepciones son " "las mismas que para :func:`urlopen`." -#: ../Doc/library/urllib.request.rst:1367 +#: ../Doc/library/urllib.request.rst:1359 msgid "" "The second argument, if present, specifies the file location to copy to (if " "absent, the location will be a tempfile with a generated name). The third " @@ -2053,11 +2024,11 @@ msgstr "" "antiguos los cuales no retornan un tamaño de archivo en respuesta a una " "solicitud de recuperación." -#: ../Doc/library/urllib.request.rst:1376 +#: ../Doc/library/urllib.request.rst:1368 msgid "The following example illustrates the most common usage scenario::" msgstr "El siguiente ejemplo ilustra el escenario de uso más común::" -#: ../Doc/library/urllib.request.rst:1383 +#: ../Doc/library/urllib.request.rst:1375 msgid "" "If the *url* uses the :file:`http:` scheme identifier, the optional *data* " "argument may be given to specify a ``POST`` request (normally the request " @@ -2071,7 +2042,7 @@ msgstr "" "un objeto de bytes en formato :mimetype:`application/x-www-form-urlencoded`; " "vea la función :func:`urllib.parse.urlencode`." -#: ../Doc/library/urllib.request.rst:1389 +#: ../Doc/library/urllib.request.rst:1381 msgid "" ":func:`urlretrieve` will raise :exc:`ContentTooShortError` when it detects " "that the amount of data available was less than the expected amount (which " @@ -2083,7 +2054,7 @@ msgstr "" "es el tamaño reportado por un encabezado *Content-Length*). Esto puede " "ocurrir, por ejemplo, cuando se interrumpe la descarga." -#: ../Doc/library/urllib.request.rst:1394 +#: ../Doc/library/urllib.request.rst:1386 msgid "" "The *Content-Length* is treated as a lower bound: if there's more data to " "read, urlretrieve reads more data, but if less data is available, it raises " @@ -2093,7 +2064,7 @@ msgstr "" "a leer, urlretrieve lee más datos, pero si están disponibles menos datos, se " "genera la excepción." -#: ../Doc/library/urllib.request.rst:1398 +#: ../Doc/library/urllib.request.rst:1390 msgid "" "You can still retrieve the downloaded data in this case, it is stored in " "the :attr:`content` attribute of the exception instance." @@ -2101,7 +2072,7 @@ msgstr "" "Puedes seguir obteniendo los datos descargados en este caso, son almacenados " "en el atributo :attr:`content` de la instancia de la excepción." -#: ../Doc/library/urllib.request.rst:1401 +#: ../Doc/library/urllib.request.rst:1393 msgid "" "If no *Content-Length* header was supplied, urlretrieve can not check the " "size of the data it has downloaded, and just returns it. In this case you " @@ -2111,7 +2082,7 @@ msgstr "" "comprobar el tamaño de los datos que han sido descargados, y sólo los " "retorna. En este caso sólo tienes que asumir que la descarga fue exitosa." -#: ../Doc/library/urllib.request.rst:1407 +#: ../Doc/library/urllib.request.rst:1399 msgid "" "Cleans up temporary files that may have been left behind by previous calls " "to :func:`urlretrieve`." @@ -2119,7 +2090,7 @@ msgstr "" "Limpia archivos temporales que pueden haber quedado tras llamadas anteriores " "a :func:`urlretrieve`." -#: ../Doc/library/urllib.request.rst:1414 +#: ../Doc/library/urllib.request.rst:1406 msgid "" "Base class for opening and reading URLs. Unless you need to support opening " "objects using schemes other than :file:`http:`, :file:`ftp:`, or :file:`file:" @@ -2129,7 +2100,7 @@ msgstr "" "de apertura de objetos usando esquemas diferentes a :file:`http:`, :file:" "`ftp:` o :file:`file:`, probablemente quieras usar :class:`FancyURLopener`." -#: ../Doc/library/urllib.request.rst:1418 +#: ../Doc/library/urllib.request.rst:1410 msgid "" "By default, the :class:`URLopener` class sends a :mailheader:`User-Agent` " "header of ``urllib/VVV``, where *VVV* is the :mod:`urllib` version number. " @@ -2145,7 +2116,7 @@ msgstr "" "estableciendo el atributo de clase :attr:`version` a un valor de cadena de " "caracteres apropiado en la definición de la subclase." -#: ../Doc/library/urllib.request.rst:1424 +#: ../Doc/library/urllib.request.rst:1416 msgid "" "The optional *proxies* parameter should be a dictionary mapping scheme names " "to proxy URLs, where an empty dictionary turns proxies off completely. Its " @@ -2158,7 +2129,7 @@ msgstr "" "configuraciones de proxy del entorno serán usadas si están presentes, como " "ha sido discutido en la definición de :func:`urlopen`, arriba." -#: ../Doc/library/urllib.request.rst:1429 +#: ../Doc/library/urllib.request.rst:1421 msgid "" "Additional keyword parameters, collected in *x509*, may be used for " "authentication of the client when using the :file:`https:` scheme. The " @@ -2171,7 +2142,7 @@ msgstr "" "una clave y certificado SSL; ambos son necesarias para soportar " "autenticación de cliente." -#: ../Doc/library/urllib.request.rst:1434 +#: ../Doc/library/urllib.request.rst:1426 msgid "" ":class:`URLopener` objects will raise an :exc:`OSError` exception if the " "server returns an error code." @@ -2179,7 +2150,7 @@ msgstr "" "Los objetos :class:`URLopener` generarán una excepción :exc:`OSError` si el " "servidor retorna un código de error." -#: ../Doc/library/urllib.request.rst:1439 +#: ../Doc/library/urllib.request.rst:1431 msgid "" "Open *fullurl* using the appropriate protocol. This method sets up cache " "and proxy information, then calls the appropriate open method with its input " @@ -2193,17 +2164,17 @@ msgstr "" "se invoca :meth:`open_unknown`. El argumento *data* tiene el mismo " "significado que el argumento *data* de :func:`urlopen`." -#: ../Doc/library/urllib.request.rst:1445 +#: ../Doc/library/urllib.request.rst:1437 msgid "This method always quotes *fullurl* using :func:`~urllib.parse.quote`." msgstr "" "Este método siempre entrecomilla *fullurl* usando :func:`~urllib.parse." "quote`." -#: ../Doc/library/urllib.request.rst:1449 +#: ../Doc/library/urllib.request.rst:1441 msgid "Overridable interface to open unknown URL types." msgstr "Interfaz sobrescribible para abrir tipos de URL desconocidos." -#: ../Doc/library/urllib.request.rst:1454 +#: ../Doc/library/urllib.request.rst:1446 msgid "" "Retrieves the contents of *url* and places it in *filename*. The return " "value is a tuple consisting of a local filename and either an :class:`email." @@ -2234,7 +2205,7 @@ msgstr "" "comienzo y después de que cada fragmento de datos sea leído de la red. " "*reporthook* es ignorado para URLs locales." -#: ../Doc/library/urllib.request.rst:1467 +#: ../Doc/library/urllib.request.rst:1459 msgid "" "If the *url* uses the :file:`http:` scheme identifier, the optional *data* " "argument may be given to specify a ``POST`` request (normally the request " @@ -2248,7 +2219,7 @@ msgstr "" "en formato estándar :mimetype:`application/x-www-form-urlencoded`; vea la " "función :func:`urllib.parse.urlencode`." -#: ../Doc/library/urllib.request.rst:1476 +#: ../Doc/library/urllib.request.rst:1468 msgid "" "Variable that specifies the user agent of the opener object. To get :mod:" "`urllib` to tell servers that it is a particular user agent, set this in a " @@ -2260,7 +2231,7 @@ msgstr "" "usuario particular, establece esto en una subclase como una variable de " "clase o en el constructor antes de invocar el constructor base." -#: ../Doc/library/urllib.request.rst:1486 +#: ../Doc/library/urllib.request.rst:1478 msgid "" ":class:`FancyURLopener` subclasses :class:`URLopener` providing default " "handling for the following HTTP response codes: 301, 302, 303, 307 and 401. " @@ -2278,7 +2249,7 @@ msgstr "" "HTTP. Para los códigos de respuesta 30x, la recursión está limitada por el " "valor del atributo *maxentries*, el cual por defecto es 10." -#: ../Doc/library/urllib.request.rst:1493 +#: ../Doc/library/urllib.request.rst:1485 msgid "" "For all other response codes, the method :meth:`http_error_default` is " "called which you can override in subclasses to handle the error " @@ -2288,7 +2259,7 @@ msgstr "" "`http_error_default`, que puede sobrescribir en subclases para manejar el " "error de manera adecuada." -#: ../Doc/library/urllib.request.rst:1498 +#: ../Doc/library/urllib.request.rst:1490 msgid "" "According to the letter of :rfc:`2616`, 301 and 302 responses to POST " "requests must not be automatically redirected without confirmation by the " @@ -2302,7 +2273,7 @@ msgstr "" "esas respuestas, cambiando de POST a GET, y :mod:`urllib` reproduce este " "comportamiento." -#: ../Doc/library/urllib.request.rst:1503 +#: ../Doc/library/urllib.request.rst:1495 msgid "" "The parameters to the constructor are the same as those for :class:" "`URLopener`." @@ -2310,7 +2281,7 @@ msgstr "" "Los parámetros del constructor son el mismo que aquellos para :class:" "`URLopener`." -#: ../Doc/library/urllib.request.rst:1507 +#: ../Doc/library/urllib.request.rst:1499 msgid "" "When performing basic authentication, a :class:`FancyURLopener` instance " "calls its :meth:`prompt_user_passwd` method. The default implementation " @@ -2324,7 +2295,7 @@ msgstr "" "requerida en la terminal de control. Una subclase puede sobrescribir este " "método para soportar un comportamiento más apropiado si se necesita." -#: ../Doc/library/urllib.request.rst:1512 +#: ../Doc/library/urllib.request.rst:1504 msgid "" "The :class:`FancyURLopener` class offers one additional method that should " "be overloaded to provide the appropriate behavior:" @@ -2332,7 +2303,7 @@ msgstr "" "La clase :class:`FancyURLopener` ofrece un método adicional que debe ser " "sobrecargado para proveer el comportamiento apropiado:" -#: ../Doc/library/urllib.request.rst:1517 +#: ../Doc/library/urllib.request.rst:1509 msgid "" "Return information needed to authenticate the user at the given host in the " "specified security realm. The return value should be a tuple, ``(user, " @@ -2342,7 +2313,7 @@ msgstr "" "en el reino de seguridad especificado. El valor retornado debe ser una tupla " "``(user, password)``, la cual puede ser usada para autenticación básica." -#: ../Doc/library/urllib.request.rst:1521 +#: ../Doc/library/urllib.request.rst:1513 msgid "" "The implementation prompts for this information on the terminal; an " "application should override this method to use an appropriate interaction " @@ -2352,11 +2323,11 @@ msgstr "" "debe sobrescribir este método para usar un modelo de interacción apropiado " "en el entorno local." -#: ../Doc/library/urllib.request.rst:1527 +#: ../Doc/library/urllib.request.rst:1519 msgid ":mod:`urllib.request` Restrictions" msgstr "Restricciones :mod:`urllib.request`" -#: ../Doc/library/urllib.request.rst:1533 +#: ../Doc/library/urllib.request.rst:1525 msgid "" "Currently, only the following protocols are supported: HTTP (versions 0.9 " "and 1.0), FTP, local files, and data URLs." @@ -2364,11 +2335,11 @@ msgstr "" "Actualmente, sólo uno de los siguientes protocolo están soportados: HTTP " "(versiones 0.9 y 1.0), FTP, archivos locales y URLs de datos." -#: ../Doc/library/urllib.request.rst:1536 +#: ../Doc/library/urllib.request.rst:1528 msgid "Added support for data URLs." msgstr "Añadido soporte para URLs de datos." -#: ../Doc/library/urllib.request.rst:1538 +#: ../Doc/library/urllib.request.rst:1530 msgid "" "The caching feature of :func:`urlretrieve` has been disabled until someone " "finds the time to hack proper processing of Expiration time headers." @@ -2377,14 +2348,14 @@ msgstr "" "hasta que alguien encuentre el tiempo para hackear el procesamiento adecuado " "de los encabezados de tiempo de Expiración." -#: ../Doc/library/urllib.request.rst:1541 +#: ../Doc/library/urllib.request.rst:1533 msgid "" "There should be a function to query whether a particular URL is in the cache." msgstr "" "Debería haber una función para consultar si una URL en particular está en la " "caché." -#: ../Doc/library/urllib.request.rst:1543 +#: ../Doc/library/urllib.request.rst:1535 msgid "" "For backward compatibility, if a URL appears to point to a local file but " "the file can't be opened, the URL is re-interpreted using the FTP protocol. " @@ -2395,7 +2366,7 @@ msgstr "" "usando el protocolo FTP. Esto a veces puede causar mensajes de error " "confusos." -#: ../Doc/library/urllib.request.rst:1547 +#: ../Doc/library/urllib.request.rst:1539 msgid "" "The :func:`urlopen` and :func:`urlretrieve` functions can cause arbitrarily " "long delays while waiting for a network connection to be set up. This means " @@ -2407,7 +2378,7 @@ msgstr "" "red. Esto significa que es difícil construir un cliente Web interactivo " "usando estas funciones sin utilizar hilos." -#: ../Doc/library/urllib.request.rst:1556 +#: ../Doc/library/urllib.request.rst:1548 msgid "" "The data returned by :func:`urlopen` or :func:`urlretrieve` is the raw data " "returned by the server. This may be binary data (such as an image), plain " @@ -2424,7 +2395,7 @@ msgstr "" "retornados son HTML, puedes usar el módulo :mod:`html.parser` para " "analizarlos." -#: ../Doc/library/urllib.request.rst:1565 +#: ../Doc/library/urllib.request.rst:1557 msgid "" "The code handling the FTP protocol cannot differentiate between a file and a " "directory. This can lead to unexpected behavior when attempting to read a " @@ -2457,22 +2428,88 @@ msgstr "" "heredando :class:`FancyURLopener` o cambiando *_urlopener* para ajustarlo a " "tus necesidades." -#: ../Doc/library/urllib.request.rst:1582 +#: ../Doc/library/urllib.request.rst:1574 msgid ":mod:`urllib.response` --- Response classes used by urllib" msgstr ":mod:`urllib.response` --- Clases de respuesta usadas por urllib" -#: ../Doc/library/urllib.request.rst:1587 +#: ../Doc/library/urllib.request.rst:1579 msgid "" "The :mod:`urllib.response` module defines functions and classes which define " -"a minimal file like interface, including ``read()`` and ``readline()``. The " -"typical response object is an addinfourl instance, which defines an " -"``info()`` method and that returns headers and a ``geturl()`` method that " -"returns the url. Functions defined by this module are used internally by " -"the :mod:`urllib.request` module." -msgstr "" -"El módulo :mod:`urllib.response` define funciones y clases las cuales " -"definen una interfaz mínima como objeto de archivo, incluyendo ``read()`` y " -"``readline()``. El objeto de respuesta típico es una instancia addinfourl, " -"la cual define un método ``info()`` y este retorna encabezados y un método " -"``geturl()`` que retorna la url. Las funciones definidas por este módulo son " -"usadas internamente por el módulo :mod:`urllib.request`." +"a minimal file-like interface, including ``read()`` and ``readline()``. " +"Functions defined by this module are used internally by the :mod:`urllib." +"request` module. The typical response object is a :class:`urllib.response." +"addinfourl` instance:" +msgstr "" + +#: ../Doc/library/urllib.request.rst:1588 +#, fuzzy +msgid "" +"URL of the resource retrieved, commonly used to determine if a redirect was " +"followed." +msgstr "" +":meth:`~urllib.response.addinfourl.geturl` --- retorna la URL del recurso " +"obtenido, comúnmente usado para determinar si se ha seguido una redirección" + +#: ../Doc/library/urllib.request.rst:1592 +msgid "" +"Returns the headers of the response in the form of an :class:`~email.message." +"EmailMessage` instance." +msgstr "" + +#: ../Doc/library/urllib.request.rst:1598 +msgid "Status code returned by server." +msgstr "" + +#: ../Doc/library/urllib.request.rst:1602 +msgid "Deprecated in favor of :attr:`~addinfourl.url`." +msgstr "" + +#: ../Doc/library/urllib.request.rst:1607 +msgid "Deprecated in favor of :attr:`~addinfourl.headers`." +msgstr "" + +#: ../Doc/library/urllib.request.rst:1612 +#: ../Doc/library/urllib.request.rst:1617 +msgid "Deprecated in favor of :attr:`~addinfourl.status`." +msgstr "" + +#~ msgid "" +#~ "This function always returns an object which can work as a :term:`context " +#~ "manager` and has methods such as" +#~ msgstr "" +#~ "Esta función siempre retorna un objeto que puede funcionar como un :term:" +#~ "`context manager` y tiene métodos como" + +#~ msgid "" +#~ ":meth:`~urllib.response.addinfourl.info` --- return the meta-information " +#~ "of the page, such as headers, in the form of an :func:`email." +#~ "message_from_string` instance (see `Quick Reference to HTTP Headers " +#~ "`_)" +#~ msgstr "" +#~ ":meth:`~urllib.response.addinfourl.info` --- retorna la meta información " +#~ "de la página, como los encabezados, en la forma de una instancia :func:" +#~ "`email.message_from_string` (vea `Quick Reference to HTTP Headers `_)" + +#~ msgid "" +#~ ":meth:`~urllib.response.addinfourl.getcode` -- return the HTTP status " +#~ "code of the response." +#~ msgstr "" +#~ ":meth:`~urllib.response.addinfourl.getcode` -- retorna el código de " +#~ "estado HTTP de la respuesta." + +#~ msgid "" +#~ "The :mod:`urllib.response` module defines functions and classes which " +#~ "define a minimal file like interface, including ``read()`` and " +#~ "``readline()``. The typical response object is an addinfourl instance, " +#~ "which defines an ``info()`` method and that returns headers and a " +#~ "``geturl()`` method that returns the url. Functions defined by this " +#~ "module are used internally by the :mod:`urllib.request` module." +#~ msgstr "" +#~ "El módulo :mod:`urllib.response` define funciones y clases las cuales " +#~ "definen una interfaz mínima como objeto de archivo, incluyendo ``read()`` " +#~ "y ``readline()``. El objeto de respuesta típico es una instancia " +#~ "addinfourl, la cual define un método ``info()`` y este retorna " +#~ "encabezados y un método ``geturl()`` que retorna la url. Las funciones " +#~ "definidas por este módulo son usadas internamente por el módulo :mod:" +#~ "`urllib.request`." diff --git a/library/venv.po b/library/venv.po index 4b7a71083a..f8c132cd31 100644 --- a/library/venv.po +++ b/library/venv.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:39+0100\n" "PO-Revision-Date: 2020-05-22 17:08+0200\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.3.1\n" #: ../Doc/library/venv.rst:2 msgid ":mod:`venv` --- Creation of virtual environments" @@ -52,9 +51,11 @@ msgstr "" "Ver :pep:`405` para más información sobre los entornos virtuales de Python." #: ../Doc/library/venv.rst:29 +#, fuzzy msgid "" "`Python Packaging User Guide: Creating and using virtual environments " -"`__" +"`__" msgstr "" "`Python Packaging User Guide: Creating and using virtual environments " "`__" @@ -63,269 +64,6 @@ msgstr "" msgid "Creating virtual environments" msgstr "Creación de entornos virtuales" -#: ../Doc/using/venv-create.inc:1 -msgid "" -"Creation of :ref:`virtual environments ` is done by executing the " -"command ``venv``::" -msgstr "" -"La creación de :ref:`entornos virtuales ` se hace ejecutando el " -"comando ``venv``::" - -#: ../Doc/using/venv-create.inc:6 -msgid "" -"Running this command creates the target directory (creating any parent " -"directories that don't exist already) and places a ``pyvenv.cfg`` file in it " -"with a ``home`` key pointing to the Python installation from which the " -"command was run (a common name for the target directory is ``.venv``). It " -"also creates a ``bin`` (or ``Scripts`` on Windows) subdirectory containing a " -"copy/symlink of the Python binary/binaries (as appropriate for the platform " -"or arguments used at environment creation time). It also creates an " -"(initially empty) ``lib/pythonX.Y/site-packages`` subdirectory (on Windows, " -"this is ``Lib\\site-packages``). If an existing directory is specified, it " -"will be re-used." -msgstr "" -"Al ejecutar este comando se crea el directorio de destino (creando cualquier " -"directorio padre que todavía no exista) y coloca un archivo ``pyvenv.cfg`` " -"en él con una clave ``home`` apuntando a la instalación Python desde la que " -"el comando se lanzó (un nombre común para el directorio destino es ``." -"venv``). También crea un subdirectorio ``bin`` (o ``Scripts`` en Windows) " -"conteniendo una copia/enlace simbólico del binario/s Python (según lo " -"apropiado para la plataforma o los argumentos usados en el momento de la " -"creación del entorno). También crea un directorio (inicialmente vacío) ``lib/" -"pythonX.Y/site-packages`` (en Windows, este es ``Lib\\site-packages``). Si " -"se especifica un directorio existente, será reutilizado." - -#: ../Doc/using/venv-create.inc:17 -msgid "" -"``pyvenv`` was the recommended tool for creating virtual environments for " -"Python 3.3 and 3.4, and is `deprecated in Python 3.6 `_." -msgstr "" -"``pyvenv`` fue la herramienta recomendada para la creación de entornos " -"virtuales en Python 3.3 y 3.4, y es `obsoleta para Python 3.6 `_." - -#: ../Doc/using/venv-create.inc:22 -msgid "" -"The use of ``venv`` is now recommended for creating virtual environments." -msgstr "Ahora se recomienda el uso de ``venv`` para crear entornos virtuales." - -#: ../Doc/using/venv-create.inc:27 -msgid "On Windows, invoke the ``venv`` command as follows::" -msgstr "En Windows, invoca el comando ``venv`` de la siguiente manera::" - -#: ../Doc/using/venv-create.inc:31 -msgid "" -"Alternatively, if you configured the ``PATH`` and ``PATHEXT`` variables for " -"your :ref:`Python installation `::" -msgstr "" -"Como alternativa, si configuraste las variables ``PATH`` y ``PATHEXT`` para " -"tu :ref:`instalación de Python `::" - -#: ../Doc/using/venv-create.inc:36 -msgid "The command, if run with ``-h``, will show the available options::" -msgstr "" -"El comando, si se ejecuta con ``-h``, mostrará las opciones disponibles::" - -#: ../Doc/using/venv-create.inc:68 -msgid "" -"Installs pip by default, added the ``--without-pip`` and ``--copies`` " -"options" -msgstr "" -"Instala pip por defecto, añadidas las opciones ``--without-pip`` y ``--" -"copies``" - -#: ../Doc/using/venv-create.inc:72 -msgid "" -"In earlier versions, if the target directory already existed, an error was " -"raised, unless the ``--clear`` or ``--upgrade`` option was provided." -msgstr "" -"En versiones anteriores, si el directorio objetivo ya existía, se producía " -"un error, a menos que se incluyera la opción ``--clear`` or ``--upgrade``." - -#: ../Doc/using/venv-create.inc:77 -msgid "" -"While symlinks are supported on Windows, they are not recommended. Of " -"particular note is that double-clicking ``python.exe`` in File Explorer will " -"resolve the symlink eagerly and ignore the virtual environment." -msgstr "" -"Aunque los enlaces simbólicos están soportados en Windows, no se " -"recomiendan. Cabe destacar que al hacer doble clic en ``python.exe`` en el " -"Explorador de Archivos, el enlace simbólico se resolverá con rapidez e " -"ignorará el entorno virtual." - -#: ../Doc/using/venv-create.inc:82 -msgid "" -"On Microsoft Windows, it may be required to enable the ``Activate.ps1`` " -"script by setting the execution policy for the user. You can do this by " -"issuing the following PowerShell command:" -msgstr "" -"En Microsoft Windows, puede ser necesario habilitar el *script* ``Activate." -"ps1`` estableciendo la política de ejecución para el usuario. Puedes hacer " -"esto ejecutando el siguiente comando de PowerShell:" - -#: ../Doc/using/venv-create.inc:86 -msgid "" -"PS C:\\> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser" -msgstr "" -"PS C:\\> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser" - -#: ../Doc/using/venv-create.inc:88 -msgid "" -"See `About Execution Policies `_ for more information." -msgstr "" -"Ver `Acerca de las políticas de ejecución `_ para más información." - -#: ../Doc/using/venv-create.inc:92 -msgid "" -"The created ``pyvenv.cfg`` file also includes the ``include-system-site-" -"packages`` key, set to ``true`` if ``venv`` is run with the ``--system-site-" -"packages`` option, ``false`` otherwise." -msgstr "" -"El archivo creado ``pyvenv.cfg`` también incluye la clave ``include-system-" -"site-packages``, fijada a ``true`` si ``venv`` se ejecuta con la opción ``--" -"system-site-packages``, ``false`` en caso contrario." - -#: ../Doc/using/venv-create.inc:96 -msgid "" -"Unless the ``--without-pip`` option is given, :mod:`ensurepip` will be " -"invoked to bootstrap ``pip`` into the virtual environment." -msgstr "" -"A menos que se use la opción ``--without-pip``, se invocará :mod:`ensurepip` " -"para arrancar ``pip`` en el entorno virtual." - -#: ../Doc/using/venv-create.inc:99 -msgid "" -"Multiple paths can be given to ``venv``, in which case an identical virtual " -"environment will be created, according to the given options, at each " -"provided path." -msgstr "" -"Se pueden dar múltiples rutas a ``venv``, en cuyo caso se creará un entorno " -"virtual idéntico, de acuerdo a las opciones dadas, en cada ruta " -"proporcionada." - -#: ../Doc/using/venv-create.inc:103 -msgid "" -"Once a virtual environment has been created, it can be \"activated\" using a " -"script in the virtual environment's binary directory. The invocation of the " -"script is platform-specific (`` must be replaced by the path of the " -"directory containing the virtual environment):" -msgstr "" -"Una vez que se ha creado un entorno virtual, puede ser \"activado\" usando " -"un *script* en el directorio binario del entorno virtual. La ejecución del " -"*script* es específica de la plataforma (`` debe ser reemplazado por " -"la ruta del directorio que contiene el entorno virtual):" - -#: ../Doc/using/venv-create.inc:109 -msgid "Platform" -msgstr "Plataforma" - -#: ../Doc/using/venv-create.inc:109 -msgid "Shell" -msgstr "Consola" - -#: ../Doc/using/venv-create.inc:109 -msgid "Command to activate virtual environment" -msgstr "Comando para activar el entorno virtual" - -#: ../Doc/using/venv-create.inc:111 -msgid "POSIX" -msgstr "POSIX" - -#: ../Doc/using/venv-create.inc:111 -msgid "bash/zsh" -msgstr "bash/zsh" - -#: ../Doc/using/venv-create.inc:111 -msgid "$ source /bin/activate" -msgstr "$ source /bin/activate" - -#: ../Doc/using/venv-create.inc:113 -msgid "fish" -msgstr "fish" - -#: ../Doc/using/venv-create.inc:113 -msgid "$ . /bin/activate.fish" -msgstr "$ . /bin/activate.fish" - -#: ../Doc/using/venv-create.inc:115 -msgid "csh/tcsh" -msgstr "csh/tcsh" - -#: ../Doc/using/venv-create.inc:115 -msgid "$ source /bin/activate.csh" -msgstr "$ source /bin/activate.csh" - -#: ../Doc/using/venv-create.inc:117 -msgid "PowerShell Core" -msgstr "PowerShell Core" - -#: ../Doc/using/venv-create.inc:117 -msgid "$ /bin/Activate.ps1" -msgstr "$ /bin/Activate.ps1" - -#: ../Doc/using/venv-create.inc:119 -msgid "Windows" -msgstr "Windows" - -#: ../Doc/using/venv-create.inc:119 -msgid "cmd.exe" -msgstr "cmd.exe" - -#: ../Doc/using/venv-create.inc:119 -msgid "C:\\\\> \\\\Scripts\\\\activate.bat" -msgstr "C:\\\\> \\\\Scripts\\\\activate.bat" - -#: ../Doc/using/venv-create.inc:121 -msgid "PowerShell" -msgstr "PowerShell" - -#: ../Doc/using/venv-create.inc:121 -msgid "PS C:\\\\> \\\\Scripts\\\\Activate.ps1" -msgstr "PS C:\\\\> \\\\Scripts\\\\Activate.ps1" - -#: ../Doc/using/venv-create.inc:124 -msgid "" -"You don't specifically *need* to activate an environment; activation just " -"prepends the virtual environment's binary directory to your path, so that " -"\"python\" invokes the virtual environment's Python interpreter and you can " -"run installed scripts without having to use their full path. However, all " -"scripts installed in a virtual environment should be runnable without " -"activating it, and run with the virtual environment's Python automatically." -msgstr "" -"No es *necesario* activar un entorno específicamente; la activación sólo " -"prepara el directorio binario del entorno virtual para tu ruta, de modo que " -"\"python\" invoque el intérprete de Python del entorno virtual y puedas " -"ejecutar los *scripts* instalados sin tener que usar su ruta completa. Sin " -"embargo, todos los *scripts* instalados en un entorno virtual deberían ser " -"ejecutables sin activarlo, y ejecutarse con el Python del entorno virtual " -"automáticamente." - -#: ../Doc/using/venv-create.inc:131 -msgid "" -"You can deactivate a virtual environment by typing \"deactivate\" in your " -"shell. The exact mechanism is platform-specific and is an internal " -"implementation detail (typically a script or shell function will be used)." -msgstr "" -"Puedes desactivar un entorno virtual tecleando \"*deactivate*\" en tu " -"consola. El mecanismo exacto es específico de la plataforma y es un detalle " -"de implementación interna (típicamente se usará un *script* o una función de " -"la consola)." - -#: ../Doc/using/venv-create.inc:135 -msgid "``fish`` and ``csh`` activation scripts." -msgstr "``fish`` y ``csh`` *scripts* de activación." - -#: ../Doc/using/venv-create.inc:138 -msgid "" -"PowerShell activation scripts installed under POSIX for PowerShell Core " -"support." -msgstr "" -"*scripts* de activación PowerShell instalados bajo POSIX para el soporte del " -"PowerShell Core." - #: ../Doc/library/venv.rst:41 msgid "" "A virtual environment is a Python environment such that the Python " @@ -500,24 +238,35 @@ msgstr "" "default-pip``." #: ../Doc/library/venv.rst:123 +#, fuzzy msgid "" "``prompt`` -- a String to be used after virtual environment is activated " "(defaults to ``None`` which means directory name of the environment would be " -"used)." +"used). If the special string ``\".\"`` is provided, the basename of the " +"current directory is used as the prompt." msgstr "" "``prompt`` -- una cadena que se usará después de que se active el entorno " "virtual (por defecto es ``None`` lo que significa que se usará el nombre de " "directorio del entorno)." -#: ../Doc/library/venv.rst:127 ../Doc/library/venv.rst:245 +#: ../Doc/library/venv.rst:128 +msgid "``upgrade_deps`` -- Update the base venv modules to the latest on PyPI" +msgstr "" + +#: ../Doc/library/venv.rst:130 ../Doc/library/venv.rst:259 msgid "Added the ``with_pip`` parameter" msgstr "Añadido el parámetro ``with_pip``" -#: ../Doc/library/venv.rst:130 ../Doc/library/venv.rst:248 +#: ../Doc/library/venv.rst:133 ../Doc/library/venv.rst:262 msgid "Added the ``prompt`` parameter" msgstr "Añadido el parámetro ``prompt``" -#: ../Doc/library/venv.rst:133 +#: ../Doc/library/venv.rst:136 +#, fuzzy +msgid "Added the ``upgrade_deps`` parameter" +msgstr "Añadido el parámetro ``prompt``" + +#: ../Doc/library/venv.rst:139 msgid "" "Creators of third-party virtual environment tools will be free to use the " "provided :class:`EnvBuilder` class as a base class." @@ -525,12 +274,12 @@ msgstr "" "Las/Los creadoras/es de herramientas de entorno virtual de terceros/as serán " "libres de usar la clase :class:`EnvBuilder` proporcionada como clase base." -#: ../Doc/library/venv.rst:136 +#: ../Doc/library/venv.rst:142 msgid "The returned env-builder is an object which has a method, ``create``:" msgstr "" "El *env-builder* retornado es un objeto que tiene un método, ``create``:" -#: ../Doc/library/venv.rst:140 +#: ../Doc/library/venv.rst:146 msgid "" "Create a virtual environment by specifying the target directory (absolute or " "relative to the current directory) which is to contain the virtual " @@ -542,7 +291,7 @@ msgstr "" "virtual. El método ``create`` creará el entorno en el directorio " "especificado, o lanzará la correspondiente excepción." -#: ../Doc/library/venv.rst:146 +#: ../Doc/library/venv.rst:152 msgid "" "The ``create`` method of the :class:`EnvBuilder` class illustrates the hooks " "available for subclass customization::" @@ -550,7 +299,7 @@ msgstr "" "El método ``create`` de la clase :class:`EnvBuilder` ilustra los enlaces " "disponibles para la personalización de la subclase::" -#: ../Doc/library/venv.rst:161 +#: ../Doc/library/venv.rst:167 msgid "" "Each of the methods :meth:`ensure_directories`, :meth:" "`create_configuration`, :meth:`setup_python`, :meth:`setup_scripts` and :" @@ -560,7 +309,7 @@ msgstr "" "`create_configuration`, :meth:`setup_python`, :meth:`setup_scripts` y :meth:" "`post_setup` pueden ser anulados." -#: ../Doc/library/venv.rst:167 +#: ../Doc/library/venv.rst:173 msgid "" "Creates the environment directory and all necessary directories, and returns " "a context object. This is just a holder for attributes (such as paths), for " @@ -574,11 +323,11 @@ msgstr "" "existan, siempre y cuando se haya especificado ``clear`` o ``upgrade`` para " "permitir operar en un directorio de entorno existente." -#: ../Doc/library/venv.rst:175 +#: ../Doc/library/venv.rst:181 msgid "Creates the ``pyvenv.cfg`` configuration file in the environment." msgstr "Crea el archivo de configuración ``pyvenv.cfg`` en el entorno." -#: ../Doc/library/venv.rst:179 +#: ../Doc/library/venv.rst:185 msgid "" "Creates a copy or symlink to the Python executable in the environment. On " "POSIX systems, if a specific executable ``python3.x`` was used, symlinks to " @@ -590,7 +339,7 @@ msgstr "" "enlaces simbólicos a ``python`` y ``python3`` apuntando a ese ejecutable, a " "menos que ya existan archivos con esos nombres." -#: ../Doc/library/venv.rst:186 +#: ../Doc/library/venv.rst:192 msgid "" "Installs activation scripts appropriate to the platform into the virtual " "environment." @@ -598,7 +347,14 @@ msgstr "" "Instala los *scripts* de activación apropiados para la plataforma en el " "entorno virtual." -#: ../Doc/library/venv.rst:191 +#: ../Doc/library/venv.rst:197 +msgid "" +"Upgrades the core venv dependency packages (currently ``pip`` and " +"``setuptools``) in the environment. This is done by shelling out to the " +"``pip`` executable in the environment." +msgstr "" + +#: ../Doc/library/venv.rst:205 msgid "" "A placeholder method which can be overridden in third party implementations " "to pre-install packages in the virtual environment or perform other post-" @@ -608,7 +364,7 @@ msgstr "" "de terceros/as para previo instalar paquetes en el entorno virtual o " "realizar otros pasos posteriores a la creación." -#: ../Doc/library/venv.rst:195 +#: ../Doc/library/venv.rst:209 msgid "" "Windows now uses redirector scripts for ``python[w].exe`` instead of copying " "the actual binaries. In 3.7.2 only :meth:`setup_python` does nothing unless " @@ -619,7 +375,7 @@ msgstr "" "`setup_python` no hace nada a menos que se ejecute desde una compilación en " "el árbol de directorios fuente." -#: ../Doc/library/venv.rst:200 +#: ../Doc/library/venv.rst:214 msgid "" "Windows copies the redirector scripts as part of :meth:`setup_python` " "instead of :meth:`setup_scripts`. This was not the case in 3.7.2. When using " @@ -630,7 +386,7 @@ msgstr "" "3.7.2. Cuando se usan enlaces simbólicos, los ejecutables originales se " "enlazan." -#: ../Doc/library/venv.rst:205 +#: ../Doc/library/venv.rst:219 msgid "" "In addition, :class:`EnvBuilder` provides this utility method that can be " "called from :meth:`setup_scripts` or :meth:`post_setup` in subclasses to " @@ -640,7 +396,7 @@ msgstr "" "ser llamado desde :meth:`setup_scripts` o :meth:`post_setup` en subclases " "para ayudar a instalar *scripts* personalizados en el entorno virtual." -#: ../Doc/library/venv.rst:211 +#: ../Doc/library/venv.rst:225 msgid "" "*path* is the path to a directory that should contain subdirectories \"common" "\", \"posix\", \"nt\", each containing scripts destined for the bin " @@ -654,7 +410,7 @@ msgstr "" "\"*common*\" y el directorio correspondiente a :data:`os.name` se copian " "después de algún reemplazo de texto de los marcadores de posición:" -#: ../Doc/library/venv.rst:217 +#: ../Doc/library/venv.rst:231 msgid "" "``__VENV_DIR__`` is replaced with the absolute path of the environment " "directory." @@ -662,7 +418,7 @@ msgstr "" "``__VENV_DIR__`` se sustituye por la ruta absoluta del directorio del " "entorno." -#: ../Doc/library/venv.rst:220 +#: ../Doc/library/venv.rst:234 msgid "" "``__VENV_NAME__`` is replaced with the environment name (final path segment " "of environment directory)." @@ -670,7 +426,7 @@ msgstr "" "``__VENV_NAME__`` se sustituye por el nombre del entorno (parte final de la " "ruta del directorio del entorno)." -#: ../Doc/library/venv.rst:223 +#: ../Doc/library/venv.rst:237 msgid "" "``__VENV_PROMPT__`` is replaced with the prompt (the environment name " "surrounded by parentheses and with a following space)" @@ -678,7 +434,7 @@ msgstr "" "``__VENV_PROMPT__`` se sustituye por el *prompt* (el nombre del entorno " "entre paréntesis y con un espacio posterior)" -#: ../Doc/library/venv.rst:226 +#: ../Doc/library/venv.rst:240 msgid "" "``__VENV_BIN_NAME__`` is replaced with the name of the bin directory (either " "``bin`` or ``Scripts``)." @@ -686,7 +442,7 @@ msgstr "" "``__VENV_BIN_NAME__`` se sustituye con el nombre del directorio *bin* (ya " "sea ``bin`` o ``Scripts``)." -#: ../Doc/library/venv.rst:229 +#: ../Doc/library/venv.rst:243 msgid "" "``__VENV_PYTHON__`` is replaced with the absolute path of the environment's " "executable." @@ -694,7 +450,7 @@ msgstr "" "``__VENV_PYTHON__`` se sustituye con la ruta absoluta del ejecutable del " "entorno." -#: ../Doc/library/venv.rst:232 +#: ../Doc/library/venv.rst:246 msgid "" "The directories are allowed to exist (for when an existing environment is " "being upgraded)." @@ -702,11 +458,11 @@ msgstr "" "Se permite la existencia de los directorios (para cuando se está " "actualizando un entorno existente)." -#: ../Doc/library/venv.rst:235 +#: ../Doc/library/venv.rst:249 msgid "There is also a module-level convenience function:" msgstr "También hay una función de conveniencia a nivel de módulo:" -#: ../Doc/library/venv.rst:240 +#: ../Doc/library/venv.rst:254 msgid "" "Create an :class:`EnvBuilder` with the given keyword arguments, and call " "its :meth:`~EnvBuilder.create` method with the *env_dir* argument." @@ -714,11 +470,11 @@ msgstr "" "Crea un :class:`EnvBuilder` con los argumentos de la palabra clave dada, y " "llama a su método :meth:`~EnvBuilder.create` con el argumento *env_dir*." -#: ../Doc/library/venv.rst:252 +#: ../Doc/library/venv.rst:266 msgid "An example of extending ``EnvBuilder``" msgstr "Un ejemplo de la extensión de ``EnvBuilder``" -#: ../Doc/library/venv.rst:254 +#: ../Doc/library/venv.rst:268 msgid "" "The following script shows how to extend :class:`EnvBuilder` by implementing " "a subclass which installs setuptools and pip into a created virtual " @@ -728,10 +484,244 @@ msgstr "" "implementando una subclase que instala setuptools y pip en un entorno " "virtual creado::" -#: ../Doc/library/venv.rst:473 +#: ../Doc/library/venv.rst:487 msgid "" "This script is also available for download `online `_." msgstr "" "Este *script* está también disponible para su descarga `online `_." + +#~ msgid "$ . /bin/activate.fish" +#~ msgstr "$ . /bin/activate.fish" + +#~ msgid "" +#~ "Creation of :ref:`virtual environments ` is done by executing " +#~ "the command ``venv``::" +#~ msgstr "" +#~ "La creación de :ref:`entornos virtuales ` se hace ejecutando el " +#~ "comando ``venv``::" + +#~ msgid "" +#~ "Running this command creates the target directory (creating any parent " +#~ "directories that don't exist already) and places a ``pyvenv.cfg`` file in " +#~ "it with a ``home`` key pointing to the Python installation from which the " +#~ "command was run (a common name for the target directory is ``.venv``). " +#~ "It also creates a ``bin`` (or ``Scripts`` on Windows) subdirectory " +#~ "containing a copy/symlink of the Python binary/binaries (as appropriate " +#~ "for the platform or arguments used at environment creation time). It also " +#~ "creates an (initially empty) ``lib/pythonX.Y/site-packages`` subdirectory " +#~ "(on Windows, this is ``Lib\\site-packages``). If an existing directory is " +#~ "specified, it will be re-used." +#~ msgstr "" +#~ "Al ejecutar este comando se crea el directorio de destino (creando " +#~ "cualquier directorio padre que todavía no exista) y coloca un archivo " +#~ "``pyvenv.cfg`` en él con una clave ``home`` apuntando a la instalación " +#~ "Python desde la que el comando se lanzó (un nombre común para el " +#~ "directorio destino es ``.venv``). También crea un subdirectorio ``bin`` " +#~ "(o ``Scripts`` en Windows) conteniendo una copia/enlace simbólico del " +#~ "binario/s Python (según lo apropiado para la plataforma o los argumentos " +#~ "usados en el momento de la creación del entorno). También crea un " +#~ "directorio (inicialmente vacío) ``lib/pythonX.Y/site-packages`` (en " +#~ "Windows, este es ``Lib\\site-packages``). Si se especifica un directorio " +#~ "existente, será reutilizado." + +#~ msgid "" +#~ "``pyvenv`` was the recommended tool for creating virtual environments for " +#~ "Python 3.3 and 3.4, and is `deprecated in Python 3.6 `_." +#~ msgstr "" +#~ "``pyvenv`` fue la herramienta recomendada para la creación de entornos " +#~ "virtuales en Python 3.3 y 3.4, y es `obsoleta para Python 3.6 `_." + +#~ msgid "" +#~ "The use of ``venv`` is now recommended for creating virtual environments." +#~ msgstr "" +#~ "Ahora se recomienda el uso de ``venv`` para crear entornos virtuales." + +#~ msgid "On Windows, invoke the ``venv`` command as follows::" +#~ msgstr "En Windows, invoca el comando ``venv`` de la siguiente manera::" + +#~ msgid "" +#~ "Alternatively, if you configured the ``PATH`` and ``PATHEXT`` variables " +#~ "for your :ref:`Python installation `::" +#~ msgstr "" +#~ "Como alternativa, si configuraste las variables ``PATH`` y ``PATHEXT`` " +#~ "para tu :ref:`instalación de Python `::" + +#~ msgid "The command, if run with ``-h``, will show the available options::" +#~ msgstr "" +#~ "El comando, si se ejecuta con ``-h``, mostrará las opciones disponibles::" + +#~ msgid "" +#~ "Installs pip by default, added the ``--without-pip`` and ``--copies`` " +#~ "options" +#~ msgstr "" +#~ "Instala pip por defecto, añadidas las opciones ``--without-pip`` y ``--" +#~ "copies``" + +#~ msgid "" +#~ "In earlier versions, if the target directory already existed, an error " +#~ "was raised, unless the ``--clear`` or ``--upgrade`` option was provided." +#~ msgstr "" +#~ "En versiones anteriores, si el directorio objetivo ya existía, se " +#~ "producía un error, a menos que se incluyera la opción ``--clear`` or ``--" +#~ "upgrade``." + +#~ msgid "" +#~ "While symlinks are supported on Windows, they are not recommended. Of " +#~ "particular note is that double-clicking ``python.exe`` in File Explorer " +#~ "will resolve the symlink eagerly and ignore the virtual environment." +#~ msgstr "" +#~ "Aunque los enlaces simbólicos están soportados en Windows, no se " +#~ "recomiendan. Cabe destacar que al hacer doble clic en ``python.exe`` en " +#~ "el Explorador de Archivos, el enlace simbólico se resolverá con rapidez e " +#~ "ignorará el entorno virtual." + +#~ msgid "" +#~ "On Microsoft Windows, it may be required to enable the ``Activate.ps1`` " +#~ "script by setting the execution policy for the user. You can do this by " +#~ "issuing the following PowerShell command:" +#~ msgstr "" +#~ "En Microsoft Windows, puede ser necesario habilitar el *script* " +#~ "``Activate.ps1`` estableciendo la política de ejecución para el usuario. " +#~ "Puedes hacer esto ejecutando el siguiente comando de PowerShell:" + +#~ msgid "" +#~ "PS C:\\> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope " +#~ "CurrentUser" +#~ msgstr "" +#~ "PS C:\\> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope " +#~ "CurrentUser" + +#~ msgid "" +#~ "See `About Execution Policies `_ for more information." +#~ msgstr "" +#~ "Ver `Acerca de las políticas de ejecución `_ para más información." + +#~ msgid "" +#~ "The created ``pyvenv.cfg`` file also includes the ``include-system-site-" +#~ "packages`` key, set to ``true`` if ``venv`` is run with the ``--system-" +#~ "site-packages`` option, ``false`` otherwise." +#~ msgstr "" +#~ "El archivo creado ``pyvenv.cfg`` también incluye la clave ``include-" +#~ "system-site-packages``, fijada a ``true`` si ``venv`` se ejecuta con la " +#~ "opción ``--system-site-packages``, ``false`` en caso contrario." + +#~ msgid "" +#~ "Unless the ``--without-pip`` option is given, :mod:`ensurepip` will be " +#~ "invoked to bootstrap ``pip`` into the virtual environment." +#~ msgstr "" +#~ "A menos que se use la opción ``--without-pip``, se invocará :mod:" +#~ "`ensurepip` para arrancar ``pip`` en el entorno virtual." + +#~ msgid "" +#~ "Multiple paths can be given to ``venv``, in which case an identical " +#~ "virtual environment will be created, according to the given options, at " +#~ "each provided path." +#~ msgstr "" +#~ "Se pueden dar múltiples rutas a ``venv``, en cuyo caso se creará un " +#~ "entorno virtual idéntico, de acuerdo a las opciones dadas, en cada ruta " +#~ "proporcionada." + +#~ msgid "" +#~ "Once a virtual environment has been created, it can be \"activated\" " +#~ "using a script in the virtual environment's binary directory. The " +#~ "invocation of the script is platform-specific (`` must be replaced " +#~ "by the path of the directory containing the virtual environment):" +#~ msgstr "" +#~ "Una vez que se ha creado un entorno virtual, puede ser \"activado\" " +#~ "usando un *script* en el directorio binario del entorno virtual. La " +#~ "ejecución del *script* es específica de la plataforma (`` debe ser " +#~ "reemplazado por la ruta del directorio que contiene el entorno virtual):" + +#~ msgid "Platform" +#~ msgstr "Plataforma" + +#~ msgid "Shell" +#~ msgstr "Consola" + +#~ msgid "Command to activate virtual environment" +#~ msgstr "Comando para activar el entorno virtual" + +#~ msgid "POSIX" +#~ msgstr "POSIX" + +#~ msgid "bash/zsh" +#~ msgstr "bash/zsh" + +#~ msgid "$ source /bin/activate" +#~ msgstr "$ source /bin/activate" + +#~ msgid "fish" +#~ msgstr "fish" + +#~ msgid "$ source /bin/activate.fish" +#~ msgstr "$ source /bin/activate.csh" + +#~ msgid "csh/tcsh" +#~ msgstr "csh/tcsh" + +#~ msgid "$ source /bin/activate.csh" +#~ msgstr "$ source /bin/activate.csh" + +#~ msgid "PowerShell Core" +#~ msgstr "PowerShell Core" + +#~ msgid "$ /bin/Activate.ps1" +#~ msgstr "$ /bin/Activate.ps1" + +#~ msgid "Windows" +#~ msgstr "Windows" + +#~ msgid "cmd.exe" +#~ msgstr "cmd.exe" + +#~ msgid "C:\\\\> \\\\Scripts\\\\activate.bat" +#~ msgstr "C:\\\\> \\\\Scripts\\\\activate.bat" + +#~ msgid "PowerShell" +#~ msgstr "PowerShell" + +#~ msgid "PS C:\\\\> \\\\Scripts\\\\Activate.ps1" +#~ msgstr "PS C:\\\\> \\\\Scripts\\\\Activate.ps1" + +#~ msgid "" +#~ "You don't specifically *need* to activate an environment; activation just " +#~ "prepends the virtual environment's binary directory to your path, so that " +#~ "\"python\" invokes the virtual environment's Python interpreter and you " +#~ "can run installed scripts without having to use their full path. However, " +#~ "all scripts installed in a virtual environment should be runnable without " +#~ "activating it, and run with the virtual environment's Python " +#~ "automatically." +#~ msgstr "" +#~ "No es *necesario* activar un entorno específicamente; la activación sólo " +#~ "prepara el directorio binario del entorno virtual para tu ruta, de modo " +#~ "que \"python\" invoque el intérprete de Python del entorno virtual y " +#~ "puedas ejecutar los *scripts* instalados sin tener que usar su ruta " +#~ "completa. Sin embargo, todos los *scripts* instalados en un entorno " +#~ "virtual deberían ser ejecutables sin activarlo, y ejecutarse con el " +#~ "Python del entorno virtual automáticamente." + +#~ msgid "" +#~ "You can deactivate a virtual environment by typing \"deactivate\" in your " +#~ "shell. The exact mechanism is platform-specific and is an internal " +#~ "implementation detail (typically a script or shell function will be used)." +#~ msgstr "" +#~ "Puedes desactivar un entorno virtual tecleando \"*deactivate*\" en tu " +#~ "consola. El mecanismo exacto es específico de la plataforma y es un " +#~ "detalle de implementación interna (típicamente se usará un *script* o una " +#~ "función de la consola)." + +#~ msgid "``fish`` and ``csh`` activation scripts." +#~ msgstr "``fish`` y ``csh`` *scripts* de activación." + +#~ msgid "" +#~ "PowerShell activation scripts installed under POSIX for PowerShell Core " +#~ "support." +#~ msgstr "" +#~ "*scripts* de activación PowerShell instalados bajo POSIX para el soporte " +#~ "del PowerShell Core." diff --git a/library/wave.po b/library/wave.po index 0b9bbe716b..41f564e6c2 100644 --- a/library/wave.po +++ b/library/wave.po @@ -1,23 +1,25 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. # Maintained by the python-doc-es workteam. -# docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ -# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers +# docs-es@python.org / +# https://mail.python.org/mailman3/lists/docs-es.python.org/ +# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get +# the list of volunteers # msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-06 11:59-0400\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-10-05 19:39-0300\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.4.1\n" +"Generated-By: Babel 2.8.0\n" #: ../Doc/library/wave.rst:2 msgid ":mod:`wave` --- Read and write WAV files" @@ -103,17 +105,11 @@ msgstr "" "`Wave_read.close() ` o el método :meth:`Wave_write." "close() ` es invocado." -#: ../Doc/library/wave.rst:47 ../Doc/library/wave.rst:170 +#: ../Doc/library/wave.rst:47 ../Doc/library/wave.rst:163 msgid "Added support for unseekable files." msgstr "Se agregó soporte para archivos no encontrados." #: ../Doc/library/wave.rst:52 -msgid "A synonym for :func:`.open`, maintained for backwards compatibility." -msgstr "" -"Un sinónimo de :func:`.open`, es mantenido para la compatibilidad con " -"versiones anteriores." - -#: ../Doc/library/wave.rst:59 msgid "" "An error raised when something is impossible because it violates the WAV " "specification or hits an implementation deficiency." @@ -121,18 +117,18 @@ msgstr "" "Error que se produce cuando algo es imposible porque viola la especificación " "WAV o alcanza una deficiencia de implementación." -#: ../Doc/library/wave.rst:66 +#: ../Doc/library/wave.rst:59 msgid "Wave_read Objects" msgstr "Los objetos *Wave_read*" -#: ../Doc/library/wave.rst:68 +#: ../Doc/library/wave.rst:61 msgid "" "Wave_read objects, as returned by :func:`.open`, have the following methods:" msgstr "" "Los objetos *Wave_read*, tal como lo retorna :func:`.open`, tienen los " "siguientes métodos:" -#: ../Doc/library/wave.rst:73 +#: ../Doc/library/wave.rst:66 msgid "" "Close the stream if it was opened by :mod:`wave`, and make the instance " "unusable. This is called automatically on object collection." @@ -140,28 +136,28 @@ msgstr "" "Cierra la secuencia si fue abierta por :mod:`wave`, y hace que la instancia " "sea inutilizable. Esto es llamado automáticamente en la colección de objetos." -#: ../Doc/library/wave.rst:79 +#: ../Doc/library/wave.rst:72 msgid "Returns number of audio channels (``1`` for mono, ``2`` for stereo)." msgstr "" "Retorna el número de canales de audio (``1`` para mono, ``2`` para estéreo)." -#: ../Doc/library/wave.rst:84 +#: ../Doc/library/wave.rst:77 msgid "Returns sample width in bytes." msgstr "Retorna el ancho de la muestra en bytes." -#: ../Doc/library/wave.rst:89 +#: ../Doc/library/wave.rst:82 msgid "Returns sampling frequency." msgstr "Retorna la frecuencia del muestreo." -#: ../Doc/library/wave.rst:94 +#: ../Doc/library/wave.rst:87 msgid "Returns number of audio frames." msgstr "Retorna el número de cuadros del audio." -#: ../Doc/library/wave.rst:99 +#: ../Doc/library/wave.rst:92 msgid "Returns compression type (``'NONE'`` is the only supported type)." msgstr "Retorna el tipo de compresión (``'NONE'`` es el único tipo admitido)." -#: ../Doc/library/wave.rst:104 +#: ../Doc/library/wave.rst:97 msgid "" "Human-readable version of :meth:`getcomptype`. Usually ``'not compressed'`` " "parallels ``'NONE'``." @@ -169,7 +165,7 @@ msgstr "" "Versión legible para humanos de :meth:`getcomptype`. Generalmente ``'not " "compressed'`` significa ``'NONE'``." -#: ../Doc/library/wave.rst:110 +#: ../Doc/library/wave.rst:103 msgid "" "Returns a :func:`~collections.namedtuple` ``(nchannels, sampwidth, " "framerate, nframes, comptype, compname)``, equivalent to output of the :meth:" @@ -179,19 +175,19 @@ msgstr "" "framerate, nframes, comptype, compname)``, equivalente a la salida de los " "métodos :meth:`get\\*`." -#: ../Doc/library/wave.rst:117 +#: ../Doc/library/wave.rst:110 msgid "" "Reads and returns at most *n* frames of audio, as a :class:`bytes` object." msgstr "" "Lee y retorna como máximo *n* cuadros de audio, como un objeto :class:" "`bytes`." -#: ../Doc/library/wave.rst:122 +#: ../Doc/library/wave.rst:115 msgid "Rewind the file pointer to the beginning of the audio stream." msgstr "" "Rebobina el puntero del archivo hasta el principio de la secuencia de audio." -#: ../Doc/library/wave.rst:124 +#: ../Doc/library/wave.rst:117 msgid "" "The following two methods are defined for compatibility with the :mod:`aifc` " "module, and don't do anything interesting." @@ -199,15 +195,15 @@ msgstr "" "Los dos métodos siguientes se definen por compatibilidad con el módulo :mod:" "`aifc`, y no hacen nada interesante." -#: ../Doc/library/wave.rst:130 +#: ../Doc/library/wave.rst:123 msgid "Returns ``None``." msgstr "Retorna ``None``." -#: ../Doc/library/wave.rst:135 +#: ../Doc/library/wave.rst:128 msgid "Raise an error." msgstr "Lanza un error." -#: ../Doc/library/wave.rst:137 +#: ../Doc/library/wave.rst:130 msgid "" "The following two methods define a term \"position\" which is compatible " "between them, and is otherwise implementation dependent." @@ -215,19 +211,19 @@ msgstr "" "Los dos métodos siguientes definen un término \"posición\" que es compatible " "entre ellos y, es dependiente de la implementación." -#: ../Doc/library/wave.rst:143 +#: ../Doc/library/wave.rst:136 msgid "Set the file pointer to the specified position." msgstr "Establece el puntero del archivo en la posición especificada." -#: ../Doc/library/wave.rst:148 +#: ../Doc/library/wave.rst:141 msgid "Return current file pointer position." msgstr "Retorna la posición actual del puntero del archivo." -#: ../Doc/library/wave.rst:154 +#: ../Doc/library/wave.rst:147 msgid "Wave_write Objects" msgstr "Los objetos *Wave_write*" -#: ../Doc/library/wave.rst:156 +#: ../Doc/library/wave.rst:149 msgid "" "For seekable output streams, the ``wave`` header will automatically be " "updated to reflect the number of frames actually written. For unseekable " @@ -254,14 +250,14 @@ msgstr "" "calculará el número de cuadros en los datos y establecerá *nframes* como " "consecuencia antes de escribir los datos del cuadro." -#: ../Doc/library/wave.rst:168 +#: ../Doc/library/wave.rst:161 msgid "" "Wave_write objects, as returned by :func:`.open`, have the following methods:" msgstr "" "Los objetos *Wave_write*, retornados por :func:`.open`, tienen los " "siguientes métodos:" -#: ../Doc/library/wave.rst:176 +#: ../Doc/library/wave.rst:169 msgid "" "Make sure *nframes* is correct, and close the file if it was opened by :mod:" "`wave`. This method is called upon object collection. It will raise an " @@ -273,25 +269,25 @@ msgstr "" "Levantará una excepción si la secuencia de salida no se puede buscar y " "*nframes* no coinciden con el número de cuadros realmente escritos." -#: ../Doc/library/wave.rst:184 +#: ../Doc/library/wave.rst:177 msgid "Set the number of channels." msgstr "Configure el número de canales." -#: ../Doc/library/wave.rst:189 +#: ../Doc/library/wave.rst:182 msgid "Set the sample width to *n* bytes." msgstr "Establezca el ancho de la muestra en *n* bytes." -#: ../Doc/library/wave.rst:194 +#: ../Doc/library/wave.rst:187 msgid "Set the frame rate to *n*." msgstr "Establezca la velocidad del cuadro en *n*." -#: ../Doc/library/wave.rst:196 +#: ../Doc/library/wave.rst:189 msgid "A non-integral input to this method is rounded to the nearest integer." msgstr "" "Una entrada no-entera para este método se redondea al número entero más " "cercano." -#: ../Doc/library/wave.rst:203 +#: ../Doc/library/wave.rst:196 msgid "" "Set the number of frames to *n*. This will be changed later if the number " "of frames actually written is different (this update attempt will raise an " @@ -301,7 +297,7 @@ msgstr "" "número de cuadros realmente escritos es diferente (este intento de " "actualización levantará un error si no se encuentra la secuencia de salida)." -#: ../Doc/library/wave.rst:210 +#: ../Doc/library/wave.rst:203 msgid "" "Set the compression type and description. At the moment, only compression " "type ``NONE`` is supported, meaning no compression." @@ -310,7 +306,7 @@ msgstr "" "admite el tipo de compresión ``NONE``, lo que significa que no hay " "compresión." -#: ../Doc/library/wave.rst:216 +#: ../Doc/library/wave.rst:209 msgid "" "The *tuple* should be ``(nchannels, sampwidth, framerate, nframes, comptype, " "compname)``, with values valid for the :meth:`set\\*` methods. Sets all " @@ -320,7 +316,7 @@ msgstr "" "compname)``, con valores válidos para los métodos :meth:`set \\ *`. " "Establece todos los parámetros." -#: ../Doc/library/wave.rst:223 +#: ../Doc/library/wave.rst:216 msgid "" "Return current position in the file, with the same disclaimer for the :meth:" "`Wave_read.tell` and :meth:`Wave_read.setpos` methods." @@ -328,15 +324,15 @@ msgstr "" "Retorna la posición actual en el archivo, con el mismo descargo para los " "métodos :meth:`Wave_read.tell` y :meth:`Wave_read.setpos`." -#: ../Doc/library/wave.rst:229 +#: ../Doc/library/wave.rst:222 msgid "Write audio frames, without correcting *nframes*." msgstr "Escribe cuadros de audio, sin corregir *nframes*." -#: ../Doc/library/wave.rst:231 ../Doc/library/wave.rst:242 +#: ../Doc/library/wave.rst:224 ../Doc/library/wave.rst:235 msgid "Any :term:`bytes-like object` is now accepted." msgstr "Todo :term:`bytes-like object` ahora es aceptado." -#: ../Doc/library/wave.rst:237 +#: ../Doc/library/wave.rst:230 msgid "" "Write audio frames and make sure *nframes* is correct. It will raise an " "error if the output stream is not seekable and the total number of frames " @@ -348,7 +344,7 @@ msgstr "" "número total de cuadros que se han escrito después de que se haya escrito " "*data* no coincide con el valor establecido previamente para *nframes*." -#: ../Doc/library/wave.rst:246 +#: ../Doc/library/wave.rst:239 msgid "" "Note that it is invalid to set any parameters after calling :meth:" "`writeframes` or :meth:`writeframesraw`, and any attempt to do so will " @@ -357,3 +353,8 @@ msgstr "" "Tenga en cuenta que no es válido establecer ningún parámetro después de " "invocar a :meth:`writeframes` o :meth:`writeframesraw`, y cualquier intento " "de hacerlo levantará :exc:`wave.Error`." + +#~ msgid "A synonym for :func:`.open`, maintained for backwards compatibility." +#~ msgstr "" +#~ "Un sinónimo de :func:`.open`, es mantenido para la compatibilidad con " +#~ "versiones anteriores." diff --git a/library/weakref.po b/library/weakref.po index 9f95d33dcb..dc0150242b 100644 --- a/library/weakref.po +++ b/library/weakref.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-07-25 14:37-0500\n" +"Last-Translator: Adolfo Hristo David Roque Gámez \n" +"Language: es_PE\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Adolfo Hristo David Roque Gámez \n" -"Language: es_PE\n" -"X-Generator: Poedit 2.3.1\n" #: ../Doc/library/weakref.rst:2 msgid ":mod:`weakref` --- Weak references" @@ -335,22 +334,11 @@ msgstr "" "puede ser especialmente útil con objetos que sobre escriben atributos de " "acceso." -#: ../Doc/library/weakref.rst:168 -msgid "" -"Caution: Because a :class:`WeakKeyDictionary` is built on top of a Python " -"dictionary, it must not change size when iterating over it. This can be " -"difficult to ensure for a :class:`WeakKeyDictionary` because actions " -"performed by the program during iteration may cause items in the dictionary " -"to vanish \"by magic\" (as a side effect of garbage collection)." +#: ../Doc/library/weakref.rst:166 +msgid "Added support for ``|`` and ``|=`` operators, specified in :pep:`584`." msgstr "" -"Precaución: Porque un :class:`WeakKeyDictionary` está construido en cima de " -"un diccionario de Python, este no debe cambiar de tamaño cuando se itera en " -"él. Esto puede ser difícil de asegurar para un :class:`WeakKeyDictionary` " -"porque las acciones hechas por el programa durante la iteración pueden " -"causar que los objetos en el objeto se desvanezcan \"por arte de magia" -"\" (como un efecto secundario de la recolección de basura)." -#: ../Doc/library/weakref.rst:174 +#: ../Doc/library/weakref.rst:169 msgid "" ":class:`WeakKeyDictionary` objects have an additional method that exposes " "the internal references directly. The references are not guaranteed to be " @@ -367,11 +355,11 @@ msgstr "" "recolector de basura mantenga las llaves en existencia más tiempo del que " "necesitan." -#: ../Doc/library/weakref.rst:184 +#: ../Doc/library/weakref.rst:179 msgid "Return an iterable of the weak references to the keys." msgstr "Retorna un iterable de las referencias débiles a las llaves." -#: ../Doc/library/weakref.rst:189 +#: ../Doc/library/weakref.rst:184 msgid "" "Mapping class that references values weakly. Entries in the dictionary will " "be discarded when no strong reference to the value exists any more." @@ -380,23 +368,12 @@ msgstr "" "diccionario serán descartadas cuando ya no existan las referencias fuertes a " "los valores." -#: ../Doc/library/weakref.rst:194 +#: ../Doc/library/weakref.rst:187 msgid "" -"Caution: Because a :class:`WeakValueDictionary` is built on top of a Python " -"dictionary, it must not change size when iterating over it. This can be " -"difficult to ensure for a :class:`WeakValueDictionary` because actions " -"performed by the program during iteration may cause items in the dictionary " -"to vanish \"by magic\" (as a side effect of garbage collection)." +"Added support for ``|`` and ``|=`` operators, as specified in :pep:`584`." msgstr "" -"Precaución: Porque un :class:`WeakValueDictionary` está construido por " -"encima de un diccionario de Python, no debe cambiar el tamaño cuando se " -"itere sobre él. Esto puede ser difícil de asegurar para un :class:" -"`WeakValueDictionary` porque las acciones hechas por el programa durante la " -"iteración pueden causar que los objetos en el diccionario se desvanezcan " -"\"por arte de magia\" (como un efecto secundario de la recolección de " -"basura)." -#: ../Doc/library/weakref.rst:200 +#: ../Doc/library/weakref.rst:190 msgid "" ":class:`WeakValueDictionary` objects have an additional method that has the " "same issues as the :meth:`keyrefs` method of :class:`WeakKeyDictionary` " @@ -406,11 +383,11 @@ msgstr "" "tiene los mismos problemas que el método :meth:`keyrefs` de los objetos :" "class:`WeakyKeyDictionary`." -#: ../Doc/library/weakref.rst:207 +#: ../Doc/library/weakref.rst:197 msgid "Return an iterable of the weak references to the values." msgstr "Retorna un iterable de las referencias débiles a los valores." -#: ../Doc/library/weakref.rst:212 +#: ../Doc/library/weakref.rst:202 msgid "" "Set class that keeps weak references to its elements. An element will be " "discarded when no strong reference to it exists any more." @@ -418,7 +395,7 @@ msgstr "" "Clase Conjunto que mantiene referencias débiles a sus elementos. Un " "elemento será descartado cuando ya no existan referencias fuertes." -#: ../Doc/library/weakref.rst:218 +#: ../Doc/library/weakref.rst:208 msgid "" "A custom :class:`ref` subclass which simulates a weak reference to a bound " "method (i.e., a method defined on a class and looked up on an instance). " @@ -432,7 +409,7 @@ msgstr "" "no puede mantenerlo. El :class:`WeakMethod` tiene un código especial para " "recrear el método atado hasta que o el objeto o la función original muera::" -#: ../Doc/library/weakref.rst:246 +#: ../Doc/library/weakref.rst:236 msgid "" "Return a callable finalizer object which will be called when *obj* is " "garbage collected. Unlike an ordinary weak reference, a finalizer will " @@ -445,7 +422,7 @@ msgstr "" "referencia sea recolectado, simplificando enormemente la gestión del ciclo " "de vida." -#: ../Doc/library/weakref.rst:251 +#: ../Doc/library/weakref.rst:241 msgid "" "A finalizer is considered *alive* until it is called (either explicitly or " "at garbage collection), and after that it is *dead*. Calling a live " @@ -458,7 +435,7 @@ msgstr "" "**kwargs)``, mientras que llamar a un finalizador muerto retorna :const:" "`None`." -#: ../Doc/library/weakref.rst:256 +#: ../Doc/library/weakref.rst:246 msgid "" "Exceptions raised by finalizer callbacks during garbage collection will be " "shown on the standard error output, but cannot be propagated. They are " @@ -471,7 +448,7 @@ msgstr "" "excepciones lanzadas del método :meth:`__del__` de un objeto o la " "retrollamada de una referencia débil." -#: ../Doc/library/weakref.rst:262 +#: ../Doc/library/weakref.rst:252 msgid "" "When the program exits, each remaining live finalizer is called unless its :" "attr:`atexit` attribute has been set to false. They are called in reverse " @@ -481,7 +458,7 @@ msgstr "" "que su atributo :attr:`atexit` sea falso. Son llamados en el orden reverso " "de creación." -#: ../Doc/library/weakref.rst:266 +#: ../Doc/library/weakref.rst:256 msgid "" "A finalizer will never invoke its callback during the later part of the :" "term:`interpreter shutdown` when module globals are liable to have been " @@ -491,7 +468,7 @@ msgstr "" "term:`interpreter shutdown ` cuando los módulos " "globales están sujetos a ser reemplazados por :const:`None`." -#: ../Doc/library/weakref.rst:272 +#: ../Doc/library/weakref.rst:262 msgid "" "If *self* is alive then mark it as dead and return the result of calling " "``func(*args, **kwargs)``. If *self* is dead then return :const:`None`." @@ -500,7 +477,7 @@ msgstr "" "llamar a ``func(*args,**kwargs)``. Si *self* está muerto entonces retorna :" "const:`None`." -#: ../Doc/library/weakref.rst:278 +#: ../Doc/library/weakref.rst:268 msgid "" "If *self* is alive then mark it as dead and return the tuple ``(obj, func, " "args, kwargs)``. If *self* is dead then return :const:`None`." @@ -508,7 +485,7 @@ msgstr "" "Si *self* está vivo entonces lo marca como muerto y retorna la tupla ``(obj, " "func, args, kwargs)``. Si *self* está muerto entonces retorna :const:`None`." -#: ../Doc/library/weakref.rst:284 +#: ../Doc/library/weakref.rst:274 msgid "" "If *self* is alive then return the tuple ``(obj, func, args, kwargs)``. If " "*self* is dead then return :const:`None`." @@ -516,13 +493,13 @@ msgstr "" "Si *self* está vivo entonces retorna la tupla ``(obj, func, args, " "kwargs)``. Si *self* está muerto entonces retorna :const:`None`." -#: ../Doc/library/weakref.rst:289 +#: ../Doc/library/weakref.rst:279 msgid "Property which is true if the finalizer is alive, false otherwise." msgstr "" "Propiedad que es verdadera si el finalizador está vivo, caso contrario, " "falso." -#: ../Doc/library/weakref.rst:293 +#: ../Doc/library/weakref.rst:283 msgid "" "A writable boolean property which by default is true. When the program " "exits, it calls all remaining live finalizers for which :attr:`.atexit` is " @@ -533,7 +510,7 @@ msgstr "" "que queden para los cuales :attr:`atexit` es verdadero. Ellos son llamados " "en el orden reverso de creación." -#: ../Doc/library/weakref.rst:300 +#: ../Doc/library/weakref.rst:290 msgid "" "It is important to ensure that *func*, *args* and *kwargs* do not own any " "references to *obj*, either directly or indirectly, since otherwise *obj* " @@ -545,19 +522,19 @@ msgstr "" "manera *obj* nunca será recolectado por el recolector de basura. En " "particular, *func* no debe ser un método vinculado de *obj*." -#: ../Doc/library/weakref.rst:310 +#: ../Doc/library/weakref.rst:300 msgid "The type object for weak references objects." msgstr "El objeto de tipo para objetos de referencias débiles." -#: ../Doc/library/weakref.rst:315 +#: ../Doc/library/weakref.rst:305 msgid "The type object for proxies of objects which are not callable." msgstr "El objeto de tipo para proxies de objetos que no son invocables." -#: ../Doc/library/weakref.rst:320 +#: ../Doc/library/weakref.rst:310 msgid "The type object for proxies of callable objects." msgstr "El objeto de tipo para proxies de objetos invocables." -#: ../Doc/library/weakref.rst:325 +#: ../Doc/library/weakref.rst:315 msgid "" "Sequence containing all the type objects for proxies. This can make it " "simpler to test if an object is a proxy without being dependent on naming " @@ -567,11 +544,11 @@ msgstr "" "puede hacerlo más simple para pruebas si un objeto es un proxy sin ser " "dependiente en nombrar a ambos tipos proxy." -#: ../Doc/library/weakref.rst:333 +#: ../Doc/library/weakref.rst:323 msgid ":pep:`205` - Weak References" msgstr ":pep:`205` - Referencias Débiles" -#: ../Doc/library/weakref.rst:333 +#: ../Doc/library/weakref.rst:323 msgid "" "The proposal and rationale for this feature, including links to earlier " "implementations and information about similar features in other languages." @@ -580,11 +557,11 @@ msgstr "" "implementaciones tempranas e información acerca de características similares " "en otros lenguajes." -#: ../Doc/library/weakref.rst:340 +#: ../Doc/library/weakref.rst:330 msgid "Weak Reference Objects" msgstr "Objetos de Referencias Débiles" -#: ../Doc/library/weakref.rst:342 +#: ../Doc/library/weakref.rst:332 msgid "" "Weak reference objects have no methods and no attributes besides :attr:`ref." "__callback__`. A weak reference object allows the referent to be obtained, " @@ -594,7 +571,7 @@ msgstr "" "attr:`ref.__calback__`. Un objeto de referencia débil permite que el " "referente sea obtenido, si todavía existe, al llamarlo:" -#: ../Doc/library/weakref.rst:356 +#: ../Doc/library/weakref.rst:346 msgid "" "If the referent no longer exists, calling the reference object returns :" "const:`None`:" @@ -602,7 +579,7 @@ msgstr "" "Si el referente no existe, llamar al objeto de referencia retorna :const:" "`None`:" -#: ../Doc/library/weakref.rst:363 +#: ../Doc/library/weakref.rst:353 msgid "" "Testing that a weak reference object is still live should be done using the " "expression ``ref() is not None``. Normally, application code that needs to " @@ -613,7 +590,7 @@ msgstr "" "aplicación que necesite usar un objeto de referencia debe seguir este " "patrón::" -#: ../Doc/library/weakref.rst:376 +#: ../Doc/library/weakref.rst:366 msgid "" "Using a separate test for \"liveness\" creates race conditions in threaded " "applications; another thread can cause a weak reference to become " @@ -626,7 +603,7 @@ msgstr "" "arriba es seguro en aplicaciones con hilos también como aplicaciones de un " "sólo hilo." -#: ../Doc/library/weakref.rst:381 +#: ../Doc/library/weakref.rst:371 msgid "" "Specialized versions of :class:`ref` objects can be created through " "subclassing. This is used in the implementation of the :class:" @@ -642,7 +619,7 @@ msgstr "" "un referencia, pero también puede ser usado para insertar procesamiento " "adicional en llamadas para recuperar el referente." -#: ../Doc/library/weakref.rst:387 +#: ../Doc/library/weakref.rst:377 msgid "" "This example shows how a subclass of :class:`ref` can be used to store " "additional information about an object and affect the value that's returned " @@ -652,11 +629,11 @@ msgstr "" "guardar información adicional sobre un objeto y afectar el valor que se " "retorna cuando el referente es accedido::" -#: ../Doc/library/weakref.rst:414 +#: ../Doc/library/weakref.rst:404 msgid "Example" msgstr "Ejemplo" -#: ../Doc/library/weakref.rst:416 +#: ../Doc/library/weakref.rst:406 msgid "" "This simple example shows how an application can use object IDs to retrieve " "objects that it has seen before. The IDs of the objects can then be used in " @@ -669,11 +646,11 @@ msgstr "" "permanezcan con vida, pero los objetos pueden aún pueden ser recuperados por " "el ID si lo hacen." -#: ../Doc/library/weakref.rst:441 +#: ../Doc/library/weakref.rst:431 msgid "Finalizer Objects" msgstr "Objetos Finalizadores" -#: ../Doc/library/weakref.rst:443 +#: ../Doc/library/weakref.rst:433 msgid "" "The main benefit of using :class:`finalize` is that it makes it simple to " "register a callback without needing to preserve the returned finalizer " @@ -683,7 +660,7 @@ msgstr "" "registrar una retrollamada sin necesitar preservar el objeto finalizador " "retornado. Por ejemplo" -#: ../Doc/library/weakref.rst:457 +#: ../Doc/library/weakref.rst:447 msgid "" "The finalizer can be called directly as well. However the finalizer will " "invoke the callback at most once." @@ -691,7 +668,7 @@ msgstr "" "El finalizador puede ser llamado directamente también. Sin embargo, el " "finalizador invocará la retrollamada como máximo una vez." -#: ../Doc/library/weakref.rst:473 +#: ../Doc/library/weakref.rst:463 msgid "" "You can unregister a finalizer using its :meth:`~finalize.detach` method. " "This kills the finalizer and returns the arguments passed to the constructor " @@ -701,7 +678,7 @@ msgstr "" "detach`. Esto mata el finalizador y retorna los argumentos pasados al " "constructor cuando fue creado." -#: ../Doc/library/weakref.rst:487 +#: ../Doc/library/weakref.rst:477 msgid "" "Unless you set the :attr:`~finalize.atexit` attribute to :const:`False`, a " "finalizer will be called when the program exits if it is still alive. For " @@ -711,11 +688,11 @@ msgstr "" "finalizador será llamado cuando el programa salga si todavía está con vida. " "Por ejemplo" -#: ../Doc/library/weakref.rst:502 +#: ../Doc/library/weakref.rst:492 msgid "Comparing finalizers with :meth:`__del__` methods" msgstr "Comparando finalizadores con los métodos :meth:`__del__`" -#: ../Doc/library/weakref.rst:504 +#: ../Doc/library/weakref.rst:494 msgid "" "Suppose we want to create a class whose instances represent temporary " "directories. The directories should be deleted with their contents when the " @@ -725,19 +702,19 @@ msgstr "" "directorios temporales. Los directorios deben ser eliminados con sus " "contenidos cuando el primero de los siguiente eventos ocurre:" -#: ../Doc/library/weakref.rst:508 +#: ../Doc/library/weakref.rst:498 msgid "the object is garbage collected," msgstr "el objeto es recolectado por el recolector de basura," -#: ../Doc/library/weakref.rst:509 +#: ../Doc/library/weakref.rst:499 msgid "the object's :meth:`remove` method is called, or" msgstr "el método :meth:`remove` del objeto es llamado, o" -#: ../Doc/library/weakref.rst:510 +#: ../Doc/library/weakref.rst:500 msgid "the program exits." msgstr "el programa sale." -#: ../Doc/library/weakref.rst:512 +#: ../Doc/library/weakref.rst:502 msgid "" "We might try to implement the class using a :meth:`__del__` method as " "follows::" @@ -745,7 +722,7 @@ msgstr "" "Nosotros podemos intentar implementar la clase usando el método :meth:" "`__del__` como sigue::" -#: ../Doc/library/weakref.rst:531 +#: ../Doc/library/weakref.rst:521 msgid "" "Starting with Python 3.4, :meth:`__del__` methods no longer prevent " "reference cycles from being garbage collected, and module globals are no " @@ -757,7 +734,7 @@ msgstr "" "fuerzan :const:`None` durante :term:`interpreter shutdown`. Por lo que este " "código debe trabajar sin ningún problema en CPython." -#: ../Doc/library/weakref.rst:536 +#: ../Doc/library/weakref.rst:526 msgid "" "However, handling of :meth:`__del__` methods is notoriously implementation " "specific, since it depends on internal details of the interpreter's garbage " @@ -767,7 +744,7 @@ msgstr "" "específico por la implementación, ya que depende de detalles internos de la " "implementación del recolector de basura del intérprete." -#: ../Doc/library/weakref.rst:540 +#: ../Doc/library/weakref.rst:530 msgid "" "A more robust alternative can be to define a finalizer which only references " "the specific functions and objects that it needs, rather than having access " @@ -777,7 +754,7 @@ msgstr "" "hace referencia a funciones específicas y objetos que necesite, en vez de " "tener acceso al estado completo del objeto::" -#: ../Doc/library/weakref.rst:556 +#: ../Doc/library/weakref.rst:546 msgid "" "Defined like this, our finalizer only receives a reference to the details it " "needs to clean up the directory appropriately. If the object never gets " @@ -787,7 +764,7 @@ msgstr "" "que necesita limpiar los directorios apropiadamente. Si el objeto nueva " "llega a ser recolectado como basura el finalizador aún será llamado al salir." -#: ../Doc/library/weakref.rst:560 +#: ../Doc/library/weakref.rst:550 msgid "" "The other advantage of weakref based finalizers is that they can be used to " "register finalizers for classes where the definition is controlled by a " @@ -798,7 +775,7 @@ msgstr "" "controlado por terceros, como un código que corre cuando un módulo es " "*unloaded*::" -#: ../Doc/library/weakref.rst:572 +#: ../Doc/library/weakref.rst:562 msgid "" "If you create a finalizer object in a daemonic thread just as the program " "exits then there is the possibility that the finalizer does not get called " @@ -810,3 +787,34 @@ msgstr "" "llamado. Sin embargo, en un hilo demoníaco :func:`atexit.register`, " "``try: ... finally: ...`` y ``with: ...`` no garantizan que la limpieza " "ocurra tampoco." + +#~ msgid "" +#~ "Caution: Because a :class:`WeakKeyDictionary` is built on top of a Python " +#~ "dictionary, it must not change size when iterating over it. This can be " +#~ "difficult to ensure for a :class:`WeakKeyDictionary` because actions " +#~ "performed by the program during iteration may cause items in the " +#~ "dictionary to vanish \"by magic\" (as a side effect of garbage " +#~ "collection)." +#~ msgstr "" +#~ "Precaución: Porque un :class:`WeakKeyDictionary` está construido en cima " +#~ "de un diccionario de Python, este no debe cambiar de tamaño cuando se " +#~ "itera en él. Esto puede ser difícil de asegurar para un :class:" +#~ "`WeakKeyDictionary` porque las acciones hechas por el programa durante la " +#~ "iteración pueden causar que los objetos en el objeto se desvanezcan \"por " +#~ "arte de magia\" (como un efecto secundario de la recolección de basura)." + +#~ msgid "" +#~ "Caution: Because a :class:`WeakValueDictionary` is built on top of a " +#~ "Python dictionary, it must not change size when iterating over it. This " +#~ "can be difficult to ensure for a :class:`WeakValueDictionary` because " +#~ "actions performed by the program during iteration may cause items in the " +#~ "dictionary to vanish \"by magic\" (as a side effect of garbage " +#~ "collection)." +#~ msgstr "" +#~ "Precaución: Porque un :class:`WeakValueDictionary` está construido por " +#~ "encima de un diccionario de Python, no debe cambiar el tamaño cuando se " +#~ "itere sobre él. Esto puede ser difícil de asegurar para un :class:" +#~ "`WeakValueDictionary` porque las acciones hechas por el programa durante " +#~ "la iteración pueden causar que los objetos en el diccionario se " +#~ "desvanezcan \"por arte de magia\" (como un efecto secundario de la " +#~ "recolección de basura)." diff --git a/library/wsgiref.po b/library/wsgiref.po index fb58b03f79..7178d3ac37 100644 --- a/library/wsgiref.po +++ b/library/wsgiref.po @@ -11,17 +11,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-09-15 23:10+0200\n" +"Last-Translator: Ignasi Fosch \n" +"Language: es_ES\n" "Language-Team: Spanish - Spain \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\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" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" -"Last-Translator: Ignasi Fosch \n" -"Language: es_ES\n" -"X-Generator: Gtranslator 3.36.0\n" #: ../Doc/library/wsgiref.rst:2 msgid ":mod:`wsgiref` --- WSGI Utilities and Reference Implementation" @@ -742,14 +741,15 @@ msgstr "" "enrutamiento. Este gestor elimina las partes duplicadas de la ruta." #: ../Doc/library/wsgiref.rst:478 +#, fuzzy msgid "" "IIS can be configured to pass the correct ``PATH_INFO``, but this causes " "another bug where ``PATH_TRANSLATED`` is wrong. Luckily this variable is " "rarely used and is not guaranteed by WSGI. On IIS<7, though, the setting can " "only be made on a vhost level, affecting all other script mappings, many of " "which break when exposed to the ``PATH_TRANSLATED`` bug. For this reason " -"IIS<7 is almost never deployed with the fix. (Even IIS7 rarely uses it " -"because there is still no UI for it.)" +"IIS<7 is almost never deployed with the fix (Even IIS7 rarely uses it " +"because there is still no UI for it.)." msgstr "" "IIS puede configurarse para pasar el ``PATH_INFO`` correctamente, pero esto " "cause otro bug por el que ``PATH_TRANSLATED`` es incorrecto. " diff --git a/library/xml.dom.minidom.po b/library/xml.dom.minidom.po index 38d92d994c..c1759f1f62 100644 --- a/library/xml.dom.minidom.po +++ b/library/xml.dom.minidom.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-10-09 11:58+0200\n" +"Last-Translator: Francisco Jesús Sevilla García \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Francisco Jesús Sevilla García \n" -"Language: es\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/xml.dom.minidom.rst:2 msgid ":mod:`xml.dom.minidom` --- Minimal DOM implementation" @@ -232,7 +231,7 @@ msgstr "" "keyword:`with`. El siguiente código desvinculará automáticamente *dom* " "cuando se salga del bloque :keyword:`!with`::" -#: ../Doc/library/xml.dom.minidom.rst:137 +#: ../Doc/library/xml.dom.minidom.rst:138 msgid "" "Write XML to the writer object. The writer receives texts but not bytes as " "input, it should have a :meth:`write` method which matches that of the file " @@ -248,7 +247,7 @@ msgstr "" "para los subnodos del nodo actual. El parámetro *newl* especifica la cadena " "que se utilizará como terminación de las nuevas líneas." -#: ../Doc/library/xml.dom.minidom.rst:144 +#: ../Doc/library/xml.dom.minidom.rst:145 msgid "" "For the :class:`Document` node, an additional keyword argument *encoding* " "can be used to specify the encoding field of the XML header." @@ -257,7 +256,16 @@ msgstr "" "adicional *encoding* para especificar el valor del campo de codificación del " "encabezado XML." -#: ../Doc/library/xml.dom.minidom.rst:147 +#: ../Doc/library/xml.dom.minidom.rst:148 +msgid "" +"Silimarly, explicitly stating the *standalone* argument causes the " +"standalone document declarations to be added to the prologue of the XML " +"document. If the value is set to `True`, `standalone=\"yes\"` is added, " +"otherwise it is set to `\"no\"`. Not stating the argument will omit the " +"declaration from the document." +msgstr "" + +#: ../Doc/library/xml.dom.minidom.rst:155 msgid "" "The :meth:`writexml` method now preserves the attribute order specified by " "the user." @@ -265,7 +273,7 @@ msgstr "" "El método :meth:`writexml` ahora conserva el orden de los atributos " "especificado por el usuario." -#: ../Doc/library/xml.dom.minidom.rst:153 +#: ../Doc/library/xml.dom.minidom.rst:161 msgid "" "Return a string or byte string containing the XML represented by the DOM " "node." @@ -273,7 +281,7 @@ msgstr "" "Retorna una cadena de caracteres o una cadena de bytes que contiene el XML " "representado por el nodo DOM." -#: ../Doc/library/xml.dom.minidom.rst:156 +#: ../Doc/library/xml.dom.minidom.rst:164 msgid "" "With an explicit *encoding* [1]_ argument, the result is a byte string in " "the specified encoding. With no *encoding* argument, the result is a Unicode " @@ -289,7 +297,12 @@ msgstr "" "probablemente sea una práctica incorrecta, ya que UTF-8 es la codificación " "predeterminada para XML." -#: ../Doc/library/xml.dom.minidom.rst:163 +#: ../Doc/library/xml.dom.minidom.rst:171 +#: ../Doc/library/xml.dom.minidom.rst:187 +msgid "The *standalone* argument behaves exactly as in :meth:`writexml`." +msgstr "" + +#: ../Doc/library/xml.dom.minidom.rst:173 msgid "" "The :meth:`toxml` method now preserves the attribute order specified by the " "user." @@ -297,7 +310,7 @@ msgstr "" "El método :meth:`toxml` ahora conserva el orden de los atributos " "especificado por el usuario." -#: ../Doc/library/xml.dom.minidom.rst:169 +#: ../Doc/library/xml.dom.minidom.rst:180 msgid "" "Return a pretty-printed version of the document. *indent* specifies the " "indentation string and defaults to a tabulator; *newl* specifies the string " @@ -308,7 +321,7 @@ msgstr "" "*newl* especifica la cadena de caracteres emitida al final de cada línea y " "es ``\\n`` por defecto." -#: ../Doc/library/xml.dom.minidom.rst:173 +#: ../Doc/library/xml.dom.minidom.rst:184 msgid "" "The *encoding* argument behaves like the corresponding argument of :meth:" "`toxml`." @@ -316,7 +329,7 @@ msgstr "" "El argumento *encoding* se comporta como el argumento correspondiente del " "método :meth:`toxml`." -#: ../Doc/library/xml.dom.minidom.rst:176 +#: ../Doc/library/xml.dom.minidom.rst:189 msgid "" "The :meth:`toprettyxml` method now preserves the attribute order specified " "by the user." @@ -324,11 +337,11 @@ msgstr "" "El método :meth:`toprettyxml` ahora conserva el orden de los atributos " "especificado por el usuario." -#: ../Doc/library/xml.dom.minidom.rst:184 +#: ../Doc/library/xml.dom.minidom.rst:197 msgid "DOM Example" msgstr "Ejemplo de DOM" -#: ../Doc/library/xml.dom.minidom.rst:186 +#: ../Doc/library/xml.dom.minidom.rst:199 msgid "" "This example program is a fairly realistic example of a simple program. In " "this particular case, we do not take much advantage of the flexibility of " @@ -338,11 +351,11 @@ msgstr "" "programa simple. En este caso particular, no aprovechamos mucho la " "flexibilidad del DOM." -#: ../Doc/library/xml.dom.minidom.rst:195 +#: ../Doc/library/xml.dom.minidom.rst:208 msgid "minidom and the DOM standard" msgstr "minidom y el estándar DOM" -#: ../Doc/library/xml.dom.minidom.rst:197 +#: ../Doc/library/xml.dom.minidom.rst:210 msgid "" "The :mod:`xml.dom.minidom` module is essentially a DOM 1.0-compatible DOM " "with some DOM 2 features (primarily namespace features)." @@ -351,7 +364,7 @@ msgstr "" "1.0, con algunas características de DOM 2 (principalmente características " "del espacio de nombres)." -#: ../Doc/library/xml.dom.minidom.rst:200 +#: ../Doc/library/xml.dom.minidom.rst:213 msgid "" "Usage of the DOM interface in Python is straight-forward. The following " "mapping rules apply:" @@ -359,7 +372,7 @@ msgstr "" "El uso de la interfaz DOM en Python es sencillo. Se aplican las siguientes " "reglas de mapeo:" -#: ../Doc/library/xml.dom.minidom.rst:203 +#: ../Doc/library/xml.dom.minidom.rst:216 msgid "" "Interfaces are accessed through instance objects. Applications should not " "instantiate the classes themselves; they should use the creator functions " @@ -373,7 +386,7 @@ msgstr "" "interfaces derivadas admiten todas las operaciones (y atributos) de las " "interfaces base, además de cualquier operación nueva." -#: ../Doc/library/xml.dom.minidom.rst:208 +#: ../Doc/library/xml.dom.minidom.rst:221 msgid "" "Operations are used as methods. Since the DOM uses only :keyword:`in` " "parameters, the arguments are passed in normal order (from left to right). " @@ -384,7 +397,7 @@ msgstr "" "izquierda a derecha). No hay argumentos opcionales. Las operaciones ``void`` " "retornan ``None``." -#: ../Doc/library/xml.dom.minidom.rst:212 +#: ../Doc/library/xml.dom.minidom.rst:225 msgid "" "IDL attributes map to instance attributes. For compatibility with the OMG " "IDL language mapping for Python, an attribute ``foo`` can also be accessed " @@ -397,7 +410,7 @@ msgstr "" "`_set_foo`. Los atributos ``readonly`` no deben modificarse; esto no se " "aplica en tiempo de ejecución." -#: ../Doc/library/xml.dom.minidom.rst:217 +#: ../Doc/library/xml.dom.minidom.rst:230 msgid "" "The types ``short int``, ``unsigned int``, ``unsigned long long``, and " "``boolean`` all map to Python integer objects." @@ -405,7 +418,7 @@ msgstr "" "Los tipos ``short int``, ``unsigned int``, ``unsigned long long`` y " "``boolean`` se asignan todos a objetos enteros de Python." -#: ../Doc/library/xml.dom.minidom.rst:220 +#: ../Doc/library/xml.dom.minidom.rst:233 msgid "" "The type ``DOMString`` maps to Python strings. :mod:`xml.dom.minidom` " "supports either bytes or strings, but will normally produce strings. Values " @@ -418,7 +431,7 @@ msgstr "" "``DOMString`` también pueden ser ``None`` cuando la especificación DOM del " "W3C permite tener el valor IDL ``null``." -#: ../Doc/library/xml.dom.minidom.rst:225 +#: ../Doc/library/xml.dom.minidom.rst:238 msgid "" "``const`` declarations map to variables in their respective scope (e.g. " "``xml.dom.minidom.Node.PROCESSING_INSTRUCTION_NODE``); they must not be " @@ -428,7 +441,7 @@ msgstr "" "(por ejemplo, ``xml.dom.minidom.Node.PROCESSING_INSTRUCTION_NODE``); no " "deben modificarse." -#: ../Doc/library/xml.dom.minidom.rst:228 +#: ../Doc/library/xml.dom.minidom.rst:241 msgid "" "``DOMException`` is currently not supported in :mod:`xml.dom.minidom`. " "Instead, :mod:`xml.dom.minidom` uses standard Python exceptions such as :exc:" @@ -438,7 +451,7 @@ msgstr "" "minidom`. En su lugar, :mod:`xml.dom.minidom` usa excepciones estándar de " "Python como :exc:`TypeError` y :exc:`AttributeError`." -#: ../Doc/library/xml.dom.minidom.rst:232 +#: ../Doc/library/xml.dom.minidom.rst:245 msgid "" ":class:`NodeList` objects are implemented using Python's built-in list type. " "These objects provide the interface defined in the DOM specification, but " @@ -452,22 +465,22 @@ msgstr "" "compatibles con la API oficial. Sin embargo, son mucho más \"pythónicas\" " "que la interfaz definida en las recomendaciones del W3C." -#: ../Doc/library/xml.dom.minidom.rst:238 +#: ../Doc/library/xml.dom.minidom.rst:251 msgid "" "The following interfaces have no implementation in :mod:`xml.dom.minidom`:" msgstr "" "Las siguientes interfaces no están implementadas en el módulo :mod:`xml.dom." "minidom`:" -#: ../Doc/library/xml.dom.minidom.rst:240 +#: ../Doc/library/xml.dom.minidom.rst:253 msgid ":class:`DOMTimeStamp`" msgstr ":class:`DOMTimeStamp`" -#: ../Doc/library/xml.dom.minidom.rst:242 +#: ../Doc/library/xml.dom.minidom.rst:255 msgid ":class:`EntityReference`" msgstr ":class:`EntityReference`" -#: ../Doc/library/xml.dom.minidom.rst:244 +#: ../Doc/library/xml.dom.minidom.rst:257 msgid "" "Most of these reflect information in the XML document that is not of general " "utility to most DOM users." @@ -475,11 +488,11 @@ msgstr "" "La mayoría de ellas reflejan información en el documento XML que " "generalmente no es de utilidad para la mayoría de los usuarios de DOM." -#: ../Doc/library/xml.dom.minidom.rst:248 +#: ../Doc/library/xml.dom.minidom.rst:261 msgid "Footnotes" msgstr "Notas al pie" -#: ../Doc/library/xml.dom.minidom.rst:249 +#: ../Doc/library/xml.dom.minidom.rst:262 msgid "" "The encoding name included in the XML output should conform to the " "appropriate standards. For example, \"UTF-8\" is valid, but \"UTF8\" is not " diff --git a/library/xml.etree.elementtree.po b/library/xml.etree.elementtree.po index 5561c7a16d..59cb4112f0 100644 --- a/library/xml.etree.elementtree.po +++ b/library/xml.etree.elementtree.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: python-doc-es\n" @@ -35,34 +35,36 @@ msgid "" msgstr "" #: ../Doc/library/xml.etree.elementtree.rst:16 -msgid "" -"This module will use a fast implementation whenever available. The :mod:`xml." -"etree.cElementTree` module is deprecated." +msgid "This module will use a fast implementation whenever available." +msgstr "" + +#: ../Doc/library/xml.etree.elementtree.rst:19 +msgid "The :mod:`xml.etree.cElementTree` module is deprecated." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:23 +#: ../Doc/library/xml.etree.elementtree.rst:25 msgid "" "The :mod:`xml.etree.ElementTree` module is not secure against maliciously " "constructed data. If you need to parse untrusted or unauthenticated data " "see :ref:`xml-vulnerabilities`." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:28 +#: ../Doc/library/xml.etree.elementtree.rst:30 msgid "Tutorial" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:30 +#: ../Doc/library/xml.etree.elementtree.rst:32 msgid "" "This is a short tutorial for using :mod:`xml.etree.ElementTree` (``ET`` in " "short). The goal is to demonstrate some of the building blocks and basic " "concepts of the module." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:35 +#: ../Doc/library/xml.etree.elementtree.rst:37 msgid "XML tree and elements" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:37 +#: ../Doc/library/xml.etree.elementtree.rst:39 msgid "" "XML is an inherently hierarchical data format, and the most natural way to " "represent it is with a tree. ``ET`` has two classes for this purpose - :" @@ -73,25 +75,25 @@ msgid "" "sub-elements are done on the :class:`Element` level." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:48 +#: ../Doc/library/xml.etree.elementtree.rst:50 msgid "Parsing XML" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:50 +#: ../Doc/library/xml.etree.elementtree.rst:52 msgid "" "We'll be using the following XML document as the sample data for this " "section:" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:78 +#: ../Doc/library/xml.etree.elementtree.rst:80 msgid "We can import this data by reading from a file::" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:84 +#: ../Doc/library/xml.etree.elementtree.rst:86 msgid "Or directly from a string::" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:88 +#: ../Doc/library/xml.etree.elementtree.rst:90 msgid "" ":func:`fromstring` parses XML from a string directly into an :class:" "`Element`, which is the root element of the parsed tree. Other parsing " @@ -99,20 +101,20 @@ msgid "" "sure." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:92 +#: ../Doc/library/xml.etree.elementtree.rst:94 msgid "" "As an :class:`Element`, ``root`` has a tag and a dictionary of attributes::" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:99 +#: ../Doc/library/xml.etree.elementtree.rst:101 msgid "It also has children nodes over which we can iterate::" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:108 +#: ../Doc/library/xml.etree.elementtree.rst:110 msgid "Children are nested, and we can access specific child nodes by index::" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:116 +#: ../Doc/library/xml.etree.elementtree.rst:118 msgid "" "Not all elements of the XML input will end up as elements of the parsed " "tree. Currently, this module skips over any XML comments, processing " @@ -124,11 +126,11 @@ msgid "" "constructor." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:130 +#: ../Doc/library/xml.etree.elementtree.rst:132 msgid "Pull API for non-blocking parsing" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:132 +#: ../Doc/library/xml.etree.elementtree.rst:134 msgid "" "Most parsing functions provided by this module require the whole document to " "be read at once before returning any result. It is possible to use an :" @@ -139,7 +141,7 @@ msgid "" "the convenience of fully constructed :class:`Element` objects." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:140 +#: ../Doc/library/xml.etree.elementtree.rst:142 msgid "" "The most powerful tool for doing this is :class:`XMLPullParser`. It does " "not require a blocking read to obtain the XML data, and is instead fed with " @@ -147,14 +149,14 @@ msgid "" "XML elements, call :meth:`XMLPullParser.read_events`. Here is an example::" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:156 +#: ../Doc/library/xml.etree.elementtree.rst:158 msgid "" "The obvious use case is applications that operate in a non-blocking fashion " "where the XML data is being received from a socket or read incrementally " "from some storage device. In such cases, blocking reads are unacceptable." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:160 +#: ../Doc/library/xml.etree.elementtree.rst:162 msgid "" "Because it's so flexible, :class:`XMLPullParser` can be inconvenient to use " "for simpler use-cases. If you don't mind your application blocking on " @@ -164,18 +166,18 @@ msgid "" "memory." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:167 +#: ../Doc/library/xml.etree.elementtree.rst:169 msgid "Finding interesting elements" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:169 +#: ../Doc/library/xml.etree.elementtree.rst:171 msgid "" ":class:`Element` has some useful methods that help iterate recursively over " "all the sub-tree below it (its children, their children, and so on). For " "example, :meth:`Element.iter`::" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:182 +#: ../Doc/library/xml.etree.elementtree.rst:184 msgid "" ":meth:`Element.findall` finds only elements with a tag which are direct " "children of the current element. :meth:`Element.find` finds the *first* " @@ -183,23 +185,23 @@ msgid "" "text content. :meth:`Element.get` accesses the element's attributes::" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:196 +#: ../Doc/library/xml.etree.elementtree.rst:198 msgid "" "More sophisticated specification of which elements to look for is possible " "by using :ref:`XPath `." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:200 +#: ../Doc/library/xml.etree.elementtree.rst:202 msgid "Modifying an XML File" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:202 +#: ../Doc/library/xml.etree.elementtree.rst:204 msgid "" ":class:`ElementTree` provides a simple way to build XML documents and write " "them to files. The :meth:`ElementTree.write` method serves this purpose." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:205 +#: ../Doc/library/xml.etree.elementtree.rst:207 msgid "" "Once created, an :class:`Element` object may be manipulated by directly " "changing its fields (such as :attr:`Element.text`), adding and modifying " @@ -207,38 +209,46 @@ msgid "" "example with :meth:`Element.append`)." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:210 +#: ../Doc/library/xml.etree.elementtree.rst:212 msgid "" "Let's say we want to add one to each country's rank, and add an ``updated`` " "attribute to the rank element::" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:220 -#: ../Doc/library/xml.etree.elementtree.rst:258 +#: ../Doc/library/xml.etree.elementtree.rst:222 +#: ../Doc/library/xml.etree.elementtree.rst:266 msgid "Our XML now looks like this:" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:248 +#: ../Doc/library/xml.etree.elementtree.rst:250 msgid "" "We can remove elements using :meth:`Element.remove`. Let's say we want to " "remove all countries with a rank higher than 50::" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:280 +#: ../Doc/library/xml.etree.elementtree.rst:261 +msgid "" +"Note that concurrent modification while iterating can lead to problems, just " +"like when iterating and modifying Python lists or dicts. Therefore, the " +"example first collects all matching elements with ``root.findall()``, and " +"only then iterates over the list of matches." +msgstr "" + +#: ../Doc/library/xml.etree.elementtree.rst:288 msgid "Building XML documents" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:282 +#: ../Doc/library/xml.etree.elementtree.rst:290 msgid "" "The :func:`SubElement` function also provides a convenient way to create new " "sub-elements for a given element::" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:293 +#: ../Doc/library/xml.etree.elementtree.rst:301 msgid "Parsing XML with Namespaces" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:295 +#: ../Doc/library/xml.etree.elementtree.rst:303 msgid "" "If the XML input has `namespaces `__, tags and attributes with prefixes in the form ``prefix:" @@ -248,44 +258,44 @@ msgid "" "prefixed tags." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:303 +#: ../Doc/library/xml.etree.elementtree.rst:311 msgid "" "Here is an XML example that incorporates two namespaces, one with the prefix " "\"fictional\" and the other serving as the default namespace:" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:324 +#: ../Doc/library/xml.etree.elementtree.rst:332 msgid "" "One way to search and explore this XML example is to manually add the URI to " "every tag or attribute in the xpath of a :meth:`~Element.find` or :meth:" "`~Element.findall`::" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:335 +#: ../Doc/library/xml.etree.elementtree.rst:343 msgid "" "A better way to search the namespaced XML example is to create a dictionary " "with your own prefixes and use those in the search functions::" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:347 +#: ../Doc/library/xml.etree.elementtree.rst:355 msgid "These two approaches both output::" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:359 +#: ../Doc/library/xml.etree.elementtree.rst:367 msgid "Additional resources" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:361 +#: ../Doc/library/xml.etree.elementtree.rst:369 msgid "" "See http://effbot.org/zone/element-index.htm for tutorials and links to " "other docs." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:368 +#: ../Doc/library/xml.etree.elementtree.rst:376 msgid "XPath support" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:370 +#: ../Doc/library/xml.etree.elementtree.rst:378 msgid "" "This module provides limited support for `XPath expressions `_ for locating elements in a tree. The goal is to support a " @@ -293,41 +303,41 @@ msgid "" "scope of the module." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:376 -#: ../Doc/library/xml.etree.elementtree.rst:738 +#: ../Doc/library/xml.etree.elementtree.rst:384 +#: ../Doc/library/xml.etree.elementtree.rst:758 msgid "Example" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:378 +#: ../Doc/library/xml.etree.elementtree.rst:386 msgid "" "Here's an example that demonstrates some of the XPath capabilities of the " "module. We'll be using the ``countrydata`` XML document from the :ref:" "`Parsing XML ` section::" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:402 +#: ../Doc/library/xml.etree.elementtree.rst:410 msgid "" "For XML with namespaces, use the usual qualified ``{namespace}tag`` " "notation::" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:409 +#: ../Doc/library/xml.etree.elementtree.rst:417 msgid "Supported XPath syntax" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:414 +#: ../Doc/library/xml.etree.elementtree.rst:422 msgid "Syntax" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:414 +#: ../Doc/library/xml.etree.elementtree.rst:422 msgid "Meaning" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:416 +#: ../Doc/library/xml.etree.elementtree.rst:424 msgid "``tag``" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:416 +#: ../Doc/library/xml.etree.elementtree.rst:424 msgid "" "Selects all child elements with the given tag. For example, ``spam`` selects " "all child elements named ``spam``, and ``spam/egg`` selects all " @@ -337,103 +347,103 @@ msgid "" "not in a namespace." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:425 +#: ../Doc/library/xml.etree.elementtree.rst:433 msgid "Support for star-wildcards was added." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:428 +#: ../Doc/library/xml.etree.elementtree.rst:436 msgid "``*``" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:428 +#: ../Doc/library/xml.etree.elementtree.rst:436 msgid "" "Selects all child elements, including comments and processing instructions. " "For example, ``*/egg`` selects all grandchildren named ``egg``." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:432 +#: ../Doc/library/xml.etree.elementtree.rst:440 msgid "``.``" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:432 +#: ../Doc/library/xml.etree.elementtree.rst:440 msgid "" "Selects the current node. This is mostly useful at the beginning of the " "path, to indicate that it's a relative path." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:436 +#: ../Doc/library/xml.etree.elementtree.rst:444 msgid "``//``" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:436 +#: ../Doc/library/xml.etree.elementtree.rst:444 msgid "" "Selects all subelements, on all levels beneath the current element. For " "example, ``.//egg`` selects all ``egg`` elements in the entire tree." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:440 +#: ../Doc/library/xml.etree.elementtree.rst:448 msgid "``..``" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:440 +#: ../Doc/library/xml.etree.elementtree.rst:448 msgid "" "Selects the parent element. Returns ``None`` if the path attempts to reach " "the ancestors of the start element (the element ``find`` was called on)." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:444 +#: ../Doc/library/xml.etree.elementtree.rst:452 msgid "``[@attrib]``" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:444 +#: ../Doc/library/xml.etree.elementtree.rst:452 msgid "Selects all elements that have the given attribute." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:446 +#: ../Doc/library/xml.etree.elementtree.rst:454 msgid "``[@attrib='value']``" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:446 +#: ../Doc/library/xml.etree.elementtree.rst:454 msgid "" "Selects all elements for which the given attribute has the given value. The " "value cannot contain quotes." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:450 +#: ../Doc/library/xml.etree.elementtree.rst:458 msgid "``[tag]``" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:450 +#: ../Doc/library/xml.etree.elementtree.rst:458 msgid "" "Selects all elements that have a child named ``tag``. Only immediate " "children are supported." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:453 +#: ../Doc/library/xml.etree.elementtree.rst:461 msgid "``[.='text']``" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:453 +#: ../Doc/library/xml.etree.elementtree.rst:461 msgid "" "Selects all elements whose complete text content, including descendants, " "equals the given ``text``." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:458 +#: ../Doc/library/xml.etree.elementtree.rst:466 msgid "``[tag='text']``" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:458 +#: ../Doc/library/xml.etree.elementtree.rst:466 msgid "" "Selects all elements that have a child named ``tag`` whose complete text " "content, including descendants, equals the given ``text``." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:462 +#: ../Doc/library/xml.etree.elementtree.rst:470 msgid "``[position]``" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:462 +#: ../Doc/library/xml.etree.elementtree.rst:470 msgid "" "Selects all elements that are located at the given position. The position " "can be either an integer (1 is the first position), the expression " @@ -441,28 +451,28 @@ msgid "" "position (e.g. ``last()-1``)." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:469 +#: ../Doc/library/xml.etree.elementtree.rst:477 msgid "" "Predicates (expressions within square brackets) must be preceded by a tag " "name, an asterisk, or another predicate. ``position`` predicates must be " "preceded by a tag name." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:474 -#: ../Doc/library/xml.etree.elementtree.rst:790 +#: ../Doc/library/xml.etree.elementtree.rst:482 +#: ../Doc/library/xml.etree.elementtree.rst:810 msgid "Reference" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:479 -#: ../Doc/library/xml.etree.elementtree.rst:795 +#: ../Doc/library/xml.etree.elementtree.rst:487 +#: ../Doc/library/xml.etree.elementtree.rst:815 msgid "Functions" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:483 +#: ../Doc/library/xml.etree.elementtree.rst:491 msgid "`C14N 2.0 `_ transformation function." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:485 +#: ../Doc/library/xml.etree.elementtree.rst:493 msgid "" "Canonicalization is a way to normalise XML output in a way that allows byte-" "by-byte comparisons and digital signatures. It reduced the freedom that XML " @@ -471,7 +481,7 @@ msgid "" "declarations, the ordering of attributes, and ignorable whitespace." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:491 +#: ../Doc/library/xml.etree.elementtree.rst:499 msgid "" "This function takes an XML data string (*xml_data*) or a file path or file-" "like object (*from_file*) as input, converts it to the canonical form, and " @@ -480,63 +490,63 @@ msgid "" "should therefore be opened in text mode with ``utf-8`` encoding." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:498 +#: ../Doc/library/xml.etree.elementtree.rst:506 msgid "Typical uses::" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:509 +#: ../Doc/library/xml.etree.elementtree.rst:517 msgid "The configuration *options* are as follows:" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:511 +#: ../Doc/library/xml.etree.elementtree.rst:519 msgid "*with_comments*: set to true to include comments (default: false)" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:512 +#: ../Doc/library/xml.etree.elementtree.rst:520 msgid "" "*strip_text*: set to true to strip whitespace before and after text content" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:513 -#: ../Doc/library/xml.etree.elementtree.rst:515 +#: ../Doc/library/xml.etree.elementtree.rst:521 +#: ../Doc/library/xml.etree.elementtree.rst:523 msgid "(default: false)" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:514 +#: ../Doc/library/xml.etree.elementtree.rst:522 msgid "" "*rewrite_prefixes*: set to true to replace namespace prefixes by " "\"n{number}\"" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:516 +#: ../Doc/library/xml.etree.elementtree.rst:524 msgid "*qname_aware_tags*: a set of qname aware tag names in which prefixes" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:517 -#: ../Doc/library/xml.etree.elementtree.rst:519 +#: ../Doc/library/xml.etree.elementtree.rst:525 +#: ../Doc/library/xml.etree.elementtree.rst:527 msgid "should be replaced in text content (default: empty)" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:518 +#: ../Doc/library/xml.etree.elementtree.rst:526 msgid "" "*qname_aware_attrs*: a set of qname aware attribute names in which prefixes" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:520 +#: ../Doc/library/xml.etree.elementtree.rst:528 msgid "*exclude_attrs*: a set of attribute names that should not be serialised" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:521 +#: ../Doc/library/xml.etree.elementtree.rst:529 msgid "*exclude_tags*: a set of tag names that should not be serialised" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:523 +#: ../Doc/library/xml.etree.elementtree.rst:531 msgid "" "In the option list above, \"a set\" refers to any collection or iterable of " "strings, no ordering is expected." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:531 +#: ../Doc/library/xml.etree.elementtree.rst:539 msgid "" "Comment element factory. This factory function creates a special element " "that will be serialized as an XML comment by the standard serializer. The " @@ -545,7 +555,7 @@ msgid "" "representing a comment." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:537 +#: ../Doc/library/xml.etree.elementtree.rst:545 msgid "" "Note that :class:`XMLParser` skips over comments in the input instead of " "creating comment objects for them. An :class:`ElementTree` will only contain " @@ -553,29 +563,29 @@ msgid "" "class:`Element` methods." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:544 +#: ../Doc/library/xml.etree.elementtree.rst:552 msgid "" "Writes an element tree or element structure to sys.stdout. This function " "should be used for debugging only." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:547 +#: ../Doc/library/xml.etree.elementtree.rst:555 msgid "" "The exact output format is implementation dependent. In this version, it's " "written as an ordinary XML file." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:550 +#: ../Doc/library/xml.etree.elementtree.rst:558 msgid "*elem* is an element tree or an individual element." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:552 +#: ../Doc/library/xml.etree.elementtree.rst:560 msgid "" "The :func:`dump` function now preserves the attribute order specified by the " "user." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:559 +#: ../Doc/library/xml.etree.elementtree.rst:567 msgid "" "Parses an XML section from a string constant. Same as :func:`XML`. *text* " "is a string containing XML data. *parser* is an optional parser instance. " @@ -583,7 +593,7 @@ msgid "" "class:`Element` instance." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:567 +#: ../Doc/library/xml.etree.elementtree.rst:575 msgid "" "Parses an XML document from a sequence of string fragments. *sequence* is a " "list or other sequence containing XML data fragments. *parser* is an " @@ -591,13 +601,23 @@ msgid "" "parser is used. Returns an :class:`Element` instance." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:577 +#: ../Doc/library/xml.etree.elementtree.rst:585 +msgid "" +"Appends whitespace to the subtree to indent the tree visually. This can be " +"used to generate pretty-printed XML output. *tree* can be an Element or " +"ElementTree. *space* is the whitespace string that will be inserted for " +"each indentation level, two space characters by default. For indenting " +"partial subtrees inside of an already indented tree, pass the initial " +"indentation level as *level*." +msgstr "" + +#: ../Doc/library/xml.etree.elementtree.rst:597 msgid "" "Check if an object appears to be a valid element object. *element* is an " "element instance. Return ``True`` if this is an element object." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:583 +#: ../Doc/library/xml.etree.elementtree.rst:603 msgid "" "Parses an XML section into an element tree incrementally, and reports what's " "going on to the user. *source* is a filename or :term:`file object` " @@ -612,7 +632,7 @@ msgid "" "elem)`` pairs." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:595 +#: ../Doc/library/xml.etree.elementtree.rst:615 msgid "" "Note that while :func:`iterparse` builds the tree incrementally, it issues " "blocking reads on *source* (or the file it names). As such, it's unsuitable " @@ -620,7 +640,7 @@ msgid "" "parsing, see :class:`XMLPullParser`." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:602 +#: ../Doc/library/xml.etree.elementtree.rst:622 msgid "" ":func:`iterparse` only guarantees that it has seen the \">\" character of a " "starting tag when it emits a \"start\" event, so the attributes are defined, " @@ -629,21 +649,21 @@ msgid "" "present." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:608 -#: ../Doc/library/xml.etree.elementtree.rst:1445 +#: ../Doc/library/xml.etree.elementtree.rst:628 +#: ../Doc/library/xml.etree.elementtree.rst:1456 msgid "If you need a fully populated element, look for \"end\" events instead." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:610 +#: ../Doc/library/xml.etree.elementtree.rst:630 msgid "The *parser* argument." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:613 -#: ../Doc/library/xml.etree.elementtree.rst:1449 +#: ../Doc/library/xml.etree.elementtree.rst:633 +#: ../Doc/library/xml.etree.elementtree.rst:1460 msgid "The ``comment`` and ``pi`` events were added." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:619 +#: ../Doc/library/xml.etree.elementtree.rst:639 msgid "" "Parses an XML section into an element tree. *source* is a filename or file " "object containing XML data. *parser* is an optional parser instance. If " @@ -651,7 +671,7 @@ msgid "" "class:`ElementTree` instance." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:627 +#: ../Doc/library/xml.etree.elementtree.rst:647 msgid "" "PI element factory. This factory function creates a special element that " "will be serialized as an XML processing instruction. *target* is a string " @@ -659,7 +679,7 @@ msgid "" "given. Returns an element instance, representing a processing instruction." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:632 +#: ../Doc/library/xml.etree.elementtree.rst:652 msgid "" "Note that :class:`XMLParser` skips over processing instructions in the input " "instead of creating comment objects for them. An :class:`ElementTree` will " @@ -667,7 +687,7 @@ msgid "" "the tree using one of the :class:`Element` methods." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:640 +#: ../Doc/library/xml.etree.elementtree.rst:660 msgid "" "Registers a namespace prefix. The registry is global, and any existing " "mapping for either the given prefix or the namespace URI will be removed. " @@ -676,13 +696,13 @@ msgid "" "all possible." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:651 +#: ../Doc/library/xml.etree.elementtree.rst:671 msgid "" "Subelement factory. This function creates an element instance, and appends " "it to an existing element." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:654 +#: ../Doc/library/xml.etree.elementtree.rst:674 msgid "" "The element name, attribute names, and attribute values can be either " "bytestrings or Unicode strings. *parent* is the parent element. *tag* is " @@ -691,7 +711,7 @@ msgid "" "arguments. Returns an element instance." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:665 +#: ../Doc/library/xml.etree.elementtree.rst:685 msgid "" "Generates a string representation of an XML element, including all " "subelements. *element* is an :class:`Element` instance. *encoding* [1]_ is " @@ -703,24 +723,24 @@ msgid "" "encoded string containing the XML data." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:674 -#: ../Doc/library/xml.etree.elementtree.rst:701 -#: ../Doc/library/xml.etree.elementtree.rst:1157 +#: ../Doc/library/xml.etree.elementtree.rst:694 +#: ../Doc/library/xml.etree.elementtree.rst:721 +#: ../Doc/library/xml.etree.elementtree.rst:1168 msgid "The *short_empty_elements* parameter." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:677 -#: ../Doc/library/xml.etree.elementtree.rst:704 +#: ../Doc/library/xml.etree.elementtree.rst:697 +#: ../Doc/library/xml.etree.elementtree.rst:724 msgid "The *xml_declaration* and *default_namespace* parameters." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:680 +#: ../Doc/library/xml.etree.elementtree.rst:700 msgid "" "The :func:`tostring` function now preserves the attribute order specified by " "the user." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:689 +#: ../Doc/library/xml.etree.elementtree.rst:709 msgid "" "Generates a string representation of an XML element, including all " "subelements. *element* is an :class:`Element` instance. *encoding* [1]_ is " @@ -734,13 +754,13 @@ msgid "" "tostring(element)``." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:707 +#: ../Doc/library/xml.etree.elementtree.rst:727 msgid "" "The :func:`tostringlist` function now preserves the attribute order " "specified by the user." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:714 +#: ../Doc/library/xml.etree.elementtree.rst:734 msgid "" "Parses an XML section from a string constant. This function can be used to " "embed \"XML literals\" in Python code. *text* is a string containing XML " @@ -748,7 +768,7 @@ msgid "" "class:`XMLParser` parser is used. Returns an :class:`Element` instance." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:722 +#: ../Doc/library/xml.etree.elementtree.rst:742 msgid "" "Parses an XML section from a string constant, and also returns a dictionary " "which maps from element id:s to elements. *text* is a string containing XML " @@ -757,11 +777,11 @@ msgid "" "`Element` instance and a dictionary." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:732 +#: ../Doc/library/xml.etree.elementtree.rst:752 msgid "XInclude support" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:734 +#: ../Doc/library/xml.etree.elementtree.rst:754 msgid "" "This module provides limited support for `XInclude directives `_, via the :mod:`xml.etree.ElementInclude` helper " @@ -769,7 +789,7 @@ msgid "" "element trees, based on information in the tree." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:740 +#: ../Doc/library/xml.etree.elementtree.rst:760 msgid "" "Here's an example that demonstrates use of the XInclude module. To include " "an XML document in the current document, use the ``{http://www.w3.org/2001/" @@ -777,43 +797,43 @@ msgid "" "and use the **href** attribute to specify the document to include." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:749 +#: ../Doc/library/xml.etree.elementtree.rst:769 msgid "" "By default, the **href** attribute is treated as a file name. You can use " "custom loaders to override this behaviour. Also note that the standard " "helper does not support XPointer syntax." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:751 +#: ../Doc/library/xml.etree.elementtree.rst:771 msgid "" "To process this file, load it as usual, and pass the root element to the :" "mod:`xml.etree.ElementTree` module:" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:762 +#: ../Doc/library/xml.etree.elementtree.rst:782 msgid "" "The ElementInclude module replaces the ``{http://www.w3.org/2001/XInclude}" "include`` element with the root element from the **source.xml** document. " "The result might look something like this:" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:770 +#: ../Doc/library/xml.etree.elementtree.rst:790 msgid "" "If the **parse** attribute is omitted, it defaults to \"xml\". The href " "attribute is required." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:772 +#: ../Doc/library/xml.etree.elementtree.rst:792 msgid "" "To include a text document, use the ``{http://www.w3.org/2001/XInclude}" "include`` element, and set the **parse** attribute to \"text\":" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:781 +#: ../Doc/library/xml.etree.elementtree.rst:801 msgid "The result might look something like:" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:799 +#: ../Doc/library/xml.etree.elementtree.rst:819 msgid "" "Default loader. This default loader reads an included resource from disk. " "*href* is a URL. *parse* is for parse mode either \"xml\" or \"text\". " @@ -824,28 +844,39 @@ msgid "" "exception." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:809 +#: ../Doc/library/xml.etree.elementtree.rst:830 msgid "" "This function expands XInclude directives. *elem* is the root element. " "*loader* is an optional resource loader. If omitted, it defaults to :func:" "`default_loader`. If given, it should be a callable that implements the same " -"interface as :func:`default_loader`. Returns the expanded resource. If the " -"parse mode is ``\"xml\"``, this is an ElementTree instance. If the parse " -"mode is \"text\", this is a Unicode string. If the loader fails, it can " -"return None or raise an exception." +"interface as :func:`default_loader`. *base_url* is base URL of the original " +"file, to resolve relative include file references. *max_depth* is the " +"maximum number of recursive inclusions. Limited to reduce the risk of " +"malicious content explosion. Pass a negative value to disable the limitation." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:821 +#: ../Doc/library/xml.etree.elementtree.rst:838 +msgid "" +"Returns the expanded resource. If the parse mode is ``\"xml\"``, this is an " +"ElementTree instance. If the parse mode is \"text\", this is a Unicode " +"string. If the loader fails, it can return None or raise an exception." +msgstr "" + +#: ../Doc/library/xml.etree.elementtree.rst:843 +msgid "The *base_url* and *max_depth* parameters." +msgstr "" + +#: ../Doc/library/xml.etree.elementtree.rst:850 msgid "Element Objects" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:825 +#: ../Doc/library/xml.etree.elementtree.rst:854 msgid "" "Element class. This class defines the Element interface, and provides a " "reference implementation of this interface." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:828 +#: ../Doc/library/xml.etree.elementtree.rst:857 msgid "" "The element name, attribute names, and attribute values can be either " "bytestrings or Unicode strings. *tag* is the element name. *attrib* is an " @@ -853,13 +884,13 @@ msgid "" "additional attributes, given as keyword arguments." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:836 +#: ../Doc/library/xml.etree.elementtree.rst:865 msgid "" "A string identifying what kind of data this element represents (the element " "type, in other words)." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:843 +#: ../Doc/library/xml.etree.elementtree.rst:872 msgid "" "These attributes can be used to hold additional data associated with the " "element. Their values are usually strings but may be any application-" @@ -870,7 +901,7 @@ msgid "" "the XML data" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:855 +#: ../Doc/library/xml.etree.elementtree.rst:884 msgid "" "the *a* element has ``None`` for both *text* and *tail* attributes, the *b* " "element has *text* ``\"1\"`` and *tail* ``\"4\"``, the *c* element has " @@ -878,17 +909,17 @@ msgid "" "``None`` and *tail* ``\"3\"``." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:860 +#: ../Doc/library/xml.etree.elementtree.rst:889 msgid "" "To collect the inner text of an element, see :meth:`itertext`, for example ``" "\"\".join(element.itertext())``." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:863 +#: ../Doc/library/xml.etree.elementtree.rst:892 msgid "Applications may store arbitrary objects in these attributes." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:868 +#: ../Doc/library/xml.etree.elementtree.rst:897 msgid "" "A dictionary containing the element's attributes. Note that while the " "*attrib* value is always a real mutable Python dictionary, an ElementTree " @@ -897,59 +928,59 @@ msgid "" "implementations, use the dictionary methods below whenever possible." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:874 +#: ../Doc/library/xml.etree.elementtree.rst:903 msgid "The following dictionary-like methods work on the element attributes." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:879 +#: ../Doc/library/xml.etree.elementtree.rst:908 msgid "" "Resets an element. This function removes all subelements, clears all " "attributes, and sets the text and tail attributes to ``None``." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:885 +#: ../Doc/library/xml.etree.elementtree.rst:914 msgid "Gets the element attribute named *key*." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:887 +#: ../Doc/library/xml.etree.elementtree.rst:916 msgid "" "Returns the attribute value, or *default* if the attribute was not found." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:892 +#: ../Doc/library/xml.etree.elementtree.rst:921 msgid "" "Returns the element attributes as a sequence of (name, value) pairs. The " "attributes are returned in an arbitrary order." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:898 +#: ../Doc/library/xml.etree.elementtree.rst:927 msgid "" "Returns the elements attribute names as a list. The names are returned in " "an arbitrary order." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:904 +#: ../Doc/library/xml.etree.elementtree.rst:933 msgid "Set the attribute *key* on the element to *value*." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:906 +#: ../Doc/library/xml.etree.elementtree.rst:935 msgid "The following methods work on the element's children (subelements)." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:911 +#: ../Doc/library/xml.etree.elementtree.rst:940 msgid "" "Adds the element *subelement* to the end of this element's internal list of " "subelements. Raises :exc:`TypeError` if *subelement* is not an :class:" "`Element`." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:918 +#: ../Doc/library/xml.etree.elementtree.rst:947 msgid "" "Appends *subelements* from a sequence object with zero or more elements. " "Raises :exc:`TypeError` if a subelement is not an :class:`Element`." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:926 +#: ../Doc/library/xml.etree.elementtree.rst:955 msgid "" "Finds the first subelement matching *match*. *match* may be a tag name or " "a :ref:`path `. Returns an element instance or " @@ -958,7 +989,7 @@ msgid "" "expression into the given namespace." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:935 +#: ../Doc/library/xml.etree.elementtree.rst:964 msgid "" "Finds all matching subelements, by tag name or :ref:`path `. Returns a list containing all matching elements in document " @@ -967,7 +998,7 @@ msgid "" "expression into the given namespace." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:944 +#: ../Doc/library/xml.etree.elementtree.rst:973 msgid "" "Finds text for the first subelement matching *match*. *match* may be a tag " "name or a :ref:`path `. Returns the text content of the " @@ -978,21 +1009,13 @@ msgid "" "into the given namespace." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:956 -msgid "Use ``list(elem)`` or iteration." -msgstr "" - -#: ../Doc/library/xml.etree.elementtree.rst:962 -msgid "Use method :meth:`Element.iter` instead." -msgstr "" - -#: ../Doc/library/xml.etree.elementtree.rst:967 +#: ../Doc/library/xml.etree.elementtree.rst:984 msgid "" "Inserts *subelement* at the given position in this element. Raises :exc:" "`TypeError` if *subelement* is not an :class:`Element`." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:973 +#: ../Doc/library/xml.etree.elementtree.rst:990 msgid "" "Creates a tree :term:`iterator` with the current element as the root. The " "iterator iterates over this element and all elements below it, in document " @@ -1001,7 +1024,7 @@ msgid "" "structure is modified during iteration, the result is undefined." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:984 +#: ../Doc/library/xml.etree.elementtree.rst:1001 msgid "" "Finds all matching subelements, by tag name or :ref:`path `. Returns an iterable yielding all matching elements in document " @@ -1009,40 +1032,40 @@ msgid "" "name." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:995 +#: ../Doc/library/xml.etree.elementtree.rst:1012 msgid "" "Creates a text iterator. The iterator loops over this element and all " "subelements, in document order, and returns all inner text." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:1003 +#: ../Doc/library/xml.etree.elementtree.rst:1020 msgid "" "Creates a new element object of the same type as this element. Do not call " "this method, use the :func:`SubElement` factory function instead." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:1009 +#: ../Doc/library/xml.etree.elementtree.rst:1026 msgid "" "Removes *subelement* from the element. Unlike the find\\* methods this " "method compares elements based on the instance identity, not on tag value or " "contents." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:1013 +#: ../Doc/library/xml.etree.elementtree.rst:1030 msgid "" ":class:`Element` objects also support the following sequence type methods " "for working with subelements: :meth:`~object.__delitem__`, :meth:`~object." "__getitem__`, :meth:`~object.__setitem__`, :meth:`~object.__len__`." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:1018 +#: ../Doc/library/xml.etree.elementtree.rst:1035 msgid "" "Caution: Elements with no subelements will test as ``False``. This behavior " "will change in future versions. Use specific ``len(elem)`` or ``elem is " "None`` test instead. ::" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:1030 +#: ../Doc/library/xml.etree.elementtree.rst:1047 msgid "" "Prior to Python 3.8, the serialisation order of the XML attributes of " "elements was artificially made predictable by sorting the attributes by " @@ -1051,7 +1074,7 @@ msgid "" "attributes were originally parsed or created by user code." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:1036 +#: ../Doc/library/xml.etree.elementtree.rst:1053 msgid "" "In general, user code should try not to depend on a specific ordering of " "attributes, given that the `XML Information Set `_ writer. Arguments are the " "same as for the :func:`canonicalize` function. This class does not build a " @@ -1290,11 +1309,11 @@ msgid "" "using the *write* function." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:1320 +#: ../Doc/library/xml.etree.elementtree.rst:1331 msgid "XMLParser Objects" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:1325 +#: ../Doc/library/xml.etree.elementtree.rst:1336 msgid "" "This class is the low-level building block of the module. It uses :mod:`xml." "parsers.expat` for efficient, event-based parsing of XML. It can be fed XML " @@ -1305,24 +1324,24 @@ msgid "" "XML file." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:1333 +#: ../Doc/library/xml.etree.elementtree.rst:1344 msgid "" "Parameters are now :ref:`keyword-only `. The *html* " "argument no longer supported." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:1340 +#: ../Doc/library/xml.etree.elementtree.rst:1351 msgid "" "Finishes feeding data to the parser. Returns the result of calling the " "``close()`` method of the *target* passed during construction; by default, " "this is the toplevel document element." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:1347 +#: ../Doc/library/xml.etree.elementtree.rst:1358 msgid "Feeds data to the parser. *data* is encoded data." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:1349 +#: ../Doc/library/xml.etree.elementtree.rst:1360 msgid "" ":meth:`XMLParser.feed` calls *target*\\'s ``start(tag, attrs_dict)`` method " "for each opening tag, its ``end(tag)`` method for each closing tag, and data " @@ -1333,11 +1352,11 @@ msgid "" "of an XML file::" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:1393 +#: ../Doc/library/xml.etree.elementtree.rst:1404 msgid "XMLPullParser Objects" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:1397 +#: ../Doc/library/xml.etree.elementtree.rst:1408 msgid "" "A pull parser suitable for non-blocking applications. Its input-side API is " "similar to that of :class:`XMLParser`, but instead of pushing calls to a " @@ -1349,11 +1368,11 @@ msgid "" "is omitted, only ``\"end\"`` events are reported." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:1408 +#: ../Doc/library/xml.etree.elementtree.rst:1419 msgid "Feed the given bytes data to the parser." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:1412 +#: ../Doc/library/xml.etree.elementtree.rst:1423 msgid "" "Signal the parser that the data stream is terminated. Unlike :meth:" "`XMLParser.close`, this method always returns :const:`None`. Any events not " @@ -1361,7 +1380,7 @@ msgid "" "`read_events`." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:1419 +#: ../Doc/library/xml.etree.elementtree.rst:1430 msgid "" "Return an iterator over the events which have been encountered in the data " "fed to the parser. The iterator yields ``(event, elem)`` pairs, where " @@ -1370,25 +1389,25 @@ msgid "" "follows." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:1425 +#: ../Doc/library/xml.etree.elementtree.rst:1436 msgid "``start``, ``end``: the current Element." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:1426 +#: ../Doc/library/xml.etree.elementtree.rst:1437 msgid "``comment``, ``pi``: the current comment / processing instruction" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:1427 +#: ../Doc/library/xml.etree.elementtree.rst:1438 msgid "" "``start-ns``: a tuple ``(prefix, uri)`` naming the declared namespace " "mapping." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:1429 +#: ../Doc/library/xml.etree.elementtree.rst:1440 msgid "``end-ns``: :const:`None` (this may change in a future version)" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:1431 +#: ../Doc/library/xml.etree.elementtree.rst:1442 msgid "" "Events provided in a previous call to :meth:`read_events` will not be " "yielded again. Events are consumed from the internal queue only when they " @@ -1397,7 +1416,7 @@ msgid "" "results." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:1439 +#: ../Doc/library/xml.etree.elementtree.rst:1450 msgid "" ":class:`XMLPullParser` only guarantees that it has seen the \">\" character " "of a starting tag when it emits a \"start\" event, so the attributes are " @@ -1406,11 +1425,11 @@ msgid "" "be present." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:1454 +#: ../Doc/library/xml.etree.elementtree.rst:1465 msgid "Exceptions" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:1458 +#: ../Doc/library/xml.etree.elementtree.rst:1469 msgid "" "XML parse error, raised by the various parsing methods in this module when " "parsing fails. The string representation of an instance of this exception " @@ -1418,22 +1437,22 @@ msgid "" "following attributes available:" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:1465 +#: ../Doc/library/xml.etree.elementtree.rst:1476 msgid "" "A numeric error code from the expat parser. See the documentation of :mod:" "`xml.parsers.expat` for the list of error codes and their meanings." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:1470 +#: ../Doc/library/xml.etree.elementtree.rst:1481 msgid "" "A tuple of *line*, *column* numbers, specifying where the error occurred." msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:1473 +#: ../Doc/library/xml.etree.elementtree.rst:1484 msgid "Footnotes" msgstr "" -#: ../Doc/library/xml.etree.elementtree.rst:1474 +#: ../Doc/library/xml.etree.elementtree.rst:1485 msgid "" "The encoding string included in XML output should conform to the appropriate " "standards. For example, \"UTF-8\" is valid, but \"UTF8\" is not. See " diff --git a/library/xml.po b/library/xml.po index dd37a11b00..766e9eb8f9 100644 --- a/library/xml.po +++ b/library/xml.po @@ -1,23 +1,25 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. # Maintained by the python-doc-es workteam. -# docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ -# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers +# docs-es@python.org / +# https://mail.python.org/mailman3/lists/docs-es.python.org/ +# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get +# the list of volunteers # msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-06 11:59-0400\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-10-12 17:11-0500\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.2.1\n" +"Generated-By: Babel 2.8.0\n" #: ../Doc/library/xml.rst:4 msgid "XML Processing Modules" @@ -35,10 +37,11 @@ msgstr "" "``xml``." #: ../Doc/library/xml.rst:20 +#, fuzzy msgid "" "The XML modules are not secure against erroneous or maliciously constructed " "data. If you need to parse untrusted or unauthenticated data see the :ref:" -"`xml-vulnerabilities` and :ref:`defused-packages` sections." +"`xml-vulnerabilities` and :ref:`defusedxml-package` sections." msgstr "" "Los módulos XML no son seguros contra datos erróneos o construidos " "malintencionadamente. Si necesita analizar datos no confiables o no " @@ -300,7 +303,8 @@ msgstr "" "los vectores de ataque conocidos con ejemplos y referencias." #: ../Doc/library/xml.rst:119 -msgid "The :mod:`defusedxml` and :mod:`defusedexpat` Packages" +#, fuzzy +msgid "The :mod:`defusedxml` Package" msgstr "Paquetes :mod:`defusedxml` y :mod:`defusedexpat`" #: ../Doc/library/xml.rst:121 @@ -318,19 +322,18 @@ msgstr "" "también incluye ataques de ejemplo y documentación ampliada sobre más " "vulnerabilidades XML, como la inyección de XPath." -#: ../Doc/library/xml.rst:127 -msgid "" -"`defusedexpat`_ provides a modified libexpat and a patched :mod:`pyexpat` " -"module that have countermeasures against entity expansion DoS attacks. The :" -"mod:`defusedexpat` module still allows a sane and configurable amount of " -"entity expansions. The modifications may be included in some future release " -"of Python, but will not be included in any bugfix releases of Python because " -"they break backward compatibility." -msgstr "" -"`defusedexpat`_ proporciona un libexpat modificado y un módulo :mod:" -"`pyexpat` parcheado que tienen contramedidas contra ataques DoS de expansión " -"de entidad. El módulo :mod:`defusedexpat` todavía permite una cantidad " -"sensata y configurable de expansiones de entidades. Las modificaciones " -"pueden incluirse en alguna versión futura de Python, pero no se incluirán en " -"ninguna versión de corrección de errores de Python porque rompen la " -"compatibilidad con versiones anteriores." +#~ msgid "" +#~ "`defusedexpat`_ provides a modified libexpat and a patched :mod:`pyexpat` " +#~ "module that have countermeasures against entity expansion DoS attacks. " +#~ "The :mod:`defusedexpat` module still allows a sane and configurable " +#~ "amount of entity expansions. The modifications may be included in some " +#~ "future release of Python, but will not be included in any bugfix releases " +#~ "of Python because they break backward compatibility." +#~ msgstr "" +#~ "`defusedexpat`_ proporciona un libexpat modificado y un módulo :mod:" +#~ "`pyexpat` parcheado que tienen contramedidas contra ataques DoS de " +#~ "expansión de entidad. El módulo :mod:`defusedexpat` todavía permite una " +#~ "cantidad sensata y configurable de expansiones de entidades. Las " +#~ "modificaciones pueden incluirse en alguna versión futura de Python, pero " +#~ "no se incluirán en ninguna versión de corrección de errores de Python " +#~ "porque rompen la compatibilidad con versiones anteriores." diff --git a/library/zipfile.po b/library/zipfile.po index d54f7ab3d3..4795295acf 100644 --- a/library/zipfile.po +++ b/library/zipfile.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-08-10 22:55-0500\n" +"Last-Translator: Cristian Danilo Rengifo Parra \n" +"Language: es_CO\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristian Danilo Rengifo Parra \n" -"Language: es_CO\n" -"X-Generator: Poedit 2.3.1\n" #: ../Doc/library/zipfile.rst:2 msgid ":mod:`zipfile` --- Work with ZIP archives" @@ -284,7 +283,7 @@ msgstr "" "`ZIP_BZIP2` se aceptan enteros ``1`` a ``9`` (consulte :class:`bz2 ` para obtener más información)." -#: ../Doc/library/zipfile.rst:181 ../Doc/library/zipfile.rst:632 +#: ../Doc/library/zipfile.rst:181 ../Doc/library/zipfile.rst:636 msgid "" "The *strict_timestamps* argument, when set to ``False``, allows to zip files " "older than 1980-01-01 at the cost of setting the timestamp to 1980-01-01. " @@ -328,7 +327,7 @@ msgstr "" msgid "Added support for :mod:`bzip2 ` and :mod:`lzma` compression." msgstr "Soporte agregado para :mod:`bzip2 ` y compresión :mod:`lzma`." -#: ../Doc/library/zipfile.rst:204 ../Doc/library/zipfile.rst:546 +#: ../Doc/library/zipfile.rst:204 ../Doc/library/zipfile.rst:550 msgid "ZIP64 extensions are enabled by default." msgstr "Las extensiones ZIP64 están habilitadas por defecto." @@ -356,7 +355,7 @@ msgstr "El parámetro *file* acepta un :term:`path-like object`." msgid "Add the *compresslevel* parameter." msgstr "Agregue el parámetro *compresslevel*." -#: ../Doc/library/zipfile.rst:221 ../Doc/library/zipfile.rst:643 +#: ../Doc/library/zipfile.rst:221 ../Doc/library/zipfile.rst:647 msgid "The *strict_timestamps* keyword-only argument" msgstr "El Argumento *strict_timestamps* solo palabra clave" @@ -802,36 +801,32 @@ msgstr "El componente final de la ruta." #: ../Doc/library/zipfile.rst:494 msgid "" -"Invoke :meth:`ZipFile.open` on the current path. Accepts the same arguments " -"as :meth:`ZipFile.open`." +"Invoke :meth:`ZipFile.open` on the current path. Allows opening for read or " +"write, text or binary through supported modes: 'r', 'w', 'rb', 'wb'. " +"Positional and keyword arguments are passed through to :class:`io." +"TextIOWrapper` when opened as text and ignored otherwise. ``pwd`` is the " +"``pwd`` parameter to :meth:`ZipFile.open`." msgstr "" -"Invoca :meth:`ZipFile.open` en la ruta actual. Acepta los mismos argumentos " -"que :meth:`ZipFile.open`." -#: ../Doc/library/zipfile.rst:499 +#: ../Doc/library/zipfile.rst:503 msgid "" -"The signature on this function changes in an incompatible way in Python 3.9. " -"For a future-compatible version, consider using the third-party zipp.Path " -"package (3.0 or later)." +"Added support for text and binary modes for open. Default mode is now text." msgstr "" -"La firma en esta función cambia de manera incompatible en Python 3.9. Para " -"una versión compatible con el futuro, considere usar el paquete de terceros " -"zipp.Path (3.0 o posterior)." -#: ../Doc/library/zipfile.rst:505 +#: ../Doc/library/zipfile.rst:509 msgid "Enumerate the children of the current directory." msgstr "Enumera los hijos del directorio actual." -#: ../Doc/library/zipfile.rst:509 +#: ../Doc/library/zipfile.rst:513 msgid "Return ``True`` if the current context references a directory." msgstr "" "Retorna ``True`` si el contexto actual hace referencia a un directorio." -#: ../Doc/library/zipfile.rst:513 +#: ../Doc/library/zipfile.rst:517 msgid "Return ``True`` if the current context references a file." msgstr "Retorna ``True`` si el contexto actual hace referencia a un archivo." -#: ../Doc/library/zipfile.rst:517 +#: ../Doc/library/zipfile.rst:521 msgid "" "Return ``True`` if the current context references a file or directory in the " "zip file." @@ -839,7 +834,7 @@ msgstr "" "Retorna ``True`` si el contexto actual hace referencia a un archivo o " "directorio en el archivo zip." -#: ../Doc/library/zipfile.rst:522 +#: ../Doc/library/zipfile.rst:526 msgid "" "Read the current file as unicode text. Positional and keyword arguments are " "passed through to :class:`io.TextIOWrapper` (except ``buffer``, which is " @@ -849,15 +844,15 @@ msgstr "" "palabras clave se pasan a :class:`io.TextIOWrapper` (excepto ``buffer``, que " "está implícito en el contexto)." -#: ../Doc/library/zipfile.rst:529 +#: ../Doc/library/zipfile.rst:533 msgid "Read the current file as bytes." msgstr "Lee el archivo actual como bytes." -#: ../Doc/library/zipfile.rst:535 +#: ../Doc/library/zipfile.rst:539 msgid "PyZipFile Objects" msgstr "Objetos PyZipFile" -#: ../Doc/library/zipfile.rst:537 +#: ../Doc/library/zipfile.rst:541 msgid "" "The :class:`PyZipFile` constructor takes the same parameters as the :class:" "`ZipFile` constructor, and one additional parameter, *optimize*." @@ -865,24 +860,24 @@ msgstr "" "El constructor :class:`PyZipFile` toma los mismos parámetros que el " "constructor :class:`ZipFile`, y un parámetro adicional, *optimize*." -#: ../Doc/library/zipfile.rst:543 +#: ../Doc/library/zipfile.rst:547 msgid "The *optimize* parameter." msgstr "El parámetro *optimize*." -#: ../Doc/library/zipfile.rst:549 +#: ../Doc/library/zipfile.rst:553 msgid "" "Instances have one method in addition to those of :class:`ZipFile` objects:" msgstr "" "Las instancias tienen un método ademas de los objetos :class:`ZipFile`:" -#: ../Doc/library/zipfile.rst:553 +#: ../Doc/library/zipfile.rst:557 msgid "" "Search for files :file:`\\*.py` and add the corresponding file to the " "archive." msgstr "" "Busca archivos :file:`\\*.py` y agrega el archivo correspondiente al archivo." -#: ../Doc/library/zipfile.rst:556 +#: ../Doc/library/zipfile.rst:560 msgid "" "If the *optimize* parameter to :class:`PyZipFile` was not given or ``-1``, " "the corresponding file is a :file:`\\*.pyc` file, compiling if necessary." @@ -891,7 +886,7 @@ msgstr "" "el archivo correspondiente es un archivo :file:`\\*.pyc`, compilando si es " "necesario." -#: ../Doc/library/zipfile.rst:559 +#: ../Doc/library/zipfile.rst:563 msgid "" "If the *optimize* parameter to :class:`PyZipFile` was ``0``, ``1`` or ``2``, " "only files with that optimization level (see :func:`compile`) are added to " @@ -901,7 +896,7 @@ msgstr "" "solo se agregarán a ese archivo los archivos con ese nivel de optimización " "(ver :func:`compile`) el archivo, compilando si es necesario." -#: ../Doc/library/zipfile.rst:563 +#: ../Doc/library/zipfile.rst:567 msgid "" "If *pathname* is a file, the filename must end with :file:`.py`, and just " "the (corresponding :file:`\\*.pyc`) file is added at the top level (no path " @@ -924,11 +919,11 @@ msgstr "" "subdirectorios son directorios de paquetes, todos estos se agregan " "recursivamente en orden ordenado." -#: ../Doc/library/zipfile.rst:573 +#: ../Doc/library/zipfile.rst:577 msgid "*basename* is intended for internal use only." msgstr "*basename* está destinado solo para uso interno." -#: ../Doc/library/zipfile.rst:575 +#: ../Doc/library/zipfile.rst:579 msgid "" "*filterfunc*, if given, must be a function taking a single string argument. " "It will be passed each path (including each individual full file path) " @@ -946,28 +941,28 @@ msgstr "" "prueba están todos en directorios de ``test`` o comienzan con la cadena " "``test_``, podemos usar un *filterfunc* para excluirlos ::" -#: ../Doc/library/zipfile.rst:589 +#: ../Doc/library/zipfile.rst:593 msgid "The :meth:`writepy` method makes archives with file names like this::" msgstr "" "El método :meth:`writepy` crea archivos con nombres de archivo como este ::" -#: ../Doc/library/zipfile.rst:598 +#: ../Doc/library/zipfile.rst:602 msgid "The *filterfunc* parameter." msgstr "El parámetro *filterfunc*." -#: ../Doc/library/zipfile.rst:601 +#: ../Doc/library/zipfile.rst:605 msgid "The *pathname* parameter accepts a :term:`path-like object`." msgstr "El parámetro *pathname* acepta un :term:`path-like object`." -#: ../Doc/library/zipfile.rst:604 +#: ../Doc/library/zipfile.rst:608 msgid "Recursion sorts directory entries." msgstr "La recursividad ordena las entradas del directorio." -#: ../Doc/library/zipfile.rst:611 +#: ../Doc/library/zipfile.rst:615 msgid "ZipInfo Objects" msgstr "Objetos ZipInfo" -#: ../Doc/library/zipfile.rst:613 +#: ../Doc/library/zipfile.rst:617 msgid "" "Instances of the :class:`ZipInfo` class are returned by the :meth:`.getinfo` " "and :meth:`.infolist` methods of :class:`ZipFile` objects. Each object " @@ -977,7 +972,7 @@ msgstr "" "meth:`.getinfo` y :meth:`.infolist` de :class:`ZipFile`. Cada objeto " "almacena información sobre un solo miembro del archivo ZIP." -#: ../Doc/library/zipfile.rst:617 +#: ../Doc/library/zipfile.rst:621 msgid "" "There is one classmethod to make a :class:`ZipInfo` instance for a " "filesystem file:" @@ -985,7 +980,7 @@ msgstr "" "Hay un método de clase para hacer una instancia de :class:`ZipInfo` para un " "archivo de sistema de archivos:" -#: ../Doc/library/zipfile.rst:623 +#: ../Doc/library/zipfile.rst:627 msgid "" "Construct a :class:`ZipInfo` instance for a file on the filesystem, in " "preparation for adding it to a zip file." @@ -993,13 +988,13 @@ msgstr "" "Construye una instancia de :class:`ZipInfo` para un archivo en el sistema de " "archivos, en preparación para agregarlo a un archivo zip." -#: ../Doc/library/zipfile.rst:626 +#: ../Doc/library/zipfile.rst:630 msgid "*filename* should be the path to a file or directory on the filesystem." msgstr "" "*filename* debe ser la ruta a un archivo o directorio en el sistema de " "archivos." -#: ../Doc/library/zipfile.rst:628 +#: ../Doc/library/zipfile.rst:632 msgid "" "If *arcname* is specified, it is used as the name within the archive. If " "*arcname* is not specified, the name will be the same as *filename*, but " @@ -1009,29 +1004,29 @@ msgstr "" "Si no se especifica *arcname*, el nombre será el mismo que *filename*, pero " "con cualquier letra de unidad y separadores de ruta principales eliminados." -#: ../Doc/library/zipfile.rst:640 +#: ../Doc/library/zipfile.rst:644 msgid "The *filename* parameter accepts a :term:`path-like object`." msgstr "El parámetro *filename* acepta un :term:`path-like object`." -#: ../Doc/library/zipfile.rst:647 +#: ../Doc/library/zipfile.rst:651 msgid "Instances have the following methods and attributes:" msgstr "Las instancias tienen los siguientes métodos y atributos:" -#: ../Doc/library/zipfile.rst:651 +#: ../Doc/library/zipfile.rst:655 msgid "Return ``True`` if this archive member is a directory." msgstr "Retorna ``True`` si este miembro del archivo es un directorio." -#: ../Doc/library/zipfile.rst:653 +#: ../Doc/library/zipfile.rst:657 msgid "This uses the entry's name: directories should always end with ``/``." msgstr "" "Utiliza el nombre de la entrada: los directorios siempre deben terminar con " "``/``." -#: ../Doc/library/zipfile.rst:660 +#: ../Doc/library/zipfile.rst:664 msgid "Name of the file in the archive." msgstr "Nombre del archivo en el archivo." -#: ../Doc/library/zipfile.rst:665 +#: ../Doc/library/zipfile.rst:669 msgid "" "The time and date of the last modification to the archive member. This is a " "tuple of six values:" @@ -1039,77 +1034,77 @@ msgstr "" "La hora y fecha de la última modificación al miembro del archivo. Esta es " "una tupla de seis valores:" -#: ../Doc/library/zipfile.rst:669 +#: ../Doc/library/zipfile.rst:673 msgid "Index" msgstr "Índice" -#: ../Doc/library/zipfile.rst:669 +#: ../Doc/library/zipfile.rst:673 msgid "Value" msgstr "Valor" -#: ../Doc/library/zipfile.rst:671 +#: ../Doc/library/zipfile.rst:675 msgid "``0``" msgstr "``0``" -#: ../Doc/library/zipfile.rst:671 +#: ../Doc/library/zipfile.rst:675 msgid "Year (>= 1980)" msgstr "Año (>= 1980)" -#: ../Doc/library/zipfile.rst:673 +#: ../Doc/library/zipfile.rst:677 msgid "``1``" msgstr "``1``" -#: ../Doc/library/zipfile.rst:673 +#: ../Doc/library/zipfile.rst:677 msgid "Month (one-based)" msgstr "Mes (basado en uno)" -#: ../Doc/library/zipfile.rst:675 +#: ../Doc/library/zipfile.rst:679 msgid "``2``" msgstr "``2``" -#: ../Doc/library/zipfile.rst:675 +#: ../Doc/library/zipfile.rst:679 msgid "Day of month (one-based)" msgstr "Día del mes (basado en uno)" -#: ../Doc/library/zipfile.rst:677 +#: ../Doc/library/zipfile.rst:681 msgid "``3``" msgstr "``3``" -#: ../Doc/library/zipfile.rst:677 +#: ../Doc/library/zipfile.rst:681 msgid "Hours (zero-based)" msgstr "Horas (basados en cero)" -#: ../Doc/library/zipfile.rst:679 +#: ../Doc/library/zipfile.rst:683 msgid "``4``" msgstr "``4``" -#: ../Doc/library/zipfile.rst:679 +#: ../Doc/library/zipfile.rst:683 msgid "Minutes (zero-based)" msgstr "Minutos (basados en cero)" -#: ../Doc/library/zipfile.rst:681 +#: ../Doc/library/zipfile.rst:685 msgid "``5``" msgstr "``5``" -#: ../Doc/library/zipfile.rst:681 +#: ../Doc/library/zipfile.rst:685 msgid "Seconds (zero-based)" msgstr "Segundos (basado en cero)" -#: ../Doc/library/zipfile.rst:686 +#: ../Doc/library/zipfile.rst:690 msgid "The ZIP file format does not support timestamps before 1980." msgstr "" "El formato de archivo ZIP no admite marcas de tiempo anteriores a 1980." -#: ../Doc/library/zipfile.rst:691 +#: ../Doc/library/zipfile.rst:695 msgid "Type of compression for the archive member." msgstr "Tipo de compresión para la miembro del archivo." -#: ../Doc/library/zipfile.rst:696 +#: ../Doc/library/zipfile.rst:700 msgid "Comment for the individual archive member as a :class:`bytes` object." msgstr "" "Comenta para el miembro de archivo individual como un objeto :class:`bytes`." -#: ../Doc/library/zipfile.rst:701 +#: ../Doc/library/zipfile.rst:705 msgid "" "Expansion field data. The `PKZIP Application Note`_ contains some comments " "on the internal structure of the data contained in this :class:`bytes` " @@ -1119,59 +1114,59 @@ msgstr "" "comentarios sobre la estructura interna de los datos contenidos en este " "objeto :class:`bytes`." -#: ../Doc/library/zipfile.rst:708 +#: ../Doc/library/zipfile.rst:712 msgid "System which created ZIP archive." msgstr "Sistema que creó el archivo ZIP." -#: ../Doc/library/zipfile.rst:713 +#: ../Doc/library/zipfile.rst:717 msgid "PKZIP version which created ZIP archive." msgstr "Versión PKZIP que creó el archivo ZIP." -#: ../Doc/library/zipfile.rst:718 +#: ../Doc/library/zipfile.rst:722 msgid "PKZIP version needed to extract archive." msgstr "Se necesita la versión PKZIP para extraer el archivo." -#: ../Doc/library/zipfile.rst:723 +#: ../Doc/library/zipfile.rst:727 msgid "Must be zero." msgstr "Debe ser cero." -#: ../Doc/library/zipfile.rst:728 +#: ../Doc/library/zipfile.rst:732 msgid "ZIP flag bits." msgstr "Bits de bandera ZIP." -#: ../Doc/library/zipfile.rst:733 +#: ../Doc/library/zipfile.rst:737 msgid "Volume number of file header." msgstr "Número de volumen del encabezado del archivo." -#: ../Doc/library/zipfile.rst:738 +#: ../Doc/library/zipfile.rst:742 msgid "Internal attributes." msgstr "Atributos internos." -#: ../Doc/library/zipfile.rst:743 +#: ../Doc/library/zipfile.rst:747 msgid "External file attributes." msgstr "Atributos de archivo externo." -#: ../Doc/library/zipfile.rst:748 +#: ../Doc/library/zipfile.rst:752 msgid "Byte offset to the file header." msgstr "Byte desplazado al encabezado del archivo." -#: ../Doc/library/zipfile.rst:753 +#: ../Doc/library/zipfile.rst:757 msgid "CRC-32 of the uncompressed file." msgstr "CRC-32 del archivo sin comprimir." -#: ../Doc/library/zipfile.rst:758 +#: ../Doc/library/zipfile.rst:762 msgid "Size of the compressed data." msgstr "Tamaño de los datos comprimidos." -#: ../Doc/library/zipfile.rst:763 +#: ../Doc/library/zipfile.rst:767 msgid "Size of the uncompressed file." msgstr "Tamaño del archivo sin comprimir." -#: ../Doc/library/zipfile.rst:770 +#: ../Doc/library/zipfile.rst:774 msgid "Command-Line Interface" msgstr "Interfaz de línea de comandos" -#: ../Doc/library/zipfile.rst:772 +#: ../Doc/library/zipfile.rst:776 msgid "" "The :mod:`zipfile` module provides a simple command-line interface to " "interact with ZIP archives." @@ -1179,7 +1174,7 @@ msgstr "" "El módulo :mod:`zipfile` proporciona una interfaz de línea de comandos " "simple para interactuar con archivos ZIP." -#: ../Doc/library/zipfile.rst:775 +#: ../Doc/library/zipfile.rst:779 msgid "" "If you want to create a new ZIP archive, specify its name after the :option:" "`-c` option and then list the filename(s) that should be included:" @@ -1188,11 +1183,11 @@ msgstr "" "opción :option:`-c` y luego enumere los nombres de archivo que deben " "incluirse:" -#: ../Doc/library/zipfile.rst:782 +#: ../Doc/library/zipfile.rst:786 msgid "Passing a directory is also acceptable:" msgstr "Pasar un directorio también es aceptable:" -#: ../Doc/library/zipfile.rst:788 +#: ../Doc/library/zipfile.rst:792 msgid "" "If you want to extract a ZIP archive into the specified directory, use the :" "option:`-e` option:" @@ -1200,37 +1195,37 @@ msgstr "" "Si desea extraer un archivo ZIP en el directorio especificado, use la " "opción :option:`-e`:" -#: ../Doc/library/zipfile.rst:795 +#: ../Doc/library/zipfile.rst:799 msgid "For a list of the files in a ZIP archive, use the :option:`-l` option:" msgstr "" "Para obtener una lista de los archivos en un archivo ZIP, use la opción :" "option:`-l`:" -#: ../Doc/library/zipfile.rst:803 +#: ../Doc/library/zipfile.rst:807 msgid "Command-line options" msgstr "Opciones de línea de comando" -#: ../Doc/library/zipfile.rst:808 +#: ../Doc/library/zipfile.rst:812 msgid "List files in a zipfile." msgstr "Lista de archivos en un archivo zip." -#: ../Doc/library/zipfile.rst:813 +#: ../Doc/library/zipfile.rst:817 msgid "Create zipfile from source files." msgstr "Crea el archivo zip a partir de archivos fuente." -#: ../Doc/library/zipfile.rst:818 +#: ../Doc/library/zipfile.rst:822 msgid "Extract zipfile into target directory." msgstr "Extrae el archivo zip en el directorio de destino." -#: ../Doc/library/zipfile.rst:823 +#: ../Doc/library/zipfile.rst:827 msgid "Test whether the zipfile is valid or not." msgstr "Prueba si el archivo zip es válido o no." -#: ../Doc/library/zipfile.rst:826 +#: ../Doc/library/zipfile.rst:830 msgid "Decompression pitfalls" msgstr "Problemas de descompresión" -#: ../Doc/library/zipfile.rst:828 +#: ../Doc/library/zipfile.rst:832 msgid "" "The extraction in zipfile module might fail due to some pitfalls listed " "below." @@ -1238,11 +1233,11 @@ msgstr "" "La extracción en el módulo zipfile puede fallar debido a algunos problemas " "que se enumeran a continuación." -#: ../Doc/library/zipfile.rst:831 +#: ../Doc/library/zipfile.rst:835 msgid "From file itself" msgstr "Del archivo mismo" -#: ../Doc/library/zipfile.rst:833 +#: ../Doc/library/zipfile.rst:837 msgid "" "Decompression may fail due to incorrect password / CRC checksum / ZIP format " "or unsupported compression method / decryption." @@ -1251,11 +1246,11 @@ msgstr "" "verificación CRC / formato ZIP o método / descifrado de compresión no " "compatible." -#: ../Doc/library/zipfile.rst:837 +#: ../Doc/library/zipfile.rst:841 msgid "File System limitations" msgstr "Limitaciones del sistema de archivos" -#: ../Doc/library/zipfile.rst:839 +#: ../Doc/library/zipfile.rst:843 msgid "" "Exceeding limitations on different file systems can cause decompression " "failed. Such as allowable characters in the directory entries, length of the " @@ -1267,11 +1262,11 @@ msgstr "" "directorio, la longitud del nombre del archivo, la longitud de la ruta, el " "tamaño de un solo archivo y la cantidad de archivos, etc." -#: ../Doc/library/zipfile.rst:844 +#: ../Doc/library/zipfile.rst:848 msgid "Resources limitations" msgstr "Limitaciones de recursos" -#: ../Doc/library/zipfile.rst:846 +#: ../Doc/library/zipfile.rst:850 msgid "" "The lack of memory or disk volume would lead to decompression failed. For " "example, decompression bombs (aka `ZIP bomb`_) apply to zipfile library that " @@ -1282,11 +1277,11 @@ msgstr "" "`ZIP bomb`_) se aplican a la biblioteca de archivos zip que pueden causar el " "agotamiento del volumen del disco." -#: ../Doc/library/zipfile.rst:851 +#: ../Doc/library/zipfile.rst:855 msgid "Interruption" msgstr "Interrupción" -#: ../Doc/library/zipfile.rst:853 +#: ../Doc/library/zipfile.rst:857 msgid "" "Interruption during the decompression, such as pressing control-C or killing " "the decompression process may result in incomplete decompression of the " @@ -1296,11 +1291,11 @@ msgstr "" "el proceso de descompresión, puede dar como resultado una descompresión " "incompleta del archivo." -#: ../Doc/library/zipfile.rst:857 +#: ../Doc/library/zipfile.rst:861 msgid "Default behaviors of extraction" msgstr "Comportamientos predeterminados de extracción" -#: ../Doc/library/zipfile.rst:859 +#: ../Doc/library/zipfile.rst:863 msgid "" "Not knowing the default extraction behaviors can cause unexpected " "decompression results. For example, when extracting the same archive twice, " @@ -1309,3 +1304,19 @@ msgstr "" "No conocer los comportamientos de extracción predeterminados puede causar " "resultados de descompresión inesperados. Por ejemplo, al extraer el mismo " "archivo dos veces, sobrescribe los archivos sin preguntar." + +#~ msgid "" +#~ "Invoke :meth:`ZipFile.open` on the current path. Accepts the same " +#~ "arguments as :meth:`ZipFile.open`." +#~ msgstr "" +#~ "Invoca :meth:`ZipFile.open` en la ruta actual. Acepta los mismos " +#~ "argumentos que :meth:`ZipFile.open`." + +#~ msgid "" +#~ "The signature on this function changes in an incompatible way in Python " +#~ "3.9. For a future-compatible version, consider using the third-party zipp." +#~ "Path package (3.0 or later)." +#~ msgstr "" +#~ "La firma en esta función cambia de manera incompatible en Python 3.9. " +#~ "Para una versión compatible con el futuro, considere usar el paquete de " +#~ "terceros zipp.Path (3.0 o posterior)." diff --git a/library/zlib.po b/library/zlib.po index 3aec1492e2..af841ef597 100644 --- a/library/zlib.po +++ b/library/zlib.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-06 22:27+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-05 21:57-0300\n" "Last-Translator: Carlos A. Crespo \n" "Language: es\n" @@ -26,13 +26,14 @@ msgid ":mod:`zlib` --- Compression compatible with :program:`gzip`" msgstr ":mod:`zlib` --- Compresión compatible con :program:`gzip`" #: ../Doc/library/zlib.rst:10 +#, fuzzy msgid "" "For applications that require data compression, the functions in this module " "allow compression and decompression, using the zlib library. The zlib " -"library has its own home page at http://www.zlib.net. There are known " +"library has its own home page at https://www.zlib.net. There are known " "incompatibilities between the Python module and versions of the zlib library " -"earlier than 1.1.3; 1.1.3 has a security vulnerability, so we recommend " -"using 1.1.4 or later." +"earlier than 1.1.3; 1.1.3 has a `security vulnerability `_, so we recommend using 1.1.4 or later." msgstr "" "Para las aplicaciones que requieren compresión de datos, las funciones de " "este módulo permiten la compresión y la descompresión, utilizando la " diff --git a/library/zoneinfo.po b/library/zoneinfo.po new file mode 100644 index 0000000000..7b73190e53 --- /dev/null +++ b/library/zoneinfo.po @@ -0,0 +1,493 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2021, Python Software Foundation +# This file is distributed under the same license as the Python en Español +# package. +# FIRST AUTHOR , 2021. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python en Español 3.9\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.8.0\n" + +#: ../Doc/library/zoneinfo.rst:2 +msgid ":mod:`zoneinfo` --- IANA time zone support" +msgstr "" + +#: ../Doc/library/zoneinfo.rst:14 +msgid "" +"The :mod:`zoneinfo` module provides a concrete time zone implementation to " +"support the IANA time zone database as originally specified in :pep:`615`. " +"By default, :mod:`zoneinfo` uses the system's time zone data if available; " +"if no system time zone data is available, the library will fall back to " +"using the first-party `tzdata`_ package available on PyPI." +msgstr "" + +#: ../Doc/library/zoneinfo.rst:24 +msgid "Module: :mod:`datetime`" +msgstr "" + +#: ../Doc/library/zoneinfo.rst:23 +msgid "" +"Provides the :class:`~datetime.time` and :class:`~datetime.datetime` types " +"with which the :class:`ZoneInfo` class is designed to be used." +msgstr "" + +#: ../Doc/library/zoneinfo.rst:27 +msgid "Package `tzdata`_" +msgstr "" + +#: ../Doc/library/zoneinfo.rst:27 +msgid "" +"First-party package maintained by the CPython core developers to supply time " +"zone data via PyPI." +msgstr "" + +#: ../Doc/library/zoneinfo.rst:32 +msgid "Using ``ZoneInfo``" +msgstr "" + +#: ../Doc/library/zoneinfo.rst:34 +msgid "" +":class:`ZoneInfo` is a concrete implementation of the :class:`datetime." +"tzinfo` abstract base class, and is intended to be attached to ``tzinfo``, " +"either via the constructor, the :meth:`datetime.replace ` method or :meth:`datetime.astimezone `::" +msgstr "" + +#: ../Doc/library/zoneinfo.rst:49 +msgid "" +"Datetimes constructed in this way are compatible with datetime arithmetic " +"and handle daylight saving time transitions with no further intervention::" +msgstr "" + +#: ../Doc/library/zoneinfo.rst:60 +msgid "" +"These time zones also support the :attr:`~datetime.datetime.fold` attribute " +"introduced in :pep:`495`. During offset transitions which induce ambiguous " +"times (such as a daylight saving time to standard time transition), the " +"offset from *before* the transition is used when ``fold=0``, and the offset " +"*after* the transition is used when ``fold=1``, for example::" +msgstr "" + +#: ../Doc/library/zoneinfo.rst:73 +msgid "" +"When converting from another time zone, the fold will be set to the correct " +"value::" +msgstr "" + +#: ../Doc/library/zoneinfo.rst:89 +msgid "Data sources" +msgstr "" + +#: ../Doc/library/zoneinfo.rst:91 +msgid "" +"The ``zoneinfo`` module does not directly provide time zone data, and " +"instead pulls time zone information from the system time zone database or " +"the first-party PyPI package `tzdata`_, if available. Some systems, " +"including notably Windows systems, do not have an IANA database available, " +"and so for projects targeting cross-platform compatibility that require time " +"zone data, it is recommended to declare a dependency on tzdata. If neither " +"system data nor tzdata are available, all calls to :class:`ZoneInfo` will " +"raise :exc:`ZoneInfoNotFoundError`." +msgstr "" + +#: ../Doc/library/zoneinfo.rst:103 +msgid "Configuring the data sources" +msgstr "" + +#: ../Doc/library/zoneinfo.rst:105 +msgid "" +"When ``ZoneInfo(key)`` is called, the constructor first searches the " +"directories specified in :data:`TZPATH` for a file matching ``key``, and on " +"failure looks for a match in the tzdata package. This behavior can be " +"configured in three ways:" +msgstr "" + +#: ../Doc/library/zoneinfo.rst:110 +msgid "" +"The default :data:`TZPATH` when not otherwise specified can be configured " +"at :ref:`compile time `." +msgstr "" + +#: ../Doc/library/zoneinfo.rst:112 +msgid "" +":data:`TZPATH` can be configured using :ref:`an environment variable " +"`." +msgstr "" + +#: ../Doc/library/zoneinfo.rst:114 +msgid "" +"At :ref:`runtime `, the search path can be " +"manipulated using the :func:`reset_tzpath` function." +msgstr "" + +#: ../Doc/library/zoneinfo.rst:120 +msgid "Compile-time configuration" +msgstr "" + +#: ../Doc/library/zoneinfo.rst:122 +msgid "" +"The default :data:`TZPATH` includes several common deployment locations for " +"the time zone database (except on Windows, where there are no \"well-known\" " +"locations for time zone data). On POSIX systems, downstream distributors and " +"those building Python from source who know where their system time zone data " +"is deployed may change the default time zone path by specifying the compile-" +"time option ``TZPATH`` (or, more likely, the ``configure`` flag ``--with-" +"tzpath``), which should be a string delimited by :data:`os.pathsep`." +msgstr "" + +#: ../Doc/library/zoneinfo.rst:130 +msgid "" +"On all platforms, the configured value is available as the ``TZPATH`` key " +"in :func:`sysconfig.get_config_var`." +msgstr "" + +#: ../Doc/library/zoneinfo.rst:136 +msgid "Environment configuration" +msgstr "" + +#: ../Doc/library/zoneinfo.rst:138 +msgid "" +"When initializing :data:`TZPATH` (either at import time or whenever :func:" +"`reset_tzpath` is called with no arguments), the ``zoneinfo`` module will " +"use the environment variable ``PYTHONTZPATH``, if it exists, to set the " +"search path." +msgstr "" + +#: ../Doc/library/zoneinfo.rst:145 +msgid "" +"This is an :data:`os.pathsep`-separated string containing the time zone " +"search path to use. It must consist of only absolute rather than relative " +"paths. Relative components specified in ``PYTHONTZPATH`` will not be used, " +"but otherwise the behavior when a relative path is specified is " +"implementation-defined; CPython will raise :exc:`InvalidTZPathWarning`, but " +"other implementations are free to silently ignore the erroneous component or " +"raise an exception." +msgstr "" + +#: ../Doc/library/zoneinfo.rst:153 +msgid "" +"To set the system to ignore the system data and use the tzdata package " +"instead, set ``PYTHONTZPATH=\"\"``." +msgstr "" + +#: ../Doc/library/zoneinfo.rst:159 +msgid "Runtime configuration" +msgstr "" + +#: ../Doc/library/zoneinfo.rst:161 +msgid "" +"The TZ search path can also be configured at runtime using the :func:" +"`reset_tzpath` function. This is generally not an advisable operation, " +"though it is reasonable to use it in test functions that require the use of " +"a specific time zone path (or require disabling access to the system time " +"zones)." +msgstr "" + +#: ../Doc/library/zoneinfo.rst:168 +msgid "The ``ZoneInfo`` class" +msgstr "" + +#: ../Doc/library/zoneinfo.rst:172 +msgid "" +"A concrete :class:`datetime.tzinfo` subclass that represents an IANA time " +"zone specified by the string ``key``. Calls to the primary constructor will " +"always return objects that compare identically; put another way, barring " +"cache invalidation via :meth:`ZoneInfo.clear_cache`, for all values of " +"``key``, the following assertion will always be true:" +msgstr "" + +#: ../Doc/library/zoneinfo.rst:184 +msgid "" +"``key`` must be in the form of a relative, normalized POSIX path, with no up-" +"level references. The constructor will raise :exc:`ValueError` if a non-" +"conforming key is passed." +msgstr "" + +#: ../Doc/library/zoneinfo.rst:188 +msgid "" +"If no file matching ``key`` is found, the constructor will raise :exc:" +"`ZoneInfoNotFoundError`." +msgstr "" + +#: ../Doc/library/zoneinfo.rst:192 +msgid "The ``ZoneInfo`` class has two alternate constructors:" +msgstr "" + +#: ../Doc/library/zoneinfo.rst:196 +msgid "" +"Constructs a ``ZoneInfo`` object from a file-like object returning bytes (e." +"g. a file opened in binary mode or an :class:`io.BytesIO` object). Unlike " +"the primary constructor, this always constructs a new object." +msgstr "" + +#: ../Doc/library/zoneinfo.rst:200 +msgid "" +"The ``key`` parameter sets the name of the zone for the purposes of :py:meth:" +"`~object.__str__` and :py:meth:`~object.__repr__`." +msgstr "" + +#: ../Doc/library/zoneinfo.rst:203 +msgid "" +"Objects created via this constructor cannot be pickled (see `pickling`_)." +msgstr "" + +#: ../Doc/library/zoneinfo.rst:207 +msgid "" +"An alternate constructor that bypasses the constructor's cache. It is " +"identical to the primary constructor, but returns a new object on each call. " +"This is most likely to be useful for testing or demonstration purposes, but " +"it can also be used to create a system with a different cache invalidation " +"strategy." +msgstr "" + +#: ../Doc/library/zoneinfo.rst:213 +msgid "" +"Objects created via this constructor will also bypass the cache of a " +"deserializing process when unpickled." +msgstr "" + +#: ../Doc/library/zoneinfo.rst:220 +msgid "" +"Using this constructor may change the semantics of your datetimes in " +"surprising ways, only use it if you know that you need to." +msgstr "" + +#: ../Doc/library/zoneinfo.rst:223 +msgid "The following class methods are also available:" +msgstr "" + +#: ../Doc/library/zoneinfo.rst:227 +msgid "" +"A method for invalidating the cache on the ``ZoneInfo`` class. If no " +"arguments are passed, all caches are invalidated and the next call to the " +"primary constructor for each key will return a new instance." +msgstr "" + +#: ../Doc/library/zoneinfo.rst:231 +msgid "" +"If an iterable of key names is passed to the ``only_keys`` parameter, only " +"the specified keys will be removed from the cache. Keys passed to " +"``only_keys`` but not found in the cache are ignored." +msgstr "" + +#: ../Doc/library/zoneinfo.rst:239 +msgid "" +"Invoking this function may change the semantics of datetimes using " +"``ZoneInfo`` in surprising ways; this modifies process-wide global state and " +"thus may have wide-ranging effects. Only use it if you know that you need to." +msgstr "" + +#: ../Doc/library/zoneinfo.rst:244 +msgid "The class has one attribute:" +msgstr "" + +#: ../Doc/library/zoneinfo.rst:248 +msgid "" +"This is a read-only :term:`attribute` that returns the value of ``key`` " +"passed to the constructor, which should be a lookup key in the IANA time " +"zone database (e.g. ``America/New_York``, ``Europe/Paris`` or ``Asia/" +"Tokyo``)." +msgstr "" + +#: ../Doc/library/zoneinfo.rst:253 +msgid "" +"For zones constructed from file without specifying a ``key`` parameter, this " +"will be set to ``None``." +msgstr "" + +#: ../Doc/library/zoneinfo.rst:258 +msgid "" +"Although it is a somewhat common practice to expose these to end users, " +"these values are designed to be primary keys for representing the relevant " +"zones and not necessarily user-facing elements. Projects like CLDR (the " +"Unicode Common Locale Data Repository) can be used to get more user-friendly " +"strings from these keys." +msgstr "" + +#: ../Doc/library/zoneinfo.rst:265 +msgid "String representations" +msgstr "" + +#: ../Doc/library/zoneinfo.rst:267 +msgid "" +"The string representation returned when calling :py:class:`str` on a :class:" +"`ZoneInfo` object defaults to using the :attr:`ZoneInfo.key` attribute (see " +"the note on usage in the attribute documentation)::" +msgstr "" + +#: ../Doc/library/zoneinfo.rst:279 +msgid "" +"For objects constructed from a file without specifying a ``key`` parameter, " +"``str`` falls back to calling :func:`repr`. ``ZoneInfo``'s ``repr`` is " +"implementation-defined and not necessarily stable between versions, but it " +"is guaranteed not to be a valid ``ZoneInfo`` key." +msgstr "" + +#: ../Doc/library/zoneinfo.rst:287 +msgid "Pickle serialization" +msgstr "" + +#: ../Doc/library/zoneinfo.rst:289 +msgid "" +"Rather than serializing all transition data, ``ZoneInfo`` objects are " +"serialized by key, and ``ZoneInfo`` objects constructed from files (even " +"those with a value for ``key`` specified) cannot be pickled." +msgstr "" + +#: ../Doc/library/zoneinfo.rst:293 +msgid "The behavior of a ``ZoneInfo`` file depends on how it was constructed:" +msgstr "" + +#: ../Doc/library/zoneinfo.rst:295 +msgid "" +"``ZoneInfo(key)``: When constructed with the primary constructor, a " +"``ZoneInfo`` object is serialized by key, and when deserialized, the " +"deserializing process uses the primary and thus it is expected that these " +"are expected to be the same object as other references to the same time " +"zone. For example, if ``europe_berlin_pkl`` is a string containing a pickle " +"constructed from ``ZoneInfo(\"Europe/Berlin\")``, one would expect the " +"following behavior:" +msgstr "" + +#: ../Doc/library/zoneinfo.rst:310 +msgid "" +"``ZoneInfo.no_cache(key)``: When constructed from the cache-bypassing " +"constructor, the ``ZoneInfo`` object is also serialized by key, but when " +"deserialized, the deserializing process uses the cache bypassing " +"constructor. If ``europe_berlin_pkl_nc`` is a string containing a pickle " +"constructed from ``ZoneInfo.no_cache(\"Europe/Berlin\")``, one would expect " +"the following behavior:" +msgstr "" + +#: ../Doc/library/zoneinfo.rst:324 +msgid "" +"``ZoneInfo.from_file(fobj, /, key=None)``: When constructed from a file, the " +"``ZoneInfo`` object raises an exception on pickling. If an end user wants to " +"pickle a ``ZoneInfo`` constructed from a file, it is recommended that they " +"use a wrapper type or a custom serialization function: either serializing by " +"key or storing the contents of the file object and serializing that." +msgstr "" + +#: ../Doc/library/zoneinfo.rst:330 +msgid "" +"This method of serialization requires that the time zone data for the " +"required key be available on both the serializing and deserializing side, " +"similar to the way that references to classes and functions are expected to " +"exist in both the serializing and deserializing environments. It also means " +"that no guarantees are made about the consistency of results when unpickling " +"a ``ZoneInfo`` pickled in an environment with a different version of the " +"time zone data." +msgstr "" + +#: ../Doc/library/zoneinfo.rst:338 +msgid "Functions" +msgstr "" + +#: ../Doc/library/zoneinfo.rst:342 +msgid "" +"Get a set containing all the valid keys for IANA time zones available " +"anywhere on the time zone path. This is recalculated on every call to the " +"function." +msgstr "" + +#: ../Doc/library/zoneinfo.rst:346 +msgid "" +"This function only includes canonical zone names and does not include " +"\"special\" zones such as those under the ``posix/`` and ``right/`` " +"directories, or the ``posixrules`` zone." +msgstr "" + +#: ../Doc/library/zoneinfo.rst:352 +msgid "" +"This function may open a large number of files, as the best way to determine " +"if a file on the time zone path is a valid time zone is to read the \"magic " +"string\" at the beginning." +msgstr "" + +#: ../Doc/library/zoneinfo.rst:358 +msgid "" +"These values are not designed to be exposed to end-users; for user facing " +"elements, applications should use something like CLDR (the Unicode Common " +"Locale Data Repository) to get more user-friendly strings. See also the " +"cautionary note on :attr:`ZoneInfo.key`." +msgstr "" + +#: ../Doc/library/zoneinfo.rst:365 +msgid "" +"Sets or resets the time zone search path (:data:`TZPATH`) for the module. " +"When called with no arguments, :data:`TZPATH` is set to the default value." +msgstr "" + +#: ../Doc/library/zoneinfo.rst:368 +msgid "" +"Calling ``reset_tzpath`` will not invalidate the :class:`ZoneInfo` cache, " +"and so calls to the primary ``ZoneInfo`` constructor will only use the new " +"``TZPATH`` in the case of a cache miss." +msgstr "" + +#: ../Doc/library/zoneinfo.rst:372 +msgid "" +"The ``to`` parameter must be a :term:`sequence` of strings or :class:`os." +"PathLike` and not a string, all of which must be absolute paths. :exc:" +"`ValueError` will be raised if something other than an absolute path is " +"passed." +msgstr "" + +#: ../Doc/library/zoneinfo.rst:378 +msgid "Globals" +msgstr "" + +#: ../Doc/library/zoneinfo.rst:382 +msgid "" +"A read-only sequence representing the time zone search path -- when " +"constructing a ``ZoneInfo`` from a key, the key is joined to each entry in " +"the ``TZPATH``, and the first file found is used." +msgstr "" + +#: ../Doc/library/zoneinfo.rst:386 +msgid "" +"``TZPATH`` may contain only absolute paths, never relative paths, regardless " +"of how it is configured." +msgstr "" + +#: ../Doc/library/zoneinfo.rst:389 +msgid "" +"The object that ``zoneinfo.TZPATH`` points to may change in response to a " +"call to :func:`reset_tzpath`, so it is recommended to use ``zoneinfo." +"TZPATH`` rather than importing ``TZPATH`` from ``zoneinfo`` or assigning a " +"long-lived variable to ``zoneinfo.TZPATH``." +msgstr "" + +#: ../Doc/library/zoneinfo.rst:394 +msgid "" +"For more information on configuring the time zone search path, see :ref:" +"`zoneinfo_data_configuration`." +msgstr "" + +#: ../Doc/library/zoneinfo.rst:398 +msgid "Exceptions and warnings" +msgstr "" + +#: ../Doc/library/zoneinfo.rst:402 +msgid "" +"Raised when construction of a :class:`ZoneInfo` object fails because the " +"specified key could not be found on the system. This is a subclass of :exc:" +"`KeyError`." +msgstr "" + +#: ../Doc/library/zoneinfo.rst:408 +msgid "" +"Raised when :envvar:`PYTHONTZPATH` contains an invalid component that will " +"be filtered out, such as a relative path." +msgstr "" diff --git a/license.po b/license.po index b79432cb86..e75da44ca5 100644 --- a/license.po +++ b/license.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: python-doc-es\n" @@ -218,134 +218,158 @@ msgstr "" msgid "Terms and conditions for accessing or otherwise using Python" msgstr "" -#: ../Doc/license.rst:77 +#: ../Doc/license.rst:75 +msgid "" +"Python software and documentation are licensed under the :ref:`PSF License " +"Agreement `." +msgstr "" + +#: ../Doc/license.rst:78 +msgid "" +"Starting with Python 3.8.6, examples, recipes, and other code in the " +"documentation are dual licensed under the PSF License Agreement and the :ref:" +"`Zero-Clause BSD license `." +msgstr "" + +#: ../Doc/license.rst:82 +msgid "" +"Some software incorporated into Python is under different licenses. The " +"licenses are listed with code falling under that license. See :ref:" +"`OtherLicenses` for an incomplete list of these licenses." +msgstr "" + +#: ../Doc/license.rst:90 msgid "PSF LICENSE AGREEMENT FOR PYTHON |release|" msgstr "" -#: ../Doc/license.rst:125 +#: ../Doc/license.rst:138 msgid "BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0" msgstr "" -#: ../Doc/license.rst:127 +#: ../Doc/license.rst:140 msgid "BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1" msgstr "" -#: ../Doc/license.rst:172 +#: ../Doc/license.rst:185 msgid "CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1" msgstr "" -#: ../Doc/license.rst:237 +#: ../Doc/license.rst:250 msgid "CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2" msgstr "" -#: ../Doc/license.rst:262 +#: ../Doc/license.rst:277 +msgid "ZERO-CLAUSE BSD LICENSE FOR CODE IN THE PYTHON |release| DOCUMENTATION" +msgstr "" + +#: ../Doc/license.rst:296 msgid "Licenses and Acknowledgements for Incorporated Software" msgstr "" -#: ../Doc/license.rst:264 +#: ../Doc/license.rst:298 msgid "" "This section is an incomplete, but growing list of licenses and " "acknowledgements for third-party software incorporated in the Python " "distribution." msgstr "" -#: ../Doc/license.rst:269 +#: ../Doc/license.rst:303 msgid "Mersenne Twister" msgstr "" -#: ../Doc/license.rst:271 +#: ../Doc/license.rst:305 msgid "" "The :mod:`_random` module includes code based on a download from http://www." "math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/emt19937ar.html. The following " "are the verbatim comments from the original code::" msgstr "" -#: ../Doc/license.rst:318 +#: ../Doc/license.rst:352 msgid "Sockets" msgstr "" -#: ../Doc/license.rst:320 +#: ../Doc/license.rst:354 msgid "" "The :mod:`socket` module uses the functions, :func:`getaddrinfo`, and :func:" "`getnameinfo`, which are coded in separate source files from the WIDE " "Project, http://www.wide.ad.jp/. ::" msgstr "" -#: ../Doc/license.rst:353 +#: ../Doc/license.rst:387 msgid "Asynchronous socket services" msgstr "" -#: ../Doc/license.rst:355 +#: ../Doc/license.rst:389 msgid "" "The :mod:`asynchat` and :mod:`asyncore` modules contain the following " "notice::" msgstr "" -#: ../Doc/license.rst:380 +#: ../Doc/license.rst:414 msgid "Cookie management" msgstr "" -#: ../Doc/license.rst:382 +#: ../Doc/license.rst:416 msgid "The :mod:`http.cookies` module contains the following notice::" msgstr "" -#: ../Doc/license.rst:408 +#: ../Doc/license.rst:442 msgid "Execution tracing" msgstr "" -#: ../Doc/license.rst:410 +#: ../Doc/license.rst:444 msgid "The :mod:`trace` module contains the following notice::" msgstr "" -#: ../Doc/license.rst:441 +#: ../Doc/license.rst:475 msgid "UUencode and UUdecode functions" msgstr "" -#: ../Doc/license.rst:443 +#: ../Doc/license.rst:477 msgid "The :mod:`uu` module contains the following notice::" msgstr "" -#: ../Doc/license.rst:471 +#: ../Doc/license.rst:505 msgid "XML Remote Procedure Calls" msgstr "" -#: ../Doc/license.rst:473 +#: ../Doc/license.rst:507 msgid "The :mod:`xmlrpc.client` module contains the following notice::" msgstr "" -#: ../Doc/license.rst:504 +#: ../Doc/license.rst:538 msgid "test_epoll" msgstr "" -#: ../Doc/license.rst:506 +#: ../Doc/license.rst:540 msgid "The :mod:`test_epoll` module contains the following notice::" msgstr "" -#: ../Doc/license.rst:530 +#: ../Doc/license.rst:564 msgid "Select kqueue" msgstr "" -#: ../Doc/license.rst:532 +#: ../Doc/license.rst:566 msgid "" "The :mod:`select` module contains the following notice for the kqueue " "interface::" msgstr "" -#: ../Doc/license.rst:561 +#: ../Doc/license.rst:595 msgid "SipHash24" msgstr "" -#: ../Doc/license.rst:563 +#: ../Doc/license.rst:597 msgid "" "The file :file:`Python/pyhash.c` contains Marek Majkowski' implementation of " "Dan Bernstein's SipHash24 algorithm. It contains the following note::" msgstr "" -#: ../Doc/license.rst:590 +#: ../Doc/license.rst:624 msgid "strtod and dtoa" msgstr "" -#: ../Doc/license.rst:592 +#: ../Doc/license.rst:626 msgid "" "The file :file:`Python/dtoa.c`, which supplies C functions dtoa and strtod " "for conversion of C doubles to and from strings, is derived from the file of " @@ -354,11 +378,11 @@ msgid "" "following copyright and licensing notice::" msgstr "" -#: ../Doc/license.rst:620 +#: ../Doc/license.rst:654 msgid "OpenSSL" msgstr "" -#: ../Doc/license.rst:622 +#: ../Doc/license.rst:656 msgid "" "The modules :mod:`hashlib`, :mod:`posix`, :mod:`ssl`, :mod:`crypt` use the " "OpenSSL library for added performance if made available by the operating " @@ -367,100 +391,100 @@ msgid "" "license here::" msgstr "" -#: ../Doc/license.rst:757 +#: ../Doc/license.rst:791 msgid "expat" msgstr "" -#: ../Doc/license.rst:759 +#: ../Doc/license.rst:793 msgid "" "The :mod:`pyexpat` extension is built using an included copy of the expat " "sources unless the build is configured ``--with-system-expat``::" msgstr "" -#: ../Doc/license.rst:786 +#: ../Doc/license.rst:820 msgid "libffi" msgstr "" -#: ../Doc/license.rst:788 +#: ../Doc/license.rst:822 msgid "" "The :mod:`_ctypes` extension is built using an included copy of the libffi " "sources unless the build is configured ``--with-system-libffi``::" msgstr "" -#: ../Doc/license.rst:815 +#: ../Doc/license.rst:849 msgid "zlib" msgstr "" -#: ../Doc/license.rst:817 +#: ../Doc/license.rst:851 msgid "" "The :mod:`zlib` extension is built using an included copy of the zlib " "sources if the zlib version found on the system is too old to be used for " "the build::" msgstr "" -#: ../Doc/license.rst:846 +#: ../Doc/license.rst:880 msgid "cfuhash" msgstr "" -#: ../Doc/license.rst:848 +#: ../Doc/license.rst:882 msgid "" "The implementation of the hash table used by the :mod:`tracemalloc` is based " "on the cfuhash project::" msgstr "" -#: ../Doc/license.rst:887 +#: ../Doc/license.rst:921 msgid "libmpdec" msgstr "" -#: ../Doc/license.rst:889 +#: ../Doc/license.rst:923 msgid "" "The :mod:`_decimal` module is built using an included copy of the libmpdec " "library unless the build is configured ``--with-system-libmpdec``::" msgstr "" -#: ../Doc/license.rst:919 +#: ../Doc/license.rst:953 msgid "W3C C14N test suite" msgstr "" -#: ../Doc/license.rst:921 +#: ../Doc/license.rst:955 msgid "" "The C14N 2.0 test suite in the :mod:`test` package (``Lib/test/xmltestdata/" "c14n-20/``) was retrieved from the W3C website at https://www.w3.org/TR/xml-" "c14n2-testcases/ and is distributed under the 3-clause BSD license:" msgstr "" -#: ../Doc/license.rst:926 +#: ../Doc/license.rst:960 msgid "" "Copyright (c) 2013 W3C(R) (MIT, ERCIM, Keio, Beihang), All Rights Reserved." msgstr "" -#: ../Doc/license.rst:929 +#: ../Doc/license.rst:963 msgid "" "Redistribution and use in source and binary forms, with or without " "modification, are permitted provided that the following conditions are met:" msgstr "" -#: ../Doc/license.rst:933 +#: ../Doc/license.rst:967 msgid "" "Redistributions of works must retain the original copyright notice, this " "list of conditions and the following disclaimer." msgstr "" -#: ../Doc/license.rst:935 +#: ../Doc/license.rst:969 msgid "" "Redistributions in binary form must reproduce the original copyright notice, " "this list of conditions and the following disclaimer in the documentation " "and/or other materials provided with the distribution." msgstr "" -#: ../Doc/license.rst:938 +#: ../Doc/license.rst:972 msgid "" "Neither the name of the W3C nor the names of its contributors may be used to " "endorse or promote products derived from this work without specific prior " "written permission." msgstr "" -#: ../Doc/license.rst:942 +#: ../Doc/license.rst:976 msgid "" "THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS" "\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE " diff --git a/reference/compound_stmts.po b/reference/compound_stmts.po index 399a99b0d7..a5e1a9c83f 100644 --- a/reference/compound_stmts.po +++ b/reference/compound_stmts.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-07-05 14:52-0300\n" +"Last-Translator: \n" +"Language: es_AR\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es_AR\n" -"X-Generator: Poedit 2.2.1\n" #: ../Doc/reference/compound_stmts.rst:5 msgid "Compound statements" @@ -97,7 +96,7 @@ msgstr "" msgid "Summarizing:" msgstr "Resumiendo:" -#: ../Doc/reference/compound_stmts.rst:67 +#: ../Doc/reference/compound_stmts.rst:68 msgid "" "Note that statements always end in a ``NEWLINE`` possibly followed by a " "``DEDENT``. Also note that optional continuation clauses always begin with " @@ -112,7 +111,7 @@ msgstr "" "problema de 'colgado :keyword:`if`' se resuelve en Python al requerir que " "las sentencias anidadas :keyword:`if` deben estar indentadas)." -#: ../Doc/reference/compound_stmts.rst:73 +#: ../Doc/reference/compound_stmts.rst:74 msgid "" "The formatting of the grammar rules in the following sections places each " "clause on a separate line for clarity." @@ -120,15 +119,15 @@ msgstr "" "El formato de las reglas gramaticales en las siguientes secciones coloca " "cada cláusula en una línea separada para mayor claridad." -#: ../Doc/reference/compound_stmts.rst:82 +#: ../Doc/reference/compound_stmts.rst:83 msgid "The :keyword:`!if` statement" msgstr "La sentencia :keyword:`!if`" -#: ../Doc/reference/compound_stmts.rst:90 +#: ../Doc/reference/compound_stmts.rst:91 msgid "The :keyword:`if` statement is used for conditional execution:" msgstr "La sentencia :keyword:`if` se usa para la ejecución condicional:" -#: ../Doc/reference/compound_stmts.rst:97 +#: ../Doc/reference/compound_stmts.rst:98 msgid "" "It selects exactly one of the suites by evaluating the expressions one by " "one until one is found to be true (see section :ref:`booleans` for the " @@ -144,11 +143,11 @@ msgstr "" "todas las expresiones son falsas, se ejecuta la suite de cláusulas :keyword:" "`else`, si está presente." -#: ../Doc/reference/compound_stmts.rst:107 +#: ../Doc/reference/compound_stmts.rst:108 msgid "The :keyword:`!while` statement" msgstr "La sentencia :keyword:`!while`" -#: ../Doc/reference/compound_stmts.rst:115 +#: ../Doc/reference/compound_stmts.rst:116 msgid "" "The :keyword:`while` statement is used for repeated execution as long as an " "expression is true:" @@ -156,7 +155,7 @@ msgstr "" "La sentencia :keyword:`while` se usa para la ejecución repetida siempre que " "una expresión sea verdadera:" -#: ../Doc/reference/compound_stmts.rst:122 +#: ../Doc/reference/compound_stmts.rst:123 msgid "" "This repeatedly tests the expression and, if it is true, executes the first " "suite; if the expression is false (which may be the first time it is tested) " @@ -168,7 +167,7 @@ msgstr "" "prueba), se ejecuta el conjunto de cláusulas :keyword:`!else`, si está " "presente, y el bucle termina." -#: ../Doc/reference/compound_stmts.rst:131 +#: ../Doc/reference/compound_stmts.rst:132 msgid "" "A :keyword:`break` statement executed in the first suite terminates the loop " "without executing the :keyword:`!else` clause's suite. A :keyword:" @@ -180,11 +179,11 @@ msgstr "" "`continue` ejecutada en la primera suite omite el resto de la suite y vuelve " "a probar la expresión." -#: ../Doc/reference/compound_stmts.rst:140 +#: ../Doc/reference/compound_stmts.rst:141 msgid "The :keyword:`!for` statement" msgstr "La sentencia :keyword:`!for`" -#: ../Doc/reference/compound_stmts.rst:151 +#: ../Doc/reference/compound_stmts.rst:152 msgid "" "The :keyword:`for` statement is used to iterate over the elements of a " "sequence (such as a string, tuple or list) or other iterable object:" @@ -193,7 +192,7 @@ msgstr "" "secuencia (como una cadena de caracteres, tupla o lista) u otro objeto " "iterable:" -#: ../Doc/reference/compound_stmts.rst:158 +#: ../Doc/reference/compound_stmts.rst:159 msgid "" "The expression list is evaluated once; it should yield an iterable object. " "An iterator is created for the result of the ``expression_list``. The suite " @@ -215,7 +214,7 @@ msgstr "" "genera una excepción del tipo :exc:`StopIteration`), la suite en la " "cláusula :keyword:`!else`, si está presente, se ejecuta y el bucle termina." -#: ../Doc/reference/compound_stmts.rst:171 +#: ../Doc/reference/compound_stmts.rst:172 msgid "" "A :keyword:`break` statement executed in the first suite terminates the loop " "without executing the :keyword:`!else` clause's suite. A :keyword:" @@ -229,7 +228,7 @@ msgstr "" "cláusulas y continúa con el siguiente elemento, o con la cláusula :keyword:`!" "else` si no hay un elemento siguiente." -#: ../Doc/reference/compound_stmts.rst:177 +#: ../Doc/reference/compound_stmts.rst:178 msgid "" "The for-loop makes assignments to the variables in the target list. This " "overwrites all previous assignments to those variables including those made " @@ -239,7 +238,7 @@ msgstr "" "sobrescribe todas las asignaciones anteriores a esas variables, incluidas " "las realizadas en la suite del bucle ``for``::" -#: ../Doc/reference/compound_stmts.rst:191 +#: ../Doc/reference/compound_stmts.rst:192 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 " @@ -253,7 +252,7 @@ msgstr "" "para emular el efecto de Pascal ``for i := a to b do``; por ejemplo, " "``list(range(3))`` retorna la lista ``[0, 1, 2]``." -#: ../Doc/reference/compound_stmts.rst:203 +#: ../Doc/reference/compound_stmts.rst:204 msgid "" "There is a subtlety when the sequence is being modified by the loop (this " "can only occur for mutable sequences, e.g. lists). An internal counter is " @@ -280,11 +279,11 @@ msgstr "" "conducir a errores graves que se pueden evitar haciendo una copia temporal " "usando una porción de la secuencia completa, por ejemplo, ::" -#: ../Doc/reference/compound_stmts.rst:224 +#: ../Doc/reference/compound_stmts.rst:225 msgid "The :keyword:`!try` statement" msgstr "La sentencia :keyword:`!try`" -#: ../Doc/reference/compound_stmts.rst:234 +#: ../Doc/reference/compound_stmts.rst:235 msgid "" "The :keyword:`try` statement specifies exception handlers and/or cleanup " "code for a group of statements:" @@ -292,7 +291,8 @@ msgstr "" "La sentencia :keyword:`try` es especifica para gestionar excepciones o " "código de limpieza para un grupo de sentencias:" -#: ../Doc/reference/compound_stmts.rst:247 +#: ../Doc/reference/compound_stmts.rst:248 +#, fuzzy msgid "" "The :keyword:`except` clause(s) specify one or more exception handlers. When " "no exception occurs in the :keyword:`try` clause, no exception handler is " @@ -303,8 +303,9 @@ msgid "" "exception. For an except clause with an expression, that expression is " "evaluated, and the clause matches the exception if the resulting object is " "\"compatible\" with the exception. An object is compatible with an " -"exception if it is the class or a base class of the exception object or a " -"tuple containing an item compatible with the exception." +"exception if it is the class or a base class of the exception object, or a " +"tuple containing an item that is the class or a base class of the exception " +"object." msgstr "" "La/s cláusula/s :keyword:`except` especifican uno o más gestores de " "excepciones. Cuando no se produce ninguna excepción en la cláusula :keyword:" @@ -319,7 +320,7 @@ msgstr "" "una excepción si es la clase o una clase base del objeto de excepción o una " "tupla que contiene un elemento compatible con la excepción." -#: ../Doc/reference/compound_stmts.rst:258 +#: ../Doc/reference/compound_stmts.rst:260 msgid "" "If no except clause matches the exception, the search for an exception " "handler continues in the surrounding code and on the invocation stack. [#]_" @@ -328,7 +329,7 @@ msgstr "" "gestor de excepciones continúa en el código circundante y en la pila de " "invocación. [#]_" -#: ../Doc/reference/compound_stmts.rst:261 +#: ../Doc/reference/compound_stmts.rst:263 msgid "" "If the evaluation of an expression in the header of an except clause raises " "an exception, the original search for a handler is canceled and a search " @@ -342,7 +343,7 @@ msgstr "" "circundante y en la pila de llamadas (se trata como si toda la sentencia :" "keyword:`try` provocó la excepción)." -#: ../Doc/reference/compound_stmts.rst:268 +#: ../Doc/reference/compound_stmts.rst:270 msgid "" "When a matching except clause is found, the exception is assigned to the " "target specified after the :keyword:`!as` keyword in that except clause, if " @@ -363,7 +364,7 @@ msgstr "" "ocurre en la cláusula ``try`` del gestor interno, el gestor externo no " "gestionará la excepción)." -#: ../Doc/reference/compound_stmts.rst:276 +#: ../Doc/reference/compound_stmts.rst:278 msgid "" "When an exception has been assigned using ``as target``, it is cleared at " "the end of the except clause. This is as if ::" @@ -371,11 +372,11 @@ msgstr "" "Cuando se ha asignado una excepción usando ``as target``, se borra al final " "de la cláusula ``except``. Esto es como si ::" -#: ../Doc/reference/compound_stmts.rst:282 +#: ../Doc/reference/compound_stmts.rst:284 msgid "was translated to ::" msgstr "fue traducido a ::" -#: ../Doc/reference/compound_stmts.rst:290 +#: ../Doc/reference/compound_stmts.rst:292 msgid "" "This means the exception must be assigned to a different name to be able to " "refer to it after the except clause. Exceptions are cleared because with " @@ -389,7 +390,7 @@ msgstr "" "referencia con el marco de la pila, manteniendo activos todos los locales en " "esa pila hasta que ocurra la próxima recolección de basura." -#: ../Doc/reference/compound_stmts.rst:299 +#: ../Doc/reference/compound_stmts.rst:301 msgid "" "Before an except clause's suite is executed, details about the exception are " "stored in the :mod:`sys` module and can be accessed via :func:`sys." @@ -408,7 +409,7 @@ msgstr "" "sus valores anteriores (antes de la llamada) al regresar de una función que " "manejó una excepción." -#: ../Doc/reference/compound_stmts.rst:313 +#: ../Doc/reference/compound_stmts.rst:315 msgid "" "The optional :keyword:`!else` clause is executed if the control flow leaves " "the :keyword:`try` suite, no exception was raised, and no :keyword:" @@ -422,7 +423,7 @@ msgstr "" "excepciones en la cláusula :keyword:`!else` no se gestionaron con las " "cláusulas precedentes :keyword:`except`." -#: ../Doc/reference/compound_stmts.rst:321 +#: ../Doc/reference/compound_stmts.rst:323 msgid "" "If :keyword:`finally` is present, it specifies a 'cleanup' handler. The :" "keyword:`try` clause is executed, including any :keyword:`except` and :" @@ -446,7 +447,7 @@ msgstr "" "la cláusula :keyword:`!finally` ejecuta una sentencia :keyword:`return`, :" "keyword:`break` o :keyword:`continue`, la excepción guardada se descarta::" -#: ../Doc/reference/compound_stmts.rst:340 +#: ../Doc/reference/compound_stmts.rst:342 msgid "" "The exception information is not available to the program during execution " "of the :keyword:`finally` clause." @@ -454,7 +455,7 @@ msgstr "" "La información de excepción no está disponible para el programa durante la " "ejecución de la cláusula :keyword:`finally`." -#: ../Doc/reference/compound_stmts.rst:348 +#: ../Doc/reference/compound_stmts.rst:350 msgid "" "When a :keyword:`return`, :keyword:`break` or :keyword:`continue` statement " "is executed in the :keyword:`try` suite of a :keyword:`!try`...\\ :keyword:`!" @@ -466,7 +467,7 @@ msgstr "" "sentencia :keyword:`!finally`, la cláusula :keyword:`finally` también se " "ejecuta 'al salir'." -#: ../Doc/reference/compound_stmts.rst:352 +#: ../Doc/reference/compound_stmts.rst:354 msgid "" "The return value of a function is determined by the last :keyword:`return` " "statement executed. Since the :keyword:`finally` clause always executes, a :" @@ -478,7 +479,7 @@ msgstr "" "se ejecuta, una sentencia :keyword:`!return` ejecutada en la cláusula :" "keyword:`!finally` siempre será la última ejecutada::" -#: ../Doc/reference/compound_stmts.rst:366 +#: ../Doc/reference/compound_stmts.rst:368 msgid "" "Additional information on exceptions can be found in section :ref:" "`exceptions`, and information on using the :keyword:`raise` statement to " @@ -489,7 +490,7 @@ msgstr "" "keyword:`raise`, para generar excepciones se puede encontrar en la sección :" "ref:`raise`." -#: ../Doc/reference/compound_stmts.rst:370 +#: ../Doc/reference/compound_stmts.rst:372 msgid "" "Prior to Python 3.8, a :keyword:`continue` statement was illegal in the :" "keyword:`finally` clause due to a problem with the implementation." @@ -497,11 +498,11 @@ msgstr "" "Antes de Python 3.8, una sentencia :keyword:`continue` era ilegal en la " "cláusula :keyword:`finally` debido a un problema con la implementación." -#: ../Doc/reference/compound_stmts.rst:379 +#: ../Doc/reference/compound_stmts.rst:381 msgid "The :keyword:`!with` statement" msgstr "La sentencia :keyword:`!with`" -#: ../Doc/reference/compound_stmts.rst:388 +#: ../Doc/reference/compound_stmts.rst:390 msgid "" "The :keyword:`with` statement is used to wrap the execution of a block with " "methods defined by a context manager (see section :ref:`context-managers`). " @@ -514,7 +515,7 @@ msgstr "" "`try`...\\ :keyword:`except`...\\ :keyword:`finally` se encapsulen para una " "reutilización conveniente." -#: ../Doc/reference/compound_stmts.rst:397 +#: ../Doc/reference/compound_stmts.rst:399 msgid "" "The execution of the :keyword:`with` statement with one \"item\" proceeds as " "follows:" @@ -522,7 +523,7 @@ msgstr "" "La ejecución de la sentencia :keyword:`with` con un \"item\" se realiza de " "la siguiente manera:" -#: ../Doc/reference/compound_stmts.rst:399 +#: ../Doc/reference/compound_stmts.rst:401 msgid "" "The context expression (the expression given in the :token:`with_item`) is " "evaluated to obtain a context manager." @@ -530,22 +531,22 @@ msgstr "" "La expresión de contexto (la expresión dada en :token:`with_item`) se evalúa " "para obtener un administrador de contexto." -#: ../Doc/reference/compound_stmts.rst:402 +#: ../Doc/reference/compound_stmts.rst:404 msgid "The context manager's :meth:`__enter__` is loaded for later use." msgstr "" "El administrador de contexto :meth:`__enter__` se carga para su uso " "posterior." -#: ../Doc/reference/compound_stmts.rst:404 +#: ../Doc/reference/compound_stmts.rst:406 msgid "The context manager's :meth:`__exit__` is loaded for later use." msgstr "" "El administrador de contexto :meth:`__exit__` se carga para su uso posterior." -#: ../Doc/reference/compound_stmts.rst:406 +#: ../Doc/reference/compound_stmts.rst:408 msgid "The context manager's :meth:`__enter__` method is invoked." msgstr "Se invoca el método del administrador de contexto :meth:`__enter__`." -#: ../Doc/reference/compound_stmts.rst:408 +#: ../Doc/reference/compound_stmts.rst:410 msgid "" "If a target was included in the :keyword:`with` statement, the return value " "from :meth:`__enter__` is assigned to it." @@ -553,7 +554,7 @@ msgstr "" "Si se incluyó el destino en la sentencia :keyword:`with`, se le asigna el " "valor de retorno de :meth:`__enter__`." -#: ../Doc/reference/compound_stmts.rst:413 +#: ../Doc/reference/compound_stmts.rst:415 msgid "" "The :keyword:`with` statement guarantees that if the :meth:`__enter__` " "method returns without an error, then :meth:`__exit__` will always be " @@ -567,11 +568,11 @@ msgstr "" "se tratará de la misma manera que si se produciría un error dentro de la " "suite. Vea el paso 6 a continuación." -#: ../Doc/reference/compound_stmts.rst:419 +#: ../Doc/reference/compound_stmts.rst:421 msgid "The suite is executed." msgstr "La suite se ejecuta." -#: ../Doc/reference/compound_stmts.rst:421 +#: ../Doc/reference/compound_stmts.rst:423 msgid "" "The context manager's :meth:`__exit__` method is invoked. If an exception " "caused the suite to be exited, its type, value, and traceback are passed as " @@ -583,7 +584,7 @@ msgstr "" "como argumentos a :meth:`__exit__`. De lo contrario, se proporcionan tres " "argumentos :const:`None`." -#: ../Doc/reference/compound_stmts.rst:426 +#: ../Doc/reference/compound_stmts.rst:428 msgid "" "If the suite was exited due to an exception, and the return value from the :" "meth:`__exit__` method was false, the exception is reraised. If the return " @@ -595,7 +596,7 @@ msgstr "" "valor de retorno era verdadero, la excepción se suprime y la ejecución " "continúa con la sentencia que sigue a la sentencia :keyword:`with`." -#: ../Doc/reference/compound_stmts.rst:431 +#: ../Doc/reference/compound_stmts.rst:433 msgid "" "If the suite was exited for any reason other than an exception, the return " "value from :meth:`__exit__` is ignored, and execution proceeds at the normal " @@ -605,19 +606,19 @@ msgstr "" "valor de retorno de :meth:`__exit__` se ignora y la ejecución continúa en la " "ubicación normal para el tipo de salida que se tomó." -#: ../Doc/reference/compound_stmts.rst:435 -#: ../Doc/reference/compound_stmts.rst:798 -#: ../Doc/reference/compound_stmts.rst:839 +#: ../Doc/reference/compound_stmts.rst:437 +#: ../Doc/reference/compound_stmts.rst:810 +#: ../Doc/reference/compound_stmts.rst:851 msgid "The following code::" msgstr "El siguiente código::" -#: ../Doc/reference/compound_stmts.rst:440 -#: ../Doc/reference/compound_stmts.rst:465 -#: ../Doc/reference/compound_stmts.rst:844 +#: ../Doc/reference/compound_stmts.rst:442 +#: ../Doc/reference/compound_stmts.rst:467 +#: ../Doc/reference/compound_stmts.rst:856 msgid "is semantically equivalent to::" msgstr "es semánticamente equivalente a::" -#: ../Doc/reference/compound_stmts.rst:459 +#: ../Doc/reference/compound_stmts.rst:461 msgid "" "With more than one item, the context managers are processed as if multiple :" "keyword:`with` statements were nested::" @@ -625,15 +626,15 @@ msgstr "" "Con más de un elemento, los administradores de contexto se procesan como si " "varias sentencias :keyword:`with` estuvieran anidadas::" -#: ../Doc/reference/compound_stmts.rst:471 +#: ../Doc/reference/compound_stmts.rst:473 msgid "Support for multiple context expressions." msgstr "Soporte para múltiples expresiones de contexto." -#: ../Doc/reference/compound_stmts.rst:477 +#: ../Doc/reference/compound_stmts.rst:479 msgid ":pep:`343` - The \"with\" statement" msgstr ":pep:`343` - La sentencia \"with\"" -#: ../Doc/reference/compound_stmts.rst:477 +#: ../Doc/reference/compound_stmts.rst:479 msgid "" "The specification, background, and examples for the Python :keyword:`with` " "statement." @@ -641,11 +642,11 @@ msgstr "" "La especificación, antecedentes y ejemplos de la sentencia de Python :" "keyword:`with`." -#: ../Doc/reference/compound_stmts.rst:488 +#: ../Doc/reference/compound_stmts.rst:490 msgid "Function definitions" msgstr "Definiciones de funciones" -#: ../Doc/reference/compound_stmts.rst:503 +#: ../Doc/reference/compound_stmts.rst:505 msgid "" "A function definition defines a user-defined function object (see section :" "ref:`types`):" @@ -653,7 +654,7 @@ msgstr "" "Una definición de función define una función objeto determinada por el " "usuario (consulte la sección :ref:`types`):" -#: ../Doc/reference/compound_stmts.rst:523 +#: ../Doc/reference/compound_stmts.rst:525 msgid "" "A function definition is an executable statement. Its execution binds the " "function name in the current local namespace to a function object (a wrapper " @@ -668,7 +669,7 @@ msgstr "" "actual como el espacio de nombres global que se utilizará cuando se llama a " "la función." -#: ../Doc/reference/compound_stmts.rst:529 +#: ../Doc/reference/compound_stmts.rst:531 msgid "" "The function definition does not execute the function body; this gets " "executed only when the function is called. [#]_" @@ -676,7 +677,7 @@ msgstr "" "La definición de la función no ejecuta el cuerpo de la función; esto se " "ejecuta solo cuando se llama a la función. [#]_" -#: ../Doc/reference/compound_stmts.rst:535 +#: ../Doc/reference/compound_stmts.rst:537 msgid "" "A function definition may be wrapped by one or more :term:`decorator` " "expressions. Decorator expressions are evaluated when the function is " @@ -694,12 +695,12 @@ msgstr "" "función en lugar del objeto de la función. Se aplican múltiples decoradores " "de forma anidada. Por ejemplo, el siguiente código ::" -#: ../Doc/reference/compound_stmts.rst:546 -#: ../Doc/reference/compound_stmts.rst:712 +#: ../Doc/reference/compound_stmts.rst:548 +#: ../Doc/reference/compound_stmts.rst:719 msgid "is roughly equivalent to ::" msgstr "es más o menos equivalente a ::" -#: ../Doc/reference/compound_stmts.rst:551 +#: ../Doc/reference/compound_stmts.rst:553 msgid "" "except that the original function is not temporarily bound to the name " "``func``." @@ -707,7 +708,14 @@ msgstr "" "excepto que la función original no está vinculada temporalmente al nombre " "``func``." -#: ../Doc/reference/compound_stmts.rst:558 +#: ../Doc/reference/compound_stmts.rst:555 +msgid "" +"Functions may be decorated with any valid :token:`assignment_expression`. " +"Previously, the grammar was much more restrictive; see :pep:`614` for " +"details." +msgstr "" + +#: ../Doc/reference/compound_stmts.rst:565 msgid "" "When one or more :term:`parameters ` have the form *parameter* " "``=`` *expression*, the function is said to have \"default parameter values." @@ -726,7 +734,7 @@ msgstr "" "\"``*``\" también deben tener un valor predeterminado --- esta es una " "restricción sintáctica que la gramática no expresa." -#: ../Doc/reference/compound_stmts.rst:566 +#: ../Doc/reference/compound_stmts.rst:573 msgid "" "**Default parameter values are evaluated from left to right when the " "function definition is executed.** This means that the expression is " @@ -750,7 +758,7 @@ msgstr "" "predeterminado y probarlo explícitamente en el cuerpo de la función, por " "ejemplo:" -#: ../Doc/reference/compound_stmts.rst:586 +#: ../Doc/reference/compound_stmts.rst:593 msgid "" "Function call semantics are described in more detail in section :ref:" "`calls`. A function call always assigns values to all parameters mentioned " @@ -776,7 +784,7 @@ msgstr "" "\" son parámetros solo por palabra clave y solo pueden pasarse con " "argumentos de palabras claves usadas." -#: ../Doc/reference/compound_stmts.rst:602 +#: ../Doc/reference/compound_stmts.rst:609 msgid "" "Parameters may have an :term:`annotation ` of the form " "\"``: expression``\" following the parameter name. Any parameter may have " @@ -807,7 +815,7 @@ msgstr "" "definición de la función. En este caso, las anotaciones pueden evaluarse en " "un orden diferente al que aparecen en el código fuente." -#: ../Doc/reference/compound_stmts.rst:617 +#: ../Doc/reference/compound_stmts.rst:624 msgid "" "It is also possible to create anonymous functions (functions not bound to a " "name), for immediate use in expressions. This uses lambda expressions, " @@ -827,7 +835,7 @@ msgstr "" "expresión lambda. La forma \":keyword:`!def`\" es en realidad más poderosa " "ya que permite la ejecución de múltiples sentencias y anotaciones." -#: ../Doc/reference/compound_stmts.rst:625 +#: ../Doc/reference/compound_stmts.rst:632 msgid "" "**Programmer's note:** Functions are first-class objects. A \"``def``\" " "statement executed inside a function definition defines a local function " @@ -842,28 +850,28 @@ msgstr "" "la función que contiene el def. Vea la sección :ref:`naming` para más " "detalles." -#: ../Doc/reference/compound_stmts.rst:634 +#: ../Doc/reference/compound_stmts.rst:641 msgid ":pep:`3107` - Function Annotations" msgstr ":pep:`3107` - Anotaciones de funciones" -#: ../Doc/reference/compound_stmts.rst:634 +#: ../Doc/reference/compound_stmts.rst:641 msgid "The original specification for function annotations." msgstr "La especificación original para anotaciones de funciones." -#: ../Doc/reference/compound_stmts.rst:637 +#: ../Doc/reference/compound_stmts.rst:644 msgid ":pep:`484` - Type Hints" msgstr ":pep:`484` - Sugerencias de tipo" -#: ../Doc/reference/compound_stmts.rst:637 +#: ../Doc/reference/compound_stmts.rst:644 msgid "Definition of a standard meaning for annotations: type hints." msgstr "" "Definición de un significado estándar para anotaciones: sugerencias de tipo." -#: ../Doc/reference/compound_stmts.rst:641 +#: ../Doc/reference/compound_stmts.rst:648 msgid ":pep:`526` - Syntax for Variable Annotations" msgstr ":pep:`526` - Sintaxis para anotaciones variables" -#: ../Doc/reference/compound_stmts.rst:640 +#: ../Doc/reference/compound_stmts.rst:647 msgid "" "Ability to type hint variable declarations, including class variables and " "instance variables" @@ -871,11 +879,11 @@ msgstr "" "Capacidad para escribir declaraciones de variables indirectas, incluidas " "variables de clase y variables de instancia" -#: ../Doc/reference/compound_stmts.rst:644 +#: ../Doc/reference/compound_stmts.rst:651 msgid ":pep:`563` - Postponed Evaluation of Annotations" msgstr ":pep:`563` - Evaluación pospuesta de anotaciones" -#: ../Doc/reference/compound_stmts.rst:644 +#: ../Doc/reference/compound_stmts.rst:651 msgid "" "Support for forward references within annotations by preserving annotations " "in a string form at runtime instead of eager evaluation." @@ -884,16 +892,16 @@ msgstr "" "anotaciones en forma de cadena de caracteres en tiempo de ejecución en lugar " "de una evaluación apresurada." -#: ../Doc/reference/compound_stmts.rst:651 +#: ../Doc/reference/compound_stmts.rst:658 msgid "Class definitions" msgstr "Definiciones de clase" -#: ../Doc/reference/compound_stmts.rst:666 +#: ../Doc/reference/compound_stmts.rst:673 msgid "A class definition defines a class object (see section :ref:`types`):" msgstr "" "Una definición de clase define un objeto de clase (ver sección :ref:`types`):" -#: ../Doc/reference/compound_stmts.rst:673 +#: ../Doc/reference/compound_stmts.rst:680 msgid "" "A class definition is an executable statement. The inheritance list usually " "gives a list of base classes (see :ref:`metaclasses` for more advanced " @@ -908,11 +916,11 @@ msgstr "" "clases sin una lista de herencia heredan, por defecto, de la clase base :" "class:`object`; por lo tanto, ::" -#: ../Doc/reference/compound_stmts.rst:682 +#: ../Doc/reference/compound_stmts.rst:689 msgid "is equivalent to ::" msgstr "es equivalente a ::" -#: ../Doc/reference/compound_stmts.rst:687 +#: ../Doc/reference/compound_stmts.rst:694 msgid "" "The class's suite is then executed in a new execution frame (see :ref:" "`naming`), using a newly created local namespace and the original global " @@ -933,7 +941,7 @@ msgstr "" "diccionario de atributos. El nombre de la clase está vinculado a este objeto " "de clase en el espacio de nombres local original." -#: ../Doc/reference/compound_stmts.rst:696 +#: ../Doc/reference/compound_stmts.rst:703 msgid "" "The order in which attributes are defined in the class body is preserved in " "the new class's ``__dict__``. Note that this is reliable only right after " @@ -945,7 +953,7 @@ msgstr "" "confiable solo justo después de crear la clase y solo para las clases que se " "definieron utilizando la sintaxis de definición." -#: ../Doc/reference/compound_stmts.rst:701 +#: ../Doc/reference/compound_stmts.rst:708 msgid "" "Class creation can be customized heavily using :ref:`metaclasses " "`." @@ -953,13 +961,13 @@ msgstr "" "La creación de clases se puede personalizar en gran medida usando :ref:" "`metaclasses `." -#: ../Doc/reference/compound_stmts.rst:706 +#: ../Doc/reference/compound_stmts.rst:713 msgid "Classes can also be decorated: just like when decorating functions, ::" msgstr "" "Las clases también se pueden decorar: al igual que cuando se decoran " "funciones, ::" -#: ../Doc/reference/compound_stmts.rst:717 +#: ../Doc/reference/compound_stmts.rst:724 msgid "" "The evaluation rules for the decorator expressions are the same as for " "function decorators. The result is then bound to the class name." @@ -968,7 +976,14 @@ msgstr "" "que para los decoradores de funciones. El resultado se vincula al nombre de " "la clase." -#: ../Doc/reference/compound_stmts.rst:720 +#: ../Doc/reference/compound_stmts.rst:727 +msgid "" +"Classes may be decorated with any valid :token:`assignment_expression`. " +"Previously, the grammar was much more restrictive; see :pep:`614` for " +"details." +msgstr "" + +#: ../Doc/reference/compound_stmts.rst:732 msgid "" "**Programmer's note:** Variables defined in the class definition are class " "attributes; they are shared by instances. Instance attributes can be set in " @@ -991,11 +1006,11 @@ msgstr "" "`Descriptors ` se puede usar para crear variables de instancia " "con diferentes detalles de implementación." -#: ../Doc/reference/compound_stmts.rst:735 +#: ../Doc/reference/compound_stmts.rst:747 msgid ":pep:`3115` - Metaclasses in Python 3000" msgstr ":pep:`3115` - Metaclases en Python 3000" -#: ../Doc/reference/compound_stmts.rst:733 +#: ../Doc/reference/compound_stmts.rst:745 msgid "" "The proposal that changed the declaration of metaclasses to the current " "syntax, and the semantics for how classes with metaclasses are constructed." @@ -1003,11 +1018,11 @@ msgstr "" "La propuesta que cambió la declaración de metaclases a la sintaxis actual y " "la semántica de cómo se construyen las clases con metaclases." -#: ../Doc/reference/compound_stmts.rst:738 +#: ../Doc/reference/compound_stmts.rst:750 msgid ":pep:`3129` - Class Decorators" msgstr ":pep:`3129` - Decoradores de clase" -#: ../Doc/reference/compound_stmts.rst:738 +#: ../Doc/reference/compound_stmts.rst:750 msgid "" "The proposal that added class decorators. Function and method decorators " "were introduced in :pep:`318`." @@ -1015,15 +1030,15 @@ msgstr "" "La propuesta que agregó decoradores de clase. Los decoradores de funciones y " "métodos se introdujeron en :pep:`318`." -#: ../Doc/reference/compound_stmts.rst:745 +#: ../Doc/reference/compound_stmts.rst:757 msgid "Coroutines" msgstr "Corrutinas" -#: ../Doc/reference/compound_stmts.rst:753 +#: ../Doc/reference/compound_stmts.rst:765 msgid "Coroutine function definition" msgstr "Definición de la función corrutina" -#: ../Doc/reference/compound_stmts.rst:763 +#: ../Doc/reference/compound_stmts.rst:775 msgid "" "Execution of Python coroutines can be suspended and resumed at many points " "(see :term:`coroutine`). Inside the body of a coroutine function, ``await`` " @@ -1038,7 +1053,7 @@ msgstr "" "`async for` y :keyword:`async with` solo se puede usar en los cuerpos de " "funciones de corrutina." -#: ../Doc/reference/compound_stmts.rst:769 +#: ../Doc/reference/compound_stmts.rst:781 msgid "" "Functions defined with ``async def`` syntax are always coroutine functions, " "even if they do not contain ``await`` or ``async`` keywords." @@ -1046,7 +1061,7 @@ msgstr "" "Las funciones definidas con la sintaxis ``async def`` siempre son funciones " "de corrutina, incluso si no contienen palabras claves ``await`` o ``async``." -#: ../Doc/reference/compound_stmts.rst:772 +#: ../Doc/reference/compound_stmts.rst:784 msgid "" "It is a :exc:`SyntaxError` to use a ``yield from`` expression inside the " "body of a coroutine function." @@ -1054,41 +1069,43 @@ msgstr "" "Es un error del tipo :exc:`SyntaxError` usar una expresión ``yield from`` " "dentro del cuerpo de una función de corrutina." -#: ../Doc/reference/compound_stmts.rst:775 +#: ../Doc/reference/compound_stmts.rst:787 msgid "An example of a coroutine function::" msgstr "Un ejemplo de una función corrutina::" -#: ../Doc/reference/compound_stmts.rst:786 +#: ../Doc/reference/compound_stmts.rst:798 msgid "The :keyword:`!async for` statement" msgstr "La sentencia :keyword:`!async for`" -#: ../Doc/reference/compound_stmts.rst:791 +#: ../Doc/reference/compound_stmts.rst:803 +#, fuzzy msgid "" -"An :term:`asynchronous iterable` is able to call asynchronous code in its " -"*iter* implementation, and :term:`asynchronous iterator` can call " -"asynchronous code in its *next* method." +"An :term:`asynchronous iterable` provides an ``__aiter__`` method that " +"directly returns an :term:`asynchronous iterator`, which can call " +"asynchronous code in its ``__anext__`` method." msgstr "" "Un :term:`asynchronous iterable` es capaz de llamar código asincrónico en su " "implementación *iter*, y :term:`asynchronous iterator` puede llamar a código " "asincrónico en su método *next*." -#: ../Doc/reference/compound_stmts.rst:795 +#: ../Doc/reference/compound_stmts.rst:807 +#, fuzzy msgid "" "The ``async for`` statement allows convenient iteration over asynchronous " -"iterators." +"iterables." msgstr "" "La sentencia ``async for`` permite una iteración apropiada sobre iteradores " "asincrónicos." -#: ../Doc/reference/compound_stmts.rst:805 +#: ../Doc/reference/compound_stmts.rst:817 msgid "Is semantically equivalent to::" msgstr "Es semánticamente equivalente a::" -#: ../Doc/reference/compound_stmts.rst:821 +#: ../Doc/reference/compound_stmts.rst:833 msgid "See also :meth:`__aiter__` and :meth:`__anext__` for details." msgstr "Ver también :meth:`__aiter__` y :meth:`__anext__` para más detalles." -#: ../Doc/reference/compound_stmts.rst:823 +#: ../Doc/reference/compound_stmts.rst:835 msgid "" "It is a :exc:`SyntaxError` to use an ``async for`` statement outside the " "body of a coroutine function." @@ -1096,11 +1113,11 @@ msgstr "" "Es un error del tipo :exc:`SyntaxError` usar una sentencia ``async for`` " "fuera del cuerpo de una función de corrutina." -#: ../Doc/reference/compound_stmts.rst:831 +#: ../Doc/reference/compound_stmts.rst:843 msgid "The :keyword:`!async with` statement" msgstr "La sentencia :keyword:`!async with`" -#: ../Doc/reference/compound_stmts.rst:836 +#: ../Doc/reference/compound_stmts.rst:848 msgid "" "An :term:`asynchronous context manager` is a :term:`context manager` that is " "able to suspend execution in its *enter* and *exit* methods." @@ -1108,11 +1125,11 @@ msgstr "" "Un :term:`asynchronous context manager` es un :term:`context manager` que " "puede suspender la ejecución en sus métodos *enter* y *exit*." -#: ../Doc/reference/compound_stmts.rst:863 +#: ../Doc/reference/compound_stmts.rst:875 msgid "See also :meth:`__aenter__` and :meth:`__aexit__` for details." msgstr "Ver también :meth:`__aenter__` y :meth:`__aexit__` para más detalles." -#: ../Doc/reference/compound_stmts.rst:865 +#: ../Doc/reference/compound_stmts.rst:877 msgid "" "It is a :exc:`SyntaxError` to use an ``async with`` statement outside the " "body of a coroutine function." @@ -1120,11 +1137,11 @@ msgstr "" "Es un error del tipo :exc:`SyntaxError` usar una sentencia ``async with`` " "fuera del cuerpo de una función de corrutina." -#: ../Doc/reference/compound_stmts.rst:871 +#: ../Doc/reference/compound_stmts.rst:883 msgid ":pep:`492` - Coroutines with async and await syntax" msgstr ":pep:`492` - Corrutinas con sintaxis ``async`` y ``await``" -#: ../Doc/reference/compound_stmts.rst:871 +#: ../Doc/reference/compound_stmts.rst:883 msgid "" "The proposal that made coroutines a proper standalone concept in Python, and " "added supporting syntax." @@ -1132,11 +1149,11 @@ msgstr "" "La propuesta que convirtió a las corrutinas en un concepto independiente " "adecuado en Python, y agregó una sintaxis de soporte." -#: ../Doc/reference/compound_stmts.rst:876 +#: ../Doc/reference/compound_stmts.rst:888 msgid "Footnotes" msgstr "Notas al pie" -#: ../Doc/reference/compound_stmts.rst:877 +#: ../Doc/reference/compound_stmts.rst:889 msgid "" "The exception is propagated to the invocation stack unless there is a :" "keyword:`finally` clause which happens to raise another exception. That new " @@ -1146,7 +1163,7 @@ msgstr "" "cláusula :keyword:`finally` que provoque otra excepción. Esa nueva excepción " "hace que se pierda la anterior." -#: ../Doc/reference/compound_stmts.rst:881 +#: ../Doc/reference/compound_stmts.rst:893 msgid "" "A string literal appearing as the first statement in the function body is " "transformed into the function's ``__doc__`` attribute and therefore the " @@ -1156,7 +1173,7 @@ msgstr "" "cuerpo de la función se transforma en el atributo ``__doc__`` de la función " "y, por lo tanto, en funciones :term:`docstring`." -#: ../Doc/reference/compound_stmts.rst:885 +#: ../Doc/reference/compound_stmts.rst:897 msgid "" "A string literal appearing as the first statement in the class body is " "transformed into the namespace's ``__doc__`` item and therefore the class's :" diff --git a/reference/datamodel.po b/reference/datamodel.po index 64a7eeb182..222f46639c 100644 --- a/reference/datamodel.po +++ b/reference/datamodel.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-06-09 20:48-0500\n" +"Last-Translator: Carlos Joel Delgado Pizarro \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Carlos Joel Delgado Pizarro \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/reference/datamodel.rst:6 msgid "Data model" @@ -265,18 +264,19 @@ msgstr "" "retorna desde funciones que no retornan nada explícitamente. Su valor de " "verdad es falso." -#: ../Doc/reference/datamodel.rst:165 +#: ../Doc/reference/datamodel.rst:170 msgid "NotImplemented" msgstr "NotImplemented" #: ../Doc/reference/datamodel.rst:155 +#, fuzzy msgid "" "This type has a single value. There is a single object with this value. " "This object is accessed through the built-in name ``NotImplemented``. " "Numeric methods and rich comparison methods should return this value if they " "do not implement the operation for the operands provided. (The interpreter " "will then try the reflected operation, or some other fallback, depending on " -"the operator.) Its truth value is true." +"the operator.) It should not be evaluated in a boolean context." msgstr "" "Este tipo tiene un solo valor. Hay un solo objeto con este valor. Se accede " "a este objeto a través del nombre incorporado ``NotImplemented``. Los " @@ -289,11 +289,18 @@ msgstr "" msgid "See :ref:`implementing-the-arithmetic-operations` for more details." msgstr "Vea :ref:`implementing-the-arithmetic-operations` para más detalles." -#: ../Doc/reference/datamodel.rst:174 +#: ../Doc/reference/datamodel.rst:166 +msgid "" +"Evaluating ``NotImplemented`` in a boolean context is deprecated. While it " +"currently evaluates as true, it will emit a :exc:`DeprecationWarning`. It " +"will raise a :exc:`TypeError` in a future version of Python." +msgstr "" + +#: ../Doc/reference/datamodel.rst:179 msgid "Ellipsis" msgstr "Elipsis" -#: ../Doc/reference/datamodel.rst:172 +#: ../Doc/reference/datamodel.rst:177 msgid "" "This type has a single value. There is a single object with this value. " "This object is accessed through the literal ``...`` or the built-in name " @@ -303,11 +310,11 @@ msgstr "" "a este objeto a través del literal ``...`` o el nombre incorporado " "``Ellipsis``. Su valor de verdad es verdadero." -#: ../Doc/reference/datamodel.rst:244 +#: ../Doc/reference/datamodel.rst:266 msgid ":class:`numbers.Number`" msgstr ":class:`numbers.Number`" -#: ../Doc/reference/datamodel.rst:179 +#: ../Doc/reference/datamodel.rst:184 msgid "" "These are created by numeric literals and returned as results by arithmetic " "operators and arithmetic built-in functions. Numeric objects are immutable; " @@ -322,7 +329,39 @@ msgstr "" "matemáticos, pero están sujetos a las limitaciones de la representación " "numérica en las computadoras." -#: ../Doc/reference/datamodel.rst:185 +#: ../Doc/reference/datamodel.rst:190 +msgid "" +"The string representations of the numeric classes, computed by :meth:" +"`__repr__` and :meth:`__str__`, have the following properties:" +msgstr "" + +#: ../Doc/reference/datamodel.rst:194 +msgid "" +"They are valid numeric literals which, when passed to their class " +"constructor, produce an object having the value of the original numeric." +msgstr "" + +#: ../Doc/reference/datamodel.rst:198 +msgid "The representation is in base 10, when possible." +msgstr "" + +#: ../Doc/reference/datamodel.rst:200 +msgid "" +"Leading zeros, possibly excepting a single zero before a decimal point, are " +"not shown." +msgstr "" + +#: ../Doc/reference/datamodel.rst:203 +msgid "" +"Trailing zeros, possibly excepting a single zero after a decimal point, are " +"not shown." +msgstr "" + +#: ../Doc/reference/datamodel.rst:206 +msgid "A sign is shown only when the number is negative." +msgstr "" + +#: ../Doc/reference/datamodel.rst:208 msgid "" "Python distinguishes between integers, floating point numbers, and complex " "numbers:" @@ -330,11 +369,11 @@ msgstr "" "Python distingue entre números enteros, números de coma flotante y números " "complejos:" -#: ../Doc/reference/datamodel.rst:219 +#: ../Doc/reference/datamodel.rst:241 msgid ":class:`numbers.Integral`" msgstr ":class:`numbers.Integral`" -#: ../Doc/reference/datamodel.rst:191 +#: ../Doc/reference/datamodel.rst:214 msgid "" "These represent elements from the mathematical set of integers (positive and " "negative)." @@ -342,15 +381,15 @@ msgstr "" "Estos representan elementos del conjunto matemático de números enteros " "(positivo y negativo)." -#: ../Doc/reference/datamodel.rst:194 +#: ../Doc/reference/datamodel.rst:217 msgid "There are two types of integers:" msgstr "Hay dos tipos de números enteros:" -#: ../Doc/reference/datamodel.rst:196 +#: ../Doc/reference/datamodel.rst:224 msgid "Integers (:class:`int`)" msgstr "Enteros (:class:`int`)" -#: ../Doc/reference/datamodel.rst:198 +#: ../Doc/reference/datamodel.rst:220 msgid "" "These represent numbers in an unlimited range, subject to available " "(virtual) memory only. For the purpose of shift and mask operations, a " @@ -364,11 +403,11 @@ msgstr "" "una variante del complemento de 2 que da la ilusión de una cadena de " "caracteres infinita de bits con signo que se extiende hacia la izquierda." -#: ../Doc/reference/datamodel.rst:214 +#: ../Doc/reference/datamodel.rst:236 msgid "Booleans (:class:`bool`)" msgstr "Booleanos (:class:`bool`)" -#: ../Doc/reference/datamodel.rst:210 +#: ../Doc/reference/datamodel.rst:232 msgid "" "These represent the truth values False and True. The two objects " "representing the values ``False`` and ``True`` are the only Boolean objects. " @@ -385,7 +424,7 @@ msgstr "" "caracteres, las cadenas de caracteres ``\"False\"`` o ``\"True\"`` son " "retornadas respectivamente." -#: ../Doc/reference/datamodel.rst:218 +#: ../Doc/reference/datamodel.rst:240 msgid "" "The rules for integer representation are intended to give the most " "meaningful interpretation of shift and mask operations involving negative " @@ -395,11 +434,11 @@ msgstr "" "interpretación más significativa de las operaciones de cambio y máscara que " "involucran enteros negativos." -#: ../Doc/reference/datamodel.rst:234 +#: ../Doc/reference/datamodel.rst:256 msgid ":class:`numbers.Real` (:class:`float`)" msgstr ":class:`numbers.Real` (:class:`float`)" -#: ../Doc/reference/datamodel.rst:228 +#: ../Doc/reference/datamodel.rst:250 msgid "" "These represent machine-level double precision floating point numbers. You " "are at the mercy of the underlying machine architecture (and C or Java " @@ -418,11 +457,11 @@ msgstr "" "objetos en Python, por lo que no hay razón para complicar el lenguaje con " "dos tipos de números de coma flotante." -#: ../Doc/reference/datamodel.rst:244 +#: ../Doc/reference/datamodel.rst:266 msgid ":class:`numbers.Complex` (:class:`complex`)" msgstr ":class:`numbers.Complex` (:class:`complex`)" -#: ../Doc/reference/datamodel.rst:241 +#: ../Doc/reference/datamodel.rst:263 msgid "" "These represent complex numbers as a pair of machine-level double precision " "floating point numbers. The same caveats apply as for floating point " @@ -435,11 +474,11 @@ msgstr "" "número complejo ``z`` se pueden obtener a través de los atributos de solo " "lectura ``z.real`` y ``z.imag``." -#: ../Doc/reference/datamodel.rst:361 +#: ../Doc/reference/datamodel.rst:383 msgid "Sequences" msgstr "Secuencias" -#: ../Doc/reference/datamodel.rst:254 +#: ../Doc/reference/datamodel.rst:276 msgid "" "These represent finite ordered sets indexed by non-negative numbers. The " "built-in function :func:`len` returns the number of items of a sequence. " @@ -452,7 +491,7 @@ msgstr "" "índices contiene los números 0, 1, ..., *n*-1. El elemento *i* de la " "secuencia *a* se selecciona mediante ``a[i]``." -#: ../Doc/reference/datamodel.rst:261 +#: ../Doc/reference/datamodel.rst:283 msgid "" "Sequences also support slicing: ``a[i:j]`` selects all items with index *k* " "such that *i* ``<=`` *k* ``<`` *j*. When used as an expression, a slice is " @@ -465,7 +504,7 @@ msgstr "" "implica que el conjunto de índices se vuelve a enumerar para que comience en " "0." -#: ../Doc/reference/datamodel.rst:266 +#: ../Doc/reference/datamodel.rst:288 msgid "" "Some sequences also support \"extended slicing\" with a third \"step\" " "parameter: ``a[i:j:k]`` selects all items of *a* with index *x* where ``x = " @@ -476,15 +515,15 @@ msgstr "" "índice *x* donde ``x = i + n*k``, *n* ``>=`` ``0`` y *i* ``<=`` *x* ``<`` " "*j*." -#: ../Doc/reference/datamodel.rst:270 +#: ../Doc/reference/datamodel.rst:292 msgid "Sequences are distinguished according to their mutability:" msgstr "Las secuencias se distinguen según su mutabilidad:" -#: ../Doc/reference/datamodel.rst:327 +#: ../Doc/reference/datamodel.rst:349 msgid "Immutable sequences" msgstr "Secuencias inmutables" -#: ../Doc/reference/datamodel.rst:277 +#: ../Doc/reference/datamodel.rst:299 msgid "" "An object of an immutable sequence type cannot change once it is created. " "(If the object contains references to other objects, these other objects may " @@ -497,15 +536,15 @@ msgstr "" "objetos a los que hace referencia directamente un objeto inmutable no puede " "cambiar)." -#: ../Doc/reference/datamodel.rst:282 +#: ../Doc/reference/datamodel.rst:304 msgid "The following types are immutable sequences:" msgstr "Los siguientes tipos son secuencias inmutables:" -#: ../Doc/reference/datamodel.rst:305 +#: ../Doc/reference/datamodel.rst:327 msgid "Strings" msgstr "Cadenas de caracteres" -#: ../Doc/reference/datamodel.rst:295 +#: ../Doc/reference/datamodel.rst:317 msgid "" "A string is a sequence of values that represent Unicode code points. All the " "code points in the range ``U+0000 - U+10FFFF`` can be represented in a " @@ -531,11 +570,11 @@ msgstr "" "usando la codificación de texto dada, y :meth:`bytes.decode` se puede usar " "para lograr el caso inverso." -#: ../Doc/reference/datamodel.rst:318 +#: ../Doc/reference/datamodel.rst:340 msgid "Tuples" msgstr "Tuplas" -#: ../Doc/reference/datamodel.rst:313 +#: ../Doc/reference/datamodel.rst:335 msgid "" "The items of a tuple are arbitrary Python objects. Tuples of two or more " "items are formed by comma-separated lists of expressions. A tuple of one " @@ -551,11 +590,11 @@ msgstr "" "que los paréntesis deben ser utilizables para agrupar expresiones). Una " "tupla vacía puede estar formada por un par de paréntesis vacío." -#: ../Doc/reference/datamodel.rst:327 +#: ../Doc/reference/datamodel.rst:349 msgid "Bytes" msgstr "Bytes" -#: ../Doc/reference/datamodel.rst:323 +#: ../Doc/reference/datamodel.rst:345 msgid "" "A bytes object is an immutable array. The items are 8-bit bytes, " "represented by integers in the range 0 <= x < 256. Bytes literals (like " @@ -570,11 +609,11 @@ msgstr "" "decodificar en cadenas de caracteres a través del método :meth:`~bytes." "decode`." -#: ../Doc/reference/datamodel.rst:361 +#: ../Doc/reference/datamodel.rst:383 msgid "Mutable sequences" msgstr "Secuencias mutables" -#: ../Doc/reference/datamodel.rst:337 +#: ../Doc/reference/datamodel.rst:359 msgid "" "Mutable sequences can be changed after they are created. The subscription " "and slicing notations can be used as the target of assignment and :keyword:" @@ -584,15 +623,15 @@ msgstr "" "anotaciones de suscripción y segmentación se pueden utilizar como el " "objetivo de asignaciones y declaraciones :keyword:`del` (eliminar)." -#: ../Doc/reference/datamodel.rst:341 +#: ../Doc/reference/datamodel.rst:363 msgid "There are currently two intrinsic mutable sequence types:" msgstr "Actualmente hay dos tipos intrínsecos de secuencias mutable:" -#: ../Doc/reference/datamodel.rst:348 +#: ../Doc/reference/datamodel.rst:370 msgid "Lists" msgstr "Listas" -#: ../Doc/reference/datamodel.rst:346 +#: ../Doc/reference/datamodel.rst:368 msgid "" "The items of a list are arbitrary Python objects. Lists are formed by " "placing a comma-separated list of expressions in square brackets. (Note that " @@ -602,11 +641,11 @@ msgstr "" "placing a comma-separated list of expressions in square brackets. (Note that " "there are no special cases needed to form lists of length 0 or 1.)" -#: ../Doc/reference/datamodel.rst:356 +#: ../Doc/reference/datamodel.rst:378 msgid "Byte Arrays" msgstr "Colecciones de bytes" -#: ../Doc/reference/datamodel.rst:353 +#: ../Doc/reference/datamodel.rst:375 msgid "" "A bytearray object is a mutable array. They are created by the built-in :" "func:`bytearray` constructor. Aside from being mutable (and hence " @@ -618,7 +657,7 @@ msgstr "" "inquebrantable), las colecciones de bytes proporcionan la misma interfaz y " "funcionalidad que los objetos inmutables :class:`bytes`." -#: ../Doc/reference/datamodel.rst:360 +#: ../Doc/reference/datamodel.rst:382 msgid "" "The extension module :mod:`array` provides an additional example of a " "mutable sequence type, as does the :mod:`collections` module." @@ -626,11 +665,11 @@ 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`." -#: ../Doc/reference/datamodel.rst:395 +#: ../Doc/reference/datamodel.rst:417 msgid "Set types" msgstr "Tipos de conjuntos" -#: ../Doc/reference/datamodel.rst:368 +#: ../Doc/reference/datamodel.rst:390 msgid "" "These represent unordered, finite sets of unique, immutable objects. As " "such, they cannot be indexed by any subscript. However, they can be iterated " @@ -647,7 +686,7 @@ msgstr "" "cálculo de operaciones matemáticas como intersección, unión, diferencia y " "diferencia simétrica." -#: ../Doc/reference/datamodel.rst:375 +#: ../Doc/reference/datamodel.rst:397 msgid "" "For set elements, the same immutability rules apply as for dictionary keys. " "Note that numeric types obey the normal rules for numeric comparison: if two " @@ -660,15 +699,15 @@ msgstr "" "comparan igual (por ejemplo, ``1`` y ``1.0``), solo uno de ellos puede estar " "contenido en un conjunto." -#: ../Doc/reference/datamodel.rst:380 +#: ../Doc/reference/datamodel.rst:402 msgid "There are currently two intrinsic set types:" msgstr "Actualmente hay dos tipos de conjuntos intrínsecos:" -#: ../Doc/reference/datamodel.rst:387 +#: ../Doc/reference/datamodel.rst:409 msgid "Sets" msgstr "Conjuntos" -#: ../Doc/reference/datamodel.rst:385 +#: ../Doc/reference/datamodel.rst:407 msgid "" "These represent a mutable set. They are created by the built-in :func:`set` " "constructor and can be modified afterwards by several methods, such as :meth:" @@ -678,11 +717,11 @@ msgstr "" "incorporado :func:`set` y puede ser modificado posteriormente por varios " "métodos, como :meth:`~set.add`." -#: ../Doc/reference/datamodel.rst:395 +#: ../Doc/reference/datamodel.rst:417 msgid "Frozen sets" msgstr "Conjuntos congelados" -#: ../Doc/reference/datamodel.rst:392 +#: ../Doc/reference/datamodel.rst:414 msgid "" "These represent an immutable set. They are created by the built-in :func:" "`frozenset` constructor. As a frozenset is immutable and :term:`hashable`, " @@ -693,11 +732,11 @@ msgstr "" "term:`hashable`, se puede usar nuevamente como un elemento de otro conjunto " "o como una clave de un diccionario." -#: ../Doc/reference/datamodel.rst:442 +#: ../Doc/reference/datamodel.rst:464 msgid "Mappings" msgstr "Mapeos" -#: ../Doc/reference/datamodel.rst:403 +#: ../Doc/reference/datamodel.rst:425 msgid "" "These represent finite sets of objects indexed by arbitrary index sets. The " "subscript notation ``a[k]`` selects the item indexed by ``k`` from the " @@ -712,15 +751,15 @@ msgstr "" "`del`. La función incorporada :func:`len` retorna el número de elementos en " "un mapeo." -#: ../Doc/reference/datamodel.rst:409 +#: ../Doc/reference/datamodel.rst:431 msgid "There is currently a single intrinsic mapping type:" msgstr "Actualmente hay un único tipo de mapeo intrínseco:" -#: ../Doc/reference/datamodel.rst:442 +#: ../Doc/reference/datamodel.rst:464 msgid "Dictionaries" msgstr "Diccionarios" -#: ../Doc/reference/datamodel.rst:414 +#: ../Doc/reference/datamodel.rst:436 msgid "" "These represent finite sets of objects indexed by nearly arbitrary values. " "The only types of values not acceptable as keys are values containing lists " @@ -741,7 +780,7 @@ msgstr "" "números se comparan igual (por ejemplo, ``1`` y ``1.0``) entonces se pueden " "usar indistintamente para indexar la misma entrada del diccionario." -#: ../Doc/reference/datamodel.rst:423 +#: ../Doc/reference/datamodel.rst:445 msgid "" "Dictionaries preserve insertion order, meaning that keys will be produced in " "the same order they were added sequentially over the dictionary. Replacing " @@ -754,7 +793,7 @@ msgstr "" "embargo, eliminar una clave y volver a insertarla la agregará al final en " "lugar de mantener su lugar anterior." -#: ../Doc/reference/datamodel.rst:428 +#: ../Doc/reference/datamodel.rst:450 msgid "" "Dictionaries are mutable; they can be created by the ``{...}`` notation (see " "section :ref:`dict`)." @@ -762,7 +801,7 @@ msgstr "" "Los diccionarios son mutables; pueden ser creados por la notación ``{...}`` " "(vea la sección :ref:`dict`)." -#: ../Doc/reference/datamodel.rst:435 +#: ../Doc/reference/datamodel.rst:457 msgid "" "The extension modules :mod:`dbm.ndbm` and :mod:`dbm.gnu` provide additional " "examples of mapping types, as does the :mod:`collections` module." @@ -771,7 +810,7 @@ msgstr "" "ejemplos adicionales de tipos de mapeo, al igual que el módulo :mod:" "`collections`." -#: ../Doc/reference/datamodel.rst:439 +#: ../Doc/reference/datamodel.rst:461 msgid "" "Dictionaries did not preserve insertion order in versions of Python before " "3.6. In CPython 3.6, insertion order was preserved, but it was considered an " @@ -782,11 +821,11 @@ msgstr "" "pero se consideró un detalle de implementación en ese momento en lugar de " "una garantía de idioma." -#: ../Doc/reference/datamodel.rst:700 +#: ../Doc/reference/datamodel.rst:722 msgid "Callable types" msgstr "Tipos invocables" -#: ../Doc/reference/datamodel.rst:451 +#: ../Doc/reference/datamodel.rst:473 msgid "" "These are the types to which the function call operation (see section :ref:" "`calls`) can be applied:" @@ -794,11 +833,11 @@ msgstr "" "Estos son los tipos a los que la operación de llamada de función (vea la " "sección :ref:`calls`) puede ser aplicado:" -#: ../Doc/reference/datamodel.rst:554 +#: ../Doc/reference/datamodel.rst:576 msgid "User-defined functions" msgstr "Funciones definidas por el usuario" -#: ../Doc/reference/datamodel.rst:460 +#: ../Doc/reference/datamodel.rst:482 #, fuzzy msgid "" "A user-defined function object is created by a function definition (see " @@ -810,23 +849,23 @@ msgstr "" "una lista de argumentos que contenga el mismo número de elementos que la " "lista de parámetros formales de la función." -#: ../Doc/reference/datamodel.rst:465 +#: ../Doc/reference/datamodel.rst:487 msgid "Special attributes:" msgstr "Atributos especiales:" -#: ../Doc/reference/datamodel.rst:483 +#: ../Doc/reference/datamodel.rst:505 msgid "Attribute" msgstr "Atributo" -#: ../Doc/reference/datamodel.rst:483 +#: ../Doc/reference/datamodel.rst:505 msgid "Meaning" msgstr "Significado" -#: ../Doc/reference/datamodel.rst:485 +#: ../Doc/reference/datamodel.rst:507 msgid ":attr:`__doc__`" msgstr ":attr:`__doc__`" -#: ../Doc/reference/datamodel.rst:485 +#: ../Doc/reference/datamodel.rst:507 msgid "" "The function's documentation string, or ``None`` if unavailable; not " "inherited by subclasses." @@ -834,35 +873,35 @@ msgstr "" "El texto de documentación de la función, o ``None`` si no está disponible; " "no heredado por subclases." -#: ../Doc/reference/datamodel.rst:485 ../Doc/reference/datamodel.rst:490 -#: ../Doc/reference/datamodel.rst:493 ../Doc/reference/datamodel.rst:498 -#: ../Doc/reference/datamodel.rst:502 ../Doc/reference/datamodel.rst:508 -#: ../Doc/reference/datamodel.rst:518 ../Doc/reference/datamodel.rst:529 -#: ../Doc/reference/datamodel.rst:536 +#: ../Doc/reference/datamodel.rst:507 ../Doc/reference/datamodel.rst:512 +#: ../Doc/reference/datamodel.rst:515 ../Doc/reference/datamodel.rst:520 +#: ../Doc/reference/datamodel.rst:524 ../Doc/reference/datamodel.rst:530 +#: ../Doc/reference/datamodel.rst:540 ../Doc/reference/datamodel.rst:551 +#: ../Doc/reference/datamodel.rst:558 msgid "Writable" msgstr "Escribible" -#: ../Doc/reference/datamodel.rst:490 +#: ../Doc/reference/datamodel.rst:512 msgid ":attr:`~definition.\\ __name__`" msgstr ":attr:`~definition.\\ __name__`" -#: ../Doc/reference/datamodel.rst:490 +#: ../Doc/reference/datamodel.rst:512 msgid "The function's name." msgstr "El nombre de la función." -#: ../Doc/reference/datamodel.rst:493 +#: ../Doc/reference/datamodel.rst:515 msgid ":attr:`~definition.\\ __qualname__`" msgstr ":attr:`~definition.\\ __qualname__`" -#: ../Doc/reference/datamodel.rst:493 +#: ../Doc/reference/datamodel.rst:515 msgid "The function's :term:`qualified name`." msgstr "Las funciones :term:`qualified name`." -#: ../Doc/reference/datamodel.rst:498 +#: ../Doc/reference/datamodel.rst:520 msgid ":attr:`__module__`" msgstr ":attr:`__module__`" -#: ../Doc/reference/datamodel.rst:498 +#: ../Doc/reference/datamodel.rst:520 msgid "" "The name of the module the function was defined in, or ``None`` if " "unavailable." @@ -870,11 +909,11 @@ msgstr "" "El nombre del módulo en el que se definió la función, o ``None`` si no está " "disponible." -#: ../Doc/reference/datamodel.rst:502 +#: ../Doc/reference/datamodel.rst:524 msgid ":attr:`__defaults__`" msgstr ":attr:`__defaults__`" -#: ../Doc/reference/datamodel.rst:502 +#: ../Doc/reference/datamodel.rst:524 msgid "" "A tuple containing default argument values for those arguments that have " "defaults, or ``None`` if no arguments have a default value." @@ -883,19 +922,19 @@ msgstr "" "argumentos que tienen valores predeterminados, o ``None`` si ningún " "argumento tiene un valor predeterminado." -#: ../Doc/reference/datamodel.rst:508 +#: ../Doc/reference/datamodel.rst:530 msgid ":attr:`__code__`" msgstr ":attr:`__code__`" -#: ../Doc/reference/datamodel.rst:508 +#: ../Doc/reference/datamodel.rst:530 msgid "The code object representing the compiled function body." msgstr "El objeto de código que representa el cuerpo de la función compilada." -#: ../Doc/reference/datamodel.rst:511 +#: ../Doc/reference/datamodel.rst:533 msgid ":attr:`__globals__`" msgstr ":attr:`__globals__`" -#: ../Doc/reference/datamodel.rst:511 +#: ../Doc/reference/datamodel.rst:533 msgid "" "A reference to the dictionary that holds the function's global variables --- " "the global namespace of the module in which the function was defined." @@ -904,23 +943,23 @@ msgstr "" "función --- el espacio de nombres global del módulo en el que se definió la " "función." -#: ../Doc/reference/datamodel.rst:511 ../Doc/reference/datamodel.rst:522 +#: ../Doc/reference/datamodel.rst:533 ../Doc/reference/datamodel.rst:544 msgid "Read-only" msgstr "Solo lectura" -#: ../Doc/reference/datamodel.rst:518 +#: ../Doc/reference/datamodel.rst:540 msgid ":attr:`~object.__dict__`" msgstr ":attr:`~object.__dict__`" -#: ../Doc/reference/datamodel.rst:518 +#: ../Doc/reference/datamodel.rst:540 msgid "The namespace supporting arbitrary function attributes." msgstr "El espacio de nombres que admite atributos de funciones arbitrarias." -#: ../Doc/reference/datamodel.rst:522 +#: ../Doc/reference/datamodel.rst:544 msgid ":attr:`__closure__`" msgstr ":attr:`__closure__`" -#: ../Doc/reference/datamodel.rst:522 +#: ../Doc/reference/datamodel.rst:544 msgid "" "``None`` or a tuple of cells that contain bindings for the function's free " "variables. See below for information on the ``cell_contents`` attribute." @@ -929,11 +968,11 @@ msgstr "" "libres de la función. Vea a continuación para obtener información sobre el " "atributo ``cell_contents``." -#: ../Doc/reference/datamodel.rst:529 +#: ../Doc/reference/datamodel.rst:551 msgid ":attr:`__annotations__`" msgstr ":attr:`__annotations__`" -#: ../Doc/reference/datamodel.rst:529 +#: ../Doc/reference/datamodel.rst:551 msgid "" "A dict containing annotations of parameters. The keys of the dict are the " "parameter names, and ``'return'`` for the return annotation, if provided." @@ -942,17 +981,17 @@ msgstr "" "son los nombres de los parámetros, y ``'return'`` para la anotación de " "retorno, si se proporciona." -#: ../Doc/reference/datamodel.rst:536 +#: ../Doc/reference/datamodel.rst:558 msgid ":attr:`__kwdefaults__`" msgstr ":attr:`__kwdefaults__`" -#: ../Doc/reference/datamodel.rst:536 +#: ../Doc/reference/datamodel.rst:558 msgid "A dict containing defaults for keyword-only parameters." msgstr "" "Un diccionario que contiene valores predeterminados para parámetros de solo " "palabras clave." -#: ../Doc/reference/datamodel.rst:540 +#: ../Doc/reference/datamodel.rst:562 msgid "" "Most of the attributes labelled \"Writable\" check the type of the assigned " "value." @@ -960,7 +999,7 @@ msgstr "" "La mayoría de los atributos etiquetados \"Escribible\" verifican el tipo del " "valor asignado." -#: ../Doc/reference/datamodel.rst:542 +#: ../Doc/reference/datamodel.rst:564 #, fuzzy msgid "" "Function objects also support getting and setting arbitrary attributes, " @@ -978,7 +1017,7 @@ msgstr "" "atributos de función en funciones incorporadas pueden ser compatibles en el " "futuro.*" -#: ../Doc/reference/datamodel.rst:548 +#: ../Doc/reference/datamodel.rst:570 msgid "" "A cell object has the attribute ``cell_contents``. This can be used to get " "the value of the cell, as well as set the value." @@ -986,7 +1025,7 @@ msgstr "" "Un objeto de celda tiene el atributo ``cell_contents``. Esto se puede usar " "para obtener el valor de la celda, así como para establecer el valor." -#: ../Doc/reference/datamodel.rst:551 +#: ../Doc/reference/datamodel.rst:573 msgid "" "Additional information about a function's definition can be retrieved from " "its code object; see the description of internal types below. The :data:" @@ -997,11 +1036,11 @@ msgstr "" "continuación. El tipo :data:`cell ` puede ser accedido en el " "módulo :mod:`types`." -#: ../Doc/reference/datamodel.rst:617 +#: ../Doc/reference/datamodel.rst:639 msgid "Instance methods" msgstr "Métodos de instancia" -#: ../Doc/reference/datamodel.rst:562 +#: ../Doc/reference/datamodel.rst:584 #, fuzzy msgid "" "An instance method object combines a class, a class instance and any " @@ -1010,7 +1049,7 @@ msgstr "" "Un objeto de método de instancia combina una clase, una instancia de clase y " "cualquier objeto invocable (normalmente una función definida por el usuario)." -#: ../Doc/reference/datamodel.rst:572 +#: ../Doc/reference/datamodel.rst:594 msgid "" "Special read-only attributes: :attr:`__self__` is the class instance " "object, :attr:`__func__` is the function object; :attr:`__doc__` is the " @@ -1020,20 +1059,20 @@ msgid "" "``None`` if unavailable." msgstr "" -#: ../Doc/reference/datamodel.rst:578 +#: ../Doc/reference/datamodel.rst:600 msgid "" "Methods also support accessing (but not setting) the arbitrary function " "attributes on the underlying function object." msgstr "" -#: ../Doc/reference/datamodel.rst:581 +#: ../Doc/reference/datamodel.rst:603 msgid "" "User-defined method objects may be created when getting an attribute of a " "class (perhaps via an instance of that class), if that attribute is a user-" "defined function object or a class method object." msgstr "" -#: ../Doc/reference/datamodel.rst:585 +#: ../Doc/reference/datamodel.rst:607 msgid "" "When an instance method object is created by retrieving a user-defined " "function object from a class via one of its instances, its :attr:`__self__` " @@ -1041,7 +1080,7 @@ msgid "" "new method's :attr:`__func__` attribute is the original function object." msgstr "" -#: ../Doc/reference/datamodel.rst:591 +#: ../Doc/reference/datamodel.rst:613 msgid "" "When an instance method object is created by retrieving a class method " "object from a class or instance, its :attr:`__self__` attribute is the class " @@ -1049,7 +1088,7 @@ msgid "" "the class method." msgstr "" -#: ../Doc/reference/datamodel.rst:596 +#: ../Doc/reference/datamodel.rst:618 msgid "" "When an instance method object is called, the underlying function (:attr:" "`__func__`) is called, inserting the class instance (:attr:`__self__`) in " @@ -1058,7 +1097,7 @@ msgid "" "class:`C`, calling ``x.f(1)`` is equivalent to calling ``C.f(x, 1)``." msgstr "" -#: ../Doc/reference/datamodel.rst:603 +#: ../Doc/reference/datamodel.rst:625 msgid "" "When an instance method object is derived from a class method object, the " "\"class instance\" stored in :attr:`__self__` will actually be the class " @@ -1066,7 +1105,7 @@ msgid "" "calling ``f(C,1)`` where ``f`` is the underlying function." msgstr "" -#: ../Doc/reference/datamodel.rst:608 +#: ../Doc/reference/datamodel.rst:630 msgid "" "Note that the transformation from function object to instance method object " "happens each time the attribute is retrieved from the instance. In some " @@ -1079,11 +1118,11 @@ msgid "" "the function is an attribute of the class." msgstr "" -#: ../Doc/reference/datamodel.rst:632 +#: ../Doc/reference/datamodel.rst:654 msgid "Generator functions" msgstr "" -#: ../Doc/reference/datamodel.rst:624 +#: ../Doc/reference/datamodel.rst:646 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 " @@ -1096,11 +1135,11 @@ msgid "" "returned." msgstr "" -#: ../Doc/reference/datamodel.rst:642 +#: ../Doc/reference/datamodel.rst:664 msgid "Coroutine functions" msgstr "" -#: ../Doc/reference/datamodel.rst:638 +#: ../Doc/reference/datamodel.rst:660 msgid "" "A function or method which is defined using :keyword:`async def` is called " "a :dfn:`coroutine function`. Such a function, when called, returns a :term:" @@ -1109,11 +1148,11 @@ msgid "" "ref:`coroutine-objects` section." msgstr "" -#: ../Doc/reference/datamodel.rst:661 +#: ../Doc/reference/datamodel.rst:683 msgid "Asynchronous generator functions" msgstr "" -#: ../Doc/reference/datamodel.rst:649 +#: ../Doc/reference/datamodel.rst:671 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 " @@ -1122,7 +1161,7 @@ msgid "" "body of the function." msgstr "" -#: ../Doc/reference/datamodel.rst:655 +#: ../Doc/reference/datamodel.rst:677 msgid "" "Calling the asynchronous iterator's :meth:`aiterator.__anext__` method will " "return an :term:`awaitable` which when awaited will execute until it " @@ -1132,11 +1171,11 @@ msgid "" "have reached the end of the set of values to be yielded." msgstr "" -#: ../Doc/reference/datamodel.rst:676 +#: ../Doc/reference/datamodel.rst:698 msgid "Built-in functions" msgstr "" -#: ../Doc/reference/datamodel.rst:669 +#: ../Doc/reference/datamodel.rst:691 msgid "" "A built-in function object is a wrapper around a C function. Examples of " "built-in functions are :func:`len` and :func:`math.sin` (:mod:`math` is a " @@ -1148,11 +1187,11 @@ msgid "" "module the function was defined in or ``None`` if unavailable." msgstr "" -#: ../Doc/reference/datamodel.rst:688 +#: ../Doc/reference/datamodel.rst:710 msgid "Built-in methods" msgstr "" -#: ../Doc/reference/datamodel.rst:684 +#: ../Doc/reference/datamodel.rst:706 msgid "" "This is really a different disguise of a built-in function, this time " "containing an object passed to the C function as an implicit extra " @@ -1161,11 +1200,11 @@ msgid "" "attr:`__self__` is set to the object denoted by *alist*." msgstr "" -#: ../Doc/reference/datamodel.rst:695 +#: ../Doc/reference/datamodel.rst:717 msgid "Classes" msgstr "" -#: ../Doc/reference/datamodel.rst:691 +#: ../Doc/reference/datamodel.rst:713 msgid "" "Classes are callable. These objects normally act as factories for new " "instances of themselves, but variations are possible for class types that " @@ -1174,21 +1213,21 @@ msgid "" "new instance." msgstr "" -#: ../Doc/reference/datamodel.rst:700 +#: ../Doc/reference/datamodel.rst:722 msgid "Class Instances" msgstr "" -#: ../Doc/reference/datamodel.rst:698 +#: ../Doc/reference/datamodel.rst:720 msgid "" "Instances of arbitrary classes can be made callable by defining a :meth:" "`__call__` method in their class." msgstr "" -#: ../Doc/reference/datamodel.rst:750 +#: ../Doc/reference/datamodel.rst:772 msgid "Modules" msgstr "" -#: ../Doc/reference/datamodel.rst:707 +#: ../Doc/reference/datamodel.rst:729 msgid "" "Modules are a basic organizational unit of Python code, and are created by " "the :ref:`import system ` as invoked either by the :keyword:" @@ -1202,13 +1241,13 @@ msgid "" "needed once the initialization is done)." msgstr "" -#: ../Doc/reference/datamodel.rst:719 +#: ../Doc/reference/datamodel.rst:741 msgid "" "Attribute assignment updates the module's namespace dictionary, e.g., ``m.x " "= 1`` is equivalent to ``m.__dict__[\"x\"] = 1``." msgstr "" -#: ../Doc/reference/datamodel.rst:729 +#: ../Doc/reference/datamodel.rst:751 msgid "" "Predefined (writable) attributes: :attr:`__name__` is the module's name; :" "attr:`__doc__` is the module's documentation string, or ``None`` if " @@ -1222,13 +1261,13 @@ msgid "" "library file." msgstr "" -#: ../Doc/reference/datamodel.rst:742 +#: ../Doc/reference/datamodel.rst:764 msgid "" "Special read-only attribute: :attr:`~object.__dict__` is the module's " "namespace as a dictionary object." msgstr "" -#: ../Doc/reference/datamodel.rst:747 +#: ../Doc/reference/datamodel.rst:769 msgid "" "Because of the way CPython clears module dictionaries, the module dictionary " "will be cleared when the module falls out of scope even if the dictionary " @@ -1236,11 +1275,11 @@ msgid "" "module around while using its dictionary directly." msgstr "" -#: ../Doc/reference/datamodel.rst:809 +#: ../Doc/reference/datamodel.rst:831 msgid "Custom classes" msgstr "" -#: ../Doc/reference/datamodel.rst:753 +#: ../Doc/reference/datamodel.rst:775 msgid "" "Custom class types are typically created by class definitions (see section :" "ref:`class`). A class has a namespace implemented by a dictionary object. " @@ -1256,7 +1295,7 @@ msgid "" "python.org/download/releases/2.3/mro/." msgstr "" -#: ../Doc/reference/datamodel.rst:777 +#: ../Doc/reference/datamodel.rst:799 msgid "" "When a class attribute reference (for class :class:`C`, say) would yield a " "class method object, it is transformed into an instance method object whose :" @@ -1267,19 +1306,19 @@ msgid "" "in its :attr:`~object.__dict__`." msgstr "" -#: ../Doc/reference/datamodel.rst:787 +#: ../Doc/reference/datamodel.rst:809 msgid "" "Class attribute assignments update the class's dictionary, never the " "dictionary of a base class." msgstr "" -#: ../Doc/reference/datamodel.rst:792 +#: ../Doc/reference/datamodel.rst:814 msgid "" "A class object can be called (see above) to yield a class instance (see " "below)." msgstr "" -#: ../Doc/reference/datamodel.rst:802 +#: ../Doc/reference/datamodel.rst:824 msgid "" "Special attributes: :attr:`~definition.__name__` is the class name; :attr:" "`__module__` is the module name in which the class was defined; :attr:" @@ -1291,11 +1330,11 @@ msgid "" "annotation>` collected during class body execution." msgstr "" -#: ../Doc/reference/datamodel.rst:852 +#: ../Doc/reference/datamodel.rst:874 msgid "Class instances" msgstr "" -#: ../Doc/reference/datamodel.rst:818 +#: ../Doc/reference/datamodel.rst:840 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 " @@ -1312,7 +1351,7 @@ msgid "" "method, that is called to satisfy the lookup." msgstr "" -#: ../Doc/reference/datamodel.rst:834 +#: ../Doc/reference/datamodel.rst:856 msgid "" "Attribute assignments and deletions update the instance's dictionary, never " "a class's dictionary. If the class has a :meth:`__setattr__` or :meth:" @@ -1320,23 +1359,23 @@ msgid "" "dictionary directly." msgstr "" -#: ../Doc/reference/datamodel.rst:844 +#: ../Doc/reference/datamodel.rst:866 msgid "" "Class instances can pretend to be numbers, sequences, or mappings if they " "have methods with certain special names. See section :ref:`specialnames`." msgstr "" -#: ../Doc/reference/datamodel.rst:851 +#: ../Doc/reference/datamodel.rst:873 msgid "" "Special attributes: :attr:`~object.__dict__` is the attribute dictionary; :" "attr:`~instance.__class__` is the instance's class." msgstr "" -#: ../Doc/reference/datamodel.rst:878 +#: ../Doc/reference/datamodel.rst:900 msgid "I/O objects (also known as file objects)" msgstr "" -#: ../Doc/reference/datamodel.rst:868 +#: ../Doc/reference/datamodel.rst:890 msgid "" "A :term:`file object` represents an open file. Various shortcuts are " "available to create file objects: the :func:`open` built-in function, and " @@ -1345,7 +1384,7 @@ msgid "" "methods provided by extension modules)." msgstr "" -#: ../Doc/reference/datamodel.rst:874 +#: ../Doc/reference/datamodel.rst:896 msgid "" "The objects ``sys.stdin``, ``sys.stdout`` and ``sys.stderr`` are initialized " "to file objects corresponding to the interpreter's standard input, output " @@ -1353,22 +1392,22 @@ msgid "" "interface defined by the :class:`io.TextIOBase` abstract class." msgstr "" -#: ../Doc/reference/datamodel.rst:1123 +#: ../Doc/reference/datamodel.rst:1145 msgid "Internal types" msgstr "" -#: ../Doc/reference/datamodel.rst:885 +#: ../Doc/reference/datamodel.rst:907 msgid "" "A few types used internally by the interpreter are exposed to the user. " "Their definitions may change with future versions of the interpreter, but " "they are mentioned here for completeness." msgstr "" -#: ../Doc/reference/datamodel.rst:960 +#: ../Doc/reference/datamodel.rst:982 msgid "Code objects" msgstr "" -#: ../Doc/reference/datamodel.rst:892 +#: ../Doc/reference/datamodel.rst:914 msgid "" "Code objects represent *byte-compiled* executable Python code, or :term:" "`bytecode`. The difference between a code object and a function object is " @@ -1380,7 +1419,7 @@ msgid "" "no references (directly or indirectly) to mutable objects." msgstr "" -#: ../Doc/reference/datamodel.rst:919 +#: ../Doc/reference/datamodel.rst:941 msgid "" "Special read-only attributes: :attr:`co_name` gives the function name; :attr:" "`co_argcount` is the total number of positional arguments (including " @@ -1404,7 +1443,7 @@ msgid "" "`co_flags` is an integer encoding a number of flags for the interpreter." msgstr "" -#: ../Doc/reference/datamodel.rst:943 +#: ../Doc/reference/datamodel.rst:965 msgid "" "The following flag bits are defined for :attr:`co_flags`: bit ``0x04`` is " "set if the function uses the ``*arguments`` syntax to accept an arbitrary " @@ -1413,7 +1452,7 @@ msgid "" "set if the function is a generator." msgstr "" -#: ../Doc/reference/datamodel.rst:949 +#: ../Doc/reference/datamodel.rst:971 msgid "" "Future feature declarations (``from __future__ import division``) also use " "bits in :attr:`co_flags` to indicate whether a code object was compiled with " @@ -1422,27 +1461,27 @@ msgid "" "used in earlier versions of Python." msgstr "" -#: ../Doc/reference/datamodel.rst:955 +#: ../Doc/reference/datamodel.rst:977 msgid "Other bits in :attr:`co_flags` are reserved for internal use." msgstr "" -#: ../Doc/reference/datamodel.rst:959 +#: ../Doc/reference/datamodel.rst:981 msgid "" "If a code object represents a function, the first item in :attr:`co_consts` " "is the documentation string of the function, or ``None`` if undefined." msgstr "" -#: ../Doc/reference/datamodel.rst:1019 +#: ../Doc/reference/datamodel.rst:1041 msgid "Frame objects" msgstr "" -#: ../Doc/reference/datamodel.rst:967 +#: ../Doc/reference/datamodel.rst:989 msgid "" "Frame objects represent execution frames. They may occur in traceback " "objects (see below), and are also passed to registered trace functions." msgstr "" -#: ../Doc/reference/datamodel.rst:978 +#: ../Doc/reference/datamodel.rst:1000 msgid "" "Special read-only attributes: :attr:`f_back` is to the previous stack frame " "(towards the caller), or ``None`` if this is the bottom stack frame; :attr:" @@ -1453,7 +1492,7 @@ msgid "" "the bytecode string of the code object)." msgstr "" -#: ../Doc/reference/datamodel.rst:992 +#: ../Doc/reference/datamodel.rst:1014 msgid "" "Special writable attributes: :attr:`f_trace`, if not ``None``, is a function " "called for various events during code execution (this is used by the " @@ -1461,7 +1500,7 @@ msgid "" "can be disabled by setting :attr:`f_trace_lines` to :const:`False`." msgstr "" -#: ../Doc/reference/datamodel.rst:997 +#: ../Doc/reference/datamodel.rst:1019 msgid "" "Implementations *may* allow per-opcode events to be requested by setting :" "attr:`f_trace_opcodes` to :const:`True`. Note that this may lead to " @@ -1469,7 +1508,7 @@ msgid "" "escape to the function being traced." msgstr "" -#: ../Doc/reference/datamodel.rst:1002 +#: ../Doc/reference/datamodel.rst:1024 msgid "" ":attr:`f_lineno` is the current line number of the frame --- writing to this " "from within a trace function jumps to the given line (only for the bottom-" @@ -1477,11 +1516,11 @@ msgid "" "Statement) by writing to f_lineno." msgstr "" -#: ../Doc/reference/datamodel.rst:1007 +#: ../Doc/reference/datamodel.rst:1029 msgid "Frame objects support one method:" msgstr "" -#: ../Doc/reference/datamodel.rst:1011 +#: ../Doc/reference/datamodel.rst:1033 msgid "" "This method clears all references to local variables held by the frame. " "Also, if the frame belonged to a generator, the generator is finalized. " @@ -1489,22 +1528,22 @@ msgid "" "catching an exception and storing its traceback for later use)." msgstr "" -#: ../Doc/reference/datamodel.rst:1017 +#: ../Doc/reference/datamodel.rst:1039 msgid ":exc:`RuntimeError` is raised if the frame is currently executing." msgstr "" -#: ../Doc/reference/datamodel.rst:1079 +#: ../Doc/reference/datamodel.rst:1101 msgid "Traceback objects" msgstr "" -#: ../Doc/reference/datamodel.rst:1034 +#: ../Doc/reference/datamodel.rst:1056 msgid "" "Traceback objects represent a stack trace of an exception. A traceback " "object is implicitly created when an exception occurs, and may also be " "explicitly created by calling :class:`types.TracebackType`." msgstr "" -#: ../Doc/reference/datamodel.rst:1038 +#: ../Doc/reference/datamodel.rst:1060 msgid "" "For implicitly created tracebacks, when the search for an exception handler " "unwinds the execution stack, at each unwound level a traceback object is " @@ -1514,21 +1553,21 @@ msgid "" "exc_info()``, and as the ``__traceback__`` attribute of the caught exception." msgstr "" -#: ../Doc/reference/datamodel.rst:1046 +#: ../Doc/reference/datamodel.rst:1068 msgid "" "When the program contains no suitable handler, the stack trace is written " "(nicely formatted) to the standard error stream; if the interpreter is " "interactive, it is also made available to the user as ``sys.last_traceback``." msgstr "" -#: ../Doc/reference/datamodel.rst:1051 +#: ../Doc/reference/datamodel.rst:1073 msgid "" "For explicitly created tracebacks, it is up to the creator of the traceback " "to determine how the ``tb_next`` attributes should be linked to form a full " "stack trace." msgstr "" -#: ../Doc/reference/datamodel.rst:1061 +#: ../Doc/reference/datamodel.rst:1083 msgid "" "Special read-only attributes: :attr:`tb_frame` points to the execution frame " "of the current level; :attr:`tb_lineno` gives the line number where the " @@ -1538,41 +1577,41 @@ msgid "" "statement with no matching except clause or with a finally clause." msgstr "" -#: ../Doc/reference/datamodel.rst:1073 +#: ../Doc/reference/datamodel.rst:1095 msgid "" "Special writable attribute: :attr:`tb_next` is the next level in the stack " "trace (towards the frame where the exception occurred), or ``None`` if there " "is no next level." msgstr "" -#: ../Doc/reference/datamodel.rst:1077 +#: ../Doc/reference/datamodel.rst:1099 msgid "" "Traceback objects can now be explicitly instantiated from Python code, and " "the ``tb_next`` attribute of existing instances can be updated." msgstr "" -#: ../Doc/reference/datamodel.rst:1105 +#: ../Doc/reference/datamodel.rst:1127 msgid "Slice objects" msgstr "" -#: ../Doc/reference/datamodel.rst:1084 +#: ../Doc/reference/datamodel.rst:1106 msgid "" "Slice objects are used to represent slices for :meth:`__getitem__` methods. " "They are also created by the built-in :func:`slice` function." msgstr "" -#: ../Doc/reference/datamodel.rst:1092 +#: ../Doc/reference/datamodel.rst:1114 msgid "" "Special read-only attributes: :attr:`~slice.start` is the lower bound; :attr:" "`~slice.stop` is the upper bound; :attr:`~slice.step` is the step value; " "each is ``None`` if omitted. These attributes can have any type." msgstr "" -#: ../Doc/reference/datamodel.rst:1096 +#: ../Doc/reference/datamodel.rst:1118 msgid "Slice objects support one method:" msgstr "" -#: ../Doc/reference/datamodel.rst:1100 +#: ../Doc/reference/datamodel.rst:1122 msgid "" "This method takes a single integer argument *length* and computes " "information about the slice that the slice object would describe if applied " @@ -1582,11 +1621,11 @@ msgid "" "a manner consistent with regular slices." msgstr "" -#: ../Doc/reference/datamodel.rst:1115 +#: ../Doc/reference/datamodel.rst:1137 msgid "Static method objects" msgstr "" -#: ../Doc/reference/datamodel.rst:1108 +#: ../Doc/reference/datamodel.rst:1130 msgid "" "Static method objects provide a way of defeating the transformation of " "function objects to method objects described above. A static method object " @@ -1598,11 +1637,11 @@ msgid "" "are created by the built-in :func:`staticmethod` constructor." msgstr "" -#: ../Doc/reference/datamodel.rst:1123 +#: ../Doc/reference/datamodel.rst:1145 msgid "Class method objects" msgstr "" -#: ../Doc/reference/datamodel.rst:1118 +#: ../Doc/reference/datamodel.rst:1140 msgid "" "A class method object, like a static method object, is a wrapper around " "another object that alters the way in which that object is retrieved from " @@ -1611,11 +1650,11 @@ msgid "" "objects are created by the built-in :func:`classmethod` constructor." msgstr "" -#: ../Doc/reference/datamodel.rst:1128 +#: ../Doc/reference/datamodel.rst:1150 msgid "Special method names" msgstr "" -#: ../Doc/reference/datamodel.rst:1134 +#: ../Doc/reference/datamodel.rst:1156 msgid "" "A class can implement certain operations that are invoked by special syntax " "(such as arithmetic operations or subscripting and slicing) by defining " @@ -1629,7 +1668,7 @@ msgid "" "`TypeError`)." msgstr "" -#: ../Doc/reference/datamodel.rst:1144 +#: ../Doc/reference/datamodel.rst:1166 msgid "" "Setting a special method to ``None`` indicates that the corresponding " "operation is not available. For example, if a class sets :meth:`__iter__` " @@ -1638,7 +1677,7 @@ msgid "" "`__getitem__`). [#]_" msgstr "" -#: ../Doc/reference/datamodel.rst:1150 +#: ../Doc/reference/datamodel.rst:1172 msgid "" "When implementing a class that emulates any built-in type, it is important " "that the emulation only be implemented to the degree that it makes sense for " @@ -1648,11 +1687,11 @@ msgid "" "the W3C's Document Object Model.)" msgstr "" -#: ../Doc/reference/datamodel.rst:1161 +#: ../Doc/reference/datamodel.rst:1183 msgid "Basic customization" msgstr "" -#: ../Doc/reference/datamodel.rst:1167 +#: ../Doc/reference/datamodel.rst:1189 msgid "" "Called to create a new instance of class *cls*. :meth:`__new__` is a static " "method (special-cased so you need not declare it as such) that takes the " @@ -1662,7 +1701,7 @@ msgid "" "new object instance (usually an instance of *cls*)." msgstr "" -#: ../Doc/reference/datamodel.rst:1174 +#: ../Doc/reference/datamodel.rst:1196 msgid "" "Typical implementations create a new instance of the class by invoking the " "superclass's :meth:`__new__` method using ``super().__new__(cls[, ...])`` " @@ -1670,7 +1709,7 @@ msgid "" "necessary before returning it." msgstr "" -#: ../Doc/reference/datamodel.rst:1179 +#: ../Doc/reference/datamodel.rst:1201 msgid "" "If :meth:`__new__` is invoked during object construction and it returns an " "instance or subclass of *cls*, then the new instance’s :meth:`__init__` " @@ -1679,13 +1718,13 @@ msgid "" "object constructor." msgstr "" -#: ../Doc/reference/datamodel.rst:1184 +#: ../Doc/reference/datamodel.rst:1206 msgid "" "If :meth:`__new__` does not return an instance of *cls*, then the new " "instance's :meth:`__init__` method will not be invoked." msgstr "" -#: ../Doc/reference/datamodel.rst:1187 +#: ../Doc/reference/datamodel.rst:1209 msgid "" ":meth:`__new__` is intended mainly to allow subclasses of immutable types " "(like int, str, or tuple) to customize instance creation. It is also " @@ -1693,7 +1732,7 @@ msgid "" "creation." msgstr "" -#: ../Doc/reference/datamodel.rst:1196 +#: ../Doc/reference/datamodel.rst:1218 msgid "" "Called after the instance has been created (by :meth:`__new__`), but before " "it is returned to the caller. The arguments are those passed to the class " @@ -1703,7 +1742,7 @@ msgid "" "example: ``super().__init__([args...])``." msgstr "" -#: ../Doc/reference/datamodel.rst:1203 +#: ../Doc/reference/datamodel.rst:1225 msgid "" "Because :meth:`__new__` and :meth:`__init__` work together in constructing " "objects (:meth:`__new__` to create it, and :meth:`__init__` to customize " @@ -1711,7 +1750,7 @@ msgid "" "will cause a :exc:`TypeError` to be raised at runtime." msgstr "" -#: ../Doc/reference/datamodel.rst:1216 +#: ../Doc/reference/datamodel.rst:1238 msgid "" "Called when the instance is about to be destroyed. This is also called a " "finalizer or (improperly) a destructor. If a base class has a :meth:" @@ -1720,7 +1759,7 @@ msgid "" "instance." msgstr "" -#: ../Doc/reference/datamodel.rst:1222 +#: ../Doc/reference/datamodel.rst:1244 msgid "" "It is possible (though not recommended!) for the :meth:`__del__` method to " "postpone destruction of the instance by creating a new reference to it. " @@ -1730,31 +1769,31 @@ msgid "" "it once." msgstr "" -#: ../Doc/reference/datamodel.rst:1229 +#: ../Doc/reference/datamodel.rst:1251 msgid "" "It is not guaranteed that :meth:`__del__` methods are called for objects " "that still exist when the interpreter exits." msgstr "" -#: ../Doc/reference/datamodel.rst:1234 +#: ../Doc/reference/datamodel.rst:1256 msgid "" "``del x`` doesn't directly call ``x.__del__()`` --- the former decrements " "the reference count for ``x`` by one, and the latter is only called when " "``x``'s reference count reaches zero." msgstr "" -#: ../Doc/reference/datamodel.rst:1249 +#: ../Doc/reference/datamodel.rst:1271 msgid "Documentation for the :mod:`gc` module." msgstr "" -#: ../Doc/reference/datamodel.rst:1253 +#: ../Doc/reference/datamodel.rst:1275 msgid "" "Due to the precarious circumstances under which :meth:`__del__` methods are " "invoked, exceptions that occur during their execution are ignored, and a " "warning is printed to ``sys.stderr`` instead. In particular:" msgstr "" -#: ../Doc/reference/datamodel.rst:1257 +#: ../Doc/reference/datamodel.rst:1279 msgid "" ":meth:`__del__` can be invoked when arbitrary code is being executed, " "including from any arbitrary thread. If :meth:`__del__` needs to take a " @@ -1763,7 +1802,7 @@ msgid "" "`__del__`." msgstr "" -#: ../Doc/reference/datamodel.rst:1263 +#: ../Doc/reference/datamodel.rst:1285 msgid "" ":meth:`__del__` can be executed during interpreter shutdown. As a " "consequence, the global variables it needs to access (including other " @@ -1774,7 +1813,7 @@ msgid "" "still available at the time when the :meth:`__del__` method is called." msgstr "" -#: ../Doc/reference/datamodel.rst:1278 +#: ../Doc/reference/datamodel.rst:1300 msgid "" "Called by the :func:`repr` built-in function to compute the \"official\" " "string representation of an object. If at all possible, this should look " @@ -1786,13 +1825,13 @@ msgid "" "an \"informal\" string representation of instances of that class is required." msgstr "" -#: ../Doc/reference/datamodel.rst:1287 +#: ../Doc/reference/datamodel.rst:1309 msgid "" "This is typically used for debugging, so it is important that the " "representation is information-rich and unambiguous." msgstr "" -#: ../Doc/reference/datamodel.rst:1298 +#: ../Doc/reference/datamodel.rst:1320 msgid "" "Called by :func:`str(object) ` and the built-in functions :func:" "`format` and :func:`print` to compute the \"informal\" or nicely printable " @@ -1800,26 +1839,26 @@ msgid "" "` object." msgstr "" -#: ../Doc/reference/datamodel.rst:1303 +#: ../Doc/reference/datamodel.rst:1325 msgid "" "This method differs from :meth:`object.__repr__` in that there is no " "expectation that :meth:`__str__` return a valid Python expression: a more " "convenient or concise representation can be used." msgstr "" -#: ../Doc/reference/datamodel.rst:1307 +#: ../Doc/reference/datamodel.rst:1329 msgid "" "The default implementation defined by the built-in type :class:`object` " "calls :meth:`object.__repr__`." msgstr "" -#: ../Doc/reference/datamodel.rst:1317 +#: ../Doc/reference/datamodel.rst:1339 msgid "" "Called by :ref:`bytes ` to compute a byte-string representation " "of an object. This should return a :class:`bytes` object." msgstr "" -#: ../Doc/reference/datamodel.rst:1328 +#: ../Doc/reference/datamodel.rst:1350 msgid "" "Called by the :func:`format` built-in function, and by extension, evaluation " "of :ref:`formatted string literals ` and the :meth:`str.format` " @@ -1831,28 +1870,28 @@ msgid "" "formatting option syntax." msgstr "" -#: ../Doc/reference/datamodel.rst:1338 +#: ../Doc/reference/datamodel.rst:1360 msgid "" "See :ref:`formatspec` for a description of the standard formatting syntax." msgstr "" -#: ../Doc/reference/datamodel.rst:1340 +#: ../Doc/reference/datamodel.rst:1362 msgid "The return value must be a string object." msgstr "" -#: ../Doc/reference/datamodel.rst:1342 +#: ../Doc/reference/datamodel.rst:1364 msgid "" "The __format__ method of ``object`` itself raises a :exc:`TypeError` if " "passed any non-empty string." msgstr "" -#: ../Doc/reference/datamodel.rst:1346 +#: ../Doc/reference/datamodel.rst:1368 msgid "" "``object.__format__(x, '')`` is now equivalent to ``str(x)`` rather than " -"``format(str(self), '')``." +"``format(str(x), '')``." msgstr "" -#: ../Doc/reference/datamodel.rst:1362 +#: ../Doc/reference/datamodel.rst:1384 msgid "" "These are the so-called \"rich comparison\" methods. The correspondence " "between operator symbols and method names is as follows: ``x.__hash__``." msgstr "" -#: ../Doc/reference/datamodel.rst:1449 +#: ../Doc/reference/datamodel.rst:1473 msgid "" "If a class that does not override :meth:`__eq__` wishes to suppress hash " "support, it should include ``__hash__ = None`` in the class definition. A " @@ -1969,7 +2010,7 @@ msgid "" "``isinstance(obj, collections.abc.Hashable)`` call." msgstr "" -#: ../Doc/reference/datamodel.rst:1458 +#: ../Doc/reference/datamodel.rst:1482 msgid "" "By default, the :meth:`__hash__` values of str and bytes objects are \"salted" "\" with an unpredictable random value. Although they remain constant within " @@ -1977,7 +2018,7 @@ msgid "" "invocations of Python." msgstr "" -#: ../Doc/reference/datamodel.rst:1463 +#: ../Doc/reference/datamodel.rst:1487 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 " @@ -1985,22 +2026,22 @@ msgid "" "ocert-2011-003.html for details." msgstr "" -#: ../Doc/reference/datamodel.rst:1468 +#: ../Doc/reference/datamodel.rst:1492 msgid "" "Changing hash values affects the iteration order of sets. Python has never " "made guarantees about this ordering (and it typically varies between 32-bit " "and 64-bit builds)." msgstr "" -#: ../Doc/reference/datamodel.rst:1472 +#: ../Doc/reference/datamodel.rst:1496 msgid "See also :envvar:`PYTHONHASHSEED`." msgstr "" -#: ../Doc/reference/datamodel.rst:1474 +#: ../Doc/reference/datamodel.rst:1498 msgid "Hash randomization is enabled by default." msgstr "" -#: ../Doc/reference/datamodel.rst:1482 +#: ../Doc/reference/datamodel.rst:1506 msgid "" "Called to implement truth value testing and the built-in operation " "``bool()``; should return ``False`` or ``True``. When this method is not " @@ -2009,18 +2050,18 @@ msgid "" "`__len__` nor :meth:`__bool__`, all its instances are considered true." msgstr "" -#: ../Doc/reference/datamodel.rst:1493 +#: ../Doc/reference/datamodel.rst:1517 msgid "Customizing attribute access" msgstr "" -#: ../Doc/reference/datamodel.rst:1495 +#: ../Doc/reference/datamodel.rst:1519 msgid "" "The following methods can be defined to customize the meaning of attribute " "access (use of, assignment to, or deletion of ``x.name``) for class " "instances." msgstr "" -#: ../Doc/reference/datamodel.rst:1503 +#: ../Doc/reference/datamodel.rst:1527 msgid "" "Called when the default attribute access fails with an :exc:`AttributeError` " "(either :meth:`__getattribute__` raises an :exc:`AttributeError` because " @@ -2030,7 +2071,7 @@ msgid "" "attribute value or raise an :exc:`AttributeError` exception." msgstr "" -#: ../Doc/reference/datamodel.rst:1510 +#: ../Doc/reference/datamodel.rst:1534 msgid "" "Note that if the attribute is found through the normal mechanism, :meth:" "`__getattr__` is not called. (This is an intentional asymmetry between :" @@ -2043,7 +2084,7 @@ msgid "" "actually get total control over attribute access." msgstr "" -#: ../Doc/reference/datamodel.rst:1523 +#: ../Doc/reference/datamodel.rst:1547 msgid "" "Called unconditionally to implement attribute accesses for instances of the " "class. If the class also defines :meth:`__getattr__`, the latter will not be " @@ -2055,45 +2096,82 @@ msgid "" "example, ``object.__getattribute__(self, name)``." msgstr "" -#: ../Doc/reference/datamodel.rst:1534 +#: ../Doc/reference/datamodel.rst:1558 msgid "" "This method may still be bypassed when looking up special methods as the " "result of implicit invocation via language syntax or built-in functions. " "See :ref:`special-lookup`." msgstr "" -#: ../Doc/reference/datamodel.rst:1541 +#: ../Doc/reference/datamodel.rst:1562 +msgid "" +"Raises an :ref:`auditing event ` ``object.__getattr__`` with " +"arguments ``obj``, ``name``." +msgstr "" + +#: ../Doc/reference/datamodel.rst:1564 +msgid "" +"For certain sensitive attribute accesses, raises an :ref:`auditing event " +"` ``object.__getattr__`` with arguments ``obj`` and ``name``." +msgstr "" + +#: ../Doc/reference/datamodel.rst:1571 msgid "" "Called when an attribute assignment is attempted. This is called instead of " "the normal mechanism (i.e. store the value in the instance dictionary). " "*name* is the attribute name, *value* is the value to be assigned to it." msgstr "" -#: ../Doc/reference/datamodel.rst:1545 +#: ../Doc/reference/datamodel.rst:1575 msgid "" "If :meth:`__setattr__` wants to assign to an instance attribute, it should " "call the base class method with the same name, for example, ``object." "__setattr__(self, name, value)``." msgstr "" -#: ../Doc/reference/datamodel.rst:1552 +#: ../Doc/reference/datamodel.rst:1579 +msgid "" +"Raises an :ref:`auditing event ` ``object.__setattr__`` with " +"arguments ``obj``, ``name``, ``value``." +msgstr "" + +#: ../Doc/reference/datamodel.rst:1581 +msgid "" +"For certain sensitive attribute assignments, raises an :ref:`auditing event " +"` ``object.__setattr__`` with arguments ``obj``, ``name``, " +"``value``." +msgstr "" + +#: ../Doc/reference/datamodel.rst:1588 msgid "" "Like :meth:`__setattr__` but for attribute deletion instead of assignment. " "This should only be implemented if ``del obj.name`` is meaningful for the " "object." msgstr "" -#: ../Doc/reference/datamodel.rst:1558 +#: ../Doc/reference/datamodel.rst:1591 +msgid "" +"Raises an :ref:`auditing event ` ``object.__delattr__`` with " +"arguments ``obj``, ``name``." +msgstr "" + +#: ../Doc/reference/datamodel.rst:1593 +msgid "" +"For certain sensitive attribute deletions, raises an :ref:`auditing event " +"` ``object.__delattr__`` with arguments ``obj`` and ``name``." +msgstr "" + +#: ../Doc/reference/datamodel.rst:1600 msgid "" "Called when :func:`dir` is called on the object. A sequence must be " "returned. :func:`dir` converts the returned sequence to a list and sorts it." msgstr "" -#: ../Doc/reference/datamodel.rst:1563 +#: ../Doc/reference/datamodel.rst:1605 msgid "Customizing module attribute access" msgstr "" -#: ../Doc/reference/datamodel.rst:1570 +#: ../Doc/reference/datamodel.rst:1612 msgid "" "Special names ``__getattr__`` and ``__dir__`` can be also used to customize " "access to module attributes. The ``__getattr__`` function at the module " @@ -2105,21 +2183,21 @@ msgid "" "with the attribute name and the result is returned." msgstr "" -#: ../Doc/reference/datamodel.rst:1579 +#: ../Doc/reference/datamodel.rst:1621 msgid "" "The ``__dir__`` function should accept no arguments, and return a sequence " "of strings that represents the names accessible on module. If present, this " "function overrides the standard :func:`dir` search on a module." msgstr "" -#: ../Doc/reference/datamodel.rst:1583 +#: ../Doc/reference/datamodel.rst:1625 msgid "" "For a more fine grained customization of the module behavior (setting " "attributes, properties, etc.), one can set the ``__class__`` attribute of a " "module object to a subclass of :class:`types.ModuleType`. For example::" msgstr "" -#: ../Doc/reference/datamodel.rst:1601 +#: ../Doc/reference/datamodel.rst:1643 msgid "" "Defining module ``__getattr__`` and setting module ``__class__`` only affect " "lookups made using the attribute access syntax -- directly accessing the " @@ -2127,27 +2205,27 @@ msgid "" "module's globals dictionary) is unaffected." msgstr "" -#: ../Doc/reference/datamodel.rst:1606 +#: ../Doc/reference/datamodel.rst:1648 msgid "``__class__`` module attribute is now writable." msgstr "" -#: ../Doc/reference/datamodel.rst:1609 +#: ../Doc/reference/datamodel.rst:1651 msgid "``__getattr__`` and ``__dir__`` module attributes." msgstr "" -#: ../Doc/reference/datamodel.rst:1614 +#: ../Doc/reference/datamodel.rst:1656 msgid ":pep:`562` - Module __getattr__ and __dir__" msgstr "" -#: ../Doc/reference/datamodel.rst:1615 +#: ../Doc/reference/datamodel.rst:1657 msgid "Describes the ``__getattr__`` and ``__dir__`` functions on modules." msgstr "" -#: ../Doc/reference/datamodel.rst:1621 +#: ../Doc/reference/datamodel.rst:1663 msgid "Implementing Descriptors" msgstr "" -#: ../Doc/reference/datamodel.rst:1623 +#: ../Doc/reference/datamodel.rst:1665 msgid "" "The following methods only apply when an instance of the class containing " "the method (a so-called *descriptor* class) appears in an *owner* class (the " @@ -2157,7 +2235,7 @@ msgid "" "owner class' :attr:`~object.__dict__`." msgstr "" -#: ../Doc/reference/datamodel.rst:1633 +#: ../Doc/reference/datamodel.rst:1675 msgid "" "Called to get the attribute of the owner class (class attribute access) or " "of an instance of that class (instance attribute access). The optional " @@ -2166,13 +2244,13 @@ msgid "" "accessed through the *owner*." msgstr "" -#: ../Doc/reference/datamodel.rst:1639 +#: ../Doc/reference/datamodel.rst:1681 msgid "" "This method should return the computed attribute value or raise an :exc:" "`AttributeError` exception." msgstr "" -#: ../Doc/reference/datamodel.rst:1642 +#: ../Doc/reference/datamodel.rst:1684 msgid "" ":PEP:`252` specifies that :meth:`__get__` is callable with one or two " "arguments. Python's own built-in descriptors support this specification; " @@ -2182,42 +2260,42 @@ msgid "" "not." msgstr "" -#: ../Doc/reference/datamodel.rst:1651 +#: ../Doc/reference/datamodel.rst:1693 msgid "" "Called to set the attribute on an instance *instance* of the owner class to " "a new value, *value*." msgstr "" -#: ../Doc/reference/datamodel.rst:1654 +#: ../Doc/reference/datamodel.rst:1696 msgid "" "Note, adding :meth:`__set__` or :meth:`__delete__` changes the kind of " "descriptor to a \"data descriptor\". See :ref:`descriptor-invocation` for " "more details." msgstr "" -#: ../Doc/reference/datamodel.rst:1660 +#: ../Doc/reference/datamodel.rst:1702 msgid "" "Called to delete the attribute on an instance *instance* of the owner class." msgstr "" -#: ../Doc/reference/datamodel.rst:1665 +#: ../Doc/reference/datamodel.rst:1707 msgid "" "Called at the time the owning class *owner* is created. The descriptor has " "been assigned to *name*." msgstr "" -#: ../Doc/reference/datamodel.rst:1670 +#: ../Doc/reference/datamodel.rst:1712 msgid "" ":meth:`__set_name__` is only called implicitly as part of the :class:`type` " "constructor, so it will need to be called explicitly with the appropriate " "parameters when a descriptor is added to a class after initial creation::" msgstr "" -#: ../Doc/reference/datamodel.rst:1681 +#: ../Doc/reference/datamodel.rst:1723 msgid "See :ref:`class-object-creation` for more details." msgstr "" -#: ../Doc/reference/datamodel.rst:1685 +#: ../Doc/reference/datamodel.rst:1727 msgid "" "The attribute :attr:`__objclass__` is interpreted by the :mod:`inspect` " "module as specifying the class where this object was defined (setting this " @@ -2228,11 +2306,11 @@ msgid "" "are implemented in C)." msgstr "" -#: ../Doc/reference/datamodel.rst:1696 +#: ../Doc/reference/datamodel.rst:1738 msgid "Invoking Descriptors" msgstr "" -#: ../Doc/reference/datamodel.rst:1698 +#: ../Doc/reference/datamodel.rst:1740 msgid "" "In general, a descriptor is an object attribute with \"binding behavior\", " "one whose attribute access has been overridden by methods in the descriptor " @@ -2240,7 +2318,7 @@ msgid "" "of those methods are defined for an object, it is said to be a descriptor." msgstr "" -#: ../Doc/reference/datamodel.rst:1703 +#: ../Doc/reference/datamodel.rst:1745 msgid "" "The default behavior for attribute access is to get, set, or delete the " "attribute from an object's dictionary. For instance, ``a.x`` has a lookup " @@ -2248,7 +2326,7 @@ msgid "" "continuing through the base classes of ``type(a)`` excluding metaclasses." msgstr "" -#: ../Doc/reference/datamodel.rst:1708 +#: ../Doc/reference/datamodel.rst:1750 msgid "" "However, if the looked-up value is an object defining one of the descriptor " "methods, then Python may override the default behavior and invoke the " @@ -2256,47 +2334,47 @@ msgid "" "depends on which descriptor methods were defined and how they were called." msgstr "" -#: ../Doc/reference/datamodel.rst:1713 +#: ../Doc/reference/datamodel.rst:1755 msgid "" "The starting point for descriptor invocation is a binding, ``a.x``. How the " "arguments are assembled depends on ``a``:" msgstr "" -#: ../Doc/reference/datamodel.rst:1718 +#: ../Doc/reference/datamodel.rst:1760 msgid "Direct Call" msgstr "" -#: ../Doc/reference/datamodel.rst:1717 +#: ../Doc/reference/datamodel.rst:1759 msgid "" "The simplest and least common call is when user code directly invokes a " "descriptor method: ``x.__get__(a)``." msgstr "" -#: ../Doc/reference/datamodel.rst:1722 +#: ../Doc/reference/datamodel.rst:1764 msgid "Instance Binding" msgstr "" -#: ../Doc/reference/datamodel.rst:1721 +#: ../Doc/reference/datamodel.rst:1763 msgid "" "If binding to an object instance, ``a.x`` is transformed into the call: " "``type(a).__dict__['x'].__get__(a, type(a))``." msgstr "" -#: ../Doc/reference/datamodel.rst:1726 +#: ../Doc/reference/datamodel.rst:1768 msgid "Class Binding" msgstr "" -#: ../Doc/reference/datamodel.rst:1725 +#: ../Doc/reference/datamodel.rst:1767 msgid "" "If binding to a class, ``A.x`` is transformed into the call: ``A." "__dict__['x'].__get__(None, A)``." msgstr "" -#: ../Doc/reference/datamodel.rst:1732 +#: ../Doc/reference/datamodel.rst:1774 msgid "Super Binding" msgstr "" -#: ../Doc/reference/datamodel.rst:1729 +#: ../Doc/reference/datamodel.rst:1771 msgid "" "If ``a`` is an instance of :class:`super`, then the binding ``super(B, obj)." "m()`` searches ``obj.__class__.__mro__`` for the base class ``A`` " @@ -2304,7 +2382,7 @@ msgid "" "``A.__dict__['m'].__get__(obj, obj.__class__)``." msgstr "" -#: ../Doc/reference/datamodel.rst:1734 +#: ../Doc/reference/datamodel.rst:1776 msgid "" "For instance bindings, the precedence of descriptor invocation depends on " "the which descriptor methods are defined. A descriptor can define any " @@ -2315,12 +2393,13 @@ msgid "" "`__delete__`, it is a data descriptor; if it defines neither, it is a non-" "data descriptor. Normally, data descriptors define both :meth:`__get__` " "and :meth:`__set__`, while non-data descriptors have just the :meth:" -"`__get__` method. Data descriptors with :meth:`__set__` and :meth:`__get__` " -"defined always override a redefinition in an instance dictionary. In " -"contrast, non-data descriptors can be overridden by instances." +"`__get__` method. Data descriptors with :meth:`__get__` and :meth:`__set__` " +"(and/or :meth:`__delete__`) defined always override a redefinition in an " +"instance dictionary. In contrast, non-data descriptors can be overridden by " +"instances." msgstr "" -#: ../Doc/reference/datamodel.rst:1747 +#: ../Doc/reference/datamodel.rst:1789 msgid "" "Python methods (including :func:`staticmethod` and :func:`classmethod`) are " "implemented as non-data descriptors. Accordingly, instances can redefine " @@ -2328,30 +2407,30 @@ msgid "" "that differ from other instances of the same class." msgstr "" -#: ../Doc/reference/datamodel.rst:1752 +#: ../Doc/reference/datamodel.rst:1794 msgid "" "The :func:`property` function is implemented as a data descriptor. " "Accordingly, instances cannot override the behavior of a property." msgstr "" -#: ../Doc/reference/datamodel.rst:1759 +#: ../Doc/reference/datamodel.rst:1801 msgid "__slots__" msgstr "" -#: ../Doc/reference/datamodel.rst:1761 +#: ../Doc/reference/datamodel.rst:1803 msgid "" "*__slots__* allow us to explicitly declare data members (like properties) " "and deny the creation of *__dict__* and *__weakref__* (unless explicitly " "declared in *__slots__* or available in a parent.)" msgstr "" -#: ../Doc/reference/datamodel.rst:1765 +#: ../Doc/reference/datamodel.rst:1807 msgid "" "The space saved over using *__dict__* can be significant. Attribute lookup " "speed can be significantly improved as well." msgstr "" -#: ../Doc/reference/datamodel.rst:1770 +#: ../Doc/reference/datamodel.rst:1812 msgid "" "This class variable can be assigned a string, iterable, or sequence of " "strings with variable names used by instances. *__slots__* reserves space " @@ -2359,17 +2438,17 @@ msgid "" "and *__weakref__* for each instance." msgstr "" -#: ../Doc/reference/datamodel.rst:1777 +#: ../Doc/reference/datamodel.rst:1819 msgid "Notes on using *__slots__*" msgstr "" -#: ../Doc/reference/datamodel.rst:1779 +#: ../Doc/reference/datamodel.rst:1821 msgid "" "When inheriting from a class without *__slots__*, the *__dict__* and " "*__weakref__* attribute of the instances will always be accessible." msgstr "" -#: ../Doc/reference/datamodel.rst:1782 +#: ../Doc/reference/datamodel.rst:1824 msgid "" "Without a *__dict__* variable, instances cannot be assigned new variables " "not listed in the *__slots__* definition. Attempts to assign to an unlisted " @@ -2378,7 +2457,7 @@ msgid "" "the *__slots__* declaration." msgstr "" -#: ../Doc/reference/datamodel.rst:1788 +#: ../Doc/reference/datamodel.rst:1830 msgid "" "Without a *__weakref__* variable for each instance, classes defining " "*__slots__* do not support weak references to its instances. If weak " @@ -2386,7 +2465,7 @@ msgid "" "strings in the *__slots__* declaration." msgstr "" -#: ../Doc/reference/datamodel.rst:1793 +#: ../Doc/reference/datamodel.rst:1835 msgid "" "*__slots__* are implemented at the class level by creating descriptors (:ref:" "`descriptors`) for each variable name. As a result, class attributes cannot " @@ -2394,7 +2473,7 @@ msgid "" "otherwise, the class attribute would overwrite the descriptor assignment." msgstr "" -#: ../Doc/reference/datamodel.rst:1799 +#: ../Doc/reference/datamodel.rst:1841 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. " @@ -2403,7 +2482,7 @@ msgid "" "*additional* slots)." msgstr "" -#: ../Doc/reference/datamodel.rst:1805 +#: ../Doc/reference/datamodel.rst:1847 msgid "" "If a class defines a slot also defined in a base class, the instance " "variable defined by the base class slot is inaccessible (except by " @@ -2412,43 +2491,43 @@ msgid "" "prevent this." msgstr "" -#: ../Doc/reference/datamodel.rst:1810 +#: ../Doc/reference/datamodel.rst:1852 msgid "" "Nonempty *__slots__* does not work for classes derived from \"variable-length" "\" built-in types such as :class:`int`, :class:`bytes` and :class:`tuple`." msgstr "" -#: ../Doc/reference/datamodel.rst:1813 +#: ../Doc/reference/datamodel.rst:1855 msgid "" "Any non-string iterable may be assigned to *__slots__*. Mappings may also be " "used; however, in the future, special meaning may be assigned to the values " "corresponding to each key." msgstr "" -#: ../Doc/reference/datamodel.rst:1817 +#: ../Doc/reference/datamodel.rst:1859 msgid "" "*__class__* assignment works only if both classes have the same *__slots__*." msgstr "" -#: ../Doc/reference/datamodel.rst:1819 +#: ../Doc/reference/datamodel.rst:1861 msgid "" "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 "" -#: ../Doc/reference/datamodel.rst:1824 +#: ../Doc/reference/datamodel.rst:1866 msgid "" "If an iterator is used for *__slots__* then a descriptor is created for each " "of the iterator's values. However, the *__slots__* attribute will be an " "empty iterator." msgstr "" -#: ../Doc/reference/datamodel.rst:1831 +#: ../Doc/reference/datamodel.rst:1873 msgid "Customizing class creation" msgstr "" -#: ../Doc/reference/datamodel.rst:1833 +#: ../Doc/reference/datamodel.rst:1875 msgid "" "Whenever a class inherits from another class, *__init_subclass__* is called " "on that class. This way, it is possible to write classes which change the " @@ -2458,14 +2537,14 @@ msgid "" "defining the method." msgstr "" -#: ../Doc/reference/datamodel.rst:1842 +#: ../Doc/reference/datamodel.rst:1884 msgid "" "This method is called whenever the containing class is subclassed. *cls* is " "then the new subclass. If defined as a normal instance method, this method " "is implicitly converted to a class method." msgstr "" -#: ../Doc/reference/datamodel.rst:1846 +#: ../Doc/reference/datamodel.rst:1888 msgid "" "Keyword arguments which are given to a new class are passed to the parent's " "class ``__init_subclass__``. For compatibility with other classes using " @@ -2473,13 +2552,13 @@ msgid "" "pass the others over to the base class, as in::" msgstr "" -#: ../Doc/reference/datamodel.rst:1860 +#: ../Doc/reference/datamodel.rst:1902 msgid "" "The default implementation ``object.__init_subclass__`` does nothing, but " "raises an error if it is called with any arguments." msgstr "" -#: ../Doc/reference/datamodel.rst:1865 +#: ../Doc/reference/datamodel.rst:1907 msgid "" "The metaclass hint ``metaclass`` is consumed by the rest of the type " "machinery, and is never passed to ``__init_subclass__`` implementations. The " @@ -2487,18 +2566,18 @@ msgid "" "``type(cls)``." msgstr "" -#: ../Doc/reference/datamodel.rst:1876 +#: ../Doc/reference/datamodel.rst:1918 msgid "Metaclasses" msgstr "" -#: ../Doc/reference/datamodel.rst:1883 +#: ../Doc/reference/datamodel.rst:1925 msgid "" "By default, classes are constructed using :func:`type`. The class body is " "executed in a new namespace and the class name is bound locally to the " "result of ``type(name, bases, namespace)``." msgstr "" -#: ../Doc/reference/datamodel.rst:1887 +#: ../Doc/reference/datamodel.rst:1929 msgid "" "The class creation process can be customized by passing the ``metaclass`` " "keyword argument in the class definition line, or by inheriting from an " @@ -2506,41 +2585,41 @@ msgid "" "both ``MyClass`` and ``MySubclass`` are instances of ``Meta``::" msgstr "" -#: ../Doc/reference/datamodel.rst:1901 +#: ../Doc/reference/datamodel.rst:1943 msgid "" "Any other keyword arguments that are specified in the class definition are " "passed through to all metaclass operations described below." msgstr "" -#: ../Doc/reference/datamodel.rst:1904 +#: ../Doc/reference/datamodel.rst:1946 msgid "When a class definition is executed, the following steps occur:" msgstr "" -#: ../Doc/reference/datamodel.rst:1906 +#: ../Doc/reference/datamodel.rst:1948 msgid "MRO entries are resolved;" msgstr "" -#: ../Doc/reference/datamodel.rst:1907 +#: ../Doc/reference/datamodel.rst:1949 msgid "the appropriate metaclass is determined;" msgstr "" -#: ../Doc/reference/datamodel.rst:1908 +#: ../Doc/reference/datamodel.rst:1950 msgid "the class namespace is prepared;" msgstr "" -#: ../Doc/reference/datamodel.rst:1909 +#: ../Doc/reference/datamodel.rst:1951 msgid "the class body is executed;" msgstr "" -#: ../Doc/reference/datamodel.rst:1910 +#: ../Doc/reference/datamodel.rst:1952 msgid "the class object is created." msgstr "" -#: ../Doc/reference/datamodel.rst:1914 +#: ../Doc/reference/datamodel.rst:1956 msgid "Resolving MRO entries" msgstr "" -#: ../Doc/reference/datamodel.rst:1916 +#: ../Doc/reference/datamodel.rst:1958 msgid "" "If a base that appears in class definition is not an instance of :class:" "`type`, then an ``__mro_entries__`` method is searched on it. If found, it " @@ -2549,37 +2628,37 @@ msgid "" "such case the original base is ignored." msgstr "" -#: ../Doc/reference/datamodel.rst:1924 ../Doc/reference/datamodel.rst:2114 +#: ../Doc/reference/datamodel.rst:1966 ../Doc/reference/datamodel.rst:2156 msgid ":pep:`560` - Core support for typing module and generic types" msgstr "" -#: ../Doc/reference/datamodel.rst:1928 +#: ../Doc/reference/datamodel.rst:1970 msgid "Determining the appropriate metaclass" msgstr "" -#: ../Doc/reference/datamodel.rst:1932 +#: ../Doc/reference/datamodel.rst:1974 msgid "" "The appropriate metaclass for a class definition is determined as follows:" msgstr "" -#: ../Doc/reference/datamodel.rst:1934 +#: ../Doc/reference/datamodel.rst:1976 msgid "" "if no bases and no explicit metaclass are given, then :func:`type` is used;" msgstr "" -#: ../Doc/reference/datamodel.rst:1935 +#: ../Doc/reference/datamodel.rst:1977 msgid "" "if an explicit metaclass is given and it is *not* an instance of :func:" "`type`, then it is used directly as the metaclass;" msgstr "" -#: ../Doc/reference/datamodel.rst:1937 +#: ../Doc/reference/datamodel.rst:1979 msgid "" "if an instance of :func:`type` is given as the explicit metaclass, or bases " "are defined, then the most derived metaclass is used." msgstr "" -#: ../Doc/reference/datamodel.rst:1940 +#: ../Doc/reference/datamodel.rst:1982 msgid "" "The most derived metaclass is selected from the explicitly specified " "metaclass (if any) and the metaclasses (i.e. ``type(cls)``) of all specified " @@ -2588,11 +2667,11 @@ msgid "" "that criterion, then the class definition will fail with ``TypeError``." msgstr "" -#: ../Doc/reference/datamodel.rst:1950 +#: ../Doc/reference/datamodel.rst:1992 msgid "Preparing the class namespace" msgstr "" -#: ../Doc/reference/datamodel.rst:1955 +#: ../Doc/reference/datamodel.rst:1997 msgid "" "Once the appropriate metaclass has been identified, then the class namespace " "is prepared. If the metaclass has a ``__prepare__`` attribute, it is called " @@ -2604,25 +2683,25 @@ msgid "" "``dict``." msgstr "" -#: ../Doc/reference/datamodel.rst:1963 +#: ../Doc/reference/datamodel.rst:2005 msgid "" "If the metaclass has no ``__prepare__`` attribute, then the class namespace " "is initialised as an empty ordered mapping." msgstr "" -#: ../Doc/reference/datamodel.rst:1968 +#: ../Doc/reference/datamodel.rst:2010 msgid ":pep:`3115` - Metaclasses in Python 3000" msgstr "" -#: ../Doc/reference/datamodel.rst:1969 +#: ../Doc/reference/datamodel.rst:2011 msgid "Introduced the ``__prepare__`` namespace hook" msgstr "" -#: ../Doc/reference/datamodel.rst:1973 +#: ../Doc/reference/datamodel.rst:2015 msgid "Executing the class body" msgstr "" -#: ../Doc/reference/datamodel.rst:1978 +#: ../Doc/reference/datamodel.rst:2020 msgid "" "The class body is executed (approximately) as ``exec(body, globals(), " "namespace)``. The key difference from a normal call to :func:`exec` is that " @@ -2631,7 +2710,7 @@ msgid "" "inside a function." msgstr "" -#: ../Doc/reference/datamodel.rst:1984 +#: ../Doc/reference/datamodel.rst:2026 msgid "" "However, even when the class definition occurs inside the function, methods " "defined inside the class still cannot see names defined at the class scope. " @@ -2640,11 +2719,11 @@ msgid "" "reference described in the next section." msgstr "" -#: ../Doc/reference/datamodel.rst:1993 +#: ../Doc/reference/datamodel.rst:2035 msgid "Creating the class object" msgstr "" -#: ../Doc/reference/datamodel.rst:2000 +#: ../Doc/reference/datamodel.rst:2042 msgid "" "Once the class namespace has been populated by executing the class body, the " "class object is created by calling ``metaclass(name, bases, namespace, " @@ -2652,7 +2731,7 @@ msgid "" "to ``__prepare__``)." msgstr "" -#: ../Doc/reference/datamodel.rst:2005 +#: ../Doc/reference/datamodel.rst:2047 msgid "" "This class object is the one that will be referenced by the zero-argument " "form of :func:`super`. ``__class__`` is an implicit closure reference " @@ -2663,7 +2742,7 @@ msgid "" "is identified based on the first argument passed to the method." msgstr "" -#: ../Doc/reference/datamodel.rst:2015 +#: ../Doc/reference/datamodel.rst:2057 msgid "" "In CPython 3.6 and later, the ``__class__`` cell is passed to the metaclass " "as a ``__classcell__`` entry in the class namespace. If present, this must " @@ -2672,39 +2751,39 @@ msgid "" "in Python 3.8." msgstr "" -#: ../Doc/reference/datamodel.rst:2021 +#: ../Doc/reference/datamodel.rst:2063 msgid "" "When using the default metaclass :class:`type`, or any metaclass that " "ultimately calls ``type.__new__``, the following additional customisation " "steps are invoked after creating the class object:" msgstr "" -#: ../Doc/reference/datamodel.rst:2025 +#: ../Doc/reference/datamodel.rst:2067 msgid "" "first, ``type.__new__`` collects all of the descriptors in the class " "namespace that define a :meth:`~object.__set_name__` method;" msgstr "" -#: ../Doc/reference/datamodel.rst:2027 +#: ../Doc/reference/datamodel.rst:2069 msgid "" "second, all of these ``__set_name__`` methods are called with the class " "being defined and the assigned name of that particular descriptor;" msgstr "" -#: ../Doc/reference/datamodel.rst:2029 +#: ../Doc/reference/datamodel.rst:2071 msgid "" "finally, the :meth:`~object.__init_subclass__` hook is called on the " "immediate parent of the new class in its method resolution order." msgstr "" -#: ../Doc/reference/datamodel.rst:2032 +#: ../Doc/reference/datamodel.rst:2074 msgid "" "After the class object is created, it is passed to the class decorators " "included in the class definition (if any) and the resulting object is bound " "in the local namespace as the defined class." msgstr "" -#: ../Doc/reference/datamodel.rst:2036 +#: ../Doc/reference/datamodel.rst:2078 msgid "" "When a new class is created by ``type.__new__``, the object provided as the " "namespace parameter is copied to a new ordered mapping and the original " @@ -2712,19 +2791,19 @@ msgid "" "becomes the :attr:`~object.__dict__` attribute of the class object." msgstr "" -#: ../Doc/reference/datamodel.rst:2043 +#: ../Doc/reference/datamodel.rst:2085 msgid ":pep:`3135` - New super" msgstr "" -#: ../Doc/reference/datamodel.rst:2044 +#: ../Doc/reference/datamodel.rst:2086 msgid "Describes the implicit ``__class__`` closure reference" msgstr "" -#: ../Doc/reference/datamodel.rst:2048 +#: ../Doc/reference/datamodel.rst:2090 msgid "Uses for metaclasses" msgstr "" -#: ../Doc/reference/datamodel.rst:2050 +#: ../Doc/reference/datamodel.rst:2092 msgid "" "The potential uses for metaclasses are boundless. Some ideas that have been " "explored include enum, logging, interface checking, automatic delegation, " @@ -2732,17 +2811,17 @@ msgid "" "locking/synchronization." msgstr "" -#: ../Doc/reference/datamodel.rst:2057 +#: ../Doc/reference/datamodel.rst:2099 msgid "Customizing instance and subclass checks" msgstr "" -#: ../Doc/reference/datamodel.rst:2059 +#: ../Doc/reference/datamodel.rst:2101 msgid "" "The following methods are used to override the default behavior of the :func:" "`isinstance` and :func:`issubclass` built-in functions." msgstr "" -#: ../Doc/reference/datamodel.rst:2062 +#: ../Doc/reference/datamodel.rst:2104 msgid "" "In particular, the metaclass :class:`abc.ABCMeta` implements these methods " "in order to allow the addition of Abstract Base Classes (ABCs) as \"virtual " @@ -2750,21 +2829,21 @@ msgid "" "other ABCs." msgstr "" -#: ../Doc/reference/datamodel.rst:2069 +#: ../Doc/reference/datamodel.rst:2111 msgid "" "Return true if *instance* should be considered a (direct or indirect) " "instance of *class*. If defined, called to implement ``isinstance(instance, " "class)``." msgstr "" -#: ../Doc/reference/datamodel.rst:2076 +#: ../Doc/reference/datamodel.rst:2118 msgid "" "Return true if *subclass* should be considered a (direct or indirect) " "subclass of *class*. If defined, called to implement ``issubclass(subclass, " "class)``." msgstr "" -#: ../Doc/reference/datamodel.rst:2081 +#: ../Doc/reference/datamodel.rst:2123 msgid "" "Note that these methods are looked up on the type (metaclass) of a class. " "They cannot be defined as class methods in the actual class. This is " @@ -2772,11 +2851,11 @@ msgid "" "only in this case the instance is itself a class." msgstr "" -#: ../Doc/reference/datamodel.rst:2092 +#: ../Doc/reference/datamodel.rst:2134 msgid ":pep:`3119` - Introducing Abstract Base Classes" msgstr "" -#: ../Doc/reference/datamodel.rst:2089 +#: ../Doc/reference/datamodel.rst:2131 msgid "" "Includes the specification for customizing :func:`isinstance` and :func:" "`issubclass` behavior through :meth:`~class.__instancecheck__` and :meth:" @@ -2785,23 +2864,23 @@ msgid "" "language." msgstr "" -#: ../Doc/reference/datamodel.rst:2097 +#: ../Doc/reference/datamodel.rst:2139 msgid "Emulating generic types" msgstr "" -#: ../Doc/reference/datamodel.rst:2099 +#: ../Doc/reference/datamodel.rst:2141 msgid "" "One can implement the generic class syntax as specified by :pep:`484` (for " "example ``List[int]``) by defining a special method:" msgstr "" -#: ../Doc/reference/datamodel.rst:2104 +#: ../Doc/reference/datamodel.rst:2146 msgid "" "Return an object representing the specialization of a generic class by type " "arguments found in *key*." msgstr "" -#: ../Doc/reference/datamodel.rst:2107 +#: ../Doc/reference/datamodel.rst:2149 msgid "" "This method is looked up on the class object itself, and when defined in the " "class body, this method is implicitly a class method. Note, this mechanism " @@ -2809,22 +2888,22 @@ msgid "" "discouraged." msgstr "" -#: ../Doc/reference/datamodel.rst:2120 +#: ../Doc/reference/datamodel.rst:2162 msgid "Emulating callable objects" msgstr "" -#: ../Doc/reference/datamodel.rst:2127 +#: ../Doc/reference/datamodel.rst:2169 msgid "" "Called when the instance is \"called\" as a function; if this method is " -"defined, ``x(arg1, arg2, ...)`` is a shorthand for ``x.__call__(arg1, " -"arg2, ...)``." +"defined, ``x(arg1, arg2, ...)`` roughly translates to ``type(x).__call__(x, " +"arg1, ...)``." msgstr "" -#: ../Doc/reference/datamodel.rst:2134 +#: ../Doc/reference/datamodel.rst:2176 msgid "Emulating container types" msgstr "" -#: ../Doc/reference/datamodel.rst:2136 +#: ../Doc/reference/datamodel.rst:2178 msgid "" "The following methods can be defined to implement container objects. " "Containers usually are sequences (such as lists or tuples) or mappings (like " @@ -2857,7 +2936,7 @@ msgid "" "should iterate through the values." msgstr "" -#: ../Doc/reference/datamodel.rst:2171 +#: ../Doc/reference/datamodel.rst:2213 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 " @@ -2865,7 +2944,7 @@ msgid "" "zero is considered to be false in a Boolean context." msgstr "" -#: ../Doc/reference/datamodel.rst:2178 +#: ../Doc/reference/datamodel.rst:2220 msgid "" "In CPython, the length is required to be at most :attr:`sys.maxsize`. If the " "length is larger than :attr:`!sys.maxsize` some features (such as :func:" @@ -2874,7 +2953,7 @@ msgid "" "`__bool__` method." msgstr "" -#: ../Doc/reference/datamodel.rst:2187 +#: ../Doc/reference/datamodel.rst:2229 msgid "" "Called to implement :func:`operator.length_hint`. Should return an estimated " "length for the object (which may be greater or less than the actual length). " @@ -2884,20 +2963,20 @@ msgid "" "never required for correctness." msgstr "" -#: ../Doc/reference/datamodel.rst:2201 +#: ../Doc/reference/datamodel.rst:2243 msgid "" "Slicing is done exclusively with the following three methods. A call like ::" msgstr "" -#: ../Doc/reference/datamodel.rst:2205 +#: ../Doc/reference/datamodel.rst:2247 msgid "is translated to ::" msgstr "" -#: ../Doc/reference/datamodel.rst:2209 +#: ../Doc/reference/datamodel.rst:2251 msgid "and so forth. Missing slice items are always filled in with ``None``." msgstr "" -#: ../Doc/reference/datamodel.rst:2214 +#: ../Doc/reference/datamodel.rst:2256 msgid "" "Called to implement evaluation of ``self[key]``. For sequence types, the " "accepted keys should be integers and slice objects. Note that the special " @@ -2909,13 +2988,13 @@ msgid "" "*key* is missing (not in the container), :exc:`KeyError` should be raised." msgstr "" -#: ../Doc/reference/datamodel.rst:2225 +#: ../Doc/reference/datamodel.rst:2267 msgid "" ":keyword:`for` loops expect that an :exc:`IndexError` will be raised for " "illegal indexes to allow proper detection of the end of the sequence." msgstr "" -#: ../Doc/reference/datamodel.rst:2231 +#: ../Doc/reference/datamodel.rst:2273 msgid "" "Called to implement assignment to ``self[key]``. Same note as for :meth:" "`__getitem__`. This should only be implemented for mappings if the objects " @@ -2924,7 +3003,7 @@ msgid "" "for improper *key* values as for the :meth:`__getitem__` method." msgstr "" -#: ../Doc/reference/datamodel.rst:2240 +#: ../Doc/reference/datamodel.rst:2282 msgid "" "Called to implement deletion of ``self[key]``. Same note as for :meth:" "`__getitem__`. This should only be implemented for mappings if the objects " @@ -2933,13 +3012,13 @@ msgid "" "values as for the :meth:`__getitem__` method." msgstr "" -#: ../Doc/reference/datamodel.rst:2249 +#: ../Doc/reference/datamodel.rst:2291 msgid "" "Called by :class:`dict`\\ .\\ :meth:`__getitem__` to implement ``self[key]`` " "for dict subclasses when key is not in the dictionary." msgstr "" -#: ../Doc/reference/datamodel.rst:2255 +#: ../Doc/reference/datamodel.rst:2297 msgid "" "This method is called when an iterator is required for a container. This " "method should return a new iterator object that can iterate over all the " @@ -2947,21 +3026,21 @@ msgid "" "the container." msgstr "" -#: ../Doc/reference/datamodel.rst:2259 +#: ../Doc/reference/datamodel.rst:2301 msgid "" "Iterator objects also need to implement this method; they are required to " "return themselves. For more information on iterator objects, see :ref:" "`typeiter`." msgstr "" -#: ../Doc/reference/datamodel.rst:2265 +#: ../Doc/reference/datamodel.rst:2307 msgid "" "Called (if present) by the :func:`reversed` built-in to implement reverse " "iteration. It should return a new iterator object that iterates over all " "the objects in the container in reverse order." msgstr "" -#: ../Doc/reference/datamodel.rst:2269 +#: ../Doc/reference/datamodel.rst:2311 msgid "" "If the :meth:`__reversed__` method is not provided, the :func:`reversed` " "built-in will fall back to using the sequence protocol (:meth:`__len__` and :" @@ -2970,7 +3049,7 @@ msgid "" "more efficient than the one provided by :func:`reversed`." msgstr "" -#: ../Doc/reference/datamodel.rst:2276 +#: ../Doc/reference/datamodel.rst:2318 msgid "" "The membership test operators (:keyword:`in` and :keyword:`not in`) are " "normally implemented as an iteration through a container. However, container " @@ -2978,14 +3057,14 @@ msgid "" "implementation, which also does not require the object be iterable." msgstr "" -#: ../Doc/reference/datamodel.rst:2283 +#: ../Doc/reference/datamodel.rst:2325 msgid "" "Called to implement membership test operators. Should return true if *item* " "is in *self*, false otherwise. For mapping objects, this should consider " "the keys of the mapping rather than the values or the key-item pairs." msgstr "" -#: ../Doc/reference/datamodel.rst:2287 +#: ../Doc/reference/datamodel.rst:2329 msgid "" "For objects that don't define :meth:`__contains__`, the membership test " "first tries iteration via :meth:`__iter__`, then the old sequence iteration " @@ -2993,11 +3072,11 @@ msgid "" "reference `." msgstr "" -#: ../Doc/reference/datamodel.rst:2296 +#: ../Doc/reference/datamodel.rst:2338 msgid "Emulating numeric types" msgstr "" -#: ../Doc/reference/datamodel.rst:2298 +#: ../Doc/reference/datamodel.rst:2340 msgid "" "The following methods can be defined to emulate numeric objects. Methods " "corresponding to operations that are not supported by the particular kind of " @@ -3005,7 +3084,7 @@ msgid "" "should be left undefined." msgstr "" -#: ../Doc/reference/datamodel.rst:2324 +#: ../Doc/reference/datamodel.rst:2366 msgid "" "These methods are called to implement the binary arithmetic operations (``" "+``, ``-``, ``*``, ``@``, ``/``, ``//``, ``%``, :func:`divmod`, :func:`pow`, " @@ -3018,13 +3097,13 @@ msgid "" "version of the built-in :func:`pow` function is to be supported." msgstr "" -#: ../Doc/reference/datamodel.rst:2335 +#: ../Doc/reference/datamodel.rst:2377 msgid "" "If one of those methods does not support the operation with the supplied " "arguments, it should return ``NotImplemented``." msgstr "" -#: ../Doc/reference/datamodel.rst:2358 +#: ../Doc/reference/datamodel.rst:2400 msgid "" "These methods are called to implement the binary arithmetic operations (``" "+``, ``-``, ``*``, ``@``, ``/``, ``//``, ``%``, :func:`divmod`, :func:`pow`, " @@ -3036,21 +3115,22 @@ msgid "" "__rsub__(x)`` is called if ``x.__sub__(y)`` returns *NotImplemented*." msgstr "" -#: ../Doc/reference/datamodel.rst:2369 +#: ../Doc/reference/datamodel.rst:2411 msgid "" "Note that ternary :func:`pow` will not try calling :meth:`__rpow__` (the " "coercion rules would become too complicated)." msgstr "" -#: ../Doc/reference/datamodel.rst:2374 +#: ../Doc/reference/datamodel.rst:2416 msgid "" "If the right operand's type is a subclass of the left operand's type and " -"that subclass provides the reflected method for the operation, this method " -"will be called before the left operand's non-reflected method. This " -"behavior allows subclasses to override their ancestors' operations." +"that subclass provides a different implementation of the reflected method " +"for the operation, this method will be called before the left operand's non-" +"reflected method. This behavior allows subclasses to override their " +"ancestors' operations." msgstr "" -#: ../Doc/reference/datamodel.rst:2394 +#: ../Doc/reference/datamodel.rst:2437 msgid "" "These methods are called to implement the augmented arithmetic assignments " "(``+=``, ``-=``, ``*=``, ``@=``, ``/=``, ``//=``, ``%=``, ``**=``, ``<<=``, " @@ -3066,19 +3146,26 @@ msgid "" "fact part of the data model." msgstr "" -#: ../Doc/reference/datamodel.rst:2415 +#: ../Doc/reference/datamodel.rst:2452 +msgid "" +"Due to a bug in the dispatching mechanism for ``**=``, a class that defines :" +"meth:`__ipow__` but returns ``NotImplemented`` would fail to fall back to " +"``x.__pow__(y)`` and ``y.__rpow__(x)``. This bug is fixed in Python 3.10." +msgstr "" + +#: ../Doc/reference/datamodel.rst:2465 msgid "" "Called to implement the unary arithmetic operations (``-``, ``+``, :func:" "`abs` and ``~``)." msgstr "" -#: ../Doc/reference/datamodel.rst:2428 +#: ../Doc/reference/datamodel.rst:2478 msgid "" "Called to implement the built-in functions :func:`complex`, :func:`int` and :" "func:`float`. Should return a value of the appropriate type." msgstr "" -#: ../Doc/reference/datamodel.rst:2435 +#: ../Doc/reference/datamodel.rst:2485 msgid "" "Called to implement :func:`operator.index`, and whenever Python needs to " "losslessly convert the numeric object to an integer object (such as in " @@ -3087,14 +3174,14 @@ msgid "" "integer type. Must return an integer." msgstr "" -#: ../Doc/reference/datamodel.rst:2441 +#: ../Doc/reference/datamodel.rst:2491 msgid "" "If :meth:`__int__`, :meth:`__float__` and :meth:`__complex__` are not " "defined then corresponding built-in functions :func:`int`, :func:`float` " "and :func:`complex` fall back to :meth:`__index__`." msgstr "" -#: ../Doc/reference/datamodel.rst:2453 +#: ../Doc/reference/datamodel.rst:2503 msgid "" "Called to implement the built-in function :func:`round` and :mod:`math` " "functions :func:`~math.trunc`, :func:`~math.floor` and :func:`~math.ceil`. " @@ -3103,17 +3190,17 @@ msgid "" "(typically an :class:`int`)." msgstr "" -#: ../Doc/reference/datamodel.rst:2459 +#: ../Doc/reference/datamodel.rst:2509 msgid "" "If :meth:`__int__` is not defined then the built-in function :func:`int` " "falls back to :meth:`__trunc__`." msgstr "" -#: ../Doc/reference/datamodel.rst:2466 +#: ../Doc/reference/datamodel.rst:2516 msgid "With Statement Context Managers" msgstr "" -#: ../Doc/reference/datamodel.rst:2468 +#: ../Doc/reference/datamodel.rst:2518 msgid "" "A :dfn:`context manager` is an object that defines the runtime context to be " "established when executing a :keyword:`with` statement. The context manager " @@ -3123,32 +3210,32 @@ msgid "" "can also be used by directly invoking their methods." msgstr "" -#: ../Doc/reference/datamodel.rst:2479 +#: ../Doc/reference/datamodel.rst:2529 msgid "" "Typical uses of context managers include saving and restoring various kinds " "of global state, locking and unlocking resources, closing opened files, etc." msgstr "" -#: ../Doc/reference/datamodel.rst:2482 +#: ../Doc/reference/datamodel.rst:2532 msgid "" "For more information on context managers, see :ref:`typecontextmanager`." msgstr "" -#: ../Doc/reference/datamodel.rst:2487 +#: ../Doc/reference/datamodel.rst:2537 msgid "" "Enter the runtime context related to this object. The :keyword:`with` " "statement will bind this method's return value to the target(s) specified in " "the :keyword:`!as` clause of the statement, if any." msgstr "" -#: ../Doc/reference/datamodel.rst:2494 +#: ../Doc/reference/datamodel.rst:2544 msgid "" "Exit the runtime context related to this object. The parameters describe the " "exception that caused the context to be exited. If the context was exited " "without an exception, all three arguments will be :const:`None`." msgstr "" -#: ../Doc/reference/datamodel.rst:2498 +#: ../Doc/reference/datamodel.rst:2548 msgid "" "If an exception is supplied, and the method wishes to suppress the exception " "(i.e., prevent it from being propagated), it should return a true value. " @@ -3156,27 +3243,27 @@ msgid "" "method." msgstr "" -#: ../Doc/reference/datamodel.rst:2502 +#: ../Doc/reference/datamodel.rst:2552 msgid "" "Note that :meth:`__exit__` methods should not reraise the passed-in " "exception; this is the caller's responsibility." msgstr "" -#: ../Doc/reference/datamodel.rst:2509 +#: ../Doc/reference/datamodel.rst:2559 msgid ":pep:`343` - The \"with\" statement" msgstr "" -#: ../Doc/reference/datamodel.rst:2509 +#: ../Doc/reference/datamodel.rst:2559 msgid "" "The specification, background, and examples for the Python :keyword:`with` " "statement." msgstr "" -#: ../Doc/reference/datamodel.rst:2516 +#: ../Doc/reference/datamodel.rst:2566 msgid "Special method lookup" msgstr "" -#: ../Doc/reference/datamodel.rst:2518 +#: ../Doc/reference/datamodel.rst:2568 msgid "" "For custom classes, implicit invocations of special methods are only " "guaranteed to work correctly if defined on an object's type, not in the " @@ -3184,7 +3271,7 @@ msgid "" "following code raises an exception::" msgstr "" -#: ../Doc/reference/datamodel.rst:2533 +#: ../Doc/reference/datamodel.rst:2583 msgid "" "The rationale behind this behaviour lies with a number of special methods " "such as :meth:`__hash__` and :meth:`__repr__` that are implemented by all " @@ -3193,21 +3280,21 @@ msgid "" "type object itself::" msgstr "" -#: ../Doc/reference/datamodel.rst:2546 +#: ../Doc/reference/datamodel.rst:2596 msgid "" "Incorrectly attempting to invoke an unbound method of a class in this way is " "sometimes referred to as 'metaclass confusion', and is avoided by bypassing " "the instance when looking up special methods::" msgstr "" -#: ../Doc/reference/datamodel.rst:2555 +#: ../Doc/reference/datamodel.rst:2605 msgid "" "In addition to bypassing any instance attributes in the interest of " "correctness, implicit special method lookup generally also bypasses the :" "meth:`__getattribute__` method even of the object's metaclass::" msgstr "" -#: ../Doc/reference/datamodel.rst:2581 +#: ../Doc/reference/datamodel.rst:2631 msgid "" "Bypassing the :meth:`__getattribute__` machinery in this fashion provides " "significant scope for speed optimisations within the interpreter, at the " @@ -3216,66 +3303,66 @@ msgid "" "invoked by the interpreter)." msgstr "" -#: ../Doc/reference/datamodel.rst:2592 +#: ../Doc/reference/datamodel.rst:2642 msgid "Coroutines" msgstr "" -#: ../Doc/reference/datamodel.rst:2596 +#: ../Doc/reference/datamodel.rst:2646 msgid "Awaitable Objects" msgstr "" -#: ../Doc/reference/datamodel.rst:2598 +#: ../Doc/reference/datamodel.rst:2648 msgid "" "An :term:`awaitable` object generally implements an :meth:`__await__` " -"method. :term:`Coroutine` objects returned from :keyword:`async def` " -"functions are awaitable." +"method. :term:`Coroutine objects ` returned from :keyword:`async " +"def` functions are awaitable." msgstr "" -#: ../Doc/reference/datamodel.rst:2604 +#: ../Doc/reference/datamodel.rst:2654 msgid "" "The :term:`generator iterator` objects returned from generators decorated " "with :func:`types.coroutine` or :func:`asyncio.coroutine` are also " "awaitable, but they do not implement :meth:`__await__`." msgstr "" -#: ../Doc/reference/datamodel.rst:2610 +#: ../Doc/reference/datamodel.rst:2660 msgid "" "Must return an :term:`iterator`. Should be used to implement :term:" "`awaitable` objects. For instance, :class:`asyncio.Future` implements this " "method to be compatible with the :keyword:`await` expression." msgstr "" -#: ../Doc/reference/datamodel.rst:2616 +#: ../Doc/reference/datamodel.rst:2666 msgid ":pep:`492` for additional information about awaitable objects." msgstr "" -#: ../Doc/reference/datamodel.rst:2622 +#: ../Doc/reference/datamodel.rst:2672 msgid "Coroutine Objects" msgstr "" -#: ../Doc/reference/datamodel.rst:2624 +#: ../Doc/reference/datamodel.rst:2674 msgid "" -":term:`Coroutine` objects are :term:`awaitable` objects. A coroutine's " -"execution can be controlled by calling :meth:`__await__` and iterating over " -"the result. When the coroutine has finished executing and returns, the " -"iterator raises :exc:`StopIteration`, and the exception's :attr:" +":term:`Coroutine objects ` are :term:`awaitable` objects. A " +"coroutine's execution can be controlled by calling :meth:`__await__` and " +"iterating over the result. When the coroutine has finished executing and " +"returns, the iterator raises :exc:`StopIteration`, and the exception's :attr:" "`~StopIteration.value` attribute holds the return value. If the coroutine " "raises an exception, it is propagated by the iterator. Coroutines should " "not directly raise unhandled :exc:`StopIteration` exceptions." msgstr "" -#: ../Doc/reference/datamodel.rst:2632 +#: ../Doc/reference/datamodel.rst:2682 msgid "" "Coroutines also have the methods listed below, which are analogous to those " "of generators (see :ref:`generator-methods`). However, unlike generators, " "coroutines do not directly support iteration." msgstr "" -#: ../Doc/reference/datamodel.rst:2636 +#: ../Doc/reference/datamodel.rst:2686 msgid "It is a :exc:`RuntimeError` to await on a coroutine more than once." msgstr "" -#: ../Doc/reference/datamodel.rst:2642 +#: ../Doc/reference/datamodel.rst:2692 msgid "" "Starts or resumes execution of the coroutine. If *value* is ``None``, this " "is equivalent to advancing the iterator returned by :meth:`__await__`. If " @@ -3285,7 +3372,7 @@ msgid "" "as when iterating over the :meth:`__await__` return value, described above." msgstr "" -#: ../Doc/reference/datamodel.rst:2652 +#: ../Doc/reference/datamodel.rst:2702 msgid "" "Raises the specified exception in the coroutine. This method delegates to " "the :meth:`~generator.throw` method of the iterator that caused the " @@ -3296,7 +3383,7 @@ msgid "" "caught in the coroutine, it propagates back to the caller." msgstr "" -#: ../Doc/reference/datamodel.rst:2663 +#: ../Doc/reference/datamodel.rst:2713 msgid "" "Causes the coroutine to clean itself up and exit. If the coroutine is " "suspended, this method first delegates to the :meth:`~generator.close` " @@ -3306,97 +3393,97 @@ msgid "" "is marked as having finished executing, even if it was never started." msgstr "" -#: ../Doc/reference/datamodel.rst:2671 +#: ../Doc/reference/datamodel.rst:2721 msgid "" "Coroutine objects are automatically closed using the above process when they " "are about to be destroyed." msgstr "" -#: ../Doc/reference/datamodel.rst:2677 +#: ../Doc/reference/datamodel.rst:2727 msgid "Asynchronous Iterators" msgstr "" -#: ../Doc/reference/datamodel.rst:2679 +#: ../Doc/reference/datamodel.rst:2729 msgid "" "An *asynchronous iterator* can call asynchronous code in its ``__anext__`` " "method." msgstr "" -#: ../Doc/reference/datamodel.rst:2682 +#: ../Doc/reference/datamodel.rst:2732 msgid "" "Asynchronous iterators can be used in an :keyword:`async for` statement." msgstr "" -#: ../Doc/reference/datamodel.rst:2686 +#: ../Doc/reference/datamodel.rst:2736 msgid "Must return an *asynchronous iterator* object." msgstr "" -#: ../Doc/reference/datamodel.rst:2690 +#: ../Doc/reference/datamodel.rst:2740 msgid "" "Must return an *awaitable* resulting in a next value of the iterator. " "Should raise a :exc:`StopAsyncIteration` error when the iteration is over." msgstr "" -#: ../Doc/reference/datamodel.rst:2693 +#: ../Doc/reference/datamodel.rst:2743 msgid "An example of an asynchronous iterable object::" msgstr "" -#: ../Doc/reference/datamodel.rst:2710 +#: ../Doc/reference/datamodel.rst:2760 msgid "" "Prior to Python 3.7, ``__aiter__`` could return an *awaitable* that would " "resolve to an :term:`asynchronous iterator `." msgstr "" -#: ../Doc/reference/datamodel.rst:2715 +#: ../Doc/reference/datamodel.rst:2765 msgid "" "Starting with Python 3.7, ``__aiter__`` must return an asynchronous iterator " "object. Returning anything else will result in a :exc:`TypeError` error." msgstr "" -#: ../Doc/reference/datamodel.rst:2723 +#: ../Doc/reference/datamodel.rst:2773 msgid "Asynchronous Context Managers" msgstr "" -#: ../Doc/reference/datamodel.rst:2725 +#: ../Doc/reference/datamodel.rst:2775 msgid "" "An *asynchronous context manager* is a *context manager* that is able to " "suspend execution in its ``__aenter__`` and ``__aexit__`` methods." msgstr "" -#: ../Doc/reference/datamodel.rst:2728 +#: ../Doc/reference/datamodel.rst:2778 msgid "" "Asynchronous context managers can be used in an :keyword:`async with` " "statement." msgstr "" -#: ../Doc/reference/datamodel.rst:2732 +#: ../Doc/reference/datamodel.rst:2782 msgid "" "Semantically similar to :meth:`__enter__`, the only difference being that it " "must return an *awaitable*." msgstr "" -#: ../Doc/reference/datamodel.rst:2737 +#: ../Doc/reference/datamodel.rst:2787 msgid "" "Semantically similar to :meth:`__exit__`, the only difference being that it " "must return an *awaitable*." msgstr "" -#: ../Doc/reference/datamodel.rst:2740 +#: ../Doc/reference/datamodel.rst:2790 msgid "An example of an asynchronous context manager class::" msgstr "" -#: ../Doc/reference/datamodel.rst:2753 +#: ../Doc/reference/datamodel.rst:2803 msgid "Footnotes" msgstr "" -#: ../Doc/reference/datamodel.rst:2754 +#: ../Doc/reference/datamodel.rst:2804 msgid "" "It *is* possible in some cases to change an object's type, under certain " "controlled conditions. It generally isn't a good idea though, since it can " "lead to some very strange behaviour if it is handled incorrectly." msgstr "" -#: ../Doc/reference/datamodel.rst:2758 +#: ../Doc/reference/datamodel.rst:2808 msgid "" "The :meth:`__hash__`, :meth:`__iter__`, :meth:`__reversed__`, and :meth:" "`__contains__` methods have special handling for this; others will still " @@ -3404,7 +3491,7 @@ msgid "" "``None`` is not callable." msgstr "" -#: ../Doc/reference/datamodel.rst:2763 +#: ../Doc/reference/datamodel.rst:2813 msgid "" "\"Does not support\" here means that the class has no such method, or the " "method returns ``NotImplemented``. Do not set the method to ``None`` if you " @@ -3412,9 +3499,9 @@ msgid "" "instead have the opposite effect of explicitly *blocking* such fallback." msgstr "" -#: ../Doc/reference/datamodel.rst:2769 +#: ../Doc/reference/datamodel.rst:2819 msgid "" "For operands of the same type, it is assumed that if the non-reflected " -"method (such as :meth:`__add__`) fails the operation is not supported, which " -"is why the reflected method is not called." +"method -- such as :meth:`__add__` -- fails then the overall operation is not " +"supported, which is why the reflected method is not called." msgstr "" diff --git a/reference/executionmodel.po b/reference/executionmodel.po index 130588c010..fe04552e5e 100644 --- a/reference/executionmodel.po +++ b/reference/executionmodel.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-07-26 09:14-0300\n" +"Last-Translator: \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/reference/executionmodel.rst:6 msgid "Execution model" @@ -31,6 +30,7 @@ msgid "Structure of a program" msgstr "Estructura de un programa" #: ../Doc/reference/executionmodel.rst:19 +#, fuzzy msgid "" "A Python program is constructed from code blocks. A :dfn:`block` is a piece " "of Python program text that is executed as a unit. The following are blocks: " @@ -38,9 +38,10 @@ msgid "" "interactively is a block. A script file (a file given as standard input to " "the interpreter or specified as a command line argument to the interpreter) " "is a code block. A script command (a command specified on the interpreter " -"command line with the :option:`-c` option) is a code block. The string " -"argument passed to the built-in functions :func:`eval` and :func:`exec` is a " -"code block." +"command line with the :option:`-c` option) is a code block. A module run as " +"a top level script (as module ``__main__``) from the command line using a :" +"option:`-m` argument is also a code block. The string argument passed to the " +"built-in functions :func:`eval` and :func:`exec` is a code block." msgstr "" "Un programa Python está construido a partir de bloques de código. Un :dfn:" "`block` es un trozo de texto de un programa Python que se ejecuta como una " @@ -54,7 +55,7 @@ msgstr "" "las funciones incorporadas :func:`eval` y :func:`exec` es también un bloque " "de código." -#: ../Doc/reference/executionmodel.rst:31 +#: ../Doc/reference/executionmodel.rst:33 msgid "" "A code block is executed in an :dfn:`execution frame`. A frame contains " "some administrative information (used for debugging) and determines where " @@ -65,15 +66,15 @@ msgstr "" "determina dónde y cómo continuará la ejecución una vez que el bloque de " "código se haya completado." -#: ../Doc/reference/executionmodel.rst:38 +#: ../Doc/reference/executionmodel.rst:40 msgid "Naming and binding" msgstr "Nombres y vínculos" -#: ../Doc/reference/executionmodel.rst:47 +#: ../Doc/reference/executionmodel.rst:49 msgid "Binding of names" msgstr "Vinculación de nombres" -#: ../Doc/reference/executionmodel.rst:53 +#: ../Doc/reference/executionmodel.rst:55 msgid "" ":dfn:`Names` refer to objects. Names are introduced by name binding " "operations." @@ -82,7 +83,7 @@ msgstr "" "operaciones de vinculación de nombre (*name binding operations*)." # ¿ target == objetivo ? -#: ../Doc/reference/executionmodel.rst:57 +#: ../Doc/reference/executionmodel.rst:59 #, fuzzy msgid "" "The following constructs bind names: formal parameters to functions, :" @@ -105,7 +106,7 @@ msgstr "" "comienzan con un guión bajo. Esta forma solamente puede ser usada a nivel de " "módulo." -#: ../Doc/reference/executionmodel.rst:67 +#: ../Doc/reference/executionmodel.rst:69 #, fuzzy msgid "" "A target occurring in a :keyword:`del` statement is also considered bound " @@ -115,7 +116,7 @@ msgstr "" "considerado como vinculado para este propósito (aunque la semántica real es " "desvincular el nombre)." -#: ../Doc/reference/executionmodel.rst:70 +#: ../Doc/reference/executionmodel.rst:72 msgid "" "Each assignment or import statement occurs within a block defined by a class " "or function definition or at the module level (the top-level code block)." @@ -124,7 +125,7 @@ msgstr "" "determinado por una definición de clase o de función, o a nivel de módulo " "(el bloque de código de máximo nivel)." -#: ../Doc/reference/executionmodel.rst:75 +#: ../Doc/reference/executionmodel.rst:77 msgid "" "If a name is bound in a block, it is a local variable of that block, unless " "declared as :keyword:`nonlocal` or :keyword:`global`. If a name is bound at " @@ -139,7 +140,7 @@ msgstr "" "globales.) Si una variable se una en un bloque de código pero no está " "definida ahí, es una :dfn:`free variable`." -#: ../Doc/reference/executionmodel.rst:81 +#: ../Doc/reference/executionmodel.rst:83 msgid "" "Each occurrence of a name in the program text refers to the :dfn:`binding` " "of that name established by the following name resolution rules." @@ -148,11 +149,11 @@ msgstr "" "`binding` de ese nombre, establecido por las siguientes reglas de resolución " "de nombres." -#: ../Doc/reference/executionmodel.rst:87 +#: ../Doc/reference/executionmodel.rst:89 msgid "Resolution of names" msgstr "Resolución de nombres" -#: ../Doc/reference/executionmodel.rst:91 +#: ../Doc/reference/executionmodel.rst:93 msgid "" "A :dfn:`scope` defines the visibility of a name within a block. If a local " "variable is defined in a block, its scope includes that block. If the " @@ -168,7 +169,7 @@ msgstr "" "diferente para el nombre." # ¿"the nearest enclosing scope" == "el ámbito que cierre más cerca"? -#: ../Doc/reference/executionmodel.rst:99 +#: ../Doc/reference/executionmodel.rst:101 #, fuzzy msgid "" "When a name is used in a code block, it is resolved using the nearest " @@ -179,7 +180,7 @@ msgstr "" "el ámbito de cierre más cercano. El conjunto de todos esos ámbitos visibles " "para un bloque de código se llama el :dfn:`environment` del bloque." -#: ../Doc/reference/executionmodel.rst:107 +#: ../Doc/reference/executionmodel.rst:109 msgid "" "When a name is not found at all, a :exc:`NameError` exception is raised. If " "the current scope is a function scope, and the name refers to a local " @@ -193,7 +194,7 @@ msgstr "" "nombre es utilizado, se lanza una excepción :exc:`UnboundLocalError`. :exc:" "`UnboundLocalError` es una subclase de :exc:`NameError`." -#: ../Doc/reference/executionmodel.rst:113 +#: ../Doc/reference/executionmodel.rst:115 msgid "" "If a name binding operation occurs anywhere within a code block, all uses of " "the name within the block are treated as references to the current block. " @@ -213,8 +214,10 @@ msgstr "" "determinarse buscando operaciones de vinculación de nombres en el texto " "completo del bloque." -# Vi que en la memoria traducen builtin como "incorporado/a", pero no estoy seguro en este caso, ya que en varios lugares del archivo aparece utilizado como sustantivo. -#: ../Doc/reference/executionmodel.rst:120 +# Vi que en la memoria traducen builtin como "incorporado/a", pero no estoy +# seguro en este caso, ya que en varios lugares del archivo aparece utilizado +# como sustantivo. +#: ../Doc/reference/executionmodel.rst:122 msgid "" "If the :keyword:`global` statement occurs within a block, all uses of the " "name specified in the statement refer to the binding of that name in the top-" @@ -237,8 +240,9 @@ msgstr "" "namespace*). La declaración :keyword:`!global` debe preceder a todos los " "usos del nombre." -# Tengo dudas con la palabra enclosing en este contexto. Aparece también en otras partes del archivo. -#: ../Doc/reference/executionmodel.rst:129 +# Tengo dudas con la palabra enclosing en este contexto. Aparece también en +# otras partes del archivo. +#: ../Doc/reference/executionmodel.rst:131 #, fuzzy msgid "" "The :keyword:`global` statement has the same scope as a name binding " @@ -252,7 +256,7 @@ msgstr "" "variable libre como global." # Otra vez enclosing. -#: ../Doc/reference/executionmodel.rst:135 +#: ../Doc/reference/executionmodel.rst:137 #, fuzzy msgid "" "The :keyword:`nonlocal` statement causes corresponding names to refer to " @@ -266,7 +270,7 @@ msgstr "" "si el nombre dado no existe en ningún ámbito de las funciones dentro de las " "cuales está." -#: ../Doc/reference/executionmodel.rst:142 +#: ../Doc/reference/executionmodel.rst:144 msgid "" "The namespace for a module is automatically created the first time a module " "is imported. The main module for a script is always called :mod:`__main__`." @@ -275,7 +279,7 @@ msgstr "" "la primera vez que se importa el módulo. El módulo principal de un *script* " "siempre se llama :mod:`__main__`." -#: ../Doc/reference/executionmodel.rst:145 +#: ../Doc/reference/executionmodel.rst:147 msgid "" "Class definition blocks and arguments to :func:`exec` and :func:`eval` are " "special in the context of name resolution. A class definition is an " @@ -301,12 +305,12 @@ msgstr "" "dado que están implementadas usando el alcance de función. Esto implica que " "lo siguiente fallará::" -#: ../Doc/reference/executionmodel.rst:163 +#: ../Doc/reference/executionmodel.rst:165 #, fuzzy msgid "Builtins and restricted execution" msgstr "Módulos incorporados (*builtins*) y ejecución restringida" -#: ../Doc/reference/executionmodel.rst:169 +#: ../Doc/reference/executionmodel.rst:171 msgid "" "Users should not touch ``__builtins__``; it is strictly an implementation " "detail. Users wanting to override values in the builtins namespace should :" @@ -319,7 +323,7 @@ msgstr "" "`import` con el módulo :mod:`builtins` y modificar sus atributos de un modo " "adecuado." -#: ../Doc/reference/executionmodel.rst:174 +#: ../Doc/reference/executionmodel.rst:176 msgid "" "The builtins namespace associated with the execution of a code block is " "actually found by looking up the name ``__builtins__`` in its global " @@ -337,11 +341,11 @@ msgstr "" "`builtins`. En cualquier otro módulo, ``__builtins__`` es un alias para el " "diccionario del propio módulo :mod:`builtins`." -#: ../Doc/reference/executionmodel.rst:186 +#: ../Doc/reference/executionmodel.rst:188 msgid "Interaction with dynamic features" msgstr "Interacción con funcionalidades dinámicas" -#: ../Doc/reference/executionmodel.rst:188 +#: ../Doc/reference/executionmodel.rst:190 msgid "" "Name resolution of free variables occurs at runtime, not at compile time. " "This means that the following code will print 42::" @@ -350,7 +354,7 @@ msgstr "" "tiempo de compilación. Esto significa que el siguiente código va a mostrar " "42::" -#: ../Doc/reference/executionmodel.rst:199 +#: ../Doc/reference/executionmodel.rst:201 #, fuzzy msgid "" "The :func:`eval` and :func:`exec` functions do not have access to the full " @@ -370,11 +374,11 @@ msgstr "" "global. Si se especifica un solo espacio de nombres, éste se usa para ambas " "cosas." -#: ../Doc/reference/executionmodel.rst:210 +#: ../Doc/reference/executionmodel.rst:212 msgid "Exceptions" msgstr "Excepciones" -#: ../Doc/reference/executionmodel.rst:221 +#: ../Doc/reference/executionmodel.rst:223 msgid "" "Exceptions are a means of breaking out of the normal flow of control of a " "code block in order to handle errors or other exceptional conditions. An " @@ -389,7 +393,7 @@ msgstr "" "rodea o por cualquier bloque de código que directa o indirectamente ha " "invocado al bloque de código en el que ocurrió el error." -#: ../Doc/reference/executionmodel.rst:227 +#: ../Doc/reference/executionmodel.rst:229 msgid "" "The Python interpreter raises an exception when it detects a run-time error " "(such as division by zero). A Python program can also explicitly raise an " @@ -409,7 +413,7 @@ msgstr "" "cuando la excepción ha ocurrido en el código que la precede, como cuando " "esto no ha sucedido." -#: ../Doc/reference/executionmodel.rst:237 +#: ../Doc/reference/executionmodel.rst:239 msgid "" "Python uses the \"termination\" model of error handling: an exception " "handler can find out what happened and continue execution at an outer level, " @@ -422,7 +426,7 @@ msgstr "" "del error y reintentar la operación que ha fallado (excepto que se reingrese " "al trozo de código fallido desde su inicio)." -#: ../Doc/reference/executionmodel.rst:244 +#: ../Doc/reference/executionmodel.rst:246 msgid "" "When an exception is not handled at all, the interpreter terminates " "execution of the program, or returns to its interactive main loop. In " @@ -434,7 +438,7 @@ msgstr "" "cualquier caso, imprime un seguimiento de pila, excepto cuando la excepción " "es :exc:`SystemExit`." -#: ../Doc/reference/executionmodel.rst:248 +#: ../Doc/reference/executionmodel.rst:250 msgid "" "Exceptions are identified by class instances. The :keyword:`except` clause " "is selected depending on the class of the instance: it must reference the " @@ -448,7 +452,7 @@ msgstr "" "instancia puede ser recibida por el gestor y puede contener información " "adicional acerca de la condición excepcional." -#: ../Doc/reference/executionmodel.rst:255 +#: ../Doc/reference/executionmodel.rst:257 msgid "" "Exception messages are not part of the Python API. Their contents may " "change from one version of Python to the next without warning and should not " @@ -460,7 +464,7 @@ msgstr "" "advertencia; el código que corre bajo múltiples versiones del intérprete no " "debería basarse en estos mensajes." -#: ../Doc/reference/executionmodel.rst:259 +#: ../Doc/reference/executionmodel.rst:261 msgid "" "See also the description of the :keyword:`try` statement in section :ref:" "`try` and :keyword:`raise` statement in section :ref:`raise`." @@ -468,11 +472,11 @@ msgstr "" "Mira también la descripción de la declaración :keyword:`try` en la sección :" "ref:`try`, y la declaración :keyword:`raise` en la sección :ref:`raise`." -#: ../Doc/reference/executionmodel.rst:264 +#: ../Doc/reference/executionmodel.rst:266 msgid "Footnotes" msgstr "Notas al pie" -#: ../Doc/reference/executionmodel.rst:265 +#: ../Doc/reference/executionmodel.rst:267 msgid "" "This limitation occurs because the code that is executed by these operations " "is not available at the time the module is compiled." diff --git a/reference/expressions.po b/reference/expressions.po index 589d41f594..fb6675d885 100644 --- a/reference/expressions.po +++ b/reference/expressions.po @@ -10,15 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-12-06 14:19+0100\n" +"Last-Translator: Álvaro Mondéjar Rubio \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Last-Translator: Álvaro Mondéjar Rubio \n" -"Language: es\n" -"X-Generator: Poedit 2.4.2\n" +"Generated-By: Babel 2.8.0\n" #: ../Doc/reference/expressions.rst:6 msgid "Expressions" @@ -247,7 +248,7 @@ msgstr "" msgid "Displays for lists, sets and dictionaries" msgstr "Despliegues para listas, conjuntos y diccionarios" -#: ../Doc/reference/expressions.rst:165 +#: ../Doc/reference/expressions.rst:167 msgid "" "For constructing a list, a set or a dictionary Python provides special " "syntax called \"displays\", each of them in two flavors:" @@ -256,11 +257,11 @@ msgstr "" "sintaxis especial denominada \"despliegue\", cada una de ellas en dos " "sabores:" -#: ../Doc/reference/expressions.rst:168 +#: ../Doc/reference/expressions.rst:170 msgid "either the container contents are listed explicitly, or" msgstr "los contenidos del contenedor son listados explícitamente o" -#: ../Doc/reference/expressions.rst:170 +#: ../Doc/reference/expressions.rst:172 msgid "" "they are computed via a set of looping and filtering instructions, called a :" "dfn:`comprehension`." @@ -268,11 +269,11 @@ msgstr "" "son calculados mediante un conjunto de instrucciones de bucle y filtrado, " "denominadas una :dfn:`comprehension`." -#: ../Doc/reference/expressions.rst:178 +#: ../Doc/reference/expressions.rst:180 msgid "Common syntax elements for comprehensions are:" msgstr "Los elementos comunes de sintaxis para las comprensiones son:" -#: ../Doc/reference/expressions.rst:186 +#: ../Doc/reference/expressions.rst:188 msgid "" "The comprehension consists of a single expression followed by at least one :" "keyword:`!for` clause and zero or more :keyword:`!for` or :keyword:`!if` " @@ -289,7 +290,7 @@ msgstr "" "la expresión para producir un elemento cada vez que se alcanza el bloque más " "interno." -#: ../Doc/reference/expressions.rst:193 +#: ../Doc/reference/expressions.rst:195 msgid "" "However, aside from the iterable expression in the leftmost :keyword:`!for` " "clause, the comprehension is executed in a separate implicitly nested scope. " @@ -301,7 +302,7 @@ msgstr "" "implícitamente anidado. Esto asegura que los nombres asignados a en la lista " "objetiva no se \"filtren\" en el alcance adjunto." -#: ../Doc/reference/expressions.rst:197 +#: ../Doc/reference/expressions.rst:199 msgid "" "The iterable expression in the leftmost :keyword:`!for` clause is evaluated " "directly in the enclosing scope and then passed as an argument to the " @@ -318,7 +319,7 @@ msgstr "" "depender de los valores obtenidos del iterable de más a la izquierda. Por " "ejemplo, ``[x*y for x in range(10) for y in range(x, x+10)]``." -#: ../Doc/reference/expressions.rst:204 +#: ../Doc/reference/expressions.rst:206 msgid "" "To ensure the comprehension always results in a container of the appropriate " "type, ``yield`` and ``yield from`` expressions are prohibited in the " @@ -328,7 +329,7 @@ msgstr "" "apropiado, las expresiones ``yield`` y ``yield from`` están prohibidas en el " "alcance implícitamente anidado." -#: ../Doc/reference/expressions.rst:211 +#: ../Doc/reference/expressions.rst:213 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 " @@ -352,20 +353,20 @@ msgstr "" "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`." -#: ../Doc/reference/expressions.rst:223 +#: ../Doc/reference/expressions.rst:225 msgid "Asynchronous comprehensions were introduced." msgstr "Fueron introducidas las comprensiones asincrónicas." -#: ../Doc/reference/expressions.rst:226 ../Doc/reference/expressions.rst:397 +#: ../Doc/reference/expressions.rst:228 ../Doc/reference/expressions.rst:401 msgid "``yield`` and ``yield from`` prohibited in the implicitly nested scope." msgstr "" "Prohibidas ``yield`` y ``yield from`` en el alcance implícitamente anidado." -#: ../Doc/reference/expressions.rst:233 +#: ../Doc/reference/expressions.rst:235 msgid "List displays" msgstr "Despliegues de lista" -#: ../Doc/reference/expressions.rst:243 +#: ../Doc/reference/expressions.rst:245 msgid "" "A list display is a possibly empty series of expressions enclosed in square " "brackets:" @@ -373,7 +374,7 @@ msgstr "" "Un despliegue de lista es una serie de expresiones posiblemente vacía " "encerrada entre corchetes:" -#: ../Doc/reference/expressions.rst:249 +#: ../Doc/reference/expressions.rst:251 msgid "" "A list display yields a new list object, the contents being specified by " "either a list of expressions or a comprehension. When a comma-separated " @@ -389,11 +390,11 @@ msgstr "" "se proporciona una comprensión, la lista es construida desde los elementos " "resultantes de la comprensión." -#: ../Doc/reference/expressions.rst:259 +#: ../Doc/reference/expressions.rst:261 msgid "Set displays" msgstr "Despliegues de conjuntos" -#: ../Doc/reference/expressions.rst:267 +#: ../Doc/reference/expressions.rst:270 msgid "" "A set display is denoted by curly braces and distinguishable from dictionary " "displays by the lack of colons separating keys and values:" @@ -402,7 +403,7 @@ msgstr "" "despliegues de diccionarios por la ausencia de caracteres de doble punto " "separando claves y valores:" -#: ../Doc/reference/expressions.rst:273 +#: ../Doc/reference/expressions.rst:276 msgid "" "A set display yields a new mutable set object, the contents being specified " "by either a sequence of expressions or a comprehension. When a comma-" @@ -418,7 +419,7 @@ msgstr "" "añadidos al objeto de conjunto. Cuando se proporciona una comprensión, el " "conjunto es construido de los elementos resultantes de la comprensión." -#: ../Doc/reference/expressions.rst:279 +#: ../Doc/reference/expressions.rst:282 msgid "" "An empty set cannot be constructed with ``{}``; this literal constructs an " "empty dictionary." @@ -426,11 +427,11 @@ msgstr "" "Un conjunto vacío no puede ser construido con ``{}``; este literal construye " "un diccionario vacío." -#: ../Doc/reference/expressions.rst:286 +#: ../Doc/reference/expressions.rst:289 msgid "Dictionary displays" msgstr "Despliegues de diccionario" -#: ../Doc/reference/expressions.rst:296 +#: ../Doc/reference/expressions.rst:300 msgid "" "A dictionary display is a possibly empty series of key/datum pairs enclosed " "in curly braces:" @@ -438,11 +439,11 @@ msgstr "" "Un despliegue de diccionario es una serie posiblemente vacía de pares clave/" "datos encerrados entre llaves:" -#: ../Doc/reference/expressions.rst:305 +#: ../Doc/reference/expressions.rst:309 msgid "A dictionary display yields a new dictionary object." msgstr "Un despliegue de diccionario produce un nuevo objeto diccionario." -#: ../Doc/reference/expressions.rst:307 +#: ../Doc/reference/expressions.rst:311 msgid "" "If a comma-separated sequence of key/datum pairs is given, they are " "evaluated from left to right to define the entries of the dictionary: each " @@ -458,7 +459,7 @@ msgstr "" "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." -#: ../Doc/reference/expressions.rst:317 +#: ../Doc/reference/expressions.rst:321 msgid "" "A double asterisk ``**`` denotes :dfn:`dictionary unpacking`. Its operand " "must be a :term:`mapping`. Each mapping item is added to the new " @@ -470,13 +471,13 @@ msgstr "" "diccionario. Valores más tardíos remplazan los valores ya establecidos para " "los pares clave/dato y para los desempaquetados de diccionario anteriores." -#: ../Doc/reference/expressions.rst:322 +#: ../Doc/reference/expressions.rst:326 msgid "Unpacking into dictionary displays, originally proposed by :pep:`448`." msgstr "" "Desempaquetar en despliegues de diccionarios, originalmente propuesto por :" "pep:`448`." -#: ../Doc/reference/expressions.rst:325 +#: ../Doc/reference/expressions.rst:329 msgid "" "A dict comprehension, in contrast to list and set comprehensions, needs two " "expressions separated with a colon followed by the usual \"for\" and \"if\" " @@ -489,7 +490,7 @@ msgstr "" "ejecuta, los elementos resultantes clave y valor son insertados en el nuevo " "diccionario en el orden que son producidos." -#: ../Doc/reference/expressions.rst:333 +#: ../Doc/reference/expressions.rst:337 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 " @@ -503,7 +504,7 @@ msgstr "" "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." -#: ../Doc/reference/expressions.rst:339 +#: ../Doc/reference/expressions.rst:343 msgid "" "Prior to Python 3.8, in dict comprehensions, the evaluation order of key and " "value was not well-defined. In CPython, the value was evaluated before the " @@ -515,17 +516,17 @@ msgstr "" "evaluado antes de la clave. A partir de 3.8, la clave es evaluada antes que " "el valor, como fue propuesto por :pep:`572`." -#: ../Doc/reference/expressions.rst:349 +#: ../Doc/reference/expressions.rst:353 msgid "Generator expressions" msgstr "Expresiones de generador" -#: ../Doc/reference/expressions.rst:356 +#: ../Doc/reference/expressions.rst:360 msgid "A generator expression is a compact generator notation in parentheses:" msgstr "" "Una expresión de generador es una notación compacta de generador en " "paréntesis:" -#: ../Doc/reference/expressions.rst:361 +#: ../Doc/reference/expressions.rst:365 msgid "" "A generator expression yields a new generator object. Its syntax is the " "same as for comprehensions, except that it is enclosed in parentheses " @@ -535,7 +536,7 @@ msgstr "" "la misma que para las comprensiones, excepto que es encerrado en paréntesis " "en lugar de corchetes o llaves." -#: ../Doc/reference/expressions.rst:365 +#: ../Doc/reference/expressions.rst:369 msgid "" "Variables used in the generator expression are evaluated lazily when the :" "meth:`~generator.__next__` method is called for the generator object (in the " @@ -560,7 +561,7 @@ msgstr "" "que puede depender de los valores obtenidos por el iterable de más a la " "izquierda. Por ejemplo: ``(x*y for x in range(10) for y in range(x, x+10))``." -#: ../Doc/reference/expressions.rst:376 +#: ../Doc/reference/expressions.rst:380 msgid "" "The parentheses can be omitted on calls with only one argument. See " "section :ref:`calls` for details." @@ -568,7 +569,7 @@ msgstr "" "Los paréntesis pueden ser omitidos en ejecuciones con un solo argumento. Vea " "la sección :ref:`calls` para más detalles." -#: ../Doc/reference/expressions.rst:379 +#: ../Doc/reference/expressions.rst:383 msgid "" "To avoid interfering with the expected operation of the generator expression " "itself, ``yield`` and ``yield from`` expressions are prohibited in the " @@ -578,7 +579,7 @@ msgstr "" "generador, las expresiones ``yield`` y ``yield from`` están prohibidas en el " "generador definido implícitamente." -#: ../Doc/reference/expressions.rst:383 +#: ../Doc/reference/expressions.rst:387 msgid "" "If a generator expression contains either :keyword:`!async for` clauses or :" "keyword:`await` expressions it is called an :dfn:`asynchronous generator " @@ -592,11 +593,11 @@ msgstr "" "de generador asincrónico, el cual es un iterador asincrónico (ver :ref:" "`async-iterators`)." -#: ../Doc/reference/expressions.rst:389 +#: ../Doc/reference/expressions.rst:393 msgid "Asynchronous generator expressions were introduced." msgstr "Las expresiones de generador asincrónico fueron introducidas." -#: ../Doc/reference/expressions.rst:392 +#: ../Doc/reference/expressions.rst:396 msgid "" "Prior to Python 3.7, asynchronous generator expressions could only appear " "in :keyword:`async def` coroutines. Starting with 3.7, any function can use " @@ -606,11 +607,11 @@ msgstr "" "aparecer sólo en corrutinas :keyword:`async def`. Desde 3.7, cualquier " "función puede usar expresiones de generador asincrónico." -#: ../Doc/reference/expressions.rst:404 +#: ../Doc/reference/expressions.rst:408 msgid "Yield expressions" msgstr "Expresiones yield" -#: ../Doc/reference/expressions.rst:416 +#: ../Doc/reference/expressions.rst:420 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 " @@ -626,7 +627,7 @@ msgstr "" "cuerpo de una función :keyword:`async def` hace que la función de corrutina " "sea un generador asincrónico. Por ejemplo::" -#: ../Doc/reference/expressions.rst:429 +#: ../Doc/reference/expressions.rst:433 msgid "" "Due to their side effects on the containing scope, ``yield`` expressions are " "not permitted as part of the implicitly defined scopes used to implement " @@ -637,7 +638,7 @@ msgstr "" "implícitamente definidos usados para implementar comprensiones y expresiones " "de generador." -#: ../Doc/reference/expressions.rst:433 +#: ../Doc/reference/expressions.rst:437 msgid "" "Yield expressions prohibited in the implicitly nested scopes used to " "implement comprehensions and generator expressions." @@ -645,7 +646,7 @@ msgstr "" "Expresiones yield prohibidas en los ámbitos anidados implícitamente " "utilizados para implementar comprensiones y expresiones de generador." -#: ../Doc/reference/expressions.rst:437 +#: ../Doc/reference/expressions.rst:441 msgid "" "Generator functions are described below, while asynchronous generator " "functions are described separately in section :ref:`asynchronous-generator-" @@ -655,7 +656,7 @@ msgstr "" "funciones generadoras asincrónicas son descritas separadamente en la " "sección :ref:`asynchronous-generator-functions`." -#: ../Doc/reference/expressions.rst:441 +#: ../Doc/reference/expressions.rst:445 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,7 +692,7 @@ msgstr "" "`None`. De otra forma, si se usa :meth:`~generator.send`, entonces el " "resultado será el valor pasado a ese método." -#: ../Doc/reference/expressions.rst:460 +#: ../Doc/reference/expressions.rst:464 msgid "" "All of this makes generator functions quite similar to coroutines; they " "yield multiple times, they have more than one entry point and their " @@ -705,7 +706,7 @@ msgstr "" "puede controlar si la ejecución debe continuar después de producir; el " "control siempre es transferido al invocador del generador." -#: ../Doc/reference/expressions.rst:466 +#: ../Doc/reference/expressions.rst:470 msgid "" "Yield expressions are allowed anywhere in a :keyword:`try` construct. If " "the generator is not resumed before it is finalized (by reaching a zero " @@ -719,11 +720,12 @@ msgstr "" "generador-iterador :meth:`~generator.close` será invocado, permitiendo la " "ejecución de cualquier cláusula :keyword:`finally` pendiente." -#: ../Doc/reference/expressions.rst:475 +#: ../Doc/reference/expressions.rst:479 +#, fuzzy msgid "" -"When ``yield from `` is used, it treats the supplied expression as a " -"subiterator. All values produced by that subiterator are passed directly to " -"the caller of the current generator's methods. Any values passed in with :" +"When ``yield from `` is used, the supplied expression must be an " +"iterable. The values produced by iterating that iterable are passed directly " +"to the caller of the current generator's methods. Any values passed in with :" "meth:`~generator.send` and any exceptions passed in with :meth:`~generator." "throw` are passed to the underlying iterator if it has the appropriate " "methods. If this is not the case, then :meth:`~generator.send` will raise :" @@ -740,7 +742,7 @@ msgstr "" "mientras :meth:`~generator.throw` sólo generará inmediatamente la excepción " "pasada." -#: ../Doc/reference/expressions.rst:484 +#: ../Doc/reference/expressions.rst:488 msgid "" "When the underlying iterator is complete, the :attr:`~StopIteration.value` " "attribute of the raised :exc:`StopIteration` instance becomes the value of " @@ -754,13 +756,13 @@ msgstr "" "explícitamente al generar :exc:`StopIteration` o automáticamente cuando el " "subiterador es un generador (retornando un valor del subgenerador)." -#: ../Doc/reference/expressions.rst:490 +#: ../Doc/reference/expressions.rst:494 msgid "Added ``yield from `` to delegate control flow to a subiterator." msgstr "" "Añadido ``yield from `` para delegar el control de flujo a un " "subiterador." -#: ../Doc/reference/expressions.rst:493 +#: ../Doc/reference/expressions.rst:497 msgid "" "The parentheses may be omitted when the yield expression is the sole " "expression on the right hand side of an assignment statement." @@ -768,11 +770,11 @@ msgstr "" "Los paréntesis pueden ser omitidos cuando la expresión yield es la única " "expresión en el lado derecho de una sentencia de asignación." -#: ../Doc/reference/expressions.rst:499 +#: ../Doc/reference/expressions.rst:503 msgid ":pep:`255` - Simple Generators" msgstr ":pep:`255` - Generadores Simples" -#: ../Doc/reference/expressions.rst:499 +#: ../Doc/reference/expressions.rst:503 msgid "" "The proposal for adding generators and the :keyword:`yield` statement to " "Python." @@ -780,11 +782,11 @@ msgstr "" "La propuesta para añadir generadores y la sentencia :keyword:`yield` a " "Python." -#: ../Doc/reference/expressions.rst:503 +#: ../Doc/reference/expressions.rst:507 msgid ":pep:`342` - Coroutines via Enhanced Generators" msgstr ":pep:`342` - Corrutinas mediante Generadores Mejorados" -#: ../Doc/reference/expressions.rst:502 +#: ../Doc/reference/expressions.rst:506 msgid "" "The proposal to enhance the API and syntax of generators, making them usable " "as simple coroutines." @@ -792,11 +794,11 @@ msgstr "" "La propuesta para mejorar la API y la sintaxis de generadores, haciéndolos " "utilizables como corrutinas simples." -#: ../Doc/reference/expressions.rst:507 +#: ../Doc/reference/expressions.rst:511 msgid ":pep:`380` - Syntax for Delegating to a Subgenerator" msgstr ":pep:`380` - Sintaxis para Delegar a un Subgenerador" -#: ../Doc/reference/expressions.rst:506 +#: ../Doc/reference/expressions.rst:510 msgid "" "The proposal to introduce the :token:`yield_from` syntax, making delegation " "to subgenerators easy." @@ -804,11 +806,11 @@ msgstr "" "La propuesta para introducir la sintaxis :token:`yield_from`, facilitando la " "delegación a subgeneradores." -#: ../Doc/reference/expressions.rst:510 +#: ../Doc/reference/expressions.rst:514 msgid ":pep:`525` - Asynchronous Generators" msgstr ":pep:`525`- Generadores Asincrónicos" -#: ../Doc/reference/expressions.rst:510 +#: ../Doc/reference/expressions.rst:514 msgid "" "The proposal that expanded on :pep:`492` by adding generator capabilities to " "coroutine functions." @@ -816,11 +818,11 @@ msgstr "" "La propuesta que expandió :pep:`492` añadiendo capacidades de generador a " "las funciones corrutina." -#: ../Doc/reference/expressions.rst:517 +#: ../Doc/reference/expressions.rst:521 msgid "Generator-iterator methods" msgstr "Métodos generador-iterador" -#: ../Doc/reference/expressions.rst:519 +#: ../Doc/reference/expressions.rst:523 msgid "" "This subsection describes the methods of a generator iterator. They can be " "used to control the execution of a generator function." @@ -828,7 +830,7 @@ msgstr "" "Esta subsección describe los métodos de un generador iterador. Estos pueden " "ser usados para controlar la ejecución de una función generadora." -#: ../Doc/reference/expressions.rst:522 +#: ../Doc/reference/expressions.rst:526 msgid "" "Note that calling any of the generator methods below when the generator is " "already executing raises a :exc:`ValueError` exception." @@ -837,7 +839,7 @@ msgstr "" "siguientes cuando el generador está todavía en ejecución genera una " "excepción :exc:`ValueError`." -#: ../Doc/reference/expressions.rst:530 +#: ../Doc/reference/expressions.rst:534 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 :" @@ -857,7 +859,7 @@ msgstr "" "generador termina sin producir otro valor, se genera una excepción :exc:" "`StopIteration`." -#: ../Doc/reference/expressions.rst:539 +#: ../Doc/reference/expressions.rst:543 msgid "" "This method is normally called implicitly, e.g. by a :keyword:`for` loop, or " "by the built-in :func:`next` function." @@ -865,7 +867,7 @@ msgstr "" "Este método es normalmente invocado implícitamente, por ejemplo, por un " "bucle :keyword:`for` o por la función incorporada :func:`next`." -#: ../Doc/reference/expressions.rst:545 +#: ../Doc/reference/expressions.rst:549 msgid "" "Resumes the execution and \"sends\" a value into the generator function. " "The *value* argument becomes the result of the current yield expression. " @@ -883,7 +885,7 @@ msgstr "" "ser invocado con :const:`None` como el argumento, debido a que no hay " "expresión yield que pueda recibir el valor." -#: ../Doc/reference/expressions.rst:556 +#: ../Doc/reference/expressions.rst:560 msgid "" "Raises an exception of type ``type`` at the point where the generator was " "paused, and returns the next value yielded by the generator function. If " @@ -899,7 +901,7 @@ msgstr "" "genera una excepción diferente, entonces se propaga esa excepción al " "invocador." -#: ../Doc/reference/expressions.rst:567 +#: ../Doc/reference/expressions.rst:571 msgid "" "Raises a :exc:`GeneratorExit` at the point where the generator function was " "paused. If the generator function then exits gracefully, is already closed, " @@ -917,11 +919,11 @@ msgstr "" "propagado al invocador. :meth:`close` no hace nada si el generador ya fue " "terminado debido a una excepción o una salida normal." -#: ../Doc/reference/expressions.rst:578 +#: ../Doc/reference/expressions.rst:582 msgid "Examples" msgstr "Ejemplos" -#: ../Doc/reference/expressions.rst:580 +#: ../Doc/reference/expressions.rst:584 msgid "" "Here is a simple example that demonstrates the behavior of generators and " "generator functions::" @@ -929,7 +931,7 @@ msgstr "" "Aquí hay un ejemplo simple que demuestra el comportamiento de generadores y " "funciones generadoras:" -#: ../Doc/reference/expressions.rst:607 +#: ../Doc/reference/expressions.rst:611 msgid "" "For examples using ``yield from``, see :ref:`pep-380` in \"What's New in " "Python.\"" @@ -937,11 +939,11 @@ msgstr "" "Para ejemplos usando ``yield from``, ver :ref:`pep-380` en \"Qué es nuevo en " "Python.\"" -#: ../Doc/reference/expressions.rst:613 +#: ../Doc/reference/expressions.rst:617 msgid "Asynchronous generator functions" msgstr "Funciones generadoras asincrónicas" -#: ../Doc/reference/expressions.rst:615 +#: ../Doc/reference/expressions.rst:619 msgid "" "The presence of a yield expression in a function or method defined using :" "keyword:`async def` further defines the function as an :term:`asynchronous " @@ -951,7 +953,7 @@ msgstr "" "keyword:`async def` adicionalmente define la función como una función :term:" "`asynchronous generator`." -#: ../Doc/reference/expressions.rst:619 +#: ../Doc/reference/expressions.rst:623 msgid "" "When an asynchronous generator function is called, it returns an " "asynchronous iterator known as an asynchronous generator object. That object " @@ -967,7 +969,7 @@ msgstr "" "función corrutina análogamente a como sería usado un objeto generador en una " "sentencia :keyword:`for`." -#: ../Doc/reference/expressions.rst:626 +#: ../Doc/reference/expressions.rst:630 msgid "" "Calling one of the asynchronous generator's methods returns an :term:" "`awaitable` object, and the execution starts when this object is awaited on. " @@ -1000,7 +1002,7 @@ msgstr "" "forma, si se usa :meth:`~agen.asend`, entonces el resultado será el valor " "pasado a ese método." -#: ../Doc/reference/expressions.rst:642 +#: ../Doc/reference/expressions.rst:646 msgid "" "In an asynchronous generator function, yield expressions are allowed " "anywhere in a :keyword:`try` construct. However, if an asynchronous " @@ -1024,7 +1026,7 @@ msgstr "" "ejecutar el objeto corrutina resultante, permitiendo así la ejecución de " "cualquier cláusula :keyword:`!finally` pendiente." -#: ../Doc/reference/expressions.rst:653 +#: ../Doc/reference/expressions.rst:657 msgid "" "To take care of finalization, an event loop should define a *finalizer* " "function which takes an asynchronous generator-iterator and presumably " @@ -1045,7 +1047,7 @@ msgstr "" "implementación de ``asyncio.Loop.shutdown_asyncgens`` en :source:`Lib/" "asyncio/base_events.py`." -#: ../Doc/reference/expressions.rst:662 +#: ../Doc/reference/expressions.rst:666 msgid "" "The expression ``yield from `` is a syntax error when used in an " "asynchronous generator function." @@ -1053,11 +1055,11 @@ msgstr "" "La expresión ``yield from `` es un error de sintaxis cuando es usada " "en una función generadora asincrónica." -#: ../Doc/reference/expressions.rst:669 +#: ../Doc/reference/expressions.rst:673 msgid "Asynchronous generator-iterator methods" msgstr "Métodos asincrónicos de generador-iterador" -#: ../Doc/reference/expressions.rst:671 +#: ../Doc/reference/expressions.rst:675 msgid "" "This subsection describes the methods of an asynchronous generator iterator, " "which are used to control the execution of a generator function." @@ -1065,7 +1067,7 @@ msgstr "" "Esta subsección describe los métodos de un generador iterador asincrónico, " "los cuales son usados para controlar la ejecución de una función generadora." -#: ../Doc/reference/expressions.rst:679 +#: ../Doc/reference/expressions.rst:683 msgid "" "Returns an awaitable which when run starts to execute the asynchronous " "generator or resumes it at the last executed yield expression. When an " @@ -1089,14 +1091,14 @@ msgstr "" "esperable en su lugar genera una excepción :exc:`StopAsyncIteration`, " "señalando que la iteración asincrónica se ha completado." -#: ../Doc/reference/expressions.rst:691 +#: ../Doc/reference/expressions.rst:695 msgid "" "This method is normally called implicitly by a :keyword:`async for` loop." msgstr "" "Este método es invocado normalmente de forma implícita por un bucle :keyword:" "`async for`." -#: ../Doc/reference/expressions.rst:696 +#: ../Doc/reference/expressions.rst:700 msgid "" "Returns an awaitable which when run resumes the execution of the " "asynchronous generator. As with the :meth:`~generator.send()` method for a " @@ -1121,7 +1123,7 @@ msgstr "" "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:711 +#: ../Doc/reference/expressions.rst:715 msgid "" "Returns an awaitable that raises an exception of type ``type`` at the point " "where the asynchronous generator was paused, and returns the next value " @@ -1141,7 +1143,7 @@ msgstr "" "diferente, entonces cuando se ejecuta el esperable esa excepción se propaga " "al invocador del esperable." -#: ../Doc/reference/expressions.rst:726 +#: ../Doc/reference/expressions.rst:730 msgid "" "Returns an awaitable that when run will throw a :exc:`GeneratorExit` into " "the asynchronous generator function at the point where it was paused. If the " @@ -1169,11 +1171,11 @@ msgstr "" "terminación normal, entonces futuras invocaciones a :meth:`aclose` " "retornarán un esperable que no hace nada." -#: ../Doc/reference/expressions.rst:742 +#: ../Doc/reference/expressions.rst:746 msgid "Primaries" msgstr "Primarios" -#: ../Doc/reference/expressions.rst:746 +#: ../Doc/reference/expressions.rst:750 msgid "" "Primaries represent the most tightly bound operations of the language. Their " "syntax is:" @@ -1181,16 +1183,16 @@ msgstr "" "Los primarios representan las operaciones más fuertemente ligadas al " "lenguaje. Su sintaxis es:" -#: ../Doc/reference/expressions.rst:756 +#: ../Doc/reference/expressions.rst:760 msgid "Attribute references" msgstr "Referencias de atributos" -#: ../Doc/reference/expressions.rst:762 +#: ../Doc/reference/expressions.rst:766 msgid "An attribute reference is a primary followed by a period and a name:" msgstr "" "Una referencia de atributo es un primario seguido de un punto y un nombre:" -#: ../Doc/reference/expressions.rst:772 +#: ../Doc/reference/expressions.rst:776 msgid "" "The primary must evaluate to an object of a type that supports attribute " "references, which most objects do. This object is then asked to produce the " @@ -1209,19 +1211,20 @@ msgstr "" "determinado por el objeto. Múltiples evaluaciones la misma referencia de " "atributo pueden producir diferentes objetos." -#: ../Doc/reference/expressions.rst:784 +#: ../Doc/reference/expressions.rst:788 msgid "Subscriptions" msgstr "Suscripciones" -#: ../Doc/reference/expressions.rst:799 +#: ../Doc/reference/expressions.rst:803 +#, fuzzy msgid "" -"A subscription selects an item of a sequence (string, tuple or list) or " -"mapping (dictionary) object:" +"Subscription of a sequence (string, tuple or list) or mapping (dictionary) " +"object usually selects an item from the collection:" msgstr "" "Una subscripción selecciona un elemento de una objeto secuencia (cadena de " "caracteres, tupla o lista) o mapeo (diccionario):" -#: ../Doc/reference/expressions.rst:805 +#: ../Doc/reference/expressions.rst:809 msgid "" "The primary must evaluate to an object that supports subscription (lists or " "dictionaries for example). User-defined objects can support subscription by " @@ -1231,7 +1234,7 @@ msgstr "" "diccionarios por ejemplo). Los objetos definidos por usuarios pueden " "soportar subscripción definiendo un método :meth:`__getitem__`." -#: ../Doc/reference/expressions.rst:809 +#: ../Doc/reference/expressions.rst:813 msgid "" "For built-in objects, there are two types of objects that support " "subscription:" @@ -1239,7 +1242,7 @@ msgstr "" "Para objetos incorporados, hay dos tipos de objetos que soportan " "subscripción:" -#: ../Doc/reference/expressions.rst:811 +#: ../Doc/reference/expressions.rst:815 msgid "" "If the primary is a mapping, the expression list must evaluate to an object " "whose value is one of the keys of the mapping, and the subscription selects " @@ -1251,7 +1254,7 @@ msgstr "" "valor en el mapeo que corresponda a esa clave. (La expresión de lista es una " "tupla excepto si tiene exactamente un elemento.)" -#: ../Doc/reference/expressions.rst:816 +#: ../Doc/reference/expressions.rst:820 msgid "" "If the primary is a sequence, the expression list must evaluate to an " "integer or a slice (as discussed in the following section)." @@ -1259,7 +1262,7 @@ msgstr "" "Si el primario es una secuencia, la expresión de lista debe evaluar a un " "entero o a un segmento (como es discutido en la siguiente sección)." -#: ../Doc/reference/expressions.rst:819 +#: ../Doc/reference/expressions.rst:823 msgid "" "The formal syntax makes no special provision for negative indices in " "sequences; however, built-in sequences all provide a :meth:`__getitem__` " @@ -1282,7 +1285,7 @@ msgstr "" "`__getitem__`, las subclases que sobrescriben este método necesitarán añadir " "explícitamente ese soporte." -#: ../Doc/reference/expressions.rst:833 +#: ../Doc/reference/expressions.rst:837 msgid "" "A string's items are characters. A character is not a separate data type " "but a string of exactly one character." @@ -1291,10 +1294,18 @@ msgstr "" "un tipo de datos separado sino una cadena de exactamente un caracter." #: ../Doc/reference/expressions.rst:840 +msgid "" +"Subscription of certain :term:`classes ` or :term:`types ` " +"creates a :ref:`generic alias `. In this case, user-" +"defined classes can support subscription by providing a :meth:" +"`__class_getitem__` classmethod." +msgstr "" + +#: ../Doc/reference/expressions.rst:849 msgid "Slicings" msgstr "Segmentos" -#: ../Doc/reference/expressions.rst:854 +#: ../Doc/reference/expressions.rst:863 msgid "" "A slicing selects a range of items in a sequence object (e.g., a string, " "tuple or list). Slicings may be used as expressions or as targets in " @@ -1305,7 +1316,7 @@ msgstr "" "como expresiones o como objetivos en asignaciones o sentencias :keyword:" "`del`. La sintaxis para un segmento:" -#: ../Doc/reference/expressions.rst:867 +#: ../Doc/reference/expressions.rst:876 msgid "" "There is ambiguity in the formal syntax here: anything that looks like an " "expression list also looks like a slice list, so any subscription can be " @@ -1322,7 +1333,7 @@ msgstr "" "como un segmento (este es el caso si el segmento de lista no contiene un " "segmento adecuado)." -#: ../Doc/reference/expressions.rst:879 +#: ../Doc/reference/expressions.rst:888 msgid "" "The semantics for a slicing are as follows. The primary is indexed (using " "the same :meth:`__getitem__` method as normal subscription) with a key that " @@ -1349,11 +1360,11 @@ msgstr "" "superior y paso, respectivamente, substituyendo ``None`` para las " "expresiones faltantes." -#: ../Doc/reference/expressions.rst:903 +#: ../Doc/reference/expressions.rst:912 msgid "Calls" msgstr "Invocaciones" -#: ../Doc/reference/expressions.rst:905 +#: ../Doc/reference/expressions.rst:914 msgid "" "A call calls a callable object (e.g., a :term:`function`) with a possibly " "empty series of :term:`arguments `:" @@ -1361,7 +1372,7 @@ msgstr "" "Una invocación invoca un objeto invocable (ej., una :term:`function`) con " "una serie posiblemente vacía de :term:`argumentos `:" -#: ../Doc/reference/expressions.rst:922 +#: ../Doc/reference/expressions.rst:931 msgid "" "An optional trailing comma may be present after the positional and keyword " "arguments but does not affect the semantics." @@ -1369,7 +1380,7 @@ msgstr "" "Una coma final opcional puede estar presente después de los argumentos " "posicionales y de palabra clave pero no afecta a las semánticas." -#: ../Doc/reference/expressions.rst:928 +#: ../Doc/reference/expressions.rst:937 msgid "" "The primary must evaluate to a callable object (user-defined functions, " "built-in functions, methods of built-in objects, class objects, methods of " @@ -1386,7 +1397,7 @@ msgstr "" "sección :ref:`function` para la sintaxis formal de listas de :term:" "`parameter`." -#: ../Doc/reference/expressions.rst:936 +#: ../Doc/reference/expressions.rst:945 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 " @@ -1428,7 +1439,7 @@ msgstr "" "genera una excepción :exc:`TypeError`. De lo contrario, la lista de ranuras " "rellenas se utiliza como la lista de argumentos para la llamada." -#: ../Doc/reference/expressions.rst:956 +#: ../Doc/reference/expressions.rst:965 msgid "" "An implementation may provide built-in functions whose positional parameters " "do not have names, even if they are 'named' for the purpose of " @@ -1442,7 +1453,7 @@ msgstr "" "palabras clave. En CPython, este es el caso para funciones implementadas en " "C que usan :c:func:`PyArg_ParseTuple` para analizar sus argumentos." -#: ../Doc/reference/expressions.rst:962 +#: ../Doc/reference/expressions.rst:971 msgid "" "If there are more positional arguments than there are formal parameter " "slots, a :exc:`TypeError` exception is raised, unless a formal parameter " @@ -1456,7 +1467,7 @@ msgstr "" "parámetro formal recibe una tupla conteniendo los argumentos posicionales " "sobrantes (o una tupla vacía su no hay argumentos posicionales sobrantes)." -#: ../Doc/reference/expressions.rst:968 +#: ../Doc/reference/expressions.rst:977 msgid "" "If any keyword argument does not correspond to a formal parameter name, a :" "exc:`TypeError` exception is raised, unless a formal parameter using the " @@ -1473,7 +1484,7 @@ msgstr "" "de argumento como sus valores correspondientes), o un (nuevo) diccionario " "vacío si no hay argumentos de palabra clave sobrantes." -#: ../Doc/reference/expressions.rst:979 +#: ../Doc/reference/expressions.rst:988 msgid "" "If the syntax ``*expression`` appears in the function call, ``expression`` " "must evaluate to an :term:`iterable`. Elements from these iterables are " @@ -1489,7 +1500,7 @@ msgstr "" "*y1*, ..., *yM*, equivale a una invocación con M+4 argumentos posicionales " "*x1*, *x2*, *y1*, ..., *yM*, *x3*, *x4*." -#: ../Doc/reference/expressions.rst:986 +#: ../Doc/reference/expressions.rst:995 msgid "" "A consequence of this is that although the ``*expression`` syntax may appear " "*after* explicit keyword arguments, it is processed *before* the keyword " @@ -1500,7 +1511,7 @@ msgstr "" "*antes* de los argumentos de palabra clave (y cualquiera de los argumentos " "``*expression`` -- ver abajo). Así que::" -#: ../Doc/reference/expressions.rst:1002 +#: ../Doc/reference/expressions.rst:1011 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 arise." @@ -1509,7 +1520,7 @@ msgstr "" "como la sintaxis ``*expression``, así que en la práctica no surge esta " "confusión." -#: ../Doc/reference/expressions.rst:1008 +#: ../Doc/reference/expressions.rst:1017 msgid "" "If the syntax ``**expression`` appears in the function call, ``expression`` " "must evaluate to a :term:`mapping`, the contents of which are treated as " @@ -1523,7 +1534,7 @@ msgstr "" "clave está ya presente (como un argumento de palabra clave explícito o desde " "otro desempaquetado), se genera una excepción :exc:`TypeError`." -#: ../Doc/reference/expressions.rst:1014 +#: ../Doc/reference/expressions.rst:1023 msgid "" "Formal parameters using the syntax ``*identifier`` or ``**identifier`` " "cannot be used as positional argument slots or as keyword argument names." @@ -1532,7 +1543,7 @@ msgstr "" "o ``**identifier`` como ranuras de argumentos posicionales o como nombres de " "argumentos de palabra clave." -#: ../Doc/reference/expressions.rst:1017 +#: ../Doc/reference/expressions.rst:1026 msgid "" "Function calls accept any number of ``*`` and ``**`` unpackings, positional " "arguments may follow iterable unpackings (``*``), and keyword arguments may " @@ -1544,7 +1555,7 @@ msgstr "" "desempaquetados de diccionario (``*``). Originalmente propuesto por :pep:" "`448`." -#: ../Doc/reference/expressions.rst:1023 +#: ../Doc/reference/expressions.rst:1032 msgid "" "A call always returns some value, possibly ``None``, unless it raises an " "exception. How this value is computed depends on the type of the callable " @@ -1554,15 +1565,15 @@ msgstr "" "que genere una excepción. Cómo se calcula este valor depende del tipo del " "objeto invocable." -#: ../Doc/reference/expressions.rst:1027 +#: ../Doc/reference/expressions.rst:1036 msgid "If it is---" msgstr "Si es---" -#: ../Doc/reference/expressions.rst:1040 +#: ../Doc/reference/expressions.rst:1049 msgid "a user-defined function:" msgstr "una función definida por el usuario:" -#: ../Doc/reference/expressions.rst:1036 +#: ../Doc/reference/expressions.rst:1045 msgid "" "The code block for the function is executed, passing it the argument list. " "The first thing the code block will do is bind the formal parameters to the " @@ -1576,11 +1587,11 @@ msgstr "" "`function`. Cuando el bloque de código ejecuta una sentencia :keyword:" "`return`, esto especifica el valor de retorno de la invocación de función." -#: ../Doc/reference/expressions.rst:1054 +#: ../Doc/reference/expressions.rst:1063 msgid "a built-in function or method:" msgstr "una función o método incorporado:" -#: ../Doc/reference/expressions.rst:1053 +#: ../Doc/reference/expressions.rst:1062 msgid "" "The result is up to the interpreter; see :ref:`built-in-funcs` for the " "descriptions of built-in functions and methods." @@ -1588,19 +1599,19 @@ msgstr "" "El resultado depende del intérprete; ver :ref:`built-in-funcs` para las " "descripciones de funciones y métodos incorporados." -#: ../Doc/reference/expressions.rst:1061 +#: ../Doc/reference/expressions.rst:1070 msgid "a class object:" msgstr "un objeto de clase:" -#: ../Doc/reference/expressions.rst:1061 +#: ../Doc/reference/expressions.rst:1070 msgid "A new instance of that class is returned." msgstr "Se retorna una nueva instancia de esa clase." -#: ../Doc/reference/expressions.rst:1071 +#: ../Doc/reference/expressions.rst:1080 msgid "a class instance method:" msgstr "un método de una instancia de clase:" -#: ../Doc/reference/expressions.rst:1069 +#: ../Doc/reference/expressions.rst:1078 msgid "" "The corresponding user-defined function is called, with an argument list " "that is one longer than the argument list of the call: the instance becomes " @@ -1610,11 +1621,11 @@ msgstr "" "de argumentos con un largo uno mayor que la lista de argumentos de la " "invocación: la instancia se convierte en el primer argumento." -#: ../Doc/reference/expressions.rst:1080 +#: ../Doc/reference/expressions.rst:1089 msgid "a class instance:" msgstr "una instancia de clase:" -#: ../Doc/reference/expressions.rst:1078 +#: ../Doc/reference/expressions.rst:1087 msgid "" "The class must define a :meth:`__call__` method; the effect is then the same " "as if that method was called." @@ -1622,11 +1633,11 @@ msgstr "" "La clase debe definir un método :meth:`__call__`; el efecto es entonces el " "mismo que si ese método fuera invocado." -#: ../Doc/reference/expressions.rst:1086 ../Doc/reference/expressions.rst:1834 +#: ../Doc/reference/expressions.rst:1095 ../Doc/reference/expressions.rst:1860 msgid "Await expression" msgstr "Expresión await" -#: ../Doc/reference/expressions.rst:1088 +#: ../Doc/reference/expressions.rst:1097 msgid "" "Suspend the execution of :term:`coroutine` on an :term:`awaitable` object. " "Can only be used inside a :term:`coroutine function`." @@ -1634,11 +1645,11 @@ msgstr "" "Suspende la ejecución de :term:`coroutine` o un objeto :term:`awaitable`. " "Puede ser usado sólo dentro de una :term:`coroutine function`." -#: ../Doc/reference/expressions.rst:1100 +#: ../Doc/reference/expressions.rst:1109 msgid "The power operator" msgstr "El operador de potencia" -#: ../Doc/reference/expressions.rst:1106 +#: ../Doc/reference/expressions.rst:1115 msgid "" "The power operator binds more tightly than unary operators on its left; it " "binds less tightly than unary operators on its right. The syntax is:" @@ -1647,7 +1658,7 @@ msgstr "" "unarios a su izquierda; se vincula con menos fuerza que los operadores " "unarios a su derecha. La sintaxis es:" -#: ../Doc/reference/expressions.rst:1112 +#: ../Doc/reference/expressions.rst:1121 msgid "" "Thus, in an unparenthesized sequence of power and unary operators, the " "operators are evaluated from right to left (this does not constrain the " @@ -1658,7 +1669,7 @@ msgstr "" "no se constriñe al orden de evaluación para los operandos): ``-1**2`` " "resulta en ``-1``." -#: ../Doc/reference/expressions.rst:1116 +#: ../Doc/reference/expressions.rst:1125 msgid "" "The power operator has the same semantics as the built-in :func:`pow` " "function, when called with two arguments: it yields its left argument raised " @@ -1671,7 +1682,7 @@ msgstr "" "derecha. Los argumentos numéricos se convierten primero en un tipo común y " "el resultado es de ese tipo." -#: ../Doc/reference/expressions.rst:1121 +#: ../Doc/reference/expressions.rst:1130 msgid "" "For int operands, the result has the same type as the operands unless the " "second argument is negative; in that case, all arguments are converted to " @@ -1683,7 +1694,7 @@ msgstr "" "son convertidos a float y se entrega un resultado float. Por ejemplo, " "``10**2`` retorna ``100``, pero ``10**-2`` retorna ``0.01``." -#: ../Doc/reference/expressions.rst:1126 +#: ../Doc/reference/expressions.rst:1135 msgid "" "Raising ``0.0`` to a negative power results in a :exc:`ZeroDivisionError`. " "Raising a negative number to a fractional power results in a :class:" @@ -1694,29 +1705,29 @@ msgstr "" "resulta en un número :class:`complex`. (En versiones anteriores se genera " "un :exc:`ValueError`.)" -#: ../Doc/reference/expressions.rst:1134 +#: ../Doc/reference/expressions.rst:1143 msgid "Unary arithmetic and bitwise operations" msgstr "Aritmética unaria y operaciones bit a bit" -#: ../Doc/reference/expressions.rst:1140 +#: ../Doc/reference/expressions.rst:1149 msgid "All unary arithmetic and bitwise operations have the same priority:" msgstr "" "Toda la aritmética unaria y las operaciones bit a bit tienen la misma " "prioridad:" -#: ../Doc/reference/expressions.rst:1151 +#: ../Doc/reference/expressions.rst:1160 msgid "" "The unary ``-`` (minus) operator yields the negation of its numeric argument." msgstr "" "El operador unario ``-`` (menos) produce la negación de su argumento " "numérico." -#: ../Doc/reference/expressions.rst:1158 +#: ../Doc/reference/expressions.rst:1167 msgid "The unary ``+`` (plus) operator yields its numeric argument unchanged." msgstr "" "El operador unario ``+`` (más) produce su argumento numérico sin cambios." -#: ../Doc/reference/expressions.rst:1164 +#: ../Doc/reference/expressions.rst:1173 msgid "" "The unary ``~`` (invert) operator yields the bitwise inversion of its " "integer argument. The bitwise inversion of ``x`` is defined as ``-(x+1)``. " @@ -1726,7 +1737,7 @@ msgstr "" "argumento entero. La inversión bit a bit de ``x`` se define como ``-(x+1)``. " "Sólo aplica a números integrales." -#: ../Doc/reference/expressions.rst:1170 +#: ../Doc/reference/expressions.rst:1179 msgid "" "In all three cases, if the argument does not have the proper type, a :exc:" "`TypeError` exception is raised." @@ -1734,11 +1745,11 @@ msgstr "" "En todos los tres casos, si el argumento no tiene el tipo apropiado, se " "genera una excepción :exc:`TypeError`." -#: ../Doc/reference/expressions.rst:1177 +#: ../Doc/reference/expressions.rst:1186 msgid "Binary arithmetic operations" msgstr "Operaciones aritméticas binarias" -#: ../Doc/reference/expressions.rst:1181 +#: ../Doc/reference/expressions.rst:1190 msgid "" "The binary arithmetic operations have the conventional priority levels. " "Note that some of these operations also apply to certain non-numeric types. " @@ -1750,7 +1761,7 @@ msgstr "" "ciertos tipos no numéricos. Aparte del operador de potencia, hay sólo dos " "niveles, uno para operadores multiplicativos y uno para aditivos:" -#: ../Doc/reference/expressions.rst:1196 +#: ../Doc/reference/expressions.rst:1205 msgid "" "The ``*`` (multiplication) operator yields the product of its arguments. " "The arguments must either both be numbers, or one argument must be an " @@ -1766,7 +1777,7 @@ msgstr "" "una repetición de secuencia; un factor de repetición negativo produce una " "secuencia vacía." -#: ../Doc/reference/expressions.rst:1206 +#: ../Doc/reference/expressions.rst:1215 msgid "" "The ``@`` (at) operator is intended to be used for matrix multiplication. " "No builtin Python types implement this operator." @@ -1774,7 +1785,7 @@ msgstr "" "El operador ``@`` (en) está destinado a ser usado para multiplicación de " "matrices. Ningún tipo incorporado en Python implementa este operador." -#: ../Doc/reference/expressions.rst:1217 +#: ../Doc/reference/expressions.rst:1226 msgid "" "The ``/`` (division) and ``//`` (floor division) operators yield the " "quotient of their arguments. The numeric arguments are first converted to a " @@ -1791,7 +1802,7 @@ msgstr "" "'floor' aplicada al resultado. Dividir entre 0 genera la excepción :exc:" "`ZeroDivisionError`." -#: ../Doc/reference/expressions.rst:1228 +#: ../Doc/reference/expressions.rst:1237 msgid "" "The ``%`` (modulo) operator yields the remainder from the division of the " "first argument by the second. The numeric arguments are first converted to " @@ -1811,7 +1822,7 @@ msgstr "" "que su segundo operando (o cero); el valor absoluto del resultado es " "estrictamente más pequeño que el valor absoluto del segundo operando [#]_." -#: ../Doc/reference/expressions.rst:1237 +#: ../Doc/reference/expressions.rst:1246 msgid "" "The floor division and modulo operators are connected by the following " "identity: ``x == (x//y)*y + (x%y)``. Floor division and modulo are also " @@ -1823,7 +1834,7 @@ msgstr "" "módulo también están conectadas por la función incorporada :func:`divmod`: " "``divmod(x, y) == (x//y, x%y)``. [#]_." -#: ../Doc/reference/expressions.rst:1242 +#: ../Doc/reference/expressions.rst:1251 msgid "" "In addition to performing the modulo operation on numbers, the ``%`` " "operator is also overloaded by string objects to perform old-style string " @@ -1837,7 +1848,7 @@ msgstr "" "La sintaxis para el formateo de cadenas está descrita en la Referencia de la " "Biblioteca de Python, sección :ref:`old-string-formatting`." -#: ../Doc/reference/expressions.rst:1247 +#: ../Doc/reference/expressions.rst:1256 msgid "" "The floor division operator, the modulo operator, and the :func:`divmod` " "function are not defined for complex numbers. Instead, convert to a " @@ -1847,7 +1858,7 @@ msgstr "" "`divmod` no están definidas para números complejos. En su lugar, convierta a " "un número de punto flotante usando la función :func:`abs` si es apropiado." -#: ../Doc/reference/expressions.rst:1256 +#: ../Doc/reference/expressions.rst:1265 msgid "" "The ``+`` (addition) operator yields the sum of its arguments. The " "arguments must either both be numbers or both be sequences of the same " @@ -1859,7 +1870,7 @@ msgstr "" "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:1266 +#: ../Doc/reference/expressions.rst:1275 msgid "" "The ``-`` (subtraction) operator yields the difference of its arguments. " "The numeric arguments are first converted to a common type." @@ -1867,18 +1878,18 @@ msgstr "" "El operador ``-`` (resta) produce la diferencia de sus argumentos. Los " "argumentos numéricos son primero convertidos a un tipo común." -#: ../Doc/reference/expressions.rst:1273 +#: ../Doc/reference/expressions.rst:1282 msgid "Shifting operations" msgstr "Operaciones de desplazamiento" -#: ../Doc/reference/expressions.rst:1280 +#: ../Doc/reference/expressions.rst:1289 msgid "" "The shifting operations have lower priority than the arithmetic operations:" msgstr "" "Las operaciones de desplazamiento tienen menos prioridad que las operaciones " "aritméticas:" -#: ../Doc/reference/expressions.rst:1285 +#: ../Doc/reference/expressions.rst:1294 msgid "" "These operators accept integers as arguments. They shift the first argument " "to the left or right by the number of bits given by the second argument." @@ -1887,7 +1898,7 @@ msgstr "" "argumento a la izquierda o derecha el número de dígitos dados por el segundo " "argumento." -#: ../Doc/reference/expressions.rst:1290 +#: ../Doc/reference/expressions.rst:1299 msgid "" "A right shift by *n* bits is defined as floor division by ``pow(2,n)``. A " "left shift by *n* bits is defined as multiplication with ``pow(2,n)``." @@ -1896,17 +1907,17 @@ msgstr "" "división de redondeo entre ``pow(2,n)``. Un desplazamiento de *n* bits hacia " "la izquierda está definido como una multiplicación por ``pow(2,n)``." -#: ../Doc/reference/expressions.rst:1297 +#: ../Doc/reference/expressions.rst:1306 msgid "Binary bitwise operations" msgstr "Operaciones bit a bit binarias" -#: ../Doc/reference/expressions.rst:1301 +#: ../Doc/reference/expressions.rst:1310 msgid "Each of the three bitwise operations has a different priority level:" msgstr "" "Cada una de las tres operaciones de bits binarias tienen diferente nivel de " "prioridad:" -#: ../Doc/reference/expressions.rst:1312 +#: ../Doc/reference/expressions.rst:1321 msgid "" "The ``&`` operator yields the bitwise AND of its arguments, which must be " "integers." @@ -1914,7 +1925,7 @@ msgstr "" "El operador ``&`` produce el AND bit a bit de sus argumentos, los cuales " "deben ser enteros." -#: ../Doc/reference/expressions.rst:1320 +#: ../Doc/reference/expressions.rst:1329 msgid "" "The ``^`` operator yields the bitwise XOR (exclusive OR) of its arguments, " "which must be integers." @@ -1922,7 +1933,7 @@ msgstr "" "El operador ``^`` produce el XOR (OR exclusivo) bit a bit de sus argumentos, " "los cuales deben ser enteros." -#: ../Doc/reference/expressions.rst:1328 +#: ../Doc/reference/expressions.rst:1337 msgid "" "The ``|`` operator yields the bitwise (inclusive) OR of its arguments, which " "must be integers." @@ -1930,11 +1941,11 @@ msgstr "" "El operador ``|`` produce el OR (inclusivo) bit a bit de sus argumentos, los " "cuales deben ser enteros." -#: ../Doc/reference/expressions.rst:1335 +#: ../Doc/reference/expressions.rst:1344 msgid "Comparisons" msgstr "Comparaciones" -#: ../Doc/reference/expressions.rst:1347 +#: ../Doc/reference/expressions.rst:1356 msgid "" "Unlike C, all comparison operations in Python have the same priority, which " "is lower than that of any arithmetic, shifting or bitwise operation. Also " @@ -1946,11 +1957,11 @@ msgstr "" "de desplazamiento o bit a bit. También, a diferencia de C, expresiones como " "``a < b < c`` tienen la interpretación convencional en matemáticas:" -#: ../Doc/reference/expressions.rst:1357 +#: ../Doc/reference/expressions.rst:1366 msgid "Comparisons yield boolean values: ``True`` or ``False``." msgstr "Comparaciones producen valores booleanos: `` True`` o ``False``." -#: ../Doc/reference/expressions.rst:1361 +#: ../Doc/reference/expressions.rst:1370 msgid "" "Comparisons can be chained arbitrarily, e.g., ``x < y <= z`` is equivalent " "to ``x < y and y <= z``, except that ``y`` is evaluated only once (but in " @@ -1962,7 +1973,7 @@ msgstr "" "sólo una vez (pero en ambos casos ``z`` no es evaluado para nada cuando ``x " "< y`` se encuentra que es falso)." -#: ../Doc/reference/expressions.rst:1365 +#: ../Doc/reference/expressions.rst:1374 msgid "" "Formally, if *a*, *b*, *c*, ..., *y*, *z* are expressions and *op1*, " "*op2*, ..., *opN* are comparison operators, then ``a op1 b op2 c ... y opN " @@ -1974,7 +1985,7 @@ msgstr "" "c ... y opN z`` es equivalente a ``a op1 b and b op2 c and ... y opN z``, " "excepto que cada expresión es evaluada como mucho una vez." -#: ../Doc/reference/expressions.rst:1370 +#: ../Doc/reference/expressions.rst:1379 msgid "" "Note that ``a op1 b op2 c`` doesn't imply any kind of comparison between *a* " "and *c*, so that, e.g., ``x < y > z`` is perfectly legal (though perhaps not " @@ -1984,11 +1995,11 @@ msgstr "" "entre *a* y *c*, por lo que, por ejemplo, ``x < y > z`` es perfectamente " "legal (aunque quizás no es bonito)." -#: ../Doc/reference/expressions.rst:1375 +#: ../Doc/reference/expressions.rst:1384 msgid "Value comparisons" msgstr "Comparaciones de valor" -#: ../Doc/reference/expressions.rst:1377 +#: ../Doc/reference/expressions.rst:1386 msgid "" "The operators ``<``, ``>``, ``==``, ``>=``, ``<=``, and ``!=`` compare the " "values of two objects. The objects do not need to have the same type." @@ -1996,7 +2007,7 @@ msgstr "" "Los operadores ``<``, ``>``, ``==``, ``>=``, ``<=``, y ``!=`` comparan los " "valores de dos objetos. Los objetos no necesitan ser del mismo tipo." -#: ../Doc/reference/expressions.rst:1380 +#: ../Doc/reference/expressions.rst:1389 msgid "" "Chapter :ref:`objects` states that objects have a value (in addition to type " "and identity). The value of an object is a rather abstract notion in " @@ -2017,7 +2028,7 @@ msgstr "" "definiendo el valor de un objeto indirectamente, mediante su implementación " "de comparación." -#: ../Doc/reference/expressions.rst:1389 +#: ../Doc/reference/expressions.rst:1398 msgid "" "Because all types are (direct or indirect) subtypes of :class:`object`, they " "inherit the default comparison behavior from :class:`object`. Types can " @@ -2030,7 +2041,7 @@ msgstr "" "comparación implementando :dfn:`rich comparison methods` como :meth:" "`__lt__`, descritos en :ref:`customization`." -#: ../Doc/reference/expressions.rst:1395 +#: ../Doc/reference/expressions.rst:1404 msgid "" "The default behavior for equality comparison (``==`` and ``!=``) is based on " "the identity of the objects. Hence, equality comparison of instances with " @@ -2046,7 +2057,7 @@ msgstr "" "motivación para este comportamiento predeterminado es el deseo de que todos " "los objetos sean reflexivos (ej. ``x is y`` implica ``x == y``)." -#: ../Doc/reference/expressions.rst:1402 +#: ../Doc/reference/expressions.rst:1411 msgid "" "A default order comparison (``<``, ``>``, ``<=``, and ``>=``) is not " "provided; an attempt raises :exc:`TypeError`. A motivation for this default " @@ -2057,7 +2068,7 @@ msgstr "" "comportamiento predeterminado es la falta de una invariante similar como " "para la igualdad." -#: ../Doc/reference/expressions.rst:1406 +#: ../Doc/reference/expressions.rst:1415 msgid "" "The behavior of the default equality comparison, that instances with " "different identities are always unequal, may be in contrast to what types " @@ -2072,7 +2083,7 @@ msgstr "" "personalizar su comportamiento de comparación y, de hecho, un número de " "tipos incorporados lo han realizado." -#: ../Doc/reference/expressions.rst:1412 +#: ../Doc/reference/expressions.rst:1421 msgid "" "The following list describes the comparison behavior of the most important " "built-in types." @@ -2080,7 +2091,7 @@ msgstr "" "La siguiente lista describe el comportamiento de comparación de los tipos " "incorporados más importantes." -#: ../Doc/reference/expressions.rst:1415 +#: ../Doc/reference/expressions.rst:1424 msgid "" "Numbers of built-in numeric types (:ref:`typesnumeric`) and of the standard " "library types :class:`fractions.Fraction` and :class:`decimal.Decimal` can " @@ -2096,7 +2107,7 @@ msgstr "" "límites de los tipos involucrados, se comparan matemáticamente " "(algorítmicamente) correctos sin pérdida de precisión." -#: ../Doc/reference/expressions.rst:1422 +#: ../Doc/reference/expressions.rst:1431 msgid "" "The not-a-number values ``float('NaN')`` and ``decimal.Decimal('NaN')`` are " "special. Any ordered comparison of a number to a not-a-number value is " @@ -2112,7 +2123,7 @@ msgstr "" "``x < 3`` y ``x == x`` son todos falso, mientras ``x != x`` es verdadero. " "Este comportamiento cumple con IEEE 754." -#: ../Doc/reference/expressions.rst:1429 +#: ../Doc/reference/expressions.rst:1438 msgid "" "``None`` and ``NotImplemented`` are singletons. :PEP:`8` advises that " "comparisons for singletons should always be done with ``is`` or ``is not``, " @@ -2122,7 +2133,7 @@ msgstr "" "comparaciones para singletons deben ser realizadas siempre con ``is`` o ``is " "not``, nunca los operadores de igualdad." -#: ../Doc/reference/expressions.rst:1433 +#: ../Doc/reference/expressions.rst:1442 msgid "" "Binary sequences (instances of :class:`bytes` or :class:`bytearray`) can be " "compared within and across their types. They compare lexicographically " @@ -2132,7 +2143,7 @@ msgstr "" "pueden ser comparadas entre sí y con otros tipos. Ellas comparan " "lexicográficamente utilizando los valores numéricos de sus elementos." -#: ../Doc/reference/expressions.rst:1437 +#: ../Doc/reference/expressions.rst:1446 msgid "" "Strings (instances of :class:`str`) compare lexicographically using the " "numerical Unicode code points (the result of the built-in function :func:" @@ -2142,13 +2153,13 @@ msgstr "" "lexicográficamente usando los puntos de códigos numéricos Unicode (el " "resultado de la función incorporada :func:`ord`) o sus caracteres. [#]_" -#: ../Doc/reference/expressions.rst:1441 +#: ../Doc/reference/expressions.rst:1450 msgid "Strings and binary sequences cannot be directly compared." msgstr "" "Las cadenas de caracteres y las secuencias binarias no pueden ser comparadas " "directamente." -#: ../Doc/reference/expressions.rst:1443 +#: ../Doc/reference/expressions.rst:1452 msgid "" "Sequences (instances of :class:`tuple`, :class:`list`, or :class:`range`) " "can be compared only within each of their types, with the restriction that " @@ -2162,7 +2173,7 @@ msgstr "" "de igualdad entre esos tipos resulta en desigualdad y la comparación de " "orden entre esos tipos genera :exc:`TypeError`." -#: ../Doc/reference/expressions.rst:1449 +#: ../Doc/reference/expressions.rst:1458 msgid "" "Sequences compare lexicographically using comparison of corresponding " "elements. The built-in containers typically assume identical objects are " @@ -2175,14 +2186,14 @@ msgstr "" "pruebas de igualdad para objetos idénticos para mejorar el rendimiento y " "mantener sus invariantes internos." -#: ../Doc/reference/expressions.rst:1454 +#: ../Doc/reference/expressions.rst:1463 msgid "" "Lexicographical comparison between built-in collections works as follows:" msgstr "" "La comparación lexicográfica entre colecciones incorporadas funciona de la " "siguiente forma:" -#: ../Doc/reference/expressions.rst:1456 +#: ../Doc/reference/expressions.rst:1465 msgid "" "For two collections to compare equal, they must be of the same type, have " "the same length, and each pair of corresponding elements must compare equal " @@ -2193,7 +2204,7 @@ msgstr "" "comparar iguales (por ejemplo, ``[1,2] == (1,2)`` es falso debido a que el " "tipo no es el mismo)." -#: ../Doc/reference/expressions.rst:1461 +#: ../Doc/reference/expressions.rst:1470 msgid "" "Collections that support order comparison are ordered the same as their " "first unequal elements (for example, ``[1,2,x] <= [1,2,y]`` has the same " @@ -2207,7 +2218,7 @@ msgstr "" "colección más corta es ordenada primero (por ejemplo, ``[1,2] < [1,2,3]`` es " "verdadero)." -#: ../Doc/reference/expressions.rst:1467 +#: ../Doc/reference/expressions.rst:1476 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 " @@ -2217,14 +2228,14 @@ msgstr "" "pares `(clave, valor)` iguales. La comparación de igualdad de claves y " "valores refuerza la reflexibilidad." -#: ../Doc/reference/expressions.rst:1471 +#: ../Doc/reference/expressions.rst:1480 msgid "" "Order comparisons (``<``, ``>``, ``<=``, and ``>=``) raise :exc:`TypeError`." msgstr "" "Comparaciones de orden (``<``, ``>``, ``<=``, and ``>=``) generan :exc:" "`TypeError`." -#: ../Doc/reference/expressions.rst:1473 +#: ../Doc/reference/expressions.rst:1482 msgid "" "Sets (instances of :class:`set` or :class:`frozenset`) can be compared " "within and across their types." @@ -2232,7 +2243,7 @@ msgstr "" "Conjuntos (instancias de :class:`set` o :class:`frozenset`) pueden ser " "comparadas entre sí y entre sus tipos." -#: ../Doc/reference/expressions.rst:1476 +#: ../Doc/reference/expressions.rst:1485 msgid "" "They define order comparison operators to mean subset and superset tests. " "Those relations do not define total orderings (for example, the two sets " @@ -2250,12 +2261,12 @@ msgstr "" "ordenación completa (por ejemplo, :func:`min`, :func:`max` y :func:`sorted` " "producen resultados indefinidos dados una lista de conjuntos como entradas)." -#: ../Doc/reference/expressions.rst:1484 +#: ../Doc/reference/expressions.rst:1493 msgid "Comparison of sets enforces reflexivity of its elements." msgstr "" "La comparación de conjuntos refuerza la reflexibilidad de sus elementos." -#: ../Doc/reference/expressions.rst:1486 +#: ../Doc/reference/expressions.rst:1495 msgid "" "Most other built-in types have no comparison methods implemented, so they " "inherit the default comparison behavior." @@ -2264,7 +2275,7 @@ msgstr "" "implementados, por lo que ellos heredan el comportamiento de comparación " "predeterminado." -#: ../Doc/reference/expressions.rst:1489 +#: ../Doc/reference/expressions.rst:1498 msgid "" "User-defined classes that customize their comparison behavior should follow " "some consistency rules, if possible:" @@ -2272,7 +2283,7 @@ msgstr "" "Las clases definidas por el usuario que personalizan su comportamiento de " "comparación deben seguir algunas reglas de consistencia, si es posible:" -#: ../Doc/reference/expressions.rst:1492 +#: ../Doc/reference/expressions.rst:1501 msgid "" "Equality comparison should be reflexive. In other words, identical objects " "should compare equal:" @@ -2280,11 +2291,11 @@ msgstr "" "La comparación de igualdad debe ser reflexiva. En otras palabras, los " "objetos idénticos deben comparar iguales:" -#: ../Doc/reference/expressions.rst:1495 +#: ../Doc/reference/expressions.rst:1504 msgid "``x is y`` implies ``x == y``" msgstr "``x is y`` implica ``x == y``" -#: ../Doc/reference/expressions.rst:1497 +#: ../Doc/reference/expressions.rst:1506 msgid "" "Comparison should be symmetric. In other words, the following expressions " "should have the same result:" @@ -2292,23 +2303,23 @@ msgstr "" "La comparación debe ser simétrica. En otras palabras, las siguientes " "expresiones deben tener el mismo resultado:" -#: ../Doc/reference/expressions.rst:1500 +#: ../Doc/reference/expressions.rst:1509 msgid "``x == y`` and ``y == x``" msgstr "``x == y`` y ``y == x``" -#: ../Doc/reference/expressions.rst:1502 +#: ../Doc/reference/expressions.rst:1511 msgid "``x != y`` and ``y != x``" msgstr "``x != y`` y ``y != x``" -#: ../Doc/reference/expressions.rst:1504 +#: ../Doc/reference/expressions.rst:1513 msgid "``x < y`` and ``y > x``" msgstr "``x < y`` y ``y > x``" -#: ../Doc/reference/expressions.rst:1506 +#: ../Doc/reference/expressions.rst:1515 msgid "``x <= y`` and ``y >= x``" msgstr "``x <= y`` y ``y >= x``" -#: ../Doc/reference/expressions.rst:1508 +#: ../Doc/reference/expressions.rst:1517 msgid "" "Comparison should be transitive. The following (non-exhaustive) examples " "illustrate that:" @@ -2316,15 +2327,15 @@ msgstr "" "La comparación debe ser transitiva. Los siguientes ejemplos (no exhaustivos) " "ilustran esto:" -#: ../Doc/reference/expressions.rst:1511 +#: ../Doc/reference/expressions.rst:1520 msgid "``x > y and y > z`` implies ``x > z``" msgstr "``x > y and y > z`` implica ``x > z``" -#: ../Doc/reference/expressions.rst:1513 +#: ../Doc/reference/expressions.rst:1522 msgid "``x < y and y <= z`` implies ``x < z``" msgstr "``x < y and y <= z`` implica ``x < z``" -#: ../Doc/reference/expressions.rst:1515 +#: ../Doc/reference/expressions.rst:1524 msgid "" "Inverse comparison should result in the boolean negation. In other words, " "the following expressions should have the same result:" @@ -2332,19 +2343,19 @@ msgstr "" "La comparación inversa debe resultar en la negación booleana. En otras " "palabras, las siguientes expresiones deben tener el mismo resultado:" -#: ../Doc/reference/expressions.rst:1518 +#: ../Doc/reference/expressions.rst:1527 msgid "``x == y`` and ``not x != y``" msgstr "``x == y`` y ``not x != y``" -#: ../Doc/reference/expressions.rst:1520 +#: ../Doc/reference/expressions.rst:1529 msgid "``x < y`` and ``not x >= y`` (for total ordering)" msgstr "``x < y`` y ``not x >= y`` (para ordenación completa)" -#: ../Doc/reference/expressions.rst:1522 +#: ../Doc/reference/expressions.rst:1531 msgid "``x > y`` and ``not x <= y`` (for total ordering)" msgstr "``x > y`` y ``not x <= y`` (para ordenación completa)" -#: ../Doc/reference/expressions.rst:1524 +#: ../Doc/reference/expressions.rst:1533 msgid "" "The last two expressions apply to totally ordered collections (e.g. to " "sequences, but not to sets or mappings). See also the :func:`~functools." @@ -2354,7 +2365,7 @@ msgstr "" "(ej. a secuencias, pero no a conjuntos o mapeos). Vea también el decorador :" "func:`~functools.total_ordering`." -#: ../Doc/reference/expressions.rst:1528 +#: ../Doc/reference/expressions.rst:1537 msgid "" "The :func:`hash` result should be consistent with equality. Objects that are " "equal should either have the same hash value, or be marked as unhashable." @@ -2363,7 +2374,7 @@ msgstr "" "que son iguales deben tener el mismo valor de hash o ser marcados como " "inhashables." -#: ../Doc/reference/expressions.rst:1532 +#: ../Doc/reference/expressions.rst:1541 msgid "" "Python does not enforce these consistency rules. In fact, the not-a-number " "values are an example for not following these rules." @@ -2371,11 +2382,11 @@ msgstr "" "Python no fuerza a cumplir esas reglas de coherencia. De hecho, los valores " "no-un-número son u ejemplo para no seguir esas reglas." -#: ../Doc/reference/expressions.rst:1541 +#: ../Doc/reference/expressions.rst:1550 msgid "Membership test operations" msgstr "Operaciones de prueba de membresía" -#: ../Doc/reference/expressions.rst:1543 +#: ../Doc/reference/expressions.rst:1552 msgid "" "The operators :keyword:`in` and :keyword:`not in` test for membership. ``x " "in s`` evaluates to ``True`` if *x* is a member of *s*, and ``False`` " @@ -2394,7 +2405,7 @@ msgstr "" "frozenset, dict o collections.deque, la expresión ``x in y`` es equivalente " "a ``any(x is e or x == e for e in y)``." -#: ../Doc/reference/expressions.rst:1551 +#: ../Doc/reference/expressions.rst:1560 msgid "" "For the string and bytes types, ``x in y`` is ``True`` if and only if *x* is " "a substring of *y*. An equivalent test is ``y.find(x) != -1``. Empty " @@ -2407,7 +2418,7 @@ msgstr "" "como subcadenas de cualquier otra cadena de caracteres, por lo que ``\"\" in " "\"abc\"`` retornará ``True``." -#: ../Doc/reference/expressions.rst:1556 +#: ../Doc/reference/expressions.rst:1565 msgid "" "For user-defined classes which define the :meth:`__contains__` method, ``x " "in y`` returns ``True`` if ``y.__contains__(x)`` returns a true value, and " @@ -2417,7 +2428,7 @@ msgstr "" "`__contains__`, ``x in y`` retorna ``True`` si ``y.__contains__(x)`` retorna " "un valor verdadero y ``False`` si no." -#: ../Doc/reference/expressions.rst:1560 +#: ../Doc/reference/expressions.rst:1569 msgid "" "For user-defined classes which do not define :meth:`__contains__` but do " "define :meth:`__iter__`, ``x in y`` is ``True`` if some value ``z``, for " @@ -2432,7 +2443,7 @@ msgstr "" "durante la iteración, es como si :keyword:`in` hubiera generado esa " "excepción." -#: ../Doc/reference/expressions.rst:1566 +#: ../Doc/reference/expressions.rst:1575 msgid "" "Lastly, the old-style iteration protocol is tried: if a class defines :meth:" "`__getitem__`, ``x in y`` is ``True`` if and only if there is a non-negative " @@ -2447,7 +2458,7 @@ msgstr "" "excepción es generada, es como si :keyword:`in` hubiera generado esa " "excepción)." -#: ../Doc/reference/expressions.rst:1578 +#: ../Doc/reference/expressions.rst:1587 msgid "" "The operator :keyword:`not in` is defined to have the inverse truth value " "of :keyword:`in`." @@ -2455,11 +2466,11 @@ msgstr "" "El operador :keyword:`not in` es definido para tener el valor de veracidad " "inverso de :keyword:`in`." -#: ../Doc/reference/expressions.rst:1591 +#: ../Doc/reference/expressions.rst:1600 msgid "Identity comparisons" msgstr "Comparaciones de identidad" -#: ../Doc/reference/expressions.rst:1593 +#: ../Doc/reference/expressions.rst:1602 msgid "" "The operators :keyword:`is` and :keyword:`is not` test for an object's " "identity: ``x is y`` is true if and only if *x* and *y* are the same " @@ -2471,11 +2482,11 @@ msgstr "" "objeto. La identidad de un Objeto se determina usando la función :meth:`id`. " "``x is not y`` produce el valor de veracidad inverso. [#]_" -#: ../Doc/reference/expressions.rst:1605 +#: ../Doc/reference/expressions.rst:1614 msgid "Boolean operations" msgstr "Operaciones booleanas" -#: ../Doc/reference/expressions.rst:1616 +#: ../Doc/reference/expressions.rst:1625 msgid "" "In the context of Boolean operations, and also when expressions are used by " "control flow statements, the following values are interpreted as false: " @@ -2494,7 +2505,7 @@ msgstr "" "por el usuario pueden personalizar su valor de veracidad proveyendo un " "método :meth:`__bool__`." -#: ../Doc/reference/expressions.rst:1625 +#: ../Doc/reference/expressions.rst:1634 msgid "" "The operator :keyword:`not` yields ``True`` if its argument is false, " "``False`` otherwise." @@ -2502,7 +2513,7 @@ msgstr "" "El operador :keyword:`not` produce ``True`` si su argumento es falso, " "``False`` si no." -#: ../Doc/reference/expressions.rst:1630 +#: ../Doc/reference/expressions.rst:1639 msgid "" "The expression ``x and y`` first evaluates *x*; if *x* is false, its value " "is returned; otherwise, *y* is evaluated and the resulting value is returned." @@ -2510,7 +2521,7 @@ msgstr "" "La expresión ``x and y`` primero evalúa *x*; si *x* es falso, se retorna su " "valor; de otra forma, *y* es evaluado y se retorna el valor resultante." -#: ../Doc/reference/expressions.rst:1635 +#: ../Doc/reference/expressions.rst:1644 msgid "" "The expression ``x or y`` first evaluates *x*; if *x* is true, its value is " "returned; otherwise, *y* is evaluated and the resulting value is returned." @@ -2518,7 +2529,7 @@ msgstr "" "La expresión ``x or y`` primero evalúa *x*; si *x* es verdadero, se retorna " "su valor; de otra forma, *y* es evaluado y se retorna el valor resultante." -#: ../Doc/reference/expressions.rst:1638 +#: ../Doc/reference/expressions.rst:1647 msgid "" "Note that neither :keyword:`and` nor :keyword:`or` restrict the value and " "type they return to ``False`` and ``True``, but rather return the last " @@ -2537,19 +2548,34 @@ msgstr "" "indiferentemente del tipo de su argumento (por ejemplo, ``not 'foo'`` " "produce ``False`` en lugar de ``''``.)" -#: ../Doc/reference/expressions.rst:1648 +#: ../Doc/reference/expressions.rst:1657 msgid "Assignment expressions" msgstr "Expresiones de asignación" -#: ../Doc/reference/expressions.rst:1655 +#: ../Doc/reference/expressions.rst:1662 +msgid "" +"An assignment expression (sometimes also called a \"named expression\" or " +"\"walrus\") assigns an :token:`expression` to an :token:`identifier`, while " +"also returning the value of the :token:`expression`." +msgstr "" + +#: ../Doc/reference/expressions.rst:1666 +msgid "One common use case is when handling matched regular expressions:" +msgstr "" + +#: ../Doc/reference/expressions.rst:1673 +msgid "Or, when processing a file stream in chunks:" +msgstr "" + +#: ../Doc/reference/expressions.rst:1680 msgid "See :pep:`572` for more details about assignment expressions." msgstr "Vea :pep:`572` para más detalles sobre las expresiones de asignación." -#: ../Doc/reference/expressions.rst:1661 +#: ../Doc/reference/expressions.rst:1687 msgid "Conditional expressions" msgstr "Expresiones condicionales" -#: ../Doc/reference/expressions.rst:1674 +#: ../Doc/reference/expressions.rst:1700 msgid "" "Conditional expressions (sometimes called a \"ternary operator\") have the " "lowest priority of all Python operations." @@ -2557,7 +2583,7 @@ msgstr "" "Las expresiones condicionales (a veces denominadas un \"operador ternario\") " "tienen la prioridad más baja que todas las operaciones de Python." -#: ../Doc/reference/expressions.rst:1677 +#: ../Doc/reference/expressions.rst:1703 msgid "" "The expression ``x if C else y`` first evaluates the condition, *C* rather " "than *x*. If *C* is true, *x* is evaluated and its value is returned; " @@ -2567,15 +2593,15 @@ msgstr "" "*x*. Si *C* es verdadero, *x* es evaluado y se retorna su valor; en caso " "contrario, *y* es evaluado y se retorna su valor." -#: ../Doc/reference/expressions.rst:1681 +#: ../Doc/reference/expressions.rst:1707 msgid "See :pep:`308` for more details about conditional expressions." msgstr "Vea :pep:`308` para más detalles sobre expresiones condicionales." -#: ../Doc/reference/expressions.rst:1688 +#: ../Doc/reference/expressions.rst:1714 msgid "Lambdas" msgstr "Lambdas" -#: ../Doc/reference/expressions.rst:1700 +#: ../Doc/reference/expressions.rst:1726 msgid "" "Lambda expressions (sometimes called lambda forms) are used to create " "anonymous functions. The expression ``lambda parameters: expression`` yields " @@ -2587,7 +2613,7 @@ msgstr "" "produce un objeto de función. El objeto sin nombre se comporta como un " "objeto función con:" -#: ../Doc/reference/expressions.rst:1709 +#: ../Doc/reference/expressions.rst:1735 msgid "" "See section :ref:`function` for the syntax of parameter lists. Note that " "functions created with lambda expressions cannot contain statements or " @@ -2597,11 +2623,11 @@ msgstr "" "Tenga en cuenta que las funciones creadas con expresiones lambda no pueden " "contener sentencias ni anotaciones." -#: ../Doc/reference/expressions.rst:1717 +#: ../Doc/reference/expressions.rst:1743 msgid "Expression lists" msgstr "Listas de expresiones" -#: ../Doc/reference/expressions.rst:1731 +#: ../Doc/reference/expressions.rst:1757 msgid "" "Except when part of a list or set display, an expression list containing at " "least one comma yields a tuple. The length of the tuple is the number of " @@ -2612,7 +2638,7 @@ msgstr "" "tupla es el número de expresiones en la lista. Las expresiones son evaluadas " "de izquierda a derecha." -#: ../Doc/reference/expressions.rst:1740 +#: ../Doc/reference/expressions.rst:1766 msgid "" "An asterisk ``*`` denotes :dfn:`iterable unpacking`. Its operand must be " "an :term:`iterable`. The iterable is expanded into a sequence of items, " @@ -2624,14 +2650,14 @@ msgstr "" "los cuales son incluidos en la nueva tupla, lista o conjunto en el lugar del " "desempaquetado." -#: ../Doc/reference/expressions.rst:1745 +#: ../Doc/reference/expressions.rst:1771 msgid "" "Iterable unpacking in expression lists, originally proposed by :pep:`448`." msgstr "" "Desempaquetado iterable en listas de expresiones, originalmente propuesto " "por :pep:`488`." -#: ../Doc/reference/expressions.rst:1750 +#: ../Doc/reference/expressions.rst:1776 msgid "" "The trailing comma is required only to create a single tuple (a.k.a. a " "*singleton*); it is optional in all other cases. A single expression " @@ -2645,11 +2671,11 @@ msgstr "" "esa expresion. (Para crear una tupla vacía, usa un par de paréntesis vacío: " "``()``.)" -#: ../Doc/reference/expressions.rst:1760 +#: ../Doc/reference/expressions.rst:1786 msgid "Evaluation order" msgstr "Orden de evaluación" -#: ../Doc/reference/expressions.rst:1764 +#: ../Doc/reference/expressions.rst:1790 msgid "" "Python evaluates expressions from left to right. Notice that while " "evaluating an assignment, the right-hand side is evaluated before the left-" @@ -2659,7 +2685,7 @@ msgstr "" "evalúa una asignación, la parte derecha es evaluada antes que la parte " "izquierda." -#: ../Doc/reference/expressions.rst:1767 +#: ../Doc/reference/expressions.rst:1793 msgid "" "In the following lines, expressions will be evaluated in the arithmetic " "order of their suffixes::" @@ -2667,11 +2693,11 @@ msgstr "" "En las siguientes líneas, las expresiones serán evaluadas en el orden " "aritmético de sus sufijos::" -#: ../Doc/reference/expressions.rst:1781 +#: ../Doc/reference/expressions.rst:1807 msgid "Operator precedence" msgstr "Prioridad de operador" -#: ../Doc/reference/expressions.rst:1786 +#: ../Doc/reference/expressions.rst:1812 msgid "" "The following table summarizes the operator precedence in Python, from " "lowest precedence (least binding) to highest precedence (most binding). " @@ -2686,7 +2712,7 @@ msgstr "" "operadores en la misma caja, de izquierda a derecha (excepto para " "exponenciación, cuyos grupos de derecha a izquierda)." -#: ../Doc/reference/expressions.rst:1792 +#: ../Doc/reference/expressions.rst:1818 msgid "" "Note that comparisons, membership tests, and identity tests, all have the " "same precedence and have a left-to-right chaining feature as described in " @@ -2697,63 +2723,63 @@ msgstr "" "de encadenado de izquierda a derecha como son descritas en la sección :ref:" "`comparisons`." -#: ../Doc/reference/expressions.rst:1798 +#: ../Doc/reference/expressions.rst:1824 msgid "Operator" msgstr "Operador" -#: ../Doc/reference/expressions.rst:1798 +#: ../Doc/reference/expressions.rst:1824 msgid "Description" msgstr "Descripción" -#: ../Doc/reference/expressions.rst:1800 +#: ../Doc/reference/expressions.rst:1826 msgid "``:=``" msgstr "``:=``" -#: ../Doc/reference/expressions.rst:1800 +#: ../Doc/reference/expressions.rst:1826 msgid "Assignment expression" msgstr "Expresión de asignación" -#: ../Doc/reference/expressions.rst:1802 +#: ../Doc/reference/expressions.rst:1828 msgid ":keyword:`lambda`" msgstr ":keyword:`lambda`" -#: ../Doc/reference/expressions.rst:1802 +#: ../Doc/reference/expressions.rst:1828 msgid "Lambda expression" msgstr "Expresión lambda" -#: ../Doc/reference/expressions.rst:1804 +#: ../Doc/reference/expressions.rst:1830 msgid ":keyword:`if ` -- :keyword:`!else`" msgstr ":keyword:`if ` -- :keyword:`!else`" -#: ../Doc/reference/expressions.rst:1804 +#: ../Doc/reference/expressions.rst:1830 msgid "Conditional expression" msgstr "Expresión condicional" -#: ../Doc/reference/expressions.rst:1806 +#: ../Doc/reference/expressions.rst:1832 msgid ":keyword:`or`" msgstr ":keyword:`or`" -#: ../Doc/reference/expressions.rst:1806 +#: ../Doc/reference/expressions.rst:1832 msgid "Boolean OR" msgstr "Booleano OR" -#: ../Doc/reference/expressions.rst:1808 +#: ../Doc/reference/expressions.rst:1834 msgid ":keyword:`and`" msgstr ":keyword:`and`" -#: ../Doc/reference/expressions.rst:1808 +#: ../Doc/reference/expressions.rst:1834 msgid "Boolean AND" msgstr "Booleano AND" -#: ../Doc/reference/expressions.rst:1810 +#: ../Doc/reference/expressions.rst:1836 msgid ":keyword:`not` ``x``" msgstr ":keyword:`not` ``x``" -#: ../Doc/reference/expressions.rst:1810 +#: ../Doc/reference/expressions.rst:1836 msgid "Boolean NOT" msgstr "Booleano NOT" -#: ../Doc/reference/expressions.rst:1812 +#: ../Doc/reference/expressions.rst:1838 msgid "" ":keyword:`in`, :keyword:`not in`, :keyword:`is`, :keyword:`is not`, ``<``, " "``<=``, ``>``, ``>=``, ``!=``, ``==``" @@ -2761,55 +2787,55 @@ msgstr "" ":keyword:`in`, :keyword:`not in`, :keyword:`is`, :keyword:`is not`, ``<``, " "``<=``, ``>``, ``>=``, ``!=``, ``==``" -#: ../Doc/reference/expressions.rst:1812 +#: ../Doc/reference/expressions.rst:1838 msgid "Comparisons, including membership tests and identity tests" msgstr "Comparaciones, incluyendo comprobaciones de membresía y de identidad" -#: ../Doc/reference/expressions.rst:1816 +#: ../Doc/reference/expressions.rst:1842 msgid "``|``" msgstr "``|``" -#: ../Doc/reference/expressions.rst:1816 +#: ../Doc/reference/expressions.rst:1842 msgid "Bitwise OR" msgstr "OR bit a bit" -#: ../Doc/reference/expressions.rst:1818 +#: ../Doc/reference/expressions.rst:1844 msgid "``^``" msgstr "``^``" -#: ../Doc/reference/expressions.rst:1818 +#: ../Doc/reference/expressions.rst:1844 msgid "Bitwise XOR" msgstr "XOR bit a bit" -#: ../Doc/reference/expressions.rst:1820 +#: ../Doc/reference/expressions.rst:1846 msgid "``&``" msgstr "``&``" -#: ../Doc/reference/expressions.rst:1820 +#: ../Doc/reference/expressions.rst:1846 msgid "Bitwise AND" msgstr "AND bit a bit" -#: ../Doc/reference/expressions.rst:1822 +#: ../Doc/reference/expressions.rst:1848 msgid "``<<``, ``>>``" msgstr "``<<``, ``>>``" -#: ../Doc/reference/expressions.rst:1822 +#: ../Doc/reference/expressions.rst:1848 msgid "Shifts" msgstr "Desplazamientos" -#: ../Doc/reference/expressions.rst:1824 +#: ../Doc/reference/expressions.rst:1850 msgid "``+``, ``-``" msgstr "``+``, ``-``" -#: ../Doc/reference/expressions.rst:1824 +#: ../Doc/reference/expressions.rst:1850 msgid "Addition and subtraction" msgstr "Adición y sustracción" -#: ../Doc/reference/expressions.rst:1826 +#: ../Doc/reference/expressions.rst:1852 msgid "``*``, ``@``, ``/``, ``//``, ``%``" msgstr "``*``, ``@``, ``/``, ``//``, ``%``" -#: ../Doc/reference/expressions.rst:1826 +#: ../Doc/reference/expressions.rst:1852 msgid "" "Multiplication, matrix multiplication, division, floor division, remainder " "[#]_" @@ -2817,43 +2843,43 @@ msgstr "" "Multiplicación, multiplicación de matrices, división, división de redondeo, " "resto [#]_" -#: ../Doc/reference/expressions.rst:1830 +#: ../Doc/reference/expressions.rst:1856 msgid "``+x``, ``-x``, ``~x``" msgstr "``+x``, ``-x``, ``~x``" -#: ../Doc/reference/expressions.rst:1830 +#: ../Doc/reference/expressions.rst:1856 msgid "Positive, negative, bitwise NOT" msgstr "NOT positivo, negativo, bit a bit" -#: ../Doc/reference/expressions.rst:1832 +#: ../Doc/reference/expressions.rst:1858 msgid "``**``" msgstr "``**``" -#: ../Doc/reference/expressions.rst:1832 +#: ../Doc/reference/expressions.rst:1858 msgid "Exponentiation [#]_" msgstr "Exponenciación [#]_" -#: ../Doc/reference/expressions.rst:1834 +#: ../Doc/reference/expressions.rst:1860 msgid ":keyword:`await` ``x``" msgstr ":keyword:`await` ``x``" -#: ../Doc/reference/expressions.rst:1836 +#: ../Doc/reference/expressions.rst:1862 msgid "``x[index]``, ``x[index:index]``, ``x(arguments...)``, ``x.attribute``" msgstr "``x[index]``, ``x[index:index]``, ``x(arguments...)``, ``x.attribute``" -#: ../Doc/reference/expressions.rst:1836 +#: ../Doc/reference/expressions.rst:1862 msgid "Subscription, slicing, call, attribute reference" msgstr "Subscripción, segmentación, invocación, referencia de atributo" -#: ../Doc/reference/expressions.rst:1839 +#: ../Doc/reference/expressions.rst:1865 msgid "``(expressions...)``," msgstr "``(expressions...)``," -#: ../Doc/reference/expressions.rst:1841 +#: ../Doc/reference/expressions.rst:1867 msgid "``[expressions...]``, ``{key: value...}``, ``{expressions...}``" msgstr "``[expressions...]``, ``{key: value...}``, ``{expressions...}``" -#: ../Doc/reference/expressions.rst:1839 +#: ../Doc/reference/expressions.rst:1865 msgid "" "Binding or parenthesized expression, list display, dictionary display, set " "display" @@ -2861,11 +2887,11 @@ msgstr "" "Expresión de enlace o entre paréntesis, despliegues de lista, diccionario y " "conjunto" -#: ../Doc/reference/expressions.rst:1848 +#: ../Doc/reference/expressions.rst:1874 msgid "Footnotes" msgstr "Notas al pie" -#: ../Doc/reference/expressions.rst:1849 +#: ../Doc/reference/expressions.rst:1875 #, python-format msgid "" "While ``abs(x%y) < abs(y)`` is true mathematically, for floats it may not be " @@ -2887,7 +2913,7 @@ msgstr "" "el signo del primer argumento en su lugar, y por ello retorna ``-1e-100`` en " "este caso. La aproximación más apropiada depende de su aplicación." -#: ../Doc/reference/expressions.rst:1858 +#: ../Doc/reference/expressions.rst:1884 msgid "" "If x is very close to an exact integer multiple of y, it's possible for ``x//" "y`` to be one larger than ``(x-x%y)//y`` due to rounding. In such cases, " @@ -2899,7 +2925,7 @@ msgstr "" "Python retorna el último resultado, a fin de preservar que ``divmod(x,y)[0] " "* y + x % y`` sea muy cercano a ``x``." -#: ../Doc/reference/expressions.rst:1863 +#: ../Doc/reference/expressions.rst:1889 msgid "" "The Unicode standard distinguishes between :dfn:`code points` (e.g. U+0041) " "and :dfn:`abstract characters` (e.g. \"LATIN CAPITAL LETTER A\"). While most " @@ -2924,7 +2950,7 @@ msgstr "" "seguida de un :dfn:`combining character` en la posición de código U+0327 " "(CEDILLA COMBINADA)." -#: ../Doc/reference/expressions.rst:1874 +#: ../Doc/reference/expressions.rst:1900 msgid "" "The comparison operators on strings compare at the level of Unicode code " "points. This may be counter-intuitive to humans. For example, ``\"\\u00C7\" " @@ -2937,7 +2963,7 @@ msgstr "" "ambas cadenas presenten el mismo caracter abstracto \"LETRA MAYÚSCULA C " "LATINA CON CEDILLA\"." -#: ../Doc/reference/expressions.rst:1879 +#: ../Doc/reference/expressions.rst:1905 msgid "" "To compare strings at the level of abstract characters (that is, in a way " "intuitive to humans), use :func:`unicodedata.normalize`." @@ -2945,7 +2971,7 @@ msgstr "" "Para comparar cadenas al nivel de caracteres abstractos (esto es, de una " "forma intuitiva para humanos), usa :func:`unicodedata.normalize`." -#: ../Doc/reference/expressions.rst:1882 +#: ../Doc/reference/expressions.rst:1908 msgid "" "Due to automatic garbage-collection, free lists, and the dynamic nature of " "descriptors, you may notice seemingly unusual behaviour in certain uses of " @@ -2958,7 +2984,7 @@ msgstr "" "aquellos involucrando comparaciones entre métodos de instancia, o " "constantes. Compruebe su documentación para más información." -#: ../Doc/reference/expressions.rst:1887 +#: ../Doc/reference/expressions.rst:1913 msgid "" "The ``%`` operator is also used for string formatting; the same precedence " "applies." @@ -2966,7 +2992,7 @@ msgstr "" "El operador ``%`` también es usado para formateo de cadenas; aplica la misma " "prioridad." -#: ../Doc/reference/expressions.rst:1890 +#: ../Doc/reference/expressions.rst:1916 msgid "" "The power operator ``**`` binds less tightly than an arithmetic or bitwise " "unary operator on its right, that is, ``2**-1`` is ``0.5``." diff --git a/reference/grammar.po b/reference/grammar.po index 2d8f16fcc8..0b732bd4f8 100644 --- a/reference/grammar.po +++ b/reference/grammar.po @@ -1,23 +1,25 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. # Maintained by the python-doc-es workteam. -# docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ -# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers +# docs-es@python.org / +# https://mail.python.org/mailman3/lists/docs-es.python.org/ +# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get +# the list of volunteers # msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-06 11:59-0400\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-09-27 23:15+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" "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" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" -"X-Generator: Poedit 2.4.1\n" +"Generated-By: Babel 2.8.0\n" #: ../Doc/reference/grammar.rst:2 msgid "Full Grammar specification" @@ -25,9 +27,27 @@ msgstr "Especificación completa de la gramática" #: ../Doc/reference/grammar.rst:4 msgid "" -"This is the full Python grammar, as it is read by the parser generator and " -"used to parse Python source files:" +"This is the full Python grammar, derived directly from the grammar used to " +"generate the CPython parser (see :source:`Grammar/python.gram`). The version " +"here omits details related to code generation and error recovery." msgstr "" -"Esta es la gramática completa de Python, tal y como es leída por el " -"generador de análisis sintáctico usado para analizar sintácticamente " -"archivos fuentes de Python:" + +#: ../Doc/reference/grammar.rst:9 +#, python-format +msgid "" +"The notation is a mixture of `EBNF `_ and `PEG `_. In particular, ``&`` followed by a symbol, " +"token or parenthesized group indicates a positive lookahead (i.e., is " +"required to match but not consumed), while ``!`` indicates a negative " +"lookahead (i.e., is required _not_ to match). We use the ``|`` separator to " +"mean PEG's \"ordered choice\" (written as ``/`` in traditional PEG grammars)." +msgstr "" + +#~ msgid "" +#~ "This is the full Python grammar, as it is read by the parser generator " +#~ "and used to parse Python source files:" +#~ msgstr "" +#~ "Esta es la gramática completa de Python, tal y como es leída por el " +#~ "generador de análisis sintáctico usado para analizar sintácticamente " +#~ "archivos fuentes de Python:" diff --git a/reference/import.po b/reference/import.po index e03b2ac4f3..d941e6a437 100644 --- a/reference/import.po +++ b/reference/import.po @@ -9,19 +9,17 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" -"Report-Msgid-Bugs-To:\n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-06-01 08:26-0400\n" +"Last-Translator: @Jighdan\n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: @Jighdan\n" -"Language: es\n" -"X-Generator: Poedit 2.3.1\n" -"X-Poedit-Bookmarks: -1,121,-1,-1,-1,-1,-1,-1,-1,-1\n" #: ../Doc/reference/import.rst:6 msgid "The import system" @@ -187,9 +185,10 @@ msgstr "" "un atributo ``__path__`` se considera un paquete." #: ../Doc/reference/import.rst:85 +#, fuzzy msgid "" "All modules have a name. Subpackage names are separated from their parent " -"package name by dots, akin to Python's standard attribute access syntax. " +"package name by a dot, akin to Python's standard attribute access syntax. " "Thus you might have a module called :mod:`sys` and a package called :mod:" "`email`, which in turn has a subpackage called :mod:`email.mime` and a " "module within that subpackage called :mod:`email.mime.text`." @@ -408,11 +407,11 @@ msgstr "" "reutilizará el objeto de módulo *same* y simplemente reinicializará el " "contenido del módulo volviendo a ejecutar el código del módulo." -#: ../Doc/reference/import.rst:206 +#: ../Doc/reference/import.rst:208 msgid "Finders and loaders" msgstr "Buscadores y cargadores" -#: ../Doc/reference/import.rst:213 +#: ../Doc/reference/import.rst:215 msgid "" "If the named module is not found in :data:`sys.modules`, then Python's " "import protocol is invoked to find and load the module. This protocol " @@ -432,7 +431,7 @@ msgstr "" "`importadores ` se retornan a sí mismos cuando descubren que " "pueden cargar el módulo solicitado." -#: ../Doc/reference/import.rst:221 +#: ../Doc/reference/import.rst:223 msgid "" "Python includes a number of default finders and importers. The first one " "knows how to locate built-in modules, and the second knows how to locate " @@ -449,7 +448,7 @@ msgstr "" "zip. También se puede ampliar para buscar cualquier recurso localizable, " "como los identificados por las direcciones URL." -#: ../Doc/reference/import.rst:228 +#: ../Doc/reference/import.rst:230 msgid "" "The import machinery is extensible, so new finders can be added to extend " "the range and scope of module searching." @@ -458,7 +457,7 @@ msgstr "" "nuevos buscadores para ampliar el alcance y el alcance de la búsqueda de " "módulos." -#: ../Doc/reference/import.rst:231 +#: ../Doc/reference/import.rst:233 msgid "" "Finders do not actually load modules. If they can find the named module, " "they return a :dfn:`module spec`, an encapsulation of the module's import-" @@ -470,7 +469,7 @@ msgstr "" "información relacionada con la importación del módulo, que la maquinaria de " "importación utiliza al cargar el módulo." -#: ../Doc/reference/import.rst:235 +#: ../Doc/reference/import.rst:237 msgid "" "The following sections describe the protocol for finders and loaders in more " "detail, including how you can create and register new ones to extend the " @@ -480,7 +479,7 @@ msgstr "" "cargadores con más detalle, incluido cómo puede crear y registrar otros " "nuevos para ampliar la maquinaria de importación." -#: ../Doc/reference/import.rst:239 +#: ../Doc/reference/import.rst:241 msgid "" "In previous versions of Python, finders returned :term:`loaders ` " "directly, whereas now they return module specs which *contain* loaders. " @@ -492,11 +491,11 @@ msgstr "" "todavía se utilizan durante la importación, pero tienen menos " "responsabilidades." -#: ../Doc/reference/import.rst:245 +#: ../Doc/reference/import.rst:247 msgid "Import hooks" msgstr "Ganchos de importación" -#: ../Doc/reference/import.rst:255 +#: ../Doc/reference/import.rst:257 msgid "" "The import machinery is designed to be extensible; the primary mechanism for " "this are the *import hooks*. There are two types of import hooks: *meta " @@ -507,7 +506,7 @@ msgstr "" "dos tipos de ganchos de importación: *meta hooks* (meta ganchos) y *import " "path hooks* (ganchos de ruta de acceso de importación)." -#: ../Doc/reference/import.rst:259 +#: ../Doc/reference/import.rst:261 msgid "" "Meta hooks are called at the start of import processing, before any other " "import processing has occurred, other than :data:`sys.modules` cache look " @@ -523,7 +522,7 @@ msgstr "" "agregando nuevos objetos de buscador a :data:`sys.meta_path`, como se " "describe a continuación." -#: ../Doc/reference/import.rst:265 +#: ../Doc/reference/import.rst:267 msgid "" "Import path hooks are called as part of :data:`sys.path` (or ``package." "__path__``) processing, at the point where their associated path item is " @@ -536,11 +535,11 @@ msgstr "" "acceso de importación se registran agregando nuevos invocables a :data:`sys." "path_hooks` como se describe a continuación." -#: ../Doc/reference/import.rst:272 +#: ../Doc/reference/import.rst:274 msgid "The meta path" msgstr "La meta ruta (*path*)" -#: ../Doc/reference/import.rst:278 +#: ../Doc/reference/import.rst:280 msgid "" "When the named module is not found in :data:`sys.modules`, Python next " "searches :data:`sys.meta_path`, which contains a list of meta path finder " @@ -561,7 +560,7 @@ msgstr "" "cualquier estrategia que desee para determinar si puede manejar el módulo " "con nombre o no." -#: ../Doc/reference/import.rst:287 +#: ../Doc/reference/import.rst:289 msgid "" "If the meta path finder knows how to handle the named module, it returns a " "spec object. If it cannot handle the named module, it returns ``None``. " @@ -576,7 +575,7 @@ msgstr "" "exc:`ModuleNotFoundError`. Cualquier otra excepción provocada simplemente " "se propaga hacia arriba, anulando el proceso de importación." -#: ../Doc/reference/import.rst:293 +#: ../Doc/reference/import.rst:295 msgid "" "The :meth:`~importlib.abc.MetaPathFinder.find_spec()` method of meta path " "finders is called with two or three arguments. The first is the fully " @@ -601,7 +600,7 @@ msgstr "" "módulo existente que será el destino de la carga más adelante. El sistema de " "importación pasa un módulo de destino solo durante la recarga." -#: ../Doc/reference/import.rst:304 +#: ../Doc/reference/import.rst:306 msgid "" "The meta path may be traversed multiple times for a single import request. " "For example, assuming none of the modules involved has already been cached, " @@ -622,7 +621,7 @@ msgstr "" "Una vez importado ``foo.bar``, el recorrido final llamará a ``mpf." "find_spec(\"foo.bar.baz\", foo.bar.__path__, None)``." -#: ../Doc/reference/import.rst:314 +#: ../Doc/reference/import.rst:316 msgid "" "Some meta path finders only support top level imports. These importers will " "always return ``None`` when anything other than ``None`` is passed as the " @@ -632,7 +631,7 @@ msgstr "" "superior. Estos importadores siempre retornarán ``None`` cuando se pase algo " "distinto de ``None`` como segundo argumento." -#: ../Doc/reference/import.rst:318 +#: ../Doc/reference/import.rst:320 msgid "" "Python's default :data:`sys.meta_path` has three meta path finders, one that " "knows how to import built-in modules, one that knows how to import frozen " @@ -645,7 +644,7 @@ msgstr "" "módulos desde un :term:`import path` (es decir, el :term:`path based " "finder`)." -#: ../Doc/reference/import.rst:323 +#: ../Doc/reference/import.rst:325 msgid "" "The :meth:`~importlib.abc.MetaPathFinder.find_spec` method of meta path " "finders replaced :meth:`~importlib.abc.MetaPathFinder.find_module`, which is " @@ -658,11 +657,11 @@ msgstr "" "funcionando sin cambios, la maquinaria de importación sólo lo intentará si " "el buscador no implementa ``find_spec()``." -#: ../Doc/reference/import.rst:332 +#: ../Doc/reference/import.rst:334 msgid "Loading" msgstr "Cargando" -#: ../Doc/reference/import.rst:334 +#: ../Doc/reference/import.rst:336 msgid "" "If and when a module spec is found, the import machinery will use it (and " "the loader it contains) when loading the module. Here is an approximation " @@ -673,11 +672,11 @@ msgstr "" "una aproximación de lo que sucede durante la porción de carga de la " "importación:" -#: ../Doc/reference/import.rst:368 +#: ../Doc/reference/import.rst:370 msgid "Note the following details:" msgstr "Tenga en cuenta los siguientes detalles:" -#: ../Doc/reference/import.rst:370 +#: ../Doc/reference/import.rst:372 msgid "" "If there is an existing module object with the given name in :data:`sys." "modules`, import will have already returned it." @@ -685,7 +684,7 @@ msgstr "" "Si hay un objeto de módulo existente con el nombre dado en :data:`sys." "modules`, la importación ya lo habrá retornado." -#: ../Doc/reference/import.rst:373 +#: ../Doc/reference/import.rst:375 msgid "" "The module will exist in :data:`sys.modules` before the loader executes the " "module code. This is crucial because the module code may (directly or " @@ -699,7 +698,7 @@ msgstr "" "modules` de antemano evita la recursividad sin límites en el peor de los " "casos y la carga múltiple en el mejor." -#: ../Doc/reference/import.rst:379 +#: ../Doc/reference/import.rst:381 msgid "" "If loading fails, the failing module -- and only the failing module -- gets " "removed from :data:`sys.modules`. Any module already in the :data:`sys." @@ -714,7 +713,7 @@ msgstr "" "memoria caché. Esto contrasta con la recarga donde incluso el módulo que " "falla se deja en :data:`sys.modules`." -#: ../Doc/reference/import.rst:385 +#: ../Doc/reference/import.rst:387 msgid "" "After the module is created but before execution, the import machinery sets " "the import-related module attributes (\"_init_module_attrs\" in the pseudo-" @@ -726,7 +725,7 @@ msgstr "" "importación (\"_init_module_attrs\" en el ejemplo de pseudocódigo anterior), " "como se resume en una :ref:`sección posterior `." -#: ../Doc/reference/import.rst:390 +#: ../Doc/reference/import.rst:392 msgid "" "Module execution is the key moment of loading in which the module's " "namespace gets populated. Execution is entirely delegated to the loader, " @@ -736,7 +735,7 @@ msgstr "" "el espacio de nombres del módulo. La ejecución se delega por completo en el " "cargador, lo que llega a decidir qué se rellena y cómo." -#: ../Doc/reference/import.rst:394 +#: ../Doc/reference/import.rst:396 msgid "" "The module created during loading and passed to exec_module() may not be the " "one returned at the end of import [#fnlo]_." @@ -744,7 +743,7 @@ msgstr "" "El módulo creado durante la carga y pasado a exec_module() puede no ser el " "que se retorna al final de la importación [#fnlo]_." -#: ../Doc/reference/import.rst:397 +#: ../Doc/reference/import.rst:399 msgid "" "The import system has taken over the boilerplate responsibilities of " "loaders. These were previously performed by the :meth:`importlib.abc.Loader." @@ -754,11 +753,11 @@ msgstr "" "reutilizables de los cargadores. Estos fueron realizados previamente por el " "método :meth:`importlib.abc.Loader.load_module`." -#: ../Doc/reference/import.rst:403 +#: ../Doc/reference/import.rst:405 msgid "Loaders" msgstr "Cargadores" -#: ../Doc/reference/import.rst:405 +#: ../Doc/reference/import.rst:407 msgid "" "Module loaders provide the critical function of loading: module execution. " "The import machinery calls the :meth:`importlib.abc.Loader.exec_module` " @@ -771,11 +770,11 @@ msgstr "" "que se va a ejecutar. Se omite cualquier valor retornado de :meth:" "`~importlib.abc.Loader.exec_module`." -#: ../Doc/reference/import.rst:410 +#: ../Doc/reference/import.rst:412 msgid "Loaders must satisfy the following requirements:" msgstr "Los cargadores deben cumplir los siguientes requisitos:" -#: ../Doc/reference/import.rst:412 +#: ../Doc/reference/import.rst:414 msgid "" "If the module is a Python module (as opposed to a built-in module or a " "dynamically loaded extension), the loader should execute the module's code " @@ -785,7 +784,7 @@ msgstr "" "extensión cargada dinámicamente), el cargador debe ejecutar el código del " "módulo en el espacio de nombres global del módulo (``module.__dict__``)." -#: ../Doc/reference/import.rst:416 +#: ../Doc/reference/import.rst:418 msgid "" "If the loader cannot execute the module, it should raise an :exc:" "`ImportError`, although any other exception raised during :meth:`~importlib." @@ -795,7 +794,7 @@ msgstr "" "`ImportError`, aunque se propagará cualquier otra excepción provocada " "durante :meth:`~importlib.abc.Loader.exec_module`." -#: ../Doc/reference/import.rst:420 +#: ../Doc/reference/import.rst:422 msgid "" "In many cases, the finder and loader can be the same object; in such cases " "the :meth:`~importlib.abc.MetaPathFinder.find_spec` method would just return " @@ -806,7 +805,7 @@ msgstr "" "simplemente retornaría una especificación con el cargador establecido en " "``self``." -#: ../Doc/reference/import.rst:424 +#: ../Doc/reference/import.rst:426 msgid "" "Module loaders may opt in to creating the module object during loading by " "implementing a :meth:`~importlib.abc.Loader.create_module` method. It takes " @@ -822,11 +821,11 @@ msgstr "" "necesita establecer ningún atributo en el objeto module. Si el método " "retorna ``None``, la maquinaria de importación creará el nuevo módulo en sí." -#: ../Doc/reference/import.rst:431 +#: ../Doc/reference/import.rst:433 msgid "The :meth:`~importlib.abc.Loader.create_module` method of loaders." msgstr "El método de cargadores :meth:`~importlib.abc.Loader.create_module`." -#: ../Doc/reference/import.rst:434 +#: ../Doc/reference/import.rst:436 msgid "" "The :meth:`~importlib.abc.Loader.load_module` method was replaced by :meth:" "`~importlib.abc.Loader.exec_module` and the import machinery assumed all the " @@ -836,7 +835,7 @@ msgstr "" "meth:`~importlib.abc.Loader.exec_module` y la maquinaria de importación " "asumió todas las responsabilidades reutilizables de la carga." -#: ../Doc/reference/import.rst:439 +#: ../Doc/reference/import.rst:441 msgid "" "For compatibility with existing loaders, the import machinery will use the " "``load_module()`` method of loaders if it exists and the loader does not " @@ -849,7 +848,7 @@ msgstr "" "``load_module()`` ha quedado obsoleto y los cargadores deben implementar " "``exec_module()`` en su lugar." -#: ../Doc/reference/import.rst:444 +#: ../Doc/reference/import.rst:446 msgid "" "The ``load_module()`` method must implement all the boilerplate loading " "functionality described above in addition to executing the module. All the " @@ -859,7 +858,7 @@ msgstr "" "reutilizable descrita anteriormente, además de ejecutar el módulo. Se " "aplican todas las mismas restricciones, con algunas aclaraciones adicionales:" -#: ../Doc/reference/import.rst:448 +#: ../Doc/reference/import.rst:450 msgid "" "If there is an existing module object with the given name in :data:`sys." "modules`, the loader must use that existing module. (Otherwise, :func:" @@ -873,7 +872,7 @@ msgstr "" "nombre no existe en :data:`sys.modules`, el cargador debe crear un nuevo " "objeto de módulo y agregarlo a :data:`sys.modules`." -#: ../Doc/reference/import.rst:454 +#: ../Doc/reference/import.rst:456 msgid "" "The module *must* exist in :data:`sys.modules` before the loader executes " "the module code, to prevent unbounded recursion or multiple loading." @@ -882,7 +881,7 @@ msgstr "" "ejecute el código del módulo, para evitar la recursividad sin límites o la " "carga múltiple." -#: ../Doc/reference/import.rst:458 +#: ../Doc/reference/import.rst:460 msgid "" "If loading fails, the loader must remove any modules it has inserted into :" "data:`sys.modules`, but it must remove **only** the failing module(s), and " @@ -893,7 +892,7 @@ msgstr "" "con errores, y solo si el propio cargador ha cargado los módulos " "explícitamente." -#: ../Doc/reference/import.rst:463 +#: ../Doc/reference/import.rst:465 msgid "" "A :exc:`DeprecationWarning` is raised when ``exec_module()`` is defined but " "``create_module()`` is not." @@ -901,7 +900,7 @@ msgstr "" "A :exc:`DeprecationWarning` se genera cuando se define ``exec_module()`` " "pero ``create_module()`` no lo es." -#: ../Doc/reference/import.rst:467 +#: ../Doc/reference/import.rst:469 msgid "" "An :exc:`ImportError` is raised when ``exec_module()`` is defined but " "``create_module()`` is not." @@ -909,11 +908,11 @@ msgstr "" "Un :exc:`ImportError` se genera cuando ``exec_module()`` está definido, pero " "``create_module()`` no lo es." -#: ../Doc/reference/import.rst:472 +#: ../Doc/reference/import.rst:474 msgid "Submodules" msgstr "Sub-modulos" -#: ../Doc/reference/import.rst:474 +#: ../Doc/reference/import.rst:476 msgid "" "When a submodule is loaded using any mechanism (e.g. ``importlib`` APIs, the " "``import`` or ``import-from`` statements, or built-in ``__import__()``) a " @@ -930,11 +929,11 @@ msgstr "" "tendrá un atributo ``foo`` que está enlazado al submódulo. Supongamos que " "tiene la siguiente estructura de directorios:" -#: ../Doc/reference/import.rst:486 +#: ../Doc/reference/import.rst:488 msgid "and ``spam/__init__.py`` has the following lines in it::" msgstr "y ``spam/__init__.py`` tiene las siguientes líneas::" -#: ../Doc/reference/import.rst:491 +#: ../Doc/reference/import.rst:493 msgid "" "then executing the following puts a name binding to ``foo`` and ``bar`` in " "the ``spam`` module::" @@ -942,7 +941,7 @@ msgstr "" "a continuación, la ejecución de lo siguiente pone un nombre vinculante para " "``foo`` y ``bar`` en el módulo ``spam``::" -#: ../Doc/reference/import.rst:500 +#: ../Doc/reference/import.rst:502 msgid "" "Given Python's familiar name binding rules this might seem surprising, but " "it's actually a fundamental feature of the import system. The invariant " @@ -957,11 +956,11 @@ msgstr "" "importación anterior), este último debe aparecer como el atributo ``foo`` de " "la primera." -#: ../Doc/reference/import.rst:507 +#: ../Doc/reference/import.rst:509 msgid "Module spec" msgstr "Especificaciones del módulo" -#: ../Doc/reference/import.rst:509 +#: ../Doc/reference/import.rst:511 msgid "" "The import machinery uses a variety of information about each module during " "import, especially before loading. Most of the information is common to all " @@ -974,7 +973,7 @@ msgstr "" "especificaciones de un módulo es encapsular esta información relacionada con " "la importación por módulo." -#: ../Doc/reference/import.rst:514 +#: ../Doc/reference/import.rst:516 msgid "" "Using a spec during import allows state to be transferred between import " "system components, e.g. between the finder that creates the module spec and " @@ -989,7 +988,7 @@ msgstr "" "realizar las operaciones de caldera de carga, mientras que sin una " "especificación de módulo el cargador tenía esa responsabilidad." -#: ../Doc/reference/import.rst:520 +#: ../Doc/reference/import.rst:522 msgid "" "The module's spec is exposed as the ``__spec__`` attribute on a module " "object. See :class:`~importlib.machinery.ModuleSpec` for details on the " @@ -999,11 +998,11 @@ msgstr "" "objeto de módulo. Consulte :class:`~importlib.machinery.ModuleSpec` para " "obtener más información sobre el contenido de la especificación del módulo." -#: ../Doc/reference/import.rst:529 +#: ../Doc/reference/import.rst:531 msgid "Import-related module attributes" msgstr "Atributos de módulo relacionados con la importación" -#: ../Doc/reference/import.rst:531 +#: ../Doc/reference/import.rst:533 msgid "" "The import machinery fills in these attributes on each module object during " "loading, based on the module's spec, before the loader executes the module." @@ -1012,7 +1011,7 @@ msgstr "" "durante la carga, en función de las especificaciones del módulo, antes de " "que el cargador ejecute el módulo." -#: ../Doc/reference/import.rst:537 +#: ../Doc/reference/import.rst:539 msgid "" "The ``__name__`` attribute must be set to the fully-qualified name of the " "module. This name is used to uniquely identify the module in the import " @@ -1022,7 +1021,7 @@ msgstr "" "módulo. Este nombre se utiliza para identificar de forma única el módulo en " "el sistema de importación." -#: ../Doc/reference/import.rst:543 +#: ../Doc/reference/import.rst:545 msgid "" "The ``__loader__`` attribute must be set to the loader object that the " "import machinery used when loading the module. This is mostly for " @@ -1035,7 +1034,7 @@ msgstr "" "funcionalidad específica del cargador adicional, por ejemplo, obtener datos " "asociados con un cargador." -#: ../Doc/reference/import.rst:550 +#: ../Doc/reference/import.rst:552 msgid "" "The module's ``__package__`` attribute must be set. Its value must be a " "string, but it can be the same value as its ``__name__``. When the module " @@ -1052,7 +1051,7 @@ msgstr "" "los submódulos, en el nombre del paquete primario. Consulte :pep:`366` para " "obtener más detalles." -#: ../Doc/reference/import.rst:558 +#: ../Doc/reference/import.rst:560 msgid "" "This attribute is used instead of ``__name__`` to calculate explicit " "relative imports for main modules, as defined in :pep:`366`. It is expected " @@ -1063,7 +1062,7 @@ msgstr "" "define en :pep:`366`. Se espera que tenga el mismo valor que ``__spec__." "parent``." -#: ../Doc/reference/import.rst:562 +#: ../Doc/reference/import.rst:564 msgid "" "The value of ``__package__`` is expected to be the same as ``__spec__." "parent``." @@ -1071,7 +1070,7 @@ msgstr "" "Se espera que el valor de ``__package__`` sea el mismo que ``__spec__." "parent``." -#: ../Doc/reference/import.rst:568 +#: ../Doc/reference/import.rst:570 msgid "" "The ``__spec__`` attribute must be set to the module spec that was used when " "importing the module. Setting ``__spec__`` appropriately applies equally to :" @@ -1085,7 +1084,7 @@ msgstr "" "intérprete `. La única excepción es ``__main__``, donde " "``__spec__`` es :ref:`establecido None en algunos casos `." -#: ../Doc/reference/import.rst:574 +#: ../Doc/reference/import.rst:576 msgid "" "When ``__package__`` is not defined, ``__spec__.parent`` is used as a " "fallback." @@ -1093,7 +1092,7 @@ msgstr "" "Cuando ``__package__`` no está definido, ``__spec__.parent`` se utiliza como " "reserva." -#: ../Doc/reference/import.rst:579 +#: ../Doc/reference/import.rst:581 msgid "" "``__spec__.parent`` is used as a fallback when ``__package__`` is not " "defined." @@ -1101,7 +1100,7 @@ msgstr "" "``__spec__.parent`` se utiliza como reserva cuando ``__package__``` no está " "definido." -#: ../Doc/reference/import.rst:585 +#: ../Doc/reference/import.rst:587 msgid "" "If the module is a package (either regular or namespace), the module " "object's ``__path__`` attribute must be set. The value must be iterable, " @@ -1117,12 +1116,12 @@ msgstr "" "detalles sobre la semántica de ``__path__`` se dan :ref:`below `." -#: ../Doc/reference/import.rst:592 +#: ../Doc/reference/import.rst:594 msgid "Non-package modules should not have a ``__path__`` attribute." msgstr "" "Los módulos que no son de paquete no deben tener un atributo ``__path__``." -#: ../Doc/reference/import.rst:597 +#: ../Doc/reference/import.rst:599 msgid "" "``__file__`` is optional. If set, this attribute's value must be a string. " "The import system may opt to leave ``__file__`` unset if it has no semantic " @@ -1133,7 +1132,7 @@ msgstr "" "``__file__`` sin establecer si no tiene un significado semántico (por " "ejemplo, un módulo cargado desde una base de datos)." -#: ../Doc/reference/import.rst:601 +#: ../Doc/reference/import.rst:603 msgid "" "If ``__file__`` is set, it may also be appropriate to set the ``__cached__`` " "attribute which is the path to any compiled version of the code (e.g. byte-" @@ -1148,7 +1147,7 @@ msgstr "" "acceso puede simplemente apuntar a donde existiría el archivo compilado " "(consulte :pep:`3147`)." -#: ../Doc/reference/import.rst:607 +#: ../Doc/reference/import.rst:609 msgid "" "It is also appropriate to set ``__cached__`` when ``__file__`` is not set. " "However, that scenario is quite atypical. Ultimately, the loader is what " @@ -1163,17 +1162,17 @@ msgstr "" "almacenado en caché pero no se carga desde un archivo, ese escenario atípico " "puede ser adecuado." -#: ../Doc/reference/import.rst:616 +#: ../Doc/reference/import.rst:618 msgid "module.__path__" msgstr "module.__path__" -#: ../Doc/reference/import.rst:618 +#: ../Doc/reference/import.rst:620 msgid "" "By definition, if a module has a ``__path__`` attribute, it is a package." msgstr "" "Por definición, si un módulo tiene un atributo ``__path__``, es un paquete." -#: ../Doc/reference/import.rst:620 +#: ../Doc/reference/import.rst:622 msgid "" "A package's ``__path__`` attribute is used during imports of its " "subpackages. Within the import machinery, it functions much the same as :" @@ -1187,7 +1186,7 @@ msgstr "" "ubicaciones para buscar módulos durante la importación. Sin embargo, " "``__path__`` suele estar mucho más restringido que :data:`sys.path`." -#: ../Doc/reference/import.rst:626 +#: ../Doc/reference/import.rst:628 msgid "" "``__path__`` must be an iterable of strings, but it may be empty. The same " "rules used for :data:`sys.path` also apply to a package's ``__path__``, and :" @@ -1199,7 +1198,7 @@ msgstr "" "``__path__`` de un paquete, y :data:`sys.path_hooks` (descrito a " "continuación) se consultan al recorrer el ``__path__`` de un paquete." -#: ../Doc/reference/import.rst:631 +#: ../Doc/reference/import.rst:633 msgid "" "A package's ``__init__.py`` file may set or alter the package's ``__path__`` " "attribute, and this was typically the way namespace packages were " @@ -1217,11 +1216,11 @@ msgstr "" "automáticamente ``__path__`` correctamente para el paquete de espacio de " "nombres." -#: ../Doc/reference/import.rst:639 +#: ../Doc/reference/import.rst:641 msgid "Module reprs" msgstr "Representación (*Reprs*) de módulos" -#: ../Doc/reference/import.rst:641 +#: ../Doc/reference/import.rst:643 msgid "" "By default, all modules have a usable repr, however depending on the " "attributes set above, and in the module's spec, you can more explicitly " @@ -1232,7 +1231,7 @@ msgstr "" "especificaciones del módulo, puede controlar más explícitamente el repr de " "los objetos de módulo." -#: ../Doc/reference/import.rst:645 +#: ../Doc/reference/import.rst:647 msgid "" "If the module has a spec (``__spec__``), the import machinery will try to " "generate a repr from it. If that fails or there is no spec, the import " @@ -1249,11 +1248,11 @@ msgstr "" "__loader__`` como entrada en el repr, con valores predeterminados para " "cualquier información que falte." -#: ../Doc/reference/import.rst:652 +#: ../Doc/reference/import.rst:654 msgid "Here are the exact rules used:" msgstr "Aquí están las reglas exactas utilizadas:" -#: ../Doc/reference/import.rst:654 +#: ../Doc/reference/import.rst:656 msgid "" "If the module has a ``__spec__`` attribute, the information in the spec is " "used to generate the repr. The \"name\", \"loader\", \"origin\", and " @@ -1263,7 +1262,7 @@ msgstr "" "especificación se utiliza para generar el repr. Se consultan los atributos " "\"name\", \"loader\", \"origin\" y \"has_location\"." -#: ../Doc/reference/import.rst:658 +#: ../Doc/reference/import.rst:660 msgid "" "If the module has a ``__file__`` attribute, this is used as part of the " "module's repr." @@ -1271,7 +1270,7 @@ msgstr "" "Si el módulo tiene un atributo ``__file__``, se utiliza como parte del repr " "del módulo." -#: ../Doc/reference/import.rst:661 +#: ../Doc/reference/import.rst:663 msgid "" "If the module has no ``__file__`` but does have a ``__loader__`` that is not " "``None``, then the loader's repr is used as part of the module's repr." @@ -1280,13 +1279,13 @@ msgstr "" "``None``, entonces el repr del cargador se utiliza como parte del repr del " "módulo." -#: ../Doc/reference/import.rst:664 +#: ../Doc/reference/import.rst:666 msgid "Otherwise, just use the module's ``__name__`` in the repr." msgstr "" "De lo contrario, sólo tiene que utilizar el ``__name__`` del módulo en el " "repr." -#: ../Doc/reference/import.rst:666 +#: ../Doc/reference/import.rst:668 msgid "" "Use of :meth:`loader.module_repr() ` has " "been deprecated and the module spec is now used by the import machinery to " @@ -1296,7 +1295,7 @@ msgstr "" "quedado obsoleto y la máquina de importación utiliza ahora la especificación " "del módulo para generar un repr de módulo." -#: ../Doc/reference/import.rst:671 +#: ../Doc/reference/import.rst:673 msgid "" "For backward compatibility with Python 3.3, the module repr will be " "generated by calling the loader's :meth:`~importlib.abc.Loader.module_repr` " @@ -1308,13 +1307,14 @@ msgstr "" "module_repr` del cargador, si se define, antes de probar cualquiera de los " "enfoques descritos anteriormente. Sin embargo, el método está en desuso." -#: ../Doc/reference/import.rst:679 +#: ../Doc/reference/import.rst:681 msgid "Cached bytecode invalidation" msgstr "Invalidación del código de bytes en caché" -#: ../Doc/reference/import.rst:681 +#: ../Doc/reference/import.rst:683 +#, fuzzy msgid "" -"Before Python loads cached bytecode from ``.pyc`` file, it checks whether " +"Before Python loads cached bytecode from a ``.pyc`` file, it checks whether " "the cache is up-to-date with the source ``.py`` file. By default, Python " "does this by storing the source's last-modified timestamp and size in the " "cache file when writing it. At runtime, the import system then validates the " @@ -1329,7 +1329,7 @@ msgstr "" "importación valida el archivo de caché comprobando los metadatos almacenados " "en el archivo de caché con los metadatos del origen." -#: ../Doc/reference/import.rst:688 +#: ../Doc/reference/import.rst:690 msgid "" "Python also supports \"hash-based\" cache files, which store a hash of the " "source file's contents rather than its metadata. There are two variants of " @@ -1355,7 +1355,7 @@ msgstr "" "archivos basado en hash ``.pyc`` se puede invalidar con el indicador :option:" "`--check-hash-based-pycs`." -#: ../Doc/reference/import.rst:699 +#: ../Doc/reference/import.rst:701 msgid "" "Added hash-based ``.pyc`` files. Previously, Python only supported timestamp-" "based invalidation of bytecode caches." @@ -1364,11 +1364,11 @@ msgstr "" "admitía la invalidación basada en la marca de tiempo de la caché del código " "de bytes." -#: ../Doc/reference/import.rst:705 +#: ../Doc/reference/import.rst:707 msgid "The Path Based Finder" msgstr "El buscador basado en rutas" -#: ../Doc/reference/import.rst:710 +#: ../Doc/reference/import.rst:712 msgid "" "As mentioned previously, Python comes with several default meta path " "finders. One of these, called the :term:`path based finder` (:class:" @@ -1382,7 +1382,7 @@ msgstr "" "path`, que contiene una lista de :term:`entradas de ruta `. Cada " "entrada de ruta de acceso nombra una ubicación para buscar módulos." -#: ../Doc/reference/import.rst:716 +#: ../Doc/reference/import.rst:718 msgid "" "The path based finder itself doesn't know how to import anything. Instead, " "it traverses the individual path entries, associating each of them with a " @@ -1393,7 +1393,7 @@ msgstr "" "un buscador de entrada de ruta que sabe cómo manejar ese tipo particular de " "ruta de acceso." -#: ../Doc/reference/import.rst:720 +#: ../Doc/reference/import.rst:722 msgid "" "The default set of path entry finders implement all the semantics for " "finding modules on the file system, handling special file types such as " @@ -1413,7 +1413,7 @@ msgstr "" "todos estos tipos de archivo (excepto las bibliotecas compartidas) desde " "zipfiles." -#: ../Doc/reference/import.rst:727 +#: ../Doc/reference/import.rst:729 msgid "" "Path entries need not be limited to file system locations. They can refer " "to URLs, database queries, or any other location that can be specified as a " @@ -1424,7 +1424,7 @@ msgstr "" "de base de datos o cualquier otra ubicación que se pueda especificar como " "una cadena." -#: ../Doc/reference/import.rst:731 +#: ../Doc/reference/import.rst:733 msgid "" "The path based finder provides additional hooks and protocols so that you " "can extend and customize the types of searchable path entries. For example, " @@ -1443,7 +1443,7 @@ msgstr "" "con el protocolo descrito a continuación, que luego se utilizó para obtener " "un cargador para el módulo de la web." -#: ../Doc/reference/import.rst:739 +#: ../Doc/reference/import.rst:741 msgid "" "A word of warning: this section and the previous both use the term *finder*, " "distinguishing between them by using the terms :term:`meta path finder` and :" @@ -1462,7 +1462,7 @@ msgstr "" "al principio del proceso de importación, como se indica en el recorrido :" "data:`sys.meta_path`." -#: ../Doc/reference/import.rst:747 +#: ../Doc/reference/import.rst:749 msgid "" "By contrast, path entry finders are in a sense an implementation detail of " "the path based finder, and in fact, if the path based finder were to be " @@ -1474,11 +1474,11 @@ msgstr "" "buscador basado en rutas se eliminara de :data:`sys.meta_path`, no se " "invocaría ninguna semántica del buscador de entradas de ruta." -#: ../Doc/reference/import.rst:754 +#: ../Doc/reference/import.rst:756 msgid "Path entry finders" msgstr "Buscadores de entradas de ruta" -#: ../Doc/reference/import.rst:762 +#: ../Doc/reference/import.rst:764 msgid "" "The :term:`path based finder` is responsible for finding and loading Python " "modules and packages whose location is specified with a string :term:`path " @@ -1490,7 +1490,7 @@ msgstr "" "entry`. La mayoría de las ubicaciones de nombres de entradas de ruta de " "acceso en el sistema de archivos, pero no es necesario limitarlas a esto." -#: ../Doc/reference/import.rst:767 +#: ../Doc/reference/import.rst:769 msgid "" "As a meta path finder, the :term:`path based finder` implements the :meth:" "`~importlib.abc.MetaPathFinder.find_spec` protocol previously described, " @@ -1503,7 +1503,7 @@ msgstr "" "pueden usar para personalizar cómo se encuentran y cargan los módulos desde " "la ruta :term:`import path`." -#: ../Doc/reference/import.rst:772 +#: ../Doc/reference/import.rst:774 msgid "" "Three variables are used by the :term:`path based finder`, :data:`sys." "path`, :data:`sys.path_hooks` and :data:`sys.path_importer_cache`. The " @@ -1515,7 +1515,7 @@ msgstr "" "utilizan los atributos ``__path__`` en los objetos de paquete. Estos " "proporcionan formas adicionales de personalizar la maquinaria de importación." -#: ../Doc/reference/import.rst:777 +#: ../Doc/reference/import.rst:779 msgid "" ":data:`sys.path` contains a list of strings providing search locations for " "modules and packages. It is initialized from the :data:`PYTHONPATH` " @@ -1539,7 +1539,7 @@ msgstr "" "de bytes viene determinada por los :term:`buscadores de entrada de ruta " "`." -#: ../Doc/reference/import.rst:788 +#: ../Doc/reference/import.rst:790 msgid "" "The :term:`path based finder` is a :term:`meta path finder`, so the import " "machinery begins the :term:`import path` search by calling the path based " @@ -1560,7 +1560,7 @@ msgstr "" "dentro de ese paquete. Si el argumento ``path`` es ``None``, esto indica " "una importación de nivel superior y se utiliza :data:`sys.path`." -#: ../Doc/reference/import.rst:797 +#: ../Doc/reference/import.rst:799 msgid "" "The path based finder iterates over every entry in the search path, and for " "each of these, looks for an appropriate :term:`path entry finder` (:class:" @@ -1590,7 +1590,7 @@ msgstr "" "de :data:`sys.path_importer_cache` obligando al buscador basado en ruta de " "acceso a realizar de nuevo la búsqueda de entrada de ruta [#fnpic]_." -#: ../Doc/reference/import.rst:810 +#: ../Doc/reference/import.rst:812 msgid "" "If the path entry is not present in the cache, the path based finder " "iterates over every callable in :data:`sys.path_hooks`. Each of the :term:" @@ -1620,7 +1620,7 @@ msgstr "" "una codificación del sistema de archivos, UTF-8, o algo más), y si el gancho " "no puede decodificar el argumento, debe generar :exc:`ImportError`." -#: ../Doc/reference/import.rst:824 +#: ../Doc/reference/import.rst:826 msgid "" "If :data:`sys.path_hooks` iteration ends with no :term:`path entry finder` " "being returned, then the path based finder's :meth:`~importlib.machinery." @@ -1637,7 +1637,7 @@ msgstr "" "``None``, lo que indica que este :term:`meta path finder` no pudo encontrar " "el módulo." -#: ../Doc/reference/import.rst:831 +#: ../Doc/reference/import.rst:833 msgid "" "If a :term:`path entry finder` *is* returned by one of the :term:`path entry " "hook` callables on :data:`sys.path_hooks`, then the following protocol is " @@ -1649,7 +1649,7 @@ msgstr "" "protocolo se utiliza para pedir al buscador una especificación de módulo, " "que luego se utiliza al cargar el módulo." -#: ../Doc/reference/import.rst:836 +#: ../Doc/reference/import.rst:838 msgid "" "The current working directory -- denoted by an empty string -- is handled " "slightly differently from other entries on :data:`sys.path`. First, if the " @@ -1670,11 +1670,11 @@ msgstr "" "PathFinder.find_spec` será el directorio de trabajo actual real y no la " "cadena vacía." -#: ../Doc/reference/import.rst:846 +#: ../Doc/reference/import.rst:848 msgid "Path entry finder protocol" msgstr "Buscadores de entradas de ruta" -#: ../Doc/reference/import.rst:848 +#: ../Doc/reference/import.rst:850 msgid "" "In order to support imports of modules and initialized packages and also to " "contribute portions to namespace packages, path entry finders must implement " @@ -1685,7 +1685,7 @@ msgstr "" "de entradas de ruta de acceso deben implementar el método :meth:`importlib." "abc.PathEntryFinder.find_spec`." -#: ../Doc/reference/import.rst:852 +#: ../Doc/reference/import.rst:854 msgid "" ":meth:`~importlib.abc.PathEntryFinder.find_spec` takes two arguments: the " "fully qualified name of the module being imported, and the (optional) target " @@ -1698,18 +1698,19 @@ msgstr "" "poblada para el módulo. Esta especificación siempre tendrá \"cargador\" " "establecido (con una excepción)." -#: ../Doc/reference/import.rst:857 +#: ../Doc/reference/import.rst:859 +#, fuzzy msgid "" "To indicate to the import machinery that the spec represents a namespace :" -"term:`portion`, the path entry finder sets \"loader\" on the spec to " -"``None`` and \"submodule_search_locations\" to a list containing the portion." +"term:`portion`, the path entry finder sets \"submodule_search_locations\" to " +"a list containing the portion." msgstr "" "Para indicar a la máquina de importación que la especificación representa un " "espacio de nombres :term:`portion`, el buscador de entradas de ruta " "establece \"loader\" en la especificación en ``None`` y " "\"submodule_search_locations\" en una lista que contiene la parte." -#: ../Doc/reference/import.rst:862 +#: ../Doc/reference/import.rst:863 msgid "" ":meth:`~importlib.abc.PathEntryFinder.find_spec` replaced :meth:`~importlib." "abc.PathEntryFinder.find_loader` and :meth:`~importlib.abc.PathEntryFinder." @@ -1721,7 +1722,7 @@ msgstr "" "PathEntryFinder.find_module`, los cuales ahora están en desuso, pero se " "utilizarán si ``find_spec()`` no está definido." -#: ../Doc/reference/import.rst:868 +#: ../Doc/reference/import.rst:869 msgid "" "Older path entry finders may implement one of these two deprecated methods " "instead of ``find_spec()``. The methods are still respected for the sake of " @@ -1734,44 +1735,15 @@ msgstr "" "Sin embargo, si ``find_spec()`` se implementa en el buscador de entrada de " "ruta, se omiten los métodos heredados." -#: ../Doc/reference/import.rst:873 +#: ../Doc/reference/import.rst:874 msgid "" ":meth:`~importlib.abc.PathEntryFinder.find_loader` takes one argument, the " "fully qualified name of the module being imported. ``find_loader()`` " "returns a 2-tuple where the first item is the loader and the second item is " -"a namespace :term:`portion`. When the first item (i.e. the loader) is " -"``None``, this means that while the path entry finder does not have a loader " -"for the named module, it knows that the path entry contributes to a " -"namespace portion for the named module. This will almost always be the case " -"where Python is asked to import a namespace package that has no physical " -"presence on the file system. When a path entry finder returns ``None`` for " -"the loader, the second item of the 2-tuple return value must be a sequence, " -"although it can be empty." -msgstr "" -":meth:`importlib.abc.PathEntryFinder.find_loader` toma un argumento, el " -"nombre completo del módulo que se va a importar. ``find_loader()`` retorna " -"una tupla de 2 donde el primer elemento es el cargador y el segundo elemento " -"es un espacio de nombres :term:`portion`. Cuando el primer elemento (es " -"decir, el cargador) es ``None``, esto significa que mientras que el buscador " -"de entrada de ruta de acceso no tiene un cargador para el módulo con nombre, " -"sabe que la entrada de ruta de acceso contribuye a una parte del espacio de " -"nombres para el módulo con nombre. Esto casi siempre será el caso donde se " -"le pide a Python que importe un paquete de espacio de nombres que no tiene " -"presencia física en el sistema de archivos. Cuando un buscador de entradas " -"de ruta retorna ``None`` para el cargador, el segundo elemento del valor " -"retornado de 2 tuplas debe ser una secuencia, aunque puede estar vacío." - -#: ../Doc/reference/import.rst:885 -msgid "" -"If ``find_loader()`` returns a non-``None`` loader value, the portion is " -"ignored and the loader is returned from the path based finder, terminating " -"the search through the path entries." -msgstr "" -"Si ``find_loader()`` retorna un valor de cargador que no es ``None``, la " -"parte se omite y el cargador se retorna desde el buscador basado en rutas, " -"terminando la búsqueda a través de las entradas de ruta de acceso." - -#: ../Doc/reference/import.rst:889 +"a namespace :term:`portion`." +msgstr "" + +#: ../Doc/reference/import.rst:879 msgid "" "For backwards compatibility with other implementations of the import " "protocol, many path entry finders also support the same, traditional " @@ -1788,7 +1760,7 @@ msgstr "" "argumento ``path`` (se espera que registren la información de ruta adecuada " "desde la llamada inicial al enlace de ruta)." -#: ../Doc/reference/import.rst:896 +#: ../Doc/reference/import.rst:886 msgid "" "The ``find_module()`` method on path entry finders is deprecated, as it does " "not allow the path entry finder to contribute portions to namespace " @@ -1803,11 +1775,11 @@ msgstr "" "el sistema de importación siempre llamará a ``find_loader()`` en lugar de " "``find_module()``." -#: ../Doc/reference/import.rst:904 +#: ../Doc/reference/import.rst:894 msgid "Replacing the standard import system" msgstr "Reemplazando el sistema de importación estándar" -#: ../Doc/reference/import.rst:906 +#: ../Doc/reference/import.rst:896 msgid "" "The most reliable mechanism for replacing the entire import system is to " "delete the default contents of :data:`sys.meta_path`, replacing them " @@ -1817,7 +1789,7 @@ msgstr "" "eliminar el contenido predeterminado de :data:`sys.meta_path`, " "sustituyéndolos por completo por un enlace de meta path personalizado." -#: ../Doc/reference/import.rst:910 +#: ../Doc/reference/import.rst:900 msgid "" "If it is acceptable to only alter the behaviour of import statements without " "affecting other APIs that access the import system, then replacing the " @@ -1832,7 +1804,7 @@ msgstr "" "únicamente el comportamiento de las declaraciones de importación dentro de " "ese módulo." -#: ../Doc/reference/import.rst:916 +#: ../Doc/reference/import.rst:906 msgid "" "To selectively prevent the import of some modules from a hook early on the " "meta path (rather than disabling the standard import system entirely), it is " @@ -1849,11 +1821,11 @@ msgstr "" "continuar, mientras que la generación de una excepción termina " "inmediatamente." -#: ../Doc/reference/import.rst:926 +#: ../Doc/reference/import.rst:916 msgid "Package Relative Imports" msgstr "Paquete Importaciones relativas" -#: ../Doc/reference/import.rst:928 +#: ../Doc/reference/import.rst:918 msgid "" "Relative imports use leading dots. A single leading dot indicates a relative " "import, starting with the current package. Two or more leading dots indicate " @@ -1866,7 +1838,7 @@ msgstr "" "primarios del paquete actual, un nivel por punto después del primero. Por " "ejemplo, dado el siguiente diseño de paquete::" -#: ../Doc/reference/import.rst:944 +#: ../Doc/reference/import.rst:934 msgid "" "In either ``subpackage1/moduleX.py`` or ``subpackage1/__init__.py``, the " "following are valid relative imports::" @@ -1874,7 +1846,7 @@ msgstr "" "En ``subpackage1/moduleX.py`` o ``subpackage1/__init__.py``, las siguientes " "son importaciones relativas válidas::" -#: ../Doc/reference/import.rst:954 +#: ../Doc/reference/import.rst:944 msgid "" "Absolute imports may use either the ``import <>`` or ``from <> import <>`` " "syntax, but relative imports may only use the second form; the reason for " @@ -1884,7 +1856,7 @@ msgstr "" "``from <> import <>``, pero las importaciones relativas solo pueden usar el " "segundo formulario; la razón de esto es que:" -#: ../Doc/reference/import.rst:960 +#: ../Doc/reference/import.rst:950 msgid "" "should expose ``XXX.YYY.ZZZ`` as a usable expression, but .moduleY is not a " "valid expression." @@ -1892,11 +1864,11 @@ msgstr "" "debe exponer ``XXX. Yyy. ZZZ`` como una expresión utilizable, pero .moduleY " "no es una expresión válida." -#: ../Doc/reference/import.rst:965 +#: ../Doc/reference/import.rst:955 msgid "Special considerations for __main__" msgstr "Consideraciones especiales para __main__" -#: ../Doc/reference/import.rst:967 +#: ../Doc/reference/import.rst:957 msgid "" "The :mod:`__main__` module is a special case relative to Python's import " "system. As noted :ref:`elsewhere `, the ``__main__`` module is " @@ -1914,11 +1886,11 @@ msgstr "" "la forma en que se inicializa ``__main__`` depende de las marcas y otras " "opciones con las que se invoca el intérprete." -#: ../Doc/reference/import.rst:978 +#: ../Doc/reference/import.rst:968 msgid "__main__.__spec__" msgstr "__main__.__spec__" -#: ../Doc/reference/import.rst:980 +#: ../Doc/reference/import.rst:970 msgid "" "Depending on how :mod:`__main__` is initialized, ``__main__.__spec__`` gets " "set appropriately or to ``None``." @@ -1926,7 +1898,7 @@ msgstr "" "Dependiendo de cómo se inicializa :mod:`__main__`, ``__main__.__spec__`` se " "establece correctamente o en ``None``." -#: ../Doc/reference/import.rst:983 +#: ../Doc/reference/import.rst:973 msgid "" "When Python is started with the :option:`-m` option, ``__spec__`` is set to " "the module spec of the corresponding module or package. ``__spec__`` is also " @@ -1939,7 +1911,7 @@ msgstr "" "``__main__`` se carga como parte de la ejecución de un directorio, zipfile u " "otro :data:`sys.path` entrada." -#: ../Doc/reference/import.rst:988 +#: ../Doc/reference/import.rst:978 msgid "" "In :ref:`the remaining cases ` ``__main__." "__spec__`` is set to ``None``, as the code used to populate the :mod:" @@ -1950,25 +1922,25 @@ msgstr "" "rellenar el :mod:`__main__` no se corresponde directamente con un módulo " "importable:" -#: ../Doc/reference/import.rst:992 +#: ../Doc/reference/import.rst:982 msgid "interactive prompt" msgstr "mensaje interactivo" -#: ../Doc/reference/import.rst:993 +#: ../Doc/reference/import.rst:983 msgid ":option:`-c` option" msgstr "opción :option:`-c`" -#: ../Doc/reference/import.rst:994 +#: ../Doc/reference/import.rst:984 msgid "running from stdin" msgstr "ejecutando desde stdin" -#: ../Doc/reference/import.rst:995 +#: ../Doc/reference/import.rst:985 msgid "running directly from a source or bytecode file" msgstr "" "que se ejecuta directamente desde un archivo de código fuente o de código de " "bytes" -#: ../Doc/reference/import.rst:997 +#: ../Doc/reference/import.rst:987 msgid "" "Note that ``__main__.__spec__`` is always ``None`` in the last case, *even " "if* the file could technically be imported directly as a module instead. Use " @@ -1980,7 +1952,7 @@ msgstr "" "como un módulo en su lugar. Utilice el modificador :option:`-m` si se desean " "metadatos de módulo válidos en :mod:`__main__`." -#: ../Doc/reference/import.rst:1002 +#: ../Doc/reference/import.rst:992 msgid "" "Note also that even when ``__main__`` corresponds with an importable module " "and ``__main__.__spec__`` is set accordingly, they're still considered " @@ -1995,15 +1967,15 @@ msgstr "" "solo se ejecutan cuando el módulo se utiliza para rellenar el espacio de " "nombres ``__main__``, y no durante la importación normal." -#: ../Doc/reference/import.rst:1010 +#: ../Doc/reference/import.rst:1000 msgid "Open issues" msgstr "Problemas sin resolver" -#: ../Doc/reference/import.rst:1012 +#: ../Doc/reference/import.rst:1002 msgid "XXX It would be really nice to have a diagram." msgstr "XXX Sería muy agradable tener un diagrama." -#: ../Doc/reference/import.rst:1014 +#: ../Doc/reference/import.rst:1004 msgid "" "XXX * (import_machinery.rst) how about a section devoted just to the " "attributes of modules and packages, perhaps expanding upon or supplanting " @@ -2013,7 +1985,7 @@ msgstr "" "atributos de módulos y paquetes, tal vez ampliando o suplantando las " "entradas relacionadas en la página de referencia del modelo de datos?" -#: ../Doc/reference/import.rst:1018 +#: ../Doc/reference/import.rst:1008 msgid "" "XXX runpy, pkgutil, et al in the library manual should all get \"See Also\" " "links at the top pointing to the new import system section." @@ -2022,7 +1994,7 @@ msgstr "" "enlaces \"Ver también\" en la parte superior que apuntan a la nueva sección " "del sistema de importación." -#: ../Doc/reference/import.rst:1021 +#: ../Doc/reference/import.rst:1011 msgid "" "XXX Add more explanation regarding the different ways in which ``__main__`` " "is initialized?" @@ -2030,7 +2002,7 @@ msgstr "" "XXX Añadir más explicación con respecto a las diferentes formas en que " "``__main__`` se inicializa?" -#: ../Doc/reference/import.rst:1024 +#: ../Doc/reference/import.rst:1014 msgid "" "XXX Add more info on ``__main__`` quirks/pitfalls (i.e. copy from :pep:" "`395`)." @@ -2038,11 +2010,11 @@ msgstr "" "XXX Añadir más información sobre las peculiaridades/trampas ``__main__`` (es " "decir, copia de :pep:`395`)." -#: ../Doc/reference/import.rst:1029 +#: ../Doc/reference/import.rst:1019 msgid "References" msgstr "Referencias" -#: ../Doc/reference/import.rst:1031 +#: ../Doc/reference/import.rst:1021 msgid "" "The import machinery has evolved considerably since Python's early days. " "The original `specification for packages `_ todavía está disponible para leer, " "aunque algunos detalles han cambiado desde la escritura de ese documento." -#: ../Doc/reference/import.rst:1036 +#: ../Doc/reference/import.rst:1026 msgid "" "The original specification for :data:`sys.meta_path` was :pep:`302`, with " "subsequent extension in :pep:`420`." @@ -2062,7 +2034,7 @@ msgstr "" "La especificación original de :data:`sys.meta_path` era :pep:`302`, con " "posterior extensión en :pep:`420`." -#: ../Doc/reference/import.rst:1039 +#: ../Doc/reference/import.rst:1029 msgid "" ":pep:`420` introduced :term:`namespace packages ` for " "Python 3.3. :pep:`420` also introduced the :meth:`find_loader` protocol as " @@ -2072,7 +2044,7 @@ msgstr "" "package>` para Python 3.3. :pep:`420` también introdujo el protocolo :meth:" "`find_loader` como alternativa a :meth:`find_module`." -#: ../Doc/reference/import.rst:1043 +#: ../Doc/reference/import.rst:1033 msgid "" ":pep:`366` describes the addition of the ``__package__`` attribute for " "explicit relative imports in main modules." @@ -2080,7 +2052,7 @@ msgstr "" ":pep:`366` describe la adición del atributo ``__package__`` para las " "importaciones relativas explícitas en los módulos principales." -#: ../Doc/reference/import.rst:1046 +#: ../Doc/reference/import.rst:1036 msgid "" ":pep:`328` introduced absolute and explicit relative imports and initially " "proposed ``__name__`` for semantics :pep:`366` would eventually specify for " @@ -2090,15 +2062,16 @@ msgstr "" "inicialmente propuestas ``__name__`` para la semántica :pep:`366` " "eventualmente especificaría para ``__package__``." -#: ../Doc/reference/import.rst:1050 +#: ../Doc/reference/import.rst:1040 msgid ":pep:`338` defines executing modules as scripts." msgstr ":pep:`338` define la ejecución de módulos como scripts." -#: ../Doc/reference/import.rst:1052 +#: ../Doc/reference/import.rst:1042 +#, fuzzy msgid "" ":pep:`451` adds the encapsulation of per-module import state in spec " "objects. It also off-loads most of the boilerplate responsibilities of " -"loaders back onto the import machinery. These changes allow the deprecation " +"loaders back onto the import machinery. These changes allow the deprecation " "of several APIs in the import system and also addition of new methods to " "finders and loaders." msgstr "" @@ -2108,15 +2081,15 @@ msgstr "" "cambios permiten el desuso de varias API en el sistema de importación y " "también la adición de nuevos métodos a los buscadores y cargadores." -#: ../Doc/reference/import.rst:1059 +#: ../Doc/reference/import.rst:1049 msgid "Footnotes" msgstr "Notas al Pie de Pagina" -#: ../Doc/reference/import.rst:1060 +#: ../Doc/reference/import.rst:1050 msgid "See :class:`types.ModuleType`." msgstr "Véase :class:`types. ModuleType`." -#: ../Doc/reference/import.rst:1062 +#: ../Doc/reference/import.rst:1052 msgid "" "The importlib implementation avoids using the return value directly. " "Instead, it gets the module object by looking the module name up in :data:" @@ -2131,7 +2104,7 @@ msgstr "" "específico de la implementación que no se garantiza que funcione en otras " "implementaciones de Python." -#: ../Doc/reference/import.rst:1069 +#: ../Doc/reference/import.rst:1059 msgid "" "In legacy code, it is possible to find instances of :class:`imp." "NullImporter` in the :data:`sys.path_importer_cache`. It is recommended " @@ -2142,3 +2115,39 @@ msgstr "" "NullImporter` en el :data:`sys.path_importer_cache`. Se recomienda cambiar " "el código para usar ``None`` en su lugar. Consulte :ref:`portingpythoncode` " "para obtener más detalles." + +#~ msgid "" +#~ ":meth:`~importlib.abc.PathEntryFinder.find_loader` takes one argument, " +#~ "the fully qualified name of the module being imported. ``find_loader()`` " +#~ "returns a 2-tuple where the first item is the loader and the second item " +#~ "is a namespace :term:`portion`. When the first item (i.e. the loader) is " +#~ "``None``, this means that while the path entry finder does not have a " +#~ "loader for the named module, it knows that the path entry contributes to " +#~ "a namespace portion for the named module. This will almost always be the " +#~ "case where Python is asked to import a namespace package that has no " +#~ "physical presence on the file system. When a path entry finder returns " +#~ "``None`` for the loader, the second item of the 2-tuple return value must " +#~ "be a sequence, although it can be empty." +#~ msgstr "" +#~ ":meth:`importlib.abc.PathEntryFinder.find_loader` toma un argumento, el " +#~ "nombre completo del módulo que se va a importar. ``find_loader()`` " +#~ "retorna una tupla de 2 donde el primer elemento es el cargador y el " +#~ "segundo elemento es un espacio de nombres :term:`portion`. Cuando el " +#~ "primer elemento (es decir, el cargador) es ``None``, esto significa que " +#~ "mientras que el buscador de entrada de ruta de acceso no tiene un " +#~ "cargador para el módulo con nombre, sabe que la entrada de ruta de acceso " +#~ "contribuye a una parte del espacio de nombres para el módulo con nombre. " +#~ "Esto casi siempre será el caso donde se le pide a Python que importe un " +#~ "paquete de espacio de nombres que no tiene presencia física en el sistema " +#~ "de archivos. Cuando un buscador de entradas de ruta retorna ``None`` " +#~ "para el cargador, el segundo elemento del valor retornado de 2 tuplas " +#~ "debe ser una secuencia, aunque puede estar vacío." + +#~ msgid "" +#~ "If ``find_loader()`` returns a non-``None`` loader value, the portion is " +#~ "ignored and the loader is returned from the path based finder, " +#~ "terminating the search through the path entries." +#~ msgstr "" +#~ "Si ``find_loader()`` retorna un valor de cargador que no es ``None``, la " +#~ "parte se omite y el cargador se retorna desde el buscador basado en " +#~ "rutas, terminando la búsqueda a través de las entradas de ruta de acceso." diff --git a/reference/lexical_analysis.po b/reference/lexical_analysis.po index cb88fd4e43..68ce1f83f0 100644 --- a/reference/lexical_analysis.po +++ b/reference/lexical_analysis.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-08-15 20:43+0200\n" +"Last-Translator: Miguel Hernandez \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Miguel Hernandez \n" -"Language: es\n" -"X-Generator: Poedit 2.4\n" #: ../Doc/reference/lexical_analysis.rst:6 msgid "Lexical analysis" @@ -527,9 +526,10 @@ msgid "*Pc* - connector punctuations" msgstr "*Pc* - puntuaciones conectoras" #: ../Doc/reference/lexical_analysis.rst:318 +#, fuzzy msgid "" -"*Other_ID_Start* - explicit list of characters in `PropList.txt `_ to support backwards " +"*Other_ID_Start* - explicit list of characters in `PropList.txt `_ to support backwards " "compatibility" msgstr "" "*Other_ID_Start* - lista explícita de caracteres en `PropList.txt `, but may not include more deeply-nested replacement " "fields. The :ref:`format specifier mini-language ` is the same " -"as that used by the string .format() method." +"as that used by the :meth:`str.format` method." msgstr "" "Los especificadores de formato de nivel superior pueden incluir campos de " "reemplazo anidados. Estos campos anidados pueden incluir sus propios campos " @@ -1201,7 +1220,7 @@ msgstr "" "lenguaje de especificadores de formato ` es el mismo que el " "utilizado por el método de *string* `.format()`." -#: ../Doc/reference/lexical_analysis.rst:709 +#: ../Doc/reference/lexical_analysis.rst:723 msgid "" "Formatted string literals may be concatenated, but replacement fields cannot " "be split across literals." @@ -1209,11 +1228,11 @@ msgstr "" "Los literales de cadena formateados pueden ser concatenados, pero los campos " "de reemplazo no pueden ser divididos entre los literales." -#: ../Doc/reference/lexical_analysis.rst:712 +#: ../Doc/reference/lexical_analysis.rst:726 msgid "Some examples of formatted string literals::" msgstr "Algunos ejemplos de literales de cadena formateados::" -#: ../Doc/reference/lexical_analysis.rst:731 +#: ../Doc/reference/lexical_analysis.rst:758 msgid "" "A consequence of sharing the same syntax as regular string literals is that " "characters in the replacement fields must not conflict with the quoting used " @@ -1224,14 +1243,14 @@ msgstr "" "en conflicto con la comilla usada en el literal de cadena formateado " "exterior::" -#: ../Doc/reference/lexical_analysis.rst:738 +#: ../Doc/reference/lexical_analysis.rst:765 msgid "" "Backslashes are not allowed in format expressions and will raise an error::" msgstr "" "Las barras inversas no están permitidas en las expresiones de formato y " "generarán un error::" -#: ../Doc/reference/lexical_analysis.rst:743 +#: ../Doc/reference/lexical_analysis.rst:770 msgid "" "To include a value in which a backslash escape is required, create a " "temporary variable." @@ -1239,7 +1258,7 @@ msgstr "" "Para incluir un valor en el que se requiere un escape de barra inversa, hay " "que crear una variable temporal." -#: ../Doc/reference/lexical_analysis.rst:750 +#: ../Doc/reference/lexical_analysis.rst:777 msgid "" "Formatted string literals cannot be used as docstrings, even if they do not " "include expressions." @@ -1247,7 +1266,7 @@ msgstr "" "Los literales de cadena formateados no pueden ser usados como cadenas de " "documentos (*docstrings*), aunque no incluyan expresiones." -#: ../Doc/reference/lexical_analysis.rst:761 +#: ../Doc/reference/lexical_analysis.rst:788 msgid "" "See also :pep:`498` for the proposal that added formatted string literals, " "and :meth:`str.format`, which uses a related format string mechanism." @@ -1256,11 +1275,11 @@ msgstr "" "formateados, y :meth:`str.format`, que utiliza un mecanismo de cadenas " "formateadas relacionado." -#: ../Doc/reference/lexical_analysis.rst:768 +#: ../Doc/reference/lexical_analysis.rst:795 msgid "Numeric literals" msgstr "Literales numéricos" -#: ../Doc/reference/lexical_analysis.rst:774 +#: ../Doc/reference/lexical_analysis.rst:801 msgid "" "There are three types of numeric literals: integers, floating point numbers, " "and imaginary numbers. There are no complex literals (complex numbers can " @@ -1270,7 +1289,7 @@ msgstr "" "flotante y números imaginarios. No hay literales complejos (los números " "complejos pueden formarse sumando un número real y un número imaginario)." -#: ../Doc/reference/lexical_analysis.rst:778 +#: ../Doc/reference/lexical_analysis.rst:805 msgid "" "Note that numeric literals do not include a sign; a phrase like ``-1`` is " "actually an expression composed of the unary operator '``-``' and the " @@ -1280,17 +1299,17 @@ msgstr "" "``-1`` es en realidad una expresión compuesta por el operador unario '``-``' " "y el literal ``1``." -#: ../Doc/reference/lexical_analysis.rst:792 +#: ../Doc/reference/lexical_analysis.rst:819 msgid "Integer literals" msgstr "Literales enteros" -#: ../Doc/reference/lexical_analysis.rst:794 +#: ../Doc/reference/lexical_analysis.rst:821 msgid "Integer literals are described by the following lexical definitions:" msgstr "" "Los literales enteros se describen mediante las siguientes definiciones " "léxicas:" -#: ../Doc/reference/lexical_analysis.rst:808 +#: ../Doc/reference/lexical_analysis.rst:835 msgid "" "There is no limit for the length of integer literals apart from what can be " "stored in available memory." @@ -1298,7 +1317,7 @@ msgstr "" "No hay límite para la longitud de los literales enteros aparte de lo que se " "puede almacenar en la memoria disponible." -#: ../Doc/reference/lexical_analysis.rst:811 +#: ../Doc/reference/lexical_analysis.rst:838 msgid "" "Underscores are ignored for determining the numeric value of the literal. " "They can be used to group digits for enhanced readability. One underscore " @@ -1309,7 +1328,7 @@ msgstr "" "guión bajo puede ocurrir entre dígitos y después de especificadores de base " "como ``0x``." -#: ../Doc/reference/lexical_analysis.rst:815 +#: ../Doc/reference/lexical_analysis.rst:842 msgid "" "Note that leading zeros in a non-zero decimal number are not allowed. This " "is for disambiguation with C-style octal literals, which Python used before " @@ -1319,27 +1338,27 @@ msgstr "" "no sea cero. Esto es para desambiguar con los literales octales de estilo C, " "que Python usaba antes de la versión 3.0." -#: ../Doc/reference/lexical_analysis.rst:819 +#: ../Doc/reference/lexical_analysis.rst:846 msgid "Some examples of integer literals::" msgstr "Algunos ejemplos de literales enteros::" -#: ../Doc/reference/lexical_analysis.rst:825 -#: ../Doc/reference/lexical_analysis.rst:857 +#: ../Doc/reference/lexical_analysis.rst:852 +#: ../Doc/reference/lexical_analysis.rst:884 msgid "Underscores are now allowed for grouping purposes in literals." msgstr "Los guiones bajos están ahora permitidos para agrupar en literales." -#: ../Doc/reference/lexical_analysis.rst:836 +#: ../Doc/reference/lexical_analysis.rst:863 msgid "Floating point literals" msgstr "Literales de punto flotante" -#: ../Doc/reference/lexical_analysis.rst:838 +#: ../Doc/reference/lexical_analysis.rst:865 msgid "" "Floating point literals are described by the following lexical definitions:" msgstr "" "Los literales de punto flotante se describen en las siguientes definiciones " "léxicas:" -#: ../Doc/reference/lexical_analysis.rst:848 +#: ../Doc/reference/lexical_analysis.rst:875 msgid "" "Note that the integer and exponent parts are always interpreted using radix " "10. For example, ``077e010`` is legal, and denotes the same number as " @@ -1353,21 +1372,21 @@ msgstr "" "la implementación. Al igual que en los literales enteros, se admiten " "guiones bajos para la agrupación de dígitos." -#: ../Doc/reference/lexical_analysis.rst:853 +#: ../Doc/reference/lexical_analysis.rst:880 msgid "Some examples of floating point literals::" msgstr "Algunos ejemplos de literales de punto flotante::" -#: ../Doc/reference/lexical_analysis.rst:866 +#: ../Doc/reference/lexical_analysis.rst:893 msgid "Imaginary literals" msgstr "Literales imaginarios" -#: ../Doc/reference/lexical_analysis.rst:868 +#: ../Doc/reference/lexical_analysis.rst:895 msgid "Imaginary literals are described by the following lexical definitions:" msgstr "" "Los literales imaginarios se describen en las siguientes definiciones " "léxicas:" -#: ../Doc/reference/lexical_analysis.rst:873 +#: ../Doc/reference/lexical_analysis.rst:900 msgid "" "An imaginary literal yields a complex number with a real part of 0.0. " "Complex numbers are represented as a pair of floating point numbers and have " @@ -1381,23 +1400,23 @@ msgstr "" "con una parte real distinta de cero, añada un número de punto flotante, por " "ejemplo, ``(3+4j)``. Algunos ejemplos de literales imaginarios::" -#: ../Doc/reference/lexical_analysis.rst:885 +#: ../Doc/reference/lexical_analysis.rst:912 msgid "Operators" msgstr "Operadores" -#: ../Doc/reference/lexical_analysis.rst:889 +#: ../Doc/reference/lexical_analysis.rst:916 msgid "The following tokens are operators:" msgstr "Los siguientes tokens son operadores:" -#: ../Doc/reference/lexical_analysis.rst:902 +#: ../Doc/reference/lexical_analysis.rst:929 msgid "Delimiters" msgstr "Delimitadores" -#: ../Doc/reference/lexical_analysis.rst:906 +#: ../Doc/reference/lexical_analysis.rst:933 msgid "The following tokens serve as delimiters in the grammar:" msgstr "Los siguientes tokens sirven como delimitadores en la gramática:" -#: ../Doc/reference/lexical_analysis.rst:915 +#: ../Doc/reference/lexical_analysis.rst:942 msgid "" "The period can also occur in floating-point and imaginary literals. A " "sequence of three periods has a special meaning as an ellipsis literal. The " @@ -1410,7 +1429,7 @@ msgstr "" "asignación aumentada, sirven léxicamente como delimitadores, pero también " "realizan una operación." -#: ../Doc/reference/lexical_analysis.rst:920 +#: ../Doc/reference/lexical_analysis.rst:947 msgid "" "The following printing ASCII characters have special meaning as part of " "other tokens or are otherwise significant to the lexical analyzer:" @@ -1419,7 +1438,7 @@ msgstr "" "como parte de otros tokens o son de alguna manera significativos para el " "analizador léxico:" -#: ../Doc/reference/lexical_analysis.rst:927 +#: ../Doc/reference/lexical_analysis.rst:954 msgid "" "The following printing ASCII characters are not used in Python. Their " "occurrence outside string literals and comments is an unconditional error:" @@ -1428,10 +1447,11 @@ msgstr "" "presencia fuera de las cadenas de caracteres y comentarios es un error " "incondicional:" -#: ../Doc/reference/lexical_analysis.rst:936 +#: ../Doc/reference/lexical_analysis.rst:963 msgid "Footnotes" msgstr "Notas al pie de página" -#: ../Doc/reference/lexical_analysis.rst:937 -msgid "http://www.unicode.org/Public/11.0.0/ucd/NameAliases.txt" +#: ../Doc/reference/lexical_analysis.rst:964 +#, fuzzy +msgid "https://www.unicode.org/Public/11.0.0/ucd/NameAliases.txt" msgstr "http://www.unicode.org/Public/11.0.0/ucd/NameAliases.txt" diff --git a/reference/simple_stmts.po b/reference/simple_stmts.po index dffd1a190a..c0e16beca7 100644 --- a/reference/simple_stmts.po +++ b/reference/simple_stmts.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: python-doc-es\n" @@ -827,7 +827,7 @@ msgid "" "determine dynamically the modules to be loaded." msgstr "" -#: ../Doc/reference/simple_stmts.rst:843 +#: ../Doc/reference/simple_stmts.rst:842 msgid "" "Raises an :ref:`auditing event ` ``import`` with arguments " "``module``, ``filename``, ``sys.path``, ``sys.meta_path``, ``sys." @@ -877,8 +877,8 @@ msgstr "" #: ../Doc/reference/simple_stmts.rst:877 msgid "" -"The only feature in Python 3.7 that requires using the future statement is " -"``annotations``." +"The only feature that requires using the future statement is ``annotations`` " +"(see :pep:`563`)." msgstr "" #: ../Doc/reference/simple_stmts.rst:880 diff --git a/requirements.txt b/requirements.txt index 01519ab0bd..960e3d215a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ pip==20.1 -Sphinx==2.2.0 +Sphinx==2.4.4 blurb polib pospell==1.0.5 diff --git a/tutorial/classes.po b/tutorial/classes.po index 4ae7252f36..a2a5c7f3a2 100644 --- a/tutorial/classes.po +++ b/tutorial/classes.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-06 15:59+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-09 13:38+0200\n" "Last-Translator: Marco Richetta \n" "Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/tutorial/classes.rst:5 msgid "Classes" @@ -269,10 +268,11 @@ msgstr "" "dentro del espacio de nombres." #: ../Doc/tutorial/classes.rst:116 +#, fuzzy msgid "" "Although scopes are determined statically, they are used dynamically. At any " -"time during execution, there are at least three nested scopes whose " -"namespaces are directly accessible:" +"time during execution, there are 3 or 4 nested scopes whose namespaces are " +"directly accessible:" msgstr "" "Aunque los alcances se determinan estáticamente, se usan dinámicamente. En " "cualquier momento durante la ejecución hay por lo menos cuatro alcances " @@ -1282,13 +1282,14 @@ msgid "Generators" msgstr "Generadores" #: ../Doc/tutorial/classes.rst:852 -msgid "" -":term:`Generator`\\s are a simple and powerful tool for creating iterators. " -"They are written like regular functions but use the :keyword:`yield` " -"statement whenever they want to return data. Each time :func:`next` is " -"called on it, the generator resumes where it left off (it remembers all the " -"data values and which statement was last executed). An example shows that " -"generators can be trivially easy to create::" +#, fuzzy +msgid "" +":term:`Generators ` are a simple and powerful tool for creating " +"iterators. They are written like regular functions but use the :keyword:" +"`yield` statement whenever they want to return data. Each time :func:`next` " +"is called on it, the generator resumes where it left off (it remembers all " +"the data values and which statement was last executed). An example shows " +"that generators can be trivially easy to create::" msgstr "" "Los :term:`Generator` son una simple y poderosa herramienta para crear " "iteradores. Se escriben como funciones regulares pero usan la sentencia :" diff --git a/tutorial/controlflow.po b/tutorial/controlflow.po index 7af3ae56d5..afe435e570 100644 --- a/tutorial/controlflow.po +++ b/tutorial/controlflow.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-21 14:04+0200\n" "Last-Translator: Raúl Cumplido \n" "Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/tutorial/controlflow.rst:5 msgid "More Control Flow Tools" @@ -341,12 +340,14 @@ msgstr "" "funciones que engloban la función local), aunque si pueden ser referenciadas." #: ../Doc/tutorial/controlflow.rst:294 +#, fuzzy msgid "" "The actual parameters (arguments) to a function call are introduced in the " "local symbol table of the called function when it is called; thus, arguments " "are passed using *call by value* (where the *value* is always an object " "*reference*, not the value of the object). [#]_ When a function calls " -"another function, a new local symbol table is created for that call." +"another function, or calls itself recursively, a new local symbol table is " +"created for that call." msgstr "" "Los parámetros reales (argumentos) de una función se introducen en la tabla " "de símbolos local de la función llamada cuando esta es ejecutada; así, los " @@ -354,19 +355,13 @@ msgstr "" "un objeto, no el valor del objeto). [#]_ Cuando una función llama a otra " "función, una nueva tabla de símbolos local es creada para esa llamada." -#: ../Doc/tutorial/controlflow.rst:300 +#: ../Doc/tutorial/controlflow.rst:301 msgid "" -"A function definition introduces the function name in the current symbol " -"table. The value of the function name has a type that is recognized by the " -"interpreter as a user-defined function. This value can be assigned to " -"another name which can then also be used as a function. This serves as a " -"general renaming mechanism::" +"A function definition associates the function name with the function object " +"in the current symbol table. The interpreter recognizes the object pointed " +"to by that name as a user-defined function. Other names can also point to " +"that same function object and can also be used to access the function::" msgstr "" -"La definición de una función introduce el nombre de la función en la tabla " -"de símbolos actual. El valor del nombre de la función tiene un tipo que es " -"reconocido por el interprete como una función definida por el usuario. Este " -"valor puede ser asignado a otro nombre que luego puede ser usado como una " -"función. Esto sirve como un mecanismo general para renombrar::" #: ../Doc/tutorial/controlflow.rst:312 msgid "" @@ -766,9 +761,10 @@ msgstr "" "incluye ``name`` como una clave::" #: ../Doc/tutorial/controlflow.rst:661 +#, fuzzy msgid "" "There is no possible call that will make it return ``True`` as the keyword " -"``'name'`` will always to bind to the first parameter. For example::" +"``'name'`` will always bind to the first parameter. For example::" msgstr "" "No existe una llamada que retorne ``True`` ya que la clave ``'name'`` será " "siempre asignada al primer parámetro. Por ejemplo::" @@ -1185,3 +1181,17 @@ msgstr "" #~ msgstr "" #~ "Con ``for w in words:``, el ejemplo intentaría crear una lista infinita, " #~ "insertando ``defenestrate`` una y otra vez." + +#~ msgid "" +#~ "A function definition introduces the function name in the current symbol " +#~ "table. The value of the function name has a type that is recognized by " +#~ "the interpreter as a user-defined function. This value can be assigned " +#~ "to another name which can then also be used as a function. This serves " +#~ "as a general renaming mechanism::" +#~ msgstr "" +#~ "La definición de una función introduce el nombre de la función en la " +#~ "tabla de símbolos actual. El valor del nombre de la función tiene un tipo " +#~ "que es reconocido por el interprete como una función definida por el " +#~ "usuario. Este valor puede ser asignado a otro nombre que luego puede ser " +#~ "usado como una función. Esto sirve como un mecanismo general para " +#~ "renombrar::" diff --git a/tutorial/datastructures.po b/tutorial/datastructures.po index 3ac1af531f..6b466fab67 100644 --- a/tutorial/datastructures.po +++ b/tutorial/datastructures.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-09 13:51+0200\n" "Last-Translator: \n" "Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/tutorial/datastructures.rst:5 msgid "Data Structures" @@ -667,7 +666,15 @@ msgstr "" "`sorted` la cual retorna una nueva lista ordenada dejando a la original " "intacta. ::" -#: ../Doc/tutorial/datastructures.rst:625 +#: ../Doc/tutorial/datastructures.rst:627 +msgid "" +"Using :func:`set` on a sequence eliminates duplicate elements. The use of :" +"func:`sorted` in combination with :func:`set` over a sequence is an " +"idiomatic way to loop over unique elements of the sequence in sorted " +"order. ::" +msgstr "" + +#: ../Doc/tutorial/datastructures.rst:640 msgid "" "It is sometimes tempting to change a list while you are looping over it; " "however, it is often simpler and safer to create a new list instead. ::" @@ -675,11 +682,11 @@ msgstr "" "A veces uno intenta cambiar una lista mientras la está iterando; sin " "embargo, a menudo es más simple y seguro crear una nueva lista::" -#: ../Doc/tutorial/datastructures.rst:642 +#: ../Doc/tutorial/datastructures.rst:657 msgid "More on Conditions" msgstr "Más acerca de condiciones" -#: ../Doc/tutorial/datastructures.rst:644 +#: ../Doc/tutorial/datastructures.rst:659 msgid "" "The conditions used in ``while`` and ``if`` statements can contain any " "operators, not just comparisons." @@ -687,7 +694,7 @@ msgstr "" "Las condiciones usadas en las instrucciones ``while`` e ``if`` pueden " "contener cualquier operador, no sólo comparaciones." -#: ../Doc/tutorial/datastructures.rst:647 +#: ../Doc/tutorial/datastructures.rst:662 msgid "" "The comparison operators ``in`` and ``not in`` check whether a value occurs " "(does not occur) in a sequence. The operators ``is`` and ``is not`` compare " @@ -702,7 +709,7 @@ msgstr "" "tienen la misma prioridad, la cual es menor que la de todos los operadores " "numéricos." -#: ../Doc/tutorial/datastructures.rst:653 +#: ../Doc/tutorial/datastructures.rst:668 msgid "" "Comparisons can be chained. For example, ``a < b == c`` tests whether ``a`` " "is less than ``b`` and moreover ``b`` equals ``c``." @@ -710,7 +717,7 @@ msgstr "" "Las comparaciones pueden encadenarse. Por ejemplo, ``a < b == c`` verifica " "si ``a`` es menor que ``b`` y además si ``b`` es igual a ``c``." -#: ../Doc/tutorial/datastructures.rst:656 +#: ../Doc/tutorial/datastructures.rst:671 msgid "" "Comparisons may be combined using the Boolean operators ``and`` and ``or``, " "and the outcome of a comparison (or of any other Boolean expression) may be " @@ -727,7 +734,7 @@ msgstr "" "``(A and (not B)) or C``. Como siempre, los paréntesis pueden usarse para " "expresar la composición deseada." -#: ../Doc/tutorial/datastructures.rst:663 +#: ../Doc/tutorial/datastructures.rst:678 msgid "" "The Boolean operators ``and`` and ``or`` are so-called *short-circuit* " "operators: their arguments are evaluated from left to right, and evaluation " @@ -744,7 +751,7 @@ msgstr "" "general y no como un booleano, el valor retornado de un operador " "cortocircuito es el último argumento evaluado." -#: ../Doc/tutorial/datastructures.rst:670 +#: ../Doc/tutorial/datastructures.rst:685 msgid "" "It is possible to assign the result of a comparison or other Boolean " "expression to a variable. For example, ::" @@ -752,7 +759,7 @@ msgstr "" "Es posible asignar el resultado de una comparación u otra expresión booleana " "a una variable. Por ejemplo, ::" -#: ../Doc/tutorial/datastructures.rst:678 +#: ../Doc/tutorial/datastructures.rst:693 msgid "" "Note that in Python, unlike C, assignment inside expressions must be done " "explicitly with the :ref:`walrus operator `` is legal " "provided that the objects have appropriate comparison methods. For example, " @@ -812,11 +819,11 @@ msgstr "" "proveer un ordenamiento arbitrario, el intérprete generará una excepción :" "exc:`TypeError`." -#: ../Doc/tutorial/datastructures.rst:717 +#: ../Doc/tutorial/datastructures.rst:732 msgid "Footnotes" msgstr "Notas al pie" -#: ../Doc/tutorial/datastructures.rst:718 +#: ../Doc/tutorial/datastructures.rst:733 msgid "" "Other languages may return the mutated object, which allows method chaining, " "such as ``d->insert(\"a\")->remove(\"b\")->sort();``." diff --git a/tutorial/errors.po b/tutorial/errors.po index bc8c049b1a..20636f9b5a 100644 --- a/tutorial/errors.po +++ b/tutorial/errors.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-06 15:59+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-09 01:09+0200\n" "Last-Translator: Héctor Canto \n" "Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"X-Generator: Poedit 2.0.6\n" #: ../Doc/tutorial/errors.rst:5 msgid "Errors and Exceptions" @@ -118,9 +117,10 @@ msgstr "" "qué la causó." #: ../Doc/tutorial/errors.rst:69 +#, fuzzy msgid "" "The preceding part of the error message shows the context where the " -"exception happened, in the form of a stack traceback. In general it contains " +"exception occurred, in the form of a stack traceback. In general it contains " "a stack traceback listing source lines; however, it will not display lines " "read from standard input." msgstr "" @@ -360,10 +360,36 @@ msgstr "" "te permite relanzarla::" #: ../Doc/tutorial/errors.rst:273 +msgid "Exception Chaining" +msgstr "" + +#: ../Doc/tutorial/errors.rst:275 +msgid "" +"The :keyword:`raise` statement allows an optional :keyword:`from` which " +"enables chaining exceptions. For example::" +msgstr "" + +#: ../Doc/tutorial/errors.rst:281 +msgid "This can be useful when you are transforming exceptions. For example::" +msgstr "" + +#: ../Doc/tutorial/errors.rst:302 +msgid "" +"Exception chaining happens automatically when an exception is raised inside " +"an :keyword:`except` or :keyword:`finally` section. Exception chaining can " +"be disabled by using ``from None`` idiom:" +msgstr "" + +#: ../Doc/tutorial/errors.rst:315 +msgid "" +"For more information about chaining mechanics, see :ref:`bltin-exceptions`." +msgstr "" + +#: ../Doc/tutorial/errors.rst:321 msgid "User-defined Exceptions" msgstr "Excepciones definidas por el usuario" -#: ../Doc/tutorial/errors.rst:275 +#: ../Doc/tutorial/errors.rst:323 msgid "" "Programs may name their own exceptions by creating a new exception class " "(see :ref:`tut-classes` for more about Python classes). Exceptions should " @@ -375,7 +401,7 @@ msgstr "" "Python). Las excepciones, típicamente, deberán derivar de la clase :exc:" "`Exception`, directa o indirectamente." -#: ../Doc/tutorial/errors.rst:279 +#: ../Doc/tutorial/errors.rst:327 msgid "" "Exception classes can be defined which do anything any other class can do, " "but are usually kept simple, often only offering a number of attributes that " @@ -393,7 +419,7 @@ msgstr "" "excepciones definidas en ese módulo y extenderla para crear clases " "excepciones específicas para distintas condiciones de error::" -#: ../Doc/tutorial/errors.rst:317 +#: ../Doc/tutorial/errors.rst:365 msgid "" "Most exceptions are defined with names that end in \"Error\", similar to the " "naming of the standard exceptions." @@ -401,7 +427,7 @@ msgstr "" "La mayoría de las excepciones se definen con nombres acabados en \"Error\", " "de manera similar a la nomenclatura de las excepciones estándar." -#: ../Doc/tutorial/errors.rst:320 +#: ../Doc/tutorial/errors.rst:368 msgid "" "Many standard modules define their own exceptions to report errors that may " "occur in functions they define. More information on classes is presented in " @@ -411,11 +437,11 @@ msgstr "" "errores que pueden ocurrir en funciones propias. Se puede encontrar más " "información sobre clases en el capítulo :ref:`tut-classes`." -#: ../Doc/tutorial/errors.rst:328 +#: ../Doc/tutorial/errors.rst:376 msgid "Defining Clean-up Actions" msgstr "Definiendo acciones de limpieza" -#: ../Doc/tutorial/errors.rst:330 +#: ../Doc/tutorial/errors.rst:378 msgid "" "The :keyword:`try` statement has another optional clause which is intended " "to define clean-up actions that must be executed under all circumstances. " @@ -425,7 +451,7 @@ msgstr "" "definir acciones de limpieza que serán ejecutadas bajo ciertas " "circunstancias. Por ejemplo::" -#: ../Doc/tutorial/errors.rst:344 +#: ../Doc/tutorial/errors.rst:392 msgid "" "If a :keyword:`finally` clause is present, the :keyword:`!finally` clause " "will execute as the last task before the :keyword:`try` statement completes. " @@ -439,7 +465,7 @@ msgstr "" "que la cláusula :keyword:`!try` produzca o no una excepción. Los siguientes " "puntos explican casos más complejos en los que se produce una excepción:" -#: ../Doc/tutorial/errors.rst:350 +#: ../Doc/tutorial/errors.rst:398 msgid "" "If an exception occurs during execution of the :keyword:`!try` clause, the " "exception may be handled by an :keyword:`except` clause. If the exception is " @@ -452,7 +478,7 @@ msgstr "" "es relanzada después de que se ejecute el bloque de la cláusula :keyword:`!" "finally`." -#: ../Doc/tutorial/errors.rst:356 +#: ../Doc/tutorial/errors.rst:404 msgid "" "An exception could occur during execution of an :keyword:`!except` or :" "keyword:`!else` clause. Again, the exception is re-raised after the :keyword:" @@ -462,7 +488,7 @@ msgstr "" "`!except` o :keyword:`!else`. De nuevo, la excepción será relanzada después " "de que el bloque de la cláusula :keyword:`!finally` se ejecute." -#: ../Doc/tutorial/errors.rst:360 +#: ../Doc/tutorial/errors.rst:408 msgid "" "If the :keyword:`!try` statement reaches a :keyword:`break`, :keyword:" "`continue` or :keyword:`return` statement, the :keyword:`!finally` clause " @@ -473,7 +499,7 @@ msgstr "" "keyword:`continue` o :keyword:`return`, la cláusula :keyword:`!finally` se " "ejecutará justo antes de la ejecución de dicha sentencia." -#: ../Doc/tutorial/errors.rst:366 +#: ../Doc/tutorial/errors.rst:414 msgid "" "If a :keyword:`!finally` clause includes a :keyword:`!return` statement, the " "returned value will be the one from the :keyword:`!finally` clause's :" @@ -484,15 +510,15 @@ msgstr "" "return`, el valor retornado será el de la cláusula :keyword:`!finally`, no " "la del de la sentencia :keyword:`!return` de la cláusula :keyword:`!try`." -#: ../Doc/tutorial/errors.rst:372 +#: ../Doc/tutorial/errors.rst:420 msgid "For example::" msgstr "Por ejemplo::" -#: ../Doc/tutorial/errors.rst:383 +#: ../Doc/tutorial/errors.rst:431 msgid "A more complicated example::" msgstr "Un ejemplo más complicado::" -#: ../Doc/tutorial/errors.rst:408 +#: ../Doc/tutorial/errors.rst:456 msgid "" "As you can see, the :keyword:`finally` clause is executed in any event. " "The :exc:`TypeError` raised by dividing two strings is not handled by the :" @@ -504,7 +530,7 @@ msgstr "" "gestionado por la cláusula :keyword:`except` y por lo tanto es relanzada " "luego de que se ejecuta la cláusula :keyword:`!finally`." -#: ../Doc/tutorial/errors.rst:413 +#: ../Doc/tutorial/errors.rst:461 msgid "" "In real world applications, the :keyword:`finally` clause is useful for " "releasing external resources (such as files or network connections), " @@ -514,11 +540,11 @@ msgstr "" "recursos externos (como archivos o conexiones de red), sin importar si el " "uso del recurso fue exitoso." -#: ../Doc/tutorial/errors.rst:421 +#: ../Doc/tutorial/errors.rst:469 msgid "Predefined Clean-up Actions" msgstr "Acciones predefinidas de limpieza" -#: ../Doc/tutorial/errors.rst:423 +#: ../Doc/tutorial/errors.rst:471 msgid "" "Some objects define standard clean-up actions to be undertaken when the " "object is no longer needed, regardless of whether or not the operation using " @@ -530,7 +556,7 @@ msgstr "" "sobre el objeto hayan sido exitosas o no. Véase el siguiente ejemplo, que " "intenta abrir un archivo e imprimir su contenido en la pantalla. ::" -#: ../Doc/tutorial/errors.rst:431 +#: ../Doc/tutorial/errors.rst:479 msgid "" "The problem with this code is that it leaves the file open for an " "indeterminate amount of time after this part of the code has finished " @@ -546,7 +572,7 @@ msgstr "" "objetos como archivos sean usados de una forma que asegure que siempre se " "los libera rápido y en forma correcta.::" -#: ../Doc/tutorial/errors.rst:441 +#: ../Doc/tutorial/errors.rst:489 msgid "" "After the statement is executed, the file *f* is always closed, even if a " "problem was encountered while processing the lines. Objects which, like " diff --git a/tutorial/inputoutput.po b/tutorial/inputoutput.po index cba5fc6a0b..6f902171b3 100644 --- a/tutorial/inputoutput.po +++ b/tutorial/inputoutput.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-09 14:34+0200\n" "Last-Translator: \n" "Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/tutorial/inputoutput.rst:5 msgid "Input and Output" @@ -236,11 +235,12 @@ msgstr "" "Se pueden combinar arbitrariamente argumentos posicionales y nombrados::" #: ../Doc/tutorial/inputoutput.rst:172 +#, fuzzy msgid "" "If you have a really long format string that you don't want to split up, it " "would be nice if you could reference the variables to be formatted by name " "instead of by position. This can be done by simply passing the dict and " -"using square brackets ``'[]'`` to access the keys ::" +"using square brackets ``'[]'`` to access the keys. ::" msgstr "" "Si tenés una cadena de formateo realmente larga que no querés separar, " "podría ser bueno que puedas hacer referencia a las variables a ser " @@ -331,16 +331,13 @@ msgid "Old string formatting" msgstr "Viejo formateo de cadenas" #: ../Doc/tutorial/inputoutput.rst:260 +#, python-format msgid "" -"The ``%`` operator can also be used for string formatting. It interprets the " -"left argument much like a :c:func:`sprintf`\\ -style format string to be " -"applied to the right argument, and returns the string resulting from this " -"formatting operation. For example::" +"The % operator (modulo) can also be used for string formatting. Given " +"``'string' % values``, instances of ``%`` in ``string`` are replaced with " +"zero or more elements of ``values``. This operation is commonly known as " +"string interpolation. For example::" msgstr "" -"El operador ``%`` también puede usarse para formateo de cadenas. Interpreta " -"el argumento de la izquierda con el estilo de formateo de :c:func:`sprintf` " -"para ser aplicado al argumento de la derecha, y retorna la cadena resultante " -"de esta operación de formateo. Por ejemplo::" #: ../Doc/tutorial/inputoutput.rst:269 msgid "" @@ -434,20 +431,17 @@ msgstr "" msgid "" "If you're not using the :keyword:`with` keyword, then you should call ``f." "close()`` to close the file and immediately free up any system resources " -"used by it. If you don't explicitly close a file, Python's garbage collector " -"will eventually destroy the object and close the open file for you, but the " -"file may stay open for a while. Another risk is that different Python " -"implementations will do this clean-up at different times." +"used by it." msgstr "" -"Si no estuvieses usando el bloque :keyword:`with`, entonces deberías llamar " -"``f.close()`` para cerrar el archivo e inmediatamente liberar cualquier " -"recurso del sistema usado por este. Si no cierras explícitamente el archivo, " -"el *garbage collector* de Python eventualmente destruirá el objeto y cerrará " -"el archivo por vos, pero el archivo puede estar abierto por un tiempo. Otro " -"riesgo es que diferentes implementaciones de Python harán esta limpieza en " -"diferentes momentos." -#: ../Doc/tutorial/inputoutput.rst:338 +#: ../Doc/tutorial/inputoutput.rst:335 +msgid "" +"Calling ``f.write()`` without using the :keyword:`!with` keyword or calling " +"``f.close()`` **might** result in the arguments of ``f.write()`` not being " +"completely written to the disk, even if the program exits successfully." +msgstr "" + +#: ../Doc/tutorial/inputoutput.rst:343 msgid "" "After a file object is closed, either by a :keyword:`with` statement or by " "calling ``f.close()``, attempts to use the file object will automatically " @@ -457,11 +451,11 @@ msgstr "" "llamando a ``f.close()``, intentar volver a utilizarlo fallará " "automáticamente::" -#: ../Doc/tutorial/inputoutput.rst:352 +#: ../Doc/tutorial/inputoutput.rst:357 msgid "Methods of File Objects" msgstr "Métodos de los objetos Archivo" -#: ../Doc/tutorial/inputoutput.rst:354 +#: ../Doc/tutorial/inputoutput.rst:359 msgid "" "The rest of the examples in this section will assume that a file object " "called ``f`` has already been created." @@ -469,7 +463,7 @@ msgstr "" "El resto de los ejemplos en esta sección asumirán que ya se creó un objeto " "archivo llamado ``f``." -#: ../Doc/tutorial/inputoutput.rst:357 +#: ../Doc/tutorial/inputoutput.rst:362 msgid "" "To read a file's contents, call ``f.read(size)``, which reads some quantity " "of data and returns it as a string (in text mode) or bytes object (in binary " @@ -490,7 +484,7 @@ msgstr "" "retornados. Si se alcanzó el fin del archivo, ``f.read()`` retornará una " "cadena vacía (``''``). ::" -#: ../Doc/tutorial/inputoutput.rst:371 +#: ../Doc/tutorial/inputoutput.rst:376 msgid "" "``f.readline()`` reads a single line from the file; a newline character (``" "\\n``) is left at the end of the string, and is only omitted on the last " @@ -507,7 +501,7 @@ msgstr "" "blanco es representada por ``'\\n'``, una cadena conteniendo sólo un único " "fin de linea. ::" -#: ../Doc/tutorial/inputoutput.rst:385 +#: ../Doc/tutorial/inputoutput.rst:390 msgid "" "For reading lines from a file, you can loop over the file object. This is " "memory efficient, fast, and leads to simple code::" @@ -515,7 +509,7 @@ msgstr "" "Para leer líneas de un archivo, podés iterar sobre el objeto archivo. Esto " "es eficiente en memoria, rápido, y conduce a un código más simple::" -#: ../Doc/tutorial/inputoutput.rst:394 +#: ../Doc/tutorial/inputoutput.rst:399 msgid "" "If you want to read all the lines of a file in a list you can also use " "``list(f)`` or ``f.readlines()``." @@ -523,7 +517,7 @@ msgstr "" "Si querés leer todas las líneas de un archivo en una lista también podés " "usar ``list(f)`` o ``f.readlines()``." -#: ../Doc/tutorial/inputoutput.rst:397 +#: ../Doc/tutorial/inputoutput.rst:402 msgid "" "``f.write(string)`` writes the contents of *string* to the file, returning " "the number of characters written. ::" @@ -531,7 +525,7 @@ msgstr "" "``f.write(cadena)`` escribe el contenido de la *cadena* al archivo, " "retornando la cantidad de caracteres escritos. ::" -#: ../Doc/tutorial/inputoutput.rst:403 +#: ../Doc/tutorial/inputoutput.rst:408 msgid "" "Other types of objects need to be converted -- either to a string (in text " "mode) or a bytes object (in binary mode) -- before writing them::" @@ -540,7 +534,7 @@ msgstr "" "modo texto) o a un objeto de bytes (en modo binario) -- antes de " "escribirlos::" -#: ../Doc/tutorial/inputoutput.rst:411 +#: ../Doc/tutorial/inputoutput.rst:416 msgid "" "``f.tell()`` returns an integer giving the file object's current position in " "the file represented as number of bytes from the beginning of the file when " @@ -550,7 +544,7 @@ msgstr "" "representada como número de bytes desde el comienzo del archivo en modo " "binario y un número opaco en modo texto." -#: ../Doc/tutorial/inputoutput.rst:415 +#: ../Doc/tutorial/inputoutput.rst:420 msgid "" "To change the file object's position, use ``f.seek(offset, whence)``. The " "position is computed from adding *offset* to a reference point; the " @@ -568,7 +562,7 @@ msgstr "" "*whence* puede omitirse, el valor por defecto es 0, usando el comienzo del " "archivo como punto de referencia. ::" -#: ../Doc/tutorial/inputoutput.rst:434 +#: ../Doc/tutorial/inputoutput.rst:439 msgid "" "In text files (those opened without a ``b`` in the mode string), only seeks " "relative to the beginning of the file are allowed (the exception being " @@ -583,7 +577,7 @@ msgstr "" "tell()``, o cero. Cualquier otro valor de *desplazamiento* produce un " "comportamiento indefinido." -#: ../Doc/tutorial/inputoutput.rst:440 +#: ../Doc/tutorial/inputoutput.rst:445 msgid "" "File objects have some additional methods, such as :meth:`~file.isatty` and :" "meth:`~file.truncate` which are less frequently used; consult the Library " @@ -593,11 +587,11 @@ msgstr "" "`truncate` que son usados menos frecuentemente; consultá la Referencia de la " "Biblioteca para una guía completa sobre los objetos archivo." -#: ../Doc/tutorial/inputoutput.rst:448 +#: ../Doc/tutorial/inputoutput.rst:453 msgid "Saving structured data with :mod:`json`" msgstr "Guardar datos estructurados con :mod:`json`" -#: ../Doc/tutorial/inputoutput.rst:452 +#: ../Doc/tutorial/inputoutput.rst:457 msgid "" "Strings can easily be written to and read from a file. Numbers take a bit " "more effort, since the :meth:`read` method only returns strings, which will " @@ -613,7 +607,7 @@ msgstr "" "embargo, cuando querés grabar tipos de datos más complejos como listas, " "diccionarios, o instancias de clases, las cosas se ponen más complicadas." -#: ../Doc/tutorial/inputoutput.rst:459 +#: ../Doc/tutorial/inputoutput.rst:464 msgid "" "Rather than having users constantly writing and debugging code to save " "complicated data types to files, Python allows you to use the popular data " @@ -636,7 +630,7 @@ msgstr "" "cadena de caracteres representando el objeto quizás haya sido guardado en un " "archivo o datos, o enviado a una máquina distante por una conexión de red." -#: ../Doc/tutorial/inputoutput.rst:470 +#: ../Doc/tutorial/inputoutput.rst:475 msgid "" "The JSON format is commonly used by modern applications to allow for data " "exchange. Many programmers are already familiar with it, which makes it a " @@ -646,7 +640,7 @@ msgstr "" "el intercambio de datos. Muchos programadores ya están familiarizados con " "él, lo cual lo convierte en una buena opción para la interoperabilidad." -#: ../Doc/tutorial/inputoutput.rst:474 +#: ../Doc/tutorial/inputoutput.rst:479 msgid "" "If you have an object ``x``, you can view its JSON string representation " "with a simple line of code::" @@ -654,7 +648,7 @@ msgstr "" "Si tienes un objeto ``x``, puedes ver su representación JSON con una simple " "línea de código::" -#: ../Doc/tutorial/inputoutput.rst:481 +#: ../Doc/tutorial/inputoutput.rst:486 msgid "" "Another variant of the :func:`~json.dumps` function, called :func:`~json." "dump`, simply serializes the object to a :term:`text file`. So if ``f`` is " @@ -665,7 +659,7 @@ msgstr "" "``f`` es un objeto :term:`archivo de texto` abierto para escritura, podemos " "hacer::" -#: ../Doc/tutorial/inputoutput.rst:487 +#: ../Doc/tutorial/inputoutput.rst:492 msgid "" "To decode the object again, if ``f`` is a :term:`text file` object which has " "been opened for reading::" @@ -673,7 +667,7 @@ msgstr "" "Para decodificar un objeto nuevamente, si ``f`` es un objeto :term:`archivo " "de texto` que fue abierto para lectura::" -#: ../Doc/tutorial/inputoutput.rst:492 +#: ../Doc/tutorial/inputoutput.rst:497 msgid "" "This simple serialization technique can handle lists and dictionaries, but " "serializing arbitrary class instances in JSON requires a bit of extra " @@ -685,11 +679,11 @@ msgstr "" "esfuerzo extra. La referencia del módulo :mod:`json` contiene una " "explicación de esto." -#: ../Doc/tutorial/inputoutput.rst:498 +#: ../Doc/tutorial/inputoutput.rst:503 msgid ":mod:`pickle` - the pickle module" msgstr ":mod:`pickle` - El módulo *pickle*" -#: ../Doc/tutorial/inputoutput.rst:500 +#: ../Doc/tutorial/inputoutput.rst:505 msgid "" "Contrary to :ref:`JSON `, *pickle* is a protocol which allows the " "serialization of arbitrarily complex Python objects. As such, it is " @@ -705,3 +699,30 @@ msgstr "" "predeterminada: deserializar los datos de *pickle* procedentes de un origen " "que no es de confianza puede ejecutar código arbitrario, si los datos fueron " "creados por un atacante experto." + +#~ msgid "" +#~ "The ``%`` operator can also be used for string formatting. It interprets " +#~ "the left argument much like a :c:func:`sprintf`\\ -style format string to " +#~ "be applied to the right argument, and returns the string resulting from " +#~ "this formatting operation. For example::" +#~ msgstr "" +#~ "El operador ``%`` también puede usarse para formateo de cadenas. " +#~ "Interpreta el argumento de la izquierda con el estilo de formateo de :c:" +#~ "func:`sprintf` para ser aplicado al argumento de la derecha, y retorna la " +#~ "cadena resultante de esta operación de formateo. Por ejemplo::" + +#~ msgid "" +#~ "If you're not using the :keyword:`with` keyword, then you should call ``f." +#~ "close()`` to close the file and immediately free up any system resources " +#~ "used by it. If you don't explicitly close a file, Python's garbage " +#~ "collector will eventually destroy the object and close the open file for " +#~ "you, but the file may stay open for a while. Another risk is that " +#~ "different Python implementations will do this clean-up at different times." +#~ msgstr "" +#~ "Si no estuvieses usando el bloque :keyword:`with`, entonces deberías " +#~ "llamar ``f.close()`` para cerrar el archivo e inmediatamente liberar " +#~ "cualquier recurso del sistema usado por este. Si no cierras " +#~ "explícitamente el archivo, el *garbage collector* de Python eventualmente " +#~ "destruirá el objeto y cerrará el archivo por vos, pero el archivo puede " +#~ "estar abierto por un tiempo. Otro riesgo es que diferentes " +#~ "implementaciones de Python harán esta limpieza en diferentes momentos." diff --git a/tutorial/interpreter.po b/tutorial/interpreter.po index 7bb1b87961..bcbba82a3c 100644 --- a/tutorial/interpreter.po +++ b/tutorial/interpreter.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-05-09 14:41+0200\n" "Last-Translator: \n" "Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"X-Generator: Poedit 2.3\n" #: ../Doc/tutorial/interpreter.rst:5 msgid "Using the Python Interpreter" @@ -31,9 +30,10 @@ msgid "Invoking the Interpreter" msgstr "Invocando al intérprete" #: ../Doc/tutorial/interpreter.rst:13 +#, fuzzy msgid "" "The Python interpreter is usually installed as :file:`/usr/local/bin/" -"python3.8` on those machines where it is available; putting :file:`/usr/" +"python3.9` on those machines where it is available; putting :file:`/usr/" "local/bin` in your Unix shell's search path makes it possible to start it by " "typing the command:" msgstr "" @@ -55,9 +55,10 @@ msgstr "" "(Por ejemplo, :file:`/usr/local/python` es una alternativa popular)." #: ../Doc/tutorial/interpreter.rst:26 +#, fuzzy msgid "" "On Windows machines where you have installed Python from the :ref:`Microsoft " -"Store `, the :file:`python3.8` command will be available. If " +"Store `, the :file:`python3.9` command will be available. If " "you have the :ref:`py.exe launcher ` installed, you can use the :" "file:`py` command. See :ref:`setting-envvars` for other ways to launch " "Python." diff --git a/using/cmdline.po b/using/cmdline.po index e42858569e..03cac71cf0 100644 --- a/using/cmdline.po +++ b/using/cmdline.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-08-28 09:36-0400\n" +"Last-Translator: \n" +"Language: es_AR\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es_AR\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/using/cmdline.rst:9 msgid "Command line and environment" @@ -244,7 +243,7 @@ msgstr "" "Muchos módulos de biblioteca estándar contienen código que se invoca en su " "ejecución como script. Un ejemplo es el módulo :mod:`timeit`::" -#: ../Doc/using/cmdline.rst:116 +#: ../Doc/using/cmdline.rst:115 msgid "" "Raises an :ref:`auditing event ` ``cpython.run_module`` with " "argument ``module-name``." @@ -351,7 +350,7 @@ msgstr "" "directorio site-packages del usuario. También se omiten todas las variables " "de entorno :envvar:`PYTHON*`." -#: ../Doc/using/cmdline.rst:168 +#: ../Doc/using/cmdline.rst:167 msgid "" "Raises an :ref:`auditing event ` ``cpython.run_file`` with " "argument ``filename``." @@ -606,8 +605,8 @@ msgstr "" "No agregue el :data:`user site-packages directory ` a :data:" "`sys.path`." -#: ../Doc/using/cmdline.rst:344 ../Doc/using/cmdline.rst:675 -#: ../Doc/using/cmdline.rst:687 +#: ../Doc/using/cmdline.rst:344 ../Doc/using/cmdline.rst:688 +#: ../Doc/using/cmdline.rst:700 msgid ":pep:`370` -- Per user site-packages directory" msgstr ":pep:`370` -- Directorio de paquetes de sitio por usuario" @@ -696,7 +695,7 @@ msgstr "" "entorno :envvar:`PYTHONWARNINGS` y desde un programa Python utilizando el " "módulo :mod:`warnings`." -#: ../Doc/using/cmdline.rst:398 ../Doc/using/cmdline.rst:703 +#: ../Doc/using/cmdline.rst:398 ../Doc/using/cmdline.rst:716 msgid "" "The simplest settings apply a particular action unconditionally to all " "warnings emitted by a process (even those that are otherwise ignored by " @@ -716,7 +715,7 @@ msgstr "" "Wi``, ``-Wd``, ``-Wa``, ``-We``) y el intérprete los resolverá con el nombre " "de acción adecuado." -#: ../Doc/using/cmdline.rst:413 ../Doc/using/cmdline.rst:714 +#: ../Doc/using/cmdline.rst:413 ../Doc/using/cmdline.rst:727 msgid "" "See :ref:`warning-filter` and :ref:`describing-warning-filters` for more " "details." @@ -747,6 +746,12 @@ msgstr "``-X faulthandler`` para habilitar :mod:`faulthandler`;" #: ../Doc/using/cmdline.rst:429 msgid "" +"``-X oldparser``: enable the traditional LL(1) parser. See also :envvar:" +"`PYTHONOLDPARSER` and :pep:`617`." +msgstr "" + +#: ../Doc/using/cmdline.rst:431 +msgid "" "``-X showrefcount`` to output the total reference count and number of used " "memory blocks when the program finishes or after each statement in the " "interactive interpreter. This only works on debug builds." @@ -756,7 +761,7 @@ msgstr "" "después de cada instrucción en el intérprete interactivo. Esto sólo funciona " "en compilaciones de depuración." -#: ../Doc/using/cmdline.rst:432 +#: ../Doc/using/cmdline.rst:434 msgid "" "``-X tracemalloc`` to start tracing Python memory allocations using the :mod:" "`tracemalloc` module. By default, only the most recent frame is stored in a " @@ -771,17 +776,7 @@ msgstr "" "seguimiento con un límite de rastreo de marcos *NFRAME*. Consulte el :func:" "`tracemalloc.start` para obtener más información." -#: ../Doc/using/cmdline.rst:437 -msgid "" -"``-X showalloccount`` to output the total count of allocated objects for " -"each type when the program finishes. This only works when Python was built " -"with ``COUNT_ALLOCS`` defined." -msgstr "" -"``-X showalloccount`` para generar el recuento total de objetos asignados " -"para cada tipo cuando finalice el programa. Esto sólo funciona cuando Python " -"se creó con ``COUNT_ALLOCS`` definido." - -#: ../Doc/using/cmdline.rst:440 +#: ../Doc/using/cmdline.rst:439 msgid "" "``-X importtime`` to show how long each import takes. It shows module name, " "cumulative time (including nested imports) and self time (excluding nested " @@ -796,57 +791,13 @@ msgstr "" "multiproceso. El uso típico es ``python3 -X importtime -c 'import " "asyncio'``. Véase también :envvar:`PYTHONPROFILEIMPORTTIME`." -#: ../Doc/using/cmdline.rst:445 -msgid "" -"``-X dev``: enable CPython's \"development mode\", introducing additional " -"runtime checks which are too expensive to be enabled by default. It should " -"not be more verbose than the default if the code is correct: new warnings " -"are only emitted when an issue is detected. Effect of the developer mode:" -msgstr "" -"``-X dev``: habilite el \"modo de desarrollo\" de CPython, introduciendo " -"comprobaciones de tiempo de ejecución adicionales que son demasiado costosas " -"para habilitarse de forma predeterminada. No debe ser más detallado que el " -"valor predeterminado si el código es correcto: las nuevas advertencias solo " -"se emiten cuando se detecta un problema. Efecto del modo de desarrollador:" - -#: ../Doc/using/cmdline.rst:450 -msgid "Add ``default`` warning filter, as :option:`-W` ``default``." -msgstr "" -"Agregue el filtro de advertencia ``default``, como :option:`-W` ``default``." - -#: ../Doc/using/cmdline.rst:451 +#: ../Doc/using/cmdline.rst:444 msgid "" -"Install debug hooks on memory allocators: see the :c:func:" -"`PyMem_SetupDebugHooks` C function." +"``-X dev``: enable :ref:`Python Development Mode `, introducing " +"additional runtime checks that are too expensive to be enabled by default." msgstr "" -"Instale los enlaces de depuración en los asignadores de memoria: vea la " -"función :c:func:`PyMem_SetupDebugHooks` C." - -#: ../Doc/using/cmdline.rst:453 -msgid "" -"Enable the :mod:`faulthandler` module to dump the Python traceback on a " -"crash." -msgstr "" -"Habilite el módulo :mod:`faulthandler` para volcar el rastreo de Python en " -"un bloqueo." - -#: ../Doc/using/cmdline.rst:455 -msgid "Enable :ref:`asyncio debug mode `." -msgstr "Habilite :ref:`asyncio debug mode `." - -#: ../Doc/using/cmdline.rst:456 -msgid "" -"Set the :attr:`~sys.flags.dev_mode` attribute of :attr:`sys.flags` to " -"``True``." -msgstr "" -"Establezca el atributo :attr:`sys.flags.dev_mode` de :attr:`sys.flags` en " -"``True``." - -#: ../Doc/using/cmdline.rst:458 -msgid ":class:`io.IOBase` destructor logs ``close()`` exceptions." -msgstr ":class:`io.IOBase` destructor registra las excepciones ``close()``." -#: ../Doc/using/cmdline.rst:460 +#: ../Doc/using/cmdline.rst:447 msgid "" "``-X utf8`` enables UTF-8 mode for operating system interfaces, overriding " "the default locale-aware mode. ``-X utf8=0`` explicitly disables UTF-8 mode " @@ -859,7 +810,7 @@ msgstr "" "(incluso cuando de lo contrario se activaría automáticamente). Consulte :" "envvar:`PYTHONUTF8` para obtener más detalles." -#: ../Doc/using/cmdline.rst:464 +#: ../Doc/using/cmdline.rst:451 msgid "" "``-X pycache_prefix=PATH`` enables writing ``.pyc`` files to a parallel tree " "rooted at the given directory instead of to the code tree. See also :envvar:" @@ -869,7 +820,7 @@ msgstr "" "paralelo enraizado en el directorio dado en lugar de en el árbol de código. " "Véase también :envvar:`PYTHONPYCACHEPREFIX`." -#: ../Doc/using/cmdline.rst:468 +#: ../Doc/using/cmdline.rst:455 msgid "" "It also allows passing arbitrary values and retrieving them through the :" "data:`sys._xoptions` dictionary." @@ -877,27 +828,27 @@ msgstr "" "También permite pasar valores arbitrarios y recuperarlos a través del " "diccionario :data:`sys._xoptions`." -#: ../Doc/using/cmdline.rst:471 +#: ../Doc/using/cmdline.rst:458 msgid "The :option:`-X` option was added." msgstr "Se ha añadido la opción :option:`-X`." -#: ../Doc/using/cmdline.rst:474 +#: ../Doc/using/cmdline.rst:461 msgid "The ``-X faulthandler`` option." msgstr "La opción ``-X faulhandler``." -#: ../Doc/using/cmdline.rst:477 +#: ../Doc/using/cmdline.rst:464 msgid "The ``-X showrefcount`` and ``-X tracemalloc`` options." msgstr "Las opciones ``-X showrefcount`` y ``-X tracemalloc``." -#: ../Doc/using/cmdline.rst:480 +#: ../Doc/using/cmdline.rst:467 msgid "The ``-X showalloccount`` option." msgstr "La opción ``-X showalloccount``." -#: ../Doc/using/cmdline.rst:483 +#: ../Doc/using/cmdline.rst:470 msgid "The ``-X importtime``, ``-X dev`` and ``-X utf8`` options." msgstr "Las opciones ``-X importtime``, ``-X dev`` y ``-X utf8``." -#: ../Doc/using/cmdline.rst:486 +#: ../Doc/using/cmdline.rst:473 msgid "" "The ``-X pycache_prefix`` option. The ``-X dev`` option now logs ``close()`` " "exceptions in :class:`io.IOBase` destructor." @@ -905,19 +856,35 @@ msgstr "" "La opción ``-X pycache_prefix``. La opción ``-X dev`` ahora registra las " "excepciones ``close()`` en el destructor :class:`io.IOBase`." -#: ../Doc/using/cmdline.rst:492 +#: ../Doc/using/cmdline.rst:477 +msgid "" +"Using ``-X dev`` option, check *encoding* and *errors* arguments on string " +"encoding and decoding operations." +msgstr "" + +#: ../Doc/using/cmdline.rst:481 +#, fuzzy +msgid "The ``-X showalloccount`` option has been removed." +msgstr "La opción ``-X showalloccount``." + +#: ../Doc/using/cmdline.rst:484 +#, fuzzy +msgid "The ``-X oldparser`` option." +msgstr "La opción ``-VV``." + +#: ../Doc/using/cmdline.rst:488 msgid "Options you shouldn't use" msgstr "Opciones que no debe usar" -#: ../Doc/using/cmdline.rst:496 +#: ../Doc/using/cmdline.rst:492 msgid "Reserved for use by Jython_." msgstr "Reservado para su uso por Jython_." -#: ../Doc/using/cmdline.rst:504 +#: ../Doc/using/cmdline.rst:500 msgid "Environment variables" msgstr "Variables de entorno" -#: ../Doc/using/cmdline.rst:506 +#: ../Doc/using/cmdline.rst:502 msgid "" "These environment variables influence Python's behavior, they are processed " "before the command-line switches other than -E or -I. It is customary that " @@ -929,7 +896,7 @@ msgstr "" "o -I. Es habitual que los modificadores de línea de comandos anulen " "variables de entorno donde hay un conflicto." -#: ../Doc/using/cmdline.rst:513 +#: ../Doc/using/cmdline.rst:509 msgid "" "Change the location of the standard Python libraries. By default, the " "libraries are searched in :file:`{prefix}/lib/python{version}` and :file:" @@ -943,7 +910,7 @@ msgstr "" "`{prefix}` y :file:`{exec_prefix}` son directorios dependientes de la " "instalación, ambos predeterminados: file:`/usr/local`." -#: ../Doc/using/cmdline.rst:519 +#: ../Doc/using/cmdline.rst:515 msgid "" "When :envvar:`PYTHONHOME` is set to a single directory, its value replaces " "both :file:`{prefix}` and :file:`{exec_prefix}`. To specify different " @@ -954,7 +921,7 @@ msgstr "" "especificar valores diferentes para estos, establezca :envvar:`PYTHONHOME` " "en :file:`{prefix}:{exec_prefix}`." -#: ../Doc/using/cmdline.rst:526 +#: ../Doc/using/cmdline.rst:522 msgid "" "Augment the default search path for module files. The format is the same as " "the shell's :envvar:`PATH`: one or more directory pathnames separated by :" @@ -967,7 +934,7 @@ msgstr "" "en Unix o punto y coma en Windows). Los directorios inexistentes se omiten " "silenciosamente." -#: ../Doc/using/cmdline.rst:531 +#: ../Doc/using/cmdline.rst:527 msgid "" "In addition to normal directories, individual :envvar:`PYTHONPATH` entries " "may refer to zipfiles containing pure Python modules (in either source or " @@ -978,7 +945,7 @@ msgstr "" "puros (ya sea en forma de origen o compilado). Los módulos de extensión no " "se pueden importar desde zipfiles." -#: ../Doc/using/cmdline.rst:535 +#: ../Doc/using/cmdline.rst:531 msgid "" "The default search path is installation dependent, but generally begins " "with :file:`{prefix}/lib/python{version}` (see :envvar:`PYTHONHOME` above). " @@ -988,7 +955,7 @@ msgstr "" "generalmente comienza con :file:`{prefix}/lib/python{version}` (consulte :" "envvar:`PYTHONHOME` arriba). Es *always* anexado a :envvar:`PYTHONPATH`." -#: ../Doc/using/cmdline.rst:539 +#: ../Doc/using/cmdline.rst:535 msgid "" "An additional directory will be inserted in the search path in front of :" "envvar:`PYTHONPATH` as described above under :ref:`using-on-interface-" @@ -1000,7 +967,16 @@ msgstr "" "interface-options`. La ruta de búsqueda se puede manipular desde un programa " "Python como la variable :data:`sys.path`." -#: ../Doc/using/cmdline.rst:547 +#: ../Doc/using/cmdline.rst:543 +#, fuzzy +msgid "" +"If this is set to a non-empty string, it overrides the :data:`sys." +"platlibdir` value." +msgstr "" +"Si se establece en una cadena no vacía, equivale a especificar la opción :" +"option:`-i`." + +#: ../Doc/using/cmdline.rst:551 msgid "" "If this is the name of a readable file, the Python commands in that file are " "executed before the first prompt is displayed in interactive mode. The file " @@ -1018,6 +994,7 @@ msgstr "" "puede cambiar las solicitudes :data:`sys.ps1` y :data:`sys.ps2` y el enlace :" "data:`sys.__interactivehook__` en este archivo." +#: ../Doc/using/cmdline.rst:558 msgid "" "Raises an :ref:`auditing event ` ``cpython.run_startup`` with " "argument ``filename``." @@ -1025,7 +1002,7 @@ msgstr "" "Lanza :ref:`auditing event ` ``cpython.run_startup`` con el " "argumento ``filename``." -#: ../Doc/using/cmdline.rst:556 +#: ../Doc/using/cmdline.rst:560 msgid "" "Raises an :ref:`auditing event ` ``cpython.run_startup`` with the " "filename as the argument when called on startup." @@ -1033,7 +1010,7 @@ msgstr "" "Lanza :ref:`auditing event ` ``cpython.run_startup`` con el nombre " "de archivo como argumento cuando se llama al inicio." -#: ../Doc/using/cmdline.rst:562 +#: ../Doc/using/cmdline.rst:566 msgid "" "If this is set to a non-empty string it is equivalent to specifying the :" "option:`-O` option. If set to an integer, it is equivalent to specifying :" @@ -1043,7 +1020,7 @@ msgstr "" "option:`-O`. Si se establece en un entero, es equivalente a especificar :" "option:`-O` varias veces." -#: ../Doc/using/cmdline.rst:569 +#: ../Doc/using/cmdline.rst:573 msgid "" "If this is set, it names a callable using dotted-path notation. The module " "containing the callable will be imported and then the callable will be run " @@ -1062,7 +1039,7 @@ msgstr "" "la cadena \"0\" hace que la implementación predeterminada de :func:`sys." "breakpointhook` no haga nada más que retornar inmediatamente." -#: ../Doc/using/cmdline.rst:581 +#: ../Doc/using/cmdline.rst:585 msgid "" "If this is set to a non-empty string it is equivalent to specifying the :" "option:`-d` option. If set to an integer, it is equivalent to specifying :" @@ -1072,7 +1049,19 @@ msgstr "" "option:`-d`. Si se establece en un entero, equivale a especificar :option:`-" "d` varias veces." -#: ../Doc/using/cmdline.rst:588 +#: ../Doc/using/cmdline.rst:592 +#, fuzzy +msgid "" +"If this is set to a non-empty string, enable the traditional LL(1) parser." +msgstr "" +"Si se establece en una cadena no vacía, equivale a especificar la opción :" +"option:`-u`." + +#: ../Doc/using/cmdline.rst:594 +msgid "See also the :option:`-X` ``oldparser`` option and :pep:`617`." +msgstr "" + +#: ../Doc/using/cmdline.rst:601 msgid "" "If this is set to a non-empty string it is equivalent to specifying the :" "option:`-i` option." @@ -1080,7 +1069,7 @@ msgstr "" "Si se establece en una cadena no vacía, equivale a especificar la opción :" "option:`-i`." -#: ../Doc/using/cmdline.rst:591 +#: ../Doc/using/cmdline.rst:604 msgid "" "This variable can also be modified by Python code using :data:`os.environ` " "to force inspect mode on program termination." @@ -1089,7 +1078,7 @@ msgstr "" "data:`os.environ` para forzar el modo de inspección en la terminación del " "programa." -#: ../Doc/using/cmdline.rst:597 +#: ../Doc/using/cmdline.rst:610 msgid "" "If this is set to a non-empty string it is equivalent to specifying the :" "option:`-u` option." @@ -1097,7 +1086,7 @@ msgstr "" "Si se establece en una cadena no vacía, equivale a especificar la opción :" "option:`-u`." -#: ../Doc/using/cmdline.rst:603 +#: ../Doc/using/cmdline.rst:616 msgid "" "If this is set to a non-empty string it is equivalent to specifying the :" "option:`-v` option. If set to an integer, it is equivalent to specifying :" @@ -1107,7 +1096,7 @@ msgstr "" "option:`-v`. Si se establece en un entero, equivale a especificar :option:`-" "v` varias veces." -#: ../Doc/using/cmdline.rst:610 +#: ../Doc/using/cmdline.rst:623 msgid "" "If this is set, Python ignores case in :keyword:`import` statements. This " "only works on Windows and OS X." @@ -1115,7 +1104,7 @@ msgstr "" "Si se establece, Python omite mayúsculas y minúsculas en las instrucciones :" "keyword:`import`. Esto sólo funciona en Windows y OS X." -#: ../Doc/using/cmdline.rst:616 +#: ../Doc/using/cmdline.rst:629 msgid "" "If this is set to a non-empty string, Python won't try to write ``.pyc`` " "files on the import of source modules. This is equivalent to specifying " @@ -1125,7 +1114,7 @@ msgstr "" "archivos ``.pyc`` en la importación de módulos de origen. Esto equivale a " "especificar la opción :option:`-B`." -#: ../Doc/using/cmdline.rst:623 +#: ../Doc/using/cmdline.rst:636 msgid "" "If this is set, Python will write ``.pyc`` files in a mirror directory tree " "at this path, instead of in ``__pycache__`` directories within the source " @@ -1137,7 +1126,7 @@ msgstr "" "``__pycache__`` dentro del árbol de origen. Esto equivale a especificar la " "opción :option:`-X` ``pycache_prefix=PATH``." -#: ../Doc/using/cmdline.rst:633 +#: ../Doc/using/cmdline.rst:646 msgid "" "If this variable is not set or set to ``random``, a random value is used to " "seed the hashes of str and bytes objects." @@ -1145,7 +1134,7 @@ msgstr "" "Si esta variable no se establece o se establece en ``random``, se utiliza un " "valor aleatorio para sembrar los hashes de los objetos str y bytes." -#: ../Doc/using/cmdline.rst:636 +#: ../Doc/using/cmdline.rst:649 msgid "" "If :envvar:`PYTHONHASHSEED` is set to an integer value, it is used as a " "fixed seed for generating the hash() of the types covered by the hash " @@ -1155,7 +1144,7 @@ msgstr "" "una semilla fija para generar el hash() de los tipos cubiertos por la " "aleatorización hash." -#: ../Doc/using/cmdline.rst:640 +#: ../Doc/using/cmdline.rst:653 msgid "" "Its purpose is to allow repeatable hashing, such as for selftests for the " "interpreter itself, or to allow a cluster of python processes to share hash " @@ -1165,7 +1154,7 @@ msgstr "" "para el propio intérprete, o permitir que un grupo de procesos python " "comparta valores hash." -#: ../Doc/using/cmdline.rst:644 +#: ../Doc/using/cmdline.rst:657 msgid "" "The integer must be a decimal number in the range [0,4294967295]. " "Specifying the value 0 will disable hash randomization." @@ -1173,7 +1162,7 @@ msgstr "" "El entero debe ser un número decimal en el intervalo [0,4294967295]. " "Especificar el valor 0 deshabilitará la aleatorización de hash." -#: ../Doc/using/cmdline.rst:652 +#: ../Doc/using/cmdline.rst:665 msgid "" "If this is set before running the interpreter, it overrides the encoding " "used for stdin/stdout/stderr, in the syntax ``encodingname:errorhandler``. " @@ -1185,7 +1174,7 @@ msgstr "" "errorhandler``. Tanto las partes ``encodingname`` como ``:errorhandler`` " "son opcionales y tienen el mismo significado que en :func:`str.encode`." -#: ../Doc/using/cmdline.rst:657 +#: ../Doc/using/cmdline.rst:670 msgid "" "For stderr, the ``:errorhandler`` part is ignored; the handler will always " "be ``'backslashreplace'``." @@ -1193,11 +1182,11 @@ msgstr "" "Para stderr, se omite la parte ``:errorhandler``; el manejador siempre será " "``'backslashreplace'``." -#: ../Doc/using/cmdline.rst:660 +#: ../Doc/using/cmdline.rst:673 msgid "The ``encodingname`` part is now optional." msgstr "La parte ``encodingname`` ahora es opcional." -#: ../Doc/using/cmdline.rst:663 +#: ../Doc/using/cmdline.rst:676 msgid "" "On Windows, the encoding specified by this variable is ignored for " "interactive console buffers unless :envvar:`PYTHONLEGACYWINDOWSSTDIO` is " @@ -1209,7 +1198,7 @@ msgstr "" "`PYTHONLEGACYWINDOWSSTDIO`. Los archivos y canalizaciones redirigidos a " "través de las corrientes estándar no se ven afectados." -#: ../Doc/using/cmdline.rst:670 +#: ../Doc/using/cmdline.rst:683 msgid "" "If this is set, Python won't add the :data:`user site-packages directory " "` to :data:`sys.path`." @@ -1217,7 +1206,7 @@ msgstr "" "Si se establece, Python no agregará :data:`user site-packages directory " "` a :data:`sys.path`." -#: ../Doc/using/cmdline.rst:680 +#: ../Doc/using/cmdline.rst:693 msgid "" "Defines the :data:`user base directory `, which is used to " "compute the path of the :data:`user site-packages directory ` y :ref:`Distutils installation paths ` " "para ``python setup.py install --user``." -#: ../Doc/using/cmdline.rst:692 +#: ../Doc/using/cmdline.rst:705 msgid "" "If this environment variable is set, ``sys.argv[0]`` will be set to its " "value instead of the value got through the C runtime. Only works on Mac OS " @@ -1239,7 +1228,7 @@ msgstr "" "su valor en lugar del valor conseguido a través del tiempo de ejecución de " "C. Sólo funciona en Mac OS X." -#: ../Doc/using/cmdline.rst:698 +#: ../Doc/using/cmdline.rst:711 msgid "" "This is equivalent to the :option:`-W` option. If set to a comma separated " "string, it is equivalent to specifying :option:`-W` multiple times, with " @@ -1250,7 +1239,7 @@ msgstr "" "con filtros más adelante en la lista que tienen prioridad sobre los " "anteriores de la lista." -#: ../Doc/using/cmdline.rst:720 +#: ../Doc/using/cmdline.rst:733 msgid "" "If this environment variable is set to a non-empty string, :func:" "`faulthandler.enable` is called at startup: install a handler for :const:" @@ -1264,7 +1253,7 @@ msgstr "" "`SIGILL` para volcar el seguimiento de Python. Esto es equivalente a la " "opción :option:`-X` ``faulthandler``." -#: ../Doc/using/cmdline.rst:731 +#: ../Doc/using/cmdline.rst:744 msgid "" "If this environment variable is set to a non-empty string, start tracing " "Python memory allocations using the :mod:`tracemalloc` module. The value of " @@ -1279,7 +1268,7 @@ msgstr "" "``PYTHONTRACEMALLOC=1`` almacena sólo el marco más reciente. Consulte el :" "func:`tracemalloc.start` para obtener más información." -#: ../Doc/using/cmdline.rst:742 +#: ../Doc/using/cmdline.rst:755 msgid "" "If this environment variable is set to a non-empty string, Python will show " "how long each import takes. This is exactly equivalent to setting ``-X " @@ -1289,7 +1278,7 @@ msgstr "" "mostrará cuánto tiempo tarda cada importación. Esto equivale exactamente a " "establecer ``-X importtime`` en la línea de comandos." -#: ../Doc/using/cmdline.rst:751 +#: ../Doc/using/cmdline.rst:764 msgid "" "If this environment variable is set to a non-empty string, enable the :ref:" "`debug mode ` of the :mod:`asyncio` module." @@ -1297,17 +1286,17 @@ msgstr "" "Si esta variable de entorno se establece en una cadena no vacía, habilite el " "modo :ref:`debug mode ` del módulo :mod:`asyncio`." -#: ../Doc/using/cmdline.rst:759 +#: ../Doc/using/cmdline.rst:772 msgid "Set the Python memory allocators and/or install debug hooks." msgstr "" "Establezca los asignadores de memoria de Python y/o instale enlaces de " "depuración." -#: ../Doc/using/cmdline.rst:761 +#: ../Doc/using/cmdline.rst:774 msgid "Set the family of memory allocators used by Python:" msgstr "Establezca la familia de asignadores de memoria utilizados por Python:" -#: ../Doc/using/cmdline.rst:763 +#: ../Doc/using/cmdline.rst:776 msgid "" "``default``: use the :ref:`default memory allocators `." @@ -1315,7 +1304,7 @@ msgstr "" "``default``: utilice :ref:`default memory allocators `." -#: ../Doc/using/cmdline.rst:765 +#: ../Doc/using/cmdline.rst:778 msgid "" "``malloc``: use the :c:func:`malloc` function of the C library for all " "domains (:c:data:`PYMEM_DOMAIN_RAW`, :c:data:`PYMEM_DOMAIN_MEM`, :c:data:" @@ -1325,7 +1314,7 @@ msgstr "" "todos los dominios (:c:data:`PYMEM_DOMAIN_RAW`, :c:data:`PYMEM_DOMAIN_MEM`, :" "c:data:`PYMEM_DOMAIN_OBJ`)." -#: ../Doc/using/cmdline.rst:768 +#: ../Doc/using/cmdline.rst:781 msgid "" "``pymalloc``: use the :ref:`pymalloc allocator ` for :c:data:" "`PYMEM_DOMAIN_MEM` and :c:data:`PYMEM_DOMAIN_OBJ` domains and use the :c:" @@ -1335,11 +1324,11 @@ msgstr "" "para :c:data:`PYMEM_DOMAIN_MEM` y :c:data:`PYMEM_DOMAIN_OBJ` y utilice la " "función :c:func:`malloc` para el dominio :c:data:`PYMEM_DOMAIN_RAW`." -#: ../Doc/using/cmdline.rst:772 +#: ../Doc/using/cmdline.rst:785 msgid "Install debug hooks:" msgstr "Instale los ganchos del debug:" -#: ../Doc/using/cmdline.rst:774 +#: ../Doc/using/cmdline.rst:787 msgid "" "``debug``: install debug hooks on top of the :ref:`default memory allocators " "`." @@ -1347,19 +1336,19 @@ msgstr "" "``debug``: instale los enlaces de depuración encima de :ref:`default memory " "allocators `." -#: ../Doc/using/cmdline.rst:776 +#: ../Doc/using/cmdline.rst:789 msgid "``malloc_debug``: same as ``malloc`` but also install debug hooks." msgstr "" "``malloc_debug``: igual que ``malloc`` pero también instalar ganchos de " "depuración." -#: ../Doc/using/cmdline.rst:777 +#: ../Doc/using/cmdline.rst:790 msgid "``pymalloc_debug``: same as ``pymalloc`` but also install debug hooks." msgstr "" "``pymalloc_debug``: igual que ``pymalloc`` pero también instalar enlaces de " "depuración." -#: ../Doc/using/cmdline.rst:779 +#: ../Doc/using/cmdline.rst:792 msgid "" "See the :ref:`default memory allocators ` and " "the :c:func:`PyMem_SetupDebugHooks` function (install debug hooks on Python " @@ -1369,11 +1358,11 @@ msgstr "" "función :c:func:`PyMem_SetupDebugHooks` (instalar enlaces de depuración en " "los asignadores de memoria de Python)." -#: ../Doc/using/cmdline.rst:783 +#: ../Doc/using/cmdline.rst:796 msgid "Added the ``\"default\"`` allocator." msgstr "Se ha añadido el asignador ``\"predeterminado\"``." -#: ../Doc/using/cmdline.rst:791 +#: ../Doc/using/cmdline.rst:804 msgid "" "If set to a non-empty string, Python will print statistics of the :ref:" "`pymalloc memory allocator ` every time a new pymalloc object " @@ -1383,7 +1372,7 @@ msgstr "" "ref:`pymalloc memory allocator ` cada vez que se crea una nueva " "arena de objetos pymalloc y al apagarse." -#: ../Doc/using/cmdline.rst:795 +#: ../Doc/using/cmdline.rst:808 msgid "" "This variable is ignored if the :envvar:`PYTHONMALLOC` environment variable " "is used to force the :c:func:`malloc` allocator of the C library, or if " @@ -1393,7 +1382,7 @@ msgstr "" "utiliza para forzar el asignador :c:func:`malloc` de la biblioteca C, o si " "Python está configurado sin compatibilidad con ``pymalloc``." -#: ../Doc/using/cmdline.rst:799 +#: ../Doc/using/cmdline.rst:812 msgid "" "This variable can now also be used on Python compiled in release mode. It " "now has no effect if set to an empty string." @@ -1401,7 +1390,7 @@ msgstr "" "Esta variable ahora también se puede utilizar en Python compilado en modo de " "versión. Ahora no tiene ningún efecto si se establece en una cadena vacía." -#: ../Doc/using/cmdline.rst:806 +#: ../Doc/using/cmdline.rst:819 msgid "" "If set to a non-empty string, the default filesystem encoding and errors " "mode will revert to their pre-3.6 values of 'mbcs' and 'replace', " @@ -1413,7 +1402,7 @@ msgstr "" "`mbcs` y `replace`, respectivamente. De lo contrario, se utilizan los nuevos " "valores predeterminados `utf-8` y `surrogatepass`." -#: ../Doc/using/cmdline.rst:810 +#: ../Doc/using/cmdline.rst:823 msgid "" "This may also be enabled at runtime with :func:`sys." "_enablelegacywindowsfsencoding()`." @@ -1421,15 +1410,15 @@ msgstr "" "Esto también se puede habilitar en tiempo de ejecución con :func:`sys." "_enablelegacywindowsfsencoding()`." -#: ../Doc/using/cmdline.rst:814 ../Doc/using/cmdline.rst:828 +#: ../Doc/using/cmdline.rst:827 ../Doc/using/cmdline.rst:841 msgid ":ref:`Availability `: Windows." msgstr ":ref:`Availability `: Windows." -#: ../Doc/using/cmdline.rst:815 +#: ../Doc/using/cmdline.rst:828 msgid "See :pep:`529` for more details." msgstr "Consulte :pep:`529` para obtener más detalles." -#: ../Doc/using/cmdline.rst:820 +#: ../Doc/using/cmdline.rst:833 msgid "" "If set to a non-empty string, does not use the new console reader and " "writer. This means that Unicode characters will be encoded according to the " @@ -1440,7 +1429,7 @@ msgstr "" "codificarán de acuerdo con la página de códigos de la consola activa, en " "lugar de usar utf-8." -#: ../Doc/using/cmdline.rst:824 +#: ../Doc/using/cmdline.rst:837 msgid "" "This variable is ignored if the standard streams are redirected (to files or " "pipes) rather than referring to console buffers." @@ -1448,7 +1437,7 @@ msgstr "" "Esta variable se omite si se redirigen las secuencias estándar (a archivos o " "canalizaciones) en lugar de hacer referencia a búferes de consola." -#: ../Doc/using/cmdline.rst:834 +#: ../Doc/using/cmdline.rst:847 msgid "" "If set to the value ``0``, causes the main Python command line application " "to skip coercing the legacy ASCII-based C and POSIX locales to a more " @@ -1459,7 +1448,7 @@ msgstr "" "y POSIX basadas en ASCII heredadas a una alternativa basada en UTF-8 más " "capaz." -#: ../Doc/using/cmdline.rst:838 +#: ../Doc/using/cmdline.rst:851 msgid "" "If this variable is *not* set (or is set to a value other than ``0``), the " "``LC_ALL`` locale override environment variable is also not set, and the " @@ -1478,19 +1467,19 @@ msgstr "" "para la categoría ``LC_CTYPE`` en el orden indicado antes de cargar el " "tiempo de ejecución del intérprete:" -#: ../Doc/using/cmdline.rst:846 +#: ../Doc/using/cmdline.rst:859 msgid "``C.UTF-8``" msgstr "``C.UTF-8``" -#: ../Doc/using/cmdline.rst:847 +#: ../Doc/using/cmdline.rst:860 msgid "``C.utf8``" msgstr "``C.utf8``" -#: ../Doc/using/cmdline.rst:848 +#: ../Doc/using/cmdline.rst:861 msgid "``UTF-8``" msgstr "``UTF-8``" -#: ../Doc/using/cmdline.rst:850 +#: ../Doc/using/cmdline.rst:863 msgid "" "If setting one of these locale categories succeeds, then the ``LC_CTYPE`` " "environment variable will also be set accordingly in the current process " @@ -1514,7 +1503,7 @@ msgstr "" "consultan el entorno en lugar de la configuración regional de C actual (como " "la propia de Python :func:`locale.getdefaultlocale`)." -#: ../Doc/using/cmdline.rst:860 +#: ../Doc/using/cmdline.rst:873 msgid "" "Configuring one of these locales (either explicitly or via the above " "implicit locale coercion) automatically enables the ``surrogateescape`` :ref:" @@ -1532,7 +1521,7 @@ msgstr "" "secuencias se puede invalidar mediante :envvar:`PYTHONIOENCODING` como de " "costumbre." -#: ../Doc/using/cmdline.rst:867 +#: ../Doc/using/cmdline.rst:880 msgid "" "For debugging purposes, setting ``PYTHONCOERCECLOCALE=warn`` will cause " "Python to emit warning messages on ``stderr`` if either the locale coercion " @@ -1545,13 +1534,14 @@ msgstr "" "activado la coerción sigue activa cuando se inicializa el tiempo de " "ejecución de Python." -#: ../Doc/using/cmdline.rst:872 +#: ../Doc/using/cmdline.rst:885 +#, fuzzy msgid "" "Also note that even when locale coercion is disabled, or when it fails to " "find a suitable target locale, :envvar:`PYTHONUTF8` will still activate by " "default in legacy ASCII-based locales. Both features must be disabled in " -"order to force the interpreter fotogramato use ``ASCII`` instead of " -"``UTF-8`` for system interfaces." +"order to force the interpreter to use ``ASCII`` instead of ``UTF-8`` for " +"system interfaces." msgstr "" "Tenga en cuenta también que incluso cuando la coerción de configuración " "local está deshabilitada, o cuando no encuentra una configuración local de " @@ -1560,23 +1550,25 @@ msgstr "" "Ambas características deben ser inhabilitadas para forzar al intérprete a " "utilizar ``ASCII`` en lugar de ``UTF-8`` para las interfaces del sistema." -#: ../Doc/using/cmdline.rst:879 +#: ../Doc/using/cmdline.rst:892 msgid ":ref:`Availability `: \\*nix." msgstr ":ref:`Availability `: \\*nix." -#: ../Doc/using/cmdline.rst:880 +#: ../Doc/using/cmdline.rst:893 msgid "See :pep:`538` for more details." msgstr "Consulte :pep:`538` para obtener más detalles." -#: ../Doc/using/cmdline.rst:886 +#: ../Doc/using/cmdline.rst:899 +#, fuzzy msgid "" -"If this environment variable is set to a non-empty string, enable the " -"CPython \"development mode\". See the :option:`-X` ``dev`` option." +"If this environment variable is set to a non-empty string, enable :ref:" +"`Python Development Mode `, introducing additional runtime checks " +"that are too expensive to be enabled by default." msgstr "" "Si esta variable de entorno se establece en una cadena no vacía, habilite el " "\"modo de desarrollo\" de CPython. Consulte la opción :option:`-X` ``dev``." -#: ../Doc/using/cmdline.rst:893 +#: ../Doc/using/cmdline.rst:907 msgid "" "If set to ``1``, enables the interpreter's UTF-8 mode, where ``UTF-8`` is " "used as the text encoding for system interfaces, regardless of the current " @@ -1586,11 +1578,11 @@ msgstr "" "``UTF-8`` se utiliza como codificación de texto para las interfaces del " "sistema, independientemente de la configuración regional actual." -#: ../Doc/using/cmdline.rst:897 +#: ../Doc/using/cmdline.rst:911 msgid "This means that:" msgstr "Esto significa que:" -#: ../Doc/using/cmdline.rst:899 +#: ../Doc/using/cmdline.rst:913 msgid "" ":func:`sys.getfilesystemencoding()` returns ``'UTF-8'`` (the locale encoding " "is ignored)." @@ -1598,7 +1590,7 @@ msgstr "" ":func:`sys.getfilesystemencoding()` devuelve ``'UTF-8'`` (se omite la " "codificación de configuración local)." -#: ../Doc/using/cmdline.rst:901 +#: ../Doc/using/cmdline.rst:915 msgid "" ":func:`locale.getpreferredencoding()` returns ``'UTF-8'`` (the locale " "encoding is ignored, and the function's ``do_setlocale`` parameter has no " @@ -1608,7 +1600,7 @@ msgstr "" "codificación de configuración regional y el parámetro ``do_setlocale`` de la " "función no tiene ningún efecto)." -#: ../Doc/using/cmdline.rst:904 +#: ../Doc/using/cmdline.rst:918 msgid "" ":data:`sys.stdin`, :data:`sys.stdout`, and :data:`sys.stderr` all use UTF-8 " "as their text encoding, with the ``surrogateescape`` :ref:`error handler " @@ -1622,7 +1614,7 @@ msgstr "" "`sys.stdout` (:data:`sys.stderr` continúa utilizando ``backslashreplace`` " "como lo hace en el modo predeterminado de configuración local)" -#: ../Doc/using/cmdline.rst:910 +#: ../Doc/using/cmdline.rst:924 msgid "" "As a consequence of the changes in those lower level APIs, other higher " "level APIs also exhibit different default behaviours:" @@ -1630,7 +1622,7 @@ msgstr "" "Como consecuencia de los cambios en esas API de nivel inferior, otras API de " "nivel superior también presentan diferentes comportamientos predeterminados:" -#: ../Doc/using/cmdline.rst:913 +#: ../Doc/using/cmdline.rst:927 msgid "" "Command line arguments, environment variables and filenames are decoded to " "text using the UTF-8 encoding." @@ -1638,12 +1630,12 @@ msgstr "" "Los argumentos de línea de comandos, las variables de entorno y los nombres " "de archivo se descodifican en texto mediante la codificación UTF-8." -#: ../Doc/using/cmdline.rst:915 +#: ../Doc/using/cmdline.rst:929 msgid ":func:`os.fsdecode()` and :func:`os.fsencode()` use the UTF-8 encoding." msgstr "" ":func:`os.fsdecode()` y :func:`os.fsencode()` utilizan la codificación UTF-8." -#: ../Doc/using/cmdline.rst:916 +#: ../Doc/using/cmdline.rst:930 msgid "" ":func:`open()`, :func:`io.open()`, and :func:`codecs.open()` use the UTF-8 " "encoding by default. However, they still use the strict error handler by " @@ -1656,7 +1648,7 @@ msgstr "" "abrir un archivo binario en modo de texto sea probable que genere una " "excepción en lugar de producir datos sin sentido." -#: ../Doc/using/cmdline.rst:921 +#: ../Doc/using/cmdline.rst:935 msgid "" "Note that the standard stream settings in UTF-8 mode can be overridden by :" "envvar:`PYTHONIOENCODING` (just as they can be in the default locale-aware " @@ -1666,13 +1658,13 @@ msgstr "" "puede invalidar por :envvar:`PYTHONIOENCODING` (igual que pueden estar en el " "modo predeterminado de configuración local)." -#: ../Doc/using/cmdline.rst:925 +#: ../Doc/using/cmdline.rst:939 msgid "If set to ``0``, the interpreter runs in its default locale-aware mode." msgstr "" "Si se establece en ``0``, el intérprete se ejecuta en su modo predeterminado " "compatible con la configuración local." -#: ../Doc/using/cmdline.rst:927 +#: ../Doc/using/cmdline.rst:941 msgid "" "Setting any other non-empty string causes an error during interpreter " "initialisation." @@ -1680,7 +1672,7 @@ msgstr "" "Establecer cualquier otra cadena no vacía produce un error durante la " "inicialización del intérprete." -#: ../Doc/using/cmdline.rst:930 +#: ../Doc/using/cmdline.rst:944 msgid "" "If this environment variable is not set at all, then the interpreter " "defaults to using the current locale settings, *unless* the current locale " @@ -1698,35 +1690,35 @@ msgstr "" "heredadas, el intérprete habilitará de forma predeterminada el modo UTF-8 a " "menos que se indique explícitamente que no lo haga." -#: ../Doc/using/cmdline.rst:937 +#: ../Doc/using/cmdline.rst:951 msgid "Also available as the :option:`-X` ``utf8`` option." msgstr "También disponible como la opción :option:`-X` ``utf8``." -#: ../Doc/using/cmdline.rst:939 +#: ../Doc/using/cmdline.rst:953 msgid "See :pep:`540` for more details." msgstr "Consulte :pep:`540` para obtener más detalles." -#: ../Doc/using/cmdline.rst:944 +#: ../Doc/using/cmdline.rst:958 msgid "Debug-mode variables" msgstr "Variables de modo de depuración" -#: ../Doc/using/cmdline.rst:946 +#: ../Doc/using/cmdline.rst:960 msgid "Setting these variables only has an effect in a debug build of Python." msgstr "" "Establecer estas variables solo tiene un efecto en una compilación de " "depuración de Python." -#: ../Doc/using/cmdline.rst:950 +#: ../Doc/using/cmdline.rst:964 msgid "If set, Python will print threading debug info." msgstr "" "Si se establece, Python imprimirá información de depuración de subprocesos." -#: ../Doc/using/cmdline.rst:952 +#: ../Doc/using/cmdline.rst:966 msgid "Need Python configured with the ``--with-pydebug`` build option." msgstr "" "Necesita configurar Python con la opción de compilación ``--with-pydebug``." -#: ../Doc/using/cmdline.rst:957 +#: ../Doc/using/cmdline.rst:971 msgid "" "If set, Python will dump objects and reference counts still alive after " "shutting down the interpreter." @@ -1734,8 +1726,63 @@ msgstr "" "Si se establece, Python volcará objetos y recuentos de referencias aún vivos " "después de apagar el intérprete." -#: ../Doc/using/cmdline.rst:960 +#: ../Doc/using/cmdline.rst:974 msgid "Need Python configured with the ``--with-trace-refs`` build option." msgstr "" "Necesita Python configurado con la opción de compilación ``--with-trace-" "refs``." + +#~ msgid "" +#~ "``-X showalloccount`` to output the total count of allocated objects for " +#~ "each type when the program finishes. This only works when Python was " +#~ "built with ``COUNT_ALLOCS`` defined." +#~ msgstr "" +#~ "``-X showalloccount`` para generar el recuento total de objetos asignados " +#~ "para cada tipo cuando finalice el programa. Esto sólo funciona cuando " +#~ "Python se creó con ``COUNT_ALLOCS`` definido." + +#~ msgid "" +#~ "``-X dev``: enable CPython's \"development mode\", introducing additional " +#~ "runtime checks which are too expensive to be enabled by default. It " +#~ "should not be more verbose than the default if the code is correct: new " +#~ "warnings are only emitted when an issue is detected. Effect of the " +#~ "developer mode:" +#~ msgstr "" +#~ "``-X dev``: habilite el \"modo de desarrollo\" de CPython, introduciendo " +#~ "comprobaciones de tiempo de ejecución adicionales que son demasiado " +#~ "costosas para habilitarse de forma predeterminada. No debe ser más " +#~ "detallado que el valor predeterminado si el código es correcto: las " +#~ "nuevas advertencias solo se emiten cuando se detecta un problema. Efecto " +#~ "del modo de desarrollador:" + +#~ msgid "Add ``default`` warning filter, as :option:`-W` ``default``." +#~ msgstr "" +#~ "Agregue el filtro de advertencia ``default``, como :option:`-W` " +#~ "``default``." + +#~ msgid "" +#~ "Install debug hooks on memory allocators: see the :c:func:" +#~ "`PyMem_SetupDebugHooks` C function." +#~ msgstr "" +#~ "Instale los enlaces de depuración en los asignadores de memoria: vea la " +#~ "función :c:func:`PyMem_SetupDebugHooks` C." + +#~ msgid "" +#~ "Enable the :mod:`faulthandler` module to dump the Python traceback on a " +#~ "crash." +#~ msgstr "" +#~ "Habilite el módulo :mod:`faulthandler` para volcar el rastreo de Python " +#~ "en un bloqueo." + +#~ msgid "Enable :ref:`asyncio debug mode `." +#~ msgstr "Habilite :ref:`asyncio debug mode `." + +#~ msgid "" +#~ "Set the :attr:`~sys.flags.dev_mode` attribute of :attr:`sys.flags` to " +#~ "``True``." +#~ msgstr "" +#~ "Establezca el atributo :attr:`sys.flags.dev_mode` de :attr:`sys.flags` en " +#~ "``True``." + +#~ msgid ":class:`io.IOBase` destructor logs ``close()`` exceptions." +#~ msgstr ":class:`io.IOBase` destructor registra las excepciones ``close()``." diff --git a/using/mac.po b/using/mac.po index a8d25731f2..6055d1dea5 100644 --- a/using/mac.po +++ b/using/mac.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-07-07 08:51-0500\n" +"Last-Translator: Juan Alegría \n" +"Language: es_CO\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Juan Alegría \n" -"Language: es_CO\n" -"X-Generator: Poedit 2.3.1\n" #: ../Doc/using/mac.rst:6 msgid "Using Python on a Macintosh" @@ -69,20 +68,13 @@ msgstr "Lo que obtienes después de instalar es una serie de cosas:" #: ../Doc/using/mac.rst:28 msgid "" -"A :file:`Python 3.8` folder in your :file:`Applications` folder. In here you " +"A :file:`Python 3.9` folder in your :file:`Applications` folder. In here you " "find IDLE, the development environment that is a standard part of official " -"Python distributions; PythonLauncher, which handles double-clicking Python " -"scripts from the Finder; and the \"Build Applet\" tool, which allows you to " -"package Python scripts as standalone applications on your system." +"Python distributions; and PythonLauncher, which handles double-clicking " +"Python scripts from the Finder." msgstr "" -"Una carpeta :file:`Python 3.8` en su carpeta :file:`Aplicaciones`. Aquí " -"encontrará IDLE, el entorno de desarrollo que es una parte estándar de las " -"distribuciones oficiales de Python; PythonLauncher, el cual maneja hacer " -"doble clic en los scripts de Python desde el Finder; y la herramienta “Build " -"Applet”, que le permite empaquetar scripts de Python como aplicaciones " -"independientes en su sistema." - -#: ../Doc/using/mac.rst:34 + +#: ../Doc/using/mac.rst:33 msgid "" "A framework :file:`/Library/Frameworks/Python.framework`, which includes the " "Python executable and libraries. The installer adds this location to your " @@ -95,7 +87,7 @@ msgstr "" "remover estas tres cosas. Un enlace simbólico al ejecutable de Python es " "colocado en /usr/local/bin/." -#: ../Doc/using/mac.rst:39 +#: ../Doc/using/mac.rst:38 msgid "" "The Apple-provided build of Python is installed in :file:`/System/Library/" "Frameworks/Python.framework` and :file:`/usr/bin/python`, respectively. You " @@ -114,7 +106,7 @@ msgstr "" "en su computadora, por lo que será importante que sus rutas y usos sean " "consistentes con lo que desea hacer." -#: ../Doc/using/mac.rst:47 +#: ../Doc/using/mac.rst:46 msgid "" "IDLE includes a help menu that allows you to access Python documentation. If " "you are completely new to Python you should start reading the tutorial " @@ -124,7 +116,7 @@ msgstr "" "Python. Si es completamente nuevo en Python, debe comenzar a leer la " "introducción del tutorial en ese documento." -#: ../Doc/using/mac.rst:51 +#: ../Doc/using/mac.rst:50 msgid "" "If you are familiar with Python on other Unix platforms you should read the " "section on running Python scripts from the Unix shell." @@ -132,11 +124,11 @@ msgstr "" "Si está familiarizado con Python en otras plataformas Unix, debe leer la " "sección sobre cómo ejecutar scripts Python desde el *shell* de Unix." -#: ../Doc/using/mac.rst:56 +#: ../Doc/using/mac.rst:55 msgid "How to run a Python script" msgstr "Cómo ejecutar un *script* de Python" -#: ../Doc/using/mac.rst:58 +#: ../Doc/using/mac.rst:57 msgid "" "Your best way to get started with Python on Mac OS X is through the IDLE " "integrated development environment, see section :ref:`ide` and use the Help " @@ -146,7 +138,7 @@ msgstr "" "entorno de desarrollo integrado IDLE, consulte la sección :ref:`ide` y use " "el menú Ayuda cuando se ejecute el IDE." -#: ../Doc/using/mac.rst:62 +#: ../Doc/using/mac.rst:61 msgid "" "If you want to run Python scripts from the Terminal window command line or " "from the Finder you first need an editor to create your script. Mac OS X " @@ -168,7 +160,7 @@ msgstr "" "macromates.com/). Otros editores incluyen :program:`Gvim` (http://macvim-dev." "github.io/macvim/) y :program:`Aquamacs` (http://aquamacs.org/)." -#: ../Doc/using/mac.rst:72 +#: ../Doc/using/mac.rst:71 msgid "" "To run your script from the Terminal window you must make sure that :file:`/" "usr/local/bin` is in your shell search path." @@ -176,15 +168,15 @@ msgstr "" "Para ejecutar su *script* desde la ventana Terminal, debe asegurarse de " "que: :file:`/usr/local/bin` esté en su ruta de búsqueda de *shell*." -#: ../Doc/using/mac.rst:75 +#: ../Doc/using/mac.rst:74 msgid "To run your script from the Finder you have two options:" msgstr "Para ejecutar su *script* desde el Finder, tiene dos opciones:" -#: ../Doc/using/mac.rst:77 +#: ../Doc/using/mac.rst:76 msgid "Drag it to :program:`PythonLauncher`" msgstr "Arrástrelo a :program:`PythonLauncher`" -#: ../Doc/using/mac.rst:79 +#: ../Doc/using/mac.rst:78 msgid "" "Select :program:`PythonLauncher` as the default application to open your " "script (or any .py script) through the finder Info window and double-click " @@ -200,11 +192,11 @@ msgstr "" "invocación, o usar su menú de Preferencias para cambiar las cosas " "globalmente." -#: ../Doc/using/mac.rst:89 +#: ../Doc/using/mac.rst:88 msgid "Running scripts with a GUI" msgstr "Ejecutar scripts con una GUI" -#: ../Doc/using/mac.rst:91 +#: ../Doc/using/mac.rst:90 msgid "" "With older versions of Python, there is one Mac OS X quirk that you need to " "be aware of: programs that talk to the Aqua window manager (in other words, " @@ -217,18 +209,19 @@ msgstr "" "una manera especial. Use :program:`pythonw` en vez de :program:`python` para " "comenzar tales scripts." -#: ../Doc/using/mac.rst:96 +#: ../Doc/using/mac.rst:95 +#, fuzzy msgid "" -"With Python 3.8, you can use either :program:`python` or :program:`pythonw`." +"With Python 3.9, you can use either :program:`python` or :program:`pythonw`." msgstr "" "Con Python 3.8, usted podrá utilizar ya sea :program:`python` o :program:" "`pythonw`." -#: ../Doc/using/mac.rst:100 +#: ../Doc/using/mac.rst:99 msgid "Configuration" msgstr "Configuración" -#: ../Doc/using/mac.rst:102 +#: ../Doc/using/mac.rst:101 msgid "" "Python on OS X honors all standard Unix environment variables such as :" "envvar:`PYTHONPATH`, but setting these variables for programs started from " @@ -243,7 +236,7 @@ msgstr "" "archivo :file:`~/.MacOSX/environment.plist`. Consulte el documento técnico " "de Apple QA1067 para más detalles." -#: ../Doc/using/mac.rst:109 +#: ../Doc/using/mac.rst:108 msgid "" "For more information on installation Python packages in MacPython, see " "section :ref:`mac-package-manager`." @@ -251,11 +244,11 @@ msgstr "" "Para obtener más información sobre la instalación de paquetes de Python en " "MacPython, consulte la sección :ref:`mac-package-manager`." -#: ../Doc/using/mac.rst:116 +#: ../Doc/using/mac.rst:115 msgid "The IDE" msgstr "El IDE" -#: ../Doc/using/mac.rst:118 +#: ../Doc/using/mac.rst:117 msgid "" "MacPython ships with the standard IDLE development environment. A good " "introduction to using IDLE can be found at http://www.hashcollision.org/hkn/" @@ -265,15 +258,15 @@ msgstr "" "encontrar una buena introducción al uso de IDLE en http://www.hashcollision." "org/hkn/python/idle_intro/index.html." -#: ../Doc/using/mac.rst:126 +#: ../Doc/using/mac.rst:125 msgid "Installing Additional Python Packages" msgstr "Instalación de paquetes adicionales de Python" -#: ../Doc/using/mac.rst:128 +#: ../Doc/using/mac.rst:127 msgid "There are several methods to install additional Python packages:" msgstr "Existen varios métodos para instalar paquetes Python adicionales:" -#: ../Doc/using/mac.rst:130 +#: ../Doc/using/mac.rst:129 msgid "" "Packages can be installed via the standard Python distutils mode (``python " "setup.py install``)." @@ -281,7 +274,7 @@ msgstr "" "Los paquetes se pueden instalar a través del modo *distutils* estándar de " "Python (``python setup.py install``)." -#: ../Doc/using/mac.rst:133 +#: ../Doc/using/mac.rst:132 msgid "" "Many packages can also be installed via the :program:`setuptools` extension " "or :program:`pip` wrapper, see https://pip.pypa.io/." @@ -289,17 +282,17 @@ msgstr "" "Muchos paquetes también se pueden instalar a través de la extensión :program:" "`setuptools` o el *wrapper* :program:`pip`, consulte https://pip.pypa.io/." -#: ../Doc/using/mac.rst:138 +#: ../Doc/using/mac.rst:137 msgid "GUI Programming on the Mac" msgstr "Programación de GUI en Mac" -#: ../Doc/using/mac.rst:140 +#: ../Doc/using/mac.rst:139 msgid "" "There are several options for building GUI applications on the Mac with " "Python." msgstr "Hay varias opciones para crear aplicaciones GUI en Mac con Python." -#: ../Doc/using/mac.rst:142 +#: ../Doc/using/mac.rst:141 msgid "" "*PyObjC* is a Python binding to Apple's Objective-C/Cocoa framework, which " "is the foundation of most modern Mac development. Information on PyObjC is " @@ -309,7 +302,7 @@ msgstr "" "que es la base del desarrollo más moderno de Mac. La información sobre " "PyObjC está disponible en https://pypi.org/project/pyobjc/." -#: ../Doc/using/mac.rst:146 +#: ../Doc/using/mac.rst:145 msgid "" "The standard Python GUI toolkit is :mod:`tkinter`, based on the cross-" "platform Tk toolkit (https://www.tcl.tk). An Aqua-native version of Tk is " @@ -322,7 +315,7 @@ msgstr "" "descargada e instalada desde https://www.activestate.com; También se puede " "incorporar desde la fuente." -#: ../Doc/using/mac.rst:151 +#: ../Doc/using/mac.rst:150 msgid "" "*wxPython* is another popular cross-platform GUI toolkit that runs natively " "on Mac OS X. Packages and documentation are available from https://www." @@ -332,7 +325,7 @@ msgstr "" "ejecuta de forma nativa en Mac OS X. Los paquetes y la documentación están " "disponibles en https://www.wxpython.org." -#: ../Doc/using/mac.rst:154 +#: ../Doc/using/mac.rst:153 msgid "" "*PyQt* is another popular cross-platform GUI toolkit that runs natively on " "Mac OS X. More information can be found at https://riverbankcomputing.com/" @@ -342,24 +335,11 @@ msgstr "" "ejecuta de forma nativa en Mac OS X. Más información podrá ser encontrada en " "https://riverbankcomputing.com/software/pyqt/intro." -#: ../Doc/using/mac.rst:160 +#: ../Doc/using/mac.rst:159 msgid "Distributing Python Applications on the Mac" msgstr "Distribuyendo aplicaciones de Python en la Mac" -#: ../Doc/using/mac.rst:162 -msgid "" -"The \"Build Applet\" tool that is placed in the MacPython 3.6 folder is fine " -"for packaging small Python scripts on your own machine to run as a standard " -"Mac application. This tool, however, is not robust enough to distribute " -"Python applications to other users." -msgstr "" -"La herramienta \\”Build Applet\\” que se coloca en la carpeta MacPython 3.6 " -"está bien para empaquetar pequeños scripts de Python en su propia máquina " -"para que se ejecuten como una aplicación estándar de Mac. Sin embargo, esta " -"herramienta no es lo suficientemente robusta como para distribuir " -"aplicaciones Python a otros usuarios." - -#: ../Doc/using/mac.rst:167 +#: ../Doc/using/mac.rst:161 msgid "" "The standard tool for deploying standalone Python applications on the Mac " "is :program:`py2app`. More information on installing and using py2app can be " @@ -369,11 +349,11 @@ msgstr "" "Python en Mac es :program:`py2app`. Puede encontrar más información sobre la " "instalación y el uso de py2app en http://undefined.org/python/#py2app." -#: ../Doc/using/mac.rst:173 +#: ../Doc/using/mac.rst:167 msgid "Other Resources" msgstr "Otros recursos" -#: ../Doc/using/mac.rst:175 +#: ../Doc/using/mac.rst:169 msgid "" "The MacPython mailing list is an excellent support resource for Python users " "and developers on the Mac:" @@ -381,14 +361,41 @@ msgstr "" "La lista de correo de MacPython es un excelente recurso de soporte para " "usuarios y desarrolladores de Python en Mac:" -#: ../Doc/using/mac.rst:178 +#: ../Doc/using/mac.rst:172 msgid "https://www.python.org/community/sigs/current/pythonmac-sig/" msgstr "https://www.python.org/community/sigs/current/pythonmac-sig/" -#: ../Doc/using/mac.rst:180 +#: ../Doc/using/mac.rst:174 msgid "Another useful resource is the MacPython wiki:" msgstr "Otro recurso útil es el wiki de MacPython:" -#: ../Doc/using/mac.rst:182 +#: ../Doc/using/mac.rst:176 msgid "https://wiki.python.org/moin/MacPython" msgstr "https://wiki.python.org/moin/MacPython" + +#~ msgid "" +#~ "A :file:`Python 3.8` folder in your :file:`Applications` folder. In here " +#~ "you find IDLE, the development environment that is a standard part of " +#~ "official Python distributions; PythonLauncher, which handles double-" +#~ "clicking Python scripts from the Finder; and the \"Build Applet\" tool, " +#~ "which allows you to package Python scripts as standalone applications on " +#~ "your system." +#~ msgstr "" +#~ "Una carpeta :file:`Python 3.8` en su carpeta :file:`Aplicaciones`. Aquí " +#~ "encontrará IDLE, el entorno de desarrollo que es una parte estándar de " +#~ "las distribuciones oficiales de Python; PythonLauncher, el cual maneja " +#~ "hacer doble clic en los scripts de Python desde el Finder; y la " +#~ "herramienta “Build Applet”, que le permite empaquetar scripts de Python " +#~ "como aplicaciones independientes en su sistema." + +#~ msgid "" +#~ "The \"Build Applet\" tool that is placed in the MacPython 3.6 folder is " +#~ "fine for packaging small Python scripts on your own machine to run as a " +#~ "standard Mac application. This tool, however, is not robust enough to " +#~ "distribute Python applications to other users." +#~ msgstr "" +#~ "La herramienta \\”Build Applet\\” que se coloca en la carpeta MacPython " +#~ "3.6 está bien para empaquetar pequeños scripts de Python en su propia " +#~ "máquina para que se ejecuten como una aplicación estándar de Mac. Sin " +#~ "embargo, esta herramienta no es lo suficientemente robusta como para " +#~ "distribuir aplicaciones Python a otros usuarios." diff --git a/using/windows.po b/using/windows.po index 005c02c1b8..0e40ea4fcc 100644 --- a/using/windows.po +++ b/using/windows.po @@ -10,17 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2021-02-27 14:06-0300\n" +"Last-Translator: Federico Zuccolo \n" +"Language: es\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Federico Zuccolo \n" -"Language: es\n" -"X-Generator: Poedit 2.4.2\n" #: ../Doc/using/windows.rst:7 msgid "Using Python on Windows" @@ -60,14 +59,9 @@ msgstr "" msgid "" "As specified in :pep:`11`, a Python release only supports a Windows platform " "while Microsoft considers the platform under extended support. This means " -"that Python |version| supports Windows Vista and newer. If you require " -"Windows XP support then please install Python 3.4." +"that Python |version| supports Windows 8.1 and newer. If you require Windows " +"7 support, please install Python 3.8." msgstr "" -"Como se especifica en :pep:`11`, una versión de Python solo soporta una " -"plataforma Windows mientras Microsoft considere dicha plataforma bajo " -"soporte extendido. Esto significa que Python |version| es compatible con " -"Windows Vista y versiones posteriores. Si necesita compatibilidad con " -"Windows XP entonces instale Python 3.4." #: ../Doc/using/windows.rst:29 msgid "" @@ -258,12 +252,13 @@ msgstr "" "producirían errores." #: ../Doc/using/windows.rst:104 +#, fuzzy msgid "" "In the latest versions of Windows, this limitation can be expanded to " "approximately 32,000 characters. Your administrator will need to activate " -"the \"Enable Win32 long paths\" group policy, or set the registry value " -"``HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control" -"\\FileSystem@LongPathsEnabled`` to ``1``." +"the \"Enable Win32 long paths\" group policy, or set ``LongPathsEnabled`` to " +"``1`` in the registry key ``HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet" +"\\Control\\FileSystem``." msgstr "" "En las últimas versiones de Windows, este límite puede ser extendido a " "aproximadamente 32,000 caracteres. El administrador tendrá que activar la " @@ -272,11 +267,10 @@ msgstr "" "\\FileSystem@LongPathsEnabled`` a ``1``." #: ../Doc/using/windows.rst:110 +#, fuzzy msgid "" "This allows the :func:`open` function, the :mod:`os` module and most other " -"path functionality to accept and return paths longer than 260 characters " -"when using strings. (Use of bytes as paths is deprecated on Windows, and " -"this feature is not available when using bytes.)" +"path functionality to accept and return paths longer than 260 characters." msgstr "" "Esto permite que la función :func:`open`, el módulo :mod:`os` y la mayoría " "de las demás funciones de ruta acepten y retornen rutas de más de 260 " @@ -284,21 +278,21 @@ msgstr "" "desuso en Windows, y esta característica no está disponible cuando se usan " "bytes.)" -#: ../Doc/using/windows.rst:115 +#: ../Doc/using/windows.rst:113 msgid "After changing the above option, no further configuration is required." msgstr "" "Luego de cambiar la opción anterior, no es necesaria ninguna otra " "configuración." -#: ../Doc/using/windows.rst:119 +#: ../Doc/using/windows.rst:117 msgid "Support for long paths was enabled in Python." msgstr "Se habilitó el soporte para rutas largas en Python." -#: ../Doc/using/windows.rst:124 +#: ../Doc/using/windows.rst:122 msgid "Installing Without UI" msgstr "Instalación sin interfaz de usuario" -#: ../Doc/using/windows.rst:126 +#: ../Doc/using/windows.rst:124 msgid "" "All of the options available in the installer UI can also be specified from " "the command line, allowing scripted installers to replicate an installation " @@ -312,7 +306,7 @@ msgstr "" "configuradas sin anular la interfaz de usuario con el fin de cambiar alguno " "de los valores predeterminados." -#: ../Doc/using/windows.rst:131 +#: ../Doc/using/windows.rst:129 msgid "" "To completely hide the installer UI and install Python silently, pass the ``/" "quiet`` option. To skip past the user interaction but still display progress " @@ -326,7 +320,7 @@ msgstr "" "comenzar a desinstalar Python inmediatamente - no se mostrará ninguna " "advertencia." -#: ../Doc/using/windows.rst:137 +#: ../Doc/using/windows.rst:135 msgid "" "All other options are passed as ``name=value``, where the value is usually " "``0`` to disable a feature, ``1`` to enable a feature, or a path. The full " @@ -337,56 +331,56 @@ msgstr "" "para habilitar una funcionalidad, o una ruta. La lista completa de opciones " "disponibles se muestra a continuación." -#: ../Doc/using/windows.rst:142 +#: ../Doc/using/windows.rst:140 msgid "Name" msgstr "Nombre" -#: ../Doc/using/windows.rst:142 +#: ../Doc/using/windows.rst:140 msgid "Description" msgstr "Descripción" -#: ../Doc/using/windows.rst:142 +#: ../Doc/using/windows.rst:140 msgid "Default" msgstr "Predeterminado" -#: ../Doc/using/windows.rst:144 +#: ../Doc/using/windows.rst:142 msgid "InstallAllUsers" msgstr "InstallAllUsers" -#: ../Doc/using/windows.rst:144 +#: ../Doc/using/windows.rst:142 msgid "Perform a system-wide installation." msgstr "Realizar una instalación en todo el sistema." -#: ../Doc/using/windows.rst:144 ../Doc/using/windows.rst:167 -#: ../Doc/using/windows.rst:170 ../Doc/using/windows.rst:179 -#: ../Doc/using/windows.rst:197 ../Doc/using/windows.rst:205 -#: ../Doc/using/windows.rst:208 +#: ../Doc/using/windows.rst:142 ../Doc/using/windows.rst:165 +#: ../Doc/using/windows.rst:168 ../Doc/using/windows.rst:177 +#: ../Doc/using/windows.rst:195 ../Doc/using/windows.rst:203 +#: ../Doc/using/windows.rst:206 msgid "0" msgstr "0" -#: ../Doc/using/windows.rst:146 +#: ../Doc/using/windows.rst:144 msgid "TargetDir" msgstr "TargetDir" -#: ../Doc/using/windows.rst:146 +#: ../Doc/using/windows.rst:144 msgid "The installation directory" msgstr "El directorio de instalación" -#: ../Doc/using/windows.rst:146 +#: ../Doc/using/windows.rst:144 msgid "Selected based on InstallAllUsers" msgstr "Seleccionado de acuerdo a InstallAllUsers" -#: ../Doc/using/windows.rst:149 +#: ../Doc/using/windows.rst:147 msgid "DefaultAllUsersTargetDir" msgstr "DefaultAllUsersTargetDir" -#: ../Doc/using/windows.rst:149 +#: ../Doc/using/windows.rst:147 msgid "The default installation directory for all-user installs" msgstr "" "El directorio predeterminado de instalación cuando se instala para todos los " "usuarios" -#: ../Doc/using/windows.rst:149 +#: ../Doc/using/windows.rst:147 msgid "" ":file:`%ProgramFiles%\\\\\\ Python X.Y` or :file:`\\ %ProgramFiles(x86)%\\\\" "\\ Python X.Y`" @@ -394,17 +388,17 @@ msgstr "" ":file:`%ProgramFiles%\\\\\\ Python X.Y` o :file:`\\ %ProgramFiles(x86)%\\\\" "\\ Python X.Y`" -#: ../Doc/using/windows.rst:154 +#: ../Doc/using/windows.rst:152 msgid "DefaultJustForMeTargetDir" msgstr "DefaultJustForMeTargetDir" -#: ../Doc/using/windows.rst:154 +#: ../Doc/using/windows.rst:152 msgid "The default install directory for just-for-me installs" msgstr "" "El directorio predeterminado de instalación para instalaciones del usuario " "actual solamente" -#: ../Doc/using/windows.rst:154 +#: ../Doc/using/windows.rst:152 #, python-format msgid "" ":file:`%LocalAppData%\\\\\\ Programs\\\\PythonXY` or :file:`%LocalAppData%\\" @@ -415,50 +409,50 @@ msgstr "" "\\ Programs\\\\PythonXY-32` o :file:`%LocalAppData%\\\\\\ Programs\\" "\\PythonXY-64`" -#: ../Doc/using/windows.rst:161 +#: ../Doc/using/windows.rst:159 msgid "DefaultCustomTargetDir" msgstr "DefaultCustomTargetDir" -#: ../Doc/using/windows.rst:161 +#: ../Doc/using/windows.rst:159 msgid "The default custom install directory displayed in the UI" msgstr "" "El valor predeterminado de directorio de instalación personalizado que se " "muestra en la interfaz de usuario" -#: ../Doc/using/windows.rst:161 ../Doc/using/windows.rst:210 +#: ../Doc/using/windows.rst:159 ../Doc/using/windows.rst:208 msgid "(empty)" msgstr "(vacío)" -#: ../Doc/using/windows.rst:164 +#: ../Doc/using/windows.rst:162 msgid "AssociateFiles" msgstr "AssociateFiles" -#: ../Doc/using/windows.rst:164 +#: ../Doc/using/windows.rst:162 msgid "Create file associations if the launcher is also installed." msgstr "Crear asociaciones de archivos si el lanzador también es instalado." -#: ../Doc/using/windows.rst:164 ../Doc/using/windows.rst:174 -#: ../Doc/using/windows.rst:177 ../Doc/using/windows.rst:181 -#: ../Doc/using/windows.rst:184 ../Doc/using/windows.rst:187 -#: ../Doc/using/windows.rst:189 ../Doc/using/windows.rst:192 -#: ../Doc/using/windows.rst:195 ../Doc/using/windows.rst:199 -#: ../Doc/using/windows.rst:201 ../Doc/using/windows.rst:203 +#: ../Doc/using/windows.rst:162 ../Doc/using/windows.rst:172 +#: ../Doc/using/windows.rst:175 ../Doc/using/windows.rst:179 +#: ../Doc/using/windows.rst:182 ../Doc/using/windows.rst:185 +#: ../Doc/using/windows.rst:187 ../Doc/using/windows.rst:190 +#: ../Doc/using/windows.rst:193 ../Doc/using/windows.rst:197 +#: ../Doc/using/windows.rst:199 ../Doc/using/windows.rst:201 msgid "1" msgstr "1" -#: ../Doc/using/windows.rst:167 +#: ../Doc/using/windows.rst:165 msgid "CompileAll" msgstr "CompileAll" -#: ../Doc/using/windows.rst:167 +#: ../Doc/using/windows.rst:165 msgid "Compile all ``.py`` files to ``.pyc``." msgstr "Compilar todos los archivos ``.py`` a ``.pyc``." -#: ../Doc/using/windows.rst:170 +#: ../Doc/using/windows.rst:168 msgid "PrependPath" msgstr "PrependPath" -#: ../Doc/using/windows.rst:170 +#: ../Doc/using/windows.rst:168 msgid "" "Add install and Scripts directories to :envvar:`PATH` and ``.PY`` to :envvar:" "`PATHEXT`" @@ -466,141 +460,141 @@ msgstr "" "Agregar directorios de instalación y Scripts a :envvar:`PATH` y ``.PY`` a :" "envvar:`PATHEXT`" -#: ../Doc/using/windows.rst:174 +#: ../Doc/using/windows.rst:172 msgid "Shortcuts" msgstr "Shortcuts" -#: ../Doc/using/windows.rst:174 +#: ../Doc/using/windows.rst:172 msgid "" "Create shortcuts for the interpreter, documentation and IDLE if installed." msgstr "" "Crear accesos directos para el intérprete, documentación e IDLE si está " "instalado." -#: ../Doc/using/windows.rst:177 +#: ../Doc/using/windows.rst:175 msgid "Include_doc" msgstr "Include_doc" -#: ../Doc/using/windows.rst:177 +#: ../Doc/using/windows.rst:175 msgid "Install Python manual" msgstr "Instalar el manual de Python" -#: ../Doc/using/windows.rst:179 +#: ../Doc/using/windows.rst:177 msgid "Include_debug" msgstr "Include_debug" -#: ../Doc/using/windows.rst:179 +#: ../Doc/using/windows.rst:177 msgid "Install debug binaries" msgstr "Instalar los binarios de depuración" -#: ../Doc/using/windows.rst:181 +#: ../Doc/using/windows.rst:179 msgid "Include_dev" msgstr "Include_dev" -#: ../Doc/using/windows.rst:181 +#: ../Doc/using/windows.rst:179 msgid "Install developer headers and libraries" msgstr "Instalar encabezados y bibliotecas de desarrollo" -#: ../Doc/using/windows.rst:184 +#: ../Doc/using/windows.rst:182 msgid "Include_exe" msgstr "Include_exe" -#: ../Doc/using/windows.rst:184 +#: ../Doc/using/windows.rst:182 msgid "Install :file:`python.exe` and related files" msgstr "Instalar :file:`python.exe` y archivos relacionados" -#: ../Doc/using/windows.rst:187 +#: ../Doc/using/windows.rst:185 msgid "Include_launcher" msgstr "Include_launcher" -#: ../Doc/using/windows.rst:187 +#: ../Doc/using/windows.rst:185 msgid "Install :ref:`launcher`." msgstr "Instalar :ref:`launcher`." -#: ../Doc/using/windows.rst:189 +#: ../Doc/using/windows.rst:187 msgid "InstallLauncherAllUsers" msgstr "InstallLauncherAllUsers" -#: ../Doc/using/windows.rst:189 +#: ../Doc/using/windows.rst:187 msgid "Installs :ref:`launcher` for all users." msgstr "Instalar :ref:`launcher` para todos los usuarios." -#: ../Doc/using/windows.rst:192 +#: ../Doc/using/windows.rst:190 msgid "Include_lib" msgstr "Include_lib" -#: ../Doc/using/windows.rst:192 +#: ../Doc/using/windows.rst:190 msgid "Install standard library and extension modules" msgstr "Instalar la biblioteca estándar y los módulos de extensión" -#: ../Doc/using/windows.rst:195 +#: ../Doc/using/windows.rst:193 msgid "Include_pip" msgstr "Include_pip" -#: ../Doc/using/windows.rst:195 +#: ../Doc/using/windows.rst:193 msgid "Install bundled pip and setuptools" msgstr "Instalar los paquetes pip y setuptools" -#: ../Doc/using/windows.rst:197 +#: ../Doc/using/windows.rst:195 msgid "Include_symbols" msgstr "Include_symbols" -#: ../Doc/using/windows.rst:197 +#: ../Doc/using/windows.rst:195 msgid "Install debugging symbols (`*`.pdb)" msgstr "Instalar los símbolos de depuración (`*`.pdb)" -#: ../Doc/using/windows.rst:199 +#: ../Doc/using/windows.rst:197 msgid "Include_tcltk" msgstr "Include_tcltk" -#: ../Doc/using/windows.rst:199 +#: ../Doc/using/windows.rst:197 msgid "Install Tcl/Tk support and IDLE" msgstr "Instalar IDLE y soporte para Tcl/Tk" -#: ../Doc/using/windows.rst:201 +#: ../Doc/using/windows.rst:199 msgid "Include_test" msgstr "Include_test" -#: ../Doc/using/windows.rst:201 +#: ../Doc/using/windows.rst:199 msgid "Install standard library test suite" msgstr "Instalar el conjunto de pruebas de la biblioteca estándar" -#: ../Doc/using/windows.rst:203 +#: ../Doc/using/windows.rst:201 msgid "Include_tools" msgstr "Include_tools" -#: ../Doc/using/windows.rst:203 +#: ../Doc/using/windows.rst:201 msgid "Install utility scripts" msgstr "Instalar scripts de utilidades" -#: ../Doc/using/windows.rst:205 +#: ../Doc/using/windows.rst:203 msgid "LauncherOnly" msgstr "LauncherOnly" -#: ../Doc/using/windows.rst:205 +#: ../Doc/using/windows.rst:203 msgid "Only installs the launcher. This will override most other options." msgstr "" "Instalar solo el lanzador. Esto anulará la mayoría de las otras opciones." -#: ../Doc/using/windows.rst:208 +#: ../Doc/using/windows.rst:206 msgid "SimpleInstall" msgstr "SimpleInstall" -#: ../Doc/using/windows.rst:208 +#: ../Doc/using/windows.rst:206 msgid "Disable most install UI" msgstr "Deshabilitar muchas de las partes de la interfaz de usuario" -#: ../Doc/using/windows.rst:210 +#: ../Doc/using/windows.rst:208 msgid "SimpleInstallDescription" msgstr "SimpleInstallDescription" -#: ../Doc/using/windows.rst:210 +#: ../Doc/using/windows.rst:208 msgid "A custom message to display when the simplified install UI is used." msgstr "" "Un mensaje personalizado para mostrar cuando se use la versión simplificada " "de la interfaz de usuario de instalación." -#: ../Doc/using/windows.rst:214 +#: ../Doc/using/windows.rst:212 msgid "" "For example, to silently install a default, system-wide Python installation, " "you could use the following command (from an elevated command prompt)::" @@ -609,7 +603,7 @@ msgstr "" "predeterminada de Python para todo el sistema, se puede usar el siguiente " "comando (desde un símbolo del sistema con privilegios elevados)::" -#: ../Doc/using/windows.rst:219 +#: ../Doc/using/windows.rst:217 msgid "" "To allow users to easily install a personal copy of Python without the test " "suite, you could provide a shortcut with the following command. This will " @@ -620,7 +614,7 @@ msgstr "" "con el siguiente comando. Esto mostrará una página inicial simplificada y no " "permitirá la personalización:" -#: ../Doc/using/windows.rst:226 +#: ../Doc/using/windows.rst:224 msgid "" "(Note that omitting the launcher also omits file associations, and is only " "recommended for per-user installs when there is also a system-wide " @@ -631,7 +625,7 @@ msgstr "" "por usuario cuando ya hay una instalación en todo el sistema que incluye el " "lanzador.)" -#: ../Doc/using/windows.rst:230 +#: ../Doc/using/windows.rst:228 msgid "" "The options listed above can also be provided in a file named ``unattend." "xml`` alongside the executable. This file specifies a list of options and " @@ -646,11 +640,11 @@ msgstr "" "proporcionados como elementos de texto siempre se dejan como cadenas. Este " "archivo de ejemplo configura las mismas opciones que el ejemplo anterior:" -#: ../Doc/using/windows.rst:249 +#: ../Doc/using/windows.rst:247 msgid "Installing Without Downloading" msgstr "Instalación sin descargas" -#: ../Doc/using/windows.rst:251 +#: ../Doc/using/windows.rst:249 msgid "" "As some features of Python are not included in the initial installer " "download, selecting those features may require an internet connection. To " @@ -669,10 +663,11 @@ msgstr "" "puede ser más grande de lo necesario, pero si se va a realizar un gran " "número de instalaciones es muy útil tener una copia en la caché local." -#: ../Doc/using/windows.rst:259 +#: ../Doc/using/windows.rst:257 +#, fuzzy msgid "" "Execute the following command from Command Prompt to download all possible " -"required files. Remember to substitute ``python-3.8.0.exe`` for the actual " +"required files. Remember to substitute ``python-3.9.0.exe`` for the actual " "name of your installer, and to create layouts in their own directories to " "avoid collisions between files with the same name." msgstr "" @@ -681,19 +676,21 @@ msgstr "" "exe`` por el nombre real del instalador y crear una estructura de " "directorios propia para evitar colisiones entre archivos del mismo nombre." -#: ../Doc/using/windows.rst:268 +#: ../Doc/using/windows.rst:266 msgid "" "You may also specify the ``/quiet`` option to hide the progress display." msgstr "" "También se puede especificar la opción ``/quiet`` para no mostrar el " "progreso." -#: ../Doc/using/windows.rst:271 +#: ../Doc/using/windows.rst:269 msgid "Modifying an install" msgstr "Modificar una instalación" -# La aplicación "Programs and Features" es "Programas y características" en Windows en español, y las acciones figuran como "Desinstalar", "Cambiar" y "Reparar" -#: ../Doc/using/windows.rst:273 +# La aplicación "Programs and Features" es "Programas y características" en +# Windows en español, y las acciones figuran como "Desinstalar", "Cambiar" y +# "Reparar" +#: ../Doc/using/windows.rst:271 msgid "" "Once Python has been installed, you can add or remove features through the " "Programs and Features tool that is part of Windows. Select the Python entry " @@ -704,7 +701,7 @@ msgstr "" "Windows. Seleccionar la entrada Python y elegir \"Desinstalar/Cambiar\" para " "abrir el instalador en modo mantenimiento." -#: ../Doc/using/windows.rst:277 +#: ../Doc/using/windows.rst:275 msgid "" "\"Modify\" allows you to add or remove features by modifying the checkboxes " "- unchanged checkboxes will not install or remove anything. Some options " @@ -717,7 +714,7 @@ msgstr "" "el directorio de instalación; para modificarlas es necesario eliminar y " "reinstalar Python completamente." -#: ../Doc/using/windows.rst:282 +#: ../Doc/using/windows.rst:280 msgid "" "\"Repair\" will verify all the files that should be installed using the " "current settings and replace any that have been removed or modified." @@ -725,7 +722,7 @@ msgstr "" "\"Reparar\" verificará todos los archivos que deben instalarse con la " "configuración actual y reemplazará los que se hayan eliminado o modificado." -#: ../Doc/using/windows.rst:285 +#: ../Doc/using/windows.rst:283 msgid "" "\"Uninstall\" will remove Python entirely, with the exception of the :ref:" "`launcher`, which has its own entry in Programs and Features." @@ -733,11 +730,11 @@ msgstr "" "\"Desinstalar\" eliminará Python completamente, a excepción del :ref:" "`launcher`, el cual posee su propia entrada en Programas y características." -#: ../Doc/using/windows.rst:292 +#: ../Doc/using/windows.rst:290 msgid "The Microsoft Store package" msgstr "El paquete Microsoft Store" -#: ../Doc/using/windows.rst:296 +#: ../Doc/using/windows.rst:294 msgid "" "The Microsoft Store package is an easily installable Python interpreter that " "is intended mainly for interactive use, for example, by students." @@ -746,7 +743,7 @@ msgstr "" "instalable destinado principalmente al uso interactivo, por ejemplo, por " "estudiantes." -#: ../Doc/using/windows.rst:299 +#: ../Doc/using/windows.rst:297 msgid "" "To install the package, ensure you have the latest Windows 10 updates and " "search the Microsoft Store app for \"Python |version|\". Ensure that the app " @@ -757,7 +754,7 @@ msgstr "" "aplicación que seleccionas es una publicación de la Python Software " "Foundation e instálala." -#: ../Doc/using/windows.rst:304 +#: ../Doc/using/windows.rst:302 msgid "" "Python will always be available for free on the Microsoft Store. If you are " "asked to pay for it, you have not selected the correct package." @@ -766,7 +763,7 @@ msgstr "" "te solicita que pagues por él, entonces el paquete seleccionado no es el " "correcto." -#: ../Doc/using/windows.rst:307 +#: ../Doc/using/windows.rst:305 msgid "" "After installation, Python may be launched by finding it in Start. " "Alternatively, it will be available from any Command Prompt or PowerShell " @@ -779,7 +776,7 @@ msgstr "" "pueden ser usados escribiendo ``pip`` o ``idle``. IDLE también puede ser " "encontrado en el Inicio." -#: ../Doc/using/windows.rst:312 +#: ../Doc/using/windows.rst:310 msgid "" "All three commands are also available with version number suffixes, for " "example, as ``python3.exe`` and ``python3.x.exe`` as well as ``python.exe`` " @@ -798,7 +795,7 @@ msgstr "" "``idle`` sean consistentes con la versión de ``python`` que esté " "seleccionada." -#: ../Doc/using/windows.rst:320 +#: ../Doc/using/windows.rst:318 msgid "" "Virtual environments can be created with ``python -m venv`` and activated " "and used as normal." @@ -806,7 +803,7 @@ msgstr "" "Los entornos virtuales se pueden crear con ``python -m venv`` y se activan y " "usan normalmente." -#: ../Doc/using/windows.rst:323 +#: ../Doc/using/windows.rst:321 msgid "" "If you have installed another version of Python and added it to your " "``PATH`` variable, it will be available as ``python.exe`` rather than the " @@ -818,7 +815,7 @@ msgstr "" "Microsoft Store. Para acceder a la nueva instalación, use ``python3.exe`` o " "``python3.x.exe``." -#: ../Doc/using/windows.rst:328 +#: ../Doc/using/windows.rst:326 msgid "" "The ``py.exe`` launcher will detect this Python installation, but will " "prefer installations from the traditional installer." @@ -826,7 +823,7 @@ msgstr "" "El lanzador ``py.exe`` detectará esta instalación de Python, pero priorizará " "instalaciones realizadas con el instalador tradicional." -#: ../Doc/using/windows.rst:331 +#: ../Doc/using/windows.rst:329 msgid "" "To remove Python, open Settings and use Apps and Features, or else find " "Python in Start and right-click to select Uninstall. Uninstalling will " @@ -839,11 +836,11 @@ msgstr "" "instalados directamente en esta instalación de Python, pero no eliminará " "ningún entorno virtual" -#: ../Doc/using/windows.rst:337 +#: ../Doc/using/windows.rst:335 msgid "Known Issues" msgstr "Problemas conocidos" -#: ../Doc/using/windows.rst:339 +#: ../Doc/using/windows.rst:337 msgid "" "Because of restrictions on Microsoft Store apps, Python scripts may not have " "full write access to shared locations such as ``TEMP`` and the registry. " @@ -856,11 +853,20 @@ msgstr "" "copia privada. Si sus scripts deben modificar las ubicaciones compartidas, " "necesitará instalar el instalador completo." -#: ../Doc/using/windows.rst:348 +#: ../Doc/using/windows.rst:342 +msgid "" +"For more detail on the technical basis for these limitations, please consult " +"Microsoft's documentation on packaged full-trust apps, currently available " +"at `docs.microsoft.com/en-us/windows/msix/desktop/desktop-to-uwp-behind-the-" +"scenes `_" +msgstr "" + +#: ../Doc/using/windows.rst:351 msgid "The nuget.org packages" msgstr "El paquete de nuget.org" -#: ../Doc/using/windows.rst:352 +#: ../Doc/using/windows.rst:355 msgid "" "The nuget.org package is a reduced size Python environment intended for use " "on continuous integration and build systems that do not have a system-wide " @@ -873,7 +879,7 @@ msgstr "" "administrador de paquetes para .NET\", también funciona perfectamente para " "paquetes que contienen herramientas de tiempo de compilación." -#: ../Doc/using/windows.rst:357 +#: ../Doc/using/windows.rst:360 msgid "" "Visit `nuget.org `_ for the most up-to-date " "information on using nuget. What follows is a summary that is sufficient for " @@ -883,7 +889,7 @@ msgstr "" "actualizada sobre cómo usar nuget. Lo que sigue es un resumen que es " "suficiente para desarrolladores Python." -#: ../Doc/using/windows.rst:361 +#: ../Doc/using/windows.rst:364 msgid "" "The ``nuget.exe`` command line tool may be downloaded directly from " "``https://aka.ms/nugetclidl``, for example, using curl or PowerShell. With " @@ -895,7 +901,7 @@ msgstr "" "PowerShell. Con esta herramienta, la última versión de Python para máquinas " "de 64 o 32 bit se instala con::" -#: ../Doc/using/windows.rst:369 +#: ../Doc/using/windows.rst:372 msgid "" "To select a particular version, add a ``-Version 3.x.y``. The output " "directory may be changed from ``.``, and the package will be installed into " @@ -911,7 +917,7 @@ msgstr "" "la versión de instalación especificada. Dentro del subdirectorio hay un " "directorio ``tools`` que contiene la instalación de Python::" -#: ../Doc/using/windows.rst:384 +#: ../Doc/using/windows.rst:387 msgid "" "In general, nuget packages are not upgradeable, and newer versions should be " "installed side-by-side and referenced using the full path. Alternatively, " @@ -924,7 +930,7 @@ msgstr "" "de nuevo. Muchos sistemas de CI harán esto automáticamente si no mantienen " "archivos entre compilaciones." -#: ../Doc/using/windows.rst:389 +#: ../Doc/using/windows.rst:392 msgid "" "Alongside the ``tools`` directory is a ``build\\native`` directory. This " "contains a MSBuild properties file ``python.props`` that can be used in a C+" @@ -937,7 +943,7 @@ msgstr "" "incluir las configuraciones, automáticamente se usarán los encabezados y se " "importarán las bibliotecas en la compilación." -#: ../Doc/using/windows.rst:394 +#: ../Doc/using/windows.rst:397 msgid "" "The package information pages on nuget.org are `www.nuget.org/packages/" "python `_ for the 64-bit version and " @@ -949,11 +955,11 @@ msgstr "" "64 bit y `www.nuget.org/packages/pythonx86 `_ para la versión de 32 bit." -#: ../Doc/using/windows.rst:403 +#: ../Doc/using/windows.rst:406 msgid "The embeddable package" msgstr "El paquete incrustable" -#: ../Doc/using/windows.rst:407 +#: ../Doc/using/windows.rst:410 msgid "" "The embedded distribution is a ZIP file containing a minimal Python " "environment. It is intended for acting as part of another application, " @@ -963,7 +969,7 @@ msgstr "" "mínimo entorno de Python. Está destinado a ser usado como parte de otra " "aplicación, en lugar de ser accedido directamente por los usuarios finales." -#: ../Doc/using/windows.rst:411 +#: ../Doc/using/windows.rst:414 msgid "" "When extracted, the embedded distribution is (almost) fully isolated from " "the user's system, including environment variables, system registry " @@ -982,7 +988,7 @@ msgstr "" "dependientes, como Idle), pip y la documentación de Python no están " "incluidos." -#: ../Doc/using/windows.rst:420 +#: ../Doc/using/windows.rst:423 msgid "" "The embedded distribution does not include the `Microsoft C Runtime `_ and it is the " @@ -998,7 +1004,7 @@ msgstr "" "automáticamente vía Windows Update, y puede ser detectado encontrando " "``ucrtbase.dll`` en el directorio del sistema." -#: ../Doc/using/windows.rst:427 +#: ../Doc/using/windows.rst:430 msgid "" "Third-party packages should be installed by the application installer " "alongside the embedded distribution. Using pip to manage dependencies as for " @@ -1018,18 +1024,18 @@ msgstr "" "con las nuevas versiones antes de proporcionar actualizaciones a los " "usuarios." -#: ../Doc/using/windows.rst:435 +#: ../Doc/using/windows.rst:438 msgid "" "The two recommended use cases for this distribution are described below." msgstr "" "Los dos casos de uso recomendados para esta distribución se describen a " "continuación." -#: ../Doc/using/windows.rst:438 +#: ../Doc/using/windows.rst:441 msgid "Python Application" msgstr "Aplicación Python" -#: ../Doc/using/windows.rst:440 +#: ../Doc/using/windows.rst:443 msgid "" "An application written in Python does not necessarily require users to be " "aware of that fact. The embedded distribution may be used in this case to " @@ -1043,7 +1049,7 @@ msgstr "" "instalación. Dependiendo de lo transparente que deba ser (o por el " "contrario, de lo profesional que deba parecer), hay dos opciones." -#: ../Doc/using/windows.rst:446 +#: ../Doc/using/windows.rst:449 msgid "" "Using a specialized executable as a launcher requires some coding, but " "provides the most transparent experience for users. With a customized " @@ -1062,7 +1068,7 @@ msgstr "" "lanzador personalizado debería simplemente poder invocar ``Py_Main`` " "utilizando una línea de comandos codificada." -#: ../Doc/using/windows.rst:453 +#: ../Doc/using/windows.rst:456 msgid "" "The simpler approach is to provide a batch file or generated shortcut that " "directly calls the ``python.exe`` or ``pythonw.exe`` with the required " @@ -1077,7 +1083,7 @@ msgstr "" "podrían tener problemas para distinguirla de otros procesos Python en " "ejecución o asociaciones de archivos." -#: ../Doc/using/windows.rst:459 +#: ../Doc/using/windows.rst:462 msgid "" "With the latter approach, packages should be installed as directories " "alongside the Python executable to ensure they are available on the path. " @@ -1091,11 +1097,11 @@ msgstr "" "ubicaciones ya que hay oportunidad de especificar la ruta de búsqueda antes " "de iniciar la aplicación." -#: ../Doc/using/windows.rst:465 +#: ../Doc/using/windows.rst:468 msgid "Embedding Python" msgstr "Incrustar Python" -#: ../Doc/using/windows.rst:467 +#: ../Doc/using/windows.rst:470 msgid "" "Applications written in native code often require some form of scripting " "language, and the embedded Python distribution can be used for this purpose. " @@ -1113,7 +1119,7 @@ msgstr "" "de la distribución incrustable a un subdirectorio de la instalación de la " "aplicación es suficiente para proporcionar un intérprete de Python invocable." -#: ../Doc/using/windows.rst:474 +#: ../Doc/using/windows.rst:477 msgid "" "As with the application use, packages can be installed to any location as " "there is an opportunity to specify search paths before initializing the " @@ -1126,11 +1132,11 @@ msgstr "" "diferencias fundamentales entre el uso de la distribución incrustada y una " "instalación normal." -#: ../Doc/using/windows.rst:481 +#: ../Doc/using/windows.rst:484 msgid "Alternative bundles" msgstr "Distribuciones alternativas" -#: ../Doc/using/windows.rst:483 +#: ../Doc/using/windows.rst:486 msgid "" "Besides the standard CPython distribution, there are modified packages " "including additional functionality. The following is a list of popular " @@ -1140,20 +1146,20 @@ msgstr "" "incluyen funcionalidad adicional. La siguiente es una lista de versiones " "populares y sus características clave:" -#: ../Doc/using/windows.rst:488 +#: ../Doc/using/windows.rst:491 msgid "`ActivePython `_" msgstr "`ActivePython `_" -#: ../Doc/using/windows.rst:488 +#: ../Doc/using/windows.rst:491 msgid "Installer with multi-platform compatibility, documentation, PyWin32" msgstr "" "Instalador compatible con múltiples plataformas, documentación, PyWin32" -#: ../Doc/using/windows.rst:492 +#: ../Doc/using/windows.rst:495 msgid "`Anaconda `_" msgstr "`Anaconda `_" -#: ../Doc/using/windows.rst:491 +#: ../Doc/using/windows.rst:494 msgid "" "Popular scientific modules (such as numpy, scipy and pandas) and the " "``conda`` package manager." @@ -1161,11 +1167,11 @@ msgstr "" "Módulos científicos populares (como numpy, scipy y pandas) y el gestor de " "paquetes ``conda``." -#: ../Doc/using/windows.rst:496 +#: ../Doc/using/windows.rst:499 msgid "`Canopy `_" msgstr "`Canopy `_" -#: ../Doc/using/windows.rst:495 +#: ../Doc/using/windows.rst:498 msgid "" "A \"comprehensive Python analysis environment\" with editors and other " "development tools." @@ -1173,11 +1179,11 @@ msgstr "" "Un \"entorno de análisis integral de Python\" con editores y otras " "herramientas de desarrollo." -#: ../Doc/using/windows.rst:500 +#: ../Doc/using/windows.rst:503 msgid "`WinPython `_" msgstr "`WinPython `_" -#: ../Doc/using/windows.rst:499 +#: ../Doc/using/windows.rst:502 msgid "" "Windows-specific distribution with prebuilt scientific packages and tools " "for building packages." @@ -1185,7 +1191,7 @@ msgstr "" "Distribución específica para Windows con paquetes científicos precompilados " "y herramientas para construir paquetes." -#: ../Doc/using/windows.rst:502 +#: ../Doc/using/windows.rst:505 msgid "" "Note that these packages may not include the latest versions of Python or " "other libraries, and are not maintained or supported by the core Python team." @@ -1194,11 +1200,11 @@ msgstr "" "Python u otras bibliotecas, y no son mantenidos ni respaldados por el equipo " "central de Python." -#: ../Doc/using/windows.rst:508 +#: ../Doc/using/windows.rst:511 msgid "Configuring Python" msgstr "Configuración de Python" -#: ../Doc/using/windows.rst:510 +#: ../Doc/using/windows.rst:513 msgid "" "To run Python conveniently from a command prompt, you might consider " "changing some default environment variables in Windows. While the installer " @@ -1213,11 +1219,11 @@ msgstr "" "sistema. Si utiliza varias versiones de Python con regularidad, considere " "usar el :ref:`launcher`." -#: ../Doc/using/windows.rst:520 +#: ../Doc/using/windows.rst:523 msgid "Excursus: Setting environment variables" msgstr "Excurso: configurar variables de entorno" -#: ../Doc/using/windows.rst:522 +#: ../Doc/using/windows.rst:525 msgid "" "Windows allows environment variables to be configured permanently at both " "the User level and the System level, or temporarily in a command prompt." @@ -1226,7 +1232,7 @@ msgstr "" "nivel de usuario y a nivel de sistema, o temporalmente en el símbolo del " "sistema." -#: ../Doc/using/windows.rst:525 +#: ../Doc/using/windows.rst:528 msgid "" "To temporarily set environment variables, open Command Prompt and use the :" "command:`set` command:" @@ -1234,7 +1240,7 @@ msgstr "" "Para configurar una variable de entorno temporal, abra el símbolo del " "sistema y utilice el comando :command:`set`:" -#: ../Doc/using/windows.rst:534 +#: ../Doc/using/windows.rst:537 msgid "" "These changes will apply to any further commands executed in that console, " "and will be inherited by any applications started from the console." @@ -1243,7 +1249,7 @@ msgstr "" "ejecute en esa consola, y serán heredados por cualquier aplicación iniciada " "desde esa consola." -#: ../Doc/using/windows.rst:537 +#: ../Doc/using/windows.rst:540 msgid "" "Including the variable name within percent signs will expand to the existing " "value, allowing you to add your new value at either the start or the end. " @@ -1257,7 +1263,7 @@ msgstr "" "que contiene :program:`python.exe` al comienzo es una forma común de " "asegurar que se ejecuta la versión correcta de Python." -#: ../Doc/using/windows.rst:543 +#: ../Doc/using/windows.rst:546 msgid "" "To permanently modify the default environment variables, click Start and " "search for 'edit environment variables', or open System properties, :" @@ -1274,7 +1280,7 @@ msgstr "" "sistema, se necesita acceso no restringido al equipo (por ej. con " "credenciales de administrador)." -#: ../Doc/using/windows.rst:552 +#: ../Doc/using/windows.rst:555 msgid "" "Windows will concatenate User variables *after* System variables, which may " "cause unexpected results when modifying :envvar:`PATH`." @@ -1283,7 +1289,7 @@ msgstr "" "sistema, lo cual puede causar resultados inesperados cuando se modifica :" "envvar:`PATH`." -#: ../Doc/using/windows.rst:555 +#: ../Doc/using/windows.rst:558 msgid "" "The :envvar:`PYTHONPATH` variable is used by all versions of Python 2 and " "Python 3, so you should not permanently configure this variable unless it " @@ -1295,31 +1301,31 @@ msgstr "" "a menos que sólo incluya código que sea compatible con todas las versiones " "de Python instaladas." -#: ../Doc/using/windows.rst:563 +#: ../Doc/using/windows.rst:566 msgid "https://www.microsoft.com/en-us/wdsi/help/folder-variables" msgstr "https://www.microsoft.com/en-us/wdsi/help/folder-variables" -#: ../Doc/using/windows.rst:563 +#: ../Doc/using/windows.rst:566 msgid "Environment variables in Windows NT" msgstr "Variables de entorno en Windows NT" -#: ../Doc/using/windows.rst:566 +#: ../Doc/using/windows.rst:569 msgid "https://technet.microsoft.com/en-us/library/cc754250.aspx" msgstr "https://technet.microsoft.com/en-us/library/cc754250.aspx" -#: ../Doc/using/windows.rst:566 +#: ../Doc/using/windows.rst:569 msgid "The SET command, for temporarily modifying environment variables" msgstr "El comando SET, para modificar temporalmente variables de entorno" -#: ../Doc/using/windows.rst:569 +#: ../Doc/using/windows.rst:572 msgid "https://technet.microsoft.com/en-us/library/cc755104.aspx" msgstr "https://technet.microsoft.com/en-us/library/cc755104.aspx" -#: ../Doc/using/windows.rst:569 +#: ../Doc/using/windows.rst:572 msgid "The SETX command, for permanently modifying environment variables" msgstr "El comando SETX, para modificar permanentemente variables de entorno" -#: ../Doc/using/windows.rst:572 +#: ../Doc/using/windows.rst:575 msgid "" "https://support.microsoft.com/en-us/help/310519/how-to-manage-environment-" "variables-in-windows-xp" @@ -1327,23 +1333,23 @@ msgstr "" "https://support.microsoft.com/en-us/help/310519/how-to-manage-environment-" "variables-in-windows-xp" -#: ../Doc/using/windows.rst:572 +#: ../Doc/using/windows.rst:575 msgid "How To Manage Environment Variables in Windows XP" msgstr "Cómo gestionar variables de entorno en Windows XP" -#: ../Doc/using/windows.rst:574 +#: ../Doc/using/windows.rst:577 msgid "https://www.chem.gla.ac.uk/~louis/software/faq/q1.html" msgstr "https://www.chem.gla.ac.uk/~louis/software/faq/q1.html" -#: ../Doc/using/windows.rst:575 +#: ../Doc/using/windows.rst:578 msgid "Setting Environment variables, Louis J. Farrugia" msgstr "Configurar variables de entorno, Louis J. Farrugia" -#: ../Doc/using/windows.rst:580 +#: ../Doc/using/windows.rst:583 msgid "Finding the Python executable" msgstr "Encontrar el ejecutable de Python" -#: ../Doc/using/windows.rst:584 +#: ../Doc/using/windows.rst:587 msgid "" "Besides using the automatically created start menu entry for the Python " "interpreter, you might want to start Python in the command prompt. The " @@ -1354,7 +1360,7 @@ msgstr "" "desde el símbolo del sistema. El instalador posee una opción para realizar " "esa configuración." -#: ../Doc/using/windows.rst:588 +#: ../Doc/using/windows.rst:591 msgid "" "On the first page of the installer, an option labelled \"Add Python to PATH" "\" may be selected to have the installer add the install location into the :" @@ -1372,7 +1378,7 @@ msgstr "" "esta manera los scripts también pueden ser ejecutados con opciones de línea " "de comandos, consulte la documentación de :ref:`using-on-cmdline`." -#: ../Doc/using/windows.rst:595 +#: ../Doc/using/windows.rst:598 msgid "" "If you don't enable this option at install time, you can always re-run the " "installer, select Modify, and enable it. Alternatively, you can manually " @@ -1391,11 +1397,11 @@ msgstr "" "de ejemplo pude verse así (suponiendo que las dos primeras entradas ya " "existían)::" -#: ../Doc/using/windows.rst:608 +#: ../Doc/using/windows.rst:611 msgid "UTF-8 mode" msgstr "Modo UTF-8" -#: ../Doc/using/windows.rst:612 +#: ../Doc/using/windows.rst:615 msgid "" "Windows still uses legacy encodings for the system encoding (the ANSI Code " "Page). Python uses it for the default encoding of text files (e.g. :func:" @@ -1405,7 +1411,7 @@ msgstr "" "(la página de códigos ANSI). Python la utiliza para la codificación por " "defecto de archivos de texto (por ej. :func:`locale.getpreferredencoding`)." -#: ../Doc/using/windows.rst:616 +#: ../Doc/using/windows.rst:619 msgid "" "This may cause issues because UTF-8 is widely used on the internet and most " "Unix systems, including WSL (Windows Subsystem for Linux)." @@ -1414,7 +1420,7 @@ msgstr "" "internet y en la mayoría de los sistemas Unix, incluido WSL (subsistema de " "Windows para Linux)." -#: ../Doc/using/windows.rst:619 +#: ../Doc/using/windows.rst:622 msgid "" "You can use UTF-8 mode to change the default text encoding to UTF-8. You can " "enable UTF-8 mode via the ``-X utf8`` command line option, or the " @@ -1428,11 +1434,11 @@ msgstr "" "Consulte :envvar:`PYTHONUTF8` para activar el modo UTF-8, y :ref:`setting-" "envvars` para saber cómo modificar las variables de entorno." -#: ../Doc/using/windows.rst:625 +#: ../Doc/using/windows.rst:628 msgid "When UTF-8 mode is enabled:" msgstr "Cuando el modo UTF-8 está activado:" -#: ../Doc/using/windows.rst:627 +#: ../Doc/using/windows.rst:630 msgid "" ":func:`locale.getpreferredencoding` returns ``'UTF-8'`` instead of the " "system encoding. This function is used for the default text encoding in " @@ -1444,7 +1450,7 @@ msgstr "" "texto predeterminada en muchos lugares, incluidos :func:`open`, :class:" "`Popen`, :meth:`Path.read_text`, etc." -#: ../Doc/using/windows.rst:631 +#: ../Doc/using/windows.rst:634 msgid "" ":data:`sys.stdin`, :data:`sys.stdout`, and :data:`sys.stderr` all use UTF-8 " "as their text encoding." @@ -1452,13 +1458,13 @@ msgstr "" ":data:`sys.stdin`, :data:`sys.stdout`, y :data:`sys.stderr` utilizan la " "codificación de texto UTF-8." -#: ../Doc/using/windows.rst:633 +#: ../Doc/using/windows.rst:636 msgid "You can still use the system encoding via the \"mbcs\" codec." msgstr "" "Siempre se puede utilizar la codificación del sistema mediante el códec " "\"mbcs\"." -#: ../Doc/using/windows.rst:635 +#: ../Doc/using/windows.rst:638 msgid "" "Note that adding ``PYTHONUTF8=1`` to the default environment variables will " "affect all Python 3.7+ applications on your system. If you have any Python " @@ -1473,7 +1479,7 @@ msgstr "" "variable de entorno solo temporalmente o se use la opción de línea de " "comandos ``-X utf8``." -#: ../Doc/using/windows.rst:642 +#: ../Doc/using/windows.rst:645 msgid "" "Even when UTF-8 mode is disabled, Python uses UTF-8 by default on Windows " "for:" @@ -1481,22 +1487,22 @@ msgstr "" "Aún con el modo UTF-8 desactivado, Python utiliza UTF-8 de forma " "predeterminada en Windows para:" -#: ../Doc/using/windows.rst:645 +#: ../Doc/using/windows.rst:648 msgid "Console I/O including standard I/O (see :pep:`528` for details)." msgstr "" "E/S de consola, incluida la E/S estándar (consultar :pep:`528` para más " "detalles)." -#: ../Doc/using/windows.rst:646 +#: ../Doc/using/windows.rst:649 msgid "The filesystem encoding (see :pep:`529` for details)." msgstr "" "Codificación del sistema de archivos (ver :pep:`529` para más detalles)." -#: ../Doc/using/windows.rst:652 +#: ../Doc/using/windows.rst:655 msgid "Python Launcher for Windows" msgstr "Lanzador de Python para Windows" -#: ../Doc/using/windows.rst:656 +#: ../Doc/using/windows.rst:659 msgid "" "The Python launcher for Windows is a utility which aids in locating and " "executing of different Python versions. It allows scripts (or the command-" @@ -1508,7 +1514,7 @@ msgstr "" "(o la línea de comandos) indiquen preferencia por una versión específica de " "Python, y ubicará y ejecutará esa versión." -#: ../Doc/using/windows.rst:661 +#: ../Doc/using/windows.rst:664 msgid "" "Unlike the :envvar:`PATH` variable, the launcher will correctly select the " "most appropriate version of Python. It will prefer per-user installations " @@ -1520,19 +1526,19 @@ msgstr "" "del usuario por sobre instalaciones de todo el sistema, y ordenará por " "versión del lenguaje en lugar de utilizar la más recientemente instalada." -#: ../Doc/using/windows.rst:666 +#: ../Doc/using/windows.rst:669 msgid "The launcher was originally specified in :pep:`397`." msgstr "El lanzador se especificó originalmente en :pep:`397`." -#: ../Doc/using/windows.rst:669 +#: ../Doc/using/windows.rst:672 msgid "Getting started" msgstr "Comenzar" -#: ../Doc/using/windows.rst:672 +#: ../Doc/using/windows.rst:675 msgid "From the command-line" msgstr "Desde la línea de comandos" -#: ../Doc/using/windows.rst:676 +#: ../Doc/using/windows.rst:679 msgid "" "System-wide installations of Python 3.3 and later will put the launcher on " "your :envvar:`PATH`. The launcher is compatible with all available versions " @@ -1545,7 +1551,7 @@ msgstr "" "versión que está instalada. Para verificar que el lanzador está disponible, " "ejecute el siguiente comando en el símbolo del sistema:" -#: ../Doc/using/windows.rst:685 +#: ../Doc/using/windows.rst:688 msgid "" "You should find that the latest version of Python you have installed is " "started - it can be exited as normal, and any additional command-line " @@ -1555,7 +1561,7 @@ msgstr "" "puede cerrar normalmente, y todo argumento adicional especificado por línea " "de comandos será enviado directamente a Python." -#: ../Doc/using/windows.rst:689 +#: ../Doc/using/windows.rst:692 msgid "" "If you have multiple versions of Python installed (e.g., 2.7 and |version|) " "you will have noticed that Python |version| was started - to launch Python " @@ -1565,22 +1571,22 @@ msgstr "" "habrá notado que se inició Python |version| - para iniciar Python 2.7, " "ejecute el comando:" -#: ../Doc/using/windows.rst:697 +#: ../Doc/using/windows.rst:700 msgid "" "If you want the latest version of Python 2.x you have installed, try the " "command:" msgstr "" "Si se quiere la última versión instalada de Python 2.x, ejecute el comando:" -#: ../Doc/using/windows.rst:704 +#: ../Doc/using/windows.rst:707 msgid "You should find the latest version of Python 2.x starts." msgstr "La última versión de Python 2.x debería iniciarse." -#: ../Doc/using/windows.rst:706 +#: ../Doc/using/windows.rst:709 msgid "If you see the following error, you do not have the launcher installed:" msgstr "Si ve el siguiente error es porque el lanzador no está instalado:" -#: ../Doc/using/windows.rst:713 +#: ../Doc/using/windows.rst:716 msgid "" "Per-user installations of Python do not add the launcher to :envvar:`PATH` " "unless the option was selected on installation." @@ -1589,11 +1595,11 @@ msgstr "" "a :envvar:`PATH` a menos que la opción haya sido seleccionada durante la " "instalación." -#: ../Doc/using/windows.rst:717 +#: ../Doc/using/windows.rst:720 msgid "Virtual environments" msgstr "Entornos virtuales" -#: ../Doc/using/windows.rst:721 +#: ../Doc/using/windows.rst:724 msgid "" "If the launcher is run with no explicit Python version specification, and a " "virtual environment (created with the standard library :mod:`venv` module or " @@ -1609,11 +1615,11 @@ msgstr "" "lugar del global. Para ejecutar el intérprete global, desactive el entorno " "virtual o especifique explícitamente la versión global de Python." -#: ../Doc/using/windows.rst:729 +#: ../Doc/using/windows.rst:732 msgid "From a script" msgstr "Desde un script" -#: ../Doc/using/windows.rst:731 +#: ../Doc/using/windows.rst:734 msgid "" "Let's create a test Python script - create a file called ``hello.py`` with " "the following contents" @@ -1621,12 +1627,12 @@ msgstr "" "Vamos a crear un script de Python para una prueba - cree un archivo llamado " "``hello.py`` con el siguiente contenido" -#: ../Doc/using/windows.rst:740 +#: ../Doc/using/windows.rst:743 msgid "From the directory in which hello.py lives, execute the command:" msgstr "" "Desde el directorio en donde se encuentra hello.py, ejecute el comando:" -#: ../Doc/using/windows.rst:746 +#: ../Doc/using/windows.rst:749 msgid "" "You should notice the version number of your latest Python 2.x installation " "is printed. Now try changing the first line to be:" @@ -1634,7 +1640,7 @@ msgstr "" "Debería notar que se imprime el número de versión de la última instalación " "de Python 2.x. Ahora pruebe cambiando la primera línea por:" -#: ../Doc/using/windows.rst:753 +#: ../Doc/using/windows.rst:756 msgid "" "Re-executing the command should now print the latest Python 3.x information. " "As with the above command-line examples, you can specify a more explicit " @@ -1649,7 +1655,7 @@ msgstr "" "``#! python2.6`` y debería ver que se imprime la información de la versión " "2.6." -#: ../Doc/using/windows.rst:759 +#: ../Doc/using/windows.rst:762 msgid "" "Note that unlike interactive use, a bare \"python\" will use the latest " "version of Python 2.x that you have installed. This is for backward " @@ -1661,11 +1667,11 @@ msgstr "" "Esto es así por compatibilidad con versiones anteriores y por compatibilidad " "con Unix, donde el comando ``python`` usualmente refiere a Python 2." -#: ../Doc/using/windows.rst:765 +#: ../Doc/using/windows.rst:768 msgid "From file associations" msgstr "Desde asociaciones de archivos" -#: ../Doc/using/windows.rst:767 +#: ../Doc/using/windows.rst:770 msgid "" "The launcher should have been associated with Python files (i.e. ``.py``, ``." "pyw``, ``.pyc`` files) when it was installed. This means that when you " @@ -1680,7 +1686,7 @@ msgstr "" "utilizar las mismas funciones descritas anteriormente para que el script " "especifique la versión que debería usarse." -#: ../Doc/using/windows.rst:773 +#: ../Doc/using/windows.rst:776 msgid "" "The key benefit of this is that a single launcher can support multiple " "Python versions at the same time depending on the contents of the first line." @@ -1689,11 +1695,11 @@ msgstr "" "versiones de Python al mismo tiempo dependiendo del contenido de la primera " "línea." -#: ../Doc/using/windows.rst:777 +#: ../Doc/using/windows.rst:780 msgid "Shebang Lines" msgstr "Líneas shebang" -#: ../Doc/using/windows.rst:779 +#: ../Doc/using/windows.rst:782 msgid "" "If the first line of a script file starts with ``#!``, it is known as a " "\"shebang\" line. Linux and other Unix like operating systems have native " @@ -1709,7 +1715,7 @@ msgstr "" "la misma funcionalidad pueda ser utilizada con scripts de Python en Windows, " "y los ejemplos anteriores demuestran su uso." -#: ../Doc/using/windows.rst:786 +#: ../Doc/using/windows.rst:789 msgid "" "To allow shebang lines in Python scripts to be portable between Unix and " "Windows, this launcher supports a number of 'virtual' commands to specify " @@ -1719,27 +1725,27 @@ msgstr "" "entre Unix y Windows, este lanzador soporta varios comandos 'virtuales' para " "especificar qué intérprete utilizar. Los comandos virtuales soportados son:" -#: ../Doc/using/windows.rst:790 +#: ../Doc/using/windows.rst:793 msgid "``/usr/bin/env python``" msgstr "``/usr/bin/env python``" -#: ../Doc/using/windows.rst:791 +#: ../Doc/using/windows.rst:794 msgid "``/usr/bin/python``" msgstr "``/usr/bin/python``" -#: ../Doc/using/windows.rst:792 +#: ../Doc/using/windows.rst:795 msgid "``/usr/local/bin/python``" msgstr "``/usr/local/bin/python``" -#: ../Doc/using/windows.rst:793 +#: ../Doc/using/windows.rst:796 msgid "``python``" msgstr "``python``" -#: ../Doc/using/windows.rst:795 +#: ../Doc/using/windows.rst:798 msgid "For example, if the first line of your script starts with" msgstr "Por ejemplo, si la primera línea del script comienza con" -#: ../Doc/using/windows.rst:801 +#: ../Doc/using/windows.rst:804 msgid "" "The default Python will be located and used. As many Python scripts written " "to work on Unix will already have this line, you should find these scripts " @@ -1754,7 +1760,7 @@ msgstr "" "que sea útil en Unix, debería utilizar una de las líneas shebang que " "comienza con ``/usr``." -#: ../Doc/using/windows.rst:807 +#: ../Doc/using/windows.rst:810 msgid "" "Any of the above virtual commands can be suffixed with an explicit version " "(either just the major version, or the major and minor version). Furthermore " @@ -1768,7 +1774,7 @@ msgstr "" "\"-32\" detrás de la versión menor. Por ej. ``/usr/bin/python2.7-32`` " "solicitará el uso de la versión de 32 bit de Python 2.7." -#: ../Doc/using/windows.rst:815 +#: ../Doc/using/windows.rst:818 msgid "" "Beginning with python launcher 3.7 it is possible to request 64-bit version " "by the \"-64\" suffix. Furthermore it is possible to specify a major and " @@ -1779,7 +1785,7 @@ msgstr "" "mayor y la arquitectura sin la versión menor (por ej. ``/usr/bin/" "python3-64``)." -#: ../Doc/using/windows.rst:819 +#: ../Doc/using/windows.rst:822 msgid "" "The ``/usr/bin/env`` form of shebang line has one further special property. " "Before looking for installed Python interpreters, this form will search the " @@ -1793,11 +1799,11 @@ msgstr "" "comportamiento en Unix del programa ``env``, el cual realiza una búsqueda " "en :envvar:`PATH`." -#: ../Doc/using/windows.rst:825 +#: ../Doc/using/windows.rst:828 msgid "Arguments in shebang lines" msgstr "Argumentos en líneas shebang" -#: ../Doc/using/windows.rst:827 +#: ../Doc/using/windows.rst:830 msgid "" "The shebang lines can also specify additional options to be passed to the " "Python interpreter. For example, if you have a shebang line:" @@ -1805,19 +1811,19 @@ msgstr "" "Las líneas shebang también pueden especificar opciones adicionales para que " "sean pasadas al intérprete de Python. Por ej. si se tiene esta línea shebang:" -#: ../Doc/using/windows.rst:834 +#: ../Doc/using/windows.rst:837 msgid "Then Python will be started with the ``-v`` option" msgstr "Entonces Python se iniciará con la opción ``-v``" -#: ../Doc/using/windows.rst:837 +#: ../Doc/using/windows.rst:840 msgid "Customization" msgstr "Personalización" -#: ../Doc/using/windows.rst:840 +#: ../Doc/using/windows.rst:843 msgid "Customization via INI files" msgstr "Personalización con archivos INI" -#: ../Doc/using/windows.rst:842 +#: ../Doc/using/windows.rst:845 msgid "" "Two .ini files will be searched by the launcher - ``py.ini`` in the current " "user's \"application data\" directory (i.e. the directory returned by " @@ -1833,7 +1839,7 @@ msgstr "" "mismos archivos .ini son usados por la versión 'consola' del lanzador (py." "exe) y por la versión 'ventana' (pyw.exe)." -#: ../Doc/using/windows.rst:849 +#: ../Doc/using/windows.rst:852 msgid "" "Customization specified in the \"application directory\" will have " "precedence over the one next to the executable, so a user, who may not have " @@ -1845,11 +1851,11 @@ msgstr "" "usuario, que podría no tener acceso de escritura al archivo .ini que está " "junto al lanzador, puede sobrescribir comandos en ese archivo .ini global." -#: ../Doc/using/windows.rst:854 +#: ../Doc/using/windows.rst:857 msgid "Customizing default Python versions" msgstr "Personalizar las versiones de Python predeterminadas" -#: ../Doc/using/windows.rst:856 +#: ../Doc/using/windows.rst:859 msgid "" "In some cases, a version qualifier can be included in a command to dictate " "which version of Python will be used by the command. A version qualifier " @@ -1865,7 +1871,7 @@ msgstr "" "Además es posible especificar si se solicita una implementación de 32 o 64 " "bit agregando \"-32\" o \"-64\"." -#: ../Doc/using/windows.rst:862 +#: ../Doc/using/windows.rst:865 msgid "" "For example, a shebang line of ``#!python`` has no version qualifier, while " "``#!python3`` has a version qualifier which specifies only a major version." @@ -1874,7 +1880,7 @@ msgstr "" "versión, mientras que ``#!python3`` sí tiene un calificador de versión el " "cual especifica solo el número mayor de la versión." -#: ../Doc/using/windows.rst:865 +#: ../Doc/using/windows.rst:868 msgid "" "If no version qualifiers are found in a command, the environment variable :" "envvar:`PY_PYTHON` can be set to specify the default version qualifier. If " @@ -1891,7 +1897,7 @@ msgstr "" "\"3.7-64\". (Tener en cuenta que la opción \"-64\" solo está disponible con " "el lanzador incluido con Python 3.7 o versiones posteriores.)" -#: ../Doc/using/windows.rst:872 +#: ../Doc/using/windows.rst:875 msgid "" "If no minor version qualifiers are found, the environment variable " "``PY_PYTHON{major}`` (where ``{major}`` is the current major version " @@ -1910,7 +1916,7 @@ msgstr "" "no se garantiza, que sea la versión más recientemente instalada de esa " "familia." -#: ../Doc/using/windows.rst:880 +#: ../Doc/using/windows.rst:883 msgid "" "On 64-bit Windows with both 32-bit and 64-bit implementations of the same " "(major.minor) Python version installed, the 64-bit version will always be " @@ -1935,11 +1941,11 @@ msgstr "" "instalada). Como se especificó antes, el sufijo \"-32\" o \"-64\" puede ser " "utilizado en el especificador de versión para cambiar este comportamiento." -#: ../Doc/using/windows.rst:891 +#: ../Doc/using/windows.rst:894 msgid "Examples:" msgstr "Ejemplos:" -#: ../Doc/using/windows.rst:893 +#: ../Doc/using/windows.rst:896 msgid "" "If no relevant options are set, the commands ``python`` and ``python2`` will " "use the latest Python 2.x version installed and the command ``python3`` will " @@ -1949,7 +1955,7 @@ msgstr "" "``python2`` utilizarán la última versión de Python 2.x instalada y el " "comando ``python3`` utilizará el último Python 3.x instalado." -#: ../Doc/using/windows.rst:897 +#: ../Doc/using/windows.rst:900 msgid "" "The commands ``python3.1`` and ``python2.7`` will not consult any options at " "all as the versions are fully specified." @@ -1957,7 +1963,7 @@ msgstr "" "Los comandos ``python3.1`` y ``python2.7`` no consultarán ninguna opción ya " "que las versiones se encuentran completamente especificadas." -#: ../Doc/using/windows.rst:900 +#: ../Doc/using/windows.rst:903 msgid "" "If ``PY_PYTHON=3``, the commands ``python`` and ``python3`` will both use " "the latest installed Python 3 version." @@ -1965,7 +1971,7 @@ msgstr "" "Si ``PY_PYTHON=3``, los comandos ``python`` y ``python3`` utilizarán ambos " "la última versión instalada de Python 3." -#: ../Doc/using/windows.rst:903 +#: ../Doc/using/windows.rst:906 msgid "" "If ``PY_PYTHON=3.1-32``, the command ``python`` will use the 32-bit " "implementation of 3.1 whereas the command ``python3`` will use the latest " @@ -1977,7 +1983,7 @@ msgstr "" "último Python instalado (PY_PYTHON no se consideró para nada ya que se " "especificó una versión mayor)." -#: ../Doc/using/windows.rst:908 +#: ../Doc/using/windows.rst:911 msgid "" "If ``PY_PYTHON=3`` and ``PY_PYTHON3=3.1``, the commands ``python`` and " "``python3`` will both use specifically 3.1" @@ -1985,7 +1991,7 @@ msgstr "" "Si ``PY_PYTHON=3`` y ``PY_PYTHON3=3.1``, los comandos ``python`` y " "``python3`` utilizarán ambos 3.1 específicamente" -#: ../Doc/using/windows.rst:911 +#: ../Doc/using/windows.rst:914 msgid "" "In addition to environment variables, the same settings can be configured in " "the .INI file used by the launcher. The section in the INI file is called " @@ -2002,17 +2008,17 @@ msgstr "" "minúsculas). El contenido de las variables de entorno sobrescribirá los " "valores especificados en el archivo INI." -#: ../Doc/using/windows.rst:918 +#: ../Doc/using/windows.rst:921 msgid "For example:" msgstr "Por ejemplo:" -#: ../Doc/using/windows.rst:920 +#: ../Doc/using/windows.rst:923 msgid "Setting ``PY_PYTHON=3.1`` is equivalent to the INI file containing:" msgstr "" "Configurar ``PY_PYTHON=3.1`` es equivalente a un archivo INI con el " "contenido:" -#: ../Doc/using/windows.rst:927 +#: ../Doc/using/windows.rst:930 msgid "" "Setting ``PY_PYTHON=3`` and ``PY_PYTHON3=3.1`` is equivalent to the INI file " "containing:" @@ -2020,11 +2026,11 @@ msgstr "" "Configurar ``PY_PYTHON=3`` y ``PY_PYTHON3=3.1`` es equivalente a un archivo " "INI con el contenido:" -#: ../Doc/using/windows.rst:937 +#: ../Doc/using/windows.rst:940 msgid "Diagnostics" msgstr "Diagnóstico" -#: ../Doc/using/windows.rst:939 +#: ../Doc/using/windows.rst:942 msgid "" "If an environment variable ``PYLAUNCH_DEBUG`` is set (to any value), the " "launcher will print diagnostic information to stderr (i.e. to the console). " @@ -2040,11 +2046,11 @@ msgstr "" "una versión particular y la línea de comandos exacta que fue utilizada para " "ejecutar el Python escogido." -#: ../Doc/using/windows.rst:951 +#: ../Doc/using/windows.rst:954 msgid "Finding modules" msgstr "Encontrar módulos" -#: ../Doc/using/windows.rst:953 +#: ../Doc/using/windows.rst:956 msgid "" "Python usually stores its library (and thereby your site-packages folder) in " "the installation directory. So, if you had installed Python to :file:`C:\\" @@ -2058,7 +2064,7 @@ msgstr "" "en :file:`C:\\\\Python\\\\Lib\\\\` y los módulos de terceros deberían " "almacenarse en :file:`C:\\\\Python\\\\Lib\\\\site-packages\\\\`." -#: ../Doc/using/windows.rst:959 +#: ../Doc/using/windows.rst:962 msgid "" "To completely override :data:`sys.path`, create a ``._pth`` file with the " "same name as the DLL (``python37._pth``) or the executable (``python._pth``) " @@ -2073,7 +2079,7 @@ msgstr "" "en el ejecutable, lo que permite restringir las rutas para cualquier " "programa que cargue el tiempo de ejecución si se desea." -#: ../Doc/using/windows.rst:965 +#: ../Doc/using/windows.rst:968 msgid "" "When the file exists, all registry and environment variables are ignored, " "isolated mode is enabled, and :mod:`site` is not imported unless one line in " @@ -2090,7 +2096,7 @@ msgstr "" "importación más que la de ``site``, y no se puede especificar código " "arbitrario." -#: ../Doc/using/windows.rst:972 +#: ../Doc/using/windows.rst:975 msgid "" "Note that ``.pth`` files (without leading underscore) will be processed " "normally by the :mod:`site` module when ``import site`` has been specified." @@ -2099,7 +2105,7 @@ msgstr "" "procesados normalmente por el módulo :mod:`site` cuando ``import site`` haya " "sido especificado." -#: ../Doc/using/windows.rst:975 +#: ../Doc/using/windows.rst:978 msgid "" "When no ``._pth`` file is found, this is how :data:`sys.path` is populated " "on Windows:" @@ -2107,7 +2113,7 @@ msgstr "" "Cuando no se encuentre ningún archivo ``._pth``, así es como :data:`sys." "path` es completado en Windows:" -#: ../Doc/using/windows.rst:978 +#: ../Doc/using/windows.rst:981 msgid "" "An empty entry is added at the start, which corresponds to the current " "directory." @@ -2115,7 +2121,7 @@ msgstr "" "Se agrega una entrada vacía al comienzo, que corresponde al directorio " "actual." -#: ../Doc/using/windows.rst:981 +#: ../Doc/using/windows.rst:984 msgid "" "If the environment variable :envvar:`PYTHONPATH` exists, as described in :" "ref:`using-on-envvars`, its entries are added next. Note that on Windows, " @@ -2129,8 +2135,9 @@ msgstr "" "utilizados en los identificadores de disco (``C:\\``, etc.)." # "hive" se traduce como "subárbol" en este contexto. -# referencia: https://es.wikipedia.org/wiki/Registro_de_Windows#Sub%C3%A1rboles -#: ../Doc/using/windows.rst:986 +# referencia: +# https://es.wikipedia.org/wiki/Registro_de_Windows#Sub%C3%A1rboles +#: ../Doc/using/windows.rst:989 msgid "" "Additional \"application paths\" can be added in the registry as subkeys of :" "samp:`\\\\SOFTWARE\\\\Python\\\\PythonCore\\\\{version}\\\\PythonPath` under " @@ -2148,7 +2155,7 @@ msgstr "" "los instaladores conocidos solo utilizan HKLM, por lo que HKCU comúnmente se " "encuentra vacío.)" -#: ../Doc/using/windows.rst:993 +#: ../Doc/using/windows.rst:996 msgid "" "If the environment variable :envvar:`PYTHONHOME` is set, it is assumed as " "\"Python Home\". Otherwise, the path of the main Python executable is used " @@ -2168,7 +2175,7 @@ msgstr "" "la ruta principal de Python se construye a partir del PythonPath guardado en " "el registro." -#: ../Doc/using/windows.rst:1001 +#: ../Doc/using/windows.rst:1004 msgid "" "If the Python Home cannot be located, no :envvar:`PYTHONPATH` is specified " "in the environment, and no registry entries can be found, a default path " @@ -2179,7 +2186,7 @@ msgstr "" "se usa una ruta predeterminada con entradas relativas (por ej. ``.\\Lib;." "\\plat-win``, etc.)." -#: ../Doc/using/windows.rst:1005 +#: ../Doc/using/windows.rst:1008 msgid "" "If a ``pyvenv.cfg`` file is found alongside the main executable or in the " "directory one level above the executable, the following variations apply:" @@ -2188,7 +2195,7 @@ msgstr "" "el directorio un nivel arriba del ejecutable, se aplica la siguiente " "variación:" -#: ../Doc/using/windows.rst:1008 +#: ../Doc/using/windows.rst:1011 msgid "" "If ``home`` is an absolute path and :envvar:`PYTHONHOME` is not set, this " "path is used instead of the path to the main executable when deducing the " @@ -2198,11 +2205,11 @@ msgstr "" "se usa esta ruta en lugar de la ruta al ejecutable principal para deducir la " "ubicación del directorio de origen." -#: ../Doc/using/windows.rst:1012 +#: ../Doc/using/windows.rst:1015 msgid "The end result of all this is:" msgstr "El resultado final de todo esto es:" -#: ../Doc/using/windows.rst:1014 +#: ../Doc/using/windows.rst:1017 msgid "" "When running :file:`python.exe`, or any other .exe in the main Python " "directory (either an installed version, or directly from the PCbuild " @@ -2215,7 +2222,7 @@ msgstr "" "principales en el registro. Siempre se leen otras \"rutas de aplicación\" " "del registro." -#: ../Doc/using/windows.rst:1019 +#: ../Doc/using/windows.rst:1022 msgid "" "When Python is hosted in another .exe (different directory, embedded via " "COM, etc), the \"Python Home\" will not be deduced, so the core path from " @@ -2227,7 +2234,7 @@ msgstr "" "principal del registro. Siempre se leen otras \"rutas de aplicación\" del " "registro." -#: ../Doc/using/windows.rst:1023 +#: ../Doc/using/windows.rst:1026 msgid "" "If Python can't find its home and there are no registry value (frozen .exe, " "some very strange installation setup) you get a path with some default, but " @@ -2237,7 +2244,7 @@ msgstr "" "registro (un .exe congelado, una muy rara configuración de instalación) se " "obtiene una ruta relativa predeterminada." -#: ../Doc/using/windows.rst:1027 +#: ../Doc/using/windows.rst:1030 msgid "" "For those who want to bundle Python into their application or distribution, " "the following advice will prevent conflicts with other installations:" @@ -2245,7 +2252,7 @@ msgstr "" "Para aquellos que quieran incluir Python en su aplicación o distribución, " "los siguientes consejos evitarán conflictos con otras instalaciones:" -#: ../Doc/using/windows.rst:1030 +#: ../Doc/using/windows.rst:1033 msgid "" "Include a ``._pth`` file alongside your executable containing the " "directories to include. This will ignore paths listed in the registry and " @@ -2257,7 +2264,7 @@ msgstr "" "registro y en las variables de entorno, y que también se ignore :mod:`site` " "a menos que se especifique ``import site``." -#: ../Doc/using/windows.rst:1035 +#: ../Doc/using/windows.rst:1038 msgid "" "If you are loading :file:`python3.dll` or :file:`python37.dll` in your own " "executable, explicitly call :c:func:`Py_SetPath` or (at least) :c:func:" @@ -2267,7 +2274,7 @@ msgstr "" "propio, invocar explícitamente :c:func:`Py_SetPath` o (al menos) :c:func:" "`Py_SetProgramName` antes de :c:func:`Py_Initialize`." -#: ../Doc/using/windows.rst:1039 +#: ../Doc/using/windows.rst:1042 msgid "" "Clear and/or overwrite :envvar:`PYTHONPATH` and set :envvar:`PYTHONHOME` " "before launching :file:`python.exe` from your application." @@ -2275,7 +2282,7 @@ msgstr "" "Limpie y/o sobrescriba :envvar:`PYTHONPATH` y configure :envvar:`PYTHONHOME` " "antes de iniciar :file:`python.exe` desde su aplicación." -#: ../Doc/using/windows.rst:1042 +#: ../Doc/using/windows.rst:1045 msgid "" "If you cannot use the previous suggestions (for example, you are a " "distribution that allows people to run :file:`python.exe` directly), ensure " @@ -2290,7 +2297,7 @@ msgstr "" "este no será detectado dentro de un archivo ZIP, pero si se detectará un ZIP " "correctamente nombrado.)" -#: ../Doc/using/windows.rst:1048 +#: ../Doc/using/windows.rst:1051 msgid "" "These will ensure that the files in a system-wide installation will not take " "precedence over the copy of the standard library bundled with your " @@ -2306,7 +2313,7 @@ msgstr "" "mejor, ya que las otras aún pueden ser afectadas por rutas no estándar en el " "registro y en el site-packages del usuario." -#: ../Doc/using/windows.rst:1057 +#: ../Doc/using/windows.rst:1060 msgid "" "Adds ``._pth`` file support and removes ``applocal`` option from ``pyvenv." "cfg``." @@ -2314,7 +2321,7 @@ msgstr "" "Agrega soporte para archivos ``._pth`` y elimina la opción ``applocal`` de " "``pyvenv.cfg``." -#: ../Doc/using/windows.rst:1059 +#: ../Doc/using/windows.rst:1062 msgid "" "Adds ``pythonXX.zip`` as a potential landmark when directly adjacent to the " "executable." @@ -2322,7 +2329,7 @@ msgstr "" "Agrega ``pythonXX.zip`` como un potencial archivo de referencia cuando se " "encuentra junto al ejecutable." -#: ../Doc/using/windows.rst:1065 +#: ../Doc/using/windows.rst:1068 msgid "" "Modules specified in the registry under ``Modules`` (not ``PythonPath``) may " "be imported by :class:`importlib.machinery.WindowsRegistryFinder`. This " @@ -2335,11 +2342,11 @@ msgstr "" "versión 3.6.0 y anteriores, pero es posible que deba agregarse " "explícitamente a :attr:`sys.meta_path` en el futuro." -#: ../Doc/using/windows.rst:1071 +#: ../Doc/using/windows.rst:1074 msgid "Additional modules" msgstr "Módulos adicionales" -#: ../Doc/using/windows.rst:1073 +#: ../Doc/using/windows.rst:1076 msgid "" "Even though Python aims to be portable among all platforms, there are " "features that are unique to Windows. A couple of modules, both in the " @@ -2350,7 +2357,7 @@ msgstr "" "la biblioteca estándar y externos, y fragmentos de código para utilizar " "estas funciones." -#: ../Doc/using/windows.rst:1077 +#: ../Doc/using/windows.rst:1080 msgid "" "The Windows-specific standard modules are documented in :ref:`mswin-specific-" "services`." @@ -2358,11 +2365,11 @@ msgstr "" "Los módulos estándar específicos para Windows se encuentran documentados en :" "ref:`mswin-specific-services`." -#: ../Doc/using/windows.rst:1081 +#: ../Doc/using/windows.rst:1084 msgid "PyWin32" msgstr "PyWin32" -#: ../Doc/using/windows.rst:1083 +#: ../Doc/using/windows.rst:1086 msgid "" "The `PyWin32 `_ module by Mark Hammond is " "a collection of modules for advanced Windows-specific support. This " @@ -2372,7 +2379,7 @@ msgstr "" "una colección de módulos para soporte avanzado específico para Windows. Este " "incluye utilidades para:" -#: ../Doc/using/windows.rst:1087 +#: ../Doc/using/windows.rst:1090 msgid "" "`Component Object Model `_ (COM)" @@ -2380,19 +2387,19 @@ msgstr "" "`Component Object Model `_ (COM)" -#: ../Doc/using/windows.rst:1090 +#: ../Doc/using/windows.rst:1093 msgid "Win32 API calls" msgstr "Invocación de la API Win32" -#: ../Doc/using/windows.rst:1091 +#: ../Doc/using/windows.rst:1094 msgid "Registry" msgstr "Registro" -#: ../Doc/using/windows.rst:1092 +#: ../Doc/using/windows.rst:1095 msgid "Event log" msgstr "Registro de eventos" -#: ../Doc/using/windows.rst:1093 +#: ../Doc/using/windows.rst:1096 msgid "" "`Microsoft Foundation Classes `_ (MFC) user interfaces" @@ -2400,7 +2407,7 @@ msgstr "" "Interfaces de usuario para `Microsoft Foundation Classes `_ (MFC)" -#: ../Doc/using/windows.rst:1096 +#: ../Doc/using/windows.rst:1099 msgid "" "`PythonWin `_ is a sample MFC application shipped with PyWin32. " @@ -2410,29 +2417,29 @@ msgstr "" "org/windows/pythonwin/>`_ es una aplicación MFC de muestra distribuida con " "PyWin32. Es un IDE incrustable con depurador incorporado." -#: ../Doc/using/windows.rst:1103 +#: ../Doc/using/windows.rst:1106 msgid "" "`Win32 How Do I...? `_" msgstr "" "`Win32 How Do I...? `_" -#: ../Doc/using/windows.rst:1103 +#: ../Doc/using/windows.rst:1106 msgid "by Tim Golden" msgstr "por Tim Golden" -#: ../Doc/using/windows.rst:1105 +#: ../Doc/using/windows.rst:1108 msgid "`Python and COM `_" msgstr "`Python and COM `_" -#: ../Doc/using/windows.rst:1106 +#: ../Doc/using/windows.rst:1109 msgid "by David and Paul Boddie" msgstr "por David y Paul Boddie" -#: ../Doc/using/windows.rst:1110 +#: ../Doc/using/windows.rst:1113 msgid "cx_Freeze" msgstr "cx_Freeze" -#: ../Doc/using/windows.rst:1112 +#: ../Doc/using/windows.rst:1115 msgid "" "`cx_Freeze `_ is a :mod:" "`distutils` extension (see :ref:`extending-distutils`) which wraps Python " @@ -2446,11 +2453,11 @@ msgstr "" "files). Al hacer esto, se puede distribuir una aplicación sin que los " "usuarios instalen Python." -#: ../Doc/using/windows.rst:1120 +#: ../Doc/using/windows.rst:1123 msgid "WConio" msgstr "WConio" -#: ../Doc/using/windows.rst:1122 +#: ../Doc/using/windows.rst:1125 msgid "" "Since Python's advanced terminal handling layer, :mod:`curses`, is " "restricted to Unix-like systems, there is a library exclusive to Windows as " @@ -2460,7 +2467,7 @@ msgstr "" "se encuentra restringida a sistemas tipo Unix, también hay una biblioteca " "exclusiva para Windows: Windows Console I/O para Python." -#: ../Doc/using/windows.rst:1126 +#: ../Doc/using/windows.rst:1129 msgid "" "`WConio `_ is a wrapper " "for Turbo-C's :file:`CONIO.H`, used to create text user interfaces." @@ -2469,11 +2476,11 @@ msgstr "" "contenedor para :file:`CONIO.H` de Turbo-C, utilizado para crear interfaces " "de usuario de texto." -#: ../Doc/using/windows.rst:1132 +#: ../Doc/using/windows.rst:1135 msgid "Compiling Python on Windows" msgstr "Compilar Python en Windows" -#: ../Doc/using/windows.rst:1134 +#: ../Doc/using/windows.rst:1137 msgid "" "If you want to compile CPython yourself, first thing you should do is get " "the `source `_. You can download " @@ -2486,7 +2493,7 @@ msgstr "" "una nueva `copia `_." -#: ../Doc/using/windows.rst:1139 +#: ../Doc/using/windows.rst:1142 msgid "" "The source tree contains a build solution and project files for Microsoft " "Visual Studio 2015, which is the compiler used to build the official Python " @@ -2497,7 +2504,7 @@ msgstr "" "utilizado para compilar las versiones oficiales de Python. Estos archivos se " "encuentran en el directorio :file:`PCbuild`." -#: ../Doc/using/windows.rst:1143 +#: ../Doc/using/windows.rst:1146 msgid "" "Check :file:`PCbuild/readme.txt` for general information on the build " "process." @@ -2505,11 +2512,11 @@ msgstr "" "Consulte :file:`PCbuild/readme.txt` para obtener información general acerca " "del proceso de compilación." -#: ../Doc/using/windows.rst:1146 +#: ../Doc/using/windows.rst:1149 msgid "For extension modules, consult :ref:`building-on-windows`." msgstr "Para módulos de extensión, consulte :ref:`building-on-windows`." -#: ../Doc/using/windows.rst:1153 +#: ../Doc/using/windows.rst:1155 msgid "" "`Python + Windows + distutils + SWIG + gcc MinGW `_" @@ -2517,7 +2524,7 @@ msgstr "" "`Python + Windows + distutils + SWIG + gcc MinGW `_" -#: ../Doc/using/windows.rst:1151 +#: ../Doc/using/windows.rst:1154 msgid "" "or \"Creating Python extensions in C/C++ with SWIG and compiling them with " "MinGW gcc under Windows\" or \"Installing Python extension with distutils " @@ -2527,15 +2534,11 @@ msgstr "" "MinGW gcc under Windows\" o \"Installing Python extension with distutils and " "without Microsoft Visual C++\" por Sébastien Sauvage, 2003" -#: ../Doc/using/windows.rst:1155 -msgid "`MingW -- Python extensions `_" -msgstr "`MingW -- Python extensions `_" - -#: ../Doc/using/windows.rst:1159 +#: ../Doc/using/windows.rst:1160 msgid "Other Platforms" msgstr "Otras plataformas" -#: ../Doc/using/windows.rst:1161 +#: ../Doc/using/windows.rst:1162 msgid "" "With ongoing development of Python, some platforms that used to be supported " "earlier are no longer supported (due to the lack of users or developers). " @@ -2545,11 +2548,11 @@ msgstr "" "compatibles ya no lo son (debido a la falta de usuarios o desarrolladores). " "Consulte :pep:`11` para detalles sobre las plataformas no soportadas." -#: ../Doc/using/windows.rst:1165 +#: ../Doc/using/windows.rst:1166 msgid "`Windows CE `_ is still supported." msgstr "`Windows CE `_ es aún soportado." -#: ../Doc/using/windows.rst:1166 +#: ../Doc/using/windows.rst:1167 msgid "" "The `Cygwin `_ installer offers to install the Python " "interpreter as well (cf. `Cygwin package source `_, " "`Maintainer releases `_)" -#: ../Doc/using/windows.rst:1172 +#: ../Doc/using/windows.rst:1173 msgid "" "See `Python for Windows `_ for " "detailed information about platforms with pre-compiled installers." @@ -2569,3 +2572,18 @@ msgstr "" "Para obtener información detallada acerca de las plataformas con " "instaladores precompilados consulte `Python for Windows `_." + +#~ msgid "" +#~ "As specified in :pep:`11`, a Python release only supports a Windows " +#~ "platform while Microsoft considers the platform under extended support. " +#~ "This means that Python |version| supports Windows Vista and newer. If you " +#~ "require Windows XP support then please install Python 3.4." +#~ msgstr "" +#~ "Como se especifica en :pep:`11`, una versión de Python solo soporta una " +#~ "plataforma Windows mientras Microsoft considere dicha plataforma bajo " +#~ "soporte extendido. Esto significa que Python |version| es compatible con " +#~ "Windows Vista y versiones posteriores. Si necesita compatibilidad con " +#~ "Windows XP entonces instale Python 3.4." + +#~ msgid "`MingW -- Python extensions `_" +#~ msgstr "`MingW -- Python extensions `_" diff --git a/whatsnew/3.0.po b/whatsnew/3.0.po index 1874604571..9331166b1f 100644 --- a/whatsnew/3.0.po +++ b/whatsnew/3.0.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: python-doc-es\n" @@ -24,19 +24,15 @@ msgstr "" msgid "What's New In Python 3.0" msgstr "" -#: ../Doc/whatsnew/3.0.rst:5 -msgid "TEST CHANGE TO BE UNDONE" -msgstr "" - #: ../Doc/whatsnew/3.0.rst msgid "Author" msgstr "" -#: ../Doc/whatsnew/3.0.rst:9 +#: ../Doc/whatsnew/3.0.rst:7 msgid "Guido van Rossum" msgstr "" -#: ../Doc/whatsnew/3.0.rst:56 +#: ../Doc/whatsnew/3.0.rst:54 msgid "" "This article explains the new features in Python 3.0, compared to 2.6. " "Python 3.0, also known as \"Python 3000\" or \"Py3K\", is the first ever " @@ -47,7 +43,7 @@ msgid "" "fixing well-known annoyances and warts, and removing a lot of old cruft." msgstr "" -#: ../Doc/whatsnew/3.0.rst:65 +#: ../Doc/whatsnew/3.0.rst:63 msgid "" "This article doesn't attempt to provide a complete specification of all new " "features, but instead tries to give a convenient overview. For full details, " @@ -58,7 +54,7 @@ msgid "" "are not kept up-to-date once a feature has been fully implemented." msgstr "" -#: ../Doc/whatsnew/3.0.rst:74 +#: ../Doc/whatsnew/3.0.rst:72 msgid "" "Due to time constraints this document is not as complete as it should have " "been. As always for a new release, the ``Misc/NEWS`` file in the source " @@ -66,40 +62,40 @@ msgid "" "thing that was changed." msgstr "" -#: ../Doc/whatsnew/3.0.rst:91 +#: ../Doc/whatsnew/3.0.rst:89 msgid "Common Stumbling Blocks" msgstr "" -#: ../Doc/whatsnew/3.0.rst:93 +#: ../Doc/whatsnew/3.0.rst:91 msgid "" "This section lists those few changes that are most likely to trip you up if " "you're used to Python 2.5." msgstr "" -#: ../Doc/whatsnew/3.0.rst:97 +#: ../Doc/whatsnew/3.0.rst:95 msgid "Print Is A Function" msgstr "" -#: ../Doc/whatsnew/3.0.rst:99 +#: ../Doc/whatsnew/3.0.rst:97 msgid "" "The ``print`` statement has been replaced with a :func:`print` function, " "with keyword arguments to replace most of the special syntax of the old " "``print`` statement (:pep:`3105`). Examples::" msgstr "" -#: ../Doc/whatsnew/3.0.rst:118 +#: ../Doc/whatsnew/3.0.rst:116 msgid "You can also customize the separator between items, e.g.::" msgstr "" -#: ../Doc/whatsnew/3.0.rst:122 +#: ../Doc/whatsnew/3.0.rst:120 msgid "which produces:" msgstr "" -#: ../Doc/whatsnew/3.0.rst:128 +#: ../Doc/whatsnew/3.0.rst:126 msgid "Note:" msgstr "" -#: ../Doc/whatsnew/3.0.rst:130 +#: ../Doc/whatsnew/3.0.rst:128 msgid "" "The :func:`print` function doesn't support the \"softspace\" feature of the " "old ``print`` statement. For example, in Python 2.x, ``print \"A\\n\", \"B" @@ -107,28 +103,28 @@ msgid "" "\")`` writes ``\"A\\n B\\n\"``." msgstr "" -#: ../Doc/whatsnew/3.0.rst:135 +#: ../Doc/whatsnew/3.0.rst:133 msgid "" "Initially, you'll be finding yourself typing the old ``print x`` a lot in " "interactive mode. Time to retrain your fingers to type ``print(x)`` instead!" msgstr "" -#: ../Doc/whatsnew/3.0.rst:139 +#: ../Doc/whatsnew/3.0.rst:137 msgid "" "When using the ``2to3`` source-to-source conversion tool, all ``print`` " "statements are automatically converted to :func:`print` function calls, so " "this is mostly a non-issue for larger projects." msgstr "" -#: ../Doc/whatsnew/3.0.rst:145 +#: ../Doc/whatsnew/3.0.rst:143 msgid "Views And Iterators Instead Of Lists" msgstr "" -#: ../Doc/whatsnew/3.0.rst:147 +#: ../Doc/whatsnew/3.0.rst:145 msgid "Some well-known APIs no longer return lists:" msgstr "" -#: ../Doc/whatsnew/3.0.rst:149 +#: ../Doc/whatsnew/3.0.rst:147 msgid "" ":class:`dict` methods :meth:`dict.keys`, :meth:`dict.items` and :meth:`dict." "values` return \"views\" instead of lists. For example, this no longer " @@ -136,13 +132,13 @@ msgid "" "works in Python 2.5 too and is just as efficient)." msgstr "" -#: ../Doc/whatsnew/3.0.rst:155 +#: ../Doc/whatsnew/3.0.rst:153 msgid "" "Also, the :meth:`dict.iterkeys`, :meth:`dict.iteritems` and :meth:`dict." "itervalues` methods are no longer supported." msgstr "" -#: ../Doc/whatsnew/3.0.rst:158 +#: ../Doc/whatsnew/3.0.rst:156 msgid "" ":func:`map` and :func:`filter` return iterators. If you really need a list " "and the input sequences are all of equal length, a quick fix is to wrap :" @@ -154,7 +150,7 @@ msgid "" "(since creating a list would just be wasteful)." msgstr "" -#: ../Doc/whatsnew/3.0.rst:169 +#: ../Doc/whatsnew/3.0.rst:167 msgid "" "If the input sequences are not of equal length, :func:`map` will stop at the " "termination of the shortest of the sequences. For full compatibility with :" @@ -163,25 +159,25 @@ msgid "" "itertools.zip_longest(*sequences)))``." msgstr "" -#: ../Doc/whatsnew/3.0.rst:175 +#: ../Doc/whatsnew/3.0.rst:173 msgid "" ":func:`range` now behaves like :func:`xrange` used to behave, except it " "works with values of arbitrary size. The latter no longer exists." msgstr "" -#: ../Doc/whatsnew/3.0.rst:179 +#: ../Doc/whatsnew/3.0.rst:177 msgid ":func:`zip` now returns an iterator." msgstr "" -#: ../Doc/whatsnew/3.0.rst:182 +#: ../Doc/whatsnew/3.0.rst:180 msgid "Ordering Comparisons" msgstr "" -#: ../Doc/whatsnew/3.0.rst:184 +#: ../Doc/whatsnew/3.0.rst:182 msgid "Python 3.0 has simplified the rules for ordering comparisons:" msgstr "" -#: ../Doc/whatsnew/3.0.rst:186 +#: ../Doc/whatsnew/3.0.rst:184 msgid "" "The ordering comparison operators (``<``, ``<=``, ``>=``, ``>``) raise a " "TypeError exception when the operands don't have a meaningful natural " @@ -193,14 +189,14 @@ msgid "" "objects of different incomparable types always compare unequal to each other." msgstr "" -#: ../Doc/whatsnew/3.0.rst:197 +#: ../Doc/whatsnew/3.0.rst:195 msgid "" ":meth:`builtin.sorted` and :meth:`list.sort` no longer accept the *cmp* " "argument providing a comparison function. Use the *key* argument instead. N." "B. the *key* and *reverse* arguments are now \"keyword-only\"." msgstr "" -#: ../Doc/whatsnew/3.0.rst:202 +#: ../Doc/whatsnew/3.0.rst:200 msgid "" "The :func:`cmp` function should be treated as gone, and the :meth:`__cmp__` " "special method is no longer supported. Use :meth:`__lt__` for sorting, :" @@ -209,25 +205,25 @@ msgid "" "expression ``(a > b) - (a < b)`` as the equivalent for ``cmp(a, b)``.)" msgstr "" -#: ../Doc/whatsnew/3.0.rst:209 +#: ../Doc/whatsnew/3.0.rst:207 msgid "Integers" msgstr "" -#: ../Doc/whatsnew/3.0.rst:211 +#: ../Doc/whatsnew/3.0.rst:209 msgid "" ":pep:`237`: Essentially, :class:`long` renamed to :class:`int`. That is, " "there is only one built-in integral type, named :class:`int`; but it behaves " "mostly like the old :class:`long` type." msgstr "" -#: ../Doc/whatsnew/3.0.rst:215 +#: ../Doc/whatsnew/3.0.rst:213 msgid "" ":pep:`238`: An expression like ``1/2`` returns a float. Use ``1//2`` to get " "the truncating behavior. (The latter syntax has existed for years, at least " "since Python 2.2.)" msgstr "" -#: ../Doc/whatsnew/3.0.rst:219 +#: ../Doc/whatsnew/3.0.rst:217 msgid "" "The :data:`sys.maxint` constant was removed, since there is no longer a " "limit to the value of integers. However, :data:`sys.maxsize` can be used as " @@ -237,28 +233,28 @@ msgid "" "same build options)." msgstr "" -#: ../Doc/whatsnew/3.0.rst:226 +#: ../Doc/whatsnew/3.0.rst:224 msgid "" "The :func:`repr` of a long integer doesn't include the trailing ``L`` " "anymore, so code that unconditionally strips that character will chop off " "the last digit instead. (Use :func:`str` instead.)" msgstr "" -#: ../Doc/whatsnew/3.0.rst:230 +#: ../Doc/whatsnew/3.0.rst:228 msgid "" "Octal literals are no longer of the form ``0720``; use ``0o720`` instead." msgstr "" -#: ../Doc/whatsnew/3.0.rst:234 +#: ../Doc/whatsnew/3.0.rst:232 msgid "Text Vs. Data Instead Of Unicode Vs. 8-bit" msgstr "" -#: ../Doc/whatsnew/3.0.rst:236 +#: ../Doc/whatsnew/3.0.rst:234 msgid "" "Everything you thought you knew about binary data and Unicode has changed." msgstr "" -#: ../Doc/whatsnew/3.0.rst:239 +#: ../Doc/whatsnew/3.0.rst:237 msgid "" "Python 3.0 uses the concepts of *text* and (binary) *data* instead of " "Unicode strings and 8-bit strings. All text is Unicode; however *encoded* " @@ -272,7 +268,7 @@ msgid "" "numerous sad faces over the years." msgstr "" -#: ../Doc/whatsnew/3.0.rst:252 +#: ../Doc/whatsnew/3.0.rst:250 msgid "" "As a consequence of this change in philosophy, pretty much all code that " "uses Unicode, encodings or binary data most likely has to change. The " @@ -283,13 +279,13 @@ msgid "" "of the work for you." msgstr "" -#: ../Doc/whatsnew/3.0.rst:260 +#: ../Doc/whatsnew/3.0.rst:258 msgid "" "You can no longer use ``u\"...\"`` literals for Unicode text. However, you " "must use ``b\"...\"`` literals for binary data." msgstr "" -#: ../Doc/whatsnew/3.0.rst:263 +#: ../Doc/whatsnew/3.0.rst:261 msgid "" "As the :class:`str` and :class:`bytes` types cannot be mixed, you must " "always explicitly convert between them. Use :meth:`str.encode` to go from :" @@ -298,7 +294,7 @@ msgid "" "``str(b, encoding=...)``, respectively." msgstr "" -#: ../Doc/whatsnew/3.0.rst:270 +#: ../Doc/whatsnew/3.0.rst:268 msgid "" "Like :class:`str`, the :class:`bytes` type is immutable. There is a " "separate *mutable* type to hold buffered binary data, :class:`bytearray`. " @@ -306,7 +302,7 @@ msgid "" "The mutable API is based on :class:`collections.MutableSequence`." msgstr "" -#: ../Doc/whatsnew/3.0.rst:276 +#: ../Doc/whatsnew/3.0.rst:274 msgid "" "All backslashes in raw string literals are interpreted literally. This means " "that ``'\\U'`` and ``'\\u'`` escapes in raw strings are not treated " @@ -316,7 +312,7 @@ msgid "" "euro character is ``'\\u20ac'`` in Python 3.0.)" msgstr "" -#: ../Doc/whatsnew/3.0.rst:283 +#: ../Doc/whatsnew/3.0.rst:281 msgid "" "The built-in :class:`basestring` abstract type was removed. Use :class:" "`str` instead. The :class:`str` and :class:`bytes` types don't have " @@ -325,7 +321,7 @@ msgid "" "class:`str`." msgstr "" -#: ../Doc/whatsnew/3.0.rst:289 +#: ../Doc/whatsnew/3.0.rst:287 msgid "" "Files opened as text files (still the default mode for :func:`open`) always " "use an encoding to map between strings (in memory) and bytes (on disk). " @@ -343,7 +339,7 @@ msgid "" "the encoding-aware streams in the :mod:`codecs` module." msgstr "" -#: ../Doc/whatsnew/3.0.rst:306 +#: ../Doc/whatsnew/3.0.rst:304 msgid "" "The initial values of :data:`sys.stdin`, :data:`sys.stdout` and :data:`sys." "stderr` are now unicode-only text files (i.e., they are instances of :class:" @@ -351,7 +347,7 @@ msgid "" "to use their :data:`io.TextIOBase.buffer` attribute." msgstr "" -#: ../Doc/whatsnew/3.0.rst:312 +#: ../Doc/whatsnew/3.0.rst:310 msgid "" "Filenames are passed to and returned from APIs as (Unicode) strings. This " "can present platform-specific problems because on some platforms filenames " @@ -367,7 +363,7 @@ msgid "" "raising :exc:`UnicodeError`." msgstr "" -#: ../Doc/whatsnew/3.0.rst:327 +#: ../Doc/whatsnew/3.0.rst:325 msgid "" "Some system APIs like :data:`os.environ` and :data:`sys.argv` can also " "present problems when the bytes made available by the system is not " @@ -375,50 +371,50 @@ msgid "" "rerunning the program is probably the best approach." msgstr "" -#: ../Doc/whatsnew/3.0.rst:332 +#: ../Doc/whatsnew/3.0.rst:330 msgid "" ":pep:`3138`: The :func:`repr` of a string no longer escapes non-ASCII " "characters. It still escapes control characters and code points with non-" "printable status in the Unicode standard, however." msgstr "" -#: ../Doc/whatsnew/3.0.rst:336 +#: ../Doc/whatsnew/3.0.rst:334 msgid ":pep:`3120`: The default source encoding is now UTF-8." msgstr "" -#: ../Doc/whatsnew/3.0.rst:338 +#: ../Doc/whatsnew/3.0.rst:336 msgid "" ":pep:`3131`: Non-ASCII letters are now allowed in identifiers. (However, the " "standard library remains ASCII-only with the exception of contributor names " "in comments.)" msgstr "" -#: ../Doc/whatsnew/3.0.rst:342 +#: ../Doc/whatsnew/3.0.rst:340 msgid "" "The :mod:`StringIO` and :mod:`cStringIO` modules are gone. Instead, import " "the :mod:`io` module and use :class:`io.StringIO` or :class:`io.BytesIO` for " "text and data respectively." msgstr "" -#: ../Doc/whatsnew/3.0.rst:346 +#: ../Doc/whatsnew/3.0.rst:344 msgid "See also the :ref:`unicode-howto`, which was updated for Python 3.0." msgstr "" -#: ../Doc/whatsnew/3.0.rst:350 +#: ../Doc/whatsnew/3.0.rst:348 msgid "Overview Of Syntax Changes" msgstr "" -#: ../Doc/whatsnew/3.0.rst:352 +#: ../Doc/whatsnew/3.0.rst:350 msgid "" "This section gives a brief overview of every *syntactic* change in Python " "3.0." msgstr "" -#: ../Doc/whatsnew/3.0.rst:356 +#: ../Doc/whatsnew/3.0.rst:354 msgid "New Syntax" msgstr "" -#: ../Doc/whatsnew/3.0.rst:358 +#: ../Doc/whatsnew/3.0.rst:356 msgid "" ":pep:`3107`: Function argument and return value annotations. This provides " "a standardized way of annotating a function's parameters and return value. " @@ -428,7 +424,7 @@ msgid "" "frameworks." msgstr "" -#: ../Doc/whatsnew/3.0.rst:365 +#: ../Doc/whatsnew/3.0.rst:363 msgid "" ":pep:`3102`: Keyword-only arguments. Named parameters occurring after " "``*args`` in the parameter list *must* be specified using keyword syntax in " @@ -437,7 +433,7 @@ msgid "" "keyword-only arguments." msgstr "" -#: ../Doc/whatsnew/3.0.rst:371 +#: ../Doc/whatsnew/3.0.rst:369 msgid "" "Keyword arguments are allowed after the list of base classes in a class " "definition. This is used by the new convention for specifying a metaclass " @@ -445,14 +441,14 @@ msgid "" "the metaclass supports it." msgstr "" -#: ../Doc/whatsnew/3.0.rst:376 +#: ../Doc/whatsnew/3.0.rst:374 msgid "" ":pep:`3104`: :keyword:`nonlocal` statement. Using ``nonlocal x`` you can " "now assign directly to a variable in an outer (but non-global) scope. :" "keyword:`!nonlocal` is a new reserved word." msgstr "" -#: ../Doc/whatsnew/3.0.rst:380 +#: ../Doc/whatsnew/3.0.rst:378 msgid "" ":pep:`3132`: Extended Iterable Unpacking. You can now write things like " "``a, b, *rest = some_sequence``. And even ``*rest, a = stuff``. The " @@ -460,17 +456,17 @@ msgid "" "be any iterable. Example::" msgstr "" -#: ../Doc/whatsnew/3.0.rst:387 +#: ../Doc/whatsnew/3.0.rst:385 msgid "This sets *a* to ``0``, *b* to ``4``, and *rest* to ``[1, 2, 3]``." msgstr "" -#: ../Doc/whatsnew/3.0.rst:389 +#: ../Doc/whatsnew/3.0.rst:387 msgid "" "Dictionary comprehensions: ``{k: v for k, v in stuff}`` means the same thing " "as ``dict(stuff)`` but is more flexible. (This is :pep:`274` vindicated. :-)" msgstr "" -#: ../Doc/whatsnew/3.0.rst:393 +#: ../Doc/whatsnew/3.0.rst:391 msgid "" "Set literals, e.g. ``{1, 2}``. Note that ``{}`` is an empty dictionary; use " "``set()`` for an empty set. Set comprehensions are also supported; e.g., " @@ -478,68 +474,68 @@ msgid "" "flexible." msgstr "" -#: ../Doc/whatsnew/3.0.rst:398 +#: ../Doc/whatsnew/3.0.rst:396 msgid "" "New octal literals, e.g. ``0o720`` (already in 2.6). The old octal literals " "(``0720``) are gone." msgstr "" -#: ../Doc/whatsnew/3.0.rst:401 +#: ../Doc/whatsnew/3.0.rst:399 msgid "" "New binary literals, e.g. ``0b1010`` (already in 2.6), and there is a new " "corresponding built-in function, :func:`bin`." msgstr "" -#: ../Doc/whatsnew/3.0.rst:404 +#: ../Doc/whatsnew/3.0.rst:402 msgid "" "Bytes literals are introduced with a leading ``b`` or ``B``, and there is a " "new corresponding built-in function, :func:`bytes`." msgstr "" -#: ../Doc/whatsnew/3.0.rst:408 +#: ../Doc/whatsnew/3.0.rst:406 msgid "Changed Syntax" msgstr "" -#: ../Doc/whatsnew/3.0.rst:410 +#: ../Doc/whatsnew/3.0.rst:408 msgid "" ":pep:`3109` and :pep:`3134`: new :keyword:`raise` statement syntax: :samp:" "`raise [{expr} [from {expr}]]`. See below." msgstr "" -#: ../Doc/whatsnew/3.0.rst:413 +#: ../Doc/whatsnew/3.0.rst:411 msgid "" ":keyword:`!as` and :keyword:`with` are now reserved words. (Since 2.6, " "actually.)" msgstr "" -#: ../Doc/whatsnew/3.0.rst:416 +#: ../Doc/whatsnew/3.0.rst:414 msgid "" "``True``, ``False``, and ``None`` are reserved words. (2.6 partially " "enforced the restrictions on ``None`` already.)" msgstr "" -#: ../Doc/whatsnew/3.0.rst:419 +#: ../Doc/whatsnew/3.0.rst:417 msgid "" "Change from :keyword:`except` *exc*, *var* to :keyword:`!except` *exc* :" "keyword:`!as` *var*. See :pep:`3110`." msgstr "" -#: ../Doc/whatsnew/3.0.rst:422 +#: ../Doc/whatsnew/3.0.rst:420 msgid ":pep:`3115`: New Metaclass Syntax. Instead of::" msgstr "" -#: ../Doc/whatsnew/3.0.rst:428 +#: ../Doc/whatsnew/3.0.rst:426 msgid "you must now use::" msgstr "" -#: ../Doc/whatsnew/3.0.rst:433 +#: ../Doc/whatsnew/3.0.rst:431 msgid "" "The module-global :data:`__metaclass__` variable is no longer supported. " "(It was a crutch to make it easier to default to new-style classes without " "deriving every class from :class:`object`.)" msgstr "" -#: ../Doc/whatsnew/3.0.rst:438 +#: ../Doc/whatsnew/3.0.rst:436 msgid "" "List comprehensions no longer support the syntactic form :samp:`[... for " "{var} in {item1}, {item2}, ...]`. Use :samp:`[... for {var} in ({item1}, " @@ -549,7 +545,7 @@ msgid "" "variables are no longer leaked into the surrounding scope." msgstr "" -#: ../Doc/whatsnew/3.0.rst:446 +#: ../Doc/whatsnew/3.0.rst:444 msgid "" "The *ellipsis* (``...``) can be used as an atomic expression anywhere. " "(Previously it was only allowed in slices.) Also, it *must* now be spelled " @@ -557,25 +553,25 @@ msgid "" "accident of the grammar.)" msgstr "" -#: ../Doc/whatsnew/3.0.rst:452 +#: ../Doc/whatsnew/3.0.rst:450 msgid "Removed Syntax" msgstr "" -#: ../Doc/whatsnew/3.0.rst:454 +#: ../Doc/whatsnew/3.0.rst:452 msgid "" ":pep:`3113`: Tuple parameter unpacking removed. You can no longer write " "``def foo(a, (b, c)): ...``. Use ``def foo(a, b_c): b, c = b_c`` instead." msgstr "" -#: ../Doc/whatsnew/3.0.rst:458 +#: ../Doc/whatsnew/3.0.rst:456 msgid "Removed backticks (use :func:`repr` instead)." msgstr "" -#: ../Doc/whatsnew/3.0.rst:460 +#: ../Doc/whatsnew/3.0.rst:458 msgid "Removed ``<>`` (use ``!=`` instead)." msgstr "" -#: ../Doc/whatsnew/3.0.rst:462 +#: ../Doc/whatsnew/3.0.rst:460 msgid "" "Removed keyword: :func:`exec` is no longer a keyword; it remains as a " "function. (Fortunately the function syntax was also accepted in 2.x.) Also " @@ -583,36 +579,36 @@ msgid "" "``exec(f)`` you can use ``exec(f.read())``." msgstr "" -#: ../Doc/whatsnew/3.0.rst:467 +#: ../Doc/whatsnew/3.0.rst:465 msgid "Integer literals no longer support a trailing ``l`` or ``L``." msgstr "" -#: ../Doc/whatsnew/3.0.rst:469 +#: ../Doc/whatsnew/3.0.rst:467 msgid "String literals no longer support a leading ``u`` or ``U``." msgstr "" -#: ../Doc/whatsnew/3.0.rst:471 +#: ../Doc/whatsnew/3.0.rst:469 msgid "" "The :keyword:`from` *module* :keyword:`import` ``*`` syntax is only allowed " "at the module level, no longer inside functions." msgstr "" -#: ../Doc/whatsnew/3.0.rst:474 +#: ../Doc/whatsnew/3.0.rst:472 msgid "" "The only acceptable syntax for relative imports is :samp:`from .[{module}] " "import {name}`. All :keyword:`import` forms not starting with ``.`` are " "interpreted as absolute imports. (:pep:`328`)" msgstr "" -#: ../Doc/whatsnew/3.0.rst:478 +#: ../Doc/whatsnew/3.0.rst:476 msgid "Classic classes are gone." msgstr "" -#: ../Doc/whatsnew/3.0.rst:482 +#: ../Doc/whatsnew/3.0.rst:480 msgid "Changes Already Present In Python 2.6" msgstr "" -#: ../Doc/whatsnew/3.0.rst:484 +#: ../Doc/whatsnew/3.0.rst:482 msgid "" "Since many users presumably make the jump straight from Python 2.5 to Python " "3.0, this section reminds the reader of new features that were originally " @@ -621,28 +617,28 @@ msgid "" "longer descriptions." msgstr "" -#: ../Doc/whatsnew/3.0.rst:490 +#: ../Doc/whatsnew/3.0.rst:488 msgid "" ":ref:`pep-0343`. The :keyword:`with` statement is now a standard feature " "and no longer needs to be imported from the :mod:`__future__`. Also check " "out :ref:`new-26-context-managers` and :ref:`new-module-contextlib`." msgstr "" -#: ../Doc/whatsnew/3.0.rst:495 +#: ../Doc/whatsnew/3.0.rst:493 msgid "" ":ref:`pep-0366`. This enhances the usefulness of the :option:`-m` option " "when the referenced module lives in a package." msgstr "" -#: ../Doc/whatsnew/3.0.rst:498 +#: ../Doc/whatsnew/3.0.rst:496 msgid ":ref:`pep-0370`." msgstr "" -#: ../Doc/whatsnew/3.0.rst:500 +#: ../Doc/whatsnew/3.0.rst:498 msgid ":ref:`pep-0371`." msgstr "" -#: ../Doc/whatsnew/3.0.rst:502 +#: ../Doc/whatsnew/3.0.rst:500 msgid "" ":ref:`pep-3101`. Note: the 2.6 description mentions the :meth:`format` " "method for both 8-bit and Unicode strings. In 3.0, only the :class:`str` " @@ -651,27 +647,27 @@ msgid "" "string formatting, and to start deprecating the ``%`` operator in Python 3.1." msgstr "" -#: ../Doc/whatsnew/3.0.rst:509 +#: ../Doc/whatsnew/3.0.rst:507 msgid "" ":ref:`pep-3105`. This is now a standard feature and no longer needs to be " "imported from :mod:`__future__`. More details were given above." msgstr "" -#: ../Doc/whatsnew/3.0.rst:512 +#: ../Doc/whatsnew/3.0.rst:510 msgid "" ":ref:`pep-3110`. The :keyword:`except` *exc* :keyword:`!as` *var* syntax is " "now standard and :keyword:`!except` *exc*, *var* is no longer supported. " "(Of course, the :keyword:`!as` *var* part is still optional.)" msgstr "" -#: ../Doc/whatsnew/3.0.rst:517 +#: ../Doc/whatsnew/3.0.rst:515 msgid "" ":ref:`pep-3112`. The ``b\"...\"`` string literal notation (and its variants " "like ``b'...'``, ``b\"\"\"...\"\"\"``, and ``br\"...\"``) now produces a " "literal of type :class:`bytes`." msgstr "" -#: ../Doc/whatsnew/3.0.rst:521 +#: ../Doc/whatsnew/3.0.rst:519 msgid "" ":ref:`pep-3116`. The :mod:`io` module is now the standard way of doing file " "I/O. The built-in :func:`open` function is now an alias for :func:`io.open` " @@ -683,13 +679,13 @@ msgid "" "decoding operations)." msgstr "" -#: ../Doc/whatsnew/3.0.rst:531 +#: ../Doc/whatsnew/3.0.rst:529 msgid "" ":ref:`pep-3118`. The old builtin :func:`buffer` is now really gone; the new " "builtin :func:`memoryview` provides (mostly) similar functionality." msgstr "" -#: ../Doc/whatsnew/3.0.rst:535 +#: ../Doc/whatsnew/3.0.rst:533 msgid "" ":ref:`pep-3119`. The :mod:`abc` module and the ABCs defined in the :mod:" "`collections` module plays a somewhat more prominent role in the language " @@ -698,35 +694,35 @@ msgid "" "MutableSequence` ABCs, respectively." msgstr "" -#: ../Doc/whatsnew/3.0.rst:541 +#: ../Doc/whatsnew/3.0.rst:539 msgid "" ":ref:`pep-3127`. As mentioned above, the new octal literal notation is the " "only one supported, and binary literals have been added." msgstr "" -#: ../Doc/whatsnew/3.0.rst:545 +#: ../Doc/whatsnew/3.0.rst:543 msgid ":ref:`pep-3129`." msgstr "" -#: ../Doc/whatsnew/3.0.rst:547 +#: ../Doc/whatsnew/3.0.rst:545 msgid "" ":ref:`pep-3141`. The :mod:`numbers` module is another new use of ABCs, " "defining Python's \"numeric tower\". Also note the new :mod:`fractions` " "module which implements :class:`numbers.Rational`." msgstr "" -#: ../Doc/whatsnew/3.0.rst:553 +#: ../Doc/whatsnew/3.0.rst:551 msgid "Library Changes" msgstr "" -#: ../Doc/whatsnew/3.0.rst:555 +#: ../Doc/whatsnew/3.0.rst:553 msgid "" "Due to time constraints, this document does not exhaustively cover the very " "extensive changes to the standard library. :pep:`3108` is the reference for " "the major changes to the library. Here's a capsule review:" msgstr "" -#: ../Doc/whatsnew/3.0.rst:560 +#: ../Doc/whatsnew/3.0.rst:558 msgid "" "Many old modules were removed. Some, like :mod:`gopherlib` (no longer used) " "and :mod:`md5` (replaced by :mod:`hashlib`), were already deprecated by :pep:" @@ -736,7 +732,7 @@ msgid "" "better replacement exists. See :pep:`3108` for an exhaustive list." msgstr "" -#: ../Doc/whatsnew/3.0.rst:568 +#: ../Doc/whatsnew/3.0.rst:566 msgid "" "The :mod:`bsddb3` package was removed because its presence in the core " "standard library has proved over time to be a particular burden for the core " @@ -745,85 +741,85 @@ msgid "" "jcea.es/programacion/pybsddb.htm." msgstr "" -#: ../Doc/whatsnew/3.0.rst:574 +#: ../Doc/whatsnew/3.0.rst:572 msgid "" "Some modules were renamed because their old name disobeyed :pep:`8`, or for " "various other reasons. Here's the list:" msgstr "" -#: ../Doc/whatsnew/3.0.rst:578 +#: ../Doc/whatsnew/3.0.rst:576 msgid "Old Name" msgstr "" -#: ../Doc/whatsnew/3.0.rst:578 +#: ../Doc/whatsnew/3.0.rst:576 msgid "New Name" msgstr "" -#: ../Doc/whatsnew/3.0.rst:580 +#: ../Doc/whatsnew/3.0.rst:578 msgid "_winreg" msgstr "" -#: ../Doc/whatsnew/3.0.rst:580 +#: ../Doc/whatsnew/3.0.rst:578 msgid "winreg" msgstr "" -#: ../Doc/whatsnew/3.0.rst:581 +#: ../Doc/whatsnew/3.0.rst:579 msgid "ConfigParser" msgstr "" -#: ../Doc/whatsnew/3.0.rst:581 +#: ../Doc/whatsnew/3.0.rst:579 msgid "configparser" msgstr "" -#: ../Doc/whatsnew/3.0.rst:582 +#: ../Doc/whatsnew/3.0.rst:580 msgid "copy_reg" msgstr "" -#: ../Doc/whatsnew/3.0.rst:582 +#: ../Doc/whatsnew/3.0.rst:580 msgid "copyreg" msgstr "" -#: ../Doc/whatsnew/3.0.rst:583 +#: ../Doc/whatsnew/3.0.rst:581 msgid "Queue" msgstr "" -#: ../Doc/whatsnew/3.0.rst:583 +#: ../Doc/whatsnew/3.0.rst:581 msgid "queue" msgstr "" -#: ../Doc/whatsnew/3.0.rst:584 +#: ../Doc/whatsnew/3.0.rst:582 msgid "SocketServer" msgstr "" -#: ../Doc/whatsnew/3.0.rst:584 +#: ../Doc/whatsnew/3.0.rst:582 msgid "socketserver" msgstr "" -#: ../Doc/whatsnew/3.0.rst:585 +#: ../Doc/whatsnew/3.0.rst:583 msgid "markupbase" msgstr "" -#: ../Doc/whatsnew/3.0.rst:585 +#: ../Doc/whatsnew/3.0.rst:583 msgid "_markupbase" msgstr "" -#: ../Doc/whatsnew/3.0.rst:586 +#: ../Doc/whatsnew/3.0.rst:584 msgid "repr" msgstr "" -#: ../Doc/whatsnew/3.0.rst:586 +#: ../Doc/whatsnew/3.0.rst:584 msgid "reprlib" msgstr "" -#: ../Doc/whatsnew/3.0.rst:587 +#: ../Doc/whatsnew/3.0.rst:585 msgid "test.test_support" msgstr "" -#: ../Doc/whatsnew/3.0.rst:587 +#: ../Doc/whatsnew/3.0.rst:585 msgid "test.support" msgstr "" -#: ../Doc/whatsnew/3.0.rst:590 +#: ../Doc/whatsnew/3.0.rst:588 msgid "" "A common pattern in Python 2.x is to have one version of a module " "implemented in pure Python, with an optional accelerated version implemented " @@ -838,29 +834,29 @@ msgid "" "module has been turned into a class in the :mod:`io` module." msgstr "" -#: ../Doc/whatsnew/3.0.rst:604 +#: ../Doc/whatsnew/3.0.rst:602 msgid "" "Some related modules have been grouped into packages, and usually the " "submodule names have been simplified. The resulting new packages are:" msgstr "" -#: ../Doc/whatsnew/3.0.rst:608 +#: ../Doc/whatsnew/3.0.rst:606 msgid "" ":mod:`dbm` (:mod:`anydbm`, :mod:`dbhash`, :mod:`dbm`, :mod:`dumbdbm`, :mod:" "`gdbm`, :mod:`whichdb`)." msgstr "" -#: ../Doc/whatsnew/3.0.rst:611 +#: ../Doc/whatsnew/3.0.rst:609 msgid ":mod:`html` (:mod:`HTMLParser`, :mod:`htmlentitydefs`)." msgstr "" -#: ../Doc/whatsnew/3.0.rst:613 +#: ../Doc/whatsnew/3.0.rst:611 msgid "" ":mod:`http` (:mod:`httplib`, :mod:`BaseHTTPServer`, :mod:`CGIHTTPServer`, :" "mod:`SimpleHTTPServer`, :mod:`Cookie`, :mod:`cookielib`)." msgstr "" -#: ../Doc/whatsnew/3.0.rst:617 +#: ../Doc/whatsnew/3.0.rst:615 msgid "" ":mod:`tkinter` (all :mod:`Tkinter`-related modules except :mod:`turtle`). " "The target audience of :mod:`turtle` doesn't really care about :mod:" @@ -868,35 +864,35 @@ msgid "" "`turtle` has been greatly enhanced." msgstr "" -#: ../Doc/whatsnew/3.0.rst:622 +#: ../Doc/whatsnew/3.0.rst:620 msgid "" ":mod:`urllib` (:mod:`urllib`, :mod:`urllib2`, :mod:`urlparse`, :mod:" "`robotparse`)." msgstr "" -#: ../Doc/whatsnew/3.0.rst:625 +#: ../Doc/whatsnew/3.0.rst:623 msgid "" ":mod:`xmlrpc` (:mod:`xmlrpclib`, :mod:`DocXMLRPCServer`, :mod:" "`SimpleXMLRPCServer`)." msgstr "" -#: ../Doc/whatsnew/3.0.rst:628 +#: ../Doc/whatsnew/3.0.rst:626 msgid "" "Some other changes to standard library modules, not covered by :pep:`3108`:" msgstr "" -#: ../Doc/whatsnew/3.0.rst:631 +#: ../Doc/whatsnew/3.0.rst:629 msgid "Killed :mod:`sets`. Use the built-in :func:`set` class." msgstr "" -#: ../Doc/whatsnew/3.0.rst:633 +#: ../Doc/whatsnew/3.0.rst:631 msgid "" "Cleanup of the :mod:`sys` module: removed :func:`sys.exitfunc`, :func:`sys." "exc_clear`, :data:`sys.exc_type`, :data:`sys.exc_value`, :data:`sys." "exc_traceback`. (Note that :data:`sys.last_type` etc. remain.)" msgstr "" -#: ../Doc/whatsnew/3.0.rst:638 +#: ../Doc/whatsnew/3.0.rst:636 msgid "" "Cleanup of the :class:`array.array` type: the :meth:`read` and :meth:`write` " "methods are gone; use :meth:`fromfile` and :meth:`tofile` instead. Also, " @@ -904,39 +900,39 @@ msgid "" "``'u'`` for Unicode characters." msgstr "" -#: ../Doc/whatsnew/3.0.rst:644 +#: ../Doc/whatsnew/3.0.rst:642 msgid "" "Cleanup of the :mod:`operator` module: removed :func:`sequenceIncludes` and :" "func:`isCallable`." msgstr "" -#: ../Doc/whatsnew/3.0.rst:647 +#: ../Doc/whatsnew/3.0.rst:645 msgid "" "Cleanup of the :mod:`thread` module: :func:`acquire_lock` and :func:" "`release_lock` are gone; use :func:`acquire` and :func:`release` instead." msgstr "" -#: ../Doc/whatsnew/3.0.rst:651 +#: ../Doc/whatsnew/3.0.rst:649 msgid "Cleanup of the :mod:`random` module: removed the :func:`jumpahead` API." msgstr "" -#: ../Doc/whatsnew/3.0.rst:653 +#: ../Doc/whatsnew/3.0.rst:651 msgid "The :mod:`new` module is gone." msgstr "" -#: ../Doc/whatsnew/3.0.rst:655 +#: ../Doc/whatsnew/3.0.rst:653 msgid "" "The functions :func:`os.tmpnam`, :func:`os.tempnam` and :func:`os.tmpfile` " "have been removed in favor of the :mod:`tempfile` module." msgstr "" -#: ../Doc/whatsnew/3.0.rst:659 +#: ../Doc/whatsnew/3.0.rst:657 msgid "" "The :mod:`tokenize` module has been changed to work with bytes. The main " "entry point is now :func:`tokenize.tokenize`, instead of generate_tokens." msgstr "" -#: ../Doc/whatsnew/3.0.rst:663 +#: ../Doc/whatsnew/3.0.rst:661 msgid "" ":data:`string.letters` and its friends (:data:`string.lowercase` and :data:" "`string.uppercase`) are gone. Use :data:`string.ascii_letters` etc. " @@ -945,7 +941,7 @@ msgid "" "attractively-named global \"constants\".)" msgstr "" -#: ../Doc/whatsnew/3.0.rst:670 +#: ../Doc/whatsnew/3.0.rst:668 msgid "" "Renamed module :mod:`__builtin__` to :mod:`builtins` (removing the " "underscores, adding an 's'). The :data:`__builtins__` variable found in " @@ -953,11 +949,11 @@ msgid "" "mod:`builtins`, not :data:`__builtins__`!" msgstr "" -#: ../Doc/whatsnew/3.0.rst:677 +#: ../Doc/whatsnew/3.0.rst:675 msgid ":pep:`3101`: A New Approach To String Formatting" msgstr "" -#: ../Doc/whatsnew/3.0.rst:679 +#: ../Doc/whatsnew/3.0.rst:677 msgid "" "A new system for built-in string formatting operations replaces the ``%`` " "string formatting operator. (However, the ``%`` operator is still " @@ -965,17 +961,17 @@ msgid "" "language at some later time.) Read :pep:`3101` for the full scoop." msgstr "" -#: ../Doc/whatsnew/3.0.rst:687 +#: ../Doc/whatsnew/3.0.rst:685 msgid "Changes To Exceptions" msgstr "" -#: ../Doc/whatsnew/3.0.rst:689 +#: ../Doc/whatsnew/3.0.rst:687 msgid "" "The APIs for raising and catching exception have been cleaned up and new " "powerful features added:" msgstr "" -#: ../Doc/whatsnew/3.0.rst:692 +#: ../Doc/whatsnew/3.0.rst:690 msgid "" ":pep:`352`: All exceptions must be derived (directly or indirectly) from :" "exc:`BaseException`. This is the root of the exception hierarchy. This is " @@ -985,7 +981,7 @@ msgid "" "string exceptions are finally truly and utterly dead." msgstr "" -#: ../Doc/whatsnew/3.0.rst:700 +#: ../Doc/whatsnew/3.0.rst:698 msgid "" "Almost all exceptions should actually derive from :exc:`Exception`; :exc:" "`BaseException` should only be used as a base class for exceptions that " @@ -994,17 +990,17 @@ msgid "" "except for this latter category is to use :keyword:`except` :exc:`Exception`." msgstr "" -#: ../Doc/whatsnew/3.0.rst:707 +#: ../Doc/whatsnew/3.0.rst:705 msgid ":exc:`StandardError` was removed." msgstr "" -#: ../Doc/whatsnew/3.0.rst:709 +#: ../Doc/whatsnew/3.0.rst:707 msgid "" "Exceptions no longer behave as sequences. Use the :attr:`args` attribute " "instead." msgstr "" -#: ../Doc/whatsnew/3.0.rst:712 +#: ../Doc/whatsnew/3.0.rst:710 msgid "" ":pep:`3109`: Raising exceptions. You must now use :samp:`raise {Exception}" "({args})` instead of :samp:`raise {Exception}, {args}`. Additionally, you " @@ -1013,7 +1009,7 @@ msgid "" "below)." msgstr "" -#: ../Doc/whatsnew/3.0.rst:718 +#: ../Doc/whatsnew/3.0.rst:716 msgid "" ":pep:`3110`: Catching exceptions. You must now use :samp:`except " "{SomeException} as {variable}` instead of :samp:`except {SomeException}, " @@ -1021,7 +1017,7 @@ msgid "" "keyword:`except` block is left." msgstr "" -#: ../Doc/whatsnew/3.0.rst:724 +#: ../Doc/whatsnew/3.0.rst:722 msgid "" ":pep:`3134`: Exception chaining. There are two cases: implicit chaining and " "explicit chaining. Implicit chaining happens when an exception is raised in " @@ -1032,7 +1028,7 @@ msgid "" "Explicit chaining is invoked with this syntax::" msgstr "" -#: ../Doc/whatsnew/3.0.rst:735 +#: ../Doc/whatsnew/3.0.rst:733 msgid "" "(where *primary_exception* is any expression that produces an exception " "object, probably an exception that was previously caught). In this case, the " @@ -1044,7 +1040,7 @@ msgid "" "behavior.)" msgstr "" -#: ../Doc/whatsnew/3.0.rst:744 +#: ../Doc/whatsnew/3.0.rst:742 msgid "" ":pep:`3134`: Exception objects now store their traceback as the :attr:" "`__traceback__` attribute. This means that an exception object now contains " @@ -1052,35 +1048,35 @@ msgid "" "to use :func:`sys.exc_info` (though the latter is not removed)." msgstr "" -#: ../Doc/whatsnew/3.0.rst:750 +#: ../Doc/whatsnew/3.0.rst:748 msgid "" "A few exception messages are improved when Windows fails to load an " "extension module. For example, ``error code 193`` is now ``%1 is not a " "valid Win32 application``. Strings now deal with non-English locales." msgstr "" -#: ../Doc/whatsnew/3.0.rst:757 +#: ../Doc/whatsnew/3.0.rst:755 msgid "Miscellaneous Other Changes" msgstr "" -#: ../Doc/whatsnew/3.0.rst:760 +#: ../Doc/whatsnew/3.0.rst:758 msgid "Operators And Special Methods" msgstr "" -#: ../Doc/whatsnew/3.0.rst:762 +#: ../Doc/whatsnew/3.0.rst:760 msgid "" "``!=`` now returns the opposite of ``==``, unless ``==`` returns :data:" "`NotImplemented`." msgstr "" -#: ../Doc/whatsnew/3.0.rst:765 +#: ../Doc/whatsnew/3.0.rst:763 msgid "" "The concept of \"unbound methods\" has been removed from the language. When " "referencing a method as a class attribute, you now get a plain function " "object." msgstr "" -#: ../Doc/whatsnew/3.0.rst:769 +#: ../Doc/whatsnew/3.0.rst:767 msgid "" ":meth:`__getslice__`, :meth:`__setslice__` and :meth:`__delslice__` were " "killed. The syntax ``a[i:j]`` now translates to ``a.__getitem__(slice(i, " @@ -1088,24 +1084,24 @@ msgid "" "assignment or deletion target, respectively)." msgstr "" -#: ../Doc/whatsnew/3.0.rst:775 +#: ../Doc/whatsnew/3.0.rst:773 msgid "" ":pep:`3114`: the standard :meth:`next` method has been renamed to :meth:" "`~iterator.__next__`." msgstr "" -#: ../Doc/whatsnew/3.0.rst:778 +#: ../Doc/whatsnew/3.0.rst:776 msgid "" "The :meth:`__oct__` and :meth:`__hex__` special methods are removed -- :func:" "`oct` and :func:`hex` use :meth:`__index__` now to convert the argument to " "an integer." msgstr "" -#: ../Doc/whatsnew/3.0.rst:782 +#: ../Doc/whatsnew/3.0.rst:780 msgid "Removed support for :attr:`__members__` and :attr:`__methods__`." msgstr "" -#: ../Doc/whatsnew/3.0.rst:784 +#: ../Doc/whatsnew/3.0.rst:782 msgid "" "The function attributes named :attr:`func_X` have been renamed to use the :" "data:`__X__` form, freeing up these names in the function attribute " @@ -1116,15 +1112,15 @@ msgid "" "`__doc__`, :attr:`__globals__`, :attr:`~definition.__name__`, respectively." msgstr "" -#: ../Doc/whatsnew/3.0.rst:794 +#: ../Doc/whatsnew/3.0.rst:792 msgid ":meth:`__nonzero__` is now :meth:`__bool__`." msgstr "" -#: ../Doc/whatsnew/3.0.rst:797 +#: ../Doc/whatsnew/3.0.rst:795 msgid "Builtins" msgstr "" -#: ../Doc/whatsnew/3.0.rst:799 +#: ../Doc/whatsnew/3.0.rst:797 msgid "" ":pep:`3135`: New :func:`super`. You can now invoke :func:`super` without " "arguments and (assuming this is in a regular instance method defined inside " @@ -1133,7 +1129,7 @@ msgid "" "unchanged." msgstr "" -#: ../Doc/whatsnew/3.0.rst:805 +#: ../Doc/whatsnew/3.0.rst:803 msgid "" ":pep:`3111`: :func:`raw_input` was renamed to :func:`input`. That is, the " "new :func:`input` function reads a line from :data:`sys.stdin` and returns " @@ -1142,13 +1138,13 @@ msgid "" "use ``eval(input())``." msgstr "" -#: ../Doc/whatsnew/3.0.rst:811 +#: ../Doc/whatsnew/3.0.rst:809 msgid "" "A new built-in function :func:`next` was added to call the :meth:`~iterator." "__next__` method on an object." msgstr "" -#: ../Doc/whatsnew/3.0.rst:814 +#: ../Doc/whatsnew/3.0.rst:812 msgid "" "The :func:`round` function rounding strategy and return type have changed. " "Exact halfway cases are now rounded to the nearest even result instead of " @@ -1159,117 +1155,117 @@ msgid "" "arguments." msgstr "" -#: ../Doc/whatsnew/3.0.rst:823 +#: ../Doc/whatsnew/3.0.rst:821 msgid "Moved :func:`intern` to :func:`sys.intern`." msgstr "" -#: ../Doc/whatsnew/3.0.rst:825 +#: ../Doc/whatsnew/3.0.rst:823 msgid "" "Removed: :func:`apply`. Instead of ``apply(f, args)`` use ``f(*args)``." msgstr "" -#: ../Doc/whatsnew/3.0.rst:828 +#: ../Doc/whatsnew/3.0.rst:826 msgid "" "Removed :func:`callable`. Instead of ``callable(f)`` you can use " "``isinstance(f, collections.Callable)``. The :func:`operator.isCallable` " "function is also gone." msgstr "" -#: ../Doc/whatsnew/3.0.rst:832 +#: ../Doc/whatsnew/3.0.rst:830 msgid "" "Removed :func:`coerce`. This function no longer serves a purpose now that " "classic classes are gone." msgstr "" -#: ../Doc/whatsnew/3.0.rst:835 +#: ../Doc/whatsnew/3.0.rst:833 msgid "" "Removed :func:`execfile`. Instead of ``execfile(fn)`` use ``exec(open(fn)." "read())``." msgstr "" -#: ../Doc/whatsnew/3.0.rst:838 +#: ../Doc/whatsnew/3.0.rst:836 msgid "" "Removed the :class:`file` type. Use :func:`open`. There are now several " "different kinds of streams that open can return in the :mod:`io` module." msgstr "" -#: ../Doc/whatsnew/3.0.rst:841 +#: ../Doc/whatsnew/3.0.rst:839 msgid "" "Removed :func:`reduce`. Use :func:`functools.reduce` if you really need it; " "however, 99 percent of the time an explicit :keyword:`for` loop is more " "readable." msgstr "" -#: ../Doc/whatsnew/3.0.rst:845 +#: ../Doc/whatsnew/3.0.rst:843 msgid "Removed :func:`reload`. Use :func:`imp.reload`." msgstr "" -#: ../Doc/whatsnew/3.0.rst:847 +#: ../Doc/whatsnew/3.0.rst:845 msgid "" "Removed. :meth:`dict.has_key` -- use the :keyword:`in` operator instead." msgstr "" -#: ../Doc/whatsnew/3.0.rst:854 +#: ../Doc/whatsnew/3.0.rst:852 msgid "Build and C API Changes" msgstr "" -#: ../Doc/whatsnew/3.0.rst:856 +#: ../Doc/whatsnew/3.0.rst:854 msgid "" "Due to time constraints, here is a *very* incomplete list of changes to the " "C API." msgstr "" -#: ../Doc/whatsnew/3.0.rst:859 +#: ../Doc/whatsnew/3.0.rst:857 msgid "" "Support for several platforms was dropped, including but not limited to Mac " "OS 9, BeOS, RISCOS, Irix, and Tru64." msgstr "" -#: ../Doc/whatsnew/3.0.rst:862 +#: ../Doc/whatsnew/3.0.rst:860 msgid ":pep:`3118`: New Buffer API." msgstr "" -#: ../Doc/whatsnew/3.0.rst:864 +#: ../Doc/whatsnew/3.0.rst:862 msgid ":pep:`3121`: Extension Module Initialization & Finalization." msgstr "" -#: ../Doc/whatsnew/3.0.rst:866 +#: ../Doc/whatsnew/3.0.rst:864 msgid ":pep:`3123`: Making :c:macro:`PyObject_HEAD` conform to standard C." msgstr "" -#: ../Doc/whatsnew/3.0.rst:868 +#: ../Doc/whatsnew/3.0.rst:866 msgid "No more C API support for restricted execution." msgstr "" -#: ../Doc/whatsnew/3.0.rst:870 +#: ../Doc/whatsnew/3.0.rst:868 msgid "" ":c:func:`PyNumber_Coerce`, :c:func:`PyNumber_CoerceEx`, :c:func:" "`PyMember_Get`, and :c:func:`PyMember_Set` C APIs are removed." msgstr "" -#: ../Doc/whatsnew/3.0.rst:873 +#: ../Doc/whatsnew/3.0.rst:871 msgid "" "New C API :c:func:`PyImport_ImportModuleNoBlock`, works like :c:func:" "`PyImport_ImportModule` but won't block on the import lock (returning an " "error instead)." msgstr "" -#: ../Doc/whatsnew/3.0.rst:877 +#: ../Doc/whatsnew/3.0.rst:875 msgid "" "Renamed the boolean conversion C-level slot and method: ``nb_nonzero`` is " "now ``nb_bool``." msgstr "" -#: ../Doc/whatsnew/3.0.rst:880 +#: ../Doc/whatsnew/3.0.rst:878 msgid "" "Removed :c:macro:`METH_OLDARGS` and :c:macro:`WITH_CYCLE_GC` from the C API." msgstr "" -#: ../Doc/whatsnew/3.0.rst:886 +#: ../Doc/whatsnew/3.0.rst:884 msgid "Performance" msgstr "" -#: ../Doc/whatsnew/3.0.rst:888 +#: ../Doc/whatsnew/3.0.rst:886 #, python-format msgid "" "The net result of the 3.0 generalizations is that Python 3.0 runs the " @@ -1278,27 +1274,27 @@ msgid "" "room for improvement, but it will happen after 3.0 is released!" msgstr "" -#: ../Doc/whatsnew/3.0.rst:898 +#: ../Doc/whatsnew/3.0.rst:896 msgid "Porting To Python 3.0" msgstr "" -#: ../Doc/whatsnew/3.0.rst:900 +#: ../Doc/whatsnew/3.0.rst:898 msgid "" "For porting existing Python 2.5 or 2.6 source code to Python 3.0, the best " "strategy is the following:" msgstr "" -#: ../Doc/whatsnew/3.0.rst:903 +#: ../Doc/whatsnew/3.0.rst:901 msgid "(Prerequisite:) Start with excellent test coverage." msgstr "" -#: ../Doc/whatsnew/3.0.rst:905 +#: ../Doc/whatsnew/3.0.rst:903 msgid "" "Port to Python 2.6. This should be no more work than the average port from " "Python 2.x to Python 2.(x+1). Make sure all your tests pass." msgstr "" -#: ../Doc/whatsnew/3.0.rst:909 +#: ../Doc/whatsnew/3.0.rst:907 msgid "" "(Still using 2.6:) Turn on the :option:`!-3` command line switch. This " "enables warnings about features that will be removed (or change) in 3.0. " @@ -1306,7 +1302,7 @@ msgid "" "there are no warnings left, and all your tests still pass." msgstr "" -#: ../Doc/whatsnew/3.0.rst:915 +#: ../Doc/whatsnew/3.0.rst:913 msgid "" "Run the ``2to3`` source-to-source translator over your source code tree. " "(See :ref:`2to3-reference` for more on this tool.) Run the result of the " @@ -1314,7 +1310,7 @@ msgid "" "problems until all tests pass again." msgstr "" -#: ../Doc/whatsnew/3.0.rst:920 +#: ../Doc/whatsnew/3.0.rst:918 msgid "" "It is not recommended to try to write source code that runs unchanged under " "both Python 2.6 and 3.0; you'd have to use a very contorted coding style, e." @@ -1325,7 +1321,7 @@ msgid "" "editing the 3.0 version of the source code." msgstr "" -#: ../Doc/whatsnew/3.0.rst:929 +#: ../Doc/whatsnew/3.0.rst:927 msgid "" "For porting C extensions to Python 3.0, please see :ref:`cporting-howto`." msgstr "" diff --git a/whatsnew/3.2.po b/whatsnew/3.2.po index dc07f5cc47..dbc463b1a4 100644 --- a/whatsnew/3.2.po +++ b/whatsnew/3.2.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: python-doc-es\n" @@ -2546,12 +2546,12 @@ msgstr "" #: ../Doc/whatsnew/3.2.rst:2313 msgid "" "The mechanism for serializing execution of concurrently running Python " -"threads (generally known as the :term:`GIL` or :term:`Global Interpreter " -"Lock`) has been rewritten. Among the objectives were more predictable " -"switching intervals and reduced overhead due to lock contention and the " -"number of ensuing system calls. The notion of a \"check interval\" to allow " -"thread switches has been abandoned and replaced by an absolute duration " -"expressed in seconds. This parameter is tunable through :func:`sys." +"threads (generally known as the :term:`GIL` or Global Interpreter Lock) has " +"been rewritten. Among the objectives were more predictable switching " +"intervals and reduced overhead due to lock contention and the number of " +"ensuing system calls. The notion of a \"check interval\" to allow thread " +"switches has been abandoned and replaced by an absolute duration expressed " +"in seconds. This parameter is tunable through :func:`sys." "setswitchinterval()`. It currently defaults to 5 milliseconds." msgstr "" diff --git a/whatsnew/3.3.po b/whatsnew/3.3.po index 5f218e89fe..87ffefce76 100644 --- a/whatsnew/3.3.po +++ b/whatsnew/3.3.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: python-doc-es\n" @@ -3503,13 +3503,13 @@ msgstr "" #: ../Doc/whatsnew/3.3.rst:2312 msgid "" -":c:func:`PyUnicode_EncodeUnicodeEscape:` use :c:func:" +":c:func:`PyUnicode_EncodeUnicodeEscape` use :c:func:" "`PyUnicode_AsUnicodeEscapeString`" msgstr "" #: ../Doc/whatsnew/3.3.rst:2314 msgid "" -":c:func:`PyUnicode_EncodeRawUnicodeEscape:` use :c:func:" +":c:func:`PyUnicode_EncodeRawUnicodeEscape` use :c:func:" "`PyUnicode_AsRawUnicodeEscapeString`" msgstr "" diff --git a/whatsnew/3.5.po b/whatsnew/3.5.po index 978f2ed637..db5240657b 100644 --- a/whatsnew/3.5.po +++ b/whatsnew/3.5.po @@ -1,27 +1,30 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. -# Maintained by the python-doc-es workteam. -# docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ -# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers +# Maintained by the python-doc-es workteam. +# docs-es@python.org / +# https://mail.python.org/mailman3/lists/docs-es.python.org/ +# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get +# the list of volunteers # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-06 11:59-0400\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: python-doc-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" +"Generated-By: Babel 2.8.0\n" #: ../Doc/whatsnew/3.5.rst:3 msgid "What's New In Python 3.5" msgstr "" -#: ../Doc/whatsnew/3.5.rst:0 +#: ../Doc/whatsnew/3.5.rst msgid "Editors" msgstr "" @@ -395,12 +398,14 @@ msgid "" msgstr "" #: ../Doc/whatsnew/3.5.rst:392 +#, python-format msgid "" "Note that ``%s`` and ``%r`` conversion types, although supported, should " "only be used in codebases that need compatibility with Python 2." msgstr "" #: ../Doc/whatsnew/3.5.rst:398 +#, python-format msgid ":pep:`461` -- Adding % formatting to bytes and bytearray" msgstr "" @@ -430,7 +435,7 @@ msgstr "" #: ../Doc/whatsnew/3.5.rst:415 msgid "" -":pep:`484` introduces a :term:`provisional module ` to " +":pep:`484` introduces a :term:`provisional module ` to " "provide these standard definitions and tools, along with some conventions " "for situations where annotations are not available." msgstr "" @@ -828,7 +833,7 @@ msgstr "" #: ../Doc/whatsnew/3.5.rst:729 msgid "" -"The new :mod:`typing` :term:`provisional ` module provides " +"The new :mod:`typing` :term:`provisional ` module provides " "standard definitions and tools for function type annotations. See :ref:`Type " "Hints ` for more information." msgstr "" @@ -884,7 +889,7 @@ msgstr "" #: ../Doc/whatsnew/3.5.rst:775 msgid "" -"Since the :mod:`asyncio` module is :term:`provisional `, " +"Since the :mod:`asyncio` module is :term:`provisional `, " "all changes introduced in Python 3.5 have also been backported to Python 3.4." "x." msgstr "" @@ -2282,7 +2287,7 @@ msgid "" "hook that will be called whenever a :term:`coroutine object ` is " "created by an :keyword:`async def` function. A corresponding :func:`~sys." "get_coroutine_wrapper` can be used to obtain a currently set wrapper. Both " -"functions are :term:`provisional `, and are intended for " +"functions are :term:`provisional `, and are intended for " "debugging purposes only. (Contributed by Yury Selivanov in :issue:`24017`.)" msgstr "" @@ -2655,6 +2660,7 @@ msgid "" msgstr "" #: ../Doc/whatsnew/3.5.rst:2129 +#, python-format msgid "" "Many operations on :class:`io.BytesIO` are now 50% to 100% faster. " "(Contributed by Serhiy Storchaka in :issue:`15381` and David Wilson in :" @@ -2676,6 +2682,7 @@ msgid "" msgstr "" #: ../Doc/whatsnew/3.5.rst:2141 +#, python-format msgid "" "Regular expressions are now parsed up to 10% faster. (Contributed by Serhiy " "Storchaka in :issue:`19380`.)" @@ -2704,18 +2711,21 @@ msgid "" msgstr "" #: ../Doc/whatsnew/3.5.rst:2157 +#, python-format msgid "" "Objects from the :mod:`random` module now use 50% less memory on 64-bit " "builds. (Contributed by Serhiy Storchaka in :issue:`23488`.)" msgstr "" #: ../Doc/whatsnew/3.5.rst:2160 +#, python-format msgid "" "The :func:`property` getter calls are up to 25% faster. (Contributed by Joe " "Jevnik in :issue:`23910`.)" msgstr "" #: ../Doc/whatsnew/3.5.rst:2163 +#, python-format msgid "" "Instantiation of :class:`fractions.Fraction` is now up to 30% faster. " "(Contributed by Stefan Behnel in :issue:`22464`.)" diff --git a/whatsnew/3.6.po b/whatsnew/3.6.po index e21381396d..b2f86cf32d 100644 --- a/whatsnew/3.6.po +++ b/whatsnew/3.6.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: python-doc-es\n" @@ -2056,7 +2056,7 @@ msgstr "" #: ../Doc/whatsnew/3.6.rst:1600 msgid "" -"Since the :mod:`typing` module is :term:`provisional `, all " +"Since the :mod:`typing` module is :term:`provisional `, all " "changes introduced in Python 3.6 have also been backported to Python 3.5.x." msgstr "" @@ -3227,3 +3227,19 @@ msgid "" "(Contributed by Kyle Stanley, Antoine Pitrou, and Yury Selivanov in :issue:" "`37228`.)" msgstr "" + +#: ../Doc/whatsnew/3.6.rst:2448 +msgid "Notable changes in Python 3.6.13" +msgstr "" + +#: ../Doc/whatsnew/3.6.rst:2450 +msgid "" +"Earlier Python versions allowed using both ``;`` and ``&`` as query " +"parameter separators in :func:`urllib.parse.parse_qs` and :func:`urllib." +"parse.parse_qsl`. Due to security concerns, and to conform with newer W3C " +"recommendations, this has been changed to allow only a single separator key, " +"with ``&`` as the default. This change also affects :func:`cgi.parse` and :" +"func:`cgi.parse_multipart` as they use the affected functions internally. " +"For more details, please see their respective documentation. (Contributed by " +"Adam Goldschmidt, Senthil Kumaran and Ken Jin in :issue:`42967`.)" +msgstr "" diff --git a/whatsnew/3.7.po b/whatsnew/3.7.po index c72e0ee124..367d1fcd5a 100644 --- a/whatsnew/3.7.po +++ b/whatsnew/3.7.po @@ -10,18 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-10-12 05:44-0500\n" +"Last-Translator: \n" +"Language: es_EC\n" "Language-Team: python-doc-es\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language: es_EC\n" -"X-Generator: Poedit 2.4.1\n" -"X-Poedit-Bookmarks: 26,-1,-1,-1,-1,-1,-1,-1,-1,-1\n" #: ../Doc/whatsnew/3.7.rst:3 msgid "What's New In Python 3.7" @@ -173,7 +171,8 @@ msgid ":ref:`PEP 552 `, deterministic .pycs" msgstr ":ref:`PEP 552 `, determinista *.pycs*" #: ../Doc/whatsnew/3.7.rst:105 -msgid ":ref:`the new development runtime mode `" +#, fuzzy +msgid ":ref:`New Python Development Mode `" msgstr ":ref:`el nuevo modo de ejecución de desarrollo `" #: ../Doc/whatsnew/3.7.rst:106 @@ -303,7 +302,8 @@ msgstr "" "`__future__`:" #: ../Doc/whatsnew/3.7.rst:174 -msgid "It will become the default in Python 4.0." +#, fuzzy +msgid "It will become the default in Python 3.10." msgstr "Se convertirá en el predeterminado en Python 4.0." #: ../Doc/whatsnew/3.7.rst:178 @@ -921,24 +921,19 @@ msgstr "" "Stinner*." #: ../Doc/whatsnew/3.7.rst:483 -msgid "Development Runtime Mode: -X dev" +#, fuzzy +msgid "Python Development Mode (-X dev)" msgstr "Modo de tiempo de ejecución de desarrollo: -X *dev*" #: ../Doc/whatsnew/3.7.rst:485 msgid "" "The new :option:`-X` ``dev`` command line option or the new :envvar:" -"`PYTHONDEVMODE` environment variable can be used to enable CPython's " -"*development mode*. When in development mode, CPython performs additional " -"runtime checks that are too expensive to be enabled by default. See :option:" -"`-X` ``dev`` documentation for the full description of the effects of this " -"mode." -msgstr "" -"La nueva linea de comandos módulo :option:`-X` ``dev`` o la nueva variable " -"de entorno :envvar:`PYTHONDEVMODE` se puede utilizar para habilitar el * " -"modo de desarrollo* de CPython. Cuando está en modo de desarrollo, CPython " -"realiza comprobaciones de tiempo de ejecución adicionales que son demasiado " -"caras para habilitarse de forma predeterminada. Ver :option:`-X` ``dev`` en " -"la documentación para la descripción completa de los efectos de este modo." +"`PYTHONDEVMODE` environment variable can be used to enable :ref:`Python " +"Development Mode `. When in development mode, Python performs " +"additional runtime checks that are too expensive to be enabled by default. " +"See :ref:`Python Development Mode ` documentation for the full " +"description." +msgstr "" #: ../Doc/whatsnew/3.7.rst:494 msgid "Other Language Changes" @@ -1194,8 +1189,9 @@ msgstr "" "incluyen:" #: ../Doc/whatsnew/3.7.rst:639 +#, fuzzy msgid "" -"The new :term:`provisional ` :func:`asyncio.run` function " +"The new :term:`provisional ` :func:`asyncio.run` function " "can be used to run a coroutine from synchronous code by automatically " "creating and destroying the event loop. (Contributed by Yury Selivanov in :" "issue:`32314`.)" @@ -2599,8 +2595,9 @@ msgstr "" "Heimes* en :issue:`31399`.)" #: ../Doc/whatsnew/3.7.rst:1335 +#, fuzzy msgid "" -"The improved host name check requires a libssl implementation compatible " +"The improved host name check requires a *libssl* implementation compatible " "with OpenSSL 1.0.2 or 1.1. Consequently, OpenSSL 0.9.8 and 1.0.1 are no " "longer supported (see :ref:`37-platform-support-removals` for more details). " "The ssl module is mostly compatible with LibreSSL 2.7.2 and newer." @@ -5133,3 +5130,36 @@ msgstr "" "obtener más detalles, consulte la documentación de ``loop." "create_datagram_endpoint()``. (Contribuido por *Kyle Stanley*, *Antoine " "Pitrou*, y *Yury Selivanov* en :issue:`37228`.)" + +#: ../Doc/whatsnew/3.7.rst:2561 +#, fuzzy +msgid "Notable changes in Python 3.7.10" +msgstr "Cambios notables en Python 3.7.1" + +#: ../Doc/whatsnew/3.7.rst:2563 +msgid "" +"Earlier Python versions allowed using both ``;`` and ``&`` as query " +"parameter separators in :func:`urllib.parse.parse_qs` and :func:`urllib." +"parse.parse_qsl`. Due to security concerns, and to conform with newer W3C " +"recommendations, this has been changed to allow only a single separator key, " +"with ``&`` as the default. This change also affects :func:`cgi.parse` and :" +"func:`cgi.parse_multipart` as they use the affected functions internally. " +"For more details, please see their respective documentation. (Contributed by " +"Adam Goldschmidt, Senthil Kumaran and Ken Jin in :issue:`42967`.)" +msgstr "" + +#~ msgid "" +#~ "The new :option:`-X` ``dev`` command line option or the new :envvar:" +#~ "`PYTHONDEVMODE` environment variable can be used to enable CPython's " +#~ "*development mode*. When in development mode, CPython performs " +#~ "additional runtime checks that are too expensive to be enabled by " +#~ "default. See :option:`-X` ``dev`` documentation for the full description " +#~ "of the effects of this mode." +#~ msgstr "" +#~ "La nueva linea de comandos módulo :option:`-X` ``dev`` o la nueva " +#~ "variable de entorno :envvar:`PYTHONDEVMODE` se puede utilizar para " +#~ "habilitar el * modo de desarrollo* de CPython. Cuando está en modo de " +#~ "desarrollo, CPython realiza comprobaciones de tiempo de ejecución " +#~ "adicionales que son demasiado caras para habilitarse de forma " +#~ "predeterminada. Ver :option:`-X` ``dev`` en la documentación para la " +#~ "descripción completa de los efectos de este modo." diff --git a/whatsnew/3.8.po b/whatsnew/3.8.po index 09e13ba42e..f85e16721b 100644 --- a/whatsnew/3.8.po +++ b/whatsnew/3.8.po @@ -8,17 +8,16 @@ msgid "" msgstr "" "Project-Id-Version: Python en Español 3.7\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" "PO-Revision-Date: 2020-10-16 21:15+0200\n" +"Last-Translator: Francisco Jesús Sevilla García \n" +"Language: es_ES\n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Francisco Jesús Sevilla García \n" -"Language-Team: \n" -"Language: es_ES\n" -"X-Generator: Poedit 2.4.1\n" #: ../Doc/whatsnew/3.8.rst:3 msgid "What's New In Python 3.8" @@ -41,23 +40,19 @@ msgstr "" "comparación con 3.7. Para obtener los detalles completos, consultar el :ref:" "`registro de cambios `." -#: ../Doc/whatsnew/3.8.rst:50 -msgid "Python 3.8 was released on October 14th, 2019." -msgstr "Python 3.8 fue lanzado el 14 de octubre de 2019." - -#: ../Doc/whatsnew/3.8.rst:62 +#: ../Doc/whatsnew/3.8.rst:60 msgid "Summary -- Release highlights" msgstr "Resumen -- Aspectos destacados de la versión" -#: ../Doc/whatsnew/3.8.rst:73 +#: ../Doc/whatsnew/3.8.rst:71 msgid "New Features" msgstr "Nuevas características" -#: ../Doc/whatsnew/3.8.rst:76 +#: ../Doc/whatsnew/3.8.rst:74 msgid "Assignment expressions" msgstr "Expresiones de asignación" -#: ../Doc/whatsnew/3.8.rst:78 +#: ../Doc/whatsnew/3.8.rst:76 msgid "" "There is new syntax ``:=`` that assigns values to variables as part of a " "larger expression. It is affectionately known as \"the walrus operator\" due " @@ -70,7 +65,7 @@ msgstr "" "wikipedia.org/wiki/Walrus#/media/File:Pacific_Walrus_-_Bull_(8247646168)." "jpg>`_." -#: ../Doc/whatsnew/3.8.rst:83 +#: ../Doc/whatsnew/3.8.rst:81 msgid "" "In this example, the assignment expression helps avoid calling :func:`len` " "twice::" @@ -78,7 +73,7 @@ msgstr "" "En el siguiente ejemplo, la expresión de asignación ayuda evitando que se " "tenga que llamar a :func:`len` dos veces::" -#: ../Doc/whatsnew/3.8.rst:89 +#: ../Doc/whatsnew/3.8.rst:87 msgid "" "A similar benefit arises during regular expression matching where match " "objects are needed twice, once to test whether a match occurred and another " @@ -89,7 +84,7 @@ msgstr "" "veces, una para comprobar si se produjo una coincidencia y otra para extraer " "un subgrupo::" -#: ../Doc/whatsnew/3.8.rst:97 +#: ../Doc/whatsnew/3.8.rst:95 msgid "" "The operator is also useful with while-loops that compute a value to test " "loop termination and then need that same value again in the body of the " @@ -99,7 +94,7 @@ msgstr "" "comprobar la terminación del bucle y posteriormente necesitan nuevamente ese " "mismo valor en el cuerpo del bucle::" -#: ../Doc/whatsnew/3.8.rst:105 +#: ../Doc/whatsnew/3.8.rst:103 msgid "" "Another motivating use case arises in list comprehensions where a value " "computed in a filtering condition is also needed in the expression body::" @@ -108,7 +103,7 @@ msgstr "" "valor calculado en una condición de filtrado también se necesita en el " "cuerpo de la expresión::" -#: ../Doc/whatsnew/3.8.rst:112 +#: ../Doc/whatsnew/3.8.rst:110 msgid "" "Try to limit use of the walrus operator to clean cases that reduce " "complexity and improve readability." @@ -116,19 +111,19 @@ msgstr "" "Intenta limitar el uso del \"operador morsa\" a aquellos casos en los que " "reduce la complejidad y mejora la legibilidad del código." -#: ../Doc/whatsnew/3.8.rst:115 +#: ../Doc/whatsnew/3.8.rst:113 msgid "See :pep:`572` for a full description." msgstr "Consultar :pep:`572` para obtener una descripción completa." -#: ../Doc/whatsnew/3.8.rst:117 +#: ../Doc/whatsnew/3.8.rst:115 msgid "(Contributed by Emily Morehouse in :issue:`35224`.)" msgstr "(Contribución de Emily Morehouse en :issue:`35224`.)" -#: ../Doc/whatsnew/3.8.rst:121 +#: ../Doc/whatsnew/3.8.rst:119 msgid "Positional-only parameters" msgstr "Parámetros solo posicionales" -#: ../Doc/whatsnew/3.8.rst:123 +#: ../Doc/whatsnew/3.8.rst:121 msgid "" "There is a new function parameter syntax ``/`` to indicate that some " "function parameters must be specified positionally and cannot be used as " @@ -143,7 +138,7 @@ msgstr "" "con la herramienta `Argument Clinic `_ de Larry Hastings." -#: ../Doc/whatsnew/3.8.rst:129 +#: ../Doc/whatsnew/3.8.rst:127 msgid "" "In the following example, parameters *a* and *b* are positional-only, while " "*c* or *d* can be positional or keyword, and *e* or *f* are required to be " @@ -153,15 +148,15 @@ msgstr "" "mientras que *c* o *d* pueden ser posicionales o por palabra clave y *e* o " "*f* deben proporcionarse por palabra clave exclusivamente::" -#: ../Doc/whatsnew/3.8.rst:136 +#: ../Doc/whatsnew/3.8.rst:134 msgid "The following is a valid call::" msgstr "La siguiente es una invocación válida::" -#: ../Doc/whatsnew/3.8.rst:140 +#: ../Doc/whatsnew/3.8.rst:138 msgid "However, these are invalid calls::" msgstr "Sin embargo, estas son invocaciones inválidas::" -#: ../Doc/whatsnew/3.8.rst:145 +#: ../Doc/whatsnew/3.8.rst:143 msgid "" "One use case for this notation is that it allows pure Python functions to " "fully emulate behaviors of existing C coded functions. For example, the " @@ -172,7 +167,7 @@ msgstr "" "en C existentes. Por ejemplo, la función incorporada :func:`divmod` no " "acepta argumentos por palabra clave::" -#: ../Doc/whatsnew/3.8.rst:153 +#: ../Doc/whatsnew/3.8.rst:151 msgid "" "Another use case is to preclude keyword arguments when the parameter name is " "not helpful. For example, the builtin :func:`len` function has the " @@ -183,7 +178,7 @@ msgstr "" "`len` tiene la firma ``len(obj, /)``. Esto excluye llamadas inoportunas " "como::" -#: ../Doc/whatsnew/3.8.rst:159 +#: ../Doc/whatsnew/3.8.rst:157 msgid "" "A further benefit of marking a parameter as positional-only is that it " "allows the parameter name to be changed in the future without risk of " @@ -197,7 +192,7 @@ msgstr "" "del parámetro *dist* puede cambiarse en el futuro. Esto es posible gracias a " "la siguiente especificación de función::" -#: ../Doc/whatsnew/3.8.rst:168 +#: ../Doc/whatsnew/3.8.rst:166 msgid "" "Since the parameters to the left of ``/`` are not exposed as possible " "keywords, the parameters names remain available for use in ``**kwargs``::" @@ -206,7 +201,7 @@ msgstr "" "palabras clave, los nombres de los parámetros permanecen disponibles para su " "uso en ``**kwargs``::" -#: ../Doc/whatsnew/3.8.rst:177 +#: ../Doc/whatsnew/3.8.rst:175 msgid "" "This greatly simplifies the implementation of functions and methods that " "need to accept arbitrary keyword arguments. For example, here is an excerpt " @@ -216,20 +211,20 @@ msgstr "" "necesitan aceptar argumentos por palabra clave arbitrarios. Por ejemplo, " "aquí hay un extracto del código del módulo :mod:`collections`::" -#: ../Doc/whatsnew/3.8.rst:186 +#: ../Doc/whatsnew/3.8.rst:184 msgid "See :pep:`570` for a full description." msgstr "Consultar :pep:`570` para obtener una descripción completa." -#: ../Doc/whatsnew/3.8.rst:188 +#: ../Doc/whatsnew/3.8.rst:186 msgid "(Contributed by Pablo Galindo in :issue:`36540`.)" msgstr "(Contribución de Pablo Galindo en :issue:`36540`.)" -#: ../Doc/whatsnew/3.8.rst:194 +#: ../Doc/whatsnew/3.8.rst:192 msgid "Parallel filesystem cache for compiled bytecode files" msgstr "" "Caché del sistema de archivos paralelo para archivos de bytecode compilados" -#: ../Doc/whatsnew/3.8.rst:196 +#: ../Doc/whatsnew/3.8.rst:194 msgid "" "The new :envvar:`PYTHONPYCACHEPREFIX` setting (also available as :option:`-" "X` ``pycache_prefix``) configures the implicit bytecode cache to use a " @@ -242,7 +237,7 @@ msgstr "" "separado, en lugar de los subdirectorios ``__pycache__`` predeterminados " "dentro cada directorio de origen." -#: ../Doc/whatsnew/3.8.rst:202 +#: ../Doc/whatsnew/3.8.rst:200 msgid "" "The location of the cache is reported in :data:`sys.pycache_prefix` (:const:" "`None` indicates the default location in ``__pycache__`` subdirectories)." @@ -251,17 +246,17 @@ msgstr "" "`None` indica la ubicación predeterminada en los subdirectorios " "``__pycache__``)." -#: ../Doc/whatsnew/3.8.rst:206 +#: ../Doc/whatsnew/3.8.rst:204 msgid "(Contributed by Carl Meyer in :issue:`33499`.)" msgstr "(Contribución de Carl Meyer en :issue:`33499`.)" -#: ../Doc/whatsnew/3.8.rst:210 +#: ../Doc/whatsnew/3.8.rst:208 msgid "Debug build uses the same ABI as release build" msgstr "" "La compilación de depuración usa la misma ABI que la compilación de " "lanzamiento" -#: ../Doc/whatsnew/3.8.rst:212 +#: ../Doc/whatsnew/3.8.rst:210 msgid "" "Python now uses the same ABI whether it's built in release or debug mode. On " "Unix, when Python is built in debug mode, it is now possible to load C " @@ -272,7 +267,7 @@ msgstr "" "modo de depuración, ahora es posible cargar extensiones C compiladas en modo " "de lanzamiento y extensiones C compiladas usando la ABI estable." -#: ../Doc/whatsnew/3.8.rst:216 +#: ../Doc/whatsnew/3.8.rst:214 msgid "" "Release builds and debug builds are now ABI compatible: defining the " "``Py_DEBUG`` macro no longer implies the ``Py_TRACE_REFS`` macro, which " @@ -289,7 +284,7 @@ msgstr "" "nueva opción de compilación ``./configure --with-trace-refs``. (Contribución " "de Victor Stinner en :issue:`36465`.)" -#: ../Doc/whatsnew/3.8.rst:224 +#: ../Doc/whatsnew/3.8.rst:222 msgid "" "On Unix, C extensions are no longer linked to libpython except on Android " "and Cygwin. It is now possible for a statically linked Python to load a C " @@ -301,7 +296,7 @@ msgstr "" "estáticamente cargue una extensión de C creada con una biblioteca dinámica " "de Python. (Contribución de Victor Stinner en :issue:`21536`.)" -#: ../Doc/whatsnew/3.8.rst:231 +#: ../Doc/whatsnew/3.8.rst:229 msgid "" "On Unix, when Python is built in debug mode, import now also looks for C " "extensions compiled in release mode and for C extensions compiled with the " @@ -312,7 +307,7 @@ msgstr "" "extensiones C compiladas con la ABI estable. (Contribución de Victor Stinner " "en :issue:`36722`.)" -#: ../Doc/whatsnew/3.8.rst:236 +#: ../Doc/whatsnew/3.8.rst:234 msgid "" "To embed Python into an application, a new ``--embed`` option must be passed " "to ``python3-config --libs --embed`` to get ``-lpython3.8`` (link the " @@ -327,7 +322,7 @@ msgstr "" "usar ``python3-config --libs`` (sin ``--embed``) si falla el comando " "anterior." -#: ../Doc/whatsnew/3.8.rst:242 +#: ../Doc/whatsnew/3.8.rst:240 msgid "" "Add a pkg-config ``python-3.8-embed`` module to embed Python into an " "application: ``pkg-config python-3.8-embed --libs`` includes ``-" @@ -343,7 +338,7 @@ msgstr "" "libs`` (sin ``--embed``) si el comando anterior falla (reemplaza ``XY`` con " "la versión de Python)." -#: ../Doc/whatsnew/3.8.rst:248 +#: ../Doc/whatsnew/3.8.rst:246 msgid "" "On the other hand, ``pkg-config python3.8 --libs`` no longer contains ``-" "lpython3.8``. C extensions must not be linked to libpython (except on " @@ -357,12 +352,12 @@ msgstr "" "cambio no es retrocompatible a propósito. (Contribución de Victor Stinner " "en :issue:`36721`.)" -#: ../Doc/whatsnew/3.8.rst:256 +#: ../Doc/whatsnew/3.8.rst:254 msgid "f-strings support ``=`` for self-documenting expressions and debugging" msgstr "" "Los f-strings soportan ``=`` para expresiones autodocumentadas y depuración" -#: ../Doc/whatsnew/3.8.rst:258 +#: ../Doc/whatsnew/3.8.rst:256 msgid "" "Added an ``=`` specifier to :term:`f-string`\\s. An f-string such as " "``f'{expr=}'`` will expand to the text of the expression, an equal sign, " @@ -372,7 +367,7 @@ msgstr "" "como ``f'{expr=}'`` se expandirá al texto de la expresión, seguido de un " "signo igual y luego la representación de la expresión evaluada. Por ejemplo:" -#: ../Doc/whatsnew/3.8.rst:267 +#: ../Doc/whatsnew/3.8.rst:265 msgid "" "The usual :ref:`f-string format specifiers ` allow more control " "over how the result of the expression is displayed::" @@ -381,7 +376,7 @@ msgstr "" "permiten un mayor control sobre como se muestra el resultado de la " "expresión::" -#: ../Doc/whatsnew/3.8.rst:274 +#: ../Doc/whatsnew/3.8.rst:272 msgid "" "The ``=`` specifier will display the whole expression so that calculations " "can be shown::" @@ -389,15 +384,15 @@ msgstr "" "El especificador ``=`` mostrará la expresión completa para que se puedan " "mostrar los cálculos:" -#: ../Doc/whatsnew/3.8.rst:280 +#: ../Doc/whatsnew/3.8.rst:278 msgid "(Contributed by Eric V. Smith and Larry Hastings in :issue:`36817`.)" msgstr "(Contribución de Eric V. Smith y Larry Hastings en :issue:`36817`.)" -#: ../Doc/whatsnew/3.8.rst:284 +#: ../Doc/whatsnew/3.8.rst:282 msgid "PEP 578: Python Runtime Audit Hooks" msgstr "PEP 578: Ganchos de auditoría en tiempo de ejecución de Python" -#: ../Doc/whatsnew/3.8.rst:286 +#: ../Doc/whatsnew/3.8.rst:284 msgid "" "The PEP adds an Audit Hook and Verified Open Hook. Both are available from " "Python and native code, allowing applications and frameworks written in pure " @@ -412,15 +407,15 @@ msgstr "" "administradores de sistemas implementar compilaciones de Python donde la " "auditoría siempre está habilitada." -#: ../Doc/whatsnew/3.8.rst:292 +#: ../Doc/whatsnew/3.8.rst:290 msgid "See :pep:`578` for full details." msgstr "Consultar :pep:`578` para obtener más detalles." -#: ../Doc/whatsnew/3.8.rst:296 +#: ../Doc/whatsnew/3.8.rst:294 msgid "PEP 587: Python Initialization Configuration" msgstr "PEP 587: Configuración de inicialización de Python" -#: ../Doc/whatsnew/3.8.rst:298 +#: ../Doc/whatsnew/3.8.rst:296 msgid "" "The :pep:`587` adds a new C API to configure the Python Initialization " "providing finer control on the whole configuration and better error " @@ -430,135 +425,135 @@ msgstr "" "Python, proporcionando un control más preciso de toda la configuración y " "mejores informes de errores." -#: ../Doc/whatsnew/3.8.rst:301 +#: ../Doc/whatsnew/3.8.rst:299 msgid "New structures:" msgstr "Nuevas estructuras:" -#: ../Doc/whatsnew/3.8.rst:303 +#: ../Doc/whatsnew/3.8.rst:301 msgid ":c:type:`PyConfig`" msgstr ":c:type:`PyConfig`" -#: ../Doc/whatsnew/3.8.rst:304 +#: ../Doc/whatsnew/3.8.rst:302 msgid ":c:type:`PyPreConfig`" msgstr ":c:type:`PyPreConfig`" -#: ../Doc/whatsnew/3.8.rst:305 +#: ../Doc/whatsnew/3.8.rst:303 msgid ":c:type:`PyStatus`" msgstr ":c:type:`PyStatus`" -#: ../Doc/whatsnew/3.8.rst:306 +#: ../Doc/whatsnew/3.8.rst:304 msgid ":c:type:`PyWideStringList`" msgstr ":c:type:`PyWideStringList`" -#: ../Doc/whatsnew/3.8.rst:308 +#: ../Doc/whatsnew/3.8.rst:306 msgid "New functions:" msgstr "Nuevas funciones:" -#: ../Doc/whatsnew/3.8.rst:310 +#: ../Doc/whatsnew/3.8.rst:308 msgid ":c:func:`PyConfig_Clear`" msgstr ":c:func:`PyConfig_Clear`" -#: ../Doc/whatsnew/3.8.rst:311 +#: ../Doc/whatsnew/3.8.rst:309 msgid ":c:func:`PyConfig_InitIsolatedConfig`" msgstr ":c:func:`PyConfig_InitIsolatedConfig`" -#: ../Doc/whatsnew/3.8.rst:312 +#: ../Doc/whatsnew/3.8.rst:310 msgid ":c:func:`PyConfig_InitPythonConfig`" msgstr ":c:func:`PyConfig_InitPythonConfig`" -#: ../Doc/whatsnew/3.8.rst:313 +#: ../Doc/whatsnew/3.8.rst:311 msgid ":c:func:`PyConfig_Read`" msgstr ":c:func:`PyConfig_Read`" -#: ../Doc/whatsnew/3.8.rst:314 +#: ../Doc/whatsnew/3.8.rst:312 msgid ":c:func:`PyConfig_SetArgv`" msgstr ":c:func:`PyConfig_SetArgv`" -#: ../Doc/whatsnew/3.8.rst:315 +#: ../Doc/whatsnew/3.8.rst:313 msgid ":c:func:`PyConfig_SetBytesArgv`" msgstr ":c:func:`PyConfig_SetBytesArgv`" -#: ../Doc/whatsnew/3.8.rst:316 +#: ../Doc/whatsnew/3.8.rst:314 msgid ":c:func:`PyConfig_SetBytesString`" msgstr ":c:func:`PyConfig_SetBytesString`" -#: ../Doc/whatsnew/3.8.rst:317 +#: ../Doc/whatsnew/3.8.rst:315 msgid ":c:func:`PyConfig_SetString`" msgstr ":c:func:`PyConfig_SetString`" -#: ../Doc/whatsnew/3.8.rst:318 +#: ../Doc/whatsnew/3.8.rst:316 msgid ":c:func:`PyPreConfig_InitIsolatedConfig`" msgstr ":c:func:`PyPreConfig_InitIsolatedConfig`" -#: ../Doc/whatsnew/3.8.rst:319 +#: ../Doc/whatsnew/3.8.rst:317 msgid ":c:func:`PyPreConfig_InitPythonConfig`" msgstr ":c:func:`PyPreConfig_InitPythonConfig`" -#: ../Doc/whatsnew/3.8.rst:320 +#: ../Doc/whatsnew/3.8.rst:318 msgid ":c:func:`PyStatus_Error`" msgstr ":c:func:`PyStatus_Error`" -#: ../Doc/whatsnew/3.8.rst:321 +#: ../Doc/whatsnew/3.8.rst:319 msgid ":c:func:`PyStatus_Exception`" msgstr ":c:func:`PyStatus_Exception`" -#: ../Doc/whatsnew/3.8.rst:322 +#: ../Doc/whatsnew/3.8.rst:320 msgid ":c:func:`PyStatus_Exit`" msgstr ":c:func:`PyStatus_Exit`" -#: ../Doc/whatsnew/3.8.rst:323 +#: ../Doc/whatsnew/3.8.rst:321 msgid ":c:func:`PyStatus_IsError`" msgstr ":c:func:`PyStatus_IsError`" -#: ../Doc/whatsnew/3.8.rst:324 +#: ../Doc/whatsnew/3.8.rst:322 msgid ":c:func:`PyStatus_IsExit`" msgstr ":c:func:`PyStatus_IsExit`" -#: ../Doc/whatsnew/3.8.rst:325 +#: ../Doc/whatsnew/3.8.rst:323 msgid ":c:func:`PyStatus_NoMemory`" msgstr ":c:func:`PyStatus_NoMemory`" -#: ../Doc/whatsnew/3.8.rst:326 +#: ../Doc/whatsnew/3.8.rst:324 msgid ":c:func:`PyStatus_Ok`" msgstr ":c:func:`PyStatus_Ok`" -#: ../Doc/whatsnew/3.8.rst:327 +#: ../Doc/whatsnew/3.8.rst:325 msgid ":c:func:`PyWideStringList_Append`" msgstr ":c:func:`PyWideStringList_Append`" -#: ../Doc/whatsnew/3.8.rst:328 +#: ../Doc/whatsnew/3.8.rst:326 msgid ":c:func:`PyWideStringList_Insert`" msgstr ":c:func:`PyWideStringList_Insert`" -#: ../Doc/whatsnew/3.8.rst:329 +#: ../Doc/whatsnew/3.8.rst:327 msgid ":c:func:`Py_BytesMain`" msgstr ":c:func:`Py_BytesMain`" -#: ../Doc/whatsnew/3.8.rst:330 +#: ../Doc/whatsnew/3.8.rst:328 msgid ":c:func:`Py_ExitStatusException`" msgstr ":c:func:`Py_ExitStatusException`" -#: ../Doc/whatsnew/3.8.rst:331 +#: ../Doc/whatsnew/3.8.rst:329 msgid ":c:func:`Py_InitializeFromConfig`" msgstr ":c:func:`Py_InitializeFromConfig`" -#: ../Doc/whatsnew/3.8.rst:332 +#: ../Doc/whatsnew/3.8.rst:330 msgid ":c:func:`Py_PreInitialize`" msgstr ":c:func:`Py_PreInitialize`" -#: ../Doc/whatsnew/3.8.rst:333 +#: ../Doc/whatsnew/3.8.rst:331 msgid ":c:func:`Py_PreInitializeFromArgs`" msgstr ":c:func:`Py_PreInitializeFromArgs`" -#: ../Doc/whatsnew/3.8.rst:334 +#: ../Doc/whatsnew/3.8.rst:332 msgid ":c:func:`Py_PreInitializeFromBytesArgs`" msgstr ":c:func:`Py_PreInitializeFromBytesArgs`" -#: ../Doc/whatsnew/3.8.rst:335 +#: ../Doc/whatsnew/3.8.rst:333 msgid ":c:func:`Py_RunMain`" msgstr ":c:func:`Py_RunMain`" -#: ../Doc/whatsnew/3.8.rst:337 +#: ../Doc/whatsnew/3.8.rst:335 msgid "" "This PEP also adds ``_PyRuntimeState.preconfig`` (:c:type:`PyPreConfig` " "type) and ``PyInterpreterState.config`` (:c:type:`PyConfig` type) fields to " @@ -572,7 +567,7 @@ msgstr "" "convierte en la nueva configuración de referencia, reemplazando las " "variables de configuración globales y otras variables privadas." -#: ../Doc/whatsnew/3.8.rst:343 +#: ../Doc/whatsnew/3.8.rst:341 msgid "" "See :ref:`Python Initialization Configuration ` for the " "documentation." @@ -580,30 +575,32 @@ msgstr "" "Consultar :ref:`Configuración de inicialización de Python ` " "para la documentación." -#: ../Doc/whatsnew/3.8.rst:346 +#: ../Doc/whatsnew/3.8.rst:344 msgid "See :pep:`587` for a full description." msgstr "Consultar :pep:`587` para obtener una descripción completa." -#: ../Doc/whatsnew/3.8.rst:348 +#: ../Doc/whatsnew/3.8.rst:346 msgid "(Contributed by Victor Stinner in :issue:`36763`.)" msgstr "(Contribución de Victor Stinner en :issue:`36763`.)" -#: ../Doc/whatsnew/3.8.rst:352 -msgid "Vectorcall: a fast calling protocol for CPython" +#: ../Doc/whatsnew/3.8.rst:350 +#, fuzzy +msgid "PEP 590: Vectorcall: a fast calling protocol for CPython" msgstr "Vectorcall: un protocolo de invocación rápida para CPython" -#: ../Doc/whatsnew/3.8.rst:354 +#: ../Doc/whatsnew/3.8.rst:352 +#, fuzzy msgid "" -"The \"vectorcall\" protocol is added to the Python/C API. It is meant to " -"formalize existing optimizations which were already done for various " -"classes. Any extension type implementing a callable can use this protocol." +":ref:`vectorcall` is added to the Python/C API. It is meant to formalize " +"existing optimizations which were already done for various classes. Any " +"static type implementing a callable can use this protocol." msgstr "" "El protocolo \"vectorcall\" se ha agregado a la API de Python/C. Tiene como " "objetivo formalizar las optimizaciones existentes que ya se realizaron para " "varias clases. Cualquier tipo de extensión que implemente un invocable puede " "utilizar este protocolo." -#: ../Doc/whatsnew/3.8.rst:359 +#: ../Doc/whatsnew/3.8.rst:357 msgid "" "This is currently provisional. The aim is to make it fully public in Python " "3.9." @@ -611,19 +608,22 @@ msgstr "" "Actualmente es provisional. El objetivo es hacerlo completamente público en " "Python 3.9." -#: ../Doc/whatsnew/3.8.rst:362 +#: ../Doc/whatsnew/3.8.rst:360 msgid "See :pep:`590` for a full description." msgstr "Consultar :pep:`590` para obtener una descripción completa." -#: ../Doc/whatsnew/3.8.rst:364 -msgid "(Contributed by Jeroen Demeyer and Mark Shannon in :issue:`36974`.)" +#: ../Doc/whatsnew/3.8.rst:362 +#, fuzzy +msgid "" +"(Contributed by Jeroen Demeyer, Mark Shannon and Petr Viktorin in :issue:" +"`36974`.)" msgstr "(Contribución de Jeroen Demeyer y Mark Shannon en :issue:`36974`.)" -#: ../Doc/whatsnew/3.8.rst:368 +#: ../Doc/whatsnew/3.8.rst:366 msgid "Pickle protocol 5 with out-of-band data buffers" msgstr "Protocolo 5 de Pickle con búferes de datos fuera de banda" -#: ../Doc/whatsnew/3.8.rst:370 +#: ../Doc/whatsnew/3.8.rst:368 msgid "" "When :mod:`pickle` is used to transfer large data between Python processes " "in order to take advantage of multi-core or multi-machine processing, it is " @@ -636,7 +636,7 @@ msgstr "" "reduciendo las copias en memoria y posiblemente aplicando técnicas " "personalizadas, como la compresión dependiente de datos." -#: ../Doc/whatsnew/3.8.rst:375 +#: ../Doc/whatsnew/3.8.rst:373 msgid "" "The :mod:`pickle` protocol 5 introduces support for out-of-band buffers " "where :pep:`3118`-compatible data can be transmitted separately from the " @@ -647,19 +647,19 @@ msgstr "" "separados del flujo principal de pickle, a discreción de la capa de " "comunicación." -#: ../Doc/whatsnew/3.8.rst:379 +#: ../Doc/whatsnew/3.8.rst:377 msgid "See :pep:`574` for a full description." msgstr "Consultar :pep:`574` para obtener una descripción completa." -#: ../Doc/whatsnew/3.8.rst:381 +#: ../Doc/whatsnew/3.8.rst:379 msgid "(Contributed by Antoine Pitrou in :issue:`36785`.)" msgstr "(Contribución de Antoine Pitrou en :issue:`36785`.)" -#: ../Doc/whatsnew/3.8.rst:385 +#: ../Doc/whatsnew/3.8.rst:383 msgid "Other Language Changes" msgstr "Otros cambios en el lenguaje" -#: ../Doc/whatsnew/3.8.rst:387 +#: ../Doc/whatsnew/3.8.rst:385 msgid "" "A :keyword:`continue` statement was illegal in the :keyword:`finally` clause " "due to a problem with the implementation. In Python 3.8 this restriction " @@ -670,7 +670,7 @@ msgstr "" "eliminado esta restricción. (Contribución de Serhiy Storchaka en :issue:" "`32489`.)" -#: ../Doc/whatsnew/3.8.rst:392 +#: ../Doc/whatsnew/3.8.rst:390 msgid "" "The :class:`bool`, :class:`int`, and :class:`fractions.Fraction` types now " "have an :meth:`~int.as_integer_ratio` method like that found in :class:" @@ -686,7 +686,7 @@ msgstr "" "hacer que funcione con múltiples tipos numéricos. (Contribución de Lisa " "Roach en :issue:`33073` y de Raymond Hettinger en :issue:`37819`.)" -#: ../Doc/whatsnew/3.8.rst:400 +#: ../Doc/whatsnew/3.8.rst:398 msgid "" "Constructors of :class:`int`, :class:`float` and :class:`complex` will now " "use the :meth:`~object.__index__` special method, if available and the " @@ -700,20 +700,20 @@ msgstr "" "o :meth:`~object.__complex__` no está disponible. (Contribución de Serhiy " "Storchaka en :issue:`20092`.)" -#: ../Doc/whatsnew/3.8.rst:406 +#: ../Doc/whatsnew/3.8.rst:404 msgid "" "Added support of ``\\N{name}`` escapes in :mod:`regular expressions `::" msgstr "" "Agregado soporte para escapes ``\\N{name}`` en :mod:`expresiones regulares " "`::" -#: ../Doc/whatsnew/3.8.rst:413 +#: ../Doc/whatsnew/3.8.rst:411 msgid "" "(Contributed by Jonathan Eunice and Serhiy Storchaka in :issue:`30688`.)" msgstr "" "(Contribución de Jonathan Eunice y Serhiy Storchaka in :issue:`30688`.)" -#: ../Doc/whatsnew/3.8.rst:415 +#: ../Doc/whatsnew/3.8.rst:413 msgid "" "Dict and dictviews are now iterable in reversed insertion order using :func:" "`reversed`. (Contributed by Rémi Lapeyre in :issue:`33462`.)" @@ -722,7 +722,7 @@ msgstr "" "inserción usando :func:`reversed`. (Contribución de Rémi Lapeyre en :issue:" "`33462`.)" -#: ../Doc/whatsnew/3.8.rst:418 +#: ../Doc/whatsnew/3.8.rst:416 msgid "" "The syntax allowed for keyword names in function calls was further " "restricted. In particular, ``f((keyword)=arg)`` is no longer allowed. It was " @@ -736,7 +736,7 @@ msgstr "" "simple nombre en el lado izquierdo de un término de asignación de argumento " "por palabra clave. (Contribución de Benjamin Peterson en :issue:`34641`.)" -#: ../Doc/whatsnew/3.8.rst:424 +#: ../Doc/whatsnew/3.8.rst:422 msgid "" "Generalized iterable unpacking in :keyword:`yield` and :keyword:`return` " "statements no longer requires enclosing parentheses. This brings the *yield* " @@ -747,11 +747,11 @@ msgstr "" "Esto hace que la sintaxis de *yield* y *return* se asemeje más a la sintaxis " "normal de asignación::" -#: ../Doc/whatsnew/3.8.rst:436 +#: ../Doc/whatsnew/3.8.rst:434 msgid "(Contributed by David Cuthbert and Jordan Chapman in :issue:`32117`.)" msgstr "(Contribución de David Cuthbert y Jordan Chapman en :issue:`32117`.)" -#: ../Doc/whatsnew/3.8.rst:438 +#: ../Doc/whatsnew/3.8.rst:436 msgid "" "When a comma is missed in code such as ``[(10, 20) (30, 40)]``, the compiler " "displays a :exc:`SyntaxWarning` with a helpful suggestion. This improves on " @@ -764,7 +764,7 @@ msgstr "" "se mostraba un :exc:`TypeError` indicando que la primera tupla no era " "invocable. (Contribución de Serhiy Storchaka en :issue:`15248`.)" -#: ../Doc/whatsnew/3.8.rst:444 +#: ../Doc/whatsnew/3.8.rst:442 msgid "" "Arithmetic operations between subclasses of :class:`datetime.date` or :class:" "`datetime.datetime` and :class:`datetime.timedelta` objects now return an " @@ -781,7 +781,7 @@ msgstr "" "`~datetime.datetime.astimezone`. (Contribución de Paul Ganssle en :issue:" "`32417`.)" -#: ../Doc/whatsnew/3.8.rst:452 +#: ../Doc/whatsnew/3.8.rst:450 msgid "" "When the Python interpreter is interrupted by Ctrl-C (SIGINT) and the " "resulting :exc:`KeyboardInterrupt` exception is not caught, the Python " @@ -799,7 +799,7 @@ msgstr "" "correcta. (Contribución de Google a través de Gregory P. Smith en :issue:" "`1054041`.)" -#: ../Doc/whatsnew/3.8.rst:459 +#: ../Doc/whatsnew/3.8.rst:457 msgid "" "Some advanced styles of programming require updating the :class:`types." "CodeType` object for an existing function. Since code objects are " @@ -815,7 +815,7 @@ msgstr "" "esto era algo tedioso. Ahora, el nuevo método ``replace()`` hace posible " "crear un clon con algunos parámetros alterados." -#: ../Doc/whatsnew/3.8.rst:466 +#: ../Doc/whatsnew/3.8.rst:464 msgid "" "Here's an example that alters the :func:`statistics.mean` function to " "prevent the *data* parameter from being used as a keyword argument::" @@ -823,11 +823,11 @@ msgstr "" "Aquí hay un ejemplo que modifica la función :func:`statistics.mean` para " "evitar que el parámetro *data* se use como un argumento por palabra clave::" -#: ../Doc/whatsnew/3.8.rst:478 +#: ../Doc/whatsnew/3.8.rst:476 msgid "(Contributed by Victor Stinner in :issue:`37032`.)" msgstr "(Contribución de Victor Stinner en :issue:`37032`.)" -#: ../Doc/whatsnew/3.8.rst:480 +#: ../Doc/whatsnew/3.8.rst:478 msgid "" "For integers, the three-argument form of the :func:`pow` function now " "permits the exponent to be negative in the case where the base is relatively " @@ -845,7 +845,7 @@ msgstr "" "multiplicativo `_ de 38 módulo 137, escribe::" -#: ../Doc/whatsnew/3.8.rst:494 +#: ../Doc/whatsnew/3.8.rst:492 msgid "" "Modular inverses arise in the solution of `linear Diophantine equations " "`_. For example, to find " @@ -857,11 +857,11 @@ msgstr "" "Por ejemplo, para encontrar soluciones enteras para ``4258𝑥 + 147𝑦 = 369``, " "primero debes reescribirla como ``4258𝑥 ≡ 369 (mod 147)`` y luego resolver:" -#: ../Doc/whatsnew/3.8.rst:504 +#: ../Doc/whatsnew/3.8.rst:502 msgid "(Contributed by Mark Dickinson in :issue:`36027`.)" msgstr "(Contribución de Mark Dickinson en :issue:`36027`.)" -#: ../Doc/whatsnew/3.8.rst:506 +#: ../Doc/whatsnew/3.8.rst:504 msgid "" "Dict comprehensions have been synced-up with dict literals so that the key " "is computed first and the value second::" @@ -869,7 +869,7 @@ msgstr "" "Las compresiones de diccionarios se han sincronizado con los literales de " "diccionario para que primero se calcule la clave y posteriormente el valor::" -#: ../Doc/whatsnew/3.8.rst:521 +#: ../Doc/whatsnew/3.8.rst:519 msgid "" "The guaranteed execution order is helpful with assignment expressions " "because variables assigned in the key expression will be available in the " @@ -879,11 +879,11 @@ msgstr "" "de asignación porque las variables asignadas en la expresión de la clave " "estarán disponibles en la expresión del valor::" -#: ../Doc/whatsnew/3.8.rst:531 +#: ../Doc/whatsnew/3.8.rst:529 msgid "(Contributed by Jörn Heissler in :issue:`35224`.)" msgstr "(Contribución de Jörn Heissler en :issue:`35224`.)" -#: ../Doc/whatsnew/3.8.rst:533 +#: ../Doc/whatsnew/3.8.rst:531 msgid "" "The :meth:`object.__reduce__` method can now return a tuple from two to six " "elements long. Formerly, five was the limit. The new, optional sixth " @@ -901,11 +901,11 @@ msgstr "" "invocable tendrá prioridad sobre el método :meth:`~__setstate__` del objeto. " "(Contribución de Pierre Glaser y Olivier Grisel en :issue:`35900`.)" -#: ../Doc/whatsnew/3.8.rst:542 +#: ../Doc/whatsnew/3.8.rst:540 msgid "New Modules" msgstr "Nuevos módulos" -#: ../Doc/whatsnew/3.8.rst:544 +#: ../Doc/whatsnew/3.8.rst:542 msgid "" "The new :mod:`importlib.metadata` module provides (provisional) support for " "reading metadata from third-party packages. For example, it can extract an " @@ -916,19 +916,19 @@ msgstr "" "número de versión de un paquete instalado, la lista de puntos de entrada y " "más::" -#: ../Doc/whatsnew/3.8.rst:563 +#: ../Doc/whatsnew/3.8.rst:561 msgid "(Contributed by Barry Warsaw and Jason R. Coombs in :issue:`34632`.)" msgstr "(Contribución de Barry Warsaw y Jason R. Coombs en :issue:`34632`.)" -#: ../Doc/whatsnew/3.8.rst:567 +#: ../Doc/whatsnew/3.8.rst:565 msgid "Improved Modules" msgstr "Módulos mejorados" -#: ../Doc/whatsnew/3.8.rst:570 +#: ../Doc/whatsnew/3.8.rst:568 msgid "ast" msgstr "ast" -#: ../Doc/whatsnew/3.8.rst:572 +#: ../Doc/whatsnew/3.8.rst:570 msgid "" "AST nodes now have ``end_lineno`` and ``end_col_offset`` attributes, which " "give the precise location of the end of the node. (This only applies to " @@ -939,7 +939,7 @@ msgstr "" "nodo. (Esto solo se aplica a los nodos que tienen los atributos ``lineno`` y " "``col_offset``.)" -#: ../Doc/whatsnew/3.8.rst:576 +#: ../Doc/whatsnew/3.8.rst:574 msgid "" "New function :func:`ast.get_source_segment` returns the source code for a " "specific AST node." @@ -947,15 +947,15 @@ msgstr "" "La nueva función :func:`ast.get_source_segment` retorna el código fuente de " "un nodo AST específico." -#: ../Doc/whatsnew/3.8.rst:579 +#: ../Doc/whatsnew/3.8.rst:577 msgid "(Contributed by Ivan Levkivskyi in :issue:`33416`.)" msgstr "(Contribución de Ivan Levkivskyi en :issue:`33416`.)" -#: ../Doc/whatsnew/3.8.rst:581 +#: ../Doc/whatsnew/3.8.rst:579 msgid "The :func:`ast.parse` function has some new flags:" msgstr "La función :func:`ast.parse` tiene algunos flags nuevos:" -#: ../Doc/whatsnew/3.8.rst:583 +#: ../Doc/whatsnew/3.8.rst:581 msgid "" "``type_comments=True`` causes it to return the text of :pep:`484` and :pep:" "`526` type comments associated with certain AST nodes;" @@ -964,7 +964,7 @@ msgstr "" "comentarios de tipo especificados en :pep:`484` y :pep:`526` asociados con " "ciertos nodos AST;" -#: ../Doc/whatsnew/3.8.rst:586 +#: ../Doc/whatsnew/3.8.rst:584 msgid "" "``mode='func_type'`` can be used to parse :pep:`484` \"signature type " "comments\" (returned for function definition AST nodes);" @@ -973,7 +973,7 @@ msgstr "" "los \"comentarios de tipo de firma\" de :pep:`484` (retornados por los nodos " "AST de definición de funciones);" -#: ../Doc/whatsnew/3.8.rst:589 +#: ../Doc/whatsnew/3.8.rst:587 msgid "" "``feature_version=(3, N)`` allows specifying an earlier Python 3 version. " "For example, ``feature_version=(3, 4)`` will treat :keyword:`async` and :" @@ -983,15 +983,15 @@ msgstr "" "previa. Por ejemplo, ``feature_version=(3, 4)`` hará que se trate a :keyword:" "`async` y :keyword:`await` como palabras no reservadas." -#: ../Doc/whatsnew/3.8.rst:593 +#: ../Doc/whatsnew/3.8.rst:591 msgid "(Contributed by Guido van Rossum in :issue:`35766`.)" msgstr "(Contribución de Guido van Rossum en :issue:`35766`.)" -#: ../Doc/whatsnew/3.8.rst:597 +#: ../Doc/whatsnew/3.8.rst:595 msgid "asyncio" msgstr "asyncio" -#: ../Doc/whatsnew/3.8.rst:599 +#: ../Doc/whatsnew/3.8.rst:597 msgid "" ":func:`asyncio.run` has graduated from the provisional to stable API. This " "function can be used to execute a :term:`coroutine` and return the result " @@ -1002,11 +1002,11 @@ msgstr "" "resultado mientras se gestiona automáticamente el bucle de eventos. Por " "ejemplo::" -#: ../Doc/whatsnew/3.8.rst:611 +#: ../Doc/whatsnew/3.8.rst:609 msgid "This is *roughly* equivalent to::" msgstr "Esto es *aproximadamente* equivalente a::" -#: ../Doc/whatsnew/3.8.rst:628 +#: ../Doc/whatsnew/3.8.rst:626 msgid "" "The actual implementation is significantly more complex. Thus, :func:" "`asyncio.run` should be the preferred way of running asyncio programs." @@ -1015,11 +1015,11 @@ msgstr "" "func:`asyncio.run` debería ser la forma preferida de ejecutar programas " "asyncio." -#: ../Doc/whatsnew/3.8.rst:631 +#: ../Doc/whatsnew/3.8.rst:629 msgid "(Contributed by Yury Selivanov in :issue:`32314`.)" msgstr "(Contribución de Yury Selivanov en :issue:`32314`.)" -#: ../Doc/whatsnew/3.8.rst:633 +#: ../Doc/whatsnew/3.8.rst:631 msgid "" "Running ``python -m asyncio`` launches a natively async REPL. This allows " "rapid experimentation with code that has a top-level :keyword:`await`. " @@ -1032,21 +1032,23 @@ msgstr "" "``asyncio.run()``, lo que generaría un nuevo ciclo de eventos en cada " "invocación:" -#: ../Doc/whatsnew/3.8.rst:648 +#: ../Doc/whatsnew/3.8.rst:646 msgid "(Contributed by Yury Selivanov in :issue:`37028`.)" msgstr "(Contribución de Yury Selivanov en :issue:`37028`.)" -#: ../Doc/whatsnew/3.8.rst:650 ../Doc/whatsnew/3.8.rst:1955 +#: ../Doc/whatsnew/3.8.rst:648 ../Doc/whatsnew/3.8.rst:1964 +#, fuzzy msgid "" "The exception :class:`asyncio.CancelledError` now inherits from :class:" -"`BaseException` rather than :class:`Exception`. (Contributed by Yury " -"Selivanov in :issue:`32528`.)" +"`BaseException` rather than :class:`Exception` and no longer inherits from :" +"class:`concurrent.futures.CancelledError`. (Contributed by Yury Selivanov " +"in :issue:`32528`.)" msgstr "" "La excepción :class:`asyncio.CancelledError` ahora hereda de :class:" "`BaseException` en vez de :class:`Exception`. (Contribución de Yury " "Selivanov en :issue:`32528`.)" -#: ../Doc/whatsnew/3.8.rst:654 +#: ../Doc/whatsnew/3.8.rst:653 msgid "" "On Windows, the default event loop is now :class:`~asyncio." "ProactorEventLoop`. (Contributed by Victor Stinner in :issue:`34687`.)" @@ -1054,7 +1056,7 @@ msgstr "" "En Windows, el ciclo de eventos predeterminado ahora es :class:`~asyncio." "ProactorEventLoop`. (Contribución de Victor Stinner en :issue:`34687`.)" -#: ../Doc/whatsnew/3.8.rst:657 +#: ../Doc/whatsnew/3.8.rst:656 msgid "" ":class:`~asyncio.ProactorEventLoop` now also supports UDP. (Contributed by " "Adam Meily and Andrew Svetlov in :issue:`29883`.)" @@ -1062,7 +1064,7 @@ msgstr "" ":class:`~asyncio.ProactorEventLoop` ahora también es compatible con UDP. " "(Contribución de Adam Meily y Andrew Svetlov en :issue:`29883`.)" -#: ../Doc/whatsnew/3.8.rst:660 +#: ../Doc/whatsnew/3.8.rst:659 msgid "" ":class:`~asyncio.ProactorEventLoop` can now be interrupted by :exc:" "`KeyboardInterrupt` (\"CTRL+C\"). (Contributed by Vladimir Matveev in :issue:" @@ -1072,7 +1074,7 @@ msgstr "" "`KeyboardInterrupt` (\"CTRL+C\"). (Contribución de Vladimir Matveev en :" "issue:`23057`.)" -#: ../Doc/whatsnew/3.8.rst:664 +#: ../Doc/whatsnew/3.8.rst:663 msgid "" "Added :meth:`asyncio.Task.get_coro` for getting the wrapped coroutine within " "an :class:`asyncio.Task`. (Contributed by Alex Grönholm in :issue:`36999`.)" @@ -1081,7 +1083,7 @@ msgstr "" "envuelta dentro de :class:`asyncio.Task`. (Contribución de Alex Grönholm en :" "issue:`36999`.)" -#: ../Doc/whatsnew/3.8.rst:668 +#: ../Doc/whatsnew/3.8.rst:667 msgid "" "Asyncio tasks can now be named, either by passing the ``name`` keyword " "argument to :func:`asyncio.create_task` or the :meth:`~asyncio.loop." @@ -1099,7 +1101,7 @@ msgstr "" "puede recuperar usando el método :meth:`~asyncio.Task.get_name`. " "(Contribución de Alex Grönholm en :issue:`34270`.)" -#: ../Doc/whatsnew/3.8.rst:676 +#: ../Doc/whatsnew/3.8.rst:675 msgid "" "Added support for `Happy Eyeballs `_ to :func:`asyncio.loop.create_connection`. To specify the " @@ -1116,11 +1118,11 @@ msgstr "" "conectarse simultáneamente utilizando ambos. (Contribución de twisteroid " "ambassador en :issue:`33530`.)" -#: ../Doc/whatsnew/3.8.rst:686 +#: ../Doc/whatsnew/3.8.rst:685 msgid "builtins" msgstr "builtins" -#: ../Doc/whatsnew/3.8.rst:688 +#: ../Doc/whatsnew/3.8.rst:687 msgid "" "The :func:`compile` built-in has been improved to accept the ``ast." "PyCF_ALLOW_TOP_LEVEL_AWAIT`` flag. With this new flag passed, :func:" @@ -1136,11 +1138,11 @@ msgstr "" "objeto de código asíncrono marcado con el flag ``CO_COROUTINE`` puede ser " "retornado. (Contribución de Matthias Bussonnier en :issue:`34616`.)" -#: ../Doc/whatsnew/3.8.rst:697 +#: ../Doc/whatsnew/3.8.rst:696 msgid "collections" msgstr "collections" -#: ../Doc/whatsnew/3.8.rst:699 +#: ../Doc/whatsnew/3.8.rst:698 msgid "" "The :meth:`~collections.somenamedtuple._asdict` method for :func:" "`collections.namedtuple` now returns a :class:`dict` instead of a :class:" @@ -1159,11 +1161,11 @@ msgstr "" "al tipo deseado: ``OrderedDict(nt._asdict())``. (Contribución de Raymond " "Hettinger en :issue:`35864`.)" -#: ../Doc/whatsnew/3.8.rst:709 +#: ../Doc/whatsnew/3.8.rst:708 msgid "cProfile" msgstr "cProfile" -#: ../Doc/whatsnew/3.8.rst:711 +#: ../Doc/whatsnew/3.8.rst:710 msgid "" "The :class:`cProfile.Profile ` class can now be used as a " "context manager. Profile a block of code by running::" @@ -1171,15 +1173,15 @@ msgstr "" "La clase :class:`cProfile.Profile ` ahora puede usarse como " "gestor de contexto. Ahora se puede perfilar un bloque de código ejecutando::" -#: ../Doc/whatsnew/3.8.rst:720 +#: ../Doc/whatsnew/3.8.rst:719 msgid "(Contributed by Scott Sanderson in :issue:`29235`.)" msgstr "(Contribución de Scott Sanderson en :issue:`29235`.)" -#: ../Doc/whatsnew/3.8.rst:724 +#: ../Doc/whatsnew/3.8.rst:723 msgid "csv" msgstr "csv" -#: ../Doc/whatsnew/3.8.rst:726 +#: ../Doc/whatsnew/3.8.rst:725 msgid "" "The :class:`csv.DictReader` now returns instances of :class:`dict` instead " "of a :class:`collections.OrderedDict`. The tool is now faster and uses less " @@ -1191,11 +1193,11 @@ msgstr "" "usa menos memoria, mientras conserva el orden de los campos. (Contribución " "de Michael Selik en :issue:`34003`.)" -#: ../Doc/whatsnew/3.8.rst:733 +#: ../Doc/whatsnew/3.8.rst:732 msgid "curses" msgstr "curses" -#: ../Doc/whatsnew/3.8.rst:735 +#: ../Doc/whatsnew/3.8.rst:734 msgid "" "Added a new variable holding structured version information for the " "underlying ncurses library: :data:`~curses.ncurses_version`. (Contributed by " @@ -1205,11 +1207,11 @@ msgstr "" "estructurada para la biblioteca ncurses subyacente: :data:`~curses." "ncurses_version`. (Contribución de Serhiy Storchaka en :issue:`31680`.)" -#: ../Doc/whatsnew/3.8.rst:741 +#: ../Doc/whatsnew/3.8.rst:740 msgid "ctypes" msgstr "ctypes" -#: ../Doc/whatsnew/3.8.rst:743 +#: ../Doc/whatsnew/3.8.rst:742 msgid "" "On Windows, :class:`~ctypes.CDLL` and subclasses now accept a *winmode* " "parameter to specify flags for the underlying ``LoadLibraryEx`` call. The " @@ -1226,11 +1228,11 @@ msgstr "" "la DLL inicial) y las rutas agregadas por :func:`~os.add_dll_directory` . " "(Contribución de Steve Dower en :issue:`36085`.)" -#: ../Doc/whatsnew/3.8.rst:752 +#: ../Doc/whatsnew/3.8.rst:751 msgid "datetime" msgstr "datetime" -#: ../Doc/whatsnew/3.8.rst:754 +#: ../Doc/whatsnew/3.8.rst:753 msgid "" "Added new alternate constructors :meth:`datetime.date.fromisocalendar` and :" "meth:`datetime.datetime.fromisocalendar`, which construct :class:`date` and :" @@ -1245,11 +1247,11 @@ msgstr "" "inverso del método ``isocalendar`` de cada clase. (Contribución de Paul " "Ganssle en :issue:`36004`.)" -#: ../Doc/whatsnew/3.8.rst:762 +#: ../Doc/whatsnew/3.8.rst:761 msgid "functools" msgstr "functools" -#: ../Doc/whatsnew/3.8.rst:764 +#: ../Doc/whatsnew/3.8.rst:763 msgid "" ":func:`functools.lru_cache` can now be used as a straight decorator rather " "than as a function returning a decorator. So both of these are now " @@ -1259,11 +1261,11 @@ msgstr "" "lugar de como una función que retorna un decorador. De forma que ambos son " "compatibles ahora::" -#: ../Doc/whatsnew/3.8.rst:775 +#: ../Doc/whatsnew/3.8.rst:774 msgid "(Contributed by Raymond Hettinger in :issue:`36772`.)" msgstr "(Contribución de Raymond Hettinger en :issue:`36772`.)" -#: ../Doc/whatsnew/3.8.rst:777 +#: ../Doc/whatsnew/3.8.rst:776 msgid "" "Added a new :func:`functools.cached_property` decorator, for computed " "properties cached for the life of the instance. ::" @@ -1272,11 +1274,11 @@ msgstr "" "propiedades calculadas almacenadas en caché durante toda la vida útil de la " "instancia. ::" -#: ../Doc/whatsnew/3.8.rst:791 +#: ../Doc/whatsnew/3.8.rst:790 msgid "(Contributed by Carl Meyer in :issue:`21145`)" msgstr "(Contribución de Carl Meyer en :issue:`21145`.)" -#: ../Doc/whatsnew/3.8.rst:794 +#: ../Doc/whatsnew/3.8.rst:793 msgid "" "Added a new :func:`functools.singledispatchmethod` decorator that converts " "methods into :term:`generic functions ` using :term:" @@ -1286,15 +1288,15 @@ msgstr "" "convierte métodos en :term:`funciones genéricas ` usando :" "term:`single dispatch`::" -#: ../Doc/whatsnew/3.8.rst:816 +#: ../Doc/whatsnew/3.8.rst:815 msgid "(Contributed by Ethan Smith in :issue:`32380`)" msgstr "(Contribución de Ethan Smith en :issue:`32380`)" -#: ../Doc/whatsnew/3.8.rst:819 +#: ../Doc/whatsnew/3.8.rst:818 msgid "gc" msgstr "gc" -#: ../Doc/whatsnew/3.8.rst:821 +#: ../Doc/whatsnew/3.8.rst:820 msgid "" ":func:`~gc.get_objects` can now receive an optional *generation* parameter " "indicating a generation to get objects from. (Contributed by Pablo Galindo " @@ -1304,11 +1306,11 @@ msgstr "" "*generation* que indica la generación de la que recolectar objetos. " "(Contribución de Pablo Galindo en :issue:`36016`.)" -#: ../Doc/whatsnew/3.8.rst:827 +#: ../Doc/whatsnew/3.8.rst:826 msgid "gettext" msgstr "gettext" -#: ../Doc/whatsnew/3.8.rst:829 +#: ../Doc/whatsnew/3.8.rst:828 msgid "" "Added :func:`~gettext.pgettext` and its variants. (Contributed by Franz " "Glasner, Éric Araujo, and Cheryl Sabella in :issue:`2504`.)" @@ -1316,11 +1318,11 @@ msgstr "" "Agregado :func:`~gettext.pgettext` y sus variantes. (Contribución de Franz " "Glasner, Éric Araujo y Cheryl Sabella en :issue:`2504`.)" -#: ../Doc/whatsnew/3.8.rst:834 +#: ../Doc/whatsnew/3.8.rst:833 msgid "gzip" msgstr "gzip" -#: ../Doc/whatsnew/3.8.rst:836 +#: ../Doc/whatsnew/3.8.rst:835 msgid "" "Added the *mtime* parameter to :func:`gzip.compress` for reproducible " "output. (Contributed by Guo Ci Teo in :issue:`34898`.)" @@ -1328,7 +1330,7 @@ msgstr "" "Se ha agregó el parámetro *mtime* a :func:`gzip.compress` para una salida " "reproducible. (Contribución de Guo Ci Teo en :issue:`34898`.)" -#: ../Doc/whatsnew/3.8.rst:839 +#: ../Doc/whatsnew/3.8.rst:838 msgid "" "A :exc:`~gzip.BadGzipFile` exception is now raised instead of :exc:`OSError` " "for certain types of invalid or corrupt gzip files. (Contributed by Filip " @@ -1339,11 +1341,11 @@ msgstr "" "(Contribución de Filip Gruszczyński, Michele Orrù y Zackery Spytz en :issue:" "`6584`.)" -#: ../Doc/whatsnew/3.8.rst:846 +#: ../Doc/whatsnew/3.8.rst:845 msgid "IDLE and idlelib" msgstr "IDLE e idlelib" -#: ../Doc/whatsnew/3.8.rst:848 +#: ../Doc/whatsnew/3.8.rst:847 msgid "" "Output over N lines (50 by default) is squeezed down to a button. N can be " "changed in the PyShell section of the General page of the Settings dialog. " @@ -1360,7 +1362,7 @@ msgstr "" "en una ventana separada haciendo clic derecho en el botón. (Contribución de " "Tal Einat en :issue:`1529353`.)" -#: ../Doc/whatsnew/3.8.rst:855 +#: ../Doc/whatsnew/3.8.rst:854 msgid "" "Add \"Run Customized\" to the Run menu to run a module with customized " "settings. Any command line arguments entered are added to sys.argv. They " @@ -1375,7 +1377,7 @@ msgstr "" "normal del módulo principal de la Shell. (Contribución de Cheryl Sabella, " "Terry Jan Reedy y otros en :issue:`5680` y :issue:`37627`.)" -#: ../Doc/whatsnew/3.8.rst:861 +#: ../Doc/whatsnew/3.8.rst:860 msgid "" "Added optional line numbers for IDLE editor windows. Windows open without " "line numbers unless set otherwise in the General tab of the configuration " @@ -1389,7 +1391,7 @@ msgstr "" "números de línea de una ventana existente se muestran y ocultan en el menú " "Options. (Contribución de Tal Einat y Saimadhav Heblikar en :issue:`17535`.)" -#: ../Doc/whatsnew/3.8.rst:867 +#: ../Doc/whatsnew/3.8.rst:866 msgid "" "OS native encoding is now used for converting between Python strings and Tcl " "objects. This allows IDLE to work with emoji and other non-BMP characters. " @@ -1406,17 +1408,40 @@ msgstr "" "ocho años, pero el problema finalmente lo resolvió Serhiy Storchaka en :" "issue:`13153`.)" -#: ../Doc/whatsnew/3.8.rst:874 +#: ../Doc/whatsnew/3.8.rst:873 +msgid "New in 3.8.1:" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:875 +#, fuzzy +msgid "" +"Add option to toggle cursor blink off. (Contributed by Zackery Spytz in :" +"issue:`4603`.)" +msgstr "(Contribución de Zackery Spytz en :issue:`33407`.)" + +#: ../Doc/whatsnew/3.8.rst:878 +msgid "" +"Escape key now closes IDLE completion windows. (Contributed by Johnny " +"Najera in :issue:`38944`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:881 msgid "The changes above have been backported to 3.7 maintenance releases." msgstr "" "Los cambios anteriores se han portado a las versiones de mantenimiento de " "Python 3.7." -#: ../Doc/whatsnew/3.8.rst:878 +#: ../Doc/whatsnew/3.8.rst:883 +msgid "" +"Add keywords to module name completion list. (Contributed by Terry J. Reedy " +"in :issue:`37765`.)" +msgstr "" + +#: ../Doc/whatsnew/3.8.rst:887 msgid "inspect" msgstr "inspect" -#: ../Doc/whatsnew/3.8.rst:880 +#: ../Doc/whatsnew/3.8.rst:889 msgid "" "The :func:`inspect.getdoc` function can now find docstrings for " "``__slots__`` if that attribute is a :class:`dict` where the values are " @@ -1429,15 +1454,15 @@ msgstr "" "documentación similares a las que ya tenemos para :func:`property`, :func:" "`classmethod` y :func:`staticmethod`::" -#: ../Doc/whatsnew/3.8.rst:892 +#: ../Doc/whatsnew/3.8.rst:901 msgid "(Contributed by Raymond Hettinger in :issue:`36326`.)" msgstr "(Contribución de Raymond Hettinger en :issue:`36326`.)" -#: ../Doc/whatsnew/3.8.rst:896 +#: ../Doc/whatsnew/3.8.rst:905 msgid "io" msgstr "io" -#: ../Doc/whatsnew/3.8.rst:898 +#: ../Doc/whatsnew/3.8.rst:907 msgid "" "In development mode (:option:`-X` ``env``) and in debug build, the :class:" "`io.IOBase` finalizer now logs the exception if the ``close()`` method " @@ -1450,11 +1475,11 @@ msgstr "" "predeterminada en la compilación de lanzamiento. (Contribución de Victor " "Stinner en :issue:`18748`.)" -#: ../Doc/whatsnew/3.8.rst:905 +#: ../Doc/whatsnew/3.8.rst:914 msgid "itertools" msgstr "itertools" -#: ../Doc/whatsnew/3.8.rst:907 +#: ../Doc/whatsnew/3.8.rst:916 msgid "" "The :func:`itertools.accumulate` function added an option *initial* keyword " "argument to specify an initial value::" @@ -1463,15 +1488,15 @@ msgstr "" "función :func:`itertools.accumulate` para permitir especificar un valor " "inicial::" -#: ../Doc/whatsnew/3.8.rst:914 +#: ../Doc/whatsnew/3.8.rst:923 msgid "(Contributed by Lisa Roach in :issue:`34659`.)" msgstr "(Contribución de Lisa Roach en :issue:`34659`.)" -#: ../Doc/whatsnew/3.8.rst:918 +#: ../Doc/whatsnew/3.8.rst:927 msgid "json.tool" msgstr "json.tool" -#: ../Doc/whatsnew/3.8.rst:920 +#: ../Doc/whatsnew/3.8.rst:929 msgid "" "Add option ``--json-lines`` to parse every input line as a separate JSON " "object. (Contributed by Weipeng Hong in :issue:`31553`.)" @@ -1480,11 +1505,11 @@ msgstr "" "línea de entrada como un objeto JSON separado. (Contribución de Weipeng Hong " "en :issue:`31553`.)" -#: ../Doc/whatsnew/3.8.rst:925 +#: ../Doc/whatsnew/3.8.rst:934 msgid "logging" msgstr "logging" -#: ../Doc/whatsnew/3.8.rst:927 +#: ../Doc/whatsnew/3.8.rst:936 msgid "" "Added a *force* keyword argument to :func:`logging.basicConfig()` When set " "to true, any existing handlers attached to the root logger are removed and " @@ -1496,7 +1521,7 @@ msgstr "" "existente adjunto al registrador (logger) raíz se elimina y se cierra antes " "de realizar la configuración especificada por los otros argumentos." -#: ../Doc/whatsnew/3.8.rst:932 +#: ../Doc/whatsnew/3.8.rst:941 msgid "" "This solves a long-standing problem. Once a logger or *basicConfig()* had " "been called, subsequent calls to *basicConfig()* were silently ignored. This " @@ -1510,7 +1535,7 @@ msgstr "" "configuración de registro mediante el interprete interactivo o el bloc de " "notas de Jupyter." -#: ../Doc/whatsnew/3.8.rst:938 +#: ../Doc/whatsnew/3.8.rst:947 msgid "" "(Suggested by Raymond Hettinger, implemented by Dong-hee Na, and reviewed by " "Vinay Sajip in :issue:`33897`.)" @@ -1518,11 +1543,11 @@ msgstr "" "(Sugerencia de Raymond Hettinger, implementación de Dong-hee Na y revisión " "de Vinay Sajip en :issue:`33897`.)" -#: ../Doc/whatsnew/3.8.rst:943 +#: ../Doc/whatsnew/3.8.rst:952 msgid "math" msgstr "math" -#: ../Doc/whatsnew/3.8.rst:945 +#: ../Doc/whatsnew/3.8.rst:954 msgid "" "Added new function :func:`math.dist` for computing Euclidean distance " "between two points. (Contributed by Raymond Hettinger in :issue:`33089`.)" @@ -1531,7 +1556,7 @@ msgstr "" "euclidiana entre dos puntos. (Contribución de Raymond Hettinger en :issue:" "`33089`.)" -#: ../Doc/whatsnew/3.8.rst:948 +#: ../Doc/whatsnew/3.8.rst:957 msgid "" "Expanded the :func:`math.hypot` function to handle multiple dimensions. " "Formerly, it only supported the 2-D case. (Contributed by Raymond Hettinger " @@ -1541,7 +1566,7 @@ msgstr "" "dimensiones. Anteriormente, solo admitía dos dimensiones. (Contribución de " "Raymond Hettinger en :issue:`33089`.)" -#: ../Doc/whatsnew/3.8.rst:952 +#: ../Doc/whatsnew/3.8.rst:961 msgid "" "Added new function, :func:`math.prod`, as analogous function to :func:`sum` " "that returns the product of a 'start' value (default: 1) times an iterable " @@ -1551,11 +1576,11 @@ msgstr "" "`sum`, que retorna el producto de todos los elementos de un iterable de " "números partiendo de un valor de inicio (*start*) (por defecto: 1)::" -#: ../Doc/whatsnew/3.8.rst:961 +#: ../Doc/whatsnew/3.8.rst:970 msgid "(Contributed by Pablo Galindo in :issue:`35606`.)" msgstr "(Contribución de Pablo Galindo en :issue:`35606`.)" -#: ../Doc/whatsnew/3.8.rst:963 +#: ../Doc/whatsnew/3.8.rst:972 msgid "" "Added two new combinatoric functions :func:`math.perm` and :func:`math." "comb`::" @@ -1563,7 +1588,7 @@ msgstr "" "Agregadas dos nuevas funciones combinatorias, :func:`math.perm` y :func:" "`math.comb`::" -#: ../Doc/whatsnew/3.8.rst:970 +#: ../Doc/whatsnew/3.8.rst:979 msgid "" "(Contributed by Yash Aggarwal, Keller Fuchs, Serhiy Storchaka, and Raymond " "Hettinger in :issue:`37128`, :issue:`37178`, and :issue:`35431`.)" @@ -1571,7 +1596,7 @@ msgstr "" "(Contribución de Yash Aggarwal, Keller Fuchs, Serhiy Storchaka y Raymond " "Hettinger en :issue:`37128`, :issue:`37178` y :issue:`35431`.)" -#: ../Doc/whatsnew/3.8.rst:973 +#: ../Doc/whatsnew/3.8.rst:982 msgid "" "Added a new function :func:`math.isqrt` for computing accurate integer " "square roots without conversion to floating point. The new function " @@ -1583,11 +1608,11 @@ msgstr "" "admite números enteros arbitrariamente grandes. Es más rápida que " "``floor(sqrt(n))`` pero más lenta que :func:`math.sqrt`::" -#: ../Doc/whatsnew/3.8.rst:985 +#: ../Doc/whatsnew/3.8.rst:994 msgid "(Contributed by Mark Dickinson in :issue:`36887`.)" msgstr "(Contribución de Mark Dickinson en :issue:`36887`.)" -#: ../Doc/whatsnew/3.8.rst:987 +#: ../Doc/whatsnew/3.8.rst:996 msgid "" "The function :func:`math.factorial` no longer accepts arguments that are not " "int-like. (Contributed by Pablo Galindo in :issue:`33083`.)" @@ -1595,11 +1620,11 @@ msgstr "" "La función :func:`math.factorial` ya no acepta argumentos que no sean " "similares a enteros. (Contribución de Pablo Galindo en :issue:`33083`.)" -#: ../Doc/whatsnew/3.8.rst:992 +#: ../Doc/whatsnew/3.8.rst:1001 msgid "mmap" msgstr "mmap" -#: ../Doc/whatsnew/3.8.rst:994 +#: ../Doc/whatsnew/3.8.rst:1003 msgid "" "The :class:`mmap.mmap` class now has an :meth:`~mmap.mmap.madvise` method to " "access the ``madvise()`` system call. (Contributed by Zackery Spytz in :" @@ -1609,11 +1634,11 @@ msgstr "" "para acceder a la llamada al sistema ``madvise()``. (Contribución de Zackery " "Spytz en :issue:`32941`.)" -#: ../Doc/whatsnew/3.8.rst:1000 +#: ../Doc/whatsnew/3.8.rst:1009 msgid "multiprocessing" msgstr "multiprocessing" -#: ../Doc/whatsnew/3.8.rst:1002 +#: ../Doc/whatsnew/3.8.rst:1011 msgid "" "Added new :mod:`multiprocessing.shared_memory` module. (Contributed by Davin " "Potts in :issue:`35813`.)" @@ -1621,7 +1646,7 @@ msgstr "" "Agregado el nuevo módulo :mod:`multiprocessing.shared_memory`. (Contribución " "de Davin Potts en :issue:`35813`.)" -#: ../Doc/whatsnew/3.8.rst:1005 +#: ../Doc/whatsnew/3.8.rst:1014 msgid "" "On macOS, the *spawn* start method is now used by default. (Contributed by " "Victor Stinner in :issue:`33725`.)" @@ -1629,11 +1654,11 @@ msgstr "" "En macOS, el método de inicio *spawn* se usa ahora por defecto. " "(Contribución de Victor Stinner en :issue:`33725`.)" -#: ../Doc/whatsnew/3.8.rst:1010 +#: ../Doc/whatsnew/3.8.rst:1019 msgid "os" msgstr "os" -#: ../Doc/whatsnew/3.8.rst:1012 +#: ../Doc/whatsnew/3.8.rst:1021 msgid "" "Added new function :func:`~os.add_dll_directory` on Windows for providing " "additional search paths for native dependencies when importing extension " @@ -1645,7 +1670,7 @@ msgstr "" "importar módulos de extensión o al cargar archivos DLL utilizando :mod:" "`ctypes`. (Contribución de Steve Dower en :issue:`36085`.)" -#: ../Doc/whatsnew/3.8.rst:1017 +#: ../Doc/whatsnew/3.8.rst:1026 msgid "" "A new :func:`os.memfd_create` function was added to wrap the " "``memfd_create()`` syscall. (Contributed by Zackery Spytz and Christian " @@ -1655,7 +1680,7 @@ msgstr "" "al sistema ``memfd_create()``. (Contribución de Zackery Spytz y Christian " "Heimes en :issue:`26836`.)" -#: ../Doc/whatsnew/3.8.rst:1021 +#: ../Doc/whatsnew/3.8.rst:1030 msgid "" "On Windows, much of the manual logic for handling reparse points (including " "symlinks and directory junctions) has been delegated to the operating " @@ -1679,7 +1704,7 @@ msgstr "" "de puntos de reinterpretación, verifica el nuevo atributo :attr:`stat_result." "st_reparse_tag`." -#: ../Doc/whatsnew/3.8.rst:1030 +#: ../Doc/whatsnew/3.8.rst:1039 msgid "" "On Windows, :func:`os.readlink` is now able to read directory junctions. " "Note that :func:`~os.path.islink` will return ``False`` for directory " @@ -1694,15 +1719,15 @@ msgstr "" "código que maneja los errores de :func:`os.readlink` ahora puede tratar las " "uniones como enlaces." -#: ../Doc/whatsnew/3.8.rst:1036 ../Doc/whatsnew/3.8.rst:1061 +#: ../Doc/whatsnew/3.8.rst:1045 ../Doc/whatsnew/3.8.rst:1070 msgid "(Contributed by Steve Dower in :issue:`37834`.)" msgstr "(Contribución de Steve Dower en :issue:`37834`.)" -#: ../Doc/whatsnew/3.8.rst:1040 +#: ../Doc/whatsnew/3.8.rst:1049 msgid "os.path" msgstr "os.path" -#: ../Doc/whatsnew/3.8.rst:1042 +#: ../Doc/whatsnew/3.8.rst:1051 msgid "" ":mod:`os.path` functions that return a boolean result like :func:`~os.path." "exists`, :func:`~os.path.lexists`, :func:`~os.path.isdir`, :func:`~os.path." @@ -1720,7 +1745,7 @@ msgstr "" "rutas que contienen caracteres o bytes irrepresentables a nivel del sistema " "operativo. (Contribución de Serhiy Storchaka en :issue:`33721`.)" -#: ../Doc/whatsnew/3.8.rst:1050 ../Doc/whatsnew/3.8.rst:1950 +#: ../Doc/whatsnew/3.8.rst:1059 ../Doc/whatsnew/3.8.rst:1959 msgid "" ":func:`~os.path.expanduser` on Windows now prefers the :envvar:`USERPROFILE` " "environment variable and does not use :envvar:`HOME`, which is not normally " @@ -1732,7 +1757,7 @@ msgstr "" "está establecido para cuentas de usuario normales. (Contribución de Anthony " "Sottile en :issue:`36264`.)" -#: ../Doc/whatsnew/3.8.rst:1055 +#: ../Doc/whatsnew/3.8.rst:1064 msgid "" ":func:`~os.path.isdir` on Windows no longer returns ``True`` for a link to a " "non-existent directory." @@ -1740,7 +1765,7 @@ msgstr "" ":func:`~os.path.isdir` en Windows ya no retorna ``True`` para un enlace a un " "directorio no existente." -#: ../Doc/whatsnew/3.8.rst:1058 +#: ../Doc/whatsnew/3.8.rst:1067 msgid "" ":func:`~os.path.realpath` on Windows now resolves reparse points, including " "symlinks and directory junctions." @@ -1749,11 +1774,11 @@ msgstr "" "reinterpretación (reparse points), incluidos enlaces simbólicos y uniones de " "directorio." -#: ../Doc/whatsnew/3.8.rst:1065 +#: ../Doc/whatsnew/3.8.rst:1074 msgid "pathlib" msgstr "pathlib" -#: ../Doc/whatsnew/3.8.rst:1067 +#: ../Doc/whatsnew/3.8.rst:1076 msgid "" ":mod:`pathlib.Path` methods that return a boolean result like :meth:" "`~pathlib.Path.exists()`, :meth:`~pathlib.Path.is_dir()`, :meth:`~pathlib." @@ -1776,7 +1801,7 @@ msgstr "" "representables a nivel del sistema operativo. (Contribución de Serhiy " "Storchaka en :issue:`33721`.)" -#: ../Doc/whatsnew/3.8.rst:1077 +#: ../Doc/whatsnew/3.8.rst:1086 msgid "" "Added :meth:`pathlib.Path.link_to()` which creates a hard link pointing to a " "path. (Contributed by Joannah Nanjekye in :issue:`26978`)" @@ -1784,11 +1809,11 @@ msgstr "" "Agregado :meth:`pathlib.Path.link_to()` que crea un enlace duro apuntando a " "una ruta. (Contribución de Joannah Nanjekye en :issue:`26978`)" -#: ../Doc/whatsnew/3.8.rst:1083 +#: ../Doc/whatsnew/3.8.rst:1092 msgid "pickle" msgstr "pickle" -#: ../Doc/whatsnew/3.8.rst:1085 +#: ../Doc/whatsnew/3.8.rst:1094 msgid "" ":mod:`pickle` extensions subclassing the C-optimized :class:`~pickle." "Pickler` can now override the pickling logic of functions and classes by " @@ -1801,11 +1826,11 @@ msgstr "" "reducer_override`. (Contribución de Pierre Glaser y Olivier Grisel en :issue:" "`35900`.)" -#: ../Doc/whatsnew/3.8.rst:1092 +#: ../Doc/whatsnew/3.8.rst:1101 msgid "plistlib" msgstr "plistlib" -#: ../Doc/whatsnew/3.8.rst:1094 +#: ../Doc/whatsnew/3.8.rst:1103 msgid "" "Added new :class:`plistlib.UID` and enabled support for reading and writing " "NSKeyedArchiver-encoded binary plists. (Contributed by Jon Janzen in :issue:" @@ -1815,11 +1840,11 @@ msgstr "" "soporte para leer y escribir plists binarios codificados por " "NSKeyedArchiver. (Contribución de Jon Janzen en :issue:`26707`.)" -#: ../Doc/whatsnew/3.8.rst:1100 +#: ../Doc/whatsnew/3.8.rst:1109 msgid "pprint" msgstr "pprint" -#: ../Doc/whatsnew/3.8.rst:1102 +#: ../Doc/whatsnew/3.8.rst:1111 msgid "" "The :mod:`pprint` module added a *sort_dicts* parameter to several " "functions. By default, those functions continue to sort dictionaries before " @@ -1834,7 +1859,7 @@ msgstr "" "que se insertaron las claves. Esto puede resultar útil para la comparación " "con entradas JSON durante la depuración." -#: ../Doc/whatsnew/3.8.rst:1108 +#: ../Doc/whatsnew/3.8.rst:1117 msgid "" "In addition, there is a convenience new function, :func:`pprint.pp` that is " "like :func:`pprint.pprint` but with *sort_dicts* defaulting to ``False``::" @@ -1843,15 +1868,15 @@ msgstr "" "igual que :func:`pprint.pprint` pero con *sort_dicts* establecido en " "``False`` por defecto::" -#: ../Doc/whatsnew/3.8.rst:1122 +#: ../Doc/whatsnew/3.8.rst:1131 msgid "(Contributed by Rémi Lapeyre in :issue:`30670`.)" msgstr "(Contribución de Rémi Lapeyre en :issue:`30670`.)" -#: ../Doc/whatsnew/3.8.rst:1126 +#: ../Doc/whatsnew/3.8.rst:1135 msgid "py_compile" msgstr "py_compile" -#: ../Doc/whatsnew/3.8.rst:1128 +#: ../Doc/whatsnew/3.8.rst:1137 msgid "" ":func:`py_compile.compile` now supports silent mode. (Contributed by Joannah " "Nanjekye in :issue:`22640`.)" @@ -1859,11 +1884,11 @@ msgstr "" ":func:`py_compile.compile` ahora admite el modo silencioso. (Contribución de " "Joannah Nanjekye en :issue:`22640`.)" -#: ../Doc/whatsnew/3.8.rst:1133 +#: ../Doc/whatsnew/3.8.rst:1142 msgid "shlex" msgstr "shlex" -#: ../Doc/whatsnew/3.8.rst:1135 +#: ../Doc/whatsnew/3.8.rst:1144 msgid "" "The new :func:`shlex.join` function acts as the inverse of :func:`shlex." "split`. (Contributed by Bo Bayles in :issue:`32102`.)" @@ -1871,11 +1896,11 @@ msgstr "" "La nueva función :func:`shlex.join` actúa a la inversa de :func:`shlex." "split`. (Contribución de Bo Bayles en :issue:`32102`.)" -#: ../Doc/whatsnew/3.8.rst:1140 +#: ../Doc/whatsnew/3.8.rst:1149 msgid "shutil" msgstr "shutil" -#: ../Doc/whatsnew/3.8.rst:1142 +#: ../Doc/whatsnew/3.8.rst:1151 msgid "" ":func:`shutil.copytree` now accepts a new ``dirs_exist_ok`` keyword " "argument. (Contributed by Josh Bronson in :issue:`20849`.)" @@ -1883,7 +1908,7 @@ msgstr "" ":func:`shutil.copytree` ahora acepta el nuevo argumento por palabra clave " "``dirs_exist_ok``. (Contribución de Josh Bronson en :issue:`20849`.)" -#: ../Doc/whatsnew/3.8.rst:1145 +#: ../Doc/whatsnew/3.8.rst:1154 msgid "" ":func:`shutil.make_archive` now defaults to the modern pax (POSIX.1-2001) " "format for new archives to improve portability and standards conformance, " @@ -1895,7 +1920,7 @@ msgstr "" "conformidad con los estándares, heredado el cambio correspondiente del " "módulo :mod:`tarfile`. (Contribución de C.A.M. Gerlach en :issue:`30661`.)" -#: ../Doc/whatsnew/3.8.rst:1150 +#: ../Doc/whatsnew/3.8.rst:1159 msgid "" ":func:`shutil.rmtree` on Windows now removes directory junctions without " "recursively removing their contents first. (Contributed by Steve Dower in :" @@ -1905,11 +1930,11 @@ msgstr "" "eliminar recursivamente su contenido primero. (Contribución de Steve Dower " "en :issue:`37834`.)" -#: ../Doc/whatsnew/3.8.rst:1156 +#: ../Doc/whatsnew/3.8.rst:1165 msgid "socket" msgstr "socket" -#: ../Doc/whatsnew/3.8.rst:1158 +#: ../Doc/whatsnew/3.8.rst:1167 msgid "" "Added :meth:`~socket.create_server()` and :meth:`~socket." "has_dualstack_ipv6()` convenience functions to automate the necessary tasks " @@ -1923,7 +1948,7 @@ msgstr "" "aceptación de conexiones IPv4 e IPv6 en el mismo socket . (Contribución de " "Giampaolo Rodolà en :issue:`17561`.)" -#: ../Doc/whatsnew/3.8.rst:1163 +#: ../Doc/whatsnew/3.8.rst:1172 msgid "" "The :func:`socket.if_nameindex()`, :func:`socket.if_nametoindex()`, and :" "func:`socket.if_indextoname()` functions have been implemented on Windows. " @@ -1933,11 +1958,11 @@ msgstr "" "y :func:`socket.if_indextoname()` se han implementado en Windows. " "(Contribución de Zackery Spytz en :issue:`37007`.)" -#: ../Doc/whatsnew/3.8.rst:1169 +#: ../Doc/whatsnew/3.8.rst:1178 msgid "ssl" msgstr "ssl" -#: ../Doc/whatsnew/3.8.rst:1171 +#: ../Doc/whatsnew/3.8.rst:1180 msgid "" "Added :attr:`~ssl.SSLContext.post_handshake_auth` to enable and :meth:`~ssl." "SSLSocket.verify_client_post_handshake` to initiate TLS 1.3 post-handshake " @@ -1948,11 +1973,11 @@ msgstr "" "autenticación tras el establecimiento de la comunicación en TLS 1.3. " "(Contribución de Christian Heimes en :issue:`34670`.)" -#: ../Doc/whatsnew/3.8.rst:1178 +#: ../Doc/whatsnew/3.8.rst:1187 msgid "statistics" msgstr "statistics" -#: ../Doc/whatsnew/3.8.rst:1180 +#: ../Doc/whatsnew/3.8.rst:1189 msgid "" "Added :func:`statistics.fmean` as a faster, floating point variant of :func:" "`statistics.mean()`. (Contributed by Raymond Hettinger and Steven D'Aprano " @@ -1962,7 +1987,7 @@ msgstr "" "más rápida de :func:`statistics.mean()`. (Contribución de Raymond Hettinger " "y Steven D'Aprano en :issue:`35904`.)" -#: ../Doc/whatsnew/3.8.rst:1184 +#: ../Doc/whatsnew/3.8.rst:1193 msgid "" "Added :func:`statistics.geometric_mean()` (Contributed by Raymond Hettinger " "in :issue:`27181`.)" @@ -1970,7 +1995,7 @@ msgstr "" "Se ha agregado :func:`statistics.geometric_mean()` (Contribución de Raymond " "Hettinger en :issue:`27181`.)" -#: ../Doc/whatsnew/3.8.rst:1187 +#: ../Doc/whatsnew/3.8.rst:1196 msgid "" "Added :func:`statistics.multimode` that returns a list of the most common " "values. (Contributed by Raymond Hettinger in :issue:`35892`.)" @@ -1978,7 +2003,7 @@ msgstr "" "Se ha agregado :func:`statistics.multimode` que retorna una lista con los " "valores más comunes. (Contribución de Raymond Hettinger en :issue:`35892`.)" -#: ../Doc/whatsnew/3.8.rst:1190 +#: ../Doc/whatsnew/3.8.rst:1199 msgid "" "Added :func:`statistics.quantiles` that divides data or a distribution in to " "equiprobable intervals (e.g. quartiles, deciles, or percentiles). " @@ -1988,7 +2013,7 @@ msgstr "" "distribución en intervalos equiprobables (por ejemplo, cuartiles, deciles o " "percentiles). (Contribución de Raymond Hettinger en :issue:`36546`.)" -#: ../Doc/whatsnew/3.8.rst:1194 +#: ../Doc/whatsnew/3.8.rst:1203 msgid "" "Added :class:`statistics.NormalDist`, a tool for creating and manipulating " "normal distributions of a random variable. (Contributed by Raymond Hettinger " @@ -1998,11 +2023,11 @@ msgstr "" "manipular distribuciones normales de una variable aleatoria. (Contribución " "de Raymond Hettinger en :issue:`36018`.)" -#: ../Doc/whatsnew/3.8.rst:1224 +#: ../Doc/whatsnew/3.8.rst:1233 msgid "sys" msgstr "sys" -#: ../Doc/whatsnew/3.8.rst:1226 +#: ../Doc/whatsnew/3.8.rst:1235 msgid "" "Add new :func:`sys.unraisablehook` function which can be overridden to " "control how \"unraisable exceptions\" are handled. It is called when an " @@ -2017,11 +2042,11 @@ msgstr "" "la recolección de basura (:func:`gc.collect`). (Contribución de Victor " "Stinner en :issue:`36829`.)" -#: ../Doc/whatsnew/3.8.rst:1235 +#: ../Doc/whatsnew/3.8.rst:1244 msgid "tarfile" msgstr "tarfile" -#: ../Doc/whatsnew/3.8.rst:1237 +#: ../Doc/whatsnew/3.8.rst:1246 msgid "" "The :mod:`tarfile` module now defaults to the modern pax (POSIX.1-2001) " "format for new archives, instead of the previous GNU-specific one. This " @@ -2035,11 +2060,11 @@ msgstr "" "consistente (UTF-8) en un formato estandarizado y extensible, y ofrece otros " "varios beneficios. (Contribución de C.A.M. Gerlach en :issue:`36268`.)" -#: ../Doc/whatsnew/3.8.rst:1245 +#: ../Doc/whatsnew/3.8.rst:1254 msgid "threading" msgstr "threading" -#: ../Doc/whatsnew/3.8.rst:1247 +#: ../Doc/whatsnew/3.8.rst:1256 msgid "" "Add a new :func:`threading.excepthook` function which handles uncaught :meth:" "`threading.Thread.run` exception. It can be overridden to control how " @@ -2051,7 +2076,7 @@ msgstr "" "controlar cómo se manejan las excepciones :meth:`threading.Thread.run` no " "capturadas. (Contribución de Victor Stinner en :issue:`1230540`.)" -#: ../Doc/whatsnew/3.8.rst:1252 +#: ../Doc/whatsnew/3.8.rst:1261 msgid "" "Add a new :func:`threading.get_native_id` function and a :data:`~threading." "Thread.native_id` attribute to the :class:`threading.Thread` class. These " @@ -2067,11 +2092,11 @@ msgstr "" "plataformas, consulta :func:`get_native_id ` para " "obtener más información. (Contribución de Jake Tesler en :issue:`36084`.)" -#: ../Doc/whatsnew/3.8.rst:1262 +#: ../Doc/whatsnew/3.8.rst:1271 msgid "tokenize" msgstr "tokenize" -#: ../Doc/whatsnew/3.8.rst:1264 +#: ../Doc/whatsnew/3.8.rst:1273 msgid "" "The :mod:`tokenize` module now implicitly emits a ``NEWLINE`` token when " "provided with input that does not have a trailing new line. This behavior " @@ -2083,11 +2108,11 @@ msgstr "" "comportamiento ahora coincide con lo que hace internamente el tokenizador de " "C. (Contribución de Ammar Askar en :issue:`33899`.)" -#: ../Doc/whatsnew/3.8.rst:1271 +#: ../Doc/whatsnew/3.8.rst:1280 msgid "tkinter" msgstr "tkinter" -#: ../Doc/whatsnew/3.8.rst:1273 +#: ../Doc/whatsnew/3.8.rst:1282 msgid "" "Added methods :meth:`~tkinter.Spinbox.selection_from`, :meth:`~tkinter." "Spinbox.selection_present`, :meth:`~tkinter.Spinbox.selection_range` and :" @@ -2099,7 +2124,7 @@ msgstr "" "selection_range` y :meth:`~tkinter.Spinbox.selection_to` a la clase :class:" "`tkinter.Spinbox`. (Contribución de Juliette Monsel en :issue:`34829`.)" -#: ../Doc/whatsnew/3.8.rst:1280 +#: ../Doc/whatsnew/3.8.rst:1289 msgid "" "Added method :meth:`~tkinter.Canvas.moveto` in the :class:`tkinter.Canvas` " "class. (Contributed by Juliette Monsel in :issue:`23831`.)" @@ -2107,7 +2132,7 @@ msgstr "" "Se ha agregado el método :meth:`~tkinter.Canvas.moveto` a la clase :class:" "`tkinter.Canvas`. (Contribución de Juliette Monsel en :issue:`23831`.)" -#: ../Doc/whatsnew/3.8.rst:1284 +#: ../Doc/whatsnew/3.8.rst:1293 msgid "" "The :class:`tkinter.PhotoImage` class now has :meth:`~tkinter.PhotoImage." "transparency_get` and :meth:`~tkinter.PhotoImage.transparency_set` methods. " @@ -2117,11 +2142,11 @@ msgstr "" "`~tkinter.PhotoImage.transparency_get` y :meth:`~tkinter.PhotoImage." "transparency_set`. (Contribución de Zackery Spytz en :issue:`25451`.)" -#: ../Doc/whatsnew/3.8.rst:1291 +#: ../Doc/whatsnew/3.8.rst:1300 msgid "time" msgstr "time" -#: ../Doc/whatsnew/3.8.rst:1293 +#: ../Doc/whatsnew/3.8.rst:1302 msgid "" "Added new clock :data:`~time.CLOCK_UPTIME_RAW` for macOS 10.12. (Contributed " "by Joannah Nanjekye in :issue:`35702`.)" @@ -2129,15 +2154,15 @@ msgstr "" "Se ha agregado el nuevo reloj :data:`~time.CLOCK_UPTIME_RAW` para macOS " "10.12. (Contribución de Joannah Nanjekye en :issue:`35702`.)" -#: ../Doc/whatsnew/3.8.rst:1298 +#: ../Doc/whatsnew/3.8.rst:1307 msgid "typing" msgstr "typing" -#: ../Doc/whatsnew/3.8.rst:1300 +#: ../Doc/whatsnew/3.8.rst:1309 msgid "The :mod:`typing` module incorporates several new features:" msgstr "Se han incorporado varias características al módulo :mod:`typing`:" -#: ../Doc/whatsnew/3.8.rst:1302 +#: ../Doc/whatsnew/3.8.rst:1311 msgid "" "A dictionary type with per-key types. See :pep:`589` and :class:`typing." "TypedDict`. TypedDict uses only string keys. By default, every key is " @@ -2150,7 +2175,7 @@ msgstr "" "presentes. Especifica \"total=False\" para permitir que las claves sean " "opcionales::" -#: ../Doc/whatsnew/3.8.rst:1312 +#: ../Doc/whatsnew/3.8.rst:1321 msgid "" "Literal types. See :pep:`586` and :class:`typing.Literal`. Literal types " "indicate that a parameter or return value is constrained to one or more " @@ -2160,7 +2185,7 @@ msgstr "" "literales indican que un parámetro o valor de retorno está restringido a uno " "o más valores literales específicos::" -#: ../Doc/whatsnew/3.8.rst:1319 +#: ../Doc/whatsnew/3.8.rst:1328 msgid "" "\"Final\" variables, functions, methods and classes. See :pep:`591`, :class:" "`typing.Final` and :func:`typing.final`. The final qualifier instructs a " @@ -2171,7 +2196,7 @@ msgstr "" "a un validador estático de tipos para restringir la subclasificación, " "anulación o reasignación::" -#: ../Doc/whatsnew/3.8.rst:1326 +#: ../Doc/whatsnew/3.8.rst:1335 msgid "" "Protocol definitions. See :pep:`544`, :class:`typing.Protocol` and :func:" "`typing.runtime_checkable`. Simple ABCs like :class:`typing.SupportsInt` " @@ -2181,19 +2206,19 @@ msgstr "" "func:`typing.runtime_checkable`. ABCs simples como :class:`typing." "SupportsInt` ahora son subclases de ``Protocol`` ." -#: ../Doc/whatsnew/3.8.rst:1330 +#: ../Doc/whatsnew/3.8.rst:1339 msgid "New protocol class :class:`typing.SupportsIndex`." msgstr "Nueva clase protocolo :class:`typing.SupportsIndex`." -#: ../Doc/whatsnew/3.8.rst:1332 +#: ../Doc/whatsnew/3.8.rst:1341 msgid "New functions :func:`typing.get_origin` and :func:`typing.get_args`." msgstr "Nuevas funciones :func:`typing.get_origin` y :func:`typing.get_args`." -#: ../Doc/whatsnew/3.8.rst:1336 +#: ../Doc/whatsnew/3.8.rst:1345 msgid "unicodedata" msgstr "unicodedata" -#: ../Doc/whatsnew/3.8.rst:1338 +#: ../Doc/whatsnew/3.8.rst:1347 msgid "" "The :mod:`unicodedata` module has been upgraded to use the `Unicode 12.1.0 " "`_ release." @@ -2201,7 +2226,7 @@ msgstr "" "El módulo :mod:`unicodedata` ha sido actualizado para usar `Unicode 12.1.0 " "`_." -#: ../Doc/whatsnew/3.8.rst:1341 +#: ../Doc/whatsnew/3.8.rst:1350 msgid "" "New function :func:`~unicodedata.is_normalized` can be used to verify a " "string is in a specific normal form, often much faster than by actually " @@ -2213,11 +2238,11 @@ msgstr "" "menudo mucho más rápido que normalizar la cadena. (Contribución de Max " "Belanger, David Euresti y Greg Price en :issue:`32285` y :issue:`37966`)." -#: ../Doc/whatsnew/3.8.rst:1348 +#: ../Doc/whatsnew/3.8.rst:1357 msgid "unittest" msgstr "unittest" -#: ../Doc/whatsnew/3.8.rst:1350 +#: ../Doc/whatsnew/3.8.rst:1359 msgid "" "Added :class:`~unittest.mock.AsyncMock` to support an asynchronous version " "of :class:`~unittest.mock.Mock`. Appropriate new assert functions for " @@ -2229,7 +2254,7 @@ msgstr "" "funciones de aserción apropiadas para las pruebas. (Contribución de Lisa " "Roach en :issue:`26467`)." -#: ../Doc/whatsnew/3.8.rst:1355 +#: ../Doc/whatsnew/3.8.rst:1364 msgid "" "Added :func:`~unittest.addModuleCleanup()` and :meth:`~unittest.TestCase." "addClassCleanup()` to unittest to support cleanups for :func:`~unittest." @@ -2241,7 +2266,7 @@ msgstr "" "`~unittest.setUpModule()` y :meth:`~unittest .TestCase.setUpClass()`. " "(Contribución de Lisa Roach en :issue:`24412`.)" -#: ../Doc/whatsnew/3.8.rst:1361 +#: ../Doc/whatsnew/3.8.rst:1370 msgid "" "Several mock assert functions now also print a list of actual calls upon " "failure. (Contributed by Petter Strandmark in :issue:`35047`.)" @@ -2250,7 +2275,7 @@ msgstr "" "llamadas reales en caso de fallo. (Contribución de Petter Strandmark en :" "issue:`35047`.)" -#: ../Doc/whatsnew/3.8.rst:1364 +#: ../Doc/whatsnew/3.8.rst:1373 msgid "" ":mod:`unittest` module gained support for coroutines to be used as test " "cases with :class:`unittest.IsolatedAsyncioTestCase`. (Contributed by Andrew " @@ -2260,15 +2285,15 @@ msgstr "" "utilizarán como casos de prueba con :class:`unittest." "IsolatedAsyncioTestCase`. (Contribución de Andrew Svetlov en :issue:`32972`.)" -#: ../Doc/whatsnew/3.8.rst:1368 +#: ../Doc/whatsnew/3.8.rst:1377 msgid "Example::" msgstr "Ejemplo::" -#: ../Doc/whatsnew/3.8.rst:1391 +#: ../Doc/whatsnew/3.8.rst:1400 msgid "venv" msgstr "venv" -#: ../Doc/whatsnew/3.8.rst:1393 +#: ../Doc/whatsnew/3.8.rst:1402 msgid "" ":mod:`venv` now includes an ``Activate.ps1`` script on all platforms for " "activating virtual environments under PowerShell Core 6.1. (Contributed by " @@ -2278,11 +2303,11 @@ msgstr "" "plataformas para activar entornos virtuales en PowerShell Core 6.1. " "(Contribución de Brett Cannon en :issue:`32718`.)" -#: ../Doc/whatsnew/3.8.rst:1399 +#: ../Doc/whatsnew/3.8.rst:1408 msgid "weakref" msgstr "weakref" -#: ../Doc/whatsnew/3.8.rst:1401 +#: ../Doc/whatsnew/3.8.rst:1410 msgid "" "The proxy objects returned by :func:`weakref.proxy` now support the matrix " "multiplication operators ``@`` and ``@=`` in addition to the other numeric " @@ -2292,11 +2317,11 @@ msgstr "" "operadores de multiplicación de matrices ``@`` y ``@=``, además de los otros " "operadores numéricos. (Contribución de Mark Dickinson en :issue:`36669`.)" -#: ../Doc/whatsnew/3.8.rst:1407 +#: ../Doc/whatsnew/3.8.rst:1416 msgid "xml" msgstr "xml" -#: ../Doc/whatsnew/3.8.rst:1409 +#: ../Doc/whatsnew/3.8.rst:1418 msgid "" "As mitigation against DTD and external entity retrieval, the :mod:`xml.dom." "minidom` and :mod:`xml.sax` modules no longer process external entities by " @@ -2307,7 +2332,7 @@ msgstr "" "externas de forma predeterminada. (Contribución de Christian Heimes en :" "issue:`17239`.)" -#: ../Doc/whatsnew/3.8.rst:1414 +#: ../Doc/whatsnew/3.8.rst:1423 msgid "" "The ``.find*()`` methods in the :mod:`xml.etree.ElementTree` module support " "wildcard searches like ``{*}tag`` which ignores the namespace and " @@ -2319,7 +2344,7 @@ msgstr "" "y ``{namespace}*``, que retorna todas las etiquetas en el espacio de nombres " "dado. (Contribución de Stefan Behnel en :issue:`28238`.)" -#: ../Doc/whatsnew/3.8.rst:1419 +#: ../Doc/whatsnew/3.8.rst:1428 msgid "" "The :mod:`xml.etree.ElementTree` module provides a new function :func:`–xml." "etree.ElementTree.canonicalize()` that implements C14N 2.0. (Contributed by " @@ -2329,7 +2354,7 @@ msgstr "" "xml.etree.ElementTree.canonicalize()` que implementa C14N 2.0. (Contribución " "de Stefan Behnel en :issue:`13611`.)" -#: ../Doc/whatsnew/3.8.rst:1423 +#: ../Doc/whatsnew/3.8.rst:1432 msgid "" "The target object of :class:`xml.etree.ElementTree.XMLParser` can receive " "namespace declaration events through the new callback methods ``start_ns()`` " @@ -2346,11 +2371,11 @@ msgstr "" "en el árbol generado. (Contribución de Stefan Behnel en :issue:`36676` y :" "issue:`36673`.)" -#: ../Doc/whatsnew/3.8.rst:1433 +#: ../Doc/whatsnew/3.8.rst:1442 msgid "xmlrpc" msgstr "xmlrpc" -#: ../Doc/whatsnew/3.8.rst:1435 +#: ../Doc/whatsnew/3.8.rst:1444 msgid "" ":class:`xmlrpc.client.ServerProxy` now supports an optional *headers* " "keyword argument for a sequence of HTTP headers to be sent with each " @@ -2364,11 +2389,11 @@ msgstr "" "desde la autenticación básica predeterminada a una autenticación de sesión " "más rápida. (Contribución de Cédric Krier en :issue:`35153`.)" -#: ../Doc/whatsnew/3.8.rst:1443 +#: ../Doc/whatsnew/3.8.rst:1452 msgid "Optimizations" msgstr "Optimizaciones" -#: ../Doc/whatsnew/3.8.rst:1445 +#: ../Doc/whatsnew/3.8.rst:1454 msgid "" "The :mod:`subprocess` module can now use the :func:`os.posix_spawn` function " "in some cases for better performance. Currently, it is only used on macOS " @@ -2379,11 +2404,11 @@ msgstr "" "en macOS y Linux (usando glibc 2.24 o una versión más reciente) y siempre " "que se cumplan todas estas condiciones:" -#: ../Doc/whatsnew/3.8.rst:1449 +#: ../Doc/whatsnew/3.8.rst:1458 msgid "*close_fds* is false;" msgstr "*close_fds* es falso;" -#: ../Doc/whatsnew/3.8.rst:1450 +#: ../Doc/whatsnew/3.8.rst:1459 msgid "" "*preexec_fn*, *pass_fds*, *cwd* and *start_new_session* parameters are not " "set;" @@ -2391,15 +2416,15 @@ msgstr "" "los parámetros *preexec_fn*, *pass_fds*, *cwd* y *start_new_session* no " "están establecidos;" -#: ../Doc/whatsnew/3.8.rst:1452 +#: ../Doc/whatsnew/3.8.rst:1461 msgid "the *executable* path contains a directory." msgstr "la ruta *executable* contiene un directorio." -#: ../Doc/whatsnew/3.8.rst:1454 +#: ../Doc/whatsnew/3.8.rst:1463 msgid "(Contributed by Joannah Nanjekye and Victor Stinner in :issue:`35537`.)" msgstr "(Contribución de Joannah Nanjekye y Victor Stinner en :issue:`35537`.)" -#: ../Doc/whatsnew/3.8.rst:1456 +#: ../Doc/whatsnew/3.8.rst:1465 #, python-format msgid "" ":func:`shutil.copyfile`, :func:`shutil.copy`, :func:`shutil.copy2`, :func:" @@ -2430,7 +2455,7 @@ msgstr "" "platform-dependent-efficient-copy-operations`. (Contribución de Giampaolo " "Rodolà en :issue:`33671`.)" -#: ../Doc/whatsnew/3.8.rst:1472 +#: ../Doc/whatsnew/3.8.rst:1481 #, python-format msgid "" ":func:`shutil.copytree` uses :func:`os.scandir` function and all copy " @@ -2449,7 +2474,7 @@ msgstr "" "especialmente en sistemas de archivos de red. (Contribución de Giampaolo " "Rodolà en :issue:`33695`.)" -#: ../Doc/whatsnew/3.8.rst:1479 +#: ../Doc/whatsnew/3.8.rst:1488 msgid "" "The default protocol in the :mod:`pickle` module is now Protocol 4, first " "introduced in Python 3.4. It offers better performance and smaller size " @@ -2459,7 +2484,7 @@ msgstr "" "introducido por primera vez en Python 3.4. Ofrece un mejor desempeño y un " "menor tamaño, en comparación con el Protocolo 3 disponible desde Python 3.0." -#: ../Doc/whatsnew/3.8.rst:1483 +#: ../Doc/whatsnew/3.8.rst:1492 msgid "" "Removed one ``Py_ssize_t`` member from ``PyGC_Head``. All GC tracked " "objects (e.g. tuple, list, dict) size is reduced 4 or 8 bytes. (Contributed " @@ -2469,7 +2494,7 @@ msgstr "" "objetos seguidos por el GC (por ejemplo tuple, list y dict) se ha reducido 4 " "u 8 bytes. (Contribución de Inada Naoki en :issue:`33597`.)" -#: ../Doc/whatsnew/3.8.rst:1487 +#: ../Doc/whatsnew/3.8.rst:1496 msgid "" ":class:`uuid.UUID` now uses ``__slots__`` to reduce its memory footprint. " "(Contributed by Wouter Bolsterlee and Tal Einat in :issue:`30977`)" @@ -2478,7 +2503,7 @@ msgstr "" "en la memoria. (Contribución de Wouter Bolsterlee y Tal Einat en :issue:" "`30977`.)" -#: ../Doc/whatsnew/3.8.rst:1490 +#: ../Doc/whatsnew/3.8.rst:1499 msgid "" "Improved performance of :func:`operator.itemgetter` by 33%. Optimized " "argument handling and added a fast path for the common case of a single non-" @@ -2491,7 +2516,7 @@ msgstr "" "caso de uso común en la biblioteca estándar). (Contribución de Raymond " "Hettinger en :issue:`35664`.)" -#: ../Doc/whatsnew/3.8.rst:1496 +#: ../Doc/whatsnew/3.8.rst:1505 msgid "" "Sped-up field lookups in :func:`collections.namedtuple`. They are now more " "than two times faster, making them the fastest form of instance variable " @@ -2504,7 +2529,7 @@ msgstr "" "Raymond Hettinger, Pablo Galindo, Joe Jevnik y Serhiy Storchaka en :issue:" "`32492`.)" -#: ../Doc/whatsnew/3.8.rst:1501 +#: ../Doc/whatsnew/3.8.rst:1510 #, python-format msgid "" "The :class:`list` constructor does not overallocate the internal item buffer " @@ -2518,7 +2543,7 @@ msgstr "" "promedio, un 12% más pequeña. (Contribución de Raymond Hettinger y Pablo " "Galindo en :issue:`33234`.)" -#: ../Doc/whatsnew/3.8.rst:1506 +#: ../Doc/whatsnew/3.8.rst:1515 msgid "" "Doubled the speed of class variable writes. When a non-dunder attribute was " "updated, there was an unnecessary call to update slots. (Contributed by " @@ -2531,7 +2556,7 @@ msgstr "" "Salgado, Raymond Hettinger, Neil Schemenauer y Serhiy Storchaka en :issue:" "`36012`.)" -#: ../Doc/whatsnew/3.8.rst:1511 +#: ../Doc/whatsnew/3.8.rst:1520 msgid "" "Reduced an overhead of converting arguments passed to many builtin functions " "and methods. This sped up calling some simple builtin functions and methods " @@ -2543,7 +2568,7 @@ msgstr "" "y métodos incorporados simples hasta un 20-50%. (Contribución de Serhiy " "Storchaka en :issue:`23867`, :issue:`35582` y :issue:`36127`.)" -#: ../Doc/whatsnew/3.8.rst:1516 +#: ../Doc/whatsnew/3.8.rst:1525 #, python-format msgid "" "``LOAD_GLOBAL`` instruction now uses new \"per opcode cache\" mechanism. It " @@ -2554,11 +2579,11 @@ msgstr "" "cache\". Ahora es aproximadamente un 40% más rápida. (Contribución de Yury " "Selivanov e Inada Naoki en :issue:`26219`.)" -#: ../Doc/whatsnew/3.8.rst:1522 +#: ../Doc/whatsnew/3.8.rst:1531 msgid "Build and C API Changes" msgstr "Cambios en la compilación y la API de C" -#: ../Doc/whatsnew/3.8.rst:1524 +#: ../Doc/whatsnew/3.8.rst:1533 msgid "" "Default :data:`sys.abiflags` became an empty string: the ``m`` flag for " "pymalloc became useless (builds with and without pymalloc are ABI " @@ -2570,18 +2595,18 @@ msgstr "" "y sin pymalloc son ABI compatibles) y por lo tanto se ha eliminado. " "(Contribución de Victor Stinner en :issue:`36707`.)" -#: ../Doc/whatsnew/3.8.rst:1528 +#: ../Doc/whatsnew/3.8.rst:1537 msgid "Example of changes:" msgstr "Ejemplos del cambio:" -#: ../Doc/whatsnew/3.8.rst:1530 +#: ../Doc/whatsnew/3.8.rst:1539 msgid "" "Only ``python3.8`` program is installed, ``python3.8m`` program is gone." msgstr "" "Solo el programa ``python3.8`` es instalado, el programa ``python3.8m`` se " "ha eliminado." -#: ../Doc/whatsnew/3.8.rst:1531 +#: ../Doc/whatsnew/3.8.rst:1540 msgid "" "Only ``python3.8-config`` script is installed, ``python3.8m-config`` script " "is gone." @@ -2589,7 +2614,7 @@ msgstr "" "Solo el script ``python3.8-config`` es instalado, el script ``python3.8m-" "config`` se ha eliminado." -#: ../Doc/whatsnew/3.8.rst:1533 +#: ../Doc/whatsnew/3.8.rst:1542 msgid "" "The ``m`` flag has been removed from the suffix of dynamic library " "filenames: extension modules in the standard library as well as those " @@ -2604,7 +2629,7 @@ msgstr "" "x86_64-linux-gnu.so`` en Python 3.7 se ha convertido en ``.cpython-38-x86_64-" "linux-gnu.so`` en Python 3.8." -#: ../Doc/whatsnew/3.8.rst:1540 +#: ../Doc/whatsnew/3.8.rst:1549 msgid "" "The header files have been reorganized to better separate the different " "kinds of APIs:" @@ -2612,11 +2637,11 @@ msgstr "" "Los archivos de cabeceras se han reorganizado para separar mejor los " "diferentes tipos de APIs:" -#: ../Doc/whatsnew/3.8.rst:1543 +#: ../Doc/whatsnew/3.8.rst:1552 msgid "``Include/*.h`` should be the portable public stable C API." msgstr "``Include/*.h`` debe ser la API de C portable, pública y estable." -#: ../Doc/whatsnew/3.8.rst:1544 +#: ../Doc/whatsnew/3.8.rst:1553 msgid "" "``Include/cpython/*.h`` should be the unstable C API specific to CPython; " "public API, with some private API prefixed by ``_Py`` or ``_PY``." @@ -2625,7 +2650,7 @@ msgstr "" "CPython. Una API pública, con alguna API privada marcada con los prefijos " "``_Py`` o ``_PY``." -#: ../Doc/whatsnew/3.8.rst:1546 +#: ../Doc/whatsnew/3.8.rst:1555 msgid "" "``Include/internal/*.h`` is the private internal C API very specific to " "CPython. This API comes with no backward compatibility warranty and should " @@ -2641,7 +2666,7 @@ msgstr "" "sin llamar directamente a las funciones. Esta API es ahora instalada por " "``make install``." -#: ../Doc/whatsnew/3.8.rst:1552 +#: ../Doc/whatsnew/3.8.rst:1561 msgid "" "(Contributed by Victor Stinner in :issue:`35134` and :issue:`35081`, work " "initiated by Eric Snow in Python 3.7.)" @@ -2649,7 +2674,7 @@ msgstr "" "(Contribución de Victor Stinner en :issue:`35134` y :issue:`35081`, trabajo " "iniciado por Eric Snow en Python 3.7.)" -#: ../Doc/whatsnew/3.8.rst:1555 +#: ../Doc/whatsnew/3.8.rst:1564 msgid "" "Some macros have been converted to static inline functions: parameter types " "and return type are well defined, they don't have issues specific to macros, " @@ -2660,19 +2685,19 @@ msgstr "" "cuestiones que precisen el uso específico de macros y las variables tienen " "ámbito local. Algunos ejemplos:" -#: ../Doc/whatsnew/3.8.rst:1559 +#: ../Doc/whatsnew/3.8.rst:1568 msgid ":c:func:`Py_INCREF`, :c:func:`Py_DECREF`" msgstr ":c:func:`Py_INCREF`, :c:func:`Py_DECREF`" -#: ../Doc/whatsnew/3.8.rst:1560 +#: ../Doc/whatsnew/3.8.rst:1569 msgid ":c:func:`Py_XINCREF`, :c:func:`Py_XDECREF`" msgstr ":c:func:`Py_XINCREF`, :c:func:`Py_XDECREF`" -#: ../Doc/whatsnew/3.8.rst:1561 +#: ../Doc/whatsnew/3.8.rst:1570 msgid ":c:func:`PyObject_INIT`, :c:func:`PyObject_INIT_VAR`" msgstr ":c:func:`PyObject_INIT`, :c:func:`PyObject_INIT_VAR`" -#: ../Doc/whatsnew/3.8.rst:1562 +#: ../Doc/whatsnew/3.8.rst:1571 msgid "" "Private functions: :c:func:`_PyObject_GC_TRACK`, :c:func:" "`_PyObject_GC_UNTRACK`, :c:func:`_Py_Dealloc`" @@ -2680,11 +2705,11 @@ msgstr "" "Funciones privadas: :c:func:`_PyObject_GC_TRACK`, :c:func:" "`_PyObject_GC_UNTRACK`, :c:func:`_Py_Dealloc`" -#: ../Doc/whatsnew/3.8.rst:1565 +#: ../Doc/whatsnew/3.8.rst:1574 msgid "(Contributed by Victor Stinner in :issue:`35059`.)" msgstr "(Contribución de Victor Stinner en :issue:`35059`.)" -#: ../Doc/whatsnew/3.8.rst:1567 +#: ../Doc/whatsnew/3.8.rst:1576 msgid "" "The :c:func:`PyByteArray_Init` and :c:func:`PyByteArray_Fini` functions have " "been removed. They did nothing since Python 2.7.4 and Python 3.2.0, were " @@ -2696,7 +2721,7 @@ msgstr "" "fueron excluidas de la API limitada (ABI estable) y dejaron de estar " "documentadas. (Contribución de Victor Stinner en :issue:`35713`.)" -#: ../Doc/whatsnew/3.8.rst:1572 +#: ../Doc/whatsnew/3.8.rst:1581 msgid "" "The result of :c:func:`PyExceptionClass_Name` is now of type ``const char " "*`` rather of ``char *``. (Contributed by Serhiy Storchaka in :issue:" @@ -2706,7 +2731,7 @@ msgstr "" "char *`` en vez de ``char *``. (Contribución de Serhiy Storchaka en :issue:" "`33818`.)" -#: ../Doc/whatsnew/3.8.rst:1576 +#: ../Doc/whatsnew/3.8.rst:1585 msgid "" "The duality of ``Modules/Setup.dist`` and ``Modules/Setup`` has been " "removed. Previously, when updating the CPython source tree, one had to " @@ -2725,7 +2750,7 @@ msgstr "" "desarrolladores de CPython, ya que olvidarse de copiar el archivo podía " "ocasionar fallos de compilación." -#: ../Doc/whatsnew/3.8.rst:1584 +#: ../Doc/whatsnew/3.8.rst:1593 msgid "" "Now the build system always reads from ``Modules/Setup`` inside the source " "tree. People who want to customize that file are encouraged to maintain " @@ -2738,11 +2763,11 @@ msgstr "" "archivos de parche, como harían con cualquier otro cambio en el árbol de " "fuentes." -#: ../Doc/whatsnew/3.8.rst:1589 +#: ../Doc/whatsnew/3.8.rst:1598 msgid "(Contributed by Antoine Pitrou in :issue:`32430`.)" msgstr "(Contribución de Antoine Pitrou en :issue:`32430`.)" -#: ../Doc/whatsnew/3.8.rst:1591 +#: ../Doc/whatsnew/3.8.rst:1600 msgid "" "Functions that convert Python number to C integer like :c:func:" "`PyLong_AsLong` and argument parsing functions like :c:func:" @@ -2770,7 +2795,7 @@ msgstr "" "también usan el método ``__index__()`` si está disponible. (Contribución de " "Serhiy Storchaka en :issue:`36048` y :issue:`20092`.)" -#: ../Doc/whatsnew/3.8.rst:1605 +#: ../Doc/whatsnew/3.8.rst:1614 msgid "" "Heap-allocated type objects will now increase their reference count in :c:" "func:`PyObject_Init` (and its parallel macro ``PyObject_INIT``) instead of " @@ -2784,7 +2809,7 @@ msgstr "" "que deban ajustarse los tipos que modifican la asignación o desasignación de " "instancias. (Contribución de Eddie Elizondo en :issue:`35810`.)" -#: ../Doc/whatsnew/3.8.rst:1611 +#: ../Doc/whatsnew/3.8.rst:1620 msgid "" "The new function :c:func:`PyCode_NewWithPosOnlyArgs` allows to create code " "objects like :c:func:`PyCode_New`, but with an extra *posonlyargcount* " @@ -2796,7 +2821,7 @@ msgstr "" "*posonlyargcount* extra, que permite indicar el número de argumentos solo " "posicionales." -#: ../Doc/whatsnew/3.8.rst:1616 +#: ../Doc/whatsnew/3.8.rst:1625 msgid "" ":c:func:`Py_SetPath` now sets :data:`sys.executable` to the program full " "path (:c:func:`Py_GetProgramFullPath`) rather than to the program name (:c:" @@ -2807,11 +2832,11 @@ msgstr "" "nombre del programa (:c:func:`Py_GetProgramName`). (Contribución de Victor " "Stinner en :issue:`38234`.)" -#: ../Doc/whatsnew/3.8.rst:1623 +#: ../Doc/whatsnew/3.8.rst:1632 msgid "Deprecated" msgstr "Obsoleto" -#: ../Doc/whatsnew/3.8.rst:1625 +#: ../Doc/whatsnew/3.8.rst:1634 msgid "" "The distutils ``bdist_wininst`` command is now deprecated, use " "``bdist_wheel`` (wheel packages) instead. (Contributed by Victor Stinner in :" @@ -2821,7 +2846,7 @@ msgstr "" "``bdist_wheel`` (paquetes wheel) en su lugar. (Contribución de Victor " "Stinner en :issue:`37481`.)" -#: ../Doc/whatsnew/3.8.rst:1629 +#: ../Doc/whatsnew/3.8.rst:1638 msgid "" "Deprecated methods ``getchildren()`` and ``getiterator()`` in the :mod:`~xml." "etree.ElementTree` module now emit a :exc:`DeprecationWarning` instead of :" @@ -2833,7 +2858,7 @@ msgstr "" "en lugar de :exc:`PendingDeprecationWarning`. Serán eliminados en Python " "3.9. (Contribución de Serhiy Storchaka en :issue:`29209`.)" -#: ../Doc/whatsnew/3.8.rst:1635 +#: ../Doc/whatsnew/3.8.rst:1644 msgid "" "Passing an object that is not an instance of :class:`concurrent.futures." "ThreadPoolExecutor` to :meth:`loop.set_default_executor() `. (Contributed by Serhiy Storchaka in :issue:`36492`.)" @@ -3064,15 +3090,15 @@ msgstr "" "posicionales `. (Contribución de Serhiy Storchaka " "en :issue:`36492`.)" -#: ../Doc/whatsnew/3.8.rst:1736 +#: ../Doc/whatsnew/3.8.rst:1745 msgid "API and Feature Removals" msgstr "APIs y características eliminadas" -#: ../Doc/whatsnew/3.8.rst:1738 +#: ../Doc/whatsnew/3.8.rst:1747 msgid "The following features and APIs have been removed from Python 3.8:" msgstr "Las siguientes características y APIs se han eliminado de Python 3.8:" -#: ../Doc/whatsnew/3.8.rst:1740 +#: ../Doc/whatsnew/3.8.rst:1749 msgid "" "Starting with Python 3.3, importing ABCs from :mod:`collections` was " "deprecated, and importing should be done from :mod:`collections.abc`. Being " @@ -3085,7 +3111,7 @@ msgstr "" "se marcó para su eliminación en Python 3.8, pero se ha retrasado a Python " "3.9. (Consultar :issue:`36952`.)" -#: ../Doc/whatsnew/3.8.rst:1745 +#: ../Doc/whatsnew/3.8.rst:1754 msgid "" "The :mod:`macpath` module, deprecated in Python 3.7, has been removed. " "(Contributed by Victor Stinner in :issue:`35471`.)" @@ -3093,7 +3119,7 @@ msgstr "" "El módulo :mod:`macpath`, obsoleto desde Python 3.7, ha sido eliminado. " "(Contribución de Victor Stinner en :issue:`35471`.)" -#: ../Doc/whatsnew/3.8.rst:1748 ../Doc/whatsnew/3.8.rst:1867 +#: ../Doc/whatsnew/3.8.rst:1757 ../Doc/whatsnew/3.8.rst:1876 msgid "" "The function :func:`platform.popen` has been removed, after having been " "deprecated since Python 3.3: use :func:`os.popen` instead. (Contributed by " @@ -3103,7 +3129,7 @@ msgstr "" "obsoleta desde Python 3.3: usa :func:`os.popen` en su lugar. (Contribución " "de Victor Stinner en :issue:`35345`.)" -#: ../Doc/whatsnew/3.8.rst:1752 +#: ../Doc/whatsnew/3.8.rst:1761 msgid "" "The function :func:`time.clock` has been removed, after having been " "deprecated since Python 3.3: use :func:`time.perf_counter` or :func:`time." @@ -3116,7 +3142,7 @@ msgstr "" "comportamiento bien definido. (Contribución de Matthias Bussonnier en :issue:" "`36895`.)" -#: ../Doc/whatsnew/3.8.rst:1758 +#: ../Doc/whatsnew/3.8.rst:1767 msgid "" "The ``pyvenv`` script has been removed in favor of ``python3.8 -m venv`` to " "help eliminate confusion as to what Python interpreter the ``pyvenv`` script " @@ -3127,7 +3153,7 @@ msgstr "" "vinculado el script ``pyvenv``. (Contribución de Brett Cannon en :issue:" "`25427`.)" -#: ../Doc/whatsnew/3.8.rst:1762 +#: ../Doc/whatsnew/3.8.rst:1771 msgid "" "``parse_qs``, ``parse_qsl``, and ``escape`` are removed from the :mod:`cgi` " "module. They are deprecated in Python 3.2 or older. They should be imported " @@ -3138,7 +3164,7 @@ msgstr "" "anteriores. En su lugar, deberían ser importadas desde los módulos ``urllib." "parse`` y ``html``." -#: ../Doc/whatsnew/3.8.rst:1766 +#: ../Doc/whatsnew/3.8.rst:1775 msgid "" "``filemode`` function is removed from the :mod:`tarfile` module. It is not " "documented and deprecated since Python 3.3." @@ -3146,7 +3172,7 @@ msgstr "" "La función ``filemode`` se ha eliminado del módulo :mod:`tarfile`. Estaba " "indocumentada y obsoleta desde Python 3.3." -#: ../Doc/whatsnew/3.8.rst:1769 +#: ../Doc/whatsnew/3.8.rst:1778 msgid "" "The :class:`~xml.etree.ElementTree.XMLParser` constructor no longer accepts " "the *html* argument. It never had an effect and was deprecated in Python " @@ -3158,7 +3184,7 @@ msgstr "" "los demás parámetros son ahora :ref:`parámetros solo nombrados `. (Contribución de Serhiy Storchaka en :issue:`29209`.)" -#: ../Doc/whatsnew/3.8.rst:1774 +#: ../Doc/whatsnew/3.8.rst:1783 msgid "" "Removed the ``doctype()`` method of :class:`~xml.etree.ElementTree." "XMLParser`. (Contributed by Serhiy Storchaka in :issue:`29209`.)" @@ -3166,7 +3192,7 @@ msgstr "" "Se ha eliminado el método ``doctype()`` de :class:`~xml.etree.ElementTree." "XMLParser`. (Contribución de Serhiy Storchaka en :issue:`29209`.)" -#: ../Doc/whatsnew/3.8.rst:1777 +#: ../Doc/whatsnew/3.8.rst:1786 msgid "" "\"unicode_internal\" codec is removed. (Contributed by Inada Naoki in :issue:" "`36297`.)" @@ -3174,7 +3200,7 @@ msgstr "" "Se ha elimina el códec \"unicode_internal\". (Contribución de Inada Naoki " "en :issue:`36297`.)" -#: ../Doc/whatsnew/3.8.rst:1780 +#: ../Doc/whatsnew/3.8.rst:1789 msgid "" "The ``Cache`` and ``Statement`` objects of the :mod:`sqlite3` module are not " "exposed to the user. (Contributed by Aviv Palivoda in :issue:`30262`.)" @@ -3183,7 +3209,7 @@ msgstr "" "expuestos al usuario a partir de ahora. (Contribución de Aviv Palivoda en :" "issue:`30262`.)" -#: ../Doc/whatsnew/3.8.rst:1784 +#: ../Doc/whatsnew/3.8.rst:1793 msgid "" "The ``bufsize`` keyword argument of :func:`fileinput.input` and :func:" "`fileinput.FileInput` which was ignored and deprecated since Python 3.6 has " @@ -3193,7 +3219,7 @@ msgstr "" "func:`fileinput.FileInput`, marcado como obsoleto e ignorado desde Python " "3.6, ha sido eliminado. :issue:`36952` (Contribución de Matthias Bussonnier.)" -#: ../Doc/whatsnew/3.8.rst:1788 +#: ../Doc/whatsnew/3.8.rst:1797 msgid "" "The functions :func:`sys.set_coroutine_wrapper` and :func:`sys." "get_coroutine_wrapper` deprecated in Python 3.7 have been removed; :issue:" @@ -3203,11 +3229,11 @@ msgstr "" "get_coroutine_wrapper`, obsoletas desde Python 3.7, han sido eliminadas; :" "issue:`36933` (Contribución de Matthias Bussonnier.)" -#: ../Doc/whatsnew/3.8.rst:1794 +#: ../Doc/whatsnew/3.8.rst:1803 msgid "Porting to Python 3.8" msgstr "Portando a Python 3.8" -#: ../Doc/whatsnew/3.8.rst:1796 +#: ../Doc/whatsnew/3.8.rst:1805 msgid "" "This section lists previously described changes and other bugfixes that may " "require changes to your code." @@ -3215,11 +3241,11 @@ msgstr "" "Esta sección enumera los cambios descritos anteriormente y otras " "correcciones de errores que pueden requerir cambios en tu código." -#: ../Doc/whatsnew/3.8.rst:1801 +#: ../Doc/whatsnew/3.8.rst:1810 msgid "Changes in Python behavior" msgstr "Cambios en el comportamiento de Python" -#: ../Doc/whatsnew/3.8.rst:1803 +#: ../Doc/whatsnew/3.8.rst:1812 msgid "" "Yield expressions (both ``yield`` and ``yield from`` clauses) are now " "disallowed in comprehensions and generator expressions (aside from the " @@ -3231,7 +3257,7 @@ msgstr "" "(excepto en la expresión iterable en la cláusula :keyword:`!for` situada más " "a la izquierda). (Contribución de Serhiy Storchaka en :issue:`10544`.)" -#: ../Doc/whatsnew/3.8.rst:1808 +#: ../Doc/whatsnew/3.8.rst:1817 msgid "" "The compiler now produces a :exc:`SyntaxWarning` when identity checks " "(``is`` and ``is not``) are used with certain types of literals (e.g. " @@ -3248,7 +3274,7 @@ msgstr "" "utilicen pruebas de igualdad (``==`` y ``!=``) en su lugar. (Contribución de " "Serhiy Storchaka en :issue:`34850`.)" -#: ../Doc/whatsnew/3.8.rst:1815 +#: ../Doc/whatsnew/3.8.rst:1824 msgid "" "The CPython interpreter can swallow exceptions in some circumstances. In " "Python 3.8 this happens in fewer cases. In particular, exceptions raised " @@ -3261,7 +3287,7 @@ msgstr "" "diccionario de tipos ya no son ignoradas. (Contribución de Serhiy Storchaka " "en :issue:`35459`.)" -#: ../Doc/whatsnew/3.8.rst:1820 +#: ../Doc/whatsnew/3.8.rst:1829 msgid "" "Removed ``__str__`` implementations from builtin types :class:`bool`, :class:" "`int`, :class:`float`, :class:`complex` and few classes from the standard " @@ -3278,7 +3304,7 @@ msgstr "" "como cadena de caracteres. (Contribución de Serhiy Storchaka en :issue:" "`36793`.)" -#: ../Doc/whatsnew/3.8.rst:1827 +#: ../Doc/whatsnew/3.8.rst:1836 msgid "" "On AIX, :attr:`sys.platform` doesn't contain the major version anymore. It " "is always ``'aix'``, instead of ``'aix3'`` .. ``'aix7'``. Since older " @@ -3292,7 +3318,7 @@ msgstr "" "de versión, se recomienda usar siempre ``sys.platform.startswith('aix')``. " "(Contribución de M. Felt en :issue:`36588`.)" -#: ../Doc/whatsnew/3.8.rst:1833 +#: ../Doc/whatsnew/3.8.rst:1842 msgid "" ":c:func:`PyEval_AcquireLock` and :c:func:`PyEval_AcquireThread` now " "terminate the current thread if called while the interpreter is finalizing, " @@ -3310,11 +3336,11 @@ msgstr "" "`_Py_IsFinalizing` o :c:func:`sys.is_finalizing`. (Contribución de Joannah " "Nanjekye en :issue:`36475`.)" -#: ../Doc/whatsnew/3.8.rst:1843 +#: ../Doc/whatsnew/3.8.rst:1852 msgid "Changes in the Python API" msgstr "Cambios en la API de Python" -#: ../Doc/whatsnew/3.8.rst:1845 +#: ../Doc/whatsnew/3.8.rst:1854 msgid "" "The :func:`os.getcwdb` function now uses the UTF-8 encoding on Windows, " "rather than the ANSI code page: see :pep:`529` for the rationale. The " @@ -3326,7 +3352,7 @@ msgstr "" "La función ya no está obsoleta en Windows. (Contribución de Victor Stinner " "en :issue:`37412`.)" -#: ../Doc/whatsnew/3.8.rst:1850 +#: ../Doc/whatsnew/3.8.rst:1859 msgid "" ":class:`subprocess.Popen` can now use :func:`os.posix_spawn` in some cases " "for better performance. On Windows Subsystem for Linux and QEMU User " @@ -3343,7 +3369,7 @@ msgstr "" "returncode` distinto de cero. (Contribución de Joannah Nanjekye y Victor " "Stinner en :issue:`35537`.)" -#: ../Doc/whatsnew/3.8.rst:1857 +#: ../Doc/whatsnew/3.8.rst:1866 msgid "" "The *preexec_fn* argument of * :class:`subprocess.Popen` is no longer " "compatible with subinterpreters. The use of the parameter in a " @@ -3355,7 +3381,7 @@ msgstr "" "excepción :exc:`RuntimeError`. (Contribución de Eric Snow en :issue:`34651`, " "modificado por Christian Heimes en :issue:`37951`.)" -#: ../Doc/whatsnew/3.8.rst:1863 +#: ../Doc/whatsnew/3.8.rst:1872 msgid "" "The :meth:`imap.IMAP4.logout` method no longer silently ignores arbitrary " "exceptions. (Contributed by Victor Stinner in :issue:`36348`.)" @@ -3363,7 +3389,7 @@ msgstr "" "El método :meth:`imap.IMAP4.logout` ya no ignora silenciosamente excepciones " "arbitrarias. (Contribución de Victor Stinner en :issue:`36348`.)" -#: ../Doc/whatsnew/3.8.rst:1871 +#: ../Doc/whatsnew/3.8.rst:1880 msgid "" "The :func:`statistics.mode` function no longer raises an exception when " "given multimodal data. Instead, it returns the first mode encountered in " @@ -3374,7 +3400,7 @@ msgstr "" "encontrada en los datos de entrada. (Contribución de Raymond Hettinger en :" "issue:`35892`.)" -#: ../Doc/whatsnew/3.8.rst:1876 +#: ../Doc/whatsnew/3.8.rst:1885 msgid "" "The :meth:`~tkinter.ttk.Treeview.selection` method of the :class:`tkinter." "ttk.Treeview` class no longer takes arguments. Using it with arguments for " @@ -3388,7 +3414,7 @@ msgstr "" "especializados, como :meth:`~tkinter.ttk.Treeview.selection_set`, para " "cambiar la selección. (Contribución de Serhiy Storchaka en :issue:`31508`.)" -#: ../Doc/whatsnew/3.8.rst:1882 +#: ../Doc/whatsnew/3.8.rst:1891 msgid "" "The :meth:`writexml`, :meth:`toxml` and :meth:`toprettyxml` methods of :mod:" "`xml.dom.minidom`, and the :meth:`write` method of :mod:`xml.etree`, now " @@ -3400,7 +3426,7 @@ msgstr "" "conservan el orden de los atributos especificado por el usuario. " "(Contribución de Diego Rojas y Raymond Hettinger en :issue:`34160`.)" -#: ../Doc/whatsnew/3.8.rst:1887 +#: ../Doc/whatsnew/3.8.rst:1896 msgid "" "A :mod:`dbm.dumb` database opened with flags ``'r'`` is now read-only. :func:" "`dbm.dumb.open` with flags ``'r'`` and ``'w'`` no longer creates a database " @@ -3411,7 +3437,7 @@ msgstr "" "crea una base de datos si no existe. (Contribución de Serhiy Storchaka en :" "issue:`32749`.)" -#: ../Doc/whatsnew/3.8.rst:1892 +#: ../Doc/whatsnew/3.8.rst:1901 msgid "" "The ``doctype()`` method defined in a subclass of :class:`~xml.etree." "ElementTree.XMLParser` will no longer be called and will emit a :exc:" @@ -3427,7 +3453,7 @@ msgstr "" "para manejar una declaración doctype de XML. (Contribución de Serhiy " "Storchaka en :issue:`29209`.)" -#: ../Doc/whatsnew/3.8.rst:1899 +#: ../Doc/whatsnew/3.8.rst:1908 msgid "" "A :exc:`RuntimeError` is now raised when the custom metaclass doesn't " "provide the ``__classcell__`` entry in the namespace passed to ``type." @@ -3440,7 +3466,7 @@ msgstr "" "advertencia :exc:`DeprecationWarning` (Contribución de Serhiy Storchaka en :" "issue:`23722`.)" -#: ../Doc/whatsnew/3.8.rst:1904 +#: ../Doc/whatsnew/3.8.rst:1913 msgid "" "The :class:`cProfile.Profile` class can now be used as a context manager. " "(Contributed by Scott Sanderson in :issue:`29235`.)" @@ -3448,7 +3474,7 @@ msgstr "" "La clase :class:`cProfile.Profile` ahora se puede usar como gestor de " "contexto. (Contribución de Scott Sanderson en :issue:`29235`.)" -#: ../Doc/whatsnew/3.8.rst:1907 +#: ../Doc/whatsnew/3.8.rst:1916 msgid "" ":func:`shutil.copyfile`, :func:`shutil.copy`, :func:`shutil.copy2`, :func:" "`shutil.copytree` and :func:`shutil.move` use platform-specific \"fast-copy" @@ -3460,7 +3486,7 @@ msgstr "" "rápida\" específicas de la plataforma. (Consultar la sección :ref:`shutil-" "platform-dependent-efficient-copy-operations`)." -#: ../Doc/whatsnew/3.8.rst:1912 +#: ../Doc/whatsnew/3.8.rst:1921 msgid "" ":func:`shutil.copyfile` default buffer size on Windows was changed from 16 " "KiB to 1 MiB." @@ -3468,7 +3494,7 @@ msgstr "" "El tamaño predeterminado del búfer de :func:`shutil.copyfile` en Windows se " "ha cambiado de 16 KiB a 1 MiB." -#: ../Doc/whatsnew/3.8.rst:1915 +#: ../Doc/whatsnew/3.8.rst:1924 msgid "" "The ``PyGC_Head`` struct has changed completely. All code that touched the " "struct member should be rewritten. (See :issue:`33597`.)" @@ -3477,7 +3503,7 @@ msgstr "" "uso de algún miembro de la estructura debe reescribirse. (Consultar :issue:" "`33597`.)" -#: ../Doc/whatsnew/3.8.rst:1918 +#: ../Doc/whatsnew/3.8.rst:1927 msgid "" "The :c:type:`PyInterpreterState` struct has been moved into the \"internal\" " "header files (specifically Include/internal/pycore_pystate.h). An opaque " @@ -3498,7 +3524,7 @@ msgstr "" "adaptarlo (posiblemente incluyendo funciones de acceso a la API pública). " "(Consultar :issue:`35886`.)" -#: ../Doc/whatsnew/3.8.rst:1928 +#: ../Doc/whatsnew/3.8.rst:1937 msgid "" "The :meth:`mmap.flush() ` method now returns ``None`` on " "success and raises an exception on error under all platforms. Previously, " @@ -3515,7 +3541,7 @@ msgstr "" "una excepción ante un error. (Contribución de Berker Peksag en :issue:" "`2122`.)" -#: ../Doc/whatsnew/3.8.rst:1935 +#: ../Doc/whatsnew/3.8.rst:1944 msgid "" ":mod:`xml.dom.minidom` and :mod:`xml.sax` modules no longer process external " "entities by default. (Contributed by Christian Heimes in :issue:`17239`.)" @@ -3524,7 +3550,7 @@ msgstr "" "externas de forma predeterminada. (Contribución de Christian Heimes en :" "issue:`17239`.)" -#: ../Doc/whatsnew/3.8.rst:1939 +#: ../Doc/whatsnew/3.8.rst:1948 msgid "" "Deleting a key from a read-only :mod:`dbm` database (:mod:`dbm.dumb`, :mod:" "`dbm.gnu` or :mod:`dbm.ndbm`) raises :attr:`error` (:exc:`dbm.dumb.error`, :" @@ -3537,7 +3563,7 @@ msgstr "" "error`) en lugar de :exc:`KeyError`. (Contribución de Xiang Zhang en :issue:" "`33106`.)" -#: ../Doc/whatsnew/3.8.rst:1944 +#: ../Doc/whatsnew/3.8.rst:1953 msgid "" "Simplified AST for literals. All constants will be represented as :class:" "`ast.Constant` instances. Instantiating old classes ``Num``, ``Str``, " @@ -3550,7 +3576,7 @@ msgstr "" "una instancia de ``Constant``. (Contribución de Serhiy Storchaka en :issue:" "`32892`.)" -#: ../Doc/whatsnew/3.8.rst:1959 +#: ../Doc/whatsnew/3.8.rst:1969 msgid "" "The function :func:`asyncio.wait_for` now correctly waits for cancellation " "when using an instance of :class:`asyncio.Task`. Previously, upon reaching " @@ -3562,7 +3588,7 @@ msgstr "" "Anteriormente, al alcanzar *timeout*, se cancelaba y retornaba de inmediato. " "(Contribución de Elvis Pranskevichus en :issue:`32751`.)" -#: ../Doc/whatsnew/3.8.rst:1964 +#: ../Doc/whatsnew/3.8.rst:1974 msgid "" "The function :func:`asyncio.BaseTransport.get_extra_info` now returns a safe " "to use socket object when 'socket' is passed to the *name* parameter. " @@ -3572,12 +3598,12 @@ msgstr "" "objeto socket seguro cuando se pasa 'socket' al parámetro *name*. " "(Contribución de Yury Selivanov en :issue:`37027`.)" -#: ../Doc/whatsnew/3.8.rst:1968 +#: ../Doc/whatsnew/3.8.rst:1978 msgid ":class:`asyncio.BufferedProtocol` has graduated to the stable API." msgstr "" ":class:`asyncio.BufferedProtocol` ha pasado a formar parte de la API estable." -#: ../Doc/whatsnew/3.8.rst:1972 +#: ../Doc/whatsnew/3.8.rst:1982 msgid "" "DLL dependencies for extension modules and DLLs loaded with :mod:`ctypes` on " "Windows are now resolved more securely. Only the system paths, the directory " @@ -3605,7 +3631,7 @@ msgstr "" "también lo verifica el instalador). (Contribución de Steve Dower en :issue:" "`36085`.)" -#: ../Doc/whatsnew/3.8.rst:1985 +#: ../Doc/whatsnew/3.8.rst:1995 msgid "" "The header files and functions related to pgen have been removed after its " "replacement by a pure Python implementation. (Contributed by Pablo Galindo " @@ -3615,7 +3641,7 @@ msgstr "" "eliminado después de su reemplazo por una implementación pura de Python. " "(Contribución de Pablo Galindo en :issue:`36623`.)" -#: ../Doc/whatsnew/3.8.rst:1989 +#: ../Doc/whatsnew/3.8.rst:1999 msgid "" ":class:`types.CodeType` has a new parameter in the second position of the " "constructor (*posonlyargcount*) to support positional-only arguments defined " @@ -3631,11 +3657,11 @@ msgstr "" "posicionales). El nuevo método ``replace()`` de :class:`types.CodeType` se " "puede utilizar para hacer que el código esté preparado para el futuro." -#: ../Doc/whatsnew/3.8.rst:1998 +#: ../Doc/whatsnew/3.8.rst:2008 msgid "Changes in the C API" msgstr "Cambios en la API de C" -#: ../Doc/whatsnew/3.8.rst:2000 +#: ../Doc/whatsnew/3.8.rst:2010 msgid "" "The :c:type:`PyCompilerFlags` structure got a new *cf_feature_version* " "field. It should be initialized to ``PY_MINOR_VERSION``. The field is " @@ -3648,7 +3674,7 @@ msgstr "" "``PyCF_ONLY_AST`` está establecido en *cf_flags*. (Contribución de Guido van " "Rossum en :issue:`35766`.)" -#: ../Doc/whatsnew/3.8.rst:2006 +#: ../Doc/whatsnew/3.8.rst:2016 msgid "" "The :c:func:`PyEval_ReInitThreads` function has been removed from the C API. " "It should not be called explicitly: use :c:func:`PyOS_AfterFork_Child` " @@ -3658,7 +3684,7 @@ msgstr "" "debe llamarse explícitamente: usa :c:func:`PyOS_AfterFork_Child` en su " "lugar. (Contribución de Victor Stinner en :issue:`36728`.)" -#: ../Doc/whatsnew/3.8.rst:2011 +#: ../Doc/whatsnew/3.8.rst:2021 msgid "" "On Unix, C extensions are no longer linked to libpython except on Android " "and Cygwin. When Python is embedded, ``libpython`` must not be loaded with " @@ -3676,7 +3702,7 @@ msgstr "" "la biblioteca estándar construida por la sección ``*shared*`` de ``Modules/" "Setup``. (Contribución de Victor Stinner en :issue:`21536`.)" -#: ../Doc/whatsnew/3.8.rst:2019 +#: ../Doc/whatsnew/3.8.rst:2029 msgid "" "Use of ``#`` variants of formats in parsing or building value (e.g. :c:func:" "`PyArg_ParseTuple`, :c:func:`Py_BuildValue`, :c:func:" @@ -3691,7 +3717,7 @@ msgstr "" "3.10 ó 4.0. Consultar :ref:`arg-parsing` para más detalles. (Contribución de " "Inada Naoki en :issue:`36381`.)" -#: ../Doc/whatsnew/3.8.rst:2025 +#: ../Doc/whatsnew/3.8.rst:2035 msgid "" "Instances of heap-allocated types (such as those created with :c:func:" "`PyType_FromSpec`) hold a reference to their type object. Increasing the " @@ -3708,11 +3734,11 @@ msgstr "" "mediante :c:func:`PyType_FromSpec` se comporten como otras clases en el " "código gestionado." -#: ../Doc/whatsnew/3.8.rst:2033 +#: ../Doc/whatsnew/3.8.rst:2043 msgid "Statically allocated types are not affected." msgstr "Los tipos asignados estáticamente no se ven afectados." -#: ../Doc/whatsnew/3.8.rst:2035 +#: ../Doc/whatsnew/3.8.rst:2045 msgid "" "For the vast majority of cases, there should be no side effect. However, " "types that manually increase the reference count after allocating an " @@ -3726,14 +3752,14 @@ msgstr "" "volverse inmortales. Para evitar esto, estas clases deben llamar a Py_DECREF " "en el objeto de tipo durante la desasignación de la instancia." -#: ../Doc/whatsnew/3.8.rst:2041 +#: ../Doc/whatsnew/3.8.rst:2051 msgid "" "To correctly port these types into 3.8, please apply the following changes:" msgstr "" "Para portar correctamente estos tipos a Python 3.8, aplica los siguientes " "cambios:" -#: ../Doc/whatsnew/3.8.rst:2044 +#: ../Doc/whatsnew/3.8.rst:2054 msgid "" "Remove :c:macro:`Py_INCREF` on the type object after allocating an instance " "- if any. This may happen after calling :c:func:`PyObject_New`, :c:func:" @@ -3747,12 +3773,12 @@ msgstr "" "func:`PyObject_GC_NewVar`, o cualquier otro asignador personalizado que use :" "c:func:`PyObject_Init` o :c:func:`PyObject_INIT`." -#: ../Doc/whatsnew/3.8.rst:2051 ../Doc/whatsnew/3.8.rst:2070 -#: ../Doc/whatsnew/3.8.rst:2089 +#: ../Doc/whatsnew/3.8.rst:2061 ../Doc/whatsnew/3.8.rst:2080 +#: ../Doc/whatsnew/3.8.rst:2099 msgid "Example:" msgstr "Ejemplo:" -#: ../Doc/whatsnew/3.8.rst:2067 +#: ../Doc/whatsnew/3.8.rst:2077 msgid "" "Ensure that all custom ``tp_dealloc`` functions of heap-allocated types " "decrease the type's reference count." @@ -3760,11 +3786,11 @@ msgstr "" "Asegúrate de que todas las funciones personalizadas ``tp_dealloc`` de los " "tipos asignados al montón disminuyan el recuento de referencias del tipo." -#: ../Doc/whatsnew/3.8.rst:2084 +#: ../Doc/whatsnew/3.8.rst:2094 msgid "(Contributed by Eddie Elizondo in :issue:`35810`.)" msgstr "(Contribución de Eddie Elizondo en :issue:`35810`.)" -#: ../Doc/whatsnew/3.8.rst:2086 +#: ../Doc/whatsnew/3.8.rst:2096 msgid "" "The :c:macro:`Py_DEPRECATED()` macro has been implemented for MSVC. The " "macro now must be placed before the symbol name." @@ -3772,11 +3798,11 @@ msgstr "" "La macro :c:macro:`Py_DEPRECATED()` ha sido implementada para MSVC. La macro " "ahora debe ser colocada antes del nombre del símbolo." -#: ../Doc/whatsnew/3.8.rst:2095 +#: ../Doc/whatsnew/3.8.rst:2105 msgid "(Contributed by Zackery Spytz in :issue:`33407`.)" msgstr "(Contribución de Zackery Spytz en :issue:`33407`.)" -#: ../Doc/whatsnew/3.8.rst:2097 +#: ../Doc/whatsnew/3.8.rst:2107 msgid "" "The interpreter does not pretend to support binary compatibility of " "extension types across feature releases, anymore. A :c:type:`PyTypeObject` " @@ -3793,21 +3819,11 @@ msgstr "" "`Py_TPFLAGS_HAVE_FINALIZE` ya no se verifica antes de leer :c:member:" "`~PyTypeObject.tp_finalize`)." -#: ../Doc/whatsnew/3.8.rst:2104 +#: ../Doc/whatsnew/3.8.rst:2114 msgid "(Contributed by Antoine Pitrou in :issue:`32388`.)" msgstr "(Contribución de Antoine Pitrou en :issue:`32388`.)" -#: ../Doc/whatsnew/3.8.rst:2106 -msgid "" -"The :c:func:`PyCode_New` has a new parameter in the second position " -"(*posonlyargcount*) to support :pep:`570`, indicating the number of " -"positional-only arguments." -msgstr "" -":c:func:`PyCode_New` tiene un nuevo parámetro en la segunda posición " -"(*posonlyargcount*) para dar soporte a :pep:`570`, que indica el número de " -"argumentos solo posicionales." - -#: ../Doc/whatsnew/3.8.rst:2109 +#: ../Doc/whatsnew/3.8.rst:2116 msgid "" "The functions :c:func:`PyNode_AddChild` and :c:func:`PyParser_AddToken` now " "accept two additional ``int`` arguments *end_lineno* and *end_col_offset*." @@ -3815,7 +3831,7 @@ msgstr "" "Las funciones :c:func:`PyNode_AddChild` y :c:func:`PyParser_AddToken` ahora " "aceptan dos argumentos ``int`` adicionales, *end_lineno* y *end_col_offset*." -#: ../Doc/whatsnew/3.8.rst:2112 +#: ../Doc/whatsnew/3.8.rst:2119 msgid "" "The :file:`libpython38.a` file to allow MinGW tools to link directly " "against :file:`python38.dll` is no longer included in the regular Windows " @@ -3828,7 +3844,7 @@ msgstr "" "herramientas ``gendef`` y ``dlltool``, que son parte del paquete binutils de " "MinGW:" -#: ../Doc/whatsnew/3.8.rst:2122 +#: ../Doc/whatsnew/3.8.rst:2129 msgid "" "The location of an installed :file:`pythonXY.dll` will depend on the " "installation options and the version and language of Windows. See :ref:" @@ -3842,15 +3858,15 @@ msgstr "" "resultante debe colocarse en el mismo directorio que :file:`pythonXY.lib`, " "que generalmente es el directorio :file:`libs` en tu instalación de Python." -#: ../Doc/whatsnew/3.8.rst:2128 +#: ../Doc/whatsnew/3.8.rst:2135 msgid "(Contributed by Steve Dower in :issue:`37351`.)" msgstr "(Contribución de Steve Dower en :issue:`37351`.)" -#: ../Doc/whatsnew/3.8.rst:2132 +#: ../Doc/whatsnew/3.8.rst:2139 msgid "CPython bytecode changes" msgstr "Cambios en el bytecode de CPython" -#: ../Doc/whatsnew/3.8.rst:2134 +#: ../Doc/whatsnew/3.8.rst:2141 msgid "" "The interpreter loop has been simplified by moving the logic of unrolling " "the stack of blocks into the compiler. The compiler emits now explicit " @@ -3862,7 +3878,7 @@ msgstr "" "instrucciones explícitas para ajustar la pila de valores y llamar al código " "de limpieza para :keyword:`break`, :keyword:`continue` y :keyword:`return`." -#: ../Doc/whatsnew/3.8.rst:2140 +#: ../Doc/whatsnew/3.8.rst:2147 msgid "" "Removed opcodes :opcode:`BREAK_LOOP`, :opcode:`CONTINUE_LOOP`, :opcode:" "`SETUP_LOOP` and :opcode:`SETUP_EXCEPT`. Added new opcodes :opcode:" @@ -3877,7 +3893,7 @@ msgstr "" "los códigos de operación :opcode:`END_FINALLY` y :opcode:" "`WITH_CLEANUP_START`." -#: ../Doc/whatsnew/3.8.rst:2146 +#: ../Doc/whatsnew/3.8.rst:2153 msgid "" "(Contributed by Mark Shannon, Antoine Pitrou and Serhiy Storchaka in :issue:" "`17611`.)" @@ -3885,7 +3901,7 @@ msgstr "" "(Contribución de Mark Shannon, Antoine Pitrou y Serhiy Storchaka en :issue:" "`17611`.)" -#: ../Doc/whatsnew/3.8.rst:2149 +#: ../Doc/whatsnew/3.8.rst:2156 msgid "" "Added new opcode :opcode:`END_ASYNC_FOR` for handling exceptions raised when " "awaiting a next item in an :keyword:`async for` loop. (Contributed by Serhiy " @@ -3895,7 +3911,7 @@ msgstr "" "excepciones lanzadas mientras se espera al siguiente elemento en un ciclo :" "keyword:`async for`. (Contribución de Serhiy Storchaka en :issue:`33041`.)" -#: ../Doc/whatsnew/3.8.rst:2153 +#: ../Doc/whatsnew/3.8.rst:2160 msgid "" "The :opcode:`MAP_ADD` now expects the value as the first element in the " "stack and the key as the second element. This change was made so the key is " @@ -3908,11 +3924,11 @@ msgstr "" "por compresión, como se propone en :pep:`572`. (Contribución de Jörn " "Heissler en :issue:`35224`.)" -#: ../Doc/whatsnew/3.8.rst:2160 +#: ../Doc/whatsnew/3.8.rst:2167 msgid "Demos and Tools" msgstr "Demos y herramientas" -#: ../Doc/whatsnew/3.8.rst:2162 +#: ../Doc/whatsnew/3.8.rst:2169 msgid "" "Added a benchmark script for timing various ways to access variables: " "``Tools/scripts/var_access_benchmark.py``. (Contributed by Raymond Hettinger " @@ -3922,13 +3938,13 @@ msgstr "" "formas de acceder a variables: ``Tools/scripts/var_access_benchmark.py``. " "(Contribución de Raymond Hettinger en :issue:`35884`.)" -#: ../Doc/whatsnew/3.8.rst:2166 +#: ../Doc/whatsnew/3.8.rst:2173 msgid "Here's a summary of performance improvements since Python 3.3:" msgstr "" "A continuación, se muestra un resumen de las mejoras de rendimiento desde " "Python 3.3:" -#: ../Doc/whatsnew/3.8.rst:2213 +#: ../Doc/whatsnew/3.8.rst:2220 msgid "" "The benchmarks were measured on an `Intel® Core™ i7-4960HQ processor " "`_. El script de evaluación de rendimiento " "muestra los tiempos en nanosegundos." -#: ../Doc/whatsnew/3.8.rst:2222 +#: ../Doc/whatsnew/3.8.rst:2229 msgid "Notable changes in Python 3.8.1" msgstr "Cambios notables en Python 3.8.1" -#: ../Doc/whatsnew/3.8.rst:2224 +#: ../Doc/whatsnew/3.8.rst:2231 msgid "" "Due to significant security concerns, the *reuse_address* parameter of :meth:" "`asyncio.loop.create_datagram_endpoint` is no longer supported. This is " @@ -3963,33 +3979,56 @@ msgstr "" "``loop.create_datagram_endpoint()``. (Contribución de Kyle Stanley, Antoine " "Pitrou y Yury Selivanov en :issue:`37228`.)" -#: ../Doc/whatsnew/3.8.rst:2232 -msgid "Notable changes in Python 3.8.2" -msgstr "Cambios notables en Python 3.8.2" - -#: ../Doc/whatsnew/3.8.rst:2234 -msgid "" -"Fixed a regression with the ``ignore`` callback of :func:`shutil.copytree`. " -"The argument types are now str and List[str] again. (Contributed by Manuel " -"Barkhau and Giampaolo Rodola in :issue:`39390`.)" -msgstr "" -"Se ha corregido una regresión con la retrollamada ``ignore`` de :func:" -"`shutil.copytree`. Los tipos de los argumentos ahora son str y List[str] " -"nuevamente. (Contribución de Manuel Barkhau y Giampaolo Rodola en :issue:" -"`39390`.)" - #: ../Doc/whatsnew/3.8.rst:2239 -msgid "Notable changes in Python 3.8.3" +#, fuzzy +msgid "Notable changes in Python 3.8.8" msgstr "Cambios notables en Python 3.8.3" #: ../Doc/whatsnew/3.8.rst:2241 msgid "" -"The constant values of future flags in the :mod:`__future__` module are " -"updated in order to prevent collision with compiler flags. Previously " -"``PyCF_ALLOW_TOP_LEVEL_AWAIT`` was clashing with ``CO_FUTURE_DIVISION``. " -"(Contributed by Batuhan Taskaya in :issue:`39562`)" -msgstr "" -"Se han actualizado los valores constantes de los flags futuros del módulo :" -"mod:`__future__` para evitar colisiones con los flags del compilador. " -"Anteriormente, ``PyCF_ALLOW_TOP_LEVEL_AWAIT`` estaba en conflicto con " -"``CO_FUTURE_DIVISION``. (Contribución de Batuhan Taskaya en :issue:`39562`.)" +"Earlier Python versions allowed using both ``;`` and ``&`` as query " +"parameter separators in :func:`urllib.parse.parse_qs` and :func:`urllib." +"parse.parse_qsl`. Due to security concerns, and to conform with newer W3C " +"recommendations, this has been changed to allow only a single separator key, " +"with ``&`` as the default. This change also affects :func:`cgi.parse` and :" +"func:`cgi.parse_multipart` as they use the affected functions internally. " +"For more details, please see their respective documentation. (Contributed by " +"Adam Goldschmidt, Senthil Kumaran and Ken Jin in :issue:`42967`.)" +msgstr "" + +#~ msgid "Python 3.8 was released on October 14th, 2019." +#~ msgstr "Python 3.8 fue lanzado el 14 de octubre de 2019." + +#~ msgid "" +#~ "The :c:func:`PyCode_New` has a new parameter in the second position " +#~ "(*posonlyargcount*) to support :pep:`570`, indicating the number of " +#~ "positional-only arguments." +#~ msgstr "" +#~ ":c:func:`PyCode_New` tiene un nuevo parámetro en la segunda posición " +#~ "(*posonlyargcount*) para dar soporte a :pep:`570`, que indica el número " +#~ "de argumentos solo posicionales." + +#~ msgid "Notable changes in Python 3.8.2" +#~ msgstr "Cambios notables en Python 3.8.2" + +#~ msgid "" +#~ "Fixed a regression with the ``ignore`` callback of :func:`shutil." +#~ "copytree`. The argument types are now str and List[str] again. " +#~ "(Contributed by Manuel Barkhau and Giampaolo Rodola in :issue:`39390`.)" +#~ msgstr "" +#~ "Se ha corregido una regresión con la retrollamada ``ignore`` de :func:" +#~ "`shutil.copytree`. Los tipos de los argumentos ahora son str y List[str] " +#~ "nuevamente. (Contribución de Manuel Barkhau y Giampaolo Rodola en :issue:" +#~ "`39390`.)" + +#~ msgid "" +#~ "The constant values of future flags in the :mod:`__future__` module are " +#~ "updated in order to prevent collision with compiler flags. Previously " +#~ "``PyCF_ALLOW_TOP_LEVEL_AWAIT`` was clashing with ``CO_FUTURE_DIVISION``. " +#~ "(Contributed by Batuhan Taskaya in :issue:`39562`)" +#~ msgstr "" +#~ "Se han actualizado los valores constantes de los flags futuros del " +#~ "módulo :mod:`__future__` para evitar colisiones con los flags del " +#~ "compilador. Anteriormente, ``PyCF_ALLOW_TOP_LEVEL_AWAIT`` estaba en " +#~ "conflicto con ``CO_FUTURE_DIVISION``. (Contribución de Batuhan Taskaya " +#~ "en :issue:`39562`.)" diff --git a/whatsnew/3.9.po b/whatsnew/3.9.po new file mode 100644 index 0000000000..381bf9072b --- /dev/null +++ b/whatsnew/3.9.po @@ -0,0 +1,2277 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2021, Python Software Foundation +# This file is distributed under the same license as the Python en Español +# package. +# FIRST AUTHOR , 2021. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python en Español 3.9\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.8.0\n" + +#: ../Doc/whatsnew/3.9.rst:3 +msgid "What's New In Python 3.9" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst +msgid "Release" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:5 +msgid "|release|" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst +msgid "Date" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:6 +msgid "|today|" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst +msgid "Editor" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:7 +msgid "Łukasz Langa" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:47 +msgid "" +"This article explains the new features in Python 3.9, compared to 3.8. " +"Python 3.9 was released on October 5th, 2020." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:50 +msgid "For full details, see the :ref:`changelog `." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:54 +msgid ":pep:`596` - Python 3.9 Release Schedule" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:58 +msgid "Summary -- Release highlights" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:63 +msgid "New syntax features:" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:65 +msgid ":pep:`584`, union operators added to ``dict``;" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:66 +msgid ":pep:`585`, type hinting generics in standard collections;" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:67 +msgid ":pep:`614`, relaxed grammar restrictions on decorators." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:69 +msgid "New built-in features:" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:71 +msgid ":pep:`616`, string methods to remove prefixes and suffixes." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:73 +msgid "New features in the standard library:" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:75 +msgid ":pep:`593`, flexible function and variable annotations;" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:76 +msgid "" +":func:`os.pidfd_open` added that allows process management without races and " +"signals." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:79 +msgid "Interpreter improvements:" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:81 +msgid "" +":pep:`573`, fast access to module state from methods of C extension types;" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:83 +msgid ":pep:`617`, CPython now uses a new parser based on PEG;" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:84 +msgid "" +"a number of Python builtins (range, tuple, set, frozenset, list, dict) are " +"now sped up using :pep:`590` vectorcall;" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:86 +msgid "garbage collection does not block on resurrected objects;" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:87 +msgid "" +"a number of Python modules (:mod:`_abc`, :mod:`audioop`, :mod:`_bz2`, :mod:" +"`_codecs`, :mod:`_contextvars`, :mod:`_crypt`, :mod:`_functools`, :mod:" +"`_json`, :mod:`_locale`, :mod:`math`, :mod:`operator`, :mod:`resource`, :mod:" +"`time`, :mod:`_weakref`) now use multiphase initialization as defined by PEP " +"489;" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:92 +msgid "" +"a number of standard library modules (:mod:`audioop`, :mod:`ast`, :mod:" +"`grp`, :mod:`_hashlib`, :mod:`pwd`, :mod:`_posixsubprocess`, :mod:`random`, :" +"mod:`select`, :mod:`struct`, :mod:`termios`, :mod:`zlib`) are now using the " +"stable ABI defined by PEP 384." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:97 +msgid "New library modules:" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:99 +msgid "" +":pep:`615`, the IANA Time Zone Database is now present in the standard " +"library in the :mod:`zoneinfo` module;" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:101 +msgid "" +"an implementation of a topological sort of a graph is now provided in the " +"new :mod:`graphlib` module." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:104 +msgid "Release process changes:" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:106 +msgid ":pep:`602`, CPython adopts an annual release cycle." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:110 +msgid "You should check for DeprecationWarning in your code" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:112 +msgid "" +"When Python 2.7 was still supported, a lot of functionality in Python 3 was " +"kept for backward compatibility with Python 2.7. With the end of Python 2 " +"support, these backward compatibility layers have been removed, or will be " +"removed soon. Most of them emitted a :exc:`DeprecationWarning` warning for " +"several years. For example, using ``collections.Mapping`` instead of " +"``collections.abc.Mapping`` emits a :exc:`DeprecationWarning` since Python " +"3.3, released in 2012." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:120 +msgid "" +"Test your application with the :option:`-W` ``default`` command-line option " +"to see :exc:`DeprecationWarning` and :exc:`PendingDeprecationWarning`, or " +"even with :option:`-W` ``error`` to treat them as errors. :ref:`Warnings " +"Filter ` can be used to ignore warnings from third-party " +"code." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:125 +msgid "" +"Python 3.9 is the last version providing those Python 2 backward " +"compatibility layers, to give more time to Python projects maintainers to " +"organize the removal of the Python 2 support and add support for Python 3.9." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:129 +msgid "" +"Aliases to :ref:`Abstract Base Classes ` " +"in the :mod:`collections` module, like ``collections.Mapping`` alias to :" +"class:`collections.abc.Mapping`, are kept for one last release for backward " +"compatibility. They will be removed from Python 3.10." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:134 +msgid "" +"More generally, try to run your tests in the :ref:`Python Development Mode " +"` which helps to prepare your code to make it compatible with the " +"next Python version." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:138 +msgid "" +"Note: a number of pre-existing deprecations were removed in this version of " +"Python as well. Consult the :ref:`removed-in-python-39` section." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:143 ../Doc/whatsnew/3.9.rst:1236 +msgid "New Features" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:146 +msgid "Dictionary Merge & Update Operators" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:148 +msgid "" +"Merge (``|``) and update (``|=``) operators have been added to the built-in :" +"class:`dict` class. Those complement the existing ``dict.update`` and " +"``{**d1, **d2}`` methods of merging dictionaries." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:152 ../Doc/whatsnew/3.9.rst:281 +msgid "Example::" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:161 +msgid "" +"See :pep:`584` for a full description. (Contributed by Brandt Bucher in :" +"issue:`36144`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:165 +msgid "New String Methods to Remove Prefixes and Suffixes" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:167 +msgid "" +":meth:`str.removeprefix(prefix)` and :meth:`str." +"removesuffix(suffix)` have been added to easily remove an " +"unneeded prefix or a suffix from a string. Corresponding ``bytes``, " +"``bytearray``, and ``collections.UserString`` methods have also been added. " +"See :pep:`616` for a full description. (Contributed by Dennis Sweeney in :" +"issue:`39939`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:175 +msgid "Type Hinting Generics in Standard Collections" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:177 +msgid "" +"In type annotations you can now use built-in collection types such as " +"``list`` and ``dict`` as generic types instead of importing the " +"corresponding capitalized types (e.g. ``List`` or ``Dict``) from " +"``typing``. Some other types in the standard library are also now generic, " +"for example ``queue.Queue``." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:183 ../Doc/whatsnew/3.9.rst:1125 +msgid "Example:" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:191 +msgid "" +"See :pep:`585` for more details. (Contributed by Guido van Rossum, Ethan " +"Smith, and Batuhan Taşkaya in :issue:`39481`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:195 +msgid "New Parser" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:197 +msgid "" +"Python 3.9 uses a new parser, based on `PEG `_ instead of `LL(1) `_. The new parser's performance is roughly comparable to " +"that of the old parser, but the PEG formalism is more flexible than LL(1) " +"when it comes to designing new language features. We'll start using this " +"flexibility in Python 3.10 and later." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:205 +msgid "" +"The :mod:`ast` module uses the new parser and produces the same AST as the " +"old parser." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:208 +msgid "" +"In Python 3.10, the old parser will be deleted and so will all functionality " +"that depends on it (primarily the :mod:`parser` module, which has long been " +"deprecated). In Python 3.9 *only*, you can switch back to the LL(1) parser " +"using a command line switch (``-X oldparser``) or an environment variable " +"(``PYTHONOLDPARSER=1``)." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:214 +msgid "" +"See :pep:`617` for more details. (Contributed by Guido van Rossum, Pablo " +"Galindo and Lysandros Nikolaou in :issue:`40334`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:219 +msgid "Other Language Changes" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:221 +msgid "" +":func:`__import__` now raises :exc:`ImportError` instead of :exc:" +"`ValueError`, which used to occur when a relative import went past its top-" +"level package. (Contributed by Ngalim Siregar in :issue:`37444`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:226 +msgid "" +"Python now gets the absolute path of the script filename specified on the " +"command line (ex: ``python3 script.py``): the ``__file__`` attribute of the :" +"mod:`__main__` module became an absolute path, rather than a relative path. " +"These paths now remain valid after the current directory is changed by :func:" +"`os.chdir`. As a side effect, the traceback also displays the absolute path " +"for :mod:`__main__` module frames in this case. (Contributed by Victor " +"Stinner in :issue:`20443`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:234 +msgid "" +"In the :ref:`Python Development Mode ` and in debug build, the " +"*encoding* and *errors* arguments are now checked for string encoding and " +"decoding operations. Examples: :func:`open`, :meth:`str.encode` and :meth:" +"`bytes.decode`." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:239 +msgid "" +"By default, for best performance, the *errors* argument is only checked at " +"the first encoding/decoding error and the *encoding* argument is sometimes " +"ignored for empty strings. (Contributed by Victor Stinner in :issue:`37388`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:244 +msgid "" +"``\"\".replace(\"\", s, n)`` now returns ``s`` instead of an empty string " +"for all non-zero ``n``. It is now consistent with ``\"\".replace(\"\", " +"s)``. There are similar changes for :class:`bytes` and :class:`bytearray` " +"objects. (Contributed by Serhiy Storchaka in :issue:`28029`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:249 +msgid "" +"Any valid expression can now be used as a :term:`decorator`. Previously, " +"the grammar was much more restrictive. See :pep:`614` for details. " +"(Contributed by Brandt Bucher in :issue:`39702`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:253 +msgid "" +"Improved help for the :mod:`typing` module. Docstrings are now shown for all " +"special forms and special generic aliases (like ``Union`` and ``List``). " +"Using :func:`help` with generic alias like ``List[int]`` will show the help " +"for the correspondent concrete type (``list`` in this case). (Contributed by " +"Serhiy Storchaka in :issue:`40257`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:259 +msgid "" +"Parallel running of :meth:`~agen.aclose` / :meth:`~agen.asend` / :meth:" +"`~agen.athrow` is now prohibited, and ``ag_running`` now reflects the actual " +"running status of the async generator. (Contributed by Yury Selivanov in :" +"issue:`30773`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:264 +msgid "" +"Unexpected errors in calling the ``__iter__`` method are no longer masked by " +"``TypeError`` in the :keyword:`in` operator and functions :func:`~operator." +"contains`, :func:`~operator.indexOf` and :func:`~operator.countOf` of the :" +"mod:`operator` module. (Contributed by Serhiy Storchaka in :issue:`40824`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:272 +msgid "New Modules" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:275 +msgid "zoneinfo" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:277 +msgid "" +"The :mod:`zoneinfo` module brings support for the IANA time zone database to " +"the standard library. It adds :class:`zoneinfo.ZoneInfo`, a concrete :class:" +"`datetime.tzinfo` implementation backed by the system's time zone data." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:301 +msgid "" +"As a fall-back source of data for platforms that don't ship the IANA " +"database, the |tzdata|_ module was released as a first-party package -- " +"distributed via PyPI and maintained by the CPython core team." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:310 +msgid "" +":pep:`615` -- Support for the IANA Time Zone Database in the Standard Library" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:311 +msgid "PEP written and implemented by Paul Ganssle" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:315 +msgid "graphlib" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:317 +msgid "" +"A new module, :mod:`graphlib`, was added that contains the :class:`graphlib." +"TopologicalSorter` class to offer functionality to perform topological " +"sorting of graphs. (Contributed by Pablo Galindo, Tim Peters and Larry " +"Hastings in :issue:`17005`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:324 +msgid "Improved Modules" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:327 +msgid "ast" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:329 +msgid "" +"Added the *indent* option to :func:`~ast.dump` which allows it to produce a " +"multiline indented output. (Contributed by Serhiy Storchaka in :issue:" +"`37995`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:333 +msgid "" +"Added :func:`ast.unparse` as a function in the :mod:`ast` module that can be " +"used to unparse an :class:`ast.AST` object and produce a string with code " +"that would produce an equivalent :class:`ast.AST` object when parsed. " +"(Contributed by Pablo Galindo and Batuhan Taskaya in :issue:`38870`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:338 +msgid "" +"Added docstrings to AST nodes that contains the ASDL signature used to " +"construct that node. (Contributed by Batuhan Taskaya in :issue:`39638`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:342 +msgid "asyncio" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:344 +msgid "" +"Due to significant security concerns, the *reuse_address* parameter of :meth:" +"`asyncio.loop.create_datagram_endpoint` is no longer supported. This is " +"because of the behavior of the socket option ``SO_REUSEADDR`` in UDP. For " +"more details, see the documentation for ``loop.create_datagram_endpoint()``. " +"(Contributed by Kyle Stanley, Antoine Pitrou, and Yury Selivanov in :issue:" +"`37228`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:351 +msgid "" +"Added a new :term:`coroutine` :meth:`~asyncio.loop." +"shutdown_default_executor` that schedules a shutdown for the default " +"executor that waits on the :class:`~concurrent.futures.ThreadPoolExecutor` " +"to finish closing. Also, :func:`asyncio.run` has been updated to use the " +"new :term:`coroutine`. (Contributed by Kyle Stanley in :issue:`34037`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:357 +msgid "" +"Added :class:`asyncio.PidfdChildWatcher`, a Linux-specific child watcher " +"implementation that polls process file descriptors. (:issue:`38692`)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:360 +msgid "" +"Added a new :term:`coroutine` :func:`asyncio.to_thread`. It is mainly used " +"for running IO-bound functions in a separate thread to avoid blocking the " +"event loop, and essentially works as a high-level version of :meth:`~asyncio." +"loop.run_in_executor` that can directly take keyword arguments. (Contributed " +"by Kyle Stanley and Yury Selivanov in :issue:`32309`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:366 +msgid "" +"When cancelling the task due to a timeout, :meth:`asyncio.wait_for` will now " +"wait until the cancellation is complete also in the case when *timeout* is " +"<= 0, like it does with positive timeouts. (Contributed by Elvis " +"Pranskevichus in :issue:`32751`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:371 +msgid "" +":mod:`asyncio` now raises :exc:`TyperError` when calling incompatible " +"methods with an :class:`ssl.SSLSocket` socket. (Contributed by Ido Michael " +"in :issue:`37404`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:376 +msgid "compileall" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:378 +msgid "" +"Added new possibility to use hardlinks for duplicated ``.pyc`` files: " +"*hardlink_dupes* parameter and --hardlink-dupes command line option. " +"(Contributed by Lumír 'Frenzy' Balhar in :issue:`40495`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:381 +msgid "" +"Added new options for path manipulation in resulting ``.pyc`` files: " +"*stripdir*, *prependdir*, *limit_sl_dest* parameters and -s, -p, -e command " +"line options. Added the possibility to specify the option for an " +"optimization level multiple times. (Contributed by Lumír 'Frenzy' Balhar in :" +"issue:`38112`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:386 +msgid "concurrent.futures" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:388 +msgid "" +"Added a new *cancel_futures* parameter to :meth:`concurrent.futures.Executor." +"shutdown` that cancels all pending futures which have not started running, " +"instead of waiting for them to complete before shutting down the executor. " +"(Contributed by Kyle Stanley in :issue:`39349`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:394 +msgid "" +"Removed daemon threads from :class:`~concurrent.futures.ThreadPoolExecutor` " +"and :class:`~concurrent.futures.ProcessPoolExecutor`. This improves " +"compatibility with subinterpreters and predictability in their shutdown " +"processes. (Contributed by Kyle Stanley in :issue:`39812`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:399 +msgid "" +"Workers in :class:`~concurrent.futures.ProcessPoolExecutor` are now spawned " +"on demand, only when there are no available idle workers to reuse. This " +"optimizes startup overhead and reduces the amount of lost CPU time to idle " +"workers. (Contributed by Kyle Stanley in :issue:`39207`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:405 +msgid "curses" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:407 +msgid "" +"Added :func:`curses.get_escdelay`, :func:`curses.set_escdelay`, :func:" +"`curses.get_tabsize`, and :func:`curses.set_tabsize` functions. (Contributed " +"by Anthony Sottile in :issue:`38312`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:412 +msgid "datetime" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:413 +msgid "" +"The :meth:`~datetime.date.isocalendar()` of :class:`datetime.date` and :meth:" +"`~datetime.datetime.isocalendar()` of :class:`datetime.datetime` methods now " +"returns a :func:`~collections.namedtuple` instead of a :class:`tuple`. " +"(Contributed by Dong-hee Na in :issue:`24416`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:419 +msgid "distutils" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:421 +msgid "" +"The :command:`upload` command now creates SHA2-256 and Blake2b-256 hash " +"digests. It skips MD5 on platforms that block MD5 digest. (Contributed by " +"Christian Heimes in :issue:`40698`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:426 +msgid "fcntl" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:428 +msgid "" +"Added constants :data:`~fcntl.F_OFD_GETLK`, :data:`~fcntl.F_OFD_SETLK` and :" +"data:`~fcntl.F_OFD_SETLKW`. (Contributed by Dong-hee Na in :issue:`38602`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:433 +msgid "ftplib" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:435 +msgid "" +":class:`~ftplib.FTP` and :class:`~ftplib.FTP_TLS` now raise a :class:" +"`ValueError` if the given timeout for their constructor is zero to prevent " +"the creation of a non-blocking socket. (Contributed by Dong-hee Na in :issue:" +"`39259`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:440 +msgid "gc" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:442 +msgid "" +"When the garbage collector makes a collection in which some objects " +"resurrect (they are reachable from outside the isolated cycles after the " +"finalizers have been executed), do not block the collection of all objects " +"that are still unreachable. (Contributed by Pablo Galindo and Tim Peters in :" +"issue:`38379`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:447 +msgid "" +"Added a new function :func:`gc.is_finalized` to check if an object has been " +"finalized by the garbage collector. (Contributed by Pablo Galindo in :issue:" +"`39322`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:452 +msgid "hashlib" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:454 +msgid "" +"The :mod:`hashlib` module can now use SHA3 hashes and SHAKE XOF from OpenSSL " +"when available. (Contributed by Christian Heimes in :issue:`37630`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:458 +msgid "" +"Builtin hash modules can now be disabled with ``./configure --without-" +"builtin-hashlib-hashes`` or selectively enabled with e.g. ``./configure --" +"with-builtin-hashlib-hashes=sha3,blake2`` to force use of OpenSSL based " +"implementation. (Contributed by Christian Heimes in :issue:`40479`)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:466 +msgid "http" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:468 +msgid "" +"HTTP status codes ``103 EARLY_HINTS``, ``418 IM_A_TEAPOT`` and ``425 " +"TOO_EARLY`` are added to :class:`http.HTTPStatus`. (Contributed by Dong-hee " +"Na in :issue:`39509` and Ross Rhodes in :issue:`39507`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:472 +msgid "IDLE and idlelib" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:474 +msgid "" +"Added option to toggle cursor blink off. (Contributed by Zackery Spytz in :" +"issue:`4603`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:477 +msgid "" +"Escape key now closes IDLE completion windows. (Contributed by Johnny " +"Najera in :issue:`38944`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:480 +msgid "" +"Added keywords to module name completion list. (Contributed by Terry J. " +"Reedy in :issue:`37765`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:483 +msgid "The changes above have been backported to 3.8 maintenance releases." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:486 +msgid "imaplib" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:488 +msgid "" +":class:`~imaplib.IMAP4` and :class:`~imaplib.IMAP4_SSL` now have an optional " +"*timeout* parameter for their constructors. Also, the :meth:`~imaplib.IMAP4." +"open` method now has an optional *timeout* parameter with this change. The " +"overridden methods of :class:`~imaplib.IMAP4_SSL` and :class:`~imaplib." +"IMAP4_stream` were applied to this change. (Contributed by Dong-hee Na in :" +"issue:`38615`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:495 +msgid "" +":meth:`imaplib.IMAP4.unselect` is added. :meth:`imaplib.IMAP4.unselect` " +"frees server's resources associated with the selected mailbox and returns " +"the server to the authenticated state. This command performs the same " +"actions as :meth:`imaplib.IMAP4.close`, except that no messages are " +"permanently removed from the currently selected mailbox. (Contributed by " +"Dong-hee Na in :issue:`40375`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:503 +msgid "importlib" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:505 +msgid "" +"To improve consistency with import statements, :func:`importlib.util." +"resolve_name` now raises :exc:`ImportError` instead of :exc:`ValueError` for " +"invalid relative import attempts. (Contributed by Ngalim Siregar in :issue:" +"`37444`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:510 +msgid "" +"Import loaders which publish immutable module objects can now publish " +"immutable packages in addition to individual modules. (Contributed by Dino " +"Viehland in :issue:`39336`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:514 +msgid "" +"Added :func:`importlib.resources.files` function with support for " +"subdirectories in package data, matching backport in ``importlib_resources`` " +"version 1.5. (Contributed by Jason R. Coombs in :issue:`39791`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:519 +msgid "" +"Refreshed ``importlib.metadata`` from ``importlib_metadata`` version 1.6.1." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:522 +msgid "inspect" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:524 +msgid "" +":attr:`inspect.BoundArguments.arguments` is changed from ``OrderedDict`` to " +"regular dict. (Contributed by Inada Naoki in :issue:`36350` and :issue:" +"`39775`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:528 +msgid "ipaddress" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:530 +msgid "" +":mod:`ipaddress` now supports IPv6 Scoped Addresses (IPv6 address with " +"suffix ``%``)." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:532 +msgid "" +"Scoped IPv6 addresses can be parsed using :class:`ipaddress.IPv6Address`. If " +"present, scope zone ID is available through the :attr:`~ipaddress." +"IPv6Address.scope_id` attribute. (Contributed by Oleksandr Pavliuk in :issue:" +"`34788`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:537 +msgid "math" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:539 +msgid "" +"Expanded the :func:`math.gcd` function to handle multiple arguments. " +"Formerly, it only supported two arguments. (Contributed by Serhiy Storchaka " +"in :issue:`39648`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:543 +msgid "" +"Added :func:`math.lcm`: return the least common multiple of specified " +"arguments. (Contributed by Mark Dickinson, Ananthakrishnan and Serhiy " +"Storchaka in :issue:`39479` and :issue:`39648`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:547 +msgid "" +"Added :func:`math.nextafter`: return the next floating-point value after *x* " +"towards *y*. (Contributed by Victor Stinner in :issue:`39288`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:551 +msgid "" +"Added :func:`math.ulp`: return the value of the least significant bit of a " +"float. (Contributed by Victor Stinner in :issue:`39310`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:556 +msgid "multiprocessing" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:558 +msgid "" +"The :class:`multiprocessing.SimpleQueue` class has a new :meth:" +"`~multiprocessing.SimpleQueue.close` method to explicitly close the queue. " +"(Contributed by Victor Stinner in :issue:`30966`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:564 +msgid "nntplib" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:566 +msgid "" +":class:`~nntplib.NNTP` and :class:`~nntplib.NNTP_SSL` now raise a :class:" +"`ValueError` if the given timeout for their constructor is zero to prevent " +"the creation of a non-blocking socket. (Contributed by Dong-hee Na in :issue:" +"`39259`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:571 +msgid "os" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:573 +msgid "" +"Added :data:`~os.CLD_KILLED` and :data:`~os.CLD_STOPPED` for :attr:" +"`si_code`. (Contributed by Dong-hee Na in :issue:`38493`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:576 +msgid "" +"Exposed the Linux-specific :func:`os.pidfd_open` (:issue:`38692`) and :data:" +"`os.P_PIDFD` (:issue:`38713`) for process management with file descriptors." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:580 +msgid "" +"The :func:`os.unsetenv` function is now also available on Windows. " +"(Contributed by Victor Stinner in :issue:`39413`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:583 +msgid "" +"The :func:`os.putenv` and :func:`os.unsetenv` functions are now always " +"available. (Contributed by Victor Stinner in :issue:`39395`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:587 +msgid "" +"Added :func:`os.waitstatus_to_exitcode` function: convert a wait status to " +"an exit code. (Contributed by Victor Stinner in :issue:`40094`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:592 +msgid "pathlib" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:594 +msgid "" +"Added :meth:`pathlib.Path.readlink()` which acts similarly to :func:`os." +"readlink`. (Contributed by Girts Folkmanis in :issue:`30618`)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:599 +msgid "pdb" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:601 +msgid "" +"On Windows now :class:`~pdb.Pdb` supports ``~/.pdbrc``. (Contributed by Tim " +"Hopper and Dan Lidral-Porter in :issue:`20523`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:605 +msgid "poplib" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:607 +msgid "" +":class:`~poplib.POP3` and :class:`~poplib.POP3_SSL` now raise a :class:" +"`ValueError` if the given timeout for their constructor is zero to prevent " +"the creation of a non-blocking socket. (Contributed by Dong-hee Na in :issue:" +"`39259`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:612 +msgid "pprint" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:614 +msgid "" +":mod:`pprint` can now pretty-print :class:`types.SimpleNamespace`. " +"(Contributed by Carl Bordum Hansen in :issue:`37376`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:618 +msgid "pydoc" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:620 +msgid "" +"The documentation string is now shown not only for class, function, method " +"etc, but for any object that has its own ``__doc__`` attribute. (Contributed " +"by Serhiy Storchaka in :issue:`40257`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:625 +msgid "random" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:627 +msgid "" +"Added a new :attr:`random.Random.randbytes` method: generate random bytes. " +"(Contributed by Victor Stinner in :issue:`40286`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:631 +msgid "signal" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:633 +msgid "" +"Exposed the Linux-specific :func:`signal.pidfd_send_signal` for sending to " +"signals to a process using a file descriptor instead of a pid. (:issue:" +"`38712`)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:637 +msgid "smtplib" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:639 +msgid "" +":class:`~smtplib.SMTP` and :class:`~smtplib.SMTP_SSL` now raise a :class:" +"`ValueError` if the given timeout for their constructor is zero to prevent " +"the creation of a non-blocking socket. (Contributed by Dong-hee Na in :issue:" +"`39259`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:643 +msgid "" +":class:`~smtplib.LMTP` constructor now has an optional *timeout* parameter. " +"(Contributed by Dong-hee Na in :issue:`39329`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:647 +msgid "socket" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:649 +msgid "" +"The :mod:`socket` module now exports the :data:`~socket." +"CAN_RAW_JOIN_FILTERS` constant on Linux 4.1 and greater. (Contributed by " +"Stefan Tatschner and Zackery Spytz in :issue:`25780`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:653 +msgid "" +"The socket module now supports the :data:`~socket.CAN_J1939` protocol on " +"platforms that support it. (Contributed by Karl Ding in :issue:`40291`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:656 +msgid "" +"The socket module now has the :func:`socket.send_fds` and :func:`socket.recv." +"fds` methods. (Contributed by Joannah Nanjekye, Shinya Okano and Victor " +"Stinner in :issue:`28724`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:662 +msgid "time" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:664 +msgid "" +"On AIX, :func:`~time.thread_time` is now implemented with " +"``thread_cputime()`` which has nanosecond resolution, rather than " +"``clock_gettime(CLOCK_THREAD_CPUTIME_ID)`` which has a resolution of 10 ms. " +"(Contributed by Batuhan Taskaya in :issue:`40192`)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:670 +msgid "sys" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:672 +msgid "" +"Added a new :attr:`sys.platlibdir` attribute: name of the platform-specific " +"library directory. It is used to build the path of standard library and the " +"paths of installed extension modules. It is equal to ``\"lib\"`` on most " +"platforms. On Fedora and SuSE, it is equal to ``\"lib64\"`` on 64-bit " +"platforms. (Contributed by Jan Matějek, Matěj Cepl, Charalampos Stratakis " +"and Victor Stinner in :issue:`1294959`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:678 +msgid "" +"Previously, :attr:`sys.stderr` was block-buffered when non-interactive. Now " +"``stderr`` defaults to always being line-buffered. (Contributed by Jendrik " +"Seipp in :issue:`13601`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:683 +msgid "tracemalloc" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:685 +msgid "" +"Added :func:`tracemalloc.reset_peak` to set the peak size of traced memory " +"blocks to the current size, to measure the peak of specific pieces of code. " +"(Contributed by Huon Wilson in :issue:`40630`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:690 ../Doc/whatsnew/3.9.rst:1462 +msgid "typing" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:692 +msgid "" +":pep:`593` introduced an :data:`typing.Annotated` type to decorate existing " +"types with context-specific metadata and new ``include_extras`` parameter " +"to :func:`typing.get_type_hints` to access the metadata at runtime. " +"(Contributed by Till Varoquaux and Konstantin Kashin.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:698 +msgid "unicodedata" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:700 +msgid "" +"The Unicode database has been updated to version 13.0.0. (:issue:`39926`)." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:703 +msgid "venv" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:705 +msgid "" +"The activation scripts provided by :mod:`venv` now all specify their prompt " +"customization consistently by always using the value specified by " +"``__VENV_PROMPT__``. Previously some scripts unconditionally used " +"``__VENV_PROMPT__``, others only if it happened to be set (which was the " +"default case), and one used ``__VENV_NAME__`` instead. (Contributed by Brett " +"Cannon in :issue:`37663`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:713 +msgid "xml" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:715 +msgid "" +"White space characters within attributes are now preserved when serializing :" +"mod:`xml.etree.ElementTree` to XML file. EOLNs are no longer normalized to " +"\"\\n\". This is the result of discussion about how to interpret section " +"2.11 of XML spec. (Contributed by Mefistotelis in :issue:`39011`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:723 +msgid "Optimizations" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:725 +msgid "" +"Optimized the idiom for assignment a temporary variable in comprehensions. " +"Now ``for y in [expr]`` in comprehensions is as fast as a simple assignment " +"``y = expr``. For example:" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:729 +msgid "sums = [s for s in [0] for x in data for s in [s + x]]" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:731 +msgid "" +"Unlike the ``:=`` operator this idiom does not leak a variable to the outer " +"scope." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:734 +msgid "(Contributed by Serhiy Storchaka in :issue:`32856`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:736 +msgid "" +"Optimized signal handling in multithreaded applications. If a thread " +"different than the main thread gets a signal, the bytecode evaluation loop " +"is no longer interrupted at each bytecode instruction to check for pending " +"signals which cannot be handled. Only the main thread of the main " +"interpreter can handle signals." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:742 +msgid "" +"Previously, the bytecode evaluation loop was interrupted at each instruction " +"until the main thread handles signals. (Contributed by Victor Stinner in :" +"issue:`40010`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:746 +msgid "" +"Optimized the :mod:`subprocess` module on FreeBSD using ``closefrom()``. " +"(Contributed by Ed Maste, Conrad Meyer, Kyle Evans, Kubilay Kocak and Victor " +"Stinner in :issue:`38061`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:750 +msgid "" +":c:func:`PyLong_FromDouble` is now up to 1.87x faster for values that fit " +"into :c:type:`long`. (Contributed by Sergey Fedoseev in :issue:`37986`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:754 +msgid "" +"A number of Python builtins (:class:`range`, :class:`tuple`, :class:`set`, :" +"class:`frozenset`, :class:`list`, :class:`dict`) are now sped up by using :" +"pep:`590` vectorcall protocol. (Contributed by Dong-hee Na, Mark Shannon, " +"Jeroen Demeyer and Petr Viktorin in :issue:`37207`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:759 +msgid "" +"Optimized :func:`~set.difference_update` for the case when the other set is " +"much larger than the base set. (Suggested by Evgeny Kapun with code " +"contributed by Michele Orrù in :issue:`8425`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:763 +msgid "" +"Python's small object allocator (``obmalloc.c``) now allows (no more than) " +"one empty arena to remain available for immediate reuse, without returning " +"it to the OS. This prevents thrashing in simple loops where an arena could " +"be created and destroyed anew on each iteration. (Contributed by Tim Peters " +"in :issue:`37257`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:769 +msgid "" +":term:`floor division` of float operation now has a better performance. Also " +"the message of :exc:`ZeroDivisionError` for this operation is updated. " +"(Contributed by Dong-hee Na in :issue:`39434`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:773 +#, python-format +msgid "" +"Decoding short ASCII strings with UTF-8 and ascii codecs is now about " +"15% faster. (Contributed by Inada Naoki in :issue:`37348`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:776 +msgid "" +"Here's a summary of performance improvements from Python 3.4 through Python " +"3.9:" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:823 +msgid "" +"These results were generated from the variable access benchmark script at: " +"``Tools/scripts/var_access_benchmark.py``. The benchmark script displays " +"timings in nanoseconds. The benchmarks were measured on an `Intel® Core™ " +"i7-4960HQ processor `_ running the macOS 64-bit builds found at `python.org `_." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:833 +msgid "Deprecated" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:835 +msgid "" +"The distutils ``bdist_msi`` command is now deprecated, use ``bdist_wheel`` " +"(wheel packages) instead. (Contributed by Hugo van Kemenade in :issue:" +"`39586`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:839 +msgid "" +"Currently :func:`math.factorial` accepts :class:`float` instances with non-" +"negative integer values (like ``5.0``). It raises a :exc:`ValueError` for " +"non-integral and negative floats. It is now deprecated. In future Python " +"versions it will raise a :exc:`TypeError` for all floats. (Contributed by " +"Serhiy Storchaka in :issue:`37315`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:845 +msgid "" +"The :mod:`parser` and :mod:`symbol` modules are deprecated and will be " +"removed in future versions of Python. For the majority of use cases, users " +"can leverage the Abstract Syntax Tree (AST) generation and compilation " +"stage, using the :mod:`ast` module." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:850 +msgid "" +"The Public C API functions :c:func:`PyParser_SimpleParseStringFlags`, :c:" +"func:`PyParser_SimpleParseStringFlagsFilename`, :c:func:" +"`PyParser_SimpleParseFileFlags` and :c:func:`PyNode_Compile` are deprecated " +"and will be removed in Python 3.10 together with the old parser." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:855 +msgid "" +"Using :data:`NotImplemented` in a boolean context has been deprecated, as it " +"is almost exclusively the result of incorrect rich comparator " +"implementations. It will be made a :exc:`TypeError` in a future version of " +"Python. (Contributed by Josh Rosenberg in :issue:`35712`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:861 +msgid "" +"The :mod:`random` module currently accepts any hashable type as a possible " +"seed value. Unfortunately, some of those types are not guaranteed to have a " +"deterministic hash value. After Python 3.9, the module will restrict its " +"seeds to :const:`None`, :class:`int`, :class:`float`, :class:`str`, :class:" +"`bytes`, and :class:`bytearray`." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:867 +msgid "" +"Opening the :class:`~gzip.GzipFile` file for writing without specifying the " +"*mode* argument is deprecated. In future Python versions it will always be " +"opened for reading by default. Specify the *mode* argument for opening it " +"for writing and silencing a warning. (Contributed by Serhiy Storchaka in :" +"issue:`28286`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:873 +msgid "" +"Deprecated the ``split()`` method of :class:`_tkinter.TkappType` in favour " +"of the ``splitlist()`` method which has more consistent and predicable " +"behavior. (Contributed by Serhiy Storchaka in :issue:`38371`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:878 +msgid "" +"The explicit passing of coroutine objects to :func:`asyncio.wait` has been " +"deprecated and will be removed in version 3.11. (Contributed by Yury " +"Selivanov and Kyle Stanley in :issue:`34790`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:882 +msgid "" +"binhex4 and hexbin4 standards are now deprecated. The :mod:`binhex` module " +"and the following :mod:`binascii` functions are now deprecated:" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:885 +msgid ":func:`~binascii.b2a_hqx`, :func:`~binascii.a2b_hqx`" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:886 +msgid ":func:`~binascii.rlecode_hqx`, :func:`~binascii.rledecode_hqx`" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:888 +msgid "(Contributed by Victor Stinner in :issue:`39353`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:890 +msgid "" +":mod:`ast` classes ``slice``, ``Index`` and ``ExtSlice`` are considered " +"deprecated and will be removed in future Python versions. ``value`` itself " +"should be used instead of ``Index(value)``. ``Tuple(slices, Load())`` " +"should be used instead of ``ExtSlice(slices)``. (Contributed by Serhiy " +"Storchaka in :issue:`34822`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:896 +msgid "" +":mod:`ast` classes ``Suite``, ``Param``, ``AugLoad`` and ``AugStore`` are " +"considered deprecated and will be removed in future Python versions. They " +"were not generated by the parser and not accepted by the code generator in " +"Python 3. (Contributed by Batuhan Taskaya in :issue:`39639` and :issue:" +"`39969` and Serhiy Storchaka in :issue:`39988`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:903 +msgid "" +"The :c:func:`PyEval_InitThreads` and :c:func:`PyEval_ThreadsInitialized` " +"functions are now deprecated and will be removed in Python 3.11. Calling :c:" +"func:`PyEval_InitThreads` now does nothing. The :term:`GIL` is initialized " +"by :c:func:`Py_Initialize()` since Python 3.7. (Contributed by Victor " +"Stinner in :issue:`39877`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:909 +msgid "" +"Passing ``None`` as the first argument to the :func:`shlex.split` function " +"has been deprecated. (Contributed by Zackery Spytz in :issue:`33262`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:912 +msgid "" +":func:`smtpd.MailmanProxy` is now deprecated as it is unusable without an " +"external module, ``mailman``. (Contributed by Samuel Colvin in :issue:" +"`35800`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:915 +msgid "" +"The :mod:`lib2to3` module now emits a :exc:`PendingDeprecationWarning`. " +"Python 3.9 switched to a PEG parser (see :pep:`617`), and Python 3.10 may " +"include new language syntax that is not parsable by lib2to3's LL(1) parser. " +"The ``lib2to3`` module may be removed from the standard library in a future " +"Python version. Consider third-party alternatives such as `LibCST`_ or " +"`parso`_. (Contributed by Carl Meyer in :issue:`40360`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:923 +msgid "" +"The *random* parameter of :func:`random.shuffle` has been deprecated. " +"(Contributed by Raymond Hettinger in :issue:`40465`)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:932 ../Doc/whatsnew/3.9.rst:1376 +msgid "Removed" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:934 +msgid "" +"The erroneous version at :data:`unittest.mock.__version__` has been removed." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:936 +msgid "" +":class:`nntplib.NNTP`: ``xpath()`` and ``xgtitle()`` methods have been " +"removed. These methods are deprecated since Python 3.3. Generally, these " +"extensions are not supported or not enabled by NNTP server administrators. " +"For ``xgtitle()``, please use :meth:`nntplib.NNTP.descriptions` or :meth:" +"`nntplib.NNTP.description` instead. (Contributed by Dong-hee Na in :issue:" +"`39366`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:943 +msgid "" +":class:`array.array`: ``tostring()`` and ``fromstring()`` methods have been " +"removed. They were aliases to ``tobytes()`` and ``frombytes()``, deprecated " +"since Python 3.2. (Contributed by Victor Stinner in :issue:`38916`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:948 +msgid "" +"The undocumented ``sys.callstats()`` function has been removed. Since Python " +"3.7, it was deprecated and always returned :const:`None`. It required a " +"special build option ``CALL_PROFILE`` which was already removed in Python " +"3.7. (Contributed by Victor Stinner in :issue:`37414`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:953 +msgid "" +"The ``sys.getcheckinterval()`` and ``sys.setcheckinterval()`` functions have " +"been removed. They were deprecated since Python 3.2. Use :func:`sys." +"getswitchinterval` and :func:`sys.setswitchinterval` instead. (Contributed " +"by Victor Stinner in :issue:`37392`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:958 +msgid "" +"The C function ``PyImport_Cleanup()`` has been removed. It was documented " +"as: \"Empty the module table. For internal use only.\" (Contributed by " +"Victor Stinner in :issue:`36710`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:962 +msgid "" +"``_dummy_thread`` and ``dummy_threading`` modules have been removed. These " +"modules were deprecated since Python 3.7 which requires threading support. " +"(Contributed by Victor Stinner in :issue:`37312`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:966 +msgid "" +"``aifc.openfp()`` alias to ``aifc.open()``, ``sunau.openfp()`` alias to " +"``sunau.open()``, and ``wave.openfp()`` alias to :func:`wave.open()` have " +"been removed. They were deprecated since Python 3.7. (Contributed by Victor " +"Stinner in :issue:`37320`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:971 +msgid "" +"The :meth:`~threading.Thread.isAlive()` method of :class:`threading.Thread` " +"has been removed. It was deprecated since Python 3.8. Use :meth:`~threading." +"Thread.is_alive()` instead. (Contributed by Dong-hee Na in :issue:`37804`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:976 +msgid "" +"Methods ``getchildren()`` and ``getiterator()`` of classes :class:`~xml." +"etree.ElementTree.ElementTree` and :class:`~xml.etree.ElementTree.Element` " +"in the :mod:`~xml.etree.ElementTree` module have been removed. They were " +"deprecated in Python 3.2. Use ``iter(x)`` or ``list(x)`` instead of ``x." +"getchildren()`` and ``x.iter()`` or ``list(x.iter())`` instead of ``x." +"getiterator()``. (Contributed by Serhiy Storchaka in :issue:`36543`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:984 +msgid "" +"The old :mod:`plistlib` API has been removed, it was deprecated since Python " +"3.4. Use the :func:`~plistlib.load`, :func:`~plistlib.loads`, :func:" +"`~plistlib.dump`, and :func:`~plistlib.dumps` functions. Additionally, the " +"*use_builtin_types* parameter was removed, standard :class:`bytes` objects " +"are always used instead. (Contributed by Jon Janzen in :issue:`36409`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:990 +msgid "" +"The C function ``PyGen_NeedsFinalizing`` has been removed. It was not " +"documented, tested, or used anywhere within CPython after the implementation " +"of :pep:`442`. Patch by Joannah Nanjekye. (Contributed by Joannah Nanjekye " +"in :issue:`15088`)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:995 +msgid "" +"``base64.encodestring()`` and ``base64.decodestring()``, aliases deprecated " +"since Python 3.1, have been removed: use :func:`base64.encodebytes` and :" +"func:`base64.decodebytes` instead. (Contributed by Victor Stinner in :issue:" +"`39351`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1000 +msgid "" +"``fractions.gcd()`` function has been removed, it was deprecated since " +"Python 3.5 (:issue:`22486`): use :func:`math.gcd` instead. (Contributed by " +"Victor Stinner in :issue:`39350`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1004 +msgid "" +"The *buffering* parameter of :class:`bz2.BZ2File` has been removed. Since " +"Python 3.0, it was ignored and using it emitted a :exc:`DeprecationWarning`. " +"Pass an open file object to control how the file is opened. (Contributed by " +"Victor Stinner in :issue:`39357`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1009 +msgid "" +"The *encoding* parameter of :func:`json.loads` has been removed. As of " +"Python 3.1, it was deprecated and ignored; using it has emitted a :exc:" +"`DeprecationWarning` since Python 3.8. (Contributed by Inada Naoki in :issue:" +"`39377`)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1014 +msgid "" +"``with (await asyncio.lock):`` and ``with (yield from asyncio.lock):`` " +"statements are not longer supported, use ``async with lock`` instead. The " +"same is correct for ``asyncio.Condition`` and ``asyncio.Semaphore``. " +"(Contributed by Andrew Svetlov in :issue:`34793`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1019 +msgid "" +"The :func:`sys.getcounts` function, the ``-X showalloccount`` command line " +"option and the ``show_alloc_count`` field of the C structure :c:type:" +"`PyConfig` have been removed. They required a special Python build by " +"defining ``COUNT_ALLOCS`` macro. (Contributed by Victor Stinner in :issue:" +"`39489`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1025 +msgid "" +"The ``_field_types`` attribute of the :class:`typing.NamedTuple` class has " +"been removed. It was deprecated since Python 3.8. Use the " +"``__annotations__`` attribute instead. (Contributed by Serhiy Storchaka in :" +"issue:`40182`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1030 +msgid "" +"The :meth:`symtable.SymbolTable.has_exec` method has been removed. It was " +"deprecated since 2006, and only returning ``False`` when it's called. " +"(Contributed by Batuhan Taskaya in :issue:`40208`)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1034 +msgid "" +"The :meth:`asyncio.Task.current_task` and :meth:`asyncio.Task.all_tasks` " +"have been removed. They were deprecated since Python 3.7 and you can use :" +"func:`asyncio.current_task` and :func:`asyncio.all_tasks` instead. " +"(Contributed by Rémi Lapeyre in :issue:`40967`)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1039 +msgid "" +"The ``unescape()`` method in the :class:`html.parser.HTMLParser` class has " +"been removed (it was deprecated since Python 3.4). :func:`html.unescape` " +"should be used for converting character references to the corresponding " +"unicode characters." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1046 ../Doc/whatsnew/3.9.rst:1298 +msgid "Porting to Python 3.9" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1048 +msgid "" +"This section lists previously described changes and other bugfixes that may " +"require changes to your code." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1053 +msgid "Changes in the Python API" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1055 +msgid "" +":func:`__import__` and :func:`importlib.util.resolve_name` now raise :exc:" +"`ImportError` where it previously raised :exc:`ValueError`. Callers catching " +"the specific exception type and supporting both Python 3.9 and earlier " +"versions will need to catch both using ``except (ImportError, ValueError):``." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1060 +msgid "" +"The :mod:`venv` activation scripts no longer special-case when " +"``__VENV_PROMPT__`` is set to ``\"\"``." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1063 +msgid "" +"The :meth:`select.epoll.unregister` method no longer ignores the :data:" +"`~errno.EBADF` error. (Contributed by Victor Stinner in :issue:`39239`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1067 +msgid "" +"The *compresslevel* parameter of :class:`bz2.BZ2File` became keyword-only, " +"since the *buffering* parameter has been removed. (Contributed by Victor " +"Stinner in :issue:`39357`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1071 +msgid "" +"Simplified AST for subscription. Simple indices will be represented by their " +"value, extended slices will be represented as tuples. ``Index(value)`` will " +"return a ``value`` itself, ``ExtSlice(slices)`` will return ``Tuple(slices, " +"Load())``. (Contributed by Serhiy Storchaka in :issue:`34822`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1077 +msgid "" +"The :mod:`importlib` module now ignores the :envvar:`PYTHONCASEOK` " +"environment variable when the :option:`-E` or :option:`-I` command line " +"options are being used." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1081 +msgid "" +"The *encoding* parameter has been added to the classes :class:`ftplib.FTP` " +"and :class:`ftplib.FTP_TLS` as a keyword-only parameter, and the default " +"encoding is changed from Latin-1 to UTF-8 to follow :rfc:`2640`." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1085 +msgid "" +":meth:`asyncio.loop.shutdown_default_executor` has been added to :class:" +"`~asyncio.AbstractEventLoop`, meaning alternative event loops that inherit " +"from it should have this method defined. (Contributed by Kyle Stanley in :" +"issue:`34037`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1090 +msgid "" +"The constant values of future flags in the :mod:`__future__` module is " +"updated in order to prevent collision with compiler flags. Previously " +"``PyCF_ALLOW_TOP_LEVEL_AWAIT`` was clashing with ``CO_FUTURE_DIVISION``. " +"(Contributed by Batuhan Taskaya in :issue:`39562`)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1095 +msgid "" +"``array('u')`` now uses ``wchar_t`` as C type instead of ``Py_UNICODE``. " +"This change doesn't affect to its behavior because ``Py_UNICODE`` is alias " +"of ``wchar_t`` since Python 3.3. (Contributed by Inada Naoki in :issue:" +"`34538`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1100 +msgid "" +"The :func:`logging.getLogger` API now returns the root logger when passed " +"the name ``'root'``, whereas previously it returned a non-root logger named " +"``'root'``. This could affect cases where user code explicitly wants a non-" +"root logger named ``'root'``, or instantiates a logger using ``logging." +"getLogger(__name__)`` in some top-level module called ``'root.py'``. " +"(Contributed by Vinay Sajip in :issue:`37742`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1107 +msgid "" +"Division handling of :class:`~pathlib.PurePath` now returns " +"``NotImplemented`` instead of raising a :exc:`TypeError` when passed " +"something other than an instance of ``str`` or :class:`~pathlib.PurePath`. " +"This allows creating compatible classes that don't inherit from those " +"mentioned types. (Contributed by Roger Aiudi in :issue:`34775`)." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1115 +msgid "Changes in the C API" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1117 +msgid "" +"Instances of heap-allocated types (such as those created with :c:func:" +"`PyType_FromSpec` and similar APIs) hold a reference to their type object " +"since Python 3.8. As indicated in the \"Changes in the C API\" of Python " +"3.8, for the vast majority of cases, there should be no side effect but for " +"types that have a custom :c:member:`~PyTypeObject.tp_traverse` function, " +"ensure that all custom ``tp_traverse`` functions of heap-allocated types " +"visit the object's type." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1138 +msgid "" +"If your traverse function delegates to ``tp_traverse`` of its base class (or " +"another type), ensure that ``Py_TYPE(self)`` is visited only once. Note that " +"only heap types are expected to visit the type in ``tp_traverse``." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1142 +msgid "For example, if your ``tp_traverse`` function includes:" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1148 +msgid "then add:" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1161 +msgid "(See :issue:`35810` and :issue:`40217` for more information.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1163 +msgid "" +"The functions ``PyEval_CallObject``, ``PyEval_CallFunction``, " +"``PyEval_CallMethod`` and ``PyEval_CallObjectWithKeywords`` are deprecated. " +"Use :c:func:`PyObject_Call` and its variants instead. (See more details in :" +"issue:`29548`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1169 +msgid "CPython bytecode changes" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1171 +msgid "" +"The :opcode:`LOAD_ASSERTION_ERROR` opcode was added for handling the :" +"keyword:`assert` statement. Previously, the assert statement would not work " +"correctly if the :exc:`AssertionError` exception was being shadowed. " +"(Contributed by Zackery Spytz in :issue:`34880`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1176 +msgid "" +"The :opcode:`COMPARE_OP` opcode was split into four distinct instructions:" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1178 +msgid "``COMPARE_OP`` for rich comparisons" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1179 +msgid "``IS_OP`` for 'is' and 'is not' tests" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1180 +msgid "``CONTAINS_OP`` for 'in' and 'not in' tests" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1181 +msgid "" +"``JUMP_IF_NOT_EXC_MATCH`` for checking exceptions in 'try-except' statements." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1184 +msgid "(Contributed by Mark Shannon in :issue:`39156`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1188 +msgid "Build Changes" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1190 +msgid "" +"Added ``--with-platlibdir`` option to the ``configure`` script: name of the " +"platform-specific library directory, stored in the new :attr:`sys." +"platlibdir` attribute. See :attr:`sys.platlibdir` attribute for more " +"information. (Contributed by Jan Matějek, Matěj Cepl, Charalampos Stratakis " +"and Victor Stinner in :issue:`1294959`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1196 +msgid "" +"The ``COUNT_ALLOCS`` special build macro has been removed. (Contributed by " +"Victor Stinner in :issue:`39489`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1199 +msgid "" +"On non-Windows platforms, the :c:func:`setenv` and :c:func:`unsetenv` " +"functions are now required to build Python. (Contributed by Victor Stinner " +"in :issue:`39395`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1203 +msgid "" +"On non-Windows platforms, creating ``bdist_wininst`` installers is now " +"officially unsupported. (See :issue:`10945` for more details.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1206 +msgid "" +"When building Python on macOS from source, ``_tkinter`` now links with non-" +"system Tcl and Tk frameworks if they are installed in ``/Library/" +"Frameworks``, as had been the case on older releases of macOS. If a macOS " +"SDK is explicitly configured, by using ``--enable-universalsdk=`` or ``-" +"isysroot``, only the SDK itself is searched. The default behavior can still " +"be overridden with ``--with-tcltk-includes`` and ``--with-tcltk-libs``. " +"(Contributed by Ned Deily in :issue:`34956`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1215 +msgid "" +"Python can now be built for Windows 10 ARM64. (Contributed by Steve Dower " +"in :issue:`33125`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1218 +msgid "" +"Some individual tests are now skipped when ``--pgo`` is used. The tests in " +"question increased the PGO task time significantly and likely didn't help " +"improve optimization of the final executable. This speeds up the task by a " +"factor of about 15x. Running the full unit test suite is slow. This change " +"may result in a slightly less optimized build since not as many code " +"branches will be executed. If you are willing to wait for the much slower " +"build, the old behavior can be restored using ``./configure [..] " +"PROFILE_TASK=\"-m test --pgo-extended\"``. We make no guarantees as to " +"which PGO task set produces a faster build. Users who care should run their " +"own relevant benchmarks as results can depend on the environment, workload, " +"and compiler tool chain. (See :issue:`36044` and :issue:`37707` for more " +"details.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1233 +msgid "C API Changes" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1238 +msgid "" +":pep:`573`: Added :c:func:`PyType_FromModuleAndSpec` to associate a module " +"with a class; :c:func:`PyType_GetModule` and :c:func:`PyType_GetModuleState` " +"to retrieve the module and its state; and :c:data:`PyCMethod` and :c:data:" +"`METH_METHOD` to allow a method to access the class it was defined in. " +"(Contributed by Marcel Plch and Petr Viktorin in :issue:`38787`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1245 +msgid "" +"Added :c:func:`PyFrame_GetCode` function: get a frame code. Added :c:func:" +"`PyFrame_GetBack` function: get the frame next outer frame. (Contributed by " +"Victor Stinner in :issue:`40421`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1249 +msgid "" +"Added :c:func:`PyFrame_GetLineNumber` to the limited C API. (Contributed by " +"Victor Stinner in :issue:`40421`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1252 +msgid "" +"Added :c:func:`PyThreadState_GetInterpreter` and :c:func:" +"`PyInterpreterState_Get` functions to get the interpreter. Added :c:func:" +"`PyThreadState_GetFrame` function to get the current frame of a Python " +"thread state. Added :c:func:`PyThreadState_GetID` function: get the unique " +"identifier of a Python thread state. (Contributed by Victor Stinner in :" +"issue:`39947`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1260 +msgid "" +"Added a new public :c:func:`PyObject_CallNoArgs` function to the C API, " +"which calls a callable Python object without any arguments. It is the most " +"efficient way to call a callable Python object without any argument. " +"(Contributed by Victor Stinner in :issue:`37194`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1265 ../Doc/whatsnew/3.9.rst:1387 +msgid "Changes in the limited C API (if ``Py_LIMITED_API`` macro is defined):" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1267 +msgid "" +"Provide :c:func:`Py_EnterRecursiveCall` and :c:func:`Py_LeaveRecursiveCall` " +"as regular functions for the limited API. Previously, there were defined as " +"macros, but these macros didn't compile with the limited C API which cannot " +"access ``PyThreadState.recursion_depth`` field (the structure is opaque in " +"the limited C API)." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1273 +msgid "" +"``PyObject_INIT()`` and ``PyObject_INIT_VAR()`` become regular \"opaque\" " +"function to hide implementation details." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1276 ../Doc/whatsnew/3.9.rst:1414 +msgid "(Contributed by Victor Stinner in :issue:`38644` and :issue:`39542`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1278 +msgid "" +"The :c:func:`PyModule_AddType` function is added to help adding a type to a " +"module. (Contributed by Dong-hee Na in :issue:`40024`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1282 +msgid "" +"Added the functions :c:func:`PyObject_GC_IsTracked` and :c:func:" +"`PyObject_GC_IsFinalized` to the public API to allow to query if Python " +"objects are being currently tracked or have been already finalized by the " +"garbage collector respectively. (Contributed by Pablo Galindo Salgado in :" +"issue:`40241`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1288 +msgid "" +"Added :c:func:`_PyObject_FunctionStr` to get a user-friendly string " +"representation of a function-like object. (Patch by Jeroen Demeyer in :issue:" +"`37645`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1292 +msgid "" +"Added :c:func:`PyObject_CallOneArg` for calling an object with one " +"positional argument (Patch by Jeroen Demeyer in :issue:`37483`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1300 +msgid "" +"``PyInterpreterState.eval_frame`` (:pep:`523`) now requires a new mandatory " +"*tstate* parameter (``PyThreadState*``). (Contributed by Victor Stinner in :" +"issue:`38500`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1304 +msgid "" +"Extension modules: :c:member:`~PyModuleDef.m_traverse`, :c:member:" +"`~PyModuleDef.m_clear` and :c:member:`~PyModuleDef.m_free` functions of :c:" +"type:`PyModuleDef` are no longer called if the module state was requested " +"but is not allocated yet. This is the case immediately after the module is " +"created and before the module is executed (:c:data:`Py_mod_exec` function). " +"More precisely, these functions are not called if :c:member:`~PyModuleDef." +"m_size` is greater than 0 and the module state (as returned by :c:func:" +"`PyModule_GetState`) is ``NULL``." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1313 +msgid "" +"Extension modules without module state (``m_size <= 0``) are not affected." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1315 +msgid "" +"If :c:func:`Py_AddPendingCall` is called in a subinterpreter, the function " +"is now scheduled to be called from the subinterpreter, rather than being " +"called from the main interpreter. Each subinterpreter now has its own list " +"of scheduled calls. (Contributed by Victor Stinner in :issue:`39984`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1321 +msgid "" +"The Windows registry is no longer used to initialize :data:`sys.path` when " +"the ``-E`` option is used (if :c:member:`PyConfig.use_environment` is set to " +"``0``). This is significant when embedding Python on Windows. (Contributed " +"by Zackery Spytz in :issue:`8901`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1326 +msgid "" +"The global variable :c:data:`PyStructSequence_UnnamedField` is now a " +"constant and refers to a constant string. (Contributed by Serhiy Storchaka " +"in :issue:`38650`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1330 +msgid "" +"The :c:type:`PyGC_Head` structure is now opaque. It is only defined in the " +"internal C API (``pycore_gc.h``). (Contributed by Victor Stinner in :issue:" +"`40241`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1334 +msgid "" +"The ``Py_UNICODE_COPY``, ``Py_UNICODE_FILL``, ``PyUnicode_WSTR_LENGTH``, :c:" +"func:`PyUnicode_FromUnicode`, :c:func:`PyUnicode_AsUnicode`, " +"``_PyUnicode_AsUnicode``, and :c:func:`PyUnicode_AsUnicodeAndSize` are " +"marked as deprecated in C. They have been deprecated by :pep:`393` since " +"Python 3.3. (Contributed by Inada Naoki in :issue:`36346`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1341 +msgid "" +"The :c:func:`Py_FatalError` function is replaced with a macro which logs " +"automatically the name of the current function, unless the " +"``Py_LIMITED_API`` macro is defined. (Contributed by Victor Stinner in :" +"issue:`39882`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1346 +msgid "" +"The vectorcall protocol now requires that the caller passes only strings as " +"keyword names. (See :issue:`37540` for more information.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1349 +msgid "" +"Implementation details of a number of macros and functions are now hidden:" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1351 +msgid ":c:func:`PyObject_IS_GC` macro was converted to a function." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1353 +msgid "" +"The :c:func:`PyObject_NEW` macro becomes an alias to the :c:func:" +"`PyObject_New` macro, and the :c:func:`PyObject_NEW_VAR` macro becomes an " +"alias to the :c:func:`PyObject_NewVar` macro. They no longer access directly " +"the :c:member:`PyTypeObject.tp_basicsize` member." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1358 +msgid "" +":c:func:`PyType_HasFeature` now always calls :c:func:`PyType_GetFlags`. " +"Previously, it accessed directly the :c:member:`PyTypeObject.tp_flags` " +"member when the limited C API was not used." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1362 +msgid "" +":c:func:`PyObject_GET_WEAKREFS_LISTPTR` macro was converted to a function: " +"the macro accessed directly the :c:member:`PyTypeObject.tp_weaklistoffset` " +"member." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1366 +msgid "" +":c:func:`PyObject_CheckBuffer` macro was converted to a function: the macro " +"accessed directly the :c:member:`PyTypeObject.tp_as_buffer` member." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1369 +msgid "" +":c:func:`PyIndex_Check` is now always declared as an opaque function to hide " +"implementation details: removed the ``PyIndex_Check()`` macro. The macro " +"accessed directly the :c:member:`PyTypeObject.tp_as_number` member." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1373 +msgid "(See :issue:`40170` for more details.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1378 +msgid "" +"Excluded ``PyFPE_START_PROTECT()`` and ``PyFPE_END_PROTECT()`` macros of " +"``pyfpe.h`` from the limited C API. (Contributed by Victor Stinner in :issue:" +"`38835`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1382 +msgid "" +"The ``tp_print`` slot of :ref:`PyTypeObject ` has been " +"removed. It was used for printing objects to files in Python 2.7 and before. " +"Since Python 3.0, it has been ignored and unused. (Contributed by Jeroen " +"Demeyer in :issue:`36974`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1389 +msgid "Excluded the following functions from the limited C API:" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1391 +msgid "" +"``PyThreadState_DeleteCurrent()`` (Contributed by Joannah Nanjekye in :issue:" +"`37878`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1393 +msgid "``_Py_CheckRecursionLimit``" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1394 +msgid "``_Py_NewReference()``" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1395 +msgid "``_Py_ForgetReference()``" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1396 +msgid "``_PyTraceMalloc_NewReference()``" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1397 +msgid "``_Py_GetRefTotal()``" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1398 +msgid "The trashcan mechanism which never worked in the limited C API." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1399 +msgid "``PyTrash_UNWIND_LEVEL``" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1400 +msgid "``Py_TRASHCAN_BEGIN_CONDITION``" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1401 +msgid "``Py_TRASHCAN_BEGIN``" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1402 +msgid "``Py_TRASHCAN_END``" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1403 +msgid "``Py_TRASHCAN_SAFE_BEGIN``" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1404 +msgid "``Py_TRASHCAN_SAFE_END``" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1406 +msgid "Moved following functions and definitions to the internal C API:" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1408 +msgid "``_PyDebug_PrintTotalRefs()``" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1409 +msgid "``_Py_PrintReferences()``" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1410 +msgid "``_Py_PrintReferenceAddresses()``" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1411 +msgid "``_Py_tracemalloc_config``" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1412 +msgid "``_Py_AddToAllObjects()`` (specific to ``Py_TRACE_REFS`` build)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1416 +msgid "" +"Removed ``_PyRuntime.getframe`` hook and removed ``_PyThreadState_GetFrame`` " +"macro which was an alias to ``_PyRuntime.getframe``. They were only exposed " +"by the internal C API. Removed also ``PyThreadFrameGetter`` type. " +"(Contributed by Victor Stinner in :issue:`39946`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1421 +msgid "" +"Removed the following functions from the C API. Call :c:func:`PyGC_Collect` " +"explicitly to clear all free lists. (Contributed by Inada Naoki and Victor " +"Stinner in :issue:`37340`, :issue:`38896` and :issue:`40428`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1426 +msgid "``PyAsyncGen_ClearFreeLists()``" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1427 +msgid "``PyContext_ClearFreeList()``" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1428 +msgid "``PyDict_ClearFreeList()``" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1429 +msgid "``PyFloat_ClearFreeList()``" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1430 +msgid "``PyFrame_ClearFreeList()``" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1431 +msgid "``PyList_ClearFreeList()``" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1432 +msgid "" +"``PyMethod_ClearFreeList()`` and ``PyCFunction_ClearFreeList()``: the free " +"lists of bound method objects have been removed." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1434 +msgid "" +"``PySet_ClearFreeList()``: the set free list has been removed in Python 3.4." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1436 +msgid "``PyTuple_ClearFreeList()``" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1437 +msgid "" +"``PyUnicode_ClearFreeList()``: the Unicode free list has been removed in " +"Python 3.3." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1440 +msgid "" +"Removed ``_PyUnicode_ClearStaticStrings()`` function. (Contributed by Victor " +"Stinner in :issue:`39465`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1443 +msgid "" +"Removed ``Py_UNICODE_MATCH``. It has been deprecated by :pep:`393`, and " +"broken since Python 3.3. The :c:func:`PyUnicode_Tailmatch` function can be " +"used instead. (Contributed by Inada Naoki in :issue:`36346`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1448 +msgid "" +"Cleaned header files of interfaces defined but with no implementation. The " +"public API symbols being removed are: " +"``_PyBytes_InsertThousandsGroupingLocale``, " +"``_PyBytes_InsertThousandsGrouping``, ``_Py_InitializeFromArgs``, " +"``_Py_InitializeFromWideArgs``, ``_PyFloat_Repr``, ``_PyFloat_Digits``, " +"``_PyFloat_DigitsInit``, ``PyFrame_ExtendStack``, ``_PyAIterWrapper_Type``, " +"``PyNullImporter_Type``, ``PyCmpWrapper_Type``, ``PySortWrapper_Type``, " +"``PyNoArgsFunction``. (Contributed by Pablo Galindo Salgado in :issue:" +"`39372`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1459 +msgid "Notable changes in Python 3.9.1" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1464 +msgid "" +"The behavior of :class:`typing.Literal` was changed to conform with :pep:" +"`586` and to match the behavior of static type checkers specified in the PEP." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1467 +msgid "``Literal`` now de-duplicates parameters." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1468 +msgid "" +"Equality comparisons between ``Literal`` objects are now order independent." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1469 +msgid "" +"``Literal`` comparisons now respect types. For example, ``Literal[0] == " +"Literal[False]`` previously evaluated to ``True``. It is now ``False``. To " +"support this change, the internally used type cache now supports " +"differentiating types." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1473 +msgid "" +"``Literal`` objects will now raise a :exc:`TypeError` exception during " +"equality comparisons if one of their parameters are not :term:`immutable`. " +"Note that declaring ``Literal`` with mutable parameters will not throw an " +"error::" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1485 +msgid "(Contributed by Yurii Karabas in :issue:`42345`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1488 +msgid "macOS 11.0 (Big Sur) and Apple Silicon Mac support" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1490 +msgid "" +"As of 3.9.1, Python now fully supports building and running on macOS 11.0 " +"(Big Sur) and on Apple Silicon Macs (based on the ``ARM64`` architecture). A " +"new universal build variant, ``universal2``, is now available to natively " +"support both ``ARM64`` and ``Intel 64`` in one set of executables. Binaries " +"can also now be built on current versions of macOS to be deployed on a range " +"of older macOS versions (tested to 10.9) while making some newer OS " +"functions and options conditionally available based on the operating system " +"version in use at runtime (\"weaklinking\")." +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1499 +msgid "(Contributed by Ronald Oussoren and Lawrence D'Anna in :issue:`41100`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1502 +msgid "Notable changes in Python 3.9.2" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1505 +msgid "collections.abc" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1507 +msgid "" +":class:`collections.abc.Callable` generic now flattens type parameters, " +"similar to what :data:`typing.Callable` currently does. This means that " +"``collections.abc.Callable[[int, str], str]`` will have ``__args__`` of " +"``(int, str, str)``; previously this was ``([int, str], str)``. To allow " +"this change, :class:`types.GenericAlias` can now be subclassed, and a " +"subclass will be returned when subscripting the :class:`collections.abc." +"Callable` type. Code which accesses the arguments via :func:`typing." +"get_args` or ``__args__`` need to account for this change. A :exc:" +"`DeprecationWarning` may be emitted for invalid forms of parameterizing :" +"class:`collections.abc.Callable` which may have passed silently in Python " +"3.9.1. This :exc:`DeprecationWarning` will become a :exc:`TypeError` in " +"Python 3.10. (Contributed by Ken Jin in :issue:`42195`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1521 +msgid "urllib.parse" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1523 +msgid "" +"Earlier Python versions allowed using both ``;`` and ``&`` as query " +"parameter separators in :func:`urllib.parse.parse_qs` and :func:`urllib." +"parse.parse_qsl`. Due to security concerns, and to conform with newer W3C " +"recommendations, this has been changed to allow only a single separator key, " +"with ``&`` as the default. This change also affects :func:`cgi.parse` and :" +"func:`cgi.parse_multipart` as they use the affected functions internally. " +"For more details, please see their respective documentation. (Contributed by " +"Adam Goldschmidt, Senthil Kumaran and Ken Jin in :issue:`42967`.)" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1534 +msgid "Notable changes in Python 3.9.3" +msgstr "" + +#: ../Doc/whatsnew/3.9.rst:1536 +msgid "" +"A security fix alters the :class:`ftplib.FTP` behavior to not trust the IPv4 " +"address sent from the remote server when setting up a passive data channel. " +"We reuse the ftp server IP address instead. For unusual code requiring the " +"old behavior, set a ``trust_server_pasv_ipv4_address`` attribute on your FTP " +"instance to ``True``. (See :issue:`43285`)" +msgstr "" diff --git a/whatsnew/changelog.po b/whatsnew/changelog.po new file mode 100644 index 0000000000..2640f4aaa4 --- /dev/null +++ b/whatsnew/changelog.po @@ -0,0 +1,34207 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2021, Python Software Foundation +# This file is distributed under the same license as the Python en Español +# package. +# FIRST AUTHOR , 2021. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python en Español 3.9\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-19 11:16+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.8.0\n" + +#: ../Doc/whatsnew/changelog.rst:5 +msgid "Changelog" +msgstr "" + +#: ../build/NEWS:5 +msgid "Python next" +msgstr "" + +#: ../build/NEWS:7 +msgid "*Release date: XXXX-XX-XX*" +msgstr "" + +#: ../build/NEWS:10 ../build/NEWS:58 ../build/NEWS:378 ../build/NEWS:434 +#: ../build/NEWS:491 ../build/NEWS:698 ../build/NEWS:784 ../build/NEWS:1052 +#: ../build/NEWS:1163 ../build/NEWS:1634 ../build/NEWS:1920 ../build/NEWS:2125 +#: ../build/NEWS:2460 ../build/NEWS:3219 ../build/NEWS:3757 ../build/NEWS:4062 +#: ../build/NEWS:4324 ../build/NEWS:7304 ../build/NEWS:7416 ../build/NEWS:7629 +#: ../build/NEWS:7820 ../build/NEWS:8030 ../build/NEWS:8274 ../build/NEWS:8593 +#: ../build/NEWS:8897 ../build/NEWS:9497 ../build/NEWS:9786 ../build/NEWS:11876 +#: ../build/NEWS:12213 ../build/NEWS:12530 ../build/NEWS:12979 +#: ../build/NEWS:13460 ../build/NEWS:13812 ../build/NEWS:13836 +#: ../build/NEWS:14160 ../build/NEWS:14190 ../build/NEWS:14254 +#: ../build/NEWS:14368 ../build/NEWS:14492 ../build/NEWS:14760 +#: ../build/NEWS:15269 ../build/NEWS:15507 ../build/NEWS:15727 +#: ../build/NEWS:16030 ../build/NEWS:17364 ../build/NEWS:17425 +#: ../build/NEWS:17817 ../build/NEWS:18508 ../build/NEWS:18529 +#: ../build/NEWS:19286 ../build/NEWS:19304 ../build/NEWS:19827 +#: ../build/NEWS:19862 ../build/NEWS:19890 ../build/NEWS:19982 +#: ../build/NEWS:20069 ../build/NEWS:20174 ../build/NEWS:20217 +#: ../build/NEWS:20493 ../build/NEWS:20728 ../build/NEWS:20914 +#: ../build/NEWS:21053 +msgid "Core and Builtins" +msgstr "" + +#: ../build/NEWS:12 +msgid "" +"`bpo-39562 `__: The constant values of " +"future flags in the :mod:`__future__` module are updated in order to prevent " +"collision with compiler flags. Previously ``PyCF_ALLOW_TOP_LEVEL_AWAIT`` was " +"clashing with ``CO_FUTURE_DIVISION``." +msgstr "" + +#: ../build/NEWS:18 ../build/NEWS:98 ../build/NEWS:388 ../build/NEWS:449 +#: ../build/NEWS:527 ../build/NEWS:713 ../build/NEWS:815 ../build/NEWS:1066 +#: ../build/NEWS:1214 ../build/NEWS:1665 ../build/NEWS:1930 ../build/NEWS:2165 +#: ../build/NEWS:2624 ../build/NEWS:3288 ../build/NEWS:3832 ../build/NEWS:4126 +#: ../build/NEWS:4878 ../build/NEWS:7286 ../build/NEWS:7319 ../build/NEWS:7447 +#: ../build/NEWS:7655 ../build/NEWS:7846 ../build/NEWS:8051 ../build/NEWS:8349 +#: ../build/NEWS:8670 ../build/NEWS:8995 ../build/NEWS:9585 ../build/NEWS:10244 +#: ../build/NEWS:11913 ../build/NEWS:12259 ../build/NEWS:12625 +#: ../build/NEWS:12949 ../build/NEWS:13051 ../build/NEWS:13507 +#: ../build/NEWS:13542 ../build/NEWS:13904 ../build/NEWS:14207 +#: ../build/NEWS:14289 ../build/NEWS:14392 ../build/NEWS:14562 +#: ../build/NEWS:14897 ../build/NEWS:15315 ../build/NEWS:15524 +#: ../build/NEWS:15608 ../build/NEWS:15625 ../build/NEWS:15767 +#: ../build/NEWS:15793 ../build/NEWS:15843 ../build/NEWS:16315 +#: ../build/NEWS:16438 ../build/NEWS:16548 ../build/NEWS:16638 +#: ../build/NEWS:17370 ../build/NEWS:17388 ../build/NEWS:17476 +#: ../build/NEWS:17948 ../build/NEWS:18262 ../build/NEWS:18273 +#: ../build/NEWS:18667 ../build/NEWS:18699 ../build/NEWS:18811 +#: ../build/NEWS:18865 ../build/NEWS:18934 ../build/NEWS:19372 +#: ../build/NEWS:19810 ../build/NEWS:19837 ../build/NEWS:19875 +#: ../build/NEWS:19895 ../build/NEWS:20002 ../build/NEWS:20096 +#: ../build/NEWS:20192 ../build/NEWS:20267 ../build/NEWS:20525 +#: ../build/NEWS:20748 ../build/NEWS:20921 ../build/NEWS:21279 +msgid "Library" +msgstr "" + +#: ../build/NEWS:20 +msgid "" +"`bpo-40398 `__: :func:`typing.get_args` " +"now always returns an empty tuple for special generic aliases." +msgstr "" + +#: ../build/NEWS:24 ../build/NEWS:219 ../build/NEWS:406 ../build/NEWS:617 +#: ../build/NEWS:932 ../build/NEWS:1095 ../build/NEWS:1412 ../build/NEWS:1799 +#: ../build/NEWS:1993 ../build/NEWS:2288 ../build/NEWS:3014 ../build/NEWS:3480 +#: ../build/NEWS:3957 ../build/NEWS:4199 ../build/NEWS:6385 ../build/NEWS:7360 +#: ../build/NEWS:7570 ../build/NEWS:7720 ../build/NEWS:7938 ../build/NEWS:8183 +#: ../build/NEWS:8508 ../build/NEWS:8848 ../build/NEWS:9331 ../build/NEWS:9674 +#: ../build/NEWS:11282 ../build/NEWS:12036 ../build/NEWS:12392 +#: ../build/NEWS:12789 ../build/NEWS:13187 ../build/NEWS:13759 +#: ../build/NEWS:14079 ../build/NEWS:14235 ../build/NEWS:14338 +#: ../build/NEWS:15706 ../build/NEWS:15966 ../build/NEWS:17151 +#: ../build/NEWS:17711 ../build/NEWS:18387 ../build/NEWS:19137 +#: ../build/NEWS:19701 ../build/NEWS:19954 ../build/NEWS:20153 +#: ../build/NEWS:20464 ../build/NEWS:22664 +msgid "Documentation" +msgstr "" + +#: ../build/NEWS:26 +msgid "" +"`bpo-39435 `__: Fix an incorrect " +"signature for :func:`pickle.loads` in the docs" +msgstr "" + +#: ../build/NEWS:29 ../build/NEWS:356 ../build/NEWS:1032 ../build/NEWS:1134 +#: ../build/NEWS:1604 ../build/NEWS:1900 ../build/NEWS:2411 ../build/NEWS:3165 +#: ../build/NEWS:3703 ../build/NEWS:4046 ../build/NEWS:7202 ../build/NEWS:7292 +#: ../build/NEWS:8008 ../build/NEWS:8578 ../build/NEWS:8875 ../build/NEWS:9468 +#: ../build/NEWS:9730 ../build/NEWS:11800 ../build/NEWS:12175 +#: ../build/NEWS:12508 ../build/NEWS:12928 ../build/NEWS:13733 +#: ../build/NEWS:14062 ../build/NEWS:14230 ../build/NEWS:14731 +#: ../build/NEWS:15170 ../build/NEWS:15669 ../build/NEWS:16010 +#: ../build/NEWS:17314 ../build/NEWS:17789 ../build/NEWS:18378 +#: ../build/NEWS:20717 ../build/NEWS:21032 ../build/NEWS:22635 +msgid "C API" +msgstr "" + +#: ../build/NEWS:31 +msgid "" +"`bpo-40412 `__: Nullify inittab_copy " +"during finalization, preventing future interpreter initializations in an " +"embedded situation from crashing. Patch by Gregory Szorc." +msgstr "" + +#: ../build/NEWS:37 +msgid "Python 3.8.3 release candidate 1" +msgstr "" + +#: ../build/NEWS:39 +msgid "*Release date: 2020-04-29*" +msgstr "" + +#: ../build/NEWS:42 ../build/NEWS:428 ../build/NEWS:482 ../build/NEWS:758 +#: ../build/NEWS:1148 ../build/NEWS:1627 ../build/NEWS:1914 ../build/NEWS:2103 +#: ../build/NEWS:2445 ../build/NEWS:3201 ../build/NEWS:3745 ../build/NEWS:4275 +#: ../build/NEWS:7806 ../build/NEWS:8024 ../build/NEWS:9752 ../build/NEWS:12203 +#: ../build/NEWS:12970 ../build/NEWS:13433 ../build/NEWS:13535 +#: ../build/NEWS:15601 ../build/NEWS:15620 ../build/NEWS:15785 +#: ../build/NEWS:15836 ../build/NEWS:16431 ../build/NEWS:16542 +#: ../build/NEWS:16632 ../build/NEWS:17341 ../build/NEWS:17400 +#: ../build/NEWS:18255 ../build/NEWS:18268 ../build/NEWS:18659 +#: ../build/NEWS:18692 ../build/NEWS:18804 ../build/NEWS:18859 +#: ../build/NEWS:18928 +msgid "Security" +msgstr "" + +#: ../build/NEWS:44 +msgid "" +"`bpo-40121 `__: Fixes audit events " +"raised on creating a new socket." +msgstr "" + +#: ../build/NEWS:46 +msgid "" +"`bpo-38576 `__: Disallow control " +"characters in hostnames in http.client, addressing CVE-2019-18348. Such " +"potentially malicious header injection URLs now cause a InvalidURL to be " +"raised." +msgstr "" + +#: ../build/NEWS:50 +msgid "" +"`bpo-39503 `__: CVE-2020-8492: The :" +"class:`~urllib.request.AbstractBasicAuthHandler` class of the :mod:`urllib." +"request` module uses an inefficient regular expression which can be " +"exploited by an attacker to cause a denial of service. Fix the regex to " +"prevent the catastrophic backtracking. Vulnerability reported by Ben Caller " +"and Matt Schwager." +msgstr "" + +#: ../build/NEWS:60 +msgid "" +"`bpo-20526 `__: Fix :c:func:" +"`PyThreadState_Clear()`. ``PyThreadState.frame`` is a borrowed reference, " +"not a strong reference: ``PyThreadState_Clear()`` must not call " +"``Py_CLEAR(tstate->frame)``." +msgstr "" + +#: ../build/NEWS:64 +msgid "" +"`bpo-39965 `__: Correctly raise " +"``SyntaxError`` if *await* is used inside non-async functions and " +"``PyCF_ALLOW_TOP_LEVEL_AWAIT`` is set (like in the asyncio REPL). Patch by " +"Pablo Galindo." +msgstr "" + +#: ../build/NEWS:68 +msgid "" +"`bpo-39562 `__: Allow executing " +"asynchronous comprehensions on the top level when the " +"``PyCF_ALLOW_TOP_LEVEL_AWAIT`` flag is given. Patch by Batuhan Taskaya." +msgstr "" + +#: ../build/NEWS:72 +msgid "" +"`bpo-38894 `__: Fix a bug that was " +"causing incomplete results when calling ``pathlib.Path.glob`` in the " +"presence of symlinks that point to files where the user does not have read " +"access. Patch by Pablo Galindo and Matt Wozniski." +msgstr "" + +#: ../build/NEWS:77 +msgid "" +"`bpo-39871 `__: Fix a possible :exc:" +"`SystemError` in ``math.{atan2,copysign,remainder}()`` when the first " +"argument cannot be converted to a :class:`float`. Patch by Zachary Spytz." +msgstr "" + +#: ../build/NEWS:81 +msgid "" +"`bpo-39776 `__: Fix race condition where " +"threads created by PyGILState_Ensure() could get a duplicate id." +msgstr "" + +#: ../build/NEWS:84 +msgid "" +"This affects consumers of tstate->id like the contextvar caching machinery, " +"which could return invalid cached objects under heavy thread load (observed " +"in embedded scenarios)." +msgstr "" + +#: ../build/NEWS:88 +msgid "" +"`bpo-39778 `__: Fixed a crash due to " +"incorrect handling of weak references in ``collections.OrderedDict`` " +"classes. Patch by Pablo Galindo." +msgstr "" + +#: ../build/NEWS:91 +msgid "" +"`bpo-39520 `__: Fix unparsing of ext " +"slices with no items (``foo[:,]``). Patch by Batuhan Taskaya." +msgstr "" + +#: ../build/NEWS:94 +msgid "" +"`bpo-22490 `__: Don't leak environment " +"variable ``__PYVENV_LAUNCHER__`` into the interpreter session on macOS." +msgstr "" + +#: ../build/NEWS:100 +msgid "" +"`bpo-40138 `__: Fix the Windows " +"implementation of :func:`os.waitpid` for exit code larger than ``INT_MAX >> " +"8``. The exit status is now interpreted as an unsigned number." +msgstr "" + +#: ../build/NEWS:104 +msgid "" +"`bpo-39942 `__: Set \"__main__\" as the " +"default module name when \"__name__\" is missing in :class:`typing.TypeVar`. " +"Patch by Weipeng Hong." +msgstr "" + +#: ../build/NEWS:107 +msgid "" +"`bpo-40330 `__: In :meth:`ShareableList." +"__setitem__`, check the size of a new string item after encoding it to " +"utf-8, not before." +msgstr "" + +#: ../build/NEWS:110 +msgid "" +"`bpo-40287 `__: Fixed " +"``SpooledTemporaryFile.seek()`` to return the position." +msgstr "" + +#: ../build/NEWS:112 +msgid "" +"`bpo-40260 `__: Ensure :mod:" +"`modulefinder` uses :func:`io.open_code` and respects coding comments." +msgstr "" + +#: ../build/NEWS:115 +msgid "" +"`bpo-40196 `__: Fix a bug in the :mod:" +"`symtable` module that was causing incorrectly report global variables as " +"local. Patch by Pablo Galindo." +msgstr "" + +#: ../build/NEWS:118 +msgid "" +"`bpo-40126 `__: Fixed reverting multiple " +"patches in unittest.mock. Patcher's ``__exit__()`` is now never called if " +"its ``__enter__()`` is failed. Returning true from ``__exit__()`` silences " +"now the exception." +msgstr "" + +#: ../build/NEWS:122 +msgid "" +"`bpo-40089 `__: Fix threading." +"_after_fork(): if fork was not called by a thread spawned by threading." +"Thread, threading._after_fork() now creates a _MainThread instance for " +"_main_thread, instead of a _DummyThread instance." +msgstr "" + +#: ../build/NEWS:126 +msgid "" +"`bpo-39503 `__: :class:`~urllib.request." +"AbstractBasicAuthHandler` of :mod:`urllib.request` now parses all WWW-" +"Authenticate HTTP headers and accepts multiple challenges per header: use " +"the realm of the first Basic challenge." +msgstr "" + +#: ../build/NEWS:131 +msgid "" +"`bpo-40014 `__: Fix ``os." +"getgrouplist()``: if ``getgrouplist()`` function fails because the group " +"list is too small, retry with a larger group list. On failure, the glibc " +"implementation of ``getgrouplist()`` sets ``ngroups`` to the total number of " +"groups. For other implementations, double the group list size." +msgstr "" + +#: ../build/NEWS:137 +msgid "" +"`bpo-40016 `__: In re docstring, clarify " +"the relationship between inline and argument compile flags." +msgstr "" + +#: ../build/NEWS:140 +msgid "" +"`bpo-39953 `__: Update internal table of " +"OpenSSL error codes in the ``ssl`` module." +msgstr "" + +#: ../build/NEWS:143 +msgid "" +"`bpo-39360 `__: Ensure all workers exit " +"when finalizing a :class:`multiprocessing.Pool` implicitly via the module " +"finalization handlers of multiprocessing. This fixes a deadlock situation " +"that can be experienced when the Pool is not properly finalized via the " +"context manager or a call to ``multiprocessing.Pool.terminate``. Patch by " +"Batuhan Taskaya and Pablo Galindo." +msgstr "" + +#: ../build/NEWS:150 +msgid "" +"`bpo-39652 `__: The column name found in " +"``sqlite3.Cursor.description`` is now truncated on the first '[' only if the " +"PARSE_COLNAMES option is set." +msgstr "" + +#: ../build/NEWS:153 +msgid "" +"`bpo-39915 `__: Ensure :attr:`unittest." +"mock.AsyncMock.await_args_list` has call objects in the order of awaited " +"arguments instead of using :attr:`unittest.mock.Mock.call_args` which has " +"the last value of the call. Patch by Karthikeyan Singaravelan." +msgstr "" + +#: ../build/NEWS:158 +msgid "" +"`bpo-38662 `__: The ``ensurepip`` module " +"now invokes ``pip`` via the ``runpy`` module. Hence it is no longer tightly " +"coupled with the internal API of the bundled ``pip`` version, allowing " +"easier updates to a newer ``pip`` version both internally and for " +"distributors." +msgstr "" + +#: ../build/NEWS:163 +msgid "" +"`bpo-39916 `__: More reliable use of " +"``os.scandir()`` in ``Path.glob()``. It no longer emits a ResourceWarning " +"when interrupted." +msgstr "" + +#: ../build/NEWS:166 +msgid "" +"`bpo-39850 `__: :mod:`multiprocessing` " +"now supports abstract socket addresses (if abstract sockets are supported in " +"the running platform). Patch by Pablo Galindo." +msgstr "" + +#: ../build/NEWS:170 +msgid "" +"`bpo-39828 `__: Fix :mod:`json.tool` to " +"catch :exc:`BrokenPipeError`. Patch by Dong-hee Na." +msgstr "" + +#: ../build/NEWS:173 +msgid "" +"`bpo-13487 `__: Avoid a possible *" +"\"RuntimeError: dictionary changed size during iteration\"* from :func:" +"`inspect.getmodule` when it tried to loop through :attr:`sys.modules`." +msgstr "" + +#: ../build/NEWS:177 +msgid "" +"`bpo-39794 `__: Add --without-decimal-" +"contextvar build option. This enables a thread-local rather than a " +"coroutine local context." +msgstr "" + +#: ../build/NEWS:180 +msgid "" +"`bpo-39769 `__: The :func:`compileall." +"compile_dir` function's *ddir* parameter and the compileall command line " +"flag `-d` no longer write the wrong pathname to the generated pyc file for " +"submodules beneath the root of the directory tree being compiled. This " +"fixes a regression introduced with Python 3.5." +msgstr "" + +#: ../build/NEWS:186 +msgid "" +"`bpo-39517 `__: Fix runpy.run_path() " +"when using pathlike objects" +msgstr "" + +#: ../build/NEWS:188 +msgid "" +"`bpo-39764 `__: Fix AttributeError when " +"calling get_stack on a PyAsyncGenObject Task" +msgstr "" + +#: ../build/NEWS:191 +msgid "" +"`bpo-30566 `__: Fix :exc:`IndexError` " +"when trying to decode an invalid string with punycode codec." +msgstr "" + +#: ../build/NEWS:194 +msgid "" +"`bpo-39667 `__: Correct performance " +"degradation in ``zipfile.Path`` as found in zipp 3.0. While retaining " +"compatibility, this change discourages the use of ``zipfile.Path.open`` due " +"to the signature change in Python 3.9. For compatibility across Python 3.8 " +"and later versions, consider using ``zipp.Path`` on Python 3.8.x and earlier." +msgstr "" + +#: ../build/NEWS:200 +msgid "" +"`bpo-39548 `__: Fix handling of header " +"in :class:`urllib.request.AbstractDigestAuthHandler` when the optional " +"``qop`` parameter is not present." +msgstr "" + +#: ../build/NEWS:204 +msgid "" +"`bpo-38971 `__: Open issue in the BPO " +"indicated a desire to make the implementation of codecs.open() at parity " +"with io.open(), which implements a try/except to assure file stream gets " +"closed before an exception is raised." +msgstr "" + +#: ../build/NEWS:209 +msgid "" +"`bpo-38410 `__: Properly handle :func:" +"`sys.audit` failures in :func:`sys.set_asyncgen_hooks`. Based on patch by " +"Zackery Spytz." +msgstr "" + +#: ../build/NEWS:212 +msgid "" +"`bpo-36541 `__: lib2to3 now recognizes " +"named assignment expressions (the walrus operator, ``:=``)" +msgstr "" + +#: ../build/NEWS:215 +msgid "" +"`bpo-31758 `__: Prevent crashes when " +"using an uninitialized ``_elementtree.XMLParser`` object. Patch by Oren " +"Milman." +msgstr "" + +#: ../build/NEWS:221 +msgid "" +"`bpo-27635 `__: The pickle documentation " +"incorrectly claimed that ``__new__`` isn't called by default when unpickling." +msgstr "" + +#: ../build/NEWS:224 +msgid "" +"`bpo-39879 `__: Updated :ref:`datamodel` " +"docs to include :func:`dict` insertion order preservation. Patch by Furkan " +"Onder and Samy Lahfa." +msgstr "" + +#: ../build/NEWS:227 +msgid "" +"`bpo-39868 `__: Updated the Language " +"Reference for :pep:`572`." +msgstr "" + +#: ../build/NEWS:229 +msgid "" +"`bpo-13790 `__: Change 'string' to " +"'specification' in format doc." +msgstr "" + +#: ../build/NEWS:231 +msgid "" +"`bpo-17422 `__: The language reference " +"no longer restricts default class namespaces to dicts only." +msgstr "" + +#: ../build/NEWS:234 +msgid "" +"`bpo-39530 `__: Fix misleading " +"documentation about mixed-type numeric comparisons." +msgstr "" + +#: ../build/NEWS:237 +msgid "" +"`bpo-39718 `__: Update :mod:`token` " +"documentation to reflect additions in Python 3.8" +msgstr "" + +#: ../build/NEWS:240 +msgid "" +"`bpo-39677 `__: Changed operand name of " +"**MAKE_FUNCTION** from *argc* to *flags* for module :mod:`dis`" +msgstr "" + +#: ../build/NEWS:243 +msgid "" +"`bpo-38387 `__: Document :c:macro:" +"`PyDoc_STRVAR` macro in the C-API reference." +msgstr "" + +#: ../build/NEWS:246 ../build/NEWS:638 ../build/NEWS:726 ../build/NEWS:948 +#: ../build/NEWS:1100 ../build/NEWS:1442 ../build/NEWS:1819 ../build/NEWS:2022 +#: ../build/NEWS:2294 ../build/NEWS:3062 ../build/NEWS:3515 ../build/NEWS:3971 +#: ../build/NEWS:4210 ../build/NEWS:6550 ../build/NEWS:7585 ../build/NEWS:7739 +#: ../build/NEWS:7955 ../build/NEWS:8207 ../build/NEWS:8521 ../build/NEWS:8853 +#: ../build/NEWS:9337 ../build/NEWS:11330 ../build/NEWS:12074 +#: ../build/NEWS:12187 ../build/NEWS:12412 ../build/NEWS:12802 +#: ../build/NEWS:13199 ../build/NEWS:13781 ../build/NEWS:14092 +#: ../build/NEWS:14343 ../build/NEWS:14478 ../build/NEWS:14749 +#: ../build/NEWS:15179 ../build/NEWS:15452 ../build/NEWS:15715 +#: ../build/NEWS:15978 ../build/NEWS:17169 ../build/NEWS:17729 +#: ../build/NEWS:18392 ../build/NEWS:18513 ../build/NEWS:19160 +#: ../build/NEWS:19725 ../build/NEWS:19969 ../build/NEWS:20146 +#: ../build/NEWS:20455 ../build/NEWS:20684 ../build/NEWS:20894 +#: ../build/NEWS:22704 +msgid "Tests" +msgstr "" + +#: ../build/NEWS:248 +msgid "" +"`bpo-40436 `__: test_gdb and test." +"pythoninfo now check gdb command exit code." +msgstr "" + +#: ../build/NEWS:250 +msgid "" +"`bpo-40162 `__: Update Travis CI " +"configuration to OpenSSL 1.1.1f." +msgstr "" + +#: ../build/NEWS:252 +msgid "" +"`bpo-40146 `__: Update OpenSSL to 1.1.1f " +"in Azure Pipelines." +msgstr "" + +#: ../build/NEWS:254 +msgid "" +"`bpo-40019 `__: test_gdb now skips tests " +"if it detects that gdb failed to read debug information because the Python " +"binary is optimized." +msgstr "" + +#: ../build/NEWS:257 +msgid "" +"`bpo-27807 `__: ``test_site." +"test_startup_imports()`` is now skipped if a path of :data:`sys.path` " +"contains a ``.pth`` file." +msgstr "" + +#: ../build/NEWS:260 +msgid "" +"`bpo-39793 `__: Use the same domain when " +"testing ``make_msgid``. Patch by Batuhan Taskaya." +msgstr "" + +#: ../build/NEWS:263 +msgid "" +"`bpo-1812 `__: Fix newline handling in " +"doctest.testfile when loading from a package whose loader has a get_data " +"method. Patch by Peter Donis." +msgstr "" + +#: ../build/NEWS:266 +msgid "" +"`bpo-37957 `__: test.regrtest now can " +"receive a list of test patterns to ignore (using the -i/--ignore argument) " +"or a file with a list of patterns to ignore (using the --ignore-file " +"argument). Patch by Pablo Galindo." +msgstr "" + +#: ../build/NEWS:270 +msgid "" +"`bpo-38502 `__: test.regrtest now uses " +"process groups in the multiprocessing mode (-jN command line option) if " +"process groups are available: if :func:`os.setsid` and :func:`os.killpg` " +"functions are available." +msgstr "" + +#: ../build/NEWS:275 ../build/NEWS:649 ../build/NEWS:976 ../build/NEWS:1490 +#: ../build/NEWS:1825 ../build/NEWS:2039 ../build/NEWS:2348 ../build/NEWS:3098 +#: ../build/NEWS:3569 ../build/NEWS:3984 ../build/NEWS:6717 ../build/NEWS:7372 +#: ../build/NEWS:7594 ../build/NEWS:7745 ../build/NEWS:7965 ../build/NEWS:8212 +#: ../build/NEWS:8541 ../build/NEWS:9364 ../build/NEWS:9684 ../build/NEWS:11393 +#: ../build/NEWS:12082 ../build/NEWS:12192 ../build/NEWS:12427 +#: ../build/NEWS:12819 ../build/NEWS:12955 ../build/NEWS:13215 +#: ../build/NEWS:13739 ../build/NEWS:13823 ../build/NEWS:14114 +#: ../build/NEWS:14179 ../build/NEWS:14351 ../build/NEWS:14469 +#: ../build/NEWS:14738 ../build/NEWS:15193 ../build/NEWS:15479 +#: ../build/NEWS:15676 ../build/NEWS:15995 ../build/NEWS:17212 +#: ../build/NEWS:17767 ../build/NEWS:18438 ../build/NEWS:19183 +#: ../build/NEWS:19738 ../build/NEWS:19798 ../build/NEWS:19815 +#: ../build/NEWS:20057 ../build/NEWS:20162 ../build/NEWS:20675 +#: ../build/NEWS:20889 ../build/NEWS:21024 ../build/NEWS:22555 +msgid "Build" +msgstr "" + +#: ../build/NEWS:277 +msgid "" +"`bpo-38360 `__: Support single-argument " +"form of macOS -isysroot flag." +msgstr "" + +#: ../build/NEWS:279 +msgid "" +"`bpo-40204 `__: Pin Sphinx version to " +"1.8.2 in ``Doc/Makefile``." +msgstr "" + +#: ../build/NEWS:281 +msgid "" +"`bpo-40158 `__: Fix CPython MSBuild " +"Properties in NuGet Package (build/native/python.props)" +msgstr "" + +#: ../build/NEWS:284 +msgid "" +"`bpo-38527 `__: Fix configure check on " +"Solaris for \"float word ordering\": sometimes, the correct \"grep\" command " +"was not being used. Patch by Arnon Yaari." +msgstr "" + +#: ../build/NEWS:289 ../build/NEWS:655 ../build/NEWS:732 ../build/NEWS:992 +#: ../build/NEWS:1109 ../build/NEWS:1516 ../build/NEWS:1832 ../build/NEWS:2052 +#: ../build/NEWS:2355 ../build/NEWS:3121 ../build/NEWS:3630 ../build/NEWS:3998 +#: ../build/NEWS:4243 ../build/NEWS:6835 ../build/NEWS:7379 ../build/NEWS:7762 +#: ../build/NEWS:7970 ../build/NEWS:8217 ../build/NEWS:8556 ../build/NEWS:8862 +#: ../build/NEWS:9397 ../build/NEWS:11505 ../build/NEWS:12102 +#: ../build/NEWS:12433 ../build/NEWS:12844 ../build/NEWS:13221 +#: ../build/NEWS:13795 ../build/NEWS:14044 ../build/NEWS:14174 +#: ../build/NEWS:14464 ../build/NEWS:14705 ../build/NEWS:15235 +#: ../build/NEWS:15467 ../build/NEWS:15988 ../build/NEWS:16004 +#: ../build/NEWS:17275 ../build/NEWS:17780 ../build/NEWS:18423 +#: ../build/NEWS:19242 ../build/NEWS:19274 ../build/NEWS:19292 +#: ../build/NEWS:19749 ../build/NEWS:21038 ../build/NEWS:22851 +msgid "Windows" +msgstr "" + +#: ../build/NEWS:291 +msgid "" +"`bpo-40164 `__: Updates Windows to " +"OpenSSL 1.1.1f" +msgstr "" + +#: ../build/NEWS:293 +msgid "" +"`bpo-39930 `__: Ensures the required :" +"file:`vcruntime140.dll` is included in install packages." +msgstr "" + +#: ../build/NEWS:296 +msgid "" +"`bpo-39847 `__: Avoid hang when computer " +"is hibernated whilst waiting for a mutex (for lock-related objects from :mod:" +"`threading`) around 49-day uptime." +msgstr "" + +#: ../build/NEWS:300 +msgid "" +"`bpo-38597 `__: :mod:`distutils` will no " +"longer statically link :file:`vcruntime140.dll` when a redistributable " +"version is unavailable. All future releases of CPython will include a copy " +"of this DLL to ensure distributed extensions can continue to load." +msgstr "" + +#: ../build/NEWS:305 +msgid "" +"`bpo-38380 `__: Update Windows builds to " +"use SQLite 3.31.1" +msgstr "" + +#: ../build/NEWS:307 +msgid "" +"`bpo-39789 `__: Update Windows release " +"build machines to Visual Studio 2019 (MSVC 14.2)." +msgstr "" + +#: ../build/NEWS:310 +msgid "" +"`bpo-34803 `__: Package for nuget.org " +"now includes repository reference and bundled icon image." +msgstr "" + +#: ../build/NEWS:314 ../build/NEWS:737 ../build/NEWS:1007 ../build/NEWS:1564 +#: ../build/NEWS:1867 ../build/NEWS:2374 ../build/NEWS:3135 ../build/NEWS:3683 +#: ../build/NEWS:6945 ../build/NEWS:7607 ../build/NEWS:7767 ../build/NEWS:7979 +#: ../build/NEWS:8236 ../build/NEWS:8567 ../build/NEWS:9412 ../build/NEWS:12107 +#: ../build/NEWS:12458 ../build/NEWS:12853 +msgid "macOS" +msgstr "" + +#: ../build/NEWS:316 +msgid "" +"`bpo-40164 `__: Update macOS installer " +"builds to use OpenSSL 1.1.1g." +msgstr "" + +#: ../build/NEWS:318 +msgid "" +"`bpo-38380 `__: Update macOS builds to " +"use SQLite 3.31.1" +msgstr "" + +#: ../build/NEWS:321 ../build/NEWS:417 ../build/NEWS:471 ../build/NEWS:673 +#: ../build/NEWS:743 ../build/NEWS:1014 ../build/NEWS:1118 ../build/NEWS:1572 +#: ../build/NEWS:1874 ../build/NEWS:2058 ../build/NEWS:2386 ../build/NEWS:3142 +#: ../build/NEWS:3691 ../build/NEWS:4010 ../build/NEWS:4259 ../build/NEWS:6981 +#: ../build/NEWS:7384 ../build/NEWS:7614 ../build/NEWS:7772 ../build/NEWS:7988 +#: ../build/NEWS:8241 ../build/NEWS:9417 ../build/NEWS:9703 ../build/NEWS:11572 +#: ../build/NEWS:12112 ../build/NEWS:12466 ../build/NEWS:12858 +#: ../build/NEWS:13235 ../build/NEWS:13710 ../build/NEWS:14036 +#: ../build/NEWS:15150 ../build/NEWS:15423 ../build/NEWS:15634 +#: ../build/NEWS:15904 ../build/NEWS:17041 ../build/NEWS:18350 +#: ../build/NEWS:18518 ../build/NEWS:19084 ../build/NEWS:19604 +#: ../build/NEWS:19937 ../build/NEWS:20449 ../build/NEWS:22472 +msgid "IDLE" +msgstr "" + +#: ../build/NEWS:323 +msgid "" +"`bpo-27115 `__: For 'Go to Line', use a " +"Query box subclass with IDLE standard behavior and improved error checking." +msgstr "" + +#: ../build/NEWS:326 +msgid "" +"`bpo-39885 `__: Since clicking to get an " +"IDLE context menu moves the cursor, any text selection should be and now is " +"cleared." +msgstr "" + +#: ../build/NEWS:329 +msgid "" +"`bpo-39852 `__: Edit \"Go to line\" now " +"clears any selection, preventing accidental deletion. It also updates Ln and " +"Col on the status bar." +msgstr "" + +#: ../build/NEWS:332 +msgid "" +"`bpo-39781 `__: Selecting code context " +"lines no longer causes a jump." +msgstr "" + +#: ../build/NEWS:334 +msgid "" +"`bpo-38439 `__: Add a 256×256 pixel IDLE " +"icon to support more modern environments. Created by Andrew Clover. Delete " +"the unused macOS idle.icns icon file." +msgstr "" + +#: ../build/NEWS:338 +msgid "" +"`bpo-38689 `__: IDLE will no longer " +"freeze when inspect.signature fails when fetching a calltip." +msgstr "" + +#: ../build/NEWS:342 ../build/NEWS:1125 ../build/NEWS:1596 ../build/NEWS:1891 +#: ../build/NEWS:2092 ../build/NEWS:3159 ../build/NEWS:3698 ../build/NEWS:4039 +#: ../build/NEWS:7163 ../build/NEWS:7785 ../build/NEWS:8002 ../build/NEWS:8262 +#: ../build/NEWS:8868 ../build/NEWS:9456 ../build/NEWS:11769 +#: ../build/NEWS:12157 ../build/NEWS:12498 ../build/NEWS:12921 +#: ../build/NEWS:13407 ../build/NEWS:13775 ../build/NEWS:14169 +#: ../build/NEWS:14243 ../build/NEWS:15228 ../build/NEWS:15698 +#: ../build/NEWS:16018 ../build/NEWS:17293 ../build/NEWS:18411 +#: ../build/NEWS:19258 ../build/NEWS:19787 ../build/NEWS:20474 +#: ../build/NEWS:20693 ../build/NEWS:20901 ../build/NEWS:22812 +msgid "Tools/Demos" +msgstr "" + +#: ../build/NEWS:344 +msgid "" +"`bpo-40179 `__: Fixed translation of " +"``#elif`` in Argument Clinic." +msgstr "" + +#: ../build/NEWS:346 +msgid "" +"`bpo-36184 `__: Port python-gdb.py to " +"FreeBSD. python-gdb.py now checks for \"take_gil\" function name to check if " +"a frame tries to acquire the GIL, instead of checking for " +"\"pthread_cond_timedwait\" which is specific to Linux and can be a different " +"condition than the GIL." +msgstr "" + +#: ../build/NEWS:351 +msgid "" +"`bpo-39889 `__: Fixed ``unparse.py`` for " +"extended slices containing a single element (e.g. ``a[i:j,]``). Remove " +"redundant tuples when index with a tuple (e.g. ``a[i, j]``)." +msgstr "" + +#: ../build/NEWS:358 +msgid "" +"`bpo-35370 `__: If :c:func:`PySys_Audit` " +"fails in :c:func:`PyEval_SetProfile` or :c:func:`PyEval_SetTrace`, log the " +"error as an unraisable exception." +msgstr "" + +#: ../build/NEWS:361 +msgid "" +"`bpo-39884 `__: :c:func:" +"`PyDescr_NewMethod` and :c:func:`PyCFunction_NewEx` now include the method " +"name in the SystemError \"bad call flags\" error message to ease debug." +msgstr "" + +#: ../build/NEWS:365 +msgid "" +"`bpo-38643 `__: :c:func:" +"`PyNumber_ToBase` now raises a :exc:`SystemError` instead of crashing when " +"called with invalid base." +msgstr "" + +#: ../build/NEWS:368 +msgid "" +"`bpo-38913 `__: Fixed segfault in " +"``Py_BuildValue()`` called with a format containing \"#\" and undefined " +"PY_SSIZE_T_CLEAN whwn an exception is set." +msgstr "" + +#: ../build/NEWS:373 +msgid "Python 3.8.2 final" +msgstr "" + +#: ../build/NEWS:375 +msgid "*Release date: 2020-02-24*" +msgstr "" + +#: ../build/NEWS:380 +msgid "" +"`bpo-39382 `__: Fix a use-after-free in " +"the single inheritance path of ``issubclass()``, when the ``__bases__`` of " +"an object has a single reference, and so does its first item. Patch by " +"Yonatan Goldschmidt." +msgstr "" + +#: ../build/NEWS:384 +msgid "" +"`bpo-39427 `__: Document all " +"possibilities for the ``-X`` options in the command line help section. Patch " +"by Pablo Galindo." +msgstr "" + +#: ../build/NEWS:390 +msgid "" +"`bpo-39649 `__: Remove obsolete check " +"for `__args__` in bdb.Bdb.format_stack_entry." +msgstr "" + +#: ../build/NEWS:393 +msgid "" +"`bpo-39681 `__: Fix a regression where " +"the C pickle module wouldn't allow unpickling from a file-like object that " +"doesn't expose a readinto() method." +msgstr "" + +#: ../build/NEWS:397 +msgid "" +"`bpo-39546 `__: Fix a regression in :" +"class:`~argparse.ArgumentParser` where ``allow_abbrev=False`` was ignored " +"for long options that used a prefix character other than \"-\"." +msgstr "" + +#: ../build/NEWS:401 +msgid "" +"`bpo-39432 `__: Implement PEP-489 " +"algorithm for non-ascii \"PyInit\\_...\" symbol names in distutils to make " +"it export the correct init symbol also on Windows." +msgstr "" + +#: ../build/NEWS:408 +msgid "" +"`bpo-17422 `__: The language reference " +"now specifies restrictions on class namespaces. Adapted from a patch by " +"Ethan Furman." +msgstr "" + +#: ../build/NEWS:411 +msgid "" +"`bpo-39572 `__: Updated documentation of " +"``total`` flag of TypeDict." +msgstr "" + +#: ../build/NEWS:413 +msgid "" +"`bpo-39654 `__: In pyclbr doc, update " +"'class' to 'module' where appropriate and add readmodule comment. Patch by " +"Hakan Çelik." +msgstr "" + +#: ../build/NEWS:419 +msgid "" +"`bpo-39663 `__: Add tests for pyparse " +"find_good_parse_start()." +msgstr "" + +#: ../build/NEWS:423 +msgid "Python 3.8.2 release candidate 2" +msgstr "" + +#: ../build/NEWS:425 +msgid "*Release date: 2020-02-17*" +msgstr "" + +#: ../build/NEWS:430 +msgid "" +"`bpo-39184 `__: Add audit events to " +"functions in `fcntl`, `msvcrt`, `os`, `resource`, `shutil`, `signal` and " +"`syslog`." +msgstr "" + +#: ../build/NEWS:436 +msgid "" +"`bpo-39619 `__: Enable use of :func:`os." +"chroot` on HP-UX systems." +msgstr "" + +#: ../build/NEWS:438 +msgid "" +"`bpo-39606 `__: Fix regression caused by " +"fix for `bpo-39386 `__, that prevented " +"calling ``aclose`` on an async generator that had already been closed or " +"exhausted." +msgstr "" + +#: ../build/NEWS:442 +msgid "" +"`bpo-39453 `__: Fixed a possible crash " +"in :meth:`list.__contains__` when a list is changed during comparing items. " +"Patch by Dong-hee Na." +msgstr "" + +#: ../build/NEWS:445 +msgid "" +"`bpo-39219 `__: Syntax errors raised in " +"the tokenizer now always set correct \"text\" and \"offset\" attributes." +msgstr "" + +#: ../build/NEWS:451 +msgid "" +"`bpo-27657 `__: The original fix for " +"`bpo-27657 `__, \"Fix urlparse() with " +"numeric paths\" (GH-16839) included in 3.8.1, inadvertently introduced a " +"behavior change that broke several third-party packages relying on the " +"original undefined parsing behavior. The change is reverted in 3.8.2, " +"restoring the behavior of 3.8.0 and earlier releases." +msgstr "" + +#: ../build/NEWS:457 +msgid "" +"`bpo-39474 `__: Fixed starting position " +"of AST for expressions like ``(a)(b)``, ``(a)[b]`` and ``(a).b``." +msgstr "" + +#: ../build/NEWS:460 +msgid "" +"`bpo-21016 `__: The :mod:`pydoc` and :" +"mod:`trace` modules now use the :mod:`sysconfig` module to get the path to " +"the Python standard library, to support uncommon installation path like ``/" +"usr/lib64/python3.9/`` on Fedora. Patch by Jan Matějek." +msgstr "" + +#: ../build/NEWS:465 +msgid "" +"`bpo-39595 `__: Improved performance of " +"zipfile.Path for files with a large number of entries. Also improved " +"performance and fixed minor issue as published with `importlib_metadata 1.5 " +"`_." +msgstr "" + +#: ../build/NEWS:473 +msgid "" +"`bpo-39600 `__: In the font " +"configuration window, remove duplicated font names." +msgstr "" + +#: ../build/NEWS:477 +msgid "Python 3.8.2 release candidate 1" +msgstr "" + +#: ../build/NEWS:479 +msgid "*Release date: 2020-02-10*" +msgstr "" + +#: ../build/NEWS:484 +msgid "" +"`bpo-39401 `__: Avoid unsafe load of " +"``api-ms-win-core-path-l1-1-0.dll`` at startup on Windows 7." +msgstr "" + +#: ../build/NEWS:487 +msgid "" +"`bpo-39184 `__: Add audit events to " +"command execution functions in os and pty modules." +msgstr "" + +#: ../build/NEWS:493 +msgid "" +"`bpo-39579 `__: Change the ending column " +"offset of `Attribute` nodes constructed in `ast_for_dotted_name` to point at " +"the end of the current node and not at the end of the last `NAME` node." +msgstr "" + +#: ../build/NEWS:497 +msgid "" +"`bpo-39510 `__: Fix segfault in " +"``readinto()`` method on closed BufferedReader." +msgstr "" + +#: ../build/NEWS:499 +msgid "" +"`bpo-39492 `__: Fix a reference cycle in " +"the C Pickler that was preventing the garbage collection of deleted, pickled " +"objects." +msgstr "" + +#: ../build/NEWS:502 +msgid "" +"`bpo-39421 `__: Fix possible crashes " +"when operating with the functions in the :mod:`heapq` module and custom " +"comparison operators." +msgstr "" + +#: ../build/NEWS:505 +msgid "" +"`bpo-39386 `__: Prevent double awaiting " +"of async iterator." +msgstr "" + +#: ../build/NEWS:507 +msgid "" +"`bpo-39235 `__: Fix AST end location for " +"lone generator expression in function call, e.g. f(i for i in a)." +msgstr "" + +#: ../build/NEWS:510 +msgid "" +"`bpo-39209 `__: Correctly handle multi-" +"line tokens in interactive mode. Patch by Pablo Galindo." +msgstr "" + +#: ../build/NEWS:513 +msgid "" +"`bpo-39216 `__: Fix constant folding " +"optimization for positional only arguments - by Anthony Sottile." +msgstr "" + +#: ../build/NEWS:516 +msgid "" +"`bpo-39215 `__: Fix ``SystemError`` when " +"nested function has annotation on positional-only argument - by Anthony " +"Sottile." +msgstr "" + +#: ../build/NEWS:519 +msgid "" +"`bpo-38588 `__: Fix possible crashes in " +"dict and list when calling :c:func:`PyObject_RichCompareBool`." +msgstr "" + +#: ../build/NEWS:522 +msgid "" +"`bpo-38610 `__: Fix possible crashes in " +"several list methods by holding strong references to list elements when " +"calling :c:func:`PyObject_RichCompareBool`." +msgstr "" + +#: ../build/NEWS:529 +msgid "" +"`bpo-39590 `__: Collections.deque now " +"holds strong references during deque.__contains__ and deque.count, fixing " +"crashes." +msgstr "" + +#: ../build/NEWS:532 +msgid "" +"`bpo-38149 `__: :func:`sys.audit` is now " +"called only once per call of :func:`glob.glob` and :func:`glob.iglob`." +msgstr "" + +#: ../build/NEWS:535 +msgid "" +"`bpo-39450 `__: Striped whitespace from " +"docstring before returning it from :func:`unittest.case.shortDescription`." +msgstr "" + +#: ../build/NEWS:538 +msgid "" +"`bpo-39493 `__: Mark ``typing.IO." +"closed`` as a property" +msgstr "" + +#: ../build/NEWS:540 +msgid "" +"`bpo-39485 `__: Fix a bug in :func:" +"`unittest.mock.create_autospec` that would complain about the wrong number " +"of arguments for custom descriptors defined in an extension module returning " +"functions." +msgstr "" + +#: ../build/NEWS:544 +msgid "" +"`bpo-39082 `__: Allow AsyncMock to " +"correctly patch static/class methods" +msgstr "" + +#: ../build/NEWS:546 +msgid "" +"`bpo-39430 `__: Fixed race condition in " +"lazy imports in :mod:`tarfile`." +msgstr "" + +#: ../build/NEWS:548 +msgid "" +"`bpo-39390 `__: Fixed a regression with " +"the `ignore` callback of :func:`shutil.copytree`. The argument types are now " +"str and List[str] again." +msgstr "" + +#: ../build/NEWS:552 +msgid "" +"`bpo-39389 `__: Write accurate " +"compression level metadata in :mod:`gzip` archives, rather than always " +"signaling maximum compression." +msgstr "" + +#: ../build/NEWS:555 +msgid "" +"`bpo-39274 `__: ``bool(fraction." +"Fraction)`` now returns a boolean even if (numerator != 0) does not return a " +"boolean (ex: numpy number)." +msgstr "" + +#: ../build/NEWS:558 +msgid "" +"`bpo-39297 `__: Improved performance of " +"importlib.metadata distribution discovery and resilients to inaccessible sys." +"path entries (importlib_metadata v1.4.0)." +msgstr "" + +#: ../build/NEWS:562 +msgid "" +"`bpo-39242 `__: Updated the Gmane domain " +"from news.gmane.org to news.gmane.io which is used for examples of :class:" +"`~nntplib.NNTP` news reader server and nntplib tests." +msgstr "" + +#: ../build/NEWS:566 +msgid "" +"`bpo-38907 `__: In http.server script, " +"restore binding to IPv4 on Windows." +msgstr "" + +#: ../build/NEWS:568 +msgid "" +"`bpo-39152 `__: Fix ttk.Scale." +"configure([name]) to return configuration tuple for name or all options. " +"Giovanni Lombardo contributed part of the patch." +msgstr "" + +#: ../build/NEWS:571 +msgid "" +"`bpo-39198 `__: If an exception were to " +"be thrown in `Logger.isEnabledFor` (say, by asyncio timeouts or stopit) , " +"the `logging` global lock may not be released appropriately, resulting in " +"deadlock. This change wraps that block of code with `try...finally` to " +"ensure the lock is released." +msgstr "" + +#: ../build/NEWS:576 +msgid "" +"`bpo-39191 `__: Perform a check for " +"running loop before starting a new task in ``loop.run_until_complete()`` to " +"fail fast; it prevents the side effect of new task spawning before exception " +"raising." +msgstr "" + +#: ../build/NEWS:580 +msgid "" +"`bpo-38871 `__: Correctly parenthesize " +"filter-based statements that contain lambda expressions in mod:`lib2to3`. " +"Patch by Dong-hee Na." +msgstr "" + +#: ../build/NEWS:583 +msgid "" +"`bpo-39142 `__: A change was made to " +"logging.config.dictConfig to avoid converting instances of named tuples to " +"ConvertingTuple. It's assumed that named tuples are too specialised to be " +"treated like ordinary tuples; if a user of named tuples requires " +"ConvertingTuple functionality, they will have to implement that themselves " +"in their named tuple class." +msgstr "" + +#: ../build/NEWS:589 +msgid "" +"`bpo-39129 `__: Fix import path for " +"``asyncio.TimeoutError``" +msgstr "" + +#: ../build/NEWS:591 +msgid "" +"`bpo-39057 `__: :func:`urllib.request." +"proxy_bypass_environment` now ignores leading dots and no longer ignores a " +"trailing newline." +msgstr "" + +#: ../build/NEWS:594 +msgid "" +"`bpo-39056 `__: Fixed handling invalid " +"warning category in the -W option. No longer import the re module if it is " +"not needed." +msgstr "" + +#: ../build/NEWS:597 +msgid "" +"`bpo-39055 `__: :func:`base64.b64decode` " +"with ``validate=True`` raises now a binascii.Error if the input ends with a " +"single ``\\n``." +msgstr "" + +#: ../build/NEWS:600 +msgid "" +"`bpo-39033 `__: Fix :exc:`NameError` in :" +"mod:`zipimport`. Patch by Karthikeyan Singaravelan." +msgstr "" + +#: ../build/NEWS:603 +msgid "" +"`bpo-38878 `__: Fixed __subclasshook__ " +"of :class:`os.PathLike` to return a correct result upon inheritence. Patch " +"by Bar Harel." +msgstr "" + +#: ../build/NEWS:606 +msgid "" +"`bpo-35182 `__: Fixed :func:`Popen." +"communicate` subsequent call crash when the child process has already closed " +"any piped standard stream, but still continues to be running. Patch by " +"Andriy Maletsky." +msgstr "" + +#: ../build/NEWS:610 +msgid "" +"`bpo-38473 `__: Use signature from inner " +"mock for autospecced methods attached with :func:`unittest.mock." +"attach_mock`. Patch by Karthikeyan Singaravelan." +msgstr "" + +#: ../build/NEWS:613 +msgid "" +"`bpo-38293 `__: Add :func:`copy.copy` " +"and :func:`copy.deepcopy` support to :func:`property` objects." +msgstr "" + +#: ../build/NEWS:619 +msgid "" +"`bpo-39153 `__: Clarify refcounting " +"semantics for the following functions: - PyObject_SetItem - " +"PyMapping_SetItemString - PyDict_SetItem - PyDict_SetItemString" +msgstr "" + +#: ../build/NEWS:623 +msgid "" +"`bpo-39392 `__: Explain that when " +"filling with turtle, overlap regions may be left unfilled." +msgstr "" + +#: ../build/NEWS:626 +msgid "" +"`bpo-39381 `__: Mention in docs that :" +"func:`asyncio.get_event_loop` implicitly creates new event loop only if " +"called from the main thread." +msgstr "" + +#: ../build/NEWS:629 +msgid "" +"`bpo-38918 `__: Add an entry for " +"``__module__`` in the \"function\" & \"method\" sections of the `inspect " +"docs types and members table `_" +msgstr "" + +#: ../build/NEWS:633 +msgid "" +"`bpo-3530 `__: In the :mod:`ast` module " +"documentation, fix a misleading ``NodeTransformer`` example and add advice " +"on when to use the ``fix_missing_locations`` function." +msgstr "" + +#: ../build/NEWS:640 +msgid "" +"`bpo-39502 `__: Skip test_zipfile." +"test_add_file_after_2107() if :func:`time.localtime` fails with :exc:" +"`OverflowError`. It is the case on AIX 6.1 for example." +msgstr "" + +#: ../build/NEWS:644 +msgid "" +"`bpo-38546 `__: Fix " +"test_ressources_gced_in_workers() of test_concurrent_futures: explicitly " +"stop the manager to prevent leaking a child process running in the " +"background after the test completes." +msgstr "" + +#: ../build/NEWS:651 +msgid "" +"`bpo-39144 `__: The ctags and etags " +"build targets both include Modules/_ctypes and Python standard library " +"source files." +msgstr "" + +#: ../build/NEWS:657 +msgid "" +"`bpo-39439 `__: Honor the Python path " +"when a virtualenv is active on Windows." +msgstr "" + +#: ../build/NEWS:659 +msgid "" +"`bpo-39393 `__: Improve the error " +"message when attempting to load a DLL with unresolved dependencies." +msgstr "" + +#: ../build/NEWS:662 +msgid "" +"`bpo-38883 `__: :meth:`~pathlib.Path." +"home()` and :meth:`~pathlib.Path.expanduser()` on Windows now prefer :envvar:" +"`USERPROFILE` and no longer use :envvar:`HOME`, which is not normally set " +"for regular user accounts. This makes them again behave like :func:`os.path." +"expanduser`, which was changed to ignore :envvar:`HOME` in 3.8, see :issue:" +"`36264`." +msgstr "" + +#: ../build/NEWS:669 +msgid "" +"`bpo-39185 `__: The build.bat script has " +"additional options for very-quiet output (-q) and very-verbose output (-vv)" +msgstr "" + +#: ../build/NEWS:675 +msgid "" +"`bpo-30780 `__: Add remaining " +"configdialog tests for buttons and highlights and keys tabs." +msgstr "" + +#: ../build/NEWS:678 +msgid "" +"`bpo-39388 `__: IDLE Settings Cancel " +"button now cancels pending changes" +msgstr "" + +#: ../build/NEWS:680 +msgid "" +"`bpo-39050 `__: Make IDLE Settings " +"dialog Help button work again." +msgstr "" + +#: ../build/NEWS:682 +msgid "" +"`bpo-34118 `__: Tag memoryview, range, " +"and tuple as classes, the same as list, etcetera, in the library manual " +"built-in functions list." +msgstr "" + +#: ../build/NEWS:685 +msgid "" +"`bpo-38792 `__: Close an IDLE shell " +"calltip if a :exc:`KeyboardInterrupt` or shell restart occurs. Patch by " +"Zackery Spytz." +msgstr "" + +#: ../build/NEWS:688 +msgid "" +"`bpo-32989 `__: Add tests for editor " +"newline_and_indent_event method. Remove dead code from pyparse " +"find_good_parse_start method." +msgstr "" + +#: ../build/NEWS:693 +msgid "Python 3.8.1 final" +msgstr "" + +#: ../build/NEWS:695 +msgid "*Release date: 2019-12-18*" +msgstr "" + +#: ../build/NEWS:700 +msgid "" +"`bpo-39080 `__: Fix the value of " +"*end_col_offset* for Starred Expression AST nodes when they are among the " +"elements in the *args* attribute of Call AST nodes." +msgstr "" + +#: ../build/NEWS:704 +msgid "" +"`bpo-39031 `__: When parsing an \"elif\" " +"node, lineno and col_offset of the node now point to the \"elif\" keyword " +"and not to its condition, making it consistent with the \"if\" node. Patch " +"by Lysandros Nikolaou." +msgstr "" + +#: ../build/NEWS:708 +msgid "" +"`bpo-39008 `__: :c:func:`PySys_Audit` " +"now requires ``Py_ssize_t`` to be used for size arguments in the format " +"string, regardless of whether ``PY_SSIZE_T_CLEAN`` was defined at include " +"time." +msgstr "" + +#: ../build/NEWS:715 +msgid "" +"`bpo-39022 `__: Update importlib." +"metadata to include improvements from importlib_metadata 1.3 including " +"better serialization of EntryPoints and improved documentation for custom " +"finders." +msgstr "" + +#: ../build/NEWS:719 +msgid "" +"`bpo-38811 `__: Fix an unhandled " +"exception in :mod:`pathlib` when :meth:`os.link` is missing. Patch by Toke " +"Høiland-Jørgensen." +msgstr "" + +#: ../build/NEWS:722 +msgid "" +"`bpo-36406 `__: Handle namespace " +"packages in :mod:`doctest`. Patch by Karthikeyan Singaravelan." +msgstr "" + +#: ../build/NEWS:728 +msgid "" +"`bpo-38546 `__: Multiprocessing and " +"concurrent.futures tests now stop the resource tracker process when tests " +"complete." +msgstr "" + +#: ../build/NEWS:734 +msgid "" +"`bpo-39007 `__: Add auditing events to " +"functions in :mod:`winreg`." +msgstr "" + +#: ../build/NEWS:739 +msgid "" +"`bpo-38295 `__: Prevent failure of " +"test_relative_path in test_py_compile on macOS Catalina." +msgstr "" + +#: ../build/NEWS:745 +msgid "" +"`bpo-38944 `__: Escape key now closes " +"IDLE completion windows. Patch by Johnny Najera." +msgstr "" + +#: ../build/NEWS:748 +msgid "" +"`bpo-38943 `__: Fix IDLE autocomplete " +"windows not always appearing on some systems. Patch by Johnny Najera." +msgstr "" + +#: ../build/NEWS:753 +msgid "Python 3.8.1 release candidate 1" +msgstr "" + +#: ../build/NEWS:755 +msgid "*Release date: 2019-12-09*" +msgstr "" + +#: ../build/NEWS:760 +msgid "" +"`bpo-38945 `__: Newline characters have " +"been escaped when performing uu encoding to prevent them from overflowing " +"into to content section of the encoded file. This prevents malicious or " +"accidental modification of data during the decoding process." +msgstr "" + +#: ../build/NEWS:765 +msgid "" +"`bpo-37228 `__: Due to significant " +"security concerns, the *reuse_address* parameter of :meth:`asyncio.loop." +"create_datagram_endpoint` is no longer supported. This is because of the " +"behavior of ``SO_REUSEADDR`` in UDP. For more details, see the documentation " +"for ``loop.create_datagram_endpoint()``. (Contributed by Kyle Stanley, " +"Antoine Pitrou, and Yury Selivanov in :issue:`37228`.)" +msgstr "" + +#: ../build/NEWS:772 +msgid "" +"`bpo-38722 `__: :mod:`runpy` now uses :" +"meth:`io.open_code` to open code files. Patch by Jason Killen." +msgstr "" + +#: ../build/NEWS:775 +msgid "" +"`bpo-38804 `__: Fixes a ReDoS " +"vulnerability in :mod:`http.cookiejar`. Patch by Ben Caller." +msgstr "" + +#: ../build/NEWS:778 +msgid "" +"`bpo-38622 `__: Add additional audit " +"events for the :mod:`ctypes` module." +msgstr "" + +#: ../build/NEWS:780 +msgid "" +"`bpo-38418 `__: Fixes audit event for :" +"func:`os.system` to be named ``os.system``." +msgstr "" + +#: ../build/NEWS:786 +msgid "" +"`bpo-38673 `__: In REPL mode, don't " +"switch to PS2 if the line starts with comment or whitespace. Based on work " +"by Batuhan Taşkaya." +msgstr "" + +#: ../build/NEWS:789 +msgid "" +"`bpo-38922 `__: Calling ``replace`` on a " +"code object now raises the ``code.__new__`` audit event." +msgstr "" + +#: ../build/NEWS:792 +msgid "" +"`bpo-38920 `__: Add audit hooks for " +"when :func:`sys.excepthook` and :func:`sys.unraisablehook` are invoked" +msgstr "" + +#: ../build/NEWS:795 +msgid "" +"`bpo-38892 `__: Improve documentation " +"for audit events table and functions." +msgstr "" + +#: ../build/NEWS:797 +msgid "" +"`bpo-38707 `__: ``MainThread.native_id`` " +"is now correctly reset in child processes spawned using :class:" +"`multiprocessing.Process`, instead of retaining the parent's value." +msgstr "" + +#: ../build/NEWS:801 +msgid "" +"`bpo-38640 `__: Fixed a bug in the " +"compiler that was causing to raise in the presence of break statements and " +"continue statements inside always false while loops. Patch by Pablo Galindo." +msgstr "" + +#: ../build/NEWS:805 +msgid "" +"`bpo-38535 `__: Fixed line numbers and " +"column offsets for AST nodes for calls without arguments in decorators." +msgstr "" + +#: ../build/NEWS:808 +msgid "" +"`bpo-38525 `__: Fix a segmentation fault " +"when using reverse iterators of empty ``dict`` objects. Patch by Dong-hee Na " +"and Inada Naoki." +msgstr "" + +#: ../build/NEWS:811 +msgid "" +"`bpo-35409 `__: Ignore GeneratorExit " +"exceptions when throwing an exception into the aclose coroutine of an " +"asynchronous generator." +msgstr "" + +#: ../build/NEWS:817 +msgid "" +"`bpo-39006 `__: Fix asyncio when the ssl " +"module is missing: only check for ssl.SSLSocket instance if the ssl module " +"is available." +msgstr "" + +#: ../build/NEWS:820 +msgid "" +"`bpo-38708 `__: Fix a potential " +"IndexError in email parser when parsing an empty msg-id." +msgstr "" + +#: ../build/NEWS:823 +msgid "" +"`bpo-38698 `__: Add a new " +"``InvalidMessageID`` token to email parser to represent invalid Message-ID " +"headers. Also, add defects when there is remaining value after parsing the " +"header." +msgstr "" + +#: ../build/NEWS:827 +msgid "" +"`bpo-38979 `__: Return class from " +"``ContextVar.__class_getitem__`` to simplify subclassing." +msgstr "" + +#: ../build/NEWS:830 +msgid "" +"`bpo-38986 `__: Make repr of C " +"accelerated TaskWakeupMethWrapper the same as of pure Python version." +msgstr "" + +#: ../build/NEWS:833 +msgid "" +"`bpo-38529 `__: Drop too noisy asyncio " +"warning about deletion of a stream without explicit ``.close()`` call." +msgstr "" + +#: ../build/NEWS:836 +msgid "" +"`bpo-38634 `__: The :mod:`readline` " +"module now detects if Python is linked to libedit at runtime on all " +"platforms. Previously, the check was only done on macOS." +msgstr "" + +#: ../build/NEWS:840 +msgid "" +"`bpo-33684 `__: Fix ``json.tool`` failed " +"to read a JSON file with non-ASCII characters when locale encoding is not " +"UTF-8." +msgstr "" + +#: ../build/NEWS:843 +msgid "" +"`bpo-38698 `__: Prevent " +"UnboundLocalError to pop up in parse_message_id" +msgstr "" + +#: ../build/NEWS:845 +msgid "" +"parse_message_id() was improperly using a token defined inside an exception " +"handler, which was raising `UnboundLocalError` on parsing an invalid value. " +"Patch by Claudiu Popa." +msgstr "" + +#: ../build/NEWS:849 +msgid "" +"`bpo-26730 `__: Fix " +"``SpooledTemporaryFile.rollover()`` might corrupt the file when it is in " +"text mode. Patch by Serhiy Storchaka." +msgstr "" + +#: ../build/NEWS:852 +msgid "" +"`bpo-38668 `__: Calling func:`shutil." +"copytree` to copy a directory tree from one directory to another " +"subdirectory resulted in an endless loop and a RecursionError. A fix was " +"added to consume an iterator and create the list of the entries to be " +"copied, avoiding the recursion for newly created directories. Patch by Bruno " +"P. Kinoshita." +msgstr "" + +#: ../build/NEWS:858 +msgid "" +"`bpo-37838 `__: :meth:`typing." +"get_type_hints` properly handles functions decorated with :meth:`functools." +"wraps`." +msgstr "" + +#: ../build/NEWS:861 +msgid "" +"`bpo-38859 `__: AsyncMock now returns " +"StopAsyncIteration on the exaustion of a side_effects iterable. Since " +"PEP-479 its Impossible to raise a StopIteration exception from a coroutine." +msgstr "" + +#: ../build/NEWS:865 +msgid "" +"`bpo-38857 `__: AsyncMock fix for return " +"values that are awaitable types. This also covers side_effect iterable " +"values that happend to be awaitable, and wraps callables that return an " +"awaitable type. Before these awaitables were being awaited instead of being " +"returned as is." +msgstr "" + +#: ../build/NEWS:870 +msgid "" +"`bpo-38821 `__: Fix unhandled exceptions " +"in :mod:`argparse` when internationalizing error messages for arguments with " +"``nargs`` set to special (non-integer) values. Patch by Federico Bond." +msgstr "" + +#: ../build/NEWS:874 +msgid "" +"`bpo-38820 `__: Make Python compatible " +"with OpenSSL 3.0.0. :func:`ssl.SSLSocket.getpeercert` no longer returns IPv6 " +"addresses with a trailing new line." +msgstr "" + +#: ../build/NEWS:878 +msgid "" +"`bpo-38807 `__: Update :exc:`TypeError` " +"messages for :meth:`os.path.join` to include :class:`os.PathLike` objects as " +"acceptable input types." +msgstr "" + +#: ../build/NEWS:881 +msgid "" +"`bpo-38785 `__: Prevent asyncio from " +"crashing if parent ``__init__`` is not called from a constructor of object " +"derived from ``asyncio.Future``." +msgstr "" + +#: ../build/NEWS:884 +msgid "" +"`bpo-38723 `__: :mod:`pdb` now uses :" +"meth:`io.open_code` to trigger auditing events." +msgstr "" + +#: ../build/NEWS:887 +msgid "" +"`bpo-27805 `__: Allow opening pipes and " +"other non-seekable files in append mode with :func:`open`." +msgstr "" + +#: ../build/NEWS:890 +msgid "" +"`bpo-38686 `__: Added support for " +"multiple ``qop`` values in :class:`urllib.request.AbstractDigestAuthHandler`." +msgstr "" + +#: ../build/NEWS:893 +msgid "" +"`bpo-38334 `__: Fixed seeking backward " +"on an encrypted :class:`zipfile.ZipExtFile`." +msgstr "" + +#: ../build/NEWS:896 +msgid "" +"`bpo-34679 `__: asynci.ProactorEventLoop." +"close() now only calls signal.set_wakeup_fd() in the main thread." +msgstr "" + +#: ../build/NEWS:899 +msgid "" +"`bpo-31202 `__: The case the result of :" +"func:`pathlib.WindowsPath.glob` matches now the case of the pattern for " +"literal parts." +msgstr "" + +#: ../build/NEWS:902 +msgid "" +"`bpo-38521 `__: Fixed erroneous equality " +"comparison in statistics.NormalDist()." +msgstr "" + +#: ../build/NEWS:904 +msgid "" +"`bpo-38478 `__: Fixed a bug in :meth:" +"`inspect.signature.bind` that was causing it to fail when handling a keyword " +"argument with same name as positional-only parameter. Patch by Pablo Galindo." +msgstr "" + +#: ../build/NEWS:908 +msgid "" +"`bpo-33604 `__: Fixed `hmac.new` and " +"`hmac.HMAC` to raise TypeError instead of ValueError when the digestmod " +"parameter, now required in 3.8, is omitted. Also clarified the hmac module " +"documentation and docstrings." +msgstr "" + +#: ../build/NEWS:912 +msgid "" +"`bpo-38422 `__: Clarify docstrings of " +"pathlib suffix(es)" +msgstr "" + +#: ../build/NEWS:914 +msgid "" +"`bpo-36993 `__: Improve error reporting " +"for corrupt zip files with bad zip64 extra data. Patch by Daniel Hillier." +msgstr "" + +#: ../build/NEWS:917 +msgid "" +"`bpo-36820 `__: Break cycle generated " +"when saving an exception in socket.py, codeop.py and dyld.py as they keep " +"alive not only the exception but user objects through the ``__traceback__`` " +"attribute. Patch by Mario Corchero." +msgstr "" + +#: ../build/NEWS:921 +msgid "" +"`bpo-34776 `__: Fix dataclasses to " +"support forward references in type annotations" +msgstr "" + +#: ../build/NEWS:924 +msgid "" +"`bpo-33348 `__: lib2to3 now recognizes " +"expressions after ``*`` and `**` like in ``f(*[] or [])``." +msgstr "" + +#: ../build/NEWS:927 +msgid "" +"`bpo-27657 `__: Fix urllib.parse." +"urlparse() with numeric paths. A string like \"path:80\" is no longer parsed " +"as a path but as a scheme (\"path\") and a path (\"80\")." +msgstr "" + +#: ../build/NEWS:934 +msgid "" +"`bpo-38816 `__: Provides more details " +"about the interaction between :c:func:`fork` and CPython's runtime, focusing " +"just on the C-API. This includes cautions about where :c:func:`fork` should " +"and shouldn't be called." +msgstr "" + +#: ../build/NEWS:939 +#, python-format +msgid "" +"`bpo-38351 `__: Modernize :mod:`email` " +"examples from %-formatting to f-strings." +msgstr "" + +#: ../build/NEWS:941 +msgid "" +"`bpo-38778 `__: Document the fact that :" +"exc:`RuntimeError` is raised if :meth:`os.fork` is called in a " +"subinterpreter." +msgstr "" + +#: ../build/NEWS:944 +msgid "" +"`bpo-38592 `__: Add Brazilian Portuguese " +"to the language switcher at Python Documentation website." +msgstr "" + +#: ../build/NEWS:950 +msgid "" +"`bpo-38547 `__: Fix test_pty: if the " +"process is the session leader, closing the master file descriptor raises a " +"SIGHUP signal: simply ignore SIGHUP when running the tests." +msgstr "" + +#: ../build/NEWS:954 +msgid "" +"`bpo-38992 `__: Fix a test for :func:" +"`math.fsum` that was failing due to constant folding." +msgstr "" + +#: ../build/NEWS:957 +msgid "" +"`bpo-38965 `__: Fix test_faulthandler on " +"GCC 10. Use the \"volatile\" keyword in ``faulthandler._stack_overflow()`` " +"to prevent tail call optimization on any compiler, rather than relying on " +"compiler specific pragma." +msgstr "" + +#: ../build/NEWS:961 +msgid "" +"`bpo-38875 `__: test_capi: trashcan " +"tests now require the test \"cpu\" resource." +msgstr "" + +#: ../build/NEWS:963 +msgid "" +"`bpo-38841 `__: Skip asyncio " +"test_create_datagram_endpoint_existing_sock_unix on platforms lacking a " +"functional bind() for named unix domain sockets." +msgstr "" + +#: ../build/NEWS:966 +msgid "" +"`bpo-38669 `__: Raise :exc:`TypeError` " +"when passing target as a string with :meth:`unittest.mock.patch.object`." +msgstr "" + +#: ../build/NEWS:969 +msgid "" +"`bpo-35998 `__: Fix a race condition in " +"test_asyncio.test_start_tls_server_1(). Previously, there was a race " +"condition between the test main() function which replaces the protocol and " +"the test ServerProto protocol which sends ANSWER once it gets HELLO. Now, " +"only the test main() function is responsible to send data, ServerProto no " +"longer sends data." +msgstr "" + +#: ../build/NEWS:978 +msgid "" +"`bpo-37404 `__: :mod:`asyncio` now " +"raises :exc:`TyperError` when calling incompatible methods with an :class:" +"`ssl.SSLSocket` socket. Patch by Ido Michael." +msgstr "" + +#: ../build/NEWS:982 +msgid "" +"`bpo-38809 `__: On Windows, build " +"scripts will now recognize and use python.exe from an active virtual env." +msgstr "" + +#: ../build/NEWS:985 +msgid "" +"`bpo-38684 `__: Fix _hashlib build when " +"Blake2 is disabled, but OpenSSL supports it." +msgstr "" + +#: ../build/NEWS:988 +msgid "" +"`bpo-37415 `__: Fix stdatomic.h header " +"check for ICC compiler: the ICC implementation lacks atomic_uintptr_t type " +"which is needed by Python." +msgstr "" + +#: ../build/NEWS:994 +msgid "" +"`bpo-33125 `__: Add support for building " +"and releasing Windows ARM64 packages." +msgstr "" + +#: ../build/NEWS:996 +msgid "" +"`bpo-38589 `__: Fixes HTML Help shortcut " +"when Windows is not installed to C drive" +msgstr "" + +#: ../build/NEWS:999 +msgid "" +"`bpo-38453 `__: Ensure ntpath.realpath() " +"correctly resolves relative paths." +msgstr "" + +#: ../build/NEWS:1001 +msgid "" +"`bpo-38519 `__: Restores the internal C " +"headers that were missing from the nuget.org and Microsoft Store packages." +msgstr "" + +#: ../build/NEWS:1004 +msgid "" +"`bpo-38492 `__: Remove ``pythonw.exe`` " +"dependency on the Microsoft C++ runtime." +msgstr "" + +#: ../build/NEWS:1009 +msgid "" +"`bpo-37931 `__: Fixed a crash on OSX " +"dynamic builds that occurred when re-initializing the posix module after a " +"Py_Finalize if the environment had changed since the previous `import " +"posix`. Patch by Benoît Hudson." +msgstr "" + +#: ../build/NEWS:1016 +msgid "" +"`bpo-38862 `__: 'Strip Trailing " +"Whitespace' on the Format menu removes extra newlines at the end of non-" +"shell files." +msgstr "" + +#: ../build/NEWS:1019 +msgid "" +"`bpo-26353 `__: Stop adding newline when " +"saving an IDLE shell window." +msgstr "" + +#: ../build/NEWS:1021 +msgid "" +"`bpo-38636 `__: Fix IDLE Format menu tab " +"toggle and file indent width. These functions (default shortcuts Alt-T and " +"Alt-U) were mistakenly disabled in 3.7.5 and 3.8.0." +msgstr "" + +#: ../build/NEWS:1025 +msgid "" +"`bpo-4630 `__: Add an option to toggle " +"IDLE's cursor blink for shell, editor, and output windows. See Settings, " +"General, Window Preferences, Cursor Blink. Patch by Zachary Spytz." +msgstr "" + +#: ../build/NEWS:1029 +msgid "" +"`bpo-38598 `__: Do not try to compile " +"IDLE shell or output windows" +msgstr "" + +#: ../build/NEWS:1034 +msgid "" +"`bpo-37633 `__: Re-export some function " +"compatibility wrappers for macros in ``pythonrun.h``." +msgstr "" + +#: ../build/NEWS:1037 +msgid "" +"`bpo-38540 `__: Fixed possible leak in :" +"c:func:`PyArg_Parse` and similar functions for format units ``\"es#\"`` and " +"``\"et#\"`` when the macro :c:macro:`PY_SSIZE_T_CLEAN` is not defined." +msgstr "" + +#: ../build/NEWS:1041 +msgid "" +"`bpo-36389 `__: The " +"``_PyObject_CheckConsistency()`` function is now also available in release " +"mode. For example, it can be used to debug a crash in the ``visit_decref()`` " +"function of the GC." +msgstr "" + +#: ../build/NEWS:1047 +msgid "Python 3.8.0 final" +msgstr "" + +#: ../build/NEWS:1049 +msgid "*Release date: 2019-10-14*" +msgstr "" + +#: ../build/NEWS:1054 +msgid "" +"`bpo-38469 `__: Fixed a bug where the " +"scope of named expressions was not being resolved correctly in the presence " +"of the *global* keyword. Patch by Pablo Galindo." +msgstr "" + +#: ../build/NEWS:1058 +msgid "" +"`bpo-38379 `__: When cyclic garbage " +"collection (gc) runs finalizers that resurrect unreachable objects, the " +"current gc run ends, without collecting any cyclic trash. However, the " +"statistics reported by ``collect()`` and ``get_stats()`` claimed that all " +"cyclic trash found was collected, and that the resurrected objects were " +"collected. Changed the stats to report that none were collected." +msgstr "" + +#: ../build/NEWS:1068 +msgid "" +"`bpo-38449 `__: Revert GH-15522, which " +"introduces a regression in :meth:`mimetypes.guess_type` due to improper " +"handling of filenames as urls." +msgstr "" + +#: ../build/NEWS:1072 +msgid "" +"`bpo-38431 `__: Fix ``__repr__`` method " +"for :class:`dataclasses.InitVar` to support typing objects, patch by Samuel " +"Colvin." +msgstr "" + +#: ../build/NEWS:1075 +msgid "" +"`bpo-38109 `__: Add missing :data:`stat." +"S_IFDOOR`, :data:`stat.S_IFPORT`, :data:`stat.S_IFWHT`, :func:`stat." +"S_ISDOOR`, :func:`stat.S_ISPORT`, and :func:`stat.S_ISWHT` values to the " +"Python implementation of :mod:`stat`." +msgstr "" + +#: ../build/NEWS:1079 +msgid "" +"`bpo-38405 `__: Nested subclasses of :" +"class:`typing.NamedTuple` are now pickleable." +msgstr "" + +#: ../build/NEWS:1082 +msgid "" +"`bpo-38332 `__: Prevent :exc:`KeyError` " +"thrown by :func:`_encoded_words.decode` when given an encoded-word with " +"invalid content-type encoding from propagating all the way to :func:`email." +"message.get`." +msgstr "" + +#: ../build/NEWS:1086 +msgid "" +"`bpo-38341 `__: Add :exc:`smtplib." +"SMTPNotSupportedError` to the :mod:`smtplib` exported names." +msgstr "" + +#: ../build/NEWS:1089 +msgid "" +"`bpo-13153 `__: OS native encoding is " +"now used for converting between Python strings and Tcl objects. This allows " +"to display, copy and paste to clipboard emoji and other non-BMP characters. " +"Converting strings from Tcl to Python and back now never fails (except " +"MemoryError)." +msgstr "" + +#: ../build/NEWS:1097 +msgid "" +"`bpo-38294 `__: Add list of no-longer-" +"escaped chars to re.escape documentation." +msgstr "" + +#: ../build/NEWS:1102 +msgid "" +"`bpo-37531 `__: On timeout, regrtest no " +"longer attempts to call ``popen.communicate()`` again: it can hang until all " +"child processes using stdout and stderr pipes completes. Kill the worker " +"process and ignores its output. Change also the faulthandler timeout of the " +"main process from 1 minute to 5 minutes, for Python slowest buildbots." +msgstr "" + +#: ../build/NEWS:1111 +msgid "" +"`bpo-38344 `__: Fix error message in " +"activate.bat." +msgstr "" + +#: ../build/NEWS:1113 +msgid "" +"`bpo-38359 `__: Ensures ``pyw.exe`` " +"launcher reads correct registry key." +msgstr "" + +#: ../build/NEWS:1115 +msgid "" +"`bpo-38355 `__: Fixes ``ntpath." +"realpath`` failing on ``sys.executable``." +msgstr "" + +#: ../build/NEWS:1120 +msgid "" +"`bpo-36698 `__: IDLE no longer fails " +"when write non-encodable characters to stderr. It now escapes them with a " +"backslash, as the regular Python interpreter. Added the ``errors`` field to " +"the standard streams." +msgstr "" + +#: ../build/NEWS:1127 +msgid "" +"`bpo-38118 `__: Update Valgrind " +"suppression file to ignore a false alarm in :c:func:`PyUnicode_Decode` when " +"using GCC builtin strcmp()." +msgstr "" + +#: ../build/NEWS:1130 +msgid "" +"`bpo-38347 `__: pathfix.py: Assume all " +"files that end on '.py' are Python scripts when working recursively." +msgstr "" + +#: ../build/NEWS:1136 +msgid "" +"`bpo-38395 `__: Fix a crash in :class:" +"`weakref.proxy` objects due to incorrect lifetime management when calling " +"some associated methods that may delete the last reference to object being " +"referenced by the proxy. Patch by Pablo Galindo." +msgstr "" + +#: ../build/NEWS:1143 +msgid "Python 3.8.0 release candidate 1" +msgstr "" + +#: ../build/NEWS:1145 +msgid "*Release date: 2019-10-01*" +msgstr "" + +#: ../build/NEWS:1150 +msgid "" +"`bpo-38243 `__: Escape the server title " +"of :class:`xmlrpc.server.DocXMLRPCServer` when rendering the document page " +"as HTML. (Contributed by Dong-hee Na in :issue:`38243`.)" +msgstr "" + +#: ../build/NEWS:1154 +msgid "" +"`bpo-38174 `__: Update vendorized expat " +"library version to 2.2.8, which resolves CVE-2019-15903." +msgstr "" + +#: ../build/NEWS:1157 +msgid "" +"`bpo-37764 `__: Fixes email." +"_header_value_parser.get_unstructured going into an infinite loop for a " +"specific case in which the email header does not have trailing whitespace, " +"and the case in which it contains an invalid encoded word. Patch by Ashwin " +"Ramaswami." +msgstr "" + +#: ../build/NEWS:1165 +msgid "" +"`bpo-38006 `__: Fix a bug due to the " +"interaction of weakrefs and the cyclic garbage collector. We must clear any " +"weakrefs in garbage in order to prevent their callbacks from executing and " +"causing a crash." +msgstr "" + +#: ../build/NEWS:1169 +msgid "" +"`bpo-38317 `__: Fix warnings options " +"priority: ``PyConfig.warnoptions`` has the highest priority, as stated in " +"the :pep:`587`." +msgstr "" + +#: ../build/NEWS:1172 +msgid "" +"`bpo-36871 `__: Improve error handling " +"for the assert_has_calls and assert_has_awaits methods of mocks. Fixed a bug " +"where any errors encountered while binding the expected calls to the mock's " +"spec were silently swallowed, leading to misleading error output." +msgstr "" + +#: ../build/NEWS:1177 +msgid "" +"`bpo-38236 `__: Python now dumps path " +"configuration if it fails to import the Python codecs of the filesystem and " +"stdio encodings." +msgstr "" + +#: ../build/NEWS:1180 +msgid "" +"`bpo-38013 `__: Allow to call " +"``async_generator_athrow().throw(...)`` even for non-started async generator " +"helper. It fixes annoying warning at the end of :func:`asyncio.run` call." +msgstr "" + +#: ../build/NEWS:1184 +msgid "" +"`bpo-38124 `__: Fix an off-by-one error " +"in PyState_AddModule that could cause out-of-bounds memory access." +msgstr "" + +#: ../build/NEWS:1187 +msgid "" +"`bpo-38005 `__: Fixed comparing and " +"creating of InterpreterID and ChannelID." +msgstr "" + +#: ../build/NEWS:1189 +msgid "" +"`bpo-37994 `__: Fixed silencing " +"arbitrary errors if an attribute lookup fails in several sites. Only " +"AttributeError should be silenced." +msgstr "" + +#: ../build/NEWS:1192 +msgid "" +"`bpo-37990 `__: Fix elapsed time in gc " +"stats was not printed correctly. This bug was a regression in 3.8b4." +msgstr "" + +#: ../build/NEWS:1195 +msgid "" +"`bpo-37966 `__: The implementation of :" +"func:`~unicodedata.is_normalized` has been greatly sped up on strings that " +"aren't normalized, by implementing the full normalization-quick-check " +"algorithm from the Unicode standard." +msgstr "" + +#: ../build/NEWS:1199 +msgid "" +"`bpo-20490 `__: Improve import error " +"message for partially initialized module on circular ``from`` imports - by " +"Anthony Sottile." +msgstr "" + +#: ../build/NEWS:1202 +msgid "" +"`bpo-37409 `__: Ensure explicit relative " +"imports from interactive sessions and scripts (having no parent package) " +"always raise ImportError, rather than treating the current module as the " +"package. Patch by Ben Lewis." +msgstr "" + +#: ../build/NEWS:1206 +msgid "" +"`bpo-37619 `__: When adding a wrapper " +"descriptor from one class to a different class (for example, setting " +"``__add__ = str.__add__`` on an ``int`` subclass), an exception is correctly " +"raised when the operator is called." +msgstr "" + +#: ../build/NEWS:1210 +msgid "" +"`bpo-30773 `__: Prohibit parallel " +"running of aclose() / asend() / athrow(). Fix ag_running to reflect the " +"actual running status of the AG." +msgstr "" + +#: ../build/NEWS:1216 +msgid "" +"`bpo-38319 `__: sendfile() used in " +"socket and shutil modules was raising OverflowError for files >= 2GiB on 32-" +"bit architectures. (patch by Giampaolo Rodola)" +msgstr "" + +#: ../build/NEWS:1220 +msgid "" +"`bpo-38242 `__: Revert the new asyncio " +"Streams API" +msgstr "" + +#: ../build/NEWS:1222 +msgid "" +"`bpo-38019 `__: Correctly handle pause/" +"resume reading of closed asyncio unix pipe." +msgstr "" + +#: ../build/NEWS:1225 +msgid "" +"`bpo-38163 `__: Child mocks will now " +"detect their type as either synchronous or asynchronous, asynchronous child " +"mocks will be AsyncMocks and synchronous child mocks will be either " +"MagicMock or Mock (depending on their parent type)." +msgstr "" + +#: ../build/NEWS:1230 +msgid "" +"`bpo-38161 `__: Removes _AwaitEvent from " +"AsyncMock." +msgstr "" + +#: ../build/NEWS:1232 +msgid "" +"`bpo-38216 `__: Allow the rare code that " +"wants to send invalid http requests from the `http.client` library a way to " +"do so. The fixes for `bpo-30458 `__ led " +"to breakage for some projects that were relying on this ability to test " +"their own behavior in the face of bad requests." +msgstr "" + +#: ../build/NEWS:1237 +msgid "" +"`bpo-38108 `__: Any synchronous magic " +"methods on an AsyncMock now return a MagicMock. Any asynchronous magic " +"methods on a MagicMock now return an AsyncMock." +msgstr "" + +#: ../build/NEWS:1241 +msgid "" +"`bpo-38248 `__: asyncio: Fix " +"inconsistent immediate Task cancellation" +msgstr "" + +#: ../build/NEWS:1243 +msgid "" +"`bpo-38237 `__: The arguments for the " +"builtin pow function are more descriptive. They can now also be passed in as " +"keywords." +msgstr "" + +#: ../build/NEWS:1246 +msgid "" +"`bpo-38191 `__: Constructors of :class:" +"`~typing.NamedTuple` and :class:`~typing.TypedDict` types now accept " +"arbitrary keyword argument names, including \"cls\", \"self\", \"typename\", " +"\"_typename\", \"fields\" and \"_fields\". Passing positional arguments by " +"keyword is deprecated." +msgstr "" + +#: ../build/NEWS:1251 +msgid "" +"`bpo-38185 `__: Fixed case-insensitive " +"string comparison in :class:`sqlite3.Row` indexing." +msgstr "" + +#: ../build/NEWS:1254 +msgid "" +"`bpo-38136 `__: Changes AsyncMock call " +"count and await count to be two different counters. Now await count only " +"counts when a coroutine has been awaited, not when it has been called, and " +"vice-versa. Update the documentation around this." +msgstr "" + +#: ../build/NEWS:1259 +msgid "" +"`bpo-37828 `__: Fix default mock name " +"in :meth:`unittest.mock.Mock.assert_called` exceptions. Patch by Abraham " +"Toriz Cruz." +msgstr "" + +#: ../build/NEWS:1263 +msgid "" +"`bpo-38175 `__: Fix a memory leak in " +"comparison of :class:`sqlite3.Row` objects." +msgstr "" + +#: ../build/NEWS:1266 +msgid "" +"`bpo-33936 `__: _hashlib no longer calls " +"obsolete OpenSSL initialization function with OpenSSL 1.1.0+." +msgstr "" + +#: ../build/NEWS:1269 +msgid "" +"`bpo-34706 `__: Preserve subclassing in " +"inspect.Signature.from_callable." +msgstr "" + +#: ../build/NEWS:1271 +msgid "" +"`bpo-38153 `__: Names of hashing " +"algorithms frome OpenSSL are now normalized to follow Python's naming " +"conventions. For example OpenSSL uses sha3-512 instead of sha3_512 or " +"blake2b512 instead of blake2b." +msgstr "" + +#: ../build/NEWS:1275 +msgid "" +"`bpo-38115 `__: Fix a bug in dis." +"findlinestarts() where it would return invalid bytecode offsets. Document " +"that a code object's co_lnotab can contain invalid bytecode offsets." +msgstr "" + +#: ../build/NEWS:1279 +msgid "" +"`bpo-38148 `__: Add slots to :mod:" +"`asyncio` transport classes, which can reduce memory usage." +msgstr "" + +#: ../build/NEWS:1282 +msgid "" +"`bpo-36991 `__: Fixes a potential " +"incorrect AttributeError exception escaping ZipFile.extract() in some " +"unsupported input error situations." +msgstr "" + +#: ../build/NEWS:1285 +msgid "" +"`bpo-38134 `__: Remove obsolete copy of " +"PBKDF2_HMAC_fast. All supported OpenSSL versions contain a fast " +"implementation." +msgstr "" + +#: ../build/NEWS:1288 +msgid "" +"`bpo-38132 `__: The OpenSSL hashlib " +"wrapper uses a simpler implementation. Several Macros and pointless caches " +"are gone. The hash name now comes from OpenSSL's EVP. The algorithm name " +"stays the same, except it is now always lower case." +msgstr "" + +#: ../build/NEWS:1293 +msgid "" +"`bpo-38008 `__: Fix parent class check " +"in protocols to correctly identify the module that provides a builtin " +"protocol, instead of assuming they all come from the :mod:`collections.abc` " +"module" +msgstr "" + +#: ../build/NEWS:1297 +msgid "" +"`bpo-37405 `__: Fixed regression bug for " +"socket.getsockname() for non-CAN_ISOTP AF_CAN address family sockets by " +"returning a 1-tuple instead of string." +msgstr "" + +#: ../build/NEWS:1300 +msgid "" +"`bpo-38121 `__: Update parameter names " +"on functions in importlib.metadata matching the changes in the 0.22 release " +"of importlib_metadata." +msgstr "" + +#: ../build/NEWS:1303 +msgid "" +"`bpo-38110 `__: The os.closewalk() " +"implementation now uses the libc fdwalk() API on platforms where it is " +"available." +msgstr "" + +#: ../build/NEWS:1306 +msgid "" +"`bpo-38093 `__: Fixes AsyncMock so it " +"doesn't crash when used with AsyncContextManagers or AsyncIterators." +msgstr "" + +#: ../build/NEWS:1309 +msgid "" +"`bpo-37488 `__: Add warning to :meth:" +"`datetime.utctimetuple`, :meth:`datetime.utcnow` and :meth:`datetime." +"utcfromtimestamp` ." +msgstr "" + +#: ../build/NEWS:1312 +msgid "" +"`bpo-38086 `__: Update importlib." +"metadata with changes from `importlib_metadata 0.21 `_." +msgstr "" + +#: ../build/NEWS:1316 +msgid "" +"`bpo-37251 `__: Remove `__code__` check " +"in AsyncMock that incorrectly evaluated function specs as async objects but " +"failed to evaluate classes with `__await__` but no `__code__` attribute " +"defined as async objects." +msgstr "" + +#: ../build/NEWS:1320 +msgid "" +"`bpo-38037 `__: Fix reference counters " +"in the :mod:`signal` module." +msgstr "" + +#: ../build/NEWS:1322 +msgid "" +"`bpo-38066 `__: Hide internal asyncio." +"Stream methods: feed_eof(), feed_data(), set_exception() and set_transport()." +msgstr "" + +#: ../build/NEWS:1325 +msgid "" +"`bpo-38059 `__: inspect.py now uses sys." +"exit() instead of exit()" +msgstr "" + +#: ../build/NEWS:1327 +msgid "" +"`bpo-37953 `__: In :mod:`typing`, " +"improved the ``__hash__`` and ``__eq__`` methods for :class:" +"`ForwardReferences`." +msgstr "" + +#: ../build/NEWS:1330 +msgid "" +"`bpo-38026 `__: Fixed :func:`inspect." +"getattr_static` used ``isinstance`` while it should avoid dynamic lookup." +msgstr "" + +#: ../build/NEWS:1333 +msgid "" +"`bpo-38010 `__: In ``importlib." +"metadata`` sync with ``importlib_metadata`` 0.20, clarifying behavior of " +"``files()`` and fixing issue where only one requirement was returned for " +"``requires()`` on ``dist-info`` packages." +msgstr "" + +#: ../build/NEWS:1337 +msgid "" +"`bpo-38006 `__: weakref." +"WeakValueDictionary defines a local remove() function used as callback for " +"weak references. This function was created with a closure. Modify the " +"implementation to avoid the closure." +msgstr "" + +#: ../build/NEWS:1341 +msgid "" +"`bpo-34410 `__: Fixed a crash in the :" +"func:`tee` iterator when re-enter it. RuntimeError is now raised in this " +"case." +msgstr "" + +#: ../build/NEWS:1344 +msgid "" +"`bpo-37140 `__: Fix a ctypes regression " +"of Python 3.8. When a ctypes.Structure is passed by copy to a function, " +"ctypes internals created a temporary object which had the side effect of " +"calling the structure finalizer (__del__) twice. The Python semantics " +"requires a finalizer to be called exactly once. Fix ctypes internals to no " +"longer call the finalizer twice." +msgstr "" + +#: ../build/NEWS:1350 +msgid "" +"`bpo-37972 `__: Subscripts to the " +"`unittest.mock.call` objects now receive the same chaining mechanism as any " +"other custom attributes, so that the following usage no longer raises a " +"`TypeError`:" +msgstr "" + +#: ../build/NEWS:1354 +msgid "call().foo().__getitem__('bar')" +msgstr "" + +#: ../build/NEWS:1356 +msgid "Patch by blhsing" +msgstr "" + +#: ../build/NEWS:1358 +msgid "" +"`bpo-22347 `__: Update mimetypes." +"guess_type to allow proper parsing of URLs with only a host name. Patch by " +"Dong-hee Na." +msgstr "" + +#: ../build/NEWS:1361 +msgid "" +"`bpo-37885 `__: venv: Don't generate " +"unset variable warning on deactivate." +msgstr "" + +#: ../build/NEWS:1363 +msgid "" +"`bpo-37785 `__: Fix xgettext warnings " +"in :mod:`argparse`." +msgstr "" + +#: ../build/NEWS:1365 +msgid "" +"`bpo-11953 `__: Completing WSA* error " +"codes in :mod:`socket`." +msgstr "" + +#: ../build/NEWS:1367 +msgid "" +"`bpo-37424 `__: Fixes a possible hang " +"when using a timeout on `subprocess.run()` while capturing output. If the " +"child process spawned its own children or otherwise connected its stdout or " +"stderr handles with another process, we could hang after the timeout was " +"reached and our child was killed when attempting to read final output from " +"the pipes." +msgstr "" + +#: ../build/NEWS:1373 +msgid "" +"`bpo-37212 `__: :func:`unittest.mock." +"call` now preserves the order of keyword arguments in repr output. Patch by " +"Karthikeyan Singaravelan." +msgstr "" + +#: ../build/NEWS:1376 +msgid "" +"`bpo-37305 `__: Add .webmanifest -> " +"application/manifest+json to list of recognized file types and content type " +"headers" +msgstr "" + +#: ../build/NEWS:1379 +msgid "" +"`bpo-21872 `__: Fix :mod:`lzma`: module " +"decompresses data incompletely. When decompressing a FORMAT_ALONE format " +"file, and it doesn't have the end marker, sometimes the last one to dozens " +"bytes can't be output. Patch by Ma Lin." +msgstr "" + +#: ../build/NEWS:1384 +msgid "" +"`bpo-37206 `__: Default values which " +"cannot be represented as Python objects no longer improperly represented as " +"``None`` in function signatures." +msgstr "" + +#: ../build/NEWS:1387 +msgid "" +"`bpo-12144 `__: Ensure cookies with " +"``expires`` attribute are handled in :meth:`CookieJar.make_cookies`." +msgstr "" + +#: ../build/NEWS:1390 +msgid "" +"`bpo-31163 `__: pathlib.Path instance's " +"rename and replace methods now return the new Path instance." +msgstr "" + +#: ../build/NEWS:1393 +msgid "" +"`bpo-25068 `__: :class:`urllib.request." +"ProxyHandler` now lowercases the keys of the passed dictionary." +msgstr "" + +#: ../build/NEWS:1396 +msgid "" +"`bpo-21315 `__: Email headers containing " +"RFC2047 encoded words are parsed despite the missing whitespace, and a " +"defect registered. Also missing trailing whitespace after encoded words is " +"now registered as a defect." +msgstr "" + +#: ../build/NEWS:1400 +msgid "" +"`bpo-36250 `__: Ignore ``ValueError`` " +"from ``signal`` with ``interaction`` in non-main thread." +msgstr "" + +#: ../build/NEWS:1403 +msgid "" +"`bpo-35168 `__: :attr:`shlex.shlex." +"punctuation_chars` is now a read-only property." +msgstr "" + +#: ../build/NEWS:1406 +msgid "" +"`bpo-20504 `__: Fixes a bug in :mod:" +"`cgi` module when a multipart/form-data request has no `Content-Length` " +"header." +msgstr "" + +#: ../build/NEWS:1409 +msgid "" +"`bpo-34519 `__: Add additional aliases " +"for HP Roman 8. Patch by Michael Osipov." +msgstr "" + +#: ../build/NEWS:1414 +msgid "" +"`bpo-26868 `__: Fix example usage of :c:" +"func:`PyModule_AddObject` to properly handle errors." +msgstr "" + +#: ../build/NEWS:1417 +msgid "" +"`bpo-36797 `__: Fix a dead link in the " +"distutils API Reference." +msgstr "" + +#: ../build/NEWS:1419 +msgid "" +"`bpo-37977 `__: Warn more strongly and " +"clearly about pickle insecurity" +msgstr "" + +#: ../build/NEWS:1421 +msgid "" +"`bpo-37937 `__: Mention ``frame." +"f_trace`` in :func:`sys.settrace` docs." +msgstr "" + +#: ../build/NEWS:1423 +msgid "" +"`bpo-36260 `__: Add decompression " +"pitfalls to zipfile module documentation." +msgstr "" + +#: ../build/NEWS:1425 +msgid "" +"`bpo-36960 `__: Restructured the :mod:" +"`datetime` docs in the interest of making them more user-friendly and " +"improving readability. Patch by Brad Solomon." +msgstr "" + +#: ../build/NEWS:1428 +msgid "" +"`bpo-23460 `__: The documentation for " +"decimal string formatting using the `:g` specifier has been updated to " +"reflect the correct exponential notation cutoff point. Original patch " +"contributed by Tuomas Suutari." +msgstr "" + +#: ../build/NEWS:1432 +msgid "" +"`bpo-35803 `__: Document and test that " +"``tempfile`` functions may accept a :term:`path-like object` for the ``dir`` " +"argument. Patch by Anthony Sottile." +msgstr "" + +#: ../build/NEWS:1436 +msgid "" +"`bpo-33944 `__: Added a note about the " +"intended use of code in .pth files." +msgstr "" + +#: ../build/NEWS:1438 +msgid "" +"`bpo-34293 `__: Fix the Doc/Makefile " +"regarding PAPER environment variable and PDF builds" +msgstr "" + +#: ../build/NEWS:1444 +msgid "" +"`bpo-38239 `__: Fix test_gdb for Link " +"Time Optimization (LTO) builds." +msgstr "" + +#: ../build/NEWS:1446 +msgid "" +"`bpo-38275 `__: test_ssl now handles " +"disabled TLS/SSL versions better. OpenSSL's crypto policy and run-time " +"settings are recognized and tests for disabled versions are skipped. Tests " +"also accept more TLS minimum_versions for platforms that override OpenSSL's " +"default with strict settings." +msgstr "" + +#: ../build/NEWS:1451 +msgid "" +"`bpo-38271 `__: The private keys for " +"test_ssl were encrypted with 3DES in traditional PKCS#5 format. 3DES and the " +"digest algorithm of PKCS#5 are blocked by some strict crypto policies. Use " +"PKCS#8 format with AES256 encryption instead." +msgstr "" + +#: ../build/NEWS:1456 +msgid "" +"`bpo-38270 `__: test.support now has a " +"helper function to check for availibility of a hash digest function. Several " +"tests are refactored avoid MD5 and use SHA256 instead. Other tests are " +"marked to use MD5 and skipped when MD5 is disabled." +msgstr "" + +#: ../build/NEWS:1461 +msgid "" +"`bpo-37123 `__: Multiprocessing test " +"test_mymanager() now also expects -SIGTERM, not only exitcode 0. BaseManager." +"_finalize_manager() sends SIGTERM to the manager process if it takes longer " +"than 1 second to stop, which happens on slow buildbots." +msgstr "" + +#: ../build/NEWS:1466 +msgid "" +"`bpo-38212 `__: Multiprocessing tests: " +"increase test_queue_feeder_donot_stop_onexc() timeout from 1 to 60 seconds." +msgstr "" + +#: ../build/NEWS:1469 +msgid "" +"`bpo-38117 `__: Test with OpenSSL 1.1.1d" +msgstr "" + +#: ../build/NEWS:1471 +msgid "" +"`bpo-37531 `__: Enhance regrtest " +"multiprocess timeout: write a message when killing a worker process, catch " +"popen.kill() and popen.wait() exceptions, put a timeout on the second call " +"to popen.communicate()." +msgstr "" + +#: ../build/NEWS:1475 +msgid "" +"`bpo-37876 `__: Add tests for ROT-13 " +"codec." +msgstr "" + +#: ../build/NEWS:1477 +msgid "" +"`bpo-37252 `__: Fix assertions in " +"``test_close`` and ``test_events_mask_overflow`` devpoll tests." +msgstr "" + +#: ../build/NEWS:1480 +msgid "" +"`bpo-34001 `__: Make test_ssl pass with " +"LibreSSL. LibreSSL handles minimum and maximum TLS version differently than " +"OpenSSL." +msgstr "" + +#: ../build/NEWS:1483 +msgid "" +"`bpo-36919 `__: Make " +"``test_source_encoding.test_issue2301`` implementation independent. The test " +"will work now for both CPython and IronPython." +msgstr "" + +#: ../build/NEWS:1486 +msgid "" +"`bpo-34596 `__: Fallback to a default " +"reason when :func:`unittest.skip` is uncalled. Patch by Naitree Zhu." +msgstr "" + +#: ../build/NEWS:1492 +msgid "" +"`bpo-38301 `__: In Solaris family, we " +"must be sure to use ``-D_REENTRANT``. Patch by Jesús Cea Avión." +msgstr "" + +#: ../build/NEWS:1495 +msgid "" +"`bpo-36210 `__: Update optional " +"extension module detection for AIX. ossaudiodev and spwd are not applicable " +"for AIX, and are no longer reported as missing. 3rd-party packaging of " +"ncurses (with ASIS support) conflicts with officially supported AIX curses " +"library, so configure AIX to use libcurses.a. However, skip trying to build " +"_curses_panel." +msgstr "" + +#: ../build/NEWS:1501 +msgid "patch by M Felt" +msgstr "" + +#: ../build/NEWS:1503 +msgid "" +"`bpo-36002 `__: Locate ``llvm-profdata`` " +"and ``llvm-ar`` binaries using ``AC_PATH_TOOL`` rather than " +"``AC_PATH_TARGET_TOOL``." +msgstr "" + +#: ../build/NEWS:1506 +msgid "" +"`bpo-37936 `__: The :file:`.gitignore` " +"file systematically keeps \"rooted\", with a non-trailing slash, all the " +"rules that are meant to apply to files in a specific place in the repo. " +"Previously, when the intended file to ignore happened to be at the root of " +"the repo, we'd most often accidentally also ignore files and directories " +"with the same name anywhere in the tree." +msgstr "" + +#: ../build/NEWS:1512 +msgid "" +"`bpo-37936 `__: The :file:`.gitignore` " +"file no longer applies to any files that are in fact tracked in the Git " +"repository. Patch by Greg Price." +msgstr "" + +#: ../build/NEWS:1518 +msgid "" +"`bpo-38117 `__: Update bundled OpenSSL " +"to 1.1.1d" +msgstr "" + +#: ../build/NEWS:1520 +msgid "" +"`bpo-38092 `__: Reduce overhead when " +"using multiprocessing in a Windows virtual environment." +msgstr "" + +#: ../build/NEWS:1523 +msgid "" +"`bpo-38133 `__: Allow py.exe launcher to " +"locate installations from the Microsoft Store and improve display of active " +"virtual environments." +msgstr "" + +#: ../build/NEWS:1526 +msgid "" +"`bpo-38114 `__: The ``pip.ini`` is no " +"longer included in the Nuget package." +msgstr "" + +#: ../build/NEWS:1528 +msgid "" +"`bpo-36634 `__: :func:`os.cpu_count` now " +"returns active processors rather than maximum processors." +msgstr "" + +#: ../build/NEWS:1531 +msgid "" +"`bpo-36634 `__: venv activate.bat now " +"works when the existing variables contain double quote characters." +msgstr "" + +#: ../build/NEWS:1534 +msgid "" +"`bpo-38081 `__: Prevent error calling :" +"func:`os.path.realpath` on ``'NUL'``." +msgstr "" + +#: ../build/NEWS:1536 +msgid "" +"`bpo-38087 `__: Fix case sensitivity in " +"test_pathlib and test_ntpath." +msgstr "" + +#: ../build/NEWS:1538 +msgid "" +"`bpo-38088 `__: Fixes distutils not " +"finding vcruntime140.dll with only the v142 toolset installed." +msgstr "" + +#: ../build/NEWS:1541 +msgid "" +"`bpo-37283 `__: Ensure command-line and " +"unattend.xml setting override previously detected states in Windows " +"installer." +msgstr "" + +#: ../build/NEWS:1544 +msgid "" +"`bpo-38030 `__: Fixes :func:`os.stat` " +"failing for block devices on Windows" +msgstr "" + +#: ../build/NEWS:1546 +msgid "" +"`bpo-38020 `__: Fixes potential crash " +"when calling :func:`os.readlink` (or indirectly through :func:`~os.path." +"realpath`) on a file that is not a supported link." +msgstr "" + +#: ../build/NEWS:1550 +msgid "" +"`bpo-37705 `__: Improve the " +"implementation of ``winerror_to_errno()``." +msgstr "" + +#: ../build/NEWS:1552 +msgid "" +"`bpo-37702 `__: Fix memory leak on " +"Windows in creating an SSLContext object or running urllib.request." +"urlopen('https://...')." +msgstr "" + +#: ../build/NEWS:1555 +msgid "" +"`bpo-37445 `__: Include the " +"``FORMAT_MESSAGE_IGNORE_INSERTS`` flag in ``FormatMessageW()`` calls." +msgstr "" + +#: ../build/NEWS:1558 +msgid "" +"`bpo-37380 `__: Don't collect unfinished " +"processes with ``subprocess._active`` on Windows to cleanup later. Patch by " +"Ruslan Kuprieiev." +msgstr "" + +#: ../build/NEWS:1561 +msgid "" +"`bpo-32587 `__: Make :data:`winreg." +"REG_MULTI_SZ` support zero-length strings." +msgstr "" + +#: ../build/NEWS:1566 +msgid "" +"`bpo-38117 `__: Updated OpenSSL to " +"1.1.1d in macOS installer." +msgstr "" + +#: ../build/NEWS:1568 +msgid "" +"`bpo-38089 `__: Move Azure Pipelines to " +"latest VM versions and make macOS tests optional" +msgstr "" + +#: ../build/NEWS:1574 +msgid "" +"`bpo-35379 `__: When exiting IDLE, catch " +"any AttributeError. One happens when EditorWindow.close is called twice. " +"Printing a traceback, when IDLE is run from a terminal, is useless and " +"annoying." +msgstr "" + +#: ../build/NEWS:1578 +msgid "" +"`bpo-38183 `__: To avoid problems, " +"test_idle ignores the user config directory. It no longer tries to create or " +"access .idlerc or any files within. Users must run IDLE to discover problems " +"with saving settings." +msgstr "" + +#: ../build/NEWS:1582 +msgid "" +"`bpo-38077 `__: IDLE no longer adds " +"'argv' to the user namespace when initializing it. This bug only affected " +"3.7.4 and 3.8.0b2 to 3.8.0b4." +msgstr "" + +#: ../build/NEWS:1585 +msgid "" +"`bpo-38041 `__: Shell restart lines now " +"fill the window width, always start with '=', and avoid wrapping " +"unnecessarily. The line will still wrap if the included file name is long " +"relative to the width." +msgstr "" + +#: ../build/NEWS:1589 +msgid "" +"`bpo-35771 `__: To avoid occasional " +"spurious test_idle failures on slower machines, increase the ``hover_delay`` " +"in test_tooltip." +msgstr "" + +#: ../build/NEWS:1592 +msgid "" +"`bpo-37902 `__: Add mousewheel scrolling " +"for IDLE module, path, and stack browsers. Patch by George Zhang." +msgstr "" + +#: ../build/NEWS:1598 +msgid "" +"`bpo-37803 `__: pdb's ``--help`` and ``--" +"version`` long options now work." +msgstr "" + +#: ../build/NEWS:1600 +msgid "" +"`bpo-37064 `__: Add option -k to " +"pathscript.py script: preserve shebang flags. Add option -a to pathscript.py " +"script: add flags." +msgstr "" + +#: ../build/NEWS:1606 +msgid "" +"`bpo-38234 `__: :c:func:`Py_SetPath` now " +"sets :data:`sys.executable` to the program full path (:c:func:" +"`Py_GetProgramFullPath`) rather than to the program name (:c:func:" +"`Py_GetProgramName`)." +msgstr "" + +#: ../build/NEWS:1610 +msgid "" +"`bpo-38234 `__: Python ignored arguments " +"passed to :c:func:`Py_SetPath`, :c:func:`Py_SetPythonHome` and :c:func:" +"`Py_SetProgramName`: fix Python initialization to use specified arguments." +msgstr "" + +#: ../build/NEWS:1614 +msgid "" +"`bpo-38205 `__: The :c:func:" +"`Py_UNREACHABLE` macro now calls :c:func:`Py_FatalError`." +msgstr "" + +#: ../build/NEWS:1617 +msgid "" +"`bpo-37879 `__: Fix subtype_dealloc to " +"suppress the type decref when the base type is a C heap type" +msgstr "" + +#: ../build/NEWS:1622 +msgid "Python 3.8.0 beta 4" +msgstr "" + +#: ../build/NEWS:1624 +msgid "*Release date: 2019-08-29*" +msgstr "" + +#: ../build/NEWS:1629 +msgid "" +"`bpo-34155 `__: Fix parsing of invalid " +"email addresses with more than one ``@`` (e.g. a@b@c.com.) to not return the " +"part before 2nd ``@`` as valid email address. Patch by maxking & jpic." +msgstr "" + +#: ../build/NEWS:1636 +msgid "" +"`bpo-37947 `__: Adjust correctly the " +"recursion level in the symtable generation for named expressions. Patch by " +"Pablo Galindo." +msgstr "" + +#: ../build/NEWS:1639 +msgid "" +"`bpo-37830 `__: Fixed compilation of :" +"keyword:`break` and :keyword:`continue` in the :keyword:`finally` block when " +"the corresponding :keyword:`try` block contains :keyword:`return` with a non-" +"constant value." +msgstr "" + +#: ../build/NEWS:1643 +msgid "" +"`bpo-32912 `__: Reverted :issue:`32912`: " +"emitting :exc:`SyntaxWarning` instead of :exc:`DeprecationWarning` for " +"invalid escape sequences in string and bytes literals." +msgstr "" + +#: ../build/NEWS:1647 +msgid "" +"`bpo-37757 `__: :pep:`572`: As described " +"in the PEP, assignment expressions now raise :exc:`SyntaxError` when their " +"interaction with comprehension scoping results in an ambiguous target scope." +msgstr "" + +#: ../build/NEWS:1651 +msgid "" +"The ``TargetScopeError`` subclass originally proposed by the PEP has been " +"removed in favour of just raising regular syntax errors for the disallowed " +"cases." +msgstr "" + +#: ../build/NEWS:1655 +msgid "" +"`bpo-36311 `__: Decoding bytes objects " +"larger than 2GiB is faster and no longer fails when a multibyte characters " +"spans a chunk boundary." +msgstr "" + +#: ../build/NEWS:1658 +msgid "" +"`bpo-37433 `__: Fix ``SyntaxError`` " +"indicator printing too many spaces for multi-line strings - by Anthony " +"Sottile." +msgstr "" + +#: ../build/NEWS:1661 +msgid "" +"`bpo-20523 `__: ``pdb.Pdb`` supports ~/." +"pdbrc in Windows 7. Patch by Tim Hopper and Dan Lidral-Porter." +msgstr "" + +#: ../build/NEWS:1667 +msgid "" +"`bpo-37834 `__: Prevent shutil.rmtree " +"exception when built on non-Windows system without fd system call support, " +"like older versions of macOS." +msgstr "" + +#: ../build/NEWS:1670 +msgid "" +"`bpo-37965 `__: Fix C compiler warning " +"caused by distutils.ccompiler.CCompiler.has_function." +msgstr "" + +#: ../build/NEWS:1673 +msgid "" +"`bpo-37960 `__: ``repr()`` of buffered " +"and text streams now silences only expected exceptions when get the value of " +"\"name\" and \"mode\" attributes." +msgstr "" + +#: ../build/NEWS:1676 +msgid "" +"`bpo-37951 `__: Most features of the " +"subprocess module now work again in subinterpreters. Only *preexec_fn* is " +"restricted in subinterpreters." +msgstr "" + +#: ../build/NEWS:1679 +msgid "" +"`bpo-36205 `__: Fix the rusage " +"implementation of time.process_time() to correctly report the sum of the " +"system and user CPU time." +msgstr "" + +#: ../build/NEWS:1682 +msgid "" +"`bpo-37950 `__: Fix :func:`ast.dump` " +"when call with incompletely initialized node." +msgstr "" + +#: ../build/NEWS:1685 +msgid "" +"`bpo-34679 `__: Restores instantiation " +"of Windows IOCP event loops from the non-main thread." +msgstr "" + +#: ../build/NEWS:1688 +msgid "" +"`bpo-36917 `__: Add default " +"implementation of the :meth:`ast.NodeVisitor.visit_Constant` method which " +"emits a deprecation warning and calls corresponding methody ``visit_Num()``, " +"``visit_Str()``, etc." +msgstr "" + +#: ../build/NEWS:1693 +msgid "" +"`bpo-37798 `__: Update test_statistics." +"py to verify that the statistics module works well for both C and Python " +"implementations. Patch by Dong-hee Na" +msgstr "" + +#: ../build/NEWS:1696 +msgid "" +"`bpo-26589 `__: Added a new status code " +"to the http module: 451 UNAVAILABLE_FOR_LEGAL_REASONS" +msgstr "" + +#: ../build/NEWS:1699 +msgid "" +"`bpo-37915 `__: Fix a segmentation fault " +"that appeared when comparing instances of ``datetime.timezone`` and " +"``datetime.tzinfo`` objects. Patch by Pablo Galindo." +msgstr "" + +#: ../build/NEWS:1703 +msgid "" +"`bpo-37868 `__: Fix dataclasses." +"is_dataclass when given an instance that never raises AttributeError in " +"__getattr__. That is, an object that returns something for " +"__dataclass_fields__ even if it's not a dataclass." +msgstr "" + +#: ../build/NEWS:1707 +msgid "" +"`bpo-37811 `__: Fix ``socket`` module's " +"``socket.connect(address)`` function being unable to establish connection in " +"case of interrupted system call. The problem was observed on all OSes which " +"``poll(2)`` system call can take only non-negative integers and -1 as a " +"timeout value." +msgstr "" + +#: ../build/NEWS:1712 +msgid "" +"`bpo-21131 `__: Fix ``faulthandler." +"register(chain=True)`` stack. faulthandler now allocates a dedicated stack " +"of ``SIGSTKSZ*2`` bytes, instead of just ``SIGSTKSZ`` bytes. Calling the " +"previous signal handler in faulthandler signal handler uses more than " +"``SIGSTKSZ`` bytes of stack memory on some platforms." +msgstr "" + +#: ../build/NEWS:1718 +msgid "" +"`bpo-37798 `__: Add C fastpath for " +"statistics.NormalDist.inv_cdf() Patch by Dong-hee Na" +msgstr "" + +#: ../build/NEWS:1721 +msgid "" +"`bpo-37819 `__: Add Fraction." +"as_integer_ratio() to match the corresponding methods in bool, int, float, " +"and decimal." +msgstr "" + +#: ../build/NEWS:1724 +msgid "" +"`bpo-37810 `__: Fix :mod:`difflib` ``?`` " +"hint in diff output when dealing with tabs. Patch by Anthony Sottile." +msgstr "" + +#: ../build/NEWS:1727 +msgid "" +"`bpo-37772 `__: In ``zipfile.Path``, " +"when adding implicit dirs, ensure that ancestral directories are added and " +"that duplicates are excluded." +msgstr "" + +#: ../build/NEWS:1730 +msgid "" +"`bpo-28292 `__: Mark calendar.py helper " +"functions as being private. The follows PEP 8 guidance to maintain the " +"style conventions in the module and it addresses a known case of user " +"confusion." +msgstr "" + +#: ../build/NEWS:1734 +msgid "" +"`bpo-18049 `__: Add definition of " +"THREAD_STACK_SIZE for AIX in Python/thread_pthread.h The default thread " +"stacksize caused crashes with the default recursion limit Patch by M Felt" +msgstr "" + +#: ../build/NEWS:1738 +msgid "" +"`bpo-37738 `__: Fix the implementation " +"of curses ``addch(str, color_pair)``: pass the color pair to ``setcchar()``, " +"instead of always passing 0 as the color pair." +msgstr "" + +#: ../build/NEWS:1742 +msgid "" +"`bpo-37723 `__: Fix performance " +"regression on regular expression parsing with huge character sets. Patch by " +"Yann Vaginay." +msgstr "" + +#: ../build/NEWS:1745 +msgid "" +"`bpo-32178 `__: Fix IndexError in :mod:" +"`email` package when trying to parse invalid address fields starting with ``:" +"``." +msgstr "" + +#: ../build/NEWS:1748 +msgid "" +"`bpo-37685 `__: Fixed comparisons of :" +"class:`datetime.timedelta` and :class:`datetime.timezone`." +msgstr "" + +#: ../build/NEWS:1751 +msgid "" +"`bpo-37695 `__: Correct :func:`curses." +"unget_wch` error message. Patch by Anthony Sottile." +msgstr "" + +#: ../build/NEWS:1754 +msgid "" +"`bpo-37354 `__: Make Activate.ps1 " +"Powershell script static to allow for signing it." +msgstr "" + +#: ../build/NEWS:1757 +msgid "" +"`bpo-37664 `__: Update wheels bundled " +"with ensurepip (pip 19.2.3 and setuptools 41.2.0)" +msgstr "" + +#: ../build/NEWS:1760 +msgid "" +"`bpo-37642 `__: Allowed the pure Python " +"implementation of :class:`datetime.timezone` to represent sub-minute offsets " +"close to minimum and maximum boundaries, specifically in the ranges (23:59, " +"24:00) and (-23:59, 24:00). Patch by Ngalim Siregar" +msgstr "" + +#: ../build/NEWS:1765 +msgid "" +"`bpo-16970 `__: Adding a value error " +"when an invalid value in passed to nargs Patch by Robert Leenders" +msgstr "" + +#: ../build/NEWS:1768 +msgid "" +"`bpo-37587 `__: Make json.loads faster " +"for long strings. (Patch by Marco Paolini)" +msgstr "" + +#: ../build/NEWS:1771 +msgid "" +"`bpo-18378 `__: Recognize \"UTF-8\" as a " +"valid value for LC_CTYPE in locale._parse_localename." +msgstr "" + +#: ../build/NEWS:1774 +msgid "" +"`bpo-37531 `__: \"python3 -m test -jN --" +"timeout=TIMEOUT\" now kills a worker process if it runs longer than " +"*TIMEOUT* seconds." +msgstr "" + +#: ../build/NEWS:1777 +msgid "" +"`bpo-37482 `__: Fix serialization of " +"display name in originator or destination address fields with both encoded " +"words and special chars." +msgstr "" + +#: ../build/NEWS:1780 +msgid "" +"`bpo-37372 `__: Fix error unpickling " +"datetime.time objects from Python 2 with seconds>=24. Patch by Justin " +"Blanchard." +msgstr "" + +#: ../build/NEWS:1783 +msgid "" +"`bpo-37085 `__: Add the optional Linux " +"SocketCAN Broadcast Manager constants, used as flags to configure the BCM " +"behaviour, in the socket module. Patch by Karl Ding." +msgstr "" + +#: ../build/NEWS:1787 +msgid "" +"`bpo-36871 `__: Ensure method signature " +"is used instead of constructor signature of a class while asserting mock " +"object against method calls. Patch by Karthikeyan Singaravelan." +msgstr "" + +#: ../build/NEWS:1791 +msgid "" +"`bpo-36582 `__: Fix ``UserString." +"encode()`` to correctly return ``bytes`` rather than a ``UserString`` " +"instance." +msgstr "" + +#: ../build/NEWS:1794 +msgid "" +"`bpo-34775 `__: Division handling of " +"PurePath now returns NotImplemented instead of raising a TypeError when " +"passed something other than an instance of str or PurePath. Patch by Roger " +"Aiudi." +msgstr "" + +#: ../build/NEWS:1801 +msgid "" +"`bpo-37979 `__: Added a link to dateutil." +"parser.isoparse in the datetime.fromisoformat documentation. Patch by Paul " +"Ganssle" +msgstr "" + +#: ../build/NEWS:1804 +msgid "" +"`bpo-37759 `__: Beginning edits to " +"Whatsnew 3.8" +msgstr "" + +#: ../build/NEWS:1806 +msgid "" +"`bpo-37726 `__: Stop recommending getopt " +"in the tutorial for command line argument parsing and promote argparse." +msgstr "" + +#: ../build/NEWS:1809 +msgid "" +"`bpo-37256 `__: Fix wording of arguments " +"for :class:`Request` in :mod:`urllib.request`" +msgstr "" + +#: ../build/NEWS:1812 +msgid "" +"`bpo-37004 `__: In the documentation for " +"difflib, a note was added explicitly warning that the results of " +"SequenceMatcher's ratio method may depend on the order of the input strings." +msgstr "" + +#: ../build/NEWS:1816 +msgid "" +"`bpo-36487 `__: Make C-API docs clear " +"about what the \"main\" interpreter is." +msgstr "" + +#: ../build/NEWS:1821 +msgid "" +"`bpo-37805 `__: Add tests for json." +"dump(..., skipkeys=True). Patch by Dong-hee Na." +msgstr "" + +#: ../build/NEWS:1827 +msgid "" +"`bpo-37707 `__: Mark some individual " +"tests to skip when --pgo is used. The tests marked increase the PGO task " +"time significantly and likely don't help improve optimization of the final " +"executable." +msgstr "" + +#: ../build/NEWS:1834 +msgid "" +"`bpo-37549 `__: :func:`os.dup` no longer " +"fails for standard streams on Windows 7." +msgstr "" + +#: ../build/NEWS:1837 +msgid "" +"`bpo-1311 `__: The ``nul`` file on " +"Windows now returns True from :func:`~os.path.exists` and a valid result " +"from :func:`os.stat` with ``S_IFCHR`` set." +msgstr "" + +#: ../build/NEWS:1841 +msgid "" +"`bpo-9949 `__: Enable support for " +"following symlinks in :func:`os.realpath`." +msgstr "" + +#: ../build/NEWS:1843 +msgid "" +"`bpo-37834 `__: Treat all name surrogate " +"reparse points on Windows in :func:`os.lstat` and other reparse points as " +"regular files in :func:`os.stat`." +msgstr "" + +#: ../build/NEWS:1847 +msgid "" +"`bpo-36266 `__: Add the module name in " +"the formatted error message when DLL load fail happens during module import " +"in ``_PyImport_FindSharedFuncptrWindows()``. Patch by Srinivas Nyayapati." +msgstr "" + +#: ../build/NEWS:1851 +msgid "" +"`bpo-25172 `__: Trying to import the :" +"mod:`crypt` module on Windows will result in an :exc:`ImportError` with a " +"message explaining that the module isn't supported on Windows. On other " +"platforms, if the underlying ``_crypt`` module is not available, the " +"ImportError will include a message explaining the problem." +msgstr "" + +#: ../build/NEWS:1857 +msgid "" +"`bpo-37778 `__: Fixes the icons used for " +"file associations to the Microsoft Store package." +msgstr "" + +#: ../build/NEWS:1860 +msgid "" +"`bpo-37734 `__: Fix use of registry " +"values to launch Python from Microsoft Store app." +msgstr "" + +#: ../build/NEWS:1863 +msgid "" +"`bpo-28269 `__: Replace use of :c:func:" +"`strcasecmp` for the system function :c:func:`_stricmp`. Patch by Minmin " +"Gong." +msgstr "" + +#: ../build/NEWS:1869 +msgid "" +"`bpo-18049 `__: Increase the default " +"stack size of threads from 5MB to 16MB on macOS, to match the stack size of " +"the main thread. This avoids crashes on deep recursion in threads." +msgstr "" + +#: ../build/NEWS:1876 +msgid "" +"`bpo-37824 `__: Properly handle user " +"input warnings in IDLE shell. Cease turning SyntaxWarnings into SyntaxErrors." +msgstr "" + +#: ../build/NEWS:1879 +msgid "" +"`bpo-37929 `__: IDLE Settings dialog now " +"closes properly when there is no shell window." +msgstr "" + +#: ../build/NEWS:1882 +msgid "" +"`bpo-37849 `__: Fixed completions list " +"appearing too high or low when shown above the current line." +msgstr "" + +#: ../build/NEWS:1885 +msgid "" +"`bpo-36419 `__: Refactor IDLE " +"autocomplete and improve testing." +msgstr "" + +#: ../build/NEWS:1887 +msgid "" +"`bpo-37748 `__: Reorder the Run menu. " +"Put the most common choice, Run Module, at the top." +msgstr "" + +#: ../build/NEWS:1893 +msgid "" +"`bpo-37942 `__: Improve ArgumentClinic " +"converter for floats." +msgstr "" + +#: ../build/NEWS:1895 +msgid "" +"`bpo-37034 `__: Argument Clinic now uses " +"the argument name on errors with keyword-only argument instead of their " +"position. Patch contributed by Rémi Lapeyre." +msgstr "" + +#: ../build/NEWS:1902 +msgid "" +"`bpo-36763 `__: Options added by " +"``PySys_AddXOption()`` are now handled the same way than ``PyConfig." +"xoptions`` and command line ``-X`` options." +msgstr "" + +#: ../build/NEWS:1905 +msgid "" +"`bpo-37926 `__: Fix a crash in " +"``PySys_SetArgvEx(0, NULL, 0)``." +msgstr "" + +#: ../build/NEWS:1909 +msgid "Python 3.8.0 beta 3" +msgstr "" + +#: ../build/NEWS:1911 +msgid "*Release date: 2019-07-29*" +msgstr "" + +#: ../build/NEWS:1916 +msgid "" +"`bpo-37461 `__: Fix an infinite loop " +"when parsing specially crafted email headers. Patch by Abhilash Raj." +msgstr "" + +#: ../build/NEWS:1922 +msgid "" +"`bpo-37593 `__: Swap the positions of " +"the *posonlyargs* and *args* parameters in the constructor of :class:`ast." +"parameters` nodes." +msgstr "" + +#: ../build/NEWS:1925 +msgid "" +"`bpo-36974 `__: Implemented separate " +"vectorcall functions for every calling convention of builtin functions and " +"methods. This improves performance for calls." +msgstr "" + +#: ../build/NEWS:1932 +msgid "" +"`bpo-37697 `__: Syncronize ``importlib." +"metadata`` with `importlib_metadata 0.19 `_, improving handling of EGG-INFO files " +"and fixing a crash when entry point names contained colons." +msgstr "" + +#: ../build/NEWS:1937 +msgid "" +"`bpo-37691 `__: Let math.dist() accept " +"coordinates as sequences (or iterables) rather than just tuples." +msgstr "" + +#: ../build/NEWS:1940 +msgid "" +"`bpo-37664 `__: Update wheels bundled " +"with ensurepip (pip 19.2.1 and setuptools 41.0.1)" +msgstr "" + +#: ../build/NEWS:1943 +msgid "" +"`bpo-36324 `__: Make internal attributes " +"for statistics.NormalDist() private." +msgstr "" + +#: ../build/NEWS:1945 +msgid "" +"`bpo-37491 `__: Fix ``IndexError`` when " +"parsing email headers with unexpectedly ending bare-quoted string value. " +"Patch by Abhilash Raj." +msgstr "" + +#: ../build/NEWS:1948 +msgid "" +"`bpo-37579 `__: Return :exc:" +"`NotImplemented` in Python implementation of ``__eq__`` for :class:" +"`~datetime.timedelta` and :class:`~datetime.time` when the other object " +"being compared is not of the same type to match C implementation. Patch by " +"Karthikeyan Singaravelan." +msgstr "" + +#: ../build/NEWS:1953 +msgid "" +"`bpo-21478 `__: Record calls to parent " +"when autospecced object is attached to a mock using :func:`unittest.mock." +"attach_mock`. Patch by Karthikeyan Singaravelan." +msgstr "" + +#: ../build/NEWS:1957 +msgid "" +"`bpo-37502 `__: pickle.loads() no longer " +"raises TypeError when the buffers argument is set to None" +msgstr "" + +#: ../build/NEWS:1960 +msgid "" +"`bpo-37520 `__: Correct behavior for " +"zipfile.Path.parent when the path object identifies a subdirectory." +msgstr "" + +#: ../build/NEWS:1963 +msgid "" +"`bpo-18374 `__: Fix the ``.col_offset`` " +"attribute of nested :class:`ast.BinOp` instances which had a too large value " +"in some situations." +msgstr "" + +#: ../build/NEWS:1966 +msgid "" +"`bpo-37421 `__: Fix :func:" +"`multiprocessing.util.get_temp_dir` finalizer: clear also the 'tempdir' " +"configuration of the current process, so next call to ``get_temp_dir()`` " +"will create a new temporary directory, rather than reusing the removed " +"temporary directory." +msgstr "" + +#: ../build/NEWS:1971 +msgid "" +"`bpo-37481 `__: The distutils " +"``bdist_wininst`` command is deprecated in Python 3.8, use ``bdist_wheel`` " +"(wheel packages) instead." +msgstr "" + +#: ../build/NEWS:1974 +msgid "" +"`bpo-26967 `__: An :class:`~argparse." +"ArgumentParser` with ``allow_abbrev=False`` no longer disables grouping of " +"short flags, such as ``-vv``, but only disables abbreviation of long flags " +"as documented. Patch by Zac Hatfield-Dodds." +msgstr "" + +#: ../build/NEWS:1979 +msgid "" +"`bpo-37347 `__: :meth:`sqlite3." +"Connection.create_aggregate`, :meth:`sqlite3.Connection.create_function`, :" +"meth:`sqlite3.Connection.set_authorizer`, :meth:`sqlite3.Connection." +"set_progress_handler` :meth:`sqlite3.Connection.set_trace_callback` methods " +"lead to segfaults if some of these methods are called twice with an equal " +"object but not the same. Now callbacks are stored more carefully. Patch by " +"Aleksandr Balezin." +msgstr "" + +#: ../build/NEWS:1987 +msgid "" +"`bpo-36564 `__: Fix infinite loop in " +"email header folding logic that would be triggered when an email policy's " +"max_line_length is not long enough to include the required markup and any " +"values in the message. Patch by Paul Ganssle" +msgstr "" + +#: ../build/NEWS:1995 +msgid "" +"`bpo-32910 `__: Remove implementation-" +"specific behaviour of how venv's Deactivate works." +msgstr "" + +#: ../build/NEWS:1998 +msgid "" +"`bpo-37284 `__: Add a brief note to " +"indicate that any new ``sys.implementation`` required attributes must go " +"through the PEP process." +msgstr "" + +#: ../build/NEWS:2002 +msgid "" +"`bpo-30088 `__: Documented that :class:" +"`mailbox.Maildir` constructor doesn't attempt to verify the maildir folder " +"layout correctness. Patch by Sviatoslav Sydorenko." +msgstr "" + +#: ../build/NEWS:2006 +msgid "" +"`bpo-37521 `__: Fix `importlib` examples " +"to insert any newly created modules via importlib.util.module_from_spec() " +"immediately into sys.modules instead of after calling loader.exec_module()." +msgstr "" + +#: ../build/NEWS:2010 +msgid "Thanks to Benjamin Mintz for finding the bug." +msgstr "" + +#: ../build/NEWS:2012 +msgid "" +"`bpo-37456 `__: Slash ('/') is now part " +"of syntax." +msgstr "" + +#: ../build/NEWS:2014 +msgid "" +"`bpo-37487 `__: Fix PyList_GetItem index " +"description to include 0." +msgstr "" + +#: ../build/NEWS:2016 +msgid "" +"`bpo-37149 `__: Replace the dead link to " +"the Tkinter 8.5 reference by John Shipman, New Mexico Tech, with a link to " +"the archive.org copy." +msgstr "" + +#: ../build/NEWS:2019 +msgid "" +"`bpo-37478 `__: Added possible " +"exceptions to the description of os.chdir()." +msgstr "" + +#: ../build/NEWS:2024 +msgid "" +"`bpo-37558 `__: Fix " +"test_shared_memory_cleaned_after_process_termination name handling" +msgstr "" + +#: ../build/NEWS:2027 +msgid "" +"`bpo-37526 `__: Add :func:`test.support." +"catch_threading_exception`: context manager catching :class:`threading." +"Thread` exception using :func:`threading.excepthook`." +msgstr "" + +#: ../build/NEWS:2031 +msgid "" +"`bpo-37421 `__: test_concurrent_futures " +"now explicitly stops the ForkServer instance if it's running." +msgstr "" + +#: ../build/NEWS:2034 +msgid "" +"`bpo-37421 `__: multiprocessing tests " +"now stop the ForkServer instance if it's running: close the \"alive\" file " +"descriptor to ask the server to stop and then remove its UNIX address." +msgstr "" + +#: ../build/NEWS:2041 +msgid "" +"`bpo-36044 `__: Reduce the number of " +"unit tests run for the PGO generation task. This speeds up the task by a " +"factor of about 15x. Running the full unit test suite is slow. This change " +"may result in a slightly less optimized build since not as many code " +"branches will be executed. If you are willing to wait for the much slower " +"build, the old behavior can be restored using './configure [..] PROFILE_TASK=" +"\"-m test --pgo-extended\"'. We make no guarantees as to which PGO task set " +"produces a faster build. Users who care should run their own relevant " +"benchmarks as results can depend on the environment, workload, and compiler " +"tool chain." +msgstr "" + +#: ../build/NEWS:2054 +msgid "" +"`bpo-37672 `__: Switch Windows Store " +"package's pip to use bundled :file:`pip.ini` instead of :envvar:`PIP_USER` " +"variable." +msgstr "" + +#: ../build/NEWS:2060 +msgid "" +"`bpo-37692 `__: Improve highlight config " +"sample with example shell interaction and better labels for shell elements." +msgstr "" + +#: ../build/NEWS:2063 +msgid "" +"`bpo-37628 `__: Settings dialog no " +"longer expands with font size." +msgstr "" + +#: ../build/NEWS:2065 +msgid "" +"`bpo-37627 `__: Initialize the Customize " +"Run dialog with the command line arguments most recently entered before. " +"The user can optionally edit before submitting them." +msgstr "" + +#: ../build/NEWS:2069 +msgid "" +"`bpo-33610 `__: Fix code context not " +"showing the correct context when first toggled on." +msgstr "" + +#: ../build/NEWS:2072 +msgid "" +"`bpo-37530 `__: Optimize code context to " +"reduce unneeded background activity. Font and highlight changes now occur " +"along with text changes instead of after a random delay." +msgstr "" + +#: ../build/NEWS:2076 +msgid "" +"`bpo-27452 `__: Cleanup ``config.py`` by " +"inlining ``RemoveFile`` and simplifying the handling of ``file`` in " +"``CreateConfigHandlers``." +msgstr "" + +#: ../build/NEWS:2079 +msgid "" +"`bpo-17535 `__: Add optional line " +"numbers for IDLE editor windows. Windows open without line numbers unless " +"set otherwise in the General tab of the configuration dialog." +msgstr "" + +#: ../build/NEWS:2083 +msgid "" +"`bpo-26806 `__: To compensate for stack " +"frames added by IDLE and avoid possible problems with low recursion limits, " +"add 30 to limits in the user code execution process. Subtract 30 when " +"reporting recursion limits to make this addition mostly transparent." +msgstr "" + +#: ../build/NEWS:2088 +msgid "" +"`bpo-36390 `__: Gather Format menu " +"functions into format.py. Combine paragraph.py, rstrip.py, and format " +"methods from editor.py." +msgstr "" + +#: ../build/NEWS:2094 +msgid "" +"`bpo-37675 `__: 2to3 now works when run " +"from a zipped standard library." +msgstr "" + +#: ../build/NEWS:2098 +msgid "Python 3.8.0 beta 2" +msgstr "" + +#: ../build/NEWS:2100 +msgid "*Release date: 2019-07-04*" +msgstr "" + +#: ../build/NEWS:2105 +msgid "" +"`bpo-37363 `__: Adds audit events for " +"the range of supported run commands (see :ref:`using-on-general`)." +msgstr "" + +#: ../build/NEWS:2108 +msgid "" +"`bpo-37463 `__: ssl.match_hostname() no " +"longer accepts IPv4 addresses with additional text after the address and " +"only quad-dotted notation without trailing whitespaces. Some inet_aton() " +"implementations ignore whitespace and all data after whitespace, e.g. " +"'127.0.0.1 whatever'." +msgstr "" + +#: ../build/NEWS:2113 +msgid "" +"`bpo-37363 `__: Adds audit events for :" +"mod:`ensurepip`, :mod:`ftplib`, :mod:`glob`, :mod:`imaplib`, :mod:" +"`nntplib`, :mod:`pdb`, :mod:`poplib`, :mod:`shutil`, :mod:`smtplib`, :mod:" +"`sqlite3`, :mod:`subprocess`, :mod:`telnetlib`, :mod:`tempfile` and :mod:" +"`webbrowser`, as well as :func:`os.listdir`, :func:`os.scandir` and :func:" +"`breakpoint`." +msgstr "" + +#: ../build/NEWS:2119 +msgid "" +"`bpo-37364 `__: :func:`io.open_code` is " +"now used when reading :file:`.pth` files." +msgstr "" + +#: ../build/NEWS:2122 +msgid "" +"`bpo-34631 `__: Updated OpenSSL to " +"1.1.1c in Windows installer" +msgstr "" + +#: ../build/NEWS:2127 +msgid "" +"`bpo-37467 `__: Fix :func:`sys." +"excepthook` and :c:func:`PyErr_Display` if a filename is a bytes string. For " +"example, for a SyntaxError exception where the filename attribute is a bytes " +"string." +msgstr "" + +#: ../build/NEWS:2131 +msgid "" +"`bpo-37417 `__: :meth:`bytearray.extend` " +"now correctly handles errors that arise during iteration. Patch by Brandt " +"Bucher." +msgstr "" + +#: ../build/NEWS:2134 +msgid "" +"`bpo-24214 `__: Improved support of the " +"surrogatepass error handler in the UTF-8 and UTF-16 incremental decoders." +msgstr "" + +#: ../build/NEWS:2137 +msgid "" +"`bpo-35224 `__: Reverse evaluation order " +"of key: value in dict comprehensions as proposed in PEP 572. I.e. in ``{k: v " +"for ...}``, ``k`` will be evaluated before ``v``." +msgstr "" + +#: ../build/NEWS:2141 +msgid "" +"`bpo-37316 `__: Fix the :c:func:" +"`PySys_Audit` call in :class:`mmap.mmap`." +msgstr "" + +#: ../build/NEWS:2143 +msgid "" +"`bpo-37269 `__: Fix a bug in the " +"peephole optimizer that was not treating correctly constant conditions with " +"binary operators. Patch by Pablo Galindo." +msgstr "" + +#: ../build/NEWS:2147 +msgid "" +"`bpo-37213 `__: Handle correctly " +"negative line offsets in the peephole optimizer. Patch by Pablo Galindo." +msgstr "" + +#: ../build/NEWS:2150 +msgid "" +"`bpo-37219 `__: Remove errorneous " +"optimization for empty set differences." +msgstr "" + +#: ../build/NEWS:2152 +msgid "" +"`bpo-36922 `__: Slot functions optimize " +"any callable with ``Py_TPFLAGS_METHOD_DESCRIPTOR`` instead of only instances " +"of ``function``." +msgstr "" + +#: ../build/NEWS:2156 +msgid "" +"`bpo-36974 `__: The slot " +"``tp_vectorcall_offset`` is inherited unconditionally to support ``super()." +"__call__()`` when the base class uses vectorcall." +msgstr "" + +#: ../build/NEWS:2159 +msgid "" +"`bpo-37160 `__: :func:`threading." +"get_native_id` now also supports NetBSD." +msgstr "" + +#: ../build/NEWS:2161 +msgid "" +"`bpo-37077 `__: Add :func:`threading." +"get_native_id` support for AIX. Patch by M. Felt" +msgstr "" + +#: ../build/NEWS:2167 +msgid "" +"`bpo-37440 `__: http.client now enables " +"TLS 1.3 post-handshake authentication for default context or if a cert_file " +"is passed to HTTPSConnection." +msgstr "" + +#: ../build/NEWS:2170 +msgid "" +"`bpo-37437 `__: Update vendorized expat " +"version to 2.2.7." +msgstr "" + +#: ../build/NEWS:2172 +msgid "" +"`bpo-37428 `__: SSLContext." +"post_handshake_auth = True no longer sets SSL_VERIFY_POST_HANDSHAKE verify " +"flag for client connections. Although the option is documented as ignored " +"for clients, OpenSSL implicitly enables cert chain validation when the flag " +"is set." +msgstr "" + +#: ../build/NEWS:2177 +msgid "" +"`bpo-37420 `__: :func:`os." +"sched_setaffinity` now correctly handles errors that arise during iteration " +"over its ``mask`` argument. Patch by Brandt Bucher." +msgstr "" + +#: ../build/NEWS:2180 +msgid "" +"`bpo-37412 `__: The :func:`os.getcwdb` " +"function now uses the UTF-8 encoding on Windows, rather than the ANSI code " +"page: see :pep:`529` for the rationale. The function is no longer deprecated " +"on Windows." +msgstr "" + +#: ../build/NEWS:2184 +msgid "" +"`bpo-29412 `__: Fix IndexError in " +"parsing a header value ending unexpectedly. Patch by Abhilash Raj." +msgstr "" + +#: ../build/NEWS:2187 +msgid "" +"`bpo-36546 `__: The *dist* argument for " +"statistics.quantiles() is now positional only. The current name doesn't " +"reflect that the argument can be either a dataset or a distribution. " +"Marking the parameter as positional avoids confusion and makes it possible " +"to change the name later." +msgstr "" + +#: ../build/NEWS:2192 +msgid "" +"`bpo-37394 `__: Fix a bug that was " +"causing the :mod:`queue` module to fail if the accelerator module was not " +"available. Patch by Pablo Galindo." +msgstr "" + +#: ../build/NEWS:2195 +msgid "" +"`bpo-33972 `__: Email with single part " +"but content-type set to ``multipart/*`` doesn't raise AttributeError anymore." +msgstr "" + +#: ../build/NEWS:2198 +msgid "" +"`bpo-37280 `__: Use threadpool for " +"reading from file for sendfile fallback mode." +msgstr "" + +#: ../build/NEWS:2201 +msgid "" +"`bpo-37279 `__: Fix asyncio sendfile " +"support when sendfile sends extra data in fallback mode." +msgstr "" + +#: ../build/NEWS:2204 +msgid "" +"`bpo-19865 `__: :func:`ctypes." +"create_unicode_buffer()` now also supports non-BMP characters on platforms " +"with 16-bit :c:type:`wchar_t` (for example, Windows and AIX)." +msgstr "" + +#: ../build/NEWS:2208 +msgid "" +"`bpo-37210 `__: Allow pure Python " +"implementation of :mod:`pickle` to work even when the C :mod:`_pickle` " +"module is unavailable." +msgstr "" + +#: ../build/NEWS:2211 +msgid "" +"`bpo-35922 `__: Fix :meth:" +"`RobotFileParser.crawl_delay` and :meth:`RobotFileParser.request_rate` to " +"return ``None`` rather than raise :exc:`AttributeError` when no relevant " +"rule is defined in the robots.txt file. Patch by Rémi Lapeyre." +msgstr "" + +#: ../build/NEWS:2216 +msgid "" +"`bpo-35766 `__: Change the format of " +"feature_version to be a (major, minor) tuple." +msgstr "" + +#: ../build/NEWS:2219 +msgid "" +"`bpo-36607 `__: Eliminate :exc:" +"`RuntimeError` raised by :func:`asyncio.all_tasks()` if internal tasks weak " +"set is changed by another thread during iteration." +msgstr "" + +#: ../build/NEWS:2223 +msgid "" +"`bpo-18748 `__: :class:`_pyio.IOBase` " +"destructor now does nothing if getting the ``closed`` attribute fails to " +"better mimick :class:`_io.IOBase` finalizer." +msgstr "" + +#: ../build/NEWS:2227 +msgid "" +"`bpo-36402 `__: Fix a race condition at " +"Python shutdown when waiting for threads. Wait until the Python thread state " +"of all non-daemon threads get deleted (join all non-daemon threads), rather " +"than just wait until non-daemon Python threads complete." +msgstr "" + +#: ../build/NEWS:2232 +msgid "" +"`bpo-34886 `__: Fix an unintended " +"ValueError from :func:`subprocess.run` when checking for conflicting `input` " +"and `stdin` or `capture_output` and `stdout` or `stderr` args when they were " +"explicitly provided but with `None` values within a passed in `**kwargs` " +"dict rather than as passed directly by name. Patch contributed by Rémi " +"Lapeyre." +msgstr "" + +#: ../build/NEWS:2238 +msgid "" +"`bpo-37173 `__: The exception message " +"for ``inspect.getfile()`` now correctly reports the passed class rather than " +"the builtins module." +msgstr "" + +#: ../build/NEWS:2241 +msgid "" +"`bpo-37178 `__: Give math.perm() a one " +"argument form that means the same as math.factorial()." +msgstr "" + +#: ../build/NEWS:2244 +msgid "" +"`bpo-37178 `__: For math.perm(n, k), let " +"k default to n, giving the same result as factorial." +msgstr "" + +#: ../build/NEWS:2247 +msgid "" +"`bpo-37163 `__: Deprecated passing " +"``obj`` argument of :func:`dataclasses.replace` as keyword argument." +msgstr "" + +#: ../build/NEWS:2250 +msgid "" +"`bpo-37165 `__: Converted _collections." +"_count_elements to use the Argument Clinic." +msgstr "" + +#: ../build/NEWS:2253 +msgid "" +"`bpo-34767 `__: Do not always create a :" +"class:`collections.deque` in :class:`asyncio.Lock`." +msgstr "" + +#: ../build/NEWS:2256 +msgid "" +"`bpo-37158 `__: Speed-up statistics." +"fmean() by switching from a function to a generator." +msgstr "" + +#: ../build/NEWS:2259 +msgid "" +"`bpo-37150 `__: `argparse." +"_ActionsContainer.add_argument` now throws error, if someone accidentally " +"pass FileType class object instead of instance of FileType as `type` argument" +msgstr "" + +#: ../build/NEWS:2263 +msgid "" +"`bpo-35621 `__: Support running asyncio " +"subprocesses when execution event loop in a thread on UNIX." +msgstr "" + +#: ../build/NEWS:2266 +msgid "" +"`bpo-36520 `__: Lengthy email headers " +"with UTF-8 characters are now properly encoded when they are folded. Patch " +"by Jeffrey Kintscher." +msgstr "" + +#: ../build/NEWS:2269 +msgid "" +"`bpo-30835 `__: Fixed a bug in email " +"parsing where a message with invalid bytes in content-transfer-encoding of a " +"multipart message can cause an AttributeError. Patch by Andrew Donnellan." +msgstr "" + +#: ../build/NEWS:2273 +msgid "" +"`bpo-35805 `__: Add parser for Message-" +"ID header and add it to default HeaderRegistry. This should prevent folding " +"of Message-ID using RFC 2048 encoded words." +msgstr "" + +#: ../build/NEWS:2277 +msgid "" +"`bpo-35070 `__: posix.getgrouplist() now " +"works correctly when the user belongs to NGROUPS_MAX supplemental groups. " +"Patch by Jeffrey Kintscher." +msgstr "" + +#: ../build/NEWS:2280 +msgid "" +"`bpo-32627 `__: Fix compile error when " +"``_uuid`` headers conflicting included." +msgstr "" + +#: ../build/NEWS:2282 +msgid "" +"`bpo-11122 `__: Distutils won't check " +"for rpmbuild in specified paths only." +msgstr "" + +#: ../build/NEWS:2284 +msgid "" +"`bpo-4963 `__: Fixed non-deterministic " +"behavior related to mimetypes extension mapping and module reinitialization." +msgstr "" + +#: ../build/NEWS:2290 +msgid "" +"`bpo-34903 `__: Documented that in :meth:" +"`datetime.datetime.strptime()`, the leading zero in some two-digit formats " +"is optional. Patch by Mike Gleen." +msgstr "" + +#: ../build/NEWS:2296 +msgid "" +"`bpo-37421 `__: test_distutils." +"test_build_ext() is now able to remove the temporary directory on Windows: " +"don't import the newly built C extension (\"xx\") in the current process, " +"but test it in a separated process." +msgstr "" + +#: ../build/NEWS:2300 +msgid "" +"`bpo-37421 `__: test_concurrent_futures " +"now cleans up multiprocessing to remove immediately temporary directories " +"created by multiprocessing.util.get_temp_dir()." +msgstr "" + +#: ../build/NEWS:2304 +msgid "" +"`bpo-37421 `__: test_winconsoleio " +"doesn't leak a temporary file anymore: use tempfile.TemporaryFile() to " +"remove it when the test completes." +msgstr "" + +#: ../build/NEWS:2307 +msgid "" +"`bpo-37421 `__: multiprocessing tests " +"now explicitly call ``_run_finalizers()`` to immediately remove temporary " +"directories created by tests." +msgstr "" + +#: ../build/NEWS:2310 +msgid "" +"`bpo-37199 `__: Fix test failures when " +"IPv6 is unavailable or disabled." +msgstr "" + +#: ../build/NEWS:2312 +msgid "" +"`bpo-37335 `__: Remove no longer " +"necessary code from c locale coercion tests" +msgstr "" + +#: ../build/NEWS:2314 +msgid "" +"`bpo-37421 `__: Fix test_shutil to no " +"longer leak temporary files." +msgstr "" + +#: ../build/NEWS:2316 +msgid "" +"`bpo-37411 `__: Fix test_wsgiref." +"testEnviron() to no longer depend on the environment variables (don't fail " +"if \"X\" variable is set)." +msgstr "" + +#: ../build/NEWS:2319 +msgid "" +"`bpo-37400 `__: Fix test_os." +"test_chown(): use os.getgroups() rather than grp.getgrall() to get groups. " +"Rename also the test to test_chown_gid()." +msgstr "" + +#: ../build/NEWS:2322 +msgid "" +"`bpo-37359 `__: Add --cleanup option to " +"python3 -m test to remove ``test_python_*`` directories of previous failed " +"jobs. Add \"make cleantest\" to run ``python3 -m test --cleanup``." +msgstr "" + +#: ../build/NEWS:2326 +msgid "" +"`bpo-37362 `__: test_gdb no longer fails " +"if it gets an \"unexpected\" message on stderr: it now ignores stderr. The " +"purpose of test_gdb is to test that python-gdb.py commands work as expected, " +"not to test gdb." +msgstr "" + +#: ../build/NEWS:2330 +msgid "" +"`bpo-35998 `__: Avoid TimeoutError in " +"test_asyncio: test_start_tls_server_1()" +msgstr "" + +#: ../build/NEWS:2332 +msgid "" +"`bpo-37278 `__: Fix test_asyncio " +"ProactorLoopCtrlC: join the thread to prevent leaking a running thread and " +"leaking a reference." +msgstr "" + +#: ../build/NEWS:2335 +msgid "" +"`bpo-37261 `__: Fix :func:`test.support." +"catch_unraisable_exception`: its __exit__() method now ignores unraisable " +"exception raised when clearing its ``unraisable`` attribute." +msgstr "" + +#: ../build/NEWS:2339 +msgid "" +"`bpo-37169 `__: Rewrite " +"``_PyObject_IsFreed()`` unit tests." +msgstr "" + +#: ../build/NEWS:2341 +msgid "" +"`bpo-37153 `__: ``test_venv." +"test_mutiprocessing()`` now explicitly calls ``pool.terminate()`` to wait " +"until the pool completes." +msgstr "" + +#: ../build/NEWS:2344 +msgid "" +"`bpo-28009 `__: Modify the test_uuid " +"logic to test when a program is available AND can be used to obtain a " +"MACADDR as basis for an UUID. Patch by M. Felt" +msgstr "" + +#: ../build/NEWS:2350 +msgid "" +"`bpo-37189 `__: Many ``PyRun_XXX()`` " +"functions like :c:func:`PyRun_String` were no longer exported in " +"``libpython38.dll`` by mistake. Export them again to fix the ABI " +"compatibiliy." +msgstr "" + +#: ../build/NEWS:2357 +msgid "" +"`bpo-10945 `__: Officially drop support " +"for creating bdist_wininst installers on non-Windows systems." +msgstr "" + +#: ../build/NEWS:2360 +msgid "" +"`bpo-37369 `__: Fixes path for :data:" +"`sys.executable` when running from the Microsoft Store." +msgstr "" + +#: ../build/NEWS:2363 +msgid "" +"`bpo-37351 `__: Removes libpython38.a " +"from standard Windows distribution." +msgstr "" + +#: ../build/NEWS:2365 +msgid "" +"`bpo-35360 `__: Update Windows builds to " +"use SQLite 3.28.0." +msgstr "" + +#: ../build/NEWS:2367 +msgid "" +"`bpo-37267 `__: On Windows, :func:`os." +"dup` no longer creates an inheritable fd when handling a character file." +msgstr "" + +#: ../build/NEWS:2370 +msgid "" +"`bpo-36779 `__: Ensure ``time.tzname`` " +"is correct on Windows when the active code page is set to CP_UTF7 or CP_UTF8." +msgstr "" + +#: ../build/NEWS:2376 +msgid "" +"`bpo-34602 `__: Avoid test suite " +"failures on macOS by no longer calling resource.setrlimit to increase the " +"process stack size limit at runtime. The runtime change is no longer needed " +"since the interpreter is being built with a larger default stack size." +msgstr "" + +#: ../build/NEWS:2381 +msgid "" +"`bpo-35360 `__: Update macOS installer " +"to use SQLite 3.28.0." +msgstr "" + +#: ../build/NEWS:2383 +msgid "" +"`bpo-34631 `__: Updated OpenSSL to " +"1.1.1c in macOS installer." +msgstr "" + +#: ../build/NEWS:2388 +msgid "" +"`bpo-37325 `__: Fix tab focus traversal " +"order for help source and custom run dialogs." +msgstr "" + +#: ../build/NEWS:2391 +msgid "" +"`bpo-37321 `__: Both subprocess " +"connection error messages now refer to the 'Startup failure' section of the " +"IDLE doc." +msgstr "" + +#: ../build/NEWS:2394 +msgid "" +"`bpo-37177 `__: Properly 'attach' search " +"dialogs to their main window so that they behave like other dialogs and do " +"not get hidden behind their main window." +msgstr "" + +#: ../build/NEWS:2398 +msgid "" +"`bpo-37039 `__: Adjust \"Zoom Height\" " +"to individual screens by momemtarily maximizing the window on first use with " +"a particular screen. Changing screen settings may invalidate the saved " +"height. While a window is maximized, \"Zoom Height\" has no effect." +msgstr "" + +#: ../build/NEWS:2403 +msgid "" +"`bpo-35763 `__: Make calltip reminder " +"about '/' meaning positional-only less obtrusive by only adding it when " +"there is room on the first line." +msgstr "" + +#: ../build/NEWS:2406 +msgid "" +"`bpo-5680 `__: Add 'Run... Customized' to " +"the Run menu to run a module with customized settings. Any 'command line " +"arguments' entered are added to sys.argv. One can suppress the normal Shell " +"main module restart." +msgstr "" + +#: ../build/NEWS:2413 +msgid "" +"`bpo-36763 `__: Add :func:" +"`PyConfig_SetWideStringList` function." +msgstr "" + +#: ../build/NEWS:2415 +msgid "" +"`bpo-28805 `__: The :const:" +"`METH_FASTCALL` calling convention has been documented." +msgstr "" + +#: ../build/NEWS:2418 +msgid "" +"`bpo-37221 `__: ``tp_print`` is put back " +"at the end of the ``PyTypeObject`` structure to restore support for old code " +"(in particular generated by Cython) setting ``tp_print = 0``. Note that " +"``tp_print`` will be removed entirely in Python 3.9." +msgstr "" + +#: ../build/NEWS:2423 +msgid "" +"`bpo-37221 `__: The new function :c:func:" +"`PyCode_NewWithPosOnlyArgs` allows to create code objects like :c:func:" +"`PyCode_New`, but with an extra *posonlyargcount* parameter for indicating " +"the number of positonal-only arguments." +msgstr "" + +#: ../build/NEWS:2428 +msgid "" +"`bpo-37215 `__: Fix dtrace issue " +"introduce by `bpo-36842 `__" +msgstr "" + +#: ../build/NEWS:2430 +msgid "" +"`bpo-37191 `__: Python.h does not need " +"compiler support for intermingled declarations (GCC's ``-Wdeclaration-after-" +"statement``), which were added in 3.8.0 Beta 1. Note that in Python 3.9, " +"intermingled declarations will be needed again." +msgstr "" + +#: ../build/NEWS:2435 +msgid "" +"`bpo-37170 `__: Fix the cast on error " +"in :c:func:`PyLong_AsUnsignedLongLongMask()`." +msgstr "" + +#: ../build/NEWS:2440 +msgid "Python 3.8.0 beta 1" +msgstr "" + +#: ../build/NEWS:2442 +msgid "*Release date: 2019-06-04*" +msgstr "" + +#: ../build/NEWS:2447 +msgid "" +"`bpo-35907 `__: CVE-2019-9948: Avoid " +"file reading by disallowing ``local-file://`` and ``local_file://`` URL " +"schemes in ``URLopener().open()`` and ``URLopener().retrieve()`` of :mod:" +"`urllib.request`." +msgstr "" + +#: ../build/NEWS:2452 +msgid "" +"`bpo-33529 `__: Prevent fold function " +"used in email header encoding from entering infinite loop when there are too " +"many non-ASCII characters in a header." +msgstr "" + +#: ../build/NEWS:2456 +msgid "" +"`bpo-33164 `__: Updated blake2 " +"implementation which uses secure memset implementation provided by platform." +msgstr "" + +#: ../build/NEWS:2462 +msgid "" +"`bpo-35814 `__: Allow unpacking in the " +"right hand side of annotated assignments. In particular, ``t: " +"Tuple[int, ...] = x, y, *z`` is now allowed." +msgstr "" + +#: ../build/NEWS:2466 +msgid "" +"`bpo-37126 `__: All structseq objects " +"are now tracked by the garbage collector. Patch by Pablo Galindo." +msgstr "" + +#: ../build/NEWS:2469 +msgid "" +"`bpo-37122 `__: Make the *co_argcount* " +"attribute of code objects represent the total number of positional arguments " +"(including positional-only arguments). The value of *co_posonlyargcount* can " +"be used to distinguish which arguments are positional only, and the " +"difference (*co_argcount* - *co_posonlyargcount*) is the number of " +"positional-or-keyword arguments. Patch by Pablo Galindo." +msgstr "" + +#: ../build/NEWS:2476 +msgid "" +"`bpo-20092 `__: Constructors of :class:" +"`int`, :class:`float` and :class:`complex` will now use the :meth:`~object." +"__index__` special method, if available and the corresponding method :meth:" +"`~object.__int__`, :meth:`~object.__float__` or :meth:`~object.__complex__` " +"is not available." +msgstr "" + +#: ../build/NEWS:2481 +msgid "" +"`bpo-37087 `__: Add native thread ID " +"(TID) support to OpenBSD." +msgstr "" + +#: ../build/NEWS:2483 +#, python-format +msgid "" +"`bpo-26219 `__: Implemented per opcode " +"cache mechanism and ``LOAD_GLOBAL`` instruction use it. ``LOAD_GLOBAL`` is " +"now about 40% faster. Contributed by Yury Selivanov, and Inada Naoki." +msgstr "" + +#: ../build/NEWS:2487 +msgid "" +"`bpo-37072 `__: Fix crash in " +"PyAST_FromNodeObject() when flags is NULL." +msgstr "" + +#: ../build/NEWS:2489 +msgid "" +"`bpo-37029 `__: Freeing a great many " +"small objects could take time quadratic in the number of arenas, due to " +"using linear search to keep ``obmalloc.c``'s list of usable arenas sorted by " +"order of number of free memory pools. This is accomplished without search " +"now, leaving the worst-case time linear in the number of arenas. For " +"programs where this quite visibly matters (typically with more than 100 " +"thousand small objects alive simultaneously), this can greatly reduce the " +"time needed to release their memory." +msgstr "" + +#: ../build/NEWS:2498 +msgid "" +"`bpo-26423 `__: Fix possible overflow in " +"``wrap_lenfunc()`` when ``sizeof(long) < sizeof(Py_ssize_t)`` (e.g., 64-bit " +"Windows)." +msgstr "" + +#: ../build/NEWS:2501 +msgid "" +"`bpo-37050 `__: Improve the AST for " +"\"debug\" f-strings, which use '=' to print out the source of the expression " +"being evaluated. Delete expr_text from the FormattedValue node, and instead " +"use a Constant string node (possibly merged with adjacent constant " +"expressions inside the f-string)." +msgstr "" + +#: ../build/NEWS:2506 +msgid "" +"`bpo-22385 `__: The `bytes.hex`, " +"`bytearray.hex`, and `memoryview.hex` methods as well as the `binascii." +"hexlify` and `b2a_hex` functions now have the ability to include an optional " +"separator between hex bytes. This functionality was inspired by " +"MicroPython's hexlify implementation." +msgstr "" + +#: ../build/NEWS:2511 +msgid "" +"`bpo-26836 `__: Add :func:`os." +"memfd_create`." +msgstr "" + +#: ../build/NEWS:2513 +msgid "" +"`bpo-37032 `__: Added new ``replace()`` " +"method to the code type (:class:`types.CodeType`)." +msgstr "" + +#: ../build/NEWS:2516 +msgid "" +"`bpo-37007 `__: Implement :func:`socket." +"if_nameindex()`, :func:`socket.if_nametoindex()`, and :func:`socket." +"if_indextoname()` on Windows." +msgstr "" + +#: ../build/NEWS:2520 +msgid "" +"`bpo-36829 `__: :c:func:" +"`PyErr_WriteUnraisable` now creates a traceback object if there is no " +"current traceback. Moreover, call :c:func:`PyErr_NormalizeException` and :c:" +"func:`PyException_SetTraceback` to normalize the exception value. Ignore any " +"error." +msgstr "" + +#: ../build/NEWS:2525 +msgid "" +"`bpo-36878 `__: Only accept text after " +"`# type: ignore` if the first character is ASCII. This is to disallow things " +"like `# type: ignoreé`." +msgstr "" + +#: ../build/NEWS:2528 +msgid "" +"`bpo-36878 `__: Store text appearing " +"after a `# type: ignore` comment in the AST. For example a type ignore like " +"`# type: ignore[E1000]` will have the string `\"[E1000]\"` stored in its AST " +"node." +msgstr "" + +#: ../build/NEWS:2532 +msgid "" +"`bpo-2180 `__: Treat line continuation at " +"EOF as a ``SyntaxError`` by Anthony Sottile." +msgstr "" + +#: ../build/NEWS:2535 +msgid "" +"`bpo-36907 `__: Fix a crash when calling " +"a C function with a keyword dict (``f(**kwargs)``) and changing the dict " +"``kwargs`` while that function is running." +msgstr "" + +#: ../build/NEWS:2539 +msgid "" +"`bpo-36946 `__: Fix possible signed " +"integer overflow when handling slices." +msgstr "" + +#: ../build/NEWS:2541 +msgid "" +"`bpo-36826 `__: Add NamedExpression kind " +"support to ast_unparse.c" +msgstr "" + +#: ../build/NEWS:2543 +msgid "" +"`bpo-1875 `__: A :exc:`SyntaxError` is " +"now raised if a code blocks that will be optimized away (e.g. if conditions " +"that are always false) contains syntax errors. Patch by Pablo Galindo." +msgstr "" + +#: ../build/NEWS:2547 +msgid "" +"`bpo-36027 `__: Allow computation of " +"modular inverses via three-argument ``pow``: the second argument is now " +"permitted to be negative in the case where the first and third arguments are " +"relatively prime." +msgstr "" + +#: ../build/NEWS:2551 +msgid "" +"`bpo-36861 `__: Update the Unicode " +"database to version 12.1.0." +msgstr "" + +#: ../build/NEWS:2553 +msgid "" +"`bpo-28866 `__: Avoid caching attributes " +"of classes which type defines mro() to avoid a hard cache invalidation " +"problem." +msgstr "" + +#: ../build/NEWS:2556 +msgid "" +"`bpo-36851 `__: The ``FrameType`` stack " +"is now correctly cleaned up if the execution ends with a return and the " +"stack is not empty." +msgstr "" + +#: ../build/NEWS:2559 +msgid "" +"`bpo-34616 `__: The ``compile()`` " +"builtin functions now support the ``ast.PyCF_ALLOW_TOP_LEVEL_AWAIT`` flag, " +"which allow to compile sources that contains top-level ``await``, ``async " +"with`` or ``async for``. This is useful to evaluate async-code from with an " +"already async functions; for example in a custom REPL." +msgstr "" + +#: ../build/NEWS:2565 +msgid "" +"`bpo-36842 `__: Implement PEP 578, " +"adding sys.audit, io.open_code and related APIs." +msgstr "" + +#: ../build/NEWS:2568 +msgid "" +"`bpo-27639 `__: Correct return type for " +"UserList slicing operations. Patch by Michael Blahay, Erick Cervantes, and " +"vaultah" +msgstr "" + +#: ../build/NEWS:2571 +msgid "" +"`bpo-36737 `__: Move PyRuntimeState." +"warnings into per-interpreter state (via \"module state\")." +msgstr "" + +#: ../build/NEWS:2574 +msgid "" +"`bpo-36793 `__: Removed ``__str__`` " +"implementations from builtin types :class:`bool`, :class:`int`, :class:" +"`float`, :class:`complex` and few classes from the standard library. They " +"now inherit ``__str__()`` from :class:`object`." +msgstr "" + +#: ../build/NEWS:2579 +msgid "" +"`bpo-36817 `__: Add a ``=`` feature f-" +"strings for debugging. This can precede ``!s``, ``!r``, or ``!a``. It " +"produces the text of the expression, followed by an equal sign, followed by " +"the repr of the value of the expression. So ``f'{3*9+15=}'`` would be equal " +"to the string ``'3*9+15=42'``. If ``=`` is specified, the default " +"conversion is set to ``!r``, unless a format spec is given, in which case " +"the formatting behavior is unchanged, and __format__ will be used." +msgstr "" + +#: ../build/NEWS:2587 +msgid "" +"`bpo-24048 `__: Save the live exception " +"during import.c's ``remove_module()``." +msgstr "" + +#: ../build/NEWS:2589 +msgid "" +"`bpo-27987 `__: pymalloc returns memory " +"blocks aligned by 16 bytes, instead of 8 bytes, on 64-bit platforms to " +"conform x86-64 ABI. Recent compilers assume this alignment more often. Patch " +"by Inada Naoki." +msgstr "" + +#: ../build/NEWS:2593 +msgid "" +"`bpo-36601 `__: A long-since-meaningless " +"check for ``getpid() == main_pid`` was removed from Python's internal C " +"signal handler." +msgstr "" + +#: ../build/NEWS:2596 +msgid "" +"`bpo-36594 `__: Fix incorrect use of ``" +"%p`` in format strings. Patch by Zackery Spytz." +msgstr "" + +#: ../build/NEWS:2599 +msgid "" +"`bpo-36045 `__: builtins.help() now " +"prefixes `async` for async functions" +msgstr "" + +#: ../build/NEWS:2601 +msgid "" +"`bpo-36084 `__: Add native thread ID " +"(TID) to threading.Thread objects (supported platforms: Windows, FreeBSD, " +"Linux, macOS)" +msgstr "" + +#: ../build/NEWS:2604 +msgid "" +"`bpo-36035 `__: Added fix for broken " +"symlinks in combination with pathlib" +msgstr "" + +#: ../build/NEWS:2606 +msgid "" +"`bpo-35983 `__: Added new trashcan " +"macros to deal with a double deallocation that could occur when the " +"`tp_dealloc` of a subclass calls the `tp_dealloc` of a base class and that " +"base class uses the trashcan mechanism. Patch by Jeroen Demeyer." +msgstr "" + +#: ../build/NEWS:2611 +msgid "" +"`bpo-20602 `__: Do not clear :data:`sys." +"flags` and :data:`sys.float_info` during shutdown. Patch by Zackery Spytz." +msgstr "" + +#: ../build/NEWS:2614 +msgid "" +"`bpo-26826 `__: Expose :func:" +"`copy_file_range` as a low level API in the :mod:`os` module." +msgstr "" + +#: ../build/NEWS:2617 +msgid "" +"`bpo-32388 `__: Remove cross-version " +"binary compatibility requirement in tp_flags." +msgstr "" + +#: ../build/NEWS:2620 +msgid "" +"`bpo-31862 `__: Port binascii to PEP 489 " +"multiphase initialization. Patch by Marcel Plch." +msgstr "" + +#: ../build/NEWS:2626 +msgid "" +"`bpo-37128 `__: Added :func:`math.perm`." +msgstr "" + +#: ../build/NEWS:2628 +msgid "" +"`bpo-37120 `__: Add SSLContext." +"num_tickets to control the number of TLSv1.3 session tickets." +msgstr "" + +#: ../build/NEWS:2631 +msgid "" +"`bpo-12202 `__: Fix the error handling " +"in :meth:`msilib.SummaryInformation.GetProperty`. Patch by Zackery Spytz." +msgstr "" + +#: ../build/NEWS:2634 +msgid "" +"`bpo-26835 `__: The fcntl module now " +"contains file sealing constants for sealing of memfds." +msgstr "" + +#: ../build/NEWS:2637 +msgid "" +"`bpo-29262 `__: Add ``get_origin()`` and " +"``get_args()`` introspection helpers to ``typing`` module." +msgstr "" + +#: ../build/NEWS:2640 +msgid "" +"`bpo-12639 `__: :meth:`msilib.Directory." +"start_component()` no longer fails if *keyfile* is not ``None``." +msgstr "" + +#: ../build/NEWS:2643 +msgid "" +"`bpo-36999 `__: Add the ``asyncio.Task." +"get_coro()`` method to publicly expose the tasks's coroutine object." +msgstr "" + +#: ../build/NEWS:2646 +msgid "" +"`bpo-35246 `__: Make :func:`asyncio." +"create_subprocess_exec` accept path-like arguments." +msgstr "" + +#: ../build/NEWS:2649 +msgid "" +"`bpo-35279 `__: Change default " +"*max_workers* of ``ThreadPoolExecutor`` from ``cpu_count() * 5`` to " +"``min(32, cpu_count() + 4))``. Previous value was unreasonably large on " +"many cores machines." +msgstr "" + +#: ../build/NEWS:2653 +msgid "" +"`bpo-37076 `__: :func:`_thread." +"start_new_thread` now logs uncaught exception raised by the function using :" +"func:`sys.unraisablehook`, rather than :func:`sys.excepthook`, so the hook " +"gets access to the function which raised the exception." +msgstr "" + +#: ../build/NEWS:2658 +msgid "" +"`bpo-33725 `__: On macOS, the :mod:" +"`multiprocessing` module now uses *spawn* start method by default." +msgstr "" + +#: ../build/NEWS:2661 +msgid "" +"`bpo-37054 `__: Fix destructor :class:" +"`_pyio.BytesIO` and :class:`_pyio.TextIOWrapper`: initialize their " +"``_buffer`` attribute as soon as possible (in the class body), because it's " +"used by ``__del__()`` which calls ``close()``." +msgstr "" + +#: ../build/NEWS:2666 +msgid "" +"`bpo-37058 `__: PEP 544: Add " +"``Protocol`` and ``@runtime_checkable`` to the ``typing`` module." +msgstr "" + +#: ../build/NEWS:2669 +msgid "" +"`bpo-36933 `__: The functions ``sys." +"set_coroutine_wrapper`` and ``sys.get_coroutine_wrapper`` that were " +"deprecated and marked for removal in 3.8 have been removed." +msgstr "" + +#: ../build/NEWS:2673 +msgid "" +"`bpo-37047 `__: Handle late binding and " +"attribute access in :class:`unittest.mock.AsyncMock` setup for autospeccing. " +"Document newly implemented async methods in :class:`unittest.mock.MagicMock`." +msgstr "" + +#: ../build/NEWS:2677 +msgid "" +"`bpo-37049 `__: PEP 589: Add " +"``TypedDict`` to the ``typing`` module." +msgstr "" + +#: ../build/NEWS:2679 +msgid "" +"`bpo-37046 `__: PEP 586: Add ``Literal`` " +"to the ``typing`` module." +msgstr "" + +#: ../build/NEWS:2681 +msgid "" +"`bpo-37045 `__: PEP 591: Add ``Final`` " +"qualifier and ``@final`` decorator to the ``typing`` module." +msgstr "" + +#: ../build/NEWS:2684 +msgid "" +"`bpo-37035 `__: Don't log OSError based " +"exceptions if a fatal error has occurred in asyncio transport. Peer can " +"generate almost any OSError, user cannot avoid these exceptions by fixing " +"own code. Errors are still propagated to user code, it's just logging them " +"is pointless and pollute asyncio logs." +msgstr "" + +#: ../build/NEWS:2690 +msgid "" +"`bpo-37001 `__: :func:`symtable." +"symtable` now accepts the same input types for source code as the built-in :" +"func:`compile` function. Patch by Dino Viehland." +msgstr "" + +#: ../build/NEWS:2694 +msgid "" +"`bpo-37028 `__: Implement asyncio REPL" +msgstr "" + +#: ../build/NEWS:2696 +msgid "" +"`bpo-37027 `__: Return safe to use proxy " +"socket object from transport.get_extra_info('socket')" +msgstr "" + +#: ../build/NEWS:2699 +msgid "" +"`bpo-32528 `__: Make asyncio." +"CancelledError a BaseException." +msgstr "" + +#: ../build/NEWS:2701 +msgid "" +"This will address the common mistake many asyncio users make: an \"except " +"Exception\" clause breaking Tasks cancellation." +msgstr "" + +#: ../build/NEWS:2704 +msgid "" +"In addition to this change, we stop inheriting asyncio.TimeoutError and " +"asyncio.InvalidStateError from their concurrent.futures.* counterparts. " +"There's no point for these exceptions to share the inheritance chain." +msgstr "" + +#: ../build/NEWS:2708 +msgid "" +"`bpo-1230540 `__: Add a new :func:" +"`threading.excepthook` function which handles uncaught :meth:`threading." +"Thread.run` exception. It can be overridden to control how uncaught :meth:" +"`threading.Thread.run` exceptions are handled." +msgstr "" + +#: ../build/NEWS:2712 +msgid "" +"`bpo-36996 `__: Handle :func:`unittest." +"mock.patch` used as a decorator on async functions." +msgstr "" + +#: ../build/NEWS:2715 +msgid "" +"`bpo-37008 `__: Add support for calling :" +"func:`next` with the mock resulting from :func:`unittest.mock.mock_open`" +msgstr "" + +#: ../build/NEWS:2718 +msgid "" +"`bpo-27737 `__: Allow whitespace only " +"header encoding in ``email.header`` - by Batuhan Taskaya" +msgstr "" + +#: ../build/NEWS:2721 +msgid "" +"`bpo-36969 `__: PDB command `args` now " +"display positional only arguments. Patch contributed by Rémi Lapeyre." +msgstr "" + +#: ../build/NEWS:2724 +msgid "" +"`bpo-36969 `__: PDB command `args` now " +"display keyword only arguments. Patch contributed by Rémi Lapeyre." +msgstr "" + +#: ../build/NEWS:2727 +msgid "" +"`bpo-36983 `__: Add missing names to " +"``typing.__all__``: ``ChainMap``, ``ForwardRef``, ``OrderedDict`` - by " +"Anthony Sottile." +msgstr "" + +#: ../build/NEWS:2730 +msgid "" +"`bpo-36972 `__: Add SupportsIndex " +"protocol to the typing module to allow type checking to detect classes that " +"can be passed to `hex()`, `oct()` and `bin()`." +msgstr "" + +#: ../build/NEWS:2734 +msgid "" +"`bpo-32972 `__: Implement ``unittest." +"IsolatedAsyncioTestCase`` to help testing asyncio-based code." +msgstr "" + +#: ../build/NEWS:2737 +msgid "" +"`bpo-36952 `__: :func:`fileinput.input` " +"and :class:`fileinput.FileInput` **bufsize** argument has been removed (was " +"deprecated and ignored since Python 3.6), and as a result the **mode** and " +"**openhook** arguments have been made keyword-only." +msgstr "" + +#: ../build/NEWS:2742 +msgid "" +"`bpo-36952 `__: Starting with Python " +"3.3, importing ABCs from :mod:`collections` is deprecated, and import should " +"be done from :mod:`collections.abc`. Still being able to import from :mod:" +"`collections` was marked for removal in 3.8, but has been delayed to 3.9; " +"documentation and ``DeprecationWarning`` clarified." +msgstr "" + +#: ../build/NEWS:2748 +msgid "" +"`bpo-36949 `__: Implement __repr__ for " +"WeakSet objects." +msgstr "" + +#: ../build/NEWS:2750 +msgid "" +"`bpo-36948 `__: Fix :exc:`NameError` in :" +"meth:`urllib.request.URLopener.retrieve`. Patch by Karthikeyan Singaravelan." +msgstr "" + +#: ../build/NEWS:2754 +msgid "" +"`bpo-33524 `__: Fix the folding of email " +"header when the max_line_length is 0 or None and the header contains non-" +"ascii characters. Contributed by Licht Takeuchi (@Licht-T)." +msgstr "" + +#: ../build/NEWS:2758 +msgid "" +"`bpo-24564 `__: :func:`shutil.copystat` " +"now ignores :const:`errno.EINVAL` on :func:`os.setxattr` which may occur " +"when copying files on filesystems without extended attributes support." +msgstr "" + +#: ../build/NEWS:2762 +msgid "Original patch by Giampaolo Rodola, updated by Ying Wang." +msgstr "" + +#: ../build/NEWS:2764 +msgid "" +"`bpo-36888 `__: Python child processes " +"can now access the status of their parent process using multiprocessing." +"process.parent_process" +msgstr "" + +#: ../build/NEWS:2767 +msgid "" +"`bpo-36921 `__: Deprecate ``@coroutine`` " +"for sake of ``async def``." +msgstr "" + +#: ../build/NEWS:2769 +msgid "" +"`bpo-25652 `__: Fix bug in ``__rmod__`` " +"of ``UserString`` - by Batuhan Taskaya." +msgstr "" + +#: ../build/NEWS:2771 +msgid "" +"`bpo-36916 `__: Remove a message about " +"an unhandled exception in a task when writer.write() is used without await " +"and writer.drain() fails with an exception." +msgstr "" + +#: ../build/NEWS:2775 +msgid "" +"`bpo-36889 `__: Introduce :class:" +"`asyncio.Stream` class that merges :class:`asyncio.StreamReader` and :class:" +"`asyncio.StreamWriter` functionality. :class:`asyncio.Stream` can work in " +"readonly, writeonly and readwrite modes. Provide :func:`asyncio.connect`, :" +"func:`asyncio.connect_unix`, :func:`asyncio.connect_read_pipe` and :func:" +"`asyncio.connect_write_pipe` factories to open :class:`asyncio.Stream` " +"connections. Provide :class:`asyncio.StreamServer` and :class:" +"`UnixStreamServer` to serve servers with asyncio.Stream API. Modify :func:" +"`asyncio.create_subprocess_shell` and :func:`asyncio.create_subprocess_exec` " +"to use :class:`asyncio.Stream` instead of deprecated :class:`StreamReader` " +"and :class:`StreamWriter`. Deprecate :class:`asyncio.StreamReader` and :" +"class:`asyncio.StreamWriter`. Deprecate usage of private classes, e.g. :" +"class:`asyncio.FlowControlMixing` and :class:`asyncio.StreamReaderProtocol` " +"outside of asyncio package." +msgstr "" + +#: ../build/NEWS:2791 +msgid "" +"`bpo-36845 `__: Added validation of " +"integer prefixes to the construction of IP networks and interfaces in the " +"ipaddress module." +msgstr "" + +#: ../build/NEWS:2794 +msgid "" +"`bpo-23378 `__: Add an extend action to " +"argparser." +msgstr "" + +#: ../build/NEWS:2796 +msgid "" +"`bpo-36867 `__: Fix a bug making a " +"SharedMemoryManager instance and its parent process use two separate " +"resource_tracker processes." +msgstr "" + +#: ../build/NEWS:2799 +msgid "" +"`bpo-23896 `__: Adds a grammar to " +"lib2to3.pygram that contains exec as a function not as statement." +msgstr "" + +#: ../build/NEWS:2802 +msgid "" +"`bpo-36895 `__: The function ``time." +"clock()`` was deprecated in 3.3 in favor of ``time.perf_counter()`` and " +"marked for removal in 3.8, it has removed." +msgstr "" + +#: ../build/NEWS:2805 +msgid "" +"`bpo-35545 `__: Fix asyncio discarding " +"IPv6 scopes when ensuring hostname resolutions internally" +msgstr "" + +#: ../build/NEWS:2808 +msgid "" +"`bpo-36887 `__: Add new function :func:" +"`math.isqrt` to compute integer square roots." +msgstr "" + +#: ../build/NEWS:2811 +msgid "" +"`bpo-34632 `__: Introduce the " +"``importlib.metadata`` module with (provisional) support for reading " +"metadata from third-party packages." +msgstr "" + +#: ../build/NEWS:2814 +msgid "" +"`bpo-36878 `__: When using " +"`type_comments=True` in `ast.parse`, treat `# type: ignore` followed by a " +"non-alphanumeric character and then arbitrary text as a type ignore, instead " +"of requiring nothing but whitespace or another comment. This is to permit " +"formations such as `# type: ignore[E1000]`." +msgstr "" + +#: ../build/NEWS:2819 +msgid "" +"`bpo-36778 `__: ``cp65001`` encoding " +"(Windows code page 65001) becomes an alias to ``utf_8`` encoding." +msgstr "" + +#: ../build/NEWS:2822 +msgid "" +"`bpo-36867 `__: The multiprocessing." +"resource_tracker replaces the multiprocessing.semaphore_tracker module. " +"Other than semaphores, resource_tracker also tracks shared_memory segments." +msgstr "" + +#: ../build/NEWS:2826 +msgid "" +"`bpo-30262 `__: The ``Cache`` and " +"``Statement`` objects of the :mod:`sqlite3` module are not exposed to the " +"user. Patch by Aviv Palivoda." +msgstr "" + +#: ../build/NEWS:2829 +msgid "" +"`bpo-24538 `__: In `shutil.copystat()`, " +"first copy extended file attributes and then file permissions, since " +"extended attributes can only be set on the destination while it is still " +"writeable." +msgstr "" + +#: ../build/NEWS:2833 +msgid "" +"`bpo-36829 `__: Add new :func:`sys." +"unraisablehook` function which can be overridden to control how \"unraisable " +"exceptions\" are handled. It is called when an exception has occurred but " +"there is no way for Python to handle it. For example, when a destructor " +"raises an exception or during garbage collection (:func:`gc.collect`)." +msgstr "" + +#: ../build/NEWS:2839 +msgid "" +"`bpo-36832 `__: Introducing ``zipfile." +"Path``, a pathlib-compatible wrapper for traversing zip files." +msgstr "" + +#: ../build/NEWS:2842 +msgid "" +"`bpo-36814 `__: Fix an issue where os." +"posix_spawnp() would incorrectly raise a TypeError when file_actions is None." +msgstr "" + +#: ../build/NEWS:2845 +msgid "" +"`bpo-33110 `__: Handle exceptions raised " +"by functions added by concurrent.futures add_done_callback correctly when " +"the Future has already completed." +msgstr "" + +#: ../build/NEWS:2849 +msgid "" +"`bpo-26903 `__: Limit `max_workers` in " +"`ProcessPoolExecutor` to 61 to work around a WaitForMultipleObjects " +"limitation." +msgstr "" + +#: ../build/NEWS:2852 +msgid "" +"`bpo-36813 `__: Fix :class:`~logging." +"handlers.QueueListener` to call ``queue.task_done()`` upon stopping. Patch " +"by Bar Harel." +msgstr "" + +#: ../build/NEWS:2855 +msgid "" +"`bpo-36806 `__: Forbid creation of " +"asyncio stream objects like StreamReader, StreamWriter, Process, and their " +"protocols outside of asyncio package." +msgstr "" + +#: ../build/NEWS:2858 +msgid "" +"`bpo-36802 `__: Provide both sync and " +"async calls for StreamWriter.write() and StreamWriter.close()" +msgstr "" + +#: ../build/NEWS:2861 +msgid "" +"`bpo-36801 `__: Properly handle SSL " +"connection closing in asyncio StreamWriter.drain() call." +msgstr "" + +#: ../build/NEWS:2864 +msgid "" +"`bpo-36785 `__: Implement PEP 574 " +"(pickle protocol 5 with out-of-band buffers)." +msgstr "" + +#: ../build/NEWS:2866 +msgid "" +"`bpo-36772 `__: functools.lru_cache() " +"can now be used as a straight decorator in addition to its existing usage as " +"a function that returns a decorator." +msgstr "" + +#: ../build/NEWS:2869 +msgid "" +"`bpo-6584 `__: Add a :exc:`~gzip." +"BadGzipFile` exception to the :mod:`gzip` module." +msgstr "" + +#: ../build/NEWS:2872 +#, python-format +msgid "" +"`bpo-36748 `__: Optimized write " +"buffering in C implementation of ``TextIOWrapper``. Writing ASCII string to " +"``TextIOWrapper`` with ascii, latin1, or utf-8 encoding is about " +"20% faster. Patch by Inada Naoki." +msgstr "" + +#: ../build/NEWS:2876 +msgid "" +"`bpo-8138 `__: Don't mark ``wsgiref." +"simple_server.SimpleServer`` as multi-threaded since ``wsgiref.simple_server." +"WSGIServer`` is single-threaded." +msgstr "" + +#: ../build/NEWS:2880 +msgid "" +"`bpo-22640 `__: :func:`py_compile." +"compile` now supports silent mode. Patch by Joannah Nanjekye" +msgstr "" + +#: ../build/NEWS:2883 +msgid "" +"`bpo-29183 `__: Fix double exceptions " +"in :class:`wsgiref.handlers.BaseHandler` by calling its :meth:`~wsgiref." +"handlers.BaseHandler.close` method only when no exception is raised." +msgstr "" + +#: ../build/NEWS:2887 +msgid "" +"`bpo-36548 `__: Improved the repr of " +"regular expression flags." +msgstr "" + +#: ../build/NEWS:2889 +msgid "" +"`bpo-36542 `__: The signature of Python " +"functions can now be overridden by specifying the ``__text_signature__`` " +"attribute." +msgstr "" + +#: ../build/NEWS:2892 +msgid "" +"`bpo-36533 `__: Reinitialize logging." +"Handler locks in forked child processes instead of attempting to acquire " +"them all in the parent before forking only to be released in the child " +"process. The acquire/release pattern was leading to deadlocks in code that " +"has implemented any form of chained logging handlers that depend upon one " +"another as the lock acquisition order cannot be guaranteed." +msgstr "" + +#: ../build/NEWS:2899 +msgid "" +"`bpo-35252 `__: Throw a TypeError " +"instead of an AssertionError when using an invalid type annotation with " +"singledispatch." +msgstr "" + +#: ../build/NEWS:2902 +msgid "" +"`bpo-35900 `__: Allow reduction methods " +"to return a 6-item tuple where the 6th item specifies a custom state-setting " +"method that's called instead of the regular ``__setstate__`` method." +msgstr "" + +#: ../build/NEWS:2906 +msgid "" +"`bpo-35900 `__: enable custom reduction " +"callback registration for functions and classes in _pickle.c, using the new " +"Pickler's attribute ``reducer_override``" +msgstr "" + +#: ../build/NEWS:2910 +msgid "" +"`bpo-36368 `__: Fix a bug crashing " +"SharedMemoryManager instances in interactive sessions after a ctrl-c " +"(KeyboardInterrupt) was sent" +msgstr "" + +#: ../build/NEWS:2913 +msgid "" +"`bpo-31904 `__: Fix mmap fail for VxWorks" +msgstr "" + +#: ../build/NEWS:2915 +msgid "" +"`bpo-27497 `__: :meth:`csv.DictWriter." +"writeheader` now returns the return value of the underlying :meth:`csv." +"Writer.writerow` method. Patch contributed by Ashish Nitin Patil." +msgstr "" + +#: ../build/NEWS:2919 +msgid "" +"`bpo-36239 `__: Parsing .mo files now " +"ignores comments starting and ending with #-#-#-#-#." +msgstr "" + +#: ../build/NEWS:2922 +msgid "" +"`bpo-26707 `__: Enable plistlib to read " +"and write binary plist files that were created as a KeyedArchive file. " +"Specifically, this allows the plistlib to process 0x80 tokens as UID objects." +msgstr "" + +#: ../build/NEWS:2926 +msgid "" +"`bpo-31904 `__: Add posix module support " +"for VxWorks." +msgstr "" + +#: ../build/NEWS:2928 +msgid "" +"`bpo-35125 `__: Asyncio: Remove inner " +"callback on outer cancellation in shield" +msgstr "" + +#: ../build/NEWS:2930 +msgid "" +"`bpo-35721 `__: Fix :meth:`asyncio." +"SelectorEventLoop.subprocess_exec()` leaks file descriptors if ``Popen`` " +"fails and called with ``stdin=subprocess.PIPE``. Patch by Niklas Fiekas." +msgstr "" + +#: ../build/NEWS:2934 +msgid "" +"`bpo-31855 `__: :func:`unittest.mock." +"mock_open` results now respects the argument of read([size]). Patch " +"contributed by Rémi Lapeyre." +msgstr "" + +#: ../build/NEWS:2937 +msgid "" +"`bpo-35431 `__: Implement :func:`math." +"comb` that returns binomial coefficient, that computes the number of ways to " +"choose k items from n items without repetition and without order. Patch by " +"Yash Aggarwal and Keller Fuchs." +msgstr "" + +#: ../build/NEWS:2941 +msgid "" +"`bpo-26660 `__: Fixed permission errors " +"in :class:`~tempfile.TemporaryDirectory` clean up. Previously " +"``TemporaryDirectory.cleanup()`` failed when non-writeable or non-searchable " +"files or directories were created inside a temporary directory." +msgstr "" + +#: ../build/NEWS:2947 +msgid "" +"`bpo-34271 `__: Add debugging helpers to " +"ssl module. It's now possible to dump key material and to trace TLS " +"protocol. The default and stdlib contexts also support SSLKEYLOGFILE env var." +msgstr "" + +#: ../build/NEWS:2951 +msgid "" +"`bpo-26467 `__: Added AsyncMock to " +"support using unittest to mock asyncio coroutines. Patch by Lisa Roach." +msgstr "" + +#: ../build/NEWS:2954 +msgid "" +"`bpo-33569 `__: dataclasses.InitVar: " +"Exposes the type used to create the init var." +msgstr "" + +#: ../build/NEWS:2957 +msgid "" +"`bpo-34424 `__: Fix serialization of " +"messages containing encoded strings when the policy.linesep is set to a " +"multi-character string. Patch by Jens Troeger." +msgstr "" + +#: ../build/NEWS:2961 +msgid "" +"`bpo-34303 `__: Performance of :func:" +"`functools.reduce` is slightly improved. Patch by Sergey Fedoseev." +msgstr "" + +#: ../build/NEWS:2964 +msgid "" +"`bpo-33361 `__: Fix a bug in :class:" +"`codecs.StreamRecoder` where seeking might leave old data in a buffer and " +"break subsequent read calls. Patch by Ammar Askar." +msgstr "" + +#: ../build/NEWS:2968 +msgid "" +"`bpo-22454 `__: The :mod:`shlex` module " +"now exposes :func:`shlex.join`, the inverse of :func:`shlex.split`. Patch by " +"Bo Bayles." +msgstr "" + +#: ../build/NEWS:2971 +msgid "" +"`bpo-31922 `__: :meth:`asyncio." +"AbstractEventLoop.create_datagram_endpoint`: Do not connect UDP socket when " +"broadcast is allowed. This allows to receive replies after a UDP broadcast." +msgstr "" + +#: ../build/NEWS:2975 +msgid "" +"`bpo-24882 `__: Change " +"ThreadPoolExecutor to use existing idle threads before spinning up new ones." +msgstr "" + +#: ../build/NEWS:2978 +msgid "" +"`bpo-31961 `__: Added support for bytes " +"and path-like objects in :func:`subprocess.Popen` on Windows. The *args* " +"parameter now accepts a :term:`path-like object` if *shell* is ``False`` and " +"a sequence containing bytes and path-like objects. The *executable* " +"parameter now accepts a bytes and :term:`path-like object`. The *cwd* " +"parameter now accepts a bytes object. Based on patch by Anders Lorentsen." +msgstr "" + +#: ../build/NEWS:2985 +msgid "" +"`bpo-33123 `__: :class:`pathlib.Path." +"unlink` now accepts a *missing_ok* parameter to avoid a :exc:" +"`FileNotFoundError` from being raised. Patch by Robert Buchholz." +msgstr "" + +#: ../build/NEWS:2989 +msgid "" +"`bpo-32941 `__: Allow :class:`mmap.mmap` " +"objects to access the madvise() system call (through :meth:`mmap.mmap." +"madvise`)." +msgstr "" + +#: ../build/NEWS:2992 +msgid "" +"`bpo-22102 `__: Added support for ZIP " +"files with disks set to 0. Such files are commonly created by builtin tools " +"on Windows when use ZIP64 extension. Patch by Francisco Facioni." +msgstr "" + +#: ../build/NEWS:2996 +msgid "" +"`bpo-32515 `__: trace.py can now run " +"modules via python3 -m trace -t --module module_name" +msgstr "" + +#: ../build/NEWS:2999 +msgid "" +"`bpo-32299 `__: Changed :func:`unittest." +"mock.patch.dict` to return the patched dictionary when used as context " +"manager. Patch by Vadim Tsander." +msgstr "" + +#: ../build/NEWS:3002 +msgid "" +"`bpo-27141 `__: Added a ``__copy__()`` " +"to ``collections.UserList`` and ``collections.UserDict`` in order to " +"correctly implement shallow copying of the objects. Patch by Bar Harel." +msgstr "" + +#: ../build/NEWS:3006 +msgid "" +"`bpo-31829 `__: ``\\r``, ``\\0`` and ``" +"\\x1a`` (end-of-file on Windows) are now escaped in protocol 0 pickles of " +"Unicode strings. This allows to load them without loss from files open in " +"text mode in Python 2." +msgstr "" + +#: ../build/NEWS:3010 +msgid "" +"`bpo-23395 `__: ``_thread." +"interrupt_main()`` now avoids setting the Python error status if the " +"``SIGINT`` signal is ignored or not handled by Python." +msgstr "" + +#: ../build/NEWS:3016 +msgid "" +"`bpo-36896 `__: Clarify that some types " +"have unstable constructor signature between Python versions." +msgstr "" + +#: ../build/NEWS:3019 +msgid "" +"`bpo-36686 `__: Improve documentation of " +"the stdin, stdout, and stderr arguments of of the ``asyncio." +"subprocess_exec`` function to specify which values are supported. Also " +"mention that decoding as text is not supported." +msgstr "" + +#: ../build/NEWS:3023 +msgid "" +"Add a few tests to verify that the various values passed to the std* " +"arguments actually work." +msgstr "" + +#: ../build/NEWS:3026 +msgid "" +"`bpo-36984 `__: Improve version added " +"references in ``typing`` module - by Anthony Sottile." +msgstr "" + +#: ../build/NEWS:3029 +msgid "" +"`bpo-36868 `__: What's new now mentions " +"SSLContext.hostname_checks_common_name instead of SSLContext.host_flags." +msgstr "" + +#: ../build/NEWS:3032 +msgid "" +"`bpo-35924 `__: Add a note to the " +"``curses.addstr()`` documentation to warn that multiline strings can cause " +"segfaults because of an ncurses bug." +msgstr "" + +#: ../build/NEWS:3035 +msgid "" +"`bpo-36783 `__: Added C API " +"Documentation for Time_FromTimeAndFold and PyDateTime_FromDateAndTimeAndFold " +"as per PEP 495. Patch by Edison Abahurire." +msgstr "" + +#: ../build/NEWS:3039 +msgid "" +"`bpo-36797 `__: More of the legacy " +"distutils documentation has been either pruned, or else more clearly marked " +"as being retained solely until the setuptools documentation covers it " +"independently." +msgstr "" + +#: ../build/NEWS:3043 +msgid "" +"`bpo-22865 `__: Add detail to the " +"documentation on the `pty.spawn` function." +msgstr "" + +#: ../build/NEWS:3045 +msgid "" +"`bpo-35397 `__: Remove deprecation and " +"document urllib.parse.unwrap(). Patch contributed by Rémi Lapeyre." +msgstr "" + +#: ../build/NEWS:3048 +msgid "" +"`bpo-32995 `__: Added the context " +"variable in glossary." +msgstr "" + +#: ../build/NEWS:3050 +msgid "" +"`bpo-33519 `__: Clarify that `copy()` is " +"not part of the `MutableSequence` ABC." +msgstr "" + +#: ../build/NEWS:3052 +msgid "" +"`bpo-33482 `__: Make `codecs." +"StreamRecoder.writelines` take a list of bytes." +msgstr "" + +#: ../build/NEWS:3054 +msgid "" +"`bpo-25735 `__: Added documentation for " +"func factorial to indicate that returns integer values" +msgstr "" + +#: ../build/NEWS:3057 +msgid "" +"`bpo-20285 `__: Expand object.__doc__ " +"(docstring) to make it clearer. Modify pydoc.py so that help(object) lists " +"object methods (for other classes, help omits methods of the object base " +"class.)" +msgstr "" + +#: ../build/NEWS:3064 +msgid "" +"`bpo-37069 `__: Modify test_coroutines, " +"test_cprofile, test_generators, test_raise, test_ssl and test_yield_from to " +"use :func:`test.support.catch_unraisable_exception` rather than :func:`test." +"support.captured_stderr`." +msgstr "" + +#: ../build/NEWS:3069 +msgid "" +"`bpo-37098 `__: Fix test_memfd_create on " +"older Linux Kernels." +msgstr "" + +#: ../build/NEWS:3071 +msgid "" +"`bpo-37081 `__: Test with OpenSSL 1.1.1c" +msgstr "" + +#: ../build/NEWS:3073 +msgid "" +"`bpo-36829 `__: Add :func:`test.support." +"catch_unraisable_exception`: context manager catching unraisable exception " +"using :func:`sys.unraisablehook`." +msgstr "" + +#: ../build/NEWS:3076 +msgid "" +"`bpo-36915 `__: The main regrtest " +"process now always removes all temporary directories of worker processes " +"even if they crash or if they are killed on KeyboardInterrupt (CTRL+c)." +msgstr "" + +#: ../build/NEWS:3080 +msgid "" +"`bpo-36719 `__: \"python3 -m test -jN ..." +"\" now continues the execution of next tests when a worker process crash " +"(CHILD_ERROR state). Previously, the test suite stopped immediately. Use --" +"failfast to stop at the first error." +msgstr "" + +#: ../build/NEWS:3084 +msgid "" +"`bpo-36816 `__: Update Lib/test/" +"selfsigned_pythontestdotnet.pem to match self-signed.pythontest.net's new " +"TLS certificate." +msgstr "" + +#: ../build/NEWS:3087 +msgid "" +"`bpo-35925 `__: Skip httplib and nntplib " +"networking tests when they would otherwise fail due to a modern OS or distro " +"with a default OpenSSL policy of rejecting connections to servers with weak " +"certificates." +msgstr "" + +#: ../build/NEWS:3091 +msgid "" +"`bpo-36782 `__: Add tests for several C " +"API functions in the :mod:`datetime` module. Patch by Edison Abahurire." +msgstr "" + +#: ../build/NEWS:3094 +msgid "" +"`bpo-36342 `__: Fix test_multiprocessing " +"in test_venv if platform lacks functioning sem_open." +msgstr "" + +#: ../build/NEWS:3100 +msgid "" +"`bpo-36721 `__: To embed Python into an " +"application, a new ``--embed`` option must be passed to ``python3-config --" +"libs --embed`` to get ``-lpython3.8`` (link the application to libpython). " +"To support both 3.8 and older, try ``python3-config --libs --embed`` first " +"and fallback to ``python3-config --libs`` (without ``--embed``) if the " +"previous command fails." +msgstr "" + +#: ../build/NEWS:3106 +msgid "" +"Add a pkg-config ``python-3.8-embed`` module to embed Python into an " +"application: ``pkg-config python-3.8-embed --libs`` includes ``-" +"lpython3.8``. To support both 3.8 and older, try ``pkg-config python-X.Y-" +"embed --libs`` first and fallback to ``pkg-config python-X.Y --libs`` " +"(without ``--embed``) if the previous command fails (replace ``X.Y`` with " +"the Python version)." +msgstr "" + +#: ../build/NEWS:3113 +msgid "" +"On the other hand, ``pkg-config python3.8 --libs`` no longer contains ``-" +"lpython3.8``. C extensions must not be linked to libpython (except on " +"Android, case handled by the script); this change is backward incompatible " +"on purpose." +msgstr "" + +#: ../build/NEWS:3118 +msgid "" +"`bpo-36786 `__: \"make install\" now " +"runs compileall in parallel." +msgstr "" + +#: ../build/NEWS:3123 +msgid "" +"`bpo-36965 `__: include of " +"STATUS_CONTROL_C_EXIT without depending on MSC compiler" +msgstr "" + +#: ../build/NEWS:3126 +msgid "" +"`bpo-35926 `__: Update to OpenSSL 1.1.1b " +"for Windows." +msgstr "" + +#: ../build/NEWS:3128 +msgid "" +"`bpo-29883 `__: Add Windows support for " +"UDP transports for the Proactor Event Loop. Patch by Adam Meily." +msgstr "" + +#: ../build/NEWS:3131 +msgid "" +"`bpo-33407 `__: The :c:macro:" +"`Py_DEPRECATED()` macro has been implemented for MSVC." +msgstr "" + +#: ../build/NEWS:3137 +msgid "" +"`bpo-36231 `__: Support building Python " +"on macOS without /usr/include installed. As of macOS 10.14, system header " +"files are only available within an SDK provided by either the Command Line " +"Tools or the Xcode app." +msgstr "" + +#: ../build/NEWS:3144 +msgid "" +"`bpo-35610 `__: Replace now redundant ." +"context_use_ps1 with .prompt_last_line. This finishes change started in " +"`bpo-31858 `__." +msgstr "" + +#: ../build/NEWS:3147 +msgid "" +"`bpo-37038 `__: Make idlelib.run " +"runnable; add test clause." +msgstr "" + +#: ../build/NEWS:3149 +msgid "" +"`bpo-36958 `__: Print any argument other " +"than None or int passed to SystemExit or sys.exit()." +msgstr "" + +#: ../build/NEWS:3152 +msgid "" +"`bpo-36807 `__: When saving a file, call " +"os.fsync() so bits are flushed to e.g. USB drive." +msgstr "" + +#: ../build/NEWS:3155 +msgid "" +"`bpo-32411 `__: In browser.py, remove " +"extraneous sorting by line number since dictionary was created in line " +"number order." +msgstr "" + +#: ../build/NEWS:3161 +msgid "" +"`bpo-37053 `__: Handle strings like u" +"\"bar\" correctly in Tools/parser/unparse.py. Patch by Chih-Hsuan Yen." +msgstr "" + +#: ../build/NEWS:3167 +msgid "" +"`bpo-36763 `__: Implement the :pep:`587` " +"\"Python Initialization Configuration\"." +msgstr "" + +#: ../build/NEWS:3169 +msgid "" +"`bpo-36379 `__: Fix crashes when " +"attempting to use the *modulo* parameter when ``__ipow__`` is implemented in " +"C." +msgstr "" + +#: ../build/NEWS:3172 +msgid "" +"`bpo-37107 `__: Update :c:func:" +"`PyObject_CallMethodObjArgs` and ``_PyObject_CallMethodIdObjArgs`` to use " +"``_PyObject_GetMethod`` to avoid creating a bound method object in many " +"cases. Patch by Michael J. Sullivan." +msgstr "" + +#: ../build/NEWS:3177 +msgid "" +"`bpo-36974 `__: Implement :pep:`590`: " +"Vectorcall: a fast calling protocol for CPython. This is a new protocol to " +"optimize calls of custom callable objects." +msgstr "" + +#: ../build/NEWS:3181 +msgid "" +"`bpo-36763 `__: ``Py_Main()`` now " +"returns the exitcode rather than calling ``Py_Exit(exitcode)`` when calling " +"``PyErr_Print()`` if the current exception type is ``SystemExit``." +msgstr "" + +#: ../build/NEWS:3185 +msgid "" +"`bpo-36922 `__: Add new type flag " +"``Py_TPFLAGS_METHOD_DESCRIPTOR`` for objects behaving like unbound methods. " +"These are objects supporting the optimization given by the ``LOAD_METHOD``/" +"``CALL_METHOD`` opcodes. See PEP 590." +msgstr "" + +#: ../build/NEWS:3190 +msgid "" +"`bpo-36728 `__: The :c:func:" +"`PyEval_ReInitThreads` function has been removed from the C API. It should " +"not be called explicitly: use :c:func:`PyOS_AfterFork_Child` instead." +msgstr "" + +#: ../build/NEWS:3196 +msgid "Python 3.8.0 alpha 4" +msgstr "" + +#: ../build/NEWS:3198 +msgid "*Release date: 2019-05-06*" +msgstr "" + +#: ../build/NEWS:3203 +msgid "" +"`bpo-36742 `__: Fixes mishandling of pre-" +"normalization characters in urlsplit()." +msgstr "" + +#: ../build/NEWS:3206 +msgid "" +"`bpo-30458 `__: Address CVE-2019-9740 by " +"disallowing URL paths with embedded whitespace or control characters through " +"into the underlying http client request. Such potentially malicious header " +"injection URLs now cause an http.client.InvalidURL exception to be raised." +msgstr "" + +#: ../build/NEWS:3211 +msgid "" +"`bpo-35755 `__: :func:`shutil.which` now " +"uses ``os.confstr(\"CS_PATH\")`` if available and if the :envvar:`PATH` " +"environment variable is not set. Remove also the current directory from :" +"data:`posixpath.defpath`. On Unix, :func:`shutil.which` and the :mod:" +"`subprocess` module no longer search the executable in the current directory " +"if the :envvar:`PATH` environment variable is not set." +msgstr "" + +#: ../build/NEWS:3221 +msgid "" +"`bpo-36722 `__: In debug build, import " +"now also looks for C extensions compiled in release mode and for C " +"extensions compiled in the stable ABI." +msgstr "" + +#: ../build/NEWS:3224 +msgid "" +"`bpo-32849 `__: Fix Python " +"Initialization code on FreeBSD to detect properly when stdin file descriptor " +"(fd 0) is invalid." +msgstr "" + +#: ../build/NEWS:3227 +msgid "" +"`bpo-36623 `__: Remove parser headers " +"and related function declarations that lack implementations after the " +"removal of pgen." +msgstr "" + +#: ../build/NEWS:3230 +#, python-format +msgid "" +"`bpo-20180 `__: ``dict.pop()`` is now up " +"to 33% faster thanks to Argument Clinic. Patch by Inada Naoki." +msgstr "" + +#: ../build/NEWS:3233 +msgid "" +"`bpo-36611 `__: Debug memory allocators: " +"disable serialno field by default from debug hooks on Python memory " +"allocators to reduce the memory footprint by 5%. Enable :mod:`tracemalloc` " +"to get the traceback where a memory block has been allocated when a fatal " +"memory error is logged to decide where to put a breakpoint. Compile Python " +"with ``PYMEM_DEBUG_SERIALNO`` defined to get back the field." +msgstr "" + +#: ../build/NEWS:3240 +msgid "" +"`bpo-36588 `__: On AIX, :attr:`sys." +"platform` doesn't contain the major version anymore. Always return " +"``'aix'``, instead of ``'aix3'`` .. ``'aix7'``. Since older Python versions " +"include the version number, it is recommended to always use ``sys.platform." +"startswith('aix')``. Contributed by M. Felt." +msgstr "" + +#: ../build/NEWS:3245 +msgid "" +"`bpo-36549 `__: Change str.capitalize to " +"use titlecase for the first character instead of uppercase." +msgstr "" + +#: ../build/NEWS:3248 +msgid "" +"`bpo-36540 `__: Implement :pep:`570` " +"(Python positional-only parameters). Patch by Pablo Galindo." +msgstr "" + +#: ../build/NEWS:3251 +msgid "" +"`bpo-36475 `__: :c:func:" +"`PyEval_AcquireLock` and :c:func:`PyEval_AcquireThread` now terminate the " +"current thread if called while the interpreter is finalizing, making them " +"consistent with :c:func:`PyEval_RestoreThread`, :c:func:" +"`Py_END_ALLOW_THREADS`, and :c:func:`PyGILState_Ensure`." +msgstr "" + +#: ../build/NEWS:3256 +msgid "" +"`bpo-36504 `__: Fix signed integer " +"overflow in _ctypes.c's ``PyCArrayType_new()``." +msgstr "" + +#: ../build/NEWS:3259 +msgid "" +"`bpo-20844 `__: Fix running script with " +"encoding cookie and LF line ending may fail on Windows." +msgstr "" + +#: ../build/NEWS:3262 +msgid "" +"`bpo-24214 `__: Fixed support of the " +"surrogatepass error handler in the UTF-8 incremental decoder." +msgstr "" + +#: ../build/NEWS:3265 +msgid "" +"`bpo-36452 `__: Changing ``dict`` keys " +"during iteration of the dict itself, ``keys()``, ``values()``, or " +"``items()`` will now be detected in certain corner cases where keys are " +"deleted/added so that the number of keys isn't changed. A `RuntimeError` " +"will be raised after ``len(dict)`` iterations. Contributed by Thomas Perl." +msgstr "" + +#: ../build/NEWS:3271 +msgid "" +"`bpo-36459 `__: Fix a possible double " +"``PyMem_FREE()`` due to tokenizer.c's ``tok_nextc()``." +msgstr "" + +#: ../build/NEWS:3274 +msgid "" +"`bpo-36433 `__: Fixed TypeError message " +"in classmethoddescr_call." +msgstr "" + +#: ../build/NEWS:3276 +msgid "" +"`bpo-36430 `__: Fix a possible reference " +"leak in :func:`itertools.count`." +msgstr "" + +#: ../build/NEWS:3278 +msgid "" +"`bpo-36440 `__: Include node names in " +"``ParserError`` messages, instead of numeric IDs. Patch by A. Skrobov." +msgstr "" + +#: ../build/NEWS:3281 +msgid "" +"`bpo-36143 `__: Regenerate :mod:" +"`keyword` from the Grammar and Tokens file using pgen. Patch by Pablo " +"Galindo." +msgstr "" + +#: ../build/NEWS:3284 +msgid "" +"`bpo-18372 `__: Add missing :c:func:" +"`PyObject_GC_Track` calls in the :mod:`pickle` module. Patch by Zackery " +"Spytz." +msgstr "" + +#: ../build/NEWS:3290 +msgid "" +"`bpo-35952 `__: Fix pythoninfo when the " +"compiler is missing." +msgstr "" + +#: ../build/NEWS:3292 +msgid "" +"`bpo-28238 `__: The ``.find*()`` methods " +"of xml.etree.ElementTree can now search for wildcards like ``{*}tag`` and " +"``{ns}*`` that match a tag in any namespace or all tags in a namespace. " +"Patch by Stefan Behnel." +msgstr "" + +#: ../build/NEWS:3296 +msgid "" +"`bpo-26978 `__: `pathlib.path.link_to()` " +"is now implemented. It creates a hard link pointing to a path." +msgstr "" + +#: ../build/NEWS:3299 +msgid "" +"`bpo-1613500 `__: :class:`fileinput." +"FileInput` now uses the input file mode to correctly set the output file " +"mode (previously it was hardcoded to ``'w'``) when ``inplace=True`` is " +"passed to its constructor." +msgstr "" + +#: ../build/NEWS:3303 +msgid "" +"`bpo-36734 `__: Fix compilation of " +"``faulthandler.c`` on HP-UX. Initialize ``stack_t current_stack`` to zero " +"using ``memset()``." +msgstr "" + +#: ../build/NEWS:3306 +msgid "" +"`bpo-13611 `__: The xml.etree." +"ElementTree packages gained support for C14N 2.0 serialisation. Patch by " +"Stefan Behnel." +msgstr "" + +#: ../build/NEWS:3309 +msgid "" +"`bpo-36669 `__: Add missing matrix " +"multiplication operator support to weakref.proxy." +msgstr "" + +#: ../build/NEWS:3312 +msgid "" +"`bpo-36676 `__: The XMLParser() in xml." +"etree.ElementTree provides namespace prefix context to the parser target if " +"it defines the callback methods \"start_ns()\" and/or \"end_ns()\". Patch by " +"Stefan Behnel." +msgstr "" + +#: ../build/NEWS:3316 +msgid "" +"`bpo-36673 `__: The TreeBuilder and " +"XMLPullParser in xml.etree.ElementTree gained support for parsing comments " +"and processing instructions. Patch by Stefan Behnel." +msgstr "" + +#: ../build/NEWS:3320 +msgid "" +"`bpo-36650 `__: The C version of " +"functools.lru_cache() was treating calls with an empty ``**kwargs`` " +"dictionary as being distinct from calls with no keywords at all. This did " +"not result in an incorrect answer, but it did trigger an unexpected cache " +"miss." +msgstr "" + +#: ../build/NEWS:3325 +msgid "" +"`bpo-28552 `__: Fix :mod:`distutils." +"sysconfig` if :data:`sys.executable` is ``None`` or an empty string: use :" +"func:`os.getcwd` to initialize ``project_base``. Fix also the distutils " +"build command: don't use :data:`sys.executable` if it is ``None`` or an " +"empty string." +msgstr "" + +#: ../build/NEWS:3330 +msgid "" +"`bpo-35755 `__: :func:`shutil.which` " +"and :func:`distutils.spawn.find_executable` now use ``os.confstr(\"CS_PATH" +"\")`` if available instead of :data:`os.defpath`, if the ``PATH`` " +"environment variable is not set. Moreover, don't use ``os.confstr(\"CS_PATH" +"\")`` nor :data:`os.defpath` if the ``PATH`` environment variable is set to " +"an empty string." +msgstr "" + +#: ../build/NEWS:3337 +msgid "" +"`bpo-25430 `__: improve performance of " +"``IPNetwork.__contains__()``" +msgstr "" + +#: ../build/NEWS:3339 +msgid "" +"`bpo-30485 `__: Path expressions in xml." +"etree.ElementTree can now avoid explicit namespace prefixes for tags (or the " +"\"{namespace}tag\" notation) by passing a default namespace with an empty " +"string prefix." +msgstr "" + +#: ../build/NEWS:3343 +msgid "" +"`bpo-36613 `__: Fix :mod:`asyncio` " +"wait() not removing callback if exception" +msgstr "" + +#: ../build/NEWS:3345 +msgid "" +"`bpo-36598 `__: Fix ``isinstance`` check " +"for Mock objects with spec when the code is executed under tracing. Patch by " +"Karthikeyan Singaravelan." +msgstr "" + +#: ../build/NEWS:3348 +msgid "" +"`bpo-18748 `__: In development mode (:" +"option:`-X` ``dev``) and in debug build, the :class:`io.IOBase` destructor " +"now logs ``close()`` exceptions. These exceptions are silent by default in " +"release mode." +msgstr "" + +#: ../build/NEWS:3352 +msgid "" +"`bpo-36575 `__: The ``_lsprof`` module " +"now uses internal timer same to ``time.perf_counter()`` by default. " +"``gettimeofday(2)`` was used on Unix. New timer has better resolution on " +"most Unix platforms and timings are no longer impacted by system clock " +"updates since ``perf_counter()`` is monotonic. Patch by Inada Naoki." +msgstr "" + +#: ../build/NEWS:3358 +msgid "" +"`bpo-33461 `__: ``json.loads`` now emits " +"``DeprecationWarning`` when ``encoding`` option is specified. Patch by " +"Matthias Bussonnier." +msgstr "" + +#: ../build/NEWS:3361 +msgid "" +"`bpo-36559 `__: The random module now " +"prefers the lean internal _sha512 module over hashlib for seed(version=2) to " +"optimize import time." +msgstr "" + +#: ../build/NEWS:3364 +msgid "" +"`bpo-17561 `__: Set backlog=None as the " +"default for socket.create_server." +msgstr "" + +#: ../build/NEWS:3366 +msgid "" +"`bpo-34373 `__: Fix :func:`time.mktime` " +"error handling on AIX for year before 1970." +msgstr "" + +#: ../build/NEWS:3369 +msgid "" +"`bpo-36232 `__: Improve error message " +"when trying to open existing DBM database that actually doesn't exist. Patch " +"by Marco Rougeth." +msgstr "" + +#: ../build/NEWS:3372 +msgid "" +"`bpo-36546 `__: Add statistics." +"quantiles()" +msgstr "" + +#: ../build/NEWS:3374 +msgid "" +"`bpo-36050 `__: Optimized ``http.client." +"HTTPResponse.read()`` for large response. Patch by Inada Naoki." +msgstr "" + +#: ../build/NEWS:3377 +msgid "" +"`bpo-36522 `__: If *debuglevel* is set " +"to >0 in :mod:`http.client`, print all values for headers with multiple " +"values for the same header name. Patch by Matt Houglum." +msgstr "" + +#: ../build/NEWS:3381 +msgid "" +"`bpo-36492 `__: Deprecated passing " +"required arguments like *func* as keyword arguments in functions which " +"should accept arbitrary keyword arguments and pass them to other function. " +"Arbitrary keyword arguments (even with names \"self\" and \"func\") can now " +"be passed to these functions if the required arguments are passed as " +"positional arguments." +msgstr "" + +#: ../build/NEWS:3387 +msgid "" +"`bpo-27181 `__: Add statistics." +"geometric_mean()." +msgstr "" + +#: ../build/NEWS:3389 +msgid "" +"`bpo-30427 `__: ``os.path.normcase()`` " +"relies on ``os.fspath()`` to check the type of its argument. Redundant " +"checks have been removed from its ``posixpath.normcase()`` and ``ntpath." +"normcase()`` implementations. Patch by Wolfgang Maier." +msgstr "" + +#: ../build/NEWS:3394 +msgid "" +"`bpo-36385 `__: Stop rejecting IPv4 " +"octets for being ambiguously octal. Leading zeros are ignored, and no longer " +"are assumed to specify octal octets. Octets are always decimal numbers. " +"Octets must still be no more than three digits, including leading zeroes." +msgstr "" + +#: ../build/NEWS:3399 +msgid "" +"`bpo-36434 `__: Errors during writing to " +"a ZIP file no longer prevent to properly close it." +msgstr "" + +#: ../build/NEWS:3402 +msgid "" +"`bpo-36407 `__: Fixed wrong indentation " +"writing for CDATA section in xml.dom.minidom. Patch by Vladimir Surjaninov." +msgstr "" + +#: ../build/NEWS:3405 +msgid "" +"`bpo-36326 `__: inspect.getdoc() can now " +"find docstrings for member objects when __slots__ is a dictionary." +msgstr "" + +#: ../build/NEWS:3408 +msgid "" +"`bpo-36366 `__: Calling ``stop()`` on an " +"unstarted or stopped :func:`unittest.mock.patch` object will now return " +"`None` instead of raising :exc:`RuntimeError`, making the method idempotent. " +"Patch by Karthikeyan Singaravelan." +msgstr "" + +#: ../build/NEWS:3413 +msgid "" +"`bpo-36348 `__: The :meth:`imap.IMAP4." +"logout` method no longer ignores silently arbitrary exceptions." +msgstr "" + +#: ../build/NEWS:3416 +msgid "" +"`bpo-31904 `__: Add time module support " +"and fix test_time faiures for VxWorks." +msgstr "" + +#: ../build/NEWS:3418 +msgid "" +"`bpo-36227 `__: Added support for " +"keyword arguments `default_namespace` and `xml_declaration` in functions " +"ElementTree.tostring() and ElementTree.tostringlist()." +msgstr "" + +#: ../build/NEWS:3422 +msgid "" +"`bpo-36004 `__: Added new alternate " +"constructors :meth:`datetime.date.fromisocalendar` and :meth:`datetime." +"datetime.fromisocalendar`, which construct date objects from ISO year, week " +"number and weekday; these are the inverse of each class's ``isocalendar`` " +"method. Patch by Paul Ganssle." +msgstr "" + +#: ../build/NEWS:3428 +msgid "" +"`bpo-35936 `__: :mod:`modulefinder` no " +"longer depends on the deprecated :mod:`imp` module, and the initializer for :" +"class:`modulefinder.ModuleFinder` now has immutable default arguments. Patch " +"by Brandt Bucher." +msgstr "" + +#: ../build/NEWS:3433 +msgid "" +"`bpo-35376 `__: :mod:`modulefinder` " +"correctly handles modules that have the same name as a bad package. Patch by " +"Brandt Bucher." +msgstr "" + +#: ../build/NEWS:3436 +msgid "" +"`bpo-17396 `__: :mod:`modulefinder` no " +"longer crashes when encountering syntax errors in followed imports. Patch by " +"Brandt Bucher." +msgstr "" + +#: ../build/NEWS:3439 +msgid "" +"`bpo-35934 `__: Added :meth:`~socket." +"create_server()` and :meth:`~socket.has_dualstack_ipv6()` convenience " +"functions to automate the necessary tasks usually involved when creating a " +"server socket, including accepting both IPv4 and IPv6 connections on the " +"same socket. (Contributed by Giampaolo Rodola in :issue:`17561`.)" +msgstr "" + +#: ../build/NEWS:3445 +msgid "" +"`bpo-23078 `__: Add support for :func:" +"`classmethod` and :func:`staticmethod` to :func:`unittest.mock." +"create_autospec`. Initial patch by Felipe Ochoa." +msgstr "" + +#: ../build/NEWS:3448 +msgid "" +"`bpo-35416 `__: Fix potential resource " +"warnings in distutils. Patch by Mickaël Schoentgen." +msgstr "" + +#: ../build/NEWS:3451 +msgid "" +"`bpo-25451 `__: Add transparency methods " +"to :class:`tkinter.PhotoImage`. Patch by Zackery Spytz." +msgstr "" + +#: ../build/NEWS:3454 +msgid "" +"`bpo-35082 `__: Don't return deleted " +"attributes when calling dir on a :class:`unittest.mock.Mock`." +msgstr "" + +#: ../build/NEWS:3457 +msgid "" +"`bpo-34547 `__: :class:`wsgiref.handlers." +"BaseHandler` now handles abrupt client connection terminations gracefully. " +"Patch by Petter Strandmark." +msgstr "" + +#: ../build/NEWS:3460 +msgid "" +"`bpo-31658 `__: :func:`xml.sax.parse` " +"now supports :term:`path-like `. Patch by Mickaël " +"Schoentgen." +msgstr "" + +#: ../build/NEWS:3463 +msgid "" +"`bpo-34139 `__: Remove stale unix " +"datagram socket before binding" +msgstr "" + +#: ../build/NEWS:3465 +msgid "" +"`bpo-33530 `__: Implemented Happy " +"Eyeballs in `asyncio.create_connection()`. Added two new arguments, " +"*happy_eyeballs_delay* and *interleave*, to specify Happy Eyeballs behavior." +msgstr "" + +#: ../build/NEWS:3469 +msgid "" +"`bpo-33291 `__: Do not raise " +"AttributeError when calling the inspect functions isgeneratorfunction, " +"iscoroutinefunction, isasyncgenfunction on a method created from an " +"arbitrary callable. Instead, return False." +msgstr "" + +#: ../build/NEWS:3473 +msgid "" +"`bpo-31310 `__: Fix the multiprocessing." +"semaphore_tracker so it is reused by child processes" +msgstr "" + +#: ../build/NEWS:3476 +msgid "" +"`bpo-31292 `__: Fix ``setup.py check --" +"restructuredtext`` for files containing ``include`` directives." +msgstr "" + +#: ../build/NEWS:3482 +msgid "" +"`bpo-36625 `__: Remove obsolete comments " +"from docstrings in fractions.Fraction" +msgstr "" + +#: ../build/NEWS:3484 +msgid "" +"`bpo-30840 `__: Document relative imports" +msgstr "" + +#: ../build/NEWS:3486 +msgid "" +"`bpo-36523 `__: Add docstring for io." +"IOBase.writelines()." +msgstr "" + +#: ../build/NEWS:3488 +msgid "" +"`bpo-36425 `__: New documentation " +"translation: `Simplified Chinese `_." +msgstr "" + +#: ../build/NEWS:3491 +msgid "" +"`bpo-36345 `__: Avoid the duplication of " +"code from ``Tools/scripts/serve.py`` in using the :rst:dir:`literalinclude` " +"directive for the basic wsgiref-based web server in the documentation of :" +"mod:`wsgiref`. Contributed by Stéphane Wirtel." +msgstr "" + +#: ../build/NEWS:3496 +msgid "" +"`bpo-36345 `__: Using the code of the " +"``Tools/scripts/serve.py`` script as an example in the :mod:`wsgiref` " +"documentation. Contributed by Stéphane Wirtel." +msgstr "" + +#: ../build/NEWS:3500 +msgid "" +"`bpo-36157 `__: Added Documention for " +"PyInterpreterState_Main()." +msgstr "" + +#: ../build/NEWS:3502 +msgid "" +"`bpo-33043 `__: Updates the docs.python." +"org page with the addition of a 'Contributing to Docs' link at the end of " +"the page (between 'Reporting Bugs' and 'About Documentation'). Updates the " +"'Found a Bug' page with additional links and information in the " +"Documentation Bugs section." +msgstr "" + +#: ../build/NEWS:3507 +msgid "" +"`bpo-35581 `__: @typing.type_check_only " +"now allows type stubs to mark functions and classes not available during " +"runtime." +msgstr "" + +#: ../build/NEWS:3510 +msgid "" +"`bpo-33832 `__: Add glossary entry for " +"'magic method'." +msgstr "" + +#: ../build/NEWS:3512 +msgid "" +"`bpo-32913 `__: Added re.Match.groupdict " +"example to regex HOWTO." +msgstr "" + +#: ../build/NEWS:3517 +msgid "" +"`bpo-36719 `__: regrtest now always " +"detects uncollectable objects. Previously, the check was only enabled by ``--" +"findleaks``. The check now also works with ``-jN/--multiprocess N``. ``--" +"findleaks`` becomes a deprecated alias to ``--fail-env-changed``." +msgstr "" + +#: ../build/NEWS:3522 +msgid "" +"`bpo-36725 `__: When using " +"mulitprocessing mode (-jN), regrtest now better reports errors if a worker " +"process fails, and it exits immediately on a worker thread failure or when " +"interrupted." +msgstr "" + +#: ../build/NEWS:3526 +msgid "" +"`bpo-36454 `__: Change test_time." +"test_monotonic() to test only the lower bound of elapsed time after a sleep " +"command rather than the upper bound. This prevents unnecessary test failures " +"on slow buildbots. Patch by Victor Stinner." +msgstr "" + +#: ../build/NEWS:3531 +msgid "" +"`bpo-32424 `__: Improve test coverage " +"for xml.etree.ElementTree. Patch by Gordon P. Hemsley." +msgstr "" + +#: ../build/NEWS:3534 +msgid "" +"`bpo-32424 `__: Fix typo in " +"test_cyclic_gc() test for xml.etree.ElementTree. Patch by Gordon P. Hemsley." +msgstr "" + +#: ../build/NEWS:3537 +msgid "" +"`bpo-36635 `__: Add a new :mod:" +"`_testinternalcapi` module to test the internal C API." +msgstr "" + +#: ../build/NEWS:3540 +msgid "" +"`bpo-36629 `__: Fix " +"``test_imap4_host_default_value()`` of ``test_imaplib``: catch also :data:" +"`errno.ENETUNREACH` error." +msgstr "" + +#: ../build/NEWS:3543 +msgid "" +"`bpo-36611 `__: Fix ``test_sys." +"test_getallocatedblocks()`` when :mod:`tracemalloc` is enabled." +msgstr "" + +#: ../build/NEWS:3546 +msgid "" +"`bpo-36560 `__: Fix reference leak " +"hunting in regrtest: compute also deltas (of reference count, allocated " +"memory blocks, file descriptor count) during warmup, to ensure that " +"everything is initialized before starting to hunt reference leaks." +msgstr "" + +#: ../build/NEWS:3551 +msgid "" +"`bpo-36565 `__: Fix reference hunting " +"(``python3 -m test -R 3:3``) when Python has no built-in abc module." +msgstr "" + +#: ../build/NEWS:3554 +msgid "" +"`bpo-31904 `__: Port test_resource to " +"VxWorks: skip tests cases setting RLIMIT_FSIZE and RLIMIT_CPU." +msgstr "" + +#: ../build/NEWS:3557 +msgid "" +"`bpo-31904 `__: Fix test_tabnanny on " +"VxWorks: adjust ENOENT error message." +msgstr "" + +#: ../build/NEWS:3559 +msgid "" +"`bpo-36436 `__: Fix ``_testcapi." +"pymem_buffer_overflow()``: handle memory allocation failure." +msgstr "" + +#: ../build/NEWS:3562 +msgid "" +"`bpo-31904 `__: Fix test_utf8_mode on " +"VxWorks: Python always use UTF-8 on VxWorks." +msgstr "" + +#: ../build/NEWS:3565 +msgid "" +"`bpo-36341 `__: Fix tests that may fail " +"with PermissionError upon calling bind() on AF_UNIX sockets." +msgstr "" + +#: ../build/NEWS:3571 +msgid "" +"`bpo-36747 `__: Remove the stale " +"scriptsinstall Makefile target." +msgstr "" + +#: ../build/NEWS:3573 +msgid "" +"`bpo-21536 `__: On Unix, C extensions " +"are no longer linked to libpython except on Android and Cygwin." +msgstr "" + +#: ../build/NEWS:3576 +msgid "" +"It is now possible for a statically linked Python to load a C extension " +"built using a shared library Python." +msgstr "" + +#: ../build/NEWS:3579 +msgid "" +"When Python is embedded, ``libpython`` must not be loaded with " +"``RTLD_LOCAL``, but ``RTLD_GLOBAL`` instead. Previously, using " +"``RTLD_LOCAL``, it was already not possible to load C extensions which were " +"not linked to ``libpython``, such as C extensions of the standard library " +"built by the ``*shared*`` section of ``Modules/Setup``." +msgstr "" + +#: ../build/NEWS:3585 +msgid "distutils, python-config and python-config.py have been modified." +msgstr "" + +#: ../build/NEWS:3587 +msgid "" +"`bpo-36707 `__: ``./configure --with-" +"pymalloc`` no longer adds the ``m`` flag to SOABI (sys.implementation." +"cache_tag). Enabling or disabling pymalloc has no impact on the ABI." +msgstr "" + +#: ../build/NEWS:3591 +msgid "" +"`bpo-36635 `__: Change " +"``PyAPI_FUNC(type)``, ``PyAPI_DATA(type)`` and ``PyMODINIT_FUNC`` macros of " +"``pyport.h`` when ``Py_BUILD_CORE_MODULE`` is defined. The " +"``Py_BUILD_CORE_MODULE`` define must be now be used to build a C extension " +"as a dynamic library accessing Python internals: export the PyInit_xxx() " +"function in DLL exports on Windows." +msgstr "" + +#: ../build/NEWS:3597 +msgid "" +"`bpo-31904 `__: Don't build the " +"``_crypt`` extension on VxWorks." +msgstr "" + +#: ../build/NEWS:3599 +msgid "" +"`bpo-36618 `__: Add ``-fmax-type-" +"align=8`` to CFLAGS when clang compiler is detected. The pymalloc memory " +"allocator aligns memory on 8 bytes. On x86-64, clang expects alignment on 16 " +"bytes by default and so uses MOVAPS instruction which can lead to " +"segmentation fault. Instruct clang that Python is limited to alignment on 8 " +"bytes to use MOVUPS instruction instead: slower but don't trigger a SIGSEGV " +"if the memory is not aligned on 16 bytes. Sadly, the flag must be added to " +"``CFLAGS`` and not just ``CFLAGS_NODIST``, since third party C extensions " +"can have the same issue." +msgstr "" + +#: ../build/NEWS:3608 +msgid "" +"`bpo-36605 `__: ``make tags`` and ``make " +"TAGS`` now also parse ``Modules/_io/*.c`` and ``Modules/_io/*.h``." +msgstr "" + +#: ../build/NEWS:3611 +msgid "" +"`bpo-36465 `__: Release builds and debug " +"builds are now ABI compatible: defining the ``Py_DEBUG`` macro no longer " +"implies the ``Py_TRACE_REFS`` macro, which introduces the only ABI " +"incompatibility. The ``Py_TRACE_REFS`` macro, which adds the :func:`sys." +"getobjects` function and the :envvar:`PYTHONDUMPREFS` environment variable, " +"can be set using the new ``./configure --with-trace-refs`` build option." +msgstr "" + +#: ../build/NEWS:3618 +msgid "" +"`bpo-36577 `__: setup.py now correctly " +"reports missing OpenSSL headers and libraries again." +msgstr "" + +#: ../build/NEWS:3621 +msgid "" +"`bpo-36544 `__: Fix regression " +"introduced in `bpo-36146 `__ refactoring " +"setup.py" +msgstr "" + +#: ../build/NEWS:3623 +msgid "" +"`bpo-36508 `__: ``python-config --" +"ldflags`` no longer includes flags of the ``LINKFORSHARED`` variable. The " +"``LINKFORSHARED`` variable must only be used to build executables." +msgstr "" + +#: ../build/NEWS:3627 +msgid "" +"`bpo-36503 `__: Remove references to " +"\"aix3\" and \"aix4\". Patch by M. Felt." +msgstr "" + +#: ../build/NEWS:3632 +msgid "" +"`bpo-35920 `__: Added platform." +"win32_edition() and platform.win32_is_iot(). Added support for cross-" +"compiling packages for Windows ARM32. Skip tests that are not expected to " +"work on Windows IoT Core ARM32." +msgstr "" + +#: ../build/NEWS:3636 +msgid "" +"`bpo-36649 `__: Remove trailing spaces " +"for registry keys when installed via the Store." +msgstr "" + +#: ../build/NEWS:3639 +msgid "" +"`bpo-34144 `__: Fixed activate.bat to " +"correctly update codepage when chcp.com returns dots in output. Patch by " +"Lorenz Mende." +msgstr "" + +#: ../build/NEWS:3642 +msgid "" +"`bpo-36509 `__: Added preset-iot layout " +"for Windows IoT ARM containers. This layout doesn't contain UI components " +"like tkinter or IDLE. It also doesn't contain files to support on-target " +"builds since Windows ARM32 builds must be cross-compiled when using MSVC." +msgstr "" + +#: ../build/NEWS:3647 +msgid "" +"`bpo-35941 `__: enum_certificates " +"function of the ssl module now returns certificates from all available " +"certificate stores inside windows in a query instead of returning only " +"certificates from the system wide certificate store. This includes " +"certificates from these certificate stores: local machine, local machine " +"enterprise, local machine group policy, current user, current user group " +"policy, services, users. ssl.enum_crls() function is changed in the same way " +"to return all certificate revocation lists inside the windows certificate " +"revocation list stores." +msgstr "" + +#: ../build/NEWS:3657 +msgid "" +"`bpo-36441 `__: Fixes creating a venv " +"when debug binaries are installed." +msgstr "" + +#: ../build/NEWS:3659 +msgid "" +"`bpo-36085 `__: Enable better DLL " +"resolution on Windows by using safe DLL search paths and adding :func:`os." +"add_dll_directory`." +msgstr "" + +#: ../build/NEWS:3662 +msgid "" +"`bpo-36010 `__: Add the venv standard " +"library module to the nuget distribution for Windows." +msgstr "" + +#: ../build/NEWS:3665 +msgid "" +"`bpo-29515 `__: Add the following socket " +"module constants on Windows: IPPROTO_AH IPPROTO_CBT IPPROTO_DSTOPTS " +"IPPROTO_EGP IPPROTO_ESP IPPROTO_FRAGMENT IPPROTO_GGP IPPROTO_HOPOPTS " +"IPPROTO_ICLFXBM IPPROTO_ICMPV6 IPPROTO_IDP IPPROTO_IGMP IPPROTO_IGP " +"IPPROTO_IPV4 IPPROTO_IPV6 IPPROTO_L2TP IPPROTO_MAX IPPROTO_ND IPPROTO_NONE " +"IPPROTO_PGM IPPROTO_PIM IPPROTO_PUP IPPROTO_RDP IPPROTO_ROUTING IPPROTO_SCTP " +"IPPROTO_ST" +msgstr "" + +#: ../build/NEWS:3673 +msgid "" +"`bpo-35947 `__: Added current version of " +"libffi to cpython-source-deps. Change _ctypes to use current version of " +"libffi on Windows." +msgstr "" + +#: ../build/NEWS:3676 +msgid "" +"`bpo-34060 `__: Report system load when " +"running test suite on Windows. Patch by Ammar Askar. Based on prior work by " +"Jeremy Kloth." +msgstr "" + +#: ../build/NEWS:3679 +msgid "" +"`bpo-31512 `__: With the Windows 10 " +"Creators Update, non-elevated users can now create symlinks as long as the " +"computer has Developer Mode enabled." +msgstr "" + +#: ../build/NEWS:3685 +msgid "" +"`bpo-34602 `__: Avoid failures setting " +"macOS stack resource limit with resource.setrlimit. This reverts an earlier " +"fix for `bpo-18075 `__ which forced a " +"non-default stack size when building the interpreter executable on macOS." +msgstr "" + +#: ../build/NEWS:3693 +msgid "" +"`bpo-36429 `__: Fix starting IDLE with " +"pyshell. Add idlelib.pyshell alias at top; remove pyshell alias at bottom. " +"Remove obsolete __name__=='__main__' command." +msgstr "" + +#: ../build/NEWS:3700 +msgid "" +"`bpo-14546 `__: Fix the argument " +"handling in Tools/scripts/lll.py." +msgstr "" + +#: ../build/NEWS:3705 +msgid "" +"`bpo-36763 `__: Fix memory leak in :c:" +"func:`Py_SetStandardStreamEncoding`: release memory if the function is " +"called twice." +msgstr "" + +#: ../build/NEWS:3708 +msgid "" +"`bpo-36641 `__: :c:macro:" +"`PyDoc_VAR(name)` and :c:macro:`PyDoc_STRVAR(name,str)` now create ``static " +"const char name[]`` instead of ``static char name[]``. Patch by Inada Naoki." +msgstr "" + +#: ../build/NEWS:3712 +msgid "" +"`bpo-36389 `__: Change the value of " +"``CLEANBYTE``, ``DEADDYTE`` and ``FORBIDDENBYTE`` internal constants used by " +"debug hooks on Python memory allocators (:c:func:`PyMem_SetupDebugHooks` " +"function). Byte patterns ``0xCB``, ``0xDB`` and ``0xFB`` have been replaced " +"with ``0xCD``, ``0xDD`` and ``0xFD`` to use the same values than Windows CRT " +"debug ``malloc()`` and ``free()``." +msgstr "" + +#: ../build/NEWS:3719 +msgid "" +"`bpo-36443 `__: Since Python 3.7.0, " +"calling :c:func:`Py_DecodeLocale` before :c:func:`Py_Initialize` produces " +"mojibake if the ``LC_CTYPE`` locale is coerced and/or if the UTF-8 Mode is " +"enabled by the user configuration. The LC_CTYPE coercion and UTF-8 Mode are " +"now disabled by default to fix the mojibake issue. They must now be enabled " +"explicitly (opt-in) using the new :c:func:`_Py_PreInitialize` API with " +"``_PyPreConfig``." +msgstr "" + +#: ../build/NEWS:3726 +msgid "" +"`bpo-36025 `__: Fixed an accidental " +"change to the datetime C API where the arguments to the :c:func:" +"`PyDate_FromTimestamp` function were incorrectly interpreted as a single " +"timestamp rather than an arguments tuple, which causes existing code to " +"start raising :exc:`TypeError`. The backwards-incompatible change was only " +"present in alpha releases of Python 3.8. Patch by Paul Ganssle." +msgstr "" + +#: ../build/NEWS:3733 +msgid "" +"`bpo-35810 `__: Modify ``PyObject_Init`` " +"to correctly increase the refcount of heap- allocated Type objects. Also fix " +"the refcounts of the heap-allocated types that were either doing this " +"manually or not decreasing the type's refcount in tp_dealloc" +msgstr "" + +#: ../build/NEWS:3740 +msgid "Python 3.8.0 alpha 3" +msgstr "" + +#: ../build/NEWS:3742 +msgid "*Release date: 2019-03-25*" +msgstr "" + +#: ../build/NEWS:3747 +msgid "" +"`bpo-36216 `__: Changes urlsplit() to " +"raise ValueError when the URL contains characters that decompose under IDNA " +"encoding (NFKC-normalization) into characters that affect how the URL is " +"parsed." +msgstr "" + +#: ../build/NEWS:3751 +msgid "" +"`bpo-35121 `__: Don't send cookies of " +"domain A without Domain attribute to domain B when domain A is a suffix " +"match of domain B while using a cookiejar with :class:`http.cookiejar." +"DefaultCookiePolicy` policy. Patch by Karthikeyan Singaravelan." +msgstr "" + +#: ../build/NEWS:3759 +msgid "" +"`bpo-36421 `__: Fix a possible double " +"decref in _ctypes.c's ``PyCArrayType_new()``." +msgstr "" + +#: ../build/NEWS:3762 +msgid "" +"`bpo-36412 `__: Fix a possible crash " +"when creating a new dictionary." +msgstr "" + +#: ../build/NEWS:3764 +msgid "" +"`bpo-36398 `__: Fix a possible crash in " +"``structseq_repr()``." +msgstr "" + +#: ../build/NEWS:3766 +msgid "" +"`bpo-36256 `__: Fix bug in parsermodule " +"when parsing a state in a DFA that has two or more arcs with labels of the " +"same type. Patch by Pablo Galindo." +msgstr "" + +#: ../build/NEWS:3769 +msgid "" +"`bpo-36365 `__: repr(structseq) is no " +"longer limited to 512 bytes." +msgstr "" + +#: ../build/NEWS:3771 +msgid "" +"`bpo-36374 `__: Fix a possible null " +"pointer dereference in ``merge_consts_recursive()``. Patch by Zackery Spytz." +msgstr "" + +#: ../build/NEWS:3774 +msgid "" +"`bpo-36236 `__: At Python " +"initialization, the current directory is no longer prepended to :data:`sys." +"path` if it has been removed." +msgstr "" + +#: ../build/NEWS:3777 +msgid "" +"`bpo-36352 `__: Python initialization " +"now fails with an error, rather than silently truncating paths, if a path is " +"too long." +msgstr "" + +#: ../build/NEWS:3780 +msgid "" +"`bpo-36301 `__: Python initialization " +"now fails if decoding ``pybuilddir.txt`` configuration file fails at startup." +msgstr "" + +#: ../build/NEWS:3783 +msgid "" +"`bpo-36333 `__: Fix leak in " +"_PyRuntimeState_Fini. Contributed by Stéphane Wirtel." +msgstr "" + +#: ../build/NEWS:3786 +msgid "" +"`bpo-36332 `__: The builtin :func:" +"`compile` can now handle AST objects that contain assignment expressions. " +"Patch by Pablo Galindo." +msgstr "" + +#: ../build/NEWS:3789 +msgid "" +"`bpo-36282 `__: Improved error message " +"for too much positional arguments in some builtin functions." +msgstr "" + +#: ../build/NEWS:3792 +msgid "" +"`bpo-30040 `__: New empty dict uses " +"fewer memory for now. It used more memory than empty dict created by ``dict." +"clear()``. And empty dict creation and deletion is about 2x faster. Patch " +"by Inada Naoki." +msgstr "" + +#: ../build/NEWS:3796 +msgid "" +"`bpo-36262 `__: Fix an unlikely memory " +"leak on conversion from string to float in the function ``_Py_dg_strtod()`` " +"used by ``float(str)``, ``complex(str)``, :func:`pickle.load`, :func:" +"`marshal.load`, etc." +msgstr "" + +#: ../build/NEWS:3800 +msgid "" +"`bpo-36252 `__: Update Unicode databases " +"to version 12.0.0." +msgstr "" + +#: ../build/NEWS:3802 +msgid "" +"`bpo-36218 `__: Fix a segfault occurring " +"when sorting a list of heterogeneous values. Patch contributed by Rémi " +"Lapeyre and Elliot Gorokhovsky." +msgstr "" + +#: ../build/NEWS:3805 +msgid "" +"`bpo-36188 `__: Cleaned up left-over " +"vestiges of Python 2 unbound method handling in method objects and " +"documentation. Patch by Martijn Pieters" +msgstr "" + +#: ../build/NEWS:3808 +msgid "" +"`bpo-36124 `__: Add a new interpreter-" +"specific dict and expose it in the C-API via PyInterpreterState_GetDict(). " +"This parallels PyThreadState_GetDict(). However, extension modules should " +"continue using PyModule_GetState() for their own internal per-interpreter " +"state." +msgstr "" + +#: ../build/NEWS:3813 +msgid "" +"`bpo-35975 `__: Add a " +"``feature_version`` flag to ``ast.parse()`` (documented) and ``compile()`` " +"(hidden) that allows tweaking the parser to support older versions of the " +"grammar. In particular, if ``feature_version`` is 5 or 6, the hacks for the " +"``async`` and ``await`` keyword from PEP 492 are reinstated. (For 7 or " +"higher, these are unconditionally treated as keywords, but they are still " +"special tokens rather than ``NAME`` tokens that the parser driver " +"recognizes.)" +msgstr "" + +#: ../build/NEWS:3821 +msgid "" +"`bpo-31904 `__: Use UTF-8 as the system " +"encoding on VxWorks." +msgstr "" + +#: ../build/NEWS:3823 +msgid "" +"`bpo-36048 `__: The :meth:`~object." +"__index__` special method will be used instead of :meth:`~object.__int__` " +"for implicit conversion of Python numbers to C integers. Using the " +"``__int__()`` method in implicit conversions has been deprecated." +msgstr "" + +#: ../build/NEWS:3828 +msgid "" +"`bpo-35808 `__: Retire pgen and use a " +"modified version of pgen2 to generate the parser. Patch by Pablo Galindo." +msgstr "" + +#: ../build/NEWS:3834 +msgid "" +"`bpo-36401 `__: The class documentation " +"created by pydoc now has a separate section for readonly properties." +msgstr "" + +#: ../build/NEWS:3837 +msgid "" +"`bpo-36320 `__: The typing.NamedTuple() " +"class has deprecated the _field_types attribute in favor of the " +"__annotations__ attribute which carried the same information. Also, both " +"attributes were converted from OrderedDict to a regular dict." +msgstr "" + +#: ../build/NEWS:3842 +msgid "" +"`bpo-34745 `__: Fix :mod:`asyncio` ssl " +"memory issues caused by circular references" +msgstr "" + +#: ../build/NEWS:3845 +msgid "" +"`bpo-36324 `__: Add method to statistics." +"NormalDist for computing the inverse cumulative normal distribution." +msgstr "" + +#: ../build/NEWS:3848 +msgid "" +"`bpo-36321 `__: collections.namedtuple() " +"misspelled the name of an attribute. To be consistent with typing." +"NamedTuple, the attribute name should have been \"_field_defaults\" instead " +"of \"_fields_defaults\". For backwards compatibility, both spellings are " +"now created. The misspelled version may be removed in the future." +msgstr "" + +#: ../build/NEWS:3854 +msgid "" +"`bpo-36297 `__: \"unicode_internal\" " +"codec is removed. It was deprecated since Python 3.3. Patch by Inada Naoki." +msgstr "" + +#: ../build/NEWS:3857 +msgid "" +"`bpo-36298 `__: Raise " +"ModuleNotFoundError in pyclbr when a module can't be found. Thanks to " +"'mental' for the bug report." +msgstr "" + +#: ../build/NEWS:3860 +msgid "" +"`bpo-36268 `__: Switch the default " +"format used for writing tars with mod:`tarfile` to the modern POSIX.1-2001 " +"pax standard, from the vendor-specific GNU. Contributed by C.A.M. Gerlach." +msgstr "" + +#: ../build/NEWS:3864 +msgid "" +"`bpo-36285 `__: Fix integer overflows in " +"the array module. Patch by Stephan Hohe." +msgstr "" + +#: ../build/NEWS:3867 +msgid "" +"`bpo-31904 `__: Add _signal module " +"support for VxWorks." +msgstr "" + +#: ../build/NEWS:3869 +msgid "" +"`bpo-36272 `__: :mod:`logging` does not " +"silently ignore RecursionError anymore. Patch contributed by Rémi Lapeyre." +msgstr "" + +#: ../build/NEWS:3872 +msgid "" +"`bpo-36280 `__: Add a kind field to ast." +"Constant. It is 'u' if the literal has a 'u' prefix (i.e. a Python 2 style " +"unicode literal), else None." +msgstr "" + +#: ../build/NEWS:3875 +msgid "" +"`bpo-35931 `__: The :mod:`pdb` ``debug`` " +"command now gracefully handles all exceptions." +msgstr "" + +#: ../build/NEWS:3878 +msgid "" +"`bpo-36251 `__: Fix format strings used " +"for stderrprinter and re.Match reprs. Patch by Stephan Hohe." +msgstr "" + +#: ../build/NEWS:3881 +msgid "" +"`bpo-36235 `__: Fix ``CFLAGS`` in " +"``customize_compiler()`` of ``distutils.sysconfig``: when the ``CFLAGS`` " +"environment variable is defined, don't override ``CFLAGS`` variable with the " +"``OPT`` variable anymore. Initial patch written by David Malcolm." +msgstr "" + +#: ../build/NEWS:3886 +msgid "" +"`bpo-35807 `__: Update ensurepip to " +"install pip 19.0.3 and setuptools 40.8.0." +msgstr "" + +#: ../build/NEWS:3888 +msgid "" +"`bpo-36139 `__: Release GIL when " +"closing :class:`~mmap.mmap` objects." +msgstr "" + +#: ../build/NEWS:3890 +msgid "" +"`bpo-36179 `__: Fix two unlikely " +"reference leaks in _hashopenssl. The leaks only occur in out-of-memory cases." +msgstr "" + +#: ../build/NEWS:3893 +msgid "" +"`bpo-36169 `__: Add overlap() method to " +"statistics.NormalDist. Computes the overlapping coefficient for two normal " +"distributions." +msgstr "" + +#: ../build/NEWS:3896 +msgid "" +"`bpo-36103 `__: Default buffer size used " +"by ``shutil.copyfileobj()`` is changed from 16 KiB to 64 KiB on non-Windows " +"platform to reduce system call overhead. Contributed by Inada Naoki." +msgstr "" + +#: ../build/NEWS:3900 +msgid "" +"`bpo-36130 `__: Fix ``pdb`` with " +"``skip=...`` when stepping into a frame without a ``__name__`` global. " +"Patch by Anthony Sottile." +msgstr "" + +#: ../build/NEWS:3903 +msgid "" +"`bpo-35652 `__: shutil." +"copytree(copy_function=...) erroneously pass DirEntry instead of a path " +"string." +msgstr "" + +#: ../build/NEWS:3906 +msgid "" +"`bpo-35178 `__: Ensure custom :func:" +"`warnings.formatwarning` function can receive `line` as positional argument. " +"Based on patch by Tashrif Billah." +msgstr "" + +#: ../build/NEWS:3909 +msgid "" +"`bpo-36106 `__: Resolve potential name " +"clash with libm's sinpi(). Patch by Dmitrii Pasechnik." +msgstr "" + +#: ../build/NEWS:3912 +msgid "" +"`bpo-36091 `__: Clean up reference to " +"async generator in Lib/types. Patch by Henry Chen." +msgstr "" + +#: ../build/NEWS:3915 +msgid "" +"`bpo-36043 `__: :class:`FileCookieJar` " +"supports :term:`path-like object`. Contributed by Stéphane Wirtel" +msgstr "" + +#: ../build/NEWS:3918 +msgid "" +"`bpo-35899 `__: Enum has been fixed to " +"correctly handle empty strings and strings with non-Latin characters (ie. " +"'α', 'א') without crashing. Original patch contributed by Maxwell. Assisted " +"by Stéphane Wirtel." +msgstr "" + +#: ../build/NEWS:3922 +msgid "" +"`bpo-21269 `__: Add ``args`` and " +"``kwargs`` properties to mock call objects. Contributed by Kumar Akshay." +msgstr "" + +#: ../build/NEWS:3925 +msgid "" +"`bpo-30670 `__: `pprint.pp` has been " +"added to pretty-print objects with dictionary keys being sorted with their " +"insertion order by default. Parameter *sort_dicts* has been added to `pprint." +"pprint`, `pprint.pformat` and `pprint.PrettyPrinter`. Contributed by Rémi " +"Lapeyre." +msgstr "" + +#: ../build/NEWS:3930 +msgid "" +"`bpo-35843 `__: Implement " +"``__getitem__`` for ``_NamespacePath``. Patch by Anthony Sottile." +msgstr "" + +#: ../build/NEWS:3933 +msgid "" +"`bpo-35802 `__: Clean up code which " +"checked presence of ``os.stat`` / ``os.lstat`` / ``os.chmod`` which are " +"always present. Patch by Anthony Sottile." +msgstr "" + +#: ../build/NEWS:3937 +msgid "" +"`bpo-35715 `__: Librates the return " +"value of a ProcessPoolExecutor _process_worker after it's no longer needed " +"to free memory" +msgstr "" + +#: ../build/NEWS:3940 +msgid "" +"`bpo-35493 `__: Use :func:" +"`multiprocessing.connection.wait` instead of polling each 0.2 seconds for " +"worker updates in :class:`multiprocessing.Pool`. Patch by Pablo Galindo." +msgstr "" + +#: ../build/NEWS:3944 +msgid "" +"`bpo-35661 `__: Store the venv prompt in " +"pyvenv.cfg." +msgstr "" + +#: ../build/NEWS:3946 +msgid "" +"`bpo-35121 `__: Don't set cookie for a " +"request when the request path is a prefix match of the cookie's path " +"attribute but doesn't end with \"/\". Patch by Karthikeyan Singaravelan." +msgstr "" + +#: ../build/NEWS:3950 +msgid "" +"`bpo-21478 `__: Calls to a child " +"function created with :func:`unittest.mock.create_autospec` should propagate " +"to the parent. Patch by Karthikeyan Singaravelan." +msgstr "" + +#: ../build/NEWS:3954 +msgid "" +"`bpo-35198 `__: Fix C++ extension " +"compilation on AIX" +msgstr "" + +#: ../build/NEWS:3959 +msgid "" +"`bpo-36329 `__: Declare the path of the " +"Python binary for the usage of ``Tools/scripts/serve.py`` when executing " +"``make -C Doc/ serve``. Contributed by Stéphane Wirtel" +msgstr "" + +#: ../build/NEWS:3963 +msgid "" +"`bpo-36138 `__: Improve documentation " +"about converting datetime.timedelta to scalars." +msgstr "" + +#: ../build/NEWS:3966 +msgid "" +"`bpo-21314 `__: A new entry was added to " +"the Core Language Section of the Programming FAQ, which explaines the usage " +"of slash(/) in the signature of a function. Patch by Lysandros Nikolaou" +msgstr "" + +#: ../build/NEWS:3973 +msgid "" +"`bpo-36234 `__: test_posix." +"PosixUidGidTests: add tests for invalid uid/gid type (str). Initial patch " +"written by David Malcolm." +msgstr "" + +#: ../build/NEWS:3976 +msgid "" +"`bpo-29571 `__: Fix ``test_re." +"test_locale_flag()``: use ``locale.getpreferredencoding()`` rather than " +"``locale.getlocale()`` to get the locale encoding. With some locales, " +"``locale.getlocale()`` returns the wrong encoding." +msgstr "" + +#: ../build/NEWS:3981 +msgid "" +"`bpo-36123 `__: Fix race condition in " +"test_socket." +msgstr "" + +#: ../build/NEWS:3986 +msgid "" +"`bpo-36356 `__: Fix leaks that led to " +"build failure when configured with address sanitizer." +msgstr "" + +#: ../build/NEWS:3989 +msgid "" +"`bpo-36146 `__: Add ``TEST_EXTENSIONS`` " +"constant to ``setup.py`` to allow to not build test extensions like " +"``_testcapi``." +msgstr "" + +#: ../build/NEWS:3992 +msgid "" +"`bpo-36146 `__: Fix setup.py on macOS: " +"only add ``/usr/include/ffi`` to include directories of _ctypes, not for all " +"extensions." +msgstr "" + +#: ../build/NEWS:3995 +msgid "" +"`bpo-31904 `__: Enable build system to " +"cross-build for VxWorks RTOS." +msgstr "" + +#: ../build/NEWS:4000 +msgid "" +"`bpo-36312 `__: Fixed decoders for the " +"following code pages: 50220, 50221, 50222, 50225, 50227, 50229, 57002 " +"through 57011, 65000 and 42." +msgstr "" + +#: ../build/NEWS:4003 +msgid "" +"`bpo-36264 `__: Don't honor POSIX " +"``HOME`` in ``os.path.expanduser`` on windows. Patch by Anthony Sottile." +msgstr "" + +#: ../build/NEWS:4006 +msgid "" +"`bpo-24643 `__: Fix name collisions due " +"to ``#define timezone _timezone`` in PC/pyconfig.h." +msgstr "" + +#: ../build/NEWS:4012 +msgid "" +"`bpo-36405 `__: Use dict unpacking in " +"idlelib." +msgstr "" + +#: ../build/NEWS:4014 +msgid "" +"`bpo-36396 `__: Remove fgBg param of " +"idlelib.config.GetHighlight(). This param was only used twice and changed " +"the return type." +msgstr "" + +#: ../build/NEWS:4017 +msgid "" +"`bpo-36176 `__: Fix IDLE autocomplete & " +"calltip popup colors. Prevent conflicts with Linux dark themes (and slightly " +"darken calltip background)." +msgstr "" + +#: ../build/NEWS:4020 +msgid "" +"`bpo-23205 `__: For the grep module, add " +"tests for findfiles, refactor findfiles to be a module-level function, and " +"refactor findfiles to use os.walk." +msgstr "" + +#: ../build/NEWS:4024 +msgid "" +"`bpo-23216 `__: Add docstrings to IDLE " +"search modules." +msgstr "" + +#: ../build/NEWS:4026 +msgid "" +"`bpo-36152 `__: Remove colorizer." +"ColorDelegator.close_when_done and the corresponding argument of .close(). " +"In IDLE, both have always been None or False since 2007." +msgstr "" + +#: ../build/NEWS:4030 +msgid "" +"`bpo-32129 `__: Avoid blurry IDLE " +"application icon on macOS with Tk 8.6. Patch by Kevin Walzer." +msgstr "" + +#: ../build/NEWS:4033 +msgid "" +"`bpo-36096 `__: Refactor class variables " +"to instance variables in colorizer." +msgstr "" + +#: ../build/NEWS:4035 +msgid "" +"`bpo-30348 `__: Increase test coverage " +"of idlelib.autocomplete by 30%. Patch by Louie Lu" +msgstr "" + +#: ../build/NEWS:4041 +msgid "" +"`bpo-35132 `__: Fix py-list and py-bt " +"commands of python-gdb.py on gdb7." +msgstr "" + +#: ../build/NEWS:4043 +msgid "" +"`bpo-32217 `__: Fix freeze script on " +"Windows." +msgstr "" + +#: ../build/NEWS:4048 +msgid "" +"`bpo-36381 `__: Raise " +"``DeprecationWarning`` when '#' formats are used for building or parsing " +"values without ``PY_SSIZE_T_CLEAN``." +msgstr "" + +#: ../build/NEWS:4051 +msgid "" +"`bpo-36142 `__: The whole coreconfig.h " +"header is now excluded from Py_LIMITED_API. Move functions definitions into " +"a new internal pycore_coreconfig.h header." +msgstr "" + +#: ../build/NEWS:4057 +msgid "Python 3.8.0 alpha 2" +msgstr "" + +#: ../build/NEWS:4059 +msgid "*Release date: 2019-02-25*" +msgstr "" + +#: ../build/NEWS:4064 +msgid "" +"`bpo-36052 `__: Raise a :exc:" +"`SyntaxError` when assigning a value to `__debug__` with the Assignment " +"Operator. Contributed by Stéphane Wirtel and Pablo Galindo." +msgstr "" + +#: ../build/NEWS:4068 +msgid "" +"`bpo-36012 `__: Doubled the speed of " +"class variable writes. When a non-dunder attribute was updated, there was " +"an unnecessary call to update slots." +msgstr "" + +#: ../build/NEWS:4071 +msgid "" +"`bpo-35942 `__: The error message " +"emitted when returning invalid types from ``__fspath__`` in interfaces that " +"allow passing :class:`~os.PathLike` objects has been improved and now it " +"does explain the origin of the error." +msgstr "" + +#: ../build/NEWS:4075 +msgid "" +"`bpo-36016 `__: ``gc.get_objects`` can " +"now receive an optional parameter indicating a generation to get objects " +"from. Patch by Pablo Galindo." +msgstr "" + +#: ../build/NEWS:4078 +msgid "" +"`bpo-1054041 `__: When the main " +"interpreter exits due to an uncaught KeyboardInterrupt, the process now " +"exits in the appropriate manner for its parent process to detect that a " +"SIGINT or ^C terminated the process. This allows shells and batch scripts " +"to understand that the user has asked them to stop." +msgstr "" + +#: ../build/NEWS:4084 +msgid "" +"`bpo-35992 `__: Fix " +"``__class_getitem__()`` not being called on a class with a custom non-" +"subscriptable metaclass." +msgstr "" + +#: ../build/NEWS:4087 +msgid "" +"`bpo-35993 `__: Fix a crash on fork when " +"using subinterpreters. Contributed by Stéphane Wirtel" +msgstr "" + +#: ../build/NEWS:4090 +msgid "" +"`bpo-35991 `__: Fix a potential double " +"free in Modules/_randommodule.c." +msgstr "" + +#: ../build/NEWS:4092 +msgid "" +"`bpo-35961 `__: Fix a crash in " +"slice_richcompare(): use strong references rather than stolen references for " +"the two temporary internal tuples." +msgstr "" + +#: ../build/NEWS:4095 +msgid "" +"`bpo-35911 `__: Enable the creation of " +"cell objects by adding a ``cell.__new__`` method, and expose the type " +"``cell`` in ``Lib/types.py`` under the name CellType. Patch by Pierre Glaser." +msgstr "" + +#: ../build/NEWS:4099 +msgid "" +"`bpo-12822 `__: Use monotonic clock for " +"``pthread_cond_timedwait`` when ``pthread_condattr_setclock`` and " +"``CLOCK_MONOTONIC`` are available." +msgstr "" + +#: ../build/NEWS:4102 +msgid "" +"`bpo-15248 `__: The compiler emits now " +"syntax warnings in the case when a comma is likely missed before tuple or " +"list." +msgstr "" + +#: ../build/NEWS:4105 +msgid "" +"`bpo-35886 `__: The implementation of " +"PyInterpreterState has been moved into the internal header files (guarded by " +"Py_BUILD_CORE)." +msgstr "" + +#: ../build/NEWS:4108 +msgid "" +"`bpo-31506 `__: Clarify the errors " +"reported when ``object.__new__`` and ``object.__init__`` receive more than " +"one argument. Contributed by Sanyam Khurana." +msgstr "" + +#: ../build/NEWS:4112 +msgid "" +"`bpo-35724 `__: Signal-handling is now " +"guaranteed to happen relative to the main interpreter." +msgstr "" + +#: ../build/NEWS:4115 +msgid "" +"`bpo-33608 `__: We added a new internal " +"_Py_AddPendingCall() that operates relative to the provided interpreter. " +"This allows us to use the existing implementation to ask another interpreter " +"to do work that cannot be done in the current interpreter, like decref an " +"object the other interpreter owns. The existing Py_AddPendingCall() only " +"operates relative to the main interpreter." +msgstr "" + +#: ../build/NEWS:4122 +msgid "" +"`bpo-33989 `__: Fix a possible crash in :" +"meth:`list.sort` when sorting objects with ``ob_type->tp_richcompare == " +"NULL``. Patch by Zackery Spytz." +msgstr "" + +#: ../build/NEWS:4128 +msgid "" +"`bpo-35512 `__: :func:`unittest.mock." +"patch.dict` used as a decorator with string target resolves the target " +"during function call instead of during decorator construction. Patch by " +"Karthikeyan Singaravelan." +msgstr "" + +#: ../build/NEWS:4132 +msgid "" +"`bpo-36018 `__: Add statistics." +"NormalDist, a tool for creating and manipulating normal distributions of " +"random variable. Features a composite class that treats the mean and " +"standard deviation of measurement data as single entity." +msgstr "" + +#: ../build/NEWS:4137 +msgid "" +"`bpo-35904 `__: Added statistics.fmean() " +"as a faster, floating point variant of the existing mean() function." +msgstr "" + +#: ../build/NEWS:4140 +msgid "" +"`bpo-35918 `__: Removed broken " +"``has_key`` method from multiprocessing.managers.SyncManager.dict. " +"Contributed by Rémi Lapeyre." +msgstr "" + +#: ../build/NEWS:4143 +msgid "" +"`bpo-18283 `__: Add support for bytes " +"to :func:`shutil.which`." +msgstr "" + +#: ../build/NEWS:4145 +msgid "" +"`bpo-35960 `__: Fix :func:`dataclasses." +"field` throwing away empty mapping objects passed as metadata." +msgstr "" + +#: ../build/NEWS:4148 +msgid "" +"`bpo-35500 `__: Write expected and " +"actual call parameters on separate lines in :meth:`unittest.mock.Mock." +"assert_called_with` assertion errors. Contributed by Susan Su." +msgstr "" + +#: ../build/NEWS:4152 +msgid "" +"`bpo-35931 `__: The :mod:`pdb` ``debug`` " +"command now gracefully handles syntax errors." +msgstr "" + +#: ../build/NEWS:4155 +msgid "" +"`bpo-24209 `__: In http.server script, " +"rely on getaddrinfo to bind to preferred address based on the bind " +"parameter. Now default bind or binding to a name may bind to IPv6 or dual-" +"stack, depending on the environment." +msgstr "" + +#: ../build/NEWS:4159 +msgid "" +"`bpo-35321 `__: Set ``__spec__.origin`` " +"of ``_frozen_importlib`` to frozen so that it matches the behavior of " +"``_frozen_importlib_external``. Patch by Nina Zakharenko." +msgstr "" + +#: ../build/NEWS:4163 +msgid "" +"`bpo-35378 `__: Fix a reference issue " +"inside :class:`multiprocessing.Pool` that caused the pool to remain alive if " +"it was deleted without being closed or terminated explicitly. A new strong " +"reference is added to the pool iterators to link the lifetime of the pool to " +"the lifetime of its iterators so the pool does not get destroyed if a pool " +"iterator is still alive." +msgstr "" + +#: ../build/NEWS:4170 +msgid "" +"`bpo-34294 `__: re module, fix wrong " +"capturing groups in rare cases. :func:`re.search`, :func:`re.findall`, :func:" +"`re.sub` and other functions that scan through string looking for a match, " +"should reset capturing groups between two match attempts. Patch by Ma Lin." +msgstr "" + +#: ../build/NEWS:4175 +msgid "" +"`bpo-35615 `__: :mod:`weakref`: Fix a " +"RuntimeError when copying a WeakKeyDictionary or a WeakValueDictionary, due " +"to some keys or values disappearing while iterating." +msgstr "" + +#: ../build/NEWS:4179 +msgid "" +"`bpo-35606 `__: Implement :func:`math." +"prod` as analogous function to :func:`sum` that returns the product of a " +"'start' value (default: 1) times an iterable of numbers. Patch by Pablo " +"Galindo." +msgstr "" + +#: ../build/NEWS:4183 +msgid "" +"`bpo-32417 `__: Performing arithmetic " +"between :class:`datetime.datetime` subclasses and :class:`datetime." +"timedelta` now returns an object of the same type as the :class:`datetime." +"datetime` subclass. As a result, :meth:`datetime.datetime.astimezone` and " +"alternate constructors like :meth:`datetime.datetime.now` and :meth:" +"`datetime.fromtimestamp` called with a ``tz`` argument now *also* retain " +"their subclass." +msgstr "" + +#: ../build/NEWS:4190 +msgid "" +"`bpo-35153 `__: Add *headers* optional " +"keyword-only parameter to :class:`xmlrpc.client.ServerProxy`, :class:`xmlrpc." +"client.Transport` and :class:`xmlrpc.client.SafeTransport`. Patch by Cédric " +"Krier." +msgstr "" + +#: ../build/NEWS:4194 +msgid "" +"`bpo-34572 `__: Fix C implementation of " +"pickle.loads to use importlib's locking mechanisms, and thereby avoid using " +"partially-loaded modules. Patch by Tim Burgess." +msgstr "" + +#: ../build/NEWS:4201 +msgid "" +"`bpo-36083 `__: Fix formatting of --" +"check-hash-based-pycs options in the manpage Synopsis." +msgstr "" + +#: ../build/NEWS:4204 +msgid "" +"`bpo-36007 `__: Bump minimum sphinx " +"version to 1.8. Patch by Anthony Sottile." +msgstr "" + +#: ../build/NEWS:4206 +msgid "" +"`bpo-22062 `__: Update documentation and " +"docstrings for pathlib. Original patch by Mike Short." +msgstr "" + +#: ../build/NEWS:4212 +msgid "" +"`bpo-27313 `__: Avoid test_ttk_guionly " +"ComboboxTest failure with macOS Cocoa Tk." +msgstr "" + +#: ../build/NEWS:4215 +msgid "" +"`bpo-36019 `__: Add test.support." +"TEST_HTTP_URL and replace references of http://www.example.com by this new " +"constant. Contributed by Stéphane Wirtel." +msgstr "" + +#: ../build/NEWS:4219 +msgid "" +"`bpo-36037 `__: Fix test_ssl for strict " +"OpenSSL configuration like RHEL8 strict crypto policy. Use older TLS version " +"for minimum TLS version of the server SSL context if needed, to test TLS " +"version older than default minimum TLS version." +msgstr "" + +#: ../build/NEWS:4224 +msgid "" +"`bpo-35798 `__: Added :func:`test." +"support.check_syntax_warning`." +msgstr "" + +#: ../build/NEWS:4226 +msgid "" +"`bpo-35505 `__: Make " +"test_imap4_host_default_value independent on whether the local IMAP server " +"is running." +msgstr "" + +#: ../build/NEWS:4229 +msgid "" +"`bpo-35917 `__: multiprocessing: provide " +"unit tests for SyncManager and SharedMemoryManager classes + all the " +"shareable types which are supposed to be supported by them. (patch by " +"Giampaolo Rodola)" +msgstr "" + +#: ../build/NEWS:4233 +msgid "" +"`bpo-35704 `__: Skip ``test_shutil." +"test_unpack_archive_xztar`` to prevent a MemoryError on 32-bit AIX when " +"MAXDATA setting is less than 0x20000000." +msgstr "" + +#: ../build/NEWS:4236 +msgid "Patch by Michael Felt (aixtools)" +msgstr "" + +#: ../build/NEWS:4238 +msgid "" +"`bpo-34720 `__: Assert m_state != NULL " +"to mimic GC traversal functions that do not correctly handle module creation " +"when the module state has not been created." +msgstr "" + +#: ../build/NEWS:4245 +msgid "" +"`bpo-35976 `__: Added ARM build support " +"to Windows build files in PCBuild." +msgstr "" + +#: ../build/NEWS:4247 +msgid "" +"`bpo-35692 `__: ``pathlib`` no longer " +"raises when checking file and directory existence on drives that are not " +"ready" +msgstr "" + +#: ../build/NEWS:4250 +msgid "" +"`bpo-35872 `__: Uses the base Python " +"executable when invoking venv in a virtual environment" +msgstr "" + +#: ../build/NEWS:4253 +msgid "" +"`bpo-35873 `__: Prevents venv paths " +"being inherited by child processes" +msgstr "" + +#: ../build/NEWS:4255 +msgid "" +"`bpo-35299 `__: Fix sysconfig detection " +"of the source directory and distutils handling of pyconfig.h during PGO " +"profiling" +msgstr "" + +#: ../build/NEWS:4261 +msgid "" +"`bpo-24310 `__: IDLE -- Document " +"settings dialog font tab sample." +msgstr "" + +#: ../build/NEWS:4263 +msgid "" +"`bpo-35833 `__: Revise IDLE doc for " +"control codes sent to Shell. Add a code example block." +msgstr "" + +#: ../build/NEWS:4266 +msgid "" +"`bpo-35689 `__: Add docstrings and " +"unittests for colorizer.py." +msgstr "" + +#: ../build/NEWS:4270 +msgid "Python 3.8.0 alpha 1" +msgstr "" + +#: ../build/NEWS:4272 +msgid "*Release date: 2019-02-03*" +msgstr "" + +#: ../build/NEWS:4277 +msgid "" +"`bpo-35746 `__: [CVE-2019-5010] Fix a " +"NULL pointer deref in ssl module. The cert parser did not handle CRL " +"distribution points with empty DP or URI correctly. A malicious or buggy " +"certificate can result into segfault. Vulnerability (TALOS-2018-0758) " +"reported by Colin Read and Nicolas Edet of Cisco." +msgstr "" + +#: ../build/NEWS:4283 +msgid "" +"`bpo-34812 `__: The :option:`-I` command " +"line option (run Python in isolated mode) is now also copied by the :mod:" +"`multiprocessing` and :mod:`distutils` modules when spawning child " +"processes. Previously, only :option:`-E` and :option:`-s` options (enabled " +"by :option:`-I`) were copied." +msgstr "" + +#: ../build/NEWS:4289 +msgid "" +"`bpo-34791 `__: The xml.sax and xml.dom." +"domreg no longer use environment variables to override parser " +"implementations when sys.flags.ignore_environment is set by -E or -I " +"arguments." +msgstr "" + +#: ../build/NEWS:4293 +msgid "" +"`bpo-17239 `__: The xml.sax and xml.dom." +"minidom parsers no longer processes external entities by default. External " +"DTD and ENTITY declarations no longer load files or create network " +"connections." +msgstr "" + +#: ../build/NEWS:4297 +msgid "" +"`bpo-34623 `__: CVE-2018-14647: The C " +"accelerated _elementtree module now initializes hash randomization salt from " +"_Py_HashSecret instead of libexpat's default CSPRNG." +msgstr "" + +#: ../build/NEWS:4301 +msgid "" +"`bpo-34405 `__: Updated to OpenSSL " +"1.1.0i for Windows builds." +msgstr "" + +#: ../build/NEWS:4303 +msgid "" +"`bpo-33871 `__: Fixed sending the part " +"of the file in :func:`os.sendfile` on macOS. Using the *trailers* argument " +"could cause sending more bytes from the input file than was specified." +msgstr "" + +#: ../build/NEWS:4307 +msgid "" +"`bpo-32533 `__: Fixed thread-safety of " +"error handling in _ssl." +msgstr "" + +#: ../build/NEWS:4309 ../build/NEWS:7808 +msgid "" +"`bpo-33136 `__: Harden ssl module " +"against LibreSSL CVE-2018-8970. X509_VERIFY_PARAM_set1_host() is called with " +"an explicit namelen. A new test ensures that NULL bytes are not allowed." +msgstr "" + +#: ../build/NEWS:4313 ../build/NEWS:7812 ../build/NEWS:12205 +msgid "" +"`bpo-33001 `__: Minimal fix to prevent " +"buffer overrun in os.symlink on Windows" +msgstr "" + +#: ../build/NEWS:4315 ../build/NEWS:7814 ../build/NEWS:12207 +msgid "" +"`bpo-32981 `__: Regexes in difflib and " +"poplib were vulnerable to catastrophic backtracking. These regexes formed " +"potential DOS vectors (REDOS). They have been refactored. This resolves " +"CVE-2018-1060 and CVE-2018-1061. Patch by Jamie Davis." +msgstr "" + +#: ../build/NEWS:4320 ../build/NEWS:8026 +msgid "" +"`bpo-28414 `__: The ssl module now " +"allows users to perform their own IDN en/decoding when using SNI." +msgstr "" + +#: ../build/NEWS:4326 +msgid "" +"`bpo-35877 `__: Make parenthesis " +"optional for named expressions in while statement. Patch by Karthikeyan " +"Singaravelan." +msgstr "" + +#: ../build/NEWS:4329 +msgid "" +"`bpo-35814 `__: Allow same right hand " +"side expressions in annotated assignments as in normal ones. In particular, " +"``x: Tuple[int, int] = 1, 2`` (without parentheses on the right) is now " +"allowed." +msgstr "" + +#: ../build/NEWS:4333 +msgid "" +"`bpo-35766 `__: Add the option to parse " +"PEP 484 type comments in the ast module. (Off by default.) This is merging " +"the key functionality of the third party fork thereof, [typed_ast](https://" +"github.com/python/typed_ast)." +msgstr "" + +#: ../build/NEWS:4338 +msgid "" +"`bpo-35713 `__: Reorganize Python " +"initialization to get working exceptions and sys.stderr earlier." +msgstr "" + +#: ../build/NEWS:4341 +msgid "" +"`bpo-33416 `__: Add end line and end " +"column position information to the Python AST nodes. This is a C-level " +"backwards incompatible change." +msgstr "" + +#: ../build/NEWS:4344 +msgid "" +"`bpo-35720 `__: Fixed a minor memory " +"leak in pymain_parse_cmdline_impl function in Modules/main.c" +msgstr "" + +#: ../build/NEWS:4347 +msgid "" +"`bpo-35634 `__: ``func(**kwargs)`` will " +"now raise an error when ``kwargs`` is a mapping containing multiple entries " +"with the same key. An error was already raised when other keyword arguments " +"are passed before ``**kwargs`` since Python 3.6." +msgstr "" + +#: ../build/NEWS:4352 +msgid "" +"`bpo-35623 `__: Fix a crash when sorting " +"very long lists. Patch by Stephan Hohe." +msgstr "" + +#: ../build/NEWS:4355 +msgid "" +"`bpo-35214 `__: clang Memory Sanitizer " +"build instrumentation was added to work around false positives from posix, " +"socket, time, test_io, and test_faulthandler." +msgstr "" + +#: ../build/NEWS:4359 +msgid "" +"`bpo-35560 `__: Fix an assertion error " +"in :func:`format` in debug build for floating point formatting with \"n\" " +"format, zero padding and small width. Release build is not impacted. Patch " +"by Karthikeyan Singaravelan." +msgstr "" + +#: ../build/NEWS:4363 +#, python-format +msgid "" +"`bpo-35552 `__: Format characters ``%s`` " +"and ``%V`` in :c:func:`PyUnicode_FromFormat` and ``%s`` in :c:func:" +"`PyBytes_FromFormat` no longer read memory past the limit if *precision* is " +"specified." +msgstr "" + +#: ../build/NEWS:4367 +msgid "" +"`bpo-35504 `__: Fix segfaults and :exc:" +"`SystemError`\\ s when deleting certain attributes. Patch by Zackery Spytz." +msgstr "" + +#: ../build/NEWS:4370 +msgid "" +"`bpo-35504 `__: Fixed a SystemError when " +"delete the characters_written attribute of an OSError." +msgstr "" + +#: ../build/NEWS:4373 +msgid "" +"`bpo-35494 `__: Improved syntax error " +"messages for unbalanced parentheses in f-string." +msgstr "" + +#: ../build/NEWS:4376 +msgid "" +"`bpo-35444 `__: Fixed error handling in " +"pickling methods when fail to look up builtin \"getattr\". Sped up pickling " +"iterators." +msgstr "" + +#: ../build/NEWS:4379 +msgid "" +"`bpo-35436 `__: Fix various issues with " +"memory allocation error handling. Patch by Zackery Spytz." +msgstr "" + +#: ../build/NEWS:4382 +msgid "" +"`bpo-35423 `__: Separate the signal " +"handling trigger in the eval loop from the \"pending calls\" machinery. " +"There is no semantic change and the difference in performance is " +"insignificant." +msgstr "" + +#: ../build/NEWS:4386 +msgid "" +"`bpo-35357 `__: Internal attributes' " +"names of unittest.mock._Call and unittest.mock.MagicProxy (name, parent & " +"from_kall) are now prefixed with _mock_ in order to prevent clashes with " +"widely used object attributes. Fixed minor typo in test function name." +msgstr "" + +#: ../build/NEWS:4391 +msgid "" +"`bpo-35372 `__: Fixed the code page " +"decoder for input longer than 2 GiB containing undecodable bytes." +msgstr "" + +#: ../build/NEWS:4394 +msgid "" +"`bpo-35336 `__: Fix " +"PYTHONCOERCECLOCALE=1 environment variable: only coerce the C locale if the " +"LC_CTYPE locale is \"C\"." +msgstr "" + +#: ../build/NEWS:4397 +msgid "" +"`bpo-31241 `__: The *lineno* and " +"*col_offset* attributes of AST nodes for list comprehensions, generator " +"expressions and tuples are now point to the opening parenthesis or square " +"brace. For tuples without parenthesis they point to the position of the " +"first item." +msgstr "" + +#: ../build/NEWS:4402 +msgid "" +"`bpo-33954 `__: For :meth:`str.format`, :" +"meth:`float.__format__` and :meth:`complex.__format__` methods for non-ASCII " +"decimal point when using the \"n\" formatter." +msgstr "" + +#: ../build/NEWS:4406 +msgid "" +"`bpo-35269 `__: Fix a possible segfault " +"involving a newly-created coroutine. Patch by Zackery Spytz." +msgstr "" + +#: ../build/NEWS:4409 +msgid "" +"`bpo-35224 `__: Implement :pep:`572` " +"(assignment expressions). Patch by Emily Morehouse." +msgstr "" + +#: ../build/NEWS:4412 +msgid "" +"`bpo-32492 `__: Speed up :class:" +"`namedtuple` attribute access by 1.6x using a C fast-path for the name " +"descriptors. Patch by Pablo Galindo." +msgstr "" + +#: ../build/NEWS:4415 +msgid "" +"`bpo-35214 `__: Fixed an out of bounds " +"memory access when parsing a truncated unicode escape sequence at the end of " +"a string such as ``'\\N'``. It would read one byte beyond the end of the " +"memory allocation." +msgstr "" + +#: ../build/NEWS:4419 +msgid "" +"`bpo-35214 `__: The interpreter and " +"extension modules have had annotations added so that they work properly " +"under clang's Memory Sanitizer. A new configure flag --with-memory-" +"sanitizer has been added to make test builds of this nature easier to " +"perform." +msgstr "" + +#: ../build/NEWS:4424 +msgid "" +"`bpo-35193 `__: Fix an off by one error " +"in the bytecode peephole optimizer where it could read bytes beyond the end " +"of bounds of an array when removing unreachable code. This bug was present " +"in every release of Python 3.6 and 3.7 until now." +msgstr "" + +#: ../build/NEWS:4429 +msgid "" +"`bpo-35169 `__: Improved error messages " +"for forbidden assignments." +msgstr "" + +#: ../build/NEWS:4431 +msgid "" +"`bpo-34022 `__: Fix handling of hash-" +"based bytecode files in :mod:`zipimport`. Patch by Elvis Pranskevichus." +msgstr "" + +#: ../build/NEWS:4434 +msgid "" +"`bpo-28401 `__: Debug builds will no " +"longer to attempt to import extension modules built for the ABI as they were " +"never compatible to begin with. Patch by Stefano Rivera." +msgstr "" + +#: ../build/NEWS:4438 +msgid "" +"`bpo-29341 `__: Clarify in the " +"docstrings of :mod:`os` methods that path-like objects are also accepted as " +"input parameters." +msgstr "" + +#: ../build/NEWS:4441 +msgid "" +"`bpo-35050 `__: :mod:`socket`: Fix off-" +"by-one bug in length check for ``AF_ALG`` name and type." +msgstr "" + +#: ../build/NEWS:4444 +msgid "" +"`bpo-29743 `__: Raise :exc:`ValueError` " +"instead of :exc:`OverflowError` in case of a negative ``_length_`` in a :" +"class:`ctypes.Array` subclass. Also raise :exc:`TypeError` instead of :exc:" +"`AttributeError` for non-integer ``_length_``. Original patch by Oren Milman." +msgstr "" + +#: ../build/NEWS:4449 +msgid "" +"`bpo-16806 `__: Fix ``lineno`` and " +"``col_offset`` for multi-line string tokens." +msgstr "" + +#: ../build/NEWS:4451 +msgid "" +"`bpo-35029 `__: :exc:`SyntaxWarning` " +"raised as an exception at code generation time will be now replaced with a :" +"exc:`SyntaxError` for better error reporting." +msgstr "" + +#: ../build/NEWS:4455 +msgid "" +"`bpo-34983 `__: Expose :meth:`symtable." +"Symbol.is_nonlocal` in the symtable module. Patch by Pablo Galindo." +msgstr "" + +#: ../build/NEWS:4458 +msgid "" +"`bpo-34974 `__: :class:`bytes` and :" +"class:`bytearray` constructors no longer convert unexpected exceptions (e." +"g. :exc:`MemoryError` and :exc:`KeyboardInterrupt`) to :exc:`TypeError`." +msgstr "" + +#: ../build/NEWS:4462 +msgid "" +"`bpo-34939 `__: Allow annotated names in " +"module namespace that are declared global before the annotation happens. " +"Patch by Pablo Galindo." +msgstr "" + +#: ../build/NEWS:4465 +msgid "" +"`bpo-34973 `__: Fixed crash in :func:" +"`bytes` when the :class:`list` argument is mutated while it is iterated." +msgstr "" + +#: ../build/NEWS:4468 +msgid "" +"`bpo-34876 `__: The *lineno* and " +"*col_offset* attributes of the AST for decorated function and class refer " +"now to the position of the corresponding ``def``, ``async def`` and " +"``class`` instead of the position of the first decorator. This leads to more " +"correct line reporting in tracing. This is the only case when the position " +"of child AST nodes can precede the position of the parent AST node." +msgstr "" + +#: ../build/NEWS:4475 +msgid "" +"`bpo-34879 `__: Fix a possible null " +"pointer dereference in bytesobject.c. Patch by Zackery Spytz." +msgstr "" + +#: ../build/NEWS:4478 +msgid "" +"`bpo-34784 `__: Fix the implementation " +"of PyStructSequence_NewType in order to create heap allocated " +"StructSequences." +msgstr "" + +#: ../build/NEWS:4481 +msgid "" +"`bpo-32912 `__: A :exc:`SyntaxWarning` " +"is now emitted instead of a :exc:`DeprecationWarning` for invalid escape " +"sequences in string and bytes literals." +msgstr "" + +#: ../build/NEWS:4485 +msgid "" +"`bpo-34854 `__: Fixed a crash in " +"compiling string annotations containing a lambda with a keyword-only " +"argument that doesn't have a default value." +msgstr "" + +#: ../build/NEWS:4488 +msgid "" +"`bpo-34850 `__: The compiler now " +"produces a :exc:`SyntaxWarning` when identity checks (``is`` and ``is not``) " +"are used with certain types of literals (e.g. strings, ints). These can " +"often work by accident in CPython, but are not guaranteed by the language " +"spec. The warning advises users to use equality tests (``==`` and ``!=``) " +"instead." +msgstr "" + +#: ../build/NEWS:4494 +msgid "" +"`bpo-34824 `__: Fix a possible null " +"pointer dereference in Modules/_ssl.c. Patch by Zackery Spytz." +msgstr "" + +#: ../build/NEWS:4497 +msgid "" +"`bpo-30156 `__: The C function " +"``property_descr_get()`` uses a \"cached\" tuple to optimize function calls. " +"But this tuple can be discovered in debug mode with :func:`sys." +"getobjects()`. Remove the optimization, it's not really worth it and it " +"causes 3 different crashes last years." +msgstr "" + +#: ../build/NEWS:4502 +msgid "" +"`bpo-34762 `__: Fix contextvars C API to " +"use PyObject* pointer types." +msgstr "" + +#: ../build/NEWS:4504 +msgid "" +"`bpo-34751 `__: The hash function for " +"tuples is now based on xxHash which gives better collision results on " +"(formerly) pathological cases. Additionally, on 64-bit systems it improves " +"tuple hashes in general. Patch by Jeroen Demeyer with substantial " +"contributions by Tim Peters." +msgstr "" + +#: ../build/NEWS:4509 +msgid "" +"`bpo-34735 `__: Fix a memory leak in " +"Modules/timemodule.c. Patch by Zackery Spytz." +msgstr "" + +#: ../build/NEWS:4512 +msgid "" +"`bpo-34683 `__: Fixed a bug where some " +"SyntaxError error pointed to locations that were off-by-one." +msgstr "" + +#: ../build/NEWS:4515 +msgid "" +"`bpo-34651 `__: Only allow the main " +"interpreter to fork. The avoids the possibility of affecting the main " +"interpreter, which is critical to operation of the runtime." +msgstr "" + +#: ../build/NEWS:4519 +msgid "" +"`bpo-34653 `__: Remove unused function " +"PyParser_SimpleParseStringFilename." +msgstr "" + +#: ../build/NEWS:4521 +msgid "" +"`bpo-32236 `__: Warn that line buffering " +"is not supported if :func:`open` is called with binary mode and " +"``buffering=1``." +msgstr "" + +#: ../build/NEWS:4524 +msgid "" +"`bpo-34641 `__: Further restrict the " +"syntax of the left-hand side of keyword arguments in function calls. In " +"particular, ``f((keyword)=arg)`` is now disallowed." +msgstr "" + +#: ../build/NEWS:4528 +msgid "" +"`bpo-34637 `__: Make the *start* " +"argument to *sum()* visible as a keyword argument." +msgstr "" + +#: ../build/NEWS:4531 +msgid "" +"`bpo-1621 `__: Do not assume signed " +"integer overflow behavior (C undefined behavior) when performing set hash " +"table resizing." +msgstr "" + +#: ../build/NEWS:4534 +msgid "" +"`bpo-34588 `__: Fix an off-by-one in the " +"recursive call pruning feature of traceback formatting." +msgstr "" + +#: ../build/NEWS:4537 +msgid "" +"`bpo-34485 `__: On Windows, the LC_CTYPE " +"is now set to the user preferred locale at startup. Previously, the LC_CTYPE " +"locale was \"C\" at startup, but changed when calling setlocale(LC_CTYPE, " +"\"\") or setlocale(LC_ALL, \"\")." +msgstr "" + +#: ../build/NEWS:4541 +msgid "" +"`bpo-34485 `__: Standard streams like " +"sys.stdout now use the \"surrogateescape\" error handler, instead of \"strict" +"\", on the POSIX locale (when the C locale is not coerced and the UTF-8 Mode " +"is disabled)." +msgstr "" + +#: ../build/NEWS:4545 +msgid "" +"`bpo-34485 `__: Fix the error handler of " +"standard streams like sys.stdout: PYTHONIOENCODING=\":\" is now ignored " +"instead of setting the error handler to \"strict\"." +msgstr "" + +#: ../build/NEWS:4549 +msgid "" +"`bpo-34485 `__: Python now gets the " +"locale encoding with C code to initialize the encoding of standard streams " +"like sys.stdout. Moreover, the encoding is now initialized to the Python " +"codec name to get a normalized encoding name and to ensure that the codec is " +"loaded. The change avoids importing _bootlocale and _locale modules at " +"startup by default." +msgstr "" + +#: ../build/NEWS:4555 +msgid "" +"`bpo-34527 `__: On FreeBSD, " +"Py_DecodeLocale() and Py_EncodeLocale() now also forces the ASCII encoding " +"if the LC_CTYPE locale is \"POSIX\", not only if the LC_CTYPE locale is \"C" +"\"." +msgstr "" + +#: ../build/NEWS:4559 +msgid "" +"`bpo-34527 `__: The UTF-8 Mode is now " +"also enabled by the \"POSIX\" locale, not only by the \"C\" locale." +msgstr "" + +#: ../build/NEWS:4562 +msgid "" +"`bpo-34403 `__: On HP-UX with C or POSIX " +"locale, sys.getfilesystemencoding() now returns \"ascii\" instead of " +"\"roman8\" (when the UTF-8 Mode is disabled and the C locale is not coerced)." +msgstr "" + +#: ../build/NEWS:4566 +msgid "" +"`bpo-34523 `__: The Python filesystem " +"encoding is now read earlier during the Python initialization." +msgstr "" + +#: ../build/NEWS:4569 +msgid "" +"`bpo-12458 `__: Tracebacks show now " +"correct line number for subexpressions in multiline expressions. Tracebacks " +"show now the line number of the first line for multiline expressions instead " +"of the line number of the last subexpression." +msgstr "" + +#: ../build/NEWS:4574 +msgid "" +"`bpo-34408 `__: Prevent a null pointer " +"dereference and resource leakage in ``PyInterpreterState_New()``." +msgstr "" + +#: ../build/NEWS:4577 +msgid "" +"`bpo-34400 `__: Fix undefined behavior " +"in parsetok.c. Patch by Zackery Spytz." +msgstr "" + +#: ../build/NEWS:4579 +msgid "" +"`bpo-33073 `__: Added as_integer_ratio " +"to ints to make them more interoperable with floats." +msgstr "" + +#: ../build/NEWS:4582 +msgid "" +"`bpo-34377 `__: Update valgrind " +"suppression list to use ``_PyObject_Free``/``_PyObject_Realloc`` instead of " +"``PyObject_Free``/``PyObject_Realloc``." +msgstr "" + +#: ../build/NEWS:4586 +msgid "" +"`bpo-34353 `__: Added the \"socket\" " +"option in the `stat.filemode()` Python implementation to match the C " +"implementation." +msgstr "" + +#: ../build/NEWS:4589 +msgid "" +"`bpo-34320 `__: Fix ``dict(od)`` didn't " +"copy iteration order of OrderedDict." +msgstr "" + +#: ../build/NEWS:4591 +msgid "" +"`bpo-34113 `__: Fixed crash on debug " +"builds when opcode stack was adjusted with negative numbers. Patch by " +"Constantin Petrisor." +msgstr "" + +#: ../build/NEWS:4594 +msgid "" +"`bpo-34100 `__: Compiler now merges " +"constants in tuples and frozensets recursively. Code attributes like " +"``co_names`` are merged too." +msgstr "" + +#: ../build/NEWS:4597 +msgid "" +"`bpo-34151 `__: Performance of list " +"concatenation, repetition and slicing operations is slightly improved. Patch " +"by Sergey Fedoseev." +msgstr "" + +#: ../build/NEWS:4600 +msgid "" +"`bpo-34170 `__: -X dev: it is now " +"possible to override the memory allocator using PYTHONMALLOC even if the " +"developer mode is enabled." +msgstr "" + +#: ../build/NEWS:4603 +msgid "" +"`bpo-33237 `__: Improved :exc:" +"`AttributeError` message for partially initialized module." +msgstr "" + +#: ../build/NEWS:4606 +msgid "" +"`bpo-34149 `__: Fix min and max " +"functions to get default behavior when key is None." +msgstr "" + +#: ../build/NEWS:4609 +msgid "" +"`bpo-34125 `__: Profiling of unbound " +"built-in methods now works when ``**kwargs`` is given." +msgstr "" + +#: ../build/NEWS:4612 +msgid "" +"`bpo-34141 `__: Optimized pickling " +"atomic types (None, bool, int, float, bytes, str)." +msgstr "" + +#: ../build/NEWS:4615 +msgid "" +"`bpo-34126 `__: Fix crashes when " +"profiling certain invalid calls of unbound methods. Patch by Jeroen Demeyer." +msgstr "" + +#: ../build/NEWS:4618 +msgid "" +"`bpo-24618 `__: Fixed reading invalid " +"memory when create the code object with too small varnames tuple or too " +"large argument counts." +msgstr "" + +#: ../build/NEWS:4621 +msgid "" +"`bpo-34068 `__: In :meth:`io.IOBase." +"close`, ensure that the :attr:`~io.IOBase.closed` attribute is not set with " +"a live exception. Patch by Zackery Spytz and Serhiy Storchaka." +msgstr "" + +#: ../build/NEWS:4625 +msgid "" +"`bpo-34087 `__: Fix buffer overflow " +"while converting unicode to numeric values." +msgstr "" + +#: ../build/NEWS:4627 +msgid "" +"`bpo-34080 `__: Fixed a memory leak in " +"the compiler when it raised some uncommon errors during tokenizing." +msgstr "" + +#: ../build/NEWS:4630 +msgid "" +"`bpo-34066 `__: Disabled interruption by " +"Ctrl-C between calling ``open()`` and entering a **with** block in ``with " +"open()``." +msgstr "" + +#: ../build/NEWS:4633 +msgid "" +"`bpo-34042 `__: Fix dict.copy() to " +"maintain correct total refcount (as reported by sys.gettotalrefcount())." +msgstr "" + +#: ../build/NEWS:4636 +msgid "" +"`bpo-33418 `__: Fix potential memory " +"leak in function object when it creates reference cycle." +msgstr "" + +#: ../build/NEWS:4639 +msgid "" +"`bpo-33985 `__: Implement contextvars." +"ContextVar.name attribute." +msgstr "" + +#: ../build/NEWS:4641 +msgid "" +"`bpo-33956 `__: Update vendored Expat " +"library copy to version 2.2.5." +msgstr "" + +#: ../build/NEWS:4643 +msgid "" +"`bpo-24596 `__: Decref the module object " +"in :c:func:`PyRun_SimpleFileExFlags` before calling :c:func:" +"`PyErr_Print()`. Patch by Zackery Spytz." +msgstr "" + +#: ../build/NEWS:4646 +msgid "" +"`bpo-33451 `__: Close directly executed " +"pyc files before calling ``PyEval_EvalCode()``." +msgstr "" + +#: ../build/NEWS:4649 +msgid "" +"`bpo-1617161 `__: The hash of :class:" +"`BuiltinMethodType` instances (methods of built-in classes) now depends on " +"the hash of the identity of *__self__* instead of its value. The hash and " +"equality of :class:`ModuleType` and :class:`MethodWrapperType` instances " +"(methods of user-defined classes and some methods of built-in classes like " +"``str.__add__``) now depend on the hash and equality of the identity of " +"*__self__* instead of its value. :class:`MethodWrapperType` instances no " +"longer support ordering." +msgstr "" + +#: ../build/NEWS:4657 +msgid "" +"`bpo-33824 `__: Fix \"LC_ALL=C python3.7 " +"-V\": reset properly the command line parser when the encoding changes after " +"reading the Python configuration." +msgstr "" + +#: ../build/NEWS:4660 ../build/NEWS:7306 +msgid "" +"`bpo-33803 `__: Fix a crash in hamt.c " +"caused by enabling GC tracking for an object that hadn't all of its fields " +"set to NULL." +msgstr "" + +#: ../build/NEWS:4663 +msgid "" +"`bpo-33738 `__: Seven macro " +"incompatibilities with the Limited API were fixed, and the macros :c:func:" +"`PyIter_Check`, :c:func:`PyIndex_Check` and :c:func:`PyExceptionClass_Name` " +"were added as functions. A script for automatic macro checks was added." +msgstr "" + +#: ../build/NEWS:4668 ../build/NEWS:11878 +msgid "" +"`bpo-33786 `__: Fix asynchronous " +"generators to handle GeneratorExit in athrow() correctly" +msgstr "" + +#: ../build/NEWS:4671 +msgid "" +"`bpo-30167 `__: " +"``PyRun_SimpleFileExFlags`` removes ``__cached__`` from module in addition " +"to ``__file__``." +msgstr "" + +#: ../build/NEWS:4674 ../build/NEWS:7309 +msgid "" +"`bpo-33706 `__: Fix a crash in Python " +"initialization when parsing the command line options. Thanks Christoph " +"Gohlke for the bug report and the fix!" +msgstr "" + +#: ../build/NEWS:4677 +msgid "" +"`bpo-33597 `__: Reduce ``PyGC_Head`` " +"size from 3 words to 2 words." +msgstr "" + +#: ../build/NEWS:4679 ../build/NEWS:7312 ../build/NEWS:11881 +msgid "" +"`bpo-30654 `__: Fixed reset of the " +"SIGINT handler to SIG_DFL on interpreter shutdown even when there was a " +"custom handler set previously. Patch by Philipp Kerling." +msgstr "" + +#: ../build/NEWS:4683 ../build/NEWS:7418 ../build/NEWS:11885 +msgid "" +"`bpo-33622 `__: Fixed a leak when the " +"garbage collector fails to add an object with the ``__del__`` method or " +"referenced by it into the :data:`gc.garbage` list. :c:func:`PyGC_Collect` " +"can now be called when an exception is set and preserves it." +msgstr "" + +#: ../build/NEWS:4688 +msgid "" +"`bpo-33462 `__: Make dict and dict views " +"reversible. Patch by Rémi Lapeyre." +msgstr "" + +#: ../build/NEWS:4690 +msgid "" +"`bpo-23722 `__: A :exc:`RuntimeError` is " +"now raised when the custom metaclass doesn't provide the ``__classcell__`` " +"entry in the namespace passed to ``type.__new__``. A :exc:" +"`DeprecationWarning` was emitted in Python 3.6--3.7." +msgstr "" + +#: ../build/NEWS:4695 +msgid "" +"`bpo-33499 `__: Add :envvar:" +"`PYTHONPYCACHEPREFIX` environment variable and :option:`-X` " +"``pycache_prefix`` command-line option to set an alternate root directory " +"for writing module bytecode cache files." +msgstr "" + +#: ../build/NEWS:4699 +msgid "" +"`bpo-25711 `__: The :mod:`zipimport` " +"module has been rewritten in pure Python." +msgstr "" + +#: ../build/NEWS:4701 ../build/NEWS:7423 +msgid "" +"`bpo-33509 `__: Fix module_globals " +"parameter of warnings.warn_explicit(): don't crash if module_globals is not " +"a dict." +msgstr "" + +#: ../build/NEWS:4704 ../build/NEWS:7316 ../build/NEWS:11890 +msgid "" +"`bpo-31849 `__: Fix signed/unsigned " +"comparison warning in pyhash.c." +msgstr "" + +#: ../build/NEWS:4706 ../build/NEWS:7430 +msgid "" +"`bpo-33475 `__: Fixed miscellaneous bugs " +"in converting annotations to strings and optimized parentheses in the string " +"representation." +msgstr "" + +#: ../build/NEWS:4709 +msgid "" +"`bpo-20104 `__: Added support for the " +"`setpgroup`, `resetids`, `setsigmask`, `setsigdef` and `scheduler` " +"parameters of `posix_spawn`. Patch by Pablo Galindo." +msgstr "" + +#: ../build/NEWS:4713 ../build/NEWS:7433 ../build/NEWS:11892 +msgid "" +"`bpo-33391 `__: Fix a leak in " +"set_symmetric_difference()." +msgstr "" + +#: ../build/NEWS:4715 ../build/NEWS:7631 +msgid "" +"`bpo-33363 `__: Raise a SyntaxError for " +"``async with`` and ``async for`` statements outside of async functions." +msgstr "" + +#: ../build/NEWS:4718 ../build/NEWS:7435 ../build/NEWS:11894 +msgid "" +"`bpo-28055 `__: Fix unaligned accesses " +"in siphash24(). Patch by Rolf Eike Beer." +msgstr "" + +#: ../build/NEWS:4720 ../build/NEWS:7634 +msgid "" +"`bpo-33128 `__: Fix a bug that causes " +"PathFinder to appear twice on sys.meta_path. Patch by Pablo Galindo Salgado." +msgstr "" + +#: ../build/NEWS:4723 +msgid "" +"`bpo-33331 `__: Modules imported last " +"are now cleared first at interpreter shutdown." +msgstr "" + +#: ../build/NEWS:4726 ../build/NEWS:7637 +msgid "" +"`bpo-33312 `__: Fixed clang ubsan " +"(undefined behavior sanitizer) warnings in dictobject.c by adjusting how the " +"internal struct _dictkeysobject shared keys structure is declared." +msgstr "" + +#: ../build/NEWS:4730 +msgid "" +"`bpo-33305 `__: Improved syntax error " +"messages for invalid numerical literals." +msgstr "" + +#: ../build/NEWS:4732 +msgid "" +"`bpo-33306 `__: Improved syntax error " +"messages for unbalanced parentheses." +msgstr "" + +#: ../build/NEWS:4734 +msgid "" +"`bpo-33234 `__: The list constructor " +"will pre-size and not over-allocate when the input length is known." +msgstr "" + +#: ../build/NEWS:4737 +msgid "" +"`bpo-33270 `__: Intern the names for all " +"anonymous code objects. Patch by Zackery Spytz." +msgstr "" + +#: ../build/NEWS:4740 +msgid "" +"`bpo-30455 `__: The C and Python code " +"and the documentation related to tokens are now generated from a single " +"source file :file:`Grammar/Tokens`." +msgstr "" + +#: ../build/NEWS:4743 +msgid "" +"`bpo-33176 `__: Add a ``toreadonly()`` " +"method to memoryviews." +msgstr "" + +#: ../build/NEWS:4745 ../build/NEWS:7641 ../build/NEWS:11896 +msgid "" +"`bpo-33231 `__: Fix potential memory " +"leak in ``normalizestring()``." +msgstr "" + +#: ../build/NEWS:4747 ../build/NEWS:7643 +msgid "" +"`bpo-33205 `__: Change dict growth " +"function from ``round_up_to_power_2(used*2+hashtable_size/2)`` to " +"``round_up_to_power_2(used*3)``. Previously, dict is shrinked only when " +"``used == 0``. Now dict has more chance to be shrinked." +msgstr "" + +#: ../build/NEWS:4752 ../build/NEWS:7648 ../build/NEWS:11898 +msgid "" +"`bpo-29922 `__: Improved error messages " +"in 'async with' when ``__aenter__()`` or ``__aexit__()`` return non-" +"awaitable object." +msgstr "" + +#: ../build/NEWS:4755 ../build/NEWS:7651 ../build/NEWS:11901 +msgid "" +"`bpo-33199 `__: Fix ``ma_version_tag`` " +"in dict implementation is uninitialized when copying from key-sharing dict." +msgstr "" + +#: ../build/NEWS:4758 ../build/NEWS:7822 +msgid "" +"`bpo-33053 `__: When using the -m " +"switch, sys.path[0] is now explicitly expanded as the *starting* working " +"directory, rather than being left as the empty path (which allows imports " +"from the current working directory at the time of the import)" +msgstr "" + +#: ../build/NEWS:4763 +msgid "" +"`bpo-33138 `__: Changed standard error " +"message for non-pickleable and non-copyable types. It now says \"cannot " +"pickle\" instead of \"can't pickle\" or \"cannot serialize\"." +msgstr "" + +#: ../build/NEWS:4767 ../build/NEWS:7827 +msgid "" +"`bpo-33018 `__: Improve consistency of " +"errors raised by ``issubclass()`` when called with a non-class and an " +"abstract base class as the first and second arguments, respectively. Patch " +"by Josh Bronson." +msgstr "" + +#: ../build/NEWS:4771 +msgid "" +"`bpo-33083 `__: ``math.factorial`` no " +"longer accepts arguments that are not int-like. Patch by Pablo Galindo." +msgstr "" + +#: ../build/NEWS:4774 +msgid "" +"`bpo-33041 `__: Added new opcode :opcode:" +"`END_ASYNC_FOR` and fixes the following issues:" +msgstr "" + +#: ../build/NEWS:4777 +msgid "" +"Setting global :exc:`StopAsyncIteration` no longer breaks ``async for`` " +"loops." +msgstr "" + +#: ../build/NEWS:4779 +msgid "Jumping into an ``async for`` loop is now disabled." +msgstr "" + +#: ../build/NEWS:4780 +msgid "Jumping out of an ``async for`` loop no longer corrupts the stack." +msgstr "" + +#: ../build/NEWS:4782 +msgid "" +"`bpo-25750 `__: Fix rare Python crash " +"due to bad refcounting in ``type_getattro()`` if a descriptor deletes itself " +"from the class. Patch by Jeroen Demeyer." +msgstr "" + +#: ../build/NEWS:4786 +msgid "" +"`bpo-33041 `__: Fixed bytecode " +"generation for \"async for\" with a complex target. A StopAsyncIteration " +"raised on assigning or unpacking will be now propagated instead of stopping " +"the iteration." +msgstr "" + +#: ../build/NEWS:4790 ../build/NEWS:7833 ../build/NEWS:12215 +msgid "" +"`bpo-33026 `__: Fixed jumping out of " +"\"with\" block by setting f_lineno." +msgstr "" + +#: ../build/NEWS:4792 ../build/NEWS:7835 +msgid "" +"`bpo-33005 `__: Fix a crash on fork when " +"using a custom memory allocator (ex: using PYTHONMALLOC env var). " +"_PyGILState_Reinit() and _PyInterpreterState_Enable() now use the default " +"RAW memory allocator to allocate a new interpreters mutex on fork." +msgstr "" + +#: ../build/NEWS:4797 ../build/NEWS:7437 +msgid "" +"`bpo-32911 `__: Due to unexpected " +"compatibility issues discovered during downstream beta testing, reverted :" +"issue:`29463`. ``docstring`` field is removed from Module, ClassDef, " +"FunctionDef, and AsyncFunctionDef ast nodes which was added in 3.7a1. " +"Docstring expression is restored as a first statement in their body. Based " +"on patch by Inada Naoki." +msgstr "" + +#: ../build/NEWS:4803 ../build/NEWS:7840 ../build/NEWS:12217 +msgid "" +"`bpo-17288 `__: Prevent jumps from " +"'return' and 'exception' trace events." +msgstr "" + +#: ../build/NEWS:4805 +#, python-format +msgid "" +"`bpo-32946 `__: Importing names from " +"already imported module with \"from ... import ...\" is now 30% faster if " +"the module is not a package." +msgstr "" + +#: ../build/NEWS:4808 +msgid "" +"`bpo-32932 `__: Make error message more " +"revealing when there are non-str objects in ``__all__``." +msgstr "" + +#: ../build/NEWS:4811 +msgid "" +"`bpo-32925 `__: Optimized iterating and " +"containing test for literal lists consisting of non-constants: ``x in [a, " +"b]`` and ``for x in [a, b]``. The case of all constant elements already was " +"optimized." +msgstr "" + +#: ../build/NEWS:4815 ../build/NEWS:8032 ../build/NEWS:12219 +msgid "" +"`bpo-32889 `__: Update Valgrind " +"suppression list to account for the rename of ``Py_ADDRESS_IN_RANG`` to " +"``address_in_range``." +msgstr "" + +#: ../build/NEWS:4818 ../build/NEWS:7842 +msgid "" +"`bpo-32836 `__: Don't use temporary " +"variables in cases of list/dict/set comprehensions" +msgstr "" + +#: ../build/NEWS:4821 ../build/NEWS:8035 +msgid "" +"`bpo-31356 `__: Remove the new API added " +"in `bpo-31356 `__ (gc.ensure_disabled() " +"context manager)." +msgstr "" + +#: ../build/NEWS:4824 ../build/NEWS:8038 +msgid "" +"`bpo-32305 `__: For namespace packages, " +"ensure that both ``__file__`` and ``__spec__.origin`` are set to None." +msgstr "" + +#: ../build/NEWS:4827 ../build/NEWS:8041 +msgid "" +"`bpo-32303 `__: Make sure ``__spec__." +"loader`` matches ``__loader__`` for namespace packages." +msgstr "" + +#: ../build/NEWS:4830 ../build/NEWS:8044 +msgid "" +"`bpo-32711 `__: Fix the warning messages " +"for Python/ast_unparse.c. Patch by Stéphane Wirtel" +msgstr "" + +#: ../build/NEWS:4833 ../build/NEWS:8047 ../build/NEWS:12230 +msgid "" +"`bpo-32583 `__: Fix possible crashing in " +"builtin Unicode decoders caused by write out-of-bound errors when using " +"customized decode error handlers." +msgstr "" + +#: ../build/NEWS:4836 +msgid "" +"`bpo-32489 `__: A :keyword:`continue` " +"statement is now allowed in the :keyword:`finally` clause." +msgstr "" + +#: ../build/NEWS:4839 +msgid "" +"`bpo-17611 `__: Simplified the " +"interpreter loop by moving the logic of unrolling the stack of blocks into " +"the compiler. The compiler emits now explicit instructions for adjusting the " +"stack of values and calling the cleaning up code for :keyword:`break`, :" +"keyword:`continue` and :keyword:`return`." +msgstr "" + +#: ../build/NEWS:4845 +msgid "" +"Removed opcodes :opcode:`BREAK_LOOP`, :opcode:`CONTINUE_LOOP`, :opcode:" +"`SETUP_LOOP` and :opcode:`SETUP_EXCEPT`. Added new opcodes :opcode:" +"`ROT_FOUR`, :opcode:`BEGIN_FINALLY` and :opcode:`CALL_FINALLY` and :opcode:" +"`POP_FINALLY`. Changed the behavior of :opcode:`END_FINALLY` and :opcode:" +"`WITH_CLEANUP_START`." +msgstr "" + +#: ../build/NEWS:4851 +msgid "" +"`bpo-32285 `__: New function unicodedata." +"is_normalized, which can check whether a string is in a specific normal form." +msgstr "" + +#: ../build/NEWS:4854 +msgid "" +"`bpo-10544 `__: Yield expressions are " +"now disallowed in comprehensions and generator expressions except the " +"expression for the outermost iterable." +msgstr "" + +#: ../build/NEWS:4857 +msgid "" +"`bpo-32117 `__: Iterable unpacking is " +"now allowed without parentheses in yield and return statements, e.g. ``yield " +"1, 2, 3, *rest``. Thanks to David Cuthbert for the change and Jordan Chapman " +"for added tests." +msgstr "" + +#: ../build/NEWS:4861 +msgid "" +"`bpo-31902 `__: Fix the ``col_offset`` " +"attribute for ast nodes ``ast.AsyncFor``, ``ast.AsyncFunctionDef``, and " +"``ast.AsyncWith``. Previously, ``col_offset`` pointed to the keyword after " +"``async``." +msgstr "" + +#: ../build/NEWS:4865 +msgid "" +"`bpo-25862 `__: Fix assertion failures " +"in the ``tell()`` method of ``io.TextIOWrapper``. Patch by Zackery Spytz." +msgstr "" + +#: ../build/NEWS:4868 ../build/NEWS:7443 ../build/NEWS:11909 +msgid "" +"`bpo-21983 `__: Fix a crash in `ctypes." +"cast()` in case the type argument is a ctypes structured data type. Patch by " +"Eryk Sun and Oren Milman." +msgstr "" + +#: ../build/NEWS:4871 +msgid "" +"`bpo-31577 `__: Fix a crash in `os." +"utime()` in case of a bad ns argument. Patch by Oren Milman." +msgstr "" + +#: ../build/NEWS:4874 +msgid "" +"`bpo-29832 `__: Remove references to " +"'getsockaddrarg' from various socket error messages. Patch by Oren Milman." +msgstr "" + +#: ../build/NEWS:4880 +msgid "" +"`bpo-35845 `__: Add 'order' parameter to " +"memoryview.tobytes()." +msgstr "" + +#: ../build/NEWS:4882 +msgid "" +"`bpo-35864 `__: The _asdict() method for " +"collections.namedtuple now returns a regular dict instead of an OrderedDict." +msgstr "" + +#: ../build/NEWS:4885 +msgid "" +"`bpo-35537 `__: An ExitStack is now used " +"internally within subprocess.POpen to clean up pipe file handles. No " +"behavior change in normal operation. But if closing one handle were ever to " +"cause an exception, the others will now be closed instead of leaked. (patch " +"by Giampaolo Rodola)" +msgstr "" + +#: ../build/NEWS:4890 +msgid "" +"`bpo-35847 `__: RISC-V needed the " +"CTYPES_PASS_BY_REF_HACK. Fixes ctypes Structure test_pass_by_value." +msgstr "" + +#: ../build/NEWS:4893 +msgid "" +"`bpo-35813 `__: Shared memory submodule " +"added to multiprocessing to avoid need for serialization between processes" +msgstr "" + +#: ../build/NEWS:4896 +msgid "" +"`bpo-35780 `__: Fix lru_cache() errors " +"arising in recursive, reentrant, or multi-threaded code. These errors could " +"result in orphan links and in the cache being trapped in a state with fewer " +"than the specified maximum number of links. Fix handling of negative maxsize " +"which should have been treated as zero. Fix errors in toggling the \"full\" " +"status flag. Fix misordering of links when errors are encountered. Sync-up " +"the C code and pure Python code for the space saving path in functions with " +"a single positional argument. In this common case, the space overhead of an " +"lru cache entry is reduced by almost half. Fix counting of cache misses. In " +"error cases, the miss count was out of sync with the actual number of times " +"the underlying user function was called." +msgstr "" + +#: ../build/NEWS:4908 +msgid "" +"`bpo-35537 `__: :func:`os.posix_spawn` " +"and :func:`os.posix_spawnp` now have a *setsid* parameter." +msgstr "" + +#: ../build/NEWS:4911 +msgid "" +"`bpo-23846 `__: :class:`asyncio." +"ProactorEventLoop` now catches and logs send errors when the self-pipe is " +"full." +msgstr "" + +#: ../build/NEWS:4914 +msgid "" +"`bpo-34323 `__: :mod:`asyncio`: Enhance " +"``IocpProactor.close()`` log: wait 1 second before the first log, then log " +"every second. Log also the number of seconds since ``close()`` was called." +msgstr "" + +#: ../build/NEWS:4918 +msgid "" +"`bpo-35674 `__: Add a new :func:`os." +"posix_spawnp` function. Patch by Joannah Nanjekye." +msgstr "" + +#: ../build/NEWS:4921 +msgid "" +"`bpo-35733 `__: ``ast." +"Constant(boolean)`` no longer an instance of :class:`ast.Num`. Patch by " +"Anthony Sottile." +msgstr "" + +#: ../build/NEWS:4924 +msgid "" +"`bpo-35726 `__: QueueHandler.prepare() " +"now makes a copy of the record before modifying and enqueueing it, to avoid " +"affecting other handlers in the chain." +msgstr "" + +#: ../build/NEWS:4928 +msgid "" +"`bpo-35719 `__: Sped up multi-argument :" +"mod:`math` functions atan2(), copysign(), remainder() and hypot() by " +"1.3--2.5 times." +msgstr "" + +#: ../build/NEWS:4931 +msgid "" +"`bpo-35717 `__: Fix KeyError exception " +"raised when using enums and compile. Patch contributed by Rémi Lapeyre." +msgstr "" + +#: ../build/NEWS:4934 +msgid "" +"`bpo-35699 `__: Fixed detection of " +"Visual Studio Build Tools 2017 in distutils" +msgstr "" + +#: ../build/NEWS:4936 +msgid "" +"`bpo-32710 `__: Fix memory leaks in " +"asyncio ProactorEventLoop on overlapped operation failure." +msgstr "" + +#: ../build/NEWS:4939 +msgid "" +"`bpo-35702 `__: The :data:`time." +"CLOCK_UPTIME_RAW` constant is now available for macOS 10.12." +msgstr "" + +#: ../build/NEWS:4942 +msgid "" +"`bpo-32710 `__: Fix a memory leak in " +"asyncio in the ProactorEventLoop when ``ReadFile()`` or ``WSASend()`` " +"overlapped operation fail immediately: release the internal buffer." +msgstr "" + +#: ../build/NEWS:4946 +msgid "" +"`bpo-35682 `__: Fix ``asyncio." +"ProactorEventLoop.sendfile()``: don't attempt to set the result of an " +"internal future if it's already done." +msgstr "" + +#: ../build/NEWS:4949 +msgid "" +"`bpo-35283 `__: Add a deprecated warning " +"for the :meth:`threading.Thread.isAlive` method. Patch by Dong-hee Na." +msgstr "" + +#: ../build/NEWS:4952 +msgid "" +"`bpo-35664 `__: Improve operator." +"itemgetter() performance by 33% with optimized argument handling and with " +"adding a fast path for the common case of a single non-negative integer " +"index into a tuple (which is the typical use case in the standard library)." +msgstr "" + +#: ../build/NEWS:4957 +msgid "" +"`bpo-35643 `__: Fixed a SyntaxWarning: " +"invalid escape sequence in Modules/_sha3/cleanup.py. Patch by Mickaël " +"Schoentgen." +msgstr "" + +#: ../build/NEWS:4960 +msgid "" +"`bpo-35619 `__: Improved support of " +"custom data descriptors in :func:`help` and :mod:`pydoc`." +msgstr "" + +#: ../build/NEWS:4963 +msgid "" +"`bpo-28503 `__: The `crypt` module now " +"internally uses the `crypt_r()` library function instead of `crypt()` when " +"available." +msgstr "" + +#: ../build/NEWS:4966 +msgid "" +"`bpo-35614 `__: Fixed help() on " +"metaclasses. Patch by Sanyam Khurana." +msgstr "" + +#: ../build/NEWS:4968 +msgid "" +"`bpo-35568 `__: Expose ``raise(signum)`` " +"as `raise_signal`" +msgstr "" + +#: ../build/NEWS:4970 +msgid "" +"`bpo-35588 `__: The floor division and " +"modulo operations and the :func:`divmod` function on :class:`fractions." +"Fraction` types are 2--4x faster. Patch by Stefan Behnel." +msgstr "" + +#: ../build/NEWS:4974 +msgid "" +"`bpo-35585 `__: Speed-up building enums " +"by value, e.g. http.HTTPStatus(200)." +msgstr "" + +#: ../build/NEWS:4976 +msgid "" +"`bpo-30561 `__: random.gammavariate(1.0, " +"beta) now computes the same result as random.expovariate(1.0 / beta). This " +"synchonizes the two algorithms and eliminates some idiosyncrasies in the old " +"implementation. It does however produce a difference stream of random " +"variables than it used to." +msgstr "" + +#: ../build/NEWS:4981 +msgid "" +"`bpo-35537 `__: The :mod:`subprocess` " +"module can now use the :func:`os.posix_spawn` function in some cases for " +"better performance." +msgstr "" + +#: ../build/NEWS:4984 +msgid "" +"`bpo-35526 `__: Delaying the 'joke' of " +"barry_as_FLUFL.mandatory to Python version 4.0" +msgstr "" + +#: ../build/NEWS:4987 +msgid "" +"`bpo-35523 `__: Remove :mod:`ctypes` " +"callback workaround: no longer create a callback at startup. Avoid SELinux " +"alert on ``import ctypes`` and ``import uuid``." +msgstr "" + +#: ../build/NEWS:4991 +msgid "" +"`bpo-31784 `__: :func:`uuid.uuid1` now " +"calls :func:`time.time_ns` rather than ``int(time.time() * 1e9)``." +msgstr "" + +#: ../build/NEWS:4994 +msgid "" +"`bpo-35513 `__: :class:`~unittest.runner." +"TextTestRunner` of :mod:`unittest.runner` now uses :func:`time.perf_counter` " +"rather than :func:`time.time` to measure the execution time of a test: :func:" +"`time.time` can go backwards, whereas :func:`time.perf_counter` is monotonic." +msgstr "" + +#: ../build/NEWS:5000 +msgid "" +"`bpo-35502 `__: Fixed reference leaks " +"in :class:`xml.etree.ElementTree.TreeBuilder` in case of unfinished building " +"of the tree (in particular when an error was raised during parsing XML)." +msgstr "" + +#: ../build/NEWS:5004 +msgid "" +"`bpo-35348 `__: Make :func:`platform." +"architecture` parsing of ``file`` command output more reliable: add the ``-" +"b`` option to the ``file`` command to omit the filename, force the usage of " +"the C locale, and search also the \"shared object\" pattern." +msgstr "" + +#: ../build/NEWS:5009 +msgid "" +"`bpo-35491 `__: :mod:`multiprocessing`: " +"Add ``Pool.__repr__()`` and enhance ``BaseProcess.__repr__()`` (add pid and " +"parent pid) to ease debugging. Pool state constant values are now strings " +"instead of integers, for example ``RUN`` value becomes ``'RUN'`` instead of " +"``0``." +msgstr "" + +#: ../build/NEWS:5014 +msgid "" +"`bpo-35477 `__: :meth:`multiprocessing." +"Pool.__enter__` now fails if the pool is not running: ``with pool:`` fails " +"if used more than once." +msgstr "" + +#: ../build/NEWS:5017 +msgid "" +"`bpo-31446 `__: Copy command line that " +"was passed to CreateProcessW since this function can change the content of " +"the input buffer." +msgstr "" + +#: ../build/NEWS:5020 +msgid "" +"`bpo-35471 `__: Python 2.4 dropped MacOS " +"9 support. The macpath module was deprecated in Python 3.7. The module is " +"now removed." +msgstr "" + +#: ../build/NEWS:5023 +msgid "" +"`bpo-23057 `__: Unblock Proactor event " +"loop when keyboard interrupt is received on Windows" +msgstr "" + +#: ../build/NEWS:5026 +msgid "" +"`bpo-35052 `__: Fix xml.dom.minidom " +"cloneNode() on a document with an entity: pass the correct arguments to the " +"user data handler of an entity." +msgstr "" + +#: ../build/NEWS:5029 +msgid "" +"`bpo-20239 `__: Allow repeated " +"assignment deletion of :class:`unittest.mock.Mock` attributes. Patch by " +"Pablo Galindo." +msgstr "" + +#: ../build/NEWS:5032 +msgid "" +"`bpo-17185 `__: Set ``__signature__`` on " +"mock for :mod:`inspect` to get signature. Patch by Karthikeyan Singaravelan." +msgstr "" + +#: ../build/NEWS:5035 +msgid "" +"`bpo-35445 `__: Memory errors during " +"creating posix.environ no longer ignored." +msgstr "" + +#: ../build/NEWS:5037 +msgid "" +"`bpo-35415 `__: Validate fileno= " +"argument to socket.socket()." +msgstr "" + +#: ../build/NEWS:5039 +msgid "" +"`bpo-35424 `__: :class:`multiprocessing." +"Pool` destructor now emits :exc:`ResourceWarning` if the pool is still " +"running." +msgstr "" + +#: ../build/NEWS:5042 +msgid "" +"`bpo-35330 `__: When a :class:`Mock` " +"instance was used to wrap an object, if `side_effect` is used in one of the " +"mocks of it methods, don't call the original implementation and return the " +"result of using the side effect the same way that it is done with " +"return_value." +msgstr "" + +#: ../build/NEWS:5047 +msgid "" +"`bpo-35346 `__: Drop Mac OS 9 and " +"Rhapsody support from the :mod:`platform` module. Rhapsody last release was " +"in 2000. Mac OS 9 last release was in 2001." +msgstr "" + +#: ../build/NEWS:5051 +msgid "" +"`bpo-10496 `__: :func:`~distutils.utils." +"check_environ` of :mod:`distutils.utils` now catches :exc:`KeyError` on " +"calling :func:`pwd.getpwuid`: don't create the ``HOME`` environment variable " +"in this case." +msgstr "" + +#: ../build/NEWS:5056 +msgid "" +"`bpo-10496 `__: :func:`posixpath." +"expanduser` now returns the input *path* unchanged if the ``HOME`` " +"environment variable is not set and the current user has no home directory " +"(if the current user identifier doesn't exist in the password database). " +"This change fix the :mod:`site` module if the current user doesn't exist in " +"the password database (if the user has no home directory)." +msgstr "" + +#: ../build/NEWS:5063 +msgid "" +"`bpo-35389 `__: :func:`platform." +"libc_ver` now uses ``os.confstr('CS_GNU_LIBC_VERSION')`` if available and " +"the *executable* parameter is not set." +msgstr "" + +#: ../build/NEWS:5067 +msgid "" +"`bpo-35394 `__: Add empty slots to " +"asyncio abstract protocols." +msgstr "" + +#: ../build/NEWS:5069 +msgid "" +"`bpo-35310 `__: Fix a bug in :func:" +"`select.select` where, in some cases, the file descriptor sequences were " +"returned unmodified after a signal interruption, even though the file " +"descriptors might not be ready yet. :func:`select.select` will now always " +"return empty lists if a timeout has occurred. Patch by Oran Avraham." +msgstr "" + +#: ../build/NEWS:5075 +msgid "" +"`bpo-35380 `__: Enable TCP_NODELAY on " +"Windows for proactor asyncio event loop." +msgstr "" + +#: ../build/NEWS:5077 +msgid "" +"`bpo-35341 `__: Add generic version of " +"``collections.OrderedDict`` to the ``typing`` module. Patch by Ismo Toijala." +msgstr "" + +#: ../build/NEWS:5080 +msgid "" +"`bpo-35371 `__: Fixed possible crash in " +"``os.utime()`` on Windows when pass incorrect arguments." +msgstr "" + +#: ../build/NEWS:5083 +msgid "" +"`bpo-35346 `__: :func:`platform.uname` " +"now redirects ``stderr`` to :data:`os.devnull` when running external " +"programs like ``cmd /c ver``." +msgstr "" + +#: ../build/NEWS:5086 +msgid "" +"`bpo-35066 `__: Previously, calling the " +"strftime() method on a datetime object with a trailing '%' in the format " +"string would result in an exception. However, this only occurred when the " +"datetime C module was being used; the python implementation did not match " +"this behavior. Datetime is now PEP-399 compliant, and will not throw an " +"exception on a trailing '%'." +msgstr "" + +#: ../build/NEWS:5092 +msgid "" +"`bpo-35345 `__: The function `platform." +"popen` has been removed, it was deprecated since Python 3.3: use :func:`os." +"popen` instead." +msgstr "" + +#: ../build/NEWS:5095 +msgid "" +"`bpo-35344 `__: On macOS, :func:" +"`platform.platform` now uses :func:`platform.mac_ver`, if it returns a non-" +"empty release string, to get the macOS version rather than the darwin " +"version." +msgstr "" + +#: ../build/NEWS:5099 +msgid "" +"`bpo-35312 `__: Make ``lib2to3.pgen2." +"parse.ParseError`` round-trip pickle-able. Patch by Anthony Sottile." +msgstr "" + +#: ../build/NEWS:5102 +msgid "" +"`bpo-35308 `__: Fix regression in " +"``webbrowser`` where default browsers may be preferred over browsers in the " +"``BROWSER`` environment variable." +msgstr "" + +#: ../build/NEWS:5105 +msgid "" +"`bpo-24746 `__: Avoid stripping trailing " +"whitespace in doctest fancy diff. Original patch by R. David Murray & Jairo " +"Trad. Enhanced by Sanyam Khurana." +msgstr "" + +#: ../build/NEWS:5109 +msgid "" +"`bpo-28604 `__: :func:`locale." +"localeconv` now sets temporarily the ``LC_CTYPE`` locale to the " +"``LC_MONETARY`` locale if the two locales are different and monetary strings " +"are non-ASCII. This temporary change affects other threads." +msgstr "" + +#: ../build/NEWS:5114 +msgid "" +"`bpo-35277 `__: Update ensurepip to " +"install pip 18.1 and setuptools 40.6.2." +msgstr "" + +#: ../build/NEWS:5116 +msgid "" +"`bpo-24209 `__: Adds IPv6 support when " +"invoking http.server directly." +msgstr "" + +#: ../build/NEWS:5118 +msgid "" +"`bpo-35226 `__: Recursively check " +"arguments when testing for equality of :class:`unittest.mock.call` objects " +"and add note that tracking of parameters used to create ancestors of mocks " +"in ``mock_calls`` is not possible." +msgstr "" + +#: ../build/NEWS:5123 +msgid "" +"`bpo-29564 `__: The warnings module now " +"suggests to enable tracemalloc if the source is specified, the tracemalloc " +"module is available, but tracemalloc is not tracing memory allocations." +msgstr "" + +#: ../build/NEWS:5127 +msgid "" +"`bpo-35189 `__: Modify the following " +"fnctl function to retry if interrupted by a signal (EINTR): flock, lockf, " +"fnctl" +msgstr "" + +#: ../build/NEWS:5130 +msgid "" +"`bpo-30064 `__: Use add_done_callback() " +"in sock_* asyncio API to unsubscribe reader/writer early on calcellation." +msgstr "" + +#: ../build/NEWS:5133 +msgid "" +"`bpo-35186 `__: Removed the \"built with" +"\" comment added when ``setup.py upload`` is used with either ``bdist_rpm`` " +"or ``bdist_dumb``." +msgstr "" + +#: ../build/NEWS:5136 +msgid "" +"`bpo-35152 `__: Allow sending more than " +"2 GB at once on a multiprocessing connection on non-Windows systems." +msgstr "" + +#: ../build/NEWS:5139 +msgid "" +"`bpo-35062 `__: Fix incorrect parsing " +"of :class:`_io.IncrementalNewlineDecoder`'s *translate* argument." +msgstr "" + +#: ../build/NEWS:5142 +msgid "" +"`bpo-35065 `__: Remove " +"`StreamReaderProtocol._untrack_reader`. The call to `_untrack_reader` is " +"currently performed too soon, causing the protocol to forget about the " +"reader before `connection_lost` can run and feed the EOF to the reader." +msgstr "" + +#: ../build/NEWS:5147 +msgid "" +"`bpo-34160 `__: ElementTree and minidom " +"now preserve the attribute order specified by the user." +msgstr "" + +#: ../build/NEWS:5150 +msgid "" +"`bpo-35079 `__: Improve difflib." +"SequenceManager.get_matching_blocks doc by adding 'non-overlapping' and " +"changing '!=' to '<'." +msgstr "" + +#: ../build/NEWS:5153 +msgid "" +"`bpo-33710 `__: Deprecated " +"``l*gettext()`` functions and methods in the :mod:`gettext` module. They " +"return encoded bytes instead of Unicode strings and are artifacts from " +"Python 2 times. Also deprecated functions and methods related to setting the " +"charset for ``l*gettext()`` functions and methods." +msgstr "" + +#: ../build/NEWS:5159 +msgid "" +"`bpo-35017 `__: :meth:`socketserver." +"BaseServer.serve_forever` now exits immediately if it's :meth:`~socketserver." +"BaseServer.shutdown` method is called while it is polling for new events." +msgstr "" + +#: ../build/NEWS:5163 +msgid "" +"`bpo-35024 `__: `importlib` no longer " +"logs `wrote ` redundantly after `(created|could not create) " +"` is already logged. Patch by Quentin Agren." +msgstr "" + +#: ../build/NEWS:5167 +msgid "" +"`bpo-35047 `__: ``unittest.mock`` now " +"includes mock calls in exception messages if ``assert_not_called``, " +"``assert_called_once``, or ``assert_called_once_with`` fails. Patch by " +"Petter Strandmark." +msgstr "" + +#: ../build/NEWS:5171 +msgid "" +"`bpo-31047 `__: Fix ``ntpath.abspath`` " +"regression where it didn't remove a trailing separator on Windows. Patch by " +"Tim Graham." +msgstr "" + +#: ../build/NEWS:5174 +msgid "" +"`bpo-35053 `__: tracemalloc now tries to " +"update the traceback when an object is reused from a \"free list" +"\" (optimization for faster object creation, used by the builtin list type " +"for example)." +msgstr "" + +#: ../build/NEWS:5178 +msgid "" +"`bpo-31553 `__: Add the --json-lines " +"option to json.tool. Patch by hongweipeng." +msgstr "" + +#: ../build/NEWS:5180 +msgid "" +"`bpo-34794 `__: Fixed a leak in Tkinter " +"when pass the Python wrapper around Tcl_Obj back to Tcl/Tk." +msgstr "" + +#: ../build/NEWS:5183 +msgid "" +"`bpo-34909 `__: Enum: fix grandchildren " +"subclassing when parent mixed with concrete data types." +msgstr "" + +#: ../build/NEWS:5186 +msgid "" +"`bpo-35022 `__: :class:`unittest.mock." +"MagicMock` now supports the ``__fspath__`` method (from :class:`os." +"PathLike`)." +msgstr "" + +#: ../build/NEWS:5189 +msgid "" +"`bpo-35008 `__: Fixed references leaks " +"when call the ``__setstate__()`` method of :class:`xml.etree.ElementTree." +"Element` in the C implementation for already initialized element." +msgstr "" + +#: ../build/NEWS:5193 +msgid "" +"`bpo-23420 `__: Verify the value for the " +"parameter '-s' of the cProfile CLI. Patch by Robert Kuska" +msgstr "" + +#: ../build/NEWS:5196 +msgid "" +"`bpo-33947 `__: dataclasses now handle " +"recursive reprs without raising RecursionError." +msgstr "" + +#: ../build/NEWS:5199 +msgid "" +"`bpo-34890 `__: Make :func:`inspect." +"iscoroutinefunction`, :func:`inspect.isgeneratorfunction` and :func:`inspect." +"isasyncgenfunction` work with :func:`functools.partial`. Patch by Pablo " +"Galindo." +msgstr "" + +#: ../build/NEWS:5203 +msgid "" +"`bpo-34521 `__: Use :func:`socket." +"CMSG_SPACE` to calculate ancillary data size instead of :func:`socket." +"CMSG_LEN` in :func:`multiprocessing.reduction.recvfds` as :rfc:`3542` " +"requires the use of the former for portable applications." +msgstr "" + +#: ../build/NEWS:5208 +msgid "" +"`bpo-31522 `__: The `mailbox.mbox." +"get_string` function *from_* parameter can now successfully be set to a non-" +"default value." +msgstr "" + +#: ../build/NEWS:5211 +msgid "" +"`bpo-34970 `__: Protect tasks weak set " +"manipulation in ``asyncio.all_tasks()``" +msgstr "" + +#: ../build/NEWS:5213 +msgid "" +"`bpo-34969 `__: gzip: Add --fast, --best " +"on the gzip CLI, these parameters will be used for the fast compression " +"method (quick) or the best method compress (slower, but smaller file). Also, " +"change the default compression level to 6 (tradeoff)." +msgstr "" + +#: ../build/NEWS:5218 +msgid "" +"`bpo-16965 `__: The :term:" +"`2to3` :2to3fixer:`execfile` fixer now opens the file with mode ``'rb'``. " +"Patch by Zackery Spytz." +msgstr "" + +#: ../build/NEWS:5221 +msgid "" +"`bpo-34966 `__: :mod:`pydoc` now " +"supports aliases not only to methods defined in the end class, but also to " +"inherited methods. The docstring is not duplicated for aliases." +msgstr "" + +#: ../build/NEWS:5225 +msgid "" +"`bpo-34926 `__: :meth:`mimetypes." +"MimeTypes.guess_type` now accepts :term:`path-like object` in addition to " +"url strings. Patch by Mayank Asthana." +msgstr "" + +#: ../build/NEWS:5229 +msgid "" +"`bpo-23831 `__: Add ``moveto()`` method " +"to the ``tkinter.Canvas`` widget. Patch by Juliette Monsel." +msgstr "" + +#: ../build/NEWS:5232 +msgid "" +"`bpo-34941 `__: Methods ``find()``, " +"``findtext()`` and ``findall()`` of the ``Element`` class in the :mod:`xml." +"etree.ElementTree` module are now able to find children which are instances " +"of ``Element`` subclasses." +msgstr "" + +#: ../build/NEWS:5236 +msgid "" +"`bpo-32680 `__: :class:`smtplib.SMTP` " +"objects now always have a `sock` attribute present" +msgstr "" + +#: ../build/NEWS:5239 +msgid "" +"`bpo-34769 `__: Fix for async generators " +"not finalizing when event loop is in debug mode and garbage collector runs " +"in another thread." +msgstr "" + +#: ../build/NEWS:5242 +msgid "" +"`bpo-34936 `__: Fix ``TclError`` in " +"``tkinter.Spinbox.selection_element()``. Patch by Juliette Monsel." +msgstr "" + +#: ../build/NEWS:5245 +msgid "" +"`bpo-34829 `__: Add methods " +"``selection_from``, ``selection_range``, ``selection_present`` and " +"``selection_to`` to the ``tkinter.Spinbox`` for consistency with the " +"``tkinter.Entry`` widget. Patch by Juliette Monsel." +msgstr "" + +#: ../build/NEWS:5249 +msgid "" +"`bpo-34911 `__: Added *secure_protocols* " +"argument to *http.cookiejar.DefaultCookiePolicy* to allow for tweaking of " +"protocols and also to add support by default for *wss*, the secure websocket " +"protocol." +msgstr "" + +#: ../build/NEWS:5254 +msgid "" +"`bpo-34922 `__: Fixed integer overflow " +"in the :meth:`~hashlib.shake.digest()` and :meth:`~hashlib.shake." +"hexdigest()` methods for the SHAKE algorithm in the :mod:`hashlib` module." +msgstr "" + +#: ../build/NEWS:5258 +#, python-format +msgid "" +"`bpo-34925 `__: 25% speedup in argument " +"parsing for the functions in the bisect module." +msgstr "" + +#: ../build/NEWS:5261 +msgid "" +"`bpo-34900 `__: Fixed :meth:`unittest." +"TestCase.debug` when used to call test methods with subtests. Patch by " +"Bruno Oliveira." +msgstr "" + +#: ../build/NEWS:5264 +msgid "" +"`bpo-34844 `__: logging.Formatter " +"enhancement - Ensure styles and fmt matches in logging.Formatter - Added " +"validate method in each format style class: StrFormatStyle, PercentStyle, " +"StringTemplateStyle. - This method is called in the constructor of logging." +"Formatter class - Also re-raise the KeyError in the format method of each " +"style class, so it would a bit clear that it's an error with the invalid " +"format fields." +msgstr "" + +#: ../build/NEWS:5271 +msgid "" +"`bpo-34897 `__: Adjust test.support." +"missing_compiler_executable check so that a nominal command name of \"\" is " +"ignored. Patch by Michael Felt." +msgstr "" + +#: ../build/NEWS:5274 +msgid "" +"`bpo-34871 `__: Fix inspect module " +"polluted ``sys.modules`` when parsing ``__text_signature__`` of callable." +msgstr "" + +#: ../build/NEWS:5277 +msgid "" +"`bpo-34898 `__: Add `mtime` argument to " +"`gzip.compress` for reproducible output. Patch by Guo Ci Teo." +msgstr "" + +#: ../build/NEWS:5280 +msgid "" +"`bpo-28441 `__: On Cygwin and MinGW, " +"ensure that ``sys.executable`` always includes the full filename in the " +"path, including the ``.exe`` suffix (unless it is a symbolic link)." +msgstr "" + +#: ../build/NEWS:5284 +msgid "" +"`bpo-34866 `__: Adding " +"``max_num_fields`` to ``cgi.FieldStorage`` to make DOS attacks harder by " +"limiting the number of ``MiniFieldStorage`` objects created by " +"``FieldStorage``." +msgstr "" + +#: ../build/NEWS:5288 +msgid "" +"`bpo-34711 `__: http.server ensures it " +"reports HTTPStatus.NOT_FOUND when the local path ends with \"/\" and is not " +"a directory, even if the underlying OS (e.g. AIX) accepts such paths as a " +"valid file reference. Patch by Michael Felt." +msgstr "" + +#: ../build/NEWS:5293 +msgid "" +"`bpo-34872 `__: Fix self-cancellation in " +"C implementation of asyncio.Task" +msgstr "" + +#: ../build/NEWS:5295 +msgid "" +"`bpo-34849 `__: Don't log waiting for " +"``selector.select`` in asyncio loop iteration. The waiting is pretty normal " +"for any asyncio program, logging its time just adds a noise to logs without " +"any useful information provided." +msgstr "" + +#: ../build/NEWS:5300 +msgid "" +"`bpo-34022 `__: The :envvar:" +"`SOURCE_DATE_EPOCH` environment variable no longer overrides the value of " +"the *invalidation_mode* argument to :func:`py_compile.compile`, and " +"determines its default value instead." +msgstr "" + +#: ../build/NEWS:5304 +msgid "" +"`bpo-34819 `__: Use a monotonic clock to " +"compute timeouts in :meth:`Executor.map` and :func:`as_completed`, in order " +"to prevent timeouts from deviating when the system clock is adjusted." +msgstr "" + +#: ../build/NEWS:5308 +msgid "" +"`bpo-34758 `__: Add .wasm -> application/" +"wasm to list of recognized file types and content type headers" +msgstr "" + +#: ../build/NEWS:5311 +msgid "" +"`bpo-34789 `__: :func:`xml.sax." +"make_parser` now accepts any iterable as its *parser_list* argument. Patch " +"by Andrés Delfino." +msgstr "" + +#: ../build/NEWS:5314 +msgid "" +"`bpo-34334 `__: In :class:" +"`QueueHandler`, clear `exc_text` from :class:`LogRecord` to prevent " +"traceback from being written twice." +msgstr "" + +#: ../build/NEWS:5317 +msgid "" +"`bpo-34687 `__: On Windows, asyncio now " +"uses ProactorEventLoop, instead of SelectorEventLoop, by default." +msgstr "" + +#: ../build/NEWS:5320 +msgid "" +"`bpo-5950 `__: Support reading zip files " +"with archive comments in :mod:`zipimport`." +msgstr "" + +#: ../build/NEWS:5323 +msgid "" +"`bpo-32892 `__: The parser now " +"represents all constants as :class:`ast.Constant` instead of using specific " +"constant AST types (``Num``, ``Str``, ``Bytes``, ``NameConstant`` and " +"``Ellipsis``). These classes are considered deprecated and will be removed " +"in future Python versions." +msgstr "" + +#: ../build/NEWS:5329 +msgid "" +"`bpo-34728 `__: Add deprecation warning " +"when `loop` is used in methods: `asyncio.sleep`, `asyncio.wait` and `asyncio." +"wait_for`." +msgstr "" + +#: ../build/NEWS:5332 +msgid "" +"`bpo-34738 `__: ZIP files created by :" +"mod:`distutils` will now include entries for directories." +msgstr "" + +#: ../build/NEWS:5335 +msgid "" +"`bpo-34659 `__: Add an optional " +"*initial* argument to itertools.accumulate()." +msgstr "" + +#: ../build/NEWS:5337 +msgid "" +"`bpo-29577 `__: Support multiple mixin " +"classes when creating Enums." +msgstr "" + +#: ../build/NEWS:5339 +msgid "" +"`bpo-34670 `__: Add SSLContext." +"post_handshake_auth and SSLSocket.verify_client_post_handshake for TLS 1.3's " +"post handshake authentication feature." +msgstr "" + +#: ../build/NEWS:5343 +msgid "" +"`bpo-32718 `__: The Activate.ps1 script " +"from venv works with PowerShell Core 6.1 and is now available under all " +"operating systems." +msgstr "" + +#: ../build/NEWS:5346 +msgid "" +"`bpo-31177 `__: Fix bug that prevented " +"using :meth:`reset_mock ` on mock instances " +"with deleted attributes" +msgstr "" + +#: ../build/NEWS:5349 +msgid "" +"`bpo-34672 `__: Add a workaround, so the " +"``'Z'`` :func:`time.strftime` specifier on the musl C library can work in " +"some cases." +msgstr "" + +#: ../build/NEWS:5352 +msgid "" +"`bpo-34666 `__: Implement ``asyncio." +"StreamWriter.awrite`` and ``asyncio.StreamWriter.aclose()`` coroutines. " +"Methods are needed for providing a consistent stream API with control flow " +"switched on by default." +msgstr "" + +#: ../build/NEWS:5357 +msgid "" +"`bpo-6721 `__: Acquire the logging " +"module's commonly used internal locks while fork()ing to avoid deadlocks in " +"the child process." +msgstr "" + +#: ../build/NEWS:5360 +msgid "" +"`bpo-34658 `__: Fix a rare interpreter " +"unhandled exception state SystemError only seen when using subprocess with a " +"preexec_fn while an after_parent handler has been registered with os." +"register_at_fork and the fork system call fails." +msgstr "" + +#: ../build/NEWS:5365 +msgid "" +"`bpo-34652 `__: Ensure :func:`os.lchmod` " +"is never defined on Linux." +msgstr "" + +#: ../build/NEWS:5367 +msgid "" +"`bpo-34638 `__: Store a weak reference " +"to stream reader to break strong references loop between reader and " +"protocol. It allows to detect and close the socket if the stream is deleted " +"(garbage collected) without ``close()`` call." +msgstr "" + +#: ../build/NEWS:5372 +msgid "" +"`bpo-34536 `__: `Enum._missing_`: raise " +"`ValueError` if None returned and `TypeError` if non-member is returned." +msgstr "" + +#: ../build/NEWS:5375 +msgid "" +"`bpo-34636 `__: Speed up re scanning of " +"many non-matching characters for \\s \\w and \\d within bytes objects. " +"(microoptimization)" +msgstr "" + +#: ../build/NEWS:5378 +msgid "" +"`bpo-24412 `__: Add :func:`~unittest." +"addModuleCleanup()` and :meth:`~unittest.TestCase.addClassCleanup()` to " +"unittest to support cleanups for :func:`~unittest.setUpModule()` and :meth:" +"`~unittest.TestCase.setUpClass()`. Patch by Lisa Roach." +msgstr "" + +#: ../build/NEWS:5383 +msgid "" +"`bpo-34630 `__: Don't log SSL " +"certificate errors in asyncio code (connection error logging is skipped " +"already)." +msgstr "" + +#: ../build/NEWS:5386 +msgid "" +"`bpo-32490 `__: Prevent filename " +"duplication in :mod:`subprocess` exception messages. Patch by Zackery Spytz." +msgstr "" + +#: ../build/NEWS:5389 +msgid "" +"`bpo-34363 `__: dataclasses.asdict() " +"and .astuple() now handle namedtuples correctly." +msgstr "" + +#: ../build/NEWS:5392 +msgid "" +"`bpo-34625 `__: Update vendorized expat " +"library version to 2.2.6." +msgstr "" + +#: ../build/NEWS:5394 +msgid "" +"`bpo-32270 `__: The subprocess module no " +"longer mistakenly closes redirected fds even when they were in pass_fds when " +"outside of the default {0, 1, 2} set." +msgstr "" + +#: ../build/NEWS:5398 +msgid "" +"`bpo-34622 `__: Create a dedicated " +"``asyncio.CancelledError``, ``asyncio.InvalidStateError`` and ``asyncio." +"TimeoutError`` exception classes. Inherit them from corresponding " +"exceptions from ``concurrent.futures`` package. Extract ``asyncio`` " +"exceptions into a separate file." +msgstr "" + +#: ../build/NEWS:5404 +msgid "" +"`bpo-34610 `__: Fixed iterator of :class:" +"`multiprocessing.managers.DictProxy`." +msgstr "" + +#: ../build/NEWS:5406 +msgid "" +"`bpo-34421 `__: Fix distutils logging " +"for non-ASCII strings. This caused installation issues on Windows." +msgstr "" + +#: ../build/NEWS:5409 +msgid "" +"`bpo-34604 `__: Fix possible mojibake in " +"the error message of `pwd.getpwnam` and `grp.getgrnam` using string " +"representation because of invisible characters or trailing whitespaces. " +"Patch by William Grzybowski." +msgstr "" + +#: ../build/NEWS:5413 +msgid "" +"`bpo-30977 `__: Make uuid.UUID use " +"``__slots__`` to reduce its memory footprint. Based on original patch by " +"Wouter Bolsterlee." +msgstr "" + +#: ../build/NEWS:5416 +msgid "" +"`bpo-34574 `__: OrderedDict iterators " +"are not exhausted during pickling anymore. Patch by Sergey Fedoseev." +msgstr "" + +#: ../build/NEWS:5419 +msgid "" +"`bpo-8110 `__: Refactored :mod:" +"`subprocess` to check for Windows-specific modules rather than ``sys." +"platform == 'win32'``." +msgstr "" + +#: ../build/NEWS:5422 +msgid "" +"`bpo-34530 `__: ``distutils.spawn." +"find_executable()`` now falls back on :data:`os.defpath` if the ``PATH`` " +"environment variable is not set." +msgstr "" + +#: ../build/NEWS:5425 +msgid "" +"`bpo-34563 `__: On Windows, fix " +"multiprocessing.Connection for very large read: fix _winapi.PeekNamedPipe() " +"and _winapi.ReadFile() for read larger than INT_MAX (usually 2^31-1)." +msgstr "" + +#: ../build/NEWS:5429 +msgid "" +"`bpo-34558 `__: Correct typo in Lib/" +"ctypes/_aix.py" +msgstr "" + +#: ../build/NEWS:5431 +msgid "" +"`bpo-34282 `__: Move ``Enum._convert`` " +"to ``EnumMeta._convert_`` and fix enum members getting shadowed by parent " +"attributes." +msgstr "" + +#: ../build/NEWS:5434 +msgid "" +"`bpo-22872 `__: When the queue is " +"closed, :exc:`ValueError` is now raised by :meth:`multiprocessing.Queue.put` " +"and :meth:`multiprocessing.Queue.get` instead of :exc:`AssertionError` and :" +"exc:`OSError`, respectively. Patch by Zackery Spytz." +msgstr "" + +#: ../build/NEWS:5439 +msgid "" +"`bpo-34515 `__: Fix parsing non-ASCII " +"identifiers in :mod:`lib2to3.pgen2.tokenize` (PEP 3131)." +msgstr "" + +#: ../build/NEWS:5442 +msgid "" +"`bpo-13312 `__: Avoids a possible " +"integer underflow (undefined behavior) in the time module's year handling " +"code when passed a very low negative year value." +msgstr "" + +#: ../build/NEWS:5446 +msgid "" +"`bpo-34472 `__: Improved compatibility " +"for streamed files in :mod:`zipfile`. Previously an optional signature was " +"not being written and certain ZIP applications were not supported. Patch by " +"Silas Sewell." +msgstr "" + +#: ../build/NEWS:5450 +msgid "" +"`bpo-34454 `__: Fix the .fromisoformat() " +"methods of datetime types crashing when given unicode with non-UTF-8-" +"encodable code points. Specifically, datetime.fromisoformat() now accepts " +"surrogate unicode code points used as the separator. Report and tests by " +"Alexey Izbyshev, patch by Paul Ganssle." +msgstr "" + +#: ../build/NEWS:5455 +msgid "" +"`bpo-6700 `__: Fix inspect.getsourcelines " +"for module level frames/tracebacks. Patch by Vladimir Matveev." +msgstr "" + +#: ../build/NEWS:5458 +msgid "" +"`bpo-34171 `__: Running the :mod:`trace` " +"module no longer creates the ``trace.cover`` file." +msgstr "" + +#: ../build/NEWS:5461 +msgid "" +"`bpo-34441 `__: Fix crash when an " +"``ABC``-derived class with invalid ``__subclasses__`` is passed as the " +"second argument to :func:`issubclass()`. Patch by Alexey Izbyshev." +msgstr "" + +#: ../build/NEWS:5465 +msgid "" +"`bpo-34427 `__: Fix infinite loop in ``a." +"extend(a)`` for ``MutableSequence`` subclasses." +msgstr "" + +#: ../build/NEWS:5468 +msgid "" +"`bpo-34412 `__: Make :func:`signal." +"strsignal` work on HP-UX. Patch by Michael Osipov." +msgstr "" + +#: ../build/NEWS:5471 +msgid "" +"`bpo-20849 `__: shutil.copytree now " +"accepts a new ``dirs_exist_ok`` keyword argument. Patch by Josh Bronson." +msgstr "" + +#: ../build/NEWS:5474 +msgid "" +"`bpo-31715 `__: Associate ``.mjs`` file " +"extension with ``application/javascript`` MIME Type." +msgstr "" + +#: ../build/NEWS:5477 +msgid "" +"`bpo-34384 `__: :func:`os.readlink` now " +"accepts :term:`path-like ` and :class:`bytes` objects on " +"Windows." +msgstr "" + +#: ../build/NEWS:5480 +msgid "" +"`bpo-22602 `__: The UTF-7 decoder now " +"raises :exc:`UnicodeDecodeError` for ill-formed sequences starting with \"+" +"\" (as specified in RFC 2152). Patch by Zackery Spytz." +msgstr "" + +#: ../build/NEWS:5484 +msgid "" +"`bpo-2122 `__: The :meth:`mmap.flush() " +"` method now returns ``None`` on success, raises an " +"exception on error under all platforms." +msgstr "" + +#: ../build/NEWS:5487 +msgid "" +"`bpo-34341 `__: Appending to the ZIP " +"archive with the ZIP64 extension no longer grows the size of extra fields of " +"existing entries." +msgstr "" + +#: ../build/NEWS:5490 +#, python-format +msgid "" +"`bpo-34333 `__: Fix %-formatting in :" +"meth:`pathlib.PurePath.with_suffix` when formatting an error message." +msgstr "" + +#: ../build/NEWS:5493 +msgid "" +"`bpo-18540 `__: The :class:`imaplib." +"IMAP4` and :class:`imaplib.IMAP4_SSL` classes now resolve to the local host " +"IP correctly when the default value of *host* parameter (``''``) is used." +msgstr "" + +#: ../build/NEWS:5497 +msgid "" +"`bpo-26502 `__: Implement ``traceback." +"FrameSummary.__len__()`` method to preserve compatibility with the old tuple " +"API." +msgstr "" + +#: ../build/NEWS:5500 +msgid "" +"`bpo-34318 `__: :func:`~unittest." +"TestCase.assertRaises`, :func:`~unittest.TestCase.assertRaisesRegex`, :func:" +"`~unittest.TestCase.assertWarns` and :func:`~unittest.TestCase." +"assertWarnsRegex` no longer success if the passed callable is None. They no " +"longer ignore unknown keyword arguments in the context manager mode. A " +"DeprecationWarning was raised in these cases since Python 3.5." +msgstr "" + +#: ../build/NEWS:5508 +msgid "" +"`bpo-9372 `__: Deprecate :meth:" +"`__getitem__` methods of :class:`xml.dom.pulldom.DOMEventStream`, :class:" +"`wsgiref.util.FileWrapper` and :class:`fileinput.FileInput`." +msgstr "" + +#: ../build/NEWS:5512 +msgid "" +"`bpo-33613 `__: Fix a race condition in " +"``multiprocessing.semaphore_tracker`` when the tracker receives SIGINT " +"before it can register signal handlers for ignoring it." +msgstr "" + +#: ../build/NEWS:5516 +msgid "" +"`bpo-34248 `__: Report filename in the " +"exception raised when the database file cannot be opened by :func:`dbm.gnu." +"open` and :func:`dbm.ndbm.open` due to OS-related error. Patch by Zsolt " +"Cserna." +msgstr "" + +#: ../build/NEWS:5520 +msgid "" +"`bpo-33089 `__: Add math.dist() to " +"compute the Euclidean distance between two points." +msgstr "" + +#: ../build/NEWS:5523 +msgid "" +"`bpo-34246 `__: :meth:`smtplib.SMTP." +"send_message` no longer modifies the content of the *mail_options* argument. " +"Patch by Pablo S. Blum de Aguiar." +msgstr "" + +#: ../build/NEWS:5526 +msgid "" +"`bpo-31047 `__: Fix ``ntpath.abspath`` " +"for invalid paths on windows. Patch by Franz Woellert." +msgstr "" + +#: ../build/NEWS:5529 +msgid "" +"`bpo-32321 `__: Add pure Python fallback " +"for functools.reduce. Patch by Robert Wright." +msgstr "" + +#: ../build/NEWS:5532 +msgid "" +"`bpo-34270 `__: The default asyncio task " +"class now always has a name which can be get or set using two new methods (:" +"meth:`~asyncio.Task.get_name()` and :meth:`~asyncio.Task.set_name`) and is " +"visible in the :func:`repr` output. An initial name can also be set using " +"the new ``name`` keyword argument to :func:`asyncio.create_task` or the :" +"meth:`~asyncio.AbstractEventLoop.create_task` method of the event loop. If " +"no initial name is set, the default Task implementation generates a name " +"like ``Task-1`` using a monotonic counter." +msgstr "" + +#: ../build/NEWS:5541 +msgid "" +"`bpo-34263 `__: asyncio's event loop " +"will not pass timeouts longer than one day to epoll/select etc." +msgstr "" + +#: ../build/NEWS:5544 +msgid "" +"`bpo-34035 `__: Fix several " +"AttributeError in zipfile seek() methods. Patch by Mickaël Schoentgen." +msgstr "" + +#: ../build/NEWS:5547 +msgid "" +"`bpo-32215 `__: Fix performance " +"regression in :mod:`sqlite3` when a DML statement appeared in a different " +"line than the rest of the SQL query." +msgstr "" + +#: ../build/NEWS:5550 +msgid "" +"`bpo-34075 `__: Deprecate passing non-" +"ThreadPoolExecutor instances to :meth:`AbstractEventLoop." +"set_default_executor`." +msgstr "" + +#: ../build/NEWS:5553 +msgid "" +"`bpo-34251 `__: Restore ``msilib.Win64`` " +"to preserve backwards compatibility since it's already used by :mod:" +"`distutils`' ``bdist_msi`` command." +msgstr "" + +#: ../build/NEWS:5556 +msgid "" +"`bpo-19891 `__: Ignore errors caused by " +"missing / non-writable homedir while writing history during exit of an " +"interactive session. Patch by Anthony Sottile." +msgstr "" + +#: ../build/NEWS:5560 +msgid "" +"`bpo-33089 `__: Enhanced math.hypot() to " +"support more than two dimensions." +msgstr "" + +#: ../build/NEWS:5562 +msgid "" +"`bpo-34228 `__: tracemalloc: " +"PYTHONTRACEMALLOC=0 environment variable and -X tracemalloc=0 command line " +"option are now allowed to disable explicitly tracemalloc at startup." +msgstr "" + +#: ../build/NEWS:5566 +msgid "" +"`bpo-13041 `__: Use :func:`shutil." +"get_terminal_size` to calculate the terminal width correctly in the " +"``argparse.HelpFormatter`` class. Initial patch by Zbyszek Jędrzejewski-" +"Szmek." +msgstr "" + +#: ../build/NEWS:5570 +msgid "" +"`bpo-34213 `__: Allow frozen dataclasses " +"to have a field named \"object\". Previously this conflicted with an " +"internal use of \"object\"." +msgstr "" + +#: ../build/NEWS:5573 +msgid "" +"`bpo-34052 `__: :meth:`sqlite3." +"Connection.create_aggregate`, :meth:`sqlite3.Connection.create_function`, :" +"meth:`sqlite3.Connection.set_authorizer`, :meth:`sqlite3.Connection." +"set_progress_handler` methods raises TypeError when unhashable objects are " +"passed as callable. These methods now don't pass such objects to SQLite API. " +"Previous behavior could lead to segfaults. Patch by Sergey Fedoseev." +msgstr "" + +#: ../build/NEWS:5581 +msgid "" +"`bpo-34197 `__: Attributes " +"*skipinitialspace*, *doublequote* and *strict* of the *dialect* attribute of " +"the :mod:`csv` reader are now :class:`bool` instances instead of integers 0 " +"or 1." +msgstr "" + +#: ../build/NEWS:5585 +msgid "" +"`bpo-32788 `__: Errors other than :exc:" +"`TypeError` raised in methods ``__adapt__()`` and ``__conform__()`` in the :" +"mod:`sqlite3` module are now propagated to the user." +msgstr "" + +#: ../build/NEWS:5589 +msgid "" +"`bpo-21446 `__: The :2to3fixer:`reload` " +"fixer now uses :func:`importlib.reload` instead of deprecated :func:`imp." +"reload`." +msgstr "" + +#: ../build/NEWS:5592 +msgid "" +"`bpo-940286 `__: pydoc's ``Helper." +"showtopic()`` method now prints the cross references of a topic correctly." +msgstr "" + +#: ../build/NEWS:5595 +msgid "" +"`bpo-34164 `__: :func:`base64.b32decode` " +"could raise UnboundLocalError or OverflowError for incorrect padding. Now " +"it always raises :exc:`base64.Error` in these cases." +msgstr "" + +#: ../build/NEWS:5599 +msgid "" +"`bpo-33729 `__: Fixed issues with " +"arguments parsing in :mod:`hashlib`." +msgstr "" + +#: ../build/NEWS:5601 +msgid "" +"`bpo-34097 `__: ZipFile can zip files " +"older than 1980-01-01 and newer than 2107-12-31 using a new " +"``strict_timestamps`` parameter at the cost of setting the timestamp to the " +"limit." +msgstr "" + +#: ../build/NEWS:5605 +msgid "" +"`bpo-34108 `__: Remove extraneous CR in " +"2to3 refactor." +msgstr "" + +#: ../build/NEWS:5607 +msgid "" +"`bpo-34070 `__: Make sure to only check " +"if the handle is a tty, when opening a file with ``buffering=-1``." +msgstr "" + +#: ../build/NEWS:5610 +msgid "" +"`bpo-27494 `__: Reverted :issue:`27494`. " +"2to3 rejects now a trailing comma in generator expressions." +msgstr "" + +#: ../build/NEWS:5613 +msgid "" +"`bpo-33967 `__: functools.singledispatch " +"now raises TypeError instead of IndexError when no positional arguments are " +"passed." +msgstr "" + +#: ../build/NEWS:5616 +msgid "" +"`bpo-34041 `__: Add the parameter " +"*deterministic* to the :meth:`sqlite3.Connection.create_function` method. " +"Patch by Sergey Fedoseev." +msgstr "" + +#: ../build/NEWS:5620 +msgid "" +"`bpo-34056 `__: Ensure the loader shim " +"created by ``imp.load_module`` always returns bytes from its ``get_data()`` " +"function. This fixes using ``imp.load_module`` with :pep:`552` hash-based " +"pycs." +msgstr "" + +#: ../build/NEWS:5624 +msgid "" +"`bpo-34054 `__: The multiprocessing " +"module now uses the monotonic clock :func:`time.monotonic` instead of the " +"system clock :func:`time.time` to implement timeout." +msgstr "" + +#: ../build/NEWS:5628 +msgid "" +"`bpo-34043 `__: Optimize tarfile " +"uncompress performance about 15% when gzip is used." +msgstr "" + +#: ../build/NEWS:5631 +msgid "" +"`bpo-34044 `__: ``subprocess.Popen`` now " +"copies the *startupinfo* argument to leave it unchanged: it will modify the " +"copy, so that the same ``STARTUPINFO`` object can be used multiple times." +msgstr "" + +#: ../build/NEWS:5635 +msgid "" +"`bpo-34010 `__: Fixed a performance " +"regression for reading streams with tarfile. The buffered read should use a " +"list, instead of appending to a bytes object." +msgstr "" + +#: ../build/NEWS:5639 +msgid "" +"`bpo-34019 `__: webbrowser: Correct the " +"arguments passed to Opera Browser when opening a new URL using the " +"``webbrowser`` module. Patch by Bumsik Kim." +msgstr "" + +#: ../build/NEWS:5642 +msgid "" +"`bpo-34003 `__: csv.DictReader now " +"creates dicts instead of OrderedDicts. Patch by Michael Selik." +msgstr "" + +#: ../build/NEWS:5645 +msgid "" +"`bpo-33978 `__: Closed existing logging " +"handlers before reconfiguration via fileConfig and dictConfig. Patch by " +"Karthikeyan Singaravelan." +msgstr "" + +#: ../build/NEWS:5648 +msgid "" +"`bpo-14117 `__: Make minor tweaks to " +"turtledemo. The 'wikipedia' example is now 'rosette', describing what it " +"draws. The 'penrose' print output is reduced. The'1024' output of 'tree' is " +"eliminated." +msgstr "" + +#: ../build/NEWS:5652 +msgid "" +"`bpo-33974 `__: Fixed passing lists and " +"tuples of strings containing special characters ``\"``, ``\\``, ``{``, ``}`` " +"and ``\\n`` as options to :mod:`~tkinter.ttk` widgets." +msgstr "" + +#: ../build/NEWS:5656 +msgid "" +"`bpo-27500 `__: Fix getaddrinfo to " +"resolve IPv6 addresses correctly." +msgstr "" + +#: ../build/NEWS:5658 +msgid "" +"`bpo-24567 `__: Improve random.choices() " +"to handle subnormal input weights that could occasionally trigger an " +"IndexError." +msgstr "" + +#: ../build/NEWS:5661 +msgid "" +"`bpo-33871 `__: Fixed integer overflow " +"in :func:`os.readv`, :func:`os.writev`, :func:`os.preadv` and :func:`os." +"pwritev` and in :func:`os.sendfile` with *headers* or *trailers* arguments " +"(on BSD-based OSes and macOS)." +msgstr "" + +#: ../build/NEWS:5665 +msgid "" +"`bpo-25007 `__: Add :func:`copy.copy` " +"and :func:`copy.deepcopy` support to zlib compressors and decompressors. " +"Patch by Zackery Spytz." +msgstr "" + +#: ../build/NEWS:5668 +msgid "" +"`bpo-33929 `__: multiprocessing: Fix a " +"race condition in Popen of multiprocessing.popen_spawn_win32. The child " +"process now duplicates the read end of pipe instead of \"stealing\" it. " +"Previously, the read end of pipe was \"stolen\" by the child process, but it " +"leaked a handle if the child process had been terminated before it could " +"steal the handle from the parent process." +msgstr "" + +#: ../build/NEWS:5675 +msgid "" +"`bpo-33899 `__: Tokenize module now " +"implicitly emits a NEWLINE when provided with input that does not have a " +"trailing new line. This behavior now matches what the C tokenizer does " +"internally. Contributed by Ammar Askar." +msgstr "" + +#: ../build/NEWS:5679 +msgid "" +"`bpo-33897 `__: Added a 'force' keyword " +"argument to logging.basicConfig()." +msgstr "" + +#: ../build/NEWS:5681 +#, python-format +msgid "" +"`bpo-33695 `__: :func:`shutil.copytree` " +"uses :func:`os.scandir` function and all copy functions depending from it " +"use cached :func:`os.stat` values. The speedup for copying a directory with " +"8000 files is around +9% on Linux, +20% on Windows and + 30% on a Windows " +"SMB share. Also the number of :func:`os.stat` syscalls is reduced by 38% " +"making :func:`shutil.copytree` especially faster on network filesystems. " +"(Contributed by Giampaolo Rodola' in :issue:`33695`.)" +msgstr "" + +#: ../build/NEWS:5689 +msgid "" +"`bpo-33916 `__: bz2 and lzma: When " +"Decompressor.__init__() is called twice, free the old lock to not leak " +"memory." +msgstr "" + +#: ../build/NEWS:5692 +msgid "" +"`bpo-32568 `__: Make select.epoll() and " +"its documentation consistent regarding *sizehint* and *flags*." +msgstr "" + +#: ../build/NEWS:5695 +msgid "" +"`bpo-33833 `__: Fixed bug in asyncio " +"where ProactorSocketTransport logs AssertionError if force closed during " +"write." +msgstr "" + +#: ../build/NEWS:5698 +msgid "" +"`bpo-33663 `__: Convert content length " +"to string before putting to header." +msgstr "" + +#: ../build/NEWS:5700 +msgid "" +"`bpo-33721 `__: :mod:`os.path` functions " +"that return a boolean result like :func:`~os.path.exists`, :func:`~os.path." +"lexists`, :func:`~os.path.isdir`, :func:`~os.path.isfile`, :func:`~os.path." +"islink`, and :func:`~os.path.ismount`, and :mod:`pathlib.Path` methods that " +"return a boolean result like :meth:`~pathlib.Path.exists()`, :meth:`~pathlib." +"Path.is_dir()`, :meth:`~pathlib.Path.is_file()`, :meth:`~pathlib.Path." +"is_mount()`, :meth:`~pathlib.Path.is_symlink()`, :meth:`~pathlib.Path." +"is_block_device()`, :meth:`~pathlib.Path.is_char_device()`, :meth:`~pathlib." +"Path.is_fifo()`, :meth:`~pathlib.Path.is_socket()` now return ``False`` " +"instead of raising :exc:`ValueError` or its subclasses :exc:" +"`UnicodeEncodeError` and :exc:`UnicodeDecodeError` for paths that contain " +"characters or bytes unrepresentable at the OS level." +msgstr "" + +#: ../build/NEWS:5714 +msgid "" +"`bpo-26544 `__: Fixed implementation of :" +"func:`platform.libc_ver`. It almost always returned version '2.9' for glibc." +msgstr "" + +#: ../build/NEWS:5717 +msgid "" +"`bpo-33843 `__: Remove deprecated ``cgi." +"escape``, ``cgi.parse_qs`` and ``cgi.parse_qsl``." +msgstr "" + +#: ../build/NEWS:5720 +msgid "" +"`bpo-33842 `__: Remove ``tarfile." +"filemode`` which is deprecated since Python 3.3." +msgstr "" + +#: ../build/NEWS:5723 ../build/NEWS:7321 ../build/NEWS:11915 +msgid "" +"`bpo-30167 `__: Prevent site.main() " +"exception if PYTHONSTARTUP is set. Patch by Steve Weber." +msgstr "" + +#: ../build/NEWS:5726 +msgid "" +"`bpo-33805 `__: Improve error message of " +"dataclasses.replace() when an InitVar is not specified" +msgstr "" + +#: ../build/NEWS:5729 +msgid "" +"`bpo-33687 `__: Fix the call to ``os." +"chmod()`` for ``uu.decode()`` if a mode is given or decoded. Patch by Timo " +"Furrer." +msgstr "" + +#: ../build/NEWS:5732 ../build/NEWS:7324 ../build/NEWS:11918 +msgid "" +"`bpo-33812 `__: Datetime instance d with " +"non-None tzinfo, but with d.tzinfo.utcoffset(d) returning None is now " +"treated as naive by the astimezone() method." +msgstr "" + +#: ../build/NEWS:5736 +msgid "" +"`bpo-32108 `__: In configparser, don't " +"clear section when it is assigned to itself." +msgstr "" + +#: ../build/NEWS:5739 +msgid "" +"`bpo-27397 `__: Make email module " +"properly handle invalid-length base64 strings." +msgstr "" + +#: ../build/NEWS:5742 +msgid "" +"`bpo-33578 `__: Implement multibyte " +"encoder/decoder state methods" +msgstr "" + +#: ../build/NEWS:5744 ../build/NEWS:7328 ../build/NEWS:11922 +msgid "" +"`bpo-30805 `__: Avoid race condition " +"with debug logging" +msgstr "" + +#: ../build/NEWS:5746 +msgid "" +"`bpo-33476 `__: Fix _header_value_parser." +"py when address group is missing final ';'. Contributed by Enrique Perez-" +"Terron" +msgstr "" + +#: ../build/NEWS:5749 ../build/NEWS:7330 +msgid "" +"`bpo-33694 `__: asyncio: Fix a race " +"condition causing data loss on pause_reading()/resume_reading() when using " +"the ProactorEventLoop." +msgstr "" + +#: ../build/NEWS:5752 ../build/NEWS:7333 +msgid "" +"`bpo-32493 `__: Correct test for " +"``uuid_enc_be`` availability in ``configure.ac``. Patch by Michael Felt." +msgstr "" + +#: ../build/NEWS:5755 ../build/NEWS:7336 +msgid "" +"`bpo-33792 `__: Add asyncio." +"WindowsSelectorEventLoopPolicy and asyncio.WindowsProactorEventLoopPolicy." +msgstr "" + +#: ../build/NEWS:5758 +msgid "" +"`bpo-33274 `__: W3C DOM Level 1 " +"specifies return value of Element.removeAttributeNode() as \"The Attr node " +"that was removed.\" xml.dom.minidom now complies with this requirement." +msgstr "" + +#: ../build/NEWS:5762 ../build/NEWS:7339 +msgid "" +"`bpo-33778 `__: Update ``unicodedata``'s " +"database to Unicode version 11.0.0." +msgstr "" + +#: ../build/NEWS:5764 +msgid "" +"`bpo-33165 `__: Added a stacklevel " +"parameter to logging calls to allow use of wrapper/helper functions for " +"logging APIs." +msgstr "" + +#: ../build/NEWS:5767 ../build/NEWS:7341 +msgid "" +"`bpo-33770 `__: improve base64 exception " +"message for encoded inputs of invalid length" +msgstr "" + +#: ../build/NEWS:5770 ../build/NEWS:7344 +msgid "" +"`bpo-33769 `__: asyncio/start_tls: Fix " +"error message; cancel callbacks in case of an unhandled error; mark " +"SSLTransport as closed if it is aborted." +msgstr "" + +#: ../build/NEWS:5773 ../build/NEWS:7347 ../build/NEWS:11924 +msgid "" +"`bpo-33767 `__: The concatenation (``" +"+``) and repetition (``*``) sequence operations now raise :exc:`TypeError` " +"instead of :exc:`SystemError` when performed on :class:`mmap.mmap` objects. " +"Patch by Zackery Spytz." +msgstr "" + +#: ../build/NEWS:5777 ../build/NEWS:7351 +msgid "" +"`bpo-33734 `__: asyncio/ssl: Fix " +"AttributeError, increase default handshake timeout" +msgstr "" + +#: ../build/NEWS:5780 +msgid "" +"`bpo-31014 `__: Fixed creating a " +"controller for :mod:`webbrowser` when a user specifies a path to an entry in " +"the BROWSER environment variable. Based on patch by John Still." +msgstr "" + +#: ../build/NEWS:5784 +msgid "" +"`bpo-2504 `__: Add gettext.pgettext() and " +"variants." +msgstr "" + +#: ../build/NEWS:5786 +msgid "" +"`bpo-33197 `__: Add description property " +"for _ParameterKind" +msgstr "" + +#: ../build/NEWS:5788 ../build/NEWS:7449 +msgid "" +"`bpo-32751 `__: When cancelling the task " +"due to a timeout, :meth:`asyncio.wait_for` will now wait until the " +"cancellation is complete." +msgstr "" + +#: ../build/NEWS:5791 ../build/NEWS:7452 ../build/NEWS:11928 +msgid "" +"`bpo-32684 `__: Fix gather to propagate " +"cancellation of itself even with return_exceptions." +msgstr "" + +#: ../build/NEWS:5794 ../build/NEWS:7455 +msgid "" +"`bpo-33654 `__: Support protocol type " +"switching in SSLTransport.set_protocol()." +msgstr "" + +#: ../build/NEWS:5796 ../build/NEWS:7457 +msgid "" +"`bpo-33674 `__: Pause the transport as " +"early as possible to further reduce the risk of data_received() being called " +"before connection_made()." +msgstr "" + +#: ../build/NEWS:5799 +#, python-format +msgid "" +"`bpo-33671 `__: :func:`shutil." +"copyfile`, :func:`shutil.copy`, :func:`shutil.copy2`, :func:`shutil." +"copytree` and :func:`shutil.move` use platform-specific fast-copy syscalls " +"on Linux and macOS in order to copy the file more efficiently. On Windows :" +"func:`shutil.copyfile` uses a bigger default buffer size (1 MiB instead of " +"16 KiB) and a :func:`memoryview`-based variant of :func:`shutil.copyfileobj` " +"is used. The speedup for copying a 512MiB file is about +26% on Linux, " +"+50% on macOS and +40% on Windows. Also, much less CPU cycles are consumed. " +"(Contributed by Giampaolo Rodola' in :issue:`25427`.)" +msgstr "" + +#: ../build/NEWS:5809 ../build/NEWS:7460 ../build/NEWS:11931 +msgid "" +"`bpo-33674 `__: Fix a race condition in " +"SSLProtocol.connection_made() of asyncio.sslproto: start immediately the " +"handshake instead of using call_soon(). Previously, data_received() could be " +"called before the handshake started, causing the handshake to hang or fail." +msgstr "" + +#: ../build/NEWS:5814 ../build/NEWS:7465 ../build/NEWS:11936 +msgid "" +"`bpo-31647 `__: Fixed bug where calling " +"write_eof() on a _SelectorSocketTransport after it's already closed raises " +"AttributeError." +msgstr "" + +#: ../build/NEWS:5817 ../build/NEWS:7468 +msgid "" +"`bpo-32610 `__: Make asyncio.all_tasks() " +"return only pending tasks." +msgstr "" + +#: ../build/NEWS:5819 ../build/NEWS:7470 +msgid "" +"`bpo-32410 `__: Avoid blocking on file " +"IO in sendfile fallback code" +msgstr "" + +#: ../build/NEWS:5821 ../build/NEWS:7472 ../build/NEWS:11941 +msgid "" +"`bpo-33469 `__: Fix RuntimeError after " +"closing loop that used run_in_executor" +msgstr "" + +#: ../build/NEWS:5823 ../build/NEWS:7474 ../build/NEWS:11939 +msgid "" +"`bpo-33672 `__: Fix Task.__repr__ crash " +"with Cython's bogus coroutines" +msgstr "" + +#: ../build/NEWS:5825 ../build/NEWS:7476 +msgid "" +"`bpo-33654 `__: Fix transport." +"set_protocol() to support switching between asyncio.Protocol and asyncio." +"BufferedProtocol. Fix loop.start_tls() to work with asyncio." +"BufferedProtocols." +msgstr "" + +#: ../build/NEWS:5829 ../build/NEWS:7480 +msgid "" +"`bpo-33652 `__: Pickles of type " +"variables and subscripted generics are now future-proof and compatible with " +"older Python versions." +msgstr "" + +#: ../build/NEWS:5832 ../build/NEWS:7483 +msgid "" +"`bpo-32493 `__: Fixed :func:`uuid.uuid1` " +"on FreeBSD." +msgstr "" + +#: ../build/NEWS:5834 +msgid "" +"`bpo-33238 `__: Add " +"``InvalidStateError`` to :mod:`concurrent.futures`. ``Future.set_result`` " +"and ``Future.set_exception`` now raise ``InvalidStateError`` if the futures " +"are not pending or running. Patch by Jason Haydaman." +msgstr "" + +#: ../build/NEWS:5839 ../build/NEWS:7485 +msgid "" +"`bpo-33618 `__: Finalize and document " +"preliminary and experimental TLS 1.3 support with OpenSSL 1.1.1" +msgstr "" + +#: ../build/NEWS:5842 +msgid "" +"`bpo-33625 `__: Release GIL on `grp." +"getgrnam`, `grp.getgrgid`, `pwd.getpwnam` and `pwd.getpwuid` if reentrant " +"variants of these functions are available. Patch by William Grzybowski." +msgstr "" + +#: ../build/NEWS:5846 ../build/NEWS:7488 +msgid "" +"`bpo-33623 `__: Fix possible SIGSGV when " +"asyncio.Future is created in __del__" +msgstr "" + +#: ../build/NEWS:5848 ../build/NEWS:7354 ../build/NEWS:11943 +msgid "" +"`bpo-11874 `__: Use a better regex when " +"breaking usage into wrappable parts. Avoids bogus assertion errors from " +"custom metavar strings." +msgstr "" + +#: ../build/NEWS:5851 ../build/NEWS:7490 ../build/NEWS:11946 +msgid "" +"`bpo-30877 `__: Fixed a bug in the " +"Python implementation of the JSON decoder that prevented the cache of parsed " +"strings from clearing after finishing the decoding. Based on patch by c-fos." +msgstr "" + +#: ../build/NEWS:5855 +msgid "" +"`bpo-33604 `__: Remove HMAC default to " +"md5 marked for removal in 3.8 (removal originally planned in 3.6, bump to " +"3.8 in gh-7062)." +msgstr "" + +#: ../build/NEWS:5858 ../build/NEWS:7357 +msgid "" +"`bpo-33582 `__: Emit a deprecation " +"warning for inspect.formatargspec" +msgstr "" + +#: ../build/NEWS:5860 +msgid "" +"`bpo-21145 `__: Add ``functools." +"cached_property`` decorator, for computed properties cached for the life of " +"the instance." +msgstr "" + +#: ../build/NEWS:5863 ../build/NEWS:7494 +msgid "" +"`bpo-33570 `__: Change TLS 1.3 cipher " +"suite settings for compatibility with OpenSSL 1.1.1-pre6 and newer. OpenSSL " +"1.1.1 will have TLS 1.3 ciphers enabled by default." +msgstr "" + +#: ../build/NEWS:5867 ../build/NEWS:7498 +msgid "" +"`bpo-28556 `__: Do not simplify " +"arguments to `typing.Union`. Now `Union[Manager, Employee]` is not " +"simplified to `Employee` at runtime. Such simplification previously caused " +"several bugs and limited possibilities for introspection." +msgstr "" + +#: ../build/NEWS:5872 +msgid "" +"`bpo-12486 `__: :func:`tokenize." +"generate_tokens` is now documented as a public API to tokenize unicode " +"strings. It was previously present but undocumented." +msgstr "" + +#: ../build/NEWS:5876 ../build/NEWS:7503 +msgid "" +"`bpo-33540 `__: Add a new " +"``block_on_close`` class attribute to ``ForkingMixIn`` and " +"``ThreadingMixIn`` classes of :mod:`socketserver`." +msgstr "" + +#: ../build/NEWS:5879 ../build/NEWS:7506 ../build/NEWS:11950 +msgid "" +"`bpo-33548 `__: tempfile." +"_candidate_tempdir_list should consider common TEMP locations" +msgstr "" + +#: ../build/NEWS:5882 ../build/NEWS:7509 +msgid "" +"`bpo-33109 `__: argparse subparsers are " +"once again not required by default, reverting the change in behavior " +"introduced by `bpo-26510 `__ in 3.7.0a2." +msgstr "" + +#: ../build/NEWS:5885 +msgid "" +"`bpo-33541 `__: Remove unused private " +"method ``_strptime.LocaleTime.__pad`` (a.k.a. ``_LocaleTime__pad``)." +msgstr "" + +#: ../build/NEWS:5888 ../build/NEWS:7512 +msgid "" +"`bpo-33536 `__: dataclasses." +"make_dataclass now checks for invalid field names and duplicate fields. " +"Also, added a check for invalid field specifications." +msgstr "" + +#: ../build/NEWS:5892 ../build/NEWS:7516 ../build/NEWS:11953 +msgid "" +"`bpo-33542 `__: Prevent ``uuid." +"get_node`` from using a DUID instead of a MAC on Windows. Patch by Zvi Effron" +msgstr "" + +#: ../build/NEWS:5895 ../build/NEWS:7519 ../build/NEWS:11956 +msgid "" +"`bpo-26819 `__: Fix race condition with " +"`ReadTransport.resume_reading` in Windows proactor event loop." +msgstr "" + +#: ../build/NEWS:5898 ../build/NEWS:7522 +msgid "" +"Fix failure in `typing.get_type_hints()` when ClassVar was provided as a " +"string forward reference." +msgstr "" + +#: ../build/NEWS:5901 +msgid "" +"`bpo-33516 `__: :class:`unittest.mock." +"MagicMock` now supports the ``__round__`` magic method." +msgstr "" + +#: ../build/NEWS:5904 +msgid "" +"`bpo-28612 `__: Added support for Site " +"Maps to urllib's ``RobotFileParser`` as :meth:`RobotFileParser.site_maps() " +"`. Patch by Lady Red, based on " +"patch by Peter Wirtz." +msgstr "" + +#: ../build/NEWS:5909 +msgid "" +"`bpo-28167 `__: Remove platform." +"linux_distribution, which was deprecated since 3.5." +msgstr "" + +#: ../build/NEWS:5912 +msgid "" +"`bpo-33504 `__: Switch the default " +"dictionary implementation for :mod:`configparser` from :class:`collections." +"OrderedDict` to the standard :class:`dict` type." +msgstr "" + +#: ../build/NEWS:5916 ../build/NEWS:7525 +msgid "" +"`bpo-33505 `__: Optimize asyncio." +"ensure_future() by reordering if checks: 1.17x faster." +msgstr "" + +#: ../build/NEWS:5919 ../build/NEWS:7528 +msgid "" +"`bpo-33497 `__: Add errors param to cgi." +"parse_multipart and make an encoding in FieldStorage use the given errors " +"(needed for Twisted). Patch by Amber Brown." +msgstr "" + +#: ../build/NEWS:5923 +msgid "" +"`bpo-29235 `__: The :class:`cProfile." +"Profile` class can now be used as a context manager. Patch by Scott " +"Sanderson." +msgstr "" + +#: ../build/NEWS:5926 ../build/NEWS:7532 +msgid "" +"`bpo-33495 `__: Change dataclasses." +"Fields repr to use the repr of each of its members, instead of str. This " +"makes it more clear what each field actually represents. This is especially " +"true for the 'type' member." +msgstr "" + +#: ../build/NEWS:5930 +msgid "" +"`bpo-26103 `__: Correct ``inspect." +"isdatadescriptor`` to look for ``__set__`` or ``__delete__``. Patch by " +"Aaron Hall." +msgstr "" + +#: ../build/NEWS:5933 +msgid "" +"`bpo-29209 `__: Removed the " +"``doctype()`` method and the *html* parameter of the constructor of :class:" +"`~xml.etree.ElementTree.XMLParser`. The ``doctype()`` method defined in a " +"subclass will no longer be called. Deprecated methods ``getchildren()`` and " +"``getiterator()`` in the :mod:`~xml.etree.ElementTree` module emit now a :" +"exc:`DeprecationWarning` instead of :exc:`PendingDeprecationWarning`." +msgstr "" + +#: ../build/NEWS:5940 ../build/NEWS:7536 +msgid "" +"`bpo-33453 `__: Fix dataclasses to work " +"if using literal string type annotations or if using PEP 563 \"Postponed " +"Evaluation of Annotations\". Only specific string prefixes are detected for " +"both ClassVar (\"ClassVar\" and \"typing.ClassVar\") and InitVar (\"InitVar" +"\" and \"dataclasses.InitVar\")." +msgstr "" + +#: ../build/NEWS:5945 ../build/NEWS:7541 ../build/NEWS:11959 +msgid "" +"`bpo-28556 `__: Minor fixes in typing " +"module: add annotations to ``NamedTuple.__new__``, pass ``*args`` and " +"``**kwds`` in ``Generic.__new__``. Original PRs by Paulius Šarka and Chad " +"Dombrova." +msgstr "" + +#: ../build/NEWS:5949 +msgid "" +"`bpo-33365 `__: Print the header values " +"besides the header keys instead just the header keys if *debuglevel* is set " +"to >0 in :mod:`http.client`. Patch by Marco Strigl." +msgstr "" + +#: ../build/NEWS:5953 ../build/NEWS:7545 ../build/NEWS:11963 +msgid "" +"`bpo-20087 `__: Updated alias mapping " +"with glibc 2.27 supported locales." +msgstr "" + +#: ../build/NEWS:5955 ../build/NEWS:7547 ../build/NEWS:11965 +msgid "" +"`bpo-33422 `__: Fix trailing quotation " +"marks getting deleted when looking up byte/string literals on pydoc. Patch " +"by Andrés Delfino." +msgstr "" + +#: ../build/NEWS:5958 ../build/NEWS:7550 +msgid "" +"`bpo-28167 `__: The function ``platform." +"linux_distribution`` and ``platform.dist`` now trigger a " +"``DeprecationWarning`` and have been marked for removal in Python 3.8" +msgstr "" + +#: ../build/NEWS:5962 ../build/NEWS:7657 +msgid "" +"`bpo-33281 `__: Fix ctypes.util." +"find_library regression on macOS." +msgstr "" + +#: ../build/NEWS:5964 +msgid "" +"`bpo-33311 `__: Text and html output " +"generated by cgitb does not display parentheses if the current call is done " +"directly in the module. Patch by Stéphane Blondon." +msgstr "" + +#: ../build/NEWS:5968 +msgid "" +"`bpo-27300 `__: The file classes in " +"*tempfile* now accept an *errors* parameter that complements the already " +"existing *encoding*. Patch by Stephan Hohe." +msgstr "" + +#: ../build/NEWS:5971 +msgid "" +"`bpo-32933 `__: :func:`unittest.mock." +"mock_open` now supports iteration over the file contents. Patch by Tony " +"Flury." +msgstr "" + +#: ../build/NEWS:5974 +msgid "" +"`bpo-33217 `__: Raise :exc:`TypeError` " +"when looking up non-Enum objects in Enum classes and Enum members." +msgstr "" + +#: ../build/NEWS:5977 ../build/NEWS:7554 ../build/NEWS:11968 +msgid "" +"`bpo-33197 `__: Update error message " +"when constructing invalid inspect.Parameters Patch by Dong-hee Na." +msgstr "" + +#: ../build/NEWS:5980 ../build/NEWS:7659 ../build/NEWS:11971 +msgid "" +"`bpo-33383 `__: Fixed crash in the get() " +"method of the :mod:`dbm.ndbm` database object when it is called with a " +"single argument." +msgstr "" + +#: ../build/NEWS:5983 +msgid "" +"`bpo-33375 `__: The warnings module now " +"finds the Python file associated with a warning from the code object, rather " +"than the frame's global namespace. This is consistent with how tracebacks " +"and pdb find filenames, and should work better for dynamically executed code." +msgstr "" + +#: ../build/NEWS:5988 +msgid "" +"`bpo-33336 `__: ``imaplib`` now allows " +"``MOVE`` command in ``IMAP4.uid()`` (RFC 6851: IMAP MOVE Extension) and " +"potentially as a name of supported method of ``IMAP4`` object." +msgstr "" + +#: ../build/NEWS:5992 +msgid "" +"`bpo-32455 `__: Added *jump* parameter " +"to :func:`dis.stack_effect`." +msgstr "" + +#: ../build/NEWS:5994 +msgid "" +"`bpo-27485 `__: Rename and deprecate " +"undocumented functions in :func:`urllib.parse`." +msgstr "" + +#: ../build/NEWS:5997 +msgid "" +"`bpo-33332 `__: Add ``signal." +"valid_signals()`` to expose the POSIX sigfillset() functionality." +msgstr "" + +#: ../build/NEWS:6000 +msgid "" +"`bpo-33251 `__: `ConfigParser.items()` " +"was fixed so that key-value pairs passed in via `vars` are not included in " +"the resulting output." +msgstr "" + +#: ../build/NEWS:6003 ../build/NEWS:7662 ../build/NEWS:11974 +msgid "" +"`bpo-33329 `__: Fix multiprocessing " +"regression on newer glibcs" +msgstr "" + +#: ../build/NEWS:6005 +msgid "" +"`bpo-33334 `__: :func:`dis.stack_effect` " +"now supports all defined opcodes including NOP and EXTENDED_ARG." +msgstr "" + +#: ../build/NEWS:6008 ../build/NEWS:7664 ../build/NEWS:11976 +msgid "" +"`bpo-991266 `__: Fix quoting of the " +"``Comment`` attribute of :class:`http.cookies.SimpleCookie`." +msgstr "" + +#: ../build/NEWS:6011 ../build/NEWS:7667 ../build/NEWS:11979 +msgid "" +"`bpo-33131 `__: Upgrade bundled version " +"of pip to 10.0.1." +msgstr "" + +#: ../build/NEWS:6013 ../build/NEWS:7669 ../build/NEWS:11981 +msgid "" +"`bpo-33308 `__: Fixed a crash in the :" +"mod:`parser` module when converting an ST object to a tree of tuples or " +"lists with ``line_info=False`` and ``col_info=True``." +msgstr "" + +#: ../build/NEWS:6017 +msgid "" +"`bpo-23403 `__: lib2to3 now uses pickle " +"protocol 4 for pre-computed grammars." +msgstr "" + +#: ../build/NEWS:6019 ../build/NEWS:7673 +msgid "" +"`bpo-33266 `__: lib2to3 now recognizes " +"``rf'...'`` strings." +msgstr "" + +#: ../build/NEWS:6021 ../build/NEWS:7675 +msgid "" +"`bpo-11594 `__: Ensure line-endings are " +"respected when using lib2to3." +msgstr "" + +#: ../build/NEWS:6023 ../build/NEWS:7677 +msgid "" +"`bpo-33254 `__: Have :func:`importlib." +"resources.contents` and :meth:`importlib.abc.ResourceReader.contents` return " +"an :term:`iterable` instead of an :term:`iterator`." +msgstr "" + +#: ../build/NEWS:6027 +msgid "" +"`bpo-33265 `__: ``contextlib.ExitStack`` " +"and ``contextlib.AsyncExitStack`` now use a method instead of a wrapper " +"function for exit callbacks." +msgstr "" + +#: ../build/NEWS:6030 ../build/NEWS:7557 ../build/NEWS:11985 +msgid "" +"`bpo-33263 `__: Fix FD leak in " +"`_SelectorSocketTransport` Patch by Vlad Starostin." +msgstr "" + +#: ../build/NEWS:6033 ../build/NEWS:7681 ../build/NEWS:11988 +msgid "" +"`bpo-33256 `__: Fix display of " +"```` call in the html produced by ``cgitb.html()``. Patch by " +"Stéphane Blondon." +msgstr "" + +#: ../build/NEWS:6036 +msgid "" +"`bpo-33144 `__: ``random.Random()`` and " +"its subclassing mechanism got optimized to check only once at class/subclass " +"instantiation time whether its ``getrandbits()`` method can be relied on by " +"other methods, including ``randrange()``, for the generation of arbitrarily " +"large random integers. Patch by Wolfgang Maier." +msgstr "" + +#: ../build/NEWS:6042 +msgid "" +"`bpo-33185 `__: Fixed regression when " +"running pydoc with the :option:`-m` switch. (The regression was introduced " +"in 3.7.0b3 by the resolution of :issue:`33053`)" +msgstr "" + +#: ../build/NEWS:6046 +msgid "" +"This fix also changed pydoc to add ``os.getcwd()`` to :data:`sys.path` when " +"necessary, rather than adding ``\".\"``." +msgstr "" + +#: ../build/NEWS:6049 +msgid "" +"`bpo-29613 `__: Added support for the " +"``SameSite`` cookie flag to the ``http.cookies`` module." +msgstr "" + +#: ../build/NEWS:6052 ../build/NEWS:7689 +msgid "" +"`bpo-33169 `__: Delete entries of " +"``None`` in :data:`sys.path_importer_cache` when :meth:`importlib.machinery." +"invalidate_caches` is called." +msgstr "" + +#: ../build/NEWS:6055 ../build/NEWS:7695 ../build/NEWS:11991 +msgid "" +"`bpo-33203 `__: ``random.Random." +"choice()`` now raises ``IndexError`` for empty sequences consistently even " +"when called from subclasses without a ``getrandbits()`` implementation." +msgstr "" + +#: ../build/NEWS:6059 ../build/NEWS:7699 ../build/NEWS:11995 +msgid "" +"`bpo-33224 `__: Update difflib.mdiff() " +"for :pep:`479`. Convert an uncaught StopIteration in a generator into a " +"return-statement." +msgstr "" + +#: ../build/NEWS:6062 ../build/NEWS:7702 ../build/NEWS:11998 +msgid "" +"`bpo-33209 `__: End framing at the end " +"of C implementation of :func:`pickle.Pickler.dump`." +msgstr "" + +#: ../build/NEWS:6065 +msgid "" +"`bpo-32861 `__: The urllib.robotparser's " +"``__str__`` representation now includes wildcard entries and the \"Crawl-" +"delay\" and \"Request-rate\" fields. Also removes extra newlines that were " +"being appended to the end of the string. Patch by Michael Lazar." +msgstr "" + +#: ../build/NEWS:6070 +msgid "" +"`bpo-23403 `__: ``DEFAULT_PROTOCOL`` in :" +"mod:`pickle` was bumped to 4. Protocol 4 is described in :pep:`3154` and " +"available since Python 3.4. It offers better performance and smaller size " +"compared to protocol 3 introduced in Python 3.0." +msgstr "" + +#: ../build/NEWS:6075 ../build/NEWS:7705 +msgid "" +"`bpo-20104 `__: Improved error handling " +"and fixed a reference leak in :func:`os.posix_spawn()`." +msgstr "" + +#: ../build/NEWS:6078 +msgid "" +"`bpo-33106 `__: Deleting a key from a " +"read-only dbm database raises module specific error instead of KeyError." +msgstr "" + +#: ../build/NEWS:6081 ../build/NEWS:7708 +msgid "" +"`bpo-33175 `__: In dataclasses, Field." +"__set_name__ now looks up the __set_name__ special method on the class, not " +"the instance, of the default value." +msgstr "" + +#: ../build/NEWS:6085 +msgid "" +"`bpo-32380 `__: Create functools." +"singledispatchmethod to support generic single dispatch on descriptors and " +"methods." +msgstr "" + +#: ../build/NEWS:6088 ../build/NEWS:7848 +msgid "" +"`bpo-33141 `__: Have Field objects pass " +"through __set_name__ to their default values, if they have their own " +"__set_name__." +msgstr "" + +#: ../build/NEWS:6091 ../build/NEWS:7851 ../build/NEWS:12005 +msgid "" +"`bpo-33096 `__: Allow ttk.Treeview." +"insert to insert iid that has a false boolean value. Note iid=0 and " +"iid=False would be same. Patch by Garvit Khatri." +msgstr "" + +#: ../build/NEWS:6095 ../build/NEWS:7855 +msgid "" +"`bpo-32873 `__: Treat type variables and " +"special typing forms as immutable by copy and pickle. This fixes several " +"minor issues and inconsistencies, and improves backwards compatibility with " +"Python 3.6." +msgstr "" + +#: ../build/NEWS:6099 ../build/NEWS:7859 +msgid "" +"`bpo-33134 `__: When computing " +"dataclass's __hash__, use the lookup table to contain the function which " +"returns the __hash__ value. This is an improvement over looking up a " +"string, and then testing that string to see what to do." +msgstr "" + +#: ../build/NEWS:6104 ../build/NEWS:7864 ../build/NEWS:12009 +msgid "" +"`bpo-33127 `__: The ssl module now " +"compiles with LibreSSL 2.7.1." +msgstr "" + +#: ../build/NEWS:6106 ../build/NEWS:7866 +msgid "" +"`bpo-32505 `__: Raise TypeError if a " +"member variable of a dataclass is of type Field, but doesn't have a type " +"annotation." +msgstr "" + +#: ../build/NEWS:6109 ../build/NEWS:7869 +msgid "" +"`bpo-33078 `__: Fix the failure on OSX " +"caused by the tests relying on sem_getvalue" +msgstr "" + +#: ../build/NEWS:6112 ../build/NEWS:7872 +msgid "" +"`bpo-33116 `__: Add 'Field' to " +"dataclasses.__all__." +msgstr "" + +#: ../build/NEWS:6114 ../build/NEWS:7874 +msgid "" +"`bpo-32896 `__: Fix an error where " +"subclassing a dataclass with a field that uses a default_factory would " +"generate an incorrect class." +msgstr "" + +#: ../build/NEWS:6117 ../build/NEWS:7877 +msgid "" +"`bpo-33100 `__: Dataclasses: If a field " +"has a default value that's a MemberDescriptorType, then it's from that field " +"being in __slots__, not an actual default value." +msgstr "" + +#: ../build/NEWS:6121 ../build/NEWS:7881 +msgid "" +"`bpo-32953 `__: If a non-dataclass " +"inherits from a frozen dataclass, allow attributes to be added to the " +"derived class. Only attributes from the frozen dataclass cannot be assigned " +"to. Require all dataclasses in a hierarchy to be either all frozen or all " +"non-frozen." +msgstr "" + +#: ../build/NEWS:6126 ../build/NEWS:7712 +msgid "" +"`bpo-33097 `__: Raise RuntimeError when " +"``executor.submit`` is called during interpreter shutdown." +msgstr "" + +#: ../build/NEWS:6129 +msgid "" +"`bpo-32968 `__: Modulo and floor " +"division involving Fraction and float should return float." +msgstr "" + +#: ../build/NEWS:6132 ../build/NEWS:7886 +msgid "" +"`bpo-33061 `__: Add missing ``NoReturn`` " +"to ``__all__`` in typing.py" +msgstr "" + +#: ../build/NEWS:6134 ../build/NEWS:7888 +msgid "" +"`bpo-33078 `__: Fix the size handling in " +"multiprocessing.Queue when a pickling error occurs." +msgstr "" + +#: ../build/NEWS:6137 ../build/NEWS:7891 ../build/NEWS:12261 +msgid "" +"`bpo-33064 `__: lib2to3 now properly " +"supports trailing commas after ``*args`` and ``**kwargs`` in function " +"signatures." +msgstr "" + +#: ../build/NEWS:6140 ../build/NEWS:7894 +msgid "" +"`bpo-33056 `__: FIX properly close " +"leaking fds in concurrent.futures.ProcessPoolExecutor." +msgstr "" + +#: ../build/NEWS:6143 ../build/NEWS:7897 ../build/NEWS:12011 +msgid "" +"`bpo-33021 `__: Release the GIL during " +"fstat() calls, avoiding hang of all threads when calling mmap.mmap(), os." +"urandom(), and random.seed(). Patch by Nir Soffer." +msgstr "" + +#: ../build/NEWS:6147 ../build/NEWS:7901 ../build/NEWS:12264 +msgid "" +"`bpo-31804 `__: Avoid failing in " +"multiprocessing.Process if the standard streams are closed or None at exit." +msgstr "" + +#: ../build/NEWS:6150 +msgid "" +"`bpo-33034 `__: Providing an explicit " +"error message when casting the port property to anything that is not an " +"integer value using ``urlparse()`` and ``urlsplit()``. Patch by Matt Eaton." +msgstr "" + +#: ../build/NEWS:6154 +msgid "" +"`bpo-30249 `__: Improve struct." +"unpack_from() exception messages for problems with the buffer size and " +"offset." +msgstr "" + +#: ../build/NEWS:6157 ../build/NEWS:7904 ../build/NEWS:12267 +msgid "" +"`bpo-33037 `__: Skip sending/receiving " +"data after SSL transport closing." +msgstr "" + +#: ../build/NEWS:6159 ../build/NEWS:7906 ../build/NEWS:12015 +msgid "" +"`bpo-27683 `__: Fix a regression in :mod:" +"`ipaddress` that result of :meth:`hosts` is empty when the network is " +"constructed by a tuple containing an integer mask and only 1 bit left for " +"addresses." +msgstr "" + +#: ../build/NEWS:6163 +msgid "" +"`bpo-22674 `__: Add the strsignal() " +"function in the signal module that returns the system description of the " +"given signal, as returned by strsignal(3)." +msgstr "" + +#: ../build/NEWS:6166 ../build/NEWS:7910 +msgid "" +"`bpo-32999 `__: Fix C implementation of " +"``ABC.__subclasscheck__(cls, subclass)`` crashed when ``subclass`` is not a " +"type object." +msgstr "" + +#: ../build/NEWS:6169 ../build/NEWS:7913 ../build/NEWS:12271 +msgid "" +"`bpo-33009 `__: Fix inspect.signature() " +"for single-parameter partialmethods." +msgstr "" + +#: ../build/NEWS:6171 ../build/NEWS:7915 ../build/NEWS:12273 +msgid "" +"`bpo-32969 `__: Expose several missing " +"constants in zlib and fix corresponding documentation." +msgstr "" + +#: ../build/NEWS:6174 ../build/NEWS:7918 +msgid "" +"`bpo-32056 `__: Improved exceptions " +"raised for invalid number of channels and sample width when read an audio " +"file in modules :mod:`aifc`, :mod:`wave` and :mod:`sunau`." +msgstr "" + +#: ../build/NEWS:6178 +msgid "" +"`bpo-32970 `__: Improved disassembly of " +"the MAKE_FUNCTION instruction." +msgstr "" + +#: ../build/NEWS:6180 ../build/NEWS:7922 ../build/NEWS:12019 +msgid "" +"`bpo-32844 `__: Fix wrong redirection of " +"a low descriptor (0 or 1) to stderr in subprocess if another low descriptor " +"is closed." +msgstr "" + +#: ../build/NEWS:6183 ../build/NEWS:8053 +msgid "" +"`bpo-32960 `__: For dataclasses, " +"disallow inheriting frozen from non-frozen classes, and also disallow " +"inheriting non-frozen from frozen classes. This restriction will be relaxed " +"at a future date." +msgstr "" + +#: ../build/NEWS:6187 ../build/NEWS:8057 ../build/NEWS:12276 +msgid "" +"`bpo-32713 `__: Fixed tarfile.itn " +"handling of out-of-bounds float values. Patch by Joffrey Fuhrer." +msgstr "" + +#: ../build/NEWS:6190 ../build/NEWS:7564 +msgid "" +"`bpo-32257 `__: The ssl module now " +"contains OP_NO_RENEGOTIATION constant, available with OpenSSL 1.1.0h or " +"1.1.1." +msgstr "" + +#: ../build/NEWS:6193 ../build/NEWS:8060 +msgid "" +"`bpo-32951 `__: Direct instantiation of " +"SSLSocket and SSLObject objects is now prohibited. The constructors were " +"never documented, tested, or designed as public constructors. Users were " +"suppose to use ssl.wrap_socket() or SSLContext." +msgstr "" + +#: ../build/NEWS:6198 ../build/NEWS:8065 +msgid "" +"`bpo-32929 `__: Remove the tri-state " +"parameter \"hash\", and add the boolean \"unsafe_hash\". If unsafe_hash is " +"True, add a __hash__ function, but if a __hash__ exists, raise TypeError. " +"If unsafe_hash is False, add a __hash__ based on the values of eq= and " +"frozen=. The unsafe_hash=False behavior is the same as the old hash=None " +"behavior. unsafe_hash=False is the default, just as hash=None used to be." +msgstr "" + +#: ../build/NEWS:6205 ../build/NEWS:8072 +msgid "" +"`bpo-32947 `__: Add " +"OP_ENABLE_MIDDLEBOX_COMPAT and test workaround for TLSv1.3 for future " +"compatibility with OpenSSL 1.1.1." +msgstr "" + +#: ../build/NEWS:6208 +msgid "" +"`bpo-32146 `__: Document the interaction " +"between frozen executables and the spawn and forkserver start methods in " +"multiprocessing." +msgstr "" + +#: ../build/NEWS:6211 ../build/NEWS:8075 ../build/NEWS:12279 +msgid "" +"`bpo-30622 `__: The ssl module now " +"detects missing NPN support in LibreSSL." +msgstr "" + +#: ../build/NEWS:6213 ../build/NEWS:8077 ../build/NEWS:12281 +msgid "" +"`bpo-32922 `__: dbm.open() now encodes " +"filename with the filesystem encoding rather than default encoding." +msgstr "" + +#: ../build/NEWS:6216 +msgid "" +"`bpo-32759 `__: Free unused arenas in " +"multiprocessing.heap." +msgstr "" + +#: ../build/NEWS:6218 ../build/NEWS:8080 ../build/NEWS:12284 +msgid "" +"`bpo-32859 `__: In ``os.dup2``, don't " +"check every call whether the ``dup3`` syscall exists or not." +msgstr "" + +#: ../build/NEWS:6221 ../build/NEWS:8083 +msgid "" +"`bpo-32556 `__: nt._getfinalpathname, nt." +"_getvolumepathname and nt._getdiskusage now correctly convert from bytes." +msgstr "" + +#: ../build/NEWS:6224 ../build/NEWS:8089 ../build/NEWS:12287 +msgid "" +"`bpo-21060 `__: Rewrite confusing " +"message from setup.py upload from \"No dist file created in earlier command" +"\" to the more helpful \"Must create and upload files in one command\"." +msgstr "" + +#: ../build/NEWS:6228 ../build/NEWS:7925 ../build/NEWS:12291 +msgid "" +"`bpo-32857 `__: In :mod:`tkinter`, " +"``after_cancel(None)`` now raises a :exc:`ValueError` instead of canceling " +"the first scheduled function. Patch by Cheryl Sabella." +msgstr "" + +#: ../build/NEWS:6232 ../build/NEWS:8093 ../build/NEWS:12295 +msgid "" +"`bpo-32852 `__: Make sure sys.argv " +"remains as a list when running trace." +msgstr "" + +#: ../build/NEWS:6234 +#, python-format +msgid "" +"`bpo-31333 `__: ``_abc`` module is " +"added. It is a speedup module with C implementations for various functions " +"and methods in ``abc``. Creating an ABC subclass and calling ``isinstance`` " +"or ``issubclass`` with an ABC subclass are up to 1.5x faster. In addition, " +"this makes Python start-up up to 10% faster." +msgstr "" + +#: ../build/NEWS:6240 +msgid "" +"Note that the new implementation hides internal registry and caches, " +"previously accessible via private attributes ``_abc_registry``, " +"``_abc_cache``, and ``_abc_negative_cache``. There are three debugging " +"helper methods that can be used instead ``_dump_registry``, " +"``_abc_registry_clear``, and ``_abc_caches_clear``." +msgstr "" + +#: ../build/NEWS:6246 ../build/NEWS:8105 ../build/NEWS:12297 +msgid "" +"`bpo-32841 `__: Fixed `asyncio." +"Condition` issue which silently ignored cancellation after notifying and " +"cancelling a conditional lock. Patch by Bar Harel." +msgstr "" + +#: ../build/NEWS:6250 ../build/NEWS:8109 +msgid "" +"`bpo-32819 `__: ssl.match_hostname() has " +"been simplified and no longer depends on re and ipaddress module for " +"wildcard and IP addresses. Error reporting for invalid wildcards has been " +"improved." +msgstr "" + +#: ../build/NEWS:6254 +msgid "" +"`bpo-19675 `__: ``multiprocessing.Pool`` " +"no longer leaks processes if its initialization fails." +msgstr "" + +#: ../build/NEWS:6257 ../build/NEWS:8113 +msgid "" +"`bpo-32394 `__: socket: Remove " +"TCP_FASTOPEN,TCP_KEEPCNT,TCP_KEEPIDLE,TCP_KEEPINTVL flags on older version " +"Windows during run-time." +msgstr "" + +#: ../build/NEWS:6261 ../build/NEWS:8117 ../build/NEWS:12301 +msgid "" +"`bpo-31787 `__: Fixed refleaks of " +"``__init__()`` methods in various modules. (Contributed by Oren Milman)" +msgstr "" + +#: ../build/NEWS:6264 ../build/NEWS:8120 ../build/NEWS:12304 +msgid "" +"`bpo-30157 `__: Fixed guessing quote and " +"delimiter in csv.Sniffer.sniff() when only the last field is quoted. Patch " +"by Jake Davis." +msgstr "" + +#: ../build/NEWS:6267 +msgid "" +"`bpo-30688 `__: Added support of ``" +"\\N{name}`` escapes in regular expressions. Based on patch by Jonathan " +"Eunice." +msgstr "" + +#: ../build/NEWS:6270 ../build/NEWS:8123 +msgid "" +"`bpo-32792 `__: collections.ChainMap() " +"preserves the order of the underlying mappings." +msgstr "" + +#: ../build/NEWS:6273 ../build/NEWS:8126 +msgid "" +"`bpo-32775 `__: :func:`fnmatch." +"translate()` no longer produces patterns which contain set operations. Sets " +"starting with '[' or containing '--', '&&', '~~' or '||' will be interpreted " +"differently in regular expressions in future versions. Currently they emit " +"warnings. fnmatch.translate() now avoids producing patterns containing such " +"sets by accident." +msgstr "" + +#: ../build/NEWS:6279 ../build/NEWS:8132 +msgid "" +"`bpo-32622 `__: Implement native fast " +"sendfile for Windows proactor event loop." +msgstr "" + +#: ../build/NEWS:6281 ../build/NEWS:8134 ../build/NEWS:12310 +msgid "" +"`bpo-32777 `__: Fix a rare but potential " +"pre-exec child process deadlock in subprocess on POSIX systems when marking " +"file descriptors inheritable on exec in the child process. This bug appears " +"to have been introduced in 3.4." +msgstr "" + +#: ../build/NEWS:6286 ../build/NEWS:8139 ../build/NEWS:12315 +msgid "" +"`bpo-32647 `__: The ctypes module used " +"to depend on indirect linking for dlopen. The shared extension is now " +"explicitly linked against libdl on platforms with dl." +msgstr "" + +#: ../build/NEWS:6290 +msgid "" +"`bpo-32749 `__: A :mod:`dbm.dumb` " +"database opened with flags 'r' is now read-only. :func:`dbm.dumb.open` with " +"flags 'r' and 'w' no longer creates a database if it does not exist." +msgstr "" + +#: ../build/NEWS:6294 ../build/NEWS:8143 +msgid "" +"`bpo-32741 `__: Implement ``asyncio." +"TimerHandle.when()`` method." +msgstr "" + +#: ../build/NEWS:6296 ../build/NEWS:8145 +msgid "" +"`bpo-32691 `__: Use mod_spec.parent when " +"running modules with pdb" +msgstr "" + +#: ../build/NEWS:6298 ../build/NEWS:8147 ../build/NEWS:12319 +msgid "" +"`bpo-32734 `__: Fixed ``asyncio.Lock()`` " +"safety issue which allowed acquiring and locking the same lock multiple " +"times, without it being free. Patch by Bar Harel." +msgstr "" + +#: ../build/NEWS:6302 ../build/NEWS:8151 ../build/NEWS:12323 +msgid "" +"`bpo-32727 `__: Do not include name " +"field in SMTP envelope from address. Patch by Stéphane Wirtel" +msgstr "" + +#: ../build/NEWS:6305 ../build/NEWS:8154 +msgid "" +"`bpo-31453 `__: Add TLSVersion constants " +"and SSLContext.maximum_version / minimum_version attributes. The new API " +"wraps OpenSSL 1.1 https://www.openssl.org/docs/man1.1.0/ssl/" +"SSL_CTX_set_min_proto_version.html feature." +msgstr "" + +#: ../build/NEWS:6310 ../build/NEWS:8159 +msgid "" +"`bpo-24334 `__: Internal implementation " +"details of ssl module were cleaned up. The SSLSocket has one less layer of " +"indirection. Owner and session information are now handled by the SSLSocket " +"and SSLObject constructor. Channel binding implementation has been " +"simplified." +msgstr "" + +#: ../build/NEWS:6315 ../build/NEWS:8164 ../build/NEWS:12336 +msgid "" +"`bpo-31848 `__: Fix the error handling " +"in Aifc_read.initfp() when the SSND chunk is not found. Patch by Zackery " +"Spytz." +msgstr "" + +#: ../build/NEWS:6318 ../build/NEWS:8167 +msgid "" +"`bpo-32585 `__: Add Ttk spinbox widget " +"to :mod:`tkinter.ttk`. Patch by Alan D Moore." +msgstr "" + +#: ../build/NEWS:6321 +msgid "" +"`bpo-32512 `__: :mod:`profile` CLI " +"accepts `-m module_name` as an alternative to script path." +msgstr "" + +#: ../build/NEWS:6324 +msgid "" +"`bpo-8525 `__: help() on a type now " +"displays builtin subclasses. This is intended primarily to help with " +"notification of more specific exception subclasses." +msgstr "" + +#: ../build/NEWS:6328 +msgid "Patch by Sanyam Khurana." +msgstr "" + +#: ../build/NEWS:6330 +msgid "" +"`bpo-31639 `__: http.server now exposes " +"a ThreadingHTTPServer class and uses it when the module is run with ``-m`` " +"to cope with web browsers pre-opening sockets." +msgstr "" + +#: ../build/NEWS:6334 +msgid "" +"`bpo-29877 `__: compileall: import " +"ProcessPoolExecutor only when needed, preventing hangs on low resource " +"platforms" +msgstr "" + +#: ../build/NEWS:6337 ../build/NEWS:8170 +#, python-format +msgid "" +"`bpo-32221 `__: Various functions " +"returning tuple containing IPv6 addresses now omit ``%scope`` part since the " +"same information is already encoded in *scopeid* tuple item. Especially this " +"speeds up :func:`socket.recvfrom` when it receives multicast packet since " +"useless resolving of network interface name is omitted." +msgstr "" + +#: ../build/NEWS:6343 +msgid "" +"`bpo-32147 `__: :func:`binascii." +"unhexlify` is now up to 2 times faster. Patch by Sergey Fedoseev." +msgstr "" + +#: ../build/NEWS:6346 ../build/NEWS:8176 +msgid "" +"`bpo-30693 `__: The TarFile class now " +"recurses directories in a reproducible way." +msgstr "" + +#: ../build/NEWS:6349 ../build/NEWS:8179 +msgid "" +"`bpo-30693 `__: The ZipFile class now " +"recurses directories in a reproducible way." +msgstr "" + +#: ../build/NEWS:6352 +msgid "" +"`bpo-31680 `__: Added :data:`curses." +"ncurses_version`." +msgstr "" + +#: ../build/NEWS:6354 ../build/NEWS:7715 ../build/NEWS:12022 +msgid "" +"`bpo-31908 `__: Fix output of cover " +"files for ``trace`` module command-line tool. Previously emitted cover files " +"only when ``--missing`` option was used. Patch by Michael Selik." +msgstr "" + +#: ../build/NEWS:6358 +msgid "" +"`bpo-31608 `__: Raise a ``TypeError`` " +"instead of crashing if a ``collections.deque`` subclass returns a non-deque " +"from ``__new__``. Patch by Oren Milman." +msgstr "" + +#: ../build/NEWS:6362 +msgid "" +"`bpo-31425 `__: Add support for sockets " +"of the AF_QIPCRTR address family, supported by the Linux kernel. This is " +"used to communicate with services, such as GPS or radio, running on Qualcomm " +"devices. Patch by Bjorn Andersson." +msgstr "" + +#: ../build/NEWS:6367 +msgid "" +"`bpo-22005 `__: Implemented unpickling " +"instances of :class:`~datetime.datetime`, :class:`~datetime.date` and :class:" +"`~datetime.time` pickled by Python 2. ``encoding='latin1'`` should be used " +"for successful decoding." +msgstr "" + +#: ../build/NEWS:6372 ../build/NEWS:7933 +msgid "" +"`bpo-27645 `__: :class:`sqlite3." +"Connection` now exposes a :class:`~sqlite3.Connection.backup` method, if the " +"underlying SQLite library is at version 3.6.11 or higher. Patch by Lele " +"Gaifax." +msgstr "" + +#: ../build/NEWS:6376 ../build/NEWS:7567 ../build/NEWS:12029 +msgid "" +"`bpo-16865 `__: Support arrays >=2GiB " +"in :mod:`ctypes`. Patch by Segev Finer." +msgstr "" + +#: ../build/NEWS:6378 +msgid "" +"`bpo-31508 `__: Removed support of " +"arguments in `tkinter.ttk.Treeview.selection`. It was deprecated in 3.6. " +"Use specialized methods like `selection_set` for changing the selection." +msgstr "" + +#: ../build/NEWS:6382 +msgid "" +"`bpo-29456 `__: Fix bugs in hangul " +"normalization: u1176, u11a7 and u11c3" +msgstr "" + +#: ../build/NEWS:6387 +msgid "" +"`bpo-21257 `__: Document :func:`http." +"client.parse_headers`." +msgstr "" + +#: ../build/NEWS:6389 +msgid "" +"`bpo-34764 `__: Improve example of " +"iter() with 2nd sentinel argument." +msgstr "" + +#: ../build/NEWS:6391 +msgid "" +"`bpo-35564 `__: Explicitly set " +"master_doc variable in conf.py for compliance with Sphinx 2.0" +msgstr "" + +#: ../build/NEWS:6394 +msgid "" +"`bpo-35511 `__: Specified that profile." +"Profile class doesn't not support enable or disable methods. Also, " +"elaborated that Profile object as a context manager is only supported in " +"cProfile module." +msgstr "" + +#: ../build/NEWS:6398 +msgid "" +"`bpo-10536 `__: Enhance the gettext " +"docs. Patch by Éric Araujo" +msgstr "" + +#: ../build/NEWS:6400 +msgid "" +"`bpo-35089 `__: Remove mention of " +"``typing.io`` and ``typing.re``. Their types should be imported from " +"``typing`` directly." +msgstr "" + +#: ../build/NEWS:6403 +msgid "" +"`bpo-35038 `__: Fix the documentation " +"about an unexisting `f_restricted` attribute in the frame object. Patch by " +"Stéphane Wirtel" +msgstr "" + +#: ../build/NEWS:6406 +msgid "" +"`bpo-35042 `__: Replace PEP XYZ by the " +"pep role and allow to use the direct links to the PEPs." +msgstr "" + +#: ../build/NEWS:6409 +msgid "" +"`bpo-35044 `__: Fix the documentation " +"with the role ``exc`` for the appropriated exception. Patch by Stéphane " +"Wirtel" +msgstr "" + +#: ../build/NEWS:6412 +msgid "" +"`bpo-35035 `__: Rename documentation " +"for :mod:`email.utils` to ``email.utils.rst``." +msgstr "" + +#: ../build/NEWS:6415 +msgid "" +"`bpo-34967 `__: Use app." +"add_object_type() instead of the deprecated Sphinx function app." +"description_unit()" +msgstr "" + +#: ../build/NEWS:6418 +msgid "" +"`bpo-34913 `__: Add documentation about " +"the new command line interface of the gzip module." +msgstr "" + +#: ../build/NEWS:6421 +msgid "" +"`bpo-32174 `__: chm document displays " +"non-ASCII charaters properly on some MBCS Windows systems." +msgstr "" + +#: ../build/NEWS:6424 +msgid "" +"`bpo-11233 `__: Create availability " +"directive for documentation. Original patch by Georg Brandl." +msgstr "" + +#: ../build/NEWS:6427 +msgid "" +"`bpo-34790 `__: Document how passing " +"coroutines to asyncio.wait() can be confusing." +msgstr "" + +#: ../build/NEWS:6430 +msgid "" +"`bpo-34552 `__: Make clear that ``==`` " +"operator sometimes is equivalent to `is`. The ``<``, ``<=``, ``>`` and " +"``>=`` operators are only defined where they make sense." +msgstr "" + +#: ../build/NEWS:6434 +msgid "" +"`bpo-28617 `__: Fixed info in the " +"stdtypes docs concerning the types that support membership tests." +msgstr "" + +#: ../build/NEWS:6437 +msgid "" +"`bpo-20177 `__: Migrate datetime.date." +"fromtimestamp to Argument Clinic. Patch by Tim Hoffmann." +msgstr "" + +#: ../build/NEWS:6440 +msgid "" +"`bpo-34065 `__: Fix wrongly written " +"basicConfig documentation markup syntax" +msgstr "" + +#: ../build/NEWS:6442 +msgid "" +"`bpo-33460 `__: replaced ellipsis with " +"correct error codes in tutorial chapter 3." +msgstr "" + +#: ../build/NEWS:6445 +msgid "" +"`bpo-33847 `__: Add '@' operator entry " +"to index." +msgstr "" + +#: ../build/NEWS:6447 ../build/NEWS:7362 +msgid "" +"`bpo-33409 `__: Clarified the " +"relationship between :pep:`538`'s PYTHONCOERCECLOCALE and PEP 540's " +"PYTHONUTF8 mode." +msgstr "" + +#: ../build/NEWS:6450 +msgid "" +"`bpo-33197 `__: Add versionadded tag to " +"the documentation of ParameterKind.description" +msgstr "" + +#: ../build/NEWS:6453 +msgid "" +"`bpo-17045 `__: Improve the C-API doc " +"for PyTypeObject. This includes adding several quick-reference tables and a " +"lot of missing slot/typedef entries. The existing entries were also cleaned " +"up with a slightly more consistent format." +msgstr "" + +#: ../build/NEWS:6458 ../build/NEWS:7365 +msgid "" +"`bpo-33736 `__: Improve the " +"documentation of :func:`asyncio.open_connection`, :func:`asyncio." +"start_server` and their UNIX socket counterparts." +msgstr "" + +#: ../build/NEWS:6461 ../build/NEWS:7572 +msgid "" +"`bpo-23859 `__: Document that `asyncio." +"wait()` does not cancel its futures on timeout." +msgstr "" + +#: ../build/NEWS:6464 ../build/NEWS:7575 +msgid "" +"`bpo-32436 `__: Document :pep:`567` " +"changes to asyncio." +msgstr "" + +#: ../build/NEWS:6466 ../build/NEWS:7577 +msgid "" +"`bpo-33604 `__: Update HMAC md5 default " +"to a DeprecationWarning, bump removal to 3.8." +msgstr "" + +#: ../build/NEWS:6469 +msgid "" +"`bpo-33594 `__: Document ``getargspec``, " +"``from_function`` and ``from_builtin`` as deprecated in their respective " +"docstring, and include version since deprecation in DeprecationWarning " +"message." +msgstr "" + +#: ../build/NEWS:6473 ../build/NEWS:7580 ../build/NEWS:12038 +msgid "" +"`bpo-33503 `__: Fix broken pypi link" +msgstr "" + +#: ../build/NEWS:6475 ../build/NEWS:7582 ../build/NEWS:12040 +msgid "" +"`bpo-33421 `__: Add missing " +"documentation for ``typing.AsyncContextManager``." +msgstr "" + +#: ../build/NEWS:6477 +msgid "" +"`bpo-33487 `__: BZ2file now emit a " +"DeprecationWarning when buffering=None is passed, the deprecation message " +"and documentation also now explicitly state it is deprecated since 3.0." +msgstr "" + +#: ../build/NEWS:6481 ../build/NEWS:7722 ../build/NEWS:12042 +msgid "" +"`bpo-33378 `__: Add Korean language " +"switcher for https://docs.python.org/3/" +msgstr "" + +#: ../build/NEWS:6483 ../build/NEWS:7724 ../build/NEWS:12044 +msgid "" +"`bpo-33276 `__: Clarify that the " +"``__path__`` attribute on modules cannot be just any value." +msgstr "" + +#: ../build/NEWS:6486 ../build/NEWS:7727 ../build/NEWS:12047 +msgid "" +"`bpo-33201 `__: Modernize documentation " +"for writing C extension types." +msgstr "" + +#: ../build/NEWS:6488 ../build/NEWS:7729 ../build/NEWS:12049 +msgid "" +"`bpo-33195 `__: Deprecate ``Py_UNICODE`` " +"usage in ``c-api/arg`` document. ``Py_UNICODE`` related APIs are deprecated " +"since Python 3.3, but it is missed in the document." +msgstr "" + +#: ../build/NEWS:6492 ../build/NEWS:7940 ../build/NEWS:12053 +msgid "" +"`bpo-33126 `__: Document " +"PyBuffer_ToContiguous()." +msgstr "" + +#: ../build/NEWS:6494 ../build/NEWS:7942 ../build/NEWS:12055 +msgid "" +"`bpo-27212 `__: Modify documentation for " +"the :func:`islice` recipe to consume initial values up to the start index." +msgstr "" + +#: ../build/NEWS:6497 ../build/NEWS:7945 ../build/NEWS:12058 +msgid "" +"`bpo-28247 `__: Update :mod:`zipapp` " +"documentation to describe how to make standalone applications." +msgstr "" + +#: ../build/NEWS:6500 ../build/NEWS:7948 ../build/NEWS:12061 +msgid "" +"`bpo-18802 `__: Documentation changes " +"for ipaddress. Patch by Jon Foster and Berker Peksag." +msgstr "" + +#: ../build/NEWS:6503 ../build/NEWS:7951 ../build/NEWS:12064 +msgid "" +"`bpo-27428 `__: Update documentation to " +"clarify that ``WindowsRegistryFinder`` implements ``MetaPathFinder``. (Patch " +"by Himanshu Lakhara)" +msgstr "" + +#: ../build/NEWS:6506 ../build/NEWS:8185 +msgid "" +"`bpo-28124 `__: The ssl module function " +"ssl.wrap_socket() has been de-emphasized and deprecated in favor of the more " +"secure and efficient SSLContext.wrap_socket() method." +msgstr "" + +#: ../build/NEWS:6510 ../build/NEWS:8189 ../build/NEWS:12394 +msgid "" +"`bpo-17232 `__: Clarify docs for -O and -" +"OO. Patch by Terry Reedy." +msgstr "" + +#: ../build/NEWS:6512 ../build/NEWS:8191 +msgid "" +"`bpo-32436 `__: Add documentation for " +"the contextvars module (PEP 567)." +msgstr "" + +#: ../build/NEWS:6514 ../build/NEWS:8193 ../build/NEWS:12396 +msgid "" +"`bpo-32800 `__: Update link to w3c doc " +"for xml default namespaces." +msgstr "" + +#: ../build/NEWS:6516 ../build/NEWS:8195 +msgid "" +"`bpo-11015 `__: Update :mod:`test." +"support` documentation." +msgstr "" + +#: ../build/NEWS:6518 +msgid "" +"`bpo-32613 `__: Update the faq/windows." +"html to use the py command from PEP 397 instead of python." +msgstr "" + +#: ../build/NEWS:6521 ../build/NEWS:8197 ../build/NEWS:12398 +msgid "" +"`bpo-8722 `__: Document :meth:" +"`__getattr__` behavior when property :meth:`get` method raises :exc:" +"`AttributeError`." +msgstr "" + +#: ../build/NEWS:6524 ../build/NEWS:8200 ../build/NEWS:12401 +msgid "" +"`bpo-32614 `__: Modify RE examples in " +"documentation to use raw strings to prevent :exc:`DeprecationWarning` and " +"add text to REGEX HOWTO to highlight the deprecation." +msgstr "" + +#: ../build/NEWS:6528 +msgid "" +"`bpo-20709 `__: Remove the paragraph " +"where we explain that os.utime() does not support a directory as path under " +"Windows. Patch by Jan-Philip Gehrcke" +msgstr "" + +#: ../build/NEWS:6531 +msgid "" +"`bpo-32722 `__: Remove the bad example " +"in the tutorial of the Generator Expression. Patch by Stéphane Wirtel" +msgstr "" + +#: ../build/NEWS:6534 ../build/NEWS:8204 ../build/NEWS:12405 +msgid "" +"`bpo-31972 `__: Improve docstrings for " +"`pathlib.PurePath` subclasses." +msgstr "" + +#: ../build/NEWS:6536 +msgid "" +"`bpo-30607 `__: Use the externalized " +"``python-docs-theme`` package when building the documentation." +msgstr "" + +#: ../build/NEWS:6539 ../build/NEWS:7733 ../build/NEWS:12067 +msgid "" +"`bpo-8243 `__: Add a note about curses." +"addch and curses.addstr exception behavior when writing outside a window, or " +"pad." +msgstr "" + +#: ../build/NEWS:6542 ../build/NEWS:7736 +msgid "" +"`bpo-32337 `__: Update documentation " +"related with ``dict`` order." +msgstr "" + +#: ../build/NEWS:6544 +msgid "" +"`bpo-25041 `__: Document ``AF_PACKET`` " +"in the :mod:`socket` module." +msgstr "" + +#: ../build/NEWS:6546 ../build/NEWS:7368 ../build/NEWS:12070 +msgid "" +"`bpo-31432 `__: Clarify meaning of " +"CERT_NONE, CERT_OPTIONAL, and CERT_REQUIRED flags for ssl.SSLContext." +"verify_mode." +msgstr "" + +#: ../build/NEWS:6552 +msgid "" +"`bpo-35772 `__: Fix sparse file tests of " +"test_tarfile on ppc64 with the tmpfs filesystem. Fix the function testing if " +"the filesystem supports sparse files: create a file which contains data and " +"\"holes\", instead of creating a file which contains no data. tmpfs " +"effective block size is a page size (tmpfs lives in the page cache). RHEL " +"uses 64 KiB pages on aarch64, ppc64, ppc64le, only s390x and x86_64 use 4 " +"KiB pages, whereas the test punch holes of 4 KiB." +msgstr "" + +#: ../build/NEWS:6560 +msgid "" +"`bpo-35045 `__: Make ssl tests less " +"strict and also accept TLSv1 as system default. The changes unbreaks " +"test_min_max_version on Fedora 29." +msgstr "" + +#: ../build/NEWS:6563 +msgid "" +"`bpo-32710 `__: ``test_asyncio/" +"test_sendfile.py`` now resets the event loop policy using :func:" +"`tearDownModule` as done in other tests, to prevent a warning when running " +"tests on Windows." +msgstr "" + +#: ../build/NEWS:6567 +msgid "" +"`bpo-33717 `__: test.pythoninfo now logs " +"information of all clocks, not only time.time() and time.perf_counter()." +msgstr "" + +#: ../build/NEWS:6570 +msgid "" +"`bpo-35488 `__: Add a test to pathlib's " +"Path.match() to verify it does not support glob-style ** recursive pattern " +"matching." +msgstr "" + +#: ../build/NEWS:6573 +msgid "" +"`bpo-31731 `__: Fix a race condition in " +"``check_interrupted_write()`` of test_io: create directly the thread with " +"SIGALRM signal blocked, rather than blocking the signal later from the " +"thread. Previously, it was possible that the thread gets the signal before " +"the signal is blocked." +msgstr "" + +#: ../build/NEWS:6578 +msgid "" +"`bpo-35424 `__: Fix " +"test_multiprocessing_main_handling: use :class:`multiprocessing.Pool` with a " +"context manager and then explicitly join the pool." +msgstr "" + +#: ../build/NEWS:6582 +msgid "" +"`bpo-35519 `__: Rename :mod:`test." +"bisect` module to :mod:`test.bisect_cmd` to avoid conflict with :mod:" +"`bisect` module when running directly a test like ``./python Lib/test/" +"test_xmlrpc.py``." +msgstr "" + +#: ../build/NEWS:6586 +msgid "" +"`bpo-35513 `__: Replace :func:`time." +"time` with :func:`time.monotonic` in tests to measure time delta." +msgstr "" + +#: ../build/NEWS:6589 +msgid "" +"`bpo-34279 `__: :func:`test.support." +"run_unittest` no longer raise :exc:`TestDidNotRun` if the test result " +"contains skipped tests. The exception is now only raised if no test have " +"been run and no test have been skipped." +msgstr "" + +#: ../build/NEWS:6594 +msgid "" +"`bpo-35412 `__: Add testcase to " +"``test_future4``: check unicode literal." +msgstr "" + +#: ../build/NEWS:6596 +msgid "" +"`bpo-26704 `__: Added test demonstrating " +"double-patching of an instance method. Patch by Anthony Sottile." +msgstr "" + +#: ../build/NEWS:6599 +msgid "" +"`bpo-33725 `__: " +"test_multiprocessing_fork may crash on recent versions of macOS. Until the " +"issue is resolved, skip the test on macOS." +msgstr "" + +#: ../build/NEWS:6602 +msgid "" +"`bpo-35352 `__: Modify test_asyncio to " +"use the certificate set from the test directory." +msgstr "" + +#: ../build/NEWS:6605 +msgid "" +"`bpo-35317 `__: Fix ``mktime()`` " +"overflow error in ``test_email``: run " +"``test_localtime_daylight_true_dst_true()`` and " +"``test_localtime_daylight_false_dst_true()`` with a specific timezone." +msgstr "" + +#: ../build/NEWS:6609 +msgid "" +"`bpo-21263 `__: After several reports " +"that test_gdb does not work properly on macOS and since gdb is not shipped " +"by default anymore, test_gdb is now skipped on macOS when LLVM Clang has " +"been used to compile Python. Patch by Lysandros Nikolaou" +msgstr "" + +#: ../build/NEWS:6614 +msgid "" +"`bpo-34279 `__: regrtest issue a warning " +"when no tests have been executed in a particular test file. Also, a new " +"final result state is issued if no test have been executed across all test " +"files. Patch by Pablo Galindo." +msgstr "" + +#: ../build/NEWS:6618 +msgid "" +"`bpo-34962 `__: make docstest in Doc now " +"passes., and is enforced in CI" +msgstr "" + +#: ../build/NEWS:6620 +msgid "" +"`bpo-23596 `__: Use argparse for the " +"command line of the gzip module. Patch by Antony Lee" +msgstr "" + +#: ../build/NEWS:6623 +msgid "" +"`bpo-34537 `__: Fix ``test_gdb." +"test_strings()`` when ``LC_ALL=C`` and GDB was compiled with Python 3.6 or " +"earlier." +msgstr "" + +#: ../build/NEWS:6626 +msgid "" +"`bpo-34587 `__: test_socket: Remove " +"RDSTest.testCongestion(). The test tries to fill the receiver's socket " +"buffer and expects an error. But the RDS protocol doesn't require that. " +"Moreover, the Linux implementation of RDS expects that the producer of the " +"messages reduces its rate, it's not the role of the receiver to trigger an " +"error. The test fails on Fedora 28 by design, so just remove it." +msgstr "" + +#: ../build/NEWS:6633 +msgid "" +"`bpo-34661 `__: Fix test_shutil if unzip " +"doesn't support -t." +msgstr "" + +#: ../build/NEWS:6635 +msgid "" +"`bpo-34200 `__: Fixed non-deterministic " +"flakiness of test_pkg by not using the scary test.support.module_cleanup() " +"logic to save and restore sys.modules contents between test cases." +msgstr "" + +#: ../build/NEWS:6639 +msgid "" +"`bpo-34569 `__: The experimental PEP 554 " +"data channels now correctly pass negative PyLong objects between " +"subinterpreters on 32-bit systems. Patch by Michael Felt." +msgstr "" + +#: ../build/NEWS:6643 +msgid "" +"`bpo-34594 `__: Fix usage of hardcoded " +"``errno`` values in the tests." +msgstr "" + +#: ../build/NEWS:6645 +msgid "" +"`bpo-34579 `__: Fix test_embed for AIX " +"Patch by Michael Felt" +msgstr "" + +#: ../build/NEWS:6647 +msgid "" +"`bpo-34542 `__: Use 3072 RSA keys and " +"SHA-256 signature for test certs and keys." +msgstr "" + +#: ../build/NEWS:6650 +msgid "" +"`bpo-11193 `__: Remove special condition " +"for AIX in `test_subprocess.test_undecodable_env`" +msgstr "" + +#: ../build/NEWS:6653 +msgid "" +"`bpo-34347 `__: Fix `test_utf8_mode." +"test_cmd_line` for AIX" +msgstr "" + +#: ../build/NEWS:6655 +msgid "" +"`bpo-34490 `__: On AIX with AF_UNIX " +"family sockets getsockname() does not provide 'sockname', so skip calls to " +"transport.get_extra_info('sockname')" +msgstr "" + +#: ../build/NEWS:6658 +msgid "" +"`bpo-34391 `__: Fix ftplib test for TLS " +"1.3 by reading from data socket." +msgstr "" + +#: ../build/NEWS:6660 +msgid "" +"`bpo-11192 `__: Fix `test_socket` on AIX " +"AIX 6.1 and later IPv6 zone id supports only supported by inet_pton6_zone() " +"Switch to runtime-based platform.system() to establish current platform " +"rather than build-time based sys.platform()" +msgstr "" + +#: ../build/NEWS:6665 +msgid "" +"`bpo-34399 `__: Update all RSA keys and " +"DH params to use at least 2048 bits." +msgstr "" + +#: ../build/NEWS:6667 +msgid "" +"`bpo-34373 `__: Fix ``test_mktime`` and " +"``test_pthread_getcpuclickid`` tests for AIX Add range checking for " +"``_PyTime_localtime`` for AIX Patch by Michael Felt" +msgstr "" + +#: ../build/NEWS:6671 +msgid "" +"`bpo-11191 `__: Skip the distutils test " +"'test_search_cpp' when using XLC as compiler patch by aixtools (Michael Felt)" +msgstr "" + +#: ../build/NEWS:6674 +msgid "Improved an error message when mock assert_has_calls fails." +msgstr "" + +#: ../build/NEWS:6676 +msgid "" +"`bpo-33746 `__: Fix test_unittest when " +"run in verbose mode." +msgstr "" + +#: ../build/NEWS:6678 +msgid "" +"`bpo-33901 `__: Fix test_dbm_gnu on " +"macOS with gdbm 1.15: add a larger value to make sure that the file size " +"changes." +msgstr "" + +#: ../build/NEWS:6681 +msgid "" +"`bpo-33873 `__: Fix a bug in " +"``regrtest`` that caused an extra test to run if --huntrleaks/-R was used. " +"Exit with error in case that invalid parameters are specified to --" +"huntrleaks/-R (at least one warmup run and one repetition must be used)." +msgstr "" + +#: ../build/NEWS:6686 +msgid "" +"`bpo-33562 `__: Check that a global " +"asyncio event loop policy is not left behind by any tests." +msgstr "" + +#: ../build/NEWS:6689 ../build/NEWS:7587 ../build/NEWS:12076 +msgid "" +"`bpo-33655 `__: Ignore " +"test_posix_fallocate failures on BSD platforms that might be due to running " +"on ZFS." +msgstr "" + +#: ../build/NEWS:6692 +msgid "" +"`bpo-32962 `__: Fixed test_gdb when " +"Python is compiled with flags -mcet -fcf-protection -O0." +msgstr "" + +#: ../build/NEWS:6695 ../build/NEWS:7741 +msgid "" +"`bpo-33358 `__: Fix ``test_embed." +"test_pre_initialization_sys_options()`` when the interpreter is built with " +"``--enable-shared``." +msgstr "" + +#: ../build/NEWS:6698 ../build/NEWS:7957 ../build/NEWS:12189 +msgid "" +"`bpo-32872 `__: Avoid regrtest " +"compatibility issue with namespace packages." +msgstr "" + +#: ../build/NEWS:6700 ../build/NEWS:7959 ../build/NEWS:12414 +msgid "" +"`bpo-32517 `__: Fix failing " +"``test_asyncio`` on macOS 10.12.2+ due to transport of ``KqueueSelector`` " +"loop was not being closed." +msgstr "" + +#: ../build/NEWS:6703 +msgid "" +"`bpo-32663 `__: Making sure the " +"`SMTPUTF8SimTests` class of tests gets run in test_smtplib.py." +msgstr "" + +#: ../build/NEWS:6706 +msgid "" +"`bpo-27643 `__: Test_C test case needs " +"\"signed short\" bitfields, but the IBM XLC compiler (on AIX) does not " +"support this Skip the code and test when AIX and XLC are used" +msgstr "" + +#: ../build/NEWS:6710 +msgid "Applicable to Python2-2.7 and later" +msgstr "" + +#: ../build/NEWS:6712 ../build/NEWS:7962 ../build/NEWS:12079 +msgid "`bpo-19417 `__: Add test_bdb.py." +msgstr "" + +#: ../build/NEWS:6714 ../build/NEWS:8209 +msgid "" +"`bpo-31809 `__: Add tests to verify " +"connection with secp ECDH curves." +msgstr "" + +#: ../build/NEWS:6719 +msgid "" +"`bpo-34691 `__: The _contextvars module " +"is now built into the core Python library on Windows." +msgstr "" + +#: ../build/NEWS:6722 +msgid "" +"`bpo-35683 `__: Improved Azure Pipelines " +"build steps and now verifying layouts correctly" +msgstr "" + +#: ../build/NEWS:6725 +msgid "" +"`bpo-35642 `__: Remove asynciomodule.c " +"from pythoncore.vcxproj" +msgstr "" + +#: ../build/NEWS:6727 +msgid "" +"`bpo-35550 `__: Fix incorrect Solaris " +"#ifdef checks to look for __sun && __SVR4 instead of sun when compiling." +msgstr "" + +#: ../build/NEWS:6730 +msgid "" +"`bpo-35499 `__: ``make profile-opt`` no " +"longer replaces ``CFLAGS_NODIST`` with ``CFLAGS``. It now adds profile-" +"guided optimization (PGO) flags to ``CFLAGS_NODIST``: existing " +"``CFLAGS_NODIST`` flags are kept." +msgstr "" + +#: ../build/NEWS:6734 +msgid "" +"`bpo-35257 `__: Avoid leaking the linker " +"flags from Link Time Optimizations (LTO) into distutils when compiling C " +"extensions." +msgstr "" + +#: ../build/NEWS:6737 +msgid "" +"`bpo-35351 `__: When building Python " +"with clang and LTO, LTO flags are no longer passed into CFLAGS to build " +"third-party C extensions through distutils." +msgstr "" + +#: ../build/NEWS:6741 +msgid "" +"`bpo-35139 `__: Fix a compiler error " +"when statically linking `pyexpat` in `Modules/Setup`." +msgstr "" + +#: ../build/NEWS:6744 +msgid "" +"`bpo-35059 `__: PCbuild: Set " +"InlineFunctionExpansion to OnlyExplicitInline (\"/Ob1\" option) in pyproject." +"props in Debug mode to expand functions marked as inline. This change should " +"make Python compiled in Debug mode a little bit faster on Windows." +msgstr "" + +#: ../build/NEWS:6749 +msgid "" +"`bpo-35011 `__: Restores the use of " +"pyexpatns.h to isolate our embedded copy of the expat C library so that its " +"symbols do not conflict at link or dynamic loading time with an embedding " +"application or other extension modules with their own version of libexpat." +msgstr "" + +#: ../build/NEWS:6754 +msgid "" +"`bpo-28015 `__: Have --with-lto works " +"correctly with clang." +msgstr "" + +#: ../build/NEWS:6756 +msgid "" +"`bpo-34765 `__: Update the outdated " +"install-sh file to the latest revision from automake v1.16.1" +msgstr "" + +#: ../build/NEWS:6759 +msgid "" +"`bpo-34585 `__: Check for floating-point " +"byte order in configure.ac using compilation tests instead of executing " +"code, so that these checks work in cross-compiled builds." +msgstr "" + +#: ../build/NEWS:6763 +msgid "" +"`bpo-34710 `__: Fixed SSL module build " +"with OpenSSL & pedantic CFLAGS." +msgstr "" + +#: ../build/NEWS:6765 +msgid "" +"`bpo-34582 `__: Add JUnit XML output for " +"regression tests and update Azure DevOps builds." +msgstr "" + +#: ../build/NEWS:6768 +msgid "" +"`bpo-34081 `__: Make Sphinx warnings as " +"errors in the Docs Makefile." +msgstr "" + +#: ../build/NEWS:6770 +msgid "" +"`bpo-34555 `__: Fix for case where it " +"was not possible to have both ``HAVE_LINUX_VM_SOCKETS_H`` and " +"``HAVE_SOCKADDR_ALG`` be undefined." +msgstr "" + +#: ../build/NEWS:6773 +msgid "" +"`bpo-33015 `__: Fix an undefined " +"behaviour in the pthread implementation of :c:func:" +"`PyThread_start_new_thread`: add a function wrapper to always return " +"``NULL``." +msgstr "" + +#: ../build/NEWS:6777 +msgid "" +"`bpo-34245 `__: The Python shared " +"library is now installed with write permission (mode 0755), which is the " +"standard way of installing such libraries." +msgstr "" + +#: ../build/NEWS:6781 +msgid "" +"`bpo-34121 `__: Fix detection of C11 " +"atomic support on clang." +msgstr "" + +#: ../build/NEWS:6783 +msgid "" +"`bpo-32430 `__: Rename Modules/Setup." +"dist to Modules/Setup, and remove the necessity to copy the former manually " +"to the latter when updating the local source tree." +msgstr "" + +#: ../build/NEWS:6787 +msgid "" +"`bpo-30345 `__: Add -g to LDFLAGS when " +"compiling with LTO to get debug symbols." +msgstr "" + +#: ../build/NEWS:6789 ../build/NEWS:7374 ../build/NEWS:12084 +msgid "" +"`bpo-5755 `__: Move ``-Wstrict-" +"prototypes`` option to ``CFLAGS_NODIST`` from ``OPT``. This option emitted " +"annoying warnings when building extension modules written in C++." +msgstr "" + +#: ../build/NEWS:6793 ../build/NEWS:7596 ../build/NEWS:12088 +msgid "" +"`bpo-33614 `__: Ensures module " +"definition files for the stable ABI on Windows are correctly regenerated." +msgstr "" + +#: ../build/NEWS:6796 +msgid "" +"`bpo-33648 `__: The --with-c-locale-" +"warning configuration flag has been removed. It has had no effect for about " +"a year." +msgstr "" + +#: ../build/NEWS:6799 ../build/NEWS:7599 ../build/NEWS:12091 +msgid "" +"`bpo-33522 `__: Enable CI builds on " +"Visual Studio Team Services at https://python.visualstudio.com/cpython" +msgstr "" + +#: ../build/NEWS:6802 +msgid "" +"`bpo-33512 `__: configure's check for " +"\"long double\" has been simplified" +msgstr "" + +#: ../build/NEWS:6804 +msgid "" +"`bpo-33483 `__: C compiler is now " +"correctly detected from the standard environment variables. --without-gcc " +"and --with-icc options have been removed." +msgstr "" + +#: ../build/NEWS:6808 ../build/NEWS:7747 ../build/NEWS:12098 +msgid "" +"`bpo-33394 `__: Enable the verbose build " +"for extension modules, when GNU make is passed macros on the command line." +msgstr "" + +#: ../build/NEWS:6811 ../build/NEWS:7750 +msgid "" +"`bpo-33393 `__: Update config.guess and " +"config.sub files." +msgstr "" + +#: ../build/NEWS:6813 ../build/NEWS:7752 +msgid "" +"`bpo-33377 `__: Add new triplets for " +"mips r6 and riscv variants (used in extension suffixes)." +msgstr "" + +#: ../build/NEWS:6816 ../build/NEWS:7755 +msgid "" +"`bpo-32232 `__: By default, modules " +"configured in `Modules/Setup` are no longer built with `-DPy_BUILD_CORE`. " +"Instead, modules that specifically need that preprocessor definition include " +"it in their individual entries." +msgstr "" + +#: ../build/NEWS:6820 ../build/NEWS:7759 +msgid "" +"`bpo-33182 `__: The embedding tests can " +"once again be built with clang 6.0" +msgstr "" + +#: ../build/NEWS:6822 ../build/NEWS:7967 ../build/NEWS:12194 +msgid "" +"`bpo-33163 `__: Upgrade pip to 9.0.3 and " +"setuptools to v39.0.1." +msgstr "" + +#: ../build/NEWS:6824 +msgid "" +"`bpo-33012 `__: gcc 8 has added a new " +"warning heuristic to detect invalid function casts and a stock python build " +"seems to hit that warning quite often. The most common is the cast of a " +"METH_NOARGS function (that uses just one argument) to a PyCFunction. Fix " +"this by adding a dummy argument to all functions that implement METH_NOARGS." +msgstr "" + +#: ../build/NEWS:6830 ../build/NEWS:8214 +msgid "" +"`bpo-32898 `__: Fix the python debug " +"build when using COUNT_ALLOCS." +msgstr "" + +#: ../build/NEWS:6832 +msgid "" +"`bpo-29442 `__: Replace optparse with " +"argparse in setup.py" +msgstr "" + +#: ../build/NEWS:6837 +msgid "" +"`bpo-35890 `__: Fix API calling " +"consistency of GetVersionEx and wcstok." +msgstr "" + +#: ../build/NEWS:6839 +msgid "" +"`bpo-32560 `__: The ``py`` launcher now " +"forwards its ``STARTUPINFO`` structure to child processes." +msgstr "" + +#: ../build/NEWS:6842 +msgid "" +"`bpo-35854 `__: Fix EnvBuilder and --" +"symlinks in venv on Windows" +msgstr "" + +#: ../build/NEWS:6844 +msgid "" +"`bpo-35811 `__: Avoid propagating venv " +"settings when launching via py.exe" +msgstr "" + +#: ../build/NEWS:6846 +msgid "" +"`bpo-35797 `__: Fix default executable " +"used by the multiprocessing module" +msgstr "" + +#: ../build/NEWS:6848 +msgid "" +"`bpo-35758 `__: Allow building on ARM " +"with MSVC." +msgstr "" + +#: ../build/NEWS:6850 +msgid "" +"`bpo-29734 `__: Fix handle leaks in os." +"stat on Windows." +msgstr "" + +#: ../build/NEWS:6852 +msgid "" +"`bpo-35596 `__: Use unchecked PYCs for " +"the embeddable distro to avoid zipimport restrictions." +msgstr "" + +#: ../build/NEWS:6855 +msgid "" +"`bpo-35596 `__: Fix vcruntime140.dll " +"being added to embeddable distro multiple times." +msgstr "" + +#: ../build/NEWS:6858 +msgid "" +"`bpo-35402 `__: Update Windows build to " +"use Tcl and Tk 8.6.9" +msgstr "" + +#: ../build/NEWS:6860 +msgid "" +"`bpo-35401 `__: Updates Windows build to " +"OpenSSL 1.1.0j" +msgstr "" + +#: ../build/NEWS:6862 +msgid "" +"`bpo-34977 `__: venv on Windows will now " +"use a python.exe redirector rather than copying the actual binaries from the " +"base environment." +msgstr "" + +#: ../build/NEWS:6865 +msgid "" +"`bpo-34977 `__: Adds support for " +"building a Windows App Store package" +msgstr "" + +#: ../build/NEWS:6867 +msgid "" +"`bpo-35067 `__: Remove _distutils_findvs " +"module and use vswhere.exe instead." +msgstr "" + +#: ../build/NEWS:6869 +msgid "" +"`bpo-32557 `__: Allow shutil.disk_usage " +"to take a file path on Windows" +msgstr "" + +#: ../build/NEWS:6871 +msgid "" +"`bpo-34770 `__: Fix a possible null " +"pointer dereference in pyshellext.cpp." +msgstr "" + +#: ../build/NEWS:6873 +msgid "" +"`bpo-34603 `__: Fix returning structs " +"from functions produced by MSVC" +msgstr "" + +#: ../build/NEWS:6875 +msgid "" +"`bpo-34581 `__: Guard MSVC-specific code " +"in socketmodule.c with ``#ifdef _MSC_VER``." +msgstr "" + +#: ../build/NEWS:6878 +msgid "" +"`bpo-34532 `__: Fixes exit code of list " +"version arguments for py.exe." +msgstr "" + +#: ../build/NEWS:6880 +msgid "" +"`bpo-34062 `__: Fixed the '--list' and " +"'--list-paths' arguments for the py.exe launcher" +msgstr "" + +#: ../build/NEWS:6883 +msgid "" +"`bpo-34225 `__: Ensure INCLUDE and LIB " +"directories do not end with a backslash." +msgstr "" + +#: ../build/NEWS:6885 +msgid "" +"`bpo-34011 `__: A suite of code has been " +"changed which copied across DLLs and init.tcl from the running Python " +"location into a venv being created. These copies are needed only when " +"running from a Python source build, and the copying code is now only run " +"when that is the case, rather than whenever a venv is created." +msgstr "" + +#: ../build/NEWS:6891 +msgid "" +"`bpo-34006 `__: Revert line length limit " +"for Windows help docs. The line-length limit is not needed because the pages " +"appear in a separate app rather than on a browser tab. It can also interact " +"badly with the DPI setting." +msgstr "" + +#: ../build/NEWS:6895 +msgid "" +"`bpo-31546 `__: Restore running " +"PyOS_InputHook while waiting for user input at the prompt. The restores " +"integration of interactive GUI windows (such as Matplotlib figures) with the " +"prompt on Windows." +msgstr "" + +#: ../build/NEWS:6899 +msgid "" +"`bpo-30237 `__: Output error when " +"ReadConsole is canceled by CancelSynchronousIo instead of crashing." +msgstr "" + +#: ../build/NEWS:6902 +msgid "" +"`bpo-33895 `__: GIL is released while " +"calling functions that acquire Windows loader lock." +msgstr "" + +#: ../build/NEWS:6905 ../build/NEWS:7381 +msgid "" +"`bpo-33720 `__: Reduces maximum marshal " +"recursion depth on release builds." +msgstr "" + +#: ../build/NEWS:6907 +msgid "" +"`bpo-29097 `__: Fix bug where :meth:" +"`datetime.fromtimestamp` erroneously throws an :exc:`OSError` on Windows for " +"values between 0 and 86400. Patch by Ammar Askar." +msgstr "" + +#: ../build/NEWS:6911 +msgid "" +"`bpo-33316 `__: PyThread_release_lock " +"always fails" +msgstr "" + +#: ../build/NEWS:6913 ../build/NEWS:7764 +msgid "" +"`bpo-33184 `__: Update Windows installer " +"to use OpenSSL 1.1.0h." +msgstr "" + +#: ../build/NEWS:6915 +msgid "" +"`bpo-32890 `__: Fix usage of " +"GetLastError() instead of errno in os.execve() and os.truncate()." +msgstr "" + +#: ../build/NEWS:6918 ../build/NEWS:7972 ../build/NEWS:12435 +msgid "" +"`bpo-33016 `__: Fix potential use of " +"uninitialized memory in nt._getfinalpathname" +msgstr "" + +#: ../build/NEWS:6921 ../build/NEWS:7975 ../build/NEWS:12438 +msgid "" +"`bpo-32903 `__: Fix a memory leak in os." +"chdir() on Windows if the current directory is set to a UNC path." +msgstr "" + +#: ../build/NEWS:6924 ../build/NEWS:8219 +msgid "" +"`bpo-32901 `__: Update Tcl and Tk " +"versions to 8.6.8" +msgstr "" + +#: ../build/NEWS:6926 ../build/NEWS:8221 ../build/NEWS:12441 +msgid "" +"`bpo-31966 `__: Fixed WindowsConsoleIO." +"write() for writing empty data." +msgstr "" + +#: ../build/NEWS:6928 ../build/NEWS:8223 ../build/NEWS:12443 +msgid "" +"`bpo-32409 `__: Ensures activate.bat can " +"handle Unicode contents." +msgstr "" + +#: ../build/NEWS:6930 ../build/NEWS:8225 ../build/NEWS:12445 +msgid "" +"`bpo-32457 `__: Improves handling of " +"denormalized executable path when launching Python." +msgstr "" + +#: ../build/NEWS:6933 ../build/NEWS:8228 ../build/NEWS:12448 +msgid "" +"`bpo-32370 `__: Use the correct encoding " +"for ipconfig output in the uuid module. Patch by Segev Finer." +msgstr "" + +#: ../build/NEWS:6936 ../build/NEWS:8231 ../build/NEWS:12451 +msgid "" +"`bpo-29248 `__: Fix :func:`os.readlink` " +"on Windows, which was mistakenly treating the ``PrintNameOffset`` field of " +"the reparse data buffer as a number of characters instead of bytes. Patch by " +"Craig Holmquist and SSE4." +msgstr "" + +#: ../build/NEWS:6940 +msgid "" +"`bpo-1104 `__: Correctly handle string " +"length in ``msilib.SummaryInfo.GetProperty()`` to prevent it from truncating " +"the last character." +msgstr "" + +#: ../build/NEWS:6947 +msgid "" +"`bpo-35401 `__: Update macOS installer " +"to use OpenSSL 1.1.0j." +msgstr "" + +#: ../build/NEWS:6949 +msgid "" +"`bpo-35025 `__: Properly guard the use " +"of the ``CLOCK_GETTIME`` et al. macros in ``timemodule`` on macOS." +msgstr "" + +#: ../build/NEWS:6952 +msgid "" +"`bpo-24658 `__: On macOS, fix reading " +"from and writing into a file with a size larger than 2 GiB." +msgstr "" + +#: ../build/NEWS:6955 +msgid "" +"`bpo-34405 `__: Update to OpenSSL 1.1.0i " +"for macOS installer builds." +msgstr "" + +#: ../build/NEWS:6957 +msgid "" +"`bpo-33635 `__: In macOS stat on some " +"file descriptors (/dev/fd/3 f.e) will result in bad file descriptor OSError. " +"Guard against this exception was added in is_dir, is_file and similar " +"methods. DirEntry.is_dir can also throw this exception so " +"_RecursiveWildcardSelector._iterate_directories was also extended with the " +"same error ignoring pattern." +msgstr "" + +#: ../build/NEWS:6963 ../build/NEWS:7609 +msgid "" +"`bpo-13631 `__: The .editrc file in " +"user's home directory is now processed correctly during the readline " +"initialization through editline emulation on macOS." +msgstr "" + +#: ../build/NEWS:6967 ../build/NEWS:7769 +msgid "" +"`bpo-33184 `__: Update macOS installer " +"build to use OpenSSL 1.1.0h." +msgstr "" + +#: ../build/NEWS:6969 ../build/NEWS:7981 +msgid "" +"`bpo-32726 `__: Build and link with " +"private copy of Tcl/Tk 8.6 for the macOS 10.6+ installer. The 10.9+ " +"installer variant already does this. This means that the Python 3.7 " +"provided by the python.org macOS installers no longer need or use any " +"external versions of Tcl/Tk, either system-provided or user-installed, such " +"as ActiveTcl." +msgstr "" + +#: ../build/NEWS:6975 ../build/NEWS:8238 +msgid "" +"`bpo-32901 `__: Update macOS 10.9+ " +"installer to Tcl/Tk 8.6.8." +msgstr "" + +#: ../build/NEWS:6977 +msgid "" +"`bpo-31903 `__: In :mod:`_scproxy`, drop " +"the GIL when calling into ``SystemConfiguration`` to avoid deadlocks." +msgstr "" + +#: ../build/NEWS:6983 +msgid "" +"`bpo-35770 `__: IDLE macosx deletes " +"Options => Configure IDLE. It previously deleted Window => Zoom Height by " +"mistake. (Zoom Height is now on the Options menu). On Mac, the settings " +"dialog is accessed via Preferences on the IDLE menu." +msgstr "" + +#: ../build/NEWS:6988 +msgid "" +"`bpo-35769 `__: Change IDLE's new file " +"name from 'Untitled' to 'untitled'" +msgstr "" + +#: ../build/NEWS:6990 +msgid "" +"`bpo-35660 `__: Fix imports in idlelib." +"window." +msgstr "" + +#: ../build/NEWS:6992 +msgid "" +"`bpo-35641 `__: Proper format `calltip` " +"when the function has no docstring." +msgstr "" + +#: ../build/NEWS:6994 +msgid "" +"`bpo-33987 `__: Use ttk Frame for ttk " +"widgets." +msgstr "" + +#: ../build/NEWS:6996 +msgid "" +"`bpo-34055 `__: Fix erroneous 'smart' " +"indents and newlines in IDLE Shell." +msgstr "" + +#: ../build/NEWS:6998 +msgid "" +"`bpo-35591 `__: Find Selection now works " +"when selection not found." +msgstr "" + +#: ../build/NEWS:7000 +msgid "" +"`bpo-35196 `__: Speed up squeezer line " +"counting." +msgstr "" + +#: ../build/NEWS:7002 +msgid "" +"`bpo-35598 `__: Update config_key: use " +"PEP 8 names and ttk widgets, make some objects global, and add tests." +msgstr "" + +#: ../build/NEWS:7005 +msgid "" +"`bpo-28097 `__: Add Previous/Next " +"History entries to Shell menu." +msgstr "" + +#: ../build/NEWS:7007 +msgid "" +"`bpo-35208 `__: Squeezer now properly " +"counts wrapped lines before newlines." +msgstr "" + +#: ../build/NEWS:7009 +msgid "" +"`bpo-35555 `__: Gray out Code Context " +"menu entry when it's not applicable." +msgstr "" + +#: ../build/NEWS:7011 +msgid "" +"`bpo-35521 `__: Document the IDLE editor " +"code context feature. Add some internal references within the IDLE doc." +msgstr "" + +#: ../build/NEWS:7014 +msgid "" +"`bpo-22703 `__: The Code Context menu " +"label now toggles between Show/Hide Code Context. The Zoom Height menu now " +"toggles between Zoom/Restore Height. Zoom Height has moved from the Window " +"menu to the Options menu." +msgstr "" + +#: ../build/NEWS:7018 +msgid "" +"`bpo-35213 `__: Where appropriate, use " +"'macOS' in idlelib." +msgstr "" + +#: ../build/NEWS:7020 +msgid "" +"`bpo-34864 `__: On macOS, warn if the " +"system preference \"Prefer tabs when opening documents\" is set to \"Always" +"\"." +msgstr "" + +#: ../build/NEWS:7023 +msgid "" +"`bpo-34864 `__: Document two IDLE on " +"MacOS issues. The System Preferences Dock \"prefer tabs always\" setting " +"disables some IDLE features. Menus are a bit different than as described " +"for Windows and Linux." +msgstr "" + +#: ../build/NEWS:7027 +msgid "" +"`bpo-35202 `__: Remove unused imports " +"from lib/idlelib" +msgstr "" + +#: ../build/NEWS:7029 +msgid "" +"`bpo-33000 `__: Document that IDLE's " +"shell has no line limit. A program that runs indefinitely can overfill " +"memory." +msgstr "" + +#: ../build/NEWS:7032 +msgid "" +"`bpo-23220 `__: Explain how IDLE's Shell " +"displays output." +msgstr "" + +#: ../build/NEWS:7034 +msgid "" +"`bpo-35099 `__: Improve the doc about " +"IDLE running user code. The section is renamed from \"IDLE -- console " +"differences\" is renamed \"Running user code\". It mostly covers the " +"implications of using custom sys.stdxxx objects." +msgstr "" + +#: ../build/NEWS:7038 +msgid "" +"`bpo-35097 `__: Add IDLE doc subsection " +"explaining editor windows. Topics include opening, title and status bar, ." +"py* extension, and running." +msgstr "" + +#: ../build/NEWS:7041 +msgid "" +"`bpo-35093 `__: Document the IDLE " +"document viewer in the IDLE doc. Add a paragraph in \"Help and preferences" +"\", \"Help sources\" subsection." +msgstr "" + +#: ../build/NEWS:7044 +msgid "" +"`bpo-35088 `__: Update idlelib.help." +"copy_string docstring. We now use git and backporting instead of hg and " +"forward merging." +msgstr "" + +#: ../build/NEWS:7047 +msgid "" +"`bpo-35087 `__: Update idlelib help " +"files for the current doc build. The main change is the elimination of " +"chapter-section numbers." +msgstr "" + +#: ../build/NEWS:7050 +msgid "" +"`bpo-34548 `__: Use configured color " +"theme for read-only text views." +msgstr "" + +#: ../build/NEWS:7052 +msgid "" +"`bpo-1529353 `__: Enable \"squeezing\" " +"of long outputs in the shell, to avoid performance degradation and to clean " +"up the history without losing it. Squeezed outputs may be copied, viewed in " +"a separate window, and \"unsqueezed\"." +msgstr "" + +#: ../build/NEWS:7057 +msgid "" +"`bpo-34047 `__: Fixed mousewheel " +"scrolling direction on macOS." +msgstr "" + +#: ../build/NEWS:7059 +msgid "" +"`bpo-34275 `__: Make IDLE calltips " +"always visible on Mac. Some MacOS-tk combinations need .update_idletasks(). " +"Patch by Kevin Walzer." +msgstr "" + +#: ../build/NEWS:7062 +msgid "" +"`bpo-34120 `__: Fix unresponsiveness " +"after closing certain windows and dialogs." +msgstr "" + +#: ../build/NEWS:7064 +msgid "" +"`bpo-33975 `__: Avoid small type when " +"running htests. Since part of the purpose of human-viewed tests is to " +"determine that widgets look right, it is important that they look the same " +"for testing as when running IDLE." +msgstr "" + +#: ../build/NEWS:7068 +msgid "" +"`bpo-33905 `__: Add test for idlelib." +"stackview.StackBrowser." +msgstr "" + +#: ../build/NEWS:7070 +msgid "" +"`bpo-33924 `__: Change mainmenu.menudefs " +"key 'windows' to 'window'. Every other menudef key is lowercase version of " +"main menu entry." +msgstr "" + +#: ../build/NEWS:7073 +msgid "" +"`bpo-33906 `__: Rename idlelib.windows " +"as window Match Window on the main menu and remove last plural module name." +msgstr "" + +#: ../build/NEWS:7076 +msgid "" +"`bpo-33917 `__: Fix and document idlelib/" +"idle_test/template.py. The revised file compiles, runs, and tests OK. " +"idle_test/README.txt explains how to use it to create new IDLE test files." +msgstr "" + +#: ../build/NEWS:7080 +msgid "" +"`bpo-33904 `__: IDLE: In rstrip, rename " +"class RstripExtension as Rstrip" +msgstr "" + +#: ../build/NEWS:7082 +msgid "" +"`bpo-33907 `__: For consistency and " +"clarity, rename an IDLE module and classes. Module calltips and its class " +"CallTips are now calltip and Calltip. In module calltip_w, class CallTip is " +"now CalltipWindow." +msgstr "" + +#: ../build/NEWS:7086 +msgid "" +"`bpo-33856 `__: Add \"help\" in the " +"welcome message of IDLE" +msgstr "" + +#: ../build/NEWS:7088 +msgid "" +"`bpo-33839 `__: IDLE: refactor ToolTip " +"and CallTip and add documentation and tests" +msgstr "" + +#: ../build/NEWS:7091 +msgid "" +"`bpo-33855 `__: Minimally test all IDLE " +"modules. Add missing files, import module, instantiate classes, and check " +"coverage. Check existing files." +msgstr "" + +#: ../build/NEWS:7094 ../build/NEWS:7386 ../build/NEWS:12114 +msgid "" +"`bpo-33656 `__: On Windows, add API call " +"saying that tk scales for DPI. On Windows 8.1+ or 10, with DPI compatibility " +"properties of the Python binary unchanged, and a monitor resolution greater " +"than 96 DPI, this should make text and lines sharper. It should otherwise " +"have no effect." +msgstr "" + +#: ../build/NEWS:7099 ../build/NEWS:7391 ../build/NEWS:12119 +msgid "" +"`bpo-33768 `__: Clicking on a context " +"line moves that line to the top of the editor window." +msgstr "" + +#: ../build/NEWS:7102 ../build/NEWS:7394 ../build/NEWS:12122 +msgid "" +"`bpo-33763 `__: IDLE: Use read-only text " +"widget for code context instead of label widget." +msgstr "" + +#: ../build/NEWS:7105 ../build/NEWS:7397 ../build/NEWS:12125 +msgid "" +"`bpo-33664 `__: Scroll IDLE editor text " +"by lines. Previously, the mouse wheel and scrollbar slider moved text by a " +"fixed number of pixels, resulting in partial lines at the top of the editor " +"box. The change also applies to the shell and grep output windows, but not " +"to read-only text views." +msgstr "" + +#: ../build/NEWS:7110 ../build/NEWS:7402 ../build/NEWS:12130 +msgid "" +"`bpo-33679 `__: Enable theme-specific " +"color configuration for Code Context. Use the Highlights tab to see the " +"setting for built-in themes or add settings to custom themes." +msgstr "" + +#: ../build/NEWS:7114 ../build/NEWS:7406 ../build/NEWS:12134 +msgid "" +"`bpo-33642 `__: Display up to maxlines " +"non-blank lines for Code Context. If there is no current context, show a " +"single blank line." +msgstr "" + +#: ../build/NEWS:7117 ../build/NEWS:7616 ../build/NEWS:12137 +msgid "" +"`bpo-33628 `__: IDLE: Cleanup " +"codecontext.py and its test." +msgstr "" + +#: ../build/NEWS:7119 ../build/NEWS:7618 ../build/NEWS:12139 +msgid "" +"`bpo-33564 `__: IDLE's code context now " +"recognizes async as a block opener." +msgstr "" + +#: ../build/NEWS:7121 ../build/NEWS:7774 ../build/NEWS:12144 +msgid "" +"`bpo-21474 `__: Update word/identifier " +"definition from ascii to unicode. In text and entry boxes, this affects " +"selection by double-click, movement left/right by control-left/right, and " +"deletion left/right by control-BACKSPACE/DEL." +msgstr "" + +#: ../build/NEWS:7126 ../build/NEWS:7779 ../build/NEWS:12149 +msgid "" +"`bpo-33204 `__: IDLE: consistently color " +"invalid string prefixes. A 'u' string prefix cannot be paired with either " +"'r' or 'f'. Consistently color as much of the prefix, starting at the right, " +"as is valid. Revise and extend colorizer test." +msgstr "" + +#: ../build/NEWS:7131 ../build/NEWS:7990 ../build/NEWS:12468 +msgid "" +"`bpo-32984 `__: Set ``__file__`` while " +"running a startup file. Like Python, IDLE optionally runs one startup file " +"in the Shell window before presenting the first interactive input prompt. " +"For IDLE, ``-s`` runs a file named in environmental variable :envvar:" +"`IDLESTARTUP` or :envvar:`PYTHONSTARTUP`; ``-r file`` runs ``file``. Python " +"sets ``__file__`` to the startup file name before running the file and " +"unsets it before the first prompt. IDLE now does the same when run " +"normally, without the ``-n`` option." +msgstr "" + +#: ../build/NEWS:7140 ../build/NEWS:7999 ../build/NEWS:12477 +msgid "" +"`bpo-32940 `__: Simplify and rename " +"StringTranslatePseudoMapping in pyparse." +msgstr "" + +#: ../build/NEWS:7142 ../build/NEWS:8243 ../build/NEWS:12479 +msgid "" +"`bpo-32916 `__: Change ``str`` to " +"``code`` in pyparse." +msgstr "" + +#: ../build/NEWS:7144 ../build/NEWS:8245 ../build/NEWS:12481 +msgid "" +"`bpo-32905 `__: Remove unused code in " +"pyparse module." +msgstr "" + +#: ../build/NEWS:7146 ../build/NEWS:8247 ../build/NEWS:12483 +msgid "" +"`bpo-32874 `__: Add tests for pyparse." +msgstr "" + +#: ../build/NEWS:7148 ../build/NEWS:8249 ../build/NEWS:12485 +msgid "" +"`bpo-32837 `__: Using the system and " +"place-dependent default encoding for open() is a bad idea for IDLE's system " +"and location-independent files." +msgstr "" + +#: ../build/NEWS:7151 ../build/NEWS:8252 ../build/NEWS:12488 +msgid "" +"`bpo-32826 `__: Add \"encoding=utf-8\" " +"to open() in IDLE's test_help_about. GUI test test_file_buttons() only looks " +"at initial ascii-only lines, but failed on systems where open() defaults to " +"'ascii' because readline() internally reads and decodes far enough ahead to " +"encounter a non-ascii character in CREDITS.txt." +msgstr "" + +#: ../build/NEWS:7157 ../build/NEWS:7620 ../build/NEWS:12154 +msgid "" +"`bpo-32831 `__: Add docstrings and tests " +"for codecontext." +msgstr "" + +#: ../build/NEWS:7159 ../build/NEWS:8258 ../build/NEWS:12494 +msgid "" +"`bpo-32765 `__: Update configdialog " +"General tab docstring to add new widgets to the widget list." +msgstr "" + +#: ../build/NEWS:7165 +msgid "" +"`bpo-35884 `__: Add a benchmark script " +"for timing various ways to access variables: ``Tools/scripts/" +"var_access_benchmark.py``." +msgstr "" + +#: ../build/NEWS:7168 +msgid "" +"`bpo-34989 `__: python-gdb.py now " +"handles errors on computing the line number of a Python frame." +msgstr "" + +#: ../build/NEWS:7171 +msgid "" +"`bpo-20260 `__: Argument Clinic now has " +"non-bitwise unsigned int converters." +msgstr "" + +#: ../build/NEWS:7173 +msgid "" +"`bpo-32962 `__: python-gdb now catches " +"``UnicodeDecodeError`` exceptions when calling ``string()``." +msgstr "" + +#: ../build/NEWS:7176 +msgid "" +"`bpo-32962 `__: python-gdb now catches " +"ValueError on read_var(): when Python has no debug symbols for example." +msgstr "" + +#: ../build/NEWS:7179 ../build/NEWS:7787 ../build/NEWS:12159 +msgid "" +"`bpo-33189 `__: :program:`pygettext.py` " +"now recognizes only literal strings as docstrings and translatable strings, " +"and rejects bytes literals and f-string expressions." +msgstr "" + +#: ../build/NEWS:7183 ../build/NEWS:7791 ../build/NEWS:12163 +msgid "" +"`bpo-31920 `__: Fixed handling " +"directories as arguments in the ``pygettext`` script. Based on patch by Oleg " +"Krasnikov." +msgstr "" + +#: ../build/NEWS:7186 ../build/NEWS:7794 ../build/NEWS:12166 +msgid "" +"`bpo-29673 `__: Fix pystackv and pystack " +"gdbinit macros." +msgstr "" + +#: ../build/NEWS:7188 +msgid "" +"`bpo-25427 `__: Remove the pyvenv script " +"in favor of ``python3 -m venv`` in order to lower confusion as to what " +"Python interpreter a virtual environment will be created for." +msgstr "" + +#: ../build/NEWS:7192 ../build/NEWS:8004 ../build/NEWS:12168 +msgid "" +"`bpo-32885 `__: Add an ``-n`` flag for " +"``Tools/scripts/pathfix.py`` to disable automatic backup creation (files " +"with ``~`` suffix)." +msgstr "" + +#: ../build/NEWS:7195 ../build/NEWS:8264 ../build/NEWS:12504 +msgid "" +"`bpo-32222 `__: Fix pygettext not " +"extracting docstrings for functions with type annotated arguments. Patch by " +"Toby Harradine." +msgstr "" + +#: ../build/NEWS:7198 ../build/NEWS:7796 ../build/NEWS:12171 +msgid "" +"`bpo-31583 `__: Fix 2to3 for using with " +"--add-suffix option but without --output-dir option for relative path to " +"files in current directory." +msgstr "" + +#: ../build/NEWS:7204 +msgid "" +"`bpo-35713 `__: The :c:func:" +"`PyByteArray_Init` and :c:func:`PyByteArray_Fini` functions have been " +"removed. They did nothing since Python 2.7.4 and Python 3.2.0, were excluded " +"from the limited API (stable ABI), and were not documented." +msgstr "" + +#: ../build/NEWS:7209 +msgid "" +"`bpo-33817 `__: Fixed :c:func:" +"`_PyBytes_Resize` for empty bytes objects." +msgstr "" + +#: ../build/NEWS:7211 +msgid "" +"`bpo-35322 `__: Fix memory leak in :c:" +"func:`PyUnicode_EncodeLocale` and :c:func:`PyUnicode_EncodeFSDefault` on " +"error handling." +msgstr "" + +#: ../build/NEWS:7214 +msgid "" +"`bpo-35059 `__: The following C macros " +"have been converted to static inline functions: :c:func:`Py_INCREF`, :c:func:" +"`Py_DECREF`, :c:func:`Py_XINCREF`, :c:func:`Py_XDECREF`, :c:func:" +"`PyObject_INIT`, :c:func:`PyObject_INIT_VAR`." +msgstr "" + +#: ../build/NEWS:7219 +msgid "" +"`bpo-35296 `__: ``make install`` now " +"also installs the internal API: ``Include/internal/*.h`` header files." +msgstr "" + +#: ../build/NEWS:7222 +msgid "" +"`bpo-35081 `__: Internal APIs surrounded " +"by ``#ifdef Py_BUILD_CORE`` have been moved from ``Include/*.h`` headers to " +"new header files ``Include/internal/pycore_*.h``." +msgstr "" + +#: ../build/NEWS:7226 +msgid "" +"`bpo-35259 `__: Conditionally declare :c:" +"func:`Py_FinalizeEx()` (new in 3.6) based on Py_LIMITED_API. Patch by Arthur " +"Neufeld." +msgstr "" + +#: ../build/NEWS:7229 +msgid "" +"`bpo-35081 `__: The :c:func:" +"`_PyObject_GC_TRACK` and :c:func:`_PyObject_GC_UNTRACK` macros have been " +"removed from the public C API." +msgstr "" + +#: ../build/NEWS:7233 +msgid "" +"`bpo-35134 `__: Creation of a new " +"``Include/cpython/`` subdirectory." +msgstr "" + +#: ../build/NEWS:7235 +msgid "" +"`bpo-34725 `__: Adds " +"_Py_SetProgramFullPath so embedders may override sys.executable" +msgstr "" + +#: ../build/NEWS:7238 +msgid "" +"`bpo-34910 `__: Ensure that :c:func:" +"`PyObject_Print` always returns ``-1`` on error. Patch by Zackery Spytz." +msgstr "" + +#: ../build/NEWS:7241 +msgid "" +"`bpo-34523 `__: Py_DecodeLocale() and " +"Py_EncodeLocale() now use the UTF-8 encoding on Windows if " +"Py_LegacyWindowsFSEncodingFlag is zero." +msgstr "" + +#: ../build/NEWS:7244 +msgid "" +"`bpo-34193 `__: Fix pluralization in " +"TypeError messages in getargs.c and typeobject.c: '1 argument' instead of '1 " +"arguments' and '1 element' instead of '1 elements'." +msgstr "" + +#: ../build/NEWS:7248 +msgid "" +"`bpo-34127 `__: Return grammatically " +"correct error message based on argument count. Patch by Karthikeyan " +"Singaravelan." +msgstr "" + +#: ../build/NEWS:7251 +msgid "" +"`bpo-23927 `__: Fixed :exc:`SystemError` " +"in :c:func:`PyArg_ParseTupleAndKeywords` when the ``w*`` format unit is used " +"for optional parameter." +msgstr "" + +#: ../build/NEWS:7255 +msgid "" +"`bpo-32455 `__: Added :c:func:" +"`PyCompile_OpcodeStackEffectWithJump`." +msgstr "" + +#: ../build/NEWS:7257 +msgid "" +"`bpo-34008 `__: Py_Main() can again be " +"called after Py_Initialize(), as in Python 3.6." +msgstr "" + +#: ../build/NEWS:7260 +msgid "" +"`bpo-32500 `__: Fixed error messages " +"for :c:func:`PySequence_Size`, :c:func:`PySequence_GetItem`, :c:func:" +"`PySequence_SetItem` and :c:func:`PySequence_DelItem` called with a mapping " +"and :c:func:`PyMapping_Size` called with a sequence." +msgstr "" + +#: ../build/NEWS:7265 +msgid "" +"`bpo-33818 `__: :c:func:" +"`PyExceptionClass_Name` will now return ``const char *`` instead of ``char " +"*``." +msgstr "" + +#: ../build/NEWS:7268 ../build/NEWS:8010 +msgid "" +"`bpo-33042 `__: Embedding applications " +"may once again call PySys_ResetWarnOptions, PySys_AddWarnOption, and " +"PySys_AddXOption prior to calling Py_Initialize." +msgstr "" + +#: ../build/NEWS:7272 ../build/NEWS:8014 ../build/NEWS:12177 +msgid "" +"`bpo-32374 `__: Document that m_traverse " +"for multi-phase initialized modules can be called with m_state=NULL, and add " +"a sanity check" +msgstr "" + +#: ../build/NEWS:7275 +msgid "" +"`bpo-30863 `__: :c:func:" +"`PyUnicode_AsWideChar` and :c:func:`PyUnicode_AsWideCharString` no longer " +"cache the ``wchar_t*`` representation of string objects." +msgstr "" + +#: ../build/NEWS:7281 +msgid "Python 3.7.0 final" +msgstr "" + +#: ../build/NEWS:7283 ../build/NEWS:11864 +msgid "*Release date: 2018-06-27*" +msgstr "" + +#: ../build/NEWS:7288 +msgid "" +"`bpo-33851 `__: Fix :func:`ast." +"get_docstring` for a node that lacks a docstring." +msgstr "" + +#: ../build/NEWS:7294 +msgid "" +"`bpo-33932 `__: Calling Py_Initialize() " +"twice does nothing, instead of failing with a fatal error: restore the " +"Python 3.6 behaviour." +msgstr "" + +#: ../build/NEWS:7299 +msgid "Python 3.7.0 release candidate 1" +msgstr "" + +#: ../build/NEWS:7301 +msgid "*Release date: 2018-06-12*" +msgstr "" + +#: ../build/NEWS:7411 +msgid "Python 3.7.0 beta 5" +msgstr "" + +#: ../build/NEWS:7413 +msgid "*Release date: 2018-05-30*" +msgstr "" + +#: ../build/NEWS:7426 +msgid "" +"`bpo-20104 `__: The new `os.posix_spawn` " +"added in 3.7.0b1 was removed as we are still working on what the API should " +"look like. Expect this in 3.8 instead." +msgstr "" + +#: ../build/NEWS:7560 ../build/NEWS:12001 +msgid "" +"`bpo-32861 `__: The urllib.robotparser's " +"``__str__`` representation now includes wildcard entries and the \"Crawl-" +"delay\" and \"Request-rate\" fields. Patch by Michael Lazar." +msgstr "" + +#: ../build/NEWS:7590 +msgid "" +"`bpo-32604 `__: Remove the " +"_xxsubinterpreters module (meant for testing) and associated helpers. This " +"module was originally added recently in 3.7b1." +msgstr "" + +#: ../build/NEWS:7602 ../build/NEWS:12094 +msgid "" +"`bpo-33012 `__: Add ``-Wno-cast-function-" +"type`` for gcc 8 for silencing warnings about function casts like casting to " +"PyCFunction in method definition lists." +msgstr "" + +#: ../build/NEWS:7624 +msgid "Python 3.7.0 beta 4" +msgstr "" + +#: ../build/NEWS:7626 +msgid "*Release date: 2018-05-02*" +msgstr "" + +#: ../build/NEWS:7684 +msgid "" +"`bpo-33185 `__: Fixed regression when " +"running pydoc with the :option:`-m` switch. (The regression was introduced " +"in 3.7.0b3 by the resolution of :issue:`33053`) This fix also changed pydoc " +"to add ``os.getcwd()`` to :data:`sys.path` when necessary, rather than " +"adding ``\".\"``." +msgstr "" + +#: ../build/NEWS:7692 +msgid "" +"`bpo-33217 `__: Deprecate looking up non-" +"Enum objects in Enum classes and Enum members (will raise :exc:`TypeError` " +"in 3.8+)." +msgstr "" + +#: ../build/NEWS:7801 +msgid "Python 3.7.0 beta 3" +msgstr "" + +#: ../build/NEWS:7803 +msgid "*Release date: 2018-03-29*" +msgstr "" + +#: ../build/NEWS:7831 ../build/NEWS:11904 +msgid "" +"`bpo-33041 `__: Fixed jumping when the " +"function contains an ``async for`` loop." +msgstr "" + +#: ../build/NEWS:7929 +msgid "" +"`bpo-31639 `__: http.server now exposes " +"a ThreadedHTTPServer class and uses it when the module is run with ``-m`` to " +"cope with web browsers pre-opening sockets." +msgstr "" + +#: ../build/NEWS:8019 +msgid "Python 3.7.0 beta 2" +msgstr "" + +#: ../build/NEWS:8021 +msgid "*Release date: 2018-02-27*" +msgstr "" + +#: ../build/NEWS:8086 +msgid "" +"`bpo-25988 `__: Emit a :exc:" +"`DeprecationWarning` when using or importing an ABC directly from :mod:" +"`collections` rather than from :mod:`collections.abc`." +msgstr "" + +#: ../build/NEWS:8095 +#, python-format +msgid "" +"`bpo-31333 `__: ``_abc`` module is " +"added. It is a speedup module with C implementations for various functions " +"and methods in ``abc``. Creating an ABC subclass and calling ``isinstance`` " +"or ``issubclass`` with an ABC subclass are up to 1.5x faster. In addition, " +"this makes Python start-up up to 10% faster. Note that the new " +"implementation hides internal registry and caches, previously accessible via " +"private attributes ``_abc_registry``, ``_abc_cache``, and " +"``_abc_negative_cache``. There are three debugging helper methods that can " +"be used instead ``_dump_registry``, ``_abc_registry_clear``, and " +"``_abc_caches_clear``." +msgstr "" + +#: ../build/NEWS:8269 +msgid "Python 3.7.0 beta 1" +msgstr "" + +#: ../build/NEWS:8271 +msgid "*Release date: 2018-01-30*" +msgstr "" + +#: ../build/NEWS:8276 +msgid "" +"`bpo-32703 `__: Fix coroutine's " +"ResourceWarning when there's an active error set when it's being finalized." +msgstr "" + +#: ../build/NEWS:8279 ../build/NEWS:12222 +msgid "" +"`bpo-32650 `__: Pdb and other debuggers " +"dependent on bdb.py will correctly step over (next command) native " +"coroutines. Patch by Pablo Galindo." +msgstr "" + +#: ../build/NEWS:8282 +msgid "" +"`bpo-28685 `__: Optimize list.sort() and " +"sorted() by using type specialized comparisons when possible." +msgstr "" + +#: ../build/NEWS:8285 ../build/NEWS:12225 +msgid "" +"`bpo-32685 `__: Improve suggestion when " +"the Python 2 form of print statement is either present on the same line as " +"the header of a compound statement or else terminated by a semi-colon " +"instead of a newline. Patch by Nitish Chandra." +msgstr "" + +#: ../build/NEWS:8290 +msgid "" +"`bpo-32697 `__: Python now explicitly " +"preserves the definition order of keyword-only parameters. It's always " +"preserved their order, but this behavior was never guaranteed before; this " +"behavior is now guaranteed and tested." +msgstr "" + +#: ../build/NEWS:8295 +msgid "" +"`bpo-32690 `__: The locals() dictionary " +"now displays in the lexical order that variables were defined. Previously, " +"the order was reversed." +msgstr "" + +#: ../build/NEWS:8298 +msgid "" +"`bpo-32677 `__: Add ``.isascii()`` " +"method to ``str``, ``bytes`` and ``bytearray``. It can be used to test that " +"string contains only ASCII characters." +msgstr "" + +#: ../build/NEWS:8302 +msgid "" +"`bpo-32670 `__: Enforce :pep:`479` for " +"all code. This means that manually raising a StopIteration exception from a " +"generator is prohibited for all code, regardless of whether 'from __future__ " +"import generator_stop' was used or not." +msgstr "" + +#: ../build/NEWS:8307 +msgid "" +"`bpo-32591 `__: Added built-in support " +"for tracking the origin of coroutine objects; see sys." +"set_coroutine_origin_tracking_depth and CoroutineType.cr_origin. This " +"replaces the asyncio debug mode's use of coroutine wrapping for native " +"coroutine objects." +msgstr "" + +#: ../build/NEWS:8312 +msgid "" +"`bpo-31368 `__: Expose preadv and " +"pwritev system calls in the os module. Patch by Pablo Galindo" +msgstr "" + +#: ../build/NEWS:8315 +msgid "" +"`bpo-32544 `__: ``hasattr(obj, name)`` " +"and ``getattr(obj, name, default)`` are about 4 times faster than before " +"when ``name`` is not found and ``obj`` doesn't override ``__getattr__`` or " +"``__getattribute__``." +msgstr "" + +#: ../build/NEWS:8319 ../build/NEWS:12233 +msgid "" +"`bpo-26163 `__: Improved frozenset() " +"hash to create more distinct hash values when faced with datasets containing " +"many similar values." +msgstr "" + +#: ../build/NEWS:8322 +msgid "" +"`bpo-32550 `__: Remove the " +"STORE_ANNOTATION bytecode." +msgstr "" + +#: ../build/NEWS:8324 +msgid "" +"`bpo-20104 `__: Expose posix_spawn as a " +"low level API in the os module. (removed before 3.7.0rc1)" +msgstr "" + +#: ../build/NEWS:8327 +msgid "" +"`bpo-24340 `__: Fixed estimation of the " +"code stack size." +msgstr "" + +#: ../build/NEWS:8329 +msgid "" +"`bpo-32436 `__: Implement :pep:`567` " +"Context Variables." +msgstr "" + +#: ../build/NEWS:8331 ../build/NEWS:12246 +msgid "" +"`bpo-18533 `__: ``repr()`` on a dict " +"containing its own ``values()`` or ``items()`` no longer raises " +"``RecursionError``; OrderedDict similarly. Instead, use ``...``, as for " +"other recursive structures. Patch by Ben North." +msgstr "" + +#: ../build/NEWS:8336 +msgid "" +"`bpo-20891 `__: Py_Initialize() now " +"creates the GIL. The GIL is no longer created \"on demand\" to fix a race " +"condition when PyGILState_Ensure() is called in a non-Python thread." +msgstr "" + +#: ../build/NEWS:8340 ../build/NEWS:12251 +msgid "" +"`bpo-32028 `__: Leading whitespace is " +"now correctly ignored when generating suggestions for converting Py2 print " +"statements to Py3 builtin print function calls. Patch by Sanyam Khurana." +msgstr "" + +#: ../build/NEWS:8344 +msgid "" +"`bpo-31179 `__: Make dict.copy() up to " +"5.5 times faster." +msgstr "" + +#: ../build/NEWS:8346 +msgid "" +"`bpo-31113 `__: Get rid of recursion in " +"the compiler for normal control flow." +msgstr "" + +#: ../build/NEWS:8351 +msgid "" +"`bpo-25988 `__: Deprecate exposing the " +"contents of collections.abc in the regular collections module." +msgstr "" + +#: ../build/NEWS:8354 +msgid "" +"`bpo-31429 `__: The default cipher suite " +"selection of the ssl module now uses a blacklist approach rather than a hard-" +"coded whitelist. Python no longer re-enables ciphers that have been blocked " +"by OpenSSL security update. Default cipher suite selection can be configured " +"on compile time." +msgstr "" + +#: ../build/NEWS:8359 +msgid "" +"`bpo-30306 `__: contextlib." +"contextmanager now releases the arguments passed to the underlying generator " +"as soon as the context manager is entered. Previously it would keep them " +"alive for as long as the context manager was alive, even when not being used " +"as a function decorator. Patch by Martin Teichmann." +msgstr "" + +#: ../build/NEWS:8365 +msgid "" +"`bpo-21417 `__: Added support for " +"setting the compression level for zipfile.ZipFile." +msgstr "" + +#: ../build/NEWS:8368 +msgid "" +"`bpo-32251 `__: Implement asyncio." +"BufferedProtocol (provisional API)." +msgstr "" + +#: ../build/NEWS:8370 +msgid "" +"`bpo-32513 `__: In dataclasses, allow " +"easier overriding of dunder methods without specifying decorator parameters." +msgstr "" + +#: ../build/NEWS:8373 +msgid "" +"`bpo-32660 `__: :mod:`termios` makes " +"available ``FIONREAD``, ``FIONCLEX``, ``FIOCLEX``, ``FIOASYNC`` and " +"``FIONBIO`` also under Solaris/derivatives." +msgstr "" + +#: ../build/NEWS:8376 ../build/NEWS:12326 +msgid "" +"`bpo-27931 `__: Fix email address header " +"parsing error when the username is an empty quoted string. Patch by Xiang " +"Zhang." +msgstr "" + +#: ../build/NEWS:8379 +msgid "" +"`bpo-32659 `__: Under Solaris and " +"derivatives, :class:`os.stat_result` provides a st_fstype attribute." +msgstr "" + +#: ../build/NEWS:8382 +msgid "" +"`bpo-32662 `__: Implement Server." +"start_serving(), Server.serve_forever(), and Server.is_serving() methods. " +"Add 'start_serving' keyword parameter to loop.create_server() and loop." +"create_unix_server()." +msgstr "" + +#: ../build/NEWS:8386 +msgid "" +"`bpo-32391 `__: Implement :meth:`asyncio." +"StreamWriter.wait_closed` and :meth:`asyncio.StreamWriter.is_closing` methods" +msgstr "" + +#: ../build/NEWS:8389 +msgid "" +"`bpo-32643 `__: Make Task._step, Task." +"_wakeup and Future._schedule_callbacks methods private." +msgstr "" + +#: ../build/NEWS:8392 +msgid "" +"`bpo-32630 `__: Refactor decimal module " +"to use contextvars to store decimal context." +msgstr "" + +#: ../build/NEWS:8395 +msgid "" +"`bpo-32622 `__: Add :meth:`asyncio." +"AbstractEventLoop.sendfile` method." +msgstr "" + +#: ../build/NEWS:8397 ../build/NEWS:12329 +msgid "" +"`bpo-32304 `__: distutils' upload " +"command no longer corrupts tar files ending with a CR byte, and no longer " +"tries to convert CR to CRLF in any of the upload text fields." +msgstr "" + +#: ../build/NEWS:8401 ../build/NEWS:12333 +msgid "" +"`bpo-32502 `__: uuid.uuid1 no longer " +"raises an exception if a 64-bit hardware address is encountered." +msgstr "" + +#: ../build/NEWS:8404 +#, python-format +msgid "" +"`bpo-32596 `__: ``concurrent.futures`` " +"imports ``ThreadPoolExecutor`` and ``ProcessPoolExecutor`` lazily (using :" +"pep:`562`). It makes ``import asyncio`` about 15% faster because asyncio " +"uses only ``ThreadPoolExecutor`` by default." +msgstr "" + +#: ../build/NEWS:8409 +msgid "" +"`bpo-31801 `__: Add ``_ignore_`` to " +"``Enum`` so temporary variables can be used during class construction " +"without being turned into members." +msgstr "" + +#: ../build/NEWS:8412 +msgid "" +"`bpo-32576 `__: Use queue.SimpleQueue() " +"in places where it can be invoked from a weakref callback." +msgstr "" + +#: ../build/NEWS:8415 +msgid "" +"`bpo-32574 `__: Fix memory leak in " +"asyncio.Queue, when the queue has limited size and it is full, the " +"cancelation of queue.put() can cause a memory leak. Patch by: José Melero." +msgstr "" + +#: ../build/NEWS:8419 ../build/NEWS:12343 +msgid "" +"`bpo-32521 `__: The nis module is now " +"compatible with new libnsl and headers location." +msgstr "" + +#: ../build/NEWS:8422 +msgid "" +"`bpo-32467 `__: collections.abc." +"ValuesView now inherits from collections.abc.Collection." +msgstr "" + +#: ../build/NEWS:8425 ../build/NEWS:12346 +msgid "" +"`bpo-32473 `__: Improve ABCMeta." +"_dump_registry() output readability" +msgstr "" + +#: ../build/NEWS:8427 +msgid "" +"`bpo-32102 `__: New argument " +"``capture_output`` for subprocess.run" +msgstr "" + +#: ../build/NEWS:8429 ../build/NEWS:12348 +msgid "" +"`bpo-32521 `__: glibc has removed Sun " +"RPC. Use replacement libtirpc headers and library in nis module." +msgstr "" + +#: ../build/NEWS:8432 +msgid "" +"`bpo-32493 `__: UUID module fixes build " +"for FreeBSD/OpenBSD" +msgstr "" + +#: ../build/NEWS:8434 +msgid "" +"`bpo-32503 `__: Pickling with protocol 4 " +"no longer creates too small frames." +msgstr "" + +#: ../build/NEWS:8436 +msgid "" +"`bpo-29237 `__: Create enum for pstats " +"sorting options" +msgstr "" + +#: ../build/NEWS:8438 +msgid "" +"`bpo-32454 `__: Add close(fd) function " +"to the socket module." +msgstr "" + +#: ../build/NEWS:8440 +msgid "" +"`bpo-25942 `__: The subprocess module is " +"now more graceful when handling a Ctrl-C KeyboardInterrupt during subprocess." +"call, subprocess.run, or a Popen context manager. It now waits a short " +"amount of time for the child (presumed to have also gotten the SIGINT) to " +"exit, before continuing the KeyboardInterrupt exception handling. This " +"still includes a SIGKILL in the call() and run() APIs, but at least the " +"child had a chance first." +msgstr "" + +#: ../build/NEWS:8447 +msgid "" +"`bpo-32433 `__: The hmac module now has " +"hmac.digest(), which provides an optimized HMAC digest." +msgstr "" + +#: ../build/NEWS:8450 +msgid "" +"`bpo-28134 `__: Sockets now auto-detect " +"family, type and protocol from file descriptor by default." +msgstr "" + +#: ../build/NEWS:8453 +msgid "" +"`bpo-32404 `__: Fix bug where :meth:" +"`datetime.datetime.fromtimestamp` did not call __new__ in :class:`datetime." +"datetime` subclasses." +msgstr "" + +#: ../build/NEWS:8456 +msgid "" +"`bpo-32403 `__: Improved speed of :class:" +"`datetime.date` and :class:`datetime.datetime` alternate constructors." +msgstr "" + +#: ../build/NEWS:8459 ../build/NEWS:12351 +msgid "" +"`bpo-32228 `__: Ensure that " +"``truncate()`` preserves the file position (as reported by ``tell()``) after " +"writes longer than the buffer size." +msgstr "" + +#: ../build/NEWS:8462 +msgid "" +"`bpo-32410 `__: Implement ``loop." +"sock_sendfile`` for asyncio event loop." +msgstr "" + +#: ../build/NEWS:8464 +msgid "" +"`bpo-22908 `__: Added seek and tell to " +"the ZipExtFile class. This only works if the file object used to open the " +"zipfile is seekable." +msgstr "" + +#: ../build/NEWS:8467 +msgid "" +"`bpo-32373 `__: Add socket.getblocking() " +"method." +msgstr "" + +#: ../build/NEWS:8469 +msgid "" +"`bpo-32248 `__: Add :mod:`importlib." +"resources` and :class:`importlib.abc.ResourceReader` as the unified API for " +"reading resources contained within packages. Loaders wishing to support " +"resource reading must implement the :meth:`get_resource_reader()` method. " +"File-based and zipimport-based loaders both implement these APIs. :class:" +"`importlib.abc.ResourceLoader` is deprecated in favor of these new APIs." +msgstr "" + +#: ../build/NEWS:8477 +msgid "" +"`bpo-32320 `__: collections.namedtuple() " +"now supports default values." +msgstr "" + +#: ../build/NEWS:8479 +msgid "" +"`bpo-29302 `__: Add contextlib." +"AsyncExitStack. Patch by Alexander Mohr and Ilya Kulakov." +msgstr "" + +#: ../build/NEWS:8482 +msgid "" +"`bpo-31961 `__: *Removed in Python " +"3.7.0b2.* The *args* argument of subprocess.Popen can now be a :term:`path-" +"like object`. If *args* is given as a sequence, it's first element can now " +"be a :term:`path-like object` as well." +msgstr "" + +#: ../build/NEWS:8487 ../build/NEWS:12379 +msgid "" +"`bpo-31900 `__: The :func:`locale." +"localeconv` function now sets temporarily the ``LC_CTYPE`` locale to the " +"``LC_NUMERIC`` locale to decode ``decimal_point`` and ``thousands_sep`` byte " +"strings if they are non-ASCII or longer than 1 byte, and the ``LC_NUMERIC`` " +"locale is different than the ``LC_CTYPE`` locale. This temporary change " +"affects other threads. Same change for the :meth:`str.format` method when " +"formatting a number (:class:`int`, :class:`float`, :class:`float` and " +"subclasses) with the ``n`` type (ex: ``'{:n}'.format(1234)``)." +msgstr "" + +#: ../build/NEWS:8496 +msgid "" +"`bpo-31853 `__: Use super().method " +"instead of socket.method in SSLSocket. They were there most likely for " +"legacy reasons." +msgstr "" + +#: ../build/NEWS:8499 +msgid "" +"`bpo-31399 `__: The ssl module now uses " +"OpenSSL's X509_VERIFY_PARAM_set1_host() and X509_VERIFY_PARAM_set1_ip() API " +"to verify hostname and IP addresses. Subject common name fallback can be " +"disabled with SSLContext.hostname_checks_common_name." +msgstr "" + +#: ../build/NEWS:8504 +msgid "" +"`bpo-14976 `__: Add a queue.SimpleQueue " +"class, an unbounded FIFO queue with a reentrant C implementation of put()." +msgstr "" + +#: ../build/NEWS:8510 +msgid "" +"`bpo-32724 `__: Add references to some " +"commands in the documentation of Pdb. Patch by Stéphane Wirtel" +msgstr "" + +#: ../build/NEWS:8513 +msgid "" +"`bpo-32649 `__: Complete the C API " +"documentation, profiling and tracing part with the newly added per-opcode " +"events." +msgstr "" + +#: ../build/NEWS:8516 ../build/NEWS:12407 +msgid "" +"`bpo-17799 `__: Explain real behaviour " +"of sys.settrace and sys.setprofile and their C-API counterparts regarding " +"which type of events are received in each function. Patch by Pablo Galindo " +"Salgado." +msgstr "" + +#: ../build/NEWS:8523 ../build/NEWS:12417 +msgid "" +"`bpo-32721 `__: Fix test_hashlib to not " +"fail if the _md5 module is not built." +msgstr "" + +#: ../build/NEWS:8525 +msgid "" +"`bpo-28414 `__: Add test cases for IDNA " +"2003 and 2008 host names. IDNA 2003 internationalized host names are working " +"since `bpo-31399 `__ has landed. IDNA " +"2008 are still broken." +msgstr "" + +#: ../build/NEWS:8529 +msgid "" +"`bpo-32604 `__: Add a new " +"\"_xxsubinterpreters\" extension module that exposes the existing " +"subinterpreter C-API and a new cross-interpreter data sharing mechanism. The " +"module is primarily intended for more thorough testing of the existing " +"subinterpreter support. Note that the _xxsubinterpreters module has been " +"removed in 3.7.0rc1." +msgstr "" + +#: ../build/NEWS:8535 +msgid "" +"`bpo-32602 `__: Add test certs and test " +"for ECDSA cert and EC/RSA dual mode." +msgstr "" + +#: ../build/NEWS:8537 +msgid "" +"`bpo-32549 `__: On Travis CI, Python now " +"Compiles and uses a local copy of OpenSSL 1.1.0g for testing." +msgstr "" + +#: ../build/NEWS:8543 ../build/NEWS:12429 +msgid "" +"`bpo-32635 `__: Fix segfault of the " +"crypt module when libxcrypt is provided instead of libcrypt at the system." +msgstr "" + +#: ../build/NEWS:8546 +msgid "" +"`bpo-32598 `__: Use autoconf to detect " +"OpenSSL libs, headers and supported features. The ax_check_openssl M4 macro " +"uses pkg-config to locate OpenSSL and falls back to manual search." +msgstr "" + +#: ../build/NEWS:8550 +msgid "" +"`bpo-32593 `__: Drop support of FreeBSD " +"9 and older." +msgstr "" + +#: ../build/NEWS:8552 +msgid "" +"`bpo-29708 `__: If the :envvar:" +"`SOURCE_DATE_EPOCH` environment variable is set, :mod:`py_compile` will " +"always create hash-based ``.pyc`` files." +msgstr "" + +#: ../build/NEWS:8558 +msgid "" +"`bpo-32588 `__: Create standalone " +"_distutils_findvs module and add missing _queue module to installer." +msgstr "" + +#: ../build/NEWS:8561 +msgid "" +"`bpo-29911 `__: Ensure separate Modify " +"and Uninstall buttons are displayed." +msgstr "" + +#: ../build/NEWS:8563 +msgid "" +"`bpo-32507 `__: Use app-local UCRT " +"install rather than the proper update for old versions of Windows." +msgstr "" + +#: ../build/NEWS:8569 +msgid "" +"`bpo-32726 `__: Provide an additional, " +"more modern macOS installer variant that supports macOS 10.9+ systems in 64-" +"bit mode only. Upgrade the supplied third-party libraries to OpenSSL 1.1.0g " +"and to SQLite 3.22.0. The 10.9+ installer now links with and supplies its " +"own copy of Tcl/Tk 8.6." +msgstr "" + +#: ../build/NEWS:8574 +msgid "" +"`bpo-28440 `__: No longer add /Library/" +"Python/3.x/site-packages to sys.path for macOS framework builds to avoid " +"future conflicts." +msgstr "" + +#: ../build/NEWS:8580 +msgid "" +"`bpo-32681 `__: Fix uninitialized " +"variable 'res' in the C implementation of os.dup2. Patch by Stéphane Wirtel" +msgstr "" + +#: ../build/NEWS:8583 +msgid "" +"`bpo-10381 `__: Add C API access to the " +"``datetime.timezone`` constructor and ``datetime.timzone.UTC`` singleton." +msgstr "" + +#: ../build/NEWS:8588 +msgid "Python 3.7.0 alpha 4" +msgstr "" + +#: ../build/NEWS:8590 +msgid "*Release date: 2018-01-08*" +msgstr "" + +#: ../build/NEWS:8595 +msgid "" +"`bpo-31975 `__: The default warning " +"filter list now starts with a \"default::DeprecationWarning:__main__\" " +"entry, so deprecation warnings are once again shown by default in single-" +"file scripts and at the interactive prompt." +msgstr "" + +#: ../build/NEWS:8600 +msgid "" +"`bpo-32226 `__: ``__class_getitem__`` is " +"now an automatic class method." +msgstr "" + +#: ../build/NEWS:8602 +msgid "" +"`bpo-32399 `__: Add AIX uuid library " +"support for RFC4122 using uuid_create() in libc.a" +msgstr "" + +#: ../build/NEWS:8605 +msgid "" +"`bpo-32390 `__: Fix the compilation " +"failure on AIX after the f_fsid field has been added to the object returned " +"by os.statvfs() (`bpo-32143 `__). " +"Original patch by Michael Felt." +msgstr "" + +#: ../build/NEWS:8609 +msgid "" +"`bpo-32379 `__: Make MRO computation " +"faster when a class inherits from a single base." +msgstr "" + +#: ../build/NEWS:8612 +msgid "" +"`bpo-32259 `__: The error message of a " +"TypeError raised when unpack non-iterable is now more specific." +msgstr "" + +#: ../build/NEWS:8615 ../build/NEWS:12236 +msgid "" +"`bpo-27169 `__: The ``__debug__`` " +"constant is now optimized out at compile time. This fixes also `bpo-22091 " +"`__." +msgstr "" + +#: ../build/NEWS:8618 +msgid "" +"`bpo-32329 `__: The :option:`-R` option " +"now turns on hash randomization when the :envvar:`PYTHONHASHSEED` " +"environment variable is set to ``0``. Previously, the option was ignored. " +"Moreover, ``sys.flags.hash_randomization`` is now properly set to 0 when " +"hash randomization is turned off by ``PYTHONHASHSEED=0``." +msgstr "" + +#: ../build/NEWS:8624 +msgid "" +"`bpo-30416 `__: The optimizer is now " +"protected from spending much time doing complex calculations and consuming " +"much memory for creating large constants in constant folding. Increased " +"limits for constants that can be produced in constant folding." +msgstr "" + +#: ../build/NEWS:8629 ../build/NEWS:11906 +msgid "" +"`bpo-32282 `__: Fix an unnecessary ifdef " +"in the include of VersionHelpers.h in socketmodule on Windows." +msgstr "" + +#: ../build/NEWS:8632 +msgid "" +"`bpo-30579 `__: Implement TracebackType." +"__new__ to allow Python-level creation of traceback objects, and make " +"TracebackType.tb_next mutable." +msgstr "" + +#: ../build/NEWS:8635 +msgid "" +"`bpo-32260 `__: Don't byte swap the " +"input keys to the SipHash algorithm on big-endian platforms. This should " +"ensure siphash gives consistent results across platforms." +msgstr "" + +#: ../build/NEWS:8639 +msgid "" +"`bpo-31506 `__: Improve the error " +"message logic for object.__new__ and object.__init__. Patch by Sanyam " +"Khurana." +msgstr "" + +#: ../build/NEWS:8642 +msgid "" +"`bpo-20361 `__: ``-b`` and ``-bb`` now " +"inject ``'default::BytesWarning'`` and ``error::BytesWarning`` entries into " +"``sys.warnoptions``, ensuring that they take precedence over any other " +"warning filters configured via the ``-W`` option or the ``PYTHONWARNINGS`` " +"environment variable." +msgstr "" + +#: ../build/NEWS:8647 +msgid "" +"`bpo-32230 `__: `-X dev` now injects a " +"``'default'`` entry into sys.warnoptions, ensuring that it behaves " +"identically to actually passing ``-Wdefault`` at the command line." +msgstr "" + +#: ../build/NEWS:8651 +msgid "" +"`bpo-29240 `__: Add a new UTF-8 mode: " +"implementation of the :pep:`540`." +msgstr "" + +#: ../build/NEWS:8653 +msgid "" +"`bpo-32226 `__: :pep:`560`: Add support " +"for ``__mro_entries__`` and ``__class_getitem__``. Implemented by Ivan " +"Levkivskyi." +msgstr "" + +#: ../build/NEWS:8656 +msgid "" +"`bpo-32225 `__: :pep:`562`: Add support " +"for module ``__getattr__`` and ``__dir__``. Implemented by Ivan Levkivskyi." +msgstr "" + +#: ../build/NEWS:8659 +msgid "" +"`bpo-31901 `__: The `atexit` module now " +"has its callback stored per interpreter." +msgstr "" + +#: ../build/NEWS:8662 +msgid "" +"`bpo-31650 `__: Implement :pep:`552` " +"(Deterministic pycs). Python now supports invalidating bytecode cache files " +"bashed on a source content hash rather than source last-modified time." +msgstr "" + +#: ../build/NEWS:8666 +msgid "" +"`bpo-29469 `__: Move constant folding " +"from bytecode layer to AST layer. Original patch by Eugene Toder." +msgstr "" + +#: ../build/NEWS:8672 +msgid "" +"`bpo-32506 `__: Now that dict is defined " +"as keeping insertion order, drop OrderedDict and just use plain dict." +msgstr "" + +#: ../build/NEWS:8675 +msgid "" +"`bpo-32279 `__: Add params to " +"dataclasses.make_dataclasses(): init, repr, eq, order, hash, and frozen. " +"Pass them through to dataclass()." +msgstr "" + +#: ../build/NEWS:8678 +msgid "" +"`bpo-32278 `__: Make type information " +"optional on dataclasses.make_dataclass(). If omitted, the string 'typing." +"Any' is used." +msgstr "" + +#: ../build/NEWS:8681 +msgid "" +"`bpo-32499 `__: Add dataclasses." +"is_dataclass(obj), which returns True if obj is a dataclass or an instance " +"of one." +msgstr "" + +#: ../build/NEWS:8684 +msgid "" +"`bpo-32468 `__: Improve frame repr() to " +"mention filename, code name and current line number." +msgstr "" + +#: ../build/NEWS:8687 +msgid "" +"`bpo-23749 `__: asyncio: Implement loop." +"start_tls()" +msgstr "" + +#: ../build/NEWS:8689 +msgid "" +"`bpo-32441 `__: Return the new file " +"descriptor (i.e., the second argument) from ``os.dup2``. Previously, " +"``None`` was always returned." +msgstr "" + +#: ../build/NEWS:8692 +msgid "" +"`bpo-32422 `__: ``functools.lru_cache`` " +"uses less memory (3 words for each cached key) and takes about 1/3 time for " +"cyclic GC." +msgstr "" + +#: ../build/NEWS:8695 +msgid "" +"`bpo-31721 `__: Prevent Python crash " +"from happening when Future._log_traceback is set to True manually. Now it " +"can only be set to False, or a ValueError is raised." +msgstr "" + +#: ../build/NEWS:8699 +msgid "" +"`bpo-32415 `__: asyncio: Add Task." +"get_loop() and Future.get_loop()" +msgstr "" + +#: ../build/NEWS:8701 ../build/NEWS:12354 +msgid "" +"`bpo-26133 `__: Don't unsubscribe " +"signals in asyncio UNIX event loop on interpreter shutdown." +msgstr "" + +#: ../build/NEWS:8704 +msgid "" +"`bpo-32363 `__: Make asyncio.Task." +"set_exception() and set_result() raise NotImplementedError. Task._step() and " +"Future.__await__() raise proper exceptions when they are in an invalid " +"state, instead of raising an AssertionError." +msgstr "" + +#: ../build/NEWS:8709 +#, python-format +msgid "" +"`bpo-32357 `__: Optimize asyncio." +"iscoroutine() and loop.create_task() for non-native coroutines (e.g. async/" +"await compiled with Cython). 'loop.create_task(python_coroutine)' used to be " +"20% faster than 'loop.create_task(cython_coroutine)'. Now, the latter is as " +"fast." +msgstr "" + +#: ../build/NEWS:8714 +msgid "" +"`bpo-32356 `__: asyncio.transport." +"resume_reading() and pause_reading() are now idempotent. New transport." +"is_reading() method is added." +msgstr "" + +#: ../build/NEWS:8717 +#, python-format +msgid "" +"`bpo-32355 `__: Optimize asyncio." +"gather(); now up to 15% faster." +msgstr "" + +#: ../build/NEWS:8719 +msgid "" +"`bpo-32351 `__: Use fastpath in asyncio." +"sleep if delay<0 (2x boost)" +msgstr "" + +#: ../build/NEWS:8721 +msgid "" +"`bpo-32348 `__: Optimize asyncio.Future " +"schedule/add/remove callback. The optimization shows 3-6% performance " +"improvements of async/await code." +msgstr "" + +#: ../build/NEWS:8724 +msgid "" +"`bpo-32331 `__: Fix socket.settimeout() " +"and socket.setblocking() to keep socket.type as is. Fix socket.socket() " +"constructor to reset any bit flags applied to socket's type. This change " +"only affects OSes that have SOCK_NONBLOCK and/or SOCK_CLOEXEC." +msgstr "" + +#: ../build/NEWS:8729 +msgid "" +"`bpo-32248 `__: Add :class:`importlib." +"abc.ResourceReader` as an ABC for loaders to provide a unified API for " +"reading resources contained within packages. Also add :mod:`importlib." +"resources` as the port of ``importlib_resources``." +msgstr "" + +#: ../build/NEWS:8734 +msgid "" +"`bpo-32311 `__: Implement asyncio." +"create_task(coro) shortcut" +msgstr "" + +#: ../build/NEWS:8736 +msgid "" +"`bpo-32327 `__: Convert asyncio " +"functions that were documented as coroutines to coroutines. Affected " +"functions: loop.sock_sendall, loop.sock_recv, loop.sock_accept, loop." +"getaddrinfo, loop.getnameinfo." +msgstr "" + +#: ../build/NEWS:8740 ../build/NEWS:12360 +msgid "" +"`bpo-32323 `__: :func:`urllib.parse." +"urlsplit()` does not convert zone-id (scope) to lower case for scoped IPv6 " +"addresses in hostnames now." +msgstr "" + +#: ../build/NEWS:8743 ../build/NEWS:12363 +msgid "" +"`bpo-32302 `__: Fix bdist_wininst of " +"distutils for CRT v142: it binary compatible with CRT v140." +msgstr "" + +#: ../build/NEWS:8746 +msgid "" +"`bpo-29711 `__: Fix ``stop_serving`` in " +"asyncio proactor loop kill all listening servers" +msgstr "" + +#: ../build/NEWS:8749 +msgid "" +"`bpo-32308 `__: :func:`re.sub()` now " +"replaces empty matches adjacent to a previous non-empty match." +msgstr "" + +#: ../build/NEWS:8752 +msgid "" +"`bpo-29970 `__: Abort asyncio " +"SSLProtocol connection if handshake not complete within 10s" +msgstr "" + +#: ../build/NEWS:8755 +msgid "" +"`bpo-32314 `__: Implement asyncio.run()." +msgstr "" + +#: ../build/NEWS:8757 +msgid "" +"`bpo-17852 `__: Revert incorrect fix " +"based on misunderstanding of _Py_PyAtExit() semantics." +msgstr "" + +#: ../build/NEWS:8760 +msgid "" +"`bpo-32296 `__: Implement asyncio." +"_get_running_loop() and get_event_loop() in C. This makes them 4x faster." +msgstr "" + +#: ../build/NEWS:8763 +msgid "" +"`bpo-32250 `__: Implement ``asyncio." +"current_task()`` and ``asyncio.all_tasks()``. Add helpers intended to be " +"used by alternative task implementations: ``asyncio._register_task``, " +"``asyncio._enter_task``, ``asyncio._leave_task`` and ``asyncio." +"_unregister_task``. Deprecate ``asyncio.Task.current_task()`` and ``asyncio." +"Task.all_tasks()``." +msgstr "" + +#: ../build/NEWS:8769 ../build/NEWS:12366 +msgid "" +"`bpo-32255 `__: A single empty field is " +"now always quoted when written into a CSV file. This allows to distinguish " +"an empty row from a row consisting of a single empty field. Patch by Licht " +"Takeuchi." +msgstr "" + +#: ../build/NEWS:8773 ../build/NEWS:12370 +msgid "" +"`bpo-32277 `__: Raise " +"``NotImplementedError`` instead of ``SystemError`` on platforms where " +"``chmod(..., follow_symlinks=False)`` is not supported. Patch by Anthony " +"Sottile." +msgstr "" + +#: ../build/NEWS:8777 +msgid "" +"`bpo-30050 `__: New argument " +"warn_on_full_buffer to signal.set_wakeup_fd lets you control whether Python " +"prints a warning on stderr when the wakeup fd buffer overflows." +msgstr "" + +#: ../build/NEWS:8781 +msgid "" +"`bpo-29137 `__: The ``fpectl`` library " +"has been removed. It was never enabled by default, never worked correctly on " +"x86-64, and it changed the Python ABI in ways that caused unexpected " +"breakage of C extensions." +msgstr "" + +#: ../build/NEWS:8785 +msgid "" +"`bpo-32273 `__: Move asyncio.test_utils " +"to test.test_asyncio." +msgstr "" + +#: ../build/NEWS:8787 +msgid "" +"`bpo-32272 `__: Remove asyncio.async() " +"function." +msgstr "" + +#: ../build/NEWS:8789 +msgid "" +"`bpo-32269 `__: Add asyncio." +"get_running_loop() function." +msgstr "" + +#: ../build/NEWS:8791 +msgid "" +"`bpo-32265 `__: All class and static " +"methods of builtin types now are correctly classified by inspect." +"classify_class_attrs() and grouped in pydoc ouput. Added types." +"ClassMethodDescriptorType for unbound class methods of builtin types." +msgstr "" + +#: ../build/NEWS:8796 +msgid "" +"`bpo-32253 `__: Deprecate ``yield from " +"lock``, ``await lock``, ``with (yield from lock)`` and ``with await lock`` " +"for asyncio synchronization primitives." +msgstr "" + +#: ../build/NEWS:8800 +msgid "" +"`bpo-22589 `__: Changed MIME type of ." +"bmp from 'image/x-ms-bmp' to 'image/bmp'" +msgstr "" + +#: ../build/NEWS:8802 +msgid "" +"`bpo-32193 `__: Convert asyncio to use " +"*async/await* syntax. Old styled ``yield from`` is still supported too." +msgstr "" + +#: ../build/NEWS:8805 +msgid "" +"`bpo-32206 `__: Add support to run " +"modules with pdb" +msgstr "" + +#: ../build/NEWS:8807 +msgid "" +"`bpo-32227 `__: ``functools." +"singledispatch`` now supports registering implementations using type " +"annotations." +msgstr "" + +#: ../build/NEWS:8810 +msgid "" +"`bpo-15873 `__: Added new alternate " +"constructors :meth:`datetime.datetime.fromisoformat`, :meth:`datetime.time." +"fromisoformat` and :meth:`datetime.date.fromisoformat` as the inverse " +"operation of each classes's respective ``isoformat`` methods." +msgstr "" + +#: ../build/NEWS:8816 ../build/NEWS:12374 +msgid "" +"`bpo-32199 `__: The getnode() ip getter " +"now uses 'ip link' instead of 'ip link list'." +msgstr "" + +#: ../build/NEWS:8819 +msgid "" +"`bpo-32143 `__: os.statvfs() includes " +"the f_fsid field from statvfs(2)" +msgstr "" + +#: ../build/NEWS:8821 +msgid "" +"`bpo-26439 `__: Fix ctypes.util." +"find_library() for AIX by implementing ctypes._aix.find_library() Patch by: " +"Michael Felt" +msgstr "" + +#: ../build/NEWS:8824 +msgid "" +"`bpo-31993 `__: The pickler now uses " +"less memory when serializing large bytes and str objects into a file. " +"Pickles created with protocol 4 will require less memory for unpickling " +"large bytes and str objects." +msgstr "" + +#: ../build/NEWS:8828 ../build/NEWS:12377 +msgid "" +"`bpo-27456 `__: Ensure TCP_NODELAY is " +"set on Linux. Tests by Victor Stinner." +msgstr "" + +#: ../build/NEWS:8830 +msgid "" +"`bpo-31778 `__: ast.literal_eval() is " +"now more strict. Addition and subtraction of arbitrary numbers no longer " +"allowed." +msgstr "" + +#: ../build/NEWS:8833 ../build/NEWS:12388 +msgid "" +"`bpo-31802 `__: Importing native path " +"module (``posixpath``, ``ntpath``) now works even if the ``os`` module still " +"is not imported." +msgstr "" + +#: ../build/NEWS:8836 +msgid "" +"`bpo-30241 `__: Add contextlib." +"AbstractAsyncContextManager. Patch by Jelle Zijlstra." +msgstr "" + +#: ../build/NEWS:8839 +msgid "" +"`bpo-31699 `__: Fix deadlocks in :class:" +"`concurrent.futures.ProcessPoolExecutor` when task arguments or results " +"cause pickling or unpickling errors. This should make sure that calls to " +"the :class:`ProcessPoolExecutor` API always eventually return." +msgstr "" + +#: ../build/NEWS:8844 +msgid "" +"`bpo-15216 `__: ``TextIOWrapper." +"reconfigure()`` supports changing *encoding*, *errors*, and *newline*." +msgstr "" + +#: ../build/NEWS:8850 +msgid "" +"`bpo-32418 `__: Add get_loop() method to " +"Server and AbstractServer classes." +msgstr "" + +#: ../build/NEWS:8855 ../build/NEWS:12419 +msgid "" +"`bpo-32252 `__: Fix " +"faulthandler_suppress_crash_report() used to prevent core dump files when " +"testing crashes. getrlimit() returns zero on success." +msgstr "" + +#: ../build/NEWS:8858 +msgid "" +"`bpo-32002 `__: Adjust C locale coercion " +"testing for the empty locale and POSIX locale cases to more readily adjust " +"to platform dependent behaviour." +msgstr "" + +#: ../build/NEWS:8864 +msgid "" +"`bpo-19764 `__: Implement support for " +"`subprocess.Popen(close_fds=True)` on Windows. Patch by Segev Finer." +msgstr "" + +#: ../build/NEWS:8870 ../build/NEWS:12500 +msgid "" +"`bpo-24960 `__: 2to3 and lib2to3 can now " +"read pickled grammar files using pkgutil.get_data() rather than probing the " +"filesystem. This lets 2to3 and lib2to3 work when run from a zipfile." +msgstr "" + +#: ../build/NEWS:8877 +msgid "" +"`bpo-32030 `__: Py_Initialize() doesn't " +"reset the memory allocators to default if the ``PYTHONMALLOC`` environment " +"variable is not set." +msgstr "" + +#: ../build/NEWS:8880 ../build/NEWS:12510 +msgid "" +"`bpo-29084 `__: Undocumented C API for " +"OrderedDict has been excluded from the limited C API. It was added by " +"mistake and actually never worked in the limited C API." +msgstr "" + +#: ../build/NEWS:8884 +msgid "" +"`bpo-32264 `__: Moved the pygetopt.h " +"header into internal/, since it has no public APIs." +msgstr "" + +#: ../build/NEWS:8887 +msgid "" +"`bpo-32241 `__: :c:func:" +"`Py_SetProgramName` and :c:func:`Py_SetPythonHome` now take the ``const " +"wchar *`` arguments instead of ``wchar *``." +msgstr "" + +#: ../build/NEWS:8892 +msgid "Python 3.7.0 alpha 3" +msgstr "" + +#: ../build/NEWS:8894 ../build/NEWS:12527 +msgid "*Release date: 2017-12-05*" +msgstr "" + +#: ../build/NEWS:8899 ../build/NEWS:12532 +msgid "" +"`bpo-32176 `__: co_flags.CO_NOFREE is " +"now always set correctly by the code object constructor based on freevars " +"and cellvars, rather than needing to be set correctly by the caller. This " +"ensures it will be cleared automatically when additional cell references are " +"injected into a modified code object and function." +msgstr "" + +#: ../build/NEWS:8905 +msgid "" +"`bpo-10544 `__: Yield expressions are " +"now deprecated in comprehensions and generator expressions. They are still " +"permitted in the definition of the outermost iterable, as that is evaluated " +"directly in the enclosing scope." +msgstr "" + +#: ../build/NEWS:8909 ../build/NEWS:12255 +msgid "" +"`bpo-32137 `__: The repr of deeply " +"nested dict now raises a RecursionError instead of crashing due to a stack " +"overflow." +msgstr "" + +#: ../build/NEWS:8912 +msgid "" +"`bpo-32096 `__: Revert memory allocator " +"changes in the C API: move structures back from _PyRuntime to Objects/" +"obmalloc.c. The memory allocators are once again initialized statically, and " +"so PyMem_RawMalloc() and Py_DecodeLocale() can be called before " +"_PyRuntime_Initialize()." +msgstr "" + +#: ../build/NEWS:8917 +msgid "" +"`bpo-32043 `__: Add a new \"developer " +"mode\": new \"-X dev\" command line option to enable debug checks at runtime." +msgstr "" + +#: ../build/NEWS:8920 +msgid "" +"`bpo-32023 `__: SyntaxError is now " +"correctly raised when a generator expression without parenthesis is used " +"instead of an inheritance list in a class definition. The duplication of the " +"parentheses can be omitted only on calls." +msgstr "" + +#: ../build/NEWS:8925 +msgid "" +"`bpo-32012 `__: SyntaxError is now " +"correctly raised when a generator expression without parenthesis is passed " +"as an argument, but followed by a trailing comma. A generator expression " +"always needs to be directly inside a set of parentheses and cannot have a " +"comma on either side." +msgstr "" + +#: ../build/NEWS:8930 +msgid "" +"`bpo-28180 `__: A new internal " +"``_Py_SetLocaleFromEnv(category)`` helper function has been added in order " +"to improve the consistency of behaviour across different ``libc`` " +"implementations (e.g. Android doesn't support setting the locale from the " +"environment by default)." +msgstr "" + +#: ../build/NEWS:8935 ../build/NEWS:12538 +msgid "" +"`bpo-31949 `__: Fixed several issues in " +"printing tracebacks (PyTraceBack_Print()). Setting sys.tracebacklimit to 0 " +"or less now suppresses printing tracebacks. Setting sys.tracebacklimit to " +"None now causes using the default limit. Setting sys.tracebacklimit to an " +"integer larger than LONG_MAX now means using the limit LONG_MAX rather than " +"the default limit. Fixed integer overflows in the case of more than 2**31 " +"traceback items on Windows. Fixed output errors handling." +msgstr "" + +#: ../build/NEWS:8943 ../build/NEWS:12546 +msgid "" +"`bpo-30696 `__: Fix the interactive " +"interpreter looping endlessly when no memory." +msgstr "" + +#: ../build/NEWS:8946 ../build/NEWS:12549 +msgid "" +"`bpo-20047 `__: Bytearray methods " +"partition() and rpartition() now accept only bytes-like objects as " +"separator, as documented. In particular they now raise TypeError rather of " +"returning a bogus result when an integer is passed as a separator." +msgstr "" + +#: ../build/NEWS:8951 ../build/NEWS:12557 +msgid "" +"`bpo-21720 `__: BytesWarning no longer " +"emitted when the *fromlist* argument of ``__import__()`` or the ``__all__`` " +"attribute of the module contain bytes instances." +msgstr "" + +#: ../build/NEWS:8955 +msgid "" +"`bpo-31845 `__: Environment variables " +"are once more read correctly at interpreter startup." +msgstr "" + +#: ../build/NEWS:8958 +msgid "" +"`bpo-28936 `__: Ensure that lexically " +"first syntax error involving a parameter and ``global`` or ``nonlocal`` is " +"detected first at a given scope. Patch by Ivan Levkivskyi." +msgstr "" + +#: ../build/NEWS:8962 ../build/NEWS:12561 +msgid "" +"`bpo-31825 `__: Fixed OverflowError in " +"the 'unicode-escape' codec and in codecs.escape_decode() when decode an " +"escaped non-ascii byte." +msgstr "" + +#: ../build/NEWS:8965 +msgid "" +"`bpo-31618 `__: The per-frame tracing " +"logic added in 3.7a1 has been altered so that ``frame->f_lineno`` is updated " +"before either ``\"line\"`` or ``\"opcode\"`` events are emitted. Previously, " +"opcode events were emitted first, and therefore would occasionally see stale " +"line numbers on the frame. The behavior of this feature has changed slightly " +"as a result: when both ``f_trace_lines`` and ``f_trace_opcodes`` are " +"enabled, line events now occur first." +msgstr "" + +#: ../build/NEWS:8973 ../build/NEWS:12564 +msgid "" +"`bpo-28603 `__: Print the full context/" +"cause chain of exceptions on interpreter exit, even if an exception in the " +"chain is unhashable or compares equal to later ones. Patch by Zane Bitter." +msgstr "" + +#: ../build/NEWS:8977 ../build/NEWS:12568 +msgid "" +"`bpo-31786 `__: Fix timeout rounding in " +"the select module to round correctly negative timeouts between -1.0 and 0.0. " +"The functions now block waiting for events as expected. Previously, the call " +"was incorrectly non-blocking. Patch by Pablo Galindo." +msgstr "" + +#: ../build/NEWS:8982 +msgid "" +"`bpo-31781 `__: Prevent crashes when " +"calling methods of an uninitialized ``zipimport.zipimporter`` object. Patch " +"by Oren Milman." +msgstr "" + +#: ../build/NEWS:8985 +msgid "" +"`bpo-30399 `__: Standard repr() of " +"BaseException with a single argument no longer contains redundant trailing " +"comma." +msgstr "" + +#: ../build/NEWS:8988 ../build/NEWS:12576 +msgid "" +"`bpo-31626 `__: Fixed a bug in debug " +"memory allocator. There was a write to freed memory after shrinking a " +"memory block." +msgstr "" + +#: ../build/NEWS:8991 ../build/NEWS:12621 +msgid "" +"`bpo-30817 `__: `PyErr_PrintEx()` clears " +"now the ignored exception that may be raised by `_PySys_SetObjectId()`, for " +"example when no memory." +msgstr "" + +#: ../build/NEWS:8997 ../build/NEWS:12627 +msgid "" +"`bpo-28556 `__: Two minor fixes for " +"``typing`` module: allow shallow copying instances of generic classes, " +"improve interaction of ``__init_subclass__`` with generics. Original PRs by " +"Ivan Levkivskyi." +msgstr "" + +#: ../build/NEWS:9001 +msgid "" +"`bpo-32214 `__: PEP 557, Data Classes. " +"Provides a decorator which adds boilerplate methods to classes which use " +"type annotations so specify fields." +msgstr "" + +#: ../build/NEWS:9005 ../build/NEWS:12631 +msgid "" +"`bpo-27240 `__: The header folding " +"algorithm for the new email policies has been rewritten, which also fixes " +"`bpo-30788 `__, `bpo-31831 `__, and `bpo-32182 `__. In particular, RFC2231 folding is now done correctly." +msgstr "" + +#: ../build/NEWS:9009 ../build/NEWS:12635 +msgid "" +"`bpo-32186 `__: io.FileIO.readall() and " +"io.FileIO.read() now release the GIL when getting the file size. Fixed hang " +"of all threads with inaccessible NFS server. Patch by Nir Soffer." +msgstr "" + +#: ../build/NEWS:9013 +msgid "" +"`bpo-321010 `__: Add :attr:`sys.flags." +"dev_mode` flag" +msgstr "" + +#: ../build/NEWS:9015 +msgid "" +"`bpo-32154 `__: The ``asyncio." +"windows_utils.socketpair()`` function has been removed: use directly :func:" +"`socket.socketpair` which is available on all platforms since Python 3.5 " +"(before, it wasn't available on Windows). ``asyncio.windows_utils." +"socketpair()`` was just an alias to ``socket.socketpair`` on Python 3.5 and " +"newer." +msgstr "" + +#: ../build/NEWS:9021 +msgid "" +"`bpo-32089 `__: warnings: In development " +"(-X dev) and debug mode (pydebug build), use the \"default\" action for " +"ResourceWarning, rather than the \"always\" action, in the default warnings " +"filters." +msgstr "" + +#: ../build/NEWS:9025 +msgid "" +"`bpo-32107 `__: ``uuid.getnode()`` now " +"preferentially returns universally administered MAC addresses if available, " +"over locally administered MAC addresses. This makes a better guarantee for " +"global uniqueness of UUIDs returned from ``uuid.uuid1()``. If only locally " +"administered MAC addresses are available, the first such one found is " +"returned." +msgstr "" + +#: ../build/NEWS:9031 +msgid "" +"`bpo-23033 `__: Wildcard is now " +"supported in hostname when it is one and only character in the left most " +"segment of hostname in second argument of :meth:`ssl.match_hostname`. Patch " +"by Mandeep Singh." +msgstr "" + +#: ../build/NEWS:9035 ../build/NEWS:12639 +msgid "" +"`bpo-12239 `__: Make :meth:`msilib." +"SummaryInformation.GetProperty` return ``None`` when the value of property " +"is ``VT_EMPTY``. Initial patch by Mark Mc Mahon." +msgstr "" + +#: ../build/NEWS:9039 +msgid "" +"`bpo-28334 `__: Use :func:`os.path." +"expanduser` to find the ``~/.netrc`` file in :class:`netrc.netrc`. If it " +"does not exist, :exc:`FileNotFoundError` is raised. Patch by Dimitri " +"Merejkowsky." +msgstr "" + +#: ../build/NEWS:9043 +msgid "" +"`bpo-32121 `__: Made ``tracemalloc." +"Traceback`` behave more like the traceback module, sorting the frames from " +"oldest to most recent. ``Traceback.format()`` now accepts negative *limit*, " +"truncating the result to the ``abs(limit)`` oldest frames. To get the old " +"behaviour, one can use the new *most_recent_first* argument to ``Traceback." +"format()``. (Patch by Jesse Bakker.)" +msgstr "" + +#: ../build/NEWS:9050 ../build/NEWS:12643 +msgid "" +"`bpo-31325 `__: Fix wrong usage of :func:" +"`collections.namedtuple` in the :meth:`RobotFileParser.parse() ` method. Initial patch by Robin Wellner." +msgstr "" + +#: ../build/NEWS:9054 ../build/NEWS:12647 +msgid "" +"`bpo-12382 `__: :func:`msilib." +"OpenDatabase` now raises a better exception message when it couldn't open or " +"create an MSI file. Initial patch by William Tisäter." +msgstr "" + +#: ../build/NEWS:9058 +msgid "" +"`bpo-19610 `__: ``setup()`` now warns " +"about invalid types for some fields. The ``distutils.dist.Distribution`` " +"class now warns when ``classifiers``, ``keywords`` and ``platforms`` fields " +"are not specified as a list or a string." +msgstr "" + +#: ../build/NEWS:9063 +msgid "" +"`bpo-32071 `__: Added the ``-k`` command-" +"line option to ``python -m unittest`` to run only tests that match the given " +"pattern(s)." +msgstr "" + +#: ../build/NEWS:9066 +msgid "" +"`bpo-10049 `__: Added *nullcontext* no-" +"op context manager to contextlib. This provides a simpler and faster " +"alternative to ExitStack() when handling optional context managers." +msgstr "" + +#: ../build/NEWS:9070 +msgid "" +"`bpo-28684 `__: The new test.support." +"skip_unless_bind_unix_socket() decorator is used here to skip asyncio tests " +"that fail because the platform lacks a functional bind() function for unix " +"domain sockets (as it is the case for non root users on the recent Android " +"versions that run now SELinux in enforcing mode)." +msgstr "" + +#: ../build/NEWS:9076 ../build/NEWS:12651 +msgid "" +"`bpo-32110 `__: ``codecs.StreamReader." +"read(n)`` now returns not more than *n* characters/bytes for non-negative " +"*n*. This makes it compatible with ``read()`` methods of other file-like " +"objects." +msgstr "" + +#: ../build/NEWS:9080 +msgid "" +"`bpo-27535 `__: The warnings module " +"doesn't leak memory anymore in the hidden warnings registry for the \"ignore" +"\" action of warnings filters. warn_explicit() function doesn't add the " +"warning key to the registry anymore for the \"ignore\" action." +msgstr "" + +#: ../build/NEWS:9085 +msgid "" +"`bpo-32088 `__: warnings: When Python " +"is build is debug mode (``Py_DEBUG``), :exc:`DeprecationWarning`, :exc:" +"`PendingDeprecationWarning` and :exc:`ImportWarning` warnings are now " +"displayed by default." +msgstr "" + +#: ../build/NEWS:9089 +msgid "" +"`bpo-1647489 `__: Fixed searching " +"regular expression patterns that could match an empty string. Non-empty " +"string can now be correctly found after matching an empty string." +msgstr "" + +#: ../build/NEWS:9093 +msgid "" +"`bpo-25054 `__: Added support of " +"splitting on a pattern that could match an empty string." +msgstr "" + +#: ../build/NEWS:9096 ../build/NEWS:12655 ../build/NEWS:17372 +msgid "" +"`bpo-32072 `__: Fixed issues with binary " +"plists: Fixed saving bytearrays. Identical objects will be saved only once. " +"Equal references will be load as identical objects. Added support for saving " +"and loading recursive data structures." +msgstr "" + +#: ../build/NEWS:9101 +msgid "" +"`bpo-32069 `__: Drop legacy SSL " +"transport from asyncio, ssl.MemoryBIO is always used anyway." +msgstr "" + +#: ../build/NEWS:9104 +msgid "" +"`bpo-32066 `__: asyncio: Support pathlib." +"Path in create_unix_connection; sock arg should be optional" +msgstr "" + +#: ../build/NEWS:9107 +msgid "" +"`bpo-32046 `__: Updates 2to3 to convert " +"from operator.isCallable(obj) to callable(obj). Patch by Dong-hee Na." +msgstr "" + +#: ../build/NEWS:9110 +msgid "" +"`bpo-32018 `__: inspect.signature should " +"follow :pep:`8`, if the parameter has an annotation and a default value. " +"Patch by Dong-hee Na." +msgstr "" + +#: ../build/NEWS:9113 +msgid "" +"`bpo-32025 `__: Add time.thread_time() " +"and time.thread_time_ns()" +msgstr "" + +#: ../build/NEWS:9115 +msgid "" +"`bpo-32037 `__: Integers that fit in a " +"signed 32-bit integer will be now pickled with protocol 0 using the INT " +"opcode. This will decrease the size of a pickle, speed up pickling and " +"unpickling, and make these integers be unpickled as int instances in Python " +"2." +msgstr "" + +#: ../build/NEWS:9120 ../build/NEWS:12660 +msgid "" +"`bpo-32034 `__: Make asyncio." +"IncompleteReadError and LimitOverrunError pickleable." +msgstr "" + +#: ../build/NEWS:9123 ../build/NEWS:12663 +msgid "" +"`bpo-32015 `__: Fixed the looping of " +"asyncio in the case of reconnection the socket during waiting async read/" +"write from/to the socket." +msgstr "" + +#: ../build/NEWS:9126 ../build/NEWS:12666 +msgid "" +"`bpo-32011 `__: Restored support of " +"loading marshal files with the TYPE_INT64 code. These files can be produced " +"in Python 2.7." +msgstr "" + +#: ../build/NEWS:9129 +msgid "" +"`bpo-28369 `__: Enhance add_reader/" +"writer check that socket is not used by some transport. Before, only cases " +"when add_reader/writer were called with an int FD were supported. Now the " +"check is implemented correctly for all file-like objects." +msgstr "" + +#: ../build/NEWS:9134 +msgid "" +"`bpo-31976 `__: Fix race condition when " +"flushing a file is slow, which can cause a segfault if closing the file from " +"another thread." +msgstr "" + +#: ../build/NEWS:9137 +msgid "" +"`bpo-31985 `__: Formally deprecated aifc." +"openfp, sunau.openfp, and wave.openfp. Since change " +"7bc817d5ba917528e8bd07ec461c635291e7b06a in 1993, openfp in each of the " +"three modules had been pointing to that module's open function as a matter " +"of backwards compatibility, though it had been both untested and " +"undocumented." +msgstr "" + +#: ../build/NEWS:9143 +msgid "" +"`bpo-21862 `__: cProfile command line " +"now accepts `-m module_name` as an alternative to script path. Patch by " +"Sanyam Khurana." +msgstr "" + +#: ../build/NEWS:9146 ../build/NEWS:12669 +msgid "" +"`bpo-31970 `__: Reduce performance " +"overhead of asyncio debug mode." +msgstr "" + +#: ../build/NEWS:9148 +msgid "" +"`bpo-31843 `__: *database* argument of " +"sqlite3.connect() now accepts a :term:`path-like object`, instead of just a " +"string." +msgstr "" + +#: ../build/NEWS:9151 +msgid "" +"`bpo-31945 `__: Add Configurable " +"*blocksize* to ``HTTPConnection`` and ``HTTPSConnection`` for improved " +"upload throughput. Patch by Nir Soffer." +msgstr "" + +#: ../build/NEWS:9154 +msgid "" +"`bpo-31943 `__: Add a ``cancelled()`` " +"method to :class:`asyncio.Handle`. Patch by Marat Sharafutdinov." +msgstr "" + +#: ../build/NEWS:9157 ../build/NEWS:12671 +msgid "" +"`bpo-9678 `__: Fixed determining the MAC " +"address in the uuid module: Using ifconfig on NetBSD and OpenBSD. Using arp " +"on Linux, FreeBSD, NetBSD and OpenBSD. Based on patch by Takayuki " +"Shimizukawa." +msgstr "" + +#: ../build/NEWS:9161 ../build/NEWS:12675 +msgid "" +"`bpo-30057 `__: Fix potential missed " +"signal in signal.signal()." +msgstr "" + +#: ../build/NEWS:9163 ../build/NEWS:12677 +msgid "" +"`bpo-31933 `__: Fix Blake2 params " +"leaf_size and node_offset on big endian platforms. Patch by Jack O'Connor." +msgstr "" + +#: ../build/NEWS:9166 +msgid "" +"`bpo-21423 `__: Add an initializer " +"argument to {Process,Thread}PoolExecutor" +msgstr "" + +#: ../build/NEWS:9168 ../build/NEWS:12680 +msgid "" +"`bpo-31927 `__: Fixed compilation of the " +"socket module on NetBSD 8. Fixed assertion failure or reading arbitrary " +"data when parse a AF_BLUETOOTH address on NetBSD and DragonFly BSD." +msgstr "" + +#: ../build/NEWS:9172 ../build/NEWS:12684 +msgid "" +"`bpo-27666 `__: Fixed stack corruption " +"in curses.box() and curses.ungetmouse() when the size of types chtype or " +"mmask_t is less than the size of C long. curses.box() now accepts characters " +"as arguments. Based on patch by Steve Fink." +msgstr "" + +#: ../build/NEWS:9177 +msgid "" +"`bpo-31917 `__: Add 3 new clock " +"identifiers: :data:`time.CLOCK_BOOTTIME`, :data:`time.CLOCK_PROF` and :data:" +"`time.CLOCK_UPTIME`." +msgstr "" + +#: ../build/NEWS:9180 ../build/NEWS:12689 +msgid "" +"`bpo-31897 `__: plistlib now catches " +"more errors when read binary plists and raises InvalidFileException instead " +"of unexpected exceptions." +msgstr "" + +#: ../build/NEWS:9183 ../build/NEWS:12692 +msgid "" +"`bpo-25720 `__: Fix the method for " +"checking pad state of curses WINDOW. Patch by Masayuki Yamamoto." +msgstr "" + +#: ../build/NEWS:9186 ../build/NEWS:12695 +msgid "" +"`bpo-31893 `__: Fixed the layout of the " +"kqueue_event structure on OpenBSD and NetBSD. Fixed the comparison of the " +"kqueue_event objects." +msgstr "" + +#: ../build/NEWS:9189 ../build/NEWS:12698 +msgid "" +"`bpo-31891 `__: Fixed building the " +"curses module on NetBSD." +msgstr "" + +#: ../build/NEWS:9191 +msgid "" +"`bpo-31884 `__: added required constants " +"to subprocess module for setting priority on windows" +msgstr "" + +#: ../build/NEWS:9194 +msgid "" +"`bpo-28281 `__: Remove year (1-9999) " +"limits on the Calendar.weekday() function. Patch by Mark Gollahon." +msgstr "" + +#: ../build/NEWS:9197 +msgid "" +"`bpo-31702 `__: crypt.mksalt() now " +"allows to specify the number of rounds for SHA-256 and SHA-512 hashing." +msgstr "" + +#: ../build/NEWS:9200 +msgid "" +"`bpo-30639 `__: :func:`inspect.getfile` " +"no longer computes the repr of unknown objects to display in an error " +"message, to protect against badly behaved custom reprs." +msgstr "" + +#: ../build/NEWS:9204 +msgid "" +"`bpo-30768 `__: Fix the pthread" +"+semaphore implementation of PyThread_acquire_lock_timed() when called with " +"timeout > 0 and intr_flag=0: recompute the timeout if sem_timedwait() is " +"interrupted by a signal (EINTR). See also the :pep:`475`." +msgstr "" + +#: ../build/NEWS:9209 +msgid "" +"`bpo-31854 `__: Add ``mmap." +"ACCESS_DEFAULT`` constant." +msgstr "" + +#: ../build/NEWS:9211 +msgid "" +"`bpo-31834 `__: Use optimized code for " +"BLAKE2 only with SSSE3+. The pure SSE2 implementation is slower than the " +"pure C reference implementation." +msgstr "" + +#: ../build/NEWS:9214 +msgid "" +"`bpo-28292 `__: Calendar." +"itermonthdates() will now consistently raise an exception when a date falls " +"outside of the 0001-01-01 through 9999-12-31 range. To support applications " +"that cannot tolerate such exceptions, the new methods itermonthdays3() and " +"itermonthdays4() are added. The new methods return tuples and are not " +"restricted by the range supported by datetime.date." +msgstr "" + +#: ../build/NEWS:9221 +msgid "" +"`bpo-28564 `__: The shutil.rmtree() " +"function has been sped up to 20--40%. This was done using the os.scandir() " +"function." +msgstr "" + +#: ../build/NEWS:9224 ../build/NEWS:12700 +msgid "" +"`bpo-28416 `__: Instances of pickle." +"Pickler subclass with the persistent_id() method and pickle.Unpickler " +"subclass with the persistent_load() method no longer create reference cycles." +msgstr "" + +#: ../build/NEWS:9228 +msgid "" +"`bpo-31653 `__: Don't release the GIL if " +"we can acquire a multiprocessing semaphore immediately." +msgstr "" + +#: ../build/NEWS:9231 ../build/NEWS:12704 +msgid "" +"`bpo-28326 `__: Fix multiprocessing." +"Process when stdout and/or stderr is closed or None." +msgstr "" + +#: ../build/NEWS:9234 +msgid "" +"`bpo-20825 `__: Add `subnet_of` and " +"`superset_of` containment tests to :class:`ipaddress.IPv6Network` and :class:" +"`ipaddress.IPv4Network`. Patch by Michel Albert and Cheryl Sabella." +msgstr "" + +#: ../build/NEWS:9238 +msgid "" +"`bpo-31827 `__: Remove the os." +"stat_float_times() function. It was introduced in Python 2.3 for backward " +"compatibility with Python 2.2, and was deprecated since Python 3.1." +msgstr "" + +#: ../build/NEWS:9242 +msgid "" +"`bpo-31756 `__: Add a ``subprocess." +"Popen(text=False)`` keyword argument to `subprocess` functions to be more " +"explicit about when the library should attempt to decode outputs into text. " +"Patch by Andrew Clegg." +msgstr "" + +#: ../build/NEWS:9246 +msgid "" +"`bpo-31819 `__: Add AbstractEventLoop." +"sock_recv_into()." +msgstr "" + +#: ../build/NEWS:9248 ../build/NEWS:12026 ../build/NEWS:12707 +msgid "" +"`bpo-31457 `__: If nested log adapters " +"are used, the inner ``process()`` methods are no longer omitted." +msgstr "" + +#: ../build/NEWS:9251 ../build/NEWS:12710 +msgid "" +"`bpo-31457 `__: The ``manager`` property " +"on LoggerAdapter objects is now properly settable." +msgstr "" + +#: ../build/NEWS:9254 ../build/NEWS:12713 +msgid "" +"`bpo-31806 `__: Fix timeout rounding in " +"time.sleep(), threading.Lock.acquire() and socket.socket.settimeout() to " +"round correctly negative timeouts between -1.0 and 0.0. The functions now " +"block waiting for events as expected. Previously, the call was incorrectly " +"non-blocking. Patch by Pablo Galindo." +msgstr "" + +#: ../build/NEWS:9260 +msgid "" +"`bpo-31803 `__: time.clock() and time." +"get_clock_info('clock') now emit a DeprecationWarning warning." +msgstr "" + +#: ../build/NEWS:9263 +msgid "" +"`bpo-31800 `__: Extended support for " +"parsing UTC offsets. strptime '%z' can now parse the output generated by " +"datetime.isoformat, including seconds and microseconds." +msgstr "" + +#: ../build/NEWS:9267 ../build/NEWS:12719 +msgid "" +"`bpo-28603 `__: traceback: Fix a " +"TypeError that occurred during printing of exception tracebacks when either " +"the current exception or an exception in its context/cause chain is " +"unhashable. Patch by Zane Bitter." +msgstr "" + +#: ../build/NEWS:9271 +msgid "" +"`bpo-30541 `__: Add new function to seal " +"a mock and prevent the automatically creation of child mocks. Patch by Mario " +"Corchero." +msgstr "" + +#: ../build/NEWS:9274 +msgid "" +"`bpo-31784 `__: Implement the :pep:" +"`564`, add new 6 new functions with nanosecond resolution to the :mod:`time` " +"module: :func:`~time.clock_gettime_ns`, :func:`~time.clock_settime_ns`, :" +"func:`~time.monotonic_ns`, :func:`~time.perf_counter_ns`, :func:`~time." +"process_time_ns`, :func:`~time.time_ns`." +msgstr "" + +#: ../build/NEWS:9280 +msgid "" +"`bpo-30143 `__: 2to3 now generates a " +"code that uses abstract collection classes from collections.abc rather than " +"collections." +msgstr "" + +#: ../build/NEWS:9283 ../build/NEWS:12725 +msgid "" +"`bpo-31770 `__: Prevent a crash when " +"calling the ``__init__()`` method of a ``sqlite3.Cursor`` object more than " +"once. Patch by Oren Milman." +msgstr "" + +#: ../build/NEWS:9286 ../build/NEWS:12732 +msgid "" +"`bpo-31764 `__: Prevent a crash in " +"``sqlite3.Cursor.close()`` in case the ``Cursor`` object is uninitialized. " +"Patch by Oren Milman." +msgstr "" + +#: ../build/NEWS:9289 ../build/NEWS:12735 +msgid "" +"`bpo-31752 `__: Fix possible crash in " +"timedelta constructor called with custom integers." +msgstr "" + +#: ../build/NEWS:9292 ../build/NEWS:12744 +msgid "" +"`bpo-31620 `__: an empty asyncio.Queue " +"now doesn't leak memory when queue.get pollers timeout" +msgstr "" + +#: ../build/NEWS:9295 +msgid "" +"`bpo-31690 `__: Allow the flags re." +"ASCII, re.LOCALE, and re.UNICODE to be used as group flags for regular " +"expressions." +msgstr "" + +#: ../build/NEWS:9298 +msgid "" +"`bpo-30349 `__: FutureWarning is now " +"emitted if a regular expression contains character set constructs that will " +"change semantically in the future (nested sets and set operations)." +msgstr "" + +#: ../build/NEWS:9302 +msgid "" +"`bpo-31664 `__: Added support for the " +"Blowfish hashing in the crypt module." +msgstr "" + +#: ../build/NEWS:9304 ../build/NEWS:12747 +msgid "" +"`bpo-31632 `__: Fix method " +"set_protocol() of class _SSLProtocolTransport in asyncio module. This method " +"was previously modifying a wrong reference to the protocol." +msgstr "" + +#: ../build/NEWS:9308 ../build/NEWS:12758 +msgid "" +"`bpo-15037 `__: Added a workaround for " +"getkey() in curses for ncurses 5.7 and earlier." +msgstr "" + +#: ../build/NEWS:9311 +msgid "" +"`bpo-31307 `__: Allow use of bytes " +"objects for arguments to :meth:`configparser.ConfigParser.read`. Patch by " +"Vincent Michel." +msgstr "" + +#: ../build/NEWS:9314 ../build/NEWS:12778 +msgid "" +"`bpo-31334 `__: Fix ``poll." +"poll([timeout])`` in the ``select`` module for arbitrary negative timeouts " +"on all OSes where it can only be a non-negative integer or -1. Patch by " +"Riccardo Coccioli." +msgstr "" + +#: ../build/NEWS:9318 ../build/NEWS:12782 +msgid "" +"`bpo-31310 `__: multiprocessing's " +"semaphore tracker should be launched again if crashed." +msgstr "" + +#: ../build/NEWS:9321 ../build/NEWS:12785 +msgid "" +"`bpo-31308 `__: Make multiprocessing's " +"forkserver process immune to Ctrl-C and other user interruptions. If it " +"crashes, restart it when necessary." +msgstr "" + +#: ../build/NEWS:9324 +msgid "" +"`bpo-31245 `__: Added support for " +"AF_UNIX socket in asyncio `create_datagram_endpoint`." +msgstr "" + +#: ../build/NEWS:9327 +msgid "" +"`bpo-30553 `__: Add HTTP/2 status code " +"421 (Misdirected Request) to :class:`http.HTTPStatus`. Patch by Vitor " +"Pereira." +msgstr "" + +#: ../build/NEWS:9333 ../build/NEWS:12791 +msgid "" +"`bpo-32105 `__: Added asyncio." +"BaseEventLoop.connect_accepted_socket versionadded marker." +msgstr "" + +#: ../build/NEWS:9339 ../build/NEWS:12804 +msgid "" +"`bpo-31380 `__: Skip test_httpservers " +"test_undecodable_file on macOS: fails on APFS." +msgstr "" + +#: ../build/NEWS:9342 ../build/NEWS:12807 +msgid "" +"`bpo-31705 `__: Skip test_socket." +"test_sha256() on Linux kernel older than 4.5. The test fails with ENOKEY on " +"kernel 3.10 (on ppc64le). A fix was merged into the kernel 4.5." +msgstr "" + +#: ../build/NEWS:9346 +msgid "" +"`bpo-32138 `__: Skip on Android " +"test_faulthandler tests that raise SIGSEGV and remove the test.support." +"requires_android_level decorator." +msgstr "" + +#: ../build/NEWS:9349 +msgid "" +"`bpo-32136 `__: The runtime embedding " +"tests have been split out from ``Lib/test/test_capi.py`` into a new ``Lib/" +"test/test_embed.py`` file." +msgstr "" + +#: ../build/NEWS:9352 +msgid "" +"`bpo-28668 `__: test.support." +"requires_multiprocessing_queue is removed. Skip tests with test.support." +"import_module('multiprocessing.synchronize') instead when the semaphore " +"implementation is broken or missing." +msgstr "" + +#: ../build/NEWS:9356 +msgid "" +"`bpo-32126 `__: Skip " +"test_get_event_loop_new_process in test.test_asyncio.test_events when " +"sem_open() is not functional." +msgstr "" + +#: ../build/NEWS:9359 ../build/NEWS:12811 +msgid "" +"`bpo-31174 `__: Fix test_tools." +"test_unparse: DirectoryTestCase now stores the names sample to always test " +"the same files. It prevents false alarms when hunting reference leaks." +msgstr "" + +#: ../build/NEWS:9366 +msgid "" +"`bpo-28538 `__: Revert the previous " +"changes, the if_nameindex structure is defined by Unified Headers." +msgstr "" + +#: ../build/NEWS:9369 +msgid "" +"`bpo-28762 `__: Revert the last commit, " +"the F_LOCK macro is defined by Android Unified Headers." +msgstr "" + +#: ../build/NEWS:9372 +msgid "" +"`bpo-29040 `__: Support building Android " +"with Unified Headers. The first NDK release to support Unified Headers is " +"android-ndk-r14." +msgstr "" + +#: ../build/NEWS:9375 ../build/NEWS:12821 +msgid "" +"`bpo-32059 `__: ``detect_modules()`` in " +"``setup.py`` now also searches the sysroot paths when cross-compiling." +msgstr "" + +#: ../build/NEWS:9378 ../build/NEWS:12824 +msgid "" +"`bpo-31957 `__: Fixes Windows SDK " +"version detection when building for Windows." +msgstr "" + +#: ../build/NEWS:9380 ../build/NEWS:12826 +msgid "" +"`bpo-31609 `__: Fixes quotes in PCbuild/" +"clean.bat" +msgstr "" + +#: ../build/NEWS:9382 ../build/NEWS:12828 +msgid "" +"`bpo-31934 `__: Abort the build when " +"building out of a not clean source tree." +msgstr "" + +#: ../build/NEWS:9384 ../build/NEWS:12830 +msgid "" +"`bpo-31926 `__: Fixed Argument Clinic " +"sometimes causing compilation errors when there was more than one function " +"and/or method in a .c file with the same name." +msgstr "" + +#: ../build/NEWS:9388 ../build/NEWS:12834 +msgid "" +"`bpo-28791 `__: Update Windows builds to " +"use SQLite 3.21.0." +msgstr "" + +#: ../build/NEWS:9390 ../build/NEWS:12836 +msgid "" +"`bpo-28791 `__: Update OS X installer to " +"use SQLite 3.21.0." +msgstr "" + +#: ../build/NEWS:9392 +msgid "" +"`bpo-28643 `__: Record profile-opt build " +"progress with stamp files." +msgstr "" + +#: ../build/NEWS:9394 +msgid "" +"`bpo-31866 `__: Finish removing support " +"for AtheOS." +msgstr "" + +#: ../build/NEWS:9399 ../build/NEWS:12846 +msgid "" +"`bpo-1102 `__: Return ``None`` when " +"``View.Fetch()`` returns ``ERROR_NO_MORE_ITEMS`` instead of raising " +"``MSIError``. Initial patch by Anthony Tuininga." +msgstr "" + +#: ../build/NEWS:9403 ../build/NEWS:12850 +msgid "" +"`bpo-31944 `__: Fixes Modify button in " +"Apps and Features dialog." +msgstr "" + +#: ../build/NEWS:9405 +msgid "" +"`bpo-20486 `__: Implement the ``Database." +"Close()`` method to help closing MSI database objects." +msgstr "" + +#: ../build/NEWS:9408 +msgid "" +"`bpo-31857 `__: Make the behavior of " +"USE_STACKCHECK deterministic in a multi-threaded environment." +msgstr "" + +#: ../build/NEWS:9414 ../build/NEWS:12855 +msgid "" +"`bpo-31392 `__: Update macOS installer " +"to use OpenSSL 1.0.2m" +msgstr "" + +#: ../build/NEWS:9419 ../build/NEWS:12860 +msgid "" +"`bpo-32207 `__: Improve tk event " +"exception tracebacks in IDLE. When tk event handling is driven by IDLE's run " +"loop, a confusing and distracting queue.EMPTY traceback context is no longer " +"added to tk event exception tracebacks. The traceback is now the same as " +"when event handling is driven by user code. Patch based on a suggestion by " +"Serhiy Storchaka." +msgstr "" + +#: ../build/NEWS:9425 ../build/NEWS:12866 +msgid "" +"`bpo-32164 `__: Delete unused file " +"idlelib/tabbedpages.py. Use of TabbedPageSet in configdialog was replaced by " +"ttk.Notebook." +msgstr "" + +#: ../build/NEWS:9428 ../build/NEWS:12869 +msgid "" +"`bpo-32100 `__: IDLE: Fix old and new " +"bugs in pathbrowser; improve tests. Patch mostly by Cheryl Sabella." +msgstr "" + +#: ../build/NEWS:9431 ../build/NEWS:12872 +msgid "" +"`bpo-31858 `__: IDLE -- Restrict shell " +"prompt manipulation to the shell. Editor and output windows only see an " +"empty last prompt line. This simplifies the code and fixes a minor bug when " +"newline is inserted. Sys.ps1, if present, is read on Shell start-up, but is " +"not set or changed." +msgstr "" + +#: ../build/NEWS:9436 ../build/NEWS:12877 +msgid "" +"`bpo-31860 `__: The font sample in the " +"IDLE configuration dialog is now editable. Changes persist while IDLE " +"remains open" +msgstr "" + +#: ../build/NEWS:9439 ../build/NEWS:12880 +msgid "" +"`bpo-31836 `__: Test_code_module now " +"passes if run after test_idle, which sets ps1. The code module uses sys.ps1 " +"if present or sets it to '>>> ' if not. Test_code_module now properly tests " +"both behaviors. Ditto for ps2." +msgstr "" + +#: ../build/NEWS:9443 ../build/NEWS:12884 +msgid "" +"`bpo-28603 `__: Fix a TypeError that " +"caused a shell restart when printing a traceback that includes an exception " +"that is unhashable. Patch by Zane Bitter." +msgstr "" + +#: ../build/NEWS:9447 +msgid "" +"`bpo-13802 `__: Use non-Latin characters " +"in the IDLE's Font settings sample. Even if one selects a font that defines " +"a limited subset of the unicode Basic Multilingual Plane, tcl/tk will use " +"other fonts that define a character. The expanded example give users of non-" +"Latin characters a better idea of what they might see in IDLE's shell and " +"editors. To make room for the expanded sample, frames on the Font tab are re-" +"arranged. The Font/Tabs help explains a bit about the additions." +msgstr "" + +#: ../build/NEWS:9458 +msgid "" +"`bpo-32159 `__: Remove CVS and " +"Subversion tools: remove svneol.py and treesync.py scripts. CPython migrated " +"from CVS to Subversion, to Mercurial, and then to Git. CVS and Subversion " +"are no longer used to develop CPython." +msgstr "" + +#: ../build/NEWS:9463 ../build/NEWS:12923 +msgid "" +"`bpo-30722 `__: Make redemo work with " +"Python 3.6 and newer versions. Also, remove the ``LOCALE`` option since it " +"doesn't work with string patterns in Python 3. Patch by Christoph Sarnowski." +msgstr "" + +#: ../build/NEWS:9470 ../build/NEWS:12930 +msgid "" +"`bpo-20891 `__: Fix PyGILState_Ensure(). " +"When PyGILState_Ensure() is called in a non-Python thread before " +"PyEval_InitThreads(), only call PyEval_InitThreads() after calling " +"PyThreadState_New() to fix a crash." +msgstr "" + +#: ../build/NEWS:9474 +msgid "" +"`bpo-32125 `__: The " +"``Py_UseClassExceptionsFlag`` flag has been removed. It was deprecated and " +"wasn't used anymore since Python 2.0." +msgstr "" + +#: ../build/NEWS:9477 +msgid "" +"`bpo-25612 `__: Move the current " +"exception state from the frame object to the co-routine. This simplifies the " +"interpreter and fixes a couple of obscure bugs caused by having swap " +"exception state when entering or exiting a generator." +msgstr "" + +#: ../build/NEWS:9482 +msgid "" +"`bpo-23699 `__: Add " +"Py_RETURN_RICHCOMPARE macro to reduce boilerplate code in rich comparison " +"functions." +msgstr "" + +#: ../build/NEWS:9485 ../build/NEWS:12937 +msgid "" +"`bpo-30697 `__: The " +"`PyExc_RecursionErrorInst` singleton is removed and " +"`PyErr_NormalizeException()` does not use it anymore. This singleton is " +"persistent and its members being never cleared may cause a segfault during " +"finalization of the interpreter. See also `bpo-22898 `__." +msgstr "" + +#: ../build/NEWS:9492 +msgid "Python 3.7.0 alpha 2" +msgstr "" + +#: ../build/NEWS:9494 +msgid "*Release date: 2017-10-16*" +msgstr "" + +#: ../build/NEWS:9499 +msgid "" +"`bpo-31558 `__: ``gc.freeze()`` is a new " +"API that allows for moving all objects currently tracked by the garbage " +"collector to a permanent generation, effectively removing them from future " +"collection events. This can be used to protect those objects from having " +"their PyGC_Head mutated. In effect, this enables great copy-on-write " +"stability at fork()." +msgstr "" + +#: ../build/NEWS:9505 ../build/NEWS:12573 +msgid "" +"`bpo-31642 `__: Restored blocking \"from " +"package import module\" by setting sys.modules[\"package.module\"] to None." +msgstr "" + +#: ../build/NEWS:9508 +msgid "" +"`bpo-31708 `__: Allow use of " +"asynchronous generator expressions in synchronous functions." +msgstr "" + +#: ../build/NEWS:9511 +msgid "" +"`bpo-31709 `__: Drop support of " +"asynchronous __aiter__." +msgstr "" + +#: ../build/NEWS:9513 +msgid "" +"`bpo-30404 `__: The -u option now makes " +"the stdout and stderr streams unbuffered rather than line-buffered." +msgstr "" + +#: ../build/NEWS:9516 ../build/NEWS:12579 +msgid "" +"`bpo-31619 `__: Fixed a ValueError when " +"convert a string with large number of underscores to integer with binary " +"base." +msgstr "" + +#: ../build/NEWS:9519 +msgid "" +"`bpo-31602 `__: Fix an assertion failure " +"in `zipimporter.get_source()` in case of a bad `zlib.decompress()`. Patch by " +"Oren Milman." +msgstr "" + +#: ../build/NEWS:9522 ../build/NEWS:12582 +msgid "" +"`bpo-31592 `__: Fixed an assertion " +"failure in Python parser in case of a bad `unicodedata.normalize()`. Patch " +"by Oren Milman." +msgstr "" + +#: ../build/NEWS:9525 ../build/NEWS:12585 +msgid "" +"`bpo-31588 `__: Raise a `TypeError` with " +"a helpful error message when class creation fails due to a metaclass with a " +"bad ``__prepare__()`` method. Patch by Oren Milman." +msgstr "" + +#: ../build/NEWS:9529 +msgid "" +"`bpo-31574 `__: Importlib was " +"instrumented with two dtrace probes to profile import timing." +msgstr "" + +#: ../build/NEWS:9532 ../build/NEWS:12589 +msgid "" +"`bpo-31566 `__: Fix an assertion failure " +"in `_warnings.warn()` in case of a bad ``__name__`` global. Patch by Oren " +"Milman." +msgstr "" + +#: ../build/NEWS:9535 +msgid "" +"`bpo-31506 `__: Improved the error " +"message logic for object.__new__ and object.__init__." +msgstr "" + +#: ../build/NEWS:9538 ../build/NEWS:12592 +msgid "" +"`bpo-31505 `__: Fix an assertion failure " +"in `json`, in case `_json.make_encoder()` received a bad `encoder()` " +"argument. Patch by Oren Milman." +msgstr "" + +#: ../build/NEWS:9542 ../build/NEWS:12596 +msgid "" +"`bpo-31492 `__: Fix assertion failures " +"in case of failing to import from a module with a bad ``__name__`` " +"attribute, and in case of failing to access an attribute of such a module. " +"Patch by Oren Milman." +msgstr "" + +#: ../build/NEWS:9546 ../build/NEWS:12604 +msgid "" +"`bpo-31478 `__: Fix an assertion failure " +"in `_random.Random.seed()` in case the argument has a bad ``__abs__()`` " +"method. Patch by Oren Milman." +msgstr "" + +#: ../build/NEWS:9549 +msgid "" +"`bpo-31336 `__: Speed up class creation " +"by 10-20% by reducing the overhead in the necessary special method lookups. " +"Patch by Stefan Behnel." +msgstr "" + +#: ../build/NEWS:9552 +msgid "" +"`bpo-31415 `__: Add ``-X importtime`` " +"option to show how long each import takes. It can be used to optimize " +"application's startup time. Support the :envvar:`PYTHONPROFILEIMPORTTIME` " +"as an equivalent way to enable this." +msgstr "" + +#: ../build/NEWS:9556 +msgid "" +"`bpo-31410 `__: Optimized calling " +"wrapper and classmethod descriptors." +msgstr "" + +#: ../build/NEWS:9558 +msgid "" +"`bpo-31353 `__: :pep:`553` - Add a new " +"built-in called ``breakpoint()`` which calls ``sys.breakpointhook()``. By " +"default this imports ``pdb`` and calls ``pdb.set_trace()``, but users may " +"override ``sys.breakpointhook()`` to call whatever debugger they want. The " +"original value of the hook is saved in ``sys.__breakpointhook__``." +msgstr "" + +#: ../build/NEWS:9564 +msgid "" +"`bpo-17852 `__: Maintain a list of open " +"buffered files, flush them before exiting the interpreter. Based on a patch " +"from Armin Rigo." +msgstr "" + +#: ../build/NEWS:9567 ../build/NEWS:12607 +msgid "" +"`bpo-31315 `__: Fix an assertion failure " +"in imp.create_dynamic(), when spec.name is not a string. Patch by Oren " +"Milman." +msgstr "" + +#: ../build/NEWS:9570 ../build/NEWS:12610 +msgid "" +"`bpo-31311 `__: Fix a crash in the " +"``__setstate__()`` method of `ctypes._CData`, in case of a bad ``__dict__``. " +"Patch by Oren Milman." +msgstr "" + +#: ../build/NEWS:9573 ../build/NEWS:12613 +msgid "" +"`bpo-31293 `__: Fix crashes in true " +"division and multiplication of a timedelta object by a float with a bad " +"as_integer_ratio() method. Patch by Oren Milman." +msgstr "" + +#: ../build/NEWS:9577 ../build/NEWS:12617 +msgid "" +"`bpo-31285 `__: Fix an assertion failure " +"in `warnings.warn_explicit`, when the return value of the received loader's " +"get_source() has a bad splitlines() method. Patch by Oren Milman." +msgstr "" + +#: ../build/NEWS:9581 +msgid "" +"`bpo-30406 `__: Make ``async`` and " +"``await`` proper keywords, as specified in :pep:`492`." +msgstr "" + +#: ../build/NEWS:9587 ../build/NEWS:12723 +msgid "" +"`bpo-30058 `__: Fixed buffer overflow in " +"select.kqueue.control()." +msgstr "" + +#: ../build/NEWS:9589 ../build/NEWS:12728 +msgid "" +"`bpo-31672 `__: ``idpattern`` in " +"``string.Template`` matched some non-ASCII characters. Now it uses ``-i`` " +"regular expression local flag to avoid non-ASCII characters." +msgstr "" + +#: ../build/NEWS:9593 ../build/NEWS:12738 +msgid "" +"`bpo-31701 `__: On Windows, faulthandler." +"enable() now ignores MSC and COM exceptions." +msgstr "" + +#: ../build/NEWS:9596 ../build/NEWS:12741 +msgid "" +"`bpo-31728 `__: Prevent crashes in " +"`_elementtree` due to unsafe cleanup of `Element.text` and `Element.tail`. " +"Patch by Oren Milman." +msgstr "" + +#: ../build/NEWS:9599 +msgid "" +"`bpo-31671 `__: Now ``re.compile()`` " +"converts passed RegexFlag to normal int object before compiling. " +"bm_regex_compile benchmark shows 14% performance improvements." +msgstr "" + +#: ../build/NEWS:9603 +msgid "" +"`bpo-30397 `__: The types of compiled " +"regular objects and match objects are now exposed as `re.Pattern` and `re." +"Match`. This adds information in pydoc output for the re module." +msgstr "" + +#: ../build/NEWS:9607 ../build/NEWS:12751 +msgid "" +"`bpo-31675 `__: Fixed memory leaks in " +"Tkinter's methods splitlist() and split() when pass a string larger than 2 " +"GiB." +msgstr "" + +#: ../build/NEWS:9610 ../build/NEWS:12754 +msgid "" +"`bpo-31673 `__: Fixed typo in the name " +"of Tkinter's method adderrorinfo()." +msgstr "" + +#: ../build/NEWS:9612 +msgid "" +"`bpo-31648 `__: Improvements to path " +"predicates in ElementTree: Allow whitespace around predicate parts, i.e. " +"\"[a = 'text']\" instead of requiring the less readable \"[a='text']\". Add " +"support for text comparison of the current node, like \"[.='text']\". Patch " +"by Stefan Behnel." +msgstr "" + +#: ../build/NEWS:9617 ../build/NEWS:12756 +msgid "" +"`bpo-30806 `__: Fix the string " +"representation of a netrc object." +msgstr "" + +#: ../build/NEWS:9619 +msgid "" +"`bpo-31638 `__: Add optional argument " +"``compressed`` to ``zipapp.create_archive``, and add option ``--compress`` " +"to the command line interface of ``zipapp``." +msgstr "" + +#: ../build/NEWS:9623 ../build/NEWS:12761 +msgid "" +"`bpo-25351 `__: Avoid venv activate " +"failures with undefined variables" +msgstr "" + +#: ../build/NEWS:9625 +msgid "" +"`bpo-20519 `__: Avoid ctypes use (if " +"possible) and improve import time for uuid." +msgstr "" + +#: ../build/NEWS:9628 +msgid "" +"`bpo-28293 `__: The regular expression " +"cache is no longer completely dumped when it is full." +msgstr "" + +#: ../build/NEWS:9631 +msgid "" +"`bpo-31596 `__: Added " +"pthread_getcpuclockid() to the time module" +msgstr "" + +#: ../build/NEWS:9633 +msgid "" +"`bpo-27494 `__: Make 2to3 accept a " +"trailing comma in generator expressions. For example, ``set(x for x in " +"[],)`` is now allowed." +msgstr "" + +#: ../build/NEWS:9636 ../build/NEWS:12767 +msgid "" +"`bpo-30347 `__: Stop crashes when " +"concurrently iterate over itertools.groupby() iterators." +msgstr "" + +#: ../build/NEWS:9639 +msgid "" +"`bpo-30346 `__: An iterator produced by " +"itertools.groupby() iterator now becomes exhausted after advancing the " +"groupby iterator." +msgstr "" + +#: ../build/NEWS:9642 +msgid "" +"`bpo-31556 `__: Cancel asyncio.wait_for " +"future faster if timeout <= 0" +msgstr "" + +#: ../build/NEWS:9644 +msgid "" +"`bpo-31540 `__: Allow passing a context " +"object in :class:`concurrent.futures.ProcessPoolExecutor` constructor. Also, " +"free job resources in :class:`concurrent.futures.ProcessPoolExecutor` " +"earlier to improve memory usage when a worker waits for new jobs." +msgstr "" + +#: ../build/NEWS:9649 ../build/NEWS:12770 +msgid "" +"`bpo-31516 `__: ``threading." +"current_thread()`` should not return a dummy thread at shutdown." +msgstr "" + +#: ../build/NEWS:9652 +msgid "" +"`bpo-31525 `__: In the sqlite module, " +"require the sqlite3_prepare_v2 API. Thus, the sqlite module now requires " +"sqlite version at least 3.3.9." +msgstr "" + +#: ../build/NEWS:9655 +msgid "" +"`bpo-26510 `__: argparse subparsers are " +"now required by default. This matches behaviour in Python 2. For optional " +"subparsers, use the new parameter ``add_subparsers(required=False)``. Patch " +"by Anthony Sottile. (As of 3.7.0rc1, the default was changed to not required " +"as had been the case since Python 3.3.)" +msgstr "" + +#: ../build/NEWS:9661 +msgid "" +"`bpo-27541 `__: Reprs of subclasses of " +"some collection and iterator classes (`bytearray`, `array.array`, " +"`collections.deque`, `collections.defaultdict`, `itertools.count`, " +"`itertools.repeat`) now contain actual type name insteads of hardcoded name " +"of the base class." +msgstr "" + +#: ../build/NEWS:9666 ../build/NEWS:12773 +msgid "" +"`bpo-31351 `__: python -m ensurepip now " +"exits with non-zero exit code if pip bootstrapping has failed." +msgstr "" + +#: ../build/NEWS:9669 +msgid "" +"`bpo-31389 `__: ``pdb.set_trace()`` now " +"takes an optional keyword-only argument ``header``. If given, this is " +"printed to the console just before debugging begins." +msgstr "" + +#: ../build/NEWS:9676 ../build/NEWS:12794 +msgid "" +"`bpo-31537 `__: Fix incorrect usage of " +"``get_history_length`` in readline documentation example code. Patch by Brad " +"Smith." +msgstr "" + +#: ../build/NEWS:9679 ../build/NEWS:12797 +msgid "" +"`bpo-30085 `__: The operator functions " +"without double underscores are preferred for clarity. The one with " +"underscores are only kept for back-compatibility." +msgstr "" + +#: ../build/NEWS:9686 +msgid "" +"`bpo-31696 `__: Improve compiler version " +"information in :data:`sys.version` when Python is built with Clang." +msgstr "" + +#: ../build/NEWS:9689 +msgid "" +"`bpo-31625 `__: Stop using ranlib on " +"static libraries. Instead, we assume ar supports the 's' flag." +msgstr "" + +#: ../build/NEWS:9692 +msgid "" +"`bpo-31624 `__: Remove support for BSD/" +"OS." +msgstr "" + +#: ../build/NEWS:9694 ../build/NEWS:12838 +msgid "" +"`bpo-22140 `__: Prevent double " +"substitution of prefix in python-config.sh." +msgstr "" + +#: ../build/NEWS:9696 +msgid "" +"`bpo-31569 `__: Correct PCBuild/ case to " +"PCbuild/ in build scripts and documentation." +msgstr "" + +#: ../build/NEWS:9699 ../build/NEWS:12840 +msgid "" +"`bpo-31536 `__: Avoid wholesale rebuild " +"after `make regen-all` if nothing changed." +msgstr "" + +#: ../build/NEWS:9705 ../build/NEWS:12896 +msgid "" +"`bpo-31460 `__: Simplify the API of " +"IDLE's Module Browser. Passing a widget instead of an flist with a root " +"widget opens the option of creating a browser frame that is only part of a " +"window. Passing a full file name instead of pieces assumed to come from a ." +"py file opens the possibility of browsing python files that do not end in ." +"py." +msgstr "" + +#: ../build/NEWS:9711 ../build/NEWS:12902 +msgid "" +"`bpo-31649 `__: IDLE - Make _htest, " +"_utest parameters keyword only." +msgstr "" + +#: ../build/NEWS:9713 ../build/NEWS:12904 +msgid "" +"`bpo-31559 `__: Remove test order " +"dependence in idle_test.test_browser." +msgstr "" + +#: ../build/NEWS:9715 ../build/NEWS:12906 +msgid "" +"`bpo-31459 `__: Rename IDLE's module " +"browser from Class Browser to Module Browser. The original module-level " +"class and method browser became a module browser, with the addition of " +"module-level functions, years ago. Nested classes and functions were added " +"yesterday. For back-compatibility, the virtual event <>, which appears on the Keys tab of the Settings dialog, is not " +"changed. Patch by Cheryl Sabella." +msgstr "" + +#: ../build/NEWS:9723 ../build/NEWS:12914 +msgid "" +"`bpo-31500 `__: Default fonts now are " +"scaled on HiDPI displays." +msgstr "" + +#: ../build/NEWS:9725 ../build/NEWS:12916 +msgid "" +"`bpo-1612262 `__: IDLE module browser " +"now shows nested classes and functions. Original patches for code and tests " +"by Guilherme Polo and Cheryl Sabella, respectively." +msgstr "" + +#: ../build/NEWS:9732 +msgid "" +"`bpo-28280 `__: Make `PyMapping_Keys()`, " +"`PyMapping_Values()` and `PyMapping_Items()` always return a `list` (rather " +"than a `list` or a `tuple`). Patch by Oren Milman." +msgstr "" + +#: ../build/NEWS:9736 ../build/NEWS:12934 +msgid "" +"`bpo-31532 `__: Fix memory corruption " +"due to allocator mix in getpath.c between Py_GetPath() and Py_SetPath()" +msgstr "" + +#: ../build/NEWS:9739 +msgid "" +"`bpo-25658 `__: Implement :pep:`539` for " +"Thread Specific Storage (TSS) API: it is a new Thread Local Storage (TLS) " +"API to CPython which would supersede use of the existing TLS API within the " +"CPython interpreter, while deprecating the existing API. PEP written by Erik " +"M. Bray, patch by Masayuki Yamamoto." +msgstr "" + +#: ../build/NEWS:9747 +msgid "Python 3.7.0 alpha 1" +msgstr "" + +#: ../build/NEWS:9749 +msgid "*Release date: 2017-09-19*" +msgstr "" + +#: ../build/NEWS:9754 ../build/NEWS:12972 +msgid "" +"`bpo-29781 `__: SSLObject.version() now " +"correctly returns None when handshake over BIO has not been performed yet." +msgstr "" + +#: ../build/NEWS:9757 +msgid "" +"`bpo-29505 `__: Add fuzz tests for " +"float(str), int(str), unicode(str); for oss-fuzz." +msgstr "" + +#: ../build/NEWS:9760 ../build/NEWS:12975 ../build/NEWS:17360 +msgid "" +"`bpo-30947 `__: Upgrade libexpat " +"embedded copy from version 2.2.1 to 2.2.3 to get security fixes." +msgstr "" + +#: ../build/NEWS:9763 ../build/NEWS:13435 ../build/NEWS:17402 +msgid "" +"`bpo-30730 `__: Prevent environment " +"variables injection in subprocess on Windows. Prevent passing other " +"environment variables and command arguments." +msgstr "" + +#: ../build/NEWS:9767 ../build/NEWS:13439 ../build/NEWS:17406 +msgid "" +"`bpo-30694 `__: Upgrade expat copy from " +"2.2.0 to 2.2.1 to get fixes of multiple security vulnerabilities including: " +"CVE-2017-9233 (External entity infinite loop DoS), CVE-2016-9063 (Integer " +"overflow, re-fix), CVE-2016-0718 (Fix regression bugs from 2.2.0's fix to " +"CVE-2016-0718) and CVE-2012-0876 (Counter hash flooding with SipHash). Note: " +"the CVE-2016-5300 (Use os-specific entropy sources like getrandom) doesn't " +"impact Python, since Python already gets entropy from the OS to set the " +"expat secret using ``XML_SetHashSalt()``." +msgstr "" + +#: ../build/NEWS:9776 ../build/NEWS:13448 ../build/NEWS:17415 +msgid "" +"`bpo-30500 `__: Fix urllib.parse." +"splithost() to correctly parse fragments. For example, " +"``splithost('//127.0.0.1#@evil.com/')`` now correctly returns the " +"``127.0.0.1`` host, instead of treating ``@evil.com`` as the host in an " +"authentication (``login@host``)." +msgstr "" + +#: ../build/NEWS:9781 ../build/NEWS:13537 ../build/NEWS:17420 +msgid "" +"`bpo-29591 `__: Update expat copy from " +"2.1.1 to 2.2.0 to get fixes of CVE-2016-0718 and CVE-2016-4472. See https://" +"sourceforge.net/p/expat/bugs/537/ for more information." +msgstr "" + +#: ../build/NEWS:9788 ../build/NEWS:12600 +msgid "" +"`bpo-31490 `__: Fix an assertion failure " +"in `ctypes` class definition, in case the class has an attribute whose name " +"is specified in ``_anonymous_`` but not in ``_fields_``. Patch by Oren " +"Milman." +msgstr "" + +#: ../build/NEWS:9792 ../build/NEWS:12981 +msgid "" +"`bpo-31471 `__: Fix an assertion failure " +"in `subprocess.Popen()` on Windows, in case the env argument has a bad " +"keys() method. Patch by Oren Milman." +msgstr "" + +#: ../build/NEWS:9795 ../build/NEWS:12984 +msgid "" +"`bpo-31418 `__: Fix an assertion failure " +"in `PyErr_WriteUnraisable()` in case of an exception with a bad " +"``__module__`` attribute. Patch by Oren Milman." +msgstr "" + +#: ../build/NEWS:9798 ../build/NEWS:12987 +msgid "" +"`bpo-31416 `__: Fix assertion failures " +"in case of a bad warnings.filters or warnings.defaultaction. Patch by Oren " +"Milman." +msgstr "" + +#: ../build/NEWS:9801 +msgid "" +"`bpo-28411 `__: Change direct usage of " +"PyInterpreterState.modules to PyImport_GetModuleDict(). Also introduce more " +"uniformity in other code that deals with sys.modules. This helps reduce " +"complications when working on sys.modules." +msgstr "" + +#: ../build/NEWS:9806 +msgid "" +"`bpo-28411 `__: Switch to the abstract " +"API when dealing with ``PyInterpreterState.modules``. This allows later " +"support for all dict subclasses and other Mapping implementations. Also add " +"a ``PyImport_GetModule()`` function to reduce a bunch of duplicated code." +msgstr "" + +#: ../build/NEWS:9811 ../build/NEWS:12990 +msgid "" +"`bpo-31411 `__: Raise a TypeError " +"instead of SystemError in case warnings.onceregistry is not a dictionary. " +"Patch by Oren Milman." +msgstr "" + +#: ../build/NEWS:9814 +msgid "" +"`bpo-31344 `__: For finer control of " +"tracing behaviour when testing the interpreter, two new frame attributes " +"have been added to control the emission of particular trace events: " +"``f_trace_lines`` (``True`` by default) to turn off per-line trace events; " +"and ``f_trace_opcodes`` (``False`` by default) to turn on per-opcode trace " +"events." +msgstr "" + +#: ../build/NEWS:9820 ../build/NEWS:12993 +msgid "" +"`bpo-31373 `__: Fix several possible " +"instances of undefined behavior due to floating-point demotions." +msgstr "" + +#: ../build/NEWS:9823 ../build/NEWS:12996 +msgid "" +"`bpo-30465 `__: Location information " +"(``lineno`` and ``col_offset``) in f-strings is now (mostly) correct. This " +"fixes tools like flake8 from showing warnings on the wrong line (typically " +"the first line of the file)." +msgstr "" + +#: ../build/NEWS:9827 +msgid "" +"`bpo-30860 `__: Consolidate CPython's " +"global runtime state under a single struct. This improves discoverability " +"of the runtime state." +msgstr "" + +#: ../build/NEWS:9830 +msgid "" +"`bpo-31347 `__: Fix possible undefined " +"behavior in _PyObject_FastCall_Prepend." +msgstr "" + +#: ../build/NEWS:9832 ../build/NEWS:13000 +msgid "" +"`bpo-31343 `__: Include sys/sysmacros.h " +"for major(), minor(), and makedev(). GNU C libray plans to remove the " +"functions from sys/types.h." +msgstr "" + +#: ../build/NEWS:9835 ../build/NEWS:13003 +msgid "" +"`bpo-31291 `__: Fix an assertion failure " +"in `zipimport.zipimporter.get_data` on Windows, when the return value of " +"``pathname.replace('/','\\\\')`` isn't a string. Patch by Oren Milman." +msgstr "" + +#: ../build/NEWS:9839 ../build/NEWS:13007 +msgid "" +"`bpo-31271 `__: Fix an assertion failure " +"in the write() method of `io.TextIOWrapper`, when the encoder doesn't return " +"a bytes object. Patch by Oren Milman." +msgstr "" + +#: ../build/NEWS:9843 ../build/NEWS:13011 +msgid "" +"`bpo-31243 `__: Fix a crash in some " +"methods of `io.TextIOWrapper`, when the decoder's state is invalid. Patch by " +"Oren Milman." +msgstr "" + +#: ../build/NEWS:9846 ../build/NEWS:13014 +msgid "" +"`bpo-30721 `__: ``print`` now shows " +"correct usage hint for using Python 2 redirection syntax. Patch by Sanyam " +"Khurana." +msgstr "" + +#: ../build/NEWS:9849 ../build/NEWS:13017 +msgid "" +"`bpo-31070 `__: Fix a race condition in " +"importlib _get_module_lock()." +msgstr "" + +#: ../build/NEWS:9851 +msgid "" +"`bpo-30747 `__: Add a non-dummy " +"implementation of _Py_atomic_store and _Py_atomic_load on MSVC." +msgstr "" + +#: ../build/NEWS:9854 ../build/NEWS:13019 ../build/NEWS:17366 +msgid "" +"`bpo-31095 `__: Fix potential crash " +"during GC caused by ``tp_dealloc`` which doesn't call " +"``PyObject_GC_UnTrack()``." +msgstr "" + +#: ../build/NEWS:9857 ../build/NEWS:13022 +msgid "" +"`bpo-31071 `__: Avoid masking original " +"TypeError in call with * unpacking when other arguments are passed." +msgstr "" + +#: ../build/NEWS:9860 ../build/NEWS:13025 +msgid "" +"`bpo-30978 `__: str.format_map() now " +"passes key lookup exceptions through. Previously any exception was replaced " +"with a KeyError exception." +msgstr "" + +#: ../build/NEWS:9863 ../build/NEWS:13028 +msgid "" +"`bpo-30808 `__: Use _Py_atomic API for " +"concurrency-sensitive signal state." +msgstr "" + +#: ../build/NEWS:9865 ../build/NEWS:13030 ../build/NEWS:17427 +msgid "" +"`bpo-30876 `__: Relative import from " +"unloaded package now reimports the package instead of failing with " +"SystemError. Relative import from non-package now fails with ImportError " +"rather than SystemError." +msgstr "" + +#: ../build/NEWS:9869 ../build/NEWS:13034 +msgid "" +"`bpo-30703 `__: Improve signal delivery. " +"Avoid using Py_AddPendingCall from signal handler, to avoid calling signal-" +"unsafe functions. The tests I'm adding here fail without the rest of the " +"patch, on Linux and OS X. This means our signal delivery logic had defects " +"(some signals could be lost)." +msgstr "" + +#: ../build/NEWS:9874 ../build/NEWS:13039 ../build/NEWS:17431 +msgid "" +"`bpo-30765 `__: Avoid blocking in " +"pthread_mutex_lock() when PyThread_acquire_lock() is asked not to block." +msgstr "" + +#: ../build/NEWS:9877 ../build/NEWS:13042 +msgid "" +"`bpo-31161 `__: Make sure the 'Missing " +"parentheses' syntax error message is only applied to SyntaxError, not to " +"subclasses. Patch by Martijn Pieters." +msgstr "" + +#: ../build/NEWS:9880 ../build/NEWS:13045 +msgid "" +"`bpo-30814 `__: Fixed a race condition " +"when import a submodule from a package." +msgstr "" + +#: ../build/NEWS:9882 +msgid "" +"`bpo-30736 `__: The internal unicodedata " +"database has been upgraded to Unicode 10.0." +msgstr "" + +#: ../build/NEWS:9885 +msgid "" +"`bpo-30604 `__: Move co_extra_freefuncs " +"from per-thread to per-interpreter to avoid crashes." +msgstr "" + +#: ../build/NEWS:9888 ../build/NEWS:13047 +msgid "" +"`bpo-30597 `__: ``print`` now shows " +"expected input in custom error message when used as a Python 2 statement. " +"Patch by Sanyam Khurana." +msgstr "" + +#: ../build/NEWS:9891 ../build/NEWS:13462 +msgid "" +"`bpo-30682 `__: Removed a too-strict " +"assertion that failed for certain f-strings, such as eval(\"f'\\\\\\n'\") " +"and eval(\"f'\\\\\\r'\")." +msgstr "" + +#: ../build/NEWS:9894 +msgid "" +"`bpo-30501 `__: The compiler now " +"produces more optimal code for complex condition expressions in the \"if\", " +"\"while\" and \"assert\" statement, the \"if\" expression, and generator " +"expressions and comprehensions." +msgstr "" + +#: ../build/NEWS:9898 +msgid "" +"`bpo-28180 `__: Implement :pep:`538` " +"(legacy C locale coercion). This means that when a suitable coercion target " +"locale is available, both the core interpreter and locale-aware C extensions " +"will assume the use of UTF-8 as the default text encoding, rather than ASCII." +msgstr "" + +#: ../build/NEWS:9903 +msgid "" +"`bpo-30486 `__: Allows setting cell " +"values for __closure__. Patch by Lisa Roach." +msgstr "" + +#: ../build/NEWS:9906 +msgid "" +"`bpo-30537 `__: itertools.islice now " +"accepts integer-like objects (having an __index__ method) as start, stop, " +"and slice arguments" +msgstr "" + +#: ../build/NEWS:9909 +msgid "" +"`bpo-25324 `__: Tokens needed for " +"parsing in Python moved to C. ``COMMENT``, ``NL`` and ``ENCODING``. This way " +"the tokens and tok_names in the token module don't get changed when you " +"import the tokenize module." +msgstr "" + +#: ../build/NEWS:9913 ../build/NEWS:13467 +msgid "" +"`bpo-29104 `__: Fixed parsing " +"backslashes in f-strings." +msgstr "" + +#: ../build/NEWS:9915 ../build/NEWS:13469 ../build/NEWS:17434 +msgid "" +"`bpo-27945 `__: Fixed various segfaults " +"with dict when input collections are mutated during searching, inserting or " +"comparing. Based on patches by Duane Griffin and Tim Mitchell." +msgstr "" + +#: ../build/NEWS:9919 ../build/NEWS:13473 ../build/NEWS:17438 +msgid "" +"`bpo-25794 `__: Fixed type.__setattr__() " +"and type.__delattr__() for non-interned attribute names. Based on patch by " +"Eryk Sun." +msgstr "" + +#: ../build/NEWS:9922 ../build/NEWS:13476 +msgid "" +"`bpo-30039 `__: If a KeyboardInterrupt " +"happens when the interpreter is in the middle of resuming a chain of nested " +"'yield from' or 'await' calls, it's now correctly delivered to the innermost " +"frame." +msgstr "" + +#: ../build/NEWS:9926 +msgid "" +"`bpo-28974 `__: ``object.__format__(x, " +"'')`` is now equivalent to ``str(x)`` rather than ``format(str(self), '')``." +msgstr "" + +#: ../build/NEWS:9929 +msgid "" +"`bpo-30024 `__: Circular imports " +"involving absolute imports with binding a submodule to a name are now " +"supported." +msgstr "" + +#: ../build/NEWS:9932 ../build/NEWS:13480 +msgid "" +"`bpo-12414 `__: sys.getsizeof() on a " +"code object now returns the sizes which includes the code struct and sizes " +"of objects which it references. Patch by Dong-hee Na." +msgstr "" + +#: ../build/NEWS:9936 +msgid "" +"`bpo-29839 `__: len() now raises " +"ValueError rather than OverflowError if __len__() returned a large negative " +"integer." +msgstr "" + +#: ../build/NEWS:9939 +msgid "" +"`bpo-11913 `__: README.rst is now " +"included in the list of distutils standard READMEs and therefore included in " +"source distributions." +msgstr "" + +#: ../build/NEWS:9942 +msgid "" +"`bpo-29914 `__: Fixed default " +"implementations of __reduce__ and __reduce_ex__(). object.__reduce__() no " +"longer takes arguments, object.__reduce_ex__() now requires one argument." +msgstr "" + +#: ../build/NEWS:9946 ../build/NEWS:13484 +msgid "" +"`bpo-29949 `__: Fix memory usage " +"regression of set and frozenset object." +msgstr "" + +#: ../build/NEWS:9948 ../build/NEWS:13486 ../build/NEWS:17441 +msgid "" +"`bpo-29935 `__: Fixed error messages in " +"the index() method of tuple, list and deque when pass indices of wrong type." +msgstr "" + +#: ../build/NEWS:9951 +msgid "" +"`bpo-29816 `__: Shift operation now has " +"less opportunity to raise OverflowError. ValueError always is raised rather " +"than OverflowError for negative counts. Shifting zero with non-negative " +"count always returns zero." +msgstr "" + +#: ../build/NEWS:9956 +msgid "" +"`bpo-24821 `__: Fixed the slowing down " +"to 25 times in the searching of some unlucky Unicode characters." +msgstr "" + +#: ../build/NEWS:9959 +msgid "" +"`bpo-29102 `__: Add a unique ID to " +"PyInterpreterState. This makes it easier to identify each subinterpreter." +msgstr "" + +#: ../build/NEWS:9962 +msgid "" +"`bpo-29894 `__: The deprecation warning " +"is emitted if __complex__ returns an instance of a strict subclass of " +"complex. In a future versions of Python this can be an error." +msgstr "" + +#: ../build/NEWS:9966 ../build/NEWS:13489 +msgid "" +"`bpo-29859 `__: Show correct error " +"messages when any of the pthread_* calls in thread_pthread.h fails." +msgstr "" + +#: ../build/NEWS:9969 +msgid "" +"`bpo-29849 `__: Fix a memory leak when " +"an ImportError is raised during from import." +msgstr "" + +#: ../build/NEWS:9972 ../build/NEWS:13497 +msgid "" +"`bpo-28856 `__: Fix an oversight that %b " +"format for bytes should support objects follow the buffer protocol." +msgstr "" + +#: ../build/NEWS:9975 ../build/NEWS:13814 +msgid "" +"`bpo-29723 `__: The ``sys.path[0]`` " +"initialization change for `bpo-29139 `__ " +"caused a regression by revealing an inconsistency in how sys.path is " +"initialized when executing ``__main__`` from a zipfile, directory, or other " +"import location. The interpreter now consistently avoids ever adding the " +"import location's parent directory to ``sys.path``, and ensures no other " +"``sys.path`` entries are inadvertently modified when inserting the import " +"location named on the command line." +msgstr "" + +#: ../build/NEWS:9983 +#, python-format +msgid "" +"`bpo-29568 `__: Escaped percent \"%%\" " +"in the format string for classic string formatting no longer allows any " +"characters between two percents." +msgstr "" + +#: ../build/NEWS:9986 ../build/NEWS:13500 +msgid "" +"`bpo-29714 `__: Fix a regression that " +"bytes format may fail when containing zero bytes inside." +msgstr "" + +#: ../build/NEWS:9989 +msgid "" +"`bpo-29695 `__: bool(), float(), list() " +"and tuple() no longer take keyword arguments. The first argument of int() " +"can now be passes only as positional argument." +msgstr "" + +#: ../build/NEWS:9993 ../build/NEWS:13838 +msgid "" +"`bpo-28893 `__: Set correct __cause__ " +"for errors about invalid awaitables returned from __aiter__ and __anext__." +msgstr "" + +#: ../build/NEWS:9996 ../build/NEWS:13492 ../build/NEWS:17444 +msgid "" +"`bpo-28876 `__: ``bool(range)`` works " +"even if ``len(range)`` raises :exc:`OverflowError`." +msgstr "" + +#: ../build/NEWS:9999 ../build/NEWS:13841 +msgid "" +"`bpo-29683 `__: Fixes to memory " +"allocation in _PyCode_SetExtra. Patch by Brian Coleman." +msgstr "" + +#: ../build/NEWS:10002 ../build/NEWS:13844 +msgid "" +"`bpo-29684 `__: Fix minor regression of " +"PyEval_CallObjectWithKeywords. It should raise TypeError when kwargs is not " +"a dict. But it might cause segv when args=NULL and kwargs is not a dict." +msgstr "" + +#: ../build/NEWS:10006 ../build/NEWS:13848 ../build/NEWS:17455 +msgid "" +"`bpo-28598 `__: Support __rmod__ for " +"subclasses of str being called before str.__mod__. Patch by Martijn Pieters." +msgstr "" + +#: ../build/NEWS:10009 ../build/NEWS:13851 +msgid "" +"`bpo-29607 `__: Fix stack_effect " +"computation for CALL_FUNCTION_EX. Patch by Matthieu Dartiailh." +msgstr "" + +#: ../build/NEWS:10012 ../build/NEWS:13854 ../build/NEWS:17458 +msgid "" +"`bpo-29602 `__: Fix incorrect handling " +"of signed zeros in complex constructor for complex subclasses and for inputs " +"having a __complex__ method. Patch by Serhiy Storchaka." +msgstr "" + +#: ../build/NEWS:10016 ../build/NEWS:13858 ../build/NEWS:17462 +msgid "" +"`bpo-29347 `__: Fixed possibly " +"dereferencing undefined pointers when creating weakref objects." +msgstr "" + +#: ../build/NEWS:10019 +msgid "" +"`bpo-29463 `__: Add ``docstring`` field " +"to Module, ClassDef, FunctionDef, and AsyncFunctionDef ast nodes. docstring " +"is not first stmt in their body anymore. It affects ``co_firstlineno`` and " +"``co_lnotab`` of code object for module and class. (Reverted in :issue:" +"`32911`.)" +msgstr "" + +#: ../build/NEWS:10024 ../build/NEWS:13861 ../build/NEWS:17465 +msgid "" +"`bpo-29438 `__: Fixed use-after-free " +"problem in key sharing dict." +msgstr "" + +#: ../build/NEWS:10026 +msgid "" +"`bpo-29546 `__: Set the 'path' and " +"'name' attribute on ImportError for ``from ... import ...``." +msgstr "" + +#: ../build/NEWS:10029 +msgid "" +"`bpo-29546 `__: Improve from-import " +"error message with location" +msgstr "" + +#: ../build/NEWS:10031 ../build/NEWS:13503 ../build/NEWS:17472 +msgid "" +"`bpo-29478 `__: If max_line_length=None " +"is specified while using the Compat32 policy, it is no longer ignored. " +"Patch by Mircea Cosbuc." +msgstr "" + +#: ../build/NEWS:10034 ../build/NEWS:13863 ../build/NEWS:17467 +msgid "" +"`bpo-29319 `__: Prevent " +"RunMainFromImporter overwriting sys.path[0]." +msgstr "" + +#: ../build/NEWS:10036 ../build/NEWS:13865 ../build/NEWS:17469 +msgid "" +"`bpo-29337 `__: Fixed possible " +"BytesWarning when compare the code objects. Warnings could be emitted at " +"compile time." +msgstr "" + +#: ../build/NEWS:10039 ../build/NEWS:13868 +msgid "" +"`bpo-29327 `__: Fixed a crash when pass " +"the iterable keyword argument to sorted()." +msgstr "" + +#: ../build/NEWS:10042 ../build/NEWS:13871 +msgid "" +"`bpo-29034 `__: Fix memory leak and use-" +"after-free in os module (path_converter)." +msgstr "" + +#: ../build/NEWS:10045 ../build/NEWS:13874 +msgid "" +"`bpo-29159 `__: Fix regression in " +"bytes(x) when x.__index__() raises Exception." +msgstr "" + +#: ../build/NEWS:10047 +#, python-format +msgid "" +"`bpo-29049 `__: Call " +"_PyObject_GC_TRACK() lazily when calling Python function. Calling function " +"is up to 5% faster." +msgstr "" + +#: ../build/NEWS:10050 +msgid "" +"`bpo-28927 `__: bytes.fromhex() and " +"bytearray.fromhex() now ignore all ASCII whitespace, not only spaces. Patch " +"by Robert Xiao." +msgstr "" + +#: ../build/NEWS:10053 ../build/NEWS:13876 ../build/NEWS:17821 +msgid "" +"`bpo-28932 `__: Do not include if it does not exist." +msgstr "" + +#: ../build/NEWS:10055 ../build/NEWS:13878 ../build/NEWS:17826 +msgid "" +"`bpo-25677 `__: Correct the positioning " +"of the syntax error caret for indented blocks. Based on patch by Michael " +"Layzell." +msgstr "" + +#: ../build/NEWS:10058 ../build/NEWS:13881 ../build/NEWS:17829 +msgid "" +"`bpo-29000 `__: Fixed bytes formatting " +"of octals with zero padding in alternate form." +msgstr "" + +#: ../build/NEWS:10061 +msgid "" +"`bpo-18896 `__: Python function can now " +"have more than 255 parameters. collections.namedtuple() now supports tuples " +"with more than 255 elements." +msgstr "" + +#: ../build/NEWS:10064 +msgid "" +"`bpo-28596 `__: The preferred encoding " +"is UTF-8 on Android. Patch written by Chi Hsuan Yen." +msgstr "" + +#: ../build/NEWS:10067 +msgid "" +"`bpo-22257 `__: Clean up interpreter " +"startup (see :pep:`432`)." +msgstr "" + +#: ../build/NEWS:10069 ../build/NEWS:13884 +msgid "" +"`bpo-26919 `__: On Android, operating " +"system data is now always encoded/decoded to/from UTF-8, instead of the " +"locale encoding to avoid inconsistencies with os.fsencode() and os." +"fsdecode() which are already using UTF-8." +msgstr "" + +#: ../build/NEWS:10073 ../build/NEWS:13888 +msgid "" +"`bpo-28991 `__: functools.lru_cache() " +"was susceptible to an obscure reentrancy bug triggerable by a monkey-patched " +"len() function." +msgstr "" + +#: ../build/NEWS:10076 ../build/NEWS:14162 +msgid "" +"`bpo-28147 `__: Fix a memory leak in " +"split-table dictionaries: setattr() must not convert combined table into " +"split table. Patch written by INADA Naoki." +msgstr "" + +#: ../build/NEWS:10079 ../build/NEWS:13891 +msgid "" +"`bpo-28739 `__: f-string expressions are " +"no longer accepted as docstrings and by ast.literal_eval() even if they do " +"not include expressions." +msgstr "" + +#: ../build/NEWS:10082 ../build/NEWS:13894 ../build/NEWS:17832 +msgid "" +"`bpo-28512 `__: Fixed setting the offset " +"attribute of SyntaxError by PyErr_SyntaxLocationEx() and " +"PyErr_SyntaxLocationObject()." +msgstr "" + +#: ../build/NEWS:10085 ../build/NEWS:13897 +msgid "" +"`bpo-28918 `__: Fix the cross " +"compilation of xxlimited when Python has been built with Py_DEBUG defined." +msgstr "" + +#: ../build/NEWS:10088 ../build/NEWS:14192 +msgid "" +"`bpo-23722 `__: Rather than silently " +"producing a class that doesn't support zero-argument ``super()`` in methods, " +"failing to pass the new ``__classcell__`` namespace entry up to ``type." +"__new__`` now results in a ``DeprecationWarning`` and a class that supports " +"zero-argument ``super()``." +msgstr "" + +#: ../build/NEWS:10094 ../build/NEWS:14198 +msgid "" +"`bpo-28797 `__: Modifying the class " +"__dict__ inside the __set_name__ method of a descriptor that is used inside " +"that class no longer prevents calling the __set_name__ method of other " +"descriptors." +msgstr "" + +#: ../build/NEWS:10098 +msgid "" +"`bpo-28799 `__: Remove the " +"``PyEval_GetCallStats()`` function and deprecate the untested and " +"undocumented ``sys.callstats()`` function. Remove the ``CALL_PROFILE`` " +"special build: use the :func:`sys.setprofile` function, :mod:`cProfile` or :" +"mod:`profile` to profile function calls." +msgstr "" + +#: ../build/NEWS:10103 +msgid "" +"`bpo-12844 `__: More than 255 arguments " +"can now be passed to a function." +msgstr "" + +#: ../build/NEWS:10105 ../build/NEWS:14202 +msgid "" +"`bpo-28782 `__: Fix a bug in the " +"implementation ``yield from`` when checking if the next instruction is " +"YIELD_FROM. Regression introduced by WORDCODE (`bpo-26647 `__)." +msgstr "" + +#: ../build/NEWS:10109 +msgid "" +"`bpo-28774 `__: Fix error position of " +"the unicode error in ASCII and Latin1 encoders when a string returned by the " +"error handler contains multiple non-encodable characters (non-ASCII for the " +"ASCII codec, characters out of the U+0000-U+00FF range for Latin1)." +msgstr "" + +#: ../build/NEWS:10114 ../build/NEWS:13900 +msgid "" +"`bpo-28731 `__: Optimize " +"_PyDict_NewPresized() to create correct size dict. Improve speed of dict " +"literal with constant keys up to 30%." +msgstr "" + +#: ../build/NEWS:10117 ../build/NEWS:14256 +msgid "" +"`bpo-28532 `__: Show sys.version when -V " +"option is supplied twice." +msgstr "" + +#: ../build/NEWS:10119 ../build/NEWS:14258 +msgid "" +"`bpo-27100 `__: The with-statement now " +"checks for __enter__ before it checks for __exit__. This gives less " +"confusing error messages when both methods are missing. Patch by Jonathan " +"Ellington." +msgstr "" + +#: ../build/NEWS:10123 ../build/NEWS:14262 +msgid "" +"`bpo-28746 `__: Fix the " +"set_inheritable() file descriptor method on platforms that do not have the " +"ioctl FIOCLEX and FIONCLEX commands." +msgstr "" + +#: ../build/NEWS:10126 ../build/NEWS:14265 +msgid "" +"`bpo-26920 `__: Fix not getting the " +"locale's charset upon initializing the interpreter, on platforms that do not " +"have langinfo." +msgstr "" + +#: ../build/NEWS:10129 ../build/NEWS:14268 ../build/NEWS:17838 +msgid "" +"`bpo-28648 `__: Fixed crash in " +"Py_DecodeLocale() in debug build on Mac OS X when decode astral characters. " +"Patch by Xiang Zhang." +msgstr "" + +#: ../build/NEWS:10132 ../build/NEWS:14274 +msgid "" +"`bpo-28665 `__: Improve speed of the " +"STORE_DEREF opcode by 40%." +msgstr "" + +#: ../build/NEWS:10134 ../build/NEWS:14271 ../build/NEWS:17841 +msgid "" +"`bpo-19398 `__: Extra slash no longer " +"added to sys.path components in case of empty compile-time PYTHONPATH " +"components." +msgstr "" + +#: ../build/NEWS:10137 +msgid "" +"`bpo-28621 `__: Sped up converting int " +"to float by reusing faster bits counting implementation. Patch by Adrian " +"Wielgosik." +msgstr "" + +#: ../build/NEWS:10140 +msgid "" +"`bpo-28580 `__: Optimize iterating split " +"table values. Patch by Xiang Zhang." +msgstr "" + +#: ../build/NEWS:10142 ../build/NEWS:14276 +msgid "" +"`bpo-28583 `__: PyDict_SetDefault didn't " +"combine split table when needed. Patch by Xiang Zhang." +msgstr "" + +#: ../build/NEWS:10145 ../build/NEWS:14370 +msgid "" +"`bpo-28128 `__: Deprecation warning for " +"invalid str and byte escape sequences now prints better information about " +"where the error occurs. Patch by Serhiy Storchaka and Eric Smith." +msgstr "" + +#: ../build/NEWS:10149 ../build/NEWS:14374 +msgid "" +"`bpo-28509 `__: dict.update() no longer " +"allocate unnecessary large memory." +msgstr "" + +#: ../build/NEWS:10151 ../build/NEWS:14376 ../build/NEWS:17844 +msgid "" +"`bpo-28426 `__: Fixed potential crash in " +"PyUnicode_AsDecodedObject() in debug build." +msgstr "" + +#: ../build/NEWS:10154 ../build/NEWS:14379 +msgid "" +"`bpo-28517 `__: Fixed of-by-one error in " +"the peephole optimizer that caused keeping unreachable code." +msgstr "" + +#: ../build/NEWS:10157 ../build/NEWS:14382 +msgid "" +"`bpo-28214 `__: Improved exception " +"reporting for problematic __set_name__ attributes." +msgstr "" + +#: ../build/NEWS:10160 ../build/NEWS:14385 ../build/NEWS:17847 +msgid "" +"`bpo-23782 `__: Fixed possible memory " +"leak in _PyTraceback_Add() and exception loss in PyTraceBack_Here()." +msgstr "" + +#: ../build/NEWS:10163 ../build/NEWS:14494 +msgid "" +"`bpo-28183 `__: Optimize and cleanup " +"dict iteration." +msgstr "" + +#: ../build/NEWS:10165 ../build/NEWS:14496 +msgid "" +"`bpo-26081 `__: Added C implementation " +"of asyncio.Future. Original patch by Yury Selivanov." +msgstr "" + +#: ../build/NEWS:10168 ../build/NEWS:14499 ../build/NEWS:17850 +msgid "" +"`bpo-28379 `__: Added sanity checks and " +"tests for PyUnicode_CopyCharacters(). Patch by Xiang Zhang." +msgstr "" + +#: ../build/NEWS:10171 ../build/NEWS:14502 ../build/NEWS:17853 +msgid "" +"`bpo-28376 `__: The type of long range " +"iterator is now registered as Iterator. Patch by Oren Milman." +msgstr "" + +#: ../build/NEWS:10174 +msgid "" +"`bpo-28376 `__: Creating instances of " +"range_iterator by calling range_iterator type now is disallowed. Calling " +"iter() on range instance is the only way. Patch by Oren Milman." +msgstr "" + +#: ../build/NEWS:10178 ../build/NEWS:14511 ../build/NEWS:17859 +msgid "" +"`bpo-26906 `__: Resolving special " +"methods of uninitialized type now causes implicit initialization of the type " +"instead of a fail." +msgstr "" + +#: ../build/NEWS:10181 ../build/NEWS:14514 ../build/NEWS:17862 +msgid "" +"`bpo-18287 `__: PyType_Ready() now " +"checks that tp_name is not NULL. Original patch by Niklas Koep." +msgstr "" + +#: ../build/NEWS:10184 ../build/NEWS:14517 ../build/NEWS:17865 +msgid "" +"`bpo-24098 `__: Fixed possible crash " +"when AST is changed in process of compiling it." +msgstr "" + +#: ../build/NEWS:10187 ../build/NEWS:14520 +msgid "" +"`bpo-28201 `__: Dict reduces possibility " +"of 2nd conflict in hash table when hashes have same lower bits." +msgstr "" + +#: ../build/NEWS:10190 ../build/NEWS:14523 ../build/NEWS:17868 +msgid "" +"`bpo-28350 `__: String constants with " +"null character no longer interned." +msgstr "" + +#: ../build/NEWS:10192 ../build/NEWS:14525 ../build/NEWS:17870 +msgid "" +"`bpo-26617 `__: Fix crash when GC runs " +"during weakref callbacks." +msgstr "" + +#: ../build/NEWS:10194 ../build/NEWS:14527 ../build/NEWS:17872 +msgid "" +"`bpo-27942 `__: String constants now " +"interned recursively in tuples and frozensets." +msgstr "" + +#: ../build/NEWS:10197 +msgid "" +"`bpo-28289 `__: ImportError.__init__ now " +"resets not specified attributes." +msgstr "" + +#: ../build/NEWS:10199 ../build/NEWS:14530 ../build/NEWS:17875 +msgid "" +"`bpo-21578 `__: Fixed misleading error " +"message when ImportError called with invalid keyword args." +msgstr "" + +#: ../build/NEWS:10202 ../build/NEWS:14533 +msgid "" +"`bpo-28203 `__: Fix incorrect type in " +"complex(1.0, {2:3}) error message. Patch by Soumya Sharma." +msgstr "" + +#: ../build/NEWS:10205 ../build/NEWS:14536 +msgid "" +"`bpo-28086 `__: Single var-positional " +"argument of tuple subtype was passed unscathed to the C-defined function. " +"Now it is converted to exact tuple." +msgstr "" + +#: ../build/NEWS:10208 ../build/NEWS:14539 +msgid "" +"`bpo-28214 `__: Now __set_name__ is " +"looked up on the class instead of the instance." +msgstr "" + +#: ../build/NEWS:10211 ../build/NEWS:14542 ../build/NEWS:17881 +msgid "" +"`bpo-27955 `__: Fallback on reading /dev/" +"urandom device when the getrandom() syscall fails with EPERM, for example " +"when blocked by SECCOMP." +msgstr "" + +#: ../build/NEWS:10214 ../build/NEWS:14545 +msgid "" +"`bpo-28192 `__: Don't import readline in " +"isolated mode." +msgstr "" + +#: ../build/NEWS:10216 +msgid "" +"`bpo-27441 `__: Remove some redundant " +"assignments to ob_size in longobject.c. Thanks Oren Milman." +msgstr "" + +#: ../build/NEWS:10219 +msgid "" +"`bpo-27222 `__: Clean up redundant code " +"in long_rshift function. Thanks Oren Milman." +msgstr "" + +#: ../build/NEWS:10222 ../build/NEWS:14547 +msgid "Upgrade internal unicode databases to Unicode version 9.0.0." +msgstr "" + +#: ../build/NEWS:10224 ../build/NEWS:14549 ../build/NEWS:17884 +msgid "" +"`bpo-28131 `__: Fix a regression in " +"zipimport's compile_source(). zipimport should use the same optimization " +"level as the interpreter." +msgstr "" + +#: ../build/NEWS:10227 ../build/NEWS:14552 +msgid "" +"`bpo-28126 `__: Replace Py_MEMCPY with " +"memcpy(). Visual Studio can properly optimize memcpy()." +msgstr "" + +#: ../build/NEWS:10230 ../build/NEWS:14555 +msgid "" +"`bpo-28120 `__: Fix dict.pop() for " +"splitted dictionary when trying to remove a \"pending key\" (Not yet " +"inserted in split-table). Patch by Xiang Zhang." +msgstr "" + +#: ../build/NEWS:10233 ../build/NEWS:14558 +msgid "" +"`bpo-26182 `__: Raise DeprecationWarning " +"when async and await keywords are used as variable/attribute/class/function " +"name." +msgstr "" + +#: ../build/NEWS:10236 ../build/NEWS:14283 +msgid "" +"`bpo-26182 `__: Fix a refleak in code " +"that raises DeprecationWarning." +msgstr "" + +#: ../build/NEWS:10238 ../build/NEWS:14285 +msgid "" +"`bpo-28721 `__: Fix asynchronous " +"generators aclose() and athrow() to handle StopAsyncIteration propagation " +"properly." +msgstr "" + +#: ../build/NEWS:10241 +msgid "" +"`bpo-26110 `__: Speed-up method calls: " +"add LOAD_METHOD and CALL_METHOD opcodes." +msgstr "" + +#: ../build/NEWS:10246 ../build/NEWS:13053 +msgid "" +"`bpo-31499 `__: xml.etree: Fix a crash " +"when a parser is part of a reference cycle." +msgstr "" + +#: ../build/NEWS:10249 ../build/NEWS:12776 +msgid "" +"`bpo-31482 `__: ``random.seed()`` now " +"works with bytes in version=1" +msgstr "" + +#: ../build/NEWS:10251 ../build/NEWS:13056 +msgid "" +"`bpo-28556 `__: typing.get_type_hints " +"now finds the right globalns for classes and modules by default (when no " +"``globalns`` was specified by the caller)." +msgstr "" + +#: ../build/NEWS:10254 ../build/NEWS:13059 +msgid "" +"`bpo-28556 `__: Speed improvements to " +"the ``typing`` module. Original PRs by Ivan Levkivskyi and Mitar." +msgstr "" + +#: ../build/NEWS:10257 ../build/NEWS:13062 +msgid "" +"`bpo-31544 `__: The C accelerator module " +"of ElementTree ignored exceptions raised when looking up TreeBuilder target " +"methods in XMLParser()." +msgstr "" + +#: ../build/NEWS:10260 ../build/NEWS:13065 +msgid "" +"`bpo-31234 `__: socket." +"create_connection() now fixes manually a reference cycle: clear the variable " +"storing the last exception on success." +msgstr "" + +#: ../build/NEWS:10263 ../build/NEWS:13068 +msgid "" +"`bpo-31457 `__: LoggerAdapter objects " +"can now be nested." +msgstr "" + +#: ../build/NEWS:10265 +msgid "" +"`bpo-31431 `__: SSLContext." +"check_hostname now automatically sets SSLContext.verify_mode to ssl." +"CERT_REQUIRED instead of failing with a ValueError." +msgstr "" + +#: ../build/NEWS:10269 +msgid "" +"`bpo-31233 `__: socketserver." +"ThreadingMixIn now keeps a list of non-daemonic threads to wait until all " +"these threads complete in server_close()." +msgstr "" + +#: ../build/NEWS:10272 +msgid "" +"`bpo-28638 `__: Changed the " +"implementation strategy for collections.namedtuple() to substantially reduce " +"the use of exec() in favor of precomputed methods. As a result, the " +"*verbose* parameter and *_source* attribute are no longer supported. The " +"benefits include 1) having a smaller memory footprint for applications using " +"multiple named tuples, 2) faster creation of the named tuple class (approx " +"4x to 6x depending on how it is measured), and 3) minor speed-ups for " +"instance creation using __new__, _make, and _replace. (The primary patch " +"contributor is Jelle Zijlstra with further improvements by INADA Naoki, " +"Serhiy Storchaka, and Raymond Hettinger.)" +msgstr "" + +#: ../build/NEWS:10283 ../build/NEWS:13070 +msgid "" +"`bpo-31400 `__: Improves SSL error " +"handling to avoid losing error numbers." +msgstr "" + +#: ../build/NEWS:10285 +msgid "" +"`bpo-27629 `__: Make return types of " +"SSLContext.wrap_bio() and SSLContext.wrap_socket() customizable." +msgstr "" + +#: ../build/NEWS:10288 ../build/NEWS:13072 +msgid "" +"`bpo-28958 `__: ssl.SSLContext() now " +"uses OpenSSL error information when a context cannot be instantiated." +msgstr "" + +#: ../build/NEWS:10291 +msgid "" +"`bpo-28182 `__: The SSL module now " +"raises SSLCertVerificationError when OpenSSL fails to verify the peer's " +"certificate. The exception contains more information about the error." +msgstr "" + +#: ../build/NEWS:10295 ../build/NEWS:13075 +msgid "" +"`bpo-27340 `__: SSLSocket.sendall() now " +"uses memoryview to create slices of data. This fixes support for all bytes-" +"like object. It is also more efficient and avoids costly copies." +msgstr "" + +#: ../build/NEWS:10299 +msgid "" +"`bpo-14191 `__: A new function " +"``argparse.ArgumentParser.parse_intermixed_args`` provides the ability to " +"parse command lines where there user intermixes options and positional " +"arguments." +msgstr "" + +#: ../build/NEWS:10304 ../build/NEWS:13079 +msgid "" +"`bpo-31178 `__: Fix string concatenation " +"bug in rare error path in the subprocess module" +msgstr "" + +#: ../build/NEWS:10307 ../build/NEWS:13082 +#, python-format +msgid "" +"`bpo-31350 `__: Micro-optimize :func:" +"`asyncio._get_running_loop` to become up to 10% faster." +msgstr "" + +#: ../build/NEWS:10310 ../build/NEWS:13085 ../build/NEWS:17377 +msgid "" +"`bpo-31170 `__: expat: Update libexpat " +"from 2.2.3 to 2.2.4. Fix copying of partial characters for UTF-8 input " +"(libexpat bug 115): https://github.com/libexpat/libexpat/issues/115" +msgstr "" + +#: ../build/NEWS:10314 ../build/NEWS:13089 +msgid "" +"`bpo-29136 `__: Add TLS 1.3 cipher " +"suites and OP_NO_TLSv1_3." +msgstr "" + +#: ../build/NEWS:10316 +msgid "" +"`bpo-1198569 `__: ``string.Template`` " +"subclasses can optionally define ``braceidpattern`` if they want to specify " +"different placeholder patterns inside and outside the braces. If None (the " +"default) it falls back to ``idpattern``." +msgstr "" + +#: ../build/NEWS:10321 +msgid "" +"`bpo-31326 `__: concurrent.futures." +"ProcessPoolExecutor.shutdown() now explicitly closes the call queue. " +"Moreover, shutdown(wait=True) now also join the call queue thread, to " +"prevent leaking a dangling thread." +msgstr "" + +#: ../build/NEWS:10325 ../build/NEWS:13100 +msgid "" +"`bpo-27144 `__: The ``map()`` and " +"``as_completed()`` iterators in ``concurrent.futures`` now avoid keeping a " +"reference to yielded objects." +msgstr "" + +#: ../build/NEWS:10328 +msgid "" +"`bpo-31281 `__: Fix ``fileinput." +"FileInput(files, inplace=True)`` when ``files`` contain ``pathlib.Path`` " +"objects." +msgstr "" + +#: ../build/NEWS:10331 ../build/NEWS:13103 +msgid "" +"`bpo-10746 `__: Fix ctypes producing " +"wrong :pep:`3118` type codes for integer types." +msgstr "" + +#: ../build/NEWS:10334 +msgid "" +"`bpo-27584 `__: ``AF_VSOCK`` has been " +"added to the socket interface which allows communication between virtual " +"machines and their host." +msgstr "" + +#: ../build/NEWS:10337 ../build/NEWS:13106 +msgid "" +"`bpo-22536 `__: The subprocess module " +"now sets the filename when FileNotFoundError is raised on POSIX systems due " +"to the executable or cwd not being found." +msgstr "" + +#: ../build/NEWS:10341 +msgid "" +"`bpo-29741 `__: Update some methods in " +"the _pyio module to also accept integer types. Patch by Oren Milman." +msgstr "" + +#: ../build/NEWS:10344 ../build/NEWS:13110 +msgid "" +"`bpo-31249 `__: concurrent.futures: " +"WorkItem.run() used by ThreadPoolExecutor now breaks a reference cycle " +"between an exception object and the WorkItem object." +msgstr "" + +#: ../build/NEWS:10348 ../build/NEWS:13114 +msgid "" +"`bpo-31247 `__: xmlrpc.server now " +"explicitly breaks reference cycles when using sys.exc_info() in code " +"handling exceptions." +msgstr "" + +#: ../build/NEWS:10351 +msgid "" +"`bpo-23835 `__: configparser: reading " +"defaults in the ``ConfigParser()`` constructor is now using ``read_dict()``, " +"making its behavior consistent with the rest of the parser. Non-string keys " +"and values in the defaults dictionary are now being implicitly converted to " +"strings. Patch by James Tocknell." +msgstr "" + +#: ../build/NEWS:10357 ../build/NEWS:12031 +msgid "" +"`bpo-31238 `__: pydoc: the stop() method " +"of the private ServerThread class now waits until DocServer." +"serve_until_quit() completes and then explicitly sets its docserver " +"attribute to None to break a reference cycle." +msgstr "" + +#: ../build/NEWS:10361 +msgid "" +"`bpo-5001 `__: Many asserts in " +"`multiprocessing` are now more informative, and some error types have been " +"changed to more specific ones." +msgstr "" + +#: ../build/NEWS:10364 +msgid "" +"`bpo-31109 `__: Convert zipimport to use " +"Argument Clinic." +msgstr "" + +#: ../build/NEWS:10366 ../build/NEWS:13117 +msgid "" +"`bpo-30102 `__: The ssl and hashlib " +"modules now call OPENSSL_add_all_algorithms_noconf() on OpenSSL < 1.1.0. The " +"function detects CPU features and enables optimizations on some CPU " +"architectures such as POWER8. Patch is based on research from Gustavo Serra " +"Scalet." +msgstr "" + +#: ../build/NEWS:10371 +msgid "" +"`bpo-18966 `__: Non-daemonic threads " +"created by a multiprocessing.Process are now joined on child exit." +msgstr "" + +#: ../build/NEWS:10374 +msgid "" +"`bpo-31183 `__: `dis` now works with " +"asynchronous generator and coroutine objects. Patch by George Collins based " +"on diagnosis by Luciano Ramalho." +msgstr "" + +#: ../build/NEWS:10377 +msgid "" +"`bpo-5001 `__: There are a number of " +"uninformative asserts in the `multiprocessing` module, as noted in issue " +"5001. This change fixes two of the most potentially problematic ones, since " +"they are in error-reporting code, in the `multiprocessing.managers." +"convert_to_error` function. (It also makes more informative a ValueError " +"message.) The only potentially problematic change is that the AssertionError " +"is now a TypeError; however, this should also help distinguish it from an " +"AssertionError being *reported* by the function/its caller (such as in issue " +"31169). - Patch by Allen W. Smith (drallensmith on github)." +msgstr "" + +#: ../build/NEWS:10387 ../build/NEWS:13122 +msgid "" +"`bpo-31185 `__: Fixed miscellaneous " +"errors in asyncio speedup module." +msgstr "" + +#: ../build/NEWS:10389 +msgid "" +"`bpo-31151 `__: socketserver." +"ForkingMixIn.server_close() now waits until all child processes completed to " +"prevent leaking zombie processes." +msgstr "" + +#: ../build/NEWS:10392 +msgid "" +"`bpo-31072 `__: Add an ``include_file`` " +"parameter to ``zipapp.create_archive()``" +msgstr "" + +#: ../build/NEWS:10395 +msgid "" +"`bpo-24700 `__: Optimize array.array " +"comparison. It is now from 10x up to 70x faster when comparing arrays " +"holding values of the same integer type." +msgstr "" + +#: ../build/NEWS:10398 ../build/NEWS:13124 +msgid "" +"`bpo-31135 `__: ttk: fix the destroy() " +"method of LabeledScale and OptionMenu classes. Call the parent destroy() " +"method even if the used attribute doesn't exist. The LabeledScale.destroy() " +"method now also explicitly clears label and scale attributes to help the " +"garbage collector to destroy all widgets." +msgstr "" + +#: ../build/NEWS:10404 ../build/NEWS:13130 +msgid "" +"`bpo-31107 `__: Fix `copyreg." +"_slotnames()` mangled attribute calculation for classes whose name begins " +"with an underscore. Patch by Shane Harvey." +msgstr "" + +#: ../build/NEWS:10407 +msgid "" +"`bpo-31080 `__: Allow `logging.config." +"fileConfig` to accept kwargs and/or args." +msgstr "" + +#: ../build/NEWS:10409 +msgid "" +"`bpo-30897 `__: ``pathlib.Path`` objects " +"now include an ``is_mount()`` method (only implemented on POSIX). This is " +"similar to ``os.path.ismount(p)``. Patch by Cooper Ry Lees." +msgstr "" + +#: ../build/NEWS:10413 ../build/NEWS:13133 +msgid "" +"`bpo-31061 `__: Fixed a crash when using " +"asyncio and threads." +msgstr "" + +#: ../build/NEWS:10415 +msgid "" +"`bpo-30987 `__: Added support for CAN " +"ISO-TP protocol in the socket module." +msgstr "" + +#: ../build/NEWS:10417 +msgid "" +"`bpo-30522 `__: Added a ``setStream`` " +"method to ``logging.StreamHandler`` to allow the stream to be set after " +"creation." +msgstr "" + +#: ../build/NEWS:10420 ../build/NEWS:13135 +msgid "" +"`bpo-30502 `__: Fix handling of long " +"oids in ssl. Based on patch by Christian Heimes." +msgstr "" + +#: ../build/NEWS:10423 +msgid "" +"`bpo-5288 `__: Support tzinfo objects " +"with sub-minute offsets." +msgstr "" + +#: ../build/NEWS:10425 +msgid "" +"`bpo-30919 `__: Fix shared memory " +"performance regression in multiprocessing in 3.x. Shared memory used " +"anonymous memory mappings in 2.x, while 3.x mmaps actual files. Try to be " +"careful to do as little disk I/O as possible." +msgstr "" + +#: ../build/NEWS:10429 +msgid "" +"`bpo-26732 `__: Fix too many fds in " +"processes started with the \"forkserver\" method. A child process would " +"inherit as many fds as the number of still-running children." +msgstr "" + +#: ../build/NEWS:10433 ../build/NEWS:13145 ../build/NEWS:17478 +msgid "" +"`bpo-29403 `__: Fix ``unittest.mock``'s " +"autospec to not fail on method-bound builtin functions. Patch by Aaron " +"Gallagher." +msgstr "" + +#: ../build/NEWS:10436 ../build/NEWS:13148 ../build/NEWS:17481 +msgid "" +"`bpo-30961 `__: Fix decrementing a " +"borrowed reference in tracemalloc." +msgstr "" + +#: ../build/NEWS:10438 +msgid "" +"`bpo-19896 `__: Fix multiprocessing." +"sharedctypes to recognize typecodes ``'q'`` and ``'Q'``." +msgstr "" + +#: ../build/NEWS:10441 +msgid "" +"`bpo-30946 `__: Remove obsolete code in " +"readline module for platforms where GNU readline is older than 2.1 or where " +"select() is not available." +msgstr "" + +#: ../build/NEWS:10444 ../build/NEWS:13150 +msgid "" +"`bpo-25684 `__: Change ``ttk." +"OptionMenu`` radiobuttons to be unique across instances of ``OptionMenu``." +msgstr "" + +#: ../build/NEWS:10447 ../build/NEWS:13153 ../build/NEWS:17483 +msgid "" +"`bpo-30886 `__: Fix multiprocessing." +"Queue.join_thread(): it now waits until the thread completes, even if the " +"thread was started by the same process which created the queue." +msgstr "" + +#: ../build/NEWS:10451 ../build/NEWS:13157 ../build/NEWS:17487 +msgid "" +"`bpo-29854 `__: Fix segfault in readline " +"when using readline's history-size option. Patch by Nir Soffer." +msgstr "" + +#: ../build/NEWS:10454 +msgid "" +"`bpo-30794 `__: Added multiprocessing." +"Process.kill method to terminate using the SIGKILL signal on Unix." +msgstr "" + +#: ../build/NEWS:10457 ../build/NEWS:13160 +msgid "" +"`bpo-30319 `__: socket.close() now " +"ignores ECONNRESET error." +msgstr "" + +#: ../build/NEWS:10459 ../build/NEWS:13162 +msgid "" +"`bpo-30828 `__: Fix out of bounds write " +"in `asyncio.CFuture.remove_done_callback()`." +msgstr "" + +#: ../build/NEWS:10462 +msgid "" +"`bpo-30302 `__: Use keywords in the " +"``repr`` of ``datetime.timedelta``." +msgstr "" + +#: ../build/NEWS:10464 ../build/NEWS:13165 ../build/NEWS:17490 +msgid "" +"`bpo-30807 `__: signal.setitimer() may " +"disable the timer when passed a tiny value. Tiny values (such as 1e-6) are " +"valid non-zero values for setitimer(), which is specified as taking " +"microsecond-resolution intervals. However, on some platform, our conversion " +"routine could convert 1e-6 into a zero interval, therefore disabling the " +"timer instead of (re-)scheduling it." +msgstr "" + +#: ../build/NEWS:10471 ../build/NEWS:13172 ../build/NEWS:17497 +msgid "" +"`bpo-30441 `__: Fix bug when modifying " +"os.environ while iterating over it" +msgstr "" + +#: ../build/NEWS:10473 +#, python-format +msgid "" +"`bpo-29585 `__: Avoid importing " +"``sysconfig`` from ``site`` to improve startup speed. Python startup is " +"about 5% faster on Linux and 30% faster on macOS." +msgstr "" + +#: ../build/NEWS:10476 +msgid "" +"`bpo-29293 `__: Add missing parameter \"n" +"\" on multiprocessing.Condition.notify(). The doc claims multiprocessing." +"Condition behaves like threading.Condition, but its notify() method lacked " +"the optional \"n\" argument (to specify the number of sleepers to wake up) " +"that threading.Condition.notify() accepts." +msgstr "" + +#: ../build/NEWS:10482 ../build/NEWS:13174 ../build/NEWS:17499 +msgid "" +"`bpo-30532 `__: Fix email header value " +"parser dropping folding white space in certain cases." +msgstr "" + +#: ../build/NEWS:10485 +msgid "" +"`bpo-30596 `__: Add a ``close()`` method " +"to ``multiprocessing.Process``." +msgstr "" + +#: ../build/NEWS:10487 ../build/NEWS:13096 +msgid "" +"`bpo-9146 `__: Fix a segmentation fault " +"in _hashopenssl when standard hash functions such as md5 are not available " +"in the linked OpenSSL library. As in some special FIPS-140 build " +"environments." +msgstr "" + +#: ../build/NEWS:10491 ../build/NEWS:13906 ../build/NEWS:17502 +msgid "" +"`bpo-29169 `__: Update zlib to 1.2.11." +msgstr "" + +#: ../build/NEWS:10493 ../build/NEWS:13138 ../build/NEWS:17390 +msgid "" +"`bpo-30119 `__: ftplib.FTP.putline() now " +"throws ValueError on commands that contains CR or LF. Patch by Dong-hee Na." +msgstr "" + +#: ../build/NEWS:10496 ../build/NEWS:13177 ../build/NEWS:17504 +msgid "" +"`bpo-30879 `__: os.listdir() and os." +"scandir() now emit bytes names when called with bytes-like argument." +msgstr "" + +#: ../build/NEWS:10499 ../build/NEWS:13180 ../build/NEWS:17507 +msgid "" +"`bpo-30746 `__: Prohibited the '=' " +"character in environment variable names in ``os.putenv()`` and ``os." +"spawn*()``." +msgstr "" + +#: ../build/NEWS:10502 +msgid "" +"`bpo-30664 `__: The description of a " +"unittest subtest now preserves the order of keyword arguments of TestCase." +"subTest()." +msgstr "" + +#: ../build/NEWS:10505 +msgid "" +"`bpo-21071 `__: struct.Struct.format " +"type is now :class:`str` instead of :class:`bytes`." +msgstr "" + +#: ../build/NEWS:10508 ../build/NEWS:13091 +msgid "" +"`bpo-29212 `__: Fix concurrent.futures." +"thread.ThreadPoolExecutor threads to have a non repr() based thread name by " +"default when no thread_name_prefix is supplied. They will now identify " +"themselves as \"ThreadPoolExecutor-y_n\"." +msgstr "" + +#: ../build/NEWS:10513 ../build/NEWS:13183 ../build/NEWS:17510 +msgid "" +"`bpo-29755 `__: Fixed the lgettext() " +"family of functions in the gettext module. They now always return bytes." +msgstr "" + +#: ../build/NEWS:10516 ../build/NEWS:13509 +msgid "" +"`bpo-30616 `__: Functional API of enum " +"allows to create empty enums. Patched by Dong-hee Na" +msgstr "" + +#: ../build/NEWS:10519 ../build/NEWS:13512 +msgid "" +"`bpo-30038 `__: Fix race condition " +"between signal delivery and wakeup file descriptor. Patch by Nathaniel Smith." +msgstr "" + +#: ../build/NEWS:10522 ../build/NEWS:13515 +msgid "" +"`bpo-23894 `__: lib2to3 now recognizes " +"``rb'...'`` and ``f'...'`` strings." +msgstr "" + +#: ../build/NEWS:10524 +msgid "" +"`bpo-24744 `__: pkgutil.walk_packages " +"function now raises ValueError if *path* is a string. Patch by Sanyam " +"Khurana." +msgstr "" + +#: ../build/NEWS:10527 ../build/NEWS:17527 +msgid "" +"`bpo-24484 `__: Avoid race condition in " +"multiprocessing cleanup." +msgstr "" + +#: ../build/NEWS:10529 +msgid "" +"`bpo-30589 `__: Fix multiprocessing." +"Process.exitcode to return the opposite of the signal number when the " +"process is killed by a signal (instead of 255) when using the \"forkserver\" " +"method." +msgstr "" + +#: ../build/NEWS:10533 ../build/NEWS:13546 ../build/NEWS:17529 +msgid "" +"`bpo-28994 `__: The traceback no longer " +"displayed for SystemExit raised in a callback registered by atexit." +msgstr "" + +#: ../build/NEWS:10536 ../build/NEWS:13549 ../build/NEWS:17532 +msgid "" +"`bpo-30508 `__: Don't log exceptions if " +"Task/Future \"cancel()\" method was called." +msgstr "" + +#: ../build/NEWS:10539 +msgid "" +"`bpo-30645 `__: Fix path calculation in " +"`imp.load_package()`, fixing it for cases when a package is only shipped " +"with bytecodes. Patch by Alexandru Ardelean." +msgstr "" + +#: ../build/NEWS:10543 +msgid "" +"`bpo-11822 `__: The dis.dis() function " +"now is able to disassemble nested code objects." +msgstr "" + +#: ../build/NEWS:10546 +msgid "" +"`bpo-30624 `__: selectors does not take " +"KeyboardInterrupt and SystemExit into account, leaving a fd in a bad state " +"in case of error. Patch by Giampaolo Rodola'." +msgstr "" + +#: ../build/NEWS:10550 ../build/NEWS:13141 +msgid "" +"`bpo-30595 `__: multiprocessing.Queue." +"get() with a timeout now polls its reader in non-blocking mode if it " +"succeeded to acquire the lock but the acquire took longer than the timeout." +msgstr "" + +#: ../build/NEWS:10554 ../build/NEWS:13552 ../build/NEWS:17535 +msgid "" +"`bpo-28556 `__: Updates to typing " +"module: Add generic AsyncContextManager, add support for ContextManager on " +"all versions. Original PRs by Jelle Zijlstra and Ivan Levkivskyi" +msgstr "" + +#: ../build/NEWS:10558 ../build/NEWS:13531 +msgid "" +"`bpo-30605 `__: re.compile() no longer " +"raises a BytesWarning when compiling a bytes instance with misplaced inline " +"modifier. Patch by Roy Williams." +msgstr "" + +#: ../build/NEWS:10561 ../build/NEWS:13556 ../build/NEWS:17539 +msgid "" +"`bpo-29870 `__: Fix ssl sockets leaks " +"when connection is aborted in asyncio/ssl implementation. Patch by Michaël " +"Sghaïer." +msgstr "" + +#: ../build/NEWS:10564 ../build/NEWS:13559 ../build/NEWS:17542 +msgid "" +"`bpo-29743 `__: Closing transport during " +"handshake process leaks open socket. Patch by Nikolay Kim" +msgstr "" + +#: ../build/NEWS:10567 ../build/NEWS:13562 ../build/NEWS:17545 +msgid "" +"`bpo-27585 `__: Fix waiter cancellation " +"in asyncio.Lock. Patch by Mathieu Sornay." +msgstr "" + +#: ../build/NEWS:10570 +#, python-format +msgid "" +"`bpo-30014 `__: modify() method of " +"poll(), epoll() and devpoll() based classes of selectors module is around " +"10% faster. Patch by Giampaolo Rodola'." +msgstr "" + +#: ../build/NEWS:10573 ../build/NEWS:13565 ../build/NEWS:17548 +msgid "" +"`bpo-30418 `__: On Windows, subprocess." +"Popen.communicate() now also ignore EINVAL on stdin.write() if the child " +"process is still running but closed the pipe." +msgstr "" + +#: ../build/NEWS:10577 +msgid "" +"`bpo-30463 `__: Addded empty __slots__ " +"to abc.ABC. This allows subclassers to deny __dict__ and __weakref__ " +"creation. Patch by Aaron Hall." +msgstr "" + +#: ../build/NEWS:10580 +msgid "" +"`bpo-30520 `__: Loggers are now " +"pickleable." +msgstr "" + +#: ../build/NEWS:10582 ../build/NEWS:13576 +msgid "" +"`bpo-30557 `__: faulthandler now " +"correctly filters and displays exception codes on Windows" +msgstr "" + +#: ../build/NEWS:10585 +msgid "" +"`bpo-30526 `__: Add TextIOWrapper." +"reconfigure() and a TextIOWrapper.write_through attribute." +msgstr "" + +#: ../build/NEWS:10588 +msgid "" +"`bpo-30245 `__: Fix possible overflow " +"when organize struct.pack_into error message. Patch by Yuan Liu." +msgstr "" + +#: ../build/NEWS:10591 ../build/NEWS:13579 ../build/NEWS:17552 +msgid "" +"`bpo-30378 `__: Fix the problem that " +"logging.handlers.SysLogHandler cannot handle IPv6 addresses." +msgstr "" + +#: ../build/NEWS:10594 +msgid "" +"`bpo-16500 `__: Allow registering at-" +"fork handlers." +msgstr "" + +#: ../build/NEWS:10596 +msgid "" +"`bpo-30470 `__: Deprecate invalid ctypes " +"call protection on Windows. Patch by Mariatta Wijaya." +msgstr "" + +#: ../build/NEWS:10599 ../build/NEWS:13585 ../build/NEWS:17558 +msgid "" +"`bpo-30414 `__: multiprocessing.Queue." +"_feed background running thread do not break from main loop on exception." +msgstr "" + +#: ../build/NEWS:10602 ../build/NEWS:13588 ../build/NEWS:17561 +msgid "" +"`bpo-30003 `__: Fix handling escape " +"characters in HZ codec. Based on patch by Ma Lin." +msgstr "" + +#: ../build/NEWS:10605 ../build/NEWS:13520 ../build/NEWS:17520 +msgid "" +"`bpo-30149 `__: inspect.signature() now " +"supports callables with variable-argument parameters wrapped with " +"partialmethod. Patch by Dong-hee Na." +msgstr "" + +#: ../build/NEWS:10609 +msgid "" +"`bpo-30436 `__: importlib.find_spec() " +"raises ModuleNotFoundError instead of AttributeError if the specified parent " +"module is not a package (i.e. lacks a __path__ attribute)." +msgstr "" + +#: ../build/NEWS:10613 ../build/NEWS:13591 ../build/NEWS:17564 +msgid "" +"`bpo-30301 `__: Fix AttributeError when " +"using SimpleQueue.empty() under *spawn* and *forkserver* start methods." +msgstr "" + +#: ../build/NEWS:10616 ../build/NEWS:13598 ../build/NEWS:17571 +msgid "" +"`bpo-30375 `__: Warnings emitted when " +"compile a regular expression now always point to the line in the user code. " +"Previously they could point into inners of the re module if emitted from " +"inside of groups or conditionals." +msgstr "" + +#: ../build/NEWS:10620 ../build/NEWS:13594 ../build/NEWS:17567 +msgid "" +"`bpo-30329 `__: imaplib and poplib now " +"catch the Windows socket WSAEINVAL error (code 10022) on " +"shutdown(SHUT_RDWR): An invalid operation was attempted. This error occurs " +"sometimes on SSL connections." +msgstr "" + +#: ../build/NEWS:10624 +msgid "" +"`bpo-29196 `__: Removed previously " +"deprecated in Python 2.4 classes Plist, Dict and _InternalDict in the " +"plistlib module. Dict values in the result of functions readPlist() and " +"readPlistFromBytes() are now normal dicts. You no longer can use attribute " +"access to access items of these dictionaries." +msgstr "" + +#: ../build/NEWS:10629 +msgid "" +"`bpo-9850 `__: The :mod:`macpath` is now " +"deprecated and will be removed in Python 3.8." +msgstr "" + +#: ../build/NEWS:10632 +msgid "" +"`bpo-30299 `__: Compiling regular " +"expression in debug mode on CPython now displays the compiled bytecode in " +"human readable form." +msgstr "" + +#: ../build/NEWS:10635 ../build/NEWS:13602 ../build/NEWS:17575 +msgid "" +"`bpo-30048 `__: Fixed ``Task.cancel()`` " +"can be ignored when the task is running coroutine and the coroutine returned " +"without any more ``await``." +msgstr "" + +#: ../build/NEWS:10638 ../build/NEWS:13605 +msgid "" +"`bpo-30266 `__: contextlib." +"AbstractContextManager now supports anti-registration by setting __enter__ = " +"None or __exit__ = None, following the pattern introduced in `bpo-25958 " +"`__. Patch by Jelle Zijlstra." +msgstr "" + +#: ../build/NEWS:10642 +msgid "" +"`bpo-30340 `__: Enhanced regular " +"expressions optimization. This increased the performance of matching some " +"patterns up to 25 times." +msgstr "" + +#: ../build/NEWS:10645 ../build/NEWS:13609 +msgid "" +"`bpo-30298 `__: Weaken the condition of " +"deprecation warnings for inline modifiers. Now allowed several subsequential " +"inline modifiers at the start of the pattern (e.g. ``'(?i)(?s)...'``). In " +"verbose mode whitespaces and comments now are allowed before and between " +"inline modifiers (e.g. ``'(?x) (?i) (?s)...'``)." +msgstr "" + +#: ../build/NEWS:10651 +msgid "" +"`bpo-30285 `__: Optimized case-" +"insensitive matching and searching of regular expressions." +msgstr "" + +#: ../build/NEWS:10654 ../build/NEWS:13615 ../build/NEWS:17578 +msgid "" +"`bpo-29990 `__: Fix range checking in " +"GB18030 decoder. Original patch by Ma Lin." +msgstr "" + +#: ../build/NEWS:10657 +msgid "" +"`bpo-29979 `__: rewrite cgi." +"parse_multipart, reusing the FieldStorage class and making its results " +"consistent with those of FieldStorage for multipart/form-data requests. " +"Patch by Pierre Quentel." +msgstr "" + +#: ../build/NEWS:10661 ../build/NEWS:13621 ../build/NEWS:17584 +msgid "" +"`bpo-30243 `__: Removed the __init__ " +"methods of _json's scanner and encoder. Misusing them could cause memory " +"leaks or crashes. Now scanner and encoder objects are completely " +"initialized in the __new__ methods." +msgstr "" + +#: ../build/NEWS:10665 +msgid "" +"`bpo-30215 `__: Compiled regular " +"expression objects with the re.LOCALE flag no longer depend on the locale at " +"compile time. Only the locale at matching time affects the result of " +"matching." +msgstr "" + +#: ../build/NEWS:10669 ../build/NEWS:13625 ../build/NEWS:17588 +msgid "" +"`bpo-30185 `__: Avoid KeyboardInterrupt " +"tracebacks in forkserver helper process when Ctrl-C is received." +msgstr "" + +#: ../build/NEWS:10672 +msgid "" +"`bpo-30103 `__: binascii.b2a_uu() and uu." +"encode() now support using ``'`'`` as zero instead of space." +msgstr "" + +#: ../build/NEWS:10675 ../build/NEWS:13628 ../build/NEWS:17591 +msgid "" +"`bpo-28556 `__: Various updates to " +"typing module: add typing.NoReturn type, use WrapperDescriptorType, minor " +"bug-fixes. Original PRs by Jim Fasarakis-Hilliard and Ivan Levkivskyi." +msgstr "" + +#: ../build/NEWS:10679 ../build/NEWS:13632 ../build/NEWS:17595 +msgid "" +"`bpo-30205 `__: Fix getsockname() for " +"unbound AF_UNIX sockets on Linux." +msgstr "" + +#: ../build/NEWS:10681 +msgid "" +"`bpo-30228 `__: The seek() and tell() " +"methods of io.FileIO now set the internal seekable attribute to avoid one " +"syscall on open() (in buffered or text mode)." +msgstr "" + +#: ../build/NEWS:10685 +msgid "" +"`bpo-30190 `__: unittest's " +"assertAlmostEqual and assertNotAlmostEqual provide a better message in case " +"of failure which includes the difference between left and right arguments. " +"(patch by Giampaolo Rodola')" +msgstr "" + +#: ../build/NEWS:10689 +msgid "" +"`bpo-30101 `__: Add support for curses." +"A_ITALIC." +msgstr "" + +#: ../build/NEWS:10691 ../build/NEWS:13569 +msgid "" +"`bpo-29822 `__: inspect.isabstract() now " +"works during __init_subclass__. Patch by Nate Soares." +msgstr "" + +#: ../build/NEWS:10694 ../build/NEWS:13582 ../build/NEWS:17555 +msgid "" +"`bpo-29960 `__: Preserve generator state " +"when _random.Random.setstate() raises an exception. Patch by Bryan Olson." +msgstr "" + +#: ../build/NEWS:10697 ../build/NEWS:13634 ../build/NEWS:17597 +msgid "" +"`bpo-30070 `__: Fixed leaks and crashes " +"in errors handling in the parser module." +msgstr "" + +#: ../build/NEWS:10700 +msgid "" +"`bpo-22352 `__: Column widths in the " +"output of dis.dis() are now adjusted for large line numbers and instruction " +"offsets." +msgstr "" + +#: ../build/NEWS:10703 ../build/NEWS:13637 ../build/NEWS:17600 +msgid "" +"`bpo-30061 `__: Fixed crashes in IOBase " +"methods __next__() and readlines() when readline() or __next__() " +"respectively return non-sizeable object. Fixed possible other errors caused " +"by not checking results of PyObject_Size(), PySequence_Size(), or " +"PyMapping_Size()." +msgstr "" + +#: ../build/NEWS:10708 +msgid "" +"`bpo-30218 `__: Fix PathLike support for " +"shutil.unpack_archive. Patch by Jelle Zijlstra." +msgstr "" + +#: ../build/NEWS:10711 +msgid "" +"`bpo-10076 `__: Compiled regular " +"expression and match objects in the re module now support copy.copy() and " +"copy.deepcopy() (they are considered atomic)." +msgstr "" + +#: ../build/NEWS:10714 ../build/NEWS:13646 ../build/NEWS:17605 +msgid "" +"`bpo-30068 `__: _io._IOBase.readlines " +"will check if it's closed first when hint is present." +msgstr "" + +#: ../build/NEWS:10717 ../build/NEWS:13649 ../build/NEWS:17608 +msgid "" +"`bpo-29694 `__: Fixed race condition in " +"pathlib mkdir with flags parents=True. Patch by Armin Rigo." +msgstr "" + +#: ../build/NEWS:10720 ../build/NEWS:13652 ../build/NEWS:17611 +msgid "" +"`bpo-29692 `__: Fixed arbitrary " +"unchaining of RuntimeError exceptions in contextlib.contextmanager. Patch " +"by Siddharth Velankar." +msgstr "" + +#: ../build/NEWS:10723 +msgid "" +"`bpo-26187 `__: Test that sqlite3 trace " +"callback is not called multiple times when schema is changing. Indirectly " +"fixed by switching to use sqlite3_prepare_v2() in `bpo-9303 `__. Patch by Aviv Palivoda." +msgstr "" + +#: ../build/NEWS:10727 ../build/NEWS:13642 +msgid "" +"`bpo-30017 `__: Allowed calling the " +"close() method of the zip entry writer object multiple times. Writing to a " +"closed writer now always produces a ValueError." +msgstr "" + +#: ../build/NEWS:10731 ../build/NEWS:13655 ../build/NEWS:17614 +msgid "" +"`bpo-29998 `__: Pickling and copying " +"ImportError now preserves name and path attributes." +msgstr "" + +#: ../build/NEWS:10734 +msgid "" +"`bpo-29995 `__: re.escape() now escapes " +"only regex special characters." +msgstr "" + +#: ../build/NEWS:10736 +msgid "" +"`bpo-29962 `__: Add math.remainder " +"operation, implementing remainder as specified in IEEE 754." +msgstr "" + +#: ../build/NEWS:10739 +msgid "" +"`bpo-29649 `__: Improve struct." +"pack_into() exception messages for problems with the buffer size and " +"offset. Patch by Andrew Nester." +msgstr "" + +#: ../build/NEWS:10742 +msgid "" +"`bpo-29654 `__: Support If-Modified-" +"Since HTTP header (browser cache). Patch by Pierre Quentel." +msgstr "" + +#: ../build/NEWS:10745 ../build/NEWS:13528 ../build/NEWS:17524 +msgid "" +"`bpo-29931 `__: Fixed comparison check " +"for ipaddress.ip_interface objects. Patch by Sanjay Sundaresan." +msgstr "" + +#: ../build/NEWS:10748 ../build/NEWS:13658 +msgid "" +"`bpo-29953 `__: Fixed memory leaks in " +"the replace() method of datetime and time objects when pass out of bound " +"fold argument." +msgstr "" + +#: ../build/NEWS:10751 ../build/NEWS:13661 ../build/NEWS:17617 +msgid "" +"`bpo-29942 `__: Fix a crash in itertools." +"chain.from_iterable when encountering long runs of empty iterables." +msgstr "" + +#: ../build/NEWS:10754 +msgid "" +"`bpo-10030 `__: Sped up reading " +"encrypted ZIP files by 2 times." +msgstr "" + +#: ../build/NEWS:10756 +msgid "" +"`bpo-29204 `__: Element.getiterator() " +"and the html parameter of XMLParser() were deprecated only in the " +"documentation (since Python 3.2 and 3.4 correspondintly). Now using them " +"emits a deprecation warning." +msgstr "" + +#: ../build/NEWS:10760 ../build/NEWS:13664 ../build/NEWS:17620 +msgid "" +"`bpo-27863 `__: Fixed multiple crashes " +"in ElementTree caused by race conditions and wrong types." +msgstr "" + +#: ../build/NEWS:10763 +msgid "" +"`bpo-25996 `__: Added support of file " +"descriptors in os.scandir() on Unix. os.fwalk() is sped up by 2 times by " +"using os.scandir()." +msgstr "" + +#: ../build/NEWS:10766 ../build/NEWS:13667 ../build/NEWS:17623 +msgid "" +"`bpo-28699 `__: Fixed a bug in pools in " +"multiprocessing.pool that raising an exception at the very first of an " +"iterable may swallow the exception or make the program hang. Patch by Davin " +"Potts and Xiang Zhang." +msgstr "" + +#: ../build/NEWS:10770 ../build/NEWS:13517 ../build/NEWS:17517 +msgid "" +"`bpo-23890 `__: unittest.TestCase." +"assertRaises() now manually breaks a reference cycle to not keep objects " +"alive longer than expected." +msgstr "" + +#: ../build/NEWS:10773 +msgid "" +"`bpo-29901 `__: The zipapp module now " +"supports general path-like objects, not just pathlib.Path." +msgstr "" + +#: ../build/NEWS:10776 ../build/NEWS:13671 ../build/NEWS:17627 +msgid "" +"`bpo-25803 `__: Avoid incorrect errors " +"raised by Path.mkdir(exist_ok=True) when the OS gives priority to errors " +"such as EACCES over EEXIST." +msgstr "" + +#: ../build/NEWS:10779 ../build/NEWS:13674 ../build/NEWS:17630 +msgid "" +"`bpo-29861 `__: Release references to " +"tasks, their arguments and their results as soon as they are finished in " +"multiprocessing.Pool." +msgstr "" + +#: ../build/NEWS:10782 +msgid "" +"`bpo-19930 `__: The mode argument of os." +"makedirs() no longer affects the file permission bits of newly-created " +"intermediate-level directories." +msgstr "" + +#: ../build/NEWS:10785 ../build/NEWS:13677 ../build/NEWS:17633 +msgid "" +"`bpo-29884 `__: faulthandler: Restore " +"the old sigaltstack during teardown. Patch by Christophe Zeitouny." +msgstr "" + +#: ../build/NEWS:10788 ../build/NEWS:13680 ../build/NEWS:17636 +msgid "" +"`bpo-25455 `__: Fixed crashes in repr of " +"recursive buffered file-like objects." +msgstr "" + +#: ../build/NEWS:10790 ../build/NEWS:13682 ../build/NEWS:17638 +msgid "" +"`bpo-29800 `__: Fix crashes in partial." +"__repr__ if the keys of partial.keywords are not strings. Patch by Michael " +"Seifert." +msgstr "" + +#: ../build/NEWS:10793 ../build/NEWS:13688 ../build/NEWS:17644 +msgid "" +"`bpo-8256 `__: Fixed possible failing or " +"crashing input() if attributes \"encoding\" or \"errors\" of sys.stdin or " +"sys.stdout are not set or are not strings." +msgstr "" + +#: ../build/NEWS:10797 +msgid "" +"`bpo-28692 `__: Using non-integer value " +"for selecting a plural form in gettext is now deprecated." +msgstr "" + +#: ../build/NEWS:10800 +msgid "" +"`bpo-26121 `__: Use C library " +"implementation for math functions erf() and erfc()." +msgstr "" + +#: ../build/NEWS:10803 +msgid "" +"`bpo-29619 `__: os.stat() and os." +"DirEntry.inode() now convert inode (st_ino) using unsigned integers." +msgstr "" + +#: ../build/NEWS:10806 +msgid "" +"`bpo-28298 `__: Fix a bug that prevented " +"array 'Q', 'L' and 'I' from accepting big intables (objects that have " +"__int__) as elements." +msgstr "" + +#: ../build/NEWS:10809 +msgid "" +"`bpo-29645 `__: Speed up importing the " +"webbrowser module. webbrowser.register() is now thread-safe." +msgstr "" + +#: ../build/NEWS:10812 ../build/NEWS:13696 +msgid "" +"`bpo-28231 `__: The zipfile module now " +"accepts path-like objects for external paths." +msgstr "" + +#: ../build/NEWS:10815 ../build/NEWS:13699 +msgid "" +"`bpo-26915 `__: index() and count() " +"methods of collections.abc.Sequence now check identity before checking " +"equality when do comparisons." +msgstr "" + +#: ../build/NEWS:10818 +msgid "" +"`bpo-28682 `__: Added support for bytes " +"paths in os.fwalk()." +msgstr "" + +#: ../build/NEWS:10820 +msgid "" +"`bpo-29728 `__: Add new :data:`socket." +"TCP_NOTSENT_LOWAT` (Linux 3.12) constant. Patch by Nathaniel J. Smith." +msgstr "" + +#: ../build/NEWS:10823 ../build/NEWS:13908 +msgid "" +"`bpo-29623 `__: Allow use of path-like " +"object as a single argument in ConfigParser.read(). Patch by David Ellis." +msgstr "" + +#: ../build/NEWS:10826 +msgid "" +"`bpo-9303 `__: Migrate sqlite3 module to " +"_v2 API. Patch by Aviv Palivoda." +msgstr "" + +#: ../build/NEWS:10828 ../build/NEWS:13911 +msgid "" +"`bpo-28963 `__: Fix out of bound " +"iteration in asyncio.Future.remove_done_callback implemented in C." +msgstr "" + +#: ../build/NEWS:10831 ../build/NEWS:13914 ../build/NEWS:17656 +msgid "" +"`bpo-29704 `__: asyncio.subprocess." +"SubprocessStreamProtocol no longer closes before all pipes are closed." +msgstr "" + +#: ../build/NEWS:10834 ../build/NEWS:13917 +msgid "" +"`bpo-29271 `__: Fix Task.current_task " +"and Task.all_tasks implemented in C to accept None argument as their pure " +"Python implementation." +msgstr "" + +#: ../build/NEWS:10837 ../build/NEWS:13920 ../build/NEWS:17659 +msgid "" +"`bpo-29703 `__: Fix asyncio to support " +"instantiation of new event loops in child processes." +msgstr "" + +#: ../build/NEWS:10840 ../build/NEWS:13702 ../build/NEWS:17652 +msgid "" +"`bpo-29615 `__: SimpleXMLRPCDispatcher " +"no longer chains KeyError (or any other exception) to exception(s) raised in " +"the dispatched methods. Patch by Petr Motejlek." +msgstr "" + +#: ../build/NEWS:10844 +msgid "" +"`bpo-7769 `__: Method register_function() " +"of xmlrpc.server.SimpleXMLRPCDispatcher and its subclasses can now be used " +"as a decorator." +msgstr "" + +#: ../build/NEWS:10848 ../build/NEWS:13923 ../build/NEWS:17662 +msgid "" +"`bpo-29376 `__: Fix assertion error in " +"threading._DummyThread.is_alive()." +msgstr "" + +#: ../build/NEWS:10850 ../build/NEWS:13925 +msgid "" +"`bpo-28624 `__: Add a test that checks " +"that cwd parameter of Popen() accepts PathLike objects. Patch by Sayan " +"Chowdhury." +msgstr "" + +#: ../build/NEWS:10853 ../build/NEWS:13928 +msgid "" +"`bpo-28518 `__: Start a transaction " +"implicitly before a DML statement. Patch by Aviv Palivoda." +msgstr "" + +#: ../build/NEWS:10856 ../build/NEWS:13685 ../build/NEWS:17641 +msgid "" +"`bpo-29742 `__: get_extra_info() raises " +"exception if get called on closed ssl transport. Patch by Nikolay Kim." +msgstr "" + +#: ../build/NEWS:10859 +msgid "" +"`bpo-16285 `__: urllib.parse.quote is " +"now based on RFC 3986 and hence includes '~' in the set of characters that " +"is not quoted by default. Patch by Christian Theune and Ratnadeep Debnath." +msgstr "" + +#: ../build/NEWS:10863 ../build/NEWS:13931 ../build/NEWS:17670 +msgid "" +"`bpo-29532 `__: Altering a kwarg " +"dictionary passed to functools.partial() no longer affects a partial object " +"after creation." +msgstr "" + +#: ../build/NEWS:10866 ../build/NEWS:13934 ../build/NEWS:17664 +msgid "" +"`bpo-29110 `__: Fix file object leak in " +"aifc.open() when file is given as a filesystem path and is not in valid AIFF " +"format. Patch by Anthony Zhang." +msgstr "" + +#: ../build/NEWS:10869 +msgid "" +"`bpo-22807 `__: Add uuid.SafeUUID and " +"uuid.UUID.is_safe to relay information from the platform about whether " +"generated UUIDs are generated with a multiprocessing safe method." +msgstr "" + +#: ../build/NEWS:10873 +msgid "" +"`bpo-29576 `__: Improve some " +"deprecations in importlib. Some deprecated methods now emit " +"DeprecationWarnings and have better descriptive messages." +msgstr "" + +#: ../build/NEWS:10876 +msgid "" +"`bpo-29534 `__: Fixed different " +"behaviour of Decimal.from_float() for _decimal and _pydecimal. Thanks Andrew " +"Nester." +msgstr "" + +#: ../build/NEWS:10879 +msgid "" +"`bpo-10379 `__: locale.format_string now " +"supports the 'monetary' keyword argument, and locale.format is deprecated." +msgstr "" + +#: ../build/NEWS:10882 +msgid "" +"`bpo-29851 `__: importlib.reload() now " +"raises ModuleNotFoundError if the module lacks a spec." +msgstr "" + +#: ../build/NEWS:10885 ../build/NEWS:13937 ../build/NEWS:17673 +msgid "" +"`bpo-28556 `__: Various updates to " +"typing module: typing.Counter, typing.ChainMap, improved ABC caching, etc. " +"Original PRs by Jelle Zijlstra, Ivan Levkivskyi, Manuel Krebber, and Łukasz " +"Langa." +msgstr "" + +#: ../build/NEWS:10889 ../build/NEWS:13941 ../build/NEWS:17677 +msgid "" +"`bpo-29100 `__: Fix datetime." +"fromtimestamp() regression introduced in Python 3.6.0: check minimum and " +"maximum years." +msgstr "" + +#: ../build/NEWS:10892 ../build/NEWS:13947 ../build/NEWS:17683 +msgid "" +"`bpo-29416 `__: Prevent infinite loop in " +"pathlib.Path.mkdir" +msgstr "" + +#: ../build/NEWS:10894 ../build/NEWS:13949 ../build/NEWS:17685 +msgid "" +"`bpo-29444 `__: Fixed out-of-bounds " +"buffer access in the group() method of the match object. Based on patch by " +"WGH." +msgstr "" + +#: ../build/NEWS:10897 +msgid "" +"`bpo-29377 `__: Add " +"WrapperDescriptorType, MethodWrapperType, and MethodDescriptorType built-in " +"types to types module. Original patch by Manuel Krebber." +msgstr "" + +#: ../build/NEWS:10901 +msgid "" +"`bpo-29218 `__: Unused install_misc " +"command is now removed. It has been documented as unused since 2000. Patch " +"by Eric N. Vander Weele." +msgstr "" + +#: ../build/NEWS:10904 +msgid "" +"`bpo-29368 `__: The extend() method is " +"now called instead of the append() method when unpickle collections.deque " +"and other list-like objects. This can speed up unpickling to 2 times." +msgstr "" + +#: ../build/NEWS:10908 +msgid "" +"`bpo-29338 `__: The help of a builtin or " +"extension class now includes the constructor signature if __text_signature__ " +"is provided for the class." +msgstr "" + +#: ../build/NEWS:10911 ../build/NEWS:13952 ../build/NEWS:17688 +msgid "" +"`bpo-29335 `__: Fix subprocess.Popen." +"wait() when the child process has exited to a stopped instead of terminated " +"state (ex: when under ptrace)." +msgstr "" + +#: ../build/NEWS:10914 ../build/NEWS:13955 ../build/NEWS:17691 +msgid "" +"`bpo-29290 `__: Fix a regression in " +"argparse that help messages would wrap at non-breaking spaces." +msgstr "" + +#: ../build/NEWS:10917 ../build/NEWS:13958 ../build/NEWS:17694 +msgid "" +"`bpo-28735 `__: Fixed the comparison of " +"mock.MagickMock with mock.ANY." +msgstr "" + +#: ../build/NEWS:10919 +msgid "" +"`bpo-29197 `__: Removed deprecated " +"function ntpath.splitunc()." +msgstr "" + +#: ../build/NEWS:10921 +msgid "" +"`bpo-29210 `__: Removed support of " +"deprecated argument \"exclude\" in tarfile.TarFile.add()." +msgstr "" + +#: ../build/NEWS:10924 ../build/NEWS:13963 ../build/NEWS:17698 +msgid "" +"`bpo-29219 `__: Fixed infinite recursion " +"in the repr of uninitialized ctypes.CDLL instances." +msgstr "" + +#: ../build/NEWS:10927 +msgid "" +"`bpo-29192 `__: Removed deprecated " +"features in the http.cookies module." +msgstr "" + +#: ../build/NEWS:10929 +msgid "" +"`bpo-29193 `__: A format string argument " +"for string.Formatter.format() is now positional-only." +msgstr "" + +#: ../build/NEWS:10932 +msgid "" +"`bpo-29195 `__: Removed support of " +"deprecated undocumented keyword arguments in methods of regular expression " +"objects." +msgstr "" + +#: ../build/NEWS:10935 ../build/NEWS:13968 ../build/NEWS:17701 +msgid "" +"`bpo-28969 `__: Fixed race condition in " +"C implementation of functools.lru_cache. KeyError could be raised when " +"cached function with full cache was simultaneously called from different " +"threads with the same uncached arguments." +msgstr "" + +#: ../build/NEWS:10940 +msgid "" +"`bpo-20804 `__: The unittest.mock." +"sentinel attributes now preserve their identity when they are copied or " +"pickled." +msgstr "" + +#: ../build/NEWS:10943 ../build/NEWS:13973 ../build/NEWS:17706 +msgid "" +"`bpo-29142 `__: In urllib.request, " +"suffixes in no_proxy environment variable with leading dots could match " +"related hostnames again (e.g. .b.c matches a.b.c). Patch by Milan Oberkirch." +msgstr "" + +#: ../build/NEWS:10947 ../build/NEWS:13977 ../build/NEWS:17667 +msgid "" +"`bpo-28961 `__: Fix unittest.mock._Call " +"helper: don't ignore the name parameter anymore. Patch written by Jiajun " +"Huang." +msgstr "" + +#: ../build/NEWS:10950 ../build/NEWS:13984 ../build/NEWS:17950 +msgid "" +"`bpo-15812 `__: inspect.getframeinfo() " +"now correctly shows the first line of a context. Patch by Sam Breese." +msgstr "" + +#: ../build/NEWS:10953 +msgid "" +"`bpo-28985 `__: Update authorizer " +"constants in sqlite3 module. Patch by Dingyuan Wang." +msgstr "" + +#: ../build/NEWS:10956 ../build/NEWS:13996 +msgid "" +"`bpo-29079 `__: Prevent infinite loop in " +"pathlib.resolve() on Windows" +msgstr "" + +#: ../build/NEWS:10958 ../build/NEWS:13998 ../build/NEWS:17956 +msgid "" +"`bpo-13051 `__: Fixed recursion errors " +"in large or resized curses.textpad.Textbox. Based on patch by Tycho " +"Andersen." +msgstr "" + +#: ../build/NEWS:10961 ../build/NEWS:14005 ../build/NEWS:17963 +msgid "" +"`bpo-9770 `__: curses.ascii predicates " +"now work correctly with negative integers." +msgstr "" + +#: ../build/NEWS:10964 ../build/NEWS:14008 ../build/NEWS:17966 +msgid "" +"`bpo-28427 `__: old keys should not " +"remove new values from WeakValueDictionary when collecting from another " +"thread." +msgstr "" + +#: ../build/NEWS:10967 ../build/NEWS:14011 ../build/NEWS:17969 +msgid "" +"`bpo-28923 `__: Remove editor artifacts " +"from Tix.py." +msgstr "" + +#: ../build/NEWS:10969 ../build/NEWS:14016 ../build/NEWS:17971 +msgid "" +"`bpo-28871 `__: Fixed a crash when " +"deallocate deep ElementTree." +msgstr "" + +#: ../build/NEWS:10971 ../build/NEWS:14018 ../build/NEWS:17973 +msgid "" +"`bpo-19542 `__: Fix bugs in " +"WeakValueDictionary.setdefault() and WeakValueDictionary.pop() when a GC " +"collection happens in another thread." +msgstr "" + +#: ../build/NEWS:10974 ../build/NEWS:14021 +msgid "" +"`bpo-20191 `__: Fixed a crash in " +"resource.prlimit() when passing a sequence that doesn't own its elements as " +"limits." +msgstr "" + +#: ../build/NEWS:10977 +msgid "" +"`bpo-16255 `__: subprocess.Popen uses /" +"system/bin/sh on Android as the shell, instead of /bin/sh." +msgstr "" + +#: ../build/NEWS:10980 ../build/NEWS:14024 ../build/NEWS:17979 +msgid "" +"`bpo-28779 `__: multiprocessing." +"set_forkserver_preload() would crash the forkserver process if a preloaded " +"module instantiated some multiprocessing objects such as locks." +msgstr "" + +#: ../build/NEWS:10984 ../build/NEWS:14031 +msgid "" +"`bpo-26937 `__: The chown() method of " +"the tarfile.TarFile class does not fail now when the grp module cannot be " +"imported, as for example on Android platforms." +msgstr "" + +#: ../build/NEWS:10988 +msgid "" +"`bpo-28847 `__: dbm.dumb now supports " +"reading read-only files and no longer writes the index file when it is not " +"changed. A deprecation warning is now emitted if the index file is missed " +"and recreated in the 'r' and 'w' modes (will be an error in future Python " +"releases)." +msgstr "" + +#: ../build/NEWS:10993 +msgid "" +"`bpo-27030 `__: Unknown escapes " +"consisting of ``'\\'`` and an ASCII letter in re.sub() replacement templates " +"regular expressions now are errors." +msgstr "" + +#: ../build/NEWS:10996 ../build/NEWS:14212 +msgid "" +"`bpo-28835 `__: Fix a regression " +"introduced in warnings.catch_warnings(): call warnings.showwarning() if it " +"was overridden inside the context manager." +msgstr "" + +#: ../build/NEWS:10999 ../build/NEWS:14215 +msgid "" +"`bpo-27172 `__: To assist with upgrades " +"from 2.7, the previously documented deprecation of ``inspect." +"getfullargspec()`` has been reversed. This decision may be revisited again " +"after the Python 2.7 branch is no longer officially supported." +msgstr "" + +#: ../build/NEWS:11004 +msgid "" +"`bpo-28740 `__: Add sys." +"getandroidapilevel(): return the build time API version of Android as an " +"integer. Function only available on Android." +msgstr "" + +#: ../build/NEWS:11007 ../build/NEWS:14220 +msgid "" +"`bpo-26273 `__: Add new :data:`socket." +"TCP_CONGESTION` (Linux 2.6.13) and :data:`socket.TCP_USER_TIMEOUT` (Linux " +"2.6.37) constants. Patch written by Omar Sandoval." +msgstr "" + +#: ../build/NEWS:11011 ../build/NEWS:14291 +msgid "" +"`bpo-28752 `__: Restored the " +"__reduce__() methods of datetime objects." +msgstr "" + +#: ../build/NEWS:11013 ../build/NEWS:14293 +msgid "" +"`bpo-28727 `__: Regular expression " +"patterns, _sre.SRE_Pattern objects created by re.compile(), become " +"comparable (only x==y and x!=y operators). This change should fix the " +"`bpo-18383 `__: don't duplicate warning " +"filters when the warnings module is reloaded (thing usually only done in " +"unit tests)." +msgstr "" + +#: ../build/NEWS:11018 +msgid "" +"`bpo-20572 `__: Remove the subprocess." +"Popen.wait endtime parameter. It was deprecated in 3.4 and undocumented " +"prior to that." +msgstr "" + +#: ../build/NEWS:11021 ../build/NEWS:14301 ../build/NEWS:17986 +msgid "" +"`bpo-25659 `__: In ctypes, prevent a " +"crash calling the from_buffer() and from_buffer_copy() methods on abstract " +"classes like Array." +msgstr "" + +#: ../build/NEWS:11024 +msgid "" +"`bpo-28548 `__: In the \"http.server\" " +"module, parse the protocol version if possible, to avoid using HTTP 0.9 in " +"some error responses." +msgstr "" + +#: ../build/NEWS:11027 ../build/NEWS:14304 +msgid "" +"`bpo-19717 `__: Makes Path.resolve() " +"succeed on paths that do not exist. Patch by Vajrasky Kok" +msgstr "" + +#: ../build/NEWS:11030 ../build/NEWS:14307 +msgid "" +"`bpo-28563 `__: Fixed possible DoS and " +"arbitrary code execution when handle plural form selections in the gettext " +"module. The expression parser now supports exact syntax supported by GNU " +"gettext." +msgstr "" + +#: ../build/NEWS:11034 ../build/NEWS:14311 ../build/NEWS:17995 +msgid "" +"`bpo-28387 `__: Fixed possible crash in " +"_io.TextIOWrapper deallocator when the garbage collector is invoked in other " +"thread. Based on patch by Sebastian Cufre." +msgstr "" + +#: ../build/NEWS:11038 ../build/NEWS:14394 ../build/NEWS:17999 +msgid "" +"`bpo-27517 `__: LZMA compressor and " +"decompressor no longer raise exceptions if given empty data twice. Patch by " +"Benjamin Fogle." +msgstr "" + +#: ../build/NEWS:11041 ../build/NEWS:14397 ../build/NEWS:18002 +msgid "" +"`bpo-28549 `__: Fixed segfault in " +"curses's addch() with ncurses6." +msgstr "" + +#: ../build/NEWS:11043 ../build/NEWS:14399 ../build/NEWS:18004 +#, python-format +msgid "" +"`bpo-28449 `__: tarfile.open() with mode " +"\"r\" or \"r:\" now tries to open a tar file with compression before trying " +"to open it without compression. Otherwise it had 50% chance failed with " +"ignore_zeros=True." +msgstr "" + +#: ../build/NEWS:11047 ../build/NEWS:14403 ../build/NEWS:18008 +msgid "" +"`bpo-23262 `__: The webbrowser module " +"now supports Firefox 36+ and derived browsers. Based on patch by Oleg " +"Broytman." +msgstr "" + +#: ../build/NEWS:11050 +msgid "" +"`bpo-24241 `__: The webbrowser in an X " +"environment now prefers using the default browser directly. Also, the " +"webbrowser register() function now has a documented 'preferred' argument, to " +"specify browsers to be returned by get() with no arguments. Patch by David " +"Steele" +msgstr "" + +#: ../build/NEWS:11055 ../build/NEWS:14406 ../build/NEWS:18011 +msgid "" +"`bpo-27939 `__: Fixed bugs in tkinter." +"ttk.LabeledScale and tkinter.Scale caused by representing the scale as float " +"value internally in Tk. tkinter.IntVar now works if float value is set to " +"underlying Tk variable." +msgstr "" + +#: ../build/NEWS:11059 +msgid "" +"`bpo-28255 `__: calendar.TextCalendar." +"prweek() no longer prints a space after a weeks's calendar. calendar." +"TextCalendar.pryear() no longer prints redundant newline after a year's " +"calendar. Based on patch by Xiang Zhang." +msgstr "" + +#: ../build/NEWS:11063 +msgid "" +"`bpo-28255 `__: calendar.TextCalendar." +"prmonth() no longer prints a space at the start of new line after printing a " +"month's calendar. Patch by Xiang Zhang." +msgstr "" + +#: ../build/NEWS:11067 ../build/NEWS:14417 ../build/NEWS:18019 +msgid "" +"`bpo-20491 `__: The textwrap.TextWrapper " +"class now honors non-breaking spaces. Based on patch by Kaarle Ritvanen." +msgstr "" + +#: ../build/NEWS:11070 ../build/NEWS:14420 ../build/NEWS:18022 +msgid "" +"`bpo-28353 `__: os.fwalk() no longer " +"fails on broken links." +msgstr "" + +#: ../build/NEWS:11072 ../build/NEWS:14422 +msgid "" +"`bpo-28430 `__: Fix iterator of C " +"implemented asyncio.Future doesn't accept non-None value is passed to it." +"send(val)." +msgstr "" + +#: ../build/NEWS:11075 ../build/NEWS:14425 +msgid "" +"`bpo-27025 `__: Generated names for " +"Tkinter widgets now start by the \"!\" prefix for readability." +msgstr "" + +#: ../build/NEWS:11078 ../build/NEWS:14428 ../build/NEWS:18024 +msgid "" +"`bpo-25464 `__: Fixed HList." +"header_exists() in tkinter.tix module by addin a workaround to Tix library " +"bug." +msgstr "" + +#: ../build/NEWS:11081 ../build/NEWS:14431 +msgid "" +"`bpo-28488 `__: shutil.make_archive() no " +"longer adds entry \"./\" to ZIP archive." +msgstr "" + +#: ../build/NEWS:11083 ../build/NEWS:14433 +msgid "" +"`bpo-25953 `__: re.sub() now raises an " +"error for invalid numerical group reference in replacement template even if " +"the pattern is not found in the string. Error message for invalid group " +"reference now includes the group index and the position of the reference. " +"Based on patch by SilentGhost." +msgstr "" + +#: ../build/NEWS:11088 +msgid "" +"`bpo-28469 `__: timeit now uses the " +"sequence 1, 2, 5, 10, 20, 50,... instead of 1, 10, 100,... for autoranging." +msgstr "" + +#: ../build/NEWS:11091 +msgid "" +"`bpo-28115 `__: Command-line interface " +"of the zipfile module now uses argparse. Added support of long options." +msgstr "" + +#: ../build/NEWS:11094 ../build/NEWS:14438 +msgid "" +"`bpo-18219 `__: Optimize csv.DictWriter " +"for large number of columns. Patch by Mariatta Wijaya." +msgstr "" + +#: ../build/NEWS:11097 ../build/NEWS:14441 +msgid "" +"`bpo-28448 `__: Fix C implemented " +"asyncio.Future didn't work on Windows." +msgstr "" + +#: ../build/NEWS:11099 +msgid "" +"`bpo-23214 `__: In the \"io\" module, " +"the argument to BufferedReader and BytesIO's read1() methods is now optional " +"and can be -1, matching the BufferedIOBase specification." +msgstr "" + +#: ../build/NEWS:11103 ../build/NEWS:14443 +msgid "" +"`bpo-28480 `__: Fix error building " +"socket module when multithreading is disabled." +msgstr "" + +#: ../build/NEWS:11106 +msgid "" +"`bpo-28240 `__: timeit: remove ``-c/--" +"clock`` and ``-t/--time`` command line options which were deprecated since " +"Python 3.3." +msgstr "" + +#: ../build/NEWS:11109 +msgid "" +"`bpo-28240 `__: timeit now repeats the " +"benchmarks 5 times instead of only 3 to make benchmarks more reliable." +msgstr "" + +#: ../build/NEWS:11112 +msgid "" +"`bpo-28240 `__: timeit autorange now " +"uses a single loop iteration if the benchmark takes less than 10 seconds, " +"instead of 10 iterations. \"python3 -m timeit -s 'import time' 'time." +"sleep(1)'\" now takes 4 seconds instead of 40 seconds." +msgstr "" + +#: ../build/NEWS:11117 +msgid "" +"Distutils.sdist now looks for README and setup.py files with case " +"sensitivity. This behavior matches that found in Setuptools 6.0 and later. " +"See `setuptools 100 `_ for " +"rationale." +msgstr "" + +#: ../build/NEWS:11122 +msgid "" +"`bpo-24452 `__: Make webbrowser support " +"Chrome on Mac OS X. Patch by Ned Batchelder." +msgstr "" + +#: ../build/NEWS:11125 ../build/NEWS:14448 ../build/NEWS:18031 +msgid "" +"`bpo-20766 `__: Fix references leaked by " +"pdb in the handling of SIGINT handlers." +msgstr "" + +#: ../build/NEWS:11128 ../build/NEWS:14564 +msgid "" +"`bpo-27998 `__: Fixed bytes path support " +"in os.scandir() on Windows. Patch by Eryk Sun." +msgstr "" + +#: ../build/NEWS:11131 ../build/NEWS:14567 +msgid "" +"`bpo-28317 `__: The disassembler now " +"decodes FORMAT_VALUE argument." +msgstr "" + +#: ../build/NEWS:11133 ../build/NEWS:14573 +msgid "" +"`bpo-28380 `__: unittest.mock Mock " +"autospec functions now properly support assert_called, assert_not_called, " +"and assert_called_once." +msgstr "" + +#: ../build/NEWS:11136 ../build/NEWS:14578 +msgid "" +"`bpo-28229 `__: lzma module now supports " +"pathlib." +msgstr "" + +#: ../build/NEWS:11138 ../build/NEWS:14580 ../build/NEWS:18038 +msgid "" +"`bpo-28321 `__: Fixed writing non-BMP " +"characters with binary format in plistlib." +msgstr "" + +#: ../build/NEWS:11141 ../build/NEWS:14583 +msgid "" +"`bpo-28225 `__: bz2 module now supports " +"pathlib. Initial patch by Ethan Furman." +msgstr "" + +#: ../build/NEWS:11144 ../build/NEWS:14586 +msgid "" +"`bpo-28227 `__: gzip now supports " +"pathlib. Patch by Ethan Furman." +msgstr "" + +#: ../build/NEWS:11146 +msgid "" +"`bpo-28332 `__: Deprecated silent " +"truncations in socket.htons and socket.ntohs. Original patch by Oren Milman." +msgstr "" + +#: ../build/NEWS:11149 ../build/NEWS:14588 +msgid "" +"`bpo-27358 `__: Optimized merging var-" +"keyword arguments and improved error message when passing a non-mapping as a " +"var-keyword argument." +msgstr "" + +#: ../build/NEWS:11152 ../build/NEWS:14591 +msgid "" +"`bpo-28257 `__: Improved error message " +"when passing a non-iterable as a var-positional argument. Added opcode " +"BUILD_TUPLE_UNPACK_WITH_CALL." +msgstr "" + +#: ../build/NEWS:11155 ../build/NEWS:14594 ../build/NEWS:18041 +msgid "" +"`bpo-28322 `__: Fixed possible crashes " +"when unpickle itertools objects from incorrect pickle data. Based on patch " +"by John Leitch." +msgstr "" + +#: ../build/NEWS:11158 ../build/NEWS:14597 +msgid "" +"`bpo-28228 `__: imghdr now supports " +"pathlib." +msgstr "" + +#: ../build/NEWS:11160 ../build/NEWS:14599 +msgid "" +"`bpo-28226 `__: compileall now supports " +"pathlib." +msgstr "" + +#: ../build/NEWS:11162 ../build/NEWS:14601 +msgid "" +"`bpo-28314 `__: Fix function declaration " +"(C flags) for the getiterator() method of xml.etree.ElementTree.Element." +msgstr "" + +#: ../build/NEWS:11165 ../build/NEWS:14604 +msgid "" +"`bpo-28148 `__: Stop using localtime() " +"and gmtime() in the time module. Introduced platform independent " +"_PyTime_localtime API that is similar to POSIX localtime_r, but available on " +"all platforms. Patch by Ed Schouten." +msgstr "" + +#: ../build/NEWS:11169 ../build/NEWS:14608 ../build/NEWS:18050 +msgid "" +"`bpo-28253 `__: Fixed calendar functions " +"for extreme months: 0001-01 and 9999-12. Methods itermonthdays() and " +"itermonthdays2() are reimplemented so that they don't call itermonthdates() " +"which can cause datetime.date under/overflow." +msgstr "" + +#: ../build/NEWS:11174 ../build/NEWS:14613 ../build/NEWS:18055 +msgid "" +"`bpo-28275 `__: Fixed possible use after " +"free in the decompress() methods of the LZMADecompressor and BZ2Decompressor " +"classes. Original patch by John Leitch." +msgstr "" + +#: ../build/NEWS:11178 ../build/NEWS:14617 ../build/NEWS:18059 +msgid "" +"`bpo-27897 `__: Fixed possible crash in " +"sqlite3.Connection.create_collation() if pass invalid string-like object as " +"a name. Patch by Xiang Zhang." +msgstr "" + +#: ../build/NEWS:11181 ../build/NEWS:14620 +msgid "" +"`bpo-18844 `__: random.choices() now has " +"k as a keyword-only argument to improve the readability of common cases and " +"come into line with the signature used in other languages." +msgstr "" + +#: ../build/NEWS:11185 ../build/NEWS:14624 ../build/NEWS:18062 +msgid "" +"`bpo-18893 `__: Fix invalid exception " +"handling in Lib/ctypes/macholib/dyld.py. Patch by Madison May." +msgstr "" + +#: ../build/NEWS:11188 ../build/NEWS:14627 +msgid "" +"`bpo-27611 `__: Fixed support of default " +"root window in the tkinter.tix module. Added the master parameter in the " +"DisplayStyle constructor." +msgstr "" + +#: ../build/NEWS:11191 ../build/NEWS:14630 ../build/NEWS:18067 +msgid "" +"`bpo-27348 `__: In the traceback module, " +"restore the formatting of exception messages like \"Exception: None\". This " +"fixes a regression introduced in 3.5a2." +msgstr "" + +#: ../build/NEWS:11195 ../build/NEWS:14634 ../build/NEWS:18071 +msgid "" +"`bpo-25651 `__: Allow falsy values to be " +"used for msg parameter of subTest()." +msgstr "" + +#: ../build/NEWS:11197 ../build/NEWS:14636 +msgid "" +"`bpo-27778 `__: Fix a memory leak in os." +"getrandom() when the getrandom() is interrupted by a signal and a signal " +"handler raises a Python exception." +msgstr "" + +#: ../build/NEWS:11200 ../build/NEWS:14639 +msgid "" +"`bpo-28200 `__: Fix memory leak on " +"Windows in the os module (fix path_converter() function)." +msgstr "" + +#: ../build/NEWS:11203 ../build/NEWS:14642 +msgid "" +"`bpo-25400 `__: RobotFileParser now " +"correctly returns default values for crawl_delay and request_rate. Initial " +"patch by Peter Wirtz." +msgstr "" + +#: ../build/NEWS:11206 ../build/NEWS:14645 ../build/NEWS:18073 +msgid "" +"`bpo-27932 `__: Prevent memory leak in " +"win32_ver()." +msgstr "" + +#: ../build/NEWS:11208 ../build/NEWS:14647 ../build/NEWS:18075 +msgid "Fix UnboundLocalError in socket._sendfile_use_sendfile." +msgstr "" + +#: ../build/NEWS:11210 ../build/NEWS:14649 ../build/NEWS:18077 +msgid "" +"`bpo-28075 `__: Check for " +"ERROR_ACCESS_DENIED in Windows implementation of os.stat(). Patch by Eryk " +"Sun." +msgstr "" + +#: ../build/NEWS:11213 ../build/NEWS:14652 +msgid "" +"`bpo-22493 `__: Warning message emitted " +"by using inline flags in the middle of regular expression now contains a " +"(truncated) regex pattern. Patch by Tim Graham." +msgstr "" + +#: ../build/NEWS:11217 ../build/NEWS:14656 ../build/NEWS:18080 +msgid "" +"`bpo-25270 `__: Prevent codecs." +"escape_encode() from raising SystemError when an empty bytestring is passed." +msgstr "" + +#: ../build/NEWS:11220 ../build/NEWS:14659 ../build/NEWS:18083 +msgid "" +"`bpo-28181 `__: Get antigravity over " +"HTTPS. Patch by Kaartic Sivaraam." +msgstr "" + +#: ../build/NEWS:11222 ../build/NEWS:14661 ../build/NEWS:18085 +msgid "" +"`bpo-25895 `__: Enable WebSocket URL " +"schemes in urllib.parse.urljoin. Patch by Gergely Imreh and Markus " +"Holtermann." +msgstr "" + +#: ../build/NEWS:11225 ../build/NEWS:14664 +msgid "" +"`bpo-28114 `__: Fix a crash in " +"parse_envlist() when env contains byte strings. Patch by Eryk Sun." +msgstr "" + +#: ../build/NEWS:11228 ../build/NEWS:14667 ../build/NEWS:18088 +msgid "" +"`bpo-27599 `__: Fixed buffer overrun in " +"binascii.b2a_qp() and binascii.a2b_qp()." +msgstr "" + +#: ../build/NEWS:11231 ../build/NEWS:14670 ../build/NEWS:18289 +msgid "" +"`bpo-27906 `__: Fix socket accept " +"exhaustion during high TCP traffic. Patch by Kevin Conway." +msgstr "" + +#: ../build/NEWS:11234 ../build/NEWS:14673 ../build/NEWS:18292 +msgid "" +"`bpo-28174 `__: Handle when SO_REUSEPORT " +"isn't properly supported. Patch by Seth Michael Larson." +msgstr "" + +#: ../build/NEWS:11237 ../build/NEWS:14676 ../build/NEWS:18295 +msgid "" +"`bpo-26654 `__: Inspect functools." +"partial in asyncio.Handle.__repr__. Patch by iceboy." +msgstr "" + +#: ../build/NEWS:11240 ../build/NEWS:14679 ../build/NEWS:18298 +msgid "" +"`bpo-26909 `__: Fix slow pipes IO in " +"asyncio. Patch by INADA Naoki." +msgstr "" + +#: ../build/NEWS:11242 ../build/NEWS:14681 ../build/NEWS:18300 +msgid "" +"`bpo-28176 `__: Fix callbacks race in " +"asyncio.SelectorLoop.sock_connect." +msgstr "" + +#: ../build/NEWS:11244 ../build/NEWS:14683 ../build/NEWS:18302 +msgid "" +"`bpo-27759 `__: Fix selectors " +"incorrectly retain invalid file descriptors. Patch by Mark Williams." +msgstr "" + +#: ../build/NEWS:11247 +msgid "" +"`bpo-28325 `__: Remove vestigial MacOS 9 " +"macurl2path module and its tests." +msgstr "" + +#: ../build/NEWS:11249 ../build/NEWS:14686 ../build/NEWS:18305 +msgid "" +"`bpo-28368 `__: Refuse monitoring " +"processes if the child watcher has no loop attached. Patch by Vincent Michel." +msgstr "" + +#: ../build/NEWS:11252 ../build/NEWS:14689 ../build/NEWS:18308 +msgid "" +"`bpo-28369 `__: Raise RuntimeError when " +"transport's FD is used with add_reader, add_writer, etc." +msgstr "" + +#: ../build/NEWS:11255 ../build/NEWS:14692 ../build/NEWS:18311 +msgid "" +"`bpo-28370 `__: Speedup asyncio." +"StreamReader.readexactly. Patch by Коренберг Марк." +msgstr "" + +#: ../build/NEWS:11258 ../build/NEWS:14695 ../build/NEWS:18314 +msgid "" +"`bpo-28371 `__: Deprecate passing " +"asyncio.Handles to run_in_executor." +msgstr "" + +#: ../build/NEWS:11260 ../build/NEWS:14697 ../build/NEWS:18316 +msgid "" +"`bpo-28372 `__: Fix asyncio to support " +"formatting of non-python coroutines." +msgstr "" + +#: ../build/NEWS:11262 ../build/NEWS:14699 ../build/NEWS:18318 +msgid "" +"`bpo-28399 `__: Remove UNIX socket from " +"FS before binding. Patch by Коренберг Марк." +msgstr "" + +#: ../build/NEWS:11265 ../build/NEWS:14702 ../build/NEWS:18321 +msgid "" +"`bpo-27972 `__: Prohibit Tasks to await " +"on themselves." +msgstr "" + +#: ../build/NEWS:11267 ../build/NEWS:14224 +msgid "" +"`bpo-24142 `__: Reading a corrupt config " +"file left configparser in an invalid state. Original patch by Florian Höch." +msgstr "" + +#: ../build/NEWS:11270 ../build/NEWS:13572 +msgid "" +"`bpo-29581 `__: ABCMeta.__new__ now " +"accepts ``**kwargs``, allowing abstract base classes to use keyword " +"parameters in __init_subclass__. Patch by Nate Soares." +msgstr "" + +#: ../build/NEWS:11274 ../build/NEWS:12763 +msgid "" +"`bpo-25532 `__: inspect.unwrap() will " +"now only try to unwrap an object sys.getrecursionlimit() times, to protect " +"against objects which create a new object on every attribute access." +msgstr "" + +#: ../build/NEWS:11278 ../build/NEWS:13706 +msgid "" +"`bpo-30177 `__: path." +"resolve(strict=False) no longer cuts the path after the first element not " +"present in the filesystem. Patch by Antoine Pietri." +msgstr "" + +#: ../build/NEWS:11284 ../build/NEWS:13189 +msgid "" +"`bpo-31294 `__: Fix incomplete code " +"snippet in the ZeroMQSocketListener and ZeroMQSocketHandler examples and " +"adapt them to Python 3." +msgstr "" + +#: ../build/NEWS:11287 ../build/NEWS:13192 +msgid "" +"`bpo-21649 `__: Add RFC 7525 and Mozilla " +"server side TLS links to SSL documentation." +msgstr "" + +#: ../build/NEWS:11290 +msgid "" +"`bpo-31128 `__: Allow the pydoc server " +"to bind to arbitrary hostnames." +msgstr "" + +#: ../build/NEWS:11292 ../build/NEWS:13195 +msgid "" +"`bpo-30803 `__: Clarify doc on truth " +"value testing. Original patch by Peter Thomassen." +msgstr "" + +#: ../build/NEWS:11295 ../build/NEWS:13761 ../build/NEWS:17713 +msgid "" +"`bpo-30176 `__: Add missing attribute " +"related constants in curses documentation." +msgstr "" + +#: ../build/NEWS:11298 ../build/NEWS:13764 +msgid "" +"`bpo-30052 `__: the link targets for :" +"func:`bytes` and :func:`bytearray` are now their respective type " +"definitions, rather than the corresponding builtin function entries. Use :" +"ref:`bytes ` and :ref:`bytearray ` to reference " +"the latter. In order to ensure this and future cross-reference updates are " +"applied automatically, the daily documentation builds now disable the " +"default output caching features in Sphinx." +msgstr "" + +#: ../build/NEWS:11306 ../build/NEWS:13772 ../build/NEWS:17716 +msgid "" +"`bpo-26985 `__: Add missing info of code " +"object in inspect documentation." +msgstr "" + +#: ../build/NEWS:11308 +msgid "" +"`bpo-19824 `__: Improve the " +"documentation for, and links to, template strings by emphasizing their " +"utility for internationalization, and by clarifying some usage constraints. " +"(See also: `bpo-20314 `__, `bpo-12518 " +"`__)" +msgstr "" + +#: ../build/NEWS:11312 ../build/NEWS:14081 ../build/NEWS:17718 +msgid "" +"`bpo-28929 `__: Link the documentation " +"to its source file on GitHub." +msgstr "" + +#: ../build/NEWS:11314 ../build/NEWS:14083 ../build/NEWS:17720 +msgid "" +"`bpo-25008 `__: Document smtpd.py as " +"effectively deprecated and add a pointer to aiosmtpd, a third-party asyncio-" +"based replacement." +msgstr "" + +#: ../build/NEWS:11317 ../build/NEWS:14086 ../build/NEWS:17723 +msgid "" +"`bpo-26355 `__: Add canonical header " +"link on each page to corresponding major version of the documentation. Patch " +"by Matthias Bussonnier." +msgstr "" + +#: ../build/NEWS:11320 ../build/NEWS:14089 ../build/NEWS:17726 +msgid "" +"`bpo-29349 `__: Fix Python 2 syntax in " +"code for building the documentation." +msgstr "" + +#: ../build/NEWS:11322 +msgid "" +"`bpo-23722 `__: The data model reference " +"and the porting section in the 3.6 What's New guide now cover the additional " +"``__classcell__`` handling needed for custom metaclasses to fully support :" +"pep:`487` and zero-argument ``super()``." +msgstr "" + +#: ../build/NEWS:11327 ../build/NEWS:14340 ../build/NEWS:18389 +msgid "" +"`bpo-28513 `__: Documented command-line " +"interface of zipfile." +msgstr "" + +#: ../build/NEWS:11332 +msgid "" +"`bpo-29639 `__: test.support.HOST is now " +"\"localhost\", a new HOSTv4 constant has been added for your ``127.0.0.1`` " +"needs, similar to the existing HOSTv6 constant." +msgstr "" + +#: ../build/NEWS:11336 ../build/NEWS:13201 +msgid "" +"`bpo-31320 `__: Silence traceback in " +"test_ssl" +msgstr "" + +#: ../build/NEWS:11338 +msgid "" +"`bpo-31346 `__: Prefer " +"PROTOCOL_TLS_CLIENT and PROTOCOL_TLS_SERVER protocols for SSLContext." +msgstr "" + +#: ../build/NEWS:11341 ../build/NEWS:13203 +msgid "" +"`bpo-25674 `__: Remove sha256.tbs-" +"internet.com ssl test" +msgstr "" + +#: ../build/NEWS:11343 ../build/NEWS:13205 +msgid "" +"`bpo-30715 `__: Address ALPN callback " +"changes for OpenSSL 1.1.0f. The latest version behaves like OpenSSL 1.0.2 " +"and no longer aborts handshake." +msgstr "" + +#: ../build/NEWS:11346 ../build/NEWS:13208 +msgid "" +"`bpo-30822 `__: regrtest: Exclude tzdata " +"from regrtest --all. When running the test suite using --use=all / -u all, " +"exclude tzdata since it makes test_datetime too slow (15-20 min on some " +"buildbots) which then times out on some buildbots. Fix also regrtest command " +"line parser to allow passing -u extralargefile to run test_zipfile64." +msgstr "" + +#: ../build/NEWS:11352 ../build/NEWS:12815 +msgid "" +"`bpo-30695 `__: Add the " +"`set_nomemory(start, stop)` and `remove_mem_hooks()` functions to the " +"_testcapi module." +msgstr "" + +#: ../build/NEWS:11355 ../build/NEWS:13783 ../build/NEWS:17745 +msgid "" +"`bpo-30357 `__: test_thread: setUp() now " +"uses support.threading_setup() and support.threading_cleanup() to wait until " +"threads complete to avoid random side effects on following tests. Initial " +"patch written by Grzegorz Grzywacz." +msgstr "" + +#: ../build/NEWS:11360 ../build/NEWS:13788 ../build/NEWS:17754 +msgid "" +"`bpo-30197 `__: Enhanced functions " +"swap_attr() and swap_item() in the test.support module. They now work when " +"delete replaced attribute or item inside the with statement. The old value " +"of the attribute or item (or None if it doesn't exist) now will be assigned " +"to the target of the \"as\" clause, if there is one." +msgstr "" + +#: ../build/NEWS:11366 +msgid "" +"`bpo-24932 `__: Use proper command line " +"parsing in _testembed" +msgstr "" + +#: ../build/NEWS:11368 ../build/NEWS:14104 +msgid "" +"`bpo-28950 `__: Disallow -j0 to be " +"combined with -T/-l in regrtest command line arguments." +msgstr "" + +#: ../build/NEWS:11371 ../build/NEWS:14107 +msgid "" +"`bpo-28683 `__: Fix the tests that " +"bind() a unix socket and raise PermissionError on Android for a non-root " +"user." +msgstr "" + +#: ../build/NEWS:11374 +msgid "" +"`bpo-26936 `__: Fix the test_socket " +"failures on Android - getservbyname(), getservbyport() and getaddrinfo() are " +"broken on some Android API levels." +msgstr "" + +#: ../build/NEWS:11377 ../build/NEWS:14345 ../build/NEWS:18397 +msgid "" +"`bpo-28666 `__: Now test.support.rmtree " +"is able to remove unwritable or unreadable directories." +msgstr "" + +#: ../build/NEWS:11380 ../build/NEWS:14348 ../build/NEWS:18400 +msgid "" +"`bpo-23839 `__: Various caches now are " +"cleared before running every test file." +msgstr "" + +#: ../build/NEWS:11382 ../build/NEWS:14480 +msgid "" +"`bpo-26944 `__: Fix test_posix for " +"Android where 'id -G' is entirely wrong or missing the effective gid." +msgstr "" + +#: ../build/NEWS:11385 ../build/NEWS:14483 ../build/NEWS:18402 +msgid "" +"`bpo-28409 `__: regrtest: fix the parser " +"of command line arguments." +msgstr "" + +#: ../build/NEWS:11387 ../build/NEWS:14751 +msgid "" +"`bpo-28217 `__: Adds _testconsole module " +"to test console input." +msgstr "" + +#: ../build/NEWS:11389 ../build/NEWS:14110 +msgid "" +"`bpo-26939 `__: Add the support." +"setswitchinterval() function to fix test_functools hanging on the Android " +"armv7 qemu emulator." +msgstr "" + +#: ../build/NEWS:11395 +msgid "" +"`bpo-31354 `__: Allow --with-lto to be " +"used on all builds, not just `make profile-opt`." +msgstr "" + +#: ../build/NEWS:11398 +msgid "" +"`bpo-31370 `__: Remove support for " +"building --without-threads. This option is not really useful anymore in the " +"21st century. Removing lots of conditional paths allows us to simplify the " +"code base, including in difficult to maintain low-level internal code." +msgstr "" + +#: ../build/NEWS:11403 +msgid "" +"`bpo-31341 `__: Per :pep:`11`, support " +"for the IRIX operating system was removed." +msgstr "" + +#: ../build/NEWS:11406 ../build/NEWS:13217 +msgid "" +"`bpo-30854 `__: Fix compile error when " +"compiling --without-threads. Patch by Masayuki Yamamoto." +msgstr "" + +#: ../build/NEWS:11409 ../build/NEWS:13797 ../build/NEWS:17782 +msgid "" +"`bpo-30687 `__: Locate msbuild.exe on " +"Windows when building rather than vcvarsall.bat" +msgstr "" + +#: ../build/NEWS:11412 +msgid "" +"`bpo-20210 `__: Support the *disabled* " +"marker in Setup files. Extension modules listed after this marker are not " +"built at all, neither by the Makefile nor by setup.py." +msgstr "" + +#: ../build/NEWS:11416 ../build/NEWS:13741 +msgid "" +"`bpo-29941 `__: Add ``--with-" +"assertions`` configure flag to explicitly enable C ``assert()`` checks. " +"Defaults to off. ``--with-pydebug`` implies ``--with-assertions``." +msgstr "" + +#: ../build/NEWS:11420 ../build/NEWS:13745 +msgid "" +"`bpo-28787 `__: Fix out-of-tree builds " +"of Python when configured with ``--with--dtrace``." +msgstr "" + +#: ../build/NEWS:11423 ../build/NEWS:13748 ../build/NEWS:17769 +msgid "" +"`bpo-29243 `__: Prevent unnecessary " +"rebuilding of Python during ``make test``, ``make install`` and some other " +"make targets when configured with ``--enable-optimizations``." +msgstr "" + +#: ../build/NEWS:11427 ../build/NEWS:13752 ../build/NEWS:17773 +msgid "" +"`bpo-23404 `__: Don't regenerate " +"generated files based on file modification time anymore: the action is now " +"explicit. Replace ``make touch`` with ``make regen-all``." +msgstr "" + +#: ../build/NEWS:11431 ../build/NEWS:13756 ../build/NEWS:17777 +msgid "" +"`bpo-29643 `__: Fix ``--enable-" +"optimization`` didn't work." +msgstr "" + +#: ../build/NEWS:11433 ../build/NEWS:14116 +msgid "" +"`bpo-27593 `__: sys.version and the " +"platform module python_build(), python_branch(), and python_revision() " +"functions now use git information rather than hg when building from a repo." +msgstr "" + +#: ../build/NEWS:11437 ../build/NEWS:14120 +msgid "" +"`bpo-29572 `__: Update Windows build and " +"OS X installers to use OpenSSL 1.0.2k." +msgstr "" + +#: ../build/NEWS:11439 +msgid "" +"`bpo-27659 `__: Prohibit implicit C " +"function declarations: use ``-Werror=implicit-function-declaration`` when " +"possible (GCC and Clang, but it depends on the compiler version). Patch " +"written by Chi Hsuan Yen." +msgstr "" + +#: ../build/NEWS:11443 +msgid "" +"`bpo-29384 `__: Remove old Be OS helper " +"scripts." +msgstr "" + +#: ../build/NEWS:11445 ../build/NEWS:14122 +msgid "" +"`bpo-26851 `__: Set Android compilation " +"and link flags." +msgstr "" + +#: ../build/NEWS:11447 ../build/NEWS:14124 +msgid "" +"`bpo-28768 `__: Fix implicit declaration " +"of function _setmode. Patch by Masayuki Yamamoto" +msgstr "" + +#: ../build/NEWS:11450 ../build/NEWS:14127 ../build/NEWS:18440 +msgid "" +"`bpo-29080 `__: Removes hard dependency " +"on hg.exe from PCBuild/build.bat" +msgstr "" + +#: ../build/NEWS:11452 ../build/NEWS:14129 ../build/NEWS:18442 +msgid "" +"`bpo-23903 `__: Added missed names to PC/" +"python3.def." +msgstr "" + +#: ../build/NEWS:11454 ../build/NEWS:14131 +msgid "" +"`bpo-28762 `__: lockf() is available on " +"Android API level 24, but the F_LOCK macro is not defined in android-ndk-r13." +msgstr "" + +#: ../build/NEWS:11457 ../build/NEWS:14134 +msgid "" +"`bpo-28538 `__: Fix the compilation " +"error that occurs because if_nameindex() is available on Android API level " +"24, but the if_nameindex structure is not defined." +msgstr "" + +#: ../build/NEWS:11461 ../build/NEWS:14138 +msgid "" +"`bpo-20211 `__: Do not add the directory " +"for installing C header files and the directory for installing object code " +"libraries to the cross compilation search paths. Original patch by Thomas " +"Petazzoni." +msgstr "" + +#: ../build/NEWS:11465 ../build/NEWS:14142 +msgid "" +"`bpo-28849 `__: Do not define sys." +"implementation._multiarch on Android." +msgstr "" + +#: ../build/NEWS:11467 ../build/NEWS:14353 ../build/NEWS:18444 +msgid "" +"`bpo-10656 `__: Fix out-of-tree building " +"on AIX. Patch by Tristan Carel and Michael Haubenwallner." +msgstr "" + +#: ../build/NEWS:11470 ../build/NEWS:14356 ../build/NEWS:18447 +msgid "" +"`bpo-26359 `__: Rename --with-" +"optimiations to --enable-optimizations." +msgstr "" + +#: ../build/NEWS:11472 ../build/NEWS:14471 ../build/NEWS:18449 +msgid "" +"`bpo-28444 `__: Fix missing extensions " +"modules when cross compiling." +msgstr "" + +#: ../build/NEWS:11474 ../build/NEWS:14473 +msgid "" +"`bpo-28208 `__: Update Windows build and " +"OS X installers to use SQLite 3.14.2." +msgstr "" + +#: ../build/NEWS:11476 ../build/NEWS:14475 ../build/NEWS:18451 +msgid "" +"`bpo-28248 `__: Update Windows build and " +"OS X installers to use OpenSSL 1.0.2j." +msgstr "" + +#: ../build/NEWS:11478 +msgid "" +"`bpo-21124 `__: Fix building the _struct " +"module on Cygwin by passing ``NULL`` instead of ``&PyType_Type`` to " +"PyVarObject_HEAD_INIT. Patch by Masayuki Yamamoto." +msgstr "" + +#: ../build/NEWS:11482 +msgid "" +"`bpo-13756 `__: Fix building extensions " +"modules on Cygwin. Patch by Roumen Petrov, based on original patch by Jason " +"Tishler." +msgstr "" + +#: ../build/NEWS:11485 +msgid "" +"`bpo-21085 `__: Add configure check for " +"siginfo_t.si_band, which Cygwin does not provide. Patch by Masayuki Yamamoto " +"with review and rebase by Erik Bray." +msgstr "" + +#: ../build/NEWS:11489 ../build/NEWS:14740 ../build/NEWS:18453 +msgid "" +"`bpo-28258 `__: Fixed build with " +"Estonian locale (python-config and distclean targets in Makefile). Patch by " +"Arfrever Frehtes Taifersar Arahesis." +msgstr "" + +#: ../build/NEWS:11492 ../build/NEWS:14743 ../build/NEWS:18456 +msgid "" +"`bpo-26661 `__: setup.py now detects " +"system libffi with multiarch wrapper." +msgstr "" + +#: ../build/NEWS:11494 +msgid "" +"`bpo-27979 `__: A full copy of libffi is " +"no longer bundled for use when building _ctypes on non-OSX UNIX platforms. " +"An installed copy of libffi is now required when building _ctypes on such " +"platforms." +msgstr "" + +#: ../build/NEWS:11498 ../build/NEWS:14745 ../build/NEWS:18461 +msgid "" +"`bpo-15819 `__: Remove redundant include " +"search directory option for building outside the source tree." +msgstr "" + +#: ../build/NEWS:11501 ../build/NEWS:14358 ../build/NEWS:18498 +msgid "" +"`bpo-28676 `__: Prevent missing " +"'getentropy' declaration warning on macOS. Patch by Gareth Rees." +msgstr "" + +#: ../build/NEWS:11507 +msgid "" +"`bpo-31392 `__: Update Windows build to " +"use OpenSSL 1.1.0f" +msgstr "" + +#: ../build/NEWS:11509 ../build/NEWS:13223 +msgid "" +"`bpo-30389 `__: Adds detection of Visual " +"Studio 2017 to distutils on Windows." +msgstr "" + +#: ../build/NEWS:11511 +msgid "" +"`bpo-31358 `__: zlib is no longer " +"bundled in the CPython source, instead it is downloaded on demand just like " +"bz2, lzma, OpenSSL, Tcl/Tk, and SQLite." +msgstr "" + +#: ../build/NEWS:11514 ../build/NEWS:13225 +msgid "" +"`bpo-31340 `__: Change to building with " +"MSVC v141 (included with Visual Studio 2017)" +msgstr "" + +#: ../build/NEWS:11517 ../build/NEWS:13228 +msgid "" +"`bpo-30581 `__: os.cpu_count() now " +"returns the correct number of processors on Windows when the number of " +"logical processors is greater than 64." +msgstr "" + +#: ../build/NEWS:11520 +msgid "" +"`bpo-30916 `__: Pre-build OpenSSL, Tcl " +"and Tk and include the binaries in the build." +msgstr "" + +#: ../build/NEWS:11523 ../build/NEWS:13231 +msgid "" +"`bpo-30731 `__: Add a missing xmlns to " +"python.manifest so that it matches the schema." +msgstr "" + +#: ../build/NEWS:11526 +msgid "" +"`bpo-30291 `__: Allow requiring 64-bit " +"interpreters from py.exe using -64 suffix. Contributed by Steve (Gadget) " +"Barnes." +msgstr "" + +#: ../build/NEWS:11529 +msgid "" +"`bpo-30362 `__: Adds list options (-0, " +"-0p) to py.exe launcher. Contributed by Steve Barnes." +msgstr "" + +#: ../build/NEWS:11532 +msgid "" +"`bpo-23451 `__: Fix socket deprecation " +"warnings in socketmodule.c. Patch by Segev Finer." +msgstr "" + +#: ../build/NEWS:11535 ../build/NEWS:13800 +msgid "" +"`bpo-30450 `__: The build process on " +"Windows no longer depends on Subversion, instead pulling external code from " +"GitHub via a Python script. If Python 3.6 is not found on the system (via " +"``py -3.6``), NuGet is used to download a copy of 32-bit Python." +msgstr "" + +#: ../build/NEWS:11540 +msgid "" +"`bpo-29579 `__: Removes readme.txt from " +"the installer." +msgstr "" + +#: ../build/NEWS:11542 ../build/NEWS:14057 +msgid "" +"`bpo-25778 `__: winreg does not truncate " +"string correctly (Patch by Eryk Sun)" +msgstr "" + +#: ../build/NEWS:11544 +msgid "" +"`bpo-28896 `__: Deprecate " +"WindowsRegistryFinder and disable it by default" +msgstr "" + +#: ../build/NEWS:11546 ../build/NEWS:14466 +msgid "" +"`bpo-28522 `__: Fixes mishandled buffer " +"reallocation in getpathp.c" +msgstr "" + +#: ../build/NEWS:11548 ../build/NEWS:14707 +msgid "" +"`bpo-28402 `__: Adds signed catalog " +"files for stdlib on Windows." +msgstr "" + +#: ../build/NEWS:11550 ../build/NEWS:14709 +msgid "" +"`bpo-28333 `__: Enables Unicode for ps1/" +"ps2 and input() prompts. (Patch by Eryk Sun)" +msgstr "" + +#: ../build/NEWS:11553 ../build/NEWS:14712 ../build/NEWS:18425 +msgid "" +"`bpo-28251 `__: Improvements to help " +"manuals on Windows." +msgstr "" + +#: ../build/NEWS:11555 ../build/NEWS:14714 ../build/NEWS:18427 +msgid "" +"`bpo-28110 `__: launcher.msi has " +"different product codes between 32-bit and 64-bit" +msgstr "" + +#: ../build/NEWS:11558 ../build/NEWS:14717 +msgid "" +"`bpo-28161 `__: Opening CON for write " +"access fails" +msgstr "" + +#: ../build/NEWS:11560 ../build/NEWS:14719 +msgid "" +"`bpo-28162 `__: WindowsConsoleIO " +"readall() fails if first line starts with Ctrl+Z" +msgstr "" + +#: ../build/NEWS:11563 ../build/NEWS:14722 +msgid "" +"`bpo-28163 `__: WindowsConsoleIO " +"fileno() passes wrong flags to _open_osfhandle" +msgstr "" + +#: ../build/NEWS:11565 ../build/NEWS:14724 +msgid "" +"`bpo-28164 `__: _PyIO_get_console_type " +"fails for various paths" +msgstr "" + +#: ../build/NEWS:11567 ../build/NEWS:14726 +msgid "" +"`bpo-28137 `__: Renames Windows path " +"file to ._pth" +msgstr "" + +#: ../build/NEWS:11569 ../build/NEWS:14728 +msgid "" +"`bpo-28138 `__: Windows ._pth file " +"should allow import site" +msgstr "" + +#: ../build/NEWS:11574 ../build/NEWS:13237 +msgid "" +"`bpo-31493 `__: IDLE code context -- fix " +"code update and font update timers. Canceling timers prevents a warning " +"message when test_idle completes." +msgstr "" + +#: ../build/NEWS:11577 ../build/NEWS:13240 +msgid "" +"`bpo-31488 `__: IDLE - Update non-key " +"options in former extension classes. When applying configdialog changes, " +"call .reload for each feature class. Change ParenMatch so updated options " +"affect existing instances attached to existing editor windows." +msgstr "" + +#: ../build/NEWS:11582 ../build/NEWS:13245 +msgid "" +"`bpo-31477 `__: IDLE - Improve rstrip " +"entry in doc. Strip trailing whitespace strips more than blank spaces. " +"Multiline string literals are not skipped." +msgstr "" + +#: ../build/NEWS:11585 ../build/NEWS:13248 +msgid "" +"`bpo-31480 `__: IDLE - make tests pass " +"with zzdummy extension disabled by default." +msgstr "" + +#: ../build/NEWS:11588 ../build/NEWS:13251 +msgid "" +"`bpo-31421 `__: Document how IDLE runs " +"tkinter programs. IDLE calls tcl/tk update in the background in order to " +"make live interaction and experimentation with tkinter applications much " +"easier." +msgstr "" + +#: ../build/NEWS:11592 ../build/NEWS:13255 +msgid "" +"`bpo-31414 `__: IDLE -- fix tk entry box " +"tests by deleting first. Adding to an int entry is not the same as deleting " +"and inserting because int('') will fail." +msgstr "" + +#: ../build/NEWS:11596 ../build/NEWS:13259 +msgid "" +"`bpo-31051 `__: Rearrange IDLE " +"configdialog GenPage into Window, Editor, and Help sections." +msgstr "" + +#: ../build/NEWS:11599 ../build/NEWS:13262 +msgid "" +"`bpo-30617 `__: IDLE - Add docstrings " +"and tests for outwin subclass of editor. Move some data and functions from " +"the class to module level. Patch by Cheryl Sabella." +msgstr "" + +#: ../build/NEWS:11603 ../build/NEWS:13266 +msgid "" +"`bpo-31287 `__: IDLE - Do not modify " +"tkinter.message in test_configdialog." +msgstr "" + +#: ../build/NEWS:11605 ../build/NEWS:13268 +msgid "" +"`bpo-27099 `__: Convert IDLE's built-in " +"'extensions' to regular features. About 10 IDLE features were implemented as " +"supposedly optional extensions. Their different behavior could be confusing " +"or worse for users and not good for maintenance. Hence the conversion. The " +"main difference for users is that user configurable key bindings for builtin " +"features are now handled uniformly. Now, editing a binding in a keyset only " +"affects its value in the keyset. All bindings are defined together in the " +"system-specific default keysets in config-extensions.def. All custom keysets " +"are saved as a whole in config-extension.cfg. All take effect as soon as " +"one clicks Apply or Ok. The affected events are '<>', '<>', '<>', '<>', '<>', '<>', '<>', and " +"'<>'. Any (global) customizations made before 3.6.3 will not " +"affect their keyset-specific customization after 3.6.3. and vice versa. " +"Initial patch by Charles Wohlganger." +msgstr "" + +#: ../build/NEWS:11621 ../build/NEWS:13284 +msgid "" +"`bpo-31206 `__: IDLE: Factor " +"HighPage(Frame) class from ConfigDialog. Patch by Cheryl Sabella." +msgstr "" + +#: ../build/NEWS:11624 ../build/NEWS:13287 +msgid "" +"`bpo-31001 `__: Add tests for " +"configdialog highlight tab. Patch by Cheryl Sabella." +msgstr "" + +#: ../build/NEWS:11627 ../build/NEWS:13290 +msgid "" +"`bpo-31205 `__: IDLE: Factor " +"KeysPage(Frame) class from ConfigDialog. The slightly modified tests " +"continue to pass. Patch by Cheryl Sabella." +msgstr "" + +#: ../build/NEWS:11630 ../build/NEWS:13293 +msgid "" +"`bpo-31130 `__: IDLE -- stop leaks in " +"test_configdialog. Initial patch by Victor Stinner." +msgstr "" + +#: ../build/NEWS:11633 ../build/NEWS:13296 +msgid "" +"`bpo-31002 `__: Add tests for " +"configdialog keys tab. Patch by Cheryl Sabella." +msgstr "" + +#: ../build/NEWS:11635 ../build/NEWS:13298 +msgid "" +"`bpo-19903 `__: IDLE: Calltips use " +"`inspect.signature` instead of `inspect.getfullargspec`. This improves " +"calltips for builtins converted to use Argument Clinic. Patch by Louie Lu." +msgstr "" + +#: ../build/NEWS:11639 ../build/NEWS:13302 +msgid "" +"`bpo-31083 `__: IDLE - Add an outline of " +"a TabPage class in configdialog. Update existing classes to match outline. " +"Initial patch by Cheryl Sabella." +msgstr "" + +#: ../build/NEWS:11642 ../build/NEWS:13305 +msgid "" +"`bpo-31050 `__: Factor GenPage(Frame) " +"class from ConfigDialog. The slightly modified tests continue to pass. Patch " +"by Cheryl Sabella." +msgstr "" + +#: ../build/NEWS:11645 ../build/NEWS:13308 +msgid "" +"`bpo-31004 `__: IDLE - Factor " +"FontPage(Frame) class from ConfigDialog. Slightly modified tests continue to " +"pass. Fix General tests. Patch mostly by Cheryl Sabella." +msgstr "" + +#: ../build/NEWS:11649 ../build/NEWS:13312 +msgid "" +"`bpo-30781 `__: IDLE - Use ttk widgets " +"in ConfigDialog. Patches by Terry Jan Reedy and Cheryl Sabella." +msgstr "" + +#: ../build/NEWS:11652 ../build/NEWS:13315 +msgid "" +"`bpo-31060 `__: IDLE - Finish " +"rearranging methods of ConfigDialog Grouping methods pertaining to each tab " +"and the buttons will aid writing tests and improving the tabs and will " +"enable splitting the groups into classes." +msgstr "" + +#: ../build/NEWS:11656 ../build/NEWS:13319 +msgid "" +"`bpo-30853 `__: IDLE -- Factor a " +"VarTrace class out of ConfigDialog. Instance tracers manages pairs " +"consisting of a tk variable and a callback function. When tracing is turned " +"on, setting the variable calls the function. Test coverage for the new " +"class is 100%." +msgstr "" + +#: ../build/NEWS:11661 ../build/NEWS:13324 +msgid "" +"`bpo-31003 `__: IDLE: Add more tests for " +"General tab." +msgstr "" + +#: ../build/NEWS:11663 ../build/NEWS:13326 +msgid "" +"`bpo-30993 `__: IDLE - Improve " +"configdialog font page and tests. In configdialog: Document causal pathways " +"in create_font_tab docstring. Simplify some attribute names. Move " +"set_samples calls to var_changed_font (idea from Cheryl Sabella). Move " +"related functions to positions after the create widgets function. In " +"test_configdialog: Fix test_font_set so not order dependent. Fix renamed " +"test_indent_scale so it tests the widget. Adjust tests for movement of " +"set_samples call. Add tests for load functions. Put all font tests in one " +"class and tab indent tests in another. Except for two lines, these tests " +"completely cover the related functions." +msgstr "" + +#: ../build/NEWS:11674 ../build/NEWS:13337 +msgid "" +"`bpo-30981 `__: IDLE -- Add more " +"configdialog font page tests." +msgstr "" + +#: ../build/NEWS:11676 ../build/NEWS:13339 +msgid "" +"`bpo-28523 `__: IDLE: replace 'colour' " +"with 'color' in configdialog." +msgstr "" + +#: ../build/NEWS:11678 ../build/NEWS:13341 +msgid "" +"`bpo-30917 `__: Add tests for idlelib." +"config.IdleConf. Increase coverage from 46% to 96%. Patch by Louie Lu." +msgstr "" + +#: ../build/NEWS:11681 ../build/NEWS:13344 +msgid "" +"`bpo-30934 `__: Document coverage " +"details for idlelib tests. Add section to idlelib/idle-test/README.txt. " +"Include check that branches are taken both ways. Exclude IDLE-specific code " +"that does not run during unit tests." +msgstr "" + +#: ../build/NEWS:11685 ../build/NEWS:13348 +msgid "" +"`bpo-30913 `__: IDLE: Document " +"ConfigDialog tk Vars, methods, and widgets in docstrings This will " +"facilitate improving the dialog and splitting up the class. Original patch " +"by Cheryl Sabella." +msgstr "" + +#: ../build/NEWS:11689 ../build/NEWS:13352 +msgid "" +"`bpo-30899 `__: IDLE: Add tests for " +"ConfigParser subclasses in config. Patch by Louie Lu." +msgstr "" + +#: ../build/NEWS:11692 ../build/NEWS:13355 +msgid "" +"`bpo-30881 `__: IDLE: Add docstrings to " +"browser.py. Patch by Cheryl Sabella." +msgstr "" + +#: ../build/NEWS:11694 ../build/NEWS:13357 +msgid "" +"`bpo-30851 `__: IDLE: Remove unused " +"variables in configdialog. One is a duplicate, one is set but cannot be " +"altered by users. Patch by Cheryl Sabella." +msgstr "" + +#: ../build/NEWS:11698 ../build/NEWS:13361 +msgid "" +"`bpo-30870 `__: IDLE: In Settings " +"dialog, select font with Up, Down keys as well as mouse. Initial patch by " +"Louie Lu." +msgstr "" + +#: ../build/NEWS:11701 ../build/NEWS:13364 +msgid "" +"`bpo-8231 `__: IDLE: call config.IdleConf." +"GetUserCfgDir only once." +msgstr "" + +#: ../build/NEWS:11703 ../build/NEWS:13366 +msgid "" +"`bpo-30779 `__: IDLE: Factor " +"ConfigChanges class from configdialog, put in config; test. * In config, put " +"dump test code in a function; run it and unittest in 'if __name__ == " +"'__main__'. * Add class config.ConfigChanges based on changes_class_v4.py on " +"bpo issue. * Add class test_config.ChangesTest, partly using " +"configdialog_tests_v1.py. * Revise configdialog to use ConfigChanges; see " +"tracker msg297804. * Revise test_configdialog to match configdialog changes. " +"* Remove configdialog functions unused or moved to ConfigChanges. Cheryl " +"Sabella contributed parts of the patch." +msgstr "" + +#: ../build/NEWS:11713 ../build/NEWS:13376 +msgid "" +"`bpo-30777 `__: IDLE: configdialog - Add " +"docstrings and fix comments. Patch by Cheryl Sabella." +msgstr "" + +#: ../build/NEWS:11716 ../build/NEWS:13379 +msgid "" +"`bpo-30495 `__: IDLE: Improve textview " +"with docstrings, PEP8 names, and more tests. Patch by Cheryl Sabella." +msgstr "" + +#: ../build/NEWS:11719 ../build/NEWS:13382 +msgid "" +"`bpo-30723 `__: IDLE: Make several " +"improvements to parenmatch. Add 'parens' style to highlight both opener and " +"closer. Make 'default' style, which is not default, a synonym for 'opener'. " +"Make time-delay work the same with all styles. Add help for config dialog " +"extensions tab, including help for parenmatch. Add new tests. Original " +"patch by Charles Wohlganger." +msgstr "" + +#: ../build/NEWS:11725 ../build/NEWS:13388 +msgid "" +"`bpo-30674 `__: IDLE: add docstrings to " +"grep module. Patch by Cheryl Sabella" +msgstr "" + +#: ../build/NEWS:11727 ../build/NEWS:13390 +msgid "" +"`bpo-21519 `__: IDLE's basic custom key " +"entry dialog now detects duplicates properly. Original patch by Saimadhav " +"Heblikar." +msgstr "" + +#: ../build/NEWS:11730 ../build/NEWS:13393 +msgid "" +"`bpo-29910 `__: IDLE no longer deletes a " +"character after commenting out a region by a key shortcut. Add ``return " +"'break'`` for this and other potential conflicts between IDLE and default " +"key bindings." +msgstr "" + +#: ../build/NEWS:11734 ../build/NEWS:13397 +msgid "" +"`bpo-30728 `__: Review and change " +"idlelib.configdialog names. Lowercase method and attribute names. Replace " +"'colour' with 'color', expand overly cryptic names, delete unneeded " +"underscores. Replace ``import *`` with specific imports. Patches by Cheryl " +"Sabella." +msgstr "" + +#: ../build/NEWS:11739 ../build/NEWS:13402 +msgid "" +"`bpo-6739 `__: IDLE: Verify user-entered " +"key sequences by trying to bind them with tk. Add tests for all 3 validation " +"functions. Original patch by G Polo. Tests added by Cheryl Sabella." +msgstr "" + +#: ../build/NEWS:11743 ../build/NEWS:13712 +msgid "" +"`bpo-15786 `__: Fix several problems " +"with IDLE's autocompletion box. The following should now work: clicking on " +"selection box items; using the scrollbar; selecting an item by hitting " +"Return. Hangs on MacOSX should no longer happen. Patch by Louie Lu." +msgstr "" + +#: ../build/NEWS:11748 ../build/NEWS:13717 +msgid "" +"`bpo-25514 `__: Add doc subsubsection " +"about IDLE failure to start. Popup no-connection message directs users to " +"this section." +msgstr "" + +#: ../build/NEWS:11751 ../build/NEWS:13720 +msgid "" +"`bpo-30642 `__: Fix reference leaks in " +"IDLE tests. Patches by Louie Lu and Terry Jan Reedy." +msgstr "" + +#: ../build/NEWS:11754 ../build/NEWS:13723 +msgid "" +"`bpo-30495 `__: Add docstrings for " +"textview.py and use PEP8 names. Patches by Cheryl Sabella and Terry Jan " +"Reedy." +msgstr "" + +#: ../build/NEWS:11757 ../build/NEWS:13726 +msgid "" +"`bpo-30290 `__: Help-about: use pep8 " +"names and add tests. Increase coverage to 100%. Patches by Louie Lu, Cheryl " +"Sabella, and Terry Jan Reedy." +msgstr "" + +#: ../build/NEWS:11760 ../build/NEWS:13729 +msgid "" +"`bpo-30303 `__: Add _utest option to " +"textview; add new tests. Increase coverage to 100%. Patches by Louie Lu and " +"Terry Jan Reedy." +msgstr "" + +#: ../build/NEWS:11763 ../build/NEWS:14038 +msgid "" +"`bpo-29071 `__: IDLE colors f-string " +"prefixes (but not invalid ur prefixes)." +msgstr "" + +#: ../build/NEWS:11765 ../build/NEWS:14040 +msgid "" +"`bpo-28572 `__: Add 10% to coverage of " +"IDLE's test_configdialog. Update and augment description of the " +"configuration system." +msgstr "" + +#: ../build/NEWS:11771 ../build/NEWS:13409 +msgid "" +"`bpo-30983 `__: gdb integration commands " +"(py-bt, etc.) work on optimized shared builds now, too. :pep:`523` " +"introduced _PyEval_EvalFrameDefault which inlines PyEval_EvalFrameEx on non-" +"debug shared builds. This broke the ability to use py-bt, py-up, and a few " +"other Python-specific gdb integrations. The problem is fixed by only looking " +"for _PyEval_EvalFrameDefault frames in python-gdb.py. Original patch by " +"Bruno \"Polaco\" Penteado." +msgstr "" + +#: ../build/NEWS:11779 +msgid "" +"`bpo-29748 `__: Added the slice index " +"converter in Argument Clinic." +msgstr "" + +#: ../build/NEWS:11781 +msgid "" +"`bpo-24037 `__: Argument Clinic now uses " +"the converter `bool(accept={int})` rather than `int` for semantical " +"booleans. This avoids repeating the default value for Python and C and will " +"help in converting to `bool` in future." +msgstr "" + +#: ../build/NEWS:11786 ../build/NEWS:13777 +msgid "" +"`bpo-29367 `__: python-gdb.py now " +"supports also ``method-wrapper`` (``wrapperobject``) objects." +msgstr "" + +#: ../build/NEWS:11789 ../build/NEWS:14245 +msgid "" +"`bpo-28023 `__: Fix python-gdb.py didn't " +"support new dict implementation." +msgstr "" + +#: ../build/NEWS:11791 +msgid "" +"`bpo-15369 `__: The pybench and pystone " +"microbenchmark have been removed from Tools. Please use the new Python " +"benchmark suite https://github.com/python/performance which is more reliable " +"and includes a portable version of pybench working on Python 2 and Python 3." +msgstr "" + +#: ../build/NEWS:11796 +msgid "" +"`bpo-28102 `__: The zipfile module CLI " +"now prints usage to stderr. Patch by Stephen J. Turnbull." +msgstr "" + +#: ../build/NEWS:11802 +msgid "" +"`bpo-31338 `__: Added the " +"``Py_UNREACHABLE()`` macro for code paths which are never expected to be " +"reached. This and a few other useful macros are now documented in the C API " +"manual." +msgstr "" + +#: ../build/NEWS:11806 +msgid "" +"`bpo-30832 `__: Remove own " +"implementation for thread-local storage. CPython has provided the own " +"implementation for thread-local storage (TLS) on Python/thread.c, it's used " +"in the case which a platform has not supplied native TLS. However, " +"currently all supported platforms (Windows and pthreads) have provided " +"native TLS and defined the Py_HAVE_NATIVE_TLS macro with unconditional in " +"any case." +msgstr "" + +#: ../build/NEWS:11813 +msgid "" +"`bpo-30708 `__: " +"PyUnicode_AsWideCharString() now raises a ValueError if the second argument " +"is NULL and the wchar_t\\* string contains null characters." +msgstr "" + +#: ../build/NEWS:11816 +msgid "" +"`bpo-16500 `__: Deprecate " +"PyOS_AfterFork() and add PyOS_BeforeFork(), PyOS_AfterFork_Parent() and " +"PyOS_AfterFork_Child()." +msgstr "" + +#: ../build/NEWS:11819 +msgid "" +"`bpo-6532 `__: The type of results of " +"PyThread_start_new_thread() and PyThread_get_thread_ident(), and the id " +"parameter of PyThreadState_SetAsyncExc() changed from \"long\" to \"unsigned " +"long\"." +msgstr "" + +#: ../build/NEWS:11823 +msgid "" +"`bpo-27867 `__: Function " +"PySlice_GetIndicesEx() is deprecated and replaced with a macro if " +"Py_LIMITED_API is not set or set to the value between 0x03050400 and " +"0x03060000 (not including) or 0x03060100 or higher. Added functions " +"PySlice_Unpack() and PySlice_AdjustIndices()." +msgstr "" + +#: ../build/NEWS:11828 ../build/NEWS:14068 ../build/NEWS:17795 +msgid "" +"`bpo-29083 `__: Fixed the declaration of " +"some public API functions. PyArg_VaParse() and " +"PyArg_VaParseTupleAndKeywords() were not available in limited API. " +"PyArg_ValidateKeywordArguments(), PyArg_UnpackTuple() and Py_BuildValue() " +"were not available in limited API of version < 3.3 when PY_SSIZE_T_CLEAN is " +"defined." +msgstr "" + +#: ../build/NEWS:11834 +msgid "" +"`bpo-28769 `__: The result of " +"PyUnicode_AsUTF8AndSize() and PyUnicode_AsUTF8() is now of type ``const char " +"*`` rather of ``char *``." +msgstr "" + +#: ../build/NEWS:11837 ../build/NEWS:14074 +msgid "" +"`bpo-29058 `__: All stable API " +"extensions added after Python 3.2 are now available only when Py_LIMITED_API " +"is set to the PY_VERSION_HEX value of the minimum Python version supporting " +"this API." +msgstr "" + +#: ../build/NEWS:11841 +msgid "" +"`bpo-28822 `__: The index parameters " +"*start* and *end* of PyUnicode_FindChar() are now adjusted to behave like " +"``str[start:end]``." +msgstr "" + +#: ../build/NEWS:11844 ../build/NEWS:14232 ../build/NEWS:18380 +msgid "" +"`bpo-28808 `__: " +"PyUnicode_CompareWithASCIIString() now never raises exceptions." +msgstr "" + +#: ../build/NEWS:11846 +msgid "" +"`bpo-28761 `__: The fields name and doc " +"of structures PyMemberDef, PyGetSetDef, PyStructSequence_Field, " +"PyStructSequence_Desc, and wrapperbase are now of type ``const char *`` " +"rather of ``char *``." +msgstr "" + +#: ../build/NEWS:11850 +msgid "" +"`bpo-28748 `__: Private variable " +"_Py_PackageContext is now of type ``const char *`` rather of ``char *``." +msgstr "" + +#: ../build/NEWS:11853 +msgid "" +"`bpo-19569 `__: Compiler warnings are " +"now emitted if use most of deprecated functions." +msgstr "" + +#: ../build/NEWS:11856 ../build/NEWS:14733 +msgid "" +"`bpo-28426 `__: Deprecated undocumented " +"functions PyUnicode_AsEncodedObject(), PyUnicode_AsDecodedObject(), " +"PyUnicode_AsDecodedUnicode() and PyUnicode_AsEncodedUnicode()." +msgstr "" + +#: ../build/NEWS:11862 +msgid "Python 3.6.6 final" +msgstr "" + +#: ../build/NEWS:11866 +msgid "There were no new changes in version 3.6.6." +msgstr "" + +#: ../build/NEWS:11871 +msgid "Python 3.6.6 release candidate 1" +msgstr "" + +#: ../build/NEWS:11873 +msgid "*Release date: 2018-06-11*" +msgstr "" + +#: ../build/NEWS:12104 +msgid "" +"`bpo-33184 `__: Update Windows installer " +"to OpenSSL 1.0.2o." +msgstr "" + +#: ../build/NEWS:12109 +msgid "" +"`bpo-33184 `__: Update macOS installer " +"build to use OpenSSL 1.0.2o." +msgstr "" + +#: ../build/NEWS:12141 +msgid "" +"`bpo-29706 `__: IDLE now colors async " +"and await as keywords in 3.6. They become full keywords in 3.7." +msgstr "" + +#: ../build/NEWS:12182 +msgid "Python 3.6.5 final" +msgstr "" + +#: ../build/NEWS:12184 +msgid "*Release date: 2018-03-28*" +msgstr "" + +#: ../build/NEWS:12198 +msgid "Python 3.6.5 release candidate 1" +msgstr "" + +#: ../build/NEWS:12200 +msgid "*Release date: 2018-03-13*" +msgstr "" + +#: ../build/NEWS:12239 +msgid "" +"`bpo-32329 `__: ``sys.flags." +"hash_randomization`` is now properly set to 0 when hash randomization is " +"turned off by ``PYTHONHASHSEED=0``." +msgstr "" + +#: ../build/NEWS:12242 +msgid "" +"`bpo-30416 `__: The optimizer is now " +"protected from spending much time doing complex calculations and consuming " +"much memory for creating large constants in constant folding." +msgstr "" + +#: ../build/NEWS:12269 +msgid "" +"`bpo-30353 `__: Fix ctypes pass-by-value " +"for structs on 64-bit Cygwin/MinGW." +msgstr "" + +#: ../build/NEWS:12307 +msgid "" +"`bpo-32394 `__: socket: Remove " +"TCP_FASTOPEN, TCP_KEEPCNT flags on older version Windows during run-time." +msgstr "" + +#: ../build/NEWS:12339 +msgid "" +"`bpo-32555 `__: On FreeBSD and Solaris, " +"os.strerror() now always decode the byte string from the current locale " +"encoding, rather than using ASCII/surrogateescape in some cases." +msgstr "" + +#: ../build/NEWS:12357 +msgid "" +"`bpo-32185 `__: The SSL module no longer " +"sends IP addresses in SNI TLS extension on platforms with OpenSSL 1.0.2+ or " +"inet_pton." +msgstr "" + +#: ../build/NEWS:12422 +msgid "" +"`bpo-31518 `__: Debian Unstable has " +"disabled TLS 1.0 and 1.1 for SSLv23_METHOD(). Change TLS/SSL protocol of " +"some tests to PROTOCOL_TLS or PROTOCOL_TLSv1_2 to make them pass on Debian." +msgstr "" + +#: ../build/NEWS:12455 +msgid "" +"`bpo-32588 `__: Create standalone " +"_distutils_findvs module." +msgstr "" + +#: ../build/NEWS:12460 +msgid "" +"`bpo-32726 `__: Provide an additional, " +"more modern macOS installer variant that supports macOS 10.9+ systems in 64-" +"bit mode only. Upgrade the supplied third-party libraries to OpenSSL 1.0.2n, " +"XZ 5.2.3, and SQLite 3.22.0. The 10.9+ installer now links with and supplies " +"its own copy of Tcl/Tk 8.6.8." +msgstr "" + +#: ../build/NEWS:12516 +msgid "Python 3.6.4 final" +msgstr "" + +#: ../build/NEWS:12518 +msgid "*Release date: 2017-12-18*" +msgstr "" + +#: ../build/NEWS:12520 +msgid "There were no new code changes in version 3.6.4 since v3.6.4rc1." +msgstr "" + +#: ../build/NEWS:12525 +msgid "Python 3.6.4 release candidate 1" +msgstr "" + +#: ../build/NEWS:12554 +msgid "" +"`bpo-31852 `__: Fix a segmentation fault " +"caused by a combination of the async soft keyword and continuation lines." +msgstr "" + +#: ../build/NEWS:12888 +msgid "" +"`bpo-13802 `__: Use non-Latin characters " +"in the IDLE's Font settings sample. Even if one selects a font that defines " +"a limited subset of the unicode Basic Multilingual Plane, tcl/tk will use " +"other fonts that define a character. The expanded example give users of non-" +"Latin characters a better idea of what they might see in IDLE's shell and " +"editors. To make room for the expanded sample, frames on the Font tab are re-" +"arranged. The Font/Tabs help explains a bit about the additions." +msgstr "" + +#: ../build/NEWS:12944 +msgid "Python 3.6.3 final" +msgstr "" + +#: ../build/NEWS:12946 +msgid "*Release date: 2017-10-03*" +msgstr "" + +#: ../build/NEWS:12951 +msgid "" +"`bpo-31641 `__: Re-allow arbitrary " +"iterables in `concurrent.futures.as_completed()`. Fixes regression in " +"3.6.3rc1." +msgstr "" + +#: ../build/NEWS:12957 +msgid "" +"`bpo-31662 `__: Fix typos in Windows " +"``uploadrelease.bat`` script. Fix Windows Doc build issues in ``Doc/make." +"bat``." +msgstr "" + +#: ../build/NEWS:12960 +msgid "" +"`bpo-31423 `__: Fix building the PDF " +"documentation with newer versions of Sphinx." +msgstr "" + +#: ../build/NEWS:12965 +msgid "Python 3.6.3 release candidate 1" +msgstr "" + +#: ../build/NEWS:12967 +msgid "*Release date: 2017-09-18*" +msgstr "" + +#: ../build/NEWS:13419 +msgid "Python 3.6.2 final" +msgstr "" + +#: ../build/NEWS:13421 +msgid "*Release date: 2017-07-17*" +msgstr "" + +#: ../build/NEWS:13423 ../build/NEWS:14150 +msgid "No changes since release candidate 2" +msgstr "" + +#: ../build/NEWS:13428 +msgid "Python 3.6.2 release candidate 2" +msgstr "" + +#: ../build/NEWS:13430 +msgid "*Release date: 2017-07-07*" +msgstr "" + +#: ../build/NEWS:13455 +msgid "Python 3.6.2 release candidate 1" +msgstr "" + +#: ../build/NEWS:13457 +msgid "*Release date: 2017-06-17*" +msgstr "" + +#: ../build/NEWS:13465 +msgid "" +"`bpo-30604 `__: Move co_extra_freefuncs " +"to not be per-thread to avoid crashes" +msgstr "" + +#: ../build/NEWS:13495 ../build/NEWS:17447 +msgid "" +"`bpo-29600 `__: Fix wrapping coroutine " +"return values in StopIteration." +msgstr "" + +#: ../build/NEWS:13524 ../build/NEWS:17513 +msgid "" +"`bpo-30645 `__: Fix path calculation in " +"imp.load_package(), fixing it for cases when a package is only shipped with " +"bytecodes. Patch by Alexandru Ardelean." +msgstr "" + +#: ../build/NEWS:13544 +msgid "" +"`bpo-24484 `__: Avoid race condition in " +"multiprocessing cleanup (#2159)" +msgstr "" + +#: ../build/NEWS:13618 ../build/NEWS:17581 +msgid "" +"`bpo-26293 `__: Change resulted because " +"of zipfile breakage. (See also: `bpo-29094 `__)" +msgstr "" + +#: ../build/NEWS:13692 ../build/NEWS:17648 +msgid "" +"`bpo-28298 `__: Fix a bug that prevented " +"array 'Q', 'L' and 'I' from accepting big intables (objects that have " +"__int__) as elements. Patch by Oren Milman." +msgstr "" + +#: ../build/NEWS:13735 +msgid "" +"`bpo-27867 `__: Function " +"PySlice_GetIndicesEx() no longer replaced with a macro if Py_LIMITED_API is " +"not set." +msgstr "" + +#: ../build/NEWS:13807 +msgid "Python 3.6.1 final" +msgstr "" + +#: ../build/NEWS:13809 +msgid "*Release date: 2017-03-21*" +msgstr "" + +#: ../build/NEWS:13825 +msgid "" +"`bpo-27593 `__: fix format of git " +"information used in sys.version" +msgstr "" + +#: ../build/NEWS:13827 +msgid "Fix incompatible comment in python.h" +msgstr "" + +#: ../build/NEWS:13831 +msgid "Python 3.6.1 release candidate 1" +msgstr "" + +#: ../build/NEWS:13833 +msgid "*Release date: 2017-03-04*" +msgstr "" + +#: ../build/NEWS:13944 ../build/NEWS:17680 +msgid "" +"`bpo-29519 `__: Fix weakref spewing " +"exceptions during interpreter shutdown when used with a rare combination of " +"multiprocessing and custom codecs." +msgstr "" + +#: ../build/NEWS:13960 +msgid "" +"`bpo-29316 `__: Restore the provisional " +"status of typing module, add corresponding note to documentation. Patch by " +"Ivan L." +msgstr "" + +#: ../build/NEWS:13966 ../build/NEWS:17696 +msgid "" +"`bpo-29011 `__: Fix an important " +"omission by adding Deque to the typing module." +msgstr "" + +#: ../build/NEWS:13980 +msgid "" +"`bpo-29203 `__: functools.lru_cache() " +"now respects :pep:`468` and preserves the order of keyword arguments. " +"f(a=1, b=2) is now cached separately from f(b=2, a=1) since both calls could " +"potentially give different results." +msgstr "" + +#: ../build/NEWS:13987 ../build/NEWS:17953 +msgid "" +"`bpo-29094 `__: Offsets in a ZIP file " +"created with extern file object and modes \"w\" and \"x\" now are relative " +"to the start of the file." +msgstr "" + +#: ../build/NEWS:13990 +msgid "" +"`bpo-29085 `__: Allow random.Random." +"seed() to use high quality OS randomness rather than the pid and time." +msgstr "" + +#: ../build/NEWS:13993 +msgid "" +"`bpo-29061 `__: Fixed bug in secrets." +"randbelow() which would hang when given a negative input. Patch by Brendan " +"Donegan." +msgstr "" + +#: ../build/NEWS:14001 ../build/NEWS:17959 +msgid "" +"`bpo-29119 `__: Fix weakrefs in the pure " +"python version of collections.OrderedDict move_to_end() method. Contributed " +"by Andra Bogildea." +msgstr "" + +#: ../build/NEWS:14013 +msgid "" +"`bpo-29055 `__: Neaten-up empty " +"population error on random.choice() by suppressing the upstream exception." +msgstr "" + +#: ../build/NEWS:14028 ../build/NEWS:17983 +msgid "" +"`bpo-28847 `__: dbm.dumb now supports " +"reading read-only files and no longer writes the index file when it is not " +"changed." +msgstr "" + +#: ../build/NEWS:14046 +msgid "" +"`bpo-29579 `__: Removes readme.txt from " +"the installer" +msgstr "" + +#: ../build/NEWS:14048 +msgid "" +"`bpo-29326 `__: Ignores blank lines in ." +"_pth files (Patch by Alexey Izbyshev)" +msgstr "" + +#: ../build/NEWS:14050 +msgid "" +"`bpo-28164 `__: Correctly handle special " +"console filenames (patch by Eryk Sun)" +msgstr "" + +#: ../build/NEWS:14052 +msgid "" +"`bpo-29409 `__: Implement :pep:`529` for " +"io.FileIO (Patch by Eryk Sun)" +msgstr "" + +#: ../build/NEWS:14054 ../build/NEWS:17785 +msgid "" +"`bpo-29392 `__: Prevent crash when " +"passing invalid arguments into msvcrt module." +msgstr "" + +#: ../build/NEWS:14059 +msgid "" +"`bpo-28896 `__: Deprecate " +"WindowsRegistryFinder and disable it by default." +msgstr "" + +#: ../build/NEWS:14064 +msgid "" +"`bpo-27867 `__: Function " +"PySlice_GetIndicesEx() is replaced with a macro if Py_LIMITED_API is not set " +"or set to the value between 0x03050400 and 0x03060000 (not including) or " +"0x03060100 or higher." +msgstr "" + +#: ../build/NEWS:14094 ../build/NEWS:17750 +msgid "" +"`bpo-28087 `__: Skip test_asyncore and " +"test_eintr poll failures on macOS. Skip some tests of select.poll when " +"running on macOS due to unresolved issues with the underlying system poll " +"function on some macOS versions." +msgstr "" + +#: ../build/NEWS:14098 ../build/NEWS:17760 +msgid "" +"`bpo-29571 `__: to match the behaviour " +"of the ``re.LOCALE`` flag, test_re.test_locale_flag now uses ``locale." +"getpreferredencoding(False)`` to determine the candidate encoding for the " +"test regex (allowing it to correctly skip the test when the default locale " +"encoding is a multi-byte encoding)" +msgstr "" + +#: ../build/NEWS:14146 +msgid "Python 3.6.0 final" +msgstr "" + +#: ../build/NEWS:14148 +msgid "*Release date: 2016-12-23*" +msgstr "" + +#: ../build/NEWS:14155 +msgid "Python 3.6.0 release candidate 2" +msgstr "" + +#: ../build/NEWS:14157 +msgid "*Release date: 2016-12-16*" +msgstr "" + +#: ../build/NEWS:14165 +msgid "" +"`bpo-28990 `__: Fix asyncio SSL hanging " +"if connection is closed before handshake is completed. (Patch by HoHo-Ho)" +msgstr "" + +#: ../build/NEWS:14171 +msgid "" +"`bpo-28770 `__: Fix python-gdb.py for " +"fastcalls." +msgstr "" + +#: ../build/NEWS:14176 +msgid "" +"`bpo-28896 `__: Deprecate " +"WindowsRegistryFinder." +msgstr "" + +#: ../build/NEWS:14181 +msgid "" +"`bpo-28898 `__: Prevent gdb build errors " +"due to HAVE_LONG_LONG redefinition." +msgstr "" + +#: ../build/NEWS:14185 +msgid "Python 3.6.0 release candidate 1" +msgstr "" + +#: ../build/NEWS:14187 +msgid "*Release date: 2016-12-06*" +msgstr "" + +#: ../build/NEWS:14209 +msgid "" +"`bpo-27030 `__: Unknown escapes in re." +"sub() replacement template are allowed again. But they still are deprecated " +"and will be disabled in 3.7." +msgstr "" + +#: ../build/NEWS:14227 +msgid "" +"`bpo-28843 `__: Fix asyncio C Task to " +"handle exceptions __traceback__." +msgstr "" + +#: ../build/NEWS:14237 +msgid "" +"`bpo-23722 `__: The data model reference " +"and the porting section in the What's New guide now cover the additional " +"``__classcell__`` handling needed for custom metaclasses to fully support :" +"pep:`487` and zero-argument ``super()``." +msgstr "" + +#: ../build/NEWS:14249 +msgid "Python 3.6.0 beta 4" +msgstr "" + +#: ../build/NEWS:14251 +msgid "*Release date: 2016-11-21*" +msgstr "" + +#: ../build/NEWS:14279 +msgid "" +"`bpo-27243 `__: Change " +"PendingDeprecationWarning -> DeprecationWarning. As it was agreed in the " +"issue, __aiter__ returning an awaitable should result in " +"PendingDeprecationWarning in 3.5 and in DeprecationWarning in 3.6." +msgstr "" + +#: ../build/NEWS:14298 +msgid "" +"`bpo-20572 `__: The subprocess.Popen." +"wait method's undocumented endtime parameter now raises a DeprecationWarning." +msgstr "" + +#: ../build/NEWS:14315 +msgid "" +"`bpo-28600 `__: Optimize loop.call_soon." +msgstr "" + +#: ../build/NEWS:14317 ../build/NEWS:18331 +msgid "" +"`bpo-28613 `__: Fix get_event_loop() " +"return the current loop if called from coroutines/callbacks." +msgstr "" + +#: ../build/NEWS:14320 +msgid "" +"`bpo-28634 `__: Fix asyncio.isfuture() " +"to support unittest.Mock." +msgstr "" + +#: ../build/NEWS:14322 +msgid "" +"`bpo-26081 `__: Fix refleak in _asyncio." +"Future.__iter__().throw." +msgstr "" + +#: ../build/NEWS:14324 ../build/NEWS:18334 +msgid "" +"`bpo-28639 `__: Fix inspect.isawaitable " +"to always return bool Patch by Justin Mayfield." +msgstr "" + +#: ../build/NEWS:14327 ../build/NEWS:18337 +msgid "" +"`bpo-28652 `__: Make loop methods reject " +"socket kinds they do not support." +msgstr "" + +#: ../build/NEWS:14329 ../build/NEWS:18339 +msgid "" +"`bpo-28653 `__: Fix a refleak in " +"functools.lru_cache." +msgstr "" + +#: ../build/NEWS:14331 ../build/NEWS:18341 +msgid "" +"`bpo-28703 `__: Fix asyncio." +"iscoroutinefunction to handle Mock objects." +msgstr "" + +#: ../build/NEWS:14333 +msgid "" +"`bpo-28704 `__: Fix create_unix_server " +"to support Path-like objects (PEP 519)." +msgstr "" + +#: ../build/NEWS:14335 +msgid "" +"`bpo-28720 `__: Add collections.abc." +"AsyncGenerator." +msgstr "" + +#: ../build/NEWS:14363 +msgid "Python 3.6.0 beta 3" +msgstr "" + +#: ../build/NEWS:14365 +msgid "*Release date: 2016-10-31*" +msgstr "" + +#: ../build/NEWS:14388 +msgid "" +"`bpo-28471 `__: Fix \"Python memory " +"allocator called without holding the GIL\" crash in socket.setblocking." +msgstr "" + +#: ../build/NEWS:14410 +msgid "" +"`bpo-18844 `__: The various ways of " +"specifying weights for random.choices() now produce the same result " +"sequences." +msgstr "" + +#: ../build/NEWS:14413 ../build/NEWS:18015 +msgid "" +"`bpo-28255 `__: calendar.TextCalendar()." +"prmonth() no longer prints a space at the start of new line after printing a " +"month's calendar. Patch by Xiang Zhang." +msgstr "" + +#: ../build/NEWS:14446 ../build/NEWS:18029 +msgid "" +"`bpo-24452 `__: Make webbrowser support " +"Chrome on Mac OS X." +msgstr "" + +#: ../build/NEWS:14451 +msgid "" +"`bpo-28492 `__: Fix how StopIteration " +"exception is raised in _asyncio.Future." +msgstr "" + +#: ../build/NEWS:14453 +msgid "" +"`bpo-28500 `__: Fix asyncio to handle " +"async gens GC from another thread." +msgstr "" + +#: ../build/NEWS:14455 ../build/NEWS:18323 +msgid "" +"`bpo-26923 `__: Fix asyncio.Gather to " +"refuse being cancelled once all children are done. Patch by Johannes Ebke." +msgstr "" + +#: ../build/NEWS:14458 ../build/NEWS:18326 +msgid "" +"`bpo-26796 `__: Don't configure the " +"number of workers for default threadpool executor. Initial patch by Hans " +"Lawrenz." +msgstr "" + +#: ../build/NEWS:14461 +msgid "" +"`bpo-28544 `__: Implement asyncio.Task " +"in C." +msgstr "" + +#: ../build/NEWS:14487 +msgid "Python 3.6.0 beta 2" +msgstr "" + +#: ../build/NEWS:14489 +msgid "*Release date: 2016-10-10*" +msgstr "" + +#: ../build/NEWS:14505 +msgid "" +"`bpo-28376 `__: Creating instances of " +"range_iterator by calling range_iterator type now is deprecated. Patch by " +"Oren Milman." +msgstr "" + +#: ../build/NEWS:14508 ../build/NEWS:17856 +msgid "" +"`bpo-28376 `__: The constructor of " +"range_iterator now checks that step is not 0. Patch by Oren Milman." +msgstr "" + +#: ../build/NEWS:14569 ../build/NEWS:18034 +msgid "" +"`bpo-26293 `__: Fixed writing ZIP files " +"that starts not from the start of the file. Offsets in ZIP file now are " +"relative to the start of the archive in conforming to the specification." +msgstr "" + +#: ../build/NEWS:14576 +msgid "" +"`bpo-27181 `__: remove statistics." +"geometric_mean and defer until 3.7." +msgstr "" + +#: ../build/NEWS:14755 +msgid "Python 3.6.0 beta 1" +msgstr "" + +#: ../build/NEWS:14757 +msgid "*Release date: 2016-09-12*" +msgstr "" + +#: ../build/NEWS:14762 +msgid "" +"`bpo-23722 `__: The __class__ cell used " +"by zero-argument super() is now initialized from type.__new__ rather than " +"__build_class__, so class methods relying on that will now work correctly " +"when called from metaclass methods during class creation. Patch by Martin " +"Teichmann." +msgstr "" + +#: ../build/NEWS:14767 ../build/NEWS:17887 +msgid "" +"`bpo-25221 `__: Fix corrupted result " +"from PyLong_FromLong(0) when Python is compiled with NSMALLPOSINTS = 0." +msgstr "" + +#: ../build/NEWS:14770 +msgid "" +"`bpo-27080 `__: Implement formatting " +"support for :pep:`515`. Initial patch by Chris Angelico." +msgstr "" + +#: ../build/NEWS:14773 +msgid "" +"`bpo-27199 `__: In tarfile, expose " +"copyfileobj bufsize to improve throughput. Patch by Jason Fried." +msgstr "" + +#: ../build/NEWS:14776 +msgid "" +"`bpo-27948 `__: In f-strings, only allow " +"backslashes inside the braces (where the expressions are). This is a " +"breaking change from the 3.6 alpha releases, where backslashes are allowed " +"anywhere in an f-string. Also, require that expressions inside f-strings be " +"enclosed within literal braces, and not escapes like ``f'\\x7b\"hi\"\\x7d'``." +msgstr "" + +#: ../build/NEWS:14782 +msgid "" +"`bpo-28046 `__: Remove platform-specific " +"directories from sys.path." +msgstr "" + +#: ../build/NEWS:14784 +msgid "" +"`bpo-28071 `__: Add early-out for " +"differencing from an empty set." +msgstr "" + +#: ../build/NEWS:14786 ../build/NEWS:17890 +msgid "" +"`bpo-25758 `__: Prevents zipimport from " +"unnecessarily encoding a filename (patch by Eryk Sun)" +msgstr "" + +#: ../build/NEWS:14789 +msgid "" +"`bpo-25856 `__: The __module__ attribute " +"of extension classes and functions now is interned. This leads to more " +"compact pickle data with protocol 4." +msgstr "" + +#: ../build/NEWS:14792 +msgid "" +"`bpo-27213 `__: Rework CALL_FUNCTION* " +"opcodes to produce shorter and more efficient bytecode. Patch by Demur " +"Rumed, design by Serhiy Storchaka, reviewed by Serhiy Storchaka and Victor " +"Stinner." +msgstr "" + +#: ../build/NEWS:14796 +msgid "" +"`bpo-26331 `__: Implement tokenizing " +"support for :pep:`515`. Patch by Georg Brandl." +msgstr "" + +#: ../build/NEWS:14799 +msgid "" +"`bpo-27999 `__: Make \"global after use" +"\" a SyntaxError, and ditto for nonlocal. Patch by Ivan Levkivskyi." +msgstr "" + +#: ../build/NEWS:14802 +msgid "" +"`bpo-28003 `__: Implement :pep:`525` -- " +"Asynchronous Generators." +msgstr "" + +#: ../build/NEWS:14804 +msgid "" +"`bpo-27985 `__: Implement :pep:`526` -- " +"Syntax for Variable Annotations. Patch by Ivan Levkivskyi." +msgstr "" + +#: ../build/NEWS:14807 +msgid "" +"`bpo-26058 `__: Add a new private " +"version to the builtin dict type, incremented at each dictionary creation " +"and at each dictionary change. Implementation of the PEP 509." +msgstr "" + +#: ../build/NEWS:14811 +msgid "" +"`bpo-27364 `__: A backslash-character " +"pair that is not a valid escape sequence now generates a " +"DeprecationWarning. Patch by Emanuel Barry." +msgstr "" + +#: ../build/NEWS:14814 +msgid "" +"`bpo-27350 `__: `dict` implementation is " +"changed like PyPy. It is more compact and preserves insertion order. " +"(Concept developed by Raymond Hettinger and patch by Inada Naoki.)" +msgstr "" + +#: ../build/NEWS:14818 +msgid "" +"`bpo-27911 `__: Remove unnecessary error " +"checks in ``exec_builtin_or_dynamic()``." +msgstr "" + +#: ../build/NEWS:14821 +msgid "" +"`bpo-27078 `__: Added BUILD_STRING " +"opcode. Optimized f-strings evaluation." +msgstr "" + +#: ../build/NEWS:14823 +msgid "" +"`bpo-17884 `__: Python now requires " +"systems with inttypes.h and stdint.h" +msgstr "" + +#: ../build/NEWS:14825 +msgid "" +"`bpo-27961 `__: Require platforms to " +"support ``long long``. Python hasn't compiled without ``long long`` for " +"years, so this is basically a formality." +msgstr "" + +#: ../build/NEWS:14829 +msgid "" +"`bpo-27355 `__: Removed support for " +"Windows CE. It was never finished, and Windows CE is no longer a relevant " +"platform for Python." +msgstr "" + +#: ../build/NEWS:14832 +msgid "Implement :pep:`523`." +msgstr "" + +#: ../build/NEWS:14834 +msgid "" +"`bpo-27870 `__: A left shift of zero by " +"a large integer no longer attempts to allocate large amounts of memory." +msgstr "" + +#: ../build/NEWS:14837 +msgid "" +"`bpo-25402 `__: In int-to-decimal-string " +"conversion, improve the estimate of the intermediate memory required, and " +"remove an unnecessarily strict overflow check. Patch by Serhiy Storchaka." +msgstr "" + +#: ../build/NEWS:14841 +msgid "" +"`bpo-27214 `__: In long_invert, be more " +"careful about modifying object returned by long_add, and remove an " +"unnecessary check for small longs. Thanks Oren Milman for analysis and patch." +msgstr "" + +#: ../build/NEWS:14845 +msgid "" +"`bpo-27506 `__: Support passing the " +"bytes/bytearray.translate() \"delete\" argument by keyword." +msgstr "" + +#: ../build/NEWS:14848 ../build/NEWS:17896 +msgid "" +"`bpo-27812 `__: Properly clear out a " +"generator's frame's backreference to the generator to prevent crashes in " +"frame.clear()." +msgstr "" + +#: ../build/NEWS:14851 ../build/NEWS:17899 +msgid "" +"`bpo-27811 `__: Fix a crash when a " +"coroutine that has not been awaited is finalized with warnings-as-errors " +"enabled." +msgstr "" + +#: ../build/NEWS:14854 ../build/NEWS:17902 +msgid "" +"`bpo-27587 `__: Fix another issue found " +"by PVS-Studio: Null pointer check after use of 'def' in " +"_PyState_AddModule(). Initial patch by Christian Heimes." +msgstr "" + +#: ../build/NEWS:14857 +msgid "" +"`bpo-27792 `__: The modulo operation " +"applied to ``bool`` and other ``int`` subclasses now always returns an " +"``int``. Previously the return type depended on the input values. Patch by " +"Xiang Zhang." +msgstr "" + +#: ../build/NEWS:14861 +msgid "" +"`bpo-26984 `__: int() now always returns " +"an instance of exact int." +msgstr "" + +#: ../build/NEWS:14863 +msgid "" +"`bpo-25604 `__: Fix a minor bug in " +"integer true division; this bug could potentially have caused off-by-one-ulp " +"results on platforms with unreliable ldexp implementations." +msgstr "" + +#: ../build/NEWS:14867 +msgid "" +"`bpo-24254 `__: Make class definition " +"namespace ordered by default." +msgstr "" + +#: ../build/NEWS:14869 +msgid "" +"`bpo-27662 `__: Fix an overflow check in " +"``List_New``: the original code was checking against ``Py_SIZE_MAX`` instead " +"of the correct upper bound of ``Py_SSIZE_T_MAX``. Patch by Xiang Zhang." +msgstr "" + +#: ../build/NEWS:14873 ../build/NEWS:17908 +msgid "" +"`bpo-27782 `__: Multi-phase extension " +"module import now correctly allows the ``m_methods`` field to be used to add " +"module level functions to instances of non-module types returned from " +"``Py_create_mod``. Patch by Xiang Zhang." +msgstr "" + +#: ../build/NEWS:14877 ../build/NEWS:17912 +msgid "" +"`bpo-27936 `__: The round() function " +"accepted a second None argument for some types but not for others. Fixed " +"the inconsistency by accepting None for all numeric types." +msgstr "" + +#: ../build/NEWS:14881 ../build/NEWS:17916 +msgid "" +"`bpo-27487 `__: Warn if a submodule " +"argument to \"python -m\" or runpy.run_module() is found in sys.modules " +"after parent packages are imported, but before the submodule is executed." +msgstr "" + +#: ../build/NEWS:14885 +msgid "" +"`bpo-27157 `__: Make only type() itself " +"accept the one-argument form. Patch by Eryk Sun and Emanuel Barry." +msgstr "" + +#: ../build/NEWS:14888 ../build/NEWS:17920 +msgid "" +"`bpo-27558 `__: Fix a SystemError in the " +"implementation of \"raise\" statement. In a brand new thread, raise a " +"RuntimeError since there is no active exception to reraise. Patch written by " +"Xiang Zhang." +msgstr "" + +#: ../build/NEWS:14892 +msgid "" +"`bpo-28008 `__: Implement :pep:`530` -- " +"asynchronous comprehensions." +msgstr "" + +#: ../build/NEWS:14894 ../build/NEWS:17945 +msgid "" +"`bpo-27942 `__: Fix memory leak in " +"codeobject.c" +msgstr "" + +#: ../build/NEWS:14899 ../build/NEWS:17989 +msgid "" +"`bpo-28732 `__: Fix crash in os.spawnv() " +"with no elements in args" +msgstr "" + +#: ../build/NEWS:14901 ../build/NEWS:17991 +msgid "" +"`bpo-28485 `__: Always raise ValueError " +"for negative compileall.compile_dir(workers=...) parameter, even when " +"multithreading is unavailable." +msgstr "" + +#: ../build/NEWS:14905 +msgid "" +"`bpo-28037 `__: Use " +"sqlite3_get_autocommit() instead of setting Connection->inTransaction " +"manually." +msgstr "" + +#: ../build/NEWS:14908 +msgid "" +"`bpo-25283 `__: Attributes tm_gmtoff and " +"tm_zone are now available on all platforms in the return values of time." +"localtime() and time.gmtime()." +msgstr "" + +#: ../build/NEWS:14911 +msgid "" +"`bpo-24454 `__: Regular expression match " +"object groups are now accessible using __getitem__. \"mo[x]\" is equivalent " +"to \"mo.group(x)\"." +msgstr "" + +#: ../build/NEWS:14914 +msgid "" +"`bpo-10740 `__: sqlite3 no longer " +"implicitly commit an open transaction before DDL statements." +msgstr "" + +#: ../build/NEWS:14917 +msgid "" +"`bpo-17941 `__: Add a *module* parameter " +"to collections.namedtuple()." +msgstr "" + +#: ../build/NEWS:14919 +msgid "" +"`bpo-22493 `__: Inline flags now should " +"be used only at the start of the regular expression. Deprecation warning is " +"emitted if uses them in the middle of the regular expression." +msgstr "" + +#: ../build/NEWS:14923 +msgid "" +"`bpo-26885 `__: xmlrpc now supports " +"unmarshalling additional data types used by Apache XML-RPC implementation " +"for numerics and None." +msgstr "" + +#: ../build/NEWS:14926 +msgid "" +"`bpo-28070 `__: Fixed parsing inline " +"verbose flag in regular expressions." +msgstr "" + +#: ../build/NEWS:14928 +msgid "" +"`bpo-19500 `__: Add client-side SSL " +"session resumption to the ssl module." +msgstr "" + +#: ../build/NEWS:14930 +msgid "" +"`bpo-28022 `__: Deprecate ssl-related " +"arguments in favor of SSLContext. The deprecation include manual creation of " +"SSLSocket and certfile/keyfile (or similar) in ftplib, httplib, imaplib, " +"smtplib, poplib and urllib." +msgstr "" + +#: ../build/NEWS:14934 +msgid "" +"`bpo-28043 `__: SSLContext has improved " +"default settings: OP_NO_SSLv2, OP_NO_SSLv3, OP_NO_COMPRESSION, " +"OP_CIPHER_SERVER_PREFERENCE, OP_SINGLE_DH_USE, OP_SINGLE_ECDH_USE and HIGH " +"ciphers without MD5." +msgstr "" + +#: ../build/NEWS:14938 +msgid "" +"`bpo-24693 `__: Changed some " +"RuntimeError's in the zipfile module to more appropriate types. Improved " +"some error messages and debugging output." +msgstr "" + +#: ../build/NEWS:14941 +msgid "" +"`bpo-17909 `__: ``json.load`` and ``json." +"loads`` now support binary input encoded as UTF-8, UTF-16 or UTF-32. Patch " +"by Serhiy Storchaka." +msgstr "" + +#: ../build/NEWS:14944 +msgid "" +"`bpo-27137 `__: the pure Python fallback " +"implementation of ``functools.partial`` now matches the behaviour of its " +"accelerated C counterpart for subclassing, pickling and text representation " +"purposes. Patch by Emanuel Barry and Serhiy Storchaka." +msgstr "" + +#: ../build/NEWS:14949 ../build/NEWS:18044 +msgid "" +"Fix possible integer overflows and crashes in the mmap module with unusual " +"usage patterns." +msgstr "" + +#: ../build/NEWS:14952 ../build/NEWS:18047 +msgid "" +"`bpo-1703178 `__: Fix the ability to " +"pass the --link-objects option to the distutils build_ext command." +msgstr "" + +#: ../build/NEWS:14955 ../build/NEWS:18094 +msgid "" +"`bpo-28019 `__: itertools.count() no " +"longer rounds non-integer step in range between 1.0 and 2.0 to 1." +msgstr "" + +#: ../build/NEWS:14958 +msgid "" +"`bpo-18401 `__: Pdb now supports the " +"'readrc' keyword argument to control whether .pdbrc files should be read. " +"Patch by Martin Matusiak and Sam Kimbrel." +msgstr "" + +#: ../build/NEWS:14962 ../build/NEWS:18097 +msgid "" +"`bpo-25969 `__: Update the lib2to3 " +"grammar to handle the unpacking generalizations added in 3.5." +msgstr "" + +#: ../build/NEWS:14965 ../build/NEWS:18100 +msgid "" +"`bpo-14977 `__: mailcap now respects the " +"order of the lines in the mailcap files (\"first match\"), as required by " +"RFC 1542. Patch by Michael Lazar." +msgstr "" + +#: ../build/NEWS:14968 +msgid "" +"`bpo-28082 `__: Convert re flag " +"constants to IntFlag." +msgstr "" + +#: ../build/NEWS:14970 +msgid "" +"`bpo-28025 `__: Convert all ssl module " +"constants to IntEnum and IntFlags. SSLContext properties now return flags " +"and enums." +msgstr "" + +#: ../build/NEWS:14973 +msgid "" +"`bpo-23591 `__: Add Flag, IntFlag, and " +"auto() to enum module." +msgstr "" + +#: ../build/NEWS:14975 +msgid "" +"`bpo-433028 `__: Added support of " +"modifier spans in regular expressions." +msgstr "" + +#: ../build/NEWS:14977 ../build/NEWS:18103 +msgid "" +"`bpo-24594 `__: Validates persist " +"parameter when opening MSI database" +msgstr "" + +#: ../build/NEWS:14979 ../build/NEWS:18105 +msgid "" +"`bpo-17582 `__: xml.etree.ElementTree " +"nows preserves whitespaces in attributes (Patch by Duane Griffin. Reviewed " +"and approved by Stefan Behnel.)" +msgstr "" + +#: ../build/NEWS:14982 ../build/NEWS:18108 +msgid "" +"`bpo-28047 `__: Fixed calculation of " +"line length used for the base64 CTE in the new email policies." +msgstr "" + +#: ../build/NEWS:14985 +msgid "" +"`bpo-27576 `__: Fix call order in " +"OrderedDict.__init__()." +msgstr "" + +#: ../build/NEWS:14987 +msgid "email.generator.DecodedGenerator now supports the policy keyword." +msgstr "" + +#: ../build/NEWS:14989 +msgid "" +"`bpo-28027 `__: Remove undocumented " +"modules from ``Lib/plat-*``: IN, CDROM, DLFCN, TYPES, CDIO, and STROPTS." +msgstr "" + +#: ../build/NEWS:14992 ../build/NEWS:18111 +msgid "" +"`bpo-27445 `__: Don't pass str(_charset) " +"to MIMEText.set_payload(). Patch by Claude Paroz." +msgstr "" + +#: ../build/NEWS:14995 +msgid "" +"`bpo-24277 `__: The new email API is no " +"longer provisional, and the docs have been reorganized and rewritten to " +"emphasize the new API." +msgstr "" + +#: ../build/NEWS:14998 ../build/NEWS:18114 +msgid "" +"`bpo-22450 `__: urllib now includes an " +"``Accept: */*`` header among the default headers. This makes the results of " +"REST API requests more consistent and predictable especially when proxy " +"servers are involved." +msgstr "" + +#: ../build/NEWS:15002 ../build/NEWS:18118 +msgid "" +"lib2to3.pgen3.driver.load_grammar() now creates a stable cache file between " +"runs given the same Grammar.txt input regardless of the hash randomization " +"setting." +msgstr "" + +#: ../build/NEWS:15006 +msgid "" +"`bpo-28005 `__: Allow ImportErrors in " +"encoding implementation to propagate." +msgstr "" + +#: ../build/NEWS:15008 +msgid "" +"`bpo-26667 `__: Support path-like " +"objects in importlib.util." +msgstr "" + +#: ../build/NEWS:15010 ../build/NEWS:18122 +msgid "" +"`bpo-27570 `__: Avoid zero-length " +"memcpy() etc calls with null source pointers in the \"ctypes\" and \"array\" " +"modules." +msgstr "" + +#: ../build/NEWS:15013 ../build/NEWS:18125 +msgid "" +"`bpo-22233 `__: Break email header lines " +"*only* on the RFC specified CR and LF characters, not on arbitrary unicode " +"line breaks. This also fixes a bug in HTTP header parsing." +msgstr "" + +#: ../build/NEWS:15017 +msgid "" +"`bpo-27331 `__: The email.mime classes " +"now all accept an optional policy keyword." +msgstr "" + +#: ../build/NEWS:15020 ../build/NEWS:18129 +msgid "" +"`bpo-27988 `__: Fix email " +"iter_attachments incorrect mutation of payload list." +msgstr "" + +#: ../build/NEWS:15022 +msgid "" +"`bpo-16113 `__: Add SHA-3 and SHAKE " +"support to hashlib module." +msgstr "" + +#: ../build/NEWS:15024 +msgid "Eliminate a tautological-pointer-compare warning in _scproxy.c." +msgstr "" + +#: ../build/NEWS:15026 +msgid "" +"`bpo-27776 `__: The :func:`os.urandom` " +"function does now block on Linux 3.17 and newer until the system urandom " +"entropy pool is initialized to increase the security. This change is part of " +"the :pep:`524`." +msgstr "" + +#: ../build/NEWS:15030 +msgid "" +"`bpo-27778 `__: Expose the Linux " +"``getrandom()`` syscall as a new :func:`os.getrandom` function. This change " +"is part of the :pep:`524`." +msgstr "" + +#: ../build/NEWS:15033 ../build/NEWS:18131 +msgid "" +"`bpo-27691 `__: Fix ssl module's parsing " +"of GEN_RID subject alternative name fields in X.509 certs." +msgstr "" + +#: ../build/NEWS:15036 +msgid "" +"`bpo-18844 `__: Add random.choices()." +msgstr "" + +#: ../build/NEWS:15038 +msgid "" +"`bpo-25761 `__: Improved error reporting " +"about truncated pickle data in C implementation of unpickler. " +"UnpicklingError is now raised instead of AttributeError and ValueError in " +"some cases." +msgstr "" + +#: ../build/NEWS:15042 +msgid "" +"`bpo-26798 `__: Add BLAKE2 (blake2b and " +"blake2s) to hashlib." +msgstr "" + +#: ../build/NEWS:15044 +msgid "" +"`bpo-26032 `__: Optimized globbing in " +"pathlib by using os.scandir(); it is now about 1.5--4 times faster." +msgstr "" + +#: ../build/NEWS:15047 +msgid "" +"`bpo-25596 `__: Optimized glob() and " +"iglob() functions in the glob module; they are now about 3--6 times faster." +msgstr "" + +#: ../build/NEWS:15050 +msgid "" +"`bpo-27928 `__: Add scrypt (password-" +"based key derivation function) to hashlib module (requires OpenSSL 1.1.0)." +msgstr "" + +#: ../build/NEWS:15053 ../build/NEWS:18134 +msgid "" +"`bpo-27850 `__: Remove 3DES from ssl " +"module's default cipher list to counter measure sweet32 attack " +"(CVE-2016-2183)." +msgstr "" + +#: ../build/NEWS:15056 ../build/NEWS:18137 +msgid "" +"`bpo-27766 `__: Add ChaCha20 Poly1305 to " +"ssl module's default cipher list. (Required OpenSSL 1.1.0 or LibreSSL)." +msgstr "" + +#: ../build/NEWS:15059 +msgid "" +"`bpo-25387 `__: Check return value of " +"winsound.MessageBeep." +msgstr "" + +#: ../build/NEWS:15061 +msgid "" +"`bpo-27866 `__: Add SSLContext." +"get_ciphers() method to get a list of all enabled ciphers." +msgstr "" + +#: ../build/NEWS:15064 +msgid "" +"`bpo-27744 `__: Add AF_ALG (Linux Kernel " +"crypto) to socket module." +msgstr "" + +#: ../build/NEWS:15066 ../build/NEWS:18140 +msgid "" +"`bpo-26470 `__: Port ssl and hashlib " +"module to OpenSSL 1.1.0." +msgstr "" + +#: ../build/NEWS:15068 +msgid "" +"`bpo-11620 `__: Fix support for " +"SND_MEMORY in winsound.PlaySound. Based on a patch by Tim Lesher." +msgstr "" + +#: ../build/NEWS:15071 +msgid "" +"`bpo-11734 `__: Add support for IEEE 754 " +"half-precision floats to the struct module. Based on a patch by Eli Stevens." +msgstr "" + +#: ../build/NEWS:15074 +msgid "" +"`bpo-27919 `__: Deprecated " +"``extra_path`` distribution option in distutils packaging." +msgstr "" + +#: ../build/NEWS:15077 +msgid "" +"`bpo-23229 `__: Add new ``cmath`` " +"constants: ``cmath.inf`` and ``cmath.nan`` to match ``math.inf`` and ``math." +"nan``, and also ``cmath.infj`` and ``cmath.nanj`` to match the format used " +"by complex repr." +msgstr "" + +#: ../build/NEWS:15081 +msgid "" +"`bpo-27842 `__: The csv.DictReader now " +"returns rows of type OrderedDict. (Contributed by Steve Holden.)" +msgstr "" + +#: ../build/NEWS:15084 ../build/NEWS:18142 +msgid "" +"Remove support for passing a file descriptor to os.access. It never worked " +"but previously didn't raise." +msgstr "" + +#: ../build/NEWS:15087 ../build/NEWS:18145 +msgid "" +"`bpo-12885 `__: Fix error when distutils " +"encounters symlink." +msgstr "" + +#: ../build/NEWS:15089 ../build/NEWS:18147 +msgid "" +"`bpo-27881 `__: Fixed possible bugs when " +"setting sqlite3.Connection.isolation_level. Based on patch by Xiang Zhang." +msgstr "" + +#: ../build/NEWS:15092 ../build/NEWS:18150 +msgid "" +"`bpo-27861 `__: Fixed a crash in sqlite3." +"Connection.cursor() when a factory creates not a cursor. Patch by Xiang " +"Zhang." +msgstr "" + +#: ../build/NEWS:15095 ../build/NEWS:18153 +msgid "" +"`bpo-19884 `__: Avoid spurious output on " +"OS X with Gnu Readline." +msgstr "" + +#: ../build/NEWS:15097 ../build/NEWS:18155 +msgid "" +"`bpo-27706 `__: Restore deterministic " +"behavior of random.Random().seed() for string seeds using seeding version " +"1. Allows sequences of calls to random() to exactly match those obtained in " +"Python 2. Patch by Nofar Schnider." +msgstr "" + +#: ../build/NEWS:15102 ../build/NEWS:18160 +msgid "" +"`bpo-10513 `__: Fix a regression in " +"Connection.commit(). Statements should not be reset after a commit." +msgstr "" + +#: ../build/NEWS:15105 +msgid "" +"`bpo-12319 `__: Chunked transfer " +"encoding support added to http.client.HTTPConnection requests. The urllib." +"request.AbstractHTTPHandler class does not enforce a Content-Length header " +"any more. If a HTTP request has a file or iterable body, but no Content-" +"Length header, the library now falls back to use chunked transfer-encoding." +msgstr "" + +#: ../build/NEWS:15112 +msgid "" +"A new version of typing.py from https://github.com/python/typing: - " +"Collection (only for 3.6) (`bpo-27598 `__) - Add FrozenSet to __all__ (upstream #261) - fix crash in " +"_get_type_vars() (upstream #259) - Remove the dict constraint in ForwardRef." +"_eval_type (upstream #252)" +msgstr "" + +#: ../build/NEWS:15117 +msgid "" +"`bpo-27832 `__: Make ``_normalize`` " +"parameter to ``Fraction`` constructor keyword-only, so that ``Fraction(2, 3, " +"4)`` now raises ``TypeError``." +msgstr "" + +#: ../build/NEWS:15120 ../build/NEWS:18168 +msgid "" +"`bpo-27539 `__: Fix unnormalised " +"``Fraction.__pow__`` result in the case of negative exponent and negative " +"base." +msgstr "" + +#: ../build/NEWS:15123 ../build/NEWS:18171 +msgid "" +"`bpo-21718 `__: cursor.description is " +"now available for queries using CTEs." +msgstr "" + +#: ../build/NEWS:15125 +msgid "" +"`bpo-27819 `__: In distutils sdists, " +"simply produce the \"gztar\" (gzipped tar format) distributions on all " +"platforms unless \"formats\" is supplied." +msgstr "" + +#: ../build/NEWS:15128 ../build/NEWS:18173 +msgid "" +"`bpo-2466 `__: posixpath.ismount now " +"correctly recognizes mount points which the user does not have permission to " +"access." +msgstr "" + +#: ../build/NEWS:15131 +msgid "" +"`bpo-9998 `__: On Linux, ctypes.util." +"find_library now looks in LD_LIBRARY_PATH for shared libraries." +msgstr "" + +#: ../build/NEWS:15134 +msgid "" +"`bpo-27573 `__: exit message for code." +"interact is now configurable." +msgstr "" + +#: ../build/NEWS:15136 ../build/NEWS:18281 +msgid "" +"`bpo-27930 `__: Improved behaviour of " +"logging.handlers.QueueListener. Thanks to Paulo Andrade and Petr Viktorin " +"for the analysis and patch." +msgstr "" + +#: ../build/NEWS:15139 +msgid "" +"`bpo-6766 `__: Distributed reference " +"counting added to multiprocessing to support nesting of shared values / " +"proxy objects." +msgstr "" + +#: ../build/NEWS:15142 ../build/NEWS:18284 +msgid "" +"`bpo-21201 `__: Improves readability of " +"multiprocessing error message. Thanks to Wojciech Walczak for patch." +msgstr "" + +#: ../build/NEWS:15145 +msgid "asyncio: Add set_protocol / get_protocol to Transports." +msgstr "" + +#: ../build/NEWS:15147 ../build/NEWS:18287 +msgid "" +"`bpo-27456 `__: asyncio: Set TCP_NODELAY " +"by default." +msgstr "" + +#: ../build/NEWS:15152 ../build/NEWS:18352 +msgid "" +"`bpo-15308 `__: Add 'interrupt " +"execution' (^C) to Shell menu. Patch by Roger Serwy, updated by Bayard " +"Randel." +msgstr "" + +#: ../build/NEWS:15155 ../build/NEWS:18355 +msgid "" +"`bpo-27922 `__: Stop IDLE tests from " +"'flashing' gui widgets on the screen." +msgstr "" + +#: ../build/NEWS:15157 +msgid "" +"`bpo-27891 `__: Consistently group and " +"sort imports within idlelib modules." +msgstr "" + +#: ../build/NEWS:15159 +msgid "" +"`bpo-17642 `__: add larger font sizes " +"for classroom projection." +msgstr "" + +#: ../build/NEWS:15161 ../build/NEWS:18357 +msgid "Add version to title of IDLE help window." +msgstr "" + +#: ../build/NEWS:15163 ../build/NEWS:18359 +msgid "" +"`bpo-25564 `__: In section on IDLE -- " +"console differences, mention that using exec means that __builtins__ is " +"defined for each statement." +msgstr "" + +#: ../build/NEWS:15166 +msgid "" +"`bpo-27821 `__: Fix 3.6.0a3 regression " +"that prevented custom key sets from being selected when no custom theme was " +"defined." +msgstr "" + +#: ../build/NEWS:15172 +msgid "" +"`bpo-26900 `__: Excluded underscored " +"names and other private API from limited API." +msgstr "" + +#: ../build/NEWS:15175 +msgid "" +"`bpo-26027 `__: Add support for path-" +"like objects in PyUnicode_FSConverter() & PyUnicode_FSDecoder()." +msgstr "" + +#: ../build/NEWS:15181 +msgid "" +"`bpo-27427 `__: Additional tests for the " +"math module. Patch by Francisco Couzo." +msgstr "" + +#: ../build/NEWS:15183 +msgid "" +"`bpo-27953 `__: Skip math and cmath " +"tests that fail on OS X 10.4 due to a poor libm implementation of tan." +msgstr "" + +#: ../build/NEWS:15186 +msgid "" +"`bpo-26040 `__: Improve test_math and " +"test_cmath coverage and rigour. Patch by Jeff Allen." +msgstr "" + +#: ../build/NEWS:15189 ../build/NEWS:18404 +msgid "" +"`bpo-27787 `__: Call gc.collect() before " +"checking each test for \"dangling threads\", since the dangling threads are " +"weak references." +msgstr "" + +#: ../build/NEWS:15195 ../build/NEWS:18464 +msgid "" +"`bpo-27566 `__: Fix clean target in " +"freeze makefile (patch by Lisa Roach)" +msgstr "" + +#: ../build/NEWS:15197 ../build/NEWS:18466 +msgid "" +"`bpo-27705 `__: Update message in " +"validate_ucrtbase.py" +msgstr "" + +#: ../build/NEWS:15199 +msgid "" +"`bpo-27976 `__: Deprecate building " +"_ctypes with the bundled copy of libffi on non-OSX UNIX platforms." +msgstr "" + +#: ../build/NEWS:15202 +msgid "" +"`bpo-27983 `__: Cause lack of llvm-" +"profdata tool when using clang as required for PGO linking to be a configure " +"time error rather than make time when ``--with-optimizations`` is enabled. " +"Also improve our ability to find the llvm-profdata tool on MacOS and some " +"Linuxes." +msgstr "" + +#: ../build/NEWS:15207 +msgid "" +"`bpo-21590 `__: Support for DTrace and " +"SystemTap probes." +msgstr "" + +#: ../build/NEWS:15209 ../build/NEWS:18473 +msgid "" +"`bpo-26307 `__: The profile-opt build " +"now applies PGO to the built-in modules." +msgstr "" + +#: ../build/NEWS:15211 +msgid "" +"`bpo-26359 `__: Add the --with-" +"optimizations flag to turn on LTO and PGO build support when available." +msgstr "" + +#: ../build/NEWS:15214 +msgid "" +"`bpo-27917 `__: Set platform triplets " +"for Android builds." +msgstr "" + +#: ../build/NEWS:15216 +msgid "" +"`bpo-25825 `__: Update references to the " +"$(LIBPL) installation path on AIX. This path was changed in 3.2a4." +msgstr "" + +#: ../build/NEWS:15219 +msgid "Update OS X installer to use SQLite 3.14.1 and XZ 5.2.2." +msgstr "" + +#: ../build/NEWS:15221 +msgid "" +"`bpo-21122 `__: Fix LTO builds on OS X." +msgstr "" + +#: ../build/NEWS:15223 +msgid "" +"`bpo-17128 `__: Build OS X installer " +"with a private copy of OpenSSL. Also provide a sample Install Certificates " +"command script to install a set of root certificates from the third-party " +"certifi module." +msgstr "" + +#: ../build/NEWS:15230 ../build/NEWS:18413 +msgid "" +"`bpo-27952 `__: Get Tools/scripts/fixcid." +"py working with Python 3 and the current \"re\" module, avoid invalid Python " +"backslash escapes, and fix a bug parsing escaped C quote signs." +msgstr "" + +#: ../build/NEWS:15237 +msgid "" +"`bpo-28065 `__: Update xz dependency to " +"5.2.2 and build it from source." +msgstr "" + +#: ../build/NEWS:15239 ../build/NEWS:18430 +msgid "" +"`bpo-25144 `__: Ensures TargetDir is set " +"before continuing with custom install." +msgstr "" + +#: ../build/NEWS:15241 +msgid "" +"`bpo-1602 `__: Windows console doesn't " +"input or print Unicode (PEP 528)" +msgstr "" + +#: ../build/NEWS:15243 +msgid "" +"`bpo-27781 `__: Change file system " +"encoding on Windows to UTF-8 (PEP 529)" +msgstr "" + +#: ../build/NEWS:15245 +msgid "" +"`bpo-27731 `__: Opt-out of MAX_PATH on " +"Windows 10" +msgstr "" + +#: ../build/NEWS:15247 +msgid "" +"`bpo-6135 `__: Adds encoding and errors " +"parameters to subprocess." +msgstr "" + +#: ../build/NEWS:15249 +msgid "" +"`bpo-27959 `__: Adds oem encoding, alias " +"ansi to mbcs, move aliasmbcs to codec lookup." +msgstr "" + +#: ../build/NEWS:15252 +msgid "" +"`bpo-27982 `__: The functions of the " +"winsound module now accept keyword arguments." +msgstr "" + +#: ../build/NEWS:15255 +msgid "" +"`bpo-20366 `__: Build full text search " +"support into SQLite on Windows." +msgstr "" + +#: ../build/NEWS:15257 +msgid "" +"`bpo-27756 `__: Adds new icons for " +"Python files and processes on Windows. Designs by Cherry Wang." +msgstr "" + +#: ../build/NEWS:15260 +msgid "" +"`bpo-27883 `__: Update sqlite to " +"3.14.1.0 on Windows." +msgstr "" + +#: ../build/NEWS:15264 +msgid "Python 3.6.0 alpha 4" +msgstr "" + +#: ../build/NEWS:15266 +msgid "*Release date: 2016-08-15*" +msgstr "" + +#: ../build/NEWS:15271 +msgid "" +"`bpo-27704 `__: Optimized creating bytes " +"and bytearray from byte-like objects and iterables. Speed up to 3 times for " +"short objects. Original patch by Naoki Inada." +msgstr "" + +#: ../build/NEWS:15275 +msgid "" +"`bpo-26823 `__: Large sections of " +"repeated lines in tracebacks are now abbreviated as \"[Previous line " +"repeated {count} more times]\" by the builtin traceback rendering. Patch by " +"Emanuel Barry." +msgstr "" + +#: ../build/NEWS:15279 +msgid "" +"`bpo-27574 `__: Decreased an overhead of " +"parsing keyword arguments in functions implemented with using Argument " +"Clinic." +msgstr "" + +#: ../build/NEWS:15282 +msgid "" +"`bpo-22557 `__: Now importing already " +"imported modules is up to 2.5 times faster." +msgstr "" + +#: ../build/NEWS:15285 +msgid "" +"`bpo-17596 `__: Include to " +"help with Min GW building." +msgstr "" + +#: ../build/NEWS:15287 +msgid "" +"`bpo-17599 `__: On Windows, rename the " +"privately defined REPARSE_DATA_BUFFER structure to avoid conflicting with " +"the definition from Min GW." +msgstr "" + +#: ../build/NEWS:15290 ../build/NEWS:17936 +msgid "" +"`bpo-27507 `__: Add integer overflow " +"check in bytearray.extend(). Patch by Xiang Zhang." +msgstr "" + +#: ../build/NEWS:15293 ../build/NEWS:17939 +msgid "" +"`bpo-27581 `__: Don't rely on wrapping " +"for overflow check in PySequence_Tuple(). Patch by Xiang Zhang." +msgstr "" + +#: ../build/NEWS:15296 +msgid "" +"`bpo-1621 `__: Avoid signed integer " +"overflow in list and tuple operations. Patch by Xiang Zhang." +msgstr "" + +#: ../build/NEWS:15299 +msgid "" +"`bpo-27419 `__: Standard __import__() no " +"longer look up \"__import__\" in globals or builtins for importing " +"submodules or \"from import\". Fixed a crash if raise a warning about " +"unabling to resolve package from __spec__ or __package__." +msgstr "" + +#: ../build/NEWS:15304 ../build/NEWS:17928 +msgid "" +"`bpo-27083 `__: Respect the PYTHONCASEOK " +"environment variable under Windows." +msgstr "" + +#: ../build/NEWS:15306 ../build/NEWS:17930 +msgid "" +"`bpo-27514 `__: Make having too many " +"statically nested blocks a SyntaxError instead of SystemError." +msgstr "" + +#: ../build/NEWS:15309 +msgid "" +"`bpo-27366 `__: Implemented :pep:`487` " +"(Simpler customization of class creation). Upon subclassing, the " +"__init_subclass__ classmethod is called on the base class. Descriptors are " +"initialized with __set_name__ after class creation." +msgstr "" + +#: ../build/NEWS:15317 +msgid "" +"`bpo-26027 `__: Add :pep:`519`/" +"__fspath__() support to the os and os.path modules. Includes code from Jelle " +"Zijlstra. (See also: `bpo-27524 `__)" +msgstr "" + +#: ../build/NEWS:15320 +msgid "" +"`bpo-27598 `__: Add Collections to " +"collections.abc. Patch by Ivan Levkivskyi, docs by Neil Girdhar." +msgstr "" + +#: ../build/NEWS:15323 +msgid "" +"`bpo-25958 `__: Support \"anti-" +"registration\" of special methods from various ABCs, like __hash__, __iter__ " +"or __len__. All these (and several more) can be set to None in an " +"implementation class and the behavior will be as if the method is not " +"defined at all. (Previously, this mechanism existed only for __hash__, to " +"make mutable classes unhashable.) Code contributed by Andrew Barnert and " +"Ivan Levkivskyi." +msgstr "" + +#: ../build/NEWS:15330 +msgid "" +"`bpo-16764 `__: Support keyword " +"arguments to zlib.decompress(). Patch by Xiang Zhang." +msgstr "" + +#: ../build/NEWS:15333 +msgid "" +"`bpo-27736 `__: Prevent segfault after " +"interpreter re-initialization due to ref count problem introduced in code " +"for `bpo-27038 `__ in 3.6.0a3. Patch by " +"Xiang Zhang." +msgstr "" + +#: ../build/NEWS:15337 +msgid "" +"`bpo-25628 `__: The *verbose* and " +"*rename* parameters for collections.namedtuple are now keyword-only." +msgstr "" + +#: ../build/NEWS:15340 +msgid "" +"`bpo-12345 `__: Add mathematical " +"constant tau to math and cmath. See also :pep:`628`." +msgstr "" + +#: ../build/NEWS:15343 +msgid "" +"`bpo-26823 `__: traceback.StackSummary." +"format now abbreviates large sections of repeated lines as \"[Previous line " +"repeated {count} more times]\" (this change then further affects other " +"traceback display operations in the module). Patch by Emanuel Barry." +msgstr "" + +#: ../build/NEWS:15348 +msgid "" +"`bpo-27664 `__: Add to concurrent." +"futures.thread.ThreadPoolExecutor() the ability to specify a thread name " +"prefix." +msgstr "" + +#: ../build/NEWS:15351 +msgid "" +"`bpo-27181 `__: Add geometric_mean and " +"harmonic_mean to statistics module." +msgstr "" + +#: ../build/NEWS:15353 +msgid "" +"`bpo-27573 `__: code.interact now prints " +"an message when exiting." +msgstr "" + +#: ../build/NEWS:15355 +msgid "" +"`bpo-6422 `__: Add autorange method to " +"timeit.Timer objects." +msgstr "" + +#: ../build/NEWS:15357 ../build/NEWS:18176 +msgid "" +"`bpo-27773 `__: Correct some memory " +"management errors server_hostname in _ssl.wrap_socket()." +msgstr "" + +#: ../build/NEWS:15360 +msgid "" +"`bpo-26750 `__: unittest.mock." +"create_autospec() now works properly for subclasses of property() and other " +"data descriptors. Removes the never publicly used, never documented " +"unittest.mock.DescriptorTypes tuple." +msgstr "" + +#: ../build/NEWS:15364 +msgid "" +"`bpo-26754 `__: Undocumented support of " +"general bytes-like objects as path in compile() and similar functions is now " +"deprecated." +msgstr "" + +#: ../build/NEWS:15367 +msgid "" +"`bpo-26800 `__: Undocumented support of " +"general bytes-like objects as paths in os functions is now deprecated." +msgstr "" + +#: ../build/NEWS:15370 +msgid "" +"`bpo-26981 `__: Add _order_ " +"compatibility shim to enum.Enum for Python 2/3 code bases." +msgstr "" + +#: ../build/NEWS:15373 +msgid "" +"`bpo-27661 `__: Added tzinfo keyword " +"argument to datetime.combine." +msgstr "" + +#: ../build/NEWS:15375 ../build/NEWS:18182 +msgid "" +"In the curses module, raise an error if window.getstr() or window.instr() is " +"passed a negative value." +msgstr "" + +#: ../build/NEWS:15378 ../build/NEWS:18185 +msgid "" +"`bpo-27783 `__: Fix possible usage of " +"uninitialized memory in operator.methodcaller." +msgstr "" + +#: ../build/NEWS:15381 ../build/NEWS:18188 +msgid "" +"`bpo-27774 `__: Fix possible Py_DECREF " +"on unowned object in _sre." +msgstr "" + +#: ../build/NEWS:15383 ../build/NEWS:18190 +msgid "" +"`bpo-27760 `__: Fix possible integer " +"overflow in binascii.b2a_qp." +msgstr "" + +#: ../build/NEWS:15385 ../build/NEWS:18192 +msgid "" +"`bpo-27758 `__: Fix possible integer " +"overflow in the _csv module for large record lengths." +msgstr "" + +#: ../build/NEWS:15388 ../build/NEWS:18195 +msgid "" +"`bpo-27568 `__: Prevent HTTPoxy attack " +"(CVE-2016-1000110). Ignore the HTTP_PROXY variable when REQUEST_METHOD " +"environment is set, which indicates that the script is in CGI mode." +msgstr "" + +#: ../build/NEWS:15392 +msgid "" +"`bpo-7063 `__: Remove dead code from the " +"\"array\" module's slice handling. Patch by Chuck." +msgstr "" + +#: ../build/NEWS:15395 ../build/NEWS:18199 +msgid "" +"`bpo-27656 `__: Do not assume sched.h " +"defines any SCHED_* constants." +msgstr "" + +#: ../build/NEWS:15397 ../build/NEWS:18201 +msgid "" +"`bpo-27130 `__: In the \"zlib\" module, " +"fix handling of large buffers (typically 4 GiB) when compressing and " +"decompressing. Previously, inputs were limited to 4 GiB, and compression " +"and decompression operations did not properly handle results of 4 GiB." +msgstr "" + +#: ../build/NEWS:15402 +msgid "" +"`bpo-24773 `__: Implemented :pep:`495` " +"(Local Time Disambiguation)." +msgstr "" + +#: ../build/NEWS:15404 +msgid "" +"Expose the EPOLLEXCLUSIVE constant (when it is defined) in the select module." +msgstr "" + +#: ../build/NEWS:15407 +msgid "" +"`bpo-27567 `__: Expose the EPOLLRDHUP " +"and POLLRDHUP constants in the select module." +msgstr "" + +#: ../build/NEWS:15410 +msgid "" +"`bpo-1621 `__: Avoid signed int negation " +"overflow in the \"audioop\" module." +msgstr "" + +#: ../build/NEWS:15412 ../build/NEWS:18206 +msgid "" +"`bpo-27533 `__: Release GIL in nt._isdir" +msgstr "" + +#: ../build/NEWS:15414 ../build/NEWS:18208 +msgid "" +"`bpo-17711 `__: Fixed unpickling by the " +"persistent ID with protocol 0. Original patch by Alexandre Vassalotti." +msgstr "" + +#: ../build/NEWS:15417 ../build/NEWS:18211 +msgid "" +"`bpo-27522 `__: Avoid an unintentional " +"reference cycle in email.feedparser." +msgstr "" + +#: ../build/NEWS:15419 +msgid "" +"`bpo-27512 `__: Fix a segfault when os." +"fspath() called an __fspath__() method that raised an exception. Patch by " +"Xiang Zhang." +msgstr "" + +#: ../build/NEWS:15425 ../build/NEWS:18362 +msgid "" +"`bpo-27714 `__: text_textview and " +"test_autocomplete now pass when re-run in the same process. This occurs " +"when test_idle fails when run with the -w option but without -jn. Fix " +"warning from test_config." +msgstr "" + +#: ../build/NEWS:15429 +msgid "" +"`bpo-27621 `__: Put query response " +"validation error messages in the query box itself instead of in a separate " +"messagebox. Redo tests to match. Add Mac OSX refinements. Original patch by " +"Mark Roseman." +msgstr "" + +#: ../build/NEWS:15433 +msgid "" +"`bpo-27620 `__: Escape key now closes " +"Query box as cancelled." +msgstr "" + +#: ../build/NEWS:15435 +msgid "" +"`bpo-27609 `__: IDLE: tab after initial " +"whitespace should tab, not autocomplete. This fixes problem with writing " +"docstrings at least twice indented." +msgstr "" + +#: ../build/NEWS:15439 +msgid "" +"`bpo-27609 `__: Explicitly return None " +"when there are also non-None returns. In a few cases, reverse a condition " +"and eliminate a return." +msgstr "" + +#: ../build/NEWS:15442 ../build/NEWS:18366 +msgid "" +"`bpo-25507 `__: IDLE no longer runs " +"buggy code because of its tkinter imports. Users must include the same " +"imports required to run directly in Python." +msgstr "" + +#: ../build/NEWS:15445 ../build/NEWS:15638 +msgid "" +"`bpo-27173 `__: Add 'IDLE Modern Unix' " +"to the built-in key sets. Make the default key set depend on the platform. " +"Add tests for the changes to the config module." +msgstr "" + +#: ../build/NEWS:15449 ../build/NEWS:15645 ../build/NEWS:18369 +msgid "" +"`bpo-27452 `__: add line counter and crc " +"to IDLE configHandler test dump." +msgstr "" + +#: ../build/NEWS:15454 +msgid "" +"`bpo-25805 `__: Skip a test in " +"test_pkgutil as needed that doesn't work when ``__name__ == __main__``. " +"Patch by SilentGhost." +msgstr "" + +#: ../build/NEWS:15457 +msgid "" +"`bpo-27472 `__: Add test.support." +"unix_shell as the path to the default shell." +msgstr "" + +#: ../build/NEWS:15459 ../build/NEWS:18407 +msgid "" +"`bpo-27369 `__: In test_pyexpat, avoid " +"testing an error message detail that changed in Expat 2.2.0." +msgstr "" + +#: ../build/NEWS:15462 +msgid "" +"`bpo-27594 `__: Prevent assertion error " +"when running test_ast with coverage enabled: ensure code object has a valid " +"first line number. Patch suggested by Ivan Levkivskyi." +msgstr "" + +#: ../build/NEWS:15469 +msgid "" +"`bpo-27647 `__: Update bundled Tcl/Tk to " +"8.6.6." +msgstr "" + +#: ../build/NEWS:15471 +msgid "" +"`bpo-27610 `__: Adds :pep:`514` metadata " +"to Windows installer" +msgstr "" + +#: ../build/NEWS:15473 ../build/NEWS:18432 +msgid "" +"`bpo-27469 `__: Adds a shell extension " +"to the launcher so that drag and drop works correctly." +msgstr "" + +#: ../build/NEWS:15476 +msgid "" +"`bpo-27309 `__: Enables proper Windows " +"styles in python[w].exe manifest." +msgstr "" + +#: ../build/NEWS:15481 ../build/NEWS:18477 +msgid "" +"`bpo-27713 `__: Suppress spurious build " +"warnings when updating importlib's bootstrap files. Patch by Xiang Zhang" +msgstr "" + +#: ../build/NEWS:15484 +msgid "" +"`bpo-25825 `__: Correct the references " +"to Modules/python.exp, which is required on AIX. The references were " +"accidentally changed in 3.5.0a1." +msgstr "" + +#: ../build/NEWS:15487 ../build/NEWS:18485 +msgid "" +"`bpo-27453 `__: CPP invocation in " +"configure must use CPPFLAGS. Patch by Chi Hsuan Yen." +msgstr "" + +#: ../build/NEWS:15490 ../build/NEWS:18488 +msgid "" +"`bpo-27641 `__: The configure script now " +"inserts comments into the makefile to prevent the pgen and _freeze_importlib " +"executables from being cross-compiled." +msgstr "" + +#: ../build/NEWS:15494 ../build/NEWS:18492 +msgid "" +"`bpo-26662 `__: Set PYTHON_FOR_GEN in " +"configure as the Python program to be used for file generation during the " +"build." +msgstr "" + +#: ../build/NEWS:15497 ../build/NEWS:18495 +msgid "" +"`bpo-10910 `__: Avoid C++ compilation " +"errors on FreeBSD and OS X. Also update FreedBSD version checks for the " +"original ctype UTF-8 workaround." +msgstr "" + +#: ../build/NEWS:15502 +msgid "Python 3.6.0 alpha 3" +msgstr "" + +#: ../build/NEWS:15504 +msgid "*Release date: 2016-07-11*" +msgstr "" + +#: ../build/NEWS:15509 ../build/NEWS:17933 +msgid "" +"`bpo-27473 `__: Fixed possible integer " +"overflow in bytes and bytearray concatenations. Patch by Xiang Zhang." +msgstr "" + +#: ../build/NEWS:15512 +msgid "" +"`bpo-23034 `__: The output of a special " +"Python build with defined COUNT_ALLOCS, SHOW_ALLOC_COUNT or SHOW_TRACK_COUNT " +"macros is now off by default. It can be re-enabled using the \"-X " +"showalloccount\" option. It now outputs to stderr instead of stdout." +msgstr "" + +#: ../build/NEWS:15517 ../build/NEWS:17942 +msgid "" +"`bpo-27443 `__: __length_hint__() of " +"bytearray iterators no longer return a negative integer for a resized " +"bytearray." +msgstr "" + +#: ../build/NEWS:15520 +msgid "" +"`bpo-27007 `__: The fromhex() class " +"methods of bytes and bytearray subclasses now return an instance of " +"corresponding subclass." +msgstr "" + +#: ../build/NEWS:15526 ../build/NEWS:18213 +msgid "" +"`bpo-26844 `__: Fix error message for " +"imp.find_module() to refer to 'path' instead of 'name'. Patch by Lev Maximov." +msgstr "" + +#: ../build/NEWS:15529 ../build/NEWS:18216 +msgid "" +"`bpo-23804 `__: Fix SSL zero-length " +"recv() calls to not block and not raise an error about unclean EOF." +msgstr "" + +#: ../build/NEWS:15532 ../build/NEWS:18219 +msgid "" +"`bpo-27466 `__: Change time format " +"returned by http.cookie.time2netscape, confirming the netscape cookie format " +"and making it consistent with documentation." +msgstr "" + +#: ../build/NEWS:15536 +msgid "" +"`bpo-21708 `__: Deprecated dbm.dumb " +"behavior that differs from common dbm behavior: creating a database in 'r' " +"and 'w' modes and modifying a database in 'r' mode." +msgstr "" + +#: ../build/NEWS:15540 +msgid "" +"`bpo-26721 `__: Change the socketserver." +"StreamRequestHandler.wfile attribute to implement BufferedIOBase. In " +"particular, the write() method no longer does partial writes." +msgstr "" + +#: ../build/NEWS:15544 +msgid "" +"`bpo-22115 `__: Added methods trace_add, " +"trace_remove and trace_info in the tkinter.Variable class. They replace old " +"methods trace_variable, trace, trace_vdelete and trace_vinfo that use " +"obsolete Tcl commands and might not work in future versions of Tcl. Fixed " +"old tracing methods: trace_vdelete() with wrong mode no longer break " +"tracing, trace_vinfo() now always returns a list of pairs of strings, " +"tracing in the \"u\" mode now works." +msgstr "" + +#: ../build/NEWS:15552 +msgid "" +"`bpo-26243 `__: Only the level argument " +"to zlib.compress() is keyword argument now. The first argument is " +"positional-only." +msgstr "" + +#: ../build/NEWS:15555 +msgid "" +"`bpo-27038 `__: Expose the DirEntry type " +"as os.DirEntry. Code patch by Jelle Zijlstra." +msgstr "" + +#: ../build/NEWS:15558 +msgid "" +"`bpo-27186 `__: Update os.fspath()/" +"PyOS_FSPath() to check the return value of __fspath__() to be either str or " +"bytes." +msgstr "" + +#: ../build/NEWS:15561 +msgid "" +"`bpo-18726 `__: All optional parameters " +"of the dump(), dumps(), load() and loads() functions and JSONEncoder and " +"JSONDecoder class constructors in the json module are now keyword-only." +msgstr "" + +#: ../build/NEWS:15565 +msgid "" +"`bpo-27319 `__: Methods selection_set(), " +"selection_add(), selection_remove() and selection_toggle() of ttk.TreeView " +"now allow passing multiple items as multiple arguments instead of passing " +"them as a tuple. Deprecated undocumented ability of calling the selection() " +"method with arguments." +msgstr "" + +#: ../build/NEWS:15570 ../build/NEWS:18233 +msgid "" +"`bpo-27079 `__: Fixed curses.ascii " +"functions isblank(), iscntrl() and ispunct()." +msgstr "" + +#: ../build/NEWS:15573 +msgid "" +"`bpo-27294 `__: Numerical state in the " +"repr for Tkinter event objects is now represented as a combination of known " +"flags." +msgstr "" + +#: ../build/NEWS:15576 +msgid "" +"`bpo-27177 `__: Match objects in the re " +"module now support index-like objects as group indices. Based on patches by " +"Jeroen Demeyer and Xiang Zhang." +msgstr "" + +#: ../build/NEWS:15579 ../build/NEWS:18236 +msgid "" +"`bpo-26754 `__: Some functions " +"(compile() etc) accepted a filename argument encoded as an iterable of " +"integers. Now only strings and byte-like objects are accepted." +msgstr "" + +#: ../build/NEWS:15583 +msgid "" +"`bpo-26536 `__: socket.ioctl now " +"supports SIO_LOOPBACK_FAST_PATH. Patch by Daniel Stokes." +msgstr "" + +#: ../build/NEWS:15586 ../build/NEWS:18240 +msgid "" +"`bpo-27048 `__: Prevents distutils " +"failing on Windows when environment variables contain non-ASCII characters" +msgstr "" + +#: ../build/NEWS:15589 ../build/NEWS:18243 +msgid "" +"`bpo-27330 `__: Fixed possible leaks in " +"the ctypes module." +msgstr "" + +#: ../build/NEWS:15591 ../build/NEWS:18245 +msgid "" +"`bpo-27238 `__: Got rid of bare excepts " +"in the turtle module. Original patch by Jelle Zijlstra." +msgstr "" + +#: ../build/NEWS:15594 ../build/NEWS:18248 +msgid "" +"`bpo-27122 `__: When an exception is " +"raised within the context being managed by a contextlib.ExitStack() and one " +"of the exit stack generators catches and raises it in a chain, do not re-" +"raise the original exception when exiting, let the new chained one through. " +"This avoids the :pep:`479` bug described in issue25782." +msgstr "" + +#: ../build/NEWS:15603 ../build/NEWS:18257 +msgid "" +"`bpo-27278 `__: Fix os.urandom() " +"implementation using getrandom() on Linux. Truncate size to INT_MAX and loop " +"until we collected enough random bytes, instead of casting a directly " +"Py_ssize_t to int." +msgstr "" + +#: ../build/NEWS:15610 +msgid "" +"`bpo-16864 `__: sqlite3.Cursor.lastrowid " +"now supports REPLACE statement. Initial patch by Alex LordThorsen." +msgstr "" + +#: ../build/NEWS:15613 ../build/NEWS:18264 +msgid "" +"`bpo-26386 `__: Fixed ttk.TreeView " +"selection operations with item id's containing spaces." +msgstr "" + +#: ../build/NEWS:15616 +msgid "" +"`bpo-8637 `__: Honor a pager set by the " +"env var MANPAGER (in preference to one set by the env var PAGER)." +msgstr "" + +#: ../build/NEWS:15622 ../build/NEWS:18270 +msgid "" +"`bpo-22636 `__: Avoid shell injection " +"problems with ctypes.util.find_library()." +msgstr "" + +#: ../build/NEWS:15627 ../build/NEWS:18275 +msgid "" +"`bpo-16182 `__: Fix various functions in " +"the \"readline\" module to use the locale encoding, and fix get_begidx() and " +"get_endidx() to return code point indexes." +msgstr "" + +#: ../build/NEWS:15631 ../build/NEWS:18279 +msgid "" +"`bpo-27392 `__: Add loop." +"connect_accepted_socket(). Patch by Jim Fulton." +msgstr "" + +#: ../build/NEWS:15636 +msgid "" +"`bpo-27477 `__: IDLE search dialogs now " +"use ttk widgets." +msgstr "" + +#: ../build/NEWS:15642 +msgid "" +"`bpo-27452 `__: make command line \"idle-" +"test> python test_help.py\" work. __file__ is relative when python is " +"started in the file's directory." +msgstr "" + +#: ../build/NEWS:15647 +msgid "" +"`bpo-27380 `__: IDLE: add query.py with " +"base Query dialog and ttk widgets. Module had subclasses SectionName, " +"ModuleName, and HelpSource, which are used to get information from users by " +"configdialog and file =>Load Module. Each subclass has itw own validity " +"checks. Using ModuleName allows users to edit bad module names instead of " +"starting over. Add tests and delete the two files combined into the new one." +msgstr "" + +#: ../build/NEWS:15654 +msgid "" +"`bpo-27372 `__: Test_idle no longer " +"changes the locale." +msgstr "" + +#: ../build/NEWS:15656 ../build/NEWS:18371 +msgid "" +"`bpo-27365 `__: Allow non-ascii chars in " +"IDLE NEWS.txt, for contributor names." +msgstr "" + +#: ../build/NEWS:15658 ../build/NEWS:18373 +msgid "" +"`bpo-27245 `__: IDLE: Cleanly delete " +"custom themes and key bindings. Previously, when IDLE was started from a " +"console or by import, a cascade of warnings was emitted. Patch by Serhiy " +"Storchaka." +msgstr "" + +#: ../build/NEWS:15662 +msgid "" +"`bpo-24137 `__: Run IDLE, test_idle, and " +"htest with tkinter default root disabled. Fix code and tests that fail with " +"this restriction. Fix htests to not create a second and redundant root and " +"mainloop." +msgstr "" + +#: ../build/NEWS:15666 +msgid "" +"`bpo-27310 `__: Fix IDLE.app failure to " +"launch on OS X due to vestigial import." +msgstr "" + +#: ../build/NEWS:15671 +msgid "" +"`bpo-26754 `__: PyUnicode_FSDecoder() " +"accepted a filename argument encoded as an iterable of integers. Now only " +"strings and byte-like objects are accepted." +msgstr "" + +#: ../build/NEWS:15678 ../build/NEWS:18458 +msgid "" +"`bpo-28066 `__: Fix the logic that " +"searches build directories for generated include files when building outside " +"the source tree." +msgstr "" + +#: ../build/NEWS:15681 +msgid "" +"`bpo-27442 `__: Expose the Android API " +"level that python was built against, in sysconfig.get_config_vars() as " +"'ANDROID_API_LEVEL'." +msgstr "" + +#: ../build/NEWS:15684 +msgid "" +"`bpo-27434 `__: The interpreter that " +"runs the cross-build, found in PATH, must now be of the same feature version " +"(e.g. 3.6) as the source being built." +msgstr "" + +#: ../build/NEWS:15687 ../build/NEWS:18510 +msgid "" +"`bpo-26930 `__: Update Windows builds to " +"use OpenSSL 1.0.2h." +msgstr "" + +#: ../build/NEWS:15689 +msgid "" +"`bpo-23968 `__: Rename the platform " +"directory from plat-$(MACHDEP) to plat-$(PLATFORM_TRIPLET). Rename the " +"config directory (LIBPL) from config-$(LDVERSION) to config-$(LDVERSION)-" +"$(PLATFORM_TRIPLET). Install the platform specific _sysconfigdata module " +"into the platform directory and rename it to include the ABIFLAGS." +msgstr "" + +#: ../build/NEWS:15695 +msgid "Don't use largefile support for GNU/Hurd." +msgstr "" + +#: ../build/NEWS:15700 ../build/NEWS:18417 +msgid "" +"`bpo-27332 `__: Fixed the type of the " +"first argument of module-level functions generated by Argument Clinic. " +"Patch by Petr Viktorin." +msgstr "" + +#: ../build/NEWS:15703 ../build/NEWS:18420 +msgid "" +"`bpo-27418 `__: Fixed Tools/importbench/" +"importbench.py." +msgstr "" + +#: ../build/NEWS:15708 ../build/NEWS:19139 +msgid "" +"`bpo-19489 `__: Moved the search box " +"from the sidebar to the header and footer of each page. Patch by Ammar Askar." +msgstr "" + +#: ../build/NEWS:15711 +msgid "" +"`bpo-27285 `__: Update documentation to " +"reflect the deprecation of ``pyvenv`` and normalize on the term \"virtual " +"environment\". Patch by Steve Piercy." +msgstr "" + +#: ../build/NEWS:15717 +msgid "" +"`bpo-27027 `__: Added test.support." +"is_android that is True when this is an Android build." +msgstr "" + +#: ../build/NEWS:15722 +msgid "Python 3.6.0 alpha 2" +msgstr "" + +#: ../build/NEWS:15724 +msgid "*Release date: 2016-06-13*" +msgstr "" + +#: ../build/NEWS:15729 +msgid "" +"`bpo-27095 `__: Simplified MAKE_FUNCTION " +"and removed MAKE_CLOSURE opcodes. Patch by Demur Rumed." +msgstr "" + +#: ../build/NEWS:15732 +msgid "" +"`bpo-27190 `__: Raise NotSupportedError " +"if sqlite3 is older than 3.3.1. Patch by Dave Sawyer." +msgstr "" + +#: ../build/NEWS:15735 +msgid "" +"`bpo-27286 `__: Fixed compiling " +"BUILD_MAP_UNPACK_WITH_CALL opcode. Calling function with generalized " +"unpacking (PEP 448) and conflicting keyword names could cause undefined " +"behavior." +msgstr "" + +#: ../build/NEWS:15739 +msgid "" +"`bpo-27140 `__: Added " +"BUILD_CONST_KEY_MAP opcode." +msgstr "" + +#: ../build/NEWS:15741 +msgid "" +"`bpo-27186 `__: Add support for os." +"PathLike objects to open() (part of :pep:`519`)." +msgstr "" + +#: ../build/NEWS:15744 ../build/NEWS:18531 +msgid "" +"`bpo-27066 `__: Fixed SystemError if a " +"custom opener (for open()) returns a negative number without setting an " +"exception." +msgstr "" + +#: ../build/NEWS:15747 +msgid "" +"`bpo-26983 `__: float() now always " +"return an instance of exact float. The deprecation warning is emitted if " +"__float__ returns an instance of a strict subclass of float. In a future " +"versions of Python this can be an error." +msgstr "" + +#: ../build/NEWS:15752 +#, python-format +msgid "" +"`bpo-27097 `__: Python interpreter is " +"now about 7% faster due to optimized instruction decoding. Based on patch " +"by Demur Rumed." +msgstr "" + +#: ../build/NEWS:15755 +msgid "" +"`bpo-26647 `__: Python interpreter now " +"uses 16-bit wordcode instead of bytecode. Patch by Demur Rumed." +msgstr "" + +#: ../build/NEWS:15758 +msgid "" +"`bpo-23275 `__: Allow assigning to an " +"empty target list in round brackets: () = iterable." +msgstr "" + +#: ../build/NEWS:15761 ../build/NEWS:18653 +msgid "" +"`bpo-27243 `__: Update the __aiter__ " +"protocol: instead of returning an awaitable that resolves to an asynchronous " +"iterator, the asynchronous iterator should be returned directly. Doing the " +"former will trigger a PendingDeprecationWarning." +msgstr "" + +#: ../build/NEWS:15769 +msgid "" +"Comment out socket (SO_REUSEPORT) and posix (O_SHLOCK, O_EXLOCK) constants " +"exposed on the API which are not implemented on GNU/Hurd. They would not " +"work at runtime anyway." +msgstr "" + +#: ../build/NEWS:15773 +msgid "" +"`bpo-27025 `__: Generated names for " +"Tkinter widgets are now more meaningful and recognizable." +msgstr "" + +#: ../build/NEWS:15776 +msgid "" +"`bpo-25455 `__: Fixed crashes in repr of " +"recursive ElementTree.Element and functools.partial objects." +msgstr "" + +#: ../build/NEWS:15779 +msgid "" +"`bpo-27294 `__: Improved repr for " +"Tkinter event objects." +msgstr "" + +#: ../build/NEWS:15781 +msgid "" +"`bpo-20508 `__: Improve exception " +"message of IPv{4,6}Network.__getitem__. Patch by Gareth Rees." +msgstr "" + +#: ../build/NEWS:15787 ../build/NEWS:18661 +msgid "" +"`bpo-26556 `__: Update expat to 2.1.1, " +"fixes CVE-2015-1283." +msgstr "" + +#: ../build/NEWS:15789 +msgid "" +"Fix TLS stripping vulnerability in smtplib, CVE-2016-0772. Reported by Team " +"Oststrom." +msgstr "" + +#: ../build/NEWS:15795 ../build/NEWS:18669 +msgid "" +"`bpo-21386 `__: Implement missing " +"IPv4Address.is_global property. It was documented since 07a5610bae9d. " +"Initial patch by Roger Luethi." +msgstr "" + +#: ../build/NEWS:15798 +msgid "" +"`bpo-27029 `__: Removed deprecated " +"support of universal newlines mode from ZipFile.open()." +msgstr "" + +#: ../build/NEWS:15801 +msgid "" +"`bpo-27030 `__: Unknown escapes " +"consisting of ``'\\'`` and an ASCII letter in regular expressions now are " +"errors. The re.LOCALE flag now can be used only with bytes patterns." +msgstr "" + +#: ../build/NEWS:15805 +msgid "" +"`bpo-27186 `__: Add os.PathLike support " +"to DirEntry (part of :pep:`519`). Initial patch by Jelle Zijlstra." +msgstr "" + +#: ../build/NEWS:15808 ../build/NEWS:18672 +msgid "" +"`bpo-20900 `__: distutils register " +"command now decodes HTTP responses correctly. Initial patch by ingrid." +msgstr "" + +#: ../build/NEWS:15811 +msgid "" +"`bpo-27186 `__: Add os.PathLike support " +"to pathlib, removing its provisional status (part of PEP 519). Initial patch " +"by Dusty Phillips." +msgstr "" + +#: ../build/NEWS:15814 +msgid "" +"`bpo-27186 `__: Add support for os." +"PathLike objects to os.fsencode() and os.fsdecode() (part of :pep:`519`)." +msgstr "" + +#: ../build/NEWS:15817 +msgid "" +"`bpo-27186 `__: Introduce os.PathLike " +"and os.fspath() (part of :pep:`519`)." +msgstr "" + +#: ../build/NEWS:15819 ../build/NEWS:18675 +msgid "" +"A new version of typing.py provides several new classes and features: " +"@overload outside stubs, Reversible, DefaultDict, Text, ContextManager, " +"Type[], NewType(), TYPE_CHECKING, and numerous bug fixes (note that some of " +"the new features are not yet implemented in mypy or other static analyzers). " +"Also classes for :pep:`492` (Awaitable, AsyncIterable, AsyncIterator) have " +"been added (in fact they made it into 3.5.1 but were never mentioned)." +msgstr "" + +#: ../build/NEWS:15827 ../build/NEWS:18683 +msgid "" +"`bpo-25738 `__: Stop http.server." +"BaseHTTPRequestHandler.send_error() from sending a message body for 205 " +"Reset Content. Also, don't send Content header fields in responses that " +"don't have a body. Patch by Susumu Koshiba." +msgstr "" + +#: ../build/NEWS:15832 ../build/NEWS:18688 +msgid "" +"`bpo-21313 `__: Fix the \"platform\" " +"module to tolerate when sys.version contains truncated build information." +msgstr "" + +#: ../build/NEWS:15838 ../build/NEWS:18694 +msgid "" +"`bpo-26839 `__: On Linux, :func:`os." +"urandom` now calls ``getrandom()`` with ``GRND_NONBLOCK`` to fall back on " +"reading ``/dev/urandom`` if the urandom entropy pool is not initialized yet. " +"Patch written by Colm Buckley." +msgstr "" + +#: ../build/NEWS:15845 +msgid "" +"`bpo-23883 `__: Added missing APIs to " +"__all__ to match the documented APIs for the following modules: cgi, " +"mailbox, mimetypes, plistlib and smtpd. Patches by Jacek Kołodziej." +msgstr "" + +#: ../build/NEWS:15849 ../build/NEWS:18701 +msgid "" +"`bpo-27164 `__: In the zlib module, " +"allow decompressing raw Deflate streams with a predefined zdict. Based on " +"patch by Xiang Zhang." +msgstr "" + +#: ../build/NEWS:15852 ../build/NEWS:18704 +msgid "" +"`bpo-24291 `__: Fix wsgiref." +"simple_server.WSGIRequestHandler to completely write data to the client. " +"Previously it could do partial writes and truncate data. Also, wsgiref." +"handler.ServerHandler can now handle stdout doing partial writes, but this " +"is deprecated." +msgstr "" + +#: ../build/NEWS:15857 +msgid "" +"`bpo-21272 `__: Use _sysconfigdata.py to " +"initialize distutils.sysconfig." +msgstr "" + +#: ../build/NEWS:15859 +msgid "" +"`bpo-19611 `__: :mod:`inspect` now " +"reports the implicit ``.0`` parameters generated by the compiler for " +"comprehension and generator expression scopes as if they were positional-" +"only parameters called ``implicit0``. Patch by Jelle Zijlstra." +msgstr "" + +#: ../build/NEWS:15864 ../build/NEWS:18709 +msgid "" +"`bpo-26809 `__: Add ``__all__`` to :mod:" +"`string`. Patch by Emanuel Barry." +msgstr "" + +#: ../build/NEWS:15866 ../build/NEWS:18711 +msgid "" +"`bpo-26373 `__: subprocess.Popen." +"communicate now correctly ignores BrokenPipeError when the child process " +"dies before .communicate() is called in more/all circumstances." +msgstr "" + +#: ../build/NEWS:15870 +msgid "" +"signal, socket, and ssl module IntEnum constant name lookups now return a " +"consistent name for values having multiple names. Ex: signal.Signals(6) now " +"refers to itself as signal.SIGALRM rather than flipping between that and " +"signal.SIGIOT based on the interpreter's hash randomization seed." +msgstr "" + +#: ../build/NEWS:15875 +msgid "" +"`bpo-27167 `__: Clarify the subprocess." +"CalledProcessError error message text when the child process died due to a " +"signal." +msgstr "" + +#: ../build/NEWS:15878 +msgid "" +"`bpo-25931 `__: Don't define " +"socketserver.Forking* names on platforms such as Windows that do not support " +"os.fork()." +msgstr "" + +#: ../build/NEWS:15881 ../build/NEWS:18715 +msgid "" +"`bpo-21776 `__: distutils.upload now " +"correctly handles HTTPError. Initial patch by Claudiu Popa." +msgstr "" + +#: ../build/NEWS:15884 +msgid "" +"`bpo-26526 `__: Replace custom parse " +"tree validation in the parser module with a simple DFA validator." +msgstr "" + +#: ../build/NEWS:15887 ../build/NEWS:18718 +msgid "" +"`bpo-27114 `__: Fix SSLContext." +"_load_windows_store_certs fails with PermissionError" +msgstr "" + +#: ../build/NEWS:15890 ../build/NEWS:18721 +msgid "" +"`bpo-18383 `__: Avoid creating duplicate " +"filters when using filterwarnings and simplefilter. Based on patch by Alex " +"Shkop." +msgstr "" + +#: ../build/NEWS:15893 +msgid "" +"`bpo-23026 `__: winreg.QueryValueEx() " +"now return an integer for REG_QWORD type." +msgstr "" + +#: ../build/NEWS:15895 +msgid "" +"`bpo-26741 `__: subprocess.Popen " +"destructor now emits a ResourceWarning warning if the child process is still " +"running." +msgstr "" + +#: ../build/NEWS:15898 +#, python-format +msgid "" +"`bpo-27056 `__: Optimize pickle.load() " +"and pickle.loads(), up to 10% faster to deserialize a lot of small objects." +msgstr "" + +#: ../build/NEWS:15901 +msgid "" +"`bpo-21271 `__: New keyword only " +"parameters in reset_mock call." +msgstr "" + +#: ../build/NEWS:15906 ../build/NEWS:19086 +msgid "" +"`bpo-5124 `__: Paste with text selected " +"now replaces the selection on X11. This matches how paste works on Windows, " +"Mac, most modern Linux apps, and ttk widgets. Original patch by Serhiy " +"Storchaka." +msgstr "" + +#: ../build/NEWS:15910 +msgid "" +"`bpo-24750 `__: Switch all scrollbars in " +"IDLE to ttk versions. Where needed, minimal tests are added to cover changes." +msgstr "" + +#: ../build/NEWS:15913 +msgid "" +"`bpo-24759 `__: IDLE requires tk 8.5 and " +"availability ttk widgets. Delete now unneeded tk version tests and code for " +"older versions. Add test for IDLE syntax colorizer." +msgstr "" + +#: ../build/NEWS:15917 +msgid "" +"`bpo-27239 `__: idlelib.macosx.isXyzTk " +"functions initialize as needed." +msgstr "" + +#: ../build/NEWS:15919 +msgid "" +"`bpo-27262 `__: move Aqua unbinding " +"code, which enable context menus, to macosx." +msgstr "" + +#: ../build/NEWS:15922 ../build/NEWS:19090 +msgid "" +"`bpo-24759 `__: Make clear in idlelib." +"idle_test.__init__ that the directory is a private implementation of test." +"test_idle and tool for maintainers." +msgstr "" + +#: ../build/NEWS:15925 ../build/NEWS:19093 +msgid "" +"`bpo-27196 `__: Stop 'ThemeChanged' " +"warnings when running IDLE tests. These persisted after other warnings were " +"suppressed in #20567. Apply Serhiy Storchaka's update_idletasks solution to " +"four test files. Record this additional advice in idle_test/README.txt" +msgstr "" + +#: ../build/NEWS:15930 ../build/NEWS:19098 +msgid "" +"`bpo-20567 `__: Revise idle_test/README." +"txt with advice about avoiding tk warning messages from tests. Apply advice " +"to several IDLE tests." +msgstr "" + +#: ../build/NEWS:15933 +msgid "" +"`bpo-24225 `__: Update idlelib/README." +"txt with new file names and event handlers." +msgstr "" + +#: ../build/NEWS:15936 +msgid "" +"`bpo-27156 `__: Remove obsolete code not " +"used by IDLE." +msgstr "" + +#: ../build/NEWS:15938 ../build/NEWS:19101 +msgid "" +"`bpo-27117 `__: Make colorizer htest and " +"turtledemo work with dark themes. Move code for configuring text widget " +"colors to a new function." +msgstr "" + +#: ../build/NEWS:15941 +msgid "" +"`bpo-24225 `__: Rename many `idlelib/*." +"py` and `idle_test/test_*.py` files. Edit files to replace old names with " +"new names when the old name referred to the module rather than the class it " +"contained. See the issue and IDLE section in What's New in 3.6 for more." +msgstr "" + +#: ../build/NEWS:15946 ../build/NEWS:19104 +msgid "" +"`bpo-26673 `__: When tk reports font " +"size as 0, change to size 10. Such fonts on Linux prevented the " +"configuration dialog from opening." +msgstr "" + +#: ../build/NEWS:15949 ../build/NEWS:19107 +msgid "" +"`bpo-21939 `__: Add test for IDLE's " +"percolator. Original patch by Saimadhav Heblikar." +msgstr "" + +#: ../build/NEWS:15952 ../build/NEWS:19110 +msgid "" +"`bpo-21676 `__: Add test for IDLE's " +"replace dialog. Original patch by Saimadhav Heblikar." +msgstr "" + +#: ../build/NEWS:15955 ../build/NEWS:19113 +msgid "" +"`bpo-18410 `__: Add test for IDLE's " +"search dialog. Original patch by Westley Martínez." +msgstr "" + +#: ../build/NEWS:15958 +msgid "" +"`bpo-21703 `__: Add test for undo " +"delegator. Patch mostly by Saimadhav Heblikar ." +msgstr "" + +#: ../build/NEWS:15961 ../build/NEWS:19119 +msgid "" +"`bpo-27044 `__: Add ConfigDialog." +"remove_var_callbacks to stop memory leaks." +msgstr "" + +#: ../build/NEWS:15963 ../build/NEWS:19121 +msgid "" +"`bpo-23977 `__: Add more asserts to " +"test_delegator." +msgstr "" + +#: ../build/NEWS:15968 +msgid "" +"`bpo-16484 `__: Change the default " +"PYTHONDOCS URL to \"https:\", and fix the resulting links to use lowercase. " +"Patch by Sean Rodman, test by Kaushik Nadikuditi." +msgstr "" + +#: ../build/NEWS:15972 ../build/NEWS:19142 +msgid "" +"`bpo-24136 `__: Document the new :pep:" +"`448` unpacking syntax of 3.5." +msgstr "" + +#: ../build/NEWS:15974 ../build/NEWS:19703 +msgid "" +"`bpo-22558 `__: Add remaining doc links " +"to source code for Python-coded modules. Patch by Yoni Lavi." +msgstr "" + +#: ../build/NEWS:15980 +msgid "" +"`bpo-25285 `__: regrtest now uses " +"subprocesses when the -j1 command line option is used: each test file runs " +"in a fresh child process. Before, the -j1 option was ignored." +msgstr "" + +#: ../build/NEWS:15984 +msgid "" +"`bpo-25285 `__: Tools/buildbot/test.bat " +"script now uses -j1 by default to run each test file in fresh child process." +msgstr "" + +#: ../build/NEWS:15990 +msgid "" +"`bpo-27064 `__: The py.exe launcher now " +"defaults to Python 3. The Windows launcher ``py.exe`` no longer prefers an " +"installed Python 2 version over Python 3 by default when used interactively." +msgstr "" + +#: ../build/NEWS:15997 ../build/NEWS:19193 +msgid "" +"`bpo-27229 `__: Fix the cross-compiling " +"pgen rule for in-tree builds. Patch by Xavier de Gaye." +msgstr "" + +#: ../build/NEWS:16000 ../build/NEWS:19230 +msgid "" +"`bpo-26930 `__: Update OS X 10.5+ 32-bit-" +"only installer to build and link with OpenSSL 1.0.2h." +msgstr "" + +#: ../build/NEWS:16006 ../build/NEWS:19276 +msgid "" +"`bpo-17500 `__: Remove unused and " +"outdated icons. (See also: https://github.com/python/pythondotorg/issues/945)" +msgstr "" + +#: ../build/NEWS:16012 +msgid "" +"`bpo-27186 `__: Add the PyOS_FSPath() " +"function (part of :pep:`519`)." +msgstr "" + +#: ../build/NEWS:16014 +msgid "" +"`bpo-26282 `__: " +"PyArg_ParseTupleAndKeywords() now supports positional-only parameters." +msgstr "" + +#: ../build/NEWS:16020 +msgid "" +"`bpo-26282 `__: Argument Clinic now " +"supports positional-only and keyword parameters in the same function." +msgstr "" + +#: ../build/NEWS:16025 +msgid "Python 3.6.0 alpha 1" +msgstr "" + +#: ../build/NEWS:16027 +msgid "*Release date: 2016-05-16*" +msgstr "" + +#: ../build/NEWS:16032 ../build/NEWS:18534 +msgid "" +"`bpo-20041 `__: Fixed TypeError when " +"frame.f_trace is set to None. Patch by Xavier de Gaye." +msgstr "" + +#: ../build/NEWS:16035 ../build/NEWS:18537 +msgid "" +"`bpo-26168 `__: Fixed possible refleaks " +"in failing Py_BuildValue() with the \"N\" format unit." +msgstr "" + +#: ../build/NEWS:16038 ../build/NEWS:18540 +msgid "" +"`bpo-26991 `__: Fix possible refleak " +"when creating a function with annotations." +msgstr "" + +#: ../build/NEWS:16040 +msgid "" +"`bpo-27039 `__: Fixed bytearray.remove() " +"for values greater than 127. Based on patch by Joe Jevnik." +msgstr "" + +#: ../build/NEWS:16043 ../build/NEWS:18545 +msgid "" +"`bpo-23640 `__: int.from_bytes() no " +"longer bypasses constructors for subclasses." +msgstr "" + +#: ../build/NEWS:16046 +msgid "" +"`bpo-27005 `__: Optimized the float." +"fromhex() class method for exact float. It is now 2 times faster." +msgstr "" + +#: ../build/NEWS:16049 +msgid "" +"`bpo-18531 `__: Single var-keyword " +"argument of dict subtype was passed unscathed to the C-defined function. " +"Now it is converted to exact dict." +msgstr "" + +#: ../build/NEWS:16052 ../build/NEWS:18548 +msgid "" +"`bpo-26811 `__: gc.get_objects() no " +"longer contains a broken tuple with NULL pointer." +msgstr "" + +#: ../build/NEWS:16055 ../build/NEWS:18551 +msgid "" +"`bpo-20120 `__: Use RawConfigParser for ." +"pypirc parsing, removing support for interpolation unintentionally added " +"with move to Python 3. Behavior no longer does any interpolation in .pypirc " +"files, matching behavior in Python 2.7 and Setuptools 19.0." +msgstr "" + +#: ../build/NEWS:16060 +msgid "" +"`bpo-26249 `__: Memory functions of the :" +"c:func:`PyMem_Malloc` domain (:c:data:`PYMEM_DOMAIN_MEM`) now use the :ref:" +"`pymalloc allocator ` rather than system :c:func:`malloc`. " +"Applications calling :c:func:`PyMem_Malloc` without holding the GIL can now " +"crash: use ``PYTHONMALLOC=debug`` environment variable to validate the usage " +"of memory allocators in your application." +msgstr "" + +#: ../build/NEWS:16067 +msgid "" +"`bpo-26802 `__: Optimize function calls " +"only using unpacking like ``func(*tuple)`` (no other positional argument, no " +"keyword): avoid copying the tuple. Patch written by Joe Jevnik." +msgstr "" + +#: ../build/NEWS:16071 ../build/NEWS:18556 +msgid "" +"`bpo-26659 `__: Make the builtin slice " +"type support cycle collection." +msgstr "" + +#: ../build/NEWS:16073 ../build/NEWS:18558 +msgid "" +"`bpo-26718 `__: super.__init__ no longer " +"leaks memory if called multiple times. NOTE: A direct call of super.__init__ " +"is not endorsed!" +msgstr "" + +#: ../build/NEWS:16076 ../build/NEWS:18588 +msgid "" +"`bpo-27138 `__: Fix the doc comment for " +"FileFinder.find_spec()." +msgstr "" + +#: ../build/NEWS:16078 ../build/NEWS:18632 +msgid "" +"`bpo-27147 `__: Mention :pep:`420` in " +"the importlib docs." +msgstr "" + +#: ../build/NEWS:16080 ../build/NEWS:18561 +msgid "" +"`bpo-25339 `__: PYTHONIOENCODING now has " +"priority over locale in setting the error handler for stdin and stdout." +msgstr "" + +#: ../build/NEWS:16083 ../build/NEWS:18564 +msgid "" +"`bpo-26494 `__: Fixed crash on iterating " +"exhausting iterators. Affected classes are generic sequence iterators, " +"iterators of str, bytes, bytearray, list, tuple, set, frozenset, dict, " +"OrderedDict, corresponding views and os.scandir() iterator." +msgstr "" + +#: ../build/NEWS:16088 +msgid "" +"`bpo-26574 `__: Optimize ``bytes." +"replace(b'', b'.')`` and ``bytearray.replace(b'', b'.')``. Patch written by " +"Josh Snider." +msgstr "" + +#: ../build/NEWS:16091 ../build/NEWS:18569 +msgid "" +"`bpo-26581 `__: If coding cookie is " +"specified multiple times on a line in Python source code file, only the " +"first one is taken to account." +msgstr "" + +#: ../build/NEWS:16094 +msgid "" +"`bpo-19711 `__: Add tests for reloading " +"namespace packages." +msgstr "" + +#: ../build/NEWS:16096 +msgid "" +"`bpo-21099 `__: Switch applicable " +"importlib tests to use :pep:`451` API." +msgstr "" + +#: ../build/NEWS:16098 +msgid "" +"`bpo-26563 `__: Debug hooks on Python " +"memory allocators now raise a fatal error if functions of the :c:func:" +"`PyMem_Malloc` family are called without holding the GIL." +msgstr "" + +#: ../build/NEWS:16102 +msgid "" +"`bpo-26564 `__: On error, the debug " +"hooks on Python memory allocators now use the :mod:`tracemalloc` module to " +"get the traceback where a memory block was allocated." +msgstr "" + +#: ../build/NEWS:16106 +msgid "" +"`bpo-26558 `__: The debug hooks on " +"Python memory allocator :c:func:`PyObject_Malloc` now detect when functions " +"are called without holding the GIL." +msgstr "" + +#: ../build/NEWS:16110 +msgid "" +"`bpo-26516 `__: Add :envvar:" +"`PYTHONMALLOC` environment variable to set the Python memory allocators and/" +"or install debug hooks." +msgstr "" + +#: ../build/NEWS:16113 +msgid "" +"`bpo-26516 `__: The :c:func:" +"`PyMem_SetupDebugHooks` function can now also be used on Python compiled in " +"release mode." +msgstr "" + +#: ../build/NEWS:16116 +msgid "" +"`bpo-26516 `__: The :envvar:" +"`PYTHONMALLOCSTATS` environment variable can now also be used on Python " +"compiled in release mode. It now has no effect if set to an empty string." +msgstr "" + +#: ../build/NEWS:16120 +msgid "" +"`bpo-26516 `__: In debug mode, debug " +"hooks are now also installed on Python memory allocators when Python is " +"configured without pymalloc." +msgstr "" + +#: ../build/NEWS:16123 ../build/NEWS:18572 +msgid "" +"`bpo-26464 `__: Fix str.translate() when " +"string is ASCII and first replacements removes character, but next " +"replacement uses a non-ASCII character or a string longer than 1 character. " +"Regression introduced in Python 3.5.0." +msgstr "" + +#: ../build/NEWS:16127 ../build/NEWS:18576 +msgid "" +"`bpo-22836 `__: Ensure exception reports " +"from PyErr_Display() and PyErr_WriteUnraisable() are sensible even when " +"formatting them produces secondary errors. This affects the reports " +"produced by sys.__excepthook__() and when __del__() raises an exception." +msgstr "" + +#: ../build/NEWS:16132 ../build/NEWS:18581 +msgid "" +"`bpo-26302 `__: Correct behavior to " +"reject comma as a legal character for cookie names." +msgstr "" + +#: ../build/NEWS:16135 +msgid "" +"`bpo-26136 `__: Upgrade the warning when " +"a generator raises StopIteration from PendingDeprecationWarning to " +"DeprecationWarning. Patch by Anish Shah." +msgstr "" + +#: ../build/NEWS:16138 +msgid "" +"`bpo-26204 `__: The compiler now ignores " +"all constant statements: bytes, str, int, float, complex, name constants " +"(None, False, True), Ellipsis and ast.Constant; not only str and int. For " +"example, ``1.0`` is now ignored in ``def f(): 1.0``." +msgstr "" + +#: ../build/NEWS:16143 ../build/NEWS:18584 +msgid "" +"`bpo-4806 `__: Avoid masking the original " +"TypeError exception when using star (``*``) unpacking in function calls. " +"Based on patch by Hagen Fürstenau and Daniel Urban." +msgstr "" + +#: ../build/NEWS:16147 +msgid "" +"`bpo-26146 `__: Add a new kind of AST " +"node: ``ast.Constant``. It can be used by external AST optimizers, but the " +"compiler does not emit directly such node." +msgstr "" + +#: ../build/NEWS:16151 +msgid "" +"`bpo-23601 `__: Sped-up allocation of " +"dict key objects by using Python's small object allocator. (Contributed by " +"Julian Taylor.)" +msgstr "" + +#: ../build/NEWS:16154 +msgid "" +"`bpo-18018 `__: Import raises " +"ImportError instead of SystemError if a relative import is attempted without " +"a known parent package." +msgstr "" + +#: ../build/NEWS:16157 +msgid "" +"`bpo-25843 `__: When compiling code, " +"don't merge constants if they are equal but have a different types. For " +"example, ``f1, f2 = lambda: 1, lambda: 1.0`` is now correctly compiled to " +"two different functions: ``f1()`` returns ``1`` (``int``) and ``f2()`` " +"returns ``1.0`` (``float``), even if ``1`` and ``1.0`` are equal." +msgstr "" + +#: ../build/NEWS:16163 +msgid "" +"`bpo-26107 `__: The format of the " +"``co_lnotab`` attribute of code objects changes to support negative line " +"number delta." +msgstr "" + +#: ../build/NEWS:16166 ../build/NEWS:18590 +msgid "" +"`bpo-26154 `__: Add a new private " +"_PyThreadState_UncheckedGet() function to get the current Python thread " +"state, but don't issue a fatal error if it is NULL. This new function must " +"be used instead of accessing directly the _PyThreadState_Current variable. " +"The variable is no more exposed since Python 3.5.1 to hide the exact " +"implementation of atomic C types, to avoid compiler issues." +msgstr "" + +#: ../build/NEWS:16173 +msgid "" +"`bpo-25791 `__: If __package__ != " +"__spec__.parent or if neither __package__ or __spec__ are defined then " +"ImportWarning is raised." +msgstr "" + +#: ../build/NEWS:16176 ../build/NEWS:18607 +msgid "" +"`bpo-22995 `__: [UPDATE] Comment out the " +"one of the pickleability tests in _PyObject_GetState() due to regressions " +"observed in Cython-based projects." +msgstr "" + +#: ../build/NEWS:16179 ../build/NEWS:18610 +msgid "" +"`bpo-25961 `__: Disallowed null " +"characters in the type name." +msgstr "" + +#: ../build/NEWS:16181 ../build/NEWS:18612 +msgid "" +"`bpo-25973 `__: Fix segfault when an " +"invalid nonlocal statement binds a name starting with two underscores." +msgstr "" + +#: ../build/NEWS:16184 ../build/NEWS:18615 +msgid "" +"`bpo-22995 `__: Instances of extension " +"types with a state that aren't subclasses of list or dict and haven't " +"implemented any pickle-related methods (__reduce__, __reduce_ex__, " +"__getnewargs__, __getnewargs_ex__, or __getstate__), can no longer be " +"pickled. Including memoryview." +msgstr "" + +#: ../build/NEWS:16189 ../build/NEWS:18620 +msgid "" +"`bpo-20440 `__: Massive replacing unsafe " +"attribute setting code with special macro Py_SETREF." +msgstr "" + +#: ../build/NEWS:16192 ../build/NEWS:18623 +msgid "" +"`bpo-25766 `__: Special method " +"__bytes__() now works in str subclasses." +msgstr "" + +#: ../build/NEWS:16194 ../build/NEWS:18625 +msgid "" +"`bpo-25421 `__: __sizeof__ methods of " +"builtin types now use dynamic basic size. This allows sys.getsize() to work " +"correctly with their subclasses with __slots__ defined." +msgstr "" + +#: ../build/NEWS:16198 ../build/NEWS:18629 ../build/NEWS:19288 +msgid "" +"`bpo-25709 `__: Fixed problem with in-" +"place string concatenation and utf-8 cache." +msgstr "" + +#: ../build/NEWS:16201 +msgid "" +"`bpo-5319 `__: New Py_FinalizeEx() API " +"allowing Python to set an exit status of 120 on failure to flush buffered " +"streams." +msgstr "" + +#: ../build/NEWS:16204 +msgid "" +"`bpo-25485 `__: telnetlib.Telnet is now " +"a context manager." +msgstr "" + +#: ../build/NEWS:16206 ../build/NEWS:18634 +msgid "" +"`bpo-24097 `__: Fixed crash in object." +"__reduce__() if slot name is freed inside __getattr__." +msgstr "" + +#: ../build/NEWS:16209 ../build/NEWS:18637 +msgid "" +"`bpo-24731 `__: Fixed crash on " +"converting objects with special methods __bytes__, __trunc__, and __float__ " +"returning instances of subclasses of bytes, int, and float to subclasses of " +"bytes, int, and float correspondingly." +msgstr "" + +#: ../build/NEWS:16214 ../build/NEWS:19306 +msgid "" +"`bpo-25630 `__: Fix a possible segfault " +"during argument parsing in functions that accept filesystem paths." +msgstr "" + +#: ../build/NEWS:16217 ../build/NEWS:19309 +msgid "" +"`bpo-23564 `__: Fixed a partially broken " +"sanity check in the _posixsubprocess internals regarding how fds_to_pass " +"were passed to the child. The bug had no actual impact as subprocess.py " +"already avoided it." +msgstr "" + +#: ../build/NEWS:16221 ../build/NEWS:19313 +msgid "" +"`bpo-25388 `__: Fixed tokenizer crash " +"when processing undecodable source code with a null byte." +msgstr "" + +#: ../build/NEWS:16224 ../build/NEWS:19316 +msgid "" +"`bpo-25462 `__: The hash of the key now " +"is calculated only once in most operations in C implementation of " +"OrderedDict." +msgstr "" + +#: ../build/NEWS:16227 ../build/NEWS:19319 +msgid "" +"`bpo-22995 `__: Default implementation " +"of __reduce__ and __reduce_ex__ now rejects builtin types with not defined " +"__new__." +msgstr "" + +#: ../build/NEWS:16230 ../build/NEWS:19325 +msgid "" +"`bpo-24802 `__: Avoid buffer overreads " +"when int(), float(), compile(), exec() and eval() are passed bytes-like " +"objects. These objects are not necessarily terminated by a null byte, but " +"the functions assumed they were." +msgstr "" + +#: ../build/NEWS:16235 ../build/NEWS:19322 +msgid "" +"`bpo-25555 `__: Fix parser and AST: fill " +"lineno and col_offset of \"arg\" node when compiling AST from Python objects." +msgstr "" + +#: ../build/NEWS:16238 ../build/NEWS:19330 +msgid "" +"`bpo-24726 `__: Fixed a crash and " +"leaking NULL in repr() of OrderedDict that was mutated by direct calls of " +"dict methods." +msgstr "" + +#: ../build/NEWS:16241 ../build/NEWS:19333 +msgid "" +"`bpo-25449 `__: Iterating OrderedDict " +"with keys with unstable hash now raises KeyError in C implementations as " +"well as in Python implementation." +msgstr "" + +#: ../build/NEWS:16244 ../build/NEWS:19336 +msgid "" +"`bpo-25395 `__: Fixed crash when highly " +"nested OrderedDict structures were garbage collected." +msgstr "" + +#: ../build/NEWS:16247 +msgid "" +"`bpo-25401 `__: Optimize bytes.fromhex() " +"and bytearray.fromhex(): they are now between 2x and 3.5x faster." +msgstr "" + +#: ../build/NEWS:16250 +msgid "" +"`bpo-25399 `__: Optimize bytearray % " +"args using the new private _PyBytesWriter API. Formatting is now between 2.5 " +"and 5 times faster." +msgstr "" + +#: ../build/NEWS:16253 ../build/NEWS:19339 +msgid "" +"`bpo-25274 `__: sys.setrecursionlimit() " +"now raises a RecursionError if the new recursion limit is too low depending " +"at the current recursion depth. Modify also the \"lower-water mark\" formula " +"to make it monotonic. This mark is used to decide when the overflowed flag " +"of the thread state is reset." +msgstr "" + +#: ../build/NEWS:16258 ../build/NEWS:19344 +msgid "" +"`bpo-24402 `__: Fix input() to prompt to " +"the redirected stdout when sys.stdout.fileno() fails." +msgstr "" + +#: ../build/NEWS:16261 +msgid "" +"`bpo-25349 `__: Optimize bytes % args " +"using the new private _PyBytesWriter API. Formatting is now up to 2 times " +"faster." +msgstr "" + +#: ../build/NEWS:16264 ../build/NEWS:19347 +msgid "" +"`bpo-24806 `__: Prevent builtin types " +"that are not allowed to be subclassed from being subclassed through multiple " +"inheritance." +msgstr "" + +#: ../build/NEWS:16267 +msgid "" +"`bpo-25301 `__: The UTF-8 decoder is now " +"up to 15 times as fast for error handlers: ``ignore``, ``replace`` and " +"``surrogateescape``." +msgstr "" + +#: ../build/NEWS:16270 ../build/NEWS:19350 +msgid "" +"`bpo-24848 `__: Fixed a number of bugs " +"in UTF-7 decoding of misformed data." +msgstr "" + +#: ../build/NEWS:16272 +msgid "" +"`bpo-25267 `__: The UTF-8 encoder is now " +"up to 75 times as fast for error handlers: ``ignore``, ``replace``, " +"``surrogateescape``, ``surrogatepass``. Patch co-written with Serhiy " +"Storchaka." +msgstr "" + +#: ../build/NEWS:16276 ../build/NEWS:19352 +msgid "" +"`bpo-25280 `__: Import trace messages " +"emitted in verbose (-v) mode are no longer formatted twice." +msgstr "" + +#: ../build/NEWS:16279 +msgid "" +"`bpo-25227 `__: Optimize ASCII and " +"latin1 encoders with the ``surrogateescape`` error handler: the encoders are " +"now up to 3 times as fast. Initial patch written by Serhiy Storchaka." +msgstr "" + +#: ../build/NEWS:16283 ../build/NEWS:19355 +msgid "" +"`bpo-25003 `__: On Solaris 11.3 or " +"newer, os.urandom() now uses the getrandom() function instead of the " +"getentropy() function. The getentropy() function is blocking to generate " +"very good quality entropy, os.urandom() doesn't need such high-quality " +"entropy." +msgstr "" + +#: ../build/NEWS:16288 +msgid "" +"`bpo-9232 `__: Modify Python's grammar to " +"allow trailing commas in the argument list of a function declaration. For " +"example, \"def f(\\*, a = 3,): pass\" is now legal. Patch from Mark " +"Dickinson." +msgstr "" + +#: ../build/NEWS:16292 +msgid "" +"`bpo-24965 `__: Implement :pep:`498` " +"\"Literal String Interpolation\". This allows you to embed expressions " +"inside f-strings, which are converted to normal strings at run time. Given " +"x=3, then f'value={x}' == 'value=3'. Patch by Eric V. Smith." +msgstr "" + +#: ../build/NEWS:16297 ../build/NEWS:18642 +msgid "" +"`bpo-26478 `__: Fix semantic bugs when " +"using binary operators with dictionary views and tuples." +msgstr "" + +#: ../build/NEWS:16300 ../build/NEWS:18645 +msgid "" +"`bpo-26171 `__: Fix possible integer " +"overflow and heap corruption in zipimporter.get_data()." +msgstr "" + +#: ../build/NEWS:16303 ../build/NEWS:18648 +msgid "" +"`bpo-25660 `__: Fix TAB key behaviour in " +"REPL with readline." +msgstr "" + +#: ../build/NEWS:16305 +msgid "" +"`bpo-26288 `__: Optimize PyLong_AsDouble." +msgstr "" + +#: ../build/NEWS:16307 +#, python-format +msgid "" +"`bpo-26289 `__: Optimize floor and " +"modulo division for single-digit longs. Microbenchmarks show 2-2.5x " +"improvement. Built-in 'divmod' function is now also ~10% faster. (See also: " +"`bpo-26315 `__)" +msgstr "" + +#: ../build/NEWS:16311 ../build/NEWS:18650 +msgid "" +"`bpo-25887 `__: Raise a RuntimeError " +"when a coroutine object is awaited more than once." +msgstr "" + +#: ../build/NEWS:16317 ../build/NEWS:18724 +msgid "" +"`bpo-27057 `__: Fix os.set_inheritable() " +"on Android, ioctl() is blocked by SELinux and fails with EACCESS. The " +"function now falls back to fcntl(). Patch written by Michał Bednarski." +msgstr "" + +#: ../build/NEWS:16321 ../build/NEWS:18728 +msgid "" +"`bpo-27014 `__: Fix infinite recursion " +"using typing.py. Thanks to Kalle Tuure!" +msgstr "" + +#: ../build/NEWS:16323 +msgid "" +"`bpo-27031 `__: Removed dummy methods in " +"Tkinter widget classes: tk_menuBar() and tk_bindForTraversal()." +msgstr "" + +#: ../build/NEWS:16326 ../build/NEWS:18730 +msgid "" +"`bpo-14132 `__: Fix urllib.request " +"redirect handling when the target only has a query string. Original fix by " +"Ján Janech." +msgstr "" + +#: ../build/NEWS:16329 ../build/NEWS:18733 +msgid "" +"`bpo-17214 `__: The \"urllib.request\" " +"module now percent-encodes non-ASCII bytes found in redirect target URLs. " +"Some servers send Location header fields with non-ASCII bytes, but \"http." +"client\" requires the request target to be ASCII-encodable, otherwise a " +"UnicodeEncodeError is raised. Based on patch by Christian Heimes." +msgstr "" + +#: ../build/NEWS:16335 +msgid "" +"`bpo-27033 `__: The default value of the " +"decode_data parameter for smtpd.SMTPChannel and smtpd.SMTPServer " +"constructors is changed to False." +msgstr "" + +#: ../build/NEWS:16338 +msgid "" +"`bpo-27034 `__: Removed deprecated class " +"asynchat.fifo." +msgstr "" + +#: ../build/NEWS:16340 +msgid "" +"`bpo-26870 `__: Added readline." +"set_auto_history(), which can stop entries being automatically added to the " +"history list. Based on patch by Tyler Crompton." +msgstr "" + +#: ../build/NEWS:16344 +msgid "" +"`bpo-26039 `__: zipfile.ZipFile.open() " +"can now be used to write data into a ZIP file, as well as for extracting " +"data. Patch by Thomas Kluyver." +msgstr "" + +#: ../build/NEWS:16347 ../build/NEWS:18739 +msgid "" +"`bpo-26892 `__: Honor debuglevel flag in " +"urllib.request.HTTPHandler. Patch contributed by Chi Hsuan Yen." +msgstr "" + +#: ../build/NEWS:16350 ../build/NEWS:18742 +msgid "" +"`bpo-22274 `__: In the subprocess " +"module, allow stderr to be redirected to stdout even when stdout is not " +"redirected. Patch by Akira Li." +msgstr "" + +#: ../build/NEWS:16353 ../build/NEWS:18745 +msgid "" +"`bpo-26807 `__: mock_open 'files' no " +"longer error on readline at end of file. Patch from Yolanda Robla." +msgstr "" + +#: ../build/NEWS:16356 ../build/NEWS:18748 +msgid "" +"`bpo-25745 `__: Fixed leaking a userptr " +"in curses panel destructor." +msgstr "" + +#: ../build/NEWS:16358 ../build/NEWS:18750 +msgid "" +"`bpo-26977 `__: Removed unnecessary, and " +"ignored, call to sum of squares helper in statistics.pvariance." +msgstr "" + +#: ../build/NEWS:16361 +msgid "" +"`bpo-26002 `__: Use bisect in statistics." +"median instead of a linear search. Patch by Upendra Kuma." +msgstr "" + +#: ../build/NEWS:16364 +msgid "" +"`bpo-25974 `__: Make use of new Decimal." +"as_integer_ratio() method in statistics module. Patch by Stefan Krah." +msgstr "" + +#: ../build/NEWS:16367 +msgid "" +"`bpo-26996 `__: Add secrets module as " +"described in :pep:`506`." +msgstr "" + +#: ../build/NEWS:16369 ../build/NEWS:18753 +msgid "" +"`bpo-26881 `__: The modulefinder module " +"now supports extended opcode arguments." +msgstr "" + +#: ../build/NEWS:16371 ../build/NEWS:18755 +msgid "" +"`bpo-23815 `__: Fixed crashes related to " +"directly created instances of types in _tkinter and curses.panel modules." +msgstr "" + +#: ../build/NEWS:16374 ../build/NEWS:18758 +msgid "" +"`bpo-17765 `__: weakref.ref() no longer " +"silently ignores keyword arguments. Patch by Georg Brandl." +msgstr "" + +#: ../build/NEWS:16377 ../build/NEWS:18761 +msgid "" +"`bpo-26873 `__: xmlrpc now raises " +"ResponseError on unsupported type tags instead of silently return incorrect " +"result." +msgstr "" + +#: ../build/NEWS:16380 +msgid "" +"`bpo-26915 `__: The __contains__ methods " +"in the collections ABCs now check for identity before checking equality. " +"This better matches the behavior of the concrete classes, allows sensible " +"handling of NaNs, and makes it easier to reason about container invariants." +msgstr "" + +#: ../build/NEWS:16385 ../build/NEWS:18764 +msgid "" +"`bpo-26711 `__: Fixed the comparison of " +"plistlib.Data with other types." +msgstr "" + +#: ../build/NEWS:16387 ../build/NEWS:18766 +msgid "" +"`bpo-24114 `__: Fix an uninitialized " +"variable in `ctypes.util`. The bug only occurs on SunOS when the ctypes " +"implementation searches for the `crle` program. Patch by Xiang Zhang. " +"Tested on SunOS by Kees Bos." +msgstr "" + +#: ../build/NEWS:16391 ../build/NEWS:18770 +msgid "" +"`bpo-26864 `__: In urllib.request, " +"change the proxy bypass host checking against no_proxy to be case-" +"insensitive, and to not match unrelated host names that happen to have a " +"bypassed hostname as a suffix. Patch by Xiang Zhang." +msgstr "" + +#: ../build/NEWS:16396 +msgid "" +"`bpo-24902 `__: Print server URL on http." +"server startup. Initial patch by Felix Kaiser." +msgstr "" + +#: ../build/NEWS:16399 +msgid "" +"`bpo-25788 `__: fileinput.hook_encoded() " +"now supports an \"errors\" argument for passing to open. Original patch by " +"Joseph Hackman." +msgstr "" + +#: ../build/NEWS:16402 ../build/NEWS:18775 +msgid "" +"`bpo-26634 `__: recursive_repr() now " +"sets __qualname__ of wrapper. Patch by Xiang Zhang." +msgstr "" + +#: ../build/NEWS:16405 ../build/NEWS:18778 +msgid "" +"`bpo-26804 `__: urllib.request will " +"prefer lower_case proxy environment variables over UPPER_CASE or Mixed_Case " +"ones. Patch contributed by Hans-Peter Jansen." +msgstr "" + +#: ../build/NEWS:16409 ../build/NEWS:18782 +msgid "" +"`bpo-26837 `__: assertSequenceEqual() " +"now correctly outputs non-stringified differing items (like bytes in the -b " +"mode). This affects assertListEqual() and assertTupleEqual()." +msgstr "" + +#: ../build/NEWS:16413 ../build/NEWS:18786 +msgid "" +"`bpo-26041 `__: Remove \"will be removed " +"in Python 3.7\" from deprecation messages of platform.dist() and platform." +"linux_distribution(). Patch by Kumaripaba Miyurusara Athukorala." +msgstr "" + +#: ../build/NEWS:16417 ../build/NEWS:18790 +msgid "" +"`bpo-26822 `__: itemgetter, attrgetter " +"and methodcaller objects no longer silently ignore keyword arguments." +msgstr "" + +#: ../build/NEWS:16420 ../build/NEWS:18793 +msgid "" +"`bpo-26733 `__: Disassembling a class " +"now disassembles class and static methods. Patch by Xiang Zhang." +msgstr "" + +#: ../build/NEWS:16423 ../build/NEWS:18796 +msgid "" +"`bpo-26801 `__: Fix error handling in :" +"func:`shutil.get_terminal_size`, catch :exc:`AttributeError` instead of :exc:" +"`NameError`. Patch written by Emanuel Barry." +msgstr "" + +#: ../build/NEWS:16427 ../build/NEWS:18800 +msgid "" +"`bpo-24838 `__: tarfile's ustar and gnu " +"formats now correctly calculate name and link field limits for multibyte " +"character encodings like utf-8." +msgstr "" + +#: ../build/NEWS:16433 ../build/NEWS:18806 +msgid "" +"`bpo-26657 `__: Fix directory traversal " +"vulnerability with http.server on Windows. This fixes a regression that was " +"introduced in 3.3.4rc1 and 3.4.0rc1. Based on patch by Philipp Hagemeister." +msgstr "" + +#: ../build/NEWS:16440 ../build/NEWS:18813 +msgid "" +"`bpo-26717 `__: Stop encoding Latin-1-" +"ized WSGI paths with UTF-8. Patch by Anthony Sottile." +msgstr "" + +#: ../build/NEWS:16443 +msgid "" +"`bpo-26782 `__: Add STARTUPINFO to " +"subprocess.__all__ on Windows." +msgstr "" + +#: ../build/NEWS:16445 +msgid "" +"`bpo-26404 `__: Add context manager to " +"socketserver. Patch by Aviv Palivoda." +msgstr "" + +#: ../build/NEWS:16447 ../build/NEWS:18816 +msgid "" +"`bpo-26735 `__: Fix :func:`os.urandom` " +"on Solaris 11.3 and newer when reading more than 1,024 bytes: call " +"``getrandom()`` multiple times with a limit of 1024 bytes per call." +msgstr "" + +#: ../build/NEWS:16451 +msgid "" +"`bpo-26585 `__: Eliminate http.server." +"_quote_html() and use html.escape(quote=False). Patch by Xiang Zhang." +msgstr "" + +#: ../build/NEWS:16454 +msgid "" +"`bpo-26685 `__: Raise OSError if closing " +"a socket fails." +msgstr "" + +#: ../build/NEWS:16456 ../build/NEWS:18820 +msgid "" +"`bpo-16329 `__: Add .webm to mimetypes." +"types_map. Patch by Giampaolo Rodola'." +msgstr "" + +#: ../build/NEWS:16458 ../build/NEWS:18822 +msgid "" +"`bpo-13952 `__: Add .csv to mimetypes." +"types_map. Patch by Geoff Wilson." +msgstr "" + +#: ../build/NEWS:16460 +msgid "" +"`bpo-26587 `__: the site module now " +"allows .pth files to specify files to be added to sys.path (e.g. zip files)." +msgstr "" + +#: ../build/NEWS:16463 +msgid "" +"`bpo-25609 `__: Introduce contextlib." +"AbstractContextManager and typing.ContextManager." +msgstr "" + +#: ../build/NEWS:16466 ../build/NEWS:18824 +msgid "" +"`bpo-26709 `__: Fixed Y2038 problem in " +"loading binary PLists." +msgstr "" + +#: ../build/NEWS:16468 ../build/NEWS:18826 +msgid "" +"`bpo-23735 `__: Handle terminal resizing " +"with Readline 6.3+ by installing our own SIGWINCH handler. Patch by Eric " +"Price." +msgstr "" + +#: ../build/NEWS:16471 +msgid "" +"`bpo-25951 `__: Change SSLSocket." +"sendall() to return None, as explicitly documented for plain socket " +"objects. Patch by Aviv Palivoda." +msgstr "" + +#: ../build/NEWS:16474 ../build/NEWS:18829 +msgid "" +"`bpo-26586 `__: In http.server, respond " +"with \"413 Request header fields too large\" if there are too many header " +"fields to parse, rather than killing the connection and raising an unhandled " +"exception. Patch by Xiang Zhang." +msgstr "" + +#: ../build/NEWS:16478 +msgid "" +"`bpo-26676 `__: Added missing " +"XMLPullParser to ElementTree.__all__." +msgstr "" + +#: ../build/NEWS:16480 ../build/NEWS:18833 +msgid "" +"`bpo-22854 `__: Change BufferedReader." +"writable() and BufferedWriter.readable() to always return False." +msgstr "" + +#: ../build/NEWS:16483 +msgid "" +"`bpo-26492 `__: Exhausted iterator of " +"array.array now conforms with the behavior of iterators of other mutable " +"sequences: it lefts exhausted even if iterated array is extended." +msgstr "" + +#: ../build/NEWS:16487 +msgid "" +"`bpo-26641 `__: doctest.DocFileTest and " +"doctest.testfile() now support packages (module splitted into multiple " +"directories) for the package parameter." +msgstr "" + +#: ../build/NEWS:16490 ../build/NEWS:18836 +msgid "" +"`bpo-25195 `__: Fix a regression in mock." +"MagicMock. _Call is a subclass of tuple (changeset 3603bae63c13 only works " +"for classes) so we need to implement __ne__ ourselves. Patch by Andrew " +"Plummer." +msgstr "" + +#: ../build/NEWS:16494 ../build/NEWS:18840 +msgid "" +"`bpo-26644 `__: Raise ValueError rather " +"than SystemError when a negative length is passed to SSLSocket.recv() or " +"read()." +msgstr "" + +#: ../build/NEWS:16497 ../build/NEWS:18843 +msgid "" +"`bpo-23804 `__: Fix SSL recv(0) and " +"read(0) methods to return zero bytes instead of up to 1024." +msgstr "" + +#: ../build/NEWS:16500 ../build/NEWS:18846 +msgid "" +"`bpo-26616 `__: Fixed a bug in datetime." +"astimezone() method." +msgstr "" + +#: ../build/NEWS:16502 +msgid "" +"`bpo-26637 `__: The :mod:`importlib` " +"module now emits an :exc:`ImportError` rather than a :exc:`TypeError` if :" +"func:`__import__` is tried during the Python shutdown process but :data:`sys." +"path` is already cleared (set to ``None``)." +msgstr "" + +#: ../build/NEWS:16507 +msgid "" +"`bpo-21925 `__: :func:`warnings." +"formatwarning` now catches exceptions when calling :func:`linecache.getline` " +"and :func:`tracemalloc.get_object_traceback` to be able to log :exc:" +"`ResourceWarning` emitted late during the Python shutdown process." +msgstr "" + +#: ../build/NEWS:16512 +msgid "" +"`bpo-23848 `__: On Windows, faulthandler." +"enable() now also installs an exception handler to dump the traceback of all " +"Python threads on any Windows exception, not only on UNIX signals (SIGSEGV, " +"SIGFPE, SIGABRT)." +msgstr "" + +#: ../build/NEWS:16516 +msgid "" +"`bpo-26530 `__: Add C functions :c:func:" +"`_PyTraceMalloc_Track` and :c:func:`_PyTraceMalloc_Untrack` to track memory " +"blocks using the :mod:`tracemalloc` module. Add :c:func:" +"`_PyTraceMalloc_GetTraceback` to get the traceback of an object." +msgstr "" + +#: ../build/NEWS:16521 +msgid "" +"`bpo-26588 `__: The _tracemalloc now " +"supports tracing memory allocations of multiple address spaces (domains)." +msgstr "" + +#: ../build/NEWS:16524 ../build/NEWS:18852 +msgid "" +"`bpo-24266 `__: Ctrl+C during Readline " +"history search now cancels the search mode when compiled with Readline 7." +msgstr "" + +#: ../build/NEWS:16527 +msgid "" +"`bpo-26590 `__: Implement a safe " +"finalizer for the _socket.socket type. It now releases the GIL to close the " +"socket." +msgstr "" + +#: ../build/NEWS:16530 +msgid "" +"`bpo-18787 `__: spwd.getspnam() now " +"raises a PermissionError if the user doesn't have privileges." +msgstr "" + +#: ../build/NEWS:16533 ../build/NEWS:18855 +msgid "" +"`bpo-26560 `__: Avoid potential " +"ValueError in BaseHandler.start_response. Initial patch by Peter Inglesby." +msgstr "" + +#: ../build/NEWS:16536 +msgid "" +"`bpo-26567 `__: Add a new function :c:" +"func:`PyErr_ResourceWarning` function to pass the destroyed object. Add a " +"*source* attribute to :class:`warnings.WarningMessage`. Add warnings." +"_showwarnmsg() which uses tracemalloc to get the traceback where source " +"object was allocated." +msgstr "" + +#: ../build/NEWS:16544 ../build/NEWS:18861 +msgid "" +"`bpo-26313 `__: ssl.py " +"_load_windows_store_certs fails if windows cert store is empty. Patch by " +"Baji." +msgstr "" + +#: ../build/NEWS:16550 ../build/NEWS:18867 +msgid "" +"`bpo-26569 `__: Fix :func:`pyclbr." +"readmodule` and :func:`pyclbr.readmodule_ex` to support importing packages." +msgstr "" + +#: ../build/NEWS:16553 ../build/NEWS:18870 +msgid "" +"`bpo-26499 `__: Account for remaining " +"Content-Length in HTTPResponse.readline() and read1(). Based on patch by " +"Silent Ghost. Also document that HTTPResponse now supports these methods." +msgstr "" + +#: ../build/NEWS:16557 ../build/NEWS:18874 +msgid "" +"`bpo-25320 `__: Handle sockets in " +"directories unittest discovery is scanning. Patch from Victor van den Elzen." +msgstr "" + +#: ../build/NEWS:16560 ../build/NEWS:18877 +msgid "" +"`bpo-16181 `__: cookiejar.http2time() " +"now returns None if year is higher than datetime.MAXYEAR." +msgstr "" + +#: ../build/NEWS:16563 ../build/NEWS:18880 +msgid "" +"`bpo-26513 `__: Fixes platform module " +"detection of Windows Server" +msgstr "" + +#: ../build/NEWS:16565 ../build/NEWS:18882 +msgid "" +"`bpo-23718 `__: Fixed parsing time in " +"week 0 before Jan 1. Original patch by Tamás Bence Gedai." +msgstr "" + +#: ../build/NEWS:16568 +msgid "" +"`bpo-26323 `__: Add Mock.assert_called() " +"and Mock.assert_called_once() methods to unittest.mock. Patch written by " +"Amit Saha." +msgstr "" + +#: ../build/NEWS:16571 ../build/NEWS:18885 +msgid "" +"`bpo-20589 `__: Invoking Path.owner() " +"and Path.group() on Windows now raise NotImplementedError instead of " +"ImportError." +msgstr "" + +#: ../build/NEWS:16574 ../build/NEWS:18888 +msgid "" +"`bpo-26177 `__: Fixed the keys() method " +"for Canvas and Scrollbar widgets." +msgstr "" + +#: ../build/NEWS:16576 +msgid "" +"`bpo-15068 `__: Got rid of excessive " +"buffering in fileinput. The bufsize parameter is now deprecated and ignored." +msgstr "" + +#: ../build/NEWS:16579 +msgid "" +"`bpo-19475 `__: Added an optional " +"argument timespec to the datetime isoformat() method to choose the precision " +"of the time component." +msgstr "" + +#: ../build/NEWS:16582 ../build/NEWS:18893 +msgid "" +"`bpo-2202 `__: Fix UnboundLocalError in " +"AbstractDigestAuthHandler.get_algorithm_impls. Initial patch by Mathieu " +"Dupuy." +msgstr "" + +#: ../build/NEWS:16586 +msgid "" +"`bpo-26167 `__: Minimized overhead in " +"copy.copy() and copy.deepcopy(). Optimized copying and deepcopying " +"bytearrays, NotImplemented, slices, short lists, tuples, dicts, sets." +msgstr "" + +#: ../build/NEWS:16590 ../build/NEWS:18897 +msgid "" +"`bpo-25718 `__: Fixed pickling and " +"copying the accumulate() iterator with total is None." +msgstr "" + +#: ../build/NEWS:16593 ../build/NEWS:18900 +msgid "" +"`bpo-26475 `__: Fixed debugging output " +"for regular expressions with the (?x) flag." +msgstr "" + +#: ../build/NEWS:16596 +msgid "" +"`bpo-26482 `__: Allowed pickling " +"recursive dequeues." +msgstr "" + +#: ../build/NEWS:16598 +msgid "" +"`bpo-26335 `__: Make mmap.write() return " +"the number of bytes written like other write methods. Patch by Jakub " +"Stasiak." +msgstr "" + +#: ../build/NEWS:16601 ../build/NEWS:18903 +msgid "" +"`bpo-26457 `__: Fixed the subnets() " +"methods in IP network classes for the case when resulting prefix length is " +"equal to maximal prefix length. Based on patch by Xiang Zhang." +msgstr "" + +#: ../build/NEWS:16605 ../build/NEWS:18907 +msgid "" +"`bpo-26385 `__: Remove the file if the " +"internal open() call in NamedTemporaryFile() fails. Patch by Silent Ghost." +msgstr "" + +#: ../build/NEWS:16608 ../build/NEWS:18910 +msgid "" +"`bpo-26402 `__: Fix XML-RPC client to " +"retry when the server shuts down a persistent connection. This was a " +"regression related to the new http.client.RemoteDisconnected exception in " +"3.5.0a4." +msgstr "" + +#: ../build/NEWS:16612 ../build/NEWS:18914 +msgid "" +"`bpo-25913 `__: Leading ``<~`` is " +"optional now in base64.a85decode() with adobe=True. Patch by Swati Jaiswal." +msgstr "" + +#: ../build/NEWS:16615 ../build/NEWS:18917 +msgid "" +"`bpo-26186 `__: Remove an invalid type " +"check in importlib.util.LazyLoader." +msgstr "" + +#: ../build/NEWS:16617 +msgid "" +"`bpo-26367 `__: importlib.__import__() " +"raises ImportError like builtins.__import__() when ``level`` is specified " +"but without an accompanying package specified." +msgstr "" + +#: ../build/NEWS:16621 ../build/NEWS:18923 +msgid "" +"`bpo-26309 `__: In the \"socketserver\" " +"module, shut down the request (closing the connected socket) when " +"verify_request() returns false. Patch by Aviv Palivoda." +msgstr "" + +#: ../build/NEWS:16625 +msgid "" +"`bpo-23430 `__: Change the socketserver " +"module to only catch exceptions raised from a request handler that are " +"derived from Exception (instead of BaseException). Therefore SystemExit and " +"KeyboardInterrupt no longer trigger the handle_error() method, and will now " +"to stop a single-threaded server." +msgstr "" + +#: ../build/NEWS:16634 ../build/NEWS:18930 +msgid "" +"`bpo-25939 `__: On Windows open the cert " +"store readonly in ssl.enum_certificates." +msgstr "" + +#: ../build/NEWS:16640 ../build/NEWS:18936 +msgid "" +"`bpo-25995 `__: os.walk() no longer uses " +"FDs proportional to the tree depth." +msgstr "" + +#: ../build/NEWS:16642 +msgid "" +"`bpo-25994 `__: Added the close() method " +"and the support of the context manager protocol for the os.scandir() " +"iterator." +msgstr "" + +#: ../build/NEWS:16645 +msgid "" +"`bpo-23992 `__: multiprocessing: make " +"MapResult not fail-fast upon exception." +msgstr "" + +#: ../build/NEWS:16647 +msgid "" +"`bpo-26243 `__: Support keyword " +"arguments to zlib.compress(). Patch by Aviv Palivoda." +msgstr "" + +#: ../build/NEWS:16650 ../build/NEWS:18938 +msgid "" +"`bpo-26117 `__: The os.scandir() " +"iterator now closes file descriptor not only when the iteration is finished, " +"but when it was failed with error." +msgstr "" + +#: ../build/NEWS:16653 +msgid "" +"`bpo-25949 `__: __dict__ for an " +"OrderedDict instance is now created only when needed." +msgstr "" + +#: ../build/NEWS:16656 ../build/NEWS:18941 +msgid "" +"`bpo-25911 `__: Restored support of " +"bytes paths in os.walk() on Windows." +msgstr "" + +#: ../build/NEWS:16658 ../build/NEWS:18943 +msgid "" +"`bpo-26045 `__: Add UTF-8 suggestion to " +"error message when posting a non-Latin-1 string with http.client." +msgstr "" + +#: ../build/NEWS:16661 +msgid "" +"`bpo-26039 `__: Added zipfile.ZipInfo." +"from_file() and zipinfo.ZipInfo.is_dir(). Patch by Thomas Kluyver." +msgstr "" + +#: ../build/NEWS:16664 ../build/NEWS:18946 +msgid "" +"`bpo-12923 `__: Reset FancyURLopener's " +"redirect counter even if there is an exception. Based on patches by Brian " +"Brazil and Daniel Rocco." +msgstr "" + +#: ../build/NEWS:16667 ../build/NEWS:18949 +msgid "" +"`bpo-25945 `__: Fixed a crash when " +"unpickle the functools.partial object with wrong state. Fixed a leak in " +"failed functools.partial constructor. \"args\" and \"keywords\" attributes " +"of functools.partial have now always types tuple and dict correspondingly." +msgstr "" + +#: ../build/NEWS:16672 ../build/NEWS:18954 +msgid "" +"`bpo-26202 `__: copy.deepcopy() now " +"correctly copies range() objects with non-atomic attributes." +msgstr "" + +#: ../build/NEWS:16675 ../build/NEWS:18957 +msgid "" +"`bpo-23076 `__: Path.glob() now raises a " +"ValueError if it's called with an invalid pattern. Patch by Thomas Nyberg." +msgstr "" + +#: ../build/NEWS:16678 ../build/NEWS:18960 +msgid "" +"`bpo-19883 `__: Fixed possible integer " +"overflows in zipimport." +msgstr "" + +#: ../build/NEWS:16680 ../build/NEWS:18962 +msgid "" +"`bpo-26227 `__: On Windows, " +"getnameinfo(), gethostbyaddr() and gethostbyname_ex() functions of the " +"socket module now decode the hostname from the ANSI code page rather than " +"UTF-8." +msgstr "" + +#: ../build/NEWS:16684 +msgid "" +"`bpo-26099 `__: The site module now " +"writes an error into stderr if sitecustomize module can be imported but " +"executing the module raise an ImportError. Same change for usercustomize." +msgstr "" + +#: ../build/NEWS:16688 ../build/NEWS:18966 +msgid "" +"`bpo-26147 `__: xmlrpc now works with " +"strings not encodable with used non-UTF-8 encoding." +msgstr "" + +#: ../build/NEWS:16691 ../build/NEWS:18969 +msgid "" +"`bpo-25935 `__: Garbage collector now " +"breaks reference loops with OrderedDict." +msgstr "" + +#: ../build/NEWS:16693 ../build/NEWS:18971 +msgid "" +"`bpo-16620 `__: Fixed AttributeError in " +"msilib.Directory.glob()." +msgstr "" + +#: ../build/NEWS:16695 ../build/NEWS:18973 +msgid "" +"`bpo-26013 `__: Added compatibility with " +"broken protocol 2 pickles created in old Python 3 versions (3.4.3 and lower)." +msgstr "" + +#: ../build/NEWS:16698 +msgid "" +"`bpo-26129 `__: Deprecated accepting non-" +"integers in grp.getgrgid()." +msgstr "" + +#: ../build/NEWS:16700 ../build/NEWS:18976 +msgid "" +"`bpo-25850 `__: Use cross-compilation by " +"default for 64-bit Windows." +msgstr "" + +#: ../build/NEWS:16702 +msgid "" +"`bpo-25822 `__: Add docstrings to the " +"fields of urllib.parse results. Patch contributed by Swati Jaiswal." +msgstr "" + +#: ../build/NEWS:16705 +msgid "" +"`bpo-22642 `__: Convert trace module " +"option parsing mechanism to argparse. Patch contributed by SilentGhost." +msgstr "" + +#: ../build/NEWS:16708 ../build/NEWS:18980 +msgid "" +"`bpo-24705 `__: Fix sysconfig." +"_parse_makefile not expanding ${} vars appearing before $() vars." +msgstr "" + +#: ../build/NEWS:16711 +msgid "" +"`bpo-26069 `__: Remove the deprecated " +"apis in the trace module." +msgstr "" + +#: ../build/NEWS:16713 ../build/NEWS:18983 +msgid "" +"`bpo-22138 `__: Fix mock.patch behavior " +"when patching descriptors. Restore original values after patching. Patch " +"contributed by Sean McCully." +msgstr "" + +#: ../build/NEWS:16716 ../build/NEWS:18986 +msgid "" +"`bpo-25672 `__: In the ssl module, " +"enable the SSL_MODE_RELEASE_BUFFERS mode option if it is safe to do so." +msgstr "" + +#: ../build/NEWS:16719 ../build/NEWS:18989 +msgid "" +"`bpo-26012 `__: Don't traverse into " +"symlinks for ``**`` pattern in pathlib.Path.[r]glob()." +msgstr "" + +#: ../build/NEWS:16722 ../build/NEWS:18992 +msgid "" +"`bpo-24120 `__: Ignore PermissionError " +"when traversing a tree with pathlib.Path.[r]glob(). Patch by Ulrich Petri." +msgstr "" + +#: ../build/NEWS:16725 +msgid "" +"`bpo-21815 `__: Accept ] characters in " +"the data portion of imap responses, in order to handle the flags with square " +"brackets accepted and produced by servers such as gmail." +msgstr "" + +#: ../build/NEWS:16729 ../build/NEWS:18995 +msgid "" +"`bpo-25447 `__: fileinput now uses sys." +"stdin as-is if it does not have a buffer attribute (restores backward " +"compatibility)." +msgstr "" + +#: ../build/NEWS:16732 +msgid "" +"`bpo-25971 `__: Optimized creating " +"Fractions from floats by 2 times and from Decimals by 3 times." +msgstr "" + +#: ../build/NEWS:16735 +msgid "" +"`bpo-25802 `__: Document as deprecated " +"the remaining implementations of importlib.abc.Loader.load_module()." +msgstr "" + +#: ../build/NEWS:16738 +msgid "" +"`bpo-25928 `__: Add Decimal." +"as_integer_ratio()." +msgstr "" + +#: ../build/NEWS:16740 ../build/NEWS:18998 +msgid "" +"`bpo-25447 `__: Copying the lru_cache() " +"wrapper object now always works, independently from the type of the wrapped " +"object (by returning the original object unchanged)." +msgstr "" + +#: ../build/NEWS:16744 +msgid "" +"`bpo-25768 `__: Have the functions in " +"compileall return booleans instead of ints and add proper documentation and " +"tests for the return values." +msgstr "" + +#: ../build/NEWS:16747 ../build/NEWS:19002 +msgid "" +"`bpo-24103 `__: Fixed possible use after " +"free in ElementTree.XMLPullParser." +msgstr "" + +#: ../build/NEWS:16749 ../build/NEWS:19004 +msgid "" +"`bpo-25860 `__: os.fwalk() no longer " +"skips remaining directories when error occurs. Original patch by Samson Lee." +msgstr "" + +#: ../build/NEWS:16752 ../build/NEWS:19007 +msgid "" +"`bpo-25914 `__: Fixed and simplified " +"OrderedDict.__sizeof__." +msgstr "" + +#: ../build/NEWS:16754 +msgid "" +"`bpo-25869 `__: Optimized deepcopying " +"ElementTree; it is now 20 times faster." +msgstr "" + +#: ../build/NEWS:16756 +#, python-format +msgid "" +"`bpo-25873 `__: Optimized iterating " +"ElementTree. Iterating elements Element.iter() is now 40% faster, iterating " +"text Element.itertext() is now up to 2.5 times faster." +msgstr "" + +#: ../build/NEWS:16760 ../build/NEWS:19009 +msgid "" +"`bpo-25902 `__: Fixed various refcount " +"issues in ElementTree iteration." +msgstr "" + +#: ../build/NEWS:16762 +msgid "" +"`bpo-22227 `__: The TarFile iterator is " +"reimplemented using generator. This implementation is simpler that using " +"class." +msgstr "" + +#: ../build/NEWS:16765 +#, python-format +msgid "" +"`bpo-25638 `__: Optimized ElementTree." +"iterparse(); it is now 2x faster. Optimized ElementTree parsing; it is now " +"10% faster." +msgstr "" + +#: ../build/NEWS:16768 +msgid "" +"`bpo-25761 `__: Improved detecting " +"errors in broken pickle data." +msgstr "" + +#: ../build/NEWS:16770 ../build/NEWS:19011 +msgid "" +"`bpo-25717 `__: Restore the previous " +"behaviour of tolerating most fstat() errors when opening files. This was a " +"regression in 3.5a1, and stopped anonymous temporary files from working in " +"special cases." +msgstr "" + +#: ../build/NEWS:16774 ../build/NEWS:19015 +msgid "" +"`bpo-24903 `__: Fix regression in number " +"of arguments compileall accepts when '-d' is specified. The check on the " +"number of arguments has been dropped completely as it never worked correctly " +"anyway." +msgstr "" + +#: ../build/NEWS:16778 ../build/NEWS:19019 +msgid "" +"`bpo-25764 `__: In the subprocess " +"module, preserve any exception caused by fork() failure when preexec_fn is " +"used." +msgstr "" + +#: ../build/NEWS:16781 +msgid "" +"`bpo-25771 `__: Tweak the exception " +"message for importlib.util.resolve_name() when 'package' isn't specified but " +"necessary." +msgstr "" + +#: ../build/NEWS:16784 ../build/NEWS:19022 +msgid "" +"`bpo-6478 `__: _strptime's regexp cache " +"now is reset after changing timezone with time.tzset()." +msgstr "" + +#: ../build/NEWS:16787 ../build/NEWS:19025 +msgid "" +"`bpo-14285 `__: When executing a package " +"with the \"python -m package\" option, and package initialization fails, a " +"proper traceback is now reported. The \"runpy\" module now lets exceptions " +"from package initialization pass back to the caller, rather than raising " +"ImportError." +msgstr "" + +#: ../build/NEWS:16792 ../build/NEWS:19030 +msgid "" +"`bpo-19771 `__: Also in runpy and the \"-" +"m\" option, omit the irrelevant message \". . . is a package and cannot be " +"directly executed\" if the package could not even be initialized (e.g. due " +"to a bad ``*.pyc`` file)." +msgstr "" + +#: ../build/NEWS:16796 ../build/NEWS:19034 +msgid "" +"`bpo-25177 `__: Fixed problem with the " +"mean of very small and very large numbers. As a side effect, statistics.mean " +"and statistics.variance should be significantly faster." +msgstr "" + +#: ../build/NEWS:16800 ../build/NEWS:19038 +msgid "" +"`bpo-25718 `__: Fixed copying object " +"with state with boolean value is false." +msgstr "" + +#: ../build/NEWS:16802 ../build/NEWS:19040 +msgid "" +"`bpo-10131 `__: Fixed deep copying of " +"minidom documents. Based on patch by Marian Ganisin." +msgstr "" + +#: ../build/NEWS:16805 +msgid "" +"`bpo-7990 `__: dir() on ElementTree." +"Element now lists properties: \"tag\", \"text\", \"tail\" and \"attrib\". " +"Original patch by Santoso Wijaya." +msgstr "" + +#: ../build/NEWS:16808 ../build/NEWS:19043 +msgid "" +"`bpo-25725 `__: Fixed a reference leak " +"in pickle.loads() when unpickling invalid data including tuple instructions." +msgstr "" + +#: ../build/NEWS:16811 ../build/NEWS:19046 +msgid "" +"`bpo-25663 `__: In the Readline " +"completer, avoid listing duplicate global names, and search the global " +"namespace before searching builtins." +msgstr "" + +#: ../build/NEWS:16814 ../build/NEWS:19049 +msgid "" +"`bpo-25688 `__: Fixed file leak in " +"ElementTree.iterparse() raising an error." +msgstr "" + +#: ../build/NEWS:16816 ../build/NEWS:19051 +msgid "" +"`bpo-23914 `__: Fixed SystemError raised " +"by unpickler on broken pickle data." +msgstr "" + +#: ../build/NEWS:16818 ../build/NEWS:19053 +msgid "" +"`bpo-25691 `__: Fixed crash on deleting " +"ElementTree.Element attributes." +msgstr "" + +#: ../build/NEWS:16820 ../build/NEWS:19055 +msgid "" +"`bpo-25624 `__: ZipFile now always " +"writes a ZIP_STORED header for directory entries. Patch by Dingyuan Wang." +msgstr "" + +#: ../build/NEWS:16823 ../build/NEWS:19374 +msgid "" +"`bpo-25626 `__: Change three zlib " +"functions to accept sizes that fit in Py_ssize_t, but internally cap those " +"sizes to UINT_MAX. This resolves a regression in 3.5 where GzipFile.read() " +"failed to read chunks larger than 2 or 4 GiB. The change affects the zlib." +"Decompress.decompress() max_length parameter, the zlib.decompress() bufsize " +"parameter, and the zlib.Decompress.flush() length parameter." +msgstr "" + +#: ../build/NEWS:16830 ../build/NEWS:19381 +msgid "" +"`bpo-25583 `__: Avoid incorrect errors " +"raised by os.makedirs(exist_ok=True) when the OS gives priority to errors " +"such as EACCES over EEXIST." +msgstr "" + +#: ../build/NEWS:16833 ../build/NEWS:19384 +msgid "" +"`bpo-25593 `__: Change semantics of " +"EventLoop.stop() in asyncio." +msgstr "" + +#: ../build/NEWS:16835 ../build/NEWS:19386 +msgid "" +"`bpo-6973 `__: When we know a subprocess." +"Popen process has died, do not allow the send_signal(), terminate(), or " +"kill() methods to do anything as they could potentially signal a different " +"process." +msgstr "" + +#: ../build/NEWS:16839 +msgid "" +"`bpo-23883 `__: Added missing APIs to " +"__all__ to match the documented APIs for the following modules: calendar, " +"csv, enum, fileinput, ftplib, logging, optparse, tarfile, threading and " +"wave. Also added a test.support.check__all__() helper. Patches by Jacek " +"Kołodziej, Mauro S. M. Rodrigues and Joel Taddei." +msgstr "" + +#: ../build/NEWS:16845 +msgid "" +"`bpo-25590 `__: In the Readline " +"completer, only call getattr() once per attribute. Also complete names of " +"attributes such as properties and slots which are listed by dir() but not " +"yet created on an instance." +msgstr "" + +#: ../build/NEWS:16849 ../build/NEWS:19393 +msgid "" +"`bpo-25498 `__: Fix a crash when garbage-" +"collecting ctypes objects created by wrapping a memoryview. This was a " +"regression made in 3.5a1. Based on patch by Eryksun." +msgstr "" + +#: ../build/NEWS:16853 ../build/NEWS:19397 +msgid "" +"`bpo-25584 `__: Added \"escape\" to the " +"__all__ list in the glob module." +msgstr "" + +#: ../build/NEWS:16855 ../build/NEWS:19399 +msgid "" +"`bpo-25584 `__: Fixed recursive glob() " +"with patterns starting with ``**``." +msgstr "" + +#: ../build/NEWS:16857 ../build/NEWS:19401 +msgid "" +"`bpo-25446 `__: Fix regression in " +"smtplib's AUTH LOGIN support." +msgstr "" + +#: ../build/NEWS:16859 ../build/NEWS:19403 +msgid "" +"`bpo-18010 `__: Fix the pydoc web " +"server's module search function to handle exceptions from importing packages." +msgstr "" + +#: ../build/NEWS:16862 ../build/NEWS:19406 +msgid "" +"`bpo-25554 `__: Got rid of circular " +"references in regular expression parsing." +msgstr "" + +#: ../build/NEWS:16864 +msgid "" +"`bpo-18973 `__: Command-line interface " +"of the calendar module now uses argparse instead of optparse." +msgstr "" + +#: ../build/NEWS:16867 ../build/NEWS:19408 +msgid "" +"`bpo-25510 `__: fileinput.FileInput." +"readline() now returns b'' instead of '' at the end if the FileInput was " +"opened with binary mode. Patch by Ryosuke Ito." +msgstr "" + +#: ../build/NEWS:16871 ../build/NEWS:19412 +msgid "" +"`bpo-25503 `__: Fixed inspect.getdoc() " +"for inherited docstrings of properties. Original patch by John Mark " +"Vandenberg." +msgstr "" + +#: ../build/NEWS:16874 ../build/NEWS:19415 +msgid "" +"`bpo-25515 `__: Always use os.urandom as " +"a source of randomness in uuid.uuid4." +msgstr "" + +#: ../build/NEWS:16876 ../build/NEWS:19417 +msgid "" +"`bpo-21827 `__: Fixed textwrap.dedent() " +"for the case when largest common whitespace is a substring of smallest " +"leading whitespace. Based on patch by Robert Li." +msgstr "" + +#: ../build/NEWS:16880 ../build/NEWS:19421 +msgid "" +"`bpo-25447 `__: The lru_cache() wrapper " +"objects now can be copied and pickled (by returning the original object " +"unchanged)." +msgstr "" + +#: ../build/NEWS:16883 ../build/NEWS:19424 +msgid "" +"`bpo-25390 `__: typing: Don't crash on " +"Union[str, Pattern]." +msgstr "" + +#: ../build/NEWS:16885 ../build/NEWS:19426 +msgid "" +"`bpo-25441 `__: asyncio: Raise error " +"from drain() when socket is closed." +msgstr "" + +#: ../build/NEWS:16887 ../build/NEWS:19428 +msgid "" +"`bpo-25410 `__: Cleaned up and fixed " +"minor bugs in C implementation of OrderedDict." +msgstr "" + +#: ../build/NEWS:16890 ../build/NEWS:19431 +msgid "" +"`bpo-25411 `__: Improved Unicode support " +"in SMTPHandler through better use of the email package. Thanks to user " +"simon04 for the patch." +msgstr "" + +#: ../build/NEWS:16893 +msgid "" +"Move the imp module from a PendingDeprecationWarning to DeprecationWarning." +msgstr "" + +#: ../build/NEWS:16896 ../build/NEWS:19434 +msgid "" +"`bpo-25407 `__: Remove mentions of the " +"formatter module being removed in Python 3.6." +msgstr "" + +#: ../build/NEWS:16899 ../build/NEWS:19437 +msgid "" +"`bpo-25406 `__: Fixed a bug in C " +"implementation of OrderedDict.move_to_end() that caused segmentation fault " +"or hang in iterating after moving several items to the start of ordered dict." +msgstr "" + +#: ../build/NEWS:16903 +msgid "" +"`bpo-25382 `__: pickletools.dis() now " +"outputs implicit memo index for the MEMOIZE opcode." +msgstr "" + +#: ../build/NEWS:16906 +msgid "" +"`bpo-25357 `__: Add an optional newline " +"parameter to binascii.b2a_base64(). base64.b64encode() uses it to avoid a " +"memory copy." +msgstr "" + +#: ../build/NEWS:16909 +msgid "" +"`bpo-24164 `__: Objects that need " +"calling ``__new__`` with keyword arguments, can now be pickled using pickle " +"protocols older than protocol version 4." +msgstr "" + +#: ../build/NEWS:16912 ../build/NEWS:19441 +msgid "" +"`bpo-25364 `__: zipfile now works in " +"threads disabled builds." +msgstr "" + +#: ../build/NEWS:16914 ../build/NEWS:19443 +msgid "" +"`bpo-25328 `__: smtpd's SMTPChannel now " +"correctly raises a ValueError if both decode_data and enable_SMTPUTF8 are " +"set to true." +msgstr "" + +#: ../build/NEWS:16917 +msgid "" +"`bpo-16099 `__: RobotFileParser now " +"supports Crawl-delay and Request-rate extensions. Patch by Nikolay " +"Bogoychev." +msgstr "" + +#: ../build/NEWS:16920 ../build/NEWS:19446 +msgid "" +"`bpo-25316 `__: distutils raises OSError " +"instead of DistutilsPlatformError when MSVC is not installed." +msgstr "" + +#: ../build/NEWS:16923 ../build/NEWS:19449 +msgid "" +"`bpo-25380 `__: Fixed protocol for the " +"STACK_GLOBAL opcode in pickletools.opcodes." +msgstr "" + +#: ../build/NEWS:16926 ../build/NEWS:19452 +msgid "" +"`bpo-23972 `__: Updates asyncio datagram " +"create method allowing reuseport and reuseaddr socket options to be set " +"prior to binding the socket. Mirroring the existing asyncio create_server " +"method the reuseaddr option for datagram sockets defaults to True if the O/S " +"is 'posix' (except if the platform is Cygwin). Patch by Chris Laws." +msgstr "" + +#: ../build/NEWS:16932 ../build/NEWS:19458 +msgid "" +"`bpo-25304 `__: Add asyncio." +"run_coroutine_threadsafe(). This lets you submit a coroutine to a loop from " +"another thread, returning a concurrent.futures.Future. By Vincent Michel." +msgstr "" + +#: ../build/NEWS:16936 ../build/NEWS:19462 +msgid "" +"`bpo-25232 `__: Fix CGIRequestHandler to " +"split the query from the URL at the first question mark (?) rather than the " +"last. Patch from Xiang Zhang." +msgstr "" + +#: ../build/NEWS:16939 ../build/NEWS:19465 +msgid "" +"`bpo-24657 `__: Prevent " +"CGIRequestHandler from collapsing slashes in the query part of the URL as if " +"it were a path. Patch from Xiang Zhang." +msgstr "" + +#: ../build/NEWS:16942 +msgid "" +"`bpo-25287 `__: Don't add crypt." +"METHOD_CRYPT to crypt.methods if it's not supported. Check if it is " +"supported, it may not be supported on OpenBSD for example." +msgstr "" + +#: ../build/NEWS:16946 ../build/NEWS:19493 +msgid "" +"`bpo-23600 `__: Default implementation " +"of tzinfo.fromutc() was returning wrong results in some cases." +msgstr "" + +#: ../build/NEWS:16949 ../build/NEWS:19490 +msgid "" +"`bpo-25203 `__: Failed readline." +"set_completer_delims() no longer left the module in inconsistent state." +msgstr "" + +#: ../build/NEWS:16952 +msgid "" +"`bpo-25011 `__: rlcompleter now omits " +"private and special attribute names unless the prefix starts with " +"underscores." +msgstr "" + +#: ../build/NEWS:16955 +msgid "" +"`bpo-25209 `__: rlcompleter now can add " +"a space or a colon after completed keyword." +msgstr "" + +#: ../build/NEWS:16958 +msgid "" +"`bpo-22241 `__: timezone.utc name is now " +"plain 'UTC', not 'UTC-00:00'." +msgstr "" + +#: ../build/NEWS:16960 +msgid "" +"`bpo-23517 `__: fromtimestamp() and " +"utcfromtimestamp() methods of datetime.datetime now round microseconds to " +"nearest with ties going to nearest even integer (ROUND_HALF_EVEN), as " +"round(float), instead of rounding towards -Infinity (ROUND_FLOOR)." +msgstr "" + +#: ../build/NEWS:16965 +msgid "" +"`bpo-23552 `__: Timeit now warns when " +"there is substantial (4x) variance between best and worst times. Patch from " +"Serhiy Storchaka." +msgstr "" + +#: ../build/NEWS:16968 +msgid "" +"`bpo-24633 `__: site-packages/README -> " +"README.txt." +msgstr "" + +#: ../build/NEWS:16970 +msgid "" +"`bpo-24879 `__: help() and pydoc can now " +"list named tuple fields in the order they were defined rather than " +"alphabetically. The ordering is determined by the _fields attribute if " +"present." +msgstr "" + +#: ../build/NEWS:16974 +msgid "" +"`bpo-24874 `__: Improve speed of " +"itertools.cycle() and make its pickle more compact." +msgstr "" + +#: ../build/NEWS:16977 +msgid "" +"Fix crash in itertools.cycle.__setstate__() when the first argument wasn't a " +"list." +msgstr "" + +#: ../build/NEWS:16980 +msgid "" +"`bpo-20059 `__: urllib.parse raises " +"ValueError on all invalid ports. Patch by Martin Panter." +msgstr "" + +#: ../build/NEWS:16983 +msgid "" +"`bpo-24360 `__: Improve __repr__ of " +"argparse.Namespace() for invalid identifiers. Patch by Matthias Bussonnier." +msgstr "" + +#: ../build/NEWS:16986 +msgid "" +"`bpo-23426 `__: run_setup was broken in " +"distutils. Patch from Alexander Belopolsky." +msgstr "" + +#: ../build/NEWS:16989 +msgid "" +"`bpo-13938 `__: 2to3 converts " +"StringTypes to a tuple. Patch from Mark Hammond." +msgstr "" + +#: ../build/NEWS:16991 +msgid "" +"`bpo-2091 `__: open() accepted a 'U' mode " +"string containing '+', but 'U' can only be used with 'r'. Patch from Jeff " +"Balogh and John O'Connor." +msgstr "" + +#: ../build/NEWS:16994 +msgid "" +"`bpo-8585 `__: improved tests for " +"zipimporter2. Patch from Mark Lawrence." +msgstr "" + +#: ../build/NEWS:16996 ../build/NEWS:20035 +msgid "" +"`bpo-18622 `__: unittest.mock." +"mock_open().reset_mock would recurse infinitely. Patch from Nicola Palumbo " +"and Laurent De Buyst." +msgstr "" + +#: ../build/NEWS:16999 +msgid "" +"`bpo-24426 `__: Fast searching " +"optimization in regular expressions now works for patterns that starts with " +"capturing groups. Fast searching optimization now can't be disabled at " +"compile time." +msgstr "" + +#: ../build/NEWS:17003 ../build/NEWS:20038 +msgid "" +"`bpo-23661 `__: unittest.mock " +"side_effects can now be exceptions again. This was a regression vs Python " +"3.4. Patch from Ignacio Rossi" +msgstr "" + +#: ../build/NEWS:17006 +msgid "" +"`bpo-13248 `__: Remove deprecated " +"inspect.getmoduleinfo function." +msgstr "" + +#: ../build/NEWS:17008 ../build/NEWS:19567 +msgid "" +"`bpo-25578 `__: Fix (another) memory " +"leak in SSLSocket.getpeercer()." +msgstr "" + +#: ../build/NEWS:17010 ../build/NEWS:19569 +msgid "" +"`bpo-25530 `__: Disable the vulnerable " +"SSLv3 protocol by default when creating ssl.SSLContext." +msgstr "" + +#: ../build/NEWS:17013 ../build/NEWS:19572 +msgid "" +"`bpo-25569 `__: Fix memory leak in " +"SSLSocket.getpeercert()." +msgstr "" + +#: ../build/NEWS:17015 ../build/NEWS:19574 +msgid "" +"`bpo-25471 `__: Sockets returned from " +"accept() shouldn't appear to be nonblocking." +msgstr "" + +#: ../build/NEWS:17018 ../build/NEWS:19577 +msgid "" +"`bpo-25319 `__: When threading.Event is " +"reinitialized, the underlying condition should use a regular lock rather " +"than a recursive lock." +msgstr "" + +#: ../build/NEWS:17021 ../build/NEWS:19058 +msgid "" +"Skip getaddrinfo if host is already resolved. Patch by A. Jesse Jiryu Davis." +msgstr "" + +#: ../build/NEWS:17024 ../build/NEWS:19061 +msgid "" +"`bpo-26050 `__: Add asyncio.StreamReader." +"readuntil() method. Patch by Марк Коренберг." +msgstr "" + +#: ../build/NEWS:17027 ../build/NEWS:19064 +msgid "" +"`bpo-25924 `__: Avoid unnecessary " +"serialization of getaddrinfo(3) calls on OS X versions 10.5 or higher. " +"Original patch by A. Jesse Jiryu Davis." +msgstr "" + +#: ../build/NEWS:17030 ../build/NEWS:19067 +msgid "" +"`bpo-26406 `__: Avoid unnecessary " +"serialization of getaddrinfo(3) calls on current versions of OpenBSD and " +"NetBSD. Patch by A. Jesse Jiryu Davis." +msgstr "" + +#: ../build/NEWS:17033 ../build/NEWS:19070 +msgid "" +"`bpo-26848 `__: Fix asyncio/subprocess." +"communicate() to handle empty input. Patch by Jack O'Connor." +msgstr "" + +#: ../build/NEWS:17036 ../build/NEWS:19073 +msgid "" +"`bpo-27040 `__: Add loop." +"get_exception_handler method" +msgstr "" + +#: ../build/NEWS:17038 ../build/NEWS:19075 +msgid "" +"`bpo-27041 `__: asyncio: Add loop." +"create_future method" +msgstr "" + +#: ../build/NEWS:17043 ../build/NEWS:19123 +msgid "" +"`bpo-20640 `__: Add tests for idlelib." +"configHelpSourceEdit. Patch by Saimadhav Heblikar." +msgstr "" + +#: ../build/NEWS:17046 ../build/NEWS:19126 +msgid "" +"In the 'IDLE-console differences' section of the IDLE doc, clarify how " +"running with IDLE affects sys.modules and the standard streams." +msgstr "" + +#: ../build/NEWS:17049 ../build/NEWS:19129 +msgid "" +"`bpo-25507 `__: fix incorrect change in " +"IOBinding that prevented printing. Augment IOBinding htest to include all " +"major IOBinding functions." +msgstr "" + +#: ../build/NEWS:17052 ../build/NEWS:19132 +msgid "" +"`bpo-25905 `__: Revert unwanted " +"conversion of ' to ’ RIGHT SINGLE QUOTATION MARK in README.txt and open this " +"and NEWS.txt with 'ascii'. Re-encode CREDITS.txt to utf-8 and open it with " +"'utf-8'." +msgstr "" + +#: ../build/NEWS:17056 ../build/NEWS:19606 +msgid "" +"`bpo-15348 `__: Stop the debugger engine " +"(normally in a user process) before closing the debugger window (running in " +"the IDLE process). This prevents the RuntimeErrors that were being caught " +"and ignored." +msgstr "" + +#: ../build/NEWS:17060 ../build/NEWS:19610 +msgid "" +"`bpo-24455 `__: Prevent IDLE from " +"hanging when a) closing the shell while the debugger is active (15347); b) " +"closing the debugger with the [X] button (15348); and c) activating the " +"debugger when already active (24455). The patch by Mark Roseman does this by " +"making two changes. 1. Suspend and resume the gui.interaction method with " +"the tcl vwait mechanism intended for this purpose (instead of root.mainloop " +"& .quit). 2. In gui.run, allow any existing interaction to terminate first." +msgstr "" + +#: ../build/NEWS:17068 ../build/NEWS:19618 +msgid "" +"Change 'The program' to 'Your program' in an IDLE 'kill program?' message to " +"make it clearer that the program referred to is the currently running user " +"program, not IDLE itself." +msgstr "" + +#: ../build/NEWS:17072 ../build/NEWS:19622 +msgid "" +"`bpo-24750 `__: Improve the appearance " +"of the IDLE editor window status bar. Patch by Mark Roseman." +msgstr "" + +#: ../build/NEWS:17075 ../build/NEWS:19625 +msgid "" +"`bpo-25313 `__: Change the handling of " +"new built-in text color themes to better address the compatibility problem " +"introduced by the addition of IDLE Dark. Consistently use the revised " +"idleConf.CurrentTheme everywhere in idlelib." +msgstr "" + +#: ../build/NEWS:17079 ../build/NEWS:19629 +msgid "" +"`bpo-24782 `__: Extension configuration " +"is now a tab in the IDLE Preferences dialog rather than a separate dialog. " +"The former tabs are now a sorted list. Patch by Mark Roseman." +msgstr "" + +#: ../build/NEWS:17083 ../build/NEWS:19633 +msgid "" +"`bpo-22726 `__: Re-activate the config " +"dialog help button with some content about the other buttons and the new " +"IDLE Dark theme." +msgstr "" + +#: ../build/NEWS:17086 ../build/NEWS:19636 +msgid "" +"`bpo-24820 `__: IDLE now has an 'IDLE " +"Dark' built-in text color theme. It is more or less IDLE Classic inverted, " +"with a cobalt blue background. Strings, comments, keywords, ... are still " +"green, red, orange, ... . To use it with IDLEs released before November " +"2015, hit the 'Save as New Custom Theme' button and enter a new name, such " +"as 'Custom Dark'. The custom theme will work with any IDLE release, and can " +"be modified." +msgstr "" + +#: ../build/NEWS:17093 ../build/NEWS:19643 +msgid "" +"`bpo-25224 `__: README.txt is now an " +"idlelib index for IDLE developers and curious users. The previous user " +"content is now in the IDLE doc chapter. 'IDLE' now means 'Integrated " +"Development and Learning Environment'." +msgstr "" + +#: ../build/NEWS:17097 ../build/NEWS:19647 +msgid "" +"`bpo-24820 `__: Users can now set " +"breakpoint colors in Settings -> Custom Highlighting. Original patch by Mark " +"Roseman." +msgstr "" + +#: ../build/NEWS:17100 ../build/NEWS:19650 +msgid "" +"`bpo-24972 `__: Inactive selection " +"background now matches active selection background, as configured by users, " +"on all systems. Found items are now always highlighted on Windows. Initial " +"patch by Mark Roseman." +msgstr "" + +#: ../build/NEWS:17104 ../build/NEWS:19654 +msgid "" +"`bpo-24570 `__: Idle: make calltip and " +"completion boxes appear on Macs affected by a tk regression. Initial patch " +"by Mark Roseman." +msgstr "" + +#: ../build/NEWS:17107 ../build/NEWS:19657 +msgid "" +"`bpo-24988 `__: Idle ScrolledList " +"context menus (used in debugger) now work on Mac Aqua. Patch by Mark Roseman." +msgstr "" + +#: ../build/NEWS:17110 ../build/NEWS:19660 +msgid "" +"`bpo-24801 `__: Make right-click for " +"context menu work on Mac Aqua. Patch by Mark Roseman." +msgstr "" + +#: ../build/NEWS:17113 ../build/NEWS:19663 +msgid "" +"`bpo-25173 `__: Associate tkinter " +"messageboxes with a specific widget. For Mac OSX, make them a 'sheet'. " +"Patch by Mark Roseman." +msgstr "" + +#: ../build/NEWS:17116 ../build/NEWS:19666 +msgid "" +"`bpo-25198 `__: Enhance the initial html " +"viewer now used for Idle Help. Properly indent fixed-pitch text (patch by " +"Mark Roseman). Give code snippet a very Sphinx-like light blueish-gray " +"background. Re-use initial width and height set by users for shell and " +"editor. When the Table of Contents (TOC) menu is used, put the section " +"header at the top of the screen." +msgstr "" + +#: ../build/NEWS:17123 ../build/NEWS:19673 +msgid "" +"`bpo-25225 `__: Condense and rewrite " +"Idle doc section on text colors." +msgstr "" + +#: ../build/NEWS:17125 ../build/NEWS:19675 +msgid "" +"`bpo-21995 `__: Explain some differences " +"between IDLE and console Python." +msgstr "" + +#: ../build/NEWS:17127 ../build/NEWS:19677 +msgid "" +"`bpo-22820 `__: Explain need for *print* " +"when running file from Idle editor." +msgstr "" + +#: ../build/NEWS:17129 ../build/NEWS:19679 +msgid "" +"`bpo-25224 `__: Doc: augment Idle " +"feature list and no-subprocess section." +msgstr "" + +#: ../build/NEWS:17131 ../build/NEWS:19681 +msgid "" +"`bpo-25219 `__: Update doc for Idle " +"command line options. Some were missing and notes were not correct." +msgstr "" + +#: ../build/NEWS:17134 ../build/NEWS:19684 +msgid "" +"`bpo-24861 `__: Most of idlelib is " +"private and subject to change. Use idleib.idle.* to start Idle. See idlelib." +"__init__.__doc__." +msgstr "" + +#: ../build/NEWS:17137 ../build/NEWS:19687 +msgid "" +"`bpo-25199 `__: Idle: add " +"synchronization comments for future maintainers." +msgstr "" + +#: ../build/NEWS:17139 +msgid "" +"`bpo-16893 `__: Replace help.txt with " +"help.html for Idle doc display. The new idlelib/help.html is rstripped Doc/" +"build/html/library/idle.html. It looks better than help.txt and will better " +"document Idle as released. The tkinter html viewer that works for this file " +"was written by Rose Roseman. The now unused EditorWindow.HelpDialog class " +"and helt.txt file are deprecated." +msgstr "" + +#: ../build/NEWS:17146 ../build/NEWS:19696 +msgid "" +"`bpo-24199 `__: Deprecate unused idlelib." +"idlever with possible removal in 3.6." +msgstr "" + +#: ../build/NEWS:17148 ../build/NEWS:19698 +msgid "" +"`bpo-24790 `__: Remove extraneous code " +"(which also create 2 & 3 conflicts)." +msgstr "" + +#: ../build/NEWS:17153 ../build/NEWS:19144 +msgid "" +"`bpo-26736 `__: Used HTTPS for external " +"links in the documentation if possible." +msgstr "" + +#: ../build/NEWS:17155 ../build/NEWS:19146 +msgid "" +"`bpo-6953 `__: Rework the Readline module " +"documentation to group related functions together, and add more details such " +"as what underlying Readline functions and variables are accessed." +msgstr "" + +#: ../build/NEWS:17159 ../build/NEWS:19150 +msgid "" +"`bpo-23606 `__: Adds note to ctypes " +"documentation regarding cdll.msvcrt." +msgstr "" + +#: ../build/NEWS:17161 ../build/NEWS:19713 +msgid "" +"`bpo-24952 `__: Clarify the default size " +"argument of stack_size() in the \"threading\" and \"_thread\" modules. Patch " +"from Mattip." +msgstr "" + +#: ../build/NEWS:17164 ../build/NEWS:19155 +msgid "" +"`bpo-26014 `__: Update 3.x packaging " +"documentation: * \"See also\" links to the new docs are now provided in the " +"legacy pages * links to setuptools documentation have been updated" +msgstr "" + +#: ../build/NEWS:17171 ../build/NEWS:19162 +msgid "" +"`bpo-21916 `__: Added tests for the " +"turtle module. Patch by ingrid, Gregory Loyse and Jelle Zijlstra." +msgstr "" + +#: ../build/NEWS:17174 +msgid "" +"`bpo-26295 `__: When using \"python3 -m " +"test --testdir=TESTDIR\", regrtest doesn't add \"test.\" prefix to test " +"module names." +msgstr "" + +#: ../build/NEWS:17177 ../build/NEWS:19165 +msgid "" +"`bpo-26523 `__: The multiprocessing " +"thread pool (multiprocessing.dummy.Pool) was untested." +msgstr "" + +#: ../build/NEWS:17180 ../build/NEWS:19168 +msgid "" +"`bpo-26015 `__: Added new tests for " +"pickling iterators of mutable sequences." +msgstr "" + +#: ../build/NEWS:17182 ../build/NEWS:19170 +msgid "" +"`bpo-26325 `__: Added test.support." +"check_no_resource_warning() to check that no ResourceWarning is emitted." +msgstr "" + +#: ../build/NEWS:17185 +msgid "" +"`bpo-25940 `__: Changed test_ssl to use " +"its internal local server more. This avoids relying on svn.python.org, " +"which recently changed root certificate." +msgstr "" + +#: ../build/NEWS:17188 ../build/NEWS:19176 +msgid "" +"`bpo-25616 `__: Tests for OrderedDict " +"are extracted from test_collections into separate file test_ordered_dict." +msgstr "" + +#: ../build/NEWS:17191 ../build/NEWS:19727 +msgid "" +"`bpo-25449 `__: Added tests for " +"OrderedDict subclasses." +msgstr "" + +#: ../build/NEWS:17193 +msgid "" +"`bpo-25188 `__: Add -P/--pgo to test." +"regrtest to suppress error output when running the test suite for the " +"purposes of a PGO build. Initial patch by Alecsandru Patrascu." +msgstr "" + +#: ../build/NEWS:17197 +msgid "" +"`bpo-22806 `__: Add ``python -m test --" +"list-tests`` command to list tests." +msgstr "" + +#: ../build/NEWS:17199 +msgid "" +"`bpo-18174 `__: ``python -m test --" +"huntrleaks ...`` now also checks for leak of file descriptors. Patch written " +"by Richard Oudkerk." +msgstr "" + +#: ../build/NEWS:17202 +msgid "" +"`bpo-25260 `__: Fix ``python -m test --" +"coverage`` on Windows. Remove the list of ignored directories." +msgstr "" + +#: ../build/NEWS:17205 ../build/NEWS:19734 +msgid "" +"``PCbuild\\rt.bat`` now accepts an unlimited number of arguments to pass " +"along to regrtest.py. Previously there was a limit of 9." +msgstr "" + +#: ../build/NEWS:17208 ../build/NEWS:19179 +msgid "" +"`bpo-26583 `__: Skip " +"test_timestamp_overflow in test_import if bytecode files cannot be written." +msgstr "" + +#: ../build/NEWS:17214 +msgid "" +"`bpo-21277 `__: Don't try to link " +"_ctypes with a ffi_convenience library." +msgstr "" + +#: ../build/NEWS:17216 ../build/NEWS:19185 +msgid "" +"`bpo-26884 `__: Fix linking extension " +"modules for cross builds. Patch by Xavier de Gaye." +msgstr "" + +#: ../build/NEWS:17219 +msgid "" +"`bpo-26932 `__: Fixed support of RTLD_* " +"constants defined as enum values, not via macros (in particular on " +"Android). Patch by Chi Hsuan Yen." +msgstr "" + +#: ../build/NEWS:17222 ../build/NEWS:19188 +msgid "" +"`bpo-22359 `__: Disable the rules for " +"running _freeze_importlib and pgen when cross-compiling. The output of " +"these programs is normally saved with the source code anyway, and is still " +"regenerated when doing a native build. Patch by Xavier de Gaye." +msgstr "" + +#: ../build/NEWS:17227 +msgid "" +"`bpo-21668 `__: Link audioop, _datetime, " +"_ctypes_test modules to libm, except on Mac OS X. Patch written by Chi Hsuan " +"Yen." +msgstr "" + +#: ../build/NEWS:17230 ../build/NEWS:19199 +#, python-format +msgid "" +"`bpo-25702 `__: A --with-lto configure " +"option has been added that will enable link time optimizations at build time " +"during a make profile-opt. Some compilers and toolchains are known to not " +"produce stable code when using LTO, be sure to test things thoroughly before " +"relying on it. It can provide a few % speed up over profile-opt alone." +msgstr "" + +#: ../build/NEWS:17236 ../build/NEWS:19205 +msgid "" +"`bpo-26624 `__: Adds validation of " +"ucrtbase[d].dll version with warning for old versions." +msgstr "" + +#: ../build/NEWS:17239 ../build/NEWS:19208 +msgid "" +"`bpo-17603 `__: Avoid error about " +"nonexistent fileblocks.o file by using a lower-level check for st_blocks in " +"struct stat." +msgstr "" + +#: ../build/NEWS:17242 ../build/NEWS:19211 +msgid "" +"`bpo-26079 `__: Fixing the build output " +"folder for tix-8.4.3.6. Patch by Bjoern Thiel." +msgstr "" + +#: ../build/NEWS:17245 ../build/NEWS:19214 +msgid "" +"`bpo-26465 `__: Update Windows builds to " +"use OpenSSL 1.0.2g." +msgstr "" + +#: ../build/NEWS:17247 +msgid "" +"`bpo-25348 `__: Added ``--pgo`` and ``--" +"pgo-job`` arguments to ``PCbuild\\build.bat`` for building with Profile-" +"Guided Optimization. The old ``PCbuild\\build_pgo.bat`` script is removed." +msgstr "" + +#: ../build/NEWS:17251 ../build/NEWS:19225 +msgid "" +"`bpo-25827 `__: Add support for building " +"with ICC to ``configure``, including a new ``--with-icc`` flag." +msgstr "" + +#: ../build/NEWS:17254 ../build/NEWS:19228 +msgid "" +"`bpo-25696 `__: Fix installation of " +"Python on UNIX with make -j9." +msgstr "" + +#: ../build/NEWS:17256 ../build/NEWS:19745 +msgid "" +"`bpo-24986 `__: It is now possible to " +"build Python on Windows without errors when external libraries are not " +"available." +msgstr "" + +#: ../build/NEWS:17259 ../build/NEWS:19216 +msgid "" +"`bpo-24421 `__: Compile Modules/_math.c " +"once, before building extensions. Previously it could fail to compile " +"properly if the math and cmath builds were concurrent." +msgstr "" + +#: ../build/NEWS:17263 +msgid "" +"`bpo-26465 `__: Update OS X 10.5+ 32-bit-" +"only installer to build and link with OpenSSL 1.0.2g." +msgstr "" + +#: ../build/NEWS:17266 ../build/NEWS:19233 +msgid "" +"`bpo-26268 `__: Update Windows builds to " +"use OpenSSL 1.0.2f." +msgstr "" + +#: ../build/NEWS:17268 ../build/NEWS:19235 +msgid "" +"`bpo-25136 `__: Support Apple Xcode 7's " +"new textual SDK stub libraries." +msgstr "" + +#: ../build/NEWS:17270 ../build/NEWS:19237 +msgid "" +"`bpo-24324 `__: Do not enable " +"unreachable code warnings when using gcc as the option does not work " +"correctly in older versions of gcc and has been silently removed as of " +"gcc-4.5." +msgstr "" + +#: ../build/NEWS:17277 ../build/NEWS:19244 +msgid "" +"`bpo-27053 `__: Updates make_zip.py to " +"correctly generate library ZIP file." +msgstr "" + +#: ../build/NEWS:17279 ../build/NEWS:19246 +msgid "" +"`bpo-26268 `__: Update the prepare_ssl." +"py script to handle OpenSSL releases that don't include the contents of the " +"include directory (that is, 1.0.2e and later)." +msgstr "" + +#: ../build/NEWS:17283 ../build/NEWS:19250 +msgid "" +"`bpo-26071 `__: bdist_wininst created " +"binaries fail to start and find 32bit Python" +msgstr "" + +#: ../build/NEWS:17286 ../build/NEWS:19253 +msgid "" +"`bpo-26073 `__: Update the list of magic " +"numbers in launcher" +msgstr "" + +#: ../build/NEWS:17288 ../build/NEWS:19255 +msgid "" +"`bpo-26065 `__: Excludes venv from " +"library when generating embeddable distro." +msgstr "" + +#: ../build/NEWS:17290 ../build/NEWS:19784 +msgid "" +"`bpo-25022 `__: Removed very outdated PC/" +"example_nt/ directory." +msgstr "" + +#: ../build/NEWS:17295 ../build/NEWS:19260 +msgid "" +"`bpo-26799 `__: Fix python-gdb.py: don't " +"get C types once when the Python code is loaded, but get C types on demand. " +"The C types can change if python-gdb.py is loaded before the Python " +"executable. Patch written by Thomas Ilsche." +msgstr "" + +#: ../build/NEWS:17300 ../build/NEWS:19265 +msgid "" +"`bpo-26271 `__: Fix the Freeze tool to " +"properly use flags passed through configure. Patch by Daniel Shaulov." +msgstr "" + +#: ../build/NEWS:17303 ../build/NEWS:19268 +msgid "" +"`bpo-26489 `__: Add dictionary unpacking " +"support to Tools/parser/unparse.py. Patch by Guo Ci Teo." +msgstr "" + +#: ../build/NEWS:17306 ../build/NEWS:19271 +msgid "" +"`bpo-26316 `__: Fix variable name typo " +"in Argument Clinic." +msgstr "" + +#: ../build/NEWS:17308 ../build/NEWS:19789 +msgid "" +"`bpo-25440 `__: Fix output of python-" +"config --extension-suffix." +msgstr "" + +#: ../build/NEWS:17310 +msgid "" +"`bpo-25154 `__: The pyvenv script has " +"been deprecated in favour of `python3 -m venv`." +msgstr "" + +#: ../build/NEWS:17316 +msgid "" +"`bpo-26312 `__: SystemError is now " +"raised in all programming bugs with using PyArg_ParseTupleAndKeywords(). " +"RuntimeError did raised before in some programming bugs." +msgstr "" + +#: ../build/NEWS:17320 +msgid "" +"`bpo-26198 `__: ValueError is now raised " +"instead of TypeError on buffer overflow in parsing \"es#\" and \"et#\" " +"format units. SystemError is now raised instead of TypeError on " +"programmatical error in parsing format string." +msgstr "" + +#: ../build/NEWS:17327 +msgid "Python 3.5.5 final" +msgstr "" + +#: ../build/NEWS:17329 +msgid "*Release date: 2018-02-04*" +msgstr "" + +#: ../build/NEWS:17331 +msgid "There were no new changes in version 3.5.5." +msgstr "" + +#: ../build/NEWS:17336 +msgid "Python 3.5.5 release candidate 1" +msgstr "" + +#: ../build/NEWS:17338 +msgid "*Release date: 2018-01-23*" +msgstr "" + +#: ../build/NEWS:17343 +msgid "" +"`bpo-32551 `__: The ``sys.path[0]`` " +"initialization change for `bpo-29139 `__ " +"caused a regression by revealing an inconsistency in how sys.path is " +"initialized when executing ``__main__`` from a zipfile, directory, or other " +"import location. This is considered a potential security issue, as it may " +"lead to privileged processes unexpectedly loading code from user controlled " +"directories in situations where that was not previously the case. The " +"interpreter now consistently avoids ever adding the import location's parent " +"directory to ``sys.path``, and ensures no other ``sys.path`` entries are " +"inadvertently modified when inserting the import location named on the " +"command line. (Originally reported as `bpo-29723 `__ against Python 3.6rc1, but it was missed at the time that the " +"then upcoming Python 3.5.4 release would also be affected)" +msgstr "" + +#: ../build/NEWS:17356 +msgid "" +"`bpo-30657 `__: Fixed possible integer " +"overflow in PyBytes_DecodeEscape, CVE-2017-1000158. Original patch by Jay " +"Bosamiya; rebased to Python 3 by Miro Hrončok." +msgstr "" + +#: ../build/NEWS:17383 +msgid "Python 3.5.4 final" +msgstr "" + +#: ../build/NEWS:17385 +msgid "*Release date: 2017-08-07*" +msgstr "" + +#: ../build/NEWS:17395 +msgid "Python 3.5.4 release candidate 1" +msgstr "" + +#: ../build/NEWS:17397 +msgid "*Release date: 2017-07-23*" +msgstr "" + +#: ../build/NEWS:17449 +msgid "" +"`bpo-29537 `__: Restore runtime " +"compatibility with bytecode files generated by CPython 3.5.0 to 3.5.2, and " +"adjust the eval loop to avoid the problems that could be caused by the " +"malformed variant of the BUILD_MAP_UNPACK_WITH_CALL opcode that they may " +"contain. Patch by Petr Viktorin, Serhiy Storchaka, and Nick Coghlan." +msgstr "" + +#: ../build/NEWS:17731 +msgid "" +"`bpo-30822 `__: Fix regrtest command " +"line parser to allow passing -u extralargefile to run test_zipfile64." +msgstr "" + +#: ../build/NEWS:17734 +msgid "" +"`bpo-30383 `__: regrtest: Enhance " +"regrtest and backport features from the master branch. Add options: --" +"coverage, --testdir, --list-tests (list test files, don't run them), --list-" +"cases (list test identifiers, don't run them, :issue:`30523`), --matchfile " +"(load a list of test filters from a text file, :issue:`30540`), --slowest " +"(alias to --slow). Enhance output: add timestamp, test result, currently " +"running tests, \"Tests result: xxx\" summary with total duration, etc. Fix " +"reference leak hunting in regrtest, --huntrleaks: regrtest now warms up " +"caches, create explicitly all internal singletons which are created on " +"demand to prevent false positives when checking for reference leaks. (:issue:" +"`30675`)." +msgstr "" + +#: ../build/NEWS:17791 +msgid "" +"`bpo-27867 `__: Function " +"PySlice_GetIndicesEx() is replaced with a macro if Py_LIMITED_API is set to " +"the value between 0x03050400 and 0x03060000 (not including) or 0x03060100 or " +"higher." +msgstr "" + +#: ../build/NEWS:17803 +msgid "Python 3.5.3 final" +msgstr "" + +#: ../build/NEWS:17805 +msgid "*Release date: 2017-01-17*" +msgstr "" + +#: ../build/NEWS:17807 +msgid "There were no code changes between 3.5.3rc1 and 3.5.3 final." +msgstr "" + +#: ../build/NEWS:17812 +msgid "Python 3.5.3 release candidate 1" +msgstr "" + +#: ../build/NEWS:17814 +msgid "*Release date: 2017-01-02*" +msgstr "" + +#: ../build/NEWS:17819 +msgid "" +"`bpo-29073 `__: bytearray formatting no " +"longer truncates on first null byte." +msgstr "" + +#: ../build/NEWS:17823 +msgid "" +"`bpo-28147 `__: Fix a memory leak in " +"split-table dictionaries: setattr() must not convert combined table into " +"split table." +msgstr "" + +#: ../build/NEWS:17835 +msgid "" +"`bpo-28991 `__: functools.lru_cache() " +"was susceptible to an obscure reentrancy bug caused by a monkey-patched " +"len() function." +msgstr "" + +#: ../build/NEWS:17878 +msgid "" +"`bpo-28203 `__: Fix incorrect type in " +"error message from ``complex(1.0, {2:3})``. Patch by Soumya Sharma." +msgstr "" + +#: ../build/NEWS:17893 +msgid "" +"`bpo-28189 `__: dictitems_contains no " +"longer swallows compare errors. (Patch by Xiang Zhang)" +msgstr "" + +#: ../build/NEWS:17905 +msgid "" +"`bpo-26020 `__: set literal evaluation " +"order did not match documented behaviour." +msgstr "" + +#: ../build/NEWS:17924 +msgid "" +"`bpo-27419 `__: Standard __import__() no " +"longer look up \"__import__\" in globals or builtins for importing " +"submodules or \"from import\". Fixed handling an error of non-string " +"package name." +msgstr "" + +#: ../build/NEWS:17976 +msgid "" +"`bpo-20191 `__: Fixed a crash in " +"resource.prlimit() when pass a sequence that doesn't own its elements as " +"limits." +msgstr "" + +#: ../build/NEWS:18027 +msgid "" +"`bpo-28488 `__: shutil.make_archive() no " +"longer add entry \"./\" to ZIP archive." +msgstr "" + +#: ../build/NEWS:18065 +msgid "" +"`bpo-27611 `__: Fixed support of default " +"root window in the tkinter.tix module." +msgstr "" + +#: ../build/NEWS:18091 +msgid "" +"`bpo-19003 `__: m email.generator now " +"replaces only ``\\r`` and/or ``\\n`` line endings, per the RFC, instead of " +"all unicode line endings." +msgstr "" + +#: ../build/NEWS:18163 +msgid "" +"A new version of typing.py from https://github.com/python/typing: Collection " +"(only for 3.6) (`bpo-27598 `__). Add " +"FrozenSet to __all__ (upstream #261). Fix crash in _get_type_vars() " +"(upstream #259). Remove the dict constraint in ForwardRef._eval_type " +"(upstream #252)." +msgstr "" + +#: ../build/NEWS:18179 +msgid "" +"`bpo-26750 `__: unittest.mock." +"create_autospec() now works properly for subclasses of property() and other " +"data descriptors." +msgstr "" + +#: ../build/NEWS:18223 +msgid "" +"`bpo-26664 `__: Fix activate.fish by " +"removing mis-use of ``$``." +msgstr "" + +#: ../build/NEWS:18225 +msgid "" +"`bpo-22115 `__: Fixed tracing Tkinter " +"variables: trace_vdelete() with wrong mode no longer break tracing, " +"trace_vinfo() now always returns a list of pairs of strings, tracing in the " +"\"u\" mode now works." +msgstr "" + +#: ../build/NEWS:18229 +msgid "" +"Fix a scoping issue in importlib.util.LazyLoader which triggered an " +"UnboundLocalError when lazy-loading a module that was already put into sys." +"modules." +msgstr "" + +#: ../build/NEWS:18329 +msgid "" +"`bpo-28600 `__: Optimize loop." +"call_soon()." +msgstr "" + +#: ../build/NEWS:18343 +msgid "" +"`bpo-24142 `__: Reading a corrupt config " +"file left the parser in an invalid state. Original patch by Florian Höch." +msgstr "" + +#: ../build/NEWS:18346 +msgid "" +"`bpo-28990 `__: Fix SSL hanging if " +"connection is closed before handshake completed. (Patch by HoHo-Ho)" +msgstr "" + +#: ../build/NEWS:18382 +msgid "" +"`bpo-26754 `__: PyUnicode_FSDecoder() " +"accepted a filename argument encoded as an iterable of integers. Now only " +"strings and bytes-like objects are accepted." +msgstr "" + +#: ../build/NEWS:18394 +msgid "" +"`bpo-28950 `__: Disallow -j0 to be " +"combined with -T/-l/-M in regrtest command line arguments." +msgstr "" + +#: ../build/NEWS:18435 +msgid "" +"`bpo-27309 `__: Enabled proper Windows " +"styles in python[w].exe manifest." +msgstr "" + +#: ../build/NEWS:18468 +msgid "" +"`bpo-27983 `__: Cause lack of llvm-" +"profdata tool when using clang as required for PGO linking to be a configure " +"time error rather than make time when --with-optimizations is enabled. Also " +"improve our ability to find the llvm-profdata tool on MacOS and some Linuxes." +msgstr "" + +#: ../build/NEWS:18475 +msgid "" +"`bpo-26359 `__: Add the --with-" +"optimizations configure flag." +msgstr "" + +#: ../build/NEWS:18480 +msgid "" +"`bpo-25825 `__: Correct the references " +"to Modules/python.exp and ld_so_aix, which are required on AIX. This " +"updates references to an installation path that was changed in 3.2a4, and " +"undoes changed references to the build tree that were made in 3.5.0a1." +msgstr "" + +#: ../build/NEWS:18503 +msgid "Python 3.5.2 final" +msgstr "" + +#: ../build/NEWS:18505 +msgid "*Release date: 2016-06-26*" +msgstr "" + +#: ../build/NEWS:18515 +msgid "" +"`bpo-26867 `__: Ubuntu's openssl " +"OP_NO_SSLv3 is forced on by default; fix test." +msgstr "" + +#: ../build/NEWS:18520 +msgid "" +"`bpo-27365 `__: Allow non-ascii in " +"idlelib/NEWS.txt - minimal part for 3.5.2." +msgstr "" + +#: ../build/NEWS:18524 +msgid "Python 3.5.2 release candidate 1" +msgstr "" + +#: ../build/NEWS:18526 +msgid "*Release date: 2016-06-12*" +msgstr "" + +#: ../build/NEWS:18542 +msgid "" +"`bpo-27039 `__: Fixed bytearray.remove() " +"for values greater than 127. Patch by Joe Jevnik." +msgstr "" + +#: ../build/NEWS:18597 +msgid "" +"`bpo-26194 `__: Deque.insert() gave odd " +"results for bounded deques that had reached their maximum size. Now an " +"IndexError will be raised when attempting to insert into a full deque." +msgstr "" + +#: ../build/NEWS:18601 +msgid "" +"`bpo-25843 `__: When compiling code, " +"don't merge constants if they are equal but have a different types. For " +"example, ``f1, f2 = lambda: 1, lambda: 1.0`` is now correctly compiled to " +"two different functions: ``f1()`` returns ``1`` (``int``) and ``f2()`` " +"returns ``1.0`` (``int``), even if ``1`` and ``1.0`` are equal." +msgstr "" + +#: ../build/NEWS:18663 +msgid "" +"Fix TLS stripping vulnerability in smtplib, CVE-2016-0772. Reported by Team " +"Oststrom" +msgstr "" + +#: ../build/NEWS:18848 +msgid "" +"`bpo-21925 `__: :func:`warnings." +"formatwarning` now catches exceptions on ``linecache.getline(...)`` to be " +"able to log :exc:`ResourceWarning` emitted late during the Python shutdown " +"process." +msgstr "" + +#: ../build/NEWS:18890 +msgid "" +"`bpo-15068 `__: Got rid of excessive " +"buffering in the fileinput module. The bufsize parameter is no longer used." +msgstr "" + +#: ../build/NEWS:18919 +msgid "" +"`bpo-26367 `__: importlib.__import__() " +"raises SystemError like builtins.__import__() when ``level`` is specified " +"but without an accompanying package specified." +msgstr "" + +#: ../build/NEWS:18978 +msgid "" +"`bpo-17633 `__: Improve zipimport's " +"support for namespace packages." +msgstr "" + +#: ../build/NEWS:19077 +msgid "" +"`bpo-27223 `__: asyncio: Fix _read_ready " +"and _write_ready to respect _conn_lost. Patch by Łukasz Langa." +msgstr "" + +#: ../build/NEWS:19080 +msgid "" +"`bpo-22970 `__: asyncio: Fix " +"inconsistency cancelling Condition.wait. Patch by David Coles." +msgstr "" + +#: ../build/NEWS:19116 +msgid "" +"`bpo-21703 `__: Add test for IDLE's undo " +"delegator. Original patch by Saimadhav Heblikar ." +msgstr "" + +#: ../build/NEWS:19152 +msgid "" +"`bpo-25500 `__: Fix documentation to not " +"claim that __import__ is searched for in the global scope." +msgstr "" + +#: ../build/NEWS:19173 +msgid "" +"`bpo-25940 `__: Changed test_ssl to use " +"self-signed.pythontest.net. This avoids relying on svn.python.org, which " +"recently changed root certificate." +msgstr "" + +#: ../build/NEWS:19196 +msgid "" +"`bpo-21668 `__: Link audioop, _datetime, " +"_ctypes_test modules to libm, except on Mac OS X. Patch written by Xavier de " +"Gaye." +msgstr "" + +#: ../build/NEWS:19220 +msgid "" +"`bpo-25348 `__: Added ``--pgo`` and ``--" +"pgo-job`` arguments to ``PCbuild\\build.bat`` for building with Profile-" +"Guided Optimization. The old ``PCbuild\\build_pgo.bat`` script is now " +"deprecated, and simply calls ``PCbuild\\build.bat --pgo %*``." +msgstr "" + +#: ../build/NEWS:19281 +msgid "Python 3.5.1 final" +msgstr "" + +#: ../build/NEWS:19283 +msgid "*Release date: 2015-12-06*" +msgstr "" + +#: ../build/NEWS:19294 +msgid "" +"`bpo-25715 `__: Python 3.5.1 installer " +"shows wrong upgrade path and incorrect logic for launcher detection." +msgstr "" + +#: ../build/NEWS:19299 +msgid "Python 3.5.1 release candidate 1" +msgstr "" + +#: ../build/NEWS:19301 +msgid "*Release date: 2015-11-22*" +msgstr "" + +#: ../build/NEWS:19360 +msgid "" +"`bpo-25182 `__: The stdprinter (used as " +"sys.stderr before the io module is imported at startup) now uses the " +"backslashreplace error handler." +msgstr "" + +#: ../build/NEWS:19363 +msgid "" +"`bpo-25131 `__: Make the line number and " +"column offset of set/dict literals and comprehensions correspond to the " +"opening brace." +msgstr "" + +#: ../build/NEWS:19366 +msgid "" +"`bpo-25150 `__: Hide the private " +"_Py_atomic_xxx symbols from the public Python.h header to fix a compilation " +"error with OpenMP. PyThreadState_GET() becomes an alias to " +"PyThreadState_Get() to avoid ABI incompatibilities." +msgstr "" + +#: ../build/NEWS:19390 +msgid "" +"`bpo-25590 `__: In the Readline " +"completer, only call getattr() once per attribute." +msgstr "" + +#: ../build/NEWS:19468 +msgid "" +"`bpo-24483 `__: C implementation of " +"functools.lru_cache() now calculates key's hash only once." +msgstr "" + +#: ../build/NEWS:19471 +msgid "" +"`bpo-22958 `__: Constructor and update " +"method of weakref.WeakValueDictionary now accept the self and the dict " +"keyword arguments." +msgstr "" + +#: ../build/NEWS:19474 +msgid "" +"`bpo-22609 `__: Constructor of " +"collections.UserDict now accepts the self keyword argument." +msgstr "" + +#: ../build/NEWS:19477 +msgid "" +"`bpo-25111 `__: Fixed comparison of " +"traceback.FrameSummary." +msgstr "" + +#: ../build/NEWS:19479 +msgid "" +"`bpo-25262 `__: Added support for " +"BINBYTES8 opcode in Python implementation of unpickler. Highest 32 bits of " +"64-bit size for BINUNICODE8 and BINBYTES8 opcodes no longer silently ignored " +"on 32-bit platforms in C implementation." +msgstr "" + +#: ../build/NEWS:19484 +msgid "" +"`bpo-25034 `__: Fix string.Formatter " +"problem with auto-numbering and nested format_specs. Patch by Anthon van der " +"Neut." +msgstr "" + +#: ../build/NEWS:19487 +msgid "" +"`bpo-25233 `__: Rewrite the guts of " +"asyncio.Queue and asyncio.Semaphore to be more understandable and correct." +msgstr "" + +#: ../build/NEWS:19496 +msgid "" +"`bpo-23329 `__: Allow the ssl module to " +"be built with older versions of LibreSSL." +msgstr "" + +#: ../build/NEWS:19499 +msgid "Prevent overflow in _Unpickler_Read." +msgstr "" + +#: ../build/NEWS:19501 +msgid "" +"`bpo-25047 `__: The XML encoding " +"declaration written by Element Tree now respects the letter case given by " +"the user. This restores the ability to write encoding names in uppercase " +"like \"UTF-8\", which worked in Python 2." +msgstr "" + +#: ../build/NEWS:19505 +msgid "" +"`bpo-25135 `__: Make deque_clear() safer " +"by emptying the deque before clearing. This helps avoid possible reentrancy " +"issues." +msgstr "" + +#: ../build/NEWS:19508 +msgid "" +"`bpo-19143 `__: platform module now " +"reads Windows version from kernel32.dll to avoid compatibility shims." +msgstr "" + +#: ../build/NEWS:19511 +msgid "" +"`bpo-25092 `__: Fix datetime.strftime() " +"failure when errno was already set to EINVAL." +msgstr "" + +#: ../build/NEWS:19514 +msgid "" +"`bpo-23517 `__: Fix rounding in " +"fromtimestamp() and utcfromtimestamp() methods of datetime.datetime: " +"microseconds are now rounded to nearest with ties going to nearest even " +"integer (ROUND_HALF_EVEN), instead of being rounding towards minus infinity " +"(ROUND_FLOOR). It's important that these methods use the same rounding mode " +"than datetime.timedelta to keep the property: (datetime(1970,1,1) + " +"timedelta(seconds=t)) == datetime.utcfromtimestamp(t). It also the rounding " +"mode used by round(float) for example." +msgstr "" + +#: ../build/NEWS:19523 +msgid "" +"`bpo-25155 `__: Fix datetime.datetime." +"now() and datetime.datetime.utcnow() on Windows to support date after year " +"2038. It was a regression introduced in Python 3.5.0." +msgstr "" + +#: ../build/NEWS:19527 +msgid "" +"`bpo-25108 `__: Omitted internal frames " +"in traceback functions print_stack(), format_stack(), and extract_stack() " +"called without arguments." +msgstr "" + +#: ../build/NEWS:19530 +msgid "" +"`bpo-25118 `__: Fix a regression of " +"Python 3.5.0 in os.waitpid() on Windows." +msgstr "" + +#: ../build/NEWS:19532 +msgid "" +"`bpo-24684 `__: socket.socket." +"getaddrinfo() now calls PyUnicode_AsEncodedString() instead of calling the " +"encode() method of the host, to handle correctly custom string with an " +"encode() method which doesn't return a byte string. The encoder of the IDNA " +"codec is now called directly instead of calling the encode() method of the " +"string." +msgstr "" + +#: ../build/NEWS:19538 +msgid "" +"`bpo-25060 `__: Correctly compute stack " +"usage of the BUILD_MAP opcode." +msgstr "" + +#: ../build/NEWS:19540 +msgid "" +"`bpo-24857 `__: Comparing call_args to a " +"long sequence now correctly returns a boolean result instead of raising an " +"exception. Patch by A Kaptur." +msgstr "" + +#: ../build/NEWS:19543 +msgid "" +"`bpo-23144 `__: Make sure that " +"HTMLParser.feed() returns all the data, even when convert_charrefs is True." +msgstr "" + +#: ../build/NEWS:19546 +msgid "" +"`bpo-24982 `__: shutil.make_archive() " +"with the \"zip\" format now adds entries for directories (including empty " +"directories) in ZIP file." +msgstr "" + +#: ../build/NEWS:19549 +msgid "" +"`bpo-25019 `__: Fixed a crash caused by " +"setting non-string key of expat parser. Based on patch by John Leitch." +msgstr "" + +#: ../build/NEWS:19552 +msgid "" +"`bpo-16180 `__: Exit pdb if file has " +"syntax error, instead of trapping user in an infinite loop. Patch by Xavier " +"de Gaye." +msgstr "" + +#: ../build/NEWS:19555 +msgid "" +"`bpo-24891 `__: Fix a race condition at " +"Python startup if the file descriptor of stdin (0), stdout (1) or stderr (2) " +"is closed while Python is creating sys.stdin, sys.stdout and sys.stderr " +"objects. These attributes are now set to None if the creation of the object " +"failed, instead of raising an OSError exception. Initial patch written by " +"Marco Paolini." +msgstr "" + +#: ../build/NEWS:19561 +msgid "" +"`bpo-24992 `__: Fix error handling and a " +"race condition (related to garbage collection) in collections.OrderedDict " +"constructor." +msgstr "" + +#: ../build/NEWS:19564 +msgid "" +"`bpo-24881 `__: Fixed setting binary " +"mode in Python implementation of FileIO on Windows and Cygwin. Patch from " +"Akira Li." +msgstr "" + +#: ../build/NEWS:19580 +msgid "" +"`bpo-21112 `__: Fix regression in " +"unittest.expectedFailure on subclasses. Patch from Berker Peksag." +msgstr "" + +#: ../build/NEWS:19583 +msgid "" +"`bpo-24764 `__: cgi.FieldStorage." +"read_multi() now ignores the Content-Length header in part headers. Patch " +"written by Peter Landry and reviewed by Pierre Quentel." +msgstr "" + +#: ../build/NEWS:19587 ../build/NEWS:19852 +msgid "" +"`bpo-24913 `__: Fix overrun error in " +"deque.index(). Found by John Leitch and Bryce Darling." +msgstr "" + +#: ../build/NEWS:19590 +msgid "" +"`bpo-24774 `__: Fix docstring in http." +"server.test. Patch from Chiu-Hsiang Hsu." +msgstr "" + +#: ../build/NEWS:19592 +msgid "" +"`bpo-21159 `__: Improve message in " +"configparser.InterpolationMissingOptionError. Patch from Łukasz Langa." +msgstr "" + +#: ../build/NEWS:19595 +msgid "" +"`bpo-20362 `__: Honour TestCase." +"longMessage correctly in assertRegex. Patch from Ilia Kurenkov." +msgstr "" + +#: ../build/NEWS:19598 +msgid "" +"`bpo-23572 `__: Fixed functools." +"singledispatch on classes with falsy metaclasses. Patch by Ethan Furman." +msgstr "" + +#: ../build/NEWS:19601 +msgid "asyncio: ensure_future() now accepts awaitable objects." +msgstr "" + +#: ../build/NEWS:19689 +msgid "" +"`bpo-16893 `__: Replace help.txt with " +"help.html for Idle doc display. The new idlelib/help.html is rstripped Doc/" +"build/html/library/idle.html. It looks better than help.txt and will better " +"document Idle as released. The tkinter html viewer that works for this file " +"was written by Mark Roseman. The now unused EditorWindow.HelpDialog class " +"and helt.txt file are deprecated." +msgstr "" + +#: ../build/NEWS:19706 +msgid "" +"`bpo-12067 `__: Rewrite Comparisons " +"section in the Expressions chapter of the language reference. Some of the " +"details of comparing mixed types were incorrect or ambiguous. NotImplemented " +"is only relevant at a lower level than the Expressions chapter. Added " +"details of comparing range() objects, and default behaviour and consistency " +"suggestions for user-defined classes. Patch from Andy Maier." +msgstr "" + +#: ../build/NEWS:19716 +msgid "" +"`bpo-23725 `__: Overhaul tempfile docs. " +"Note deprecated status of mktemp. Patch from Zbigniew Jędrzejewski-Szmek." +msgstr "" + +#: ../build/NEWS:19719 +msgid "" +"`bpo-24808 `__: Update the types of some " +"PyTypeObject fields. Patch by Joseph Weston." +msgstr "" + +#: ../build/NEWS:19722 +msgid "" +"`bpo-22812 `__: Fix unittest discovery " +"examples. Patch from Pam McA'Nulty." +msgstr "" + +#: ../build/NEWS:19729 +msgid "" +"`bpo-25099 `__: Make test_compileall not " +"fail when an entry on sys.path cannot be written to (commonly seen in " +"administrative installs on Windows)." +msgstr "" + +#: ../build/NEWS:19732 +msgid "" +"`bpo-23919 `__: Prevents assert dialogs " +"appearing in the test suite." +msgstr "" + +#: ../build/NEWS:19740 +msgid "" +"`bpo-24915 `__: Add LLVM support for PGO " +"builds and use the test suite to generate the profile data. Initial patch by " +"Alecsandru Patrascu of Intel." +msgstr "" + +#: ../build/NEWS:19743 +msgid "" +"`bpo-24910 `__: Windows MSIs now have " +"unique display names." +msgstr "" + +#: ../build/NEWS:19751 +msgid "" +"`bpo-25450 `__: Updates shortcuts to " +"start Python in installation directory." +msgstr "" + +#: ../build/NEWS:19753 +msgid "" +"`bpo-25164 `__: Changes default all-" +"users install directory to match per-user directory." +msgstr "" + +#: ../build/NEWS:19756 +msgid "" +"`bpo-25143 `__: Improves installer error " +"messages for unsupported platforms." +msgstr "" + +#: ../build/NEWS:19758 +msgid "" +"`bpo-25163 `__: Display correct " +"directory in installer when using non-default settings." +msgstr "" + +#: ../build/NEWS:19761 +msgid "" +"`bpo-25361 `__: Disables use of SSE2 " +"instructions in Windows 32-bit build" +msgstr "" + +#: ../build/NEWS:19763 +msgid "" +"`bpo-25089 `__: Adds logging to " +"installer for case where launcher is not selected on upgrade." +msgstr "" + +#: ../build/NEWS:19766 +msgid "" +"`bpo-25165 `__: Windows uninstallation " +"should not remove launcher if other versions remain" +msgstr "" + +#: ../build/NEWS:19769 +msgid "" +"`bpo-25112 `__: py.exe launcher is " +"missing icons" +msgstr "" + +#: ../build/NEWS:19771 +msgid "" +"`bpo-25102 `__: Windows installer does " +"not precompile for -O or -OO." +msgstr "" + +#: ../build/NEWS:19773 +msgid "" +"`bpo-25081 `__: Makes Back button in " +"installer go back to upgrade page when upgrading." +msgstr "" + +#: ../build/NEWS:19776 +msgid "" +"`bpo-25091 `__: Increases font size of " +"the installer." +msgstr "" + +#: ../build/NEWS:19778 +msgid "" +"`bpo-25126 `__: Clarifies that the non-" +"web installer will download some components." +msgstr "" + +#: ../build/NEWS:19781 +msgid "" +"`bpo-25213 `__: Restores " +"requestedExecutionLevel to manifest to disable UAC virtualization." +msgstr "" + +#: ../build/NEWS:19793 +msgid "Python 3.5.0 final" +msgstr "" + +#: ../build/NEWS:19795 +msgid "*Release date: 2015-09-13*" +msgstr "" + +#: ../build/NEWS:19800 +msgid "" +"`bpo-25071 `__: Windows installer should " +"not require TargetDir parameter when installing quietly." +msgstr "" + +#: ../build/NEWS:19805 +msgid "Python 3.5.0 release candidate 4" +msgstr "" + +#: ../build/NEWS:19807 +msgid "*Release date: 2015-09-09*" +msgstr "" + +#: ../build/NEWS:19812 +msgid "" +"`bpo-25029 `__: Fixes MemoryError in " +"test_strptime." +msgstr "" + +#: ../build/NEWS:19817 +msgid "" +"`bpo-25027 `__: Reverts partial-static " +"build options and adds vcruntime140.dll to Windows installation." +msgstr "" + +#: ../build/NEWS:19822 +msgid "Python 3.5.0 release candidate 3" +msgstr "" + +#: ../build/NEWS:19824 +msgid "*Release date: 2015-09-07*" +msgstr "" + +#: ../build/NEWS:19829 +msgid "" +"`bpo-24305 `__: Prevent import subsystem " +"stack frames from being counted by the warnings.warn(stacklevel=) parameter." +msgstr "" + +#: ../build/NEWS:19832 +msgid "" +"`bpo-24912 `__: Prevent __class__ " +"assignment to immutable built-in objects." +msgstr "" + +#: ../build/NEWS:19834 +msgid "" +"`bpo-24975 `__: Fix AST compilation for :" +"pep:`448` syntax." +msgstr "" + +#: ../build/NEWS:19839 +msgid "" +"`bpo-24917 `__: time_strftime() buffer " +"over-read." +msgstr "" + +#: ../build/NEWS:19841 +msgid "" +"`bpo-24748 `__: To resolve a " +"compatibility problem found with py2exe and pywin32, imp.load_dynamic() once " +"again ignores previously loaded modules to support Python modules replacing " +"themselves with extension modules. Patch by Petr Viktorin." +msgstr "" + +#: ../build/NEWS:19846 +msgid "" +"`bpo-24635 `__: Fixed a bug in typing.py " +"where isinstance([], typing.Iterable) would return True once, then False on " +"subsequent calls." +msgstr "" + +#: ../build/NEWS:19849 +msgid "" +"`bpo-24989 `__: Fixed buffer overread in " +"BytesIO.readline() if a position is set beyond size. Based on patch by John " +"Leitch." +msgstr "" + +#: ../build/NEWS:19857 +msgid "Python 3.5.0 release candidate 2" +msgstr "" + +#: ../build/NEWS:19859 +msgid "*Release date: 2015-08-25*" +msgstr "" + +#: ../build/NEWS:19864 +msgid "" +"`bpo-24769 `__: Interpreter now starts " +"properly when dynamic loading is disabled. Patch by Petr Viktorin." +msgstr "" + +#: ../build/NEWS:19867 +msgid "" +"`bpo-21167 `__: NAN operations are now " +"handled correctly when python is compiled with ICC even if -fp-model strict " +"is not specified." +msgstr "" + +#: ../build/NEWS:19870 +msgid "" +"`bpo-24492 `__: A \"package\" lacking a " +"__name__ attribute when trying to perform a ``from .. import ...`` statement " +"will trigger an ImportError instead of an AttributeError." +msgstr "" + +#: ../build/NEWS:19877 +msgid "" +"`bpo-24847 `__: Removes vcruntime140.dll " +"dependency from Tcl/Tk." +msgstr "" + +#: ../build/NEWS:19879 +msgid "" +"`bpo-24839 `__: platform._syscmd_ver " +"raises DeprecationWarning" +msgstr "" + +#: ../build/NEWS:19881 +msgid "" +"`bpo-24867 `__: Fix Task.get_stack() for " +"'async def' coroutines" +msgstr "" + +#: ../build/NEWS:19885 +msgid "Python 3.5.0 release candidate 1" +msgstr "" + +#: ../build/NEWS:19887 +msgid "*Release date: 2015-08-09*" +msgstr "" + +#: ../build/NEWS:19892 +msgid "" +"`bpo-24667 `__: Resize odict in all " +"cases that the underlying dict resizes." +msgstr "" + +#: ../build/NEWS:19897 +msgid "" +"`bpo-24824 `__: Signatures of codecs." +"encode() and codecs.decode() now are compatible with pydoc." +msgstr "" + +#: ../build/NEWS:19900 +msgid "" +"`bpo-24634 `__: Importing uuid should " +"not try to load libc on Windows" +msgstr "" + +#: ../build/NEWS:19902 +msgid "" +"`bpo-24798 `__: _msvccompiler.py doesn't " +"properly support manifests" +msgstr "" + +#: ../build/NEWS:19904 +msgid "" +"`bpo-4395 `__: Better testing and " +"documentation of binary operators. Patch by Martin Panter." +msgstr "" + +#: ../build/NEWS:19907 +msgid "" +"`bpo-23973 `__: Update typing.py from " +"GitHub repo." +msgstr "" + +#: ../build/NEWS:19909 +msgid "" +"`bpo-23004 `__: mock_open() now reads " +"binary data correctly when the type of read_data is bytes. Initial patch by " +"Aaron Hill." +msgstr "" + +#: ../build/NEWS:19912 +msgid "" +"`bpo-23888 `__: Handle fractional time " +"in cookie expiry. Patch by ssh." +msgstr "" + +#: ../build/NEWS:19914 +msgid "" +"`bpo-23652 `__: Make it possible to " +"compile the select module against the libc headers from the Linux Standard " +"Base, which do not include some EPOLL macros. Patch by Matt Frank." +msgstr "" + +#: ../build/NEWS:19918 +msgid "" +"`bpo-22932 `__: Fix timezones in email." +"utils.formatdate. Patch from Dmitry Shachnev." +msgstr "" + +#: ../build/NEWS:19921 +msgid "" +"`bpo-23779 `__: imaplib raises TypeError " +"if authenticator tries to abort. Patch from Craig Holmquist." +msgstr "" + +#: ../build/NEWS:19924 +msgid "" +"`bpo-23319 `__: Fix ctypes." +"BigEndianStructure, swap correctly bytes. Patch written by Matthieu Gautier." +msgstr "" + +#: ../build/NEWS:19927 +msgid "" +"`bpo-23254 `__: Document how to close " +"the TCPServer listening socket. Patch from Martin Panter." +msgstr "" + +#: ../build/NEWS:19930 +msgid "" +"`bpo-19450 `__: Update Windows and OS X " +"installer builds to use SQLite 3.8.11." +msgstr "" + +#: ../build/NEWS:19932 +msgid "" +"`bpo-17527 `__: Add PATCH to wsgiref." +"validator. Patch from Luca Sbardella." +msgstr "" + +#: ../build/NEWS:19934 +msgid "" +"`bpo-24791 `__: Fix grammar regression " +"for call syntax: 'g(\\*a or b)'." +msgstr "" + +#: ../build/NEWS:19939 +msgid "" +"`bpo-23672 `__: Allow Idle to edit and " +"run files with astral chars in name. Patch by Mohd Sanad Zaki Rizvi." +msgstr "" + +#: ../build/NEWS:19942 +msgid "" +"`bpo-24745 `__: Idle editor default " +"font. Switch from Courier to platform-sensitive TkFixedFont. This should " +"not affect current customized font selections. If there is a problem, edit " +"$HOME/.idlerc/config-main.cfg and remove 'fontxxx' entries from [Editor " +"Window]. Patch by Mark Roseman." +msgstr "" + +#: ../build/NEWS:19948 +msgid "" +"`bpo-21192 `__: Idle editor. When a file " +"is run, put its name in the restart bar. Do not print false prompts. " +"Original patch by Adnan Umer." +msgstr "" + +#: ../build/NEWS:19951 +msgid "" +"`bpo-13884 `__: Idle menus. Remove " +"tearoff lines. Patch by Roger Serwy." +msgstr "" + +#: ../build/NEWS:19956 +msgid "" +"`bpo-24129 `__: Clarify the reference " +"documentation for name resolution. This includes removing the assumption " +"that readers will be familiar with the name resolution scheme Python used " +"prior to the introduction of lexical scoping for function namespaces. Patch " +"by Ivan Levkivskyi." +msgstr "" + +#: ../build/NEWS:19961 +msgid "" +"`bpo-20769 `__: Improve reload() docs. " +"Patch by Dorian Pula." +msgstr "" + +#: ../build/NEWS:19963 +msgid "" +"`bpo-23589 `__: Remove duplicate " +"sentence from the FAQ. Patch by Yongzhi Pan." +msgstr "" + +#: ../build/NEWS:19965 +msgid "" +"`bpo-24729 `__: Correct IO tutorial to " +"match implementation regarding encoding parameter to open function." +msgstr "" + +#: ../build/NEWS:19971 +msgid "" +"`bpo-24751 `__: When running regrtest " +"with the ``-w`` command line option, a test run is no longer marked as a " +"failure if all tests succeed when re-run." +msgstr "" + +#: ../build/NEWS:19977 +msgid "Python 3.5.0 beta 4" +msgstr "" + +#: ../build/NEWS:19979 +msgid "*Release date: 2015-07-26*" +msgstr "" + +#: ../build/NEWS:19984 +msgid "" +"`bpo-23573 `__: Restored optimization of " +"bytes.rfind() and bytearray.rfind() for single-byte argument on Linux." +msgstr "" + +#: ../build/NEWS:19987 +msgid "" +"`bpo-24569 `__: Make :pep:`448` " +"dictionary evaluation more consistent." +msgstr "" + +#: ../build/NEWS:19989 +msgid "" +"`bpo-24583 `__: Fix crash when set is " +"mutated while being updated." +msgstr "" + +#: ../build/NEWS:19991 +msgid "" +"`bpo-24407 `__: Fix crash when dict is " +"mutated while being updated." +msgstr "" + +#: ../build/NEWS:19993 +msgid "" +"`bpo-24619 `__: New approach for " +"tokenizing async/await. As a consequence, it is now possible to have one-" +"line 'async def foo(): await ..' functions." +msgstr "" + +#: ../build/NEWS:19996 +msgid "" +"`bpo-24687 `__: Plug refleak on " +"SyntaxError in function parameters annotations." +msgstr "" + +#: ../build/NEWS:19998 +msgid "" +"`bpo-15944 `__: memoryview: Allow " +"arbitrary formats when casting to bytes. Patch by Martin Panter." +msgstr "" + +#: ../build/NEWS:20004 +msgid "" +"`bpo-23441 `__: rcompleter now prints a " +"tab character instead of displaying possible completions for an empty word. " +"Initial patch by Martin Sekera." +msgstr "" + +#: ../build/NEWS:20007 +msgid "" +"`bpo-24683 `__: Fixed crashes in _json " +"functions called with arguments of inappropriate type." +msgstr "" + +#: ../build/NEWS:20010 +msgid "" +"`bpo-21697 `__: shutil.copytree() now " +"correctly handles symbolic links that point to directories. Patch by " +"Eduardo Seabra and Thomas Kluyver." +msgstr "" + +#: ../build/NEWS:20013 +msgid "" +"`bpo-14373 `__: Fixed segmentation fault " +"when gc.collect() is called during constructing lru_cache (C implementation)." +msgstr "" + +#: ../build/NEWS:20016 +msgid "" +"`bpo-24695 `__: Fix a regression in " +"traceback.print_exception(). If exc_traceback is None we shouldn't print a " +"traceback header like described in the documentation." +msgstr "" + +#: ../build/NEWS:20020 +msgid "" +"`bpo-24620 `__: Random.setstate() now " +"validates the value of state last element." +msgstr "" + +#: ../build/NEWS:20023 +msgid "" +"`bpo-22485 `__: Fixed an issue that " +"caused `inspect.getsource` to return incorrect results on nested functions." +msgstr "" + +#: ../build/NEWS:20026 +msgid "" +"`bpo-22153 `__: Improve unittest docs. " +"Patch from Martin Panter and evilzero." +msgstr "" + +#: ../build/NEWS:20028 +msgid "" +"`bpo-24580 `__: Symbolic group " +"references to open group in re patterns now are explicitly forbidden as well " +"as numeric group references." +msgstr "" + +#: ../build/NEWS:20031 +msgid "" +"`bpo-24206 `__: Fixed __eq__ and __ne__ " +"methods of inspect classes." +msgstr "" + +#: ../build/NEWS:20033 +msgid "" +"`bpo-24631 `__: Fixed regression in the " +"timeit module with multiline setup." +msgstr "" + +#: ../build/NEWS:20041 +msgid "" +"`bpo-24608 `__: chunk.Chunk.read() now " +"always returns bytes, not str." +msgstr "" + +#: ../build/NEWS:20043 +msgid "" +"`bpo-18684 `__: Fixed reading out of the " +"buffer in the re module." +msgstr "" + +#: ../build/NEWS:20045 +msgid "" +"`bpo-24259 `__: tarfile now raises a " +"ReadError if an archive is truncated inside a data segment." +msgstr "" + +#: ../build/NEWS:20048 +msgid "" +"`bpo-15014 `__: SMTP.auth() and SMTP." +"login() now support RFC 4954's optional initial-response argument to the " +"SMTP AUTH command." +msgstr "" + +#: ../build/NEWS:20051 +msgid "" +"`bpo-24669 `__: Fix inspect.getsource() " +"for 'async def' functions. Patch by Kai Groner." +msgstr "" + +#: ../build/NEWS:20054 +msgid "" +"`bpo-24688 `__: ast.get_docstring() for " +"'async def' functions." +msgstr "" + +#: ../build/NEWS:20059 +msgid "" +"`bpo-24603 `__: Update Windows builds " +"and OS X 10.5 installer to use OpenSSL 1.0.2d." +msgstr "" + +#: ../build/NEWS:20064 +msgid "Python 3.5.0 beta 3" +msgstr "" + +#: ../build/NEWS:20066 +msgid "*Release date: 2015-07-05*" +msgstr "" + +#: ../build/NEWS:20071 +msgid "" +"`bpo-24467 `__: Fixed possible buffer " +"over-read in bytearray. The bytearray object now always allocates place for " +"trailing null byte and it's buffer now is always null-terminated." +msgstr "" + +#: ../build/NEWS:20075 +msgid "Upgrade to Unicode 8.0.0." +msgstr "" + +#: ../build/NEWS:20077 +msgid "" +"`bpo-24345 `__: Add Py_tp_finalize slot " +"for the stable ABI." +msgstr "" + +#: ../build/NEWS:20079 +msgid "" +"`bpo-24400 `__: Introduce a distinct " +"type for :pep:`492` coroutines; add types.CoroutineType, inspect." +"getcoroutinestate, inspect.getcoroutinelocals; coroutines no longer use " +"CO_GENERATOR flag; sys.set_coroutine_wrapper works only for 'async def' " +"coroutines; inspect.iscoroutine no longer uses collections.abc.Coroutine, " +"it's intended to test for pure 'async def' coroutines only; add new opcode: " +"GET_YIELD_FROM_ITER; fix generators wrapper used in types.coroutine to be " +"instance of collections.abc.Generator; collections.abc.Awaitable and " +"collections.abc.Coroutine can no longer be used to detect generator-based " +"coroutines--use inspect.isawaitable instead." +msgstr "" + +#: ../build/NEWS:20090 +msgid "" +"`bpo-24450 `__: Add gi_yieldfrom to " +"generators and cr_await to coroutines. Contributed by Benno Leslie and Yury " +"Selivanov." +msgstr "" + +#: ../build/NEWS:20093 +msgid "" +"`bpo-19235 `__: Add new RecursionError " +"exception. Patch by Georg Brandl." +msgstr "" + +#: ../build/NEWS:20098 +msgid "" +"`bpo-21750 `__: mock_open.read_data can " +"now be read from each instance, as it could in Python 3.3." +msgstr "" + +#: ../build/NEWS:20101 +msgid "" +"`bpo-24552 `__: Fix use after free in an " +"error case of the _pickle module." +msgstr "" + +#: ../build/NEWS:20103 +msgid "" +"`bpo-24514 `__: tarfile now tolerates " +"number fields consisting of only whitespace." +msgstr "" + +#: ../build/NEWS:20106 +msgid "" +"`bpo-19176 `__: Fixed doctype() related " +"bugs in C implementation of ElementTree. A deprecation warning no longer " +"issued by XMLParser subclass with default doctype() method. Direct call of " +"doctype() now issues a warning. Parser's doctype() now is not called if " +"target's doctype() is called. Based on patch by Martin Panter." +msgstr "" + +#: ../build/NEWS:20112 +msgid "" +"`bpo-20387 `__: Restore semantic round-" +"trip correctness in tokenize/untokenize for tab-indented blocks." +msgstr "" + +#: ../build/NEWS:20115 +msgid "" +"`bpo-24456 `__: Fixed possible buffer " +"over-read in adpcm2lin() and lin2adpcm() functions of the audioop module." +msgstr "" + +#: ../build/NEWS:20118 +msgid "" +"`bpo-24336 `__: The contextmanager " +"decorator now works with functions with keyword arguments called \"func\" " +"and \"self\". Patch by Martin Panter." +msgstr "" + +#: ../build/NEWS:20121 +msgid "" +"`bpo-24522 `__: Fix possible integer " +"overflow in json accelerator module." +msgstr "" + +#: ../build/NEWS:20123 +msgid "" +"`bpo-24489 `__: ensure a previously set " +"C errno doesn't disturb cmath.polar()." +msgstr "" + +#: ../build/NEWS:20125 +msgid "" +"`bpo-24408 `__: Fixed AttributeError in " +"measure() and metrics() methods of tkinter.Font." +msgstr "" + +#: ../build/NEWS:20128 +msgid "" +"`bpo-14373 `__: C implementation of " +"functools.lru_cache() now can be used with methods." +msgstr "" + +#: ../build/NEWS:20131 +msgid "" +"`bpo-24347 `__: Set KeyError if " +"PyDict_GetItemWithError returns NULL." +msgstr "" + +#: ../build/NEWS:20133 +msgid "" +"`bpo-24348 `__: Drop superfluous incref/" +"decref." +msgstr "" + +#: ../build/NEWS:20135 +msgid "" +"`bpo-24359 `__: Check for changed " +"OrderedDict size during iteration." +msgstr "" + +#: ../build/NEWS:20137 +msgid "" +"`bpo-24368 `__: Support keyword " +"arguments in OrderedDict methods." +msgstr "" + +#: ../build/NEWS:20139 +msgid "" +"`bpo-24362 `__: Simplify the C " +"OrderedDict fast nodes resize logic." +msgstr "" + +#: ../build/NEWS:20141 +msgid "" +"`bpo-24377 `__: Fix a ref leak in " +"OrderedDict.__repr__." +msgstr "" + +#: ../build/NEWS:20143 +msgid "" +"`bpo-24369 `__: Defend against key-" +"changes during iteration." +msgstr "" + +#: ../build/NEWS:20148 +msgid "" +"`bpo-24373 `__: _testmultiphase and " +"xxlimited now use tp_traverse and tp_finalize to avoid reference leaks " +"encountered when combining tp_dealloc with PyType_FromSpec (see `bpo-16690 " +"`__ for details)" +msgstr "" + +#: ../build/NEWS:20155 +msgid "" +"`bpo-24458 `__: Update documentation to " +"cover multi-phase initialization for extension modules (PEP 489). Patch by " +"Petr Viktorin." +msgstr "" + +#: ../build/NEWS:20158 +msgid "" +"`bpo-24351 `__: Clarify what is meant by " +"\"identifier\" in the context of string.Template instances." +msgstr "" + +#: ../build/NEWS:20164 +msgid "" +"`bpo-24432 `__: Update Windows builds " +"and OS X 10.5 installer to use OpenSSL 1.0.2c." +msgstr "" + +#: ../build/NEWS:20169 +msgid "Python 3.5.0 beta 2" +msgstr "" + +#: ../build/NEWS:20171 +msgid "*Release date: 2015-05-31*" +msgstr "" + +#: ../build/NEWS:20176 +msgid "" +"`bpo-24284 `__: The startswith and " +"endswith methods of the str class no longer return True when finding the " +"empty string and the indexes are completely out of range." +msgstr "" + +#: ../build/NEWS:20180 +msgid "" +"`bpo-24115 `__: Update uses of " +"PyObject_IsTrue(), PyObject_Not(), PyObject_IsInstance(), " +"PyObject_RichCompareBool() and _PyDict_Contains() to check for and handle " +"errors correctly." +msgstr "" + +#: ../build/NEWS:20184 +msgid "" +"`bpo-24328 `__: Fix importing one " +"character extension modules." +msgstr "" + +#: ../build/NEWS:20186 +msgid "" +"`bpo-11205 `__: In dictionary displays, " +"evaluate the key before the value." +msgstr "" + +#: ../build/NEWS:20188 +msgid "" +"`bpo-24285 `__: Fixed regression that " +"prevented importing extension modules from inside packages. Patch by Petr " +"Viktorin." +msgstr "" + +#: ../build/NEWS:20194 +msgid "" +"`bpo-23247 `__: Fix a crash in the " +"StreamWriter.reset() of CJK codecs." +msgstr "" + +#: ../build/NEWS:20196 +msgid "" +"`bpo-24270 `__: Add math.isclose() and " +"cmath.isclose() functions as per :pep:`485`. Contributed by Chris Barker and " +"Tal Einat." +msgstr "" + +#: ../build/NEWS:20199 +msgid "" +"`bpo-5633 `__: Fixed timeit when the " +"statement is a string and the setup is not." +msgstr "" + +#: ../build/NEWS:20202 +msgid "" +"`bpo-24326 `__: Fixed audioop.ratecv() " +"with non-default weightB argument. Original patch by David Moore." +msgstr "" + +#: ../build/NEWS:20205 +msgid "" +"`bpo-16991 `__: Add a C implementation " +"of OrderedDict." +msgstr "" + +#: ../build/NEWS:20207 +msgid "" +"`bpo-23934 `__: Fix inspect.signature to " +"fail correctly for builtin types lacking signature information. Initial " +"patch by James Powell." +msgstr "" + +#: ../build/NEWS:20212 +msgid "Python 3.5.0 beta 1" +msgstr "" + +#: ../build/NEWS:20214 +msgid "*Release date: 2015-05-24*" +msgstr "" + +#: ../build/NEWS:20219 +msgid "" +"`bpo-24276 `__: Fixed optimization of " +"property descriptor getter." +msgstr "" + +#: ../build/NEWS:20221 +msgid "" +"`bpo-24268 `__: PEP 489: Multi-phase " +"extension module initialization. Patch by Petr Viktorin." +msgstr "" + +#: ../build/NEWS:20224 +msgid "" +"`bpo-23955 `__: Add pyvenv.cfg option to " +"suppress registry/environment lookup for generating sys.path on Windows." +msgstr "" + +#: ../build/NEWS:20227 +msgid "" +"`bpo-24257 `__: Fixed system error in " +"the comparison of faked types.SimpleNamespace." +msgstr "" + +#: ../build/NEWS:20230 +msgid "" +"`bpo-22939 `__: Fixed integer overflow " +"in iterator object. Patch by Clement Rouault." +msgstr "" + +#: ../build/NEWS:20233 +msgid "" +"`bpo-23985 `__: Fix a possible buffer " +"overrun when deleting a slice from the front of a bytearray and then " +"appending some other bytes data." +msgstr "" + +#: ../build/NEWS:20236 +msgid "" +"`bpo-24102 `__: Fixed exception type " +"checking in standard error handlers." +msgstr "" + +#: ../build/NEWS:20238 +msgid "" +"`bpo-15027 `__: The UTF-32 encoder is " +"now 3x to 7x faster." +msgstr "" + +#: ../build/NEWS:20240 +msgid "" +"`bpo-23290 `__: Optimize set_merge() for " +"cases where the target is empty. (Contributed by Serhiy Storchaka.)" +msgstr "" + +#: ../build/NEWS:20243 +msgid "" +"`bpo-2292 `__: PEP 448: Additional " +"Unpacking Generalizations." +msgstr "" + +#: ../build/NEWS:20245 +msgid "" +"`bpo-24096 `__: Make warnings." +"warn_explicit more robust against mutation of the warnings.filters list." +msgstr "" + +#: ../build/NEWS:20248 +msgid "" +"`bpo-23996 `__: Avoid a crash when a " +"delegated generator raises an unnormalized StopIteration exception. Patch " +"by Stefan Behnel." +msgstr "" + +#: ../build/NEWS:20251 +msgid "" +"`bpo-23910 `__: Optimize property() " +"getter calls. Patch by Joe Jevnik." +msgstr "" + +#: ../build/NEWS:20253 +msgid "" +"`bpo-23911 `__: Move path-based " +"importlib bootstrap code to a separate frozen module." +msgstr "" + +#: ../build/NEWS:20256 +msgid "" +"`bpo-24192 `__: Fix namespace package " +"imports." +msgstr "" + +#: ../build/NEWS:20258 +msgid "" +"`bpo-24022 `__: Fix tokenizer crash when " +"processing undecodable source code." +msgstr "" + +#: ../build/NEWS:20260 +msgid "" +"`bpo-9951 `__: Added a hex() method to " +"bytes, bytearray, and memoryview." +msgstr "" + +#: ../build/NEWS:20262 +msgid "" +"`bpo-22906 `__: PEP 479: Change " +"StopIteration handling inside generators." +msgstr "" + +#: ../build/NEWS:20264 +msgid "" +"`bpo-24017 `__: PEP 492: Coroutines with " +"async and await syntax." +msgstr "" + +#: ../build/NEWS:20269 +msgid "" +"`bpo-14373 `__: Added C implementation " +"of functools.lru_cache(). Based on patches by Matt Joiner and Alexey " +"Kachayev." +msgstr "" + +#: ../build/NEWS:20272 +msgid "" +"`bpo-24230 `__: The tempfile module now " +"accepts bytes for prefix, suffix and dir parameters and returns bytes in " +"such situations (matching the os module APIs)." +msgstr "" + +#: ../build/NEWS:20276 +msgid "" +"`bpo-22189 `__: collections.UserString " +"now supports __getnewargs__(), __rmod__(), casefold(), format_map(), " +"isprintable(), and maketrans(). Patch by Joe Jevnik." +msgstr "" + +#: ../build/NEWS:20280 +msgid "" +"`bpo-24244 `__: Prevents termination " +"when an invalid format string is encountered on Windows in strftime." +msgstr "" + +#: ../build/NEWS:20283 +msgid "" +"`bpo-23973 `__: PEP 484: Add the typing " +"module." +msgstr "" + +#: ../build/NEWS:20285 +msgid "" +"`bpo-23086 `__: The collections.abc." +"Sequence() abstract base class added *start* and *stop* parameters to the " +"index() mixin. Patch by Devin Jeanpierre." +msgstr "" + +#: ../build/NEWS:20289 +msgid "" +"`bpo-20035 `__: Replaced the ``tkinter." +"_fix`` module used for setting up the Tcl/Tk environment on Windows with a " +"private function in the ``_tkinter`` module that makes no permanent changes " +"to the environment." +msgstr "" + +#: ../build/NEWS:20293 +msgid "" +"`bpo-24257 `__: Fixed segmentation fault " +"in sqlite3.Row constructor with faked cursor type." +msgstr "" + +#: ../build/NEWS:20296 +msgid "" +"`bpo-15836 `__: assertRaises(), " +"assertRaisesRegex(), assertWarns() and assertWarnsRegex() assertments now " +"check the type of the first argument to prevent possible user error. Based " +"on patch by Daniel Wagner-Hall." +msgstr "" + +#: ../build/NEWS:20300 +msgid "" +"`bpo-9858 `__: Add missing method stubs " +"to _io.RawIOBase. Patch by Laura Rupprecht." +msgstr "" + +#: ../build/NEWS:20303 +msgid "" +"`bpo-22955 `__: attrgetter, itemgetter " +"and methodcaller objects in the operator module now support pickling. Added " +"readable and evaluable repr for these objects. Based on patch by Josh " +"Rosenberg." +msgstr "" + +#: ../build/NEWS:20307 +msgid "" +"`bpo-22107 `__: tempfile.gettempdir() " +"and tempfile.mkdtemp() now try again when a directory with the chosen name " +"already exists on Windows as well as on Unix. tempfile.mkstemp() now fails " +"early if parent directory is not valid (not exists or is a file) on Windows." +msgstr "" + +#: ../build/NEWS:20312 +msgid "" +"`bpo-23780 `__: Improved error message " +"in os.path.join() with single argument." +msgstr "" + +#: ../build/NEWS:20314 +msgid "" +"`bpo-6598 `__: Increased time precision " +"and random number range in email.utils.make_msgid() to strengthen the " +"uniqueness of the message ID." +msgstr "" + +#: ../build/NEWS:20317 +msgid "" +"`bpo-24091 `__: Fixed various crashes in " +"corner cases in C implementation of ElementTree." +msgstr "" + +#: ../build/NEWS:20320 +msgid "" +"`bpo-21931 `__: msilib.FCICreate() now " +"raises TypeError in the case of a bad argument instead of a ValueError with " +"a bogus FCI error number. Patch by Jeffrey Armstrong." +msgstr "" + +#: ../build/NEWS:20324 +msgid "" +"`bpo-13866 `__: *quote_via* argument " +"added to urllib.parse.urlencode." +msgstr "" + +#: ../build/NEWS:20326 +msgid "" +"`bpo-20098 `__: New mangle_from policy " +"option for email, default True for compat32, but False for all other " +"policies." +msgstr "" + +#: ../build/NEWS:20329 +msgid "" +"`bpo-24211 `__: The email library now " +"supports RFC 6532: it can generate headers using utf-8 instead of encoded " +"words." +msgstr "" + +#: ../build/NEWS:20332 +msgid "" +"`bpo-16314 `__: Added support for the " +"LZMA compression in distutils." +msgstr "" + +#: ../build/NEWS:20334 +msgid "" +"`bpo-21804 `__: poplib now supports RFC " +"6856 (UTF8)." +msgstr "" + +#: ../build/NEWS:20336 +msgid "" +"`bpo-18682 `__: Optimized pprint " +"functions for builtin scalar types." +msgstr "" + +#: ../build/NEWS:20338 +msgid "" +"`bpo-22027 `__: smtplib now supports RFC " +"6531 (SMTPUTF8)." +msgstr "" + +#: ../build/NEWS:20340 +msgid "" +"`bpo-23488 `__: Random generator objects " +"now consume 2x less memory on 64-bit." +msgstr "" + +#: ../build/NEWS:20342 +msgid "" +"`bpo-1322 `__: platform.dist() and " +"platform.linux_distribution() functions are now deprecated. Initial patch " +"by Vajrasky Kok." +msgstr "" + +#: ../build/NEWS:20345 +msgid "" +"`bpo-22486 `__: Added the math.gcd() " +"function. The fractions.gcd() function now is deprecated. Based on patch " +"by Mark Dickinson." +msgstr "" + +#: ../build/NEWS:20348 +msgid "" +"`bpo-24064 `__: Property() docstrings " +"are now writeable. (Patch by Berker Peksag.)" +msgstr "" + +#: ../build/NEWS:20351 +msgid "" +"`bpo-22681 `__: Added support for the " +"koi8_t encoding." +msgstr "" + +#: ../build/NEWS:20353 +msgid "" +"`bpo-22682 `__: Added support for the " +"kz1048 encoding." +msgstr "" + +#: ../build/NEWS:20355 +msgid "" +"`bpo-23796 `__: peek and read1 methods " +"of BufferedReader now raise ValueError if they called on a closed object. " +"Patch by John Hergenroeder." +msgstr "" + +#: ../build/NEWS:20358 +msgid "" +"`bpo-21795 `__: smtpd now supports the " +"8BITMIME extension whenever the new *decode_data* constructor argument is " +"set to False." +msgstr "" + +#: ../build/NEWS:20361 +msgid "" +"`bpo-24155 `__: optimize heapq.heapify() " +"for better cache performance when heapifying large lists." +msgstr "" + +#: ../build/NEWS:20364 +msgid "" +"`bpo-21800 `__: imaplib now supports RFC " +"5161 (enable), RFC 6855 (utf8/internationalized email) and automatically " +"encodes non-ASCII usernames and passwords to UTF8." +msgstr "" + +#: ../build/NEWS:20368 +msgid "" +"`bpo-20274 `__: When calling a _sqlite." +"Connection, it now complains if passed any keyword arguments. Previously it " +"silently ignored them." +msgstr "" + +#: ../build/NEWS:20371 +msgid "" +"`bpo-20274 `__: Remove ignored and " +"erroneous \"kwargs\" parameters from three METH_VARARGS methods on _sqlite." +"Connection." +msgstr "" + +#: ../build/NEWS:20374 +msgid "" +"`bpo-24134 `__: assertRaises(), " +"assertRaisesRegex(), assertWarns() and assertWarnsRegex() checks now emits a " +"deprecation warning when callable is None or keyword arguments except msg is " +"passed in the context manager mode." +msgstr "" + +#: ../build/NEWS:20379 +msgid "" +"`bpo-24018 `__: Add a collections.abc." +"Generator abstract base class. Contributed by Stefan Behnel." +msgstr "" + +#: ../build/NEWS:20382 +msgid "" +"`bpo-23880 `__: Tkinter's getint() and " +"getdouble() now support Tcl_Obj. Tkinter's getdouble() now supports any " +"numbers (in particular int)." +msgstr "" + +#: ../build/NEWS:20385 +msgid "" +"`bpo-22619 `__: Added negative limit " +"support in the traceback module. Based on patch by Dmitry Kazakov." +msgstr "" + +#: ../build/NEWS:20388 +msgid "" +"`bpo-24094 `__: Fix possible crash in " +"json.encode with poorly behaved dict subclasses." +msgstr "" + +#: ../build/NEWS:20391 +msgid "" +"`bpo-9246 `__: On POSIX, os.getcwd() now " +"supports paths longer than 1025 bytes. Patch written by William Orr." +msgstr "" + +#: ../build/NEWS:20394 +msgid "" +"`bpo-17445 `__: add difflib.diff_bytes() " +"to support comparison of byte strings (fixes a regression from Python 2)." +msgstr "" + +#: ../build/NEWS:20397 +msgid "" +"`bpo-23917 `__: Fall back to sequential " +"compilation when ProcessPoolExecutor doesn't exist. Patch by Claudiu Popa." +msgstr "" + +#: ../build/NEWS:20400 +msgid "" +"`bpo-23008 `__: Fixed resolving " +"attributes with boolean value is False in pydoc." +msgstr "" + +#: ../build/NEWS:20403 +msgid "" +"Fix asyncio issue 235: LifoQueue and PriorityQueue's put didn't increment " +"unfinished tasks (this bug was introduced when JoinableQueue was merged with " +"Queue)." +msgstr "" + +#: ../build/NEWS:20407 +msgid "" +"`bpo-23908 `__: os functions now reject " +"paths with embedded null character on Windows instead of silently truncating " +"them." +msgstr "" + +#: ../build/NEWS:20410 +msgid "" +"`bpo-23728 `__: binascii.crc_hqx() could " +"return an integer outside of the range 0-0xffff for empty data." +msgstr "" + +#: ../build/NEWS:20413 +msgid "" +"`bpo-23887 `__: urllib.error.HTTPError " +"now has a proper repr() representation. Patch by Berker Peksag." +msgstr "" + +#: ../build/NEWS:20416 +msgid "" +"asyncio: New event loop APIs: set_task_factory() and get_task_factory()." +msgstr "" + +#: ../build/NEWS:20418 +msgid "asyncio: async() function is deprecated in favour of ensure_future()." +msgstr "" + +#: ../build/NEWS:20420 +msgid "" +"`bpo-24178 `__: asyncio.Lock, Condition, " +"Semaphore, and BoundedSemaphore support new 'async with' syntax. " +"Contributed by Yury Selivanov." +msgstr "" + +#: ../build/NEWS:20423 +msgid "" +"`bpo-24179 `__: Support 'async for' for " +"asyncio.StreamReader. Contributed by Yury Selivanov." +msgstr "" + +#: ../build/NEWS:20426 +msgid "" +"`bpo-24184 `__: Add AsyncIterator and " +"AsyncIterable ABCs to collections.abc. Contributed by Yury Selivanov." +msgstr "" + +#: ../build/NEWS:20429 +msgid "" +"`bpo-22547 `__: Implement informative " +"__repr__ for inspect.BoundArguments. Contributed by Yury Selivanov." +msgstr "" + +#: ../build/NEWS:20432 +msgid "" +"`bpo-24190 `__: Implement inspect." +"BoundArgument.apply_defaults() method. Contributed by Yury Selivanov." +msgstr "" + +#: ../build/NEWS:20435 +msgid "" +"`bpo-20691 `__: Add 'follow_wrapped' " +"argument to inspect.Signature.from_callable() and inspect.signature(). " +"Contributed by Yury Selivanov." +msgstr "" + +#: ../build/NEWS:20439 +msgid "" +"`bpo-24248 `__: Deprecate inspect." +"Signature.from_function() and inspect.Signature.from_builtin()." +msgstr "" + +#: ../build/NEWS:20442 +msgid "" +"`bpo-23898 `__: Fix inspect." +"classify_class_attrs() to support attributes with overloaded __eq__ and " +"__bool__. Patch by Mike Bayer." +msgstr "" + +#: ../build/NEWS:20445 +msgid "" +"`bpo-24298 `__: Fix inspect.signature() " +"to correctly unwrap wrappers around bound methods." +msgstr "" + +#: ../build/NEWS:20451 +msgid "" +"`bpo-23184 `__: remove unused names and " +"imports in idlelib. Initial patch by Al Sweigart." +msgstr "" + +#: ../build/NEWS:20457 +msgid "" +"`bpo-21520 `__: test_zipfile no longer " +"fails if the word 'bad' appears anywhere in the name of the current " +"directory." +msgstr "" + +#: ../build/NEWS:20460 +msgid "" +"`bpo-9517 `__: Move script_helper into " +"the support package. Patch by Christie Wilson." +msgstr "" + +#: ../build/NEWS:20466 +msgid "" +"`bpo-22155 `__: Add File Handlers " +"subsection with createfilehandler to tkinter doc. Remove obsolete example " +"from FAQ. Patch by Martin Panter." +msgstr "" + +#: ../build/NEWS:20469 +msgid "" +"`bpo-24029 `__: Document the name " +"binding behavior for submodule imports." +msgstr "" + +#: ../build/NEWS:20471 +msgid "" +"`bpo-24077 `__: Fix typo in man page for " +"-I command option: -s, not -S" +msgstr "" + +#: ../build/NEWS:20476 +msgid "" +"`bpo-24000 `__: Improved Argument " +"Clinic's mapping of converters to legacy \"format units\". Updated the " +"documentation to match." +msgstr "" + +#: ../build/NEWS:20479 +msgid "" +"`bpo-24001 `__: Argument Clinic " +"converters now use accept={type} instead of types={'type'} to specify the " +"types the converter accepts." +msgstr "" + +#: ../build/NEWS:20482 +msgid "" +"`bpo-23330 `__: h2py now supports " +"arbitrary filenames in #include." +msgstr "" + +#: ../build/NEWS:20484 +msgid "" +"`bpo-24031 `__: make patchcheck now " +"supports git checkouts, too." +msgstr "" + +#: ../build/NEWS:20488 +msgid "Python 3.5.0 alpha 4" +msgstr "" + +#: ../build/NEWS:20490 +msgid "*Release date: 2015-04-19*" +msgstr "" + +#: ../build/NEWS:20495 +msgid "" +"`bpo-22980 `__: Under Linux, GNU/" +"KFreeBSD and the Hurd, C extensions now include the architecture triplet in " +"the extension name, to make it easy to test builds for different ABIs in the " +"same working tree. Under OS X, the extension name now includes :pep:`3149`-" +"style information." +msgstr "" + +#: ../build/NEWS:20500 +msgid "" +"`bpo-22631 `__: Added Linux-specific " +"socket constant CAN_RAW_FD_FRAMES. Patch courtesy of Joe Jevnik." +msgstr "" + +#: ../build/NEWS:20503 +msgid "" +"`bpo-23731 `__: Implement :pep:`488`: " +"removal of .pyo files." +msgstr "" + +#: ../build/NEWS:20505 +msgid "" +"`bpo-23726 `__: Don't enable GC for user " +"subclasses of non-GC types that don't add any new fields. Patch by Eugene " +"Toder." +msgstr "" + +#: ../build/NEWS:20508 +msgid "" +"`bpo-23309 `__: Avoid a deadlock at " +"shutdown if a daemon thread is aborted while it is holding a lock to a " +"buffered I/O object, and the main thread tries to use the same I/O object " +"(typically stdout or stderr). A fatal error is emitted instead." +msgstr "" + +#: ../build/NEWS:20513 +msgid "" +"`bpo-22977 `__: Fixed formatting Windows " +"error messages on Wine. Patch by Martin Panter." +msgstr "" + +#: ../build/NEWS:20516 +#, python-format +msgid "" +"`bpo-23466 `__: %c, %o, %x, and %X in " +"bytes formatting now raise TypeError on non-integer input." +msgstr "" + +#: ../build/NEWS:20519 +msgid "" +"`bpo-24044 `__: Fix possible null " +"pointer dereference in list.sort in out of memory conditions." +msgstr "" + +#: ../build/NEWS:20522 +msgid "" +"`bpo-21354 `__: PyCFunction_New function " +"is exposed by python DLL again." +msgstr "" + +#: ../build/NEWS:20527 +msgid "" +"`bpo-23840 `__: tokenize.open() now " +"closes the temporary binary file on error to fix a resource warning." +msgstr "" + +#: ../build/NEWS:20530 +msgid "" +"`bpo-16914 `__: new debuglevel 2 in " +"smtplib adds timestamps to debug output." +msgstr "" + +#: ../build/NEWS:20532 +msgid "" +"`bpo-7159 `__: urllib.request now " +"supports sending auth credentials automatically after the first 401. This " +"enhancement is a superset of the enhancement from `bpo-19494 `__ and supersedes that change." +msgstr "" + +#: ../build/NEWS:20536 +msgid "" +"`bpo-23703 `__: Fix a regression in " +"urljoin() introduced in 901e4e52b20a. Patch by Demian Brecht." +msgstr "" + +#: ../build/NEWS:20539 +msgid "" +"`bpo-4254 `__: Adds _curses." +"update_lines_cols(). Patch by Arnon Yaari" +msgstr "" + +#: ../build/NEWS:20541 +msgid "" +"`bpo-19933 `__: Provide default argument " +"for ndigits in round. Patch by Vajrasky Kok." +msgstr "" + +#: ../build/NEWS:20544 +msgid "" +"`bpo-23193 `__: Add a numeric_owner " +"parameter to tarfile.TarFile.extract and tarfile.TarFile.extractall. Patch " +"by Michael Vogt and Eric Smith." +msgstr "" + +#: ../build/NEWS:20547 +msgid "" +"`bpo-23342 `__: Add a subprocess.run() " +"function than returns a CalledProcess instance for a more consistent API " +"than the existing call* functions." +msgstr "" + +#: ../build/NEWS:20550 +msgid "" +"`bpo-21217 `__: inspect.getsourcelines() " +"now tries to compute the start and end lines from the code object, fixing an " +"issue when a lambda function is used as decorator argument. Patch by Thomas " +"Ballinger and Allison Kaptur." +msgstr "" + +#: ../build/NEWS:20554 +msgid "" +"`bpo-24521 `__: Fix possible integer " +"overflows in the pickle module." +msgstr "" + +#: ../build/NEWS:20556 +msgid "" +"`bpo-22931 `__: Allow '[' and ']' in " +"cookie values." +msgstr "" + +#: ../build/NEWS:20558 +msgid "The keywords attribute of functools.partial is now always a dictionary." +msgstr "" + +#: ../build/NEWS:20560 +msgid "" +"`bpo-23811 `__: Add missing newline to " +"the PyCompileError error message. Patch by Alex Shkop." +msgstr "" + +#: ../build/NEWS:20563 +#, python-format +msgid "" +"`bpo-21116 `__: Avoid blowing memory " +"when allocating a multiprocessing shared array that's larger than 50% of the " +"available RAM. Patch by Médéric Boquien." +msgstr "" + +#: ../build/NEWS:20567 +msgid "" +"`bpo-22982 `__: Improve BOM handling " +"when seeking to multiple positions of a writable text file." +msgstr "" + +#: ../build/NEWS:20570 +msgid "" +"`bpo-23464 `__: Removed deprecated " +"asyncio JoinableQueue." +msgstr "" + +#: ../build/NEWS:20572 +msgid "" +"`bpo-23529 `__: Limit the size of " +"decompressed data when reading from GzipFile, BZ2File or LZMAFile. This " +"defeats denial of service attacks using compressed bombs (i.e. compressed " +"payloads which decompress to a huge size). Patch by Martin Panter and " +"Nikolaus Rath." +msgstr "" + +#: ../build/NEWS:20577 +msgid "" +"`bpo-21859 `__: Added Python " +"implementation of io.FileIO." +msgstr "" + +#: ../build/NEWS:20579 +msgid "" +"`bpo-23865 `__: close() methods in " +"multiple modules now are idempotent and more robust at shutdown. If they " +"need to release multiple resources, all are released even if errors occur." +msgstr "" + +#: ../build/NEWS:20583 +msgid "" +"`bpo-23400 `__: Raise same exception on " +"both Python 2 and 3 if sem_open is not available. Patch by Davin Potts." +msgstr "" + +#: ../build/NEWS:20586 +msgid "" +"`bpo-10838 `__: The subprocess now " +"module includes SubprocessError and TimeoutError in its list of exported " +"names for the users wild enough to use ``from subprocess import *``." +msgstr "" + +#: ../build/NEWS:20590 +msgid "" +"`bpo-23411 `__: Added DefragResult, " +"ParseResult, SplitResult, DefragResultBytes, ParseResultBytes, and " +"SplitResultBytes to urllib.parse.__all__. Patch by Martin Panter." +msgstr "" + +#: ../build/NEWS:20594 +msgid "" +"`bpo-23881 `__: urllib.request." +"ftpwrapper constructor now closes the socket if the FTP connection failed to " +"fix a ResourceWarning." +msgstr "" + +#: ../build/NEWS:20597 +msgid "" +"`bpo-23853 `__: :meth:`socket.socket." +"sendall` does no more reset the socket timeout each time data is sent " +"successfully. The socket timeout is now the maximum total duration to send " +"all data." +msgstr "" + +#: ../build/NEWS:20601 +msgid "" +"`bpo-22721 `__: An order of multiline " +"pprint output of set or dict containing orderable and non-orderable elements " +"no longer depends on iteration order of set or dict." +msgstr "" + +#: ../build/NEWS:20605 +msgid "" +"`bpo-15133 `__: _tkinter.tkapp." +"getboolean() now supports Tcl_Obj and always returns bool. tkinter." +"BooleanVar now validates input values (accepted bool, int, str, and " +"Tcl_Obj). tkinter.BooleanVar.get() now always returns bool." +msgstr "" + +#: ../build/NEWS:20610 +msgid "" +"`bpo-10590 `__: xml.sax.parseString() " +"now supports string argument." +msgstr "" + +#: ../build/NEWS:20612 +msgid "" +"`bpo-23338 `__: Fixed formatting ctypes " +"error messages on Cygwin. Patch by Makoto Kato." +msgstr "" + +#: ../build/NEWS:20615 +msgid "" +"`bpo-15582 `__: inspect.getdoc() now " +"follows inheritance chains." +msgstr "" + +#: ../build/NEWS:20617 +msgid "" +"`bpo-2175 `__: SAX parsers now support a " +"character stream of InputSource object." +msgstr "" + +#: ../build/NEWS:20620 +msgid "" +"`bpo-16840 `__: Tkinter now supports 64-" +"bit integers added in Tcl 8.4 and arbitrary precision integers added in Tcl " +"8.5." +msgstr "" + +#: ../build/NEWS:20623 +msgid "" +"`bpo-23834 `__: Fix socket.sendto(), use " +"the C Py_ssize_t type to store the result of sendto() instead of the C int " +"type." +msgstr "" + +#: ../build/NEWS:20626 +msgid "" +"`bpo-23618 `__: :meth:`socket.socket." +"connect` now waits until the connection completes instead of raising :exc:" +"`InterruptedError` if the connection is interrupted by signals, signal " +"handlers don't raise an exception and the socket is blocking or has a " +"timeout. :meth:`socket.socket.connect` still raise :exc:`InterruptedError` " +"for non-blocking sockets." +msgstr "" + +#: ../build/NEWS:20632 +msgid "" +"`bpo-21526 `__: Tkinter now supports new " +"boolean type in Tcl 8.5." +msgstr "" + +#: ../build/NEWS:20634 +msgid "" +"`bpo-23836 `__: Fix the faulthandler " +"module to handle reentrant calls to its signal handlers." +msgstr "" + +#: ../build/NEWS:20637 +msgid "" +"`bpo-23838 `__: linecache now clears the " +"cache and returns an empty result on MemoryError." +msgstr "" + +#: ../build/NEWS:20640 +msgid "" +"`bpo-10395 `__: Added os.path." +"commonpath(). Implemented in posixpath and ntpath. Based on patch by Rafik " +"Draoui." +msgstr "" + +#: ../build/NEWS:20643 +msgid "" +"`bpo-23611 `__: Serializing more " +"\"lookupable\" objects (such as unbound methods or nested classes) now are " +"supported with pickle protocols < 4." +msgstr "" + +#: ../build/NEWS:20646 +msgid "" +"`bpo-13583 `__: sqlite3.Row now supports " +"slice indexing." +msgstr "" + +#: ../build/NEWS:20648 +msgid "" +"`bpo-18473 `__: Fixed 2to3 and 3to2 " +"compatible pickle mappings. Fixed ambiguous reverse mappings. Added many " +"new mappings. Import mapping is no longer applied to modules already mapped " +"with full name mapping." +msgstr "" + +#: ../build/NEWS:20652 +msgid "" +"`bpo-23485 `__: select.select() is now " +"retried automatically with the recomputed timeout when interrupted by a " +"signal, except if the signal handler raises an exception. This change is " +"part of the :pep:`475`." +msgstr "" + +#: ../build/NEWS:20656 +msgid "" +"`bpo-23752 `__: When built from an " +"existing file descriptor, io.FileIO() now only calls fstat() once. Before " +"fstat() was called twice, which was not necessary." +msgstr "" + +#: ../build/NEWS:20660 +msgid "" +"`bpo-23704 `__: collections.deque() " +"objects now support __add__, __mul__, and __imul__()." +msgstr "" + +#: ../build/NEWS:20663 +msgid "" +"`bpo-23171 `__: csv.Writer.writerow() " +"now supports arbitrary iterables." +msgstr "" + +#: ../build/NEWS:20665 +msgid "" +"`bpo-23745 `__: The new email header " +"parser now handles duplicate MIME parameter names without error, similar to " +"how get_param behaves." +msgstr "" + +#: ../build/NEWS:20668 +msgid "" +"`bpo-22117 `__: Fix os.utime(), it now " +"rounds the timestamp towards minus infinity (-inf) instead of rounding " +"towards zero." +msgstr "" + +#: ../build/NEWS:20671 +msgid "" +"`bpo-23310 `__: Fix MagicMock's " +"initializer to work with __methods__, just like configure_mock(). Patch by " +"Kasia Jachim." +msgstr "" + +#: ../build/NEWS:20677 +msgid "" +"`bpo-23817 `__: FreeBSD now uses \"1.0\" " +"in the SOVERSION as other operating systems, instead of just \"1\"." +msgstr "" + +#: ../build/NEWS:20680 +msgid "" +"`bpo-23501 `__: Argument Clinic now " +"generates code into separate files by default." +msgstr "" + +#: ../build/NEWS:20686 +msgid "" +"`bpo-23799 `__: Added test.support." +"start_threads() for running and cleaning up multiple threads." +msgstr "" + +#: ../build/NEWS:20689 +msgid "" +"`bpo-22390 `__: test.regrtest now emits " +"a warning if temporary files or directories are left after running a test." +msgstr "" + +#: ../build/NEWS:20695 +msgid "" +"`bpo-18128 `__: pygettext now uses " +"standard +NNNN format in the POT-Creation-Date header." +msgstr "" + +#: ../build/NEWS:20698 +msgid "" +"`bpo-23935 `__: Argument Clinic's " +"understanding of format units accepting bytes, bytearrays, and buffers is " +"now consistent with both the documentation and the implementation." +msgstr "" + +#: ../build/NEWS:20702 +msgid "" +"`bpo-23944 `__: Argument Clinic now " +"wraps long impl prototypes at column 78." +msgstr "" + +#: ../build/NEWS:20704 +msgid "" +"`bpo-20586 `__: Argument Clinic now " +"ensures that functions without docstrings have signatures." +msgstr "" + +#: ../build/NEWS:20707 +msgid "" +"`bpo-23492 `__: Argument Clinic now " +"generates argument parsing code with PyArg_Parse instead of PyArg_ParseTuple " +"if possible." +msgstr "" + +#: ../build/NEWS:20710 +msgid "" +"`bpo-23500 `__: Argument Clinic is now " +"smarter about generating the \"#ifndef\" (empty) definition of the methoddef " +"macro: it's only generated once, even if Argument Clinic processes the same " +"symbol multiple times, and it's emitted at the end of all processing rather " +"than immediately after the first use." +msgstr "" + +#: ../build/NEWS:20719 +msgid "" +"`bpo-23998 `__: PyImport_ReInitLock() " +"now checks for lock allocation error" +msgstr "" + +#: ../build/NEWS:20723 +msgid "Python 3.5.0 alpha 3" +msgstr "" + +#: ../build/NEWS:20725 +msgid "*Release date: 2015-03-28*" +msgstr "" + +#: ../build/NEWS:20730 +msgid "" +"`bpo-23573 `__: Increased performance of " +"string search operations (str.find, str.index, str.count, the in operator, " +"str.split, str.partition) with arguments of different kinds (UCS1, UCS2, " +"UCS4)." +msgstr "" + +#: ../build/NEWS:20734 +msgid "" +"`bpo-23753 `__: Python doesn't support " +"anymore platforms without stat() or fstat(), these functions are always " +"required." +msgstr "" + +#: ../build/NEWS:20737 +msgid "" +"`bpo-23681 `__: The -b option now " +"affects comparisons of bytes with int." +msgstr "" + +#: ../build/NEWS:20739 +msgid "" +"`bpo-23632 `__: Memoryviews now allow " +"tuple indexing (including for multi-dimensional memoryviews)." +msgstr "" + +#: ../build/NEWS:20742 +msgid "" +"`bpo-23192 `__: Fixed generator " +"lambdas. Patch by Bruno Cauet." +msgstr "" + +#: ../build/NEWS:20744 +msgid "" +"`bpo-23629 `__: Fix the default " +"__sizeof__ implementation for variable-sized objects." +msgstr "" + +#: ../build/NEWS:20750 +msgid "" +"`bpo-14260 `__: The groupindex attribute " +"of regular expression pattern object now is non-modifiable mapping." +msgstr "" + +#: ../build/NEWS:20753 +msgid "" +"`bpo-23792 `__: Ignore KeyboardInterrupt " +"when the pydoc pager is active. This mimics the behavior of the standard " +"unix pagers, and prevents pipepager from shutting down while the pager " +"itself is still running." +msgstr "" + +#: ../build/NEWS:20757 +msgid "" +"`bpo-23775 `__: pprint() of OrderedDict " +"now outputs the same representation as repr()." +msgstr "" + +#: ../build/NEWS:20760 +msgid "" +"`bpo-23765 `__: Removed IsBadStringPtr " +"calls in ctypes" +msgstr "" + +#: ../build/NEWS:20762 +msgid "" +"`bpo-22364 `__: Improved some re error " +"messages using regex for hints." +msgstr "" + +#: ../build/NEWS:20764 +msgid "" +"`bpo-23742 `__: ntpath.expandvars() no " +"longer loses unbalanced single quotes." +msgstr "" + +#: ../build/NEWS:20766 +msgid "" +"`bpo-21717 `__: The zipfile.ZipFile.open " +"function now supports 'x' (exclusive creation) mode." +msgstr "" + +#: ../build/NEWS:20769 +msgid "" +"`bpo-21802 `__: The reader in " +"BufferedRWPair now is closed even when closing writer failed in " +"BufferedRWPair.close()." +msgstr "" + +#: ../build/NEWS:20772 +msgid "" +"`bpo-23622 `__: Unknown escapes in " +"regular expressions that consist of ``'\\'`` and ASCII letter now raise a " +"deprecation warning and will be forbidden in Python 3.6." +msgstr "" + +#: ../build/NEWS:20776 +msgid "" +"`bpo-23671 `__: string.Template now " +"allows specifying the \"self\" parameter as a keyword argument. string." +"Formatter now allows specifying the \"self\" and the \"format_string\" " +"parameters as keyword arguments." +msgstr "" + +#: ../build/NEWS:20780 +msgid "" +"`bpo-23502 `__: The pprint module now " +"supports mapping proxies." +msgstr "" + +#: ../build/NEWS:20782 +msgid "" +"`bpo-17530 `__: pprint now wraps long " +"bytes objects and bytearrays." +msgstr "" + +#: ../build/NEWS:20784 +msgid "" +"`bpo-22687 `__: Fixed some corner cases " +"in breaking words in tetxtwrap. Got rid of quadratic complexity in breaking " +"long words." +msgstr "" + +#: ../build/NEWS:20787 +msgid "" +"`bpo-4727 `__: The copy module now uses " +"pickle protocol 4 (PEP 3154) and supports copying of instances of classes " +"whose __new__ method takes keyword-only arguments." +msgstr "" + +#: ../build/NEWS:20791 +msgid "" +"`bpo-23491 `__: Added a zipapp module to " +"support creating executable zip file archives of Python code. Registered \"." +"pyz\" and \".pyzw\" extensions on Windows for these archives (PEP 441)." +msgstr "" + +#: ../build/NEWS:20795 +msgid "" +"`bpo-23657 `__: Avoid explicit checks " +"for str in zipapp, adding support for pathlib.Path objects as arguments." +msgstr "" + +#: ../build/NEWS:20798 +msgid "" +"`bpo-23688 `__: Added support of " +"arbitrary bytes-like objects and avoided unnecessary copying of memoryview " +"in gzip.GzipFile.write(). Original patch by Wolfgang Maier." +msgstr "" + +#: ../build/NEWS:20802 +msgid "" +"`bpo-23252 `__: Added support for " +"writing ZIP files to unseekable streams." +msgstr "" + +#: ../build/NEWS:20804 +msgid "" +"`bpo-23647 `__: Increase imaplib's " +"MAXLINE to accommodate modern mailbox sizes." +msgstr "" + +#: ../build/NEWS:20806 +msgid "" +"`bpo-23539 `__: If body is None, http." +"client.HTTPConnection.request now sets Content-Length to 0 for PUT, POST, " +"and PATCH headers to avoid 411 errors from some web servers." +msgstr "" + +#: ../build/NEWS:20810 +msgid "" +"`bpo-22351 `__: The nntplib.NNTP " +"constructor no longer leaves the connection and socket open until the " +"garbage collector cleans them up. Patch by Martin Panter." +msgstr "" + +#: ../build/NEWS:20814 +msgid "" +"`bpo-23704 `__: collections.deque() " +"objects now support methods for index(), insert(), and copy(). This allows " +"deques to be registered as a MutableSequence and it improves their " +"substitutability for lists." +msgstr "" + +#: ../build/NEWS:20818 +msgid "" +"`bpo-23715 `__: :func:`signal." +"sigwaitinfo` and :func:`signal.sigtimedwait` are now retried when " +"interrupted by a signal not in the *sigset* parameter, if the signal handler " +"does not raise an exception. signal.sigtimedwait() recomputes the timeout " +"with a monotonic clock when it is retried." +msgstr "" + +#: ../build/NEWS:20823 +msgid "" +"`bpo-23001 `__: Few functions in modules " +"mmap, ossaudiodev, socket, ssl, and codecs, that accepted only read-only " +"bytes-like object now accept writable bytes-like object too." +msgstr "" + +#: ../build/NEWS:20827 +msgid "" +"`bpo-23646 `__: If time.sleep() is " +"interrupted by a signal, the sleep is now retried with the recomputed delay, " +"except if the signal handler raises an exception (PEP 475)." +msgstr "" + +#: ../build/NEWS:20831 +msgid "" +"`bpo-23136 `__: _strptime now uniformly " +"handles all days in week 0, including Dec 30 of previous year. Based on " +"patch by Jim Carroll." +msgstr "" + +#: ../build/NEWS:20834 +msgid "" +"`bpo-23700 `__: Iterator of " +"NamedTemporaryFile now keeps a reference to NamedTemporaryFile instance. " +"Patch by Bohuslav Kabrda." +msgstr "" + +#: ../build/NEWS:20837 +msgid "" +"`bpo-22903 `__: The fake test case " +"created by unittest.loader when it fails importing a test module is now " +"picklable." +msgstr "" + +#: ../build/NEWS:20840 +msgid "" +"`bpo-22181 `__: On Linux, os.urandom() " +"now uses the new getrandom() syscall if available, syscall introduced in the " +"Linux kernel 3.17. It is more reliable and more secure, because it avoids " +"the need of a file descriptor and waits until the kernel has enough entropy." +msgstr "" + +#: ../build/NEWS:20845 +msgid "" +"`bpo-2211 `__: Updated the implementation " +"of the http.cookies.Morsel class. Setting attributes key, value and " +"coded_value directly now is deprecated. update() and setdefault() now " +"transform and check keys. Comparing for equality now takes into account " +"attributes key, value and coded_value. copy() now returns a Morsel, not a " +"dict. repr() now contains all attributes. Optimized checking keys and " +"quoting values. Added new tests. Original patch by Demian Brecht." +msgstr "" + +#: ../build/NEWS:20853 +msgid "" +"`bpo-18983 `__: Allow selection of " +"output units in timeit. Patch by Julian Gindi." +msgstr "" + +#: ../build/NEWS:20856 +msgid "" +"`bpo-23631 `__: Fix traceback." +"format_list when a traceback has been mutated." +msgstr "" + +#: ../build/NEWS:20858 +msgid "" +"`bpo-23568 `__: Add rdivmod support to " +"MagicMock() objects. Patch by Håkan Lövdahl." +msgstr "" + +#: ../build/NEWS:20861 +msgid "" +"`bpo-2052 `__: Add charset parameter to " +"HtmlDiff.make_file()." +msgstr "" + +#: ../build/NEWS:20863 +msgid "" +"`bpo-23668 `__: Support os.truncate and " +"os.ftruncate on Windows." +msgstr "" + +#: ../build/NEWS:20865 +msgid "" +"`bpo-23138 `__: Fixed parsing cookies " +"with absent keys or values in cookiejar. Patch by Demian Brecht." +msgstr "" + +#: ../build/NEWS:20868 +msgid "" +"`bpo-23051 `__: multiprocessing.Pool " +"methods imap() and imap_unordered() now handle exceptions raised by an " +"iterator. Patch by Alon Diamant and Davin Potts." +msgstr "" + +#: ../build/NEWS:20872 +msgid "" +"`bpo-23581 `__: Add matmul support to " +"MagicMock. Patch by Håkan Lövdahl." +msgstr "" + +#: ../build/NEWS:20874 +msgid "" +"`bpo-23566 `__: enable(), register(), " +"dump_traceback() and dump_traceback_later() functions of faulthandler now " +"accept file descriptors. Patch by Wei Wu." +msgstr "" + +#: ../build/NEWS:20878 +msgid "" +"`bpo-22928 `__: Disabled HTTP header " +"injections in http.client. Original patch by Demian Brecht." +msgstr "" + +#: ../build/NEWS:20881 +msgid "" +"`bpo-23615 `__: Modules bz2, tarfile and " +"tokenize now can be reloaded with imp.reload(). Patch by Thomas Kluyver." +msgstr "" + +#: ../build/NEWS:20884 +msgid "" +"`bpo-23605 `__: os.walk() now calls os." +"scandir() instead of os.listdir(). The usage of os.scandir() reduces the " +"number of calls to os.stat(). Initial patch written by Ben Hoyt." +msgstr "" + +#: ../build/NEWS:20891 +msgid "" +"`bpo-23585 `__: make patchcheck will " +"ensure the interpreter is built." +msgstr "" + +#: ../build/NEWS:20896 +msgid "" +"`bpo-23583 `__: Added tests for standard " +"IO streams in IDLE." +msgstr "" + +#: ../build/NEWS:20898 +msgid "" +"`bpo-22289 `__: Prevent test_urllib2net " +"failures due to ftp connection timeout." +msgstr "" + +#: ../build/NEWS:20903 +msgid "" +"`bpo-22826 `__: The result of open() in " +"Tools/freeze/bkfile.py is now better compatible with regular files (in " +"particular it now supports the context management protocol)." +msgstr "" + +#: ../build/NEWS:20909 +msgid "Python 3.5.0 alpha 2" +msgstr "" + +#: ../build/NEWS:20911 +msgid "*Release date: 2015-03-09*" +msgstr "" + +#: ../build/NEWS:20916 +msgid "" +"`bpo-23571 `__: PyObject_Call() and " +"PyCFunction_Call() now raise a SystemError if a function returns a result " +"and raises an exception. The SystemError is chained to the previous " +"exception." +msgstr "" + +#: ../build/NEWS:20923 +msgid "" +"`bpo-22524 `__: New os.scandir() " +"function, part of the :pep:`471`: \"os.scandir() function -- a better and " +"faster directory iterator\". Patch written by Ben Hoyt." +msgstr "" + +#: ../build/NEWS:20927 +msgid "" +"`bpo-23103 `__: Reduced the memory " +"consumption of IPv4Address and IPv6Address." +msgstr "" + +#: ../build/NEWS:20929 +msgid "" +"`bpo-21793 `__: BaseHTTPRequestHandler " +"again logs response code as numeric, not as stringified enum. Patch by " +"Demian Brecht." +msgstr "" + +#: ../build/NEWS:20932 +msgid "" +"`bpo-23476 `__: In the ssl module, " +"enable OpenSSL's X509_V_FLAG_TRUSTED_FIRST flag on certificate stores when " +"it is available." +msgstr "" + +#: ../build/NEWS:20935 +msgid "" +"`bpo-23576 `__: Avoid stalling in SSL " +"reads when EOF has been reached in the SSL layer but the underlying " +"connection hasn't been closed." +msgstr "" + +#: ../build/NEWS:20938 +msgid "" +"`bpo-23504 `__: Added an __all__ to the " +"types module." +msgstr "" + +#: ../build/NEWS:20940 +msgid "" +"`bpo-23563 `__: Optimized utility " +"functions in urllib.parse." +msgstr "" + +#: ../build/NEWS:20942 +msgid "" +"`bpo-7830 `__: Flatten nested functools." +"partial." +msgstr "" + +#: ../build/NEWS:20944 +msgid "" +"`bpo-20204 `__: Added the __module__ " +"attribute to _tkinter classes." +msgstr "" + +#: ../build/NEWS:20946 +msgid "" +"`bpo-19980 `__: Improved help() for non-" +"recognized strings. help('') now shows the help on str. help('help') now " +"shows the help on help(). Original patch by Mark Lawrence." +msgstr "" + +#: ../build/NEWS:20950 +msgid "" +"`bpo-23521 `__: Corrected pure python " +"implementation of timedelta division. Eliminated OverflowError from " +"``timedelta * float`` for some floats; Corrected rounding in timedelta true " +"division." +msgstr "" + +#: ../build/NEWS:20954 +msgid "" +"`bpo-21619 `__: Popen objects no longer " +"leave a zombie after exit in the with statement if the pipe was broken. " +"Patch by Martin Panter." +msgstr "" + +#: ../build/NEWS:20957 +msgid "" +"`bpo-22936 `__: Make it possible to show " +"local variables in tracebacks for both the traceback module and unittest." +msgstr "" + +#: ../build/NEWS:20960 +msgid "" +"`bpo-15955 `__: Add an option to limit " +"the output size in bz2.decompress(). Patch by Nikolaus Rath." +msgstr "" + +#: ../build/NEWS:20963 +msgid "" +"`bpo-6639 `__: Module-level turtle " +"functions no longer raise TclError after closing the window." +msgstr "" + +#: ../build/NEWS:20966 +msgid "" +"`bpo-814253 `__: Group references and " +"conditional group references now work in lookbehind assertions in regular " +"expressions. (See also: `bpo-9179 `__)" +msgstr "" + +#: ../build/NEWS:20969 +msgid "" +"`bpo-23215 `__: Multibyte codecs with " +"custom error handlers that ignores errors consumed too much memory and " +"raised SystemError or MemoryError. Original patch by Aleksi Torhamo." +msgstr "" + +#: ../build/NEWS:20973 +msgid "" +"`bpo-5700 `__: io.FileIO() called flush() " +"after closing the file. flush() was not called in close() if closefd=False." +msgstr "" + +#: ../build/NEWS:20976 +msgid "" +"`bpo-23374 `__: Fixed pydoc failure with " +"non-ASCII files when stdout encoding differs from file system encoding (e.g. " +"on Mac OS)." +msgstr "" + +#: ../build/NEWS:20979 +msgid "" +"`bpo-23481 `__: Remove RC4 from the SSL " +"module's default cipher list." +msgstr "" + +#: ../build/NEWS:20981 +msgid "" +"`bpo-21548 `__: Fix pydoc.synopsis() and " +"pydoc.apropos() on modules with empty docstrings." +msgstr "" + +#: ../build/NEWS:20984 +msgid "" +"`bpo-22885 `__: Fixed arbitrary code " +"execution vulnerability in the dbm.dumb module. Original patch by Claudiu " +"Popa." +msgstr "" + +#: ../build/NEWS:20987 +msgid "" +"`bpo-23239 `__: ssl.match_hostname() now " +"supports matching of IP addresses." +msgstr "" + +#: ../build/NEWS:20989 +msgid "" +"`bpo-23146 `__: Fix mishandling of " +"absolute Windows paths with forward slashes in pathlib." +msgstr "" + +#: ../build/NEWS:20992 +msgid "" +"`bpo-23096 `__: Pickle representation of " +"floats with protocol 0 now is the same for both Python and C implementations." +msgstr "" + +#: ../build/NEWS:20995 +msgid "" +"`bpo-19105 `__: pprint now more " +"efficiently uses free space at the right." +msgstr "" + +#: ../build/NEWS:20997 +msgid "" +"`bpo-14910 `__: Add allow_abbrev " +"parameter to argparse.ArgumentParser. Patch by Jonathan Paugh, Steven " +"Bethard, paul j3 and Daniel Eriksson." +msgstr "" + +#: ../build/NEWS:21000 +msgid "" +"`bpo-21717 `__: tarfile.open() now " +"supports 'x' (exclusive creation) mode." +msgstr "" + +#: ../build/NEWS:21002 +#, python-format +msgid "" +"`bpo-23344 `__: marshal.dumps() is now " +"20-25% faster on average." +msgstr "" + +#: ../build/NEWS:21004 +#, python-format +msgid "" +"`bpo-20416 `__: marshal.dumps() with " +"protocols 3 and 4 is now 40-50% faster on average." +msgstr "" + +#: ../build/NEWS:21007 +msgid "" +"`bpo-23421 `__: Fixed compression in " +"tarfile CLI. Patch by wdv4758h." +msgstr "" + +#: ../build/NEWS:21009 +msgid "" +"`bpo-23367 `__: Fix possible overflows " +"in the unicodedata module." +msgstr "" + +#: ../build/NEWS:21011 +msgid "" +"`bpo-23361 `__: Fix possible overflow in " +"Windows subprocess creation code." +msgstr "" + +#: ../build/NEWS:21013 +msgid "" +"logging.handlers.QueueListener now takes a respect_handler_level keyword " +"argument which, if set to True, will pass messages to handlers taking " +"handler levels into account." +msgstr "" + +#: ../build/NEWS:21017 +msgid "" +"`bpo-19705 `__: turtledemo now has a " +"visual sorting algorithm demo. Original patch from Jason Yeo." +msgstr "" + +#: ../build/NEWS:21020 +msgid "" +"`bpo-23801 `__: Fix issue where cgi." +"FieldStorage did not always ignore the entire preamble to a multipart body." +msgstr "" + +#: ../build/NEWS:21026 +msgid "" +"`bpo-23445 `__: pydebug builds now use " +"\"gcc -Og\" where possible, to make the resulting executable faster." +msgstr "" + +#: ../build/NEWS:21029 +msgid "" +"`bpo-23686 `__: Update OS X 10.5 " +"installer build to use OpenSSL 1.0.2a." +msgstr "" + +#: ../build/NEWS:21034 +msgid "" +"`bpo-20204 `__: Deprecation warning is " +"now raised for builtin types without the __module__ attribute." +msgstr "" + +#: ../build/NEWS:21040 +msgid "" +"`bpo-23465 `__: Implement :pep:`486` - " +"Make the Python Launcher aware of virtual environments. Patch by Paul Moore." +msgstr "" + +#: ../build/NEWS:21043 +msgid "" +"`bpo-23437 `__: Make user scripts " +"directory versioned on Windows. Patch by Paul Moore." +msgstr "" + +#: ../build/NEWS:21048 +msgid "Python 3.5.0 alpha 1" +msgstr "" + +#: ../build/NEWS:21050 +msgid "*Release date: 2015-02-08*" +msgstr "" + +#: ../build/NEWS:21055 +msgid "" +"`bpo-23285 `__: PEP 475 - EINTR handling." +msgstr "" + +#: ../build/NEWS:21057 +msgid "" +"`bpo-22735 `__: Fix many edge cases " +"(including crashes) involving custom mro() implementations." +msgstr "" + +#: ../build/NEWS:21060 +msgid "" +"`bpo-22896 `__: Avoid using " +"PyObject_AsCharBuffer(), PyObject_AsReadBuffer() and " +"PyObject_AsWriteBuffer()." +msgstr "" + +#: ../build/NEWS:21063 +msgid "" +"`bpo-21295 `__: Revert some changes " +"(`bpo-16795 `__) to AST line numbers and " +"column offsets that constituted a regression." +msgstr "" + +#: ../build/NEWS:21066 +msgid "" +"`bpo-22986 `__: Allow changing an " +"object's __class__ between a dynamic type and static type in some cases." +msgstr "" + +#: ../build/NEWS:21069 +msgid "" +"`bpo-15859 `__: " +"PyUnicode_EncodeFSDefault(), PyUnicode_EncodeMBCS() and " +"PyUnicode_EncodeCodePage() now raise an exception if the object is not a " +"Unicode object. For PyUnicode_EncodeFSDefault(), it was already the case on " +"platforms other than Windows. Patch written by Campbell Barton." +msgstr "" + +#: ../build/NEWS:21074 +msgid "" +"`bpo-21408 `__: The default __ne__() now " +"returns NotImplemented if __eq__() returned NotImplemented. Original patch " +"by Martin Panter." +msgstr "" + +#: ../build/NEWS:21077 +msgid "" +"`bpo-23321 `__: Fixed a crash in str." +"decode() when error handler returned replacement string longer than " +"malformed input data." +msgstr "" + +#: ../build/NEWS:21080 +msgid "" +"`bpo-22286 `__: The \"backslashreplace\" " +"error handlers now works with decoding and translating." +msgstr "" + +#: ../build/NEWS:21083 +msgid "" +"`bpo-23253 `__: Delay-load " +"ShellExecute[AW] in os.startfile for reduced startup overhead on Windows." +msgstr "" + +#: ../build/NEWS:21086 +msgid "" +"`bpo-22038 `__: pyatomic.h now uses " +"stdatomic.h or GCC built-in functions for atomic memory access if available. " +"Patch written by Vitor de Lima and Gustavo Temple." +msgstr "" + +#: ../build/NEWS:21090 +#, python-format +msgid "" +"`bpo-20284 `__: %-interpolation (aka " +"printf) formatting added for bytes and bytearray." +msgstr "" + +#: ../build/NEWS:21093 +msgid "" +"`bpo-23048 `__: Fix jumping out of an " +"infinite while loop in the pdb." +msgstr "" + +#: ../build/NEWS:21095 +msgid "" +"`bpo-20335 `__: bytes constructor now " +"raises TypeError when encoding or errors is specified with non-string " +"argument. Based on patch by Renaud Blanch." +msgstr "" + +#: ../build/NEWS:21098 +msgid "" +"`bpo-22834 `__: If the current working " +"directory ends up being set to a non-existent directory then import will no " +"longer raise FileNotFoundError." +msgstr "" + +#: ../build/NEWS:21101 +msgid "" +"`bpo-22869 `__: Move the interpreter " +"startup & shutdown code to a new dedicated pylifecycle.c module" +msgstr "" + +#: ../build/NEWS:21104 +msgid "" +"`bpo-22847 `__: Improve method cache " +"efficiency." +msgstr "" + +#: ../build/NEWS:21106 +msgid "" +"`bpo-22335 `__: Fix crash when trying to " +"enlarge a bytearray to 0x7fffffff bytes on a 32-bit platform." +msgstr "" + +#: ../build/NEWS:21109 +msgid "" +"`bpo-22653 `__: Fix an assertion failure " +"in debug mode when doing a reentrant dict insertion in debug mode." +msgstr "" + +#: ../build/NEWS:21112 +msgid "" +"`bpo-22643 `__: Fix integer overflow in " +"Unicode case operations (upper, lower, title, swapcase, casefold)." +msgstr "" + +#: ../build/NEWS:21115 +msgid "" +"`bpo-17636 `__: Circular imports " +"involving relative imports are now supported." +msgstr "" + +#: ../build/NEWS:21117 +msgid "" +"`bpo-22604 `__: Fix assertion error in " +"debug mode when dividing a complex number by (nan+0j)." +msgstr "" + +#: ../build/NEWS:21120 +msgid "" +"`bpo-21052 `__: Do not raise " +"ImportWarning when sys.path_hooks or sys.meta_path are set to None." +msgstr "" + +#: ../build/NEWS:21123 +msgid "" +"`bpo-16518 `__: Use 'bytes-like object " +"required' in error messages that previously used the far more cryptic \"'x' " +"does not support the buffer protocol." +msgstr "" + +#: ../build/NEWS:21127 +msgid "" +"`bpo-22470 `__: Fixed integer overflow " +"issues in \"backslashreplace\", \"xmlcharrefreplace\", and \"surrogatepass\" " +"error handlers." +msgstr "" + +#: ../build/NEWS:21130 +msgid "" +"`bpo-22540 `__: speed up " +"`PyObject_IsInstance` and `PyObject_IsSubclass` in the common case that the " +"second argument has metaclass `type`." +msgstr "" + +#: ../build/NEWS:21133 +msgid "" +"`bpo-18711 `__: Add a new " +"`PyErr_FormatV` function, similar to `PyErr_Format` but accepting a " +"`va_list` argument." +msgstr "" + +#: ../build/NEWS:21136 +msgid "" +"`bpo-22520 `__: Fix overflow checking " +"when generating the repr of a unicode object." +msgstr "" + +#: ../build/NEWS:21139 +msgid "" +"`bpo-22519 `__: Fix overflow checking in " +"PyBytes_Repr." +msgstr "" + +#: ../build/NEWS:21141 +msgid "" +"`bpo-22518 `__: Fix integer overflow " +"issues in latin-1 encoding." +msgstr "" + +#: ../build/NEWS:21143 +msgid "" +"`bpo-16324 `__: _charset parameter of " +"MIMEText now also accepts email.charset.Charset instances. Initial patch by " +"Claude Paroz." +msgstr "" + +#: ../build/NEWS:21146 +msgid "" +"`bpo-1764286 `__: Fix inspect." +"getsource() to support decorated functions. Patch by Claudiu Popa." +msgstr "" + +#: ../build/NEWS:21149 +msgid "" +"`bpo-18554 `__: os.__all__ includes " +"posix functions." +msgstr "" + +#: ../build/NEWS:21151 +msgid "" +"`bpo-21391 `__: Use os.path.abspath in " +"the shutil module." +msgstr "" + +#: ../build/NEWS:21153 +msgid "" +"`bpo-11471 `__: avoid generating a " +"JUMP_FORWARD instruction at the end of an if-block if there is no else-" +"clause. Original patch by Eugene Toder." +msgstr "" + +#: ../build/NEWS:21156 +msgid "" +"`bpo-22215 `__: Now ValueError is raised " +"instead of TypeError when str or bytes argument contains not permitted null " +"character or byte." +msgstr "" + +#: ../build/NEWS:21159 +msgid "" +"`bpo-22258 `__: Fix the internal " +"function set_inheritable() on Illumos. This platform exposes the function " +"``ioctl(FIOCLEX)``, but calling it fails with errno is ENOTTY: " +"\"Inappropriate ioctl for device\". set_inheritable() now falls back to the " +"slower ``fcntl()`` (``F_GETFD`` and then ``F_SETFD``)." +msgstr "" + +#: ../build/NEWS:21165 +msgid "" +"`bpo-21389 `__: Displaying the " +"__qualname__ of the underlying function in the repr of a bound method." +msgstr "" + +#: ../build/NEWS:21168 +msgid "" +"`bpo-22206 `__: Using pthread, " +"PyThread_create_key() now sets errno to ENOMEM and returns -1 (error) on " +"integer overflow." +msgstr "" + +#: ../build/NEWS:21171 +msgid "" +"`bpo-20184 `__: Argument Clinic based " +"signature introspection added for 30 of the builtin functions." +msgstr "" + +#: ../build/NEWS:21174 +msgid "" +"`bpo-22116 `__: C functions and methods " +"(of the 'builtin_function_or_method' type) can now be weakref'ed. Patch by " +"Wei Wu." +msgstr "" + +#: ../build/NEWS:21177 +msgid "" +"`bpo-22077 `__: Improve index error " +"messages for bytearrays, bytes, lists, and tuples by adding 'or slices'. " +"Added ', not ' for bytearrays. Original patch by Claudiu Popa." +msgstr "" + +#: ../build/NEWS:21181 +msgid "" +"`bpo-20179 `__: Apply Argument Clinic to " +"bytes and bytearray. Patch by Tal Einat." +msgstr "" + +#: ../build/NEWS:21184 +msgid "" +"`bpo-22082 `__: Clear interned strings " +"in slotdefs." +msgstr "" + +#: ../build/NEWS:21186 +msgid "Upgrade Unicode database to Unicode 7.0.0." +msgstr "" + +#: ../build/NEWS:21188 +msgid "" +"`bpo-21897 `__: Fix a crash with the " +"f_locals attribute with closure variables when frame.clear() has been called." +msgstr "" + +#: ../build/NEWS:21191 +msgid "" +"`bpo-21205 `__: Add a new " +"``__qualname__`` attribute to generator, the qualified name, and use it in " +"the representation of a generator (``repr(gen)``). The default name of the " +"generator (``__name__`` attribute) is now get from the function instead of " +"the code. Use ``gen.gi_code.co_name`` to get the name of the code." +msgstr "" + +#: ../build/NEWS:21197 +msgid "" +"`bpo-21669 `__: With the aid of " +"heuristics in SyntaxError.__init__, the parser now attempts to generate more " +"meaningful (or at least more search engine friendly) error messages when " +"\"exec\" and \"print\" are used as statements." +msgstr "" + +#: ../build/NEWS:21201 +msgid "" +"`bpo-21642 `__: In the conditional if-" +"else expression, allow an integer written with no space between itself and " +"the ``else`` keyword (e.g. ``True if 42else False``) to be valid syntax." +msgstr "" + +#: ../build/NEWS:21205 +msgid "" +"`bpo-21523 `__: Fix over-pessimistic " +"computation of the stack effect of some opcodes in the compiler. This also " +"fixes a quadratic compilation time issue noticeable when compiling code with " +"a large number of \"and\" and \"or\" operators." +msgstr "" + +#: ../build/NEWS:21210 +msgid "" +"`bpo-21418 `__: Fix a crash in the " +"builtin function super() when called without argument and without current " +"frame (ex: embedded Python)." +msgstr "" + +#: ../build/NEWS:21213 +msgid "" +"`bpo-21425 `__: Fix flushing of standard " +"streams in the interactive interpreter." +msgstr "" + +#: ../build/NEWS:21216 +msgid "" +"`bpo-21435 `__: In rare cases, when " +"running finalizers on objects in cyclic trash a bad pointer dereference " +"could occur due to a subtle flaw in internal iteration logic." +msgstr "" + +#: ../build/NEWS:21220 +msgid "" +"`bpo-21377 `__: PyBytes_Concat() now " +"tries to concatenate in-place when the first argument has a reference count " +"of 1. Patch by Nikolaus Rath." +msgstr "" + +#: ../build/NEWS:21223 +msgid "" +"`bpo-20355 `__: -W command line options " +"now have higher priority than the PYTHONWARNINGS environment variable. " +"Patch by Arfrever." +msgstr "" + +#: ../build/NEWS:21226 +msgid "" +"`bpo-21274 `__: Define PATH_MAX for GNU/" +"Hurd in Python/pythonrun.c." +msgstr "" + +#: ../build/NEWS:21228 +msgid "" +"`bpo-20904 `__: Support setting FPU " +"precision on m68k." +msgstr "" + +#: ../build/NEWS:21230 +msgid "" +"`bpo-21209 `__: Fix sending tuples to " +"custom generator objects with the yield from syntax." +msgstr "" + +#: ../build/NEWS:21233 +msgid "" +"`bpo-21193 `__: pow(a, b, c) now raises " +"ValueError rather than TypeError when b is negative. Patch by Josh Rosenberg." +msgstr "" + +#: ../build/NEWS:21236 +msgid "" +"`bpo-21176 `__: PEP 465: Add the '@' " +"operator for matrix multiplication." +msgstr "" + +#: ../build/NEWS:21238 +msgid "" +"`bpo-21134 `__: Fix segfault when str is " +"called on an uninitialized UnicodeEncodeError, UnicodeDecodeError, or " +"UnicodeTranslateError object." +msgstr "" + +#: ../build/NEWS:21241 +msgid "" +"`bpo-19537 `__: Fix PyUnicode_DATA() " +"alignment under m68k. Patch by Andreas Schwab." +msgstr "" + +#: ../build/NEWS:21244 +msgid "" +"`bpo-20929 `__: Add a type cast to avoid " +"shifting a negative number." +msgstr "" + +#: ../build/NEWS:21246 +msgid "" +"`bpo-20731 `__: Properly position in " +"source code files even if they are opened in text mode. Patch by Serhiy " +"Storchaka." +msgstr "" + +#: ../build/NEWS:21249 +msgid "" +"`bpo-20637 `__: Key-sharing now also " +"works for instance dictionaries of subclasses. Patch by Peter Ingebretson." +msgstr "" + +#: ../build/NEWS:21252 +msgid "" +"`bpo-8297 `__: Attributes missing from " +"modules now include the module name in the error text. Original patch by " +"ysj.ray." +msgstr "" + +#: ../build/NEWS:21255 +#, python-format +msgid "" +"`bpo-19995 `__: %c, %o, %x, and %X now " +"raise TypeError on non-integer input." +msgstr "" + +#: ../build/NEWS:21257 +msgid "" +"`bpo-19655 `__: The ASDL parser - used " +"by the build process to generate code for managing the Python AST in C - was " +"rewritten. The new parser is self contained and does not require to carry " +"long the spark.py parser-generator library; spark.py was removed from the " +"source base." +msgstr "" + +#: ../build/NEWS:21262 +msgid "" +"`bpo-12546 `__: Allow ``\\x00`` to be " +"used as a fill character when using str, int, float, and complex __format__ " +"methods." +msgstr "" + +#: ../build/NEWS:21265 +msgid "" +"`bpo-20480 `__: Add ipaddress." +"reverse_pointer. Patch by Leon Weber." +msgstr "" + +#: ../build/NEWS:21267 +msgid "" +"`bpo-13598 `__: Modify string.Formatter " +"to support auto-numbering of replacement fields. It now matches the behavior " +"of str.format() in this regard. Patches by Phil Elson and Ramchandra Apte." +msgstr "" + +#: ../build/NEWS:21271 +msgid "" +"`bpo-8931 `__: Make alternate formatting " +"('#') for type 'c' raise an exception. In versions prior to 3.5, '#' with " +"'c' had no effect. Now specifying it is an error. Patch by Torsten " +"Landschoff." +msgstr "" + +#: ../build/NEWS:21275 +msgid "" +"`bpo-23165 `__: Perform overflow checks " +"before allocating memory in the _Py_char2wchar function." +msgstr "" + +#: ../build/NEWS:21281 +msgid "" +"`bpo-23399 `__: pyvenv creates relative " +"symlinks where possible." +msgstr "" + +#: ../build/NEWS:21283 +msgid "" +"`bpo-20289 `__: cgi.FieldStorage() now " +"supports the context management protocol." +msgstr "" + +#: ../build/NEWS:21286 +msgid "" +"`bpo-13128 `__: Print response headers " +"for CONNECT requests when debuglevel > 0. Patch by Demian Brecht." +msgstr "" + +#: ../build/NEWS:21289 +msgid "" +"`bpo-15381 `__: Optimized io.BytesIO to " +"make less allocations and copyings." +msgstr "" + +#: ../build/NEWS:21291 +msgid "" +"`bpo-22818 `__: Splitting on a pattern " +"that could match an empty string now raises a warning. Patterns that can " +"only match empty strings are now rejected." +msgstr "" + +#: ../build/NEWS:21295 +msgid "" +"`bpo-23099 `__: Closing io.BytesIO with " +"exported buffer is rejected now to prevent corrupting exported buffer." +msgstr "" + +#: ../build/NEWS:21298 +msgid "" +"`bpo-23326 `__: Removed __ne__ " +"implementations. Since fixing default __ne__ implementation in `bpo-21408 " +"`__ they are redundant." +msgstr "" + +#: ../build/NEWS:21301 +msgid "" +"`bpo-23363 `__: Fix possible overflow in " +"itertools.permutations." +msgstr "" + +#: ../build/NEWS:21303 +msgid "" +"`bpo-23364 `__: Fix possible overflow in " +"itertools.product." +msgstr "" + +#: ../build/NEWS:21305 +msgid "" +"`bpo-23366 `__: Fixed possible integer " +"overflow in itertools.combinations." +msgstr "" + +#: ../build/NEWS:21307 +msgid "" +"`bpo-23369 `__: Fixed possible integer " +"overflow in _json.encode_basestring_ascii." +msgstr "" + +#: ../build/NEWS:21310 +msgid "" +"`bpo-23353 `__: Fix the exception " +"handling of generators in PyEval_EvalFrameEx(). At entry, save or swap the " +"exception state even if PyEval_EvalFrameEx() is called with throwflag=0. At " +"exit, the exception state is now always restored or swapped, not only if why " +"is WHY_YIELD or WHY_RETURN. Patch co-written with Antoine Pitrou." +msgstr "" + +#: ../build/NEWS:21316 +msgid "" +"`bpo-14099 `__: Restored support of " +"writing ZIP files to tellable but non-seekable streams." +msgstr "" + +#: ../build/NEWS:21319 +msgid "" +"`bpo-14099 `__: Writing to ZipFile and " +"reading multiple ZipExtFiles is threadsafe now." +msgstr "" + +#: ../build/NEWS:21322 +msgid "" +"`bpo-19361 `__: JSON decoder now raises " +"JSONDecodeError instead of ValueError." +msgstr "" + +#: ../build/NEWS:21324 +msgid "" +"`bpo-18518 `__: timeit now rejects " +"statements which can't be compiled outside a function or a loop (e.g. " +"\"return\" or \"break\")." +msgstr "" + +#: ../build/NEWS:21327 +msgid "" +"`bpo-23094 `__: Fixed readline with " +"frames in Python implementation of pickle." +msgstr "" + +#: ../build/NEWS:21329 +msgid "" +"`bpo-23268 `__: Fixed bugs in the " +"comparison of ipaddress classes." +msgstr "" + +#: ../build/NEWS:21331 +msgid "" +"`bpo-21408 `__: Removed incorrect " +"implementations of __ne__() which didn't returned NotImplemented if __eq__() " +"returned NotImplemented. The default __ne__() now works correctly." +msgstr "" + +#: ../build/NEWS:21335 +msgid "" +"`bpo-19996 `__: :class:`email.feedparser." +"FeedParser` now handles (malformed) headers with no key rather than assuming " +"the body has started." +msgstr "" + +#: ../build/NEWS:21338 +msgid "" +"`bpo-20188 `__: Support Application-" +"Layer Protocol Negotiation (ALPN) in the ssl module." +msgstr "" + +#: ../build/NEWS:21341 +msgid "" +"`bpo-23133 `__: Pickling of ipaddress " +"objects now produces more compact and portable representation." +msgstr "" + +#: ../build/NEWS:21344 +msgid "" +"`bpo-23248 `__: Update ssl error codes " +"from latest OpenSSL git master." +msgstr "" + +#: ../build/NEWS:21346 +msgid "" +"`bpo-23266 `__: Much faster " +"implementation of ipaddress.collapse_addresses() when there are many non-" +"consecutive addresses." +msgstr "" + +#: ../build/NEWS:21349 +msgid "" +"`bpo-23098 `__: 64-bit dev_t is now " +"supported in the os module." +msgstr "" + +#: ../build/NEWS:21351 +msgid "" +"`bpo-21817 `__: When an exception is " +"raised in a task submitted to a ProcessPoolExecutor, the remote traceback is " +"now displayed in the parent process. Patch by Claudiu Popa." +msgstr "" + +#: ../build/NEWS:21355 +msgid "" +"`bpo-15955 `__: Add an option to limit " +"output size when decompressing LZMA data. Patch by Nikolaus Rath and Martin " +"Panter." +msgstr "" + +#: ../build/NEWS:21358 +msgid "" +"`bpo-23250 `__: In the http.cookies " +"module, capitalize \"HttpOnly\" and \"Secure\" as they are written in the " +"standard." +msgstr "" + +#: ../build/NEWS:21361 +msgid "" +"`bpo-23063 `__: In the distutils' check " +"command, fix parsing of reST with code or code-block directives." +msgstr "" + +#: ../build/NEWS:21364 +msgid "" +"`bpo-23209 `__: selectors.BaseSelector." +"get_key() now raises a RuntimeError if the selector is closed. And selectors." +"BaseSelector.close() now clears its internal reference to the selector " +"mapping to break a reference cycle. Initial patch written by Martin Richard. " +"(See also: `bpo-23225 `__)" +msgstr "" + +#: ../build/NEWS:21369 +msgid "" +"`bpo-17911 `__: Provide a way to seed " +"the linecache for a PEP-302 module without actually loading the code." +msgstr "" + +#: ../build/NEWS:21372 +msgid "" +"`bpo-17911 `__: Provide a new object API " +"for traceback, including the ability to not lookup lines at all until the " +"traceback is actually rendered, without any trace of the original objects " +"being kept alive." +msgstr "" + +#: ../build/NEWS:21376 +msgid "" +"`bpo-19777 `__: Provide a home() " +"classmethod on Path objects. Contributed by Victor Salgado and Mayank " +"Tripathi." +msgstr "" + +#: ../build/NEWS:21379 +msgid "" +"`bpo-23206 `__: Make ``json.dumps(..., " +"ensure_ascii=False)`` as fast as the default case of ``ensure_ascii=True``. " +"Patch by Naoki Inada." +msgstr "" + +#: ../build/NEWS:21382 +msgid "" +"`bpo-23185 `__: Add math.inf and math." +"nan constants." +msgstr "" + +#: ../build/NEWS:21384 +msgid "" +"`bpo-23186 `__: Add ssl.SSLObject." +"shared_ciphers() and ssl.SSLSocket.shared_ciphers() to fetch the client's " +"list ciphers sent at handshake." +msgstr "" + +#: ../build/NEWS:21388 +msgid "" +"`bpo-23143 `__: Remove compatibility " +"with OpenSSLs older than 0.9.8." +msgstr "" + +#: ../build/NEWS:21390 +msgid "" +"`bpo-23132 `__: Improve performance and " +"introspection support of comparison methods created by functool." +"total_ordering." +msgstr "" + +#: ../build/NEWS:21393 +msgid "" +"`bpo-19776 `__: Add an expanduser() " +"method on Path objects." +msgstr "" + +#: ../build/NEWS:21395 +msgid "" +"`bpo-23112 `__: Fix SimpleHTTPServer to " +"correctly carry the query string and fragment when it redirects to add a " +"trailing slash." +msgstr "" + +#: ../build/NEWS:21398 +msgid "" +"`bpo-21793 `__: Added http.HTTPStatus " +"enums (i.e. HTTPStatus.OK, HTTPStatus.NOT_FOUND). Patch by Demian Brecht." +msgstr "" + +#: ../build/NEWS:21401 +msgid "" +"`bpo-23093 `__: In the io, module allow " +"more operations to work on detached streams." +msgstr "" + +#: ../build/NEWS:21404 +msgid "" +"`bpo-23111 `__: In the ftplib, make ssl." +"PROTOCOL_SSLv23 the default protocol version." +msgstr "" + +#: ../build/NEWS:21407 +msgid "" +"`bpo-22585 `__: On OpenBSD 5.6 and " +"newer, os.urandom() now calls getentropy(), instead of reading /dev/urandom, " +"to get pseudo-random bytes." +msgstr "" + +#: ../build/NEWS:21410 +msgid "" +"`bpo-19104 `__: pprint now produces " +"evaluable output for wrapped strings." +msgstr "" + +#: ../build/NEWS:21412 +msgid "" +"`bpo-23071 `__: Added missing names to " +"codecs.__all__. Patch by Martin Panter." +msgstr "" + +#: ../build/NEWS:21414 +msgid "" +"`bpo-22783 `__: Pickling now uses the " +"NEWOBJ opcode instead of the NEWOBJ_EX opcode if possible." +msgstr "" + +#: ../build/NEWS:21417 +msgid "" +"`bpo-15513 `__: Added a __sizeof__ " +"implementation for pickle classes." +msgstr "" + +#: ../build/NEWS:21419 +msgid "" +"`bpo-19858 `__: pickletools.optimize() " +"now aware of the MEMOIZE opcode, can produce more compact result and no " +"longer produces invalid output if input data contains MEMOIZE opcodes " +"together with PUT or BINPUT opcodes." +msgstr "" + +#: ../build/NEWS:21423 +msgid "" +"`bpo-22095 `__: Fixed HTTPConnection." +"set_tunnel with default port. The port value in the host header was set to " +"\"None\". Patch by Demian Brecht." +msgstr "" + +#: ../build/NEWS:21426 +msgid "" +"`bpo-23016 `__: A warning no longer " +"produces an AttributeError when the program is run with pythonw.exe." +msgstr "" + +#: ../build/NEWS:21429 +msgid "" +"`bpo-21775 `__: shutil.copytree(): fix " +"crash when copying to VFAT. An exception handler assumed that OSError " +"objects always have a 'winerror' attribute. That is not the case, so the " +"exception handler itself raised AttributeError when run on Linux (and, " +"presumably, any other non-Windows OS). Patch by Greg Ward." +msgstr "" + +#: ../build/NEWS:21435 +msgid "" +"`bpo-1218234 `__: Fix inspect." +"getsource() to load updated source of reloaded module. Initial patch by " +"Berker Peksag." +msgstr "" + +#: ../build/NEWS:21438 +msgid "" +"`bpo-21740 `__: Support wrapped " +"callables in doctest. Patch by Claudiu Popa." +msgstr "" + +#: ../build/NEWS:21440 +msgid "" +"`bpo-23009 `__: Make sure selectors." +"EpollSelector.select() works when no FD is registered." +msgstr "" + +#: ../build/NEWS:21443 +msgid "" +"`bpo-22959 `__: In the constructor of " +"http.client.HTTPSConnection, prefer the context's check_hostname attribute " +"over the *check_hostname* parameter." +msgstr "" + +#: ../build/NEWS:21446 +msgid "" +"`bpo-22696 `__: Add function :func:`sys." +"is_finalizing` to know about interpreter shutdown." +msgstr "" + +#: ../build/NEWS:21449 +msgid "" +"`bpo-16043 `__: Add a default limit for " +"the amount of data xmlrpclib.gzip_decode will return. This resolves " +"CVE-2013-1753." +msgstr "" + +#: ../build/NEWS:21452 +msgid "" +"`bpo-14099 `__: ZipFile.open() no longer " +"reopen the underlying file. Objects returned by ZipFile.open() can now " +"operate independently of the ZipFile even if the ZipFile was created by " +"passing in a file-like object as the first argument to the constructor." +msgstr "" + +#: ../build/NEWS:21457 +msgid "" +"`bpo-22966 `__: Fix __pycache__ pyc file " +"name clobber when pyc_compile is asked to compile a source file containing " +"multiple dots in the source file name." +msgstr "" + +#: ../build/NEWS:21460 +msgid "" +"`bpo-21971 `__: Update turtledemo doc " +"and add module to the index." +msgstr "" + +#: ../build/NEWS:21462 +msgid "" +"`bpo-21032 `__: Fixed socket leak if " +"HTTPConnection.getresponse() fails. Original patch by Martin Panter." +msgstr "" + +#: ../build/NEWS:21465 +msgid "" +"`bpo-22407 `__: Deprecated the use of re." +"LOCALE flag with str patterns or re.ASCII. It was newer worked." +msgstr "" + +#: ../build/NEWS:21468 +msgid "" +"`bpo-22902 `__: The \"ip\" command is " +"now used on Linux to determine MAC address in uuid.getnode(). Pach by Bruno " +"Cauet." +msgstr "" + +#: ../build/NEWS:21471 +msgid "" +"`bpo-22960 `__: Add a context argument " +"to xmlrpclib.ServerProxy constructor." +msgstr "" + +#: ../build/NEWS:21473 +msgid "" +"`bpo-22389 `__: Add contextlib." +"redirect_stderr()." +msgstr "" + +#: ../build/NEWS:21475 +msgid "" +"`bpo-21356 `__: Make ssl.RAND_egd() " +"optional to support LibreSSL. The availability of the function is checked " +"during the compilation. Patch written by Bernard Spil." +msgstr "" + +#: ../build/NEWS:21479 +msgid "" +"`bpo-22915 `__: SAX parser now supports " +"files opened with file descriptor or bytes path." +msgstr "" + +#: ../build/NEWS:21482 +msgid "" +"`bpo-22609 `__: Constructors and update " +"methods of mapping classes in the collections module now accept the self " +"keyword argument." +msgstr "" + +#: ../build/NEWS:21485 +msgid "" +"`bpo-22940 `__: Add readline." +"append_history_file." +msgstr "" + +#: ../build/NEWS:21487 +msgid "" +"`bpo-19676 `__: Added the \"namereplace" +"\" error handler." +msgstr "" + +#: ../build/NEWS:21489 +msgid "" +"`bpo-22788 `__: Add *context* parameter " +"to logging.handlers.HTTPHandler." +msgstr "" + +#: ../build/NEWS:21491 +msgid "" +"`bpo-22921 `__: Allow SSLContext to take " +"the *hostname* parameter even if OpenSSL doesn't support SNI." +msgstr "" + +#: ../build/NEWS:21494 +msgid "" +"`bpo-22894 `__: TestCase.subTest() would " +"cause the test suite to be stopped when in failfast mode, even in the " +"absence of failures." +msgstr "" + +#: ../build/NEWS:21497 +msgid "" +"`bpo-22796 `__: HTTP cookie parsing is " +"now stricter, in order to protect against potential injection attacks." +msgstr "" + +#: ../build/NEWS:21500 +msgid "" +"`bpo-22370 `__: Windows detection in " +"pathlib is now more robust." +msgstr "" + +#: ../build/NEWS:21502 +msgid "" +"`bpo-22841 `__: Reject coroutines in " +"asyncio add_signal_handler(). Patch by Ludovic.Gasc." +msgstr "" + +#: ../build/NEWS:21505 +msgid "" +"`bpo-19494 `__: Added urllib.request." +"HTTPBasicPriorAuthHandler. Patch by Matej Cepl." +msgstr "" + +#: ../build/NEWS:21508 +msgid "" +"`bpo-22578 `__: Added attributes to the " +"re.error class." +msgstr "" + +#: ../build/NEWS:21510 +msgid "" +"`bpo-22849 `__: Fix possible double free " +"in the io.TextIOWrapper constructor." +msgstr "" + +#: ../build/NEWS:21512 +msgid "" +"`bpo-12728 `__: Different Unicode " +"characters having the same uppercase but different lowercase are now matched " +"in case-insensitive regular expressions." +msgstr "" + +#: ../build/NEWS:21516 +msgid "" +"`bpo-22821 `__: Fixed fcntl() with " +"integer argument on 64-bit big-endian platforms." +msgstr "" + +#: ../build/NEWS:21519 +msgid "" +"`bpo-21650 `__: Add an `--sort-keys` " +"option to json.tool CLI." +msgstr "" + +#: ../build/NEWS:21521 +msgid "" +"`bpo-22824 `__: Updated reprlib output " +"format for sets to use set literals. Patch contributed by Berker Peksag." +msgstr "" + +#: ../build/NEWS:21524 +msgid "" +"`bpo-22824 `__: Updated reprlib output " +"format for arrays to display empty arrays without an unnecessary empty " +"list. Suggested by Serhiy Storchaka." +msgstr "" + +#: ../build/NEWS:21527 +msgid "" +"`bpo-22406 `__: Fixed the uu_codec codec " +"incorrectly ported to 3.x. Based on patch by Martin Panter." +msgstr "" + +#: ../build/NEWS:21530 +msgid "" +"`bpo-17293 `__: uuid.getnode() now " +"determines MAC address on AIX using netstat. Based on patch by Aivars " +"Kalvāns." +msgstr "" + +#: ../build/NEWS:21533 +msgid "" +"`bpo-22769 `__: Fixed ttk.Treeview." +"tag_has() when called without arguments." +msgstr "" + +#: ../build/NEWS:21535 +msgid "" +"`bpo-22417 `__: Verify certificates by " +"default in httplib (PEP 476)." +msgstr "" + +#: ../build/NEWS:21537 +msgid "" +"`bpo-22775 `__: Fixed unpickling of http." +"cookies.SimpleCookie with protocol 2 and above. Patch by Tim Graham." +msgstr "" + +#: ../build/NEWS:21540 +msgid "" +"`bpo-22776 `__: Brought excluded code " +"into the scope of a try block in SysLogHandler.emit()." +msgstr "" + +#: ../build/NEWS:21543 +msgid "" +"`bpo-22665 `__: Add missing " +"get_terminal_size and SameFileError to shutil.__all__." +msgstr "" + +#: ../build/NEWS:21546 +msgid "" +"`bpo-6623 `__: Remove deprecated Netrc " +"class in the ftplib module. Patch by Matt Chaput." +msgstr "" + +#: ../build/NEWS:21549 +msgid "" +"`bpo-17381 `__: Fixed handling of case-" +"insensitive ranges in regular expressions." +msgstr "" + +#: ../build/NEWS:21552 +msgid "" +"`bpo-22410 `__: Module level functions " +"in the re module now cache compiled locale-dependent regular expressions " +"taking into account the locale." +msgstr "" + +#: ../build/NEWS:21555 +msgid "" +"`bpo-22759 `__: Query methods on pathlib." +"Path() (exists(), is_dir(), etc.) now return False when the underlying stat " +"call raises NotADirectoryError." +msgstr "" + +#: ../build/NEWS:21558 +msgid "" +"`bpo-8876 `__: distutils now falls back " +"to copying files when hard linking doesn't work. This allows use with " +"special filesystems such as VirtualBox shared folders." +msgstr "" + +#: ../build/NEWS:21562 +msgid "" +"`bpo-22217 `__: Implemented reprs of " +"classes in the zipfile module." +msgstr "" + +#: ../build/NEWS:21564 +msgid "" +"`bpo-22457 `__: Honour load_tests in the " +"start_dir of discovery." +msgstr "" + +#: ../build/NEWS:21566 +msgid "" +"`bpo-18216 `__: gettext now raises an " +"error when a .mo file has an unsupported major version number. Patch by " +"Aaron Hill." +msgstr "" + +#: ../build/NEWS:21569 +msgid "" +"`bpo-13918 `__: Provide a locale." +"delocalize() function which can remove locale-specific number formatting " +"from a string representing a number, without then converting it to a " +"specific type. Patch by Cédric Krier." +msgstr "" + +#: ../build/NEWS:21573 +msgid "" +"`bpo-22676 `__: Make the pickling of " +"global objects which don't have a __module__ attribute less slow." +msgstr "" + +#: ../build/NEWS:21576 +msgid "" +"`bpo-18853 `__: Fixed ResourceWarning in " +"shlex.__nain__." +msgstr "" + +#: ../build/NEWS:21578 +msgid "" +"`bpo-9351 `__: Defaults set with " +"set_defaults on an argparse subparser are no longer ignored when also set on " +"the parent parser." +msgstr "" + +#: ../build/NEWS:21581 +msgid "" +"`bpo-7559 `__: unittest test loading " +"ImportErrors are reported as import errors with their import exception " +"rather than as attribute errors after the import has already failed." +msgstr "" + +#: ../build/NEWS:21585 +msgid "" +"`bpo-19746 `__: Make it possible to " +"examine the errors from unittest discovery without executing the test suite. " +"The new `errors` attribute on TestLoader exposes these non-fatal errors " +"encountered during discovery." +msgstr "" + +#: ../build/NEWS:21589 +msgid "" +"`bpo-21991 `__: Make email." +"headerregistry's header 'params' attributes be read-only " +"(MappingProxyType). Previously the dictionary was modifiable but a new one " +"was created on each access of the attribute." +msgstr "" + +#: ../build/NEWS:21593 +msgid "" +"`bpo-22638 `__: SSLv3 is now disabled " +"throughout the standard library. It can still be enabled by instantiating a " +"SSLContext manually." +msgstr "" + +#: ../build/NEWS:21596 +msgid "" +"`bpo-22641 `__: In asyncio, the default " +"SSL context for client connections is now created using ssl." +"create_default_context(), for stronger security." +msgstr "" + +#: ../build/NEWS:21599 +msgid "" +"`bpo-17401 `__: Include closefd in io." +"FileIO repr." +msgstr "" + +#: ../build/NEWS:21601 +msgid "" +"`bpo-21338 `__: Add silent mode for " +"compileall. quiet parameters of compile_{dir, file, path} functions now have " +"a multilevel value. Also, -q option of the CLI now have a multilevel value. " +"Patch by Thomas Kluyver." +msgstr "" + +#: ../build/NEWS:21605 +msgid "" +"`bpo-20152 `__: Convert the array and " +"cmath modules to Argument Clinic." +msgstr "" + +#: ../build/NEWS:21607 +msgid "" +"`bpo-18643 `__: Add socket.socketpair() " +"on Windows." +msgstr "" + +#: ../build/NEWS:21609 +msgid "" +"`bpo-22435 `__: Fix a file descriptor " +"leak when socketserver bind fails." +msgstr "" + +#: ../build/NEWS:21611 +msgid "" +"`bpo-13096 `__: Fixed segfault in CTypes " +"POINTER handling of large values." +msgstr "" + +#: ../build/NEWS:21613 +msgid "" +"`bpo-11694 `__: Raise ConversionError in " +"xdrlib as documented. Patch by Filip Gruszczyński and Claudiu Popa." +msgstr "" + +#: ../build/NEWS:21616 +msgid "" +"`bpo-19380 `__: Optimized parsing of " +"regular expressions." +msgstr "" + +#: ../build/NEWS:21618 +msgid "" +"`bpo-1519638 `__: Now unmatched groups " +"are replaced with empty strings in re.sub() and re.subn()." +msgstr "" + +#: ../build/NEWS:21621 +msgid "" +"`bpo-18615 `__: sndhdr.what/whathdr now " +"return a namedtuple." +msgstr "" + +#: ../build/NEWS:21623 +msgid "" +"`bpo-22462 `__: Fix pyexpat's creation " +"of a dummy frame to make it appear in exception tracebacks." +msgstr "" + +#: ../build/NEWS:21626 +msgid "" +"`bpo-21965 `__: Add support for in-" +"memory SSL to the ssl module. Patch by Geert Jansen." +msgstr "" + +#: ../build/NEWS:21629 +msgid "" +"`bpo-21173 `__: Fix len() on a " +"WeakKeyDictionary when .clear() was called with an iterator alive." +msgstr "" + +#: ../build/NEWS:21632 +msgid "" +"`bpo-11866 `__: Eliminated race " +"condition in the computation of names for new threads." +msgstr "" + +#: ../build/NEWS:21635 +msgid "" +"`bpo-21905 `__: Avoid RuntimeError in " +"pickle.whichmodule() when sys.modules is mutated while iterating. Patch by " +"Olivier Grisel." +msgstr "" + +#: ../build/NEWS:21638 +msgid "" +"`bpo-11271 `__: concurrent.futures." +"Executor.map() now takes a *chunksize* argument to allow batching of tasks " +"in child processes and improve performance of ProcessPoolExecutor. Patch by " +"Dan O'Reilly." +msgstr "" + +#: ../build/NEWS:21642 +msgid "" +"`bpo-21883 `__: os.path.join() and os." +"path.relpath() now raise a TypeError with more helpful error message for " +"unsupported or mismatched types of arguments." +msgstr "" + +#: ../build/NEWS:21646 +msgid "" +"`bpo-22219 `__: The zipfile module CLI " +"now adds entries for directories (including empty directories) in ZIP file." +msgstr "" + +#: ../build/NEWS:21649 +msgid "" +"`bpo-22449 `__: In the ssl.SSLContext." +"load_default_certs, consult the environmental variables SSL_CERT_DIR and " +"SSL_CERT_FILE on Windows." +msgstr "" + +#: ../build/NEWS:21652 +msgid "" +"`bpo-22508 `__: The email.__version__ " +"variable has been removed; the email code is no longer shipped separately " +"from the stdlib, and __version__ hasn't been updated in several releases." +msgstr "" + +#: ../build/NEWS:21656 +msgid "" +"`bpo-20076 `__: Added non derived UTF-8 " +"aliases to locale aliases table." +msgstr "" + +#: ../build/NEWS:21658 +msgid "" +"`bpo-20079 `__: Added locales supported " +"in glibc 2.18 to locale alias table." +msgstr "" + +#: ../build/NEWS:21660 +msgid "" +"`bpo-20218 `__: Added convenience " +"methods read_text/write_text and read_bytes/ write_bytes to pathlib.Path " +"objects." +msgstr "" + +#: ../build/NEWS:21663 +msgid "" +"`bpo-22396 `__: On 32-bit AIX platform, " +"don't expose os.posix_fadvise() nor os.posix_fallocate() because their " +"prototypes in system headers are wrong." +msgstr "" + +#: ../build/NEWS:21666 +msgid "" +"`bpo-22517 `__: When an io." +"BufferedRWPair object is deallocated, clear its weakrefs." +msgstr "" + +#: ../build/NEWS:21669 +msgid "" +"`bpo-22437 `__: Number of capturing " +"groups in regular expression is no longer limited by 100." +msgstr "" + +#: ../build/NEWS:21672 +msgid "" +"`bpo-17442 `__: InteractiveInterpreter " +"now displays the full chained traceback in its showtraceback method, to " +"match the built in interactive interpreter." +msgstr "" + +#: ../build/NEWS:21676 +msgid "" +"`bpo-23392 `__: Added tests for marshal " +"C API that works with FILE*." +msgstr "" + +#: ../build/NEWS:21678 +msgid "" +"`bpo-10510 `__: distutils register and " +"upload methods now use HTML standards compliant CRLF line endings." +msgstr "" + +#: ../build/NEWS:21681 +msgid "" +"`bpo-9850 `__: Fixed macpath.join() for " +"empty first component. Patch by Oleg Oshmyan." +msgstr "" + +#: ../build/NEWS:21684 +msgid "" +"`bpo-5309 `__: distutils' build and " +"build_ext commands now accept a ``-j`` option to enable parallel building of " +"extension modules." +msgstr "" + +#: ../build/NEWS:21687 +msgid "" +"`bpo-22448 `__: Improve canceled timer " +"handles cleanup to prevent unbound memory usage. Patch by Joshua Moore-Oliva." +msgstr "" + +#: ../build/NEWS:21690 +msgid "" +"`bpo-22427 `__: TemporaryDirectory no " +"longer attempts to clean up twice when used in the with statement in " +"generator." +msgstr "" + +#: ../build/NEWS:21693 +msgid "" +"`bpo-22362 `__: Forbidden ambiguous " +"octal escapes out of range 0-0o377 in regular expressions." +msgstr "" + +#: ../build/NEWS:21696 +msgid "" +"`bpo-20912 `__: Now directories added to " +"ZIP file have correct Unix and MS-DOS directory attributes." +msgstr "" + +#: ../build/NEWS:21699 +msgid "" +"`bpo-21866 `__: ZipFile.close() no " +"longer writes ZIP64 central directory records if allowZip64 is false." +msgstr "" + +#: ../build/NEWS:21702 +msgid "" +"`bpo-22278 `__: Fix urljoin problem with " +"relative urls, a regression observed after changes to issue22118 were " +"submitted." +msgstr "" + +#: ../build/NEWS:21705 +msgid "" +"`bpo-22415 `__: Fixed debugging output " +"of the GROUPREF_EXISTS opcode in the re module. Removed trailing spaces in " +"debugging output." +msgstr "" + +#: ../build/NEWS:21708 +msgid "" +"`bpo-22423 `__: Unhandled exception in " +"thread no longer causes unhandled AttributeError when sys.stderr is None." +msgstr "" + +#: ../build/NEWS:21711 +msgid "" +"`bpo-21332 `__: Ensure that " +"``bufsize=1`` in subprocess.Popen() selects line buffering, rather than " +"block buffering. Patch by Akira Li." +msgstr "" + +#: ../build/NEWS:21714 +msgid "" +"`bpo-21091 `__: Fix API bug: email." +"message.EmailMessage.is_attachment is now a method." +msgstr "" + +#: ../build/NEWS:21717 +msgid "" +"`bpo-21079 `__: Fix email.message." +"EmailMessage.is_attachment to return the correct result when the header has " +"parameters as well as a value." +msgstr "" + +#: ../build/NEWS:21720 +msgid "" +"`bpo-22247 `__: Add NNTPError to nntplib." +"__all__." +msgstr "" + +#: ../build/NEWS:21722 +msgid "" +"`bpo-22366 `__: urllib.request.urlopen " +"will accept a context object (SSLContext) as an argument which will then be " +"used for HTTPS connection. Patch by Alex Gaynor." +msgstr "" + +#: ../build/NEWS:21726 +msgid "" +"`bpo-4180 `__: The warnings registries " +"are now reset when the filters are modified." +msgstr "" + +#: ../build/NEWS:21729 +msgid "" +"`bpo-22419 `__: Limit the length of " +"incoming HTTP request in wsgiref server to 65536 bytes and send a 414 error " +"code for higher lengths. Patch contributed by Devin Cook." +msgstr "" + +#: ../build/NEWS:21733 +msgid "" +"Lax cookie parsing in http.cookies could be a security issue when combined " +"with non-standard cookie handling in some Web browsers. Reported by Sergey " +"Bobrov." +msgstr "" + +#: ../build/NEWS:21737 +msgid "" +"`bpo-20537 `__: logging methods now " +"accept an exception instance as well as a Boolean value or exception tuple. " +"Thanks to Yury Selivanov for the patch." +msgstr "" + +#: ../build/NEWS:21740 +msgid "" +"`bpo-22384 `__: An exception in Tkinter " +"callback no longer crashes the program when it is run with pythonw.exe." +msgstr "" + +#: ../build/NEWS:21743 +msgid "" +"`bpo-22168 `__: Prevent turtle " +"AttributeError with non-default Canvas on OS X." +msgstr "" + +#: ../build/NEWS:21745 +msgid "" +"`bpo-21147 `__: sqlite3 now raises an " +"exception if the request contains a null character instead of truncating " +"it. Based on patch by Victor Stinner." +msgstr "" + +#: ../build/NEWS:21748 +msgid "" +"`bpo-13968 `__: The glob module now " +"supports recursive search in subdirectories using the ``**`` pattern." +msgstr "" + +#: ../build/NEWS:21751 +msgid "" +"`bpo-21951 `__: Fixed a crash in Tkinter " +"on AIX when called Tcl command with empty string or tuple argument." +msgstr "" + +#: ../build/NEWS:21754 +msgid "" +"`bpo-21951 `__: Tkinter now most likely " +"raises MemoryError instead of crash if the memory allocation fails." +msgstr "" + +#: ../build/NEWS:21757 +msgid "" +"`bpo-22338 `__: Fix a crash in the json " +"module on memory allocation failure." +msgstr "" + +#: ../build/NEWS:21759 +msgid "" +"`bpo-12410 `__: imaplib.IMAP4 now " +"supports the context management protocol. Original patch by Tarek Ziadé." +msgstr "" + +#: ../build/NEWS:21762 +msgid "" +"`bpo-21270 `__: We now override tuple " +"methods in mock.call objects so that they can be used as normal call " +"attributes." +msgstr "" + +#: ../build/NEWS:21765 +msgid "" +"`bpo-16662 `__: load_tests() is now " +"unconditionally run when it is present in a package's __init__.py. " +"TestLoader.loadTestsFromModule() still accepts use_load_tests, but it is " +"deprecated and ignored. A new keyword-only attribute `pattern` is added and " +"documented. Patch given by Robert Collins, tweaked by Barry Warsaw." +msgstr "" + +#: ../build/NEWS:21771 +msgid "" +"`bpo-22226 `__: First letter no longer " +"is stripped from the \"status\" key in the result of Treeview.heading()." +msgstr "" + +#: ../build/NEWS:21774 +msgid "" +"`bpo-19524 `__: Fixed resource leak in " +"the HTTP connection when an invalid response is received. Patch by Martin " +"Panter." +msgstr "" + +#: ../build/NEWS:21777 +msgid "" +"`bpo-20421 `__: Add a .version() method " +"to SSL sockets exposing the actual protocol version in use." +msgstr "" + +#: ../build/NEWS:21780 +msgid "" +"`bpo-19546 `__: configparser exceptions " +"no longer expose implementation details. Chained KeyErrors are removed, " +"which leads to cleaner tracebacks. Patch by Claudiu Popa." +msgstr "" + +#: ../build/NEWS:21784 +msgid "" +"`bpo-22051 `__: turtledemo no longer " +"reloads examples to re-run them. Initialization of variables and gui setup " +"should be done in main(), which is called each time a demo is run, but not " +"on import." +msgstr "" + +#: ../build/NEWS:21788 +msgid "" +"`bpo-21933 `__: Turtledemo users can " +"change the code font size with a menu selection or control(command) '-' or " +"'+' or control-mousewheel. Original patch by Lita Cho." +msgstr "" + +#: ../build/NEWS:21792 +msgid "" +"`bpo-21597 `__: The separator between " +"the turtledemo text pane and the drawing canvas can now be grabbed and " +"dragged with a mouse. The code text pane can be widened to easily view or " +"copy the full width of the text. The canvas can be widened on small " +"screens. Original patches by Jan Kanis and Lita Cho." +msgstr "" + +#: ../build/NEWS:21798 +msgid "" +"`bpo-18132 `__: Turtledemo buttons no " +"longer disappear when the window is shrunk. Original patches by Jan Kanis " +"and Lita Cho." +msgstr "" + +#: ../build/NEWS:21801 +msgid "" +"`bpo-22043 `__: time.monotonic() is now " +"always available. ``threading.Lock.acquire()``, ``threading.RLock." +"acquire()`` and socket operations now use a monotonic clock, instead of the " +"system clock, when a timeout is used." +msgstr "" + +#: ../build/NEWS:21806 +msgid "" +"`bpo-21527 `__: Add a default number of " +"workers to ThreadPoolExecutor equal to 5 times the number of CPUs. Patch by " +"Claudiu Popa." +msgstr "" + +#: ../build/NEWS:21809 +msgid "" +"`bpo-22216 `__: smtplib now resets its " +"state more completely after a quit. The most obvious consequence of the " +"previous behavior was a STARTTLS failure during a connect/starttls/quit/" +"connect/starttls sequence." +msgstr "" + +#: ../build/NEWS:21813 +msgid "" +"`bpo-22098 `__: ctypes' " +"BigEndianStructure and LittleEndianStructure now define an empty __slots__ " +"so that subclasses don't always get an instance dict. Patch by Claudiu Popa." +msgstr "" + +#: ../build/NEWS:21817 +msgid "" +"`bpo-22185 `__: Fix an occasional " +"RuntimeError in threading.Condition.wait() caused by mutation of the waiters " +"queue without holding the lock. Patch by Doug Zongker." +msgstr "" + +#: ../build/NEWS:21821 +msgid "" +"`bpo-22287 `__: On UNIX, " +"_PyTime_gettimeofday() now uses clock_gettime(CLOCK_REALTIME) if available. " +"As a side effect, Python now depends on the librt library on Solaris and on " +"Linux (only with glibc older than 2.17)." +msgstr "" + +#: ../build/NEWS:21826 +msgid "" +"`bpo-22182 `__: Use e.args to unpack " +"exceptions correctly in distutils.file_util.move_file. Patch by Claudiu Popa." +msgstr "" + +#: ../build/NEWS:21829 +msgid "" +"The webbrowser module now uses subprocess's start_new_session=True rather " +"than a potentially risky preexec_fn=os.setsid call." +msgstr "" + +#: ../build/NEWS:21832 +msgid "" +"`bpo-22042 `__: signal.set_wakeup_fd(fd) " +"now raises an exception if the file descriptor is in blocking mode." +msgstr "" + +#: ../build/NEWS:21835 +msgid "" +"`bpo-16808 `__: inspect.stack() now " +"returns a named tuple instead of a tuple. Patch by Daniel Shahaf." +msgstr "" + +#: ../build/NEWS:21838 +msgid "" +"`bpo-22236 `__: Fixed Tkinter images " +"copying operations in NoDefaultRoot mode." +msgstr "" + +#: ../build/NEWS:21840 +msgid "" +"`bpo-2527 `__: Add a *globals* argument " +"to timeit functions, in order to override the globals namespace in which the " +"timed code is executed. Patch by Ben Roberts." +msgstr "" + +#: ../build/NEWS:21844 +msgid "" +"`bpo-22118 `__: Switch urllib.parse to " +"use RFC 3986 semantics for the resolution of relative URLs, rather than RFCs " +"1808 and 2396. Patch by Demian Brecht." +msgstr "" + +#: ../build/NEWS:21848 +msgid "" +"`bpo-21549 `__: Added the \"members\" " +"parameter to TarFile.list()." +msgstr "" + +#: ../build/NEWS:21850 +msgid "" +"`bpo-19628 `__: Allow compileall " +"recursion depth to be specified with a -r option." +msgstr "" + +#: ../build/NEWS:21853 +msgid "" +"`bpo-15696 `__: Add a __sizeof__ " +"implementation for mmap objects on Windows." +msgstr "" + +#: ../build/NEWS:21855 +msgid "" +"`bpo-22068 `__: Avoided reference loops " +"with Variables and Fonts in Tkinter." +msgstr "" + +#: ../build/NEWS:21857 +msgid "" +"`bpo-22165 `__: SimpleHTTPRequestHandler " +"now supports undecodable file names." +msgstr "" + +#: ../build/NEWS:21859 +msgid "" +"`bpo-15381 `__: Optimized line reading " +"in io.BytesIO." +msgstr "" + +#: ../build/NEWS:21861 +msgid "" +"`bpo-8797 `__: Raise HTTPError on failed " +"Basic Authentication immediately. Initial patch by Sam Bull." +msgstr "" + +#: ../build/NEWS:21864 +msgid "" +"`bpo-20729 `__: Restored the use of lazy " +"iterkeys()/itervalues()/iteritems() in the mailbox module." +msgstr "" + +#: ../build/NEWS:21867 +msgid "" +"`bpo-21448 `__: Changed FeedParser " +"feed() to avoid O(N**2) behavior when parsing long line. Original patch by " +"Raymond Hettinger." +msgstr "" + +#: ../build/NEWS:21870 +msgid "" +"`bpo-22184 `__: The functools LRU Cache " +"decorator factory now gives an earlier and clearer error message when the " +"user forgets the required parameters." +msgstr "" + +#: ../build/NEWS:21873 +msgid "" +"`bpo-17923 `__: glob() patterns ending " +"with a slash no longer match non-dirs on AIX. Based on patch by Delhallt." +msgstr "" + +#: ../build/NEWS:21876 +msgid "" +"`bpo-21725 `__: Added support for RFC " +"6531 (SMTPUTF8) in smtpd." +msgstr "" + +#: ../build/NEWS:21878 +msgid "" +"`bpo-22176 `__: Update the ctypes " +"module's libffi to v3.1. This release adds support for the Linux AArch64 " +"and POWERPC ELF ABIv2 little endian architectures." +msgstr "" + +#: ../build/NEWS:21882 +msgid "" +"`bpo-5411 `__: Added support for the " +"\"xztar\" format in the shutil module." +msgstr "" + +#: ../build/NEWS:21884 +msgid "" +"`bpo-21121 `__: Don't force 3rd party C " +"extensions to be built with -Werror=declaration-after-statement." +msgstr "" + +#: ../build/NEWS:21887 +msgid "" +"`bpo-21975 `__: Fixed crash when using " +"uninitialized sqlite3.Row (in particular when unpickling pickled sqlite3." +"Row). sqlite3.Row is now initialized in the __new__() method." +msgstr "" + +#: ../build/NEWS:21891 +msgid "" +"`bpo-20170 `__: Convert posixmodule to " +"use Argument Clinic." +msgstr "" + +#: ../build/NEWS:21893 +msgid "" +"`bpo-21539 `__: Add an *exists_ok* " +"argument to `Pathlib.mkdir()` to mimic `mkdir -p` and `os.makedirs()` " +"functionality. When true, ignore FileExistsErrors. Patch by Berker Peksag." +msgstr "" + +#: ../build/NEWS:21897 +msgid "" +"`bpo-22127 `__: Bypass IDNA for pure-" +"ASCII host names in the socket module (in particular for numeric IPs)." +msgstr "" + +#: ../build/NEWS:21900 +msgid "" +"`bpo-21047 `__: set the default value " +"for the *convert_charrefs* argument of HTMLParser to True. Patch by Berker " +"Peksag." +msgstr "" + +#: ../build/NEWS:21903 +msgid "Add an __all__ to html.entities." +msgstr "" + +#: ../build/NEWS:21905 +msgid "" +"`bpo-15114 `__: the strict mode and " +"argument of HTMLParser, HTMLParser.error, and the HTMLParserError exception " +"have been removed." +msgstr "" + +#: ../build/NEWS:21908 +msgid "" +"`bpo-22085 `__: Dropped support of Tk " +"8.3 in Tkinter." +msgstr "" + +#: ../build/NEWS:21910 +msgid "" +"`bpo-21580 `__: Now Tkinter correctly " +"handles bytes arguments passed to Tk. In particular this allows initializing " +"images from binary data." +msgstr "" + +#: ../build/NEWS:21913 +msgid "" +"`bpo-22003 `__: When initialized from a " +"bytes object, io.BytesIO() now defers making a copy until it is mutated, " +"improving performance and memory use on some use cases. Patch by David " +"Wilson." +msgstr "" + +#: ../build/NEWS:21917 +msgid "" +"`bpo-22018 `__: On Windows, signal." +"set_wakeup_fd() now also supports sockets. A side effect is that Python " +"depends to the WinSock library." +msgstr "" + +#: ../build/NEWS:21920 +msgid "" +"`bpo-22054 `__: Add os.get_blocking() " +"and os.set_blocking() functions to get and set the blocking mode of a file " +"descriptor (False if the O_NONBLOCK flag is set, True otherwise). These " +"functions are not available on Windows." +msgstr "" + +#: ../build/NEWS:21925 +msgid "" +"`bpo-17172 `__: Make turtledemo start as " +"active on OS X even when run with subprocess. Patch by Lita Cho." +msgstr "" + +#: ../build/NEWS:21928 +msgid "" +"`bpo-21704 `__: Fix build error for " +"_multiprocessing when semaphores are not available. Patch by Arfrever " +"Frehtes Taifersar Arahesis." +msgstr "" + +#: ../build/NEWS:21931 +msgid "" +"`bpo-20173 `__: Convert sha1, sha256, " +"sha512 and md5 to ArgumentClinic. Patch by Vajrasky Kok." +msgstr "" + +#: ../build/NEWS:21934 +msgid "" +"Fix repr(_socket.socket) on Windows 64-bit: don't fail with OverflowError on " +"closed socket. repr(socket.socket) already works fine." +msgstr "" + +#: ../build/NEWS:21937 +msgid "" +"`bpo-22033 `__: Reprs of most Python " +"implemented classes now contain actual class name instead of hardcoded one." +msgstr "" + +#: ../build/NEWS:21940 +msgid "" +"`bpo-21947 `__: The dis module can now " +"disassemble generator-iterator objects based on their gi_code attribute. " +"Patch by Clement Rouault." +msgstr "" + +#: ../build/NEWS:21943 +msgid "" +"`bpo-16133 `__: The asynchat.async_chat." +"handle_read() method now ignores BlockingIOError exceptions." +msgstr "" + +#: ../build/NEWS:21946 +msgid "" +"`bpo-22044 `__: Fixed premature DECREF " +"in call_tzinfo_method. Patch by Tom Flanagan." +msgstr "" + +#: ../build/NEWS:21949 +msgid "" +"`bpo-19884 `__: readline: Disable the " +"meta modifier key if stdout is not a terminal to not write the ANSI sequence " +"``\"\\033[1034h\"`` into stdout. This sequence is used on some terminal (ex: " +"TERM=xterm-256color\") to enable support of 8 bit characters." +msgstr "" + +#: ../build/NEWS:21954 +msgid "" +"`bpo-4350 `__: Removed a number of out-of-" +"dated and non-working for a long time Tkinter methods." +msgstr "" + +#: ../build/NEWS:21957 +msgid "" +"`bpo-6167 `__: Scrollbar.activate() now " +"returns the name of active element if the argument is not specified. " +"Scrollbar.set() now always accepts only 2 arguments." +msgstr "" + +#: ../build/NEWS:21961 +msgid "" +"`bpo-15275 `__: Clean up and speed up " +"the ntpath module." +msgstr "" + +#: ../build/NEWS:21963 +msgid "" +"`bpo-21888 `__: plistlib's load() and " +"loads() now work if the fmt parameter is specified." +msgstr "" + +#: ../build/NEWS:21966 +msgid "" +"`bpo-22032 `__: __qualname__ instead of " +"__name__ is now always used to format fully qualified class names of Python " +"implemented classes." +msgstr "" + +#: ../build/NEWS:21969 +msgid "" +"`bpo-22031 `__: Reprs now always use " +"hexadecimal format with the \"0x\" prefix when contain an id in form \" at " +"0x...\"." +msgstr "" + +#: ../build/NEWS:21972 +msgid "" +"`bpo-22018 `__: signal.set_wakeup_fd() " +"now raises an OSError instead of a ValueError on ``fstat()`` failure." +msgstr "" + +#: ../build/NEWS:21975 +msgid "" +"`bpo-21044 `__: tarfile.open() now " +"handles fileobj with an integer 'name' attribute. Based on patch by Antoine " +"Pietri." +msgstr "" + +#: ../build/NEWS:21978 +msgid "" +"`bpo-21966 `__: Respect -q command-line " +"option when code module is ran." +msgstr "" + +#: ../build/NEWS:21980 +msgid "" +"`bpo-19076 `__: Don't pass the redundant " +"'file' argument to self.error()." +msgstr "" + +#: ../build/NEWS:21982 +msgid "" +"`bpo-16382 `__: Improve exception " +"message of warnings.warn() for bad category. Initial patch by Phil Elson." +msgstr "" + +#: ../build/NEWS:21985 +msgid "" +"`bpo-21932 `__: os.read() now uses a :c:" +"func:`Py_ssize_t` type instead of :c:type:`int` for the size to support " +"reading more than 2 GB at once. On Windows, the size is truncated to " +"INT_MAX. As any call to os.read(), the OS may read less bytes than the " +"number of requested bytes." +msgstr "" + +#: ../build/NEWS:21990 +msgid "" +"`bpo-21942 `__: Fixed source file " +"viewing in pydoc's server mode on Windows." +msgstr "" + +#: ../build/NEWS:21992 +msgid "" +"`bpo-11259 `__: asynchat.async_chat()." +"set_terminator() now raises a ValueError if the number of received bytes is " +"negative." +msgstr "" + +#: ../build/NEWS:21995 +msgid "" +"`bpo-12523 `__: asynchat.async_chat." +"push() now raises a TypeError if it doesn't get a bytes string" +msgstr "" + +#: ../build/NEWS:21998 +msgid "" +"`bpo-21707 `__: Add missing " +"kwonlyargcount argument to ModuleFinder.replace_paths_in_code()." +msgstr "" + +#: ../build/NEWS:22001 +msgid "" +"`bpo-20639 `__: calling Path." +"with_suffix('') allows removing the suffix again. Patch by July Tikhonov." +msgstr "" + +#: ../build/NEWS:22004 +msgid "" +"`bpo-21714 `__: Disallow the " +"construction of invalid paths using Path.with_name(). Original patch by " +"Antony Lee." +msgstr "" + +#: ../build/NEWS:22007 +msgid "" +"`bpo-15014 `__: Added 'auth' method to " +"smtplib to make implementing auth mechanisms simpler, and used it internally " +"in the login method." +msgstr "" + +#: ../build/NEWS:22010 +msgid "" +"`bpo-21151 `__: Fixed a segfault in the " +"winreg module when ``None`` is passed as a ``REG_BINARY`` value to " +"SetValueEx. Patch by John Ehresman." +msgstr "" + +#: ../build/NEWS:22013 +msgid "" +"`bpo-21090 `__: io.FileIO.readall() does " +"not ignore I/O errors anymore. Before, it ignored I/O errors if at least the " +"first C call read() succeed." +msgstr "" + +#: ../build/NEWS:22016 +msgid "" +"`bpo-5800 `__: headers parameter of " +"wsgiref.headers.Headers is now optional. Initial patch by Pablo Torres " +"Navarrete and SilentGhost." +msgstr "" + +#: ../build/NEWS:22019 +msgid "" +"`bpo-21781 `__: ssl.RAND_add() now " +"supports strings longer than 2 GB." +msgstr "" + +#: ../build/NEWS:22021 +msgid "" +"`bpo-21679 `__: Prevent extraneous " +"fstat() calls during open(). Patch by Bohuslav Kabrda." +msgstr "" + +#: ../build/NEWS:22024 +msgid "" +"`bpo-21863 `__: cProfile now displays " +"the module name of C extension functions, in addition to their own name." +msgstr "" + +#: ../build/NEWS:22027 +msgid "" +"`bpo-11453 `__: asyncore: emit a " +"ResourceWarning when an unclosed file_wrapper object is destroyed. The " +"destructor now closes the file if needed. The close() method can now be " +"called twice: the second call does nothing." +msgstr "" + +#: ../build/NEWS:22031 +msgid "" +"`bpo-21858 `__: Better handling of " +"Python exceptions in the sqlite3 module." +msgstr "" + +#: ../build/NEWS:22033 +msgid "" +"`bpo-21476 `__: Make sure the email." +"parser.BytesParser TextIOWrapper is discarded after parsing, so the input " +"file isn't unexpectedly closed." +msgstr "" + +#: ../build/NEWS:22036 +msgid "" +"`bpo-20295 `__: imghdr now recognizes " +"OpenEXR format images." +msgstr "" + +#: ../build/NEWS:22038 +msgid "" +"`bpo-21729 `__: Used the \"with\" " +"statement in the dbm.dumb module to ensure files closing. Patch by Claudiu " +"Popa." +msgstr "" + +#: ../build/NEWS:22041 +msgid "" +"`bpo-21491 `__: socketserver: Fix a race " +"condition in child processes reaping." +msgstr "" + +#: ../build/NEWS:22043 +msgid "" +"`bpo-21719 `__: Added the " +"``st_file_attributes`` field to os.stat_result on Windows." +msgstr "" + +#: ../build/NEWS:22046 +msgid "" +"`bpo-21832 `__: Require named tuple " +"inputs to be exact strings." +msgstr "" + +#: ../build/NEWS:22048 +msgid "" +"`bpo-21722 `__: The distutils \"upload\" " +"command now exits with a non-zero return code when uploading fails. Patch " +"by Martin Dengler." +msgstr "" + +#: ../build/NEWS:22051 +msgid "" +"`bpo-21723 `__: asyncio.Queue: support " +"any type of number (ex: float) for the maximum size. Patch written by " +"Vajrasky Kok." +msgstr "" + +#: ../build/NEWS:22054 +msgid "" +"`bpo-21711 `__: support for \"site-python" +"\" directories has now been removed from the site module (it was deprecated " +"in 3.4)." +msgstr "" + +#: ../build/NEWS:22057 +msgid "" +"`bpo-17552 `__: new socket.sendfile() " +"method allowing a file to be sent over a socket by using high-performance os." +"sendfile() on UNIX. Patch by Giampaolo Rodola'." +msgstr "" + +#: ../build/NEWS:22061 +msgid "" +"`bpo-18039 `__: dbm.dump.open() now " +"always creates a new database when the flag has the value 'n'. Patch by " +"Claudiu Popa." +msgstr "" + +#: ../build/NEWS:22064 +msgid "" +"`bpo-21326 `__: Add a new is_closed() " +"method to asyncio.BaseEventLoop. run_forever() and run_until_complete() " +"methods of asyncio.BaseEventLoop now raise an exception if the event loop " +"was closed." +msgstr "" + +#: ../build/NEWS:22068 +msgid "" +"`bpo-21766 `__: Prevent a security hole " +"in CGIHTTPServer by URL unquoting paths before checking for a CGI script at " +"that path." +msgstr "" + +#: ../build/NEWS:22071 +msgid "" +"`bpo-21310 `__: Fixed possible resource " +"leak in failed open()." +msgstr "" + +#: ../build/NEWS:22073 +msgid "" +"`bpo-21256 `__: Printout of keyword args " +"should be in deterministic order in a mock function call. This will help to " +"write better doctests." +msgstr "" + +#: ../build/NEWS:22076 +msgid "" +"`bpo-21677 `__: Fixed chaining " +"nonnormalized exceptions in io close() methods." +msgstr "" + +#: ../build/NEWS:22078 +msgid "" +"`bpo-11709 `__: Fix the pydoc.help " +"function to not fail when sys.stdin is not a valid file." +msgstr "" + +#: ../build/NEWS:22081 +msgid "" +"`bpo-21515 `__: tempfile.TemporaryFile " +"now uses os.O_TMPFILE flag is available." +msgstr "" + +#: ../build/NEWS:22083 +msgid "" +"`bpo-13223 `__: Fix pydoc.writedoc so " +"that the HTML documentation for methods that use 'self' in the example code " +"is generated correctly." +msgstr "" + +#: ../build/NEWS:22086 +msgid "" +"`bpo-21463 `__: In urllib.request, fix " +"pruning of the FTP cache." +msgstr "" + +#: ../build/NEWS:22088 +msgid "" +"`bpo-21618 `__: The subprocess module " +"could fail to close open fds that were inherited by the calling process and " +"already higher than POSIX resource limits would otherwise allow. On systems " +"with a functioning /proc/self/fd or /dev/fd interface the max is now ignored " +"and all fds are closed." +msgstr "" + +#: ../build/NEWS:22093 +msgid "" +"`bpo-20383 `__: Introduce importlib.util." +"module_from_spec() as the preferred way to create a new module." +msgstr "" + +#: ../build/NEWS:22096 +msgid "" +"`bpo-21552 `__: Fixed possible integer " +"overflow of too long string lengths in the tkinter module on 64-bit " +"platforms." +msgstr "" + +#: ../build/NEWS:22099 +msgid "" +"`bpo-14315 `__: The zipfile module now " +"ignores extra fields in the central directory that are too short to be " +"parsed instead of letting a struct.unpack error bubble up as this \"bad data" +"\" appears in many real world zip files in the wild and is ignored by other " +"zip tools." +msgstr "" + +#: ../build/NEWS:22104 +msgid "" +"`bpo-13742 `__: Added \"key\" and " +"\"reverse\" parameters to heapq.merge(). (First draft of patch contributed " +"by Simon Sapin.)" +msgstr "" + +#: ../build/NEWS:22107 +msgid "" +"`bpo-21402 `__: tkinter.ttk now works " +"when default root window is not set." +msgstr "" + +#: ../build/NEWS:22109 +msgid "" +"`bpo-3015 `__: _tkinter.create() now " +"creates tkapp object with wantobject=1 by default." +msgstr "" + +#: ../build/NEWS:22112 +msgid "" +"`bpo-10203 `__: sqlite3.Row now truly " +"supports sequence protocol. In particular it supports reverse() and " +"negative indices. Original patch by Claudiu Popa." +msgstr "" + +#: ../build/NEWS:22116 +msgid "" +"`bpo-18807 `__: If copying (no symlinks) " +"specified for a venv, then the python interpreter aliases (python, python3) " +"are now created by copying rather than symlinking." +msgstr "" + +#: ../build/NEWS:22120 +msgid "" +"`bpo-20197 `__: Added support for the " +"WebP image type in the imghdr module. Patch by Fabrice Aneche and Claudiu " +"Popa." +msgstr "" + +#: ../build/NEWS:22123 +msgid "" +"`bpo-21513 `__: Speedup some properties " +"of IP addresses (IPv4Address, IPv6Address) such as .is_private or ." +"is_multicast." +msgstr "" + +#: ../build/NEWS:22126 +msgid "" +"`bpo-21137 `__: Improve the repr for " +"threading.Lock() and its variants by showing the \"locked\" or \"unlocked\" " +"status. Patch by Berker Peksag." +msgstr "" + +#: ../build/NEWS:22129 +msgid "" +"`bpo-21538 `__: The plistlib module now " +"supports loading of binary plist files when reference or offset size is not " +"a power of two." +msgstr "" + +#: ../build/NEWS:22132 +msgid "" +"`bpo-21455 `__: Add a default backlog to " +"socket.listen()." +msgstr "" + +#: ../build/NEWS:22134 +msgid "" +"`bpo-21525 `__: Most Tkinter methods " +"which accepted tuples now accept lists too." +msgstr "" + +#: ../build/NEWS:22137 +msgid "" +"`bpo-22166 `__: With the assistance of a " +"new internal _codecs._forget_codec helping function, test_codecs now clears " +"the encoding caches to avoid the appearance of a reference leak" +msgstr "" + +#: ../build/NEWS:22141 +msgid "" +"`bpo-22236 `__: Tkinter tests now don't " +"reuse default root window. New root window is created for every test class." +msgstr "" + +#: ../build/NEWS:22144 +msgid "" +"`bpo-10744 `__: Fix :pep:`3118` format " +"strings on ctypes objects with a nontrivial shape." +msgstr "" + +#: ../build/NEWS:22147 +msgid "" +"`bpo-20826 `__: Optimize ipaddress." +"collapse_addresses()." +msgstr "" + +#: ../build/NEWS:22149 +msgid "" +"`bpo-21487 `__: Optimize ipaddress." +"summarize_address_range() and ipaddress.{IPv4Network,IPv6Network}.subnets()." +msgstr "" + +#: ../build/NEWS:22152 +msgid "" +"`bpo-21486 `__: Optimize parsing of " +"netmasks in ipaddress.IPv4Network and ipaddress.IPv6Network." +msgstr "" + +#: ../build/NEWS:22155 +msgid "" +"`bpo-13916 `__: Disallowed the " +"surrogatepass error handler for non UTF-\\* encodings." +msgstr "" + +#: ../build/NEWS:22158 +msgid "" +"`bpo-20998 `__: Fixed re.fullmatch() of " +"repeated single character pattern with ignore case. Original patch by " +"Matthew Barnett." +msgstr "" + +#: ../build/NEWS:22161 +msgid "" +"`bpo-21075 `__: fileinput.FileInput now " +"reads bytes from standard stream if binary mode is specified. Patch by Sam " +"Kimbrel." +msgstr "" + +#: ../build/NEWS:22164 +msgid "" +"`bpo-19775 `__: Add a samefile() method " +"to pathlib Path objects. Initial patch by Vajrasky Kok." +msgstr "" + +#: ../build/NEWS:22167 +msgid "" +"`bpo-21226 `__: Set up modules properly " +"in PyImport_ExecCodeModuleObject (and friends)." +msgstr "" + +#: ../build/NEWS:22170 +msgid "" +"`bpo-21398 `__: Fix a unicode error in " +"the pydoc pager when the documentation contains characters not encodable to " +"the stdout encoding." +msgstr "" + +#: ../build/NEWS:22173 +msgid "" +"`bpo-16531 `__: ipaddress.IPv4Network " +"and ipaddress.IPv6Network now accept an (address, netmask) tuple argument, " +"so as to easily construct network objects from existing addresses." +msgstr "" + +#: ../build/NEWS:22177 +msgid "" +"`bpo-21156 `__: importlib.abc." +"InspectLoader.source_to_code() is now a staticmethod." +msgstr "" + +#: ../build/NEWS:22180 +msgid "" +"`bpo-21424 `__: Simplified and optimized " +"heaqp.nlargest() and nmsmallest() to make fewer tuple comparisons." +msgstr "" + +#: ../build/NEWS:22183 +msgid "" +"`bpo-21396 `__: Fix TextIOWrapper(..., " +"write_through=True) to not force a flush() on the underlying binary stream. " +"Patch by akira." +msgstr "" + +#: ../build/NEWS:22186 +msgid "" +"`bpo-18314 `__: Unlink now removes " +"junctions on Windows. Patch by Kim Gräsman" +msgstr "" + +#: ../build/NEWS:22188 +msgid "" +"`bpo-21088 `__: Bugfix for curses.window." +"addch() regression in 3.4.0. In porting to Argument Clinic, the first two " +"arguments were reversed." +msgstr "" + +#: ../build/NEWS:22191 +msgid "" +"`bpo-21407 `__: _decimal: The module now " +"supports function signatures." +msgstr "" + +#: ../build/NEWS:22193 +msgid "" +"`bpo-10650 `__: Remove the non-standard " +"'watchexp' parameter from the Decimal.quantize() method in the Python " +"version. It had never been present in the C version." +msgstr "" + +#: ../build/NEWS:22197 +msgid "" +"`bpo-21469 `__: Reduced the risk of " +"false positives in robotparser by checking to make sure that robots.txt has " +"been read or does not exist prior to returning True in can_fetch()." +msgstr "" + +#: ../build/NEWS:22201 +msgid "" +"`bpo-19414 `__: Have the OrderedDict " +"mark deleted links as unusable. This gives an early failure if the link is " +"deleted during iteration." +msgstr "" + +#: ../build/NEWS:22204 +msgid "" +"`bpo-21421 `__: Add __slots__ to the " +"MappingViews ABC. Patch by Josh Rosenberg." +msgstr "" + +#: ../build/NEWS:22206 +msgid "" +"`bpo-21101 `__: Eliminate double hashing " +"in the C speed-up code for collections.Counter()." +msgstr "" + +#: ../build/NEWS:22209 +msgid "" +"`bpo-21321 `__: itertools.islice() now " +"releases the reference to the source iterator when the slice is exhausted. " +"Patch by Anton Afanasyev." +msgstr "" + +#: ../build/NEWS:22212 +msgid "" +"`bpo-21057 `__: TextIOWrapper now allows " +"the underlying binary stream's read() or read1() method to return an " +"arbitrary bytes-like object (such as a memoryview). Patch by Nikolaus Rath." +msgstr "" + +#: ../build/NEWS:22216 +msgid "" +"`bpo-20951 `__: SSLSocket.send() now " +"raises either SSLWantReadError or SSLWantWriteError on a non-blocking socket " +"if the operation would block. Previously, it would return 0. Patch by " +"Nikolaus Rath." +msgstr "" + +#: ../build/NEWS:22220 +msgid "" +"`bpo-13248 `__: removed previously " +"deprecated asyncore.dispatcher __getattr__ cheap inheritance hack." +msgstr "" + +#: ../build/NEWS:22223 +msgid "" +"`bpo-9815 `__: assertRaises now tries to " +"clear references to local variables in the exception's traceback." +msgstr "" + +#: ../build/NEWS:22226 +msgid "" +"`bpo-19940 `__: ssl." +"cert_time_to_seconds() now interprets the given time string in the UTC " +"timezone (as specified in RFC 5280), not the local timezone." +msgstr "" + +#: ../build/NEWS:22229 +msgid "" +"`bpo-13204 `__: Calling sys.flags." +"__new__ would crash the interpreter, now it raises a TypeError." +msgstr "" + +#: ../build/NEWS:22232 +msgid "" +"`bpo-19385 `__: Make operations on a " +"closed dbm.dumb database always raise the same exception." +msgstr "" + +#: ../build/NEWS:22235 +msgid "" +"`bpo-21207 `__: Detect when the os." +"urandom cached fd has been closed or replaced, and open it anew." +msgstr "" + +#: ../build/NEWS:22238 +msgid "" +"`bpo-21291 `__: subprocess's Popen." +"wait() is now thread safe so that multiple threads may be calling wait() or " +"poll() on a Popen instance at the same time without losing the Popen." +"returncode value." +msgstr "" + +#: ../build/NEWS:22242 +msgid "" +"`bpo-21127 `__: Path objects can now be " +"instantiated from str subclass instances (such as ``numpy.str_``)." +msgstr "" + +#: ../build/NEWS:22245 +msgid "" +"`bpo-15002 `__: urllib.response object " +"to use _TemporaryFileWrapper (and _TemporaryFileCloser) facility. Provides a " +"better way to handle file descriptor close. Patch contributed by Christian " +"Theune." +msgstr "" + +#: ../build/NEWS:22249 +msgid "" +"`bpo-12220 `__: mindom now raises a " +"custom ValueError indicating it doesn't support spaces in URIs instead of " +"letting a 'split' ValueError bubble up." +msgstr "" + +#: ../build/NEWS:22252 +msgid "" +"`bpo-21068 `__: The ssl.PROTOCOL* " +"constants are now enum members." +msgstr "" + +#: ../build/NEWS:22254 +msgid "" +"`bpo-21276 `__: posixmodule: Don't " +"define USE_XATTRS on KFreeBSD and the Hurd." +msgstr "" + +#: ../build/NEWS:22256 +msgid "" +"`bpo-21262 `__: New method " +"assert_not_called for Mock. It raises AssertionError if the mock has been " +"called." +msgstr "" + +#: ../build/NEWS:22259 +msgid "" +"`bpo-21238 `__: New keyword argument " +"`unsafe` to Mock. It raises `AttributeError` incase of an attribute " +"startswith assert or assret." +msgstr "" + +#: ../build/NEWS:22262 +msgid "" +"`bpo-20896 `__: ssl." +"get_server_certificate() now uses PROTOCOL_SSLv23, not PROTOCOL_SSLv3, for " +"maximum compatibility." +msgstr "" + +#: ../build/NEWS:22265 +msgid "" +"`bpo-21239 `__: patch.stopall() didn't " +"work deterministically when the same name was patched more than once." +msgstr "" + +#: ../build/NEWS:22268 +msgid "" +"`bpo-21203 `__: Updated fileConfig and " +"dictConfig to remove inconsistencies. Thanks to Jure Koren for the patch." +msgstr "" + +#: ../build/NEWS:22271 +msgid "" +"`bpo-21222 `__: Passing name keyword " +"argument to mock.create_autospec now works." +msgstr "" + +#: ../build/NEWS:22274 +msgid "" +"`bpo-21197 `__: Add lib64 -> lib symlink " +"in venvs on 64-bit non-OS X POSIX." +msgstr "" + +#: ../build/NEWS:22276 +msgid "" +"`bpo-17498 `__: Some SMTP servers " +"disconnect after certain errors, violating strict RFC conformance. Instead " +"of losing the error code when we issue the subsequent RSET, smtplib now " +"returns the error code and defers raising the SMTPServerDisconnected error " +"until the next command is issued." +msgstr "" + +#: ../build/NEWS:22281 +msgid "" +"`bpo-17826 `__: setting an iterable " +"side_effect on a mock function created by create_autospec now works. Patch " +"by Kushal Das." +msgstr "" + +#: ../build/NEWS:22284 +msgid "" +"`bpo-7776 `__: Fix ``Host:`` header and " +"reconnection when using http.client.HTTPConnection.set_tunnel(). Patch by " +"Nikolaus Rath." +msgstr "" + +#: ../build/NEWS:22287 +msgid "" +"`bpo-20968 `__: unittest.mock.MagicMock " +"now supports division. Patch by Johannes Baiter." +msgstr "" + +#: ../build/NEWS:22290 +msgid "" +"`bpo-21529 `__: Fix arbitrary memory " +"access in JSONDecoder.raw_decode with a negative second parameter. Bug " +"reported by Guido Vranken. (See also: CVE-2014-4616)" +msgstr "" + +#: ../build/NEWS:22294 +msgid "" +"`bpo-21169 `__: getpass now handles non-" +"ascii characters that the input stream encoding cannot encode by re-encoding " +"using the replace error handler." +msgstr "" + +#: ../build/NEWS:22297 +msgid "" +"`bpo-21171 `__: Fixed undocumented " +"filter API of the rot13 codec. Patch by Berker Peksag." +msgstr "" + +#: ../build/NEWS:22300 +msgid "" +"`bpo-20539 `__: Improved math.factorial " +"error message for large positive inputs and changed exception type " +"(OverflowError -> ValueError) for large negative inputs." +msgstr "" + +#: ../build/NEWS:22304 +msgid "" +"`bpo-21172 `__: isinstance check relaxed " +"from dict to collections.Mapping." +msgstr "" + +#: ../build/NEWS:22306 +msgid "" +"`bpo-21155 `__: asyncio.EventLoop." +"create_unix_server() now raises a ValueError if path and sock are specified " +"at the same time." +msgstr "" + +#: ../build/NEWS:22309 +msgid "" +"`bpo-21136 `__: Avoid unnecessary " +"normalization of Fractions resulting from power and other operations. Patch " +"by Raymond Hettinger." +msgstr "" + +#: ../build/NEWS:22312 +msgid "" +"`bpo-17621 `__: Introduce importlib.util." +"LazyLoader." +msgstr "" + +#: ../build/NEWS:22314 +msgid "" +"`bpo-21076 `__: signal module constants " +"were turned into enums. Patch by Giampaolo Rodola'." +msgstr "" + +#: ../build/NEWS:22317 +msgid "" +"`bpo-20636 `__: Improved the repr of " +"Tkinter widgets." +msgstr "" + +#: ../build/NEWS:22319 +msgid "" +"`bpo-19505 `__: The items, keys, and " +"values views of OrderedDict now support reverse iteration using reversed()." +msgstr "" + +#: ../build/NEWS:22322 +msgid "" +"`bpo-21149 `__: Improved thread-safety " +"in logging cleanup during interpreter shutdown. Thanks to Devin Jeanpierre " +"for the patch." +msgstr "" + +#: ../build/NEWS:22325 +msgid "" +"`bpo-21058 `__: Fix a leak of file " +"descriptor in :func:`tempfile.NamedTemporaryFile`, close the file descriptor " +"if :func:`io.open` fails" +msgstr "" + +#: ../build/NEWS:22329 +msgid "" +"`bpo-21200 `__: Return None from pkgutil." +"get_loader() when __spec__ is missing." +msgstr "" + +#: ../build/NEWS:22331 +msgid "" +"`bpo-21013 `__: Enhance ssl." +"create_default_context() when used for server side sockets to provide better " +"security by default." +msgstr "" + +#: ../build/NEWS:22334 +msgid "" +"`bpo-20145 `__: `assertRaisesRegex` and " +"`assertWarnsRegex` now raise a TypeError if the second argument is not a " +"string or compiled regex." +msgstr "" + +#: ../build/NEWS:22337 +msgid "" +"`bpo-20633 `__: Replace relative import " +"by absolute import." +msgstr "" + +#: ../build/NEWS:22339 +msgid "" +"`bpo-20980 `__: Stop wrapping exception " +"when using ThreadPool." +msgstr "" + +#: ../build/NEWS:22341 +msgid "" +"`bpo-21082 `__: In os.makedirs, do not " +"set the process-wide umask. Note this changes behavior of makedirs when " +"exist_ok=True." +msgstr "" + +#: ../build/NEWS:22344 +msgid "" +"`bpo-20990 `__: Fix issues found by " +"pyflakes for multiprocessing." +msgstr "" + +#: ../build/NEWS:22346 +msgid "" +"`bpo-21015 `__: SSL contexts will now " +"automatically select an elliptic curve for ECDH key exchange on OpenSSL " +"1.0.2 and later, and otherwise default to \"prime256v1\"." +msgstr "" + +#: ../build/NEWS:22350 +msgid "" +"`bpo-21000 `__: Improve the command-line " +"interface of json.tool." +msgstr "" + +#: ../build/NEWS:22352 +msgid "" +"`bpo-20995 `__: Enhance default ciphers " +"used by the ssl module to enable better security and prioritize perfect " +"forward secrecy." +msgstr "" + +#: ../build/NEWS:22355 +msgid "" +"`bpo-20884 `__: Don't assume that " +"__file__ is defined on importlib.__init__." +msgstr "" + +#: ../build/NEWS:22357 +msgid "" +"`bpo-21499 `__: Ignore __builtins__ in " +"several test_importlib.test_api tests." +msgstr "" + +#: ../build/NEWS:22359 +msgid "" +"`bpo-20627 `__: xmlrpc.client." +"ServerProxy is now a context manager." +msgstr "" + +#: ../build/NEWS:22361 +msgid "" +"`bpo-19165 `__: The formatter module now " +"raises DeprecationWarning instead of PendingDeprecationWarning." +msgstr "" + +#: ../build/NEWS:22364 +msgid "" +"`bpo-13936 `__: Remove the ability of " +"datetime.time instances to be considered false in boolean contexts." +msgstr "" + +#: ../build/NEWS:22367 +msgid "" +"`bpo-18931 `__: selectors module now " +"supports /dev/poll on Solaris. Patch by Giampaolo Rodola'." +msgstr "" + +#: ../build/NEWS:22370 +msgid "" +"`bpo-19977 `__: When the ``LC_TYPE`` " +"locale is the POSIX locale (``C`` locale), :py:data:`sys.stdin` and :py:data:" +"`sys.stdout` are now using the ``surrogateescape`` error handler, instead of " +"the ``strict`` error handler." +msgstr "" + +#: ../build/NEWS:22375 +msgid "" +"`bpo-20574 `__: Implement incremental " +"decoder for cp65001 code (Windows code page 65001, Microsoft UTF-8)." +msgstr "" + +#: ../build/NEWS:22378 +msgid "" +"`bpo-20879 `__: Delay the initialization " +"of encoding and decoding tables for base32, ascii85 and base85 codecs in the " +"base64 module, and delay the initialization of the unquote_to_bytes() table " +"of the urllib.parse module, to not waste memory if these modules are not " +"used." +msgstr "" + +#: ../build/NEWS:22383 +msgid "" +"`bpo-19157 `__: Include the broadcast " +"address in the usuable hosts for IPv6 in ipaddress." +msgstr "" + +#: ../build/NEWS:22386 +msgid "" +"`bpo-11599 `__: When an external command " +"(e.g. compiler) fails, distutils now prints out the whole command line " +"(instead of just the command name) if the environment variable " +"DISTUTILS_DEBUG is set." +msgstr "" + +#: ../build/NEWS:22390 +msgid "" +"`bpo-4931 `__: distutils should not " +"produce unhelpful \"error: None\" messages anymore. distutils.util." +"grok_environment_error is kept but doc-deprecated." +msgstr "" + +#: ../build/NEWS:22393 +msgid "" +"`bpo-20875 `__: Prevent possible gzip " +"\"'read' is not defined\" NameError. Patch by Claudiu Popa." +msgstr "" + +#: ../build/NEWS:22396 +msgid "" +"`bpo-11558 `__: ``email.message.Message." +"attach`` now returns a more useful error message if ``attach`` is called on " +"a message for which ``is_multipart`` is False." +msgstr "" + +#: ../build/NEWS:22400 +msgid "" +"`bpo-20283 `__: RE pattern methods now " +"accept the string keyword parameters as documented. The pattern and source " +"keyword parameters are left as deprecated aliases." +msgstr "" + +#: ../build/NEWS:22404 +msgid "" +"`bpo-20778 `__: Fix modulefinder to work " +"with bytecode-only modules." +msgstr "" + +#: ../build/NEWS:22406 +msgid "" +"`bpo-20791 `__: copy.copy() now doesn't " +"make a copy when the input is a bytes object. Initial patch by Peter Otten." +msgstr "" + +#: ../build/NEWS:22409 +msgid "" +"`bpo-19748 `__: On AIX, time.mktime() " +"now raises an OverflowError for year outsize range [1902; 2037]." +msgstr "" + +#: ../build/NEWS:22412 +msgid "" +"`bpo-19573 `__: inspect.signature: Use " +"enum for parameter kind constants." +msgstr "" + +#: ../build/NEWS:22414 +msgid "" +"`bpo-20726 `__: inspect.signature: Make " +"Signature and Parameter picklable." +msgstr "" + +#: ../build/NEWS:22416 +msgid "" +"`bpo-17373 `__: Add inspect.Signature." +"from_callable method." +msgstr "" + +#: ../build/NEWS:22418 +msgid "" +"`bpo-20378 `__: Improve repr of inspect." +"Signature and inspect.Parameter." +msgstr "" + +#: ../build/NEWS:22420 +msgid "" +"`bpo-20816 `__: Fix inspect." +"getcallargs() to raise correct TypeError for missing keyword-only arguments. " +"Patch by Jeremiah Lowin." +msgstr "" + +#: ../build/NEWS:22423 +msgid "" +"`bpo-20817 `__: Fix inspect." +"getcallargs() to fail correctly if more than 3 arguments are missing. Patch " +"by Jeremiah Lowin." +msgstr "" + +#: ../build/NEWS:22426 +msgid "" +"`bpo-6676 `__: Ensure a meaningful " +"exception is raised when attempting to parse more than one XML document per " +"pyexpat xmlparser instance. (Original patches by Hirokazu Yamamoto and " +"Amaury Forgeot d'Arc, with suggested wording by David Gutteridge)" +msgstr "" + +#: ../build/NEWS:22431 +msgid "" +"`bpo-21117 `__: Fix inspect.signature to " +"better support functools.partial. Due to the specifics of functools.partial " +"implementation, positional-or-keyword arguments passed as keyword arguments " +"become keyword-only." +msgstr "" + +#: ../build/NEWS:22436 +msgid "" +"`bpo-20334 `__: inspect.Signature and " +"inspect.Parameter are now hashable. Thanks to Antony Lee for bug reports and " +"suggestions." +msgstr "" + +#: ../build/NEWS:22439 +msgid "" +"`bpo-15916 `__: doctest.DocTestSuite " +"returns an empty unittest.TestSuite instead of raising ValueError if it " +"finds no tests" +msgstr "" + +#: ../build/NEWS:22442 +msgid "" +"`bpo-21209 `__: Fix asyncio.tasks." +"CoroWrapper to workaround a bug in yield-from implementation in CPythons " +"prior to 3.4.1." +msgstr "" + +#: ../build/NEWS:22445 +msgid "" +"asyncio: Add gi_{frame,running,code} properties to CoroWrapper (upstream " +"`bpo-163 `__)." +msgstr "" + +#: ../build/NEWS:22448 +msgid "" +"`bpo-21311 `__: Avoid exception in " +"_osx_support with non-standard compiler configurations. Patch by John " +"Szakmeister." +msgstr "" + +#: ../build/NEWS:22451 +msgid "" +"`bpo-11571 `__: Ensure that the turtle " +"window becomes the topmost window when launched on OS X." +msgstr "" + +#: ../build/NEWS:22454 +msgid "" +"`bpo-21801 `__: Validate that " +"__signature__ is None or an instance of Signature." +msgstr "" + +#: ../build/NEWS:22457 +msgid "" +"`bpo-21923 `__: Prevent AttributeError " +"in distutils.sysconfig.customize_compiler due to possible uninitialized " +"_config_vars." +msgstr "" + +#: ../build/NEWS:22461 +msgid "" +"`bpo-21323 `__: Fix http.server to again " +"handle scripts in CGI subdirectories, broken by the fix for security " +"`bpo-19435 `__. Patch by Zach Byrne." +msgstr "" + +#: ../build/NEWS:22464 +msgid "" +"`bpo-22733 `__: Fix ffi_prep_args not " +"zero-extending argument values correctly on 64-bit Windows." +msgstr "" + +#: ../build/NEWS:22467 +msgid "" +"`bpo-23302 `__: Default to TCP_NODELAY=1 " +"upon establishing an HTTPConnection. Removed use of hard-coded MSS as it's " +"an optimization that's no longer needed with Nagle disabled." +msgstr "" + +#: ../build/NEWS:22474 +msgid "" +"`bpo-20577 `__: Configuration of the max " +"line length for the FormatParagraph extension has been moved from the " +"General tab of the Idle preferences dialog to the FormatParagraph tab of the " +"Config Extensions dialog. Patch by Tal Einat." +msgstr "" + +#: ../build/NEWS:22479 +msgid "" +"`bpo-16893 `__: Update Idle doc chapter " +"to match current Idle and add new information." +msgstr "" + +#: ../build/NEWS:22482 +msgid "" +"`bpo-3068 `__: Add Idle extension " +"configuration dialog to Options menu. Changes are written to HOME/.idlerc/" +"config-extensions.cfg. Original patch by Tal Einat." +msgstr "" + +#: ../build/NEWS:22486 +msgid "" +"`bpo-16233 `__: A module browser (File : " +"Class Browser, Alt+C) requires an editor window with a filename. When Class " +"Browser is requested otherwise, from a shell, output window, or 'Untitled' " +"editor, Idle no longer displays an error box. It now pops up an Open Module " +"box (Alt+M). If a valid name is entered and a module is opened, a " +"corresponding browser is also opened." +msgstr "" + +#: ../build/NEWS:22492 +msgid "" +"`bpo-4832 `__: Save As to type Python " +"files automatically adds .py to the name you enter (even if your system does " +"not display it). Some systems automatically add .txt when type is Text " +"files." +msgstr "" + +#: ../build/NEWS:22496 +msgid "" +"`bpo-21986 `__: Code objects are not " +"normally pickled by the pickle module. To match this, they are no longer " +"pickled when running under Idle." +msgstr "" + +#: ../build/NEWS:22499 +msgid "" +"`bpo-17390 `__: Adjust Editor window " +"title; remove 'Python', move version to end." +msgstr "" + +#: ../build/NEWS:22502 +msgid "" +"`bpo-14105 `__: Idle debugger " +"breakpoints no longer disappear when inserting or deleting lines." +msgstr "" + +#: ../build/NEWS:22505 +msgid "" +"`bpo-17172 `__: Turtledemo can now be " +"run from Idle. Currently, the entry is on the Help menu, but it may move to " +"Run. Patch by Ramchandra Apt and Lita Cho." +msgstr "" + +#: ../build/NEWS:22509 +msgid "" +"`bpo-21765 `__: Add support for non-" +"ascii identifiers to HyperParser." +msgstr "" + +#: ../build/NEWS:22511 +msgid "" +"`bpo-21940 `__: Add unittest for " +"WidgetRedirector. Initial patch by Saimadhav Heblikar." +msgstr "" + +#: ../build/NEWS:22514 +msgid "" +"`bpo-18592 `__: Add unittest for " +"SearchDialogBase. Patch by Phil Webster." +msgstr "" + +#: ../build/NEWS:22516 +msgid "" +"`bpo-21694 `__: Add unittest for " +"ParenMatch. Patch by Saimadhav Heblikar." +msgstr "" + +#: ../build/NEWS:22518 +msgid "" +"`bpo-21686 `__: add unittest for " +"HyperParser. Original patch by Saimadhav Heblikar." +msgstr "" + +#: ../build/NEWS:22521 +msgid "" +"`bpo-12387 `__: Add missing " +"upper(lower)case versions of default Windows key bindings for Idle so Caps " +"Lock does not disable them. Patch by Roger Serwy." +msgstr "" + +#: ../build/NEWS:22525 +msgid "" +"`bpo-21695 `__: Closing a Find-in-files " +"output window while the search is still in progress no longer closes Idle." +msgstr "" + +#: ../build/NEWS:22528 +msgid "" +"`bpo-18910 `__: Add unittest for " +"textView. Patch by Phil Webster." +msgstr "" + +#: ../build/NEWS:22530 +msgid "" +"`bpo-18292 `__: Add unittest for " +"AutoExpand. Patch by Saihadhav Heblikar." +msgstr "" + +#: ../build/NEWS:22532 +msgid "" +"`bpo-18409 `__: Add unittest for " +"AutoComplete. Patch by Phil Webster." +msgstr "" + +#: ../build/NEWS:22534 +msgid "" +"`bpo-21477 `__: htest.py - Improve " +"framework, complete set of tests. Patches by Saimadhav Heblikar" +msgstr "" + +#: ../build/NEWS:22537 +msgid "" +"`bpo-18104 `__: Add idlelib/idle_test/" +"htest.py with a few sample tests to begin consolidating and improving human-" +"validated tests of Idle. Change other files as needed to work with htest. " +"Running the module as __main__ runs all tests." +msgstr "" + +#: ../build/NEWS:22542 +msgid "" +"`bpo-21139 `__: Change default paragraph " +"width to 72, the :pep:`8` recommendation." +msgstr "" + +#: ../build/NEWS:22545 +msgid "" +"`bpo-21284 `__: Paragraph reformat test " +"passes after user changes reformat width." +msgstr "" + +#: ../build/NEWS:22548 +msgid "" +"`bpo-17654 `__: Ensure IDLE menus are " +"customized properly on OS X for non-framework builds and for all variants of " +"Tk." +msgstr "" + +#: ../build/NEWS:22551 +msgid "" +"`bpo-23180 `__: Rename IDLE \"Windows\" " +"menu item to \"Window\". Patch by Al Sweigart." +msgstr "" + +#: ../build/NEWS:22557 +msgid "" +"`bpo-15506 `__: Use standard " +"PKG_PROG_PKG_CONFIG autoconf macro in the configure script." +msgstr "" + +#: ../build/NEWS:22560 +msgid "" +"`bpo-22935 `__: Allow the ssl module to " +"be compiled if openssl doesn't support SSL 3." +msgstr "" + +#: ../build/NEWS:22563 +msgid "" +"`bpo-22592 `__: Drop support of the " +"Borland C compiler to build Python. The distutils module still supports it " +"to build extensions." +msgstr "" + +#: ../build/NEWS:22566 +msgid "" +"`bpo-22591 `__: Drop support of MS-DOS, " +"especially of the DJGPP compiler (MS-DOS port of GCC)." +msgstr "" + +#: ../build/NEWS:22569 +msgid "" +"`bpo-16537 `__: Check whether self." +"extensions is empty in setup.py. Patch by Jonathan Hosmer." +msgstr "" + +#: ../build/NEWS:22572 +msgid "" +"`bpo-22359 `__: Remove incorrect uses of " +"recursive make. Patch by Jonas Wagner." +msgstr "" + +#: ../build/NEWS:22575 +msgid "" +"`bpo-21958 `__: Define HAVE_ROUND when " +"building with Visual Studio 2013 and above. Patch by Zachary Turner." +msgstr "" + +#: ../build/NEWS:22578 +msgid "" +"`bpo-18093 `__: the programs that embed " +"the CPython runtime are now in a separate \"Programs\" directory, rather " +"than being kept in the Modules directory." +msgstr "" + +#: ../build/NEWS:22582 +msgid "" +"`bpo-15759 `__: \"make suspicious\", " +"\"make linkcheck\" and \"make doctest\" in Doc/ now display special message " +"when and only when there are failures." +msgstr "" + +#: ../build/NEWS:22585 +msgid "" +"`bpo-21141 `__: The Windows build " +"process no longer attempts to find Perl, instead relying on OpenSSL source " +"being configured and ready to build. The ``PCbuild\\build_ssl.py`` script " +"has been re-written and re-named to ``PCbuild\\prepare_ssl.py``, and takes " +"care of configuring OpenSSL source for both 32 and 64 bit platforms. " +"OpenSSL sources obtained from svn.python.org will always be pre-configured " +"and ready to build." +msgstr "" + +#: ../build/NEWS:22592 +msgid "" +"`bpo-21037 `__: Add a build option to " +"enable AddressSanitizer support." +msgstr "" + +#: ../build/NEWS:22594 +msgid "" +"`bpo-19962 `__: The Windows build " +"process now creates \"python.bat\" in the root of the source tree, which " +"passes all arguments through to the most recently built interpreter." +msgstr "" + +#: ../build/NEWS:22598 +msgid "" +"`bpo-21285 `__: Refactor and fix curses " +"configure check to always search in a ncursesw directory." +msgstr "" + +#: ../build/NEWS:22601 +msgid "" +"`bpo-15234 `__: For BerkelyDB and " +"Sqlite, only add the found library and include directories if they aren't " +"already being searched. This avoids an explicit runtime library dependency." +msgstr "" + +#: ../build/NEWS:22605 +msgid "" +"`bpo-17861 `__: Tools/scripts/" +"generate_opcode_h.py automatically regenerates Include/opcode.h from Lib/" +"opcode.py if the latter gets any change." +msgstr "" + +#: ../build/NEWS:22608 +msgid "" +"`bpo-20644 `__: OS X installer build " +"support for documentation build changes in 3.4.1: assume externally supplied " +"sphinx-build is available in /usr/bin." +msgstr "" + +#: ../build/NEWS:22611 +msgid "" +"`bpo-20022 `__: Eliminate use of " +"deprecated bundlebuilder in OS X builds." +msgstr "" + +#: ../build/NEWS:22613 +msgid "" +"`bpo-15968 `__: Incorporated Tcl, Tk, " +"and Tix builds into the Windows build solution." +msgstr "" + +#: ../build/NEWS:22616 +msgid "" +"`bpo-17095 `__: Fix Modules/Setup " +"*shared* support." +msgstr "" + +#: ../build/NEWS:22618 +msgid "" +"`bpo-21811 `__: Anticipated fixes to " +"support OS X versions > 10.9." +msgstr "" + +#: ../build/NEWS:22620 +msgid "" +"`bpo-21166 `__: Prevent possible " +"segfaults and other random failures of python --generate-posix-vars in " +"pybuilddir.txt build target." +msgstr "" + +#: ../build/NEWS:22623 +msgid "" +"`bpo-18096 `__: Fix library order " +"returned by python-config." +msgstr "" + +#: ../build/NEWS:22625 +msgid "" +"`bpo-17219 `__: Add library build dir " +"for Python extension cross-builds." +msgstr "" + +#: ../build/NEWS:22627 +msgid "" +"`bpo-22919 `__: Windows build updated to " +"support VC 14.0 (Visual Studio 2015), which will be used for the official " +"release." +msgstr "" + +#: ../build/NEWS:22630 +msgid "" +"`bpo-21236 `__: Build _msi.pyd with " +"cabinet.lib instead of fci.lib" +msgstr "" + +#: ../build/NEWS:22632 +msgid "" +"`bpo-17128 `__: Use private version of " +"OpenSSL for OS X 10.5+ installer." +msgstr "" + +#: ../build/NEWS:22637 +msgid "" +"`bpo-14203 `__: Remove obsolete support " +"for view==NULL in PyBuffer_FillInfo(), bytearray_getbuffer(), " +"bytesiobuf_getbuffer() and array_buffer_getbuf(). All functions now raise " +"BufferError in that case." +msgstr "" + +#: ../build/NEWS:22641 +msgid "" +"`bpo-22445 `__: PyBuffer_IsContiguous() " +"now implements precise contiguity tests, compatible with NumPy's " +"NPY_RELAXED_STRIDES_CHECKING compilation flag. Previously the function " +"reported false negatives for corner cases." +msgstr "" + +#: ../build/NEWS:22645 +msgid "" +"`bpo-22079 `__: PyType_Ready() now " +"checks that statically allocated type has no dynamically allocated bases." +msgstr "" + +#: ../build/NEWS:22648 +msgid "" +"`bpo-22453 `__: Removed non-documented " +"macro PyObject_REPR()." +msgstr "" + +#: ../build/NEWS:22650 +msgid "" +"`bpo-18395 `__: Rename " +"``_Py_char2wchar()`` to :c:func:`Py_DecodeLocale`, rename " +"``_Py_wchar2char()`` to :c:func:`Py_EncodeLocale`, and document these " +"functions." +msgstr "" + +#: ../build/NEWS:22654 +msgid "" +"`bpo-21233 `__: Add new C functions: " +"PyMem_RawCalloc(), PyMem_Calloc(), PyObject_Calloc(), _PyObject_GC_Calloc(). " +"bytes(int) is now using ``calloc()`` instead of ``malloc()`` for large " +"objects which is faster and use less memory." +msgstr "" + +#: ../build/NEWS:22659 +msgid "" +"`bpo-20942 `__: " +"PyImport_ImportFrozenModuleObject() no longer sets __file__ to match what " +"importlib does; this affects _frozen_importlib as well as any module loaded " +"using imp.init_frozen()." +msgstr "" + +#: ../build/NEWS:22666 +msgid "" +"`bpo-19548 `__: Update the codecs module " +"documentation to better cover the distinction between text encodings and " +"other codecs, together with other clarifications. Patch by Martin Panter." +msgstr "" + +#: ../build/NEWS:22670 +msgid "" +"`bpo-22394 `__: Doc/Makefile now " +"supports ``make venv PYTHON=../python`` to create a venv for generating the " +"documentation, e.g., ``make html PYTHON=venv/bin/python3``." +msgstr "" + +#: ../build/NEWS:22674 +msgid "" +"`bpo-21514 `__: The documentation of the " +"json module now refers to new JSON RFC 7159 instead of obsoleted RFC 4627." +msgstr "" + +#: ../build/NEWS:22677 +msgid "" +"`bpo-21777 `__: The binary sequence " +"methods on bytes and bytearray are now documented explicitly, rather than " +"assuming users will be able to derive the expected behaviour from the " +"behaviour of the corresponding str methods." +msgstr "" + +#: ../build/NEWS:22682 +msgid "" +"`bpo-6916 `__: undocument deprecated " +"asynchat.fifo class." +msgstr "" + +#: ../build/NEWS:22684 +msgid "" +"`bpo-17386 `__: Expanded functionality " +"of the ``Doc/make.bat`` script to make it much more comparable to ``Doc/" +"Makefile``." +msgstr "" + +#: ../build/NEWS:22687 +msgid "" +"`bpo-21312 `__: Update the thread_foobar." +"h template file to include newer threading APIs. Patch by Jack McCracken." +msgstr "" + +#: ../build/NEWS:22690 +msgid "" +"`bpo-21043 `__: Remove the " +"recommendation for specific CA organizations and to mention the ability to " +"load the OS certificates." +msgstr "" + +#: ../build/NEWS:22693 +msgid "" +"`bpo-20765 `__: Add missing " +"documentation for PurePath.with_name() and PurePath.with_suffix()." +msgstr "" + +#: ../build/NEWS:22696 +msgid "" +"`bpo-19407 `__: New package installation " +"and distribution guides based on the Python Packaging Authority tools. " +"Existing guides have been retained as legacy links from the distutils docs, " +"as they still contain some required reference material for tool developers " +"that isn't recorded anywhere else." +msgstr "" + +#: ../build/NEWS:22701 +msgid "" +"`bpo-19697 `__: Document cases where " +"__main__.__spec__ is None." +msgstr "" + +#: ../build/NEWS:22706 +msgid "" +"`bpo-18982 `__: Add tests for CLI of the " +"calendar module." +msgstr "" + +#: ../build/NEWS:22708 +msgid "" +"`bpo-19548 `__: Added some additional " +"checks to test_codecs to ensure that statements in the updated documentation " +"remain accurate. Patch by Martin Panter." +msgstr "" + +#: ../build/NEWS:22712 +msgid "" +"`bpo-22838 `__: All test_re tests now " +"work with unittest test discovery." +msgstr "" + +#: ../build/NEWS:22714 +msgid "" +"`bpo-22173 `__: Update lib2to3 tests to " +"use unittest test discovery." +msgstr "" + +#: ../build/NEWS:22716 +msgid "" +"`bpo-16000 `__: Convert test_curses to " +"use unittest." +msgstr "" + +#: ../build/NEWS:22718 +msgid "" +"`bpo-21456 `__: Skip two tests in " +"test_urllib2net.py if _ssl module not present. Patch by Remi Pointel." +msgstr "" + +#: ../build/NEWS:22721 +msgid "" +"`bpo-20746 `__: Fix test_pdb to run in " +"refleak mode (-R). Patch by Xavier de Gaye." +msgstr "" + +#: ../build/NEWS:22724 +msgid "" +"`bpo-22060 `__: test_ctypes has been " +"somewhat cleaned up and simplified; it now uses unittest test discovery to " +"find its tests." +msgstr "" + +#: ../build/NEWS:22727 +msgid "" +"`bpo-22104 `__: regrtest.py no longer " +"holds a reference to the suite of tests loaded from test modules that don't " +"define test_main()." +msgstr "" + +#: ../build/NEWS:22730 +msgid "" +"`bpo-22111 `__: Assorted cleanups in " +"test_imaplib. Patch by Milan Oberkirch." +msgstr "" + +#: ../build/NEWS:22732 +msgid "" +"`bpo-22002 `__: Added " +"``load_package_tests`` function to test.support and used it to implement/" +"augment test discovery in test_asyncio, test_email, test_importlib, " +"test_json, and test_tools." +msgstr "" + +#: ../build/NEWS:22736 +msgid "" +"`bpo-21976 `__: Fix test_ssl to accept " +"LibreSSL version strings. Thanks to William Orr." +msgstr "" + +#: ../build/NEWS:22739 +msgid "" +"`bpo-21918 `__: Converted test_tools " +"from a module to a package containing separate test files for each tested " +"script." +msgstr "" + +#: ../build/NEWS:22742 +msgid "" +"`bpo-9554 `__: Use modern unittest " +"features in test_argparse. Initial patch by Denver Coneybeare and Radu " +"Voicilas." +msgstr "" + +#: ../build/NEWS:22745 +msgid "" +"`bpo-20155 `__: Changed HTTP method " +"names in failing tests in test_httpservers so that packet filtering software " +"(specifically Windows Base Filtering Engine) does not interfere with the " +"transaction semantics expected by the tests." +msgstr "" + +#: ../build/NEWS:22750 +msgid "" +"`bpo-19493 `__: Refactored the ctypes " +"test package to skip tests explicitly rather than silently." +msgstr "" + +#: ../build/NEWS:22753 +msgid "" +"`bpo-18492 `__: All resources are now " +"allowed when tests are not run by regrtest.py." +msgstr "" + +#: ../build/NEWS:22756 +msgid "" +"`bpo-21634 `__: Fix pystone micro-" +"benchmark: use floor division instead of true division to benchmark integers " +"instead of floating point numbers. Set pystone version to 1.2. Patch written " +"by Lennart Regebro." +msgstr "" + +#: ../build/NEWS:22760 +msgid "" +"`bpo-21605 `__: Added tests for Tkinter " +"images." +msgstr "" + +#: ../build/NEWS:22762 +msgid "" +"`bpo-21493 `__: Added test for ntpath." +"expanduser(). Original patch by Claudiu Popa." +msgstr "" + +#: ../build/NEWS:22765 +msgid "" +"`bpo-19925 `__: Added tests for the spwd " +"module. Original patch by Vajrasky Kok." +msgstr "" + +#: ../build/NEWS:22768 +msgid "" +"`bpo-21522 `__: Added Tkinter tests for " +"Listbox.itemconfigure(), PanedWindow.paneconfigure(), and Menu." +"entryconfigure()." +msgstr "" + +#: ../build/NEWS:22771 +msgid "" +"`bpo-17756 `__: Fix test_code test when " +"run from the installed location." +msgstr "" + +#: ../build/NEWS:22773 +msgid "" +"`bpo-17752 `__: Fix distutils tests when " +"run from the installed location." +msgstr "" + +#: ../build/NEWS:22775 +msgid "" +"`bpo-18604 `__: Consolidated checks for " +"GUI availability. All platforms now at least check whether Tk can be " +"instantiated when the GUI resource is requested." +msgstr "" + +#: ../build/NEWS:22779 +msgid "" +"`bpo-21275 `__: Fix a socket test on " +"KFreeBSD." +msgstr "" + +#: ../build/NEWS:22781 +msgid "" +"`bpo-21223 `__: Pass test_site/" +"test_startup_imports when some of the extensions are built as builtins." +msgstr "" + +#: ../build/NEWS:22784 +msgid "" +"`bpo-20635 `__: Added tests for Tk " +"geometry managers." +msgstr "" + +#: ../build/NEWS:22786 +msgid "Add test case for freeze." +msgstr "" + +#: ../build/NEWS:22788 +msgid "" +"`bpo-20743 `__: Fix a reference leak in " +"test_tcl." +msgstr "" + +#: ../build/NEWS:22790 +msgid "" +"`bpo-21097 `__: Move test_namespace_pkgs " +"into test_importlib." +msgstr "" + +#: ../build/NEWS:22792 +msgid "" +"`bpo-21503 `__: Use test_both() " +"consistently in test_importlib." +msgstr "" + +#: ../build/NEWS:22794 +msgid "" +"`bpo-20939 `__: Avoid various network " +"test failures due to new redirect of http://www.python.org/ to https://www." +"python.org: use http://www.example.com instead." +msgstr "" + +#: ../build/NEWS:22798 +msgid "" +"`bpo-20668 `__: asyncio tests no longer " +"rely on tests.txt file. (Patch by Vajrasky Kok)" +msgstr "" + +#: ../build/NEWS:22801 +msgid "" +"`bpo-21093 `__: Prevent failures of " +"ctypes test_macholib on OS X if a copy of libz exists in $HOME/lib or /usr/" +"local/lib." +msgstr "" + +#: ../build/NEWS:22804 +msgid "" +"`bpo-22770 `__: Prevent some Tk " +"segfaults on OS X when running gui tests." +msgstr "" + +#: ../build/NEWS:22806 +msgid "" +"`bpo-23211 `__: Workaround test_logging " +"failure on some OS X 10.6 systems." +msgstr "" + +#: ../build/NEWS:22808 +msgid "" +"`bpo-23345 `__: Prevent test_ssl " +"failures with large OpenSSL patch level values (like 0.9.8zc)." +msgstr "" + +#: ../build/NEWS:22814 +msgid "" +"`bpo-22314 `__: pydoc now works when the " +"LINES environment variable is set." +msgstr "" + +#: ../build/NEWS:22816 +msgid "" +"`bpo-22615 `__: Argument Clinic now " +"supports the \"type\" argument for the int converter. This permits using the " +"int converter with enums and typedefs." +msgstr "" + +#: ../build/NEWS:22819 +msgid "" +"`bpo-20076 `__: The makelocalealias.py " +"script no longer ignores UTF-8 mapping." +msgstr "" + +#: ../build/NEWS:22821 +msgid "" +"`bpo-20079 `__: The makelocalealias.py " +"script now can parse the SUPPORTED file from glibc sources and supports " +"command line options for source paths." +msgstr "" + +#: ../build/NEWS:22824 +msgid "" +"`bpo-22201 `__: Command-line interface " +"of the zipfile module now correctly extracts ZIP files with directory " +"entries. Patch by Ryan Wilson." +msgstr "" + +#: ../build/NEWS:22827 +msgid "" +"`bpo-22120 `__: For functions using an " +"unsigned integer return converter, Argument Clinic now generates a cast to " +"that type for the comparison to -1 in the generated code. (This suppresses " +"a compilation warning.)" +msgstr "" + +#: ../build/NEWS:22831 +msgid "" +"`bpo-18974 `__: Tools/scripts/diff.py " +"now uses argparse instead of optparse." +msgstr "" + +#: ../build/NEWS:22833 +msgid "" +"`bpo-21906 `__: Make Tools/scripts/" +"md5sum.py work in Python 3. Patch by Zachary Ware." +msgstr "" + +#: ../build/NEWS:22836 +msgid "" +"`bpo-21629 `__: Fix Argument Clinic's " +"\"--converters\" feature." +msgstr "" + +#: ../build/NEWS:22838 +msgid "Add support for ``yield from`` to 2to3." +msgstr "" + +#: ../build/NEWS:22840 +msgid "Add support for the :pep:`465` matrix multiplication operator to 2to3." +msgstr "" + +#: ../build/NEWS:22842 +msgid "" +"`bpo-16047 `__: Fix module exception " +"list and __file__ handling in freeze. Patch by Meador Inge." +msgstr "" + +#: ../build/NEWS:22845 +msgid "" +"`bpo-11824 `__: Consider ABI tags in " +"freeze. Patch by Meador Inge." +msgstr "" + +#: ../build/NEWS:22847 +msgid "" +"`bpo-20535 `__: PYTHONWARNING no longer " +"affects the run_tests.py script. Patch by Arfrever Frehtes Taifersar " +"Arahesis." +msgstr "" + +#: ../build/NEWS:22853 +msgid "" +"`bpo-23260 `__: Update Windows installer" +msgstr "" + +#: ../build/NEWS:22855 +msgid "" +"The bundled version of Tcl/Tk has been updated to 8.6.3. The most visible " +"result of this change is the addition of new native file dialogs when " +"running on Windows Vista or newer. See Tcl/Tk's TIP 432 for more " +"information. Also, this version of Tcl/Tk includes support for Windows 10." +msgstr "" + +#: ../build/NEWS:22861 +msgid "" +"`bpo-17896 `__: The Windows build " +"scripts now expect external library sources to be in ``PCbuild\\.." +"\\externals`` rather than ``PCbuild\\..\\..``." +msgstr "" + +#: ../build/NEWS:22864 +msgid "" +"`bpo-17717 `__: The Windows build " +"scripts now use a copy of NASM pulled from svn.python.org to build OpenSSL." +msgstr "" + +#: ../build/NEWS:22867 +msgid "" +"`bpo-21907 `__: Improved the batch " +"scripts provided for building Python." +msgstr "" + +#: ../build/NEWS:22869 +msgid "" +"`bpo-22644 `__: The bundled version of " +"OpenSSL has been updated to 1.0.1j." +msgstr "" + +#: ../build/NEWS:22871 +msgid "" +"`bpo-10747 `__: Use versioned labels in " +"the Windows start menu. Patch by Olive Kilburn." +msgstr "" + +#: ../build/NEWS:22874 +msgid "" +"`bpo-22980 `__: .pyd files with a " +"version and platform tag (for example, \".cp35-win32.pyd\") will now be " +"loaded in preference to those without tags." +msgstr "" + +#: ../build/NEWS:22878 +msgid "**(For information about older versions, consult the HISTORY file.)**" +msgstr ""